Home | History | Annotate | Download | only in include
      1 //===--- opencl-c.h - OpenCL C language builtin function header -----------===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is distributed under the University of Illinois Open Source
      6 // License. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 
     10 #ifndef _OPENCL_H_
     11 #define _OPENCL_H_
     12 
     13 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
     14 #ifndef cl_khr_depth_images
     15 #define cl_khr_depth_images
     16 #endif //cl_khr_depth_images
     17 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
     18 
     19 #if __OPENCL_C_VERSION__ < CL_VERSION_2_0
     20 #ifdef cl_khr_3d_image_writes
     21 #pragma OPENCL EXTENSION cl_khr_3d_image_writes : enable
     22 #endif //cl_khr_3d_image_writes
     23 #endif //__OPENCL_C_VERSION__ < CL_VERSION_2_0
     24 
     25 #define __ovld __attribute__((overloadable))
     26 #define __conv __attribute__((convergent))
     27 
     28 // Optimizations
     29 #define __purefn __attribute__((pure))
     30 #define __cnfn __attribute__((const))
     31 
     32 // built-in scalar data types:
     33 
     34 /**
     35  * An unsigned 8-bit integer.
     36  */
     37 typedef unsigned char uchar;
     38 
     39 /**
     40  * An unsigned 16-bit integer.
     41  */
     42 typedef unsigned short ushort;
     43 
     44 /**
     45  * An unsigned 32-bit integer.
     46  */
     47 typedef unsigned int uint;
     48 
     49 /**
     50  * An unsigned 64-bit integer.
     51  */
     52 typedef unsigned long ulong;
     53 
     54 /**
     55  * The unsigned integer type of the result of the sizeof operator. This
     56  * is a 32-bit unsigned integer if CL_DEVICE_ADDRESS_BITS
     57  * defined in table 4.3 is 32-bits and is a 64-bit unsigned integer if
     58  * CL_DEVICE_ADDRESS_BITS is 64-bits.
     59  */
     60 typedef __SIZE_TYPE__ size_t;
     61 
     62 /**
     63  * A signed integer type that is the result of subtracting two pointers.
     64  * This is a 32-bit signed integer if CL_DEVICE_ADDRESS_BITS
     65  * defined in table 4.3 is 32-bits and is a 64-bit signed integer if
     66  * CL_DEVICE_ADDRESS_BITS is 64-bits.
     67  */
     68 typedef __PTRDIFF_TYPE__ ptrdiff_t;
     69 
     70 /**
     71 * A signed 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 __INTPTR_TYPE__ intptr_t;
     76 
     77 /**
     78 * An unsigned integer type with the property that any valid pointer to
     79 * void can be converted to this type, then converted back to pointer
     80 * to void, and the result will compare equal to the original pointer.
     81 */
     82 typedef __UINTPTR_TYPE__ uintptr_t;
     83 
     84 // built-in vector data types:
     85 typedef char char2 __attribute__((ext_vector_type(2)));
     86 typedef char char3 __attribute__((ext_vector_type(3)));
     87 typedef char char4 __attribute__((ext_vector_type(4)));
     88 typedef char char8 __attribute__((ext_vector_type(8)));
     89 typedef char char16 __attribute__((ext_vector_type(16)));
     90 typedef uchar uchar2 __attribute__((ext_vector_type(2)));
     91 typedef uchar uchar3 __attribute__((ext_vector_type(3)));
     92 typedef uchar uchar4 __attribute__((ext_vector_type(4)));
     93 typedef uchar uchar8 __attribute__((ext_vector_type(8)));
     94 typedef uchar uchar16 __attribute__((ext_vector_type(16)));
     95 typedef short short2 __attribute__((ext_vector_type(2)));
     96 typedef short short3 __attribute__((ext_vector_type(3)));
     97 typedef short short4 __attribute__((ext_vector_type(4)));
     98 typedef short short8 __attribute__((ext_vector_type(8)));
     99 typedef short short16 __attribute__((ext_vector_type(16)));
    100 typedef ushort ushort2 __attribute__((ext_vector_type(2)));
    101 typedef ushort ushort3 __attribute__((ext_vector_type(3)));
    102 typedef ushort ushort4 __attribute__((ext_vector_type(4)));
    103 typedef ushort ushort8 __attribute__((ext_vector_type(8)));
    104 typedef ushort ushort16 __attribute__((ext_vector_type(16)));
    105 typedef int int2 __attribute__((ext_vector_type(2)));
    106 typedef int int3 __attribute__((ext_vector_type(3)));
    107 typedef int int4 __attribute__((ext_vector_type(4)));
    108 typedef int int8 __attribute__((ext_vector_type(8)));
    109 typedef int int16 __attribute__((ext_vector_type(16)));
    110 typedef uint uint2 __attribute__((ext_vector_type(2)));
    111 typedef uint uint3 __attribute__((ext_vector_type(3)));
    112 typedef uint uint4 __attribute__((ext_vector_type(4)));
    113 typedef uint uint8 __attribute__((ext_vector_type(8)));
    114 typedef uint uint16 __attribute__((ext_vector_type(16)));
    115 typedef long long2 __attribute__((ext_vector_type(2)));
    116 typedef long long3 __attribute__((ext_vector_type(3)));
    117 typedef long long4 __attribute__((ext_vector_type(4)));
    118 typedef long long8 __attribute__((ext_vector_type(8)));
    119 typedef long long16 __attribute__((ext_vector_type(16)));
    120 typedef ulong ulong2 __attribute__((ext_vector_type(2)));
    121 typedef ulong ulong3 __attribute__((ext_vector_type(3)));
    122 typedef ulong ulong4 __attribute__((ext_vector_type(4)));
    123 typedef ulong ulong8 __attribute__((ext_vector_type(8)));
    124 typedef ulong ulong16 __attribute__((ext_vector_type(16)));
    125 typedef float float2 __attribute__((ext_vector_type(2)));
    126 typedef float float3 __attribute__((ext_vector_type(3)));
    127 typedef float float4 __attribute__((ext_vector_type(4)));
    128 typedef float float8 __attribute__((ext_vector_type(8)));
    129 typedef float float16 __attribute__((ext_vector_type(16)));
    130 #ifdef cl_khr_fp16
    131 #pragma OPENCL EXTENSION cl_khr_fp16 : enable
    132 typedef half half2 __attribute__((ext_vector_type(2)));
    133 typedef half half3 __attribute__((ext_vector_type(3)));
    134 typedef half half4 __attribute__((ext_vector_type(4)));
    135 typedef half half8 __attribute__((ext_vector_type(8)));
    136 typedef half half16 __attribute__((ext_vector_type(16)));
    137 #endif
    138 #ifdef cl_khr_fp64
    139 #if __OPENCL_C_VERSION__ < CL_VERSION_1_2
    140 #pragma OPENCL EXTENSION cl_khr_fp64 : enable
    141 #endif
    142 typedef double double2 __attribute__((ext_vector_type(2)));
    143 typedef double double3 __attribute__((ext_vector_type(3)));
    144 typedef double double4 __attribute__((ext_vector_type(4)));
    145 typedef double double8 __attribute__((ext_vector_type(8)));
    146 typedef double double16 __attribute__((ext_vector_type(16)));
    147 #endif
    148 
    149 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
    150 #define NULL ((void*)0)
    151 #endif
    152 
    153 /**
    154  * Value of maximum non-infinite single-precision floating-point
    155  * number.
    156  */
    157 #define MAXFLOAT 0x1.fffffep127f
    158 
    159 /**
    160  * A positive float constant expression. HUGE_VALF evaluates
    161  * to +infinity. Used as an error value returned by the built-in
    162  * math functions.
    163  */
    164 #define HUGE_VALF (__builtin_huge_valf())
    165 
    166 /**
    167  * A positive double constant expression. HUGE_VAL evaluates
    168  * to +infinity. Used as an error value returned by the built-in
    169  * math functions.
    170  */
    171 #define HUGE_VAL (__builtin_huge_val())
    172 
    173 /**
    174  * A constant expression of type float representing positive or
    175  * unsigned infinity.
    176  */
    177 #define INFINITY (__builtin_inff())
    178 
    179 /**
    180  * A constant expression of type float representing a quiet NaN.
    181  */
    182 #define NAN as_float(INT_MAX)
    183 
    184 #define FP_ILOGB0    INT_MIN
    185 #define FP_ILOGBNAN    INT_MAX
    186 
    187 #define FLT_DIG 6
    188 #define FLT_MANT_DIG 24
    189 #define FLT_MAX_10_EXP +38
    190 #define FLT_MAX_EXP +128
    191 #define FLT_MIN_10_EXP -37
    192 #define FLT_MIN_EXP -125
    193 #define FLT_RADIX 2
    194 #define FLT_MAX 0x1.fffffep127f
    195 #define FLT_MIN 0x1.0p-126f
    196 #define FLT_EPSILON 0x1.0p-23f
    197 
    198 #define M_E_F         2.71828182845904523536028747135266250f
    199 #define M_LOG2E_F     1.44269504088896340735992468100189214f
    200 #define M_LOG10E_F    0.434294481903251827651128918916605082f
    201 #define M_LN2_F       0.693147180559945309417232121458176568f
    202 #define M_LN10_F      2.30258509299404568401799145468436421f
    203 #define M_PI_F        3.14159265358979323846264338327950288f
    204 #define M_PI_2_F      1.57079632679489661923132169163975144f
    205 #define M_PI_4_F      0.785398163397448309615660845819875721f
    206 #define M_1_PI_F      0.318309886183790671537767526745028724f
    207 #define M_2_PI_F      0.636619772367581343075535053490057448f
    208 #define M_2_SQRTPI_F  1.12837916709551257389615890312154517f
    209 #define M_SQRT2_F     1.41421356237309504880168872420969808f
    210 #define M_SQRT1_2_F   0.707106781186547524400844362104849039f
    211 
    212 #define DBL_DIG 15
    213 #define DBL_MANT_DIG 53
    214 #define DBL_MAX_10_EXP +308
    215 #define DBL_MAX_EXP +1024
    216 #define DBL_MIN_10_EXP -307
    217 #define DBL_MIN_EXP -1021
    218 #define DBL_RADIX 2
    219 #define DBL_MAX 0x1.fffffffffffffp1023
    220 #define DBL_MIN 0x1.0p-1022
    221 #define DBL_EPSILON 0x1.0p-52
    222 
    223 #define M_E           0x1.5bf0a8b145769p+1
    224 #define M_LOG2E       0x1.71547652b82fep+0
    225 #define M_LOG10E      0x1.bcb7b1526e50ep-2
    226 #define M_LN2         0x1.62e42fefa39efp-1
    227 #define M_LN10        0x1.26bb1bbb55516p+1
    228 #define M_PI          0x1.921fb54442d18p+1
    229 #define M_PI_2        0x1.921fb54442d18p+0
    230 #define M_PI_4        0x1.921fb54442d18p-1
    231 #define M_1_PI        0x1.45f306dc9c883p-2
    232 #define M_2_PI        0x1.45f306dc9c883p-1
    233 #define M_2_SQRTPI    0x1.20dd750429b6dp+0
    234 #define M_SQRT2       0x1.6a09e667f3bcdp+0
    235 #define M_SQRT1_2     0x1.6a09e667f3bcdp-1
    236 
    237 #ifdef cl_khr_fp16
    238 
    239 #define HALF_DIG 3
    240 #define HALF_MANT_DIG 11
    241 #define HALF_MAX_10_EXP +4
    242 #define HALF_MAX_EXP +16
    243 #define HALF_MIN_10_EXP -4
    244 #define HALF_MIN_EXP -13
    245 #define HALF_RADIX 2
    246 #define HALF_MAX ((0x1.ffcp15h))
    247 #define HALF_MIN ((0x1.0p-14h))
    248 #define HALF_EPSILON ((0x1.0p-10h))
    249 
    250 #define M_E_H         2.71828182845904523536028747135266250h
    251 #define M_LOG2E_H     1.44269504088896340735992468100189214h
    252 #define M_LOG10E_H    0.434294481903251827651128918916605082h
    253 #define M_LN2_H       0.693147180559945309417232121458176568h
    254 #define M_LN10_H      2.30258509299404568401799145468436421h
    255 #define M_PI_H        3.14159265358979323846264338327950288h
    256 #define M_PI_2_H      1.57079632679489661923132169163975144h
    257 #define M_PI_4_H      0.785398163397448309615660845819875721h
    258 #define M_1_PI_H      0.318309886183790671537767526745028724h
    259 #define M_2_PI_H      0.636619772367581343075535053490057448h
    260 #define M_2_SQRTPI_H  1.12837916709551257389615890312154517h
    261 #define M_SQRT2_H     1.41421356237309504880168872420969808h
    262 #define M_SQRT1_2_H   0.707106781186547524400844362104849039h
    263 
    264 #endif //cl_khr_fp16
    265 
    266 #define CHAR_BIT    8
    267 #define SCHAR_MAX  127
    268 #define SCHAR_MIN  (-128)
    269 #define UCHAR_MAX  255
    270 #define CHAR_MAX  SCHAR_MAX
    271 #define CHAR_MIN  SCHAR_MIN
    272 #define USHRT_MAX  65535
    273 #define SHRT_MAX  32767
    274 #define SHRT_MIN  (-32768)
    275 #define UINT_MAX  0xffffffff
    276 #define INT_MAX    2147483647
    277 #define INT_MIN    (-2147483647-1)
    278 #define ULONG_MAX  0xffffffffffffffffUL
    279 #define LONG_MAX  0x7fffffffffffffffL
    280 #define LONG_MIN  (-0x7fffffffffffffffL-1)
    281 
    282 // OpenCL v1.1/1.2/2.0 s6.2.3 - Explicit conversions
    283 
    284 char __ovld __cnfn convert_char_rte(char);
    285 char __ovld __cnfn convert_char_sat_rte(char);
    286 char __ovld __cnfn convert_char_rtz(char);
    287 char __ovld __cnfn convert_char_sat_rtz(char);
    288 char __ovld __cnfn convert_char_rtp(char);
    289 char __ovld __cnfn convert_char_sat_rtp(char);
    290 char __ovld __cnfn convert_char_rtn(char);
    291 char __ovld __cnfn convert_char_sat_rtn(char);
    292 char __ovld __cnfn convert_char(char);
    293 char __ovld __cnfn convert_char_sat(char);
    294 char __ovld __cnfn convert_char_rte(uchar);
    295 char __ovld __cnfn convert_char_sat_rte(uchar);
    296 char __ovld __cnfn convert_char_rtz(uchar);
    297 char __ovld __cnfn convert_char_sat_rtz(uchar);
    298 char __ovld __cnfn convert_char_rtp(uchar);
    299 char __ovld __cnfn convert_char_sat_rtp(uchar);
    300 char __ovld __cnfn convert_char_rtn(uchar);
    301 char __ovld __cnfn convert_char_sat_rtn(uchar);
    302 char __ovld __cnfn convert_char(uchar);
    303 char __ovld __cnfn convert_char_sat(uchar);
    304 char __ovld __cnfn convert_char_rte(short);
    305 char __ovld __cnfn convert_char_sat_rte(short);
    306 char __ovld __cnfn convert_char_rtz(short);
    307 char __ovld __cnfn convert_char_sat_rtz(short);
    308 char __ovld __cnfn convert_char_rtp(short);
    309 char __ovld __cnfn convert_char_sat_rtp(short);
    310 char __ovld __cnfn convert_char_rtn(short);
    311 char __ovld __cnfn convert_char_sat_rtn(short);
    312 char __ovld __cnfn convert_char(short);
    313 char __ovld __cnfn convert_char_sat(short);
    314 char __ovld __cnfn convert_char_rte(ushort);
    315 char __ovld __cnfn convert_char_sat_rte(ushort);
    316 char __ovld __cnfn convert_char_rtz(ushort);
    317 char __ovld __cnfn convert_char_sat_rtz(ushort);
    318 char __ovld __cnfn convert_char_rtp(ushort);
    319 char __ovld __cnfn convert_char_sat_rtp(ushort);
    320 char __ovld __cnfn convert_char_rtn(ushort);
    321 char __ovld __cnfn convert_char_sat_rtn(ushort);
    322 char __ovld __cnfn convert_char(ushort);
    323 char __ovld __cnfn convert_char_sat(ushort);
    324 char __ovld __cnfn convert_char_rte(int);
    325 char __ovld __cnfn convert_char_sat_rte(int);
    326 char __ovld __cnfn convert_char_rtz(int);
    327 char __ovld __cnfn convert_char_sat_rtz(int);
    328 char __ovld __cnfn convert_char_rtp(int);
    329 char __ovld __cnfn convert_char_sat_rtp(int);
    330 char __ovld __cnfn convert_char_rtn(int);
    331 char __ovld __cnfn convert_char_sat_rtn(int);
    332 char __ovld __cnfn convert_char(int);
    333 char __ovld __cnfn convert_char_sat(int);
    334 char __ovld __cnfn convert_char_rte(uint);
    335 char __ovld __cnfn convert_char_sat_rte(uint);
    336 char __ovld __cnfn convert_char_rtz(uint);
    337 char __ovld __cnfn convert_char_sat_rtz(uint);
    338 char __ovld __cnfn convert_char_rtp(uint);
    339 char __ovld __cnfn convert_char_sat_rtp(uint);
    340 char __ovld __cnfn convert_char_rtn(uint);
    341 char __ovld __cnfn convert_char_sat_rtn(uint);
    342 char __ovld __cnfn convert_char(uint);
    343 char __ovld __cnfn convert_char_sat(uint);
    344 char __ovld __cnfn convert_char_rte(long);
    345 char __ovld __cnfn convert_char_sat_rte(long);
    346 char __ovld __cnfn convert_char_rtz(long);
    347 char __ovld __cnfn convert_char_sat_rtz(long);
    348 char __ovld __cnfn convert_char_rtp(long);
    349 char __ovld __cnfn convert_char_sat_rtp(long);
    350 char __ovld __cnfn convert_char_rtn(long);
    351 char __ovld __cnfn convert_char_sat_rtn(long);
    352 char __ovld __cnfn convert_char(long);
    353 char __ovld __cnfn convert_char_sat(long);
    354 char __ovld __cnfn convert_char_rte(ulong);
    355 char __ovld __cnfn convert_char_sat_rte(ulong);
    356 char __ovld __cnfn convert_char_rtz(ulong);
    357 char __ovld __cnfn convert_char_sat_rtz(ulong);
    358 char __ovld __cnfn convert_char_rtp(ulong);
    359 char __ovld __cnfn convert_char_sat_rtp(ulong);
    360 char __ovld __cnfn convert_char_rtn(ulong);
    361 char __ovld __cnfn convert_char_sat_rtn(ulong);
    362 char __ovld __cnfn convert_char(ulong);
    363 char __ovld __cnfn convert_char_sat(ulong);
    364 char __ovld __cnfn convert_char_rte(float);
    365 char __ovld __cnfn convert_char_sat_rte(float);
    366 char __ovld __cnfn convert_char_rtz(float);
    367 char __ovld __cnfn convert_char_sat_rtz(float);
    368 char __ovld __cnfn convert_char_rtp(float);
    369 char __ovld __cnfn convert_char_sat_rtp(float);
    370 char __ovld __cnfn convert_char_rtn(float);
    371 char __ovld __cnfn convert_char_sat_rtn(float);
    372 char __ovld __cnfn convert_char(float);
    373 char __ovld __cnfn convert_char_sat(float);
    374 uchar __ovld __cnfn convert_uchar_rte(char);
    375 uchar __ovld __cnfn convert_uchar_sat_rte(char);
    376 uchar __ovld __cnfn convert_uchar_rtz(char);
    377 uchar __ovld __cnfn convert_uchar_sat_rtz(char);
    378 uchar __ovld __cnfn convert_uchar_rtp(char);
    379 uchar __ovld __cnfn convert_uchar_sat_rtp(char);
    380 uchar __ovld __cnfn convert_uchar_rtn(char);
    381 uchar __ovld __cnfn convert_uchar_sat_rtn(char);
    382 uchar __ovld __cnfn convert_uchar(char);
    383 uchar __ovld __cnfn convert_uchar_sat(char);
    384 uchar __ovld __cnfn convert_uchar_rte(uchar);
    385 uchar __ovld __cnfn convert_uchar_sat_rte(uchar);
    386 uchar __ovld __cnfn convert_uchar_rtz(uchar);
    387 uchar __ovld __cnfn convert_uchar_sat_rtz(uchar);
    388 uchar __ovld __cnfn convert_uchar_rtp(uchar);
    389 uchar __ovld __cnfn convert_uchar_sat_rtp(uchar);
    390 uchar __ovld __cnfn convert_uchar_rtn(uchar);
    391 uchar __ovld __cnfn convert_uchar_sat_rtn(uchar);
    392 uchar __ovld __cnfn convert_uchar(uchar);
    393 uchar __ovld __cnfn convert_uchar_sat(uchar);
    394 uchar __ovld __cnfn convert_uchar_rte(short);
    395 uchar __ovld __cnfn convert_uchar_sat_rte(short);
    396 uchar __ovld __cnfn convert_uchar_rtz(short);
    397 uchar __ovld __cnfn convert_uchar_sat_rtz(short);
    398 uchar __ovld __cnfn convert_uchar_rtp(short);
    399 uchar __ovld __cnfn convert_uchar_sat_rtp(short);
    400 uchar __ovld __cnfn convert_uchar_rtn(short);
    401 uchar __ovld __cnfn convert_uchar_sat_rtn(short);
    402 uchar __ovld __cnfn convert_uchar(short);
    403 uchar __ovld __cnfn convert_uchar_sat(short);
    404 uchar __ovld __cnfn convert_uchar_rte(ushort);
    405 uchar __ovld __cnfn convert_uchar_sat_rte(ushort);
    406 uchar __ovld __cnfn convert_uchar_rtz(ushort);
    407 uchar __ovld __cnfn convert_uchar_sat_rtz(ushort);
    408 uchar __ovld __cnfn convert_uchar_rtp(ushort);
    409 uchar __ovld __cnfn convert_uchar_sat_rtp(ushort);
    410 uchar __ovld __cnfn convert_uchar_rtn(ushort);
    411 uchar __ovld __cnfn convert_uchar_sat_rtn(ushort);
    412 uchar __ovld __cnfn convert_uchar(ushort);
    413 uchar __ovld __cnfn convert_uchar_sat(ushort);
    414 uchar __ovld __cnfn convert_uchar_rte(int);
    415 uchar __ovld __cnfn convert_uchar_sat_rte(int);
    416 uchar __ovld __cnfn convert_uchar_rtz(int);
    417 uchar __ovld __cnfn convert_uchar_sat_rtz(int);
    418 uchar __ovld __cnfn convert_uchar_rtp(int);
    419 uchar __ovld __cnfn convert_uchar_sat_rtp(int);
    420 uchar __ovld __cnfn convert_uchar_rtn(int);
    421 uchar __ovld __cnfn convert_uchar_sat_rtn(int);
    422 uchar __ovld __cnfn convert_uchar(int);
    423 uchar __ovld __cnfn convert_uchar_sat(int);
    424 uchar __ovld __cnfn convert_uchar_rte(uint);
    425 uchar __ovld __cnfn convert_uchar_sat_rte(uint);
    426 uchar __ovld __cnfn convert_uchar_rtz(uint);
    427 uchar __ovld __cnfn convert_uchar_sat_rtz(uint);
    428 uchar __ovld __cnfn convert_uchar_rtp(uint);
    429 uchar __ovld __cnfn convert_uchar_sat_rtp(uint);
    430 uchar __ovld __cnfn convert_uchar_rtn(uint);
    431 uchar __ovld __cnfn convert_uchar_sat_rtn(uint);
    432 uchar __ovld __cnfn convert_uchar(uint);
    433 uchar __ovld __cnfn convert_uchar_sat(uint);
    434 uchar __ovld __cnfn convert_uchar_rte(long);
    435 uchar __ovld __cnfn convert_uchar_sat_rte(long);
    436 uchar __ovld __cnfn convert_uchar_rtz(long);
    437 uchar __ovld __cnfn convert_uchar_sat_rtz(long);
    438 uchar __ovld __cnfn convert_uchar_rtp(long);
    439 uchar __ovld __cnfn convert_uchar_sat_rtp(long);
    440 uchar __ovld __cnfn convert_uchar_rtn(long);
    441 uchar __ovld __cnfn convert_uchar_sat_rtn(long);
    442 uchar __ovld __cnfn convert_uchar(long);
    443 uchar __ovld __cnfn convert_uchar_sat(long);
    444 uchar __ovld __cnfn convert_uchar_rte(ulong);
    445 uchar __ovld __cnfn convert_uchar_sat_rte(ulong);
    446 uchar __ovld __cnfn convert_uchar_rtz(ulong);
    447 uchar __ovld __cnfn convert_uchar_sat_rtz(ulong);
    448 uchar __ovld __cnfn convert_uchar_rtp(ulong);
    449 uchar __ovld __cnfn convert_uchar_sat_rtp(ulong);
    450 uchar __ovld __cnfn convert_uchar_rtn(ulong);
    451 uchar __ovld __cnfn convert_uchar_sat_rtn(ulong);
    452 uchar __ovld __cnfn convert_uchar(ulong);
    453 uchar __ovld __cnfn convert_uchar_sat(ulong);
    454 uchar __ovld __cnfn convert_uchar_rte(float);
    455 uchar __ovld __cnfn convert_uchar_sat_rte(float);
    456 uchar __ovld __cnfn convert_uchar_rtz(float);
    457 uchar __ovld __cnfn convert_uchar_sat_rtz(float);
    458 uchar __ovld __cnfn convert_uchar_rtp(float);
    459 uchar __ovld __cnfn convert_uchar_sat_rtp(float);
    460 uchar __ovld __cnfn convert_uchar_rtn(float);
    461 uchar __ovld __cnfn convert_uchar_sat_rtn(float);
    462 uchar __ovld __cnfn convert_uchar(float);
    463 uchar __ovld __cnfn convert_uchar_sat(float);
    464 
    465 short __ovld __cnfn convert_short_rte(char);
    466 short __ovld __cnfn convert_short_sat_rte(char);
    467 short __ovld __cnfn convert_short_rtz(char);
    468 short __ovld __cnfn convert_short_sat_rtz(char);
    469 short __ovld __cnfn convert_short_rtp(char);
    470 short __ovld __cnfn convert_short_sat_rtp(char);
    471 short __ovld __cnfn convert_short_rtn(char);
    472 short __ovld __cnfn convert_short_sat_rtn(char);
    473 short __ovld __cnfn convert_short(char);
    474 short __ovld __cnfn convert_short_sat(char);
    475 short __ovld __cnfn convert_short_rte(uchar);
    476 short __ovld __cnfn convert_short_sat_rte(uchar);
    477 short __ovld __cnfn convert_short_rtz(uchar);
    478 short __ovld __cnfn convert_short_sat_rtz(uchar);
    479 short __ovld __cnfn convert_short_rtp(uchar);
    480 short __ovld __cnfn convert_short_sat_rtp(uchar);
    481 short __ovld __cnfn convert_short_rtn(uchar);
    482 short __ovld __cnfn convert_short_sat_rtn(uchar);
    483 short __ovld __cnfn convert_short(uchar);
    484 short __ovld __cnfn convert_short_sat(uchar);
    485 short __ovld __cnfn convert_short_rte(short);
    486 short __ovld __cnfn convert_short_sat_rte(short);
    487 short __ovld __cnfn convert_short_rtz(short);
    488 short __ovld __cnfn convert_short_sat_rtz(short);
    489 short __ovld __cnfn convert_short_rtp(short);
    490 short __ovld __cnfn convert_short_sat_rtp(short);
    491 short __ovld __cnfn convert_short_rtn(short);
    492 short __ovld __cnfn convert_short_sat_rtn(short);
    493 short __ovld __cnfn convert_short(short);
    494 short __ovld __cnfn convert_short_sat(short);
    495 short __ovld __cnfn convert_short_rte(ushort);
    496 short __ovld __cnfn convert_short_sat_rte(ushort);
    497 short __ovld __cnfn convert_short_rtz(ushort);
    498 short __ovld __cnfn convert_short_sat_rtz(ushort);
    499 short __ovld __cnfn convert_short_rtp(ushort);
    500 short __ovld __cnfn convert_short_sat_rtp(ushort);
    501 short __ovld __cnfn convert_short_rtn(ushort);
    502 short __ovld __cnfn convert_short_sat_rtn(ushort);
    503 short __ovld __cnfn convert_short(ushort);
    504 short __ovld __cnfn convert_short_sat(ushort);
    505 short __ovld __cnfn convert_short_rte(int);
    506 short __ovld __cnfn convert_short_sat_rte(int);
    507 short __ovld __cnfn convert_short_rtz(int);
    508 short __ovld __cnfn convert_short_sat_rtz(int);
    509 short __ovld __cnfn convert_short_rtp(int);
    510 short __ovld __cnfn convert_short_sat_rtp(int);
    511 short __ovld __cnfn convert_short_rtn(int);
    512 short __ovld __cnfn convert_short_sat_rtn(int);
    513 short __ovld __cnfn convert_short(int);
    514 short __ovld __cnfn convert_short_sat(int);
    515 short __ovld __cnfn convert_short_rte(uint);
    516 short __ovld __cnfn convert_short_sat_rte(uint);
    517 short __ovld __cnfn convert_short_rtz(uint);
    518 short __ovld __cnfn convert_short_sat_rtz(uint);
    519 short __ovld __cnfn convert_short_rtp(uint);
    520 short __ovld __cnfn convert_short_sat_rtp(uint);
    521 short __ovld __cnfn convert_short_rtn(uint);
    522 short __ovld __cnfn convert_short_sat_rtn(uint);
    523 short __ovld __cnfn convert_short(uint);
    524 short __ovld __cnfn convert_short_sat(uint);
    525 short __ovld __cnfn convert_short_rte(long);
    526 short __ovld __cnfn convert_short_sat_rte(long);
    527 short __ovld __cnfn convert_short_rtz(long);
    528 short __ovld __cnfn convert_short_sat_rtz(long);
    529 short __ovld __cnfn convert_short_rtp(long);
    530 short __ovld __cnfn convert_short_sat_rtp(long);
    531 short __ovld __cnfn convert_short_rtn(long);
    532 short __ovld __cnfn convert_short_sat_rtn(long);
    533 short __ovld __cnfn convert_short(long);
    534 short __ovld __cnfn convert_short_sat(long);
    535 short __ovld __cnfn convert_short_rte(ulong);
    536 short __ovld __cnfn convert_short_sat_rte(ulong);
    537 short __ovld __cnfn convert_short_rtz(ulong);
    538 short __ovld __cnfn convert_short_sat_rtz(ulong);
    539 short __ovld __cnfn convert_short_rtp(ulong);
    540 short __ovld __cnfn convert_short_sat_rtp(ulong);
    541 short __ovld __cnfn convert_short_rtn(ulong);
    542 short __ovld __cnfn convert_short_sat_rtn(ulong);
    543 short __ovld __cnfn convert_short(ulong);
    544 short __ovld __cnfn convert_short_sat(ulong);
    545 short __ovld __cnfn convert_short_rte(float);
    546 short __ovld __cnfn convert_short_sat_rte(float);
    547 short __ovld __cnfn convert_short_rtz(float);
    548 short __ovld __cnfn convert_short_sat_rtz(float);
    549 short __ovld __cnfn convert_short_rtp(float);
    550 short __ovld __cnfn convert_short_sat_rtp(float);
    551 short __ovld __cnfn convert_short_rtn(float);
    552 short __ovld __cnfn convert_short_sat_rtn(float);
    553 short __ovld __cnfn convert_short(float);
    554 short __ovld __cnfn convert_short_sat(float);
    555 ushort __ovld __cnfn convert_ushort_rte(char);
    556 ushort __ovld __cnfn convert_ushort_sat_rte(char);
    557 ushort __ovld __cnfn convert_ushort_rtz(char);
    558 ushort __ovld __cnfn convert_ushort_sat_rtz(char);
    559 ushort __ovld __cnfn convert_ushort_rtp(char);
    560 ushort __ovld __cnfn convert_ushort_sat_rtp(char);
    561 ushort __ovld __cnfn convert_ushort_rtn(char);
    562 ushort __ovld __cnfn convert_ushort_sat_rtn(char);
    563 ushort __ovld __cnfn convert_ushort(char);
    564 ushort __ovld __cnfn convert_ushort_sat(char);
    565 ushort __ovld __cnfn convert_ushort_rte(uchar);
    566 ushort __ovld __cnfn convert_ushort_sat_rte(uchar);
    567 ushort __ovld __cnfn convert_ushort_rtz(uchar);
    568 ushort __ovld __cnfn convert_ushort_sat_rtz(uchar);
    569 ushort __ovld __cnfn convert_ushort_rtp(uchar);
    570 ushort __ovld __cnfn convert_ushort_sat_rtp(uchar);
    571 ushort __ovld __cnfn convert_ushort_rtn(uchar);
    572 ushort __ovld __cnfn convert_ushort_sat_rtn(uchar);
    573 ushort __ovld __cnfn convert_ushort(uchar);
    574 ushort __ovld __cnfn convert_ushort_sat(uchar);
    575 ushort __ovld __cnfn convert_ushort_rte(short);
    576 ushort __ovld __cnfn convert_ushort_sat_rte(short);
    577 ushort __ovld __cnfn convert_ushort_rtz(short);
    578 ushort __ovld __cnfn convert_ushort_sat_rtz(short);
    579 ushort __ovld __cnfn convert_ushort_rtp(short);
    580 ushort __ovld __cnfn convert_ushort_sat_rtp(short);
    581 ushort __ovld __cnfn convert_ushort_rtn(short);
    582 ushort __ovld __cnfn convert_ushort_sat_rtn(short);
    583 ushort __ovld __cnfn convert_ushort(short);
    584 ushort __ovld __cnfn convert_ushort_sat(short);
    585 ushort __ovld __cnfn convert_ushort_rte(ushort);
    586 ushort __ovld __cnfn convert_ushort_sat_rte(ushort);
    587 ushort __ovld __cnfn convert_ushort_rtz(ushort);
    588 ushort __ovld __cnfn convert_ushort_sat_rtz(ushort);
    589 ushort __ovld __cnfn convert_ushort_rtp(ushort);
    590 ushort __ovld __cnfn convert_ushort_sat_rtp(ushort);
    591 ushort __ovld __cnfn convert_ushort_rtn(ushort);
    592 ushort __ovld __cnfn convert_ushort_sat_rtn(ushort);
    593 ushort __ovld __cnfn convert_ushort(ushort);
    594 ushort __ovld __cnfn convert_ushort_sat(ushort);
    595 ushort __ovld __cnfn convert_ushort_rte(int);
    596 ushort __ovld __cnfn convert_ushort_sat_rte(int);
    597 ushort __ovld __cnfn convert_ushort_rtz(int);
    598 ushort __ovld __cnfn convert_ushort_sat_rtz(int);
    599 ushort __ovld __cnfn convert_ushort_rtp(int);
    600 ushort __ovld __cnfn convert_ushort_sat_rtp(int);
    601 ushort __ovld __cnfn convert_ushort_rtn(int);
    602 ushort __ovld __cnfn convert_ushort_sat_rtn(int);
    603 ushort __ovld __cnfn convert_ushort(int);
    604 ushort __ovld __cnfn convert_ushort_sat(int);
    605 ushort __ovld __cnfn convert_ushort_rte(uint);
    606 ushort __ovld __cnfn convert_ushort_sat_rte(uint);
    607 ushort __ovld __cnfn convert_ushort_rtz(uint);
    608 ushort __ovld __cnfn convert_ushort_sat_rtz(uint);
    609 ushort __ovld __cnfn convert_ushort_rtp(uint);
    610 ushort __ovld __cnfn convert_ushort_sat_rtp(uint);
    611 ushort __ovld __cnfn convert_ushort_rtn(uint);
    612 ushort __ovld __cnfn convert_ushort_sat_rtn(uint);
    613 ushort __ovld __cnfn convert_ushort(uint);
    614 ushort __ovld __cnfn convert_ushort_sat(uint);
    615 ushort __ovld __cnfn convert_ushort_rte(long);
    616 ushort __ovld __cnfn convert_ushort_sat_rte(long);
    617 ushort __ovld __cnfn convert_ushort_rtz(long);
    618 ushort __ovld __cnfn convert_ushort_sat_rtz(long);
    619 ushort __ovld __cnfn convert_ushort_rtp(long);
    620 ushort __ovld __cnfn convert_ushort_sat_rtp(long);
    621 ushort __ovld __cnfn convert_ushort_rtn(long);
    622 ushort __ovld __cnfn convert_ushort_sat_rtn(long);
    623 ushort __ovld __cnfn convert_ushort(long);
    624 ushort __ovld __cnfn convert_ushort_sat(long);
    625 ushort __ovld __cnfn convert_ushort_rte(ulong);
    626 ushort __ovld __cnfn convert_ushort_sat_rte(ulong);
    627 ushort __ovld __cnfn convert_ushort_rtz(ulong);
    628 ushort __ovld __cnfn convert_ushort_sat_rtz(ulong);
    629 ushort __ovld __cnfn convert_ushort_rtp(ulong);
    630 ushort __ovld __cnfn convert_ushort_sat_rtp(ulong);
    631 ushort __ovld __cnfn convert_ushort_rtn(ulong);
    632 ushort __ovld __cnfn convert_ushort_sat_rtn(ulong);
    633 ushort __ovld __cnfn convert_ushort(ulong);
    634 ushort __ovld __cnfn convert_ushort_sat(ulong);
    635 ushort __ovld __cnfn convert_ushort_rte(float);
    636 ushort __ovld __cnfn convert_ushort_sat_rte(float);
    637 ushort __ovld __cnfn convert_ushort_rtz(float);
    638 ushort __ovld __cnfn convert_ushort_sat_rtz(float);
    639 ushort __ovld __cnfn convert_ushort_rtp(float);
    640 ushort __ovld __cnfn convert_ushort_sat_rtp(float);
    641 ushort __ovld __cnfn convert_ushort_rtn(float);
    642 ushort __ovld __cnfn convert_ushort_sat_rtn(float);
    643 ushort __ovld __cnfn convert_ushort(float);
    644 ushort __ovld __cnfn convert_ushort_sat(float);
    645 int __ovld __cnfn convert_int_rte(char);
    646 int __ovld __cnfn convert_int_sat_rte(char);
    647 int __ovld __cnfn convert_int_rtz(char);
    648 int __ovld __cnfn convert_int_sat_rtz(char);
    649 int __ovld __cnfn convert_int_rtp(char);
    650 int __ovld __cnfn convert_int_sat_rtp(char);
    651 int __ovld __cnfn convert_int_rtn(char);
    652 int __ovld __cnfn convert_int_sat_rtn(char);
    653 int __ovld __cnfn convert_int(char);
    654 int __ovld __cnfn convert_int_sat(char);
    655 int __ovld __cnfn convert_int_rte(uchar);
    656 int __ovld __cnfn convert_int_sat_rte(uchar);
    657 int __ovld __cnfn convert_int_rtz(uchar);
    658 int __ovld __cnfn convert_int_sat_rtz(uchar);
    659 int __ovld __cnfn convert_int_rtp(uchar);
    660 int __ovld __cnfn convert_int_sat_rtp(uchar);
    661 int __ovld __cnfn convert_int_rtn(uchar);
    662 int __ovld __cnfn convert_int_sat_rtn(uchar);
    663 int __ovld __cnfn convert_int(uchar);
    664 int __ovld __cnfn convert_int_sat(uchar);
    665 int __ovld __cnfn convert_int_rte(short);
    666 int __ovld __cnfn convert_int_sat_rte(short);
    667 int __ovld __cnfn convert_int_rtz(short);
    668 int __ovld __cnfn convert_int_sat_rtz(short);
    669 int __ovld __cnfn convert_int_rtp(short);
    670 int __ovld __cnfn convert_int_sat_rtp(short);
    671 int __ovld __cnfn convert_int_rtn(short);
    672 int __ovld __cnfn convert_int_sat_rtn(short);
    673 int __ovld __cnfn convert_int(short);
    674 int __ovld __cnfn convert_int_sat(short);
    675 int __ovld __cnfn convert_int_rte(ushort);
    676 int __ovld __cnfn convert_int_sat_rte(ushort);
    677 int __ovld __cnfn convert_int_rtz(ushort);
    678 int __ovld __cnfn convert_int_sat_rtz(ushort);
    679 int __ovld __cnfn convert_int_rtp(ushort);
    680 int __ovld __cnfn convert_int_sat_rtp(ushort);
    681 int __ovld __cnfn convert_int_rtn(ushort);
    682 int __ovld __cnfn convert_int_sat_rtn(ushort);
    683 int __ovld __cnfn convert_int(ushort);
    684 int __ovld __cnfn convert_int_sat(ushort);
    685 int __ovld __cnfn convert_int_rte(int);
    686 int __ovld __cnfn convert_int_sat_rte(int);
    687 int __ovld __cnfn convert_int_rtz(int);
    688 int __ovld __cnfn convert_int_sat_rtz(int);
    689 int __ovld __cnfn convert_int_rtp(int);
    690 int __ovld __cnfn convert_int_sat_rtp(int);
    691 int __ovld __cnfn convert_int_rtn(int);
    692 int __ovld __cnfn convert_int_sat_rtn(int);
    693 int __ovld __cnfn convert_int(int);
    694 int __ovld __cnfn convert_int_sat(int);
    695 int __ovld __cnfn convert_int_rte(uint);
    696 int __ovld __cnfn convert_int_sat_rte(uint);
    697 int __ovld __cnfn convert_int_rtz(uint);
    698 int __ovld __cnfn convert_int_sat_rtz(uint);
    699 int __ovld __cnfn convert_int_rtp(uint);
    700 int __ovld __cnfn convert_int_sat_rtp(uint);
    701 int __ovld __cnfn convert_int_rtn(uint);
    702 int __ovld __cnfn convert_int_sat_rtn(uint);
    703 int __ovld __cnfn convert_int(uint);
    704 int __ovld __cnfn convert_int_sat(uint);
    705 int __ovld __cnfn convert_int_rte(long);
    706 int __ovld __cnfn convert_int_sat_rte(long);
    707 int __ovld __cnfn convert_int_rtz(long);
    708 int __ovld __cnfn convert_int_sat_rtz(long);
    709 int __ovld __cnfn convert_int_rtp(long);
    710 int __ovld __cnfn convert_int_sat_rtp(long);
    711 int __ovld __cnfn convert_int_rtn(long);
    712 int __ovld __cnfn convert_int_sat_rtn(long);
    713 int __ovld __cnfn convert_int(long);
    714 int __ovld __cnfn convert_int_sat(long);
    715 int __ovld __cnfn convert_int_rte(ulong);
    716 int __ovld __cnfn convert_int_sat_rte(ulong);
    717 int __ovld __cnfn convert_int_rtz(ulong);
    718 int __ovld __cnfn convert_int_sat_rtz(ulong);
    719 int __ovld __cnfn convert_int_rtp(ulong);
    720 int __ovld __cnfn convert_int_sat_rtp(ulong);
    721 int __ovld __cnfn convert_int_rtn(ulong);
    722 int __ovld __cnfn convert_int_sat_rtn(ulong);
    723 int __ovld __cnfn convert_int(ulong);
    724 int __ovld __cnfn convert_int_sat(ulong);
    725 int __ovld __cnfn convert_int_rte(float);
    726 int __ovld __cnfn convert_int_sat_rte(float);
    727 int __ovld __cnfn convert_int_rtz(float);
    728 int __ovld __cnfn convert_int_sat_rtz(float);
    729 int __ovld __cnfn convert_int_rtp(float);
    730 int __ovld __cnfn convert_int_sat_rtp(float);
    731 int __ovld __cnfn convert_int_rtn(float);
    732 int __ovld __cnfn convert_int_sat_rtn(float);
    733 int __ovld __cnfn convert_int(float);
    734 int __ovld __cnfn convert_int_sat(float);
    735 uint __ovld __cnfn convert_uint_rte(char);
    736 uint __ovld __cnfn convert_uint_sat_rte(char);
    737 uint __ovld __cnfn convert_uint_rtz(char);
    738 uint __ovld __cnfn convert_uint_sat_rtz(char);
    739 uint __ovld __cnfn convert_uint_rtp(char);
    740 uint __ovld __cnfn convert_uint_sat_rtp(char);
    741 uint __ovld __cnfn convert_uint_rtn(char);
    742 uint __ovld __cnfn convert_uint_sat_rtn(char);
    743 uint __ovld __cnfn convert_uint(char);
    744 uint __ovld __cnfn convert_uint_sat(char);
    745 uint __ovld __cnfn convert_uint_rte(uchar);
    746 uint __ovld __cnfn convert_uint_sat_rte(uchar);
    747 uint __ovld __cnfn convert_uint_rtz(uchar);
    748 uint __ovld __cnfn convert_uint_sat_rtz(uchar);
    749 uint __ovld __cnfn convert_uint_rtp(uchar);
    750 uint __ovld __cnfn convert_uint_sat_rtp(uchar);
    751 uint __ovld __cnfn convert_uint_rtn(uchar);
    752 uint __ovld __cnfn convert_uint_sat_rtn(uchar);
    753 uint __ovld __cnfn convert_uint(uchar);
    754 uint __ovld __cnfn convert_uint_sat(uchar);
    755 uint __ovld __cnfn convert_uint_rte(short);
    756 uint __ovld __cnfn convert_uint_sat_rte(short);
    757 uint __ovld __cnfn convert_uint_rtz(short);
    758 uint __ovld __cnfn convert_uint_sat_rtz(short);
    759 uint __ovld __cnfn convert_uint_rtp(short);
    760 uint __ovld __cnfn convert_uint_sat_rtp(short);
    761 uint __ovld __cnfn convert_uint_rtn(short);
    762 uint __ovld __cnfn convert_uint_sat_rtn(short);
    763 uint __ovld __cnfn convert_uint(short);
    764 uint __ovld __cnfn convert_uint_sat(short);
    765 uint __ovld __cnfn convert_uint_rte(ushort);
    766 uint __ovld __cnfn convert_uint_sat_rte(ushort);
    767 uint __ovld __cnfn convert_uint_rtz(ushort);
    768 uint __ovld __cnfn convert_uint_sat_rtz(ushort);
    769 uint __ovld __cnfn convert_uint_rtp(ushort);
    770 uint __ovld __cnfn convert_uint_sat_rtp(ushort);
    771 uint __ovld __cnfn convert_uint_rtn(ushort);
    772 uint __ovld __cnfn convert_uint_sat_rtn(ushort);
    773 uint __ovld __cnfn convert_uint(ushort);
    774 uint __ovld __cnfn convert_uint_sat(ushort);
    775 uint __ovld __cnfn convert_uint_rte(int);
    776 uint __ovld __cnfn convert_uint_sat_rte(int);
    777 uint __ovld __cnfn convert_uint_rtz(int);
    778 uint __ovld __cnfn convert_uint_sat_rtz(int);
    779 uint __ovld __cnfn convert_uint_rtp(int);
    780 uint __ovld __cnfn convert_uint_sat_rtp(int);
    781 uint __ovld __cnfn convert_uint_rtn(int);
    782 uint __ovld __cnfn convert_uint_sat_rtn(int);
    783 uint __ovld __cnfn convert_uint(int);
    784 uint __ovld __cnfn convert_uint_sat(int);
    785 uint __ovld __cnfn convert_uint_rte(uint);
    786 uint __ovld __cnfn convert_uint_sat_rte(uint);
    787 uint __ovld __cnfn convert_uint_rtz(uint);
    788 uint __ovld __cnfn convert_uint_sat_rtz(uint);
    789 uint __ovld __cnfn convert_uint_rtp(uint);
    790 uint __ovld __cnfn convert_uint_sat_rtp(uint);
    791 uint __ovld __cnfn convert_uint_rtn(uint);
    792 uint __ovld __cnfn convert_uint_sat_rtn(uint);
    793 uint __ovld __cnfn convert_uint(uint);
    794 uint __ovld __cnfn convert_uint_sat(uint);
    795 uint __ovld __cnfn convert_uint_rte(long);
    796 uint __ovld __cnfn convert_uint_sat_rte(long);
    797 uint __ovld __cnfn convert_uint_rtz(long);
    798 uint __ovld __cnfn convert_uint_sat_rtz(long);
    799 uint __ovld __cnfn convert_uint_rtp(long);
    800 uint __ovld __cnfn convert_uint_sat_rtp(long);
    801 uint __ovld __cnfn convert_uint_rtn(long);
    802 uint __ovld __cnfn convert_uint_sat_rtn(long);
    803 uint __ovld __cnfn convert_uint(long);
    804 uint __ovld __cnfn convert_uint_sat(long);
    805 uint __ovld __cnfn convert_uint_rte(ulong);
    806 uint __ovld __cnfn convert_uint_sat_rte(ulong);
    807 uint __ovld __cnfn convert_uint_rtz(ulong);
    808 uint __ovld __cnfn convert_uint_sat_rtz(ulong);
    809 uint __ovld __cnfn convert_uint_rtp(ulong);
    810 uint __ovld __cnfn convert_uint_sat_rtp(ulong);
    811 uint __ovld __cnfn convert_uint_rtn(ulong);
    812 uint __ovld __cnfn convert_uint_sat_rtn(ulong);
    813 uint __ovld __cnfn convert_uint(ulong);
    814 uint __ovld __cnfn convert_uint_sat(ulong);
    815 uint __ovld __cnfn convert_uint_rte(float);
    816 uint __ovld __cnfn convert_uint_sat_rte(float);
    817 uint __ovld __cnfn convert_uint_rtz(float);
    818 uint __ovld __cnfn convert_uint_sat_rtz(float);
    819 uint __ovld __cnfn convert_uint_rtp(float);
    820 uint __ovld __cnfn convert_uint_sat_rtp(float);
    821 uint __ovld __cnfn convert_uint_rtn(float);
    822 uint __ovld __cnfn convert_uint_sat_rtn(float);
    823 uint __ovld __cnfn convert_uint(float);
    824 uint __ovld __cnfn convert_uint_sat(float);
    825 long __ovld __cnfn convert_long_rte(char);
    826 long __ovld __cnfn convert_long_sat_rte(char);
    827 long __ovld __cnfn convert_long_rtz(char);
    828 long __ovld __cnfn convert_long_sat_rtz(char);
    829 long __ovld __cnfn convert_long_rtp(char);
    830 long __ovld __cnfn convert_long_sat_rtp(char);
    831 long __ovld __cnfn convert_long_rtn(char);
    832 long __ovld __cnfn convert_long_sat_rtn(char);
    833 long __ovld __cnfn convert_long(char);
    834 long __ovld __cnfn convert_long_sat(char);
    835 long __ovld __cnfn convert_long_rte(uchar);
    836 long __ovld __cnfn convert_long_sat_rte(uchar);
    837 long __ovld __cnfn convert_long_rtz(uchar);
    838 long __ovld __cnfn convert_long_sat_rtz(uchar);
    839 long __ovld __cnfn convert_long_rtp(uchar);
    840 long __ovld __cnfn convert_long_sat_rtp(uchar);
    841 long __ovld __cnfn convert_long_rtn(uchar);
    842 long __ovld __cnfn convert_long_sat_rtn(uchar);
    843 long __ovld __cnfn convert_long(uchar);
    844 long __ovld __cnfn convert_long_sat(uchar);
    845 long __ovld __cnfn convert_long_rte(short);
    846 long __ovld __cnfn convert_long_sat_rte(short);
    847 long __ovld __cnfn convert_long_rtz(short);
    848 long __ovld __cnfn convert_long_sat_rtz(short);
    849 long __ovld __cnfn convert_long_rtp(short);
    850 long __ovld __cnfn convert_long_sat_rtp(short);
    851 long __ovld __cnfn convert_long_rtn(short);
    852 long __ovld __cnfn convert_long_sat_rtn(short);
    853 long __ovld __cnfn convert_long(short);
    854 long __ovld __cnfn convert_long_sat(short);
    855 long __ovld __cnfn convert_long_rte(ushort);
    856 long __ovld __cnfn convert_long_sat_rte(ushort);
    857 long __ovld __cnfn convert_long_rtz(ushort);
    858 long __ovld __cnfn convert_long_sat_rtz(ushort);
    859 long __ovld __cnfn convert_long_rtp(ushort);
    860 long __ovld __cnfn convert_long_sat_rtp(ushort);
    861 long __ovld __cnfn convert_long_rtn(ushort);
    862 long __ovld __cnfn convert_long_sat_rtn(ushort);
    863 long __ovld __cnfn convert_long(ushort);
    864 long __ovld __cnfn convert_long_sat(ushort);
    865 long __ovld __cnfn convert_long_rte(int);
    866 long __ovld __cnfn convert_long_sat_rte(int);
    867 long __ovld __cnfn convert_long_rtz(int);
    868 long __ovld __cnfn convert_long_sat_rtz(int);
    869 long __ovld __cnfn convert_long_rtp(int);
    870 long __ovld __cnfn convert_long_sat_rtp(int);
    871 long __ovld __cnfn convert_long_rtn(int);
    872 long __ovld __cnfn convert_long_sat_rtn(int);
    873 long __ovld __cnfn convert_long(int);
    874 long __ovld __cnfn convert_long_sat(int);
    875 long __ovld __cnfn convert_long_rte(uint);
    876 long __ovld __cnfn convert_long_sat_rte(uint);
    877 long __ovld __cnfn convert_long_rtz(uint);
    878 long __ovld __cnfn convert_long_sat_rtz(uint);
    879 long __ovld __cnfn convert_long_rtp(uint);
    880 long __ovld __cnfn convert_long_sat_rtp(uint);
    881 long __ovld __cnfn convert_long_rtn(uint);
    882 long __ovld __cnfn convert_long_sat_rtn(uint);
    883 long __ovld __cnfn convert_long(uint);
    884 long __ovld __cnfn convert_long_sat(uint);
    885 long __ovld __cnfn convert_long_rte(long);
    886 long __ovld __cnfn convert_long_sat_rte(long);
    887 long __ovld __cnfn convert_long_rtz(long);
    888 long __ovld __cnfn convert_long_sat_rtz(long);
    889 long __ovld __cnfn convert_long_rtp(long);
    890 long __ovld __cnfn convert_long_sat_rtp(long);
    891 long __ovld __cnfn convert_long_rtn(long);
    892 long __ovld __cnfn convert_long_sat_rtn(long);
    893 long __ovld __cnfn convert_long(long);
    894 long __ovld __cnfn convert_long_sat(long);
    895 long __ovld __cnfn convert_long_rte(ulong);
    896 long __ovld __cnfn convert_long_sat_rte(ulong);
    897 long __ovld __cnfn convert_long_rtz(ulong);
    898 long __ovld __cnfn convert_long_sat_rtz(ulong);
    899 long __ovld __cnfn convert_long_rtp(ulong);
    900 long __ovld __cnfn convert_long_sat_rtp(ulong);
    901 long __ovld __cnfn convert_long_rtn(ulong);
    902 long __ovld __cnfn convert_long_sat_rtn(ulong);
    903 long __ovld __cnfn convert_long(ulong);
    904 long __ovld __cnfn convert_long_sat(ulong);
    905 long __ovld __cnfn convert_long_rte(float);
    906 long __ovld __cnfn convert_long_sat_rte(float);
    907 long __ovld __cnfn convert_long_rtz(float);
    908 long __ovld __cnfn convert_long_sat_rtz(float);
    909 long __ovld __cnfn convert_long_rtp(float);
    910 long __ovld __cnfn convert_long_sat_rtp(float);
    911 long __ovld __cnfn convert_long_rtn(float);
    912 long __ovld __cnfn convert_long_sat_rtn(float);
    913 long __ovld __cnfn convert_long(float);
    914 long __ovld __cnfn convert_long_sat(float);
    915 ulong __ovld __cnfn convert_ulong_rte(char);
    916 ulong __ovld __cnfn convert_ulong_sat_rte(char);
    917 ulong __ovld __cnfn convert_ulong_rtz(char);
    918 ulong __ovld __cnfn convert_ulong_sat_rtz(char);
    919 ulong __ovld __cnfn convert_ulong_rtp(char);
    920 ulong __ovld __cnfn convert_ulong_sat_rtp(char);
    921 ulong __ovld __cnfn convert_ulong_rtn(char);
    922 ulong __ovld __cnfn convert_ulong_sat_rtn(char);
    923 ulong __ovld __cnfn convert_ulong(char);
    924 ulong __ovld __cnfn convert_ulong_sat(char);
    925 ulong __ovld __cnfn convert_ulong_rte(uchar);
    926 ulong __ovld __cnfn convert_ulong_sat_rte(uchar);
    927 ulong __ovld __cnfn convert_ulong_rtz(uchar);
    928 ulong __ovld __cnfn convert_ulong_sat_rtz(uchar);
    929 ulong __ovld __cnfn convert_ulong_rtp(uchar);
    930 ulong __ovld __cnfn convert_ulong_sat_rtp(uchar);
    931 ulong __ovld __cnfn convert_ulong_rtn(uchar);
    932 ulong __ovld __cnfn convert_ulong_sat_rtn(uchar);
    933 ulong __ovld __cnfn convert_ulong(uchar);
    934 ulong __ovld __cnfn convert_ulong_sat(uchar);
    935 ulong __ovld __cnfn convert_ulong_rte(short);
    936 ulong __ovld __cnfn convert_ulong_sat_rte(short);
    937 ulong __ovld __cnfn convert_ulong_rtz(short);
    938 ulong __ovld __cnfn convert_ulong_sat_rtz(short);
    939 ulong __ovld __cnfn convert_ulong_rtp(short);
    940 ulong __ovld __cnfn convert_ulong_sat_rtp(short);
    941 ulong __ovld __cnfn convert_ulong_rtn(short);
    942 ulong __ovld __cnfn convert_ulong_sat_rtn(short);
    943 ulong __ovld __cnfn convert_ulong(short);
    944 ulong __ovld __cnfn convert_ulong_sat(short);
    945 ulong __ovld __cnfn convert_ulong_rte(ushort);
    946 ulong __ovld __cnfn convert_ulong_sat_rte(ushort);
    947 ulong __ovld __cnfn convert_ulong_rtz(ushort);
    948 ulong __ovld __cnfn convert_ulong_sat_rtz(ushort);
    949 ulong __ovld __cnfn convert_ulong_rtp(ushort);
    950 ulong __ovld __cnfn convert_ulong_sat_rtp(ushort);
    951 ulong __ovld __cnfn convert_ulong_rtn(ushort);
    952 ulong __ovld __cnfn convert_ulong_sat_rtn(ushort);
    953 ulong __ovld __cnfn convert_ulong(ushort);
    954 ulong __ovld __cnfn convert_ulong_sat(ushort);
    955 ulong __ovld __cnfn convert_ulong_rte(int);
    956 ulong __ovld __cnfn convert_ulong_sat_rte(int);
    957 ulong __ovld __cnfn convert_ulong_rtz(int);
    958 ulong __ovld __cnfn convert_ulong_sat_rtz(int);
    959 ulong __ovld __cnfn convert_ulong_rtp(int);
    960 ulong __ovld __cnfn convert_ulong_sat_rtp(int);
    961 ulong __ovld __cnfn convert_ulong_rtn(int);
    962 ulong __ovld __cnfn convert_ulong_sat_rtn(int);
    963 ulong __ovld __cnfn convert_ulong(int);
    964 ulong __ovld __cnfn convert_ulong_sat(int);
    965 ulong __ovld __cnfn convert_ulong_rte(uint);
    966 ulong __ovld __cnfn convert_ulong_sat_rte(uint);
    967 ulong __ovld __cnfn convert_ulong_rtz(uint);
    968 ulong __ovld __cnfn convert_ulong_sat_rtz(uint);
    969 ulong __ovld __cnfn convert_ulong_rtp(uint);
    970 ulong __ovld __cnfn convert_ulong_sat_rtp(uint);
    971 ulong __ovld __cnfn convert_ulong_rtn(uint);
    972 ulong __ovld __cnfn convert_ulong_sat_rtn(uint);
    973 ulong __ovld __cnfn convert_ulong(uint);
    974 ulong __ovld __cnfn convert_ulong_sat(uint);
    975 ulong __ovld __cnfn convert_ulong_rte(long);
    976 ulong __ovld __cnfn convert_ulong_sat_rte(long);
    977 ulong __ovld __cnfn convert_ulong_rtz(long);
    978 ulong __ovld __cnfn convert_ulong_sat_rtz(long);
    979 ulong __ovld __cnfn convert_ulong_rtp(long);
    980 ulong __ovld __cnfn convert_ulong_sat_rtp(long);
    981 ulong __ovld __cnfn convert_ulong_rtn(long);
    982 ulong __ovld __cnfn convert_ulong_sat_rtn(long);
    983 ulong __ovld __cnfn convert_ulong(long);
    984 ulong __ovld __cnfn convert_ulong_sat(long);
    985 ulong __ovld __cnfn convert_ulong_rte(ulong);
    986 ulong __ovld __cnfn convert_ulong_sat_rte(ulong);
    987 ulong __ovld __cnfn convert_ulong_rtz(ulong);
    988 ulong __ovld __cnfn convert_ulong_sat_rtz(ulong);
    989 ulong __ovld __cnfn convert_ulong_rtp(ulong);
    990 ulong __ovld __cnfn convert_ulong_sat_rtp(ulong);
    991 ulong __ovld __cnfn convert_ulong_rtn(ulong);
    992 ulong __ovld __cnfn convert_ulong_sat_rtn(ulong);
    993 ulong __ovld __cnfn convert_ulong(ulong);
    994 ulong __ovld __cnfn convert_ulong_sat(ulong);
    995 ulong __ovld __cnfn convert_ulong_rte(float);
    996 ulong __ovld __cnfn convert_ulong_sat_rte(float);
    997 ulong __ovld __cnfn convert_ulong_rtz(float);
    998 ulong __ovld __cnfn convert_ulong_sat_rtz(float);
    999 ulong __ovld __cnfn convert_ulong_rtp(float);
   1000 ulong __ovld __cnfn convert_ulong_sat_rtp(float);
   1001 ulong __ovld __cnfn convert_ulong_rtn(float);
   1002 ulong __ovld __cnfn convert_ulong_sat_rtn(float);
   1003 ulong __ovld __cnfn convert_ulong(float);
   1004 ulong __ovld __cnfn convert_ulong_sat(float);
   1005 float __ovld __cnfn convert_float_rte(char);
   1006 float __ovld __cnfn convert_float_rtz(char);
   1007 float __ovld __cnfn convert_float_rtp(char);
   1008 float __ovld __cnfn convert_float_rtn(char);
   1009 float __ovld __cnfn convert_float(char);
   1010 float __ovld __cnfn convert_float_rte(uchar);
   1011 float __ovld __cnfn convert_float_rtz(uchar);
   1012 float __ovld __cnfn convert_float_rtp(uchar);
   1013 float __ovld __cnfn convert_float_rtn(uchar);
   1014 float __ovld __cnfn convert_float(uchar);
   1015 float __ovld __cnfn convert_float_rte(short);
   1016 float __ovld __cnfn convert_float_rtz(short);
   1017 float __ovld __cnfn convert_float_rtp(short);
   1018 float __ovld __cnfn convert_float_rtn(short);
   1019 float __ovld __cnfn convert_float(short);
   1020 float __ovld __cnfn convert_float_rte(ushort);
   1021 float __ovld __cnfn convert_float_rtz(ushort);
   1022 float __ovld __cnfn convert_float_rtp(ushort);
   1023 float __ovld __cnfn convert_float_rtn(ushort);
   1024 float __ovld __cnfn convert_float(ushort);
   1025 float __ovld __cnfn convert_float_rte(int);
   1026 float __ovld __cnfn convert_float_rtz(int);
   1027 float __ovld __cnfn convert_float_rtp(int);
   1028 float __ovld __cnfn convert_float_rtn(int);
   1029 float __ovld __cnfn convert_float(int);
   1030 float __ovld __cnfn convert_float_rte(uint);
   1031 float __ovld __cnfn convert_float_rtz(uint);
   1032 float __ovld __cnfn convert_float_rtp(uint);
   1033 float __ovld __cnfn convert_float_rtn(uint);
   1034 float __ovld __cnfn convert_float(uint);
   1035 float __ovld __cnfn convert_float_rte(long);
   1036 float __ovld __cnfn convert_float_rtz(long);
   1037 float __ovld __cnfn convert_float_rtp(long);
   1038 float __ovld __cnfn convert_float_rtn(long);
   1039 float __ovld __cnfn convert_float(long);
   1040 float __ovld __cnfn convert_float_rte(ulong);
   1041 float __ovld __cnfn convert_float_rtz(ulong);
   1042 float __ovld __cnfn convert_float_rtp(ulong);
   1043 float __ovld __cnfn convert_float_rtn(ulong);
   1044 float __ovld __cnfn convert_float(ulong);
   1045 float __ovld __cnfn convert_float_rte(float);
   1046 float __ovld __cnfn convert_float_rtz(float);
   1047 float __ovld __cnfn convert_float_rtp(float);
   1048 float __ovld __cnfn convert_float_rtn(float);
   1049 float __ovld __cnfn convert_float(float);
   1050 char2 __ovld __cnfn convert_char2_rte(char2);
   1051 char2 __ovld __cnfn convert_char2_sat_rte(char2);
   1052 char2 __ovld __cnfn convert_char2_rtz(char2);
   1053 char2 __ovld __cnfn convert_char2_sat_rtz(char2);
   1054 char2 __ovld __cnfn convert_char2_rtp(char2);
   1055 char2 __ovld __cnfn convert_char2_sat_rtp(char2);
   1056 char2 __ovld __cnfn convert_char2_rtn(char2);
   1057 char2 __ovld __cnfn convert_char2_sat_rtn(char2);
   1058 char2 __ovld __cnfn convert_char2(char2);
   1059 char2 __ovld __cnfn convert_char2_sat(char2);
   1060 char2 __ovld __cnfn convert_char2_rte(uchar2);
   1061 char2 __ovld __cnfn convert_char2_sat_rte(uchar2);
   1062 char2 __ovld __cnfn convert_char2_rtz(uchar2);
   1063 char2 __ovld __cnfn convert_char2_sat_rtz(uchar2);
   1064 char2 __ovld __cnfn convert_char2_rtp(uchar2);
   1065 char2 __ovld __cnfn convert_char2_sat_rtp(uchar2);
   1066 char2 __ovld __cnfn convert_char2_rtn(uchar2);
   1067 char2 __ovld __cnfn convert_char2_sat_rtn(uchar2);
   1068 char2 __ovld __cnfn convert_char2(uchar2);
   1069 char2 __ovld __cnfn convert_char2_sat(uchar2);
   1070 char2 __ovld __cnfn convert_char2_rte(short2);
   1071 char2 __ovld __cnfn convert_char2_sat_rte(short2);
   1072 char2 __ovld __cnfn convert_char2_rtz(short2);
   1073 char2 __ovld __cnfn convert_char2_sat_rtz(short2);
   1074 char2 __ovld __cnfn convert_char2_rtp(short2);
   1075 char2 __ovld __cnfn convert_char2_sat_rtp(short2);
   1076 char2 __ovld __cnfn convert_char2_rtn(short2);
   1077 char2 __ovld __cnfn convert_char2_sat_rtn(short2);
   1078 char2 __ovld __cnfn convert_char2(short2);
   1079 char2 __ovld __cnfn convert_char2_sat(short2);
   1080 char2 __ovld __cnfn convert_char2_rte(ushort2);
   1081 char2 __ovld __cnfn convert_char2_sat_rte(ushort2);
   1082 char2 __ovld __cnfn convert_char2_rtz(ushort2);
   1083 char2 __ovld __cnfn convert_char2_sat_rtz(ushort2);
   1084 char2 __ovld __cnfn convert_char2_rtp(ushort2);
   1085 char2 __ovld __cnfn convert_char2_sat_rtp(ushort2);
   1086 char2 __ovld __cnfn convert_char2_rtn(ushort2);
   1087 char2 __ovld __cnfn convert_char2_sat_rtn(ushort2);
   1088 char2 __ovld __cnfn convert_char2(ushort2);
   1089 char2 __ovld __cnfn convert_char2_sat(ushort2);
   1090 char2 __ovld __cnfn convert_char2_rte(int2);
   1091 char2 __ovld __cnfn convert_char2_sat_rte(int2);
   1092 char2 __ovld __cnfn convert_char2_rtz(int2);
   1093 char2 __ovld __cnfn convert_char2_sat_rtz(int2);
   1094 char2 __ovld __cnfn convert_char2_rtp(int2);
   1095 char2 __ovld __cnfn convert_char2_sat_rtp(int2);
   1096 char2 __ovld __cnfn convert_char2_rtn(int2);
   1097 char2 __ovld __cnfn convert_char2_sat_rtn(int2);
   1098 char2 __ovld __cnfn convert_char2(int2);
   1099 char2 __ovld __cnfn convert_char2_sat(int2);
   1100 char2 __ovld __cnfn convert_char2_rte(uint2);
   1101 char2 __ovld __cnfn convert_char2_sat_rte(uint2);
   1102 char2 __ovld __cnfn convert_char2_rtz(uint2);
   1103 char2 __ovld __cnfn convert_char2_sat_rtz(uint2);
   1104 char2 __ovld __cnfn convert_char2_rtp(uint2);
   1105 char2 __ovld __cnfn convert_char2_sat_rtp(uint2);
   1106 char2 __ovld __cnfn convert_char2_rtn(uint2);
   1107 char2 __ovld __cnfn convert_char2_sat_rtn(uint2);
   1108 char2 __ovld __cnfn convert_char2(uint2);
   1109 char2 __ovld __cnfn convert_char2_sat(uint2);
   1110 char2 __ovld __cnfn convert_char2_rte(long2);
   1111 char2 __ovld __cnfn convert_char2_sat_rte(long2);
   1112 char2 __ovld __cnfn convert_char2_rtz(long2);
   1113 char2 __ovld __cnfn convert_char2_sat_rtz(long2);
   1114 char2 __ovld __cnfn convert_char2_rtp(long2);
   1115 char2 __ovld __cnfn convert_char2_sat_rtp(long2);
   1116 char2 __ovld __cnfn convert_char2_rtn(long2);
   1117 char2 __ovld __cnfn convert_char2_sat_rtn(long2);
   1118 char2 __ovld __cnfn convert_char2(long2);
   1119 char2 __ovld __cnfn convert_char2_sat(long2);
   1120 char2 __ovld __cnfn convert_char2_rte(ulong2);
   1121 char2 __ovld __cnfn convert_char2_sat_rte(ulong2);
   1122 char2 __ovld __cnfn convert_char2_rtz(ulong2);
   1123 char2 __ovld __cnfn convert_char2_sat_rtz(ulong2);
   1124 char2 __ovld __cnfn convert_char2_rtp(ulong2);
   1125 char2 __ovld __cnfn convert_char2_sat_rtp(ulong2);
   1126 char2 __ovld __cnfn convert_char2_rtn(ulong2);
   1127 char2 __ovld __cnfn convert_char2_sat_rtn(ulong2);
   1128 char2 __ovld __cnfn convert_char2(ulong2);
   1129 char2 __ovld __cnfn convert_char2_sat(ulong2);
   1130 char2 __ovld __cnfn convert_char2_rte(float2);
   1131 char2 __ovld __cnfn convert_char2_sat_rte(float2);
   1132 char2 __ovld __cnfn convert_char2_rtz(float2);
   1133 char2 __ovld __cnfn convert_char2_sat_rtz(float2);
   1134 char2 __ovld __cnfn convert_char2_rtp(float2);
   1135 char2 __ovld __cnfn convert_char2_sat_rtp(float2);
   1136 char2 __ovld __cnfn convert_char2_rtn(float2);
   1137 char2 __ovld __cnfn convert_char2_sat_rtn(float2);
   1138 char2 __ovld __cnfn convert_char2(float2);
   1139 char2 __ovld __cnfn convert_char2_sat(float2);
   1140 uchar2 __ovld __cnfn convert_uchar2_rte(char2);
   1141 uchar2 __ovld __cnfn convert_uchar2_sat_rte(char2);
   1142 uchar2 __ovld __cnfn convert_uchar2_rtz(char2);
   1143 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(char2);
   1144 uchar2 __ovld __cnfn convert_uchar2_rtp(char2);
   1145 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(char2);
   1146 uchar2 __ovld __cnfn convert_uchar2_rtn(char2);
   1147 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(char2);
   1148 uchar2 __ovld __cnfn convert_uchar2(char2);
   1149 uchar2 __ovld __cnfn convert_uchar2_sat(char2);
   1150 uchar2 __ovld __cnfn convert_uchar2_rte(uchar2);
   1151 uchar2 __ovld __cnfn convert_uchar2_sat_rte(uchar2);
   1152 uchar2 __ovld __cnfn convert_uchar2_rtz(uchar2);
   1153 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uchar2);
   1154 uchar2 __ovld __cnfn convert_uchar2_rtp(uchar2);
   1155 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uchar2);
   1156 uchar2 __ovld __cnfn convert_uchar2_rtn(uchar2);
   1157 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uchar2);
   1158 uchar2 __ovld __cnfn convert_uchar2(uchar2);
   1159 uchar2 __ovld __cnfn convert_uchar2_sat(uchar2);
   1160 uchar2 __ovld __cnfn convert_uchar2_rte(short2);
   1161 uchar2 __ovld __cnfn convert_uchar2_sat_rte(short2);
   1162 uchar2 __ovld __cnfn convert_uchar2_rtz(short2);
   1163 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(short2);
   1164 uchar2 __ovld __cnfn convert_uchar2_rtp(short2);
   1165 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(short2);
   1166 uchar2 __ovld __cnfn convert_uchar2_rtn(short2);
   1167 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(short2);
   1168 uchar2 __ovld __cnfn convert_uchar2(short2);
   1169 uchar2 __ovld __cnfn convert_uchar2_sat(short2);
   1170 uchar2 __ovld __cnfn convert_uchar2_rte(ushort2);
   1171 uchar2 __ovld __cnfn convert_uchar2_sat_rte(ushort2);
   1172 uchar2 __ovld __cnfn convert_uchar2_rtz(ushort2);
   1173 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ushort2);
   1174 uchar2 __ovld __cnfn convert_uchar2_rtp(ushort2);
   1175 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ushort2);
   1176 uchar2 __ovld __cnfn convert_uchar2_rtn(ushort2);
   1177 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ushort2);
   1178 uchar2 __ovld __cnfn convert_uchar2(ushort2);
   1179 uchar2 __ovld __cnfn convert_uchar2_sat(ushort2);
   1180 uchar2 __ovld __cnfn convert_uchar2_rte(int2);
   1181 uchar2 __ovld __cnfn convert_uchar2_sat_rte(int2);
   1182 uchar2 __ovld __cnfn convert_uchar2_rtz(int2);
   1183 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(int2);
   1184 uchar2 __ovld __cnfn convert_uchar2_rtp(int2);
   1185 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(int2);
   1186 uchar2 __ovld __cnfn convert_uchar2_rtn(int2);
   1187 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(int2);
   1188 uchar2 __ovld __cnfn convert_uchar2(int2);
   1189 uchar2 __ovld __cnfn convert_uchar2_sat(int2);
   1190 uchar2 __ovld __cnfn convert_uchar2_rte(uint2);
   1191 uchar2 __ovld __cnfn convert_uchar2_sat_rte(uint2);
   1192 uchar2 __ovld __cnfn convert_uchar2_rtz(uint2);
   1193 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uint2);
   1194 uchar2 __ovld __cnfn convert_uchar2_rtp(uint2);
   1195 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uint2);
   1196 uchar2 __ovld __cnfn convert_uchar2_rtn(uint2);
   1197 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uint2);
   1198 uchar2 __ovld __cnfn convert_uchar2(uint2);
   1199 uchar2 __ovld __cnfn convert_uchar2_sat(uint2);
   1200 uchar2 __ovld __cnfn convert_uchar2_rte(long2);
   1201 uchar2 __ovld __cnfn convert_uchar2_sat_rte(long2);
   1202 uchar2 __ovld __cnfn convert_uchar2_rtz(long2);
   1203 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(long2);
   1204 uchar2 __ovld __cnfn convert_uchar2_rtp(long2);
   1205 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(long2);
   1206 uchar2 __ovld __cnfn convert_uchar2_rtn(long2);
   1207 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(long2);
   1208 uchar2 __ovld __cnfn convert_uchar2(long2);
   1209 uchar2 __ovld __cnfn convert_uchar2_sat(long2);
   1210 uchar2 __ovld __cnfn convert_uchar2_rte(ulong2);
   1211 uchar2 __ovld __cnfn convert_uchar2_sat_rte(ulong2);
   1212 uchar2 __ovld __cnfn convert_uchar2_rtz(ulong2);
   1213 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ulong2);
   1214 uchar2 __ovld __cnfn convert_uchar2_rtp(ulong2);
   1215 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ulong2);
   1216 uchar2 __ovld __cnfn convert_uchar2_rtn(ulong2);
   1217 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ulong2);
   1218 uchar2 __ovld __cnfn convert_uchar2(ulong2);
   1219 uchar2 __ovld __cnfn convert_uchar2_sat(ulong2);
   1220 uchar2 __ovld __cnfn convert_uchar2_rte(float2);
   1221 uchar2 __ovld __cnfn convert_uchar2_sat_rte(float2);
   1222 uchar2 __ovld __cnfn convert_uchar2_rtz(float2);
   1223 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(float2);
   1224 uchar2 __ovld __cnfn convert_uchar2_rtp(float2);
   1225 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(float2);
   1226 uchar2 __ovld __cnfn convert_uchar2_rtn(float2);
   1227 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(float2);
   1228 uchar2 __ovld __cnfn convert_uchar2(float2);
   1229 uchar2 __ovld __cnfn convert_uchar2_sat(float2);
   1230 short2 __ovld __cnfn convert_short2_rte(char2);
   1231 short2 __ovld __cnfn convert_short2_sat_rte(char2);
   1232 short2 __ovld __cnfn convert_short2_rtz(char2);
   1233 short2 __ovld __cnfn convert_short2_sat_rtz(char2);
   1234 short2 __ovld __cnfn convert_short2_rtp(char2);
   1235 short2 __ovld __cnfn convert_short2_sat_rtp(char2);
   1236 short2 __ovld __cnfn convert_short2_rtn(char2);
   1237 short2 __ovld __cnfn convert_short2_sat_rtn(char2);
   1238 short2 __ovld __cnfn convert_short2(char2);
   1239 short2 __ovld __cnfn convert_short2_sat(char2);
   1240 short2 __ovld __cnfn convert_short2_rte(uchar2);
   1241 short2 __ovld __cnfn convert_short2_sat_rte(uchar2);
   1242 short2 __ovld __cnfn convert_short2_rtz(uchar2);
   1243 short2 __ovld __cnfn convert_short2_sat_rtz(uchar2);
   1244 short2 __ovld __cnfn convert_short2_rtp(uchar2);
   1245 short2 __ovld __cnfn convert_short2_sat_rtp(uchar2);
   1246 short2 __ovld __cnfn convert_short2_rtn(uchar2);
   1247 short2 __ovld __cnfn convert_short2_sat_rtn(uchar2);
   1248 short2 __ovld __cnfn convert_short2(uchar2);
   1249 short2 __ovld __cnfn convert_short2_sat(uchar2);
   1250 short2 __ovld __cnfn convert_short2_rte(short2);
   1251 short2 __ovld __cnfn convert_short2_sat_rte(short2);
   1252 short2 __ovld __cnfn convert_short2_rtz(short2);
   1253 short2 __ovld __cnfn convert_short2_sat_rtz(short2);
   1254 short2 __ovld __cnfn convert_short2_rtp(short2);
   1255 short2 __ovld __cnfn convert_short2_sat_rtp(short2);
   1256 short2 __ovld __cnfn convert_short2_rtn(short2);
   1257 short2 __ovld __cnfn convert_short2_sat_rtn(short2);
   1258 short2 __ovld __cnfn convert_short2(short2);
   1259 short2 __ovld __cnfn convert_short2_sat(short2);
   1260 short2 __ovld __cnfn convert_short2_rte(ushort2);
   1261 short2 __ovld __cnfn convert_short2_sat_rte(ushort2);
   1262 short2 __ovld __cnfn convert_short2_rtz(ushort2);
   1263 short2 __ovld __cnfn convert_short2_sat_rtz(ushort2);
   1264 short2 __ovld __cnfn convert_short2_rtp(ushort2);
   1265 short2 __ovld __cnfn convert_short2_sat_rtp(ushort2);
   1266 short2 __ovld __cnfn convert_short2_rtn(ushort2);
   1267 short2 __ovld __cnfn convert_short2_sat_rtn(ushort2);
   1268 short2 __ovld __cnfn convert_short2(ushort2);
   1269 short2 __ovld __cnfn convert_short2_sat(ushort2);
   1270 short2 __ovld __cnfn convert_short2_rte(int2);
   1271 short2 __ovld __cnfn convert_short2_sat_rte(int2);
   1272 short2 __ovld __cnfn convert_short2_rtz(int2);
   1273 short2 __ovld __cnfn convert_short2_sat_rtz(int2);
   1274 short2 __ovld __cnfn convert_short2_rtp(int2);
   1275 short2 __ovld __cnfn convert_short2_sat_rtp(int2);
   1276 short2 __ovld __cnfn convert_short2_rtn(int2);
   1277 short2 __ovld __cnfn convert_short2_sat_rtn(int2);
   1278 short2 __ovld __cnfn convert_short2(int2);
   1279 short2 __ovld __cnfn convert_short2_sat(int2);
   1280 short2 __ovld __cnfn convert_short2_rte(uint2);
   1281 short2 __ovld __cnfn convert_short2_sat_rte(uint2);
   1282 short2 __ovld __cnfn convert_short2_rtz(uint2);
   1283 short2 __ovld __cnfn convert_short2_sat_rtz(uint2);
   1284 short2 __ovld __cnfn convert_short2_rtp(uint2);
   1285 short2 __ovld __cnfn convert_short2_sat_rtp(uint2);
   1286 short2 __ovld __cnfn convert_short2_rtn(uint2);
   1287 short2 __ovld __cnfn convert_short2_sat_rtn(uint2);
   1288 short2 __ovld __cnfn convert_short2(uint2);
   1289 short2 __ovld __cnfn convert_short2_sat(uint2);
   1290 short2 __ovld __cnfn convert_short2_rte(long2);
   1291 short2 __ovld __cnfn convert_short2_sat_rte(long2);
   1292 short2 __ovld __cnfn convert_short2_rtz(long2);
   1293 short2 __ovld __cnfn convert_short2_sat_rtz(long2);
   1294 short2 __ovld __cnfn convert_short2_rtp(long2);
   1295 short2 __ovld __cnfn convert_short2_sat_rtp(long2);
   1296 short2 __ovld __cnfn convert_short2_rtn(long2);
   1297 short2 __ovld __cnfn convert_short2_sat_rtn(long2);
   1298 short2 __ovld __cnfn convert_short2(long2);
   1299 short2 __ovld __cnfn convert_short2_sat(long2);
   1300 short2 __ovld __cnfn convert_short2_rte(ulong2);
   1301 short2 __ovld __cnfn convert_short2_sat_rte(ulong2);
   1302 short2 __ovld __cnfn convert_short2_rtz(ulong2);
   1303 short2 __ovld __cnfn convert_short2_sat_rtz(ulong2);
   1304 short2 __ovld __cnfn convert_short2_rtp(ulong2);
   1305 short2 __ovld __cnfn convert_short2_sat_rtp(ulong2);
   1306 short2 __ovld __cnfn convert_short2_rtn(ulong2);
   1307 short2 __ovld __cnfn convert_short2_sat_rtn(ulong2);
   1308 short2 __ovld __cnfn convert_short2(ulong2);
   1309 short2 __ovld __cnfn convert_short2_sat(ulong2);
   1310 short2 __ovld __cnfn convert_short2_rte(float2);
   1311 short2 __ovld __cnfn convert_short2_sat_rte(float2);
   1312 short2 __ovld __cnfn convert_short2_rtz(float2);
   1313 short2 __ovld __cnfn convert_short2_sat_rtz(float2);
   1314 short2 __ovld __cnfn convert_short2_rtp(float2);
   1315 short2 __ovld __cnfn convert_short2_sat_rtp(float2);
   1316 short2 __ovld __cnfn convert_short2_rtn(float2);
   1317 short2 __ovld __cnfn convert_short2_sat_rtn(float2);
   1318 short2 __ovld __cnfn convert_short2(float2);
   1319 short2 __ovld __cnfn convert_short2_sat(float2);
   1320 ushort2 __ovld __cnfn convert_ushort2_rte(char2);
   1321 ushort2 __ovld __cnfn convert_ushort2_sat_rte(char2);
   1322 ushort2 __ovld __cnfn convert_ushort2_rtz(char2);
   1323 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(char2);
   1324 ushort2 __ovld __cnfn convert_ushort2_rtp(char2);
   1325 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(char2);
   1326 ushort2 __ovld __cnfn convert_ushort2_rtn(char2);
   1327 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(char2);
   1328 ushort2 __ovld __cnfn convert_ushort2(char2);
   1329 ushort2 __ovld __cnfn convert_ushort2_sat(char2);
   1330 ushort2 __ovld __cnfn convert_ushort2_rte(uchar2);
   1331 ushort2 __ovld __cnfn convert_ushort2_sat_rte(uchar2);
   1332 ushort2 __ovld __cnfn convert_ushort2_rtz(uchar2);
   1333 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uchar2);
   1334 ushort2 __ovld __cnfn convert_ushort2_rtp(uchar2);
   1335 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uchar2);
   1336 ushort2 __ovld __cnfn convert_ushort2_rtn(uchar2);
   1337 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uchar2);
   1338 ushort2 __ovld __cnfn convert_ushort2(uchar2);
   1339 ushort2 __ovld __cnfn convert_ushort2_sat(uchar2);
   1340 ushort2 __ovld __cnfn convert_ushort2_rte(short2);
   1341 ushort2 __ovld __cnfn convert_ushort2_sat_rte(short2);
   1342 ushort2 __ovld __cnfn convert_ushort2_rtz(short2);
   1343 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(short2);
   1344 ushort2 __ovld __cnfn convert_ushort2_rtp(short2);
   1345 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(short2);
   1346 ushort2 __ovld __cnfn convert_ushort2_rtn(short2);
   1347 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(short2);
   1348 ushort2 __ovld __cnfn convert_ushort2(short2);
   1349 ushort2 __ovld __cnfn convert_ushort2_sat(short2);
   1350 ushort2 __ovld __cnfn convert_ushort2_rte(ushort2);
   1351 ushort2 __ovld __cnfn convert_ushort2_sat_rte(ushort2);
   1352 ushort2 __ovld __cnfn convert_ushort2_rtz(ushort2);
   1353 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ushort2);
   1354 ushort2 __ovld __cnfn convert_ushort2_rtp(ushort2);
   1355 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ushort2);
   1356 ushort2 __ovld __cnfn convert_ushort2_rtn(ushort2);
   1357 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ushort2);
   1358 ushort2 __ovld __cnfn convert_ushort2(ushort2);
   1359 ushort2 __ovld __cnfn convert_ushort2_sat(ushort2);
   1360 ushort2 __ovld __cnfn convert_ushort2_rte(int2);
   1361 ushort2 __ovld __cnfn convert_ushort2_sat_rte(int2);
   1362 ushort2 __ovld __cnfn convert_ushort2_rtz(int2);
   1363 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(int2);
   1364 ushort2 __ovld __cnfn convert_ushort2_rtp(int2);
   1365 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(int2);
   1366 ushort2 __ovld __cnfn convert_ushort2_rtn(int2);
   1367 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(int2);
   1368 ushort2 __ovld __cnfn convert_ushort2(int2);
   1369 ushort2 __ovld __cnfn convert_ushort2_sat(int2);
   1370 ushort2 __ovld __cnfn convert_ushort2_rte(uint2);
   1371 ushort2 __ovld __cnfn convert_ushort2_sat_rte(uint2);
   1372 ushort2 __ovld __cnfn convert_ushort2_rtz(uint2);
   1373 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uint2);
   1374 ushort2 __ovld __cnfn convert_ushort2_rtp(uint2);
   1375 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uint2);
   1376 ushort2 __ovld __cnfn convert_ushort2_rtn(uint2);
   1377 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uint2);
   1378 ushort2 __ovld __cnfn convert_ushort2(uint2);
   1379 ushort2 __ovld __cnfn convert_ushort2_sat(uint2);
   1380 ushort2 __ovld __cnfn convert_ushort2_rte(long2);
   1381 ushort2 __ovld __cnfn convert_ushort2_sat_rte(long2);
   1382 ushort2 __ovld __cnfn convert_ushort2_rtz(long2);
   1383 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(long2);
   1384 ushort2 __ovld __cnfn convert_ushort2_rtp(long2);
   1385 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(long2);
   1386 ushort2 __ovld __cnfn convert_ushort2_rtn(long2);
   1387 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(long2);
   1388 ushort2 __ovld __cnfn convert_ushort2(long2);
   1389 ushort2 __ovld __cnfn convert_ushort2_sat(long2);
   1390 ushort2 __ovld __cnfn convert_ushort2_rte(ulong2);
   1391 ushort2 __ovld __cnfn convert_ushort2_sat_rte(ulong2);
   1392 ushort2 __ovld __cnfn convert_ushort2_rtz(ulong2);
   1393 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ulong2);
   1394 ushort2 __ovld __cnfn convert_ushort2_rtp(ulong2);
   1395 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ulong2);
   1396 ushort2 __ovld __cnfn convert_ushort2_rtn(ulong2);
   1397 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ulong2);
   1398 ushort2 __ovld __cnfn convert_ushort2(ulong2);
   1399 ushort2 __ovld __cnfn convert_ushort2_sat(ulong2);
   1400 ushort2 __ovld __cnfn convert_ushort2_rte(float2);
   1401 ushort2 __ovld __cnfn convert_ushort2_sat_rte(float2);
   1402 ushort2 __ovld __cnfn convert_ushort2_rtz(float2);
   1403 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(float2);
   1404 ushort2 __ovld __cnfn convert_ushort2_rtp(float2);
   1405 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(float2);
   1406 ushort2 __ovld __cnfn convert_ushort2_rtn(float2);
   1407 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(float2);
   1408 ushort2 __ovld __cnfn convert_ushort2(float2);
   1409 ushort2 __ovld __cnfn convert_ushort2_sat(float2);
   1410 int2 __ovld __cnfn convert_int2_rte(char2);
   1411 int2 __ovld __cnfn convert_int2_sat_rte(char2);
   1412 int2 __ovld __cnfn convert_int2_rtz(char2);
   1413 int2 __ovld __cnfn convert_int2_sat_rtz(char2);
   1414 int2 __ovld __cnfn convert_int2_rtp(char2);
   1415 int2 __ovld __cnfn convert_int2_sat_rtp(char2);
   1416 int2 __ovld __cnfn convert_int2_rtn(char2);
   1417 int2 __ovld __cnfn convert_int2_sat_rtn(char2);
   1418 int2 __ovld __cnfn convert_int2(char2);
   1419 int2 __ovld __cnfn convert_int2_sat(char2);
   1420 int2 __ovld __cnfn convert_int2_rte(uchar2);
   1421 int2 __ovld __cnfn convert_int2_sat_rte(uchar2);
   1422 int2 __ovld __cnfn convert_int2_rtz(uchar2);
   1423 int2 __ovld __cnfn convert_int2_sat_rtz(uchar2);
   1424 int2 __ovld __cnfn convert_int2_rtp(uchar2);
   1425 int2 __ovld __cnfn convert_int2_sat_rtp(uchar2);
   1426 int2 __ovld __cnfn convert_int2_rtn(uchar2);
   1427 int2 __ovld __cnfn convert_int2_sat_rtn(uchar2);
   1428 int2 __ovld __cnfn convert_int2(uchar2);
   1429 int2 __ovld __cnfn convert_int2_sat(uchar2);
   1430 int2 __ovld __cnfn convert_int2_rte(short2);
   1431 int2 __ovld __cnfn convert_int2_sat_rte(short2);
   1432 int2 __ovld __cnfn convert_int2_rtz(short2);
   1433 int2 __ovld __cnfn convert_int2_sat_rtz(short2);
   1434 int2 __ovld __cnfn convert_int2_rtp(short2);
   1435 int2 __ovld __cnfn convert_int2_sat_rtp(short2);
   1436 int2 __ovld __cnfn convert_int2_rtn(short2);
   1437 int2 __ovld __cnfn convert_int2_sat_rtn(short2);
   1438 int2 __ovld __cnfn convert_int2(short2);
   1439 int2 __ovld __cnfn convert_int2_sat(short2);
   1440 int2 __ovld __cnfn convert_int2_rte(ushort2);
   1441 int2 __ovld __cnfn convert_int2_sat_rte(ushort2);
   1442 int2 __ovld __cnfn convert_int2_rtz(ushort2);
   1443 int2 __ovld __cnfn convert_int2_sat_rtz(ushort2);
   1444 int2 __ovld __cnfn convert_int2_rtp(ushort2);
   1445 int2 __ovld __cnfn convert_int2_sat_rtp(ushort2);
   1446 int2 __ovld __cnfn convert_int2_rtn(ushort2);
   1447 int2 __ovld __cnfn convert_int2_sat_rtn(ushort2);
   1448 int2 __ovld __cnfn convert_int2(ushort2);
   1449 int2 __ovld __cnfn convert_int2_sat(ushort2);
   1450 int2 __ovld __cnfn convert_int2_rte(int2);
   1451 int2 __ovld __cnfn convert_int2_sat_rte(int2);
   1452 int2 __ovld __cnfn convert_int2_rtz(int2);
   1453 int2 __ovld __cnfn convert_int2_sat_rtz(int2);
   1454 int2 __ovld __cnfn convert_int2_rtp(int2);
   1455 int2 __ovld __cnfn convert_int2_sat_rtp(int2);
   1456 int2 __ovld __cnfn convert_int2_rtn(int2);
   1457 int2 __ovld __cnfn convert_int2_sat_rtn(int2);
   1458 int2 __ovld __cnfn convert_int2(int2);
   1459 int2 __ovld __cnfn convert_int2_sat(int2);
   1460 int2 __ovld __cnfn convert_int2_rte(uint2);
   1461 int2 __ovld __cnfn convert_int2_sat_rte(uint2);
   1462 int2 __ovld __cnfn convert_int2_rtz(uint2);
   1463 int2 __ovld __cnfn convert_int2_sat_rtz(uint2);
   1464 int2 __ovld __cnfn convert_int2_rtp(uint2);
   1465 int2 __ovld __cnfn convert_int2_sat_rtp(uint2);
   1466 int2 __ovld __cnfn convert_int2_rtn(uint2);
   1467 int2 __ovld __cnfn convert_int2_sat_rtn(uint2);
   1468 int2 __ovld __cnfn convert_int2(uint2);
   1469 int2 __ovld __cnfn convert_int2_sat(uint2);
   1470 int2 __ovld __cnfn convert_int2_rte(long2);
   1471 int2 __ovld __cnfn convert_int2_sat_rte(long2);
   1472 int2 __ovld __cnfn convert_int2_rtz(long2);
   1473 int2 __ovld __cnfn convert_int2_sat_rtz(long2);
   1474 int2 __ovld __cnfn convert_int2_rtp(long2);
   1475 int2 __ovld __cnfn convert_int2_sat_rtp(long2);
   1476 int2 __ovld __cnfn convert_int2_rtn(long2);
   1477 int2 __ovld __cnfn convert_int2_sat_rtn(long2);
   1478 int2 __ovld __cnfn convert_int2(long2);
   1479 int2 __ovld __cnfn convert_int2_sat(long2);
   1480 int2 __ovld __cnfn convert_int2_rte(ulong2);
   1481 int2 __ovld __cnfn convert_int2_sat_rte(ulong2);
   1482 int2 __ovld __cnfn convert_int2_rtz(ulong2);
   1483 int2 __ovld __cnfn convert_int2_sat_rtz(ulong2);
   1484 int2 __ovld __cnfn convert_int2_rtp(ulong2);
   1485 int2 __ovld __cnfn convert_int2_sat_rtp(ulong2);
   1486 int2 __ovld __cnfn convert_int2_rtn(ulong2);
   1487 int2 __ovld __cnfn convert_int2_sat_rtn(ulong2);
   1488 int2 __ovld __cnfn convert_int2(ulong2);
   1489 int2 __ovld __cnfn convert_int2_sat(ulong2);
   1490 int2 __ovld __cnfn convert_int2_rte(float2);
   1491 int2 __ovld __cnfn convert_int2_sat_rte(float2);
   1492 int2 __ovld __cnfn convert_int2_rtz(float2);
   1493 int2 __ovld __cnfn convert_int2_sat_rtz(float2);
   1494 int2 __ovld __cnfn convert_int2_rtp(float2);
   1495 int2 __ovld __cnfn convert_int2_sat_rtp(float2);
   1496 int2 __ovld __cnfn convert_int2_rtn(float2);
   1497 int2 __ovld __cnfn convert_int2_sat_rtn(float2);
   1498 int2 __ovld __cnfn convert_int2(float2);
   1499 int2 __ovld __cnfn convert_int2_sat(float2);
   1500 uint2 __ovld __cnfn convert_uint2_rte(char2);
   1501 uint2 __ovld __cnfn convert_uint2_sat_rte(char2);
   1502 uint2 __ovld __cnfn convert_uint2_rtz(char2);
   1503 uint2 __ovld __cnfn convert_uint2_sat_rtz(char2);
   1504 uint2 __ovld __cnfn convert_uint2_rtp(char2);
   1505 uint2 __ovld __cnfn convert_uint2_sat_rtp(char2);
   1506 uint2 __ovld __cnfn convert_uint2_rtn(char2);
   1507 uint2 __ovld __cnfn convert_uint2_sat_rtn(char2);
   1508 uint2 __ovld __cnfn convert_uint2(char2);
   1509 uint2 __ovld __cnfn convert_uint2_sat(char2);
   1510 uint2 __ovld __cnfn convert_uint2_rte(uchar2);
   1511 uint2 __ovld __cnfn convert_uint2_sat_rte(uchar2);
   1512 uint2 __ovld __cnfn convert_uint2_rtz(uchar2);
   1513 uint2 __ovld __cnfn convert_uint2_sat_rtz(uchar2);
   1514 uint2 __ovld __cnfn convert_uint2_rtp(uchar2);
   1515 uint2 __ovld __cnfn convert_uint2_sat_rtp(uchar2);
   1516 uint2 __ovld __cnfn convert_uint2_rtn(uchar2);
   1517 uint2 __ovld __cnfn convert_uint2_sat_rtn(uchar2);
   1518 uint2 __ovld __cnfn convert_uint2(uchar2);
   1519 uint2 __ovld __cnfn convert_uint2_sat(uchar2);
   1520 uint2 __ovld __cnfn convert_uint2_rte(short2);
   1521 uint2 __ovld __cnfn convert_uint2_sat_rte(short2);
   1522 uint2 __ovld __cnfn convert_uint2_rtz(short2);
   1523 uint2 __ovld __cnfn convert_uint2_sat_rtz(short2);
   1524 uint2 __ovld __cnfn convert_uint2_rtp(short2);
   1525 uint2 __ovld __cnfn convert_uint2_sat_rtp(short2);
   1526 uint2 __ovld __cnfn convert_uint2_rtn(short2);
   1527 uint2 __ovld __cnfn convert_uint2_sat_rtn(short2);
   1528 uint2 __ovld __cnfn convert_uint2(short2);
   1529 uint2 __ovld __cnfn convert_uint2_sat(short2);
   1530 uint2 __ovld __cnfn convert_uint2_rte(ushort2);
   1531 uint2 __ovld __cnfn convert_uint2_sat_rte(ushort2);
   1532 uint2 __ovld __cnfn convert_uint2_rtz(ushort2);
   1533 uint2 __ovld __cnfn convert_uint2_sat_rtz(ushort2);
   1534 uint2 __ovld __cnfn convert_uint2_rtp(ushort2);
   1535 uint2 __ovld __cnfn convert_uint2_sat_rtp(ushort2);
   1536 uint2 __ovld __cnfn convert_uint2_rtn(ushort2);
   1537 uint2 __ovld __cnfn convert_uint2_sat_rtn(ushort2);
   1538 uint2 __ovld __cnfn convert_uint2(ushort2);
   1539 uint2 __ovld __cnfn convert_uint2_sat(ushort2);
   1540 uint2 __ovld __cnfn convert_uint2_rte(int2);
   1541 uint2 __ovld __cnfn convert_uint2_sat_rte(int2);
   1542 uint2 __ovld __cnfn convert_uint2_rtz(int2);
   1543 uint2 __ovld __cnfn convert_uint2_sat_rtz(int2);
   1544 uint2 __ovld __cnfn convert_uint2_rtp(int2);
   1545 uint2 __ovld __cnfn convert_uint2_sat_rtp(int2);
   1546 uint2 __ovld __cnfn convert_uint2_rtn(int2);
   1547 uint2 __ovld __cnfn convert_uint2_sat_rtn(int2);
   1548 uint2 __ovld __cnfn convert_uint2(int2);
   1549 uint2 __ovld __cnfn convert_uint2_sat(int2);
   1550 uint2 __ovld __cnfn convert_uint2_rte(uint2);
   1551 uint2 __ovld __cnfn convert_uint2_sat_rte(uint2);
   1552 uint2 __ovld __cnfn convert_uint2_rtz(uint2);
   1553 uint2 __ovld __cnfn convert_uint2_sat_rtz(uint2);
   1554 uint2 __ovld __cnfn convert_uint2_rtp(uint2);
   1555 uint2 __ovld __cnfn convert_uint2_sat_rtp(uint2);
   1556 uint2 __ovld __cnfn convert_uint2_rtn(uint2);
   1557 uint2 __ovld __cnfn convert_uint2_sat_rtn(uint2);
   1558 uint2 __ovld __cnfn convert_uint2(uint2);
   1559 uint2 __ovld __cnfn convert_uint2_sat(uint2);
   1560 uint2 __ovld __cnfn convert_uint2_rte(long2);
   1561 uint2 __ovld __cnfn convert_uint2_sat_rte(long2);
   1562 uint2 __ovld __cnfn convert_uint2_rtz(long2);
   1563 uint2 __ovld __cnfn convert_uint2_sat_rtz(long2);
   1564 uint2 __ovld __cnfn convert_uint2_rtp(long2);
   1565 uint2 __ovld __cnfn convert_uint2_sat_rtp(long2);
   1566 uint2 __ovld __cnfn convert_uint2_rtn(long2);
   1567 uint2 __ovld __cnfn convert_uint2_sat_rtn(long2);
   1568 uint2 __ovld __cnfn convert_uint2(long2);
   1569 uint2 __ovld __cnfn convert_uint2_sat(long2);
   1570 uint2 __ovld __cnfn convert_uint2_rte(ulong2);
   1571 uint2 __ovld __cnfn convert_uint2_sat_rte(ulong2);
   1572 uint2 __ovld __cnfn convert_uint2_rtz(ulong2);
   1573 uint2 __ovld __cnfn convert_uint2_sat_rtz(ulong2);
   1574 uint2 __ovld __cnfn convert_uint2_rtp(ulong2);
   1575 uint2 __ovld __cnfn convert_uint2_sat_rtp(ulong2);
   1576 uint2 __ovld __cnfn convert_uint2_rtn(ulong2);
   1577 uint2 __ovld __cnfn convert_uint2_sat_rtn(ulong2);
   1578 uint2 __ovld __cnfn convert_uint2(ulong2);
   1579 uint2 __ovld __cnfn convert_uint2_sat(ulong2);
   1580 uint2 __ovld __cnfn convert_uint2_rte(float2);
   1581 uint2 __ovld __cnfn convert_uint2_sat_rte(float2);
   1582 uint2 __ovld __cnfn convert_uint2_rtz(float2);
   1583 uint2 __ovld __cnfn convert_uint2_sat_rtz(float2);
   1584 uint2 __ovld __cnfn convert_uint2_rtp(float2);
   1585 uint2 __ovld __cnfn convert_uint2_sat_rtp(float2);
   1586 uint2 __ovld __cnfn convert_uint2_rtn(float2);
   1587 uint2 __ovld __cnfn convert_uint2_sat_rtn(float2);
   1588 uint2 __ovld __cnfn convert_uint2(float2);
   1589 uint2 __ovld __cnfn convert_uint2_sat(float2);
   1590 long2 __ovld __cnfn convert_long2_rte(char2);
   1591 long2 __ovld __cnfn convert_long2_sat_rte(char2);
   1592 long2 __ovld __cnfn convert_long2_rtz(char2);
   1593 long2 __ovld __cnfn convert_long2_sat_rtz(char2);
   1594 long2 __ovld __cnfn convert_long2_rtp(char2);
   1595 long2 __ovld __cnfn convert_long2_sat_rtp(char2);
   1596 long2 __ovld __cnfn convert_long2_rtn(char2);
   1597 long2 __ovld __cnfn convert_long2_sat_rtn(char2);
   1598 long2 __ovld __cnfn convert_long2(char2);
   1599 long2 __ovld __cnfn convert_long2_sat(char2);
   1600 long2 __ovld __cnfn convert_long2_rte(uchar2);
   1601 long2 __ovld __cnfn convert_long2_sat_rte(uchar2);
   1602 long2 __ovld __cnfn convert_long2_rtz(uchar2);
   1603 long2 __ovld __cnfn convert_long2_sat_rtz(uchar2);
   1604 long2 __ovld __cnfn convert_long2_rtp(uchar2);
   1605 long2 __ovld __cnfn convert_long2_sat_rtp(uchar2);
   1606 long2 __ovld __cnfn convert_long2_rtn(uchar2);
   1607 long2 __ovld __cnfn convert_long2_sat_rtn(uchar2);
   1608 long2 __ovld __cnfn convert_long2(uchar2);
   1609 long2 __ovld __cnfn convert_long2_sat(uchar2);
   1610 long2 __ovld __cnfn convert_long2_rte(short2);
   1611 long2 __ovld __cnfn convert_long2_sat_rte(short2);
   1612 long2 __ovld __cnfn convert_long2_rtz(short2);
   1613 long2 __ovld __cnfn convert_long2_sat_rtz(short2);
   1614 long2 __ovld __cnfn convert_long2_rtp(short2);
   1615 long2 __ovld __cnfn convert_long2_sat_rtp(short2);
   1616 long2 __ovld __cnfn convert_long2_rtn(short2);
   1617 long2 __ovld __cnfn convert_long2_sat_rtn(short2);
   1618 long2 __ovld __cnfn convert_long2(short2);
   1619 long2 __ovld __cnfn convert_long2_sat(short2);
   1620 long2 __ovld __cnfn convert_long2_rte(ushort2);
   1621 long2 __ovld __cnfn convert_long2_sat_rte(ushort2);
   1622 long2 __ovld __cnfn convert_long2_rtz(ushort2);
   1623 long2 __ovld __cnfn convert_long2_sat_rtz(ushort2);
   1624 long2 __ovld __cnfn convert_long2_rtp(ushort2);
   1625 long2 __ovld __cnfn convert_long2_sat_rtp(ushort2);
   1626 long2 __ovld __cnfn convert_long2_rtn(ushort2);
   1627 long2 __ovld __cnfn convert_long2_sat_rtn(ushort2);
   1628 long2 __ovld __cnfn convert_long2(ushort2);
   1629 long2 __ovld __cnfn convert_long2_sat(ushort2);
   1630 long2 __ovld __cnfn convert_long2_rte(int2);
   1631 long2 __ovld __cnfn convert_long2_sat_rte(int2);
   1632 long2 __ovld __cnfn convert_long2_rtz(int2);
   1633 long2 __ovld __cnfn convert_long2_sat_rtz(int2);
   1634 long2 __ovld __cnfn convert_long2_rtp(int2);
   1635 long2 __ovld __cnfn convert_long2_sat_rtp(int2);
   1636 long2 __ovld __cnfn convert_long2_rtn(int2);
   1637 long2 __ovld __cnfn convert_long2_sat_rtn(int2);
   1638 long2 __ovld __cnfn convert_long2(int2);
   1639 long2 __ovld __cnfn convert_long2_sat(int2);
   1640 long2 __ovld __cnfn convert_long2_rte(uint2);
   1641 long2 __ovld __cnfn convert_long2_sat_rte(uint2);
   1642 long2 __ovld __cnfn convert_long2_rtz(uint2);
   1643 long2 __ovld __cnfn convert_long2_sat_rtz(uint2);
   1644 long2 __ovld __cnfn convert_long2_rtp(uint2);
   1645 long2 __ovld __cnfn convert_long2_sat_rtp(uint2);
   1646 long2 __ovld __cnfn convert_long2_rtn(uint2);
   1647 long2 __ovld __cnfn convert_long2_sat_rtn(uint2);
   1648 long2 __ovld __cnfn convert_long2(uint2);
   1649 long2 __ovld __cnfn convert_long2_sat(uint2);
   1650 long2 __ovld __cnfn convert_long2_rte(long2);
   1651 long2 __ovld __cnfn convert_long2_sat_rte(long2);
   1652 long2 __ovld __cnfn convert_long2_rtz(long2);
   1653 long2 __ovld __cnfn convert_long2_sat_rtz(long2);
   1654 long2 __ovld __cnfn convert_long2_rtp(long2);
   1655 long2 __ovld __cnfn convert_long2_sat_rtp(long2);
   1656 long2 __ovld __cnfn convert_long2_rtn(long2);
   1657 long2 __ovld __cnfn convert_long2_sat_rtn(long2);
   1658 long2 __ovld __cnfn convert_long2(long2);
   1659 long2 __ovld __cnfn convert_long2_sat(long2);
   1660 long2 __ovld __cnfn convert_long2_rte(ulong2);
   1661 long2 __ovld __cnfn convert_long2_sat_rte(ulong2);
   1662 long2 __ovld __cnfn convert_long2_rtz(ulong2);
   1663 long2 __ovld __cnfn convert_long2_sat_rtz(ulong2);
   1664 long2 __ovld __cnfn convert_long2_rtp(ulong2);
   1665 long2 __ovld __cnfn convert_long2_sat_rtp(ulong2);
   1666 long2 __ovld __cnfn convert_long2_rtn(ulong2);
   1667 long2 __ovld __cnfn convert_long2_sat_rtn(ulong2);
   1668 long2 __ovld __cnfn convert_long2(ulong2);
   1669 long2 __ovld __cnfn convert_long2_sat(ulong2);
   1670 long2 __ovld __cnfn convert_long2_rte(float2);
   1671 long2 __ovld __cnfn convert_long2_sat_rte(float2);
   1672 long2 __ovld __cnfn convert_long2_rtz(float2);
   1673 long2 __ovld __cnfn convert_long2_sat_rtz(float2);
   1674 long2 __ovld __cnfn convert_long2_rtp(float2);
   1675 long2 __ovld __cnfn convert_long2_sat_rtp(float2);
   1676 long2 __ovld __cnfn convert_long2_rtn(float2);
   1677 long2 __ovld __cnfn convert_long2_sat_rtn(float2);
   1678 long2 __ovld __cnfn convert_long2(float2);
   1679 long2 __ovld __cnfn convert_long2_sat(float2);
   1680 ulong2 __ovld __cnfn convert_ulong2_rte(char2);
   1681 ulong2 __ovld __cnfn convert_ulong2_sat_rte(char2);
   1682 ulong2 __ovld __cnfn convert_ulong2_rtz(char2);
   1683 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(char2);
   1684 ulong2 __ovld __cnfn convert_ulong2_rtp(char2);
   1685 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(char2);
   1686 ulong2 __ovld __cnfn convert_ulong2_rtn(char2);
   1687 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(char2);
   1688 ulong2 __ovld __cnfn convert_ulong2(char2);
   1689 ulong2 __ovld __cnfn convert_ulong2_sat(char2);
   1690 ulong2 __ovld __cnfn convert_ulong2_rte(uchar2);
   1691 ulong2 __ovld __cnfn convert_ulong2_sat_rte(uchar2);
   1692 ulong2 __ovld __cnfn convert_ulong2_rtz(uchar2);
   1693 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uchar2);
   1694 ulong2 __ovld __cnfn convert_ulong2_rtp(uchar2);
   1695 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uchar2);
   1696 ulong2 __ovld __cnfn convert_ulong2_rtn(uchar2);
   1697 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uchar2);
   1698 ulong2 __ovld __cnfn convert_ulong2(uchar2);
   1699 ulong2 __ovld __cnfn convert_ulong2_sat(uchar2);
   1700 ulong2 __ovld __cnfn convert_ulong2_rte(short2);
   1701 ulong2 __ovld __cnfn convert_ulong2_sat_rte(short2);
   1702 ulong2 __ovld __cnfn convert_ulong2_rtz(short2);
   1703 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(short2);
   1704 ulong2 __ovld __cnfn convert_ulong2_rtp(short2);
   1705 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(short2);
   1706 ulong2 __ovld __cnfn convert_ulong2_rtn(short2);
   1707 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(short2);
   1708 ulong2 __ovld __cnfn convert_ulong2(short2);
   1709 ulong2 __ovld __cnfn convert_ulong2_sat(short2);
   1710 ulong2 __ovld __cnfn convert_ulong2_rte(ushort2);
   1711 ulong2 __ovld __cnfn convert_ulong2_sat_rte(ushort2);
   1712 ulong2 __ovld __cnfn convert_ulong2_rtz(ushort2);
   1713 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ushort2);
   1714 ulong2 __ovld __cnfn convert_ulong2_rtp(ushort2);
   1715 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ushort2);
   1716 ulong2 __ovld __cnfn convert_ulong2_rtn(ushort2);
   1717 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ushort2);
   1718 ulong2 __ovld __cnfn convert_ulong2(ushort2);
   1719 ulong2 __ovld __cnfn convert_ulong2_sat(ushort2);
   1720 ulong2 __ovld __cnfn convert_ulong2_rte(int2);
   1721 ulong2 __ovld __cnfn convert_ulong2_sat_rte(int2);
   1722 ulong2 __ovld __cnfn convert_ulong2_rtz(int2);
   1723 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(int2);
   1724 ulong2 __ovld __cnfn convert_ulong2_rtp(int2);
   1725 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(int2);
   1726 ulong2 __ovld __cnfn convert_ulong2_rtn(int2);
   1727 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(int2);
   1728 ulong2 __ovld __cnfn convert_ulong2(int2);
   1729 ulong2 __ovld __cnfn convert_ulong2_sat(int2);
   1730 ulong2 __ovld __cnfn convert_ulong2_rte(uint2);
   1731 ulong2 __ovld __cnfn convert_ulong2_sat_rte(uint2);
   1732 ulong2 __ovld __cnfn convert_ulong2_rtz(uint2);
   1733 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uint2);
   1734 ulong2 __ovld __cnfn convert_ulong2_rtp(uint2);
   1735 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uint2);
   1736 ulong2 __ovld __cnfn convert_ulong2_rtn(uint2);
   1737 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uint2);
   1738 ulong2 __ovld __cnfn convert_ulong2(uint2);
   1739 ulong2 __ovld __cnfn convert_ulong2_sat(uint2);
   1740 ulong2 __ovld __cnfn convert_ulong2_rte(long2);
   1741 ulong2 __ovld __cnfn convert_ulong2_sat_rte(long2);
   1742 ulong2 __ovld __cnfn convert_ulong2_rtz(long2);
   1743 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(long2);
   1744 ulong2 __ovld __cnfn convert_ulong2_rtp(long2);
   1745 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(long2);
   1746 ulong2 __ovld __cnfn convert_ulong2_rtn(long2);
   1747 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(long2);
   1748 ulong2 __ovld __cnfn convert_ulong2(long2);
   1749 ulong2 __ovld __cnfn convert_ulong2_sat(long2);
   1750 ulong2 __ovld __cnfn convert_ulong2_rte(ulong2);
   1751 ulong2 __ovld __cnfn convert_ulong2_sat_rte(ulong2);
   1752 ulong2 __ovld __cnfn convert_ulong2_rtz(ulong2);
   1753 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ulong2);
   1754 ulong2 __ovld __cnfn convert_ulong2_rtp(ulong2);
   1755 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ulong2);
   1756 ulong2 __ovld __cnfn convert_ulong2_rtn(ulong2);
   1757 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ulong2);
   1758 ulong2 __ovld __cnfn convert_ulong2(ulong2);
   1759 ulong2 __ovld __cnfn convert_ulong2_sat(ulong2);
   1760 ulong2 __ovld __cnfn convert_ulong2_rte(float2);
   1761 ulong2 __ovld __cnfn convert_ulong2_sat_rte(float2);
   1762 ulong2 __ovld __cnfn convert_ulong2_rtz(float2);
   1763 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(float2);
   1764 ulong2 __ovld __cnfn convert_ulong2_rtp(float2);
   1765 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(float2);
   1766 ulong2 __ovld __cnfn convert_ulong2_rtn(float2);
   1767 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(float2);
   1768 ulong2 __ovld __cnfn convert_ulong2(float2);
   1769 ulong2 __ovld __cnfn convert_ulong2_sat(float2);
   1770 float2 __ovld __cnfn convert_float2_rte(char2);
   1771 float2 __ovld __cnfn convert_float2_rtz(char2);
   1772 float2 __ovld __cnfn convert_float2_rtp(char2);
   1773 float2 __ovld __cnfn convert_float2_rtn(char2);
   1774 float2 __ovld __cnfn convert_float2(char2);
   1775 float2 __ovld __cnfn convert_float2_rte(uchar2);
   1776 float2 __ovld __cnfn convert_float2_rtz(uchar2);
   1777 float2 __ovld __cnfn convert_float2_rtp(uchar2);
   1778 float2 __ovld __cnfn convert_float2_rtn(uchar2);
   1779 float2 __ovld __cnfn convert_float2(uchar2);
   1780 float2 __ovld __cnfn convert_float2_rte(short2);
   1781 float2 __ovld __cnfn convert_float2_rtz(short2);
   1782 float2 __ovld __cnfn convert_float2_rtp(short2);
   1783 float2 __ovld __cnfn convert_float2_rtn(short2);
   1784 float2 __ovld __cnfn convert_float2(short2);
   1785 float2 __ovld __cnfn convert_float2_rte(ushort2);
   1786 float2 __ovld __cnfn convert_float2_rtz(ushort2);
   1787 float2 __ovld __cnfn convert_float2_rtp(ushort2);
   1788 float2 __ovld __cnfn convert_float2_rtn(ushort2);
   1789 float2 __ovld __cnfn convert_float2(ushort2);
   1790 float2 __ovld __cnfn convert_float2_rte(int2);
   1791 float2 __ovld __cnfn convert_float2_rtz(int2);
   1792 float2 __ovld __cnfn convert_float2_rtp(int2);
   1793 float2 __ovld __cnfn convert_float2_rtn(int2);
   1794 float2 __ovld __cnfn convert_float2(int2);
   1795 float2 __ovld __cnfn convert_float2_rte(uint2);
   1796 float2 __ovld __cnfn convert_float2_rtz(uint2);
   1797 float2 __ovld __cnfn convert_float2_rtp(uint2);
   1798 float2 __ovld __cnfn convert_float2_rtn(uint2);
   1799 float2 __ovld __cnfn convert_float2(uint2);
   1800 float2 __ovld __cnfn convert_float2_rte(long2);
   1801 float2 __ovld __cnfn convert_float2_rtz(long2);
   1802 float2 __ovld __cnfn convert_float2_rtp(long2);
   1803 float2 __ovld __cnfn convert_float2_rtn(long2);
   1804 float2 __ovld __cnfn convert_float2(long2);
   1805 float2 __ovld __cnfn convert_float2_rte(ulong2);
   1806 float2 __ovld __cnfn convert_float2_rtz(ulong2);
   1807 float2 __ovld __cnfn convert_float2_rtp(ulong2);
   1808 float2 __ovld __cnfn convert_float2_rtn(ulong2);
   1809 float2 __ovld __cnfn convert_float2(ulong2);
   1810 float2 __ovld __cnfn convert_float2_rte(float2);
   1811 float2 __ovld __cnfn convert_float2_rtz(float2);
   1812 float2 __ovld __cnfn convert_float2_rtp(float2);
   1813 float2 __ovld __cnfn convert_float2_rtn(float2);
   1814 float2 __ovld __cnfn convert_float2(float2);
   1815 char3 __ovld __cnfn convert_char3_rte(char3);
   1816 char3 __ovld __cnfn convert_char3_sat_rte(char3);
   1817 char3 __ovld __cnfn convert_char3_rtz(char3);
   1818 char3 __ovld __cnfn convert_char3_sat_rtz(char3);
   1819 char3 __ovld __cnfn convert_char3_rtp(char3);
   1820 char3 __ovld __cnfn convert_char3_sat_rtp(char3);
   1821 char3 __ovld __cnfn convert_char3_rtn(char3);
   1822 char3 __ovld __cnfn convert_char3_sat_rtn(char3);
   1823 char3 __ovld __cnfn convert_char3(char3);
   1824 char3 __ovld __cnfn convert_char3_sat(char3);
   1825 char3 __ovld __cnfn convert_char3_rte(uchar3);
   1826 char3 __ovld __cnfn convert_char3_sat_rte(uchar3);
   1827 char3 __ovld __cnfn convert_char3_rtz(uchar3);
   1828 char3 __ovld __cnfn convert_char3_sat_rtz(uchar3);
   1829 char3 __ovld __cnfn convert_char3_rtp(uchar3);
   1830 char3 __ovld __cnfn convert_char3_sat_rtp(uchar3);
   1831 char3 __ovld __cnfn convert_char3_rtn(uchar3);
   1832 char3 __ovld __cnfn convert_char3_sat_rtn(uchar3);
   1833 char3 __ovld __cnfn convert_char3(uchar3);
   1834 char3 __ovld __cnfn convert_char3_sat(uchar3);
   1835 char3 __ovld __cnfn convert_char3_rte(short3);
   1836 char3 __ovld __cnfn convert_char3_sat_rte(short3);
   1837 char3 __ovld __cnfn convert_char3_rtz(short3);
   1838 char3 __ovld __cnfn convert_char3_sat_rtz(short3);
   1839 char3 __ovld __cnfn convert_char3_rtp(short3);
   1840 char3 __ovld __cnfn convert_char3_sat_rtp(short3);
   1841 char3 __ovld __cnfn convert_char3_rtn(short3);
   1842 char3 __ovld __cnfn convert_char3_sat_rtn(short3);
   1843 char3 __ovld __cnfn convert_char3(short3);
   1844 char3 __ovld __cnfn convert_char3_sat(short3);
   1845 char3 __ovld __cnfn convert_char3_rte(ushort3);
   1846 char3 __ovld __cnfn convert_char3_sat_rte(ushort3);
   1847 char3 __ovld __cnfn convert_char3_rtz(ushort3);
   1848 char3 __ovld __cnfn convert_char3_sat_rtz(ushort3);
   1849 char3 __ovld __cnfn convert_char3_rtp(ushort3);
   1850 char3 __ovld __cnfn convert_char3_sat_rtp(ushort3);
   1851 char3 __ovld __cnfn convert_char3_rtn(ushort3);
   1852 char3 __ovld __cnfn convert_char3_sat_rtn(ushort3);
   1853 char3 __ovld __cnfn convert_char3(ushort3);
   1854 char3 __ovld __cnfn convert_char3_sat(ushort3);
   1855 char3 __ovld __cnfn convert_char3_rte(int3);
   1856 char3 __ovld __cnfn convert_char3_sat_rte(int3);
   1857 char3 __ovld __cnfn convert_char3_rtz(int3);
   1858 char3 __ovld __cnfn convert_char3_sat_rtz(int3);
   1859 char3 __ovld __cnfn convert_char3_rtp(int3);
   1860 char3 __ovld __cnfn convert_char3_sat_rtp(int3);
   1861 char3 __ovld __cnfn convert_char3_rtn(int3);
   1862 char3 __ovld __cnfn convert_char3_sat_rtn(int3);
   1863 char3 __ovld __cnfn convert_char3(int3);
   1864 char3 __ovld __cnfn convert_char3_sat(int3);
   1865 char3 __ovld __cnfn convert_char3_rte(uint3);
   1866 char3 __ovld __cnfn convert_char3_sat_rte(uint3);
   1867 char3 __ovld __cnfn convert_char3_rtz(uint3);
   1868 char3 __ovld __cnfn convert_char3_sat_rtz(uint3);
   1869 char3 __ovld __cnfn convert_char3_rtp(uint3);
   1870 char3 __ovld __cnfn convert_char3_sat_rtp(uint3);
   1871 char3 __ovld __cnfn convert_char3_rtn(uint3);
   1872 char3 __ovld __cnfn convert_char3_sat_rtn(uint3);
   1873 char3 __ovld __cnfn convert_char3(uint3);
   1874 char3 __ovld __cnfn convert_char3_sat(uint3);
   1875 char3 __ovld __cnfn convert_char3_rte(long3);
   1876 char3 __ovld __cnfn convert_char3_sat_rte(long3);
   1877 char3 __ovld __cnfn convert_char3_rtz(long3);
   1878 char3 __ovld __cnfn convert_char3_sat_rtz(long3);
   1879 char3 __ovld __cnfn convert_char3_rtp(long3);
   1880 char3 __ovld __cnfn convert_char3_sat_rtp(long3);
   1881 char3 __ovld __cnfn convert_char3_rtn(long3);
   1882 char3 __ovld __cnfn convert_char3_sat_rtn(long3);
   1883 char3 __ovld __cnfn convert_char3(long3);
   1884 char3 __ovld __cnfn convert_char3_sat(long3);
   1885 char3 __ovld __cnfn convert_char3_rte(ulong3);
   1886 char3 __ovld __cnfn convert_char3_sat_rte(ulong3);
   1887 char3 __ovld __cnfn convert_char3_rtz(ulong3);
   1888 char3 __ovld __cnfn convert_char3_sat_rtz(ulong3);
   1889 char3 __ovld __cnfn convert_char3_rtp(ulong3);
   1890 char3 __ovld __cnfn convert_char3_sat_rtp(ulong3);
   1891 char3 __ovld __cnfn convert_char3_rtn(ulong3);
   1892 char3 __ovld __cnfn convert_char3_sat_rtn(ulong3);
   1893 char3 __ovld __cnfn convert_char3(ulong3);
   1894 char3 __ovld __cnfn convert_char3_sat(ulong3);
   1895 char3 __ovld __cnfn convert_char3_rte(float3);
   1896 char3 __ovld __cnfn convert_char3_sat_rte(float3);
   1897 char3 __ovld __cnfn convert_char3_rtz(float3);
   1898 char3 __ovld __cnfn convert_char3_sat_rtz(float3);
   1899 char3 __ovld __cnfn convert_char3_rtp(float3);
   1900 char3 __ovld __cnfn convert_char3_sat_rtp(float3);
   1901 char3 __ovld __cnfn convert_char3_rtn(float3);
   1902 char3 __ovld __cnfn convert_char3_sat_rtn(float3);
   1903 char3 __ovld __cnfn convert_char3(float3);
   1904 char3 __ovld __cnfn convert_char3_sat(float3);
   1905 uchar3 __ovld __cnfn convert_uchar3_rte(char3);
   1906 uchar3 __ovld __cnfn convert_uchar3_sat_rte(char3);
   1907 uchar3 __ovld __cnfn convert_uchar3_rtz(char3);
   1908 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(char3);
   1909 uchar3 __ovld __cnfn convert_uchar3_rtp(char3);
   1910 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(char3);
   1911 uchar3 __ovld __cnfn convert_uchar3_rtn(char3);
   1912 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(char3);
   1913 uchar3 __ovld __cnfn convert_uchar3(char3);
   1914 uchar3 __ovld __cnfn convert_uchar3_sat(char3);
   1915 uchar3 __ovld __cnfn convert_uchar3_rte(uchar3);
   1916 uchar3 __ovld __cnfn convert_uchar3_sat_rte(uchar3);
   1917 uchar3 __ovld __cnfn convert_uchar3_rtz(uchar3);
   1918 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uchar3);
   1919 uchar3 __ovld __cnfn convert_uchar3_rtp(uchar3);
   1920 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uchar3);
   1921 uchar3 __ovld __cnfn convert_uchar3_rtn(uchar3);
   1922 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uchar3);
   1923 uchar3 __ovld __cnfn convert_uchar3(uchar3);
   1924 uchar3 __ovld __cnfn convert_uchar3_sat(uchar3);
   1925 uchar3 __ovld __cnfn convert_uchar3_rte(short3);
   1926 uchar3 __ovld __cnfn convert_uchar3_sat_rte(short3);
   1927 uchar3 __ovld __cnfn convert_uchar3_rtz(short3);
   1928 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(short3);
   1929 uchar3 __ovld __cnfn convert_uchar3_rtp(short3);
   1930 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(short3);
   1931 uchar3 __ovld __cnfn convert_uchar3_rtn(short3);
   1932 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(short3);
   1933 uchar3 __ovld __cnfn convert_uchar3(short3);
   1934 uchar3 __ovld __cnfn convert_uchar3_sat(short3);
   1935 uchar3 __ovld __cnfn convert_uchar3_rte(ushort3);
   1936 uchar3 __ovld __cnfn convert_uchar3_sat_rte(ushort3);
   1937 uchar3 __ovld __cnfn convert_uchar3_rtz(ushort3);
   1938 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ushort3);
   1939 uchar3 __ovld __cnfn convert_uchar3_rtp(ushort3);
   1940 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ushort3);
   1941 uchar3 __ovld __cnfn convert_uchar3_rtn(ushort3);
   1942 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ushort3);
   1943 uchar3 __ovld __cnfn convert_uchar3(ushort3);
   1944 uchar3 __ovld __cnfn convert_uchar3_sat(ushort3);
   1945 uchar3 __ovld __cnfn convert_uchar3_rte(int3);
   1946 uchar3 __ovld __cnfn convert_uchar3_sat_rte(int3);
   1947 uchar3 __ovld __cnfn convert_uchar3_rtz(int3);
   1948 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(int3);
   1949 uchar3 __ovld __cnfn convert_uchar3_rtp(int3);
   1950 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(int3);
   1951 uchar3 __ovld __cnfn convert_uchar3_rtn(int3);
   1952 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(int3);
   1953 uchar3 __ovld __cnfn convert_uchar3(int3);
   1954 uchar3 __ovld __cnfn convert_uchar3_sat(int3);
   1955 uchar3 __ovld __cnfn convert_uchar3_rte(uint3);
   1956 uchar3 __ovld __cnfn convert_uchar3_sat_rte(uint3);
   1957 uchar3 __ovld __cnfn convert_uchar3_rtz(uint3);
   1958 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uint3);
   1959 uchar3 __ovld __cnfn convert_uchar3_rtp(uint3);
   1960 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uint3);
   1961 uchar3 __ovld __cnfn convert_uchar3_rtn(uint3);
   1962 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uint3);
   1963 uchar3 __ovld __cnfn convert_uchar3(uint3);
   1964 uchar3 __ovld __cnfn convert_uchar3_sat(uint3);
   1965 uchar3 __ovld __cnfn convert_uchar3_rte(long3);
   1966 uchar3 __ovld __cnfn convert_uchar3_sat_rte(long3);
   1967 uchar3 __ovld __cnfn convert_uchar3_rtz(long3);
   1968 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(long3);
   1969 uchar3 __ovld __cnfn convert_uchar3_rtp(long3);
   1970 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(long3);
   1971 uchar3 __ovld __cnfn convert_uchar3_rtn(long3);
   1972 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(long3);
   1973 uchar3 __ovld __cnfn convert_uchar3(long3);
   1974 uchar3 __ovld __cnfn convert_uchar3_sat(long3);
   1975 uchar3 __ovld __cnfn convert_uchar3_rte(ulong3);
   1976 uchar3 __ovld __cnfn convert_uchar3_sat_rte(ulong3);
   1977 uchar3 __ovld __cnfn convert_uchar3_rtz(ulong3);
   1978 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ulong3);
   1979 uchar3 __ovld __cnfn convert_uchar3_rtp(ulong3);
   1980 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ulong3);
   1981 uchar3 __ovld __cnfn convert_uchar3_rtn(ulong3);
   1982 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ulong3);
   1983 uchar3 __ovld __cnfn convert_uchar3(ulong3);
   1984 uchar3 __ovld __cnfn convert_uchar3_sat(ulong3);
   1985 uchar3 __ovld __cnfn convert_uchar3_rte(float3);
   1986 uchar3 __ovld __cnfn convert_uchar3_sat_rte(float3);
   1987 uchar3 __ovld __cnfn convert_uchar3_rtz(float3);
   1988 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(float3);
   1989 uchar3 __ovld __cnfn convert_uchar3_rtp(float3);
   1990 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(float3);
   1991 uchar3 __ovld __cnfn convert_uchar3_rtn(float3);
   1992 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(float3);
   1993 uchar3 __ovld __cnfn convert_uchar3(float3);
   1994 uchar3 __ovld __cnfn convert_uchar3_sat(float3);
   1995 short3 __ovld __cnfn convert_short3_rte(char3);
   1996 short3 __ovld __cnfn convert_short3_sat_rte(char3);
   1997 short3 __ovld __cnfn convert_short3_rtz(char3);
   1998 short3 __ovld __cnfn convert_short3_sat_rtz(char3);
   1999 short3 __ovld __cnfn convert_short3_rtp(char3);
   2000 short3 __ovld __cnfn convert_short3_sat_rtp(char3);
   2001 short3 __ovld __cnfn convert_short3_rtn(char3);
   2002 short3 __ovld __cnfn convert_short3_sat_rtn(char3);
   2003 short3 __ovld __cnfn convert_short3(char3);
   2004 short3 __ovld __cnfn convert_short3_sat(char3);
   2005 short3 __ovld __cnfn convert_short3_rte(uchar3);
   2006 short3 __ovld __cnfn convert_short3_sat_rte(uchar3);
   2007 short3 __ovld __cnfn convert_short3_rtz(uchar3);
   2008 short3 __ovld __cnfn convert_short3_sat_rtz(uchar3);
   2009 short3 __ovld __cnfn convert_short3_rtp(uchar3);
   2010 short3 __ovld __cnfn convert_short3_sat_rtp(uchar3);
   2011 short3 __ovld __cnfn convert_short3_rtn(uchar3);
   2012 short3 __ovld __cnfn convert_short3_sat_rtn(uchar3);
   2013 short3 __ovld __cnfn convert_short3(uchar3);
   2014 short3 __ovld __cnfn convert_short3_sat(uchar3);
   2015 short3 __ovld __cnfn convert_short3_rte(short3);
   2016 short3 __ovld __cnfn convert_short3_sat_rte(short3);
   2017 short3 __ovld __cnfn convert_short3_rtz(short3);
   2018 short3 __ovld __cnfn convert_short3_sat_rtz(short3);
   2019 short3 __ovld __cnfn convert_short3_rtp(short3);
   2020 short3 __ovld __cnfn convert_short3_sat_rtp(short3);
   2021 short3 __ovld __cnfn convert_short3_rtn(short3);
   2022 short3 __ovld __cnfn convert_short3_sat_rtn(short3);
   2023 short3 __ovld __cnfn convert_short3(short3);
   2024 short3 __ovld __cnfn convert_short3_sat(short3);
   2025 short3 __ovld __cnfn convert_short3_rte(ushort3);
   2026 short3 __ovld __cnfn convert_short3_sat_rte(ushort3);
   2027 short3 __ovld __cnfn convert_short3_rtz(ushort3);
   2028 short3 __ovld __cnfn convert_short3_sat_rtz(ushort3);
   2029 short3 __ovld __cnfn convert_short3_rtp(ushort3);
   2030 short3 __ovld __cnfn convert_short3_sat_rtp(ushort3);
   2031 short3 __ovld __cnfn convert_short3_rtn(ushort3);
   2032 short3 __ovld __cnfn convert_short3_sat_rtn(ushort3);
   2033 short3 __ovld __cnfn convert_short3(ushort3);
   2034 short3 __ovld __cnfn convert_short3_sat(ushort3);
   2035 short3 __ovld __cnfn convert_short3_rte(int3);
   2036 short3 __ovld __cnfn convert_short3_sat_rte(int3);
   2037 short3 __ovld __cnfn convert_short3_rtz(int3);
   2038 short3 __ovld __cnfn convert_short3_sat_rtz(int3);
   2039 short3 __ovld __cnfn convert_short3_rtp(int3);
   2040 short3 __ovld __cnfn convert_short3_sat_rtp(int3);
   2041 short3 __ovld __cnfn convert_short3_rtn(int3);
   2042 short3 __ovld __cnfn convert_short3_sat_rtn(int3);
   2043 short3 __ovld __cnfn convert_short3(int3);
   2044 short3 __ovld __cnfn convert_short3_sat(int3);
   2045 short3 __ovld __cnfn convert_short3_rte(uint3);
   2046 short3 __ovld __cnfn convert_short3_sat_rte(uint3);
   2047 short3 __ovld __cnfn convert_short3_rtz(uint3);
   2048 short3 __ovld __cnfn convert_short3_sat_rtz(uint3);
   2049 short3 __ovld __cnfn convert_short3_rtp(uint3);
   2050 short3 __ovld __cnfn convert_short3_sat_rtp(uint3);
   2051 short3 __ovld __cnfn convert_short3_rtn(uint3);
   2052 short3 __ovld __cnfn convert_short3_sat_rtn(uint3);
   2053 short3 __ovld __cnfn convert_short3(uint3);
   2054 short3 __ovld __cnfn convert_short3_sat(uint3);
   2055 short3 __ovld __cnfn convert_short3_rte(long3);
   2056 short3 __ovld __cnfn convert_short3_sat_rte(long3);
   2057 short3 __ovld __cnfn convert_short3_rtz(long3);
   2058 short3 __ovld __cnfn convert_short3_sat_rtz(long3);
   2059 short3 __ovld __cnfn convert_short3_rtp(long3);
   2060 short3 __ovld __cnfn convert_short3_sat_rtp(long3);
   2061 short3 __ovld __cnfn convert_short3_rtn(long3);
   2062 short3 __ovld __cnfn convert_short3_sat_rtn(long3);
   2063 short3 __ovld __cnfn convert_short3(long3);
   2064 short3 __ovld __cnfn convert_short3_sat(long3);
   2065 short3 __ovld __cnfn convert_short3_rte(ulong3);
   2066 short3 __ovld __cnfn convert_short3_sat_rte(ulong3);
   2067 short3 __ovld __cnfn convert_short3_rtz(ulong3);
   2068 short3 __ovld __cnfn convert_short3_sat_rtz(ulong3);
   2069 short3 __ovld __cnfn convert_short3_rtp(ulong3);
   2070 short3 __ovld __cnfn convert_short3_sat_rtp(ulong3);
   2071 short3 __ovld __cnfn convert_short3_rtn(ulong3);
   2072 short3 __ovld __cnfn convert_short3_sat_rtn(ulong3);
   2073 short3 __ovld __cnfn convert_short3(ulong3);
   2074 short3 __ovld __cnfn convert_short3_sat(ulong3);
   2075 short3 __ovld __cnfn convert_short3_rte(float3);
   2076 short3 __ovld __cnfn convert_short3_sat_rte(float3);
   2077 short3 __ovld __cnfn convert_short3_rtz(float3);
   2078 short3 __ovld __cnfn convert_short3_sat_rtz(float3);
   2079 short3 __ovld __cnfn convert_short3_rtp(float3);
   2080 short3 __ovld __cnfn convert_short3_sat_rtp(float3);
   2081 short3 __ovld __cnfn convert_short3_rtn(float3);
   2082 short3 __ovld __cnfn convert_short3_sat_rtn(float3);
   2083 short3 __ovld __cnfn convert_short3(float3);
   2084 short3 __ovld __cnfn convert_short3_sat(float3);
   2085 ushort3 __ovld __cnfn convert_ushort3_rte(char3);
   2086 ushort3 __ovld __cnfn convert_ushort3_sat_rte(char3);
   2087 ushort3 __ovld __cnfn convert_ushort3_rtz(char3);
   2088 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(char3);
   2089 ushort3 __ovld __cnfn convert_ushort3_rtp(char3);
   2090 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(char3);
   2091 ushort3 __ovld __cnfn convert_ushort3_rtn(char3);
   2092 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(char3);
   2093 ushort3 __ovld __cnfn convert_ushort3(char3);
   2094 ushort3 __ovld __cnfn convert_ushort3_sat(char3);
   2095 ushort3 __ovld __cnfn convert_ushort3_rte(uchar3);
   2096 ushort3 __ovld __cnfn convert_ushort3_sat_rte(uchar3);
   2097 ushort3 __ovld __cnfn convert_ushort3_rtz(uchar3);
   2098 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uchar3);
   2099 ushort3 __ovld __cnfn convert_ushort3_rtp(uchar3);
   2100 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uchar3);
   2101 ushort3 __ovld __cnfn convert_ushort3_rtn(uchar3);
   2102 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uchar3);
   2103 ushort3 __ovld __cnfn convert_ushort3(uchar3);
   2104 ushort3 __ovld __cnfn convert_ushort3_sat(uchar3);
   2105 ushort3 __ovld __cnfn convert_ushort3_rte(short3);
   2106 ushort3 __ovld __cnfn convert_ushort3_sat_rte(short3);
   2107 ushort3 __ovld __cnfn convert_ushort3_rtz(short3);
   2108 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(short3);
   2109 ushort3 __ovld __cnfn convert_ushort3_rtp(short3);
   2110 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(short3);
   2111 ushort3 __ovld __cnfn convert_ushort3_rtn(short3);
   2112 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(short3);
   2113 ushort3 __ovld __cnfn convert_ushort3(short3);
   2114 ushort3 __ovld __cnfn convert_ushort3_sat(short3);
   2115 ushort3 __ovld __cnfn convert_ushort3_rte(ushort3);
   2116 ushort3 __ovld __cnfn convert_ushort3_sat_rte(ushort3);
   2117 ushort3 __ovld __cnfn convert_ushort3_rtz(ushort3);
   2118 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ushort3);
   2119 ushort3 __ovld __cnfn convert_ushort3_rtp(ushort3);
   2120 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ushort3);
   2121 ushort3 __ovld __cnfn convert_ushort3_rtn(ushort3);
   2122 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ushort3);
   2123 ushort3 __ovld __cnfn convert_ushort3(ushort3);
   2124 ushort3 __ovld __cnfn convert_ushort3_sat(ushort3);
   2125 ushort3 __ovld __cnfn convert_ushort3_rte(int3);
   2126 ushort3 __ovld __cnfn convert_ushort3_sat_rte(int3);
   2127 ushort3 __ovld __cnfn convert_ushort3_rtz(int3);
   2128 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(int3);
   2129 ushort3 __ovld __cnfn convert_ushort3_rtp(int3);
   2130 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(int3);
   2131 ushort3 __ovld __cnfn convert_ushort3_rtn(int3);
   2132 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(int3);
   2133 ushort3 __ovld __cnfn convert_ushort3(int3);
   2134 ushort3 __ovld __cnfn convert_ushort3_sat(int3);
   2135 ushort3 __ovld __cnfn convert_ushort3_rte(uint3);
   2136 ushort3 __ovld __cnfn convert_ushort3_sat_rte(uint3);
   2137 ushort3 __ovld __cnfn convert_ushort3_rtz(uint3);
   2138 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uint3);
   2139 ushort3 __ovld __cnfn convert_ushort3_rtp(uint3);
   2140 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uint3);
   2141 ushort3 __ovld __cnfn convert_ushort3_rtn(uint3);
   2142 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uint3);
   2143 ushort3 __ovld __cnfn convert_ushort3(uint3);
   2144 ushort3 __ovld __cnfn convert_ushort3_sat(uint3);
   2145 ushort3 __ovld __cnfn convert_ushort3_rte(long3);
   2146 ushort3 __ovld __cnfn convert_ushort3_sat_rte(long3);
   2147 ushort3 __ovld __cnfn convert_ushort3_rtz(long3);
   2148 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(long3);
   2149 ushort3 __ovld __cnfn convert_ushort3_rtp(long3);
   2150 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(long3);
   2151 ushort3 __ovld __cnfn convert_ushort3_rtn(long3);
   2152 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(long3);
   2153 ushort3 __ovld __cnfn convert_ushort3(long3);
   2154 ushort3 __ovld __cnfn convert_ushort3_sat(long3);
   2155 ushort3 __ovld __cnfn convert_ushort3_rte(ulong3);
   2156 ushort3 __ovld __cnfn convert_ushort3_sat_rte(ulong3);
   2157 ushort3 __ovld __cnfn convert_ushort3_rtz(ulong3);
   2158 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ulong3);
   2159 ushort3 __ovld __cnfn convert_ushort3_rtp(ulong3);
   2160 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ulong3);
   2161 ushort3 __ovld __cnfn convert_ushort3_rtn(ulong3);
   2162 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ulong3);
   2163 ushort3 __ovld __cnfn convert_ushort3(ulong3);
   2164 ushort3 __ovld __cnfn convert_ushort3_sat(ulong3);
   2165 ushort3 __ovld __cnfn convert_ushort3_rte(float3);
   2166 ushort3 __ovld __cnfn convert_ushort3_sat_rte(float3);
   2167 ushort3 __ovld __cnfn convert_ushort3_rtz(float3);
   2168 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(float3);
   2169 ushort3 __ovld __cnfn convert_ushort3_rtp(float3);
   2170 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(float3);
   2171 ushort3 __ovld __cnfn convert_ushort3_rtn(float3);
   2172 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(float3);
   2173 ushort3 __ovld __cnfn convert_ushort3(float3);
   2174 ushort3 __ovld __cnfn convert_ushort3_sat(float3);
   2175 int3 __ovld __cnfn convert_int3_rte(char3);
   2176 int3 __ovld __cnfn convert_int3_sat_rte(char3);
   2177 int3 __ovld __cnfn convert_int3_rtz(char3);
   2178 int3 __ovld __cnfn convert_int3_sat_rtz(char3);
   2179 int3 __ovld __cnfn convert_int3_rtp(char3);
   2180 int3 __ovld __cnfn convert_int3_sat_rtp(char3);
   2181 int3 __ovld __cnfn convert_int3_rtn(char3);
   2182 int3 __ovld __cnfn convert_int3_sat_rtn(char3);
   2183 int3 __ovld __cnfn convert_int3(char3);
   2184 int3 __ovld __cnfn convert_int3_sat(char3);
   2185 int3 __ovld __cnfn convert_int3_rte(uchar3);
   2186 int3 __ovld __cnfn convert_int3_sat_rte(uchar3);
   2187 int3 __ovld __cnfn convert_int3_rtz(uchar3);
   2188 int3 __ovld __cnfn convert_int3_sat_rtz(uchar3);
   2189 int3 __ovld __cnfn convert_int3_rtp(uchar3);
   2190 int3 __ovld __cnfn convert_int3_sat_rtp(uchar3);
   2191 int3 __ovld __cnfn convert_int3_rtn(uchar3);
   2192 int3 __ovld __cnfn convert_int3_sat_rtn(uchar3);
   2193 int3 __ovld __cnfn convert_int3(uchar3);
   2194 int3 __ovld __cnfn convert_int3_sat(uchar3);
   2195 int3 __ovld __cnfn convert_int3_rte(short3);
   2196 int3 __ovld __cnfn convert_int3_sat_rte(short3);
   2197 int3 __ovld __cnfn convert_int3_rtz(short3);
   2198 int3 __ovld __cnfn convert_int3_sat_rtz(short3);
   2199 int3 __ovld __cnfn convert_int3_rtp(short3);
   2200 int3 __ovld __cnfn convert_int3_sat_rtp(short3);
   2201 int3 __ovld __cnfn convert_int3_rtn(short3);
   2202 int3 __ovld __cnfn convert_int3_sat_rtn(short3);
   2203 int3 __ovld __cnfn convert_int3(short3);
   2204 int3 __ovld __cnfn convert_int3_sat(short3);
   2205 int3 __ovld __cnfn convert_int3_rte(ushort3);
   2206 int3 __ovld __cnfn convert_int3_sat_rte(ushort3);
   2207 int3 __ovld __cnfn convert_int3_rtz(ushort3);
   2208 int3 __ovld __cnfn convert_int3_sat_rtz(ushort3);
   2209 int3 __ovld __cnfn convert_int3_rtp(ushort3);
   2210 int3 __ovld __cnfn convert_int3_sat_rtp(ushort3);
   2211 int3 __ovld __cnfn convert_int3_rtn(ushort3);
   2212 int3 __ovld __cnfn convert_int3_sat_rtn(ushort3);
   2213 int3 __ovld __cnfn convert_int3(ushort3);
   2214 int3 __ovld __cnfn convert_int3_sat(ushort3);
   2215 int3 __ovld __cnfn convert_int3_rte(int3);
   2216 int3 __ovld __cnfn convert_int3_sat_rte(int3);
   2217 int3 __ovld __cnfn convert_int3_rtz(int3);
   2218 int3 __ovld __cnfn convert_int3_sat_rtz(int3);
   2219 int3 __ovld __cnfn convert_int3_rtp(int3);
   2220 int3 __ovld __cnfn convert_int3_sat_rtp(int3);
   2221 int3 __ovld __cnfn convert_int3_rtn(int3);
   2222 int3 __ovld __cnfn convert_int3_sat_rtn(int3);
   2223 int3 __ovld __cnfn convert_int3(int3);
   2224 int3 __ovld __cnfn convert_int3_sat(int3);
   2225 int3 __ovld __cnfn convert_int3_rte(uint3);
   2226 int3 __ovld __cnfn convert_int3_sat_rte(uint3);
   2227 int3 __ovld __cnfn convert_int3_rtz(uint3);
   2228 int3 __ovld __cnfn convert_int3_sat_rtz(uint3);
   2229 int3 __ovld __cnfn convert_int3_rtp(uint3);
   2230 int3 __ovld __cnfn convert_int3_sat_rtp(uint3);
   2231 int3 __ovld __cnfn convert_int3_rtn(uint3);
   2232 int3 __ovld __cnfn convert_int3_sat_rtn(uint3);
   2233 int3 __ovld __cnfn convert_int3(uint3);
   2234 int3 __ovld __cnfn convert_int3_sat(uint3);
   2235 int3 __ovld __cnfn convert_int3_rte(long3);
   2236 int3 __ovld __cnfn convert_int3_sat_rte(long3);
   2237 int3 __ovld __cnfn convert_int3_rtz(long3);
   2238 int3 __ovld __cnfn convert_int3_sat_rtz(long3);
   2239 int3 __ovld __cnfn convert_int3_rtp(long3);
   2240 int3 __ovld __cnfn convert_int3_sat_rtp(long3);
   2241 int3 __ovld __cnfn convert_int3_rtn(long3);
   2242 int3 __ovld __cnfn convert_int3_sat_rtn(long3);
   2243 int3 __ovld __cnfn convert_int3(long3);
   2244 int3 __ovld __cnfn convert_int3_sat(long3);
   2245 int3 __ovld __cnfn convert_int3_rte(ulong3);
   2246 int3 __ovld __cnfn convert_int3_sat_rte(ulong3);
   2247 int3 __ovld __cnfn convert_int3_rtz(ulong3);
   2248 int3 __ovld __cnfn convert_int3_sat_rtz(ulong3);
   2249 int3 __ovld __cnfn convert_int3_rtp(ulong3);
   2250 int3 __ovld __cnfn convert_int3_sat_rtp(ulong3);
   2251 int3 __ovld __cnfn convert_int3_rtn(ulong3);
   2252 int3 __ovld __cnfn convert_int3_sat_rtn(ulong3);
   2253 int3 __ovld __cnfn convert_int3(ulong3);
   2254 int3 __ovld __cnfn convert_int3_sat(ulong3);
   2255 int3 __ovld __cnfn convert_int3_rte(float3);
   2256 int3 __ovld __cnfn convert_int3_sat_rte(float3);
   2257 int3 __ovld __cnfn convert_int3_rtz(float3);
   2258 int3 __ovld __cnfn convert_int3_sat_rtz(float3);
   2259 int3 __ovld __cnfn convert_int3_rtp(float3);
   2260 int3 __ovld __cnfn convert_int3_sat_rtp(float3);
   2261 int3 __ovld __cnfn convert_int3_rtn(float3);
   2262 int3 __ovld __cnfn convert_int3_sat_rtn(float3);
   2263 int3 __ovld __cnfn convert_int3(float3);
   2264 int3 __ovld __cnfn convert_int3_sat(float3);
   2265 uint3 __ovld __cnfn convert_uint3_rte(char3);
   2266 uint3 __ovld __cnfn convert_uint3_sat_rte(char3);
   2267 uint3 __ovld __cnfn convert_uint3_rtz(char3);
   2268 uint3 __ovld __cnfn convert_uint3_sat_rtz(char3);
   2269 uint3 __ovld __cnfn convert_uint3_rtp(char3);
   2270 uint3 __ovld __cnfn convert_uint3_sat_rtp(char3);
   2271 uint3 __ovld __cnfn convert_uint3_rtn(char3);
   2272 uint3 __ovld __cnfn convert_uint3_sat_rtn(char3);
   2273 uint3 __ovld __cnfn convert_uint3(char3);
   2274 uint3 __ovld __cnfn convert_uint3_sat(char3);
   2275 uint3 __ovld __cnfn convert_uint3_rte(uchar3);
   2276 uint3 __ovld __cnfn convert_uint3_sat_rte(uchar3);
   2277 uint3 __ovld __cnfn convert_uint3_rtz(uchar3);
   2278 uint3 __ovld __cnfn convert_uint3_sat_rtz(uchar3);
   2279 uint3 __ovld __cnfn convert_uint3_rtp(uchar3);
   2280 uint3 __ovld __cnfn convert_uint3_sat_rtp(uchar3);
   2281 uint3 __ovld __cnfn convert_uint3_rtn(uchar3);
   2282 uint3 __ovld __cnfn convert_uint3_sat_rtn(uchar3);
   2283 uint3 __ovld __cnfn convert_uint3(uchar3);
   2284 uint3 __ovld __cnfn convert_uint3_sat(uchar3);
   2285 uint3 __ovld __cnfn convert_uint3_rte(short3);
   2286 uint3 __ovld __cnfn convert_uint3_sat_rte(short3);
   2287 uint3 __ovld __cnfn convert_uint3_rtz(short3);
   2288 uint3 __ovld __cnfn convert_uint3_sat_rtz(short3);
   2289 uint3 __ovld __cnfn convert_uint3_rtp(short3);
   2290 uint3 __ovld __cnfn convert_uint3_sat_rtp(short3);
   2291 uint3 __ovld __cnfn convert_uint3_rtn(short3);
   2292 uint3 __ovld __cnfn convert_uint3_sat_rtn(short3);
   2293 uint3 __ovld __cnfn convert_uint3(short3);
   2294 uint3 __ovld __cnfn convert_uint3_sat(short3);
   2295 uint3 __ovld __cnfn convert_uint3_rte(ushort3);
   2296 uint3 __ovld __cnfn convert_uint3_sat_rte(ushort3);
   2297 uint3 __ovld __cnfn convert_uint3_rtz(ushort3);
   2298 uint3 __ovld __cnfn convert_uint3_sat_rtz(ushort3);
   2299 uint3 __ovld __cnfn convert_uint3_rtp(ushort3);
   2300 uint3 __ovld __cnfn convert_uint3_sat_rtp(ushort3);
   2301 uint3 __ovld __cnfn convert_uint3_rtn(ushort3);
   2302 uint3 __ovld __cnfn convert_uint3_sat_rtn(ushort3);
   2303 uint3 __ovld __cnfn convert_uint3(ushort3);
   2304 uint3 __ovld __cnfn convert_uint3_sat(ushort3);
   2305 uint3 __ovld __cnfn convert_uint3_rte(int3);
   2306 uint3 __ovld __cnfn convert_uint3_sat_rte(int3);
   2307 uint3 __ovld __cnfn convert_uint3_rtz(int3);
   2308 uint3 __ovld __cnfn convert_uint3_sat_rtz(int3);
   2309 uint3 __ovld __cnfn convert_uint3_rtp(int3);
   2310 uint3 __ovld __cnfn convert_uint3_sat_rtp(int3);
   2311 uint3 __ovld __cnfn convert_uint3_rtn(int3);
   2312 uint3 __ovld __cnfn convert_uint3_sat_rtn(int3);
   2313 uint3 __ovld __cnfn convert_uint3(int3);
   2314 uint3 __ovld __cnfn convert_uint3_sat(int3);
   2315 uint3 __ovld __cnfn convert_uint3_rte(uint3);
   2316 uint3 __ovld __cnfn convert_uint3_sat_rte(uint3);
   2317 uint3 __ovld __cnfn convert_uint3_rtz(uint3);
   2318 uint3 __ovld __cnfn convert_uint3_sat_rtz(uint3);
   2319 uint3 __ovld __cnfn convert_uint3_rtp(uint3);
   2320 uint3 __ovld __cnfn convert_uint3_sat_rtp(uint3);
   2321 uint3 __ovld __cnfn convert_uint3_rtn(uint3);
   2322 uint3 __ovld __cnfn convert_uint3_sat_rtn(uint3);
   2323 uint3 __ovld __cnfn convert_uint3(uint3);
   2324 uint3 __ovld __cnfn convert_uint3_sat(uint3);
   2325 uint3 __ovld __cnfn convert_uint3_rte(long3);
   2326 uint3 __ovld __cnfn convert_uint3_sat_rte(long3);
   2327 uint3 __ovld __cnfn convert_uint3_rtz(long3);
   2328 uint3 __ovld __cnfn convert_uint3_sat_rtz(long3);
   2329 uint3 __ovld __cnfn convert_uint3_rtp(long3);
   2330 uint3 __ovld __cnfn convert_uint3_sat_rtp(long3);
   2331 uint3 __ovld __cnfn convert_uint3_rtn(long3);
   2332 uint3 __ovld __cnfn convert_uint3_sat_rtn(long3);
   2333 uint3 __ovld __cnfn convert_uint3(long3);
   2334 uint3 __ovld __cnfn convert_uint3_sat(long3);
   2335 uint3 __ovld __cnfn convert_uint3_rte(ulong3);
   2336 uint3 __ovld __cnfn convert_uint3_sat_rte(ulong3);
   2337 uint3 __ovld __cnfn convert_uint3_rtz(ulong3);
   2338 uint3 __ovld __cnfn convert_uint3_sat_rtz(ulong3);
   2339 uint3 __ovld __cnfn convert_uint3_rtp(ulong3);
   2340 uint3 __ovld __cnfn convert_uint3_sat_rtp(ulong3);
   2341 uint3 __ovld __cnfn convert_uint3_rtn(ulong3);
   2342 uint3 __ovld __cnfn convert_uint3_sat_rtn(ulong3);
   2343 uint3 __ovld __cnfn convert_uint3(ulong3);
   2344 uint3 __ovld __cnfn convert_uint3_sat(ulong3);
   2345 uint3 __ovld __cnfn convert_uint3_rte(float3);
   2346 uint3 __ovld __cnfn convert_uint3_sat_rte(float3);
   2347 uint3 __ovld __cnfn convert_uint3_rtz(float3);
   2348 uint3 __ovld __cnfn convert_uint3_sat_rtz(float3);
   2349 uint3 __ovld __cnfn convert_uint3_rtp(float3);
   2350 uint3 __ovld __cnfn convert_uint3_sat_rtp(float3);
   2351 uint3 __ovld __cnfn convert_uint3_rtn(float3);
   2352 uint3 __ovld __cnfn convert_uint3_sat_rtn(float3);
   2353 uint3 __ovld __cnfn convert_uint3(float3);
   2354 uint3 __ovld __cnfn convert_uint3_sat(float3);
   2355 long3 __ovld __cnfn convert_long3_rte(char3);
   2356 long3 __ovld __cnfn convert_long3_sat_rte(char3);
   2357 long3 __ovld __cnfn convert_long3_rtz(char3);
   2358 long3 __ovld __cnfn convert_long3_sat_rtz(char3);
   2359 long3 __ovld __cnfn convert_long3_rtp(char3);
   2360 long3 __ovld __cnfn convert_long3_sat_rtp(char3);
   2361 long3 __ovld __cnfn convert_long3_rtn(char3);
   2362 long3 __ovld __cnfn convert_long3_sat_rtn(char3);
   2363 long3 __ovld __cnfn convert_long3(char3);
   2364 long3 __ovld __cnfn convert_long3_sat(char3);
   2365 long3 __ovld __cnfn convert_long3_rte(uchar3);
   2366 long3 __ovld __cnfn convert_long3_sat_rte(uchar3);
   2367 long3 __ovld __cnfn convert_long3_rtz(uchar3);
   2368 long3 __ovld __cnfn convert_long3_sat_rtz(uchar3);
   2369 long3 __ovld __cnfn convert_long3_rtp(uchar3);
   2370 long3 __ovld __cnfn convert_long3_sat_rtp(uchar3);
   2371 long3 __ovld __cnfn convert_long3_rtn(uchar3);
   2372 long3 __ovld __cnfn convert_long3_sat_rtn(uchar3);
   2373 long3 __ovld __cnfn convert_long3(uchar3);
   2374 long3 __ovld __cnfn convert_long3_sat(uchar3);
   2375 long3 __ovld __cnfn convert_long3_rte(short3);
   2376 long3 __ovld __cnfn convert_long3_sat_rte(short3);
   2377 long3 __ovld __cnfn convert_long3_rtz(short3);
   2378 long3 __ovld __cnfn convert_long3_sat_rtz(short3);
   2379 long3 __ovld __cnfn convert_long3_rtp(short3);
   2380 long3 __ovld __cnfn convert_long3_sat_rtp(short3);
   2381 long3 __ovld __cnfn convert_long3_rtn(short3);
   2382 long3 __ovld __cnfn convert_long3_sat_rtn(short3);
   2383 long3 __ovld __cnfn convert_long3(short3);
   2384 long3 __ovld __cnfn convert_long3_sat(short3);
   2385 long3 __ovld __cnfn convert_long3_rte(ushort3);
   2386 long3 __ovld __cnfn convert_long3_sat_rte(ushort3);
   2387 long3 __ovld __cnfn convert_long3_rtz(ushort3);
   2388 long3 __ovld __cnfn convert_long3_sat_rtz(ushort3);
   2389 long3 __ovld __cnfn convert_long3_rtp(ushort3);
   2390 long3 __ovld __cnfn convert_long3_sat_rtp(ushort3);
   2391 long3 __ovld __cnfn convert_long3_rtn(ushort3);
   2392 long3 __ovld __cnfn convert_long3_sat_rtn(ushort3);
   2393 long3 __ovld __cnfn convert_long3(ushort3);
   2394 long3 __ovld __cnfn convert_long3_sat(ushort3);
   2395 long3 __ovld __cnfn convert_long3_rte(int3);
   2396 long3 __ovld __cnfn convert_long3_sat_rte(int3);
   2397 long3 __ovld __cnfn convert_long3_rtz(int3);
   2398 long3 __ovld __cnfn convert_long3_sat_rtz(int3);
   2399 long3 __ovld __cnfn convert_long3_rtp(int3);
   2400 long3 __ovld __cnfn convert_long3_sat_rtp(int3);
   2401 long3 __ovld __cnfn convert_long3_rtn(int3);
   2402 long3 __ovld __cnfn convert_long3_sat_rtn(int3);
   2403 long3 __ovld __cnfn convert_long3(int3);
   2404 long3 __ovld __cnfn convert_long3_sat(int3);
   2405 long3 __ovld __cnfn convert_long3_rte(uint3);
   2406 long3 __ovld __cnfn convert_long3_sat_rte(uint3);
   2407 long3 __ovld __cnfn convert_long3_rtz(uint3);
   2408 long3 __ovld __cnfn convert_long3_sat_rtz(uint3);
   2409 long3 __ovld __cnfn convert_long3_rtp(uint3);
   2410 long3 __ovld __cnfn convert_long3_sat_rtp(uint3);
   2411 long3 __ovld __cnfn convert_long3_rtn(uint3);
   2412 long3 __ovld __cnfn convert_long3_sat_rtn(uint3);
   2413 long3 __ovld __cnfn convert_long3(uint3);
   2414 long3 __ovld __cnfn convert_long3_sat(uint3);
   2415 long3 __ovld __cnfn convert_long3_rte(long3);
   2416 long3 __ovld __cnfn convert_long3_sat_rte(long3);
   2417 long3 __ovld __cnfn convert_long3_rtz(long3);
   2418 long3 __ovld __cnfn convert_long3_sat_rtz(long3);
   2419 long3 __ovld __cnfn convert_long3_rtp(long3);
   2420 long3 __ovld __cnfn convert_long3_sat_rtp(long3);
   2421 long3 __ovld __cnfn convert_long3_rtn(long3);
   2422 long3 __ovld __cnfn convert_long3_sat_rtn(long3);
   2423 long3 __ovld __cnfn convert_long3(long3);
   2424 long3 __ovld __cnfn convert_long3_sat(long3);
   2425 long3 __ovld __cnfn convert_long3_rte(ulong3);
   2426 long3 __ovld __cnfn convert_long3_sat_rte(ulong3);
   2427 long3 __ovld __cnfn convert_long3_rtz(ulong3);
   2428 long3 __ovld __cnfn convert_long3_sat_rtz(ulong3);
   2429 long3 __ovld __cnfn convert_long3_rtp(ulong3);
   2430 long3 __ovld __cnfn convert_long3_sat_rtp(ulong3);
   2431 long3 __ovld __cnfn convert_long3_rtn(ulong3);
   2432 long3 __ovld __cnfn convert_long3_sat_rtn(ulong3);
   2433 long3 __ovld __cnfn convert_long3(ulong3);
   2434 long3 __ovld __cnfn convert_long3_sat(ulong3);
   2435 long3 __ovld __cnfn convert_long3_rte(float3);
   2436 long3 __ovld __cnfn convert_long3_sat_rte(float3);
   2437 long3 __ovld __cnfn convert_long3_rtz(float3);
   2438 long3 __ovld __cnfn convert_long3_sat_rtz(float3);
   2439 long3 __ovld __cnfn convert_long3_rtp(float3);
   2440 long3 __ovld __cnfn convert_long3_sat_rtp(float3);
   2441 long3 __ovld __cnfn convert_long3_rtn(float3);
   2442 long3 __ovld __cnfn convert_long3_sat_rtn(float3);
   2443 long3 __ovld __cnfn convert_long3(float3);
   2444 long3 __ovld __cnfn convert_long3_sat(float3);
   2445 ulong3 __ovld __cnfn convert_ulong3_rte(char3);
   2446 ulong3 __ovld __cnfn convert_ulong3_sat_rte(char3);
   2447 ulong3 __ovld __cnfn convert_ulong3_rtz(char3);
   2448 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(char3);
   2449 ulong3 __ovld __cnfn convert_ulong3_rtp(char3);
   2450 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(char3);
   2451 ulong3 __ovld __cnfn convert_ulong3_rtn(char3);
   2452 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(char3);
   2453 ulong3 __ovld __cnfn convert_ulong3(char3);
   2454 ulong3 __ovld __cnfn convert_ulong3_sat(char3);
   2455 ulong3 __ovld __cnfn convert_ulong3_rte(uchar3);
   2456 ulong3 __ovld __cnfn convert_ulong3_sat_rte(uchar3);
   2457 ulong3 __ovld __cnfn convert_ulong3_rtz(uchar3);
   2458 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uchar3);
   2459 ulong3 __ovld __cnfn convert_ulong3_rtp(uchar3);
   2460 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uchar3);
   2461 ulong3 __ovld __cnfn convert_ulong3_rtn(uchar3);
   2462 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uchar3);
   2463 ulong3 __ovld __cnfn convert_ulong3(uchar3);
   2464 ulong3 __ovld __cnfn convert_ulong3_sat(uchar3);
   2465 ulong3 __ovld __cnfn convert_ulong3_rte(short3);
   2466 ulong3 __ovld __cnfn convert_ulong3_sat_rte(short3);
   2467 ulong3 __ovld __cnfn convert_ulong3_rtz(short3);
   2468 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(short3);
   2469 ulong3 __ovld __cnfn convert_ulong3_rtp(short3);
   2470 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(short3);
   2471 ulong3 __ovld __cnfn convert_ulong3_rtn(short3);
   2472 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(short3);
   2473 ulong3 __ovld __cnfn convert_ulong3(short3);
   2474 ulong3 __ovld __cnfn convert_ulong3_sat(short3);
   2475 ulong3 __ovld __cnfn convert_ulong3_rte(ushort3);
   2476 ulong3 __ovld __cnfn convert_ulong3_sat_rte(ushort3);
   2477 ulong3 __ovld __cnfn convert_ulong3_rtz(ushort3);
   2478 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ushort3);
   2479 ulong3 __ovld __cnfn convert_ulong3_rtp(ushort3);
   2480 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ushort3);
   2481 ulong3 __ovld __cnfn convert_ulong3_rtn(ushort3);
   2482 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ushort3);
   2483 ulong3 __ovld __cnfn convert_ulong3(ushort3);
   2484 ulong3 __ovld __cnfn convert_ulong3_sat(ushort3);
   2485 ulong3 __ovld __cnfn convert_ulong3_rte(int3);
   2486 ulong3 __ovld __cnfn convert_ulong3_sat_rte(int3);
   2487 ulong3 __ovld __cnfn convert_ulong3_rtz(int3);
   2488 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(int3);
   2489 ulong3 __ovld __cnfn convert_ulong3_rtp(int3);
   2490 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(int3);
   2491 ulong3 __ovld __cnfn convert_ulong3_rtn(int3);
   2492 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(int3);
   2493 ulong3 __ovld __cnfn convert_ulong3(int3);
   2494 ulong3 __ovld __cnfn convert_ulong3_sat(int3);
   2495 ulong3 __ovld __cnfn convert_ulong3_rte(uint3);
   2496 ulong3 __ovld __cnfn convert_ulong3_sat_rte(uint3);
   2497 ulong3 __ovld __cnfn convert_ulong3_rtz(uint3);
   2498 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uint3);
   2499 ulong3 __ovld __cnfn convert_ulong3_rtp(uint3);
   2500 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uint3);
   2501 ulong3 __ovld __cnfn convert_ulong3_rtn(uint3);
   2502 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uint3);
   2503 ulong3 __ovld __cnfn convert_ulong3(uint3);
   2504 ulong3 __ovld __cnfn convert_ulong3_sat(uint3);
   2505 ulong3 __ovld __cnfn convert_ulong3_rte(long3);
   2506 ulong3 __ovld __cnfn convert_ulong3_sat_rte(long3);
   2507 ulong3 __ovld __cnfn convert_ulong3_rtz(long3);
   2508 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(long3);
   2509 ulong3 __ovld __cnfn convert_ulong3_rtp(long3);
   2510 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(long3);
   2511 ulong3 __ovld __cnfn convert_ulong3_rtn(long3);
   2512 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(long3);
   2513 ulong3 __ovld __cnfn convert_ulong3(long3);
   2514 ulong3 __ovld __cnfn convert_ulong3_sat(long3);
   2515 ulong3 __ovld __cnfn convert_ulong3_rte(ulong3);
   2516 ulong3 __ovld __cnfn convert_ulong3_sat_rte(ulong3);
   2517 ulong3 __ovld __cnfn convert_ulong3_rtz(ulong3);
   2518 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ulong3);
   2519 ulong3 __ovld __cnfn convert_ulong3_rtp(ulong3);
   2520 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ulong3);
   2521 ulong3 __ovld __cnfn convert_ulong3_rtn(ulong3);
   2522 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ulong3);
   2523 ulong3 __ovld __cnfn convert_ulong3(ulong3);
   2524 ulong3 __ovld __cnfn convert_ulong3_sat(ulong3);
   2525 ulong3 __ovld __cnfn convert_ulong3_rte(float3);
   2526 ulong3 __ovld __cnfn convert_ulong3_sat_rte(float3);
   2527 ulong3 __ovld __cnfn convert_ulong3_rtz(float3);
   2528 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(float3);
   2529 ulong3 __ovld __cnfn convert_ulong3_rtp(float3);
   2530 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(float3);
   2531 ulong3 __ovld __cnfn convert_ulong3_rtn(float3);
   2532 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(float3);
   2533 ulong3 __ovld __cnfn convert_ulong3(float3);
   2534 ulong3 __ovld __cnfn convert_ulong3_sat(float3);
   2535 float3 __ovld __cnfn convert_float3_rte(char3);
   2536 float3 __ovld __cnfn convert_float3_rtz(char3);
   2537 float3 __ovld __cnfn convert_float3_rtp(char3);
   2538 float3 __ovld __cnfn convert_float3_rtn(char3);
   2539 float3 __ovld __cnfn convert_float3(char3);
   2540 float3 __ovld __cnfn convert_float3_rte(uchar3);
   2541 float3 __ovld __cnfn convert_float3_rtz(uchar3);
   2542 float3 __ovld __cnfn convert_float3_rtp(uchar3);
   2543 float3 __ovld __cnfn convert_float3_rtn(uchar3);
   2544 float3 __ovld __cnfn convert_float3(uchar3);
   2545 float3 __ovld __cnfn convert_float3_rte(short3);
   2546 float3 __ovld __cnfn convert_float3_rtz(short3);
   2547 float3 __ovld __cnfn convert_float3_rtp(short3);
   2548 float3 __ovld __cnfn convert_float3_rtn(short3);
   2549 float3 __ovld __cnfn convert_float3(short3);
   2550 float3 __ovld __cnfn convert_float3_rte(ushort3);
   2551 float3 __ovld __cnfn convert_float3_rtz(ushort3);
   2552 float3 __ovld __cnfn convert_float3_rtp(ushort3);
   2553 float3 __ovld __cnfn convert_float3_rtn(ushort3);
   2554 float3 __ovld __cnfn convert_float3(ushort3);
   2555 float3 __ovld __cnfn convert_float3_rte(int3);
   2556 float3 __ovld __cnfn convert_float3_rtz(int3);
   2557 float3 __ovld __cnfn convert_float3_rtp(int3);
   2558 float3 __ovld __cnfn convert_float3_rtn(int3);
   2559 float3 __ovld __cnfn convert_float3(int3);
   2560 float3 __ovld __cnfn convert_float3_rte(uint3);
   2561 float3 __ovld __cnfn convert_float3_rtz(uint3);
   2562 float3 __ovld __cnfn convert_float3_rtp(uint3);
   2563 float3 __ovld __cnfn convert_float3_rtn(uint3);
   2564 float3 __ovld __cnfn convert_float3(uint3);
   2565 float3 __ovld __cnfn convert_float3_rte(long3);
   2566 float3 __ovld __cnfn convert_float3_rtz(long3);
   2567 float3 __ovld __cnfn convert_float3_rtp(long3);
   2568 float3 __ovld __cnfn convert_float3_rtn(long3);
   2569 float3 __ovld __cnfn convert_float3(long3);
   2570 float3 __ovld __cnfn convert_float3_rte(ulong3);
   2571 float3 __ovld __cnfn convert_float3_rtz(ulong3);
   2572 float3 __ovld __cnfn convert_float3_rtp(ulong3);
   2573 float3 __ovld __cnfn convert_float3_rtn(ulong3);
   2574 float3 __ovld __cnfn convert_float3(ulong3);
   2575 float3 __ovld __cnfn convert_float3_rte(float3);
   2576 float3 __ovld __cnfn convert_float3_rtz(float3);
   2577 float3 __ovld __cnfn convert_float3_rtp(float3);
   2578 float3 __ovld __cnfn convert_float3_rtn(float3);
   2579 float3 __ovld __cnfn convert_float3(float3);
   2580 char4 __ovld __cnfn convert_char4_rte(char4);
   2581 char4 __ovld __cnfn convert_char4_sat_rte(char4);
   2582 char4 __ovld __cnfn convert_char4_rtz(char4);
   2583 char4 __ovld __cnfn convert_char4_sat_rtz(char4);
   2584 char4 __ovld __cnfn convert_char4_rtp(char4);
   2585 char4 __ovld __cnfn convert_char4_sat_rtp(char4);
   2586 char4 __ovld __cnfn convert_char4_rtn(char4);
   2587 char4 __ovld __cnfn convert_char4_sat_rtn(char4);
   2588 char4 __ovld __cnfn convert_char4(char4);
   2589 char4 __ovld __cnfn convert_char4_sat(char4);
   2590 char4 __ovld __cnfn convert_char4_rte(uchar4);
   2591 char4 __ovld __cnfn convert_char4_sat_rte(uchar4);
   2592 char4 __ovld __cnfn convert_char4_rtz(uchar4);
   2593 char4 __ovld __cnfn convert_char4_sat_rtz(uchar4);
   2594 char4 __ovld __cnfn convert_char4_rtp(uchar4);
   2595 char4 __ovld __cnfn convert_char4_sat_rtp(uchar4);
   2596 char4 __ovld __cnfn convert_char4_rtn(uchar4);
   2597 char4 __ovld __cnfn convert_char4_sat_rtn(uchar4);
   2598 char4 __ovld __cnfn convert_char4(uchar4);
   2599 char4 __ovld __cnfn convert_char4_sat(uchar4);
   2600 char4 __ovld __cnfn convert_char4_rte(short4);
   2601 char4 __ovld __cnfn convert_char4_sat_rte(short4);
   2602 char4 __ovld __cnfn convert_char4_rtz(short4);
   2603 char4 __ovld __cnfn convert_char4_sat_rtz(short4);
   2604 char4 __ovld __cnfn convert_char4_rtp(short4);
   2605 char4 __ovld __cnfn convert_char4_sat_rtp(short4);
   2606 char4 __ovld __cnfn convert_char4_rtn(short4);
   2607 char4 __ovld __cnfn convert_char4_sat_rtn(short4);
   2608 char4 __ovld __cnfn convert_char4(short4);
   2609 char4 __ovld __cnfn convert_char4_sat(short4);
   2610 char4 __ovld __cnfn convert_char4_rte(ushort4);
   2611 char4 __ovld __cnfn convert_char4_sat_rte(ushort4);
   2612 char4 __ovld __cnfn convert_char4_rtz(ushort4);
   2613 char4 __ovld __cnfn convert_char4_sat_rtz(ushort4);
   2614 char4 __ovld __cnfn convert_char4_rtp(ushort4);
   2615 char4 __ovld __cnfn convert_char4_sat_rtp(ushort4);
   2616 char4 __ovld __cnfn convert_char4_rtn(ushort4);
   2617 char4 __ovld __cnfn convert_char4_sat_rtn(ushort4);
   2618 char4 __ovld __cnfn convert_char4(ushort4);
   2619 char4 __ovld __cnfn convert_char4_sat(ushort4);
   2620 char4 __ovld __cnfn convert_char4_rte(int4);
   2621 char4 __ovld __cnfn convert_char4_sat_rte(int4);
   2622 char4 __ovld __cnfn convert_char4_rtz(int4);
   2623 char4 __ovld __cnfn convert_char4_sat_rtz(int4);
   2624 char4 __ovld __cnfn convert_char4_rtp(int4);
   2625 char4 __ovld __cnfn convert_char4_sat_rtp(int4);
   2626 char4 __ovld __cnfn convert_char4_rtn(int4);
   2627 char4 __ovld __cnfn convert_char4_sat_rtn(int4);
   2628 char4 __ovld __cnfn convert_char4(int4);
   2629 char4 __ovld __cnfn convert_char4_sat(int4);
   2630 char4 __ovld __cnfn convert_char4_rte(uint4);
   2631 char4 __ovld __cnfn convert_char4_sat_rte(uint4);
   2632 char4 __ovld __cnfn convert_char4_rtz(uint4);
   2633 char4 __ovld __cnfn convert_char4_sat_rtz(uint4);
   2634 char4 __ovld __cnfn convert_char4_rtp(uint4);
   2635 char4 __ovld __cnfn convert_char4_sat_rtp(uint4);
   2636 char4 __ovld __cnfn convert_char4_rtn(uint4);
   2637 char4 __ovld __cnfn convert_char4_sat_rtn(uint4);
   2638 char4 __ovld __cnfn convert_char4(uint4);
   2639 char4 __ovld __cnfn convert_char4_sat(uint4);
   2640 char4 __ovld __cnfn convert_char4_rte(long4);
   2641 char4 __ovld __cnfn convert_char4_sat_rte(long4);
   2642 char4 __ovld __cnfn convert_char4_rtz(long4);
   2643 char4 __ovld __cnfn convert_char4_sat_rtz(long4);
   2644 char4 __ovld __cnfn convert_char4_rtp(long4);
   2645 char4 __ovld __cnfn convert_char4_sat_rtp(long4);
   2646 char4 __ovld __cnfn convert_char4_rtn(long4);
   2647 char4 __ovld __cnfn convert_char4_sat_rtn(long4);
   2648 char4 __ovld __cnfn convert_char4(long4);
   2649 char4 __ovld __cnfn convert_char4_sat(long4);
   2650 char4 __ovld __cnfn convert_char4_rte(ulong4);
   2651 char4 __ovld __cnfn convert_char4_sat_rte(ulong4);
   2652 char4 __ovld __cnfn convert_char4_rtz(ulong4);
   2653 char4 __ovld __cnfn convert_char4_sat_rtz(ulong4);
   2654 char4 __ovld __cnfn convert_char4_rtp(ulong4);
   2655 char4 __ovld __cnfn convert_char4_sat_rtp(ulong4);
   2656 char4 __ovld __cnfn convert_char4_rtn(ulong4);
   2657 char4 __ovld __cnfn convert_char4_sat_rtn(ulong4);
   2658 char4 __ovld __cnfn convert_char4(ulong4);
   2659 char4 __ovld __cnfn convert_char4_sat(ulong4);
   2660 char4 __ovld __cnfn convert_char4_rte(float4);
   2661 char4 __ovld __cnfn convert_char4_sat_rte(float4);
   2662 char4 __ovld __cnfn convert_char4_rtz(float4);
   2663 char4 __ovld __cnfn convert_char4_sat_rtz(float4);
   2664 char4 __ovld __cnfn convert_char4_rtp(float4);
   2665 char4 __ovld __cnfn convert_char4_sat_rtp(float4);
   2666 char4 __ovld __cnfn convert_char4_rtn(float4);
   2667 char4 __ovld __cnfn convert_char4_sat_rtn(float4);
   2668 char4 __ovld __cnfn convert_char4(float4);
   2669 char4 __ovld __cnfn convert_char4_sat(float4);
   2670 uchar4 __ovld __cnfn convert_uchar4_rte(char4);
   2671 uchar4 __ovld __cnfn convert_uchar4_sat_rte(char4);
   2672 uchar4 __ovld __cnfn convert_uchar4_rtz(char4);
   2673 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(char4);
   2674 uchar4 __ovld __cnfn convert_uchar4_rtp(char4);
   2675 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(char4);
   2676 uchar4 __ovld __cnfn convert_uchar4_rtn(char4);
   2677 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(char4);
   2678 uchar4 __ovld __cnfn convert_uchar4(char4);
   2679 uchar4 __ovld __cnfn convert_uchar4_sat(char4);
   2680 uchar4 __ovld __cnfn convert_uchar4_rte(uchar4);
   2681 uchar4 __ovld __cnfn convert_uchar4_sat_rte(uchar4);
   2682 uchar4 __ovld __cnfn convert_uchar4_rtz(uchar4);
   2683 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uchar4);
   2684 uchar4 __ovld __cnfn convert_uchar4_rtp(uchar4);
   2685 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uchar4);
   2686 uchar4 __ovld __cnfn convert_uchar4_rtn(uchar4);
   2687 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uchar4);
   2688 uchar4 __ovld __cnfn convert_uchar4(uchar4);
   2689 uchar4 __ovld __cnfn convert_uchar4_sat(uchar4);
   2690 uchar4 __ovld __cnfn convert_uchar4_rte(short4);
   2691 uchar4 __ovld __cnfn convert_uchar4_sat_rte(short4);
   2692 uchar4 __ovld __cnfn convert_uchar4_rtz(short4);
   2693 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(short4);
   2694 uchar4 __ovld __cnfn convert_uchar4_rtp(short4);
   2695 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(short4);
   2696 uchar4 __ovld __cnfn convert_uchar4_rtn(short4);
   2697 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(short4);
   2698 uchar4 __ovld __cnfn convert_uchar4(short4);
   2699 uchar4 __ovld __cnfn convert_uchar4_sat(short4);
   2700 uchar4 __ovld __cnfn convert_uchar4_rte(ushort4);
   2701 uchar4 __ovld __cnfn convert_uchar4_sat_rte(ushort4);
   2702 uchar4 __ovld __cnfn convert_uchar4_rtz(ushort4);
   2703 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ushort4);
   2704 uchar4 __ovld __cnfn convert_uchar4_rtp(ushort4);
   2705 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ushort4);
   2706 uchar4 __ovld __cnfn convert_uchar4_rtn(ushort4);
   2707 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ushort4);
   2708 uchar4 __ovld __cnfn convert_uchar4(ushort4);
   2709 uchar4 __ovld __cnfn convert_uchar4_sat(ushort4);
   2710 uchar4 __ovld __cnfn convert_uchar4_rte(int4);
   2711 uchar4 __ovld __cnfn convert_uchar4_sat_rte(int4);
   2712 uchar4 __ovld __cnfn convert_uchar4_rtz(int4);
   2713 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(int4);
   2714 uchar4 __ovld __cnfn convert_uchar4_rtp(int4);
   2715 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(int4);
   2716 uchar4 __ovld __cnfn convert_uchar4_rtn(int4);
   2717 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(int4);
   2718 uchar4 __ovld __cnfn convert_uchar4(int4);
   2719 uchar4 __ovld __cnfn convert_uchar4_sat(int4);
   2720 uchar4 __ovld __cnfn convert_uchar4_rte(uint4);
   2721 uchar4 __ovld __cnfn convert_uchar4_sat_rte(uint4);
   2722 uchar4 __ovld __cnfn convert_uchar4_rtz(uint4);
   2723 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uint4);
   2724 uchar4 __ovld __cnfn convert_uchar4_rtp(uint4);
   2725 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uint4);
   2726 uchar4 __ovld __cnfn convert_uchar4_rtn(uint4);
   2727 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uint4);
   2728 uchar4 __ovld __cnfn convert_uchar4(uint4);
   2729 uchar4 __ovld __cnfn convert_uchar4_sat(uint4);
   2730 uchar4 __ovld __cnfn convert_uchar4_rte(long4);
   2731 uchar4 __ovld __cnfn convert_uchar4_sat_rte(long4);
   2732 uchar4 __ovld __cnfn convert_uchar4_rtz(long4);
   2733 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(long4);
   2734 uchar4 __ovld __cnfn convert_uchar4_rtp(long4);
   2735 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(long4);
   2736 uchar4 __ovld __cnfn convert_uchar4_rtn(long4);
   2737 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(long4);
   2738 uchar4 __ovld __cnfn convert_uchar4(long4);
   2739 uchar4 __ovld __cnfn convert_uchar4_sat(long4);
   2740 uchar4 __ovld __cnfn convert_uchar4_rte(ulong4);
   2741 uchar4 __ovld __cnfn convert_uchar4_sat_rte(ulong4);
   2742 uchar4 __ovld __cnfn convert_uchar4_rtz(ulong4);
   2743 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ulong4);
   2744 uchar4 __ovld __cnfn convert_uchar4_rtp(ulong4);
   2745 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ulong4);
   2746 uchar4 __ovld __cnfn convert_uchar4_rtn(ulong4);
   2747 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ulong4);
   2748 uchar4 __ovld __cnfn convert_uchar4(ulong4);
   2749 uchar4 __ovld __cnfn convert_uchar4_sat(ulong4);
   2750 uchar4 __ovld __cnfn convert_uchar4_rte(float4);
   2751 uchar4 __ovld __cnfn convert_uchar4_sat_rte(float4);
   2752 uchar4 __ovld __cnfn convert_uchar4_rtz(float4);
   2753 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(float4);
   2754 uchar4 __ovld __cnfn convert_uchar4_rtp(float4);
   2755 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(float4);
   2756 uchar4 __ovld __cnfn convert_uchar4_rtn(float4);
   2757 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(float4);
   2758 uchar4 __ovld __cnfn convert_uchar4(float4);
   2759 uchar4 __ovld __cnfn convert_uchar4_sat(float4);
   2760 short4 __ovld __cnfn convert_short4_rte(char4);
   2761 short4 __ovld __cnfn convert_short4_sat_rte(char4);
   2762 short4 __ovld __cnfn convert_short4_rtz(char4);
   2763 short4 __ovld __cnfn convert_short4_sat_rtz(char4);
   2764 short4 __ovld __cnfn convert_short4_rtp(char4);
   2765 short4 __ovld __cnfn convert_short4_sat_rtp(char4);
   2766 short4 __ovld __cnfn convert_short4_rtn(char4);
   2767 short4 __ovld __cnfn convert_short4_sat_rtn(char4);
   2768 short4 __ovld __cnfn convert_short4(char4);
   2769 short4 __ovld __cnfn convert_short4_sat(char4);
   2770 short4 __ovld __cnfn convert_short4_rte(uchar4);
   2771 short4 __ovld __cnfn convert_short4_sat_rte(uchar4);
   2772 short4 __ovld __cnfn convert_short4_rtz(uchar4);
   2773 short4 __ovld __cnfn convert_short4_sat_rtz(uchar4);
   2774 short4 __ovld __cnfn convert_short4_rtp(uchar4);
   2775 short4 __ovld __cnfn convert_short4_sat_rtp(uchar4);
   2776 short4 __ovld __cnfn convert_short4_rtn(uchar4);
   2777 short4 __ovld __cnfn convert_short4_sat_rtn(uchar4);
   2778 short4 __ovld __cnfn convert_short4(uchar4);
   2779 short4 __ovld __cnfn convert_short4_sat(uchar4);
   2780 short4 __ovld __cnfn convert_short4_rte(short4);
   2781 short4 __ovld __cnfn convert_short4_sat_rte(short4);
   2782 short4 __ovld __cnfn convert_short4_rtz(short4);
   2783 short4 __ovld __cnfn convert_short4_sat_rtz(short4);
   2784 short4 __ovld __cnfn convert_short4_rtp(short4);
   2785 short4 __ovld __cnfn convert_short4_sat_rtp(short4);
   2786 short4 __ovld __cnfn convert_short4_rtn(short4);
   2787 short4 __ovld __cnfn convert_short4_sat_rtn(short4);
   2788 short4 __ovld __cnfn convert_short4(short4);
   2789 short4 __ovld __cnfn convert_short4_sat(short4);
   2790 short4 __ovld __cnfn convert_short4_rte(ushort4);
   2791 short4 __ovld __cnfn convert_short4_sat_rte(ushort4);
   2792 short4 __ovld __cnfn convert_short4_rtz(ushort4);
   2793 short4 __ovld __cnfn convert_short4_sat_rtz(ushort4);
   2794 short4 __ovld __cnfn convert_short4_rtp(ushort4);
   2795 short4 __ovld __cnfn convert_short4_sat_rtp(ushort4);
   2796 short4 __ovld __cnfn convert_short4_rtn(ushort4);
   2797 short4 __ovld __cnfn convert_short4_sat_rtn(ushort4);
   2798 short4 __ovld __cnfn convert_short4(ushort4);
   2799 short4 __ovld __cnfn convert_short4_sat(ushort4);
   2800 short4 __ovld __cnfn convert_short4_rte(int4);
   2801 short4 __ovld __cnfn convert_short4_sat_rte(int4);
   2802 short4 __ovld __cnfn convert_short4_rtz(int4);
   2803 short4 __ovld __cnfn convert_short4_sat_rtz(int4);
   2804 short4 __ovld __cnfn convert_short4_rtp(int4);
   2805 short4 __ovld __cnfn convert_short4_sat_rtp(int4);
   2806 short4 __ovld __cnfn convert_short4_rtn(int4);
   2807 short4 __ovld __cnfn convert_short4_sat_rtn(int4);
   2808 short4 __ovld __cnfn convert_short4(int4);
   2809 short4 __ovld __cnfn convert_short4_sat(int4);
   2810 short4 __ovld __cnfn convert_short4_rte(uint4);
   2811 short4 __ovld __cnfn convert_short4_sat_rte(uint4);
   2812 short4 __ovld __cnfn convert_short4_rtz(uint4);
   2813 short4 __ovld __cnfn convert_short4_sat_rtz(uint4);
   2814 short4 __ovld __cnfn convert_short4_rtp(uint4);
   2815 short4 __ovld __cnfn convert_short4_sat_rtp(uint4);
   2816 short4 __ovld __cnfn convert_short4_rtn(uint4);
   2817 short4 __ovld __cnfn convert_short4_sat_rtn(uint4);
   2818 short4 __ovld __cnfn convert_short4(uint4);
   2819 short4 __ovld __cnfn convert_short4_sat(uint4);
   2820 short4 __ovld __cnfn convert_short4_rte(long4);
   2821 short4 __ovld __cnfn convert_short4_sat_rte(long4);
   2822 short4 __ovld __cnfn convert_short4_rtz(long4);
   2823 short4 __ovld __cnfn convert_short4_sat_rtz(long4);
   2824 short4 __ovld __cnfn convert_short4_rtp(long4);
   2825 short4 __ovld __cnfn convert_short4_sat_rtp(long4);
   2826 short4 __ovld __cnfn convert_short4_rtn(long4);
   2827 short4 __ovld __cnfn convert_short4_sat_rtn(long4);
   2828 short4 __ovld __cnfn convert_short4(long4);
   2829 short4 __ovld __cnfn convert_short4_sat(long4);
   2830 short4 __ovld __cnfn convert_short4_rte(ulong4);
   2831 short4 __ovld __cnfn convert_short4_sat_rte(ulong4);
   2832 short4 __ovld __cnfn convert_short4_rtz(ulong4);
   2833 short4 __ovld __cnfn convert_short4_sat_rtz(ulong4);
   2834 short4 __ovld __cnfn convert_short4_rtp(ulong4);
   2835 short4 __ovld __cnfn convert_short4_sat_rtp(ulong4);
   2836 short4 __ovld __cnfn convert_short4_rtn(ulong4);
   2837 short4 __ovld __cnfn convert_short4_sat_rtn(ulong4);
   2838 short4 __ovld __cnfn convert_short4(ulong4);
   2839 short4 __ovld __cnfn convert_short4_sat(ulong4);
   2840 short4 __ovld __cnfn convert_short4_rte(float4);
   2841 short4 __ovld __cnfn convert_short4_sat_rte(float4);
   2842 short4 __ovld __cnfn convert_short4_rtz(float4);
   2843 short4 __ovld __cnfn convert_short4_sat_rtz(float4);
   2844 short4 __ovld __cnfn convert_short4_rtp(float4);
   2845 short4 __ovld __cnfn convert_short4_sat_rtp(float4);
   2846 short4 __ovld __cnfn convert_short4_rtn(float4);
   2847 short4 __ovld __cnfn convert_short4_sat_rtn(float4);
   2848 short4 __ovld __cnfn convert_short4(float4);
   2849 short4 __ovld __cnfn convert_short4_sat(float4);
   2850 ushort4 __ovld __cnfn convert_ushort4_rte(char4);
   2851 ushort4 __ovld __cnfn convert_ushort4_sat_rte(char4);
   2852 ushort4 __ovld __cnfn convert_ushort4_rtz(char4);
   2853 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(char4);
   2854 ushort4 __ovld __cnfn convert_ushort4_rtp(char4);
   2855 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(char4);
   2856 ushort4 __ovld __cnfn convert_ushort4_rtn(char4);
   2857 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(char4);
   2858 ushort4 __ovld __cnfn convert_ushort4(char4);
   2859 ushort4 __ovld __cnfn convert_ushort4_sat(char4);
   2860 ushort4 __ovld __cnfn convert_ushort4_rte(uchar4);
   2861 ushort4 __ovld __cnfn convert_ushort4_sat_rte(uchar4);
   2862 ushort4 __ovld __cnfn convert_ushort4_rtz(uchar4);
   2863 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uchar4);
   2864 ushort4 __ovld __cnfn convert_ushort4_rtp(uchar4);
   2865 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uchar4);
   2866 ushort4 __ovld __cnfn convert_ushort4_rtn(uchar4);
   2867 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uchar4);
   2868 ushort4 __ovld __cnfn convert_ushort4(uchar4);
   2869 ushort4 __ovld __cnfn convert_ushort4_sat(uchar4);
   2870 ushort4 __ovld __cnfn convert_ushort4_rte(short4);
   2871 ushort4 __ovld __cnfn convert_ushort4_sat_rte(short4);
   2872 ushort4 __ovld __cnfn convert_ushort4_rtz(short4);
   2873 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(short4);
   2874 ushort4 __ovld __cnfn convert_ushort4_rtp(short4);
   2875 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(short4);
   2876 ushort4 __ovld __cnfn convert_ushort4_rtn(short4);
   2877 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(short4);
   2878 ushort4 __ovld __cnfn convert_ushort4(short4);
   2879 ushort4 __ovld __cnfn convert_ushort4_sat(short4);
   2880 ushort4 __ovld __cnfn convert_ushort4_rte(ushort4);
   2881 ushort4 __ovld __cnfn convert_ushort4_sat_rte(ushort4);
   2882 ushort4 __ovld __cnfn convert_ushort4_rtz(ushort4);
   2883 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ushort4);
   2884 ushort4 __ovld __cnfn convert_ushort4_rtp(ushort4);
   2885 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ushort4);
   2886 ushort4 __ovld __cnfn convert_ushort4_rtn(ushort4);
   2887 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ushort4);
   2888 ushort4 __ovld __cnfn convert_ushort4(ushort4);
   2889 ushort4 __ovld __cnfn convert_ushort4_sat(ushort4);
   2890 ushort4 __ovld __cnfn convert_ushort4_rte(int4);
   2891 ushort4 __ovld __cnfn convert_ushort4_sat_rte(int4);
   2892 ushort4 __ovld __cnfn convert_ushort4_rtz(int4);
   2893 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(int4);
   2894 ushort4 __ovld __cnfn convert_ushort4_rtp(int4);
   2895 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(int4);
   2896 ushort4 __ovld __cnfn convert_ushort4_rtn(int4);
   2897 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(int4);
   2898 ushort4 __ovld __cnfn convert_ushort4(int4);
   2899 ushort4 __ovld __cnfn convert_ushort4_sat(int4);
   2900 ushort4 __ovld __cnfn convert_ushort4_rte(uint4);
   2901 ushort4 __ovld __cnfn convert_ushort4_sat_rte(uint4);
   2902 ushort4 __ovld __cnfn convert_ushort4_rtz(uint4);
   2903 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uint4);
   2904 ushort4 __ovld __cnfn convert_ushort4_rtp(uint4);
   2905 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uint4);
   2906 ushort4 __ovld __cnfn convert_ushort4_rtn(uint4);
   2907 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uint4);
   2908 ushort4 __ovld __cnfn convert_ushort4(uint4);
   2909 ushort4 __ovld __cnfn convert_ushort4_sat(uint4);
   2910 ushort4 __ovld __cnfn convert_ushort4_rte(long4);
   2911 ushort4 __ovld __cnfn convert_ushort4_sat_rte(long4);
   2912 ushort4 __ovld __cnfn convert_ushort4_rtz(long4);
   2913 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(long4);
   2914 ushort4 __ovld __cnfn convert_ushort4_rtp(long4);
   2915 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(long4);
   2916 ushort4 __ovld __cnfn convert_ushort4_rtn(long4);
   2917 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(long4);
   2918 ushort4 __ovld __cnfn convert_ushort4(long4);
   2919 ushort4 __ovld __cnfn convert_ushort4_sat(long4);
   2920 ushort4 __ovld __cnfn convert_ushort4_rte(ulong4);
   2921 ushort4 __ovld __cnfn convert_ushort4_sat_rte(ulong4);
   2922 ushort4 __ovld __cnfn convert_ushort4_rtz(ulong4);
   2923 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ulong4);
   2924 ushort4 __ovld __cnfn convert_ushort4_rtp(ulong4);
   2925 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ulong4);
   2926 ushort4 __ovld __cnfn convert_ushort4_rtn(ulong4);
   2927 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ulong4);
   2928 ushort4 __ovld __cnfn convert_ushort4(ulong4);
   2929 ushort4 __ovld __cnfn convert_ushort4_sat(ulong4);
   2930 ushort4 __ovld __cnfn convert_ushort4_rte(float4);
   2931 ushort4 __ovld __cnfn convert_ushort4_sat_rte(float4);
   2932 ushort4 __ovld __cnfn convert_ushort4_rtz(float4);
   2933 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(float4);
   2934 ushort4 __ovld __cnfn convert_ushort4_rtp(float4);
   2935 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(float4);
   2936 ushort4 __ovld __cnfn convert_ushort4_rtn(float4);
   2937 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(float4);
   2938 ushort4 __ovld __cnfn convert_ushort4(float4);
   2939 ushort4 __ovld __cnfn convert_ushort4_sat(float4);
   2940 int4 __ovld __cnfn convert_int4_rte(char4);
   2941 int4 __ovld __cnfn convert_int4_sat_rte(char4);
   2942 int4 __ovld __cnfn convert_int4_rtz(char4);
   2943 int4 __ovld __cnfn convert_int4_sat_rtz(char4);
   2944 int4 __ovld __cnfn convert_int4_rtp(char4);
   2945 int4 __ovld __cnfn convert_int4_sat_rtp(char4);
   2946 int4 __ovld __cnfn convert_int4_rtn(char4);
   2947 int4 __ovld __cnfn convert_int4_sat_rtn(char4);
   2948 int4 __ovld __cnfn convert_int4(char4);
   2949 int4 __ovld __cnfn convert_int4_sat(char4);
   2950 int4 __ovld __cnfn convert_int4_rte(uchar4);
   2951 int4 __ovld __cnfn convert_int4_sat_rte(uchar4);
   2952 int4 __ovld __cnfn convert_int4_rtz(uchar4);
   2953 int4 __ovld __cnfn convert_int4_sat_rtz(uchar4);
   2954 int4 __ovld __cnfn convert_int4_rtp(uchar4);
   2955 int4 __ovld __cnfn convert_int4_sat_rtp(uchar4);
   2956 int4 __ovld __cnfn convert_int4_rtn(uchar4);
   2957 int4 __ovld __cnfn convert_int4_sat_rtn(uchar4);
   2958 int4 __ovld __cnfn convert_int4(uchar4);
   2959 int4 __ovld __cnfn convert_int4_sat(uchar4);
   2960 int4 __ovld __cnfn convert_int4_rte(short4);
   2961 int4 __ovld __cnfn convert_int4_sat_rte(short4);
   2962 int4 __ovld __cnfn convert_int4_rtz(short4);
   2963 int4 __ovld __cnfn convert_int4_sat_rtz(short4);
   2964 int4 __ovld __cnfn convert_int4_rtp(short4);
   2965 int4 __ovld __cnfn convert_int4_sat_rtp(short4);
   2966 int4 __ovld __cnfn convert_int4_rtn(short4);
   2967 int4 __ovld __cnfn convert_int4_sat_rtn(short4);
   2968 int4 __ovld __cnfn convert_int4(short4);
   2969 int4 __ovld __cnfn convert_int4_sat(short4);
   2970 int4 __ovld __cnfn convert_int4_rte(ushort4);
   2971 int4 __ovld __cnfn convert_int4_sat_rte(ushort4);
   2972 int4 __ovld __cnfn convert_int4_rtz(ushort4);
   2973 int4 __ovld __cnfn convert_int4_sat_rtz(ushort4);
   2974 int4 __ovld __cnfn convert_int4_rtp(ushort4);
   2975 int4 __ovld __cnfn convert_int4_sat_rtp(ushort4);
   2976 int4 __ovld __cnfn convert_int4_rtn(ushort4);
   2977 int4 __ovld __cnfn convert_int4_sat_rtn(ushort4);
   2978 int4 __ovld __cnfn convert_int4(ushort4);
   2979 int4 __ovld __cnfn convert_int4_sat(ushort4);
   2980 int4 __ovld __cnfn convert_int4_rte(int4);
   2981 int4 __ovld __cnfn convert_int4_sat_rte(int4);
   2982 int4 __ovld __cnfn convert_int4_rtz(int4);
   2983 int4 __ovld __cnfn convert_int4_sat_rtz(int4);
   2984 int4 __ovld __cnfn convert_int4_rtp(int4);
   2985 int4 __ovld __cnfn convert_int4_sat_rtp(int4);
   2986 int4 __ovld __cnfn convert_int4_rtn(int4);
   2987 int4 __ovld __cnfn convert_int4_sat_rtn(int4);
   2988 int4 __ovld __cnfn convert_int4(int4);
   2989 int4 __ovld __cnfn convert_int4_sat(int4);
   2990 int4 __ovld __cnfn convert_int4_rte(uint4);
   2991 int4 __ovld __cnfn convert_int4_sat_rte(uint4);
   2992 int4 __ovld __cnfn convert_int4_rtz(uint4);
   2993 int4 __ovld __cnfn convert_int4_sat_rtz(uint4);
   2994 int4 __ovld __cnfn convert_int4_rtp(uint4);
   2995 int4 __ovld __cnfn convert_int4_sat_rtp(uint4);
   2996 int4 __ovld __cnfn convert_int4_rtn(uint4);
   2997 int4 __ovld __cnfn convert_int4_sat_rtn(uint4);
   2998 int4 __ovld __cnfn convert_int4(uint4);
   2999 int4 __ovld __cnfn convert_int4_sat(uint4);
   3000 int4 __ovld __cnfn convert_int4_rte(long4);
   3001 int4 __ovld __cnfn convert_int4_sat_rte(long4);
   3002 int4 __ovld __cnfn convert_int4_rtz(long4);
   3003 int4 __ovld __cnfn convert_int4_sat_rtz(long4);
   3004 int4 __ovld __cnfn convert_int4_rtp(long4);
   3005 int4 __ovld __cnfn convert_int4_sat_rtp(long4);
   3006 int4 __ovld __cnfn convert_int4_rtn(long4);
   3007 int4 __ovld __cnfn convert_int4_sat_rtn(long4);
   3008 int4 __ovld __cnfn convert_int4(long4);
   3009 int4 __ovld __cnfn convert_int4_sat(long4);
   3010 int4 __ovld __cnfn convert_int4_rte(ulong4);
   3011 int4 __ovld __cnfn convert_int4_sat_rte(ulong4);
   3012 int4 __ovld __cnfn convert_int4_rtz(ulong4);
   3013 int4 __ovld __cnfn convert_int4_sat_rtz(ulong4);
   3014 int4 __ovld __cnfn convert_int4_rtp(ulong4);
   3015 int4 __ovld __cnfn convert_int4_sat_rtp(ulong4);
   3016 int4 __ovld __cnfn convert_int4_rtn(ulong4);
   3017 int4 __ovld __cnfn convert_int4_sat_rtn(ulong4);
   3018 int4 __ovld __cnfn convert_int4(ulong4);
   3019 int4 __ovld __cnfn convert_int4_sat(ulong4);
   3020 int4 __ovld __cnfn convert_int4_rte(float4);
   3021 int4 __ovld __cnfn convert_int4_sat_rte(float4);
   3022 int4 __ovld __cnfn convert_int4_rtz(float4);
   3023 int4 __ovld __cnfn convert_int4_sat_rtz(float4);
   3024 int4 __ovld __cnfn convert_int4_rtp(float4);
   3025 int4 __ovld __cnfn convert_int4_sat_rtp(float4);
   3026 int4 __ovld __cnfn convert_int4_rtn(float4);
   3027 int4 __ovld __cnfn convert_int4_sat_rtn(float4);
   3028 int4 __ovld __cnfn convert_int4(float4);
   3029 int4 __ovld __cnfn convert_int4_sat(float4);
   3030 uint4 __ovld __cnfn convert_uint4_rte(char4);
   3031 uint4 __ovld __cnfn convert_uint4_sat_rte(char4);
   3032 uint4 __ovld __cnfn convert_uint4_rtz(char4);
   3033 uint4 __ovld __cnfn convert_uint4_sat_rtz(char4);
   3034 uint4 __ovld __cnfn convert_uint4_rtp(char4);
   3035 uint4 __ovld __cnfn convert_uint4_sat_rtp(char4);
   3036 uint4 __ovld __cnfn convert_uint4_rtn(char4);
   3037 uint4 __ovld __cnfn convert_uint4_sat_rtn(char4);
   3038 uint4 __ovld __cnfn convert_uint4(char4);
   3039 uint4 __ovld __cnfn convert_uint4_sat(char4);
   3040 uint4 __ovld __cnfn convert_uint4_rte(uchar4);
   3041 uint4 __ovld __cnfn convert_uint4_sat_rte(uchar4);
   3042 uint4 __ovld __cnfn convert_uint4_rtz(uchar4);
   3043 uint4 __ovld __cnfn convert_uint4_sat_rtz(uchar4);
   3044 uint4 __ovld __cnfn convert_uint4_rtp(uchar4);
   3045 uint4 __ovld __cnfn convert_uint4_sat_rtp(uchar4);
   3046 uint4 __ovld __cnfn convert_uint4_rtn(uchar4);
   3047 uint4 __ovld __cnfn convert_uint4_sat_rtn(uchar4);
   3048 uint4 __ovld __cnfn convert_uint4(uchar4);
   3049 uint4 __ovld __cnfn convert_uint4_sat(uchar4);
   3050 uint4 __ovld __cnfn convert_uint4_rte(short4);
   3051 uint4 __ovld __cnfn convert_uint4_sat_rte(short4);
   3052 uint4 __ovld __cnfn convert_uint4_rtz(short4);
   3053 uint4 __ovld __cnfn convert_uint4_sat_rtz(short4);
   3054 uint4 __ovld __cnfn convert_uint4_rtp(short4);
   3055 uint4 __ovld __cnfn convert_uint4_sat_rtp(short4);
   3056 uint4 __ovld __cnfn convert_uint4_rtn(short4);
   3057 uint4 __ovld __cnfn convert_uint4_sat_rtn(short4);
   3058 uint4 __ovld __cnfn convert_uint4(short4);
   3059 uint4 __ovld __cnfn convert_uint4_sat(short4);
   3060 uint4 __ovld __cnfn convert_uint4_rte(ushort4);
   3061 uint4 __ovld __cnfn convert_uint4_sat_rte(ushort4);
   3062 uint4 __ovld __cnfn convert_uint4_rtz(ushort4);
   3063 uint4 __ovld __cnfn convert_uint4_sat_rtz(ushort4);
   3064 uint4 __ovld __cnfn convert_uint4_rtp(ushort4);
   3065 uint4 __ovld __cnfn convert_uint4_sat_rtp(ushort4);
   3066 uint4 __ovld __cnfn convert_uint4_rtn(ushort4);
   3067 uint4 __ovld __cnfn convert_uint4_sat_rtn(ushort4);
   3068 uint4 __ovld __cnfn convert_uint4(ushort4);
   3069 uint4 __ovld __cnfn convert_uint4_sat(ushort4);
   3070 uint4 __ovld __cnfn convert_uint4_rte(int4);
   3071 uint4 __ovld __cnfn convert_uint4_sat_rte(int4);
   3072 uint4 __ovld __cnfn convert_uint4_rtz(int4);
   3073 uint4 __ovld __cnfn convert_uint4_sat_rtz(int4);
   3074 uint4 __ovld __cnfn convert_uint4_rtp(int4);
   3075 uint4 __ovld __cnfn convert_uint4_sat_rtp(int4);
   3076 uint4 __ovld __cnfn convert_uint4_rtn(int4);
   3077 uint4 __ovld __cnfn convert_uint4_sat_rtn(int4);
   3078 uint4 __ovld __cnfn convert_uint4(int4);
   3079 uint4 __ovld __cnfn convert_uint4_sat(int4);
   3080 uint4 __ovld __cnfn convert_uint4_rte(uint4);
   3081 uint4 __ovld __cnfn convert_uint4_sat_rte(uint4);
   3082 uint4 __ovld __cnfn convert_uint4_rtz(uint4);
   3083 uint4 __ovld __cnfn convert_uint4_sat_rtz(uint4);
   3084 uint4 __ovld __cnfn convert_uint4_rtp(uint4);
   3085 uint4 __ovld __cnfn convert_uint4_sat_rtp(uint4);
   3086 uint4 __ovld __cnfn convert_uint4_rtn(uint4);
   3087 uint4 __ovld __cnfn convert_uint4_sat_rtn(uint4);
   3088 uint4 __ovld __cnfn convert_uint4(uint4);
   3089 uint4 __ovld __cnfn convert_uint4_sat(uint4);
   3090 uint4 __ovld __cnfn convert_uint4_rte(long4);
   3091 uint4 __ovld __cnfn convert_uint4_sat_rte(long4);
   3092 uint4 __ovld __cnfn convert_uint4_rtz(long4);
   3093 uint4 __ovld __cnfn convert_uint4_sat_rtz(long4);
   3094 uint4 __ovld __cnfn convert_uint4_rtp(long4);
   3095 uint4 __ovld __cnfn convert_uint4_sat_rtp(long4);
   3096 uint4 __ovld __cnfn convert_uint4_rtn(long4);
   3097 uint4 __ovld __cnfn convert_uint4_sat_rtn(long4);
   3098 uint4 __ovld __cnfn convert_uint4(long4);
   3099 uint4 __ovld __cnfn convert_uint4_sat(long4);
   3100 uint4 __ovld __cnfn convert_uint4_rte(ulong4);
   3101 uint4 __ovld __cnfn convert_uint4_sat_rte(ulong4);
   3102 uint4 __ovld __cnfn convert_uint4_rtz(ulong4);
   3103 uint4 __ovld __cnfn convert_uint4_sat_rtz(ulong4);
   3104 uint4 __ovld __cnfn convert_uint4_rtp(ulong4);
   3105 uint4 __ovld __cnfn convert_uint4_sat_rtp(ulong4);
   3106 uint4 __ovld __cnfn convert_uint4_rtn(ulong4);
   3107 uint4 __ovld __cnfn convert_uint4_sat_rtn(ulong4);
   3108 uint4 __ovld __cnfn convert_uint4(ulong4);
   3109 uint4 __ovld __cnfn convert_uint4_sat(ulong4);
   3110 uint4 __ovld __cnfn convert_uint4_rte(float4);
   3111 uint4 __ovld __cnfn convert_uint4_sat_rte(float4);
   3112 uint4 __ovld __cnfn convert_uint4_rtz(float4);
   3113 uint4 __ovld __cnfn convert_uint4_sat_rtz(float4);
   3114 uint4 __ovld __cnfn convert_uint4_rtp(float4);
   3115 uint4 __ovld __cnfn convert_uint4_sat_rtp(float4);
   3116 uint4 __ovld __cnfn convert_uint4_rtn(float4);
   3117 uint4 __ovld __cnfn convert_uint4_sat_rtn(float4);
   3118 uint4 __ovld __cnfn convert_uint4(float4);
   3119 uint4 __ovld __cnfn convert_uint4_sat(float4);
   3120 long4 __ovld __cnfn convert_long4_rte(char4);
   3121 long4 __ovld __cnfn convert_long4_sat_rte(char4);
   3122 long4 __ovld __cnfn convert_long4_rtz(char4);
   3123 long4 __ovld __cnfn convert_long4_sat_rtz(char4);
   3124 long4 __ovld __cnfn convert_long4_rtp(char4);
   3125 long4 __ovld __cnfn convert_long4_sat_rtp(char4);
   3126 long4 __ovld __cnfn convert_long4_rtn(char4);
   3127 long4 __ovld __cnfn convert_long4_sat_rtn(char4);
   3128 long4 __ovld __cnfn convert_long4(char4);
   3129 long4 __ovld __cnfn convert_long4_sat(char4);
   3130 long4 __ovld __cnfn convert_long4_rte(uchar4);
   3131 long4 __ovld __cnfn convert_long4_sat_rte(uchar4);
   3132 long4 __ovld __cnfn convert_long4_rtz(uchar4);
   3133 long4 __ovld __cnfn convert_long4_sat_rtz(uchar4);
   3134 long4 __ovld __cnfn convert_long4_rtp(uchar4);
   3135 long4 __ovld __cnfn convert_long4_sat_rtp(uchar4);
   3136 long4 __ovld __cnfn convert_long4_rtn(uchar4);
   3137 long4 __ovld __cnfn convert_long4_sat_rtn(uchar4);
   3138 long4 __ovld __cnfn convert_long4(uchar4);
   3139 long4 __ovld __cnfn convert_long4_sat(uchar4);
   3140 long4 __ovld __cnfn convert_long4_rte(short4);
   3141 long4 __ovld __cnfn convert_long4_sat_rte(short4);
   3142 long4 __ovld __cnfn convert_long4_rtz(short4);
   3143 long4 __ovld __cnfn convert_long4_sat_rtz(short4);
   3144 long4 __ovld __cnfn convert_long4_rtp(short4);
   3145 long4 __ovld __cnfn convert_long4_sat_rtp(short4);
   3146 long4 __ovld __cnfn convert_long4_rtn(short4);
   3147 long4 __ovld __cnfn convert_long4_sat_rtn(short4);
   3148 long4 __ovld __cnfn convert_long4(short4);
   3149 long4 __ovld __cnfn convert_long4_sat(short4);
   3150 long4 __ovld __cnfn convert_long4_rte(ushort4);
   3151 long4 __ovld __cnfn convert_long4_sat_rte(ushort4);
   3152 long4 __ovld __cnfn convert_long4_rtz(ushort4);
   3153 long4 __ovld __cnfn convert_long4_sat_rtz(ushort4);
   3154 long4 __ovld __cnfn convert_long4_rtp(ushort4);
   3155 long4 __ovld __cnfn convert_long4_sat_rtp(ushort4);
   3156 long4 __ovld __cnfn convert_long4_rtn(ushort4);
   3157 long4 __ovld __cnfn convert_long4_sat_rtn(ushort4);
   3158 long4 __ovld __cnfn convert_long4(ushort4);
   3159 long4 __ovld __cnfn convert_long4_sat(ushort4);
   3160 long4 __ovld __cnfn convert_long4_rte(int4);
   3161 long4 __ovld __cnfn convert_long4_sat_rte(int4);
   3162 long4 __ovld __cnfn convert_long4_rtz(int4);
   3163 long4 __ovld __cnfn convert_long4_sat_rtz(int4);
   3164 long4 __ovld __cnfn convert_long4_rtp(int4);
   3165 long4 __ovld __cnfn convert_long4_sat_rtp(int4);
   3166 long4 __ovld __cnfn convert_long4_rtn(int4);
   3167 long4 __ovld __cnfn convert_long4_sat_rtn(int4);
   3168 long4 __ovld __cnfn convert_long4(int4);
   3169 long4 __ovld __cnfn convert_long4_sat(int4);
   3170 long4 __ovld __cnfn convert_long4_rte(uint4);
   3171 long4 __ovld __cnfn convert_long4_sat_rte(uint4);
   3172 long4 __ovld __cnfn convert_long4_rtz(uint4);
   3173 long4 __ovld __cnfn convert_long4_sat_rtz(uint4);
   3174 long4 __ovld __cnfn convert_long4_rtp(uint4);
   3175 long4 __ovld __cnfn convert_long4_sat_rtp(uint4);
   3176 long4 __ovld __cnfn convert_long4_rtn(uint4);
   3177 long4 __ovld __cnfn convert_long4_sat_rtn(uint4);
   3178 long4 __ovld __cnfn convert_long4(uint4);
   3179 long4 __ovld __cnfn convert_long4_sat(uint4);
   3180 long4 __ovld __cnfn convert_long4_rte(long4);
   3181 long4 __ovld __cnfn convert_long4_sat_rte(long4);
   3182 long4 __ovld __cnfn convert_long4_rtz(long4);
   3183 long4 __ovld __cnfn convert_long4_sat_rtz(long4);
   3184 long4 __ovld __cnfn convert_long4_rtp(long4);
   3185 long4 __ovld __cnfn convert_long4_sat_rtp(long4);
   3186 long4 __ovld __cnfn convert_long4_rtn(long4);
   3187 long4 __ovld __cnfn convert_long4_sat_rtn(long4);
   3188 long4 __ovld __cnfn convert_long4(long4);
   3189 long4 __ovld __cnfn convert_long4_sat(long4);
   3190 long4 __ovld __cnfn convert_long4_rte(ulong4);
   3191 long4 __ovld __cnfn convert_long4_sat_rte(ulong4);
   3192 long4 __ovld __cnfn convert_long4_rtz(ulong4);
   3193 long4 __ovld __cnfn convert_long4_sat_rtz(ulong4);
   3194 long4 __ovld __cnfn convert_long4_rtp(ulong4);
   3195 long4 __ovld __cnfn convert_long4_sat_rtp(ulong4);
   3196 long4 __ovld __cnfn convert_long4_rtn(ulong4);
   3197 long4 __ovld __cnfn convert_long4_sat_rtn(ulong4);
   3198 long4 __ovld __cnfn convert_long4(ulong4);
   3199 long4 __ovld __cnfn convert_long4_sat(ulong4);
   3200 long4 __ovld __cnfn convert_long4_rte(float4);
   3201 long4 __ovld __cnfn convert_long4_sat_rte(float4);
   3202 long4 __ovld __cnfn convert_long4_rtz(float4);
   3203 long4 __ovld __cnfn convert_long4_sat_rtz(float4);
   3204 long4 __ovld __cnfn convert_long4_rtp(float4);
   3205 long4 __ovld __cnfn convert_long4_sat_rtp(float4);
   3206 long4 __ovld __cnfn convert_long4_rtn(float4);
   3207 long4 __ovld __cnfn convert_long4_sat_rtn(float4);
   3208 long4 __ovld __cnfn convert_long4(float4);
   3209 long4 __ovld __cnfn convert_long4_sat(float4);
   3210 ulong4 __ovld __cnfn convert_ulong4_rte(char4);
   3211 ulong4 __ovld __cnfn convert_ulong4_sat_rte(char4);
   3212 ulong4 __ovld __cnfn convert_ulong4_rtz(char4);
   3213 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(char4);
   3214 ulong4 __ovld __cnfn convert_ulong4_rtp(char4);
   3215 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(char4);
   3216 ulong4 __ovld __cnfn convert_ulong4_rtn(char4);
   3217 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(char4);
   3218 ulong4 __ovld __cnfn convert_ulong4(char4);
   3219 ulong4 __ovld __cnfn convert_ulong4_sat(char4);
   3220 ulong4 __ovld __cnfn convert_ulong4_rte(uchar4);
   3221 ulong4 __ovld __cnfn convert_ulong4_sat_rte(uchar4);
   3222 ulong4 __ovld __cnfn convert_ulong4_rtz(uchar4);
   3223 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uchar4);
   3224 ulong4 __ovld __cnfn convert_ulong4_rtp(uchar4);
   3225 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uchar4);
   3226 ulong4 __ovld __cnfn convert_ulong4_rtn(uchar4);
   3227 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uchar4);
   3228 ulong4 __ovld __cnfn convert_ulong4(uchar4);
   3229 ulong4 __ovld __cnfn convert_ulong4_sat(uchar4);
   3230 ulong4 __ovld __cnfn convert_ulong4_rte(short4);
   3231 ulong4 __ovld __cnfn convert_ulong4_sat_rte(short4);
   3232 ulong4 __ovld __cnfn convert_ulong4_rtz(short4);
   3233 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(short4);
   3234 ulong4 __ovld __cnfn convert_ulong4_rtp(short4);
   3235 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(short4);
   3236 ulong4 __ovld __cnfn convert_ulong4_rtn(short4);
   3237 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(short4);
   3238 ulong4 __ovld __cnfn convert_ulong4(short4);
   3239 ulong4 __ovld __cnfn convert_ulong4_sat(short4);
   3240 ulong4 __ovld __cnfn convert_ulong4_rte(ushort4);
   3241 ulong4 __ovld __cnfn convert_ulong4_sat_rte(ushort4);
   3242 ulong4 __ovld __cnfn convert_ulong4_rtz(ushort4);
   3243 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ushort4);
   3244 ulong4 __ovld __cnfn convert_ulong4_rtp(ushort4);
   3245 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ushort4);
   3246 ulong4 __ovld __cnfn convert_ulong4_rtn(ushort4);
   3247 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ushort4);
   3248 ulong4 __ovld __cnfn convert_ulong4(ushort4);
   3249 ulong4 __ovld __cnfn convert_ulong4_sat(ushort4);
   3250 ulong4 __ovld __cnfn convert_ulong4_rte(int4);
   3251 ulong4 __ovld __cnfn convert_ulong4_sat_rte(int4);
   3252 ulong4 __ovld __cnfn convert_ulong4_rtz(int4);
   3253 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(int4);
   3254 ulong4 __ovld __cnfn convert_ulong4_rtp(int4);
   3255 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(int4);
   3256 ulong4 __ovld __cnfn convert_ulong4_rtn(int4);
   3257 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(int4);
   3258 ulong4 __ovld __cnfn convert_ulong4(int4);
   3259 ulong4 __ovld __cnfn convert_ulong4_sat(int4);
   3260 ulong4 __ovld __cnfn convert_ulong4_rte(uint4);
   3261 ulong4 __ovld __cnfn convert_ulong4_sat_rte(uint4);
   3262 ulong4 __ovld __cnfn convert_ulong4_rtz(uint4);
   3263 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uint4);
   3264 ulong4 __ovld __cnfn convert_ulong4_rtp(uint4);
   3265 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uint4);
   3266 ulong4 __ovld __cnfn convert_ulong4_rtn(uint4);
   3267 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uint4);
   3268 ulong4 __ovld __cnfn convert_ulong4(uint4);
   3269 ulong4 __ovld __cnfn convert_ulong4_sat(uint4);
   3270 ulong4 __ovld __cnfn convert_ulong4_rte(long4);
   3271 ulong4 __ovld __cnfn convert_ulong4_sat_rte(long4);
   3272 ulong4 __ovld __cnfn convert_ulong4_rtz(long4);
   3273 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(long4);
   3274 ulong4 __ovld __cnfn convert_ulong4_rtp(long4);
   3275 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(long4);
   3276 ulong4 __ovld __cnfn convert_ulong4_rtn(long4);
   3277 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(long4);
   3278 ulong4 __ovld __cnfn convert_ulong4(long4);
   3279 ulong4 __ovld __cnfn convert_ulong4_sat(long4);
   3280 ulong4 __ovld __cnfn convert_ulong4_rte(ulong4);
   3281 ulong4 __ovld __cnfn convert_ulong4_sat_rte(ulong4);
   3282 ulong4 __ovld __cnfn convert_ulong4_rtz(ulong4);
   3283 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ulong4);
   3284 ulong4 __ovld __cnfn convert_ulong4_rtp(ulong4);
   3285 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ulong4);
   3286 ulong4 __ovld __cnfn convert_ulong4_rtn(ulong4);
   3287 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ulong4);
   3288 ulong4 __ovld __cnfn convert_ulong4(ulong4);
   3289 ulong4 __ovld __cnfn convert_ulong4_sat(ulong4);
   3290 ulong4 __ovld __cnfn convert_ulong4_rte(float4);
   3291 ulong4 __ovld __cnfn convert_ulong4_sat_rte(float4);
   3292 ulong4 __ovld __cnfn convert_ulong4_rtz(float4);
   3293 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(float4);
   3294 ulong4 __ovld __cnfn convert_ulong4_rtp(float4);
   3295 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(float4);
   3296 ulong4 __ovld __cnfn convert_ulong4_rtn(float4);
   3297 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(float4);
   3298 ulong4 __ovld __cnfn convert_ulong4(float4);
   3299 ulong4 __ovld __cnfn convert_ulong4_sat(float4);
   3300 float4 __ovld __cnfn convert_float4_rte(char4);
   3301 float4 __ovld __cnfn convert_float4_rtz(char4);
   3302 float4 __ovld __cnfn convert_float4_rtp(char4);
   3303 float4 __ovld __cnfn convert_float4_rtn(char4);
   3304 float4 __ovld __cnfn convert_float4(char4);
   3305 float4 __ovld __cnfn convert_float4_rte(uchar4);
   3306 float4 __ovld __cnfn convert_float4_rtz(uchar4);
   3307 float4 __ovld __cnfn convert_float4_rtp(uchar4);
   3308 float4 __ovld __cnfn convert_float4_rtn(uchar4);
   3309 float4 __ovld __cnfn convert_float4(uchar4);
   3310 float4 __ovld __cnfn convert_float4_rte(short4);
   3311 float4 __ovld __cnfn convert_float4_rtz(short4);
   3312 float4 __ovld __cnfn convert_float4_rtp(short4);
   3313 float4 __ovld __cnfn convert_float4_rtn(short4);
   3314 float4 __ovld __cnfn convert_float4(short4);
   3315 float4 __ovld __cnfn convert_float4_rte(ushort4);
   3316 float4 __ovld __cnfn convert_float4_rtz(ushort4);
   3317 float4 __ovld __cnfn convert_float4_rtp(ushort4);
   3318 float4 __ovld __cnfn convert_float4_rtn(ushort4);
   3319 float4 __ovld __cnfn convert_float4(ushort4);
   3320 float4 __ovld __cnfn convert_float4_rte(int4);
   3321 float4 __ovld __cnfn convert_float4_rtz(int4);
   3322 float4 __ovld __cnfn convert_float4_rtp(int4);
   3323 float4 __ovld __cnfn convert_float4_rtn(int4);
   3324 float4 __ovld __cnfn convert_float4(int4);
   3325 float4 __ovld __cnfn convert_float4_rte(uint4);
   3326 float4 __ovld __cnfn convert_float4_rtz(uint4);
   3327 float4 __ovld __cnfn convert_float4_rtp(uint4);
   3328 float4 __ovld __cnfn convert_float4_rtn(uint4);
   3329 float4 __ovld __cnfn convert_float4(uint4);
   3330 float4 __ovld __cnfn convert_float4_rte(long4);
   3331 float4 __ovld __cnfn convert_float4_rtz(long4);
   3332 float4 __ovld __cnfn convert_float4_rtp(long4);
   3333 float4 __ovld __cnfn convert_float4_rtn(long4);
   3334 float4 __ovld __cnfn convert_float4(long4);
   3335 float4 __ovld __cnfn convert_float4_rte(ulong4);
   3336 float4 __ovld __cnfn convert_float4_rtz(ulong4);
   3337 float4 __ovld __cnfn convert_float4_rtp(ulong4);
   3338 float4 __ovld __cnfn convert_float4_rtn(ulong4);
   3339 float4 __ovld __cnfn convert_float4(ulong4);
   3340 float4 __ovld __cnfn convert_float4_rte(float4);
   3341 float4 __ovld __cnfn convert_float4_rtz(float4);
   3342 float4 __ovld __cnfn convert_float4_rtp(float4);
   3343 float4 __ovld __cnfn convert_float4_rtn(float4);
   3344 float4 __ovld __cnfn convert_float4(float4);
   3345 char8 __ovld __cnfn convert_char8_rte(char8);
   3346 char8 __ovld __cnfn convert_char8_sat_rte(char8);
   3347 char8 __ovld __cnfn convert_char8_rtz(char8);
   3348 char8 __ovld __cnfn convert_char8_sat_rtz(char8);
   3349 char8 __ovld __cnfn convert_char8_rtp(char8);
   3350 char8 __ovld __cnfn convert_char8_sat_rtp(char8);
   3351 char8 __ovld __cnfn convert_char8_rtn(char8);
   3352 char8 __ovld __cnfn convert_char8_sat_rtn(char8);
   3353 char8 __ovld __cnfn convert_char8(char8);
   3354 char8 __ovld __cnfn convert_char8_sat(char8);
   3355 char8 __ovld __cnfn convert_char8_rte(uchar8);
   3356 char8 __ovld __cnfn convert_char8_sat_rte(uchar8);
   3357 char8 __ovld __cnfn convert_char8_rtz(uchar8);
   3358 char8 __ovld __cnfn convert_char8_sat_rtz(uchar8);
   3359 char8 __ovld __cnfn convert_char8_rtp(uchar8);
   3360 char8 __ovld __cnfn convert_char8_sat_rtp(uchar8);
   3361 char8 __ovld __cnfn convert_char8_rtn(uchar8);
   3362 char8 __ovld __cnfn convert_char8_sat_rtn(uchar8);
   3363 char8 __ovld __cnfn convert_char8(uchar8);
   3364 char8 __ovld __cnfn convert_char8_sat(uchar8);
   3365 char8 __ovld __cnfn convert_char8_rte(short8);
   3366 char8 __ovld __cnfn convert_char8_sat_rte(short8);
   3367 char8 __ovld __cnfn convert_char8_rtz(short8);
   3368 char8 __ovld __cnfn convert_char8_sat_rtz(short8);
   3369 char8 __ovld __cnfn convert_char8_rtp(short8);
   3370 char8 __ovld __cnfn convert_char8_sat_rtp(short8);
   3371 char8 __ovld __cnfn convert_char8_rtn(short8);
   3372 char8 __ovld __cnfn convert_char8_sat_rtn(short8);
   3373 char8 __ovld __cnfn convert_char8(short8);
   3374 char8 __ovld __cnfn convert_char8_sat(short8);
   3375 char8 __ovld __cnfn convert_char8_rte(ushort8);
   3376 char8 __ovld __cnfn convert_char8_sat_rte(ushort8);
   3377 char8 __ovld __cnfn convert_char8_rtz(ushort8);
   3378 char8 __ovld __cnfn convert_char8_sat_rtz(ushort8);
   3379 char8 __ovld __cnfn convert_char8_rtp(ushort8);
   3380 char8 __ovld __cnfn convert_char8_sat_rtp(ushort8);
   3381 char8 __ovld __cnfn convert_char8_rtn(ushort8);
   3382 char8 __ovld __cnfn convert_char8_sat_rtn(ushort8);
   3383 char8 __ovld __cnfn convert_char8(ushort8);
   3384 char8 __ovld __cnfn convert_char8_sat(ushort8);
   3385 char8 __ovld __cnfn convert_char8_rte(int8);
   3386 char8 __ovld __cnfn convert_char8_sat_rte(int8);
   3387 char8 __ovld __cnfn convert_char8_rtz(int8);
   3388 char8 __ovld __cnfn convert_char8_sat_rtz(int8);
   3389 char8 __ovld __cnfn convert_char8_rtp(int8);
   3390 char8 __ovld __cnfn convert_char8_sat_rtp(int8);
   3391 char8 __ovld __cnfn convert_char8_rtn(int8);
   3392 char8 __ovld __cnfn convert_char8_sat_rtn(int8);
   3393 char8 __ovld __cnfn convert_char8(int8);
   3394 char8 __ovld __cnfn convert_char8_sat(int8);
   3395 char8 __ovld __cnfn convert_char8_rte(uint8);
   3396 char8 __ovld __cnfn convert_char8_sat_rte(uint8);
   3397 char8 __ovld __cnfn convert_char8_rtz(uint8);
   3398 char8 __ovld __cnfn convert_char8_sat_rtz(uint8);
   3399 char8 __ovld __cnfn convert_char8_rtp(uint8);
   3400 char8 __ovld __cnfn convert_char8_sat_rtp(uint8);
   3401 char8 __ovld __cnfn convert_char8_rtn(uint8);
   3402 char8 __ovld __cnfn convert_char8_sat_rtn(uint8);
   3403 char8 __ovld __cnfn convert_char8(uint8);
   3404 char8 __ovld __cnfn convert_char8_sat(uint8);
   3405 char8 __ovld __cnfn convert_char8_rte(long8);
   3406 char8 __ovld __cnfn convert_char8_sat_rte(long8);
   3407 char8 __ovld __cnfn convert_char8_rtz(long8);
   3408 char8 __ovld __cnfn convert_char8_sat_rtz(long8);
   3409 char8 __ovld __cnfn convert_char8_rtp(long8);
   3410 char8 __ovld __cnfn convert_char8_sat_rtp(long8);
   3411 char8 __ovld __cnfn convert_char8_rtn(long8);
   3412 char8 __ovld __cnfn convert_char8_sat_rtn(long8);
   3413 char8 __ovld __cnfn convert_char8(long8);
   3414 char8 __ovld __cnfn convert_char8_sat(long8);
   3415 char8 __ovld __cnfn convert_char8_rte(ulong8);
   3416 char8 __ovld __cnfn convert_char8_sat_rte(ulong8);
   3417 char8 __ovld __cnfn convert_char8_rtz(ulong8);
   3418 char8 __ovld __cnfn convert_char8_sat_rtz(ulong8);
   3419 char8 __ovld __cnfn convert_char8_rtp(ulong8);
   3420 char8 __ovld __cnfn convert_char8_sat_rtp(ulong8);
   3421 char8 __ovld __cnfn convert_char8_rtn(ulong8);
   3422 char8 __ovld __cnfn convert_char8_sat_rtn(ulong8);
   3423 char8 __ovld __cnfn convert_char8(ulong8);
   3424 char8 __ovld __cnfn convert_char8_sat(ulong8);
   3425 char8 __ovld __cnfn convert_char8_rte(float8);
   3426 char8 __ovld __cnfn convert_char8_sat_rte(float8);
   3427 char8 __ovld __cnfn convert_char8_rtz(float8);
   3428 char8 __ovld __cnfn convert_char8_sat_rtz(float8);
   3429 char8 __ovld __cnfn convert_char8_rtp(float8);
   3430 char8 __ovld __cnfn convert_char8_sat_rtp(float8);
   3431 char8 __ovld __cnfn convert_char8_rtn(float8);
   3432 char8 __ovld __cnfn convert_char8_sat_rtn(float8);
   3433 char8 __ovld __cnfn convert_char8(float8);
   3434 char8 __ovld __cnfn convert_char8_sat(float8);
   3435 uchar8 __ovld __cnfn convert_uchar8_rte(char8);
   3436 uchar8 __ovld __cnfn convert_uchar8_sat_rte(char8);
   3437 uchar8 __ovld __cnfn convert_uchar8_rtz(char8);
   3438 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(char8);
   3439 uchar8 __ovld __cnfn convert_uchar8_rtp(char8);
   3440 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(char8);
   3441 uchar8 __ovld __cnfn convert_uchar8_rtn(char8);
   3442 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(char8);
   3443 uchar8 __ovld __cnfn convert_uchar8(char8);
   3444 uchar8 __ovld __cnfn convert_uchar8_sat(char8);
   3445 uchar8 __ovld __cnfn convert_uchar8_rte(uchar8);
   3446 uchar8 __ovld __cnfn convert_uchar8_sat_rte(uchar8);
   3447 uchar8 __ovld __cnfn convert_uchar8_rtz(uchar8);
   3448 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uchar8);
   3449 uchar8 __ovld __cnfn convert_uchar8_rtp(uchar8);
   3450 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uchar8);
   3451 uchar8 __ovld __cnfn convert_uchar8_rtn(uchar8);
   3452 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uchar8);
   3453 uchar8 __ovld __cnfn convert_uchar8(uchar8);
   3454 uchar8 __ovld __cnfn convert_uchar8_sat(uchar8);
   3455 uchar8 __ovld __cnfn convert_uchar8_rte(short8);
   3456 uchar8 __ovld __cnfn convert_uchar8_sat_rte(short8);
   3457 uchar8 __ovld __cnfn convert_uchar8_rtz(short8);
   3458 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(short8);
   3459 uchar8 __ovld __cnfn convert_uchar8_rtp(short8);
   3460 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(short8);
   3461 uchar8 __ovld __cnfn convert_uchar8_rtn(short8);
   3462 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(short8);
   3463 uchar8 __ovld __cnfn convert_uchar8(short8);
   3464 uchar8 __ovld __cnfn convert_uchar8_sat(short8);
   3465 uchar8 __ovld __cnfn convert_uchar8_rte(ushort8);
   3466 uchar8 __ovld __cnfn convert_uchar8_sat_rte(ushort8);
   3467 uchar8 __ovld __cnfn convert_uchar8_rtz(ushort8);
   3468 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ushort8);
   3469 uchar8 __ovld __cnfn convert_uchar8_rtp(ushort8);
   3470 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ushort8);
   3471 uchar8 __ovld __cnfn convert_uchar8_rtn(ushort8);
   3472 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ushort8);
   3473 uchar8 __ovld __cnfn convert_uchar8(ushort8);
   3474 uchar8 __ovld __cnfn convert_uchar8_sat(ushort8);
   3475 uchar8 __ovld __cnfn convert_uchar8_rte(int8);
   3476 uchar8 __ovld __cnfn convert_uchar8_sat_rte(int8);
   3477 uchar8 __ovld __cnfn convert_uchar8_rtz(int8);
   3478 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(int8);
   3479 uchar8 __ovld __cnfn convert_uchar8_rtp(int8);
   3480 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(int8);
   3481 uchar8 __ovld __cnfn convert_uchar8_rtn(int8);
   3482 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(int8);
   3483 uchar8 __ovld __cnfn convert_uchar8(int8);
   3484 uchar8 __ovld __cnfn convert_uchar8_sat(int8);
   3485 uchar8 __ovld __cnfn convert_uchar8_rte(uint8);
   3486 uchar8 __ovld __cnfn convert_uchar8_sat_rte(uint8);
   3487 uchar8 __ovld __cnfn convert_uchar8_rtz(uint8);
   3488 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uint8);
   3489 uchar8 __ovld __cnfn convert_uchar8_rtp(uint8);
   3490 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uint8);
   3491 uchar8 __ovld __cnfn convert_uchar8_rtn(uint8);
   3492 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uint8);
   3493 uchar8 __ovld __cnfn convert_uchar8(uint8);
   3494 uchar8 __ovld __cnfn convert_uchar8_sat(uint8);
   3495 uchar8 __ovld __cnfn convert_uchar8_rte(long8);
   3496 uchar8 __ovld __cnfn convert_uchar8_sat_rte(long8);
   3497 uchar8 __ovld __cnfn convert_uchar8_rtz(long8);
   3498 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(long8);
   3499 uchar8 __ovld __cnfn convert_uchar8_rtp(long8);
   3500 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(long8);
   3501 uchar8 __ovld __cnfn convert_uchar8_rtn(long8);
   3502 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(long8);
   3503 uchar8 __ovld __cnfn convert_uchar8(long8);
   3504 uchar8 __ovld __cnfn convert_uchar8_sat(long8);
   3505 uchar8 __ovld __cnfn convert_uchar8_rte(ulong8);
   3506 uchar8 __ovld __cnfn convert_uchar8_sat_rte(ulong8);
   3507 uchar8 __ovld __cnfn convert_uchar8_rtz(ulong8);
   3508 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ulong8);
   3509 uchar8 __ovld __cnfn convert_uchar8_rtp(ulong8);
   3510 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ulong8);
   3511 uchar8 __ovld __cnfn convert_uchar8_rtn(ulong8);
   3512 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ulong8);
   3513 uchar8 __ovld __cnfn convert_uchar8(ulong8);
   3514 uchar8 __ovld __cnfn convert_uchar8_sat(ulong8);
   3515 uchar8 __ovld __cnfn convert_uchar8_rte(float8);
   3516 uchar8 __ovld __cnfn convert_uchar8_sat_rte(float8);
   3517 uchar8 __ovld __cnfn convert_uchar8_rtz(float8);
   3518 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(float8);
   3519 uchar8 __ovld __cnfn convert_uchar8_rtp(float8);
   3520 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(float8);
   3521 uchar8 __ovld __cnfn convert_uchar8_rtn(float8);
   3522 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(float8);
   3523 uchar8 __ovld __cnfn convert_uchar8(float8);
   3524 uchar8 __ovld __cnfn convert_uchar8_sat(float8);
   3525 short8 __ovld __cnfn convert_short8_rte(char8);
   3526 short8 __ovld __cnfn convert_short8_sat_rte(char8);
   3527 short8 __ovld __cnfn convert_short8_rtz(char8);
   3528 short8 __ovld __cnfn convert_short8_sat_rtz(char8);
   3529 short8 __ovld __cnfn convert_short8_rtp(char8);
   3530 short8 __ovld __cnfn convert_short8_sat_rtp(char8);
   3531 short8 __ovld __cnfn convert_short8_rtn(char8);
   3532 short8 __ovld __cnfn convert_short8_sat_rtn(char8);
   3533 short8 __ovld __cnfn convert_short8(char8);
   3534 short8 __ovld __cnfn convert_short8_sat(char8);
   3535 short8 __ovld __cnfn convert_short8_rte(uchar8);
   3536 short8 __ovld __cnfn convert_short8_sat_rte(uchar8);
   3537 short8 __ovld __cnfn convert_short8_rtz(uchar8);
   3538 short8 __ovld __cnfn convert_short8_sat_rtz(uchar8);
   3539 short8 __ovld __cnfn convert_short8_rtp(uchar8);
   3540 short8 __ovld __cnfn convert_short8_sat_rtp(uchar8);
   3541 short8 __ovld __cnfn convert_short8_rtn(uchar8);
   3542 short8 __ovld __cnfn convert_short8_sat_rtn(uchar8);
   3543 short8 __ovld __cnfn convert_short8(uchar8);
   3544 short8 __ovld __cnfn convert_short8_sat(uchar8);
   3545 short8 __ovld __cnfn convert_short8_rte(short8);
   3546 short8 __ovld __cnfn convert_short8_sat_rte(short8);
   3547 short8 __ovld __cnfn convert_short8_rtz(short8);
   3548 short8 __ovld __cnfn convert_short8_sat_rtz(short8);
   3549 short8 __ovld __cnfn convert_short8_rtp(short8);
   3550 short8 __ovld __cnfn convert_short8_sat_rtp(short8);
   3551 short8 __ovld __cnfn convert_short8_rtn(short8);
   3552 short8 __ovld __cnfn convert_short8_sat_rtn(short8);
   3553 short8 __ovld __cnfn convert_short8(short8);
   3554 short8 __ovld __cnfn convert_short8_sat(short8);
   3555 short8 __ovld __cnfn convert_short8_rte(ushort8);
   3556 short8 __ovld __cnfn convert_short8_sat_rte(ushort8);
   3557 short8 __ovld __cnfn convert_short8_rtz(ushort8);
   3558 short8 __ovld __cnfn convert_short8_sat_rtz(ushort8);
   3559 short8 __ovld __cnfn convert_short8_rtp(ushort8);
   3560 short8 __ovld __cnfn convert_short8_sat_rtp(ushort8);
   3561 short8 __ovld __cnfn convert_short8_rtn(ushort8);
   3562 short8 __ovld __cnfn convert_short8_sat_rtn(ushort8);
   3563 short8 __ovld __cnfn convert_short8(ushort8);
   3564 short8 __ovld __cnfn convert_short8_sat(ushort8);
   3565 short8 __ovld __cnfn convert_short8_rte(int8);
   3566 short8 __ovld __cnfn convert_short8_sat_rte(int8);
   3567 short8 __ovld __cnfn convert_short8_rtz(int8);
   3568 short8 __ovld __cnfn convert_short8_sat_rtz(int8);
   3569 short8 __ovld __cnfn convert_short8_rtp(int8);
   3570 short8 __ovld __cnfn convert_short8_sat_rtp(int8);
   3571 short8 __ovld __cnfn convert_short8_rtn(int8);
   3572 short8 __ovld __cnfn convert_short8_sat_rtn(int8);
   3573 short8 __ovld __cnfn convert_short8(int8);
   3574 short8 __ovld __cnfn convert_short8_sat(int8);
   3575 short8 __ovld __cnfn convert_short8_rte(uint8);
   3576 short8 __ovld __cnfn convert_short8_sat_rte(uint8);
   3577 short8 __ovld __cnfn convert_short8_rtz(uint8);
   3578 short8 __ovld __cnfn convert_short8_sat_rtz(uint8);
   3579 short8 __ovld __cnfn convert_short8_rtp(uint8);
   3580 short8 __ovld __cnfn convert_short8_sat_rtp(uint8);
   3581 short8 __ovld __cnfn convert_short8_rtn(uint8);
   3582 short8 __ovld __cnfn convert_short8_sat_rtn(uint8);
   3583 short8 __ovld __cnfn convert_short8(uint8);
   3584 short8 __ovld __cnfn convert_short8_sat(uint8);
   3585 short8 __ovld __cnfn convert_short8_rte(long8);
   3586 short8 __ovld __cnfn convert_short8_sat_rte(long8);
   3587 short8 __ovld __cnfn convert_short8_rtz(long8);
   3588 short8 __ovld __cnfn convert_short8_sat_rtz(long8);
   3589 short8 __ovld __cnfn convert_short8_rtp(long8);
   3590 short8 __ovld __cnfn convert_short8_sat_rtp(long8);
   3591 short8 __ovld __cnfn convert_short8_rtn(long8);
   3592 short8 __ovld __cnfn convert_short8_sat_rtn(long8);
   3593 short8 __ovld __cnfn convert_short8(long8);
   3594 short8 __ovld __cnfn convert_short8_sat(long8);
   3595 short8 __ovld __cnfn convert_short8_rte(ulong8);
   3596 short8 __ovld __cnfn convert_short8_sat_rte(ulong8);
   3597 short8 __ovld __cnfn convert_short8_rtz(ulong8);
   3598 short8 __ovld __cnfn convert_short8_sat_rtz(ulong8);
   3599 short8 __ovld __cnfn convert_short8_rtp(ulong8);
   3600 short8 __ovld __cnfn convert_short8_sat_rtp(ulong8);
   3601 short8 __ovld __cnfn convert_short8_rtn(ulong8);
   3602 short8 __ovld __cnfn convert_short8_sat_rtn(ulong8);
   3603 short8 __ovld __cnfn convert_short8(ulong8);
   3604 short8 __ovld __cnfn convert_short8_sat(ulong8);
   3605 short8 __ovld __cnfn convert_short8_rte(float8);
   3606 short8 __ovld __cnfn convert_short8_sat_rte(float8);
   3607 short8 __ovld __cnfn convert_short8_rtz(float8);
   3608 short8 __ovld __cnfn convert_short8_sat_rtz(float8);
   3609 short8 __ovld __cnfn convert_short8_rtp(float8);
   3610 short8 __ovld __cnfn convert_short8_sat_rtp(float8);
   3611 short8 __ovld __cnfn convert_short8_rtn(float8);
   3612 short8 __ovld __cnfn convert_short8_sat_rtn(float8);
   3613 short8 __ovld __cnfn convert_short8(float8);
   3614 short8 __ovld __cnfn convert_short8_sat(float8);
   3615 ushort8 __ovld __cnfn convert_ushort8_rte(char8);
   3616 ushort8 __ovld __cnfn convert_ushort8_sat_rte(char8);
   3617 ushort8 __ovld __cnfn convert_ushort8_rtz(char8);
   3618 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(char8);
   3619 ushort8 __ovld __cnfn convert_ushort8_rtp(char8);
   3620 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(char8);
   3621 ushort8 __ovld __cnfn convert_ushort8_rtn(char8);
   3622 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(char8);
   3623 ushort8 __ovld __cnfn convert_ushort8(char8);
   3624 ushort8 __ovld __cnfn convert_ushort8_sat(char8);
   3625 ushort8 __ovld __cnfn convert_ushort8_rte(uchar8);
   3626 ushort8 __ovld __cnfn convert_ushort8_sat_rte(uchar8);
   3627 ushort8 __ovld __cnfn convert_ushort8_rtz(uchar8);
   3628 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uchar8);
   3629 ushort8 __ovld __cnfn convert_ushort8_rtp(uchar8);
   3630 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uchar8);
   3631 ushort8 __ovld __cnfn convert_ushort8_rtn(uchar8);
   3632 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uchar8);
   3633 ushort8 __ovld __cnfn convert_ushort8(uchar8);
   3634 ushort8 __ovld __cnfn convert_ushort8_sat(uchar8);
   3635 ushort8 __ovld __cnfn convert_ushort8_rte(short8);
   3636 ushort8 __ovld __cnfn convert_ushort8_sat_rte(short8);
   3637 ushort8 __ovld __cnfn convert_ushort8_rtz(short8);
   3638 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(short8);
   3639 ushort8 __ovld __cnfn convert_ushort8_rtp(short8);
   3640 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(short8);
   3641 ushort8 __ovld __cnfn convert_ushort8_rtn(short8);
   3642 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(short8);
   3643 ushort8 __ovld __cnfn convert_ushort8(short8);
   3644 ushort8 __ovld __cnfn convert_ushort8_sat(short8);
   3645 ushort8 __ovld __cnfn convert_ushort8_rte(ushort8);
   3646 ushort8 __ovld __cnfn convert_ushort8_sat_rte(ushort8);
   3647 ushort8 __ovld __cnfn convert_ushort8_rtz(ushort8);
   3648 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ushort8);
   3649 ushort8 __ovld __cnfn convert_ushort8_rtp(ushort8);
   3650 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ushort8);
   3651 ushort8 __ovld __cnfn convert_ushort8_rtn(ushort8);
   3652 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ushort8);
   3653 ushort8 __ovld __cnfn convert_ushort8(ushort8);
   3654 ushort8 __ovld __cnfn convert_ushort8_sat(ushort8);
   3655 ushort8 __ovld __cnfn convert_ushort8_rte(int8);
   3656 ushort8 __ovld __cnfn convert_ushort8_sat_rte(int8);
   3657 ushort8 __ovld __cnfn convert_ushort8_rtz(int8);
   3658 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(int8);
   3659 ushort8 __ovld __cnfn convert_ushort8_rtp(int8);
   3660 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(int8);
   3661 ushort8 __ovld __cnfn convert_ushort8_rtn(int8);
   3662 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(int8);
   3663 ushort8 __ovld __cnfn convert_ushort8(int8);
   3664 ushort8 __ovld __cnfn convert_ushort8_sat(int8);
   3665 ushort8 __ovld __cnfn convert_ushort8_rte(uint8);
   3666 ushort8 __ovld __cnfn convert_ushort8_sat_rte(uint8);
   3667 ushort8 __ovld __cnfn convert_ushort8_rtz(uint8);
   3668 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uint8);
   3669 ushort8 __ovld __cnfn convert_ushort8_rtp(uint8);
   3670 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uint8);
   3671 ushort8 __ovld __cnfn convert_ushort8_rtn(uint8);
   3672 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uint8);
   3673 ushort8 __ovld __cnfn convert_ushort8(uint8);
   3674 ushort8 __ovld __cnfn convert_ushort8_sat(uint8);
   3675 ushort8 __ovld __cnfn convert_ushort8_rte(long8);
   3676 ushort8 __ovld __cnfn convert_ushort8_sat_rte(long8);
   3677 ushort8 __ovld __cnfn convert_ushort8_rtz(long8);
   3678 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(long8);
   3679 ushort8 __ovld __cnfn convert_ushort8_rtp(long8);
   3680 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(long8);
   3681 ushort8 __ovld __cnfn convert_ushort8_rtn(long8);
   3682 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(long8);
   3683 ushort8 __ovld __cnfn convert_ushort8(long8);
   3684 ushort8 __ovld __cnfn convert_ushort8_sat(long8);
   3685 ushort8 __ovld __cnfn convert_ushort8_rte(ulong8);
   3686 ushort8 __ovld __cnfn convert_ushort8_sat_rte(ulong8);
   3687 ushort8 __ovld __cnfn convert_ushort8_rtz(ulong8);
   3688 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ulong8);
   3689 ushort8 __ovld __cnfn convert_ushort8_rtp(ulong8);
   3690 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ulong8);
   3691 ushort8 __ovld __cnfn convert_ushort8_rtn(ulong8);
   3692 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ulong8);
   3693 ushort8 __ovld __cnfn convert_ushort8(ulong8);
   3694 ushort8 __ovld __cnfn convert_ushort8_sat(ulong8);
   3695 ushort8 __ovld __cnfn convert_ushort8_rte(float8);
   3696 ushort8 __ovld __cnfn convert_ushort8_sat_rte(float8);
   3697 ushort8 __ovld __cnfn convert_ushort8_rtz(float8);
   3698 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(float8);
   3699 ushort8 __ovld __cnfn convert_ushort8_rtp(float8);
   3700 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(float8);
   3701 ushort8 __ovld __cnfn convert_ushort8_rtn(float8);
   3702 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(float8);
   3703 ushort8 __ovld __cnfn convert_ushort8(float8);
   3704 ushort8 __ovld __cnfn convert_ushort8_sat(float8);
   3705 int8 __ovld __cnfn convert_int8_rte(char8);
   3706 int8 __ovld __cnfn convert_int8_sat_rte(char8);
   3707 int8 __ovld __cnfn convert_int8_rtz(char8);
   3708 int8 __ovld __cnfn convert_int8_sat_rtz(char8);
   3709 int8 __ovld __cnfn convert_int8_rtp(char8);
   3710 int8 __ovld __cnfn convert_int8_sat_rtp(char8);
   3711 int8 __ovld __cnfn convert_int8_rtn(char8);
   3712 int8 __ovld __cnfn convert_int8_sat_rtn(char8);
   3713 int8 __ovld __cnfn convert_int8(char8);
   3714 int8 __ovld __cnfn convert_int8_sat(char8);
   3715 int8 __ovld __cnfn convert_int8_rte(uchar8);
   3716 int8 __ovld __cnfn convert_int8_sat_rte(uchar8);
   3717 int8 __ovld __cnfn convert_int8_rtz(uchar8);
   3718 int8 __ovld __cnfn convert_int8_sat_rtz(uchar8);
   3719 int8 __ovld __cnfn convert_int8_rtp(uchar8);
   3720 int8 __ovld __cnfn convert_int8_sat_rtp(uchar8);
   3721 int8 __ovld __cnfn convert_int8_rtn(uchar8);
   3722 int8 __ovld __cnfn convert_int8_sat_rtn(uchar8);
   3723 int8 __ovld __cnfn convert_int8(uchar8);
   3724 int8 __ovld __cnfn convert_int8_sat(uchar8);
   3725 int8 __ovld __cnfn convert_int8_rte(short8);
   3726 int8 __ovld __cnfn convert_int8_sat_rte(short8);
   3727 int8 __ovld __cnfn convert_int8_rtz(short8);
   3728 int8 __ovld __cnfn convert_int8_sat_rtz(short8);
   3729 int8 __ovld __cnfn convert_int8_rtp(short8);
   3730 int8 __ovld __cnfn convert_int8_sat_rtp(short8);
   3731 int8 __ovld __cnfn convert_int8_rtn(short8);
   3732 int8 __ovld __cnfn convert_int8_sat_rtn(short8);
   3733 int8 __ovld __cnfn convert_int8(short8);
   3734 int8 __ovld __cnfn convert_int8_sat(short8);
   3735 int8 __ovld __cnfn convert_int8_rte(ushort8);
   3736 int8 __ovld __cnfn convert_int8_sat_rte(ushort8);
   3737 int8 __ovld __cnfn convert_int8_rtz(ushort8);
   3738 int8 __ovld __cnfn convert_int8_sat_rtz(ushort8);
   3739 int8 __ovld __cnfn convert_int8_rtp(ushort8);
   3740 int8 __ovld __cnfn convert_int8_sat_rtp(ushort8);
   3741 int8 __ovld __cnfn convert_int8_rtn(ushort8);
   3742 int8 __ovld __cnfn convert_int8_sat_rtn(ushort8);
   3743 int8 __ovld __cnfn convert_int8(ushort8);
   3744 int8 __ovld __cnfn convert_int8_sat(ushort8);
   3745 int8 __ovld __cnfn convert_int8_rte(int8);
   3746 int8 __ovld __cnfn convert_int8_sat_rte(int8);
   3747 int8 __ovld __cnfn convert_int8_rtz(int8);
   3748 int8 __ovld __cnfn convert_int8_sat_rtz(int8);
   3749 int8 __ovld __cnfn convert_int8_rtp(int8);
   3750 int8 __ovld __cnfn convert_int8_sat_rtp(int8);
   3751 int8 __ovld __cnfn convert_int8_rtn(int8);
   3752 int8 __ovld __cnfn convert_int8_sat_rtn(int8);
   3753 int8 __ovld __cnfn convert_int8(int8);
   3754 int8 __ovld __cnfn convert_int8_sat(int8);
   3755 int8 __ovld __cnfn convert_int8_rte(uint8);
   3756 int8 __ovld __cnfn convert_int8_sat_rte(uint8);
   3757 int8 __ovld __cnfn convert_int8_rtz(uint8);
   3758 int8 __ovld __cnfn convert_int8_sat_rtz(uint8);
   3759 int8 __ovld __cnfn convert_int8_rtp(uint8);
   3760 int8 __ovld __cnfn convert_int8_sat_rtp(uint8);
   3761 int8 __ovld __cnfn convert_int8_rtn(uint8);
   3762 int8 __ovld __cnfn convert_int8_sat_rtn(uint8);
   3763 int8 __ovld __cnfn convert_int8(uint8);
   3764 int8 __ovld __cnfn convert_int8_sat(uint8);
   3765 int8 __ovld __cnfn convert_int8_rte(long8);
   3766 int8 __ovld __cnfn convert_int8_sat_rte(long8);
   3767 int8 __ovld __cnfn convert_int8_rtz(long8);
   3768 int8 __ovld __cnfn convert_int8_sat_rtz(long8);
   3769 int8 __ovld __cnfn convert_int8_rtp(long8);
   3770 int8 __ovld __cnfn convert_int8_sat_rtp(long8);
   3771 int8 __ovld __cnfn convert_int8_rtn(long8);
   3772 int8 __ovld __cnfn convert_int8_sat_rtn(long8);
   3773 int8 __ovld __cnfn convert_int8(long8);
   3774 int8 __ovld __cnfn convert_int8_sat(long8);
   3775 int8 __ovld __cnfn convert_int8_rte(ulong8);
   3776 int8 __ovld __cnfn convert_int8_sat_rte(ulong8);
   3777 int8 __ovld __cnfn convert_int8_rtz(ulong8);
   3778 int8 __ovld __cnfn convert_int8_sat_rtz(ulong8);
   3779 int8 __ovld __cnfn convert_int8_rtp(ulong8);
   3780 int8 __ovld __cnfn convert_int8_sat_rtp(ulong8);
   3781 int8 __ovld __cnfn convert_int8_rtn(ulong8);
   3782 int8 __ovld __cnfn convert_int8_sat_rtn(ulong8);
   3783 int8 __ovld __cnfn convert_int8(ulong8);
   3784 int8 __ovld __cnfn convert_int8_sat(ulong8);
   3785 int8 __ovld __cnfn convert_int8_rte(float8);
   3786 int8 __ovld __cnfn convert_int8_sat_rte(float8);
   3787 int8 __ovld __cnfn convert_int8_rtz(float8);
   3788 int8 __ovld __cnfn convert_int8_sat_rtz(float8);
   3789 int8 __ovld __cnfn convert_int8_rtp(float8);
   3790 int8 __ovld __cnfn convert_int8_sat_rtp(float8);
   3791 int8 __ovld __cnfn convert_int8_rtn(float8);
   3792 int8 __ovld __cnfn convert_int8_sat_rtn(float8);
   3793 int8 __ovld __cnfn convert_int8(float8);
   3794 int8 __ovld __cnfn convert_int8_sat(float8);
   3795 uint8 __ovld __cnfn convert_uint8_rte(char8);
   3796 uint8 __ovld __cnfn convert_uint8_sat_rte(char8);
   3797 uint8 __ovld __cnfn convert_uint8_rtz(char8);
   3798 uint8 __ovld __cnfn convert_uint8_sat_rtz(char8);
   3799 uint8 __ovld __cnfn convert_uint8_rtp(char8);
   3800 uint8 __ovld __cnfn convert_uint8_sat_rtp(char8);
   3801 uint8 __ovld __cnfn convert_uint8_rtn(char8);
   3802 uint8 __ovld __cnfn convert_uint8_sat_rtn(char8);
   3803 uint8 __ovld __cnfn convert_uint8(char8);
   3804 uint8 __ovld __cnfn convert_uint8_sat(char8);
   3805 uint8 __ovld __cnfn convert_uint8_rte(uchar8);
   3806 uint8 __ovld __cnfn convert_uint8_sat_rte(uchar8);
   3807 uint8 __ovld __cnfn convert_uint8_rtz(uchar8);
   3808 uint8 __ovld __cnfn convert_uint8_sat_rtz(uchar8);
   3809 uint8 __ovld __cnfn convert_uint8_rtp(uchar8);
   3810 uint8 __ovld __cnfn convert_uint8_sat_rtp(uchar8);
   3811 uint8 __ovld __cnfn convert_uint8_rtn(uchar8);
   3812 uint8 __ovld __cnfn convert_uint8_sat_rtn(uchar8);
   3813 uint8 __ovld __cnfn convert_uint8(uchar8);
   3814 uint8 __ovld __cnfn convert_uint8_sat(uchar8);
   3815 uint8 __ovld __cnfn convert_uint8_rte(short8);
   3816 uint8 __ovld __cnfn convert_uint8_sat_rte(short8);
   3817 uint8 __ovld __cnfn convert_uint8_rtz(short8);
   3818 uint8 __ovld __cnfn convert_uint8_sat_rtz(short8);
   3819 uint8 __ovld __cnfn convert_uint8_rtp(short8);
   3820 uint8 __ovld __cnfn convert_uint8_sat_rtp(short8);
   3821 uint8 __ovld __cnfn convert_uint8_rtn(short8);
   3822 uint8 __ovld __cnfn convert_uint8_sat_rtn(short8);
   3823 uint8 __ovld __cnfn convert_uint8(short8);
   3824 uint8 __ovld __cnfn convert_uint8_sat(short8);
   3825 uint8 __ovld __cnfn convert_uint8_rte(ushort8);
   3826 uint8 __ovld __cnfn convert_uint8_sat_rte(ushort8);
   3827 uint8 __ovld __cnfn convert_uint8_rtz(ushort8);
   3828 uint8 __ovld __cnfn convert_uint8_sat_rtz(ushort8);
   3829 uint8 __ovld __cnfn convert_uint8_rtp(ushort8);
   3830 uint8 __ovld __cnfn convert_uint8_sat_rtp(ushort8);
   3831 uint8 __ovld __cnfn convert_uint8_rtn(ushort8);
   3832 uint8 __ovld __cnfn convert_uint8_sat_rtn(ushort8);
   3833 uint8 __ovld __cnfn convert_uint8(ushort8);
   3834 uint8 __ovld __cnfn convert_uint8_sat(ushort8);
   3835 uint8 __ovld __cnfn convert_uint8_rte(int8);
   3836 uint8 __ovld __cnfn convert_uint8_sat_rte(int8);
   3837 uint8 __ovld __cnfn convert_uint8_rtz(int8);
   3838 uint8 __ovld __cnfn convert_uint8_sat_rtz(int8);
   3839 uint8 __ovld __cnfn convert_uint8_rtp(int8);
   3840 uint8 __ovld __cnfn convert_uint8_sat_rtp(int8);
   3841 uint8 __ovld __cnfn convert_uint8_rtn(int8);
   3842 uint8 __ovld __cnfn convert_uint8_sat_rtn(int8);
   3843 uint8 __ovld __cnfn convert_uint8(int8);
   3844 uint8 __ovld __cnfn convert_uint8_sat(int8);
   3845 uint8 __ovld __cnfn convert_uint8_rte(uint8);
   3846 uint8 __ovld __cnfn convert_uint8_sat_rte(uint8);
   3847 uint8 __ovld __cnfn convert_uint8_rtz(uint8);
   3848 uint8 __ovld __cnfn convert_uint8_sat_rtz(uint8);
   3849 uint8 __ovld __cnfn convert_uint8_rtp(uint8);
   3850 uint8 __ovld __cnfn convert_uint8_sat_rtp(uint8);
   3851 uint8 __ovld __cnfn convert_uint8_rtn(uint8);
   3852 uint8 __ovld __cnfn convert_uint8_sat_rtn(uint8);
   3853 uint8 __ovld __cnfn convert_uint8(uint8);
   3854 uint8 __ovld __cnfn convert_uint8_sat(uint8);
   3855 uint8 __ovld __cnfn convert_uint8_rte(long8);
   3856 uint8 __ovld __cnfn convert_uint8_sat_rte(long8);
   3857 uint8 __ovld __cnfn convert_uint8_rtz(long8);
   3858 uint8 __ovld __cnfn convert_uint8_sat_rtz(long8);
   3859 uint8 __ovld __cnfn convert_uint8_rtp(long8);
   3860 uint8 __ovld __cnfn convert_uint8_sat_rtp(long8);
   3861 uint8 __ovld __cnfn convert_uint8_rtn(long8);
   3862 uint8 __ovld __cnfn convert_uint8_sat_rtn(long8);
   3863 uint8 __ovld __cnfn convert_uint8(long8);
   3864 uint8 __ovld __cnfn convert_uint8_sat(long8);
   3865 uint8 __ovld __cnfn convert_uint8_rte(ulong8);
   3866 uint8 __ovld __cnfn convert_uint8_sat_rte(ulong8);
   3867 uint8 __ovld __cnfn convert_uint8_rtz(ulong8);
   3868 uint8 __ovld __cnfn convert_uint8_sat_rtz(ulong8);
   3869 uint8 __ovld __cnfn convert_uint8_rtp(ulong8);
   3870 uint8 __ovld __cnfn convert_uint8_sat_rtp(ulong8);
   3871 uint8 __ovld __cnfn convert_uint8_rtn(ulong8);
   3872 uint8 __ovld __cnfn convert_uint8_sat_rtn(ulong8);
   3873 uint8 __ovld __cnfn convert_uint8(ulong8);
   3874 uint8 __ovld __cnfn convert_uint8_sat(ulong8);
   3875 uint8 __ovld __cnfn convert_uint8_rte(float8);
   3876 uint8 __ovld __cnfn convert_uint8_sat_rte(float8);
   3877 uint8 __ovld __cnfn convert_uint8_rtz(float8);
   3878 uint8 __ovld __cnfn convert_uint8_sat_rtz(float8);
   3879 uint8 __ovld __cnfn convert_uint8_rtp(float8);
   3880 uint8 __ovld __cnfn convert_uint8_sat_rtp(float8);
   3881 uint8 __ovld __cnfn convert_uint8_rtn(float8);
   3882 uint8 __ovld __cnfn convert_uint8_sat_rtn(float8);
   3883 uint8 __ovld __cnfn convert_uint8(float8);
   3884 uint8 __ovld __cnfn convert_uint8_sat(float8);
   3885 long8 __ovld __cnfn convert_long8_rte(char8);
   3886 long8 __ovld __cnfn convert_long8_sat_rte(char8);
   3887 long8 __ovld __cnfn convert_long8_rtz(char8);
   3888 long8 __ovld __cnfn convert_long8_sat_rtz(char8);
   3889 long8 __ovld __cnfn convert_long8_rtp(char8);
   3890 long8 __ovld __cnfn convert_long8_sat_rtp(char8);
   3891 long8 __ovld __cnfn convert_long8_rtn(char8);
   3892 long8 __ovld __cnfn convert_long8_sat_rtn(char8);
   3893 long8 __ovld __cnfn convert_long8(char8);
   3894 long8 __ovld __cnfn convert_long8_sat(char8);
   3895 long8 __ovld __cnfn convert_long8_rte(uchar8);
   3896 long8 __ovld __cnfn convert_long8_sat_rte(uchar8);
   3897 long8 __ovld __cnfn convert_long8_rtz(uchar8);
   3898 long8 __ovld __cnfn convert_long8_sat_rtz(uchar8);
   3899 long8 __ovld __cnfn convert_long8_rtp(uchar8);
   3900 long8 __ovld __cnfn convert_long8_sat_rtp(uchar8);
   3901 long8 __ovld __cnfn convert_long8_rtn(uchar8);
   3902 long8 __ovld __cnfn convert_long8_sat_rtn(uchar8);
   3903 long8 __ovld __cnfn convert_long8(uchar8);
   3904 long8 __ovld __cnfn convert_long8_sat(uchar8);
   3905 long8 __ovld __cnfn convert_long8_rte(short8);
   3906 long8 __ovld __cnfn convert_long8_sat_rte(short8);
   3907 long8 __ovld __cnfn convert_long8_rtz(short8);
   3908 long8 __ovld __cnfn convert_long8_sat_rtz(short8);
   3909 long8 __ovld __cnfn convert_long8_rtp(short8);
   3910 long8 __ovld __cnfn convert_long8_sat_rtp(short8);
   3911 long8 __ovld __cnfn convert_long8_rtn(short8);
   3912 long8 __ovld __cnfn convert_long8_sat_rtn(short8);
   3913 long8 __ovld __cnfn convert_long8(short8);
   3914 long8 __ovld __cnfn convert_long8_sat(short8);
   3915 long8 __ovld __cnfn convert_long8_rte(ushort8);
   3916 long8 __ovld __cnfn convert_long8_sat_rte(ushort8);
   3917 long8 __ovld __cnfn convert_long8_rtz(ushort8);
   3918 long8 __ovld __cnfn convert_long8_sat_rtz(ushort8);
   3919 long8 __ovld __cnfn convert_long8_rtp(ushort8);
   3920 long8 __ovld __cnfn convert_long8_sat_rtp(ushort8);
   3921 long8 __ovld __cnfn convert_long8_rtn(ushort8);
   3922 long8 __ovld __cnfn convert_long8_sat_rtn(ushort8);
   3923 long8 __ovld __cnfn convert_long8(ushort8);
   3924 long8 __ovld __cnfn convert_long8_sat(ushort8);
   3925 long8 __ovld __cnfn convert_long8_rte(int8);
   3926 long8 __ovld __cnfn convert_long8_sat_rte(int8);
   3927 long8 __ovld __cnfn convert_long8_rtz(int8);
   3928 long8 __ovld __cnfn convert_long8_sat_rtz(int8);
   3929 long8 __ovld __cnfn convert_long8_rtp(int8);
   3930 long8 __ovld __cnfn convert_long8_sat_rtp(int8);
   3931 long8 __ovld __cnfn convert_long8_rtn(int8);
   3932 long8 __ovld __cnfn convert_long8_sat_rtn(int8);
   3933 long8 __ovld __cnfn convert_long8(int8);
   3934 long8 __ovld __cnfn convert_long8_sat(int8);
   3935 long8 __ovld __cnfn convert_long8_rte(uint8);
   3936 long8 __ovld __cnfn convert_long8_sat_rte(uint8);
   3937 long8 __ovld __cnfn convert_long8_rtz(uint8);
   3938 long8 __ovld __cnfn convert_long8_sat_rtz(uint8);
   3939 long8 __ovld __cnfn convert_long8_rtp(uint8);
   3940 long8 __ovld __cnfn convert_long8_sat_rtp(uint8);
   3941 long8 __ovld __cnfn convert_long8_rtn(uint8);
   3942 long8 __ovld __cnfn convert_long8_sat_rtn(uint8);
   3943 long8 __ovld __cnfn convert_long8(uint8);
   3944 long8 __ovld __cnfn convert_long8_sat(uint8);
   3945 long8 __ovld __cnfn convert_long8_rte(long8);
   3946 long8 __ovld __cnfn convert_long8_sat_rte(long8);
   3947 long8 __ovld __cnfn convert_long8_rtz(long8);
   3948 long8 __ovld __cnfn convert_long8_sat_rtz(long8);
   3949 long8 __ovld __cnfn convert_long8_rtp(long8);
   3950 long8 __ovld __cnfn convert_long8_sat_rtp(long8);
   3951 long8 __ovld __cnfn convert_long8_rtn(long8);
   3952 long8 __ovld __cnfn convert_long8_sat_rtn(long8);
   3953 long8 __ovld __cnfn convert_long8(long8);
   3954 long8 __ovld __cnfn convert_long8_sat(long8);
   3955 long8 __ovld __cnfn convert_long8_rte(ulong8);
   3956 long8 __ovld __cnfn convert_long8_sat_rte(ulong8);
   3957 long8 __ovld __cnfn convert_long8_rtz(ulong8);
   3958 long8 __ovld __cnfn convert_long8_sat_rtz(ulong8);
   3959 long8 __ovld __cnfn convert_long8_rtp(ulong8);
   3960 long8 __ovld __cnfn convert_long8_sat_rtp(ulong8);
   3961 long8 __ovld __cnfn convert_long8_rtn(ulong8);
   3962 long8 __ovld __cnfn convert_long8_sat_rtn(ulong8);
   3963 long8 __ovld __cnfn convert_long8(ulong8);
   3964 long8 __ovld __cnfn convert_long8_sat(ulong8);
   3965 long8 __ovld __cnfn convert_long8_rte(float8);
   3966 long8 __ovld __cnfn convert_long8_sat_rte(float8);
   3967 long8 __ovld __cnfn convert_long8_rtz(float8);
   3968 long8 __ovld __cnfn convert_long8_sat_rtz(float8);
   3969 long8 __ovld __cnfn convert_long8_rtp(float8);
   3970 long8 __ovld __cnfn convert_long8_sat_rtp(float8);
   3971 long8 __ovld __cnfn convert_long8_rtn(float8);
   3972 long8 __ovld __cnfn convert_long8_sat_rtn(float8);
   3973 long8 __ovld __cnfn convert_long8(float8);
   3974 long8 __ovld __cnfn convert_long8_sat(float8);
   3975 ulong8 __ovld __cnfn convert_ulong8_rte(char8);
   3976 ulong8 __ovld __cnfn convert_ulong8_sat_rte(char8);
   3977 ulong8 __ovld __cnfn convert_ulong8_rtz(char8);
   3978 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(char8);
   3979 ulong8 __ovld __cnfn convert_ulong8_rtp(char8);
   3980 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(char8);
   3981 ulong8 __ovld __cnfn convert_ulong8_rtn(char8);
   3982 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(char8);
   3983 ulong8 __ovld __cnfn convert_ulong8(char8);
   3984 ulong8 __ovld __cnfn convert_ulong8_sat(char8);
   3985 ulong8 __ovld __cnfn convert_ulong8_rte(uchar8);
   3986 ulong8 __ovld __cnfn convert_ulong8_sat_rte(uchar8);
   3987 ulong8 __ovld __cnfn convert_ulong8_rtz(uchar8);
   3988 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uchar8);
   3989 ulong8 __ovld __cnfn convert_ulong8_rtp(uchar8);
   3990 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uchar8);
   3991 ulong8 __ovld __cnfn convert_ulong8_rtn(uchar8);
   3992 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uchar8);
   3993 ulong8 __ovld __cnfn convert_ulong8(uchar8);
   3994 ulong8 __ovld __cnfn convert_ulong8_sat(uchar8);
   3995 ulong8 __ovld __cnfn convert_ulong8_rte(short8);
   3996 ulong8 __ovld __cnfn convert_ulong8_sat_rte(short8);
   3997 ulong8 __ovld __cnfn convert_ulong8_rtz(short8);
   3998 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(short8);
   3999 ulong8 __ovld __cnfn convert_ulong8_rtp(short8);
   4000 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(short8);
   4001 ulong8 __ovld __cnfn convert_ulong8_rtn(short8);
   4002 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(short8);
   4003 ulong8 __ovld __cnfn convert_ulong8(short8);
   4004 ulong8 __ovld __cnfn convert_ulong8_sat(short8);
   4005 ulong8 __ovld __cnfn convert_ulong8_rte(ushort8);
   4006 ulong8 __ovld __cnfn convert_ulong8_sat_rte(ushort8);
   4007 ulong8 __ovld __cnfn convert_ulong8_rtz(ushort8);
   4008 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ushort8);
   4009 ulong8 __ovld __cnfn convert_ulong8_rtp(ushort8);
   4010 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ushort8);
   4011 ulong8 __ovld __cnfn convert_ulong8_rtn(ushort8);
   4012 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ushort8);
   4013 ulong8 __ovld __cnfn convert_ulong8(ushort8);
   4014 ulong8 __ovld __cnfn convert_ulong8_sat(ushort8);
   4015 ulong8 __ovld __cnfn convert_ulong8_rte(int8);
   4016 ulong8 __ovld __cnfn convert_ulong8_sat_rte(int8);
   4017 ulong8 __ovld __cnfn convert_ulong8_rtz(int8);
   4018 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(int8);
   4019 ulong8 __ovld __cnfn convert_ulong8_rtp(int8);
   4020 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(int8);
   4021 ulong8 __ovld __cnfn convert_ulong8_rtn(int8);
   4022 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(int8);
   4023 ulong8 __ovld __cnfn convert_ulong8(int8);
   4024 ulong8 __ovld __cnfn convert_ulong8_sat(int8);
   4025 ulong8 __ovld __cnfn convert_ulong8_rte(uint8);
   4026 ulong8 __ovld __cnfn convert_ulong8_sat_rte(uint8);
   4027 ulong8 __ovld __cnfn convert_ulong8_rtz(uint8);
   4028 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uint8);
   4029 ulong8 __ovld __cnfn convert_ulong8_rtp(uint8);
   4030 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uint8);
   4031 ulong8 __ovld __cnfn convert_ulong8_rtn(uint8);
   4032 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uint8);
   4033 ulong8 __ovld __cnfn convert_ulong8(uint8);
   4034 ulong8 __ovld __cnfn convert_ulong8_sat(uint8);
   4035 ulong8 __ovld __cnfn convert_ulong8_rte(long8);
   4036 ulong8 __ovld __cnfn convert_ulong8_sat_rte(long8);
   4037 ulong8 __ovld __cnfn convert_ulong8_rtz(long8);
   4038 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(long8);
   4039 ulong8 __ovld __cnfn convert_ulong8_rtp(long8);
   4040 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(long8);
   4041 ulong8 __ovld __cnfn convert_ulong8_rtn(long8);
   4042 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(long8);
   4043 ulong8 __ovld __cnfn convert_ulong8(long8);
   4044 ulong8 __ovld __cnfn convert_ulong8_sat(long8);
   4045 ulong8 __ovld __cnfn convert_ulong8_rte(ulong8);
   4046 ulong8 __ovld __cnfn convert_ulong8_sat_rte(ulong8);
   4047 ulong8 __ovld __cnfn convert_ulong8_rtz(ulong8);
   4048 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ulong8);
   4049 ulong8 __ovld __cnfn convert_ulong8_rtp(ulong8);
   4050 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ulong8);
   4051 ulong8 __ovld __cnfn convert_ulong8_rtn(ulong8);
   4052 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ulong8);
   4053 ulong8 __ovld __cnfn convert_ulong8(ulong8);
   4054 ulong8 __ovld __cnfn convert_ulong8_sat(ulong8);
   4055 ulong8 __ovld __cnfn convert_ulong8_rte(float8);
   4056 ulong8 __ovld __cnfn convert_ulong8_sat_rte(float8);
   4057 ulong8 __ovld __cnfn convert_ulong8_rtz(float8);
   4058 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(float8);
   4059 ulong8 __ovld __cnfn convert_ulong8_rtp(float8);
   4060 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(float8);
   4061 ulong8 __ovld __cnfn convert_ulong8_rtn(float8);
   4062 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(float8);
   4063 ulong8 __ovld __cnfn convert_ulong8(float8);
   4064 ulong8 __ovld __cnfn convert_ulong8_sat(float8);
   4065 float8 __ovld __cnfn convert_float8_rte(char8);
   4066 float8 __ovld __cnfn convert_float8_rtz(char8);
   4067 float8 __ovld __cnfn convert_float8_rtp(char8);
   4068 float8 __ovld __cnfn convert_float8_rtn(char8);
   4069 float8 __ovld __cnfn convert_float8(char8);
   4070 float8 __ovld __cnfn convert_float8_rte(uchar8);
   4071 float8 __ovld __cnfn convert_float8_rtz(uchar8);
   4072 float8 __ovld __cnfn convert_float8_rtp(uchar8);
   4073 float8 __ovld __cnfn convert_float8_rtn(uchar8);
   4074 float8 __ovld __cnfn convert_float8(uchar8);
   4075 float8 __ovld __cnfn convert_float8_rte(short8);
   4076 float8 __ovld __cnfn convert_float8_rtz(short8);
   4077 float8 __ovld __cnfn convert_float8_rtp(short8);
   4078 float8 __ovld __cnfn convert_float8_rtn(short8);
   4079 float8 __ovld __cnfn convert_float8(short8);
   4080 float8 __ovld __cnfn convert_float8_rte(ushort8);
   4081 float8 __ovld __cnfn convert_float8_rtz(ushort8);
   4082 float8 __ovld __cnfn convert_float8_rtp(ushort8);
   4083 float8 __ovld __cnfn convert_float8_rtn(ushort8);
   4084 float8 __ovld __cnfn convert_float8(ushort8);
   4085 float8 __ovld __cnfn convert_float8_rte(int8);
   4086 float8 __ovld __cnfn convert_float8_rtz(int8);
   4087 float8 __ovld __cnfn convert_float8_rtp(int8);
   4088 float8 __ovld __cnfn convert_float8_rtn(int8);
   4089 float8 __ovld __cnfn convert_float8(int8);
   4090 float8 __ovld __cnfn convert_float8_rte(uint8);
   4091 float8 __ovld __cnfn convert_float8_rtz(uint8);
   4092 float8 __ovld __cnfn convert_float8_rtp(uint8);
   4093 float8 __ovld __cnfn convert_float8_rtn(uint8);
   4094 float8 __ovld __cnfn convert_float8(uint8);
   4095 float8 __ovld __cnfn convert_float8_rte(long8);
   4096 float8 __ovld __cnfn convert_float8_rtz(long8);
   4097 float8 __ovld __cnfn convert_float8_rtp(long8);
   4098 float8 __ovld __cnfn convert_float8_rtn(long8);
   4099 float8 __ovld __cnfn convert_float8(long8);
   4100 float8 __ovld __cnfn convert_float8_rte(ulong8);
   4101 float8 __ovld __cnfn convert_float8_rtz(ulong8);
   4102 float8 __ovld __cnfn convert_float8_rtp(ulong8);
   4103 float8 __ovld __cnfn convert_float8_rtn(ulong8);
   4104 float8 __ovld __cnfn convert_float8(ulong8);
   4105 float8 __ovld __cnfn convert_float8_rte(float8);
   4106 float8 __ovld __cnfn convert_float8_rtz(float8);
   4107 float8 __ovld __cnfn convert_float8_rtp(float8);
   4108 float8 __ovld __cnfn convert_float8_rtn(float8);
   4109 float8 __ovld __cnfn convert_float8(float8);
   4110 char16 __ovld __cnfn convert_char16_rte(char16);
   4111 char16 __ovld __cnfn convert_char16_sat_rte(char16);
   4112 char16 __ovld __cnfn convert_char16_rtz(char16);
   4113 char16 __ovld __cnfn convert_char16_sat_rtz(char16);
   4114 char16 __ovld __cnfn convert_char16_rtp(char16);
   4115 char16 __ovld __cnfn convert_char16_sat_rtp(char16);
   4116 char16 __ovld __cnfn convert_char16_rtn(char16);
   4117 char16 __ovld __cnfn convert_char16_sat_rtn(char16);
   4118 char16 __ovld __cnfn convert_char16(char16);
   4119 char16 __ovld __cnfn convert_char16_sat(char16);
   4120 char16 __ovld __cnfn convert_char16_rte(uchar16);
   4121 char16 __ovld __cnfn convert_char16_sat_rte(uchar16);
   4122 char16 __ovld __cnfn convert_char16_rtz(uchar16);
   4123 char16 __ovld __cnfn convert_char16_sat_rtz(uchar16);
   4124 char16 __ovld __cnfn convert_char16_rtp(uchar16);
   4125 char16 __ovld __cnfn convert_char16_sat_rtp(uchar16);
   4126 char16 __ovld __cnfn convert_char16_rtn(uchar16);
   4127 char16 __ovld __cnfn convert_char16_sat_rtn(uchar16);
   4128 char16 __ovld __cnfn convert_char16(uchar16);
   4129 char16 __ovld __cnfn convert_char16_sat(uchar16);
   4130 char16 __ovld __cnfn convert_char16_rte(short16);
   4131 char16 __ovld __cnfn convert_char16_sat_rte(short16);
   4132 char16 __ovld __cnfn convert_char16_rtz(short16);
   4133 char16 __ovld __cnfn convert_char16_sat_rtz(short16);
   4134 char16 __ovld __cnfn convert_char16_rtp(short16);
   4135 char16 __ovld __cnfn convert_char16_sat_rtp(short16);
   4136 char16 __ovld __cnfn convert_char16_rtn(short16);
   4137 char16 __ovld __cnfn convert_char16_sat_rtn(short16);
   4138 char16 __ovld __cnfn convert_char16(short16);
   4139 char16 __ovld __cnfn convert_char16_sat(short16);
   4140 char16 __ovld __cnfn convert_char16_rte(ushort16);
   4141 char16 __ovld __cnfn convert_char16_sat_rte(ushort16);
   4142 char16 __ovld __cnfn convert_char16_rtz(ushort16);
   4143 char16 __ovld __cnfn convert_char16_sat_rtz(ushort16);
   4144 char16 __ovld __cnfn convert_char16_rtp(ushort16);
   4145 char16 __ovld __cnfn convert_char16_sat_rtp(ushort16);
   4146 char16 __ovld __cnfn convert_char16_rtn(ushort16);
   4147 char16 __ovld __cnfn convert_char16_sat_rtn(ushort16);
   4148 char16 __ovld __cnfn convert_char16(ushort16);
   4149 char16 __ovld __cnfn convert_char16_sat(ushort16);
   4150 char16 __ovld __cnfn convert_char16_rte(int16);
   4151 char16 __ovld __cnfn convert_char16_sat_rte(int16);
   4152 char16 __ovld __cnfn convert_char16_rtz(int16);
   4153 char16 __ovld __cnfn convert_char16_sat_rtz(int16);
   4154 char16 __ovld __cnfn convert_char16_rtp(int16);
   4155 char16 __ovld __cnfn convert_char16_sat_rtp(int16);
   4156 char16 __ovld __cnfn convert_char16_rtn(int16);
   4157 char16 __ovld __cnfn convert_char16_sat_rtn(int16);
   4158 char16 __ovld __cnfn convert_char16(int16);
   4159 char16 __ovld __cnfn convert_char16_sat(int16);
   4160 char16 __ovld __cnfn convert_char16_rte(uint16);
   4161 char16 __ovld __cnfn convert_char16_sat_rte(uint16);
   4162 char16 __ovld __cnfn convert_char16_rtz(uint16);
   4163 char16 __ovld __cnfn convert_char16_sat_rtz(uint16);
   4164 char16 __ovld __cnfn convert_char16_rtp(uint16);
   4165 char16 __ovld __cnfn convert_char16_sat_rtp(uint16);
   4166 char16 __ovld __cnfn convert_char16_rtn(uint16);
   4167 char16 __ovld __cnfn convert_char16_sat_rtn(uint16);
   4168 char16 __ovld __cnfn convert_char16(uint16);
   4169 char16 __ovld __cnfn convert_char16_sat(uint16);
   4170 char16 __ovld __cnfn convert_char16_rte(long16);
   4171 char16 __ovld __cnfn convert_char16_sat_rte(long16);
   4172 char16 __ovld __cnfn convert_char16_rtz(long16);
   4173 char16 __ovld __cnfn convert_char16_sat_rtz(long16);
   4174 char16 __ovld __cnfn convert_char16_rtp(long16);
   4175 char16 __ovld __cnfn convert_char16_sat_rtp(long16);
   4176 char16 __ovld __cnfn convert_char16_rtn(long16);
   4177 char16 __ovld __cnfn convert_char16_sat_rtn(long16);
   4178 char16 __ovld __cnfn convert_char16(long16);
   4179 char16 __ovld __cnfn convert_char16_sat(long16);
   4180 char16 __ovld __cnfn convert_char16_rte(ulong16);
   4181 char16 __ovld __cnfn convert_char16_sat_rte(ulong16);
   4182 char16 __ovld __cnfn convert_char16_rtz(ulong16);
   4183 char16 __ovld __cnfn convert_char16_sat_rtz(ulong16);
   4184 char16 __ovld __cnfn convert_char16_rtp(ulong16);
   4185 char16 __ovld __cnfn convert_char16_sat_rtp(ulong16);
   4186 char16 __ovld __cnfn convert_char16_rtn(ulong16);
   4187 char16 __ovld __cnfn convert_char16_sat_rtn(ulong16);
   4188 char16 __ovld __cnfn convert_char16(ulong16);
   4189 char16 __ovld __cnfn convert_char16_sat(ulong16);
   4190 char16 __ovld __cnfn convert_char16_rte(float16);
   4191 char16 __ovld __cnfn convert_char16_sat_rte(float16);
   4192 char16 __ovld __cnfn convert_char16_rtz(float16);
   4193 char16 __ovld __cnfn convert_char16_sat_rtz(float16);
   4194 char16 __ovld __cnfn convert_char16_rtp(float16);
   4195 char16 __ovld __cnfn convert_char16_sat_rtp(float16);
   4196 char16 __ovld __cnfn convert_char16_rtn(float16);
   4197 char16 __ovld __cnfn convert_char16_sat_rtn(float16);
   4198 char16 __ovld __cnfn convert_char16(float16);
   4199 char16 __ovld __cnfn convert_char16_sat(float16);
   4200 uchar16 __ovld __cnfn convert_uchar16_rte(char16);
   4201 uchar16 __ovld __cnfn convert_uchar16_sat_rte(char16);
   4202 uchar16 __ovld __cnfn convert_uchar16_rtz(char16);
   4203 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(char16);
   4204 uchar16 __ovld __cnfn convert_uchar16_rtp(char16);
   4205 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(char16);
   4206 uchar16 __ovld __cnfn convert_uchar16_rtn(char16);
   4207 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(char16);
   4208 uchar16 __ovld __cnfn convert_uchar16(char16);
   4209 uchar16 __ovld __cnfn convert_uchar16_sat(char16);
   4210 uchar16 __ovld __cnfn convert_uchar16_rte(uchar16);
   4211 uchar16 __ovld __cnfn convert_uchar16_sat_rte(uchar16);
   4212 uchar16 __ovld __cnfn convert_uchar16_rtz(uchar16);
   4213 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uchar16);
   4214 uchar16 __ovld __cnfn convert_uchar16_rtp(uchar16);
   4215 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uchar16);
   4216 uchar16 __ovld __cnfn convert_uchar16_rtn(uchar16);
   4217 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uchar16);
   4218 uchar16 __ovld __cnfn convert_uchar16(uchar16);
   4219 uchar16 __ovld __cnfn convert_uchar16_sat(uchar16);
   4220 uchar16 __ovld __cnfn convert_uchar16_rte(short16);
   4221 uchar16 __ovld __cnfn convert_uchar16_sat_rte(short16);
   4222 uchar16 __ovld __cnfn convert_uchar16_rtz(short16);
   4223 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(short16);
   4224 uchar16 __ovld __cnfn convert_uchar16_rtp(short16);
   4225 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(short16);
   4226 uchar16 __ovld __cnfn convert_uchar16_rtn(short16);
   4227 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(short16);
   4228 uchar16 __ovld __cnfn convert_uchar16(short16);
   4229 uchar16 __ovld __cnfn convert_uchar16_sat(short16);
   4230 uchar16 __ovld __cnfn convert_uchar16_rte(ushort16);
   4231 uchar16 __ovld __cnfn convert_uchar16_sat_rte(ushort16);
   4232 uchar16 __ovld __cnfn convert_uchar16_rtz(ushort16);
   4233 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ushort16);
   4234 uchar16 __ovld __cnfn convert_uchar16_rtp(ushort16);
   4235 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ushort16);
   4236 uchar16 __ovld __cnfn convert_uchar16_rtn(ushort16);
   4237 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ushort16);
   4238 uchar16 __ovld __cnfn convert_uchar16(ushort16);
   4239 uchar16 __ovld __cnfn convert_uchar16_sat(ushort16);
   4240 uchar16 __ovld __cnfn convert_uchar16_rte(int16);
   4241 uchar16 __ovld __cnfn convert_uchar16_sat_rte(int16);
   4242 uchar16 __ovld __cnfn convert_uchar16_rtz(int16);
   4243 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(int16);
   4244 uchar16 __ovld __cnfn convert_uchar16_rtp(int16);
   4245 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(int16);
   4246 uchar16 __ovld __cnfn convert_uchar16_rtn(int16);
   4247 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(int16);
   4248 uchar16 __ovld __cnfn convert_uchar16(int16);
   4249 uchar16 __ovld __cnfn convert_uchar16_sat(int16);
   4250 uchar16 __ovld __cnfn convert_uchar16_rte(uint16);
   4251 uchar16 __ovld __cnfn convert_uchar16_sat_rte(uint16);
   4252 uchar16 __ovld __cnfn convert_uchar16_rtz(uint16);
   4253 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uint16);
   4254 uchar16 __ovld __cnfn convert_uchar16_rtp(uint16);
   4255 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uint16);
   4256 uchar16 __ovld __cnfn convert_uchar16_rtn(uint16);
   4257 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uint16);
   4258 uchar16 __ovld __cnfn convert_uchar16(uint16);
   4259 uchar16 __ovld __cnfn convert_uchar16_sat(uint16);
   4260 uchar16 __ovld __cnfn convert_uchar16_rte(long16);
   4261 uchar16 __ovld __cnfn convert_uchar16_sat_rte(long16);
   4262 uchar16 __ovld __cnfn convert_uchar16_rtz(long16);
   4263 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(long16);
   4264 uchar16 __ovld __cnfn convert_uchar16_rtp(long16);
   4265 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(long16);
   4266 uchar16 __ovld __cnfn convert_uchar16_rtn(long16);
   4267 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(long16);
   4268 uchar16 __ovld __cnfn convert_uchar16(long16);
   4269 uchar16 __ovld __cnfn convert_uchar16_sat(long16);
   4270 uchar16 __ovld __cnfn convert_uchar16_rte(ulong16);
   4271 uchar16 __ovld __cnfn convert_uchar16_sat_rte(ulong16);
   4272 uchar16 __ovld __cnfn convert_uchar16_rtz(ulong16);
   4273 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ulong16);
   4274 uchar16 __ovld __cnfn convert_uchar16_rtp(ulong16);
   4275 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ulong16);
   4276 uchar16 __ovld __cnfn convert_uchar16_rtn(ulong16);
   4277 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ulong16);
   4278 uchar16 __ovld __cnfn convert_uchar16(ulong16);
   4279 uchar16 __ovld __cnfn convert_uchar16_sat(ulong16);
   4280 uchar16 __ovld __cnfn convert_uchar16_rte(float16);
   4281 uchar16 __ovld __cnfn convert_uchar16_sat_rte(float16);
   4282 uchar16 __ovld __cnfn convert_uchar16_rtz(float16);
   4283 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(float16);
   4284 uchar16 __ovld __cnfn convert_uchar16_rtp(float16);
   4285 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(float16);
   4286 uchar16 __ovld __cnfn convert_uchar16_rtn(float16);
   4287 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(float16);
   4288 uchar16 __ovld __cnfn convert_uchar16(float16);
   4289 uchar16 __ovld __cnfn convert_uchar16_sat(float16);
   4290 short16 __ovld __cnfn convert_short16_rte(char16);
   4291 short16 __ovld __cnfn convert_short16_sat_rte(char16);
   4292 short16 __ovld __cnfn convert_short16_rtz(char16);
   4293 short16 __ovld __cnfn convert_short16_sat_rtz(char16);
   4294 short16 __ovld __cnfn convert_short16_rtp(char16);
   4295 short16 __ovld __cnfn convert_short16_sat_rtp(char16);
   4296 short16 __ovld __cnfn convert_short16_rtn(char16);
   4297 short16 __ovld __cnfn convert_short16_sat_rtn(char16);
   4298 short16 __ovld __cnfn convert_short16(char16);
   4299 short16 __ovld __cnfn convert_short16_sat(char16);
   4300 short16 __ovld __cnfn convert_short16_rte(uchar16);
   4301 short16 __ovld __cnfn convert_short16_sat_rte(uchar16);
   4302 short16 __ovld __cnfn convert_short16_rtz(uchar16);
   4303 short16 __ovld __cnfn convert_short16_sat_rtz(uchar16);
   4304 short16 __ovld __cnfn convert_short16_rtp(uchar16);
   4305 short16 __ovld __cnfn convert_short16_sat_rtp(uchar16);
   4306 short16 __ovld __cnfn convert_short16_rtn(uchar16);
   4307 short16 __ovld __cnfn convert_short16_sat_rtn(uchar16);
   4308 short16 __ovld __cnfn convert_short16(uchar16);
   4309 short16 __ovld __cnfn convert_short16_sat(uchar16);
   4310 short16 __ovld __cnfn convert_short16_rte(short16);
   4311 short16 __ovld __cnfn convert_short16_sat_rte(short16);
   4312 short16 __ovld __cnfn convert_short16_rtz(short16);
   4313 short16 __ovld __cnfn convert_short16_sat_rtz(short16);
   4314 short16 __ovld __cnfn convert_short16_rtp(short16);
   4315 short16 __ovld __cnfn convert_short16_sat_rtp(short16);
   4316 short16 __ovld __cnfn convert_short16_rtn(short16);
   4317 short16 __ovld __cnfn convert_short16_sat_rtn(short16);
   4318 short16 __ovld __cnfn convert_short16(short16);
   4319 short16 __ovld __cnfn convert_short16_sat(short16);
   4320 short16 __ovld __cnfn convert_short16_rte(ushort16);
   4321 short16 __ovld __cnfn convert_short16_sat_rte(ushort16);
   4322 short16 __ovld __cnfn convert_short16_rtz(ushort16);
   4323 short16 __ovld __cnfn convert_short16_sat_rtz(ushort16);
   4324 short16 __ovld __cnfn convert_short16_rtp(ushort16);
   4325 short16 __ovld __cnfn convert_short16_sat_rtp(ushort16);
   4326 short16 __ovld __cnfn convert_short16_rtn(ushort16);
   4327 short16 __ovld __cnfn convert_short16_sat_rtn(ushort16);
   4328 short16 __ovld __cnfn convert_short16(ushort16);
   4329 short16 __ovld __cnfn convert_short16_sat(ushort16);
   4330 short16 __ovld __cnfn convert_short16_rte(int16);
   4331 short16 __ovld __cnfn convert_short16_sat_rte(int16);
   4332 short16 __ovld __cnfn convert_short16_rtz(int16);
   4333 short16 __ovld __cnfn convert_short16_sat_rtz(int16);
   4334 short16 __ovld __cnfn convert_short16_rtp(int16);
   4335 short16 __ovld __cnfn convert_short16_sat_rtp(int16);
   4336 short16 __ovld __cnfn convert_short16_rtn(int16);
   4337 short16 __ovld __cnfn convert_short16_sat_rtn(int16);
   4338 short16 __ovld __cnfn convert_short16(int16);
   4339 short16 __ovld __cnfn convert_short16_sat(int16);
   4340 short16 __ovld __cnfn convert_short16_rte(uint16);
   4341 short16 __ovld __cnfn convert_short16_sat_rte(uint16);
   4342 short16 __ovld __cnfn convert_short16_rtz(uint16);
   4343 short16 __ovld __cnfn convert_short16_sat_rtz(uint16);
   4344 short16 __ovld __cnfn convert_short16_rtp(uint16);
   4345 short16 __ovld __cnfn convert_short16_sat_rtp(uint16);
   4346 short16 __ovld __cnfn convert_short16_rtn(uint16);
   4347 short16 __ovld __cnfn convert_short16_sat_rtn(uint16);
   4348 short16 __ovld __cnfn convert_short16(uint16);
   4349 short16 __ovld __cnfn convert_short16_sat(uint16);
   4350 short16 __ovld __cnfn convert_short16_rte(long16);
   4351 short16 __ovld __cnfn convert_short16_sat_rte(long16);
   4352 short16 __ovld __cnfn convert_short16_rtz(long16);
   4353 short16 __ovld __cnfn convert_short16_sat_rtz(long16);
   4354 short16 __ovld __cnfn convert_short16_rtp(long16);
   4355 short16 __ovld __cnfn convert_short16_sat_rtp(long16);
   4356 short16 __ovld __cnfn convert_short16_rtn(long16);
   4357 short16 __ovld __cnfn convert_short16_sat_rtn(long16);
   4358 short16 __ovld __cnfn convert_short16(long16);
   4359 short16 __ovld __cnfn convert_short16_sat(long16);
   4360 short16 __ovld __cnfn convert_short16_rte(ulong16);
   4361 short16 __ovld __cnfn convert_short16_sat_rte(ulong16);
   4362 short16 __ovld __cnfn convert_short16_rtz(ulong16);
   4363 short16 __ovld __cnfn convert_short16_sat_rtz(ulong16);
   4364 short16 __ovld __cnfn convert_short16_rtp(ulong16);
   4365 short16 __ovld __cnfn convert_short16_sat_rtp(ulong16);
   4366 short16 __ovld __cnfn convert_short16_rtn(ulong16);
   4367 short16 __ovld __cnfn convert_short16_sat_rtn(ulong16);
   4368 short16 __ovld __cnfn convert_short16(ulong16);
   4369 short16 __ovld __cnfn convert_short16_sat(ulong16);
   4370 short16 __ovld __cnfn convert_short16_rte(float16);
   4371 short16 __ovld __cnfn convert_short16_sat_rte(float16);
   4372 short16 __ovld __cnfn convert_short16_rtz(float16);
   4373 short16 __ovld __cnfn convert_short16_sat_rtz(float16);
   4374 short16 __ovld __cnfn convert_short16_rtp(float16);
   4375 short16 __ovld __cnfn convert_short16_sat_rtp(float16);
   4376 short16 __ovld __cnfn convert_short16_rtn(float16);
   4377 short16 __ovld __cnfn convert_short16_sat_rtn(float16);
   4378 short16 __ovld __cnfn convert_short16(float16);
   4379 short16 __ovld __cnfn convert_short16_sat(float16);
   4380 ushort16 __ovld __cnfn convert_ushort16_rte(char16);
   4381 ushort16 __ovld __cnfn convert_ushort16_sat_rte(char16);
   4382 ushort16 __ovld __cnfn convert_ushort16_rtz(char16);
   4383 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(char16);
   4384 ushort16 __ovld __cnfn convert_ushort16_rtp(char16);
   4385 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(char16);
   4386 ushort16 __ovld __cnfn convert_ushort16_rtn(char16);
   4387 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(char16);
   4388 ushort16 __ovld __cnfn convert_ushort16(char16);
   4389 ushort16 __ovld __cnfn convert_ushort16_sat(char16);
   4390 ushort16 __ovld __cnfn convert_ushort16_rte(uchar16);
   4391 ushort16 __ovld __cnfn convert_ushort16_sat_rte(uchar16);
   4392 ushort16 __ovld __cnfn convert_ushort16_rtz(uchar16);
   4393 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uchar16);
   4394 ushort16 __ovld __cnfn convert_ushort16_rtp(uchar16);
   4395 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uchar16);
   4396 ushort16 __ovld __cnfn convert_ushort16_rtn(uchar16);
   4397 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uchar16);
   4398 ushort16 __ovld __cnfn convert_ushort16(uchar16);
   4399 ushort16 __ovld __cnfn convert_ushort16_sat(uchar16);
   4400 ushort16 __ovld __cnfn convert_ushort16_rte(short16);
   4401 ushort16 __ovld __cnfn convert_ushort16_sat_rte(short16);
   4402 ushort16 __ovld __cnfn convert_ushort16_rtz(short16);
   4403 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(short16);
   4404 ushort16 __ovld __cnfn convert_ushort16_rtp(short16);
   4405 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(short16);
   4406 ushort16 __ovld __cnfn convert_ushort16_rtn(short16);
   4407 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(short16);
   4408 ushort16 __ovld __cnfn convert_ushort16(short16);
   4409 ushort16 __ovld __cnfn convert_ushort16_sat(short16);
   4410 ushort16 __ovld __cnfn convert_ushort16_rte(ushort16);
   4411 ushort16 __ovld __cnfn convert_ushort16_sat_rte(ushort16);
   4412 ushort16 __ovld __cnfn convert_ushort16_rtz(ushort16);
   4413 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ushort16);
   4414 ushort16 __ovld __cnfn convert_ushort16_rtp(ushort16);
   4415 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ushort16);
   4416 ushort16 __ovld __cnfn convert_ushort16_rtn(ushort16);
   4417 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ushort16);
   4418 ushort16 __ovld __cnfn convert_ushort16(ushort16);
   4419 ushort16 __ovld __cnfn convert_ushort16_sat(ushort16);
   4420 ushort16 __ovld __cnfn convert_ushort16_rte(int16);
   4421 ushort16 __ovld __cnfn convert_ushort16_sat_rte(int16);
   4422 ushort16 __ovld __cnfn convert_ushort16_rtz(int16);
   4423 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(int16);
   4424 ushort16 __ovld __cnfn convert_ushort16_rtp(int16);
   4425 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(int16);
   4426 ushort16 __ovld __cnfn convert_ushort16_rtn(int16);
   4427 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(int16);
   4428 ushort16 __ovld __cnfn convert_ushort16(int16);
   4429 ushort16 __ovld __cnfn convert_ushort16_sat(int16);
   4430 ushort16 __ovld __cnfn convert_ushort16_rte(uint16);
   4431 ushort16 __ovld __cnfn convert_ushort16_sat_rte(uint16);
   4432 ushort16 __ovld __cnfn convert_ushort16_rtz(uint16);
   4433 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uint16);
   4434 ushort16 __ovld __cnfn convert_ushort16_rtp(uint16);
   4435 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uint16);
   4436 ushort16 __ovld __cnfn convert_ushort16_rtn(uint16);
   4437 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uint16);
   4438 ushort16 __ovld __cnfn convert_ushort16(uint16);
   4439 ushort16 __ovld __cnfn convert_ushort16_sat(uint16);
   4440 ushort16 __ovld __cnfn convert_ushort16_rte(long16);
   4441 ushort16 __ovld __cnfn convert_ushort16_sat_rte(long16);
   4442 ushort16 __ovld __cnfn convert_ushort16_rtz(long16);
   4443 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(long16);
   4444 ushort16 __ovld __cnfn convert_ushort16_rtp(long16);
   4445 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(long16);
   4446 ushort16 __ovld __cnfn convert_ushort16_rtn(long16);
   4447 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(long16);
   4448 ushort16 __ovld __cnfn convert_ushort16(long16);
   4449 ushort16 __ovld __cnfn convert_ushort16_sat(long16);
   4450 ushort16 __ovld __cnfn convert_ushort16_rte(ulong16);
   4451 ushort16 __ovld __cnfn convert_ushort16_sat_rte(ulong16);
   4452 ushort16 __ovld __cnfn convert_ushort16_rtz(ulong16);
   4453 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ulong16);
   4454 ushort16 __ovld __cnfn convert_ushort16_rtp(ulong16);
   4455 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ulong16);
   4456 ushort16 __ovld __cnfn convert_ushort16_rtn(ulong16);
   4457 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ulong16);
   4458 ushort16 __ovld __cnfn convert_ushort16(ulong16);
   4459 ushort16 __ovld __cnfn convert_ushort16_sat(ulong16);
   4460 ushort16 __ovld __cnfn convert_ushort16_rte(float16);
   4461 ushort16 __ovld __cnfn convert_ushort16_sat_rte(float16);
   4462 ushort16 __ovld __cnfn convert_ushort16_rtz(float16);
   4463 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(float16);
   4464 ushort16 __ovld __cnfn convert_ushort16_rtp(float16);
   4465 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(float16);
   4466 ushort16 __ovld __cnfn convert_ushort16_rtn(float16);
   4467 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(float16);
   4468 ushort16 __ovld __cnfn convert_ushort16(float16);
   4469 ushort16 __ovld __cnfn convert_ushort16_sat(float16);
   4470 int16 __ovld __cnfn convert_int16_rte(char16);
   4471 int16 __ovld __cnfn convert_int16_sat_rte(char16);
   4472 int16 __ovld __cnfn convert_int16_rtz(char16);
   4473 int16 __ovld __cnfn convert_int16_sat_rtz(char16);
   4474 int16 __ovld __cnfn convert_int16_rtp(char16);
   4475 int16 __ovld __cnfn convert_int16_sat_rtp(char16);
   4476 int16 __ovld __cnfn convert_int16_rtn(char16);
   4477 int16 __ovld __cnfn convert_int16_sat_rtn(char16);
   4478 int16 __ovld __cnfn convert_int16(char16);
   4479 int16 __ovld __cnfn convert_int16_sat(char16);
   4480 int16 __ovld __cnfn convert_int16_rte(uchar16);
   4481 int16 __ovld __cnfn convert_int16_sat_rte(uchar16);
   4482 int16 __ovld __cnfn convert_int16_rtz(uchar16);
   4483 int16 __ovld __cnfn convert_int16_sat_rtz(uchar16);
   4484 int16 __ovld __cnfn convert_int16_rtp(uchar16);
   4485 int16 __ovld __cnfn convert_int16_sat_rtp(uchar16);
   4486 int16 __ovld __cnfn convert_int16_rtn(uchar16);
   4487 int16 __ovld __cnfn convert_int16_sat_rtn(uchar16);
   4488 int16 __ovld __cnfn convert_int16(uchar16);
   4489 int16 __ovld __cnfn convert_int16_sat(uchar16);
   4490 int16 __ovld __cnfn convert_int16_rte(short16);
   4491 int16 __ovld __cnfn convert_int16_sat_rte(short16);
   4492 int16 __ovld __cnfn convert_int16_rtz(short16);
   4493 int16 __ovld __cnfn convert_int16_sat_rtz(short16);
   4494 int16 __ovld __cnfn convert_int16_rtp(short16);
   4495 int16 __ovld __cnfn convert_int16_sat_rtp(short16);
   4496 int16 __ovld __cnfn convert_int16_rtn(short16);
   4497 int16 __ovld __cnfn convert_int16_sat_rtn(short16);
   4498 int16 __ovld __cnfn convert_int16(short16);
   4499 int16 __ovld __cnfn convert_int16_sat(short16);
   4500 int16 __ovld __cnfn convert_int16_rte(ushort16);
   4501 int16 __ovld __cnfn convert_int16_sat_rte(ushort16);
   4502 int16 __ovld __cnfn convert_int16_rtz(ushort16);
   4503 int16 __ovld __cnfn convert_int16_sat_rtz(ushort16);
   4504 int16 __ovld __cnfn convert_int16_rtp(ushort16);
   4505 int16 __ovld __cnfn convert_int16_sat_rtp(ushort16);
   4506 int16 __ovld __cnfn convert_int16_rtn(ushort16);
   4507 int16 __ovld __cnfn convert_int16_sat_rtn(ushort16);
   4508 int16 __ovld __cnfn convert_int16(ushort16);
   4509 int16 __ovld __cnfn convert_int16_sat(ushort16);
   4510 int16 __ovld __cnfn convert_int16_rte(int16);
   4511 int16 __ovld __cnfn convert_int16_sat_rte(int16);
   4512 int16 __ovld __cnfn convert_int16_rtz(int16);
   4513 int16 __ovld __cnfn convert_int16_sat_rtz(int16);
   4514 int16 __ovld __cnfn convert_int16_rtp(int16);
   4515 int16 __ovld __cnfn convert_int16_sat_rtp(int16);
   4516 int16 __ovld __cnfn convert_int16_rtn(int16);
   4517 int16 __ovld __cnfn convert_int16_sat_rtn(int16);
   4518 int16 __ovld __cnfn convert_int16(int16);
   4519 int16 __ovld __cnfn convert_int16_sat(int16);
   4520 int16 __ovld __cnfn convert_int16_rte(uint16);
   4521 int16 __ovld __cnfn convert_int16_sat_rte(uint16);
   4522 int16 __ovld __cnfn convert_int16_rtz(uint16);
   4523 int16 __ovld __cnfn convert_int16_sat_rtz(uint16);
   4524 int16 __ovld __cnfn convert_int16_rtp(uint16);
   4525 int16 __ovld __cnfn convert_int16_sat_rtp(uint16);
   4526 int16 __ovld __cnfn convert_int16_rtn(uint16);
   4527 int16 __ovld __cnfn convert_int16_sat_rtn(uint16);
   4528 int16 __ovld __cnfn convert_int16(uint16);
   4529 int16 __ovld __cnfn convert_int16_sat(uint16);
   4530 int16 __ovld __cnfn convert_int16_rte(long16);
   4531 int16 __ovld __cnfn convert_int16_sat_rte(long16);
   4532 int16 __ovld __cnfn convert_int16_rtz(long16);
   4533 int16 __ovld __cnfn convert_int16_sat_rtz(long16);
   4534 int16 __ovld __cnfn convert_int16_rtp(long16);
   4535 int16 __ovld __cnfn convert_int16_sat_rtp(long16);
   4536 int16 __ovld __cnfn convert_int16_rtn(long16);
   4537 int16 __ovld __cnfn convert_int16_sat_rtn(long16);
   4538 int16 __ovld __cnfn convert_int16(long16);
   4539 int16 __ovld __cnfn convert_int16_sat(long16);
   4540 int16 __ovld __cnfn convert_int16_rte(ulong16);
   4541 int16 __ovld __cnfn convert_int16_sat_rte(ulong16);
   4542 int16 __ovld __cnfn convert_int16_rtz(ulong16);
   4543 int16 __ovld __cnfn convert_int16_sat_rtz(ulong16);
   4544 int16 __ovld __cnfn convert_int16_rtp(ulong16);
   4545 int16 __ovld __cnfn convert_int16_sat_rtp(ulong16);
   4546 int16 __ovld __cnfn convert_int16_rtn(ulong16);
   4547 int16 __ovld __cnfn convert_int16_sat_rtn(ulong16);
   4548 int16 __ovld __cnfn convert_int16(ulong16);
   4549 int16 __ovld __cnfn convert_int16_sat(ulong16);
   4550 int16 __ovld __cnfn convert_int16_rte(float16);
   4551 int16 __ovld __cnfn convert_int16_sat_rte(float16);
   4552 int16 __ovld __cnfn convert_int16_rtz(float16);
   4553 int16 __ovld __cnfn convert_int16_sat_rtz(float16);
   4554 int16 __ovld __cnfn convert_int16_rtp(float16);
   4555 int16 __ovld __cnfn convert_int16_sat_rtp(float16);
   4556 int16 __ovld __cnfn convert_int16_rtn(float16);
   4557 int16 __ovld __cnfn convert_int16_sat_rtn(float16);
   4558 int16 __ovld __cnfn convert_int16(float16);
   4559 int16 __ovld __cnfn convert_int16_sat(float16);
   4560 uint16 __ovld __cnfn convert_uint16_rte(char16);
   4561 uint16 __ovld __cnfn convert_uint16_sat_rte(char16);
   4562 uint16 __ovld __cnfn convert_uint16_rtz(char16);
   4563 uint16 __ovld __cnfn convert_uint16_sat_rtz(char16);
   4564 uint16 __ovld __cnfn convert_uint16_rtp(char16);
   4565 uint16 __ovld __cnfn convert_uint16_sat_rtp(char16);
   4566 uint16 __ovld __cnfn convert_uint16_rtn(char16);
   4567 uint16 __ovld __cnfn convert_uint16_sat_rtn(char16);
   4568 uint16 __ovld __cnfn convert_uint16(char16);
   4569 uint16 __ovld __cnfn convert_uint16_sat(char16);
   4570 uint16 __ovld __cnfn convert_uint16_rte(uchar16);
   4571 uint16 __ovld __cnfn convert_uint16_sat_rte(uchar16);
   4572 uint16 __ovld __cnfn convert_uint16_rtz(uchar16);
   4573 uint16 __ovld __cnfn convert_uint16_sat_rtz(uchar16);
   4574 uint16 __ovld __cnfn convert_uint16_rtp(uchar16);
   4575 uint16 __ovld __cnfn convert_uint16_sat_rtp(uchar16);
   4576 uint16 __ovld __cnfn convert_uint16_rtn(uchar16);
   4577 uint16 __ovld __cnfn convert_uint16_sat_rtn(uchar16);
   4578 uint16 __ovld __cnfn convert_uint16(uchar16);
   4579 uint16 __ovld __cnfn convert_uint16_sat(uchar16);
   4580 uint16 __ovld __cnfn convert_uint16_rte(short16);
   4581 uint16 __ovld __cnfn convert_uint16_sat_rte(short16);
   4582 uint16 __ovld __cnfn convert_uint16_rtz(short16);
   4583 uint16 __ovld __cnfn convert_uint16_sat_rtz(short16);
   4584 uint16 __ovld __cnfn convert_uint16_rtp(short16);
   4585 uint16 __ovld __cnfn convert_uint16_sat_rtp(short16);
   4586 uint16 __ovld __cnfn convert_uint16_rtn(short16);
   4587 uint16 __ovld __cnfn convert_uint16_sat_rtn(short16);
   4588 uint16 __ovld __cnfn convert_uint16(short16);
   4589 uint16 __ovld __cnfn convert_uint16_sat(short16);
   4590 uint16 __ovld __cnfn convert_uint16_rte(ushort16);
   4591 uint16 __ovld __cnfn convert_uint16_sat_rte(ushort16);
   4592 uint16 __ovld __cnfn convert_uint16_rtz(ushort16);
   4593 uint16 __ovld __cnfn convert_uint16_sat_rtz(ushort16);
   4594 uint16 __ovld __cnfn convert_uint16_rtp(ushort16);
   4595 uint16 __ovld __cnfn convert_uint16_sat_rtp(ushort16);
   4596 uint16 __ovld __cnfn convert_uint16_rtn(ushort16);
   4597 uint16 __ovld __cnfn convert_uint16_sat_rtn(ushort16);
   4598 uint16 __ovld __cnfn convert_uint16(ushort16);
   4599 uint16 __ovld __cnfn convert_uint16_sat(ushort16);
   4600 uint16 __ovld __cnfn convert_uint16_rte(int16);
   4601 uint16 __ovld __cnfn convert_uint16_sat_rte(int16);
   4602 uint16 __ovld __cnfn convert_uint16_rtz(int16);
   4603 uint16 __ovld __cnfn convert_uint16_sat_rtz(int16);
   4604 uint16 __ovld __cnfn convert_uint16_rtp(int16);
   4605 uint16 __ovld __cnfn convert_uint16_sat_rtp(int16);
   4606 uint16 __ovld __cnfn convert_uint16_rtn(int16);
   4607 uint16 __ovld __cnfn convert_uint16_sat_rtn(int16);
   4608 uint16 __ovld __cnfn convert_uint16(int16);
   4609 uint16 __ovld __cnfn convert_uint16_sat(int16);
   4610 uint16 __ovld __cnfn convert_uint16_rte(uint16);
   4611 uint16 __ovld __cnfn convert_uint16_sat_rte(uint16);
   4612 uint16 __ovld __cnfn convert_uint16_rtz(uint16);
   4613 uint16 __ovld __cnfn convert_uint16_sat_rtz(uint16);
   4614 uint16 __ovld __cnfn convert_uint16_rtp(uint16);
   4615 uint16 __ovld __cnfn convert_uint16_sat_rtp(uint16);
   4616 uint16 __ovld __cnfn convert_uint16_rtn(uint16);
   4617 uint16 __ovld __cnfn convert_uint16_sat_rtn(uint16);
   4618 uint16 __ovld __cnfn convert_uint16(uint16);
   4619 uint16 __ovld __cnfn convert_uint16_sat(uint16);
   4620 uint16 __ovld __cnfn convert_uint16_rte(long16);
   4621 uint16 __ovld __cnfn convert_uint16_sat_rte(long16);
   4622 uint16 __ovld __cnfn convert_uint16_rtz(long16);
   4623 uint16 __ovld __cnfn convert_uint16_sat_rtz(long16);
   4624 uint16 __ovld __cnfn convert_uint16_rtp(long16);
   4625 uint16 __ovld __cnfn convert_uint16_sat_rtp(long16);
   4626 uint16 __ovld __cnfn convert_uint16_rtn(long16);
   4627 uint16 __ovld __cnfn convert_uint16_sat_rtn(long16);
   4628 uint16 __ovld __cnfn convert_uint16(long16);
   4629 uint16 __ovld __cnfn convert_uint16_sat(long16);
   4630 uint16 __ovld __cnfn convert_uint16_rte(ulong16);
   4631 uint16 __ovld __cnfn convert_uint16_sat_rte(ulong16);
   4632 uint16 __ovld __cnfn convert_uint16_rtz(ulong16);
   4633 uint16 __ovld __cnfn convert_uint16_sat_rtz(ulong16);
   4634 uint16 __ovld __cnfn convert_uint16_rtp(ulong16);
   4635 uint16 __ovld __cnfn convert_uint16_sat_rtp(ulong16);
   4636 uint16 __ovld __cnfn convert_uint16_rtn(ulong16);
   4637 uint16 __ovld __cnfn convert_uint16_sat_rtn(ulong16);
   4638 uint16 __ovld __cnfn convert_uint16(ulong16);
   4639 uint16 __ovld __cnfn convert_uint16_sat(ulong16);
   4640 uint16 __ovld __cnfn convert_uint16_rte(float16);
   4641 uint16 __ovld __cnfn convert_uint16_sat_rte(float16);
   4642 uint16 __ovld __cnfn convert_uint16_rtz(float16);
   4643 uint16 __ovld __cnfn convert_uint16_sat_rtz(float16);
   4644 uint16 __ovld __cnfn convert_uint16_rtp(float16);
   4645 uint16 __ovld __cnfn convert_uint16_sat_rtp(float16);
   4646 uint16 __ovld __cnfn convert_uint16_rtn(float16);
   4647 uint16 __ovld __cnfn convert_uint16_sat_rtn(float16);
   4648 uint16 __ovld __cnfn convert_uint16(float16);
   4649 uint16 __ovld __cnfn convert_uint16_sat(float16);
   4650 long16 __ovld __cnfn convert_long16_rte(char16);
   4651 long16 __ovld __cnfn convert_long16_sat_rte(char16);
   4652 long16 __ovld __cnfn convert_long16_rtz(char16);
   4653 long16 __ovld __cnfn convert_long16_sat_rtz(char16);
   4654 long16 __ovld __cnfn convert_long16_rtp(char16);
   4655 long16 __ovld __cnfn convert_long16_sat_rtp(char16);
   4656 long16 __ovld __cnfn convert_long16_rtn(char16);
   4657 long16 __ovld __cnfn convert_long16_sat_rtn(char16);
   4658 long16 __ovld __cnfn convert_long16(char16);
   4659 long16 __ovld __cnfn convert_long16_sat(char16);
   4660 long16 __ovld __cnfn convert_long16_rte(uchar16);
   4661 long16 __ovld __cnfn convert_long16_sat_rte(uchar16);
   4662 long16 __ovld __cnfn convert_long16_rtz(uchar16);
   4663 long16 __ovld __cnfn convert_long16_sat_rtz(uchar16);
   4664 long16 __ovld __cnfn convert_long16_rtp(uchar16);
   4665 long16 __ovld __cnfn convert_long16_sat_rtp(uchar16);
   4666 long16 __ovld __cnfn convert_long16_rtn(uchar16);
   4667 long16 __ovld __cnfn convert_long16_sat_rtn(uchar16);
   4668 long16 __ovld __cnfn convert_long16(uchar16);
   4669 long16 __ovld __cnfn convert_long16_sat(uchar16);
   4670 long16 __ovld __cnfn convert_long16_rte(short16);
   4671 long16 __ovld __cnfn convert_long16_sat_rte(short16);
   4672 long16 __ovld __cnfn convert_long16_rtz(short16);
   4673 long16 __ovld __cnfn convert_long16_sat_rtz(short16);
   4674 long16 __ovld __cnfn convert_long16_rtp(short16);
   4675 long16 __ovld __cnfn convert_long16_sat_rtp(short16);
   4676 long16 __ovld __cnfn convert_long16_rtn(short16);
   4677 long16 __ovld __cnfn convert_long16_sat_rtn(short16);
   4678 long16 __ovld __cnfn convert_long16(short16);
   4679 long16 __ovld __cnfn convert_long16_sat(short16);
   4680 long16 __ovld __cnfn convert_long16_rte(ushort16);
   4681 long16 __ovld __cnfn convert_long16_sat_rte(ushort16);
   4682 long16 __ovld __cnfn convert_long16_rtz(ushort16);
   4683 long16 __ovld __cnfn convert_long16_sat_rtz(ushort16);
   4684 long16 __ovld __cnfn convert_long16_rtp(ushort16);
   4685 long16 __ovld __cnfn convert_long16_sat_rtp(ushort16);
   4686 long16 __ovld __cnfn convert_long16_rtn(ushort16);
   4687 long16 __ovld __cnfn convert_long16_sat_rtn(ushort16);
   4688 long16 __ovld __cnfn convert_long16(ushort16);
   4689 long16 __ovld __cnfn convert_long16_sat(ushort16);
   4690 long16 __ovld __cnfn convert_long16_rte(int16);
   4691 long16 __ovld __cnfn convert_long16_sat_rte(int16);
   4692 long16 __ovld __cnfn convert_long16_rtz(int16);
   4693 long16 __ovld __cnfn convert_long16_sat_rtz(int16);
   4694 long16 __ovld __cnfn convert_long16_rtp(int16);
   4695 long16 __ovld __cnfn convert_long16_sat_rtp(int16);
   4696 long16 __ovld __cnfn convert_long16_rtn(int16);
   4697 long16 __ovld __cnfn convert_long16_sat_rtn(int16);
   4698 long16 __ovld __cnfn convert_long16(int16);
   4699 long16 __ovld __cnfn convert_long16_sat(int16);
   4700 long16 __ovld __cnfn convert_long16_rte(uint16);
   4701 long16 __ovld __cnfn convert_long16_sat_rte(uint16);
   4702 long16 __ovld __cnfn convert_long16_rtz(uint16);
   4703 long16 __ovld __cnfn convert_long16_sat_rtz(uint16);
   4704 long16 __ovld __cnfn convert_long16_rtp(uint16);
   4705 long16 __ovld __cnfn convert_long16_sat_rtp(uint16);
   4706 long16 __ovld __cnfn convert_long16_rtn(uint16);
   4707 long16 __ovld __cnfn convert_long16_sat_rtn(uint16);
   4708 long16 __ovld __cnfn convert_long16(uint16);
   4709 long16 __ovld __cnfn convert_long16_sat(uint16);
   4710 long16 __ovld __cnfn convert_long16_rte(long16);
   4711 long16 __ovld __cnfn convert_long16_sat_rte(long16);
   4712 long16 __ovld __cnfn convert_long16_rtz(long16);
   4713 long16 __ovld __cnfn convert_long16_sat_rtz(long16);
   4714 long16 __ovld __cnfn convert_long16_rtp(long16);
   4715 long16 __ovld __cnfn convert_long16_sat_rtp(long16);
   4716 long16 __ovld __cnfn convert_long16_rtn(long16);
   4717 long16 __ovld __cnfn convert_long16_sat_rtn(long16);
   4718 long16 __ovld __cnfn convert_long16(long16);
   4719 long16 __ovld __cnfn convert_long16_sat(long16);
   4720 long16 __ovld __cnfn convert_long16_rte(ulong16);
   4721 long16 __ovld __cnfn convert_long16_sat_rte(ulong16);
   4722 long16 __ovld __cnfn convert_long16_rtz(ulong16);
   4723 long16 __ovld __cnfn convert_long16_sat_rtz(ulong16);
   4724 long16 __ovld __cnfn convert_long16_rtp(ulong16);
   4725 long16 __ovld __cnfn convert_long16_sat_rtp(ulong16);
   4726 long16 __ovld __cnfn convert_long16_rtn(ulong16);
   4727 long16 __ovld __cnfn convert_long16_sat_rtn(ulong16);
   4728 long16 __ovld __cnfn convert_long16(ulong16);
   4729 long16 __ovld __cnfn convert_long16_sat(ulong16);
   4730 long16 __ovld __cnfn convert_long16_rte(float16);
   4731 long16 __ovld __cnfn convert_long16_sat_rte(float16);
   4732 long16 __ovld __cnfn convert_long16_rtz(float16);
   4733 long16 __ovld __cnfn convert_long16_sat_rtz(float16);
   4734 long16 __ovld __cnfn convert_long16_rtp(float16);
   4735 long16 __ovld __cnfn convert_long16_sat_rtp(float16);
   4736 long16 __ovld __cnfn convert_long16_rtn(float16);
   4737 long16 __ovld __cnfn convert_long16_sat_rtn(float16);
   4738 long16 __ovld __cnfn convert_long16(float16);
   4739 long16 __ovld __cnfn convert_long16_sat(float16);
   4740 ulong16 __ovld __cnfn convert_ulong16_rte(char16);
   4741 ulong16 __ovld __cnfn convert_ulong16_sat_rte(char16);
   4742 ulong16 __ovld __cnfn convert_ulong16_rtz(char16);
   4743 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(char16);
   4744 ulong16 __ovld __cnfn convert_ulong16_rtp(char16);
   4745 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(char16);
   4746 ulong16 __ovld __cnfn convert_ulong16_rtn(char16);
   4747 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(char16);
   4748 ulong16 __ovld __cnfn convert_ulong16(char16);
   4749 ulong16 __ovld __cnfn convert_ulong16_sat(char16);
   4750 ulong16 __ovld __cnfn convert_ulong16_rte(uchar16);
   4751 ulong16 __ovld __cnfn convert_ulong16_sat_rte(uchar16);
   4752 ulong16 __ovld __cnfn convert_ulong16_rtz(uchar16);
   4753 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uchar16);
   4754 ulong16 __ovld __cnfn convert_ulong16_rtp(uchar16);
   4755 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uchar16);
   4756 ulong16 __ovld __cnfn convert_ulong16_rtn(uchar16);
   4757 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uchar16);
   4758 ulong16 __ovld __cnfn convert_ulong16(uchar16);
   4759 ulong16 __ovld __cnfn convert_ulong16_sat(uchar16);
   4760 ulong16 __ovld __cnfn convert_ulong16_rte(short16);
   4761 ulong16 __ovld __cnfn convert_ulong16_sat_rte(short16);
   4762 ulong16 __ovld __cnfn convert_ulong16_rtz(short16);
   4763 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(short16);
   4764 ulong16 __ovld __cnfn convert_ulong16_rtp(short16);
   4765 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(short16);
   4766 ulong16 __ovld __cnfn convert_ulong16_rtn(short16);
   4767 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(short16);
   4768 ulong16 __ovld __cnfn convert_ulong16(short16);
   4769 ulong16 __ovld __cnfn convert_ulong16_sat(short16);
   4770 ulong16 __ovld __cnfn convert_ulong16_rte(ushort16);
   4771 ulong16 __ovld __cnfn convert_ulong16_sat_rte(ushort16);
   4772 ulong16 __ovld __cnfn convert_ulong16_rtz(ushort16);
   4773 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ushort16);
   4774 ulong16 __ovld __cnfn convert_ulong16_rtp(ushort16);
   4775 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ushort16);
   4776 ulong16 __ovld __cnfn convert_ulong16_rtn(ushort16);
   4777 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ushort16);
   4778 ulong16 __ovld __cnfn convert_ulong16(ushort16);
   4779 ulong16 __ovld __cnfn convert_ulong16_sat(ushort16);
   4780 ulong16 __ovld __cnfn convert_ulong16_rte(int16);
   4781 ulong16 __ovld __cnfn convert_ulong16_sat_rte(int16);
   4782 ulong16 __ovld __cnfn convert_ulong16_rtz(int16);
   4783 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(int16);
   4784 ulong16 __ovld __cnfn convert_ulong16_rtp(int16);
   4785 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(int16);
   4786 ulong16 __ovld __cnfn convert_ulong16_rtn(int16);
   4787 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(int16);
   4788 ulong16 __ovld __cnfn convert_ulong16(int16);
   4789 ulong16 __ovld __cnfn convert_ulong16_sat(int16);
   4790 ulong16 __ovld __cnfn convert_ulong16_rte(uint16);
   4791 ulong16 __ovld __cnfn convert_ulong16_sat_rte(uint16);
   4792 ulong16 __ovld __cnfn convert_ulong16_rtz(uint16);
   4793 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uint16);
   4794 ulong16 __ovld __cnfn convert_ulong16_rtp(uint16);
   4795 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uint16);
   4796 ulong16 __ovld __cnfn convert_ulong16_rtn(uint16);
   4797 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uint16);
   4798 ulong16 __ovld __cnfn convert_ulong16(uint16);
   4799 ulong16 __ovld __cnfn convert_ulong16_sat(uint16);
   4800 ulong16 __ovld __cnfn convert_ulong16_rte(long16);
   4801 ulong16 __ovld __cnfn convert_ulong16_sat_rte(long16);
   4802 ulong16 __ovld __cnfn convert_ulong16_rtz(long16);
   4803 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(long16);
   4804 ulong16 __ovld __cnfn convert_ulong16_rtp(long16);
   4805 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(long16);
   4806 ulong16 __ovld __cnfn convert_ulong16_rtn(long16);
   4807 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(long16);
   4808 ulong16 __ovld __cnfn convert_ulong16(long16);
   4809 ulong16 __ovld __cnfn convert_ulong16_sat(long16);
   4810 ulong16 __ovld __cnfn convert_ulong16_rte(ulong16);
   4811 ulong16 __ovld __cnfn convert_ulong16_sat_rte(ulong16);
   4812 ulong16 __ovld __cnfn convert_ulong16_rtz(ulong16);
   4813 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ulong16);
   4814 ulong16 __ovld __cnfn convert_ulong16_rtp(ulong16);
   4815 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ulong16);
   4816 ulong16 __ovld __cnfn convert_ulong16_rtn(ulong16);
   4817 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ulong16);
   4818 ulong16 __ovld __cnfn convert_ulong16(ulong16);
   4819 ulong16 __ovld __cnfn convert_ulong16_sat(ulong16);
   4820 ulong16 __ovld __cnfn convert_ulong16_rte(float16);
   4821 ulong16 __ovld __cnfn convert_ulong16_sat_rte(float16);
   4822 ulong16 __ovld __cnfn convert_ulong16_rtz(float16);
   4823 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(float16);
   4824 ulong16 __ovld __cnfn convert_ulong16_rtp(float16);
   4825 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(float16);
   4826 ulong16 __ovld __cnfn convert_ulong16_rtn(float16);
   4827 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(float16);
   4828 ulong16 __ovld __cnfn convert_ulong16(float16);
   4829 ulong16 __ovld __cnfn convert_ulong16_sat(float16);
   4830 float16 __ovld __cnfn convert_float16_rte(char16);
   4831 float16 __ovld __cnfn convert_float16_rtz(char16);
   4832 float16 __ovld __cnfn convert_float16_rtp(char16);
   4833 float16 __ovld __cnfn convert_float16_rtn(char16);
   4834 float16 __ovld __cnfn convert_float16(char16);
   4835 float16 __ovld __cnfn convert_float16_rte(uchar16);
   4836 float16 __ovld __cnfn convert_float16_rtz(uchar16);
   4837 float16 __ovld __cnfn convert_float16_rtp(uchar16);
   4838 float16 __ovld __cnfn convert_float16_rtn(uchar16);
   4839 float16 __ovld __cnfn convert_float16(uchar16);
   4840 float16 __ovld __cnfn convert_float16_rte(short16);
   4841 float16 __ovld __cnfn convert_float16_rtz(short16);
   4842 float16 __ovld __cnfn convert_float16_rtp(short16);
   4843 float16 __ovld __cnfn convert_float16_rtn(short16);
   4844 float16 __ovld __cnfn convert_float16(short16);
   4845 float16 __ovld __cnfn convert_float16_rte(ushort16);
   4846 float16 __ovld __cnfn convert_float16_rtz(ushort16);
   4847 float16 __ovld __cnfn convert_float16_rtp(ushort16);
   4848 float16 __ovld __cnfn convert_float16_rtn(ushort16);
   4849 float16 __ovld __cnfn convert_float16(ushort16);
   4850 float16 __ovld __cnfn convert_float16_rte(int16);
   4851 float16 __ovld __cnfn convert_float16_rtz(int16);
   4852 float16 __ovld __cnfn convert_float16_rtp(int16);
   4853 float16 __ovld __cnfn convert_float16_rtn(int16);
   4854 float16 __ovld __cnfn convert_float16(int16);
   4855 float16 __ovld __cnfn convert_float16_rte(uint16);
   4856 float16 __ovld __cnfn convert_float16_rtz(uint16);
   4857 float16 __ovld __cnfn convert_float16_rtp(uint16);
   4858 float16 __ovld __cnfn convert_float16_rtn(uint16);
   4859 float16 __ovld __cnfn convert_float16(uint16);
   4860 float16 __ovld __cnfn convert_float16_rte(long16);
   4861 float16 __ovld __cnfn convert_float16_rtz(long16);
   4862 float16 __ovld __cnfn convert_float16_rtp(long16);
   4863 float16 __ovld __cnfn convert_float16_rtn(long16);
   4864 float16 __ovld __cnfn convert_float16(long16);
   4865 float16 __ovld __cnfn convert_float16_rte(ulong16);
   4866 float16 __ovld __cnfn convert_float16_rtz(ulong16);
   4867 float16 __ovld __cnfn convert_float16_rtp(ulong16);
   4868 float16 __ovld __cnfn convert_float16_rtn(ulong16);
   4869 float16 __ovld __cnfn convert_float16(ulong16);
   4870 float16 __ovld __cnfn convert_float16_rte(float16);
   4871 float16 __ovld __cnfn convert_float16_rtz(float16);
   4872 float16 __ovld __cnfn convert_float16_rtp(float16);
   4873 float16 __ovld __cnfn convert_float16_rtn(float16);
   4874 float16 __ovld __cnfn convert_float16(float16);
   4875 
   4876 // Conversions with double data type parameters or return value.
   4877 
   4878 #ifdef cl_khr_fp64
   4879 char __ovld __cnfn convert_char(double);
   4880 char __ovld __cnfn convert_char_rte(double);
   4881 char __ovld __cnfn convert_char_rtn(double);
   4882 char __ovld __cnfn convert_char_rtp(double);
   4883 char __ovld __cnfn convert_char_rtz(double);
   4884 char __ovld __cnfn convert_char_sat(double);
   4885 char __ovld __cnfn convert_char_sat_rte(double);
   4886 char __ovld __cnfn convert_char_sat_rtn(double);
   4887 char __ovld __cnfn convert_char_sat_rtp(double);
   4888 char __ovld __cnfn convert_char_sat_rtz(double);
   4889 char2 __ovld __cnfn convert_char2(double2);
   4890 char2 __ovld __cnfn convert_char2_rte(double2);
   4891 char2 __ovld __cnfn convert_char2_rtn(double2);
   4892 char2 __ovld __cnfn convert_char2_rtp(double2);
   4893 char2 __ovld __cnfn convert_char2_rtz(double2);
   4894 char2 __ovld __cnfn convert_char2_sat(double2);
   4895 char2 __ovld __cnfn convert_char2_sat_rte(double2);
   4896 char2 __ovld __cnfn convert_char2_sat_rtn(double2);
   4897 char2 __ovld __cnfn convert_char2_sat_rtp(double2);
   4898 char2 __ovld __cnfn convert_char2_sat_rtz(double2);
   4899 char3 __ovld __cnfn convert_char3(double3);
   4900 char3 __ovld __cnfn convert_char3_rte(double3);
   4901 char3 __ovld __cnfn convert_char3_rtn(double3);
   4902 char3 __ovld __cnfn convert_char3_rtp(double3);
   4903 char3 __ovld __cnfn convert_char3_rtz(double3);
   4904 char3 __ovld __cnfn convert_char3_sat(double3);
   4905 char3 __ovld __cnfn convert_char3_sat_rte(double3);
   4906 char3 __ovld __cnfn convert_char3_sat_rtn(double3);
   4907 char3 __ovld __cnfn convert_char3_sat_rtp(double3);
   4908 char3 __ovld __cnfn convert_char3_sat_rtz(double3);
   4909 char4 __ovld __cnfn convert_char4(double4);
   4910 char4 __ovld __cnfn convert_char4_rte(double4);
   4911 char4 __ovld __cnfn convert_char4_rtn(double4);
   4912 char4 __ovld __cnfn convert_char4_rtp(double4);
   4913 char4 __ovld __cnfn convert_char4_rtz(double4);
   4914 char4 __ovld __cnfn convert_char4_sat(double4);
   4915 char4 __ovld __cnfn convert_char4_sat_rte(double4);
   4916 char4 __ovld __cnfn convert_char4_sat_rtn(double4);
   4917 char4 __ovld __cnfn convert_char4_sat_rtp(double4);
   4918 char4 __ovld __cnfn convert_char4_sat_rtz(double4);
   4919 char8 __ovld __cnfn convert_char8(double8);
   4920 char8 __ovld __cnfn convert_char8_rte(double8);
   4921 char8 __ovld __cnfn convert_char8_rtn(double8);
   4922 char8 __ovld __cnfn convert_char8_rtp(double8);
   4923 char8 __ovld __cnfn convert_char8_rtz(double8);
   4924 char8 __ovld __cnfn convert_char8_sat(double8);
   4925 char8 __ovld __cnfn convert_char8_sat_rte(double8);
   4926 char8 __ovld __cnfn convert_char8_sat_rtn(double8);
   4927 char8 __ovld __cnfn convert_char8_sat_rtp(double8);
   4928 char8 __ovld __cnfn convert_char8_sat_rtz(double8);
   4929 char16 __ovld __cnfn convert_char16(double16);
   4930 char16 __ovld __cnfn convert_char16_rte(double16);
   4931 char16 __ovld __cnfn convert_char16_rtn(double16);
   4932 char16 __ovld __cnfn convert_char16_rtp(double16);
   4933 char16 __ovld __cnfn convert_char16_rtz(double16);
   4934 char16 __ovld __cnfn convert_char16_sat(double16);
   4935 char16 __ovld __cnfn convert_char16_sat_rte(double16);
   4936 char16 __ovld __cnfn convert_char16_sat_rtn(double16);
   4937 char16 __ovld __cnfn convert_char16_sat_rtp(double16);
   4938 char16 __ovld __cnfn convert_char16_sat_rtz(double16);
   4939 
   4940 uchar __ovld __cnfn convert_uchar(double);
   4941 uchar __ovld __cnfn convert_uchar_rte(double);
   4942 uchar __ovld __cnfn convert_uchar_rtn(double);
   4943 uchar __ovld __cnfn convert_uchar_rtp(double);
   4944 uchar __ovld __cnfn convert_uchar_rtz(double);
   4945 uchar __ovld __cnfn convert_uchar_sat(double);
   4946 uchar __ovld __cnfn convert_uchar_sat_rte(double);
   4947 uchar __ovld __cnfn convert_uchar_sat_rtn(double);
   4948 uchar __ovld __cnfn convert_uchar_sat_rtp(double);
   4949 uchar __ovld __cnfn convert_uchar_sat_rtz(double);
   4950 uchar2 __ovld __cnfn convert_uchar2(double2);
   4951 uchar2 __ovld __cnfn convert_uchar2_rte(double2);
   4952 uchar2 __ovld __cnfn convert_uchar2_rtn(double2);
   4953 uchar2 __ovld __cnfn convert_uchar2_rtp(double2);
   4954 uchar2 __ovld __cnfn convert_uchar2_rtz(double2);
   4955 uchar2 __ovld __cnfn convert_uchar2_sat(double2);
   4956 uchar2 __ovld __cnfn convert_uchar2_sat_rte(double2);
   4957 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(double2);
   4958 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(double2);
   4959 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(double2);
   4960 uchar3 __ovld __cnfn convert_uchar3(double3);
   4961 uchar3 __ovld __cnfn convert_uchar3_rte(double3);
   4962 uchar3 __ovld __cnfn convert_uchar3_rtn(double3);
   4963 uchar3 __ovld __cnfn convert_uchar3_rtp(double3);
   4964 uchar3 __ovld __cnfn convert_uchar3_rtz(double3);
   4965 uchar3 __ovld __cnfn convert_uchar3_sat(double3);
   4966 uchar3 __ovld __cnfn convert_uchar3_sat_rte(double3);
   4967 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(double3);
   4968 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(double3);
   4969 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(double3);
   4970 uchar4 __ovld __cnfn convert_uchar4(double4);
   4971 uchar4 __ovld __cnfn convert_uchar4_rte(double4);
   4972 uchar4 __ovld __cnfn convert_uchar4_rtn(double4);
   4973 uchar4 __ovld __cnfn convert_uchar4_rtp(double4);
   4974 uchar4 __ovld __cnfn convert_uchar4_rtz(double4);
   4975 uchar4 __ovld __cnfn convert_uchar4_sat(double4);
   4976 uchar4 __ovld __cnfn convert_uchar4_sat_rte(double4);
   4977 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(double4);
   4978 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(double4);
   4979 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(double4);
   4980 uchar8 __ovld __cnfn convert_uchar8(double8);
   4981 uchar8 __ovld __cnfn convert_uchar8_rte(double8);
   4982 uchar8 __ovld __cnfn convert_uchar8_rtn(double8);
   4983 uchar8 __ovld __cnfn convert_uchar8_rtp(double8);
   4984 uchar8 __ovld __cnfn convert_uchar8_rtz(double8);
   4985 uchar8 __ovld __cnfn convert_uchar8_sat(double8);
   4986 uchar8 __ovld __cnfn convert_uchar8_sat_rte(double8);
   4987 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(double8);
   4988 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(double8);
   4989 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(double8);
   4990 uchar16 __ovld __cnfn convert_uchar16(double16);
   4991 uchar16 __ovld __cnfn convert_uchar16_rte(double16);
   4992 uchar16 __ovld __cnfn convert_uchar16_rtn(double16);
   4993 uchar16 __ovld __cnfn convert_uchar16_rtp(double16);
   4994 uchar16 __ovld __cnfn convert_uchar16_rtz(double16);
   4995 uchar16 __ovld __cnfn convert_uchar16_sat(double16);
   4996 uchar16 __ovld __cnfn convert_uchar16_sat_rte(double16);
   4997 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(double16);
   4998 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(double16);
   4999 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(double16);
   5000 
   5001 short __ovld __cnfn convert_short(double);
   5002 short __ovld __cnfn convert_short_rte(double);
   5003 short __ovld __cnfn convert_short_rtn(double);
   5004 short __ovld __cnfn convert_short_rtp(double);
   5005 short __ovld __cnfn convert_short_rtz(double);
   5006 short __ovld __cnfn convert_short_sat(double);
   5007 short __ovld __cnfn convert_short_sat_rte(double);
   5008 short __ovld __cnfn convert_short_sat_rtn(double);
   5009 short __ovld __cnfn convert_short_sat_rtp(double);
   5010 short __ovld __cnfn convert_short_sat_rtz(double);
   5011 short2 __ovld __cnfn convert_short2(double2);
   5012 short2 __ovld __cnfn convert_short2_rte(double2);
   5013 short2 __ovld __cnfn convert_short2_rtn(double2);
   5014 short2 __ovld __cnfn convert_short2_rtp(double2);
   5015 short2 __ovld __cnfn convert_short2_rtz(double2);
   5016 short2 __ovld __cnfn convert_short2_sat(double2);
   5017 short2 __ovld __cnfn convert_short2_sat_rte(double2);
   5018 short2 __ovld __cnfn convert_short2_sat_rtn(double2);
   5019 short2 __ovld __cnfn convert_short2_sat_rtp(double2);
   5020 short2 __ovld __cnfn convert_short2_sat_rtz(double2);
   5021 short3 __ovld __cnfn convert_short3(double3);
   5022 short3 __ovld __cnfn convert_short3_rte(double3);
   5023 short3 __ovld __cnfn convert_short3_rtn(double3);
   5024 short3 __ovld __cnfn convert_short3_rtp(double3);
   5025 short3 __ovld __cnfn convert_short3_rtz(double3);
   5026 short3 __ovld __cnfn convert_short3_sat(double3);
   5027 short3 __ovld __cnfn convert_short3_sat_rte(double3);
   5028 short3 __ovld __cnfn convert_short3_sat_rtn(double3);
   5029 short3 __ovld __cnfn convert_short3_sat_rtp(double3);
   5030 short3 __ovld __cnfn convert_short3_sat_rtz(double3);
   5031 short4 __ovld __cnfn convert_short4(double4);
   5032 short4 __ovld __cnfn convert_short4_rte(double4);
   5033 short4 __ovld __cnfn convert_short4_rtn(double4);
   5034 short4 __ovld __cnfn convert_short4_rtp(double4);
   5035 short4 __ovld __cnfn convert_short4_rtz(double4);
   5036 short4 __ovld __cnfn convert_short4_sat(double4);
   5037 short4 __ovld __cnfn convert_short4_sat_rte(double4);
   5038 short4 __ovld __cnfn convert_short4_sat_rtn(double4);
   5039 short4 __ovld __cnfn convert_short4_sat_rtp(double4);
   5040 short4 __ovld __cnfn convert_short4_sat_rtz(double4);
   5041 short8 __ovld __cnfn convert_short8(double8);
   5042 short8 __ovld __cnfn convert_short8_rte(double8);
   5043 short8 __ovld __cnfn convert_short8_rtn(double8);
   5044 short8 __ovld __cnfn convert_short8_rtp(double8);
   5045 short8 __ovld __cnfn convert_short8_rtz(double8);
   5046 short8 __ovld __cnfn convert_short8_sat(double8);
   5047 short8 __ovld __cnfn convert_short8_sat_rte(double8);
   5048 short8 __ovld __cnfn convert_short8_sat_rtn(double8);
   5049 short8 __ovld __cnfn convert_short8_sat_rtp(double8);
   5050 short8 __ovld __cnfn convert_short8_sat_rtz(double8);
   5051 short16 __ovld __cnfn convert_short16(double16);
   5052 short16 __ovld __cnfn convert_short16_rte(double16);
   5053 short16 __ovld __cnfn convert_short16_rtn(double16);
   5054 short16 __ovld __cnfn convert_short16_rtp(double16);
   5055 short16 __ovld __cnfn convert_short16_rtz(double16);
   5056 short16 __ovld __cnfn convert_short16_sat(double16);
   5057 short16 __ovld __cnfn convert_short16_sat_rte(double16);
   5058 short16 __ovld __cnfn convert_short16_sat_rtn(double16);
   5059 short16 __ovld __cnfn convert_short16_sat_rtp(double16);
   5060 short16 __ovld __cnfn convert_short16_sat_rtz(double16);
   5061 
   5062 ushort __ovld __cnfn convert_ushort(double);
   5063 ushort __ovld __cnfn convert_ushort_rte(double);
   5064 ushort __ovld __cnfn convert_ushort_rtn(double);
   5065 ushort __ovld __cnfn convert_ushort_rtp(double);
   5066 ushort __ovld __cnfn convert_ushort_rtz(double);
   5067 ushort __ovld __cnfn convert_ushort_sat(double);
   5068 ushort __ovld __cnfn convert_ushort_sat_rte(double);
   5069 ushort __ovld __cnfn convert_ushort_sat_rtn(double);
   5070 ushort __ovld __cnfn convert_ushort_sat_rtp(double);
   5071 ushort __ovld __cnfn convert_ushort_sat_rtz(double);
   5072 ushort2 __ovld __cnfn convert_ushort2(double2);
   5073 ushort2 __ovld __cnfn convert_ushort2_rte(double2);
   5074 ushort2 __ovld __cnfn convert_ushort2_rtn(double2);
   5075 ushort2 __ovld __cnfn convert_ushort2_rtp(double2);
   5076 ushort2 __ovld __cnfn convert_ushort2_rtz(double2);
   5077 ushort2 __ovld __cnfn convert_ushort2_sat(double2);
   5078 ushort2 __ovld __cnfn convert_ushort2_sat_rte(double2);
   5079 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(double2);
   5080 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(double2);
   5081 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(double2);
   5082 ushort3 __ovld __cnfn convert_ushort3(double3);
   5083 ushort3 __ovld __cnfn convert_ushort3_rte(double3);
   5084 ushort3 __ovld __cnfn convert_ushort3_rtn(double3);
   5085 ushort3 __ovld __cnfn convert_ushort3_rtp(double3);
   5086 ushort3 __ovld __cnfn convert_ushort3_rtz(double3);
   5087 ushort3 __ovld __cnfn convert_ushort3_sat(double3);
   5088 ushort3 __ovld __cnfn convert_ushort3_sat_rte(double3);
   5089 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(double3);
   5090 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(double3);
   5091 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(double3);
   5092 ushort4 __ovld __cnfn convert_ushort4(double4);
   5093 ushort4 __ovld __cnfn convert_ushort4_rte(double4);
   5094 ushort4 __ovld __cnfn convert_ushort4_rtn(double4);
   5095 ushort4 __ovld __cnfn convert_ushort4_rtp(double4);
   5096 ushort4 __ovld __cnfn convert_ushort4_rtz(double4);
   5097 ushort4 __ovld __cnfn convert_ushort4_sat(double4);
   5098 ushort4 __ovld __cnfn convert_ushort4_sat_rte(double4);
   5099 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(double4);
   5100 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(double4);
   5101 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(double4);
   5102 ushort8 __ovld __cnfn convert_ushort8(double8);
   5103 ushort8 __ovld __cnfn convert_ushort8_rte(double8);
   5104 ushort8 __ovld __cnfn convert_ushort8_rtn(double8);
   5105 ushort8 __ovld __cnfn convert_ushort8_rtp(double8);
   5106 ushort8 __ovld __cnfn convert_ushort8_rtz(double8);
   5107 ushort8 __ovld __cnfn convert_ushort8_sat(double8);
   5108 ushort8 __ovld __cnfn convert_ushort8_sat_rte(double8);
   5109 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(double8);
   5110 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(double8);
   5111 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(double8);
   5112 ushort16 __ovld __cnfn convert_ushort16(double16);
   5113 ushort16 __ovld __cnfn convert_ushort16_rte(double16);
   5114 ushort16 __ovld __cnfn convert_ushort16_rtn(double16);
   5115 ushort16 __ovld __cnfn convert_ushort16_rtp(double16);
   5116 ushort16 __ovld __cnfn convert_ushort16_rtz(double16);
   5117 ushort16 __ovld __cnfn convert_ushort16_sat(double16);
   5118 ushort16 __ovld __cnfn convert_ushort16_sat_rte(double16);
   5119 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(double16);
   5120 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(double16);
   5121 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(double16);
   5122 
   5123 int __ovld __cnfn convert_int(double);
   5124 int __ovld __cnfn convert_int_rte(double);
   5125 int __ovld __cnfn convert_int_rtn(double);
   5126 int __ovld __cnfn convert_int_rtp(double);
   5127 int __ovld __cnfn convert_int_rtz(double);
   5128 int __ovld __cnfn convert_int_sat(double);
   5129 int __ovld __cnfn convert_int_sat_rte(double);
   5130 int __ovld __cnfn convert_int_sat_rtn(double);
   5131 int __ovld __cnfn convert_int_sat_rtp(double);
   5132 int __ovld __cnfn convert_int_sat_rtz(double);
   5133 int2 __ovld __cnfn convert_int2(double2);
   5134 int2 __ovld __cnfn convert_int2_rte(double2);
   5135 int2 __ovld __cnfn convert_int2_rtn(double2);
   5136 int2 __ovld __cnfn convert_int2_rtp(double2);
   5137 int2 __ovld __cnfn convert_int2_rtz(double2);
   5138 int2 __ovld __cnfn convert_int2_sat(double2);
   5139 int2 __ovld __cnfn convert_int2_sat_rte(double2);
   5140 int2 __ovld __cnfn convert_int2_sat_rtn(double2);
   5141 int2 __ovld __cnfn convert_int2_sat_rtp(double2);
   5142 int2 __ovld __cnfn convert_int2_sat_rtz(double2);
   5143 int3 __ovld __cnfn convert_int3(double3);
   5144 int3 __ovld __cnfn convert_int3_rte(double3);
   5145 int3 __ovld __cnfn convert_int3_rtn(double3);
   5146 int3 __ovld __cnfn convert_int3_rtp(double3);
   5147 int3 __ovld __cnfn convert_int3_rtz(double3);
   5148 int3 __ovld __cnfn convert_int3_sat(double3);
   5149 int3 __ovld __cnfn convert_int3_sat_rte(double3);
   5150 int3 __ovld __cnfn convert_int3_sat_rtn(double3);
   5151 int3 __ovld __cnfn convert_int3_sat_rtp(double3);
   5152 int3 __ovld __cnfn convert_int3_sat_rtz(double3);
   5153 int4 __ovld __cnfn convert_int4(double4);
   5154 int4 __ovld __cnfn convert_int4_rte(double4);
   5155 int4 __ovld __cnfn convert_int4_rtn(double4);
   5156 int4 __ovld __cnfn convert_int4_rtp(double4);
   5157 int4 __ovld __cnfn convert_int4_rtz(double4);
   5158 int4 __ovld __cnfn convert_int4_sat(double4);
   5159 int4 __ovld __cnfn convert_int4_sat_rte(double4);
   5160 int4 __ovld __cnfn convert_int4_sat_rtn(double4);
   5161 int4 __ovld __cnfn convert_int4_sat_rtp(double4);
   5162 int4 __ovld __cnfn convert_int4_sat_rtz(double4);
   5163 int8 __ovld __cnfn convert_int8(double8);
   5164 int8 __ovld __cnfn convert_int8_rte(double8);
   5165 int8 __ovld __cnfn convert_int8_rtn(double8);
   5166 int8 __ovld __cnfn convert_int8_rtp(double8);
   5167 int8 __ovld __cnfn convert_int8_rtz(double8);
   5168 int8 __ovld __cnfn convert_int8_sat(double8);
   5169 int8 __ovld __cnfn convert_int8_sat_rte(double8);
   5170 int8 __ovld __cnfn convert_int8_sat_rtn(double8);
   5171 int8 __ovld __cnfn convert_int8_sat_rtp(double8);
   5172 int8 __ovld __cnfn convert_int8_sat_rtz(double8);
   5173 int16 __ovld __cnfn convert_int16(double16);
   5174 int16 __ovld __cnfn convert_int16_rte(double16);
   5175 int16 __ovld __cnfn convert_int16_rtn(double16);
   5176 int16 __ovld __cnfn convert_int16_rtp(double16);
   5177 int16 __ovld __cnfn convert_int16_rtz(double16);
   5178 int16 __ovld __cnfn convert_int16_sat(double16);
   5179 int16 __ovld __cnfn convert_int16_sat_rte(double16);
   5180 int16 __ovld __cnfn convert_int16_sat_rtn(double16);
   5181 int16 __ovld __cnfn convert_int16_sat_rtp(double16);
   5182 int16 __ovld __cnfn convert_int16_sat_rtz(double16);
   5183 
   5184 uint __ovld __cnfn convert_uint(double);
   5185 uint __ovld __cnfn convert_uint_rte(double);
   5186 uint __ovld __cnfn convert_uint_rtn(double);
   5187 uint __ovld __cnfn convert_uint_rtp(double);
   5188 uint __ovld __cnfn convert_uint_rtz(double);
   5189 uint __ovld __cnfn convert_uint_sat(double);
   5190 uint __ovld __cnfn convert_uint_sat_rte(double);
   5191 uint __ovld __cnfn convert_uint_sat_rtn(double);
   5192 uint __ovld __cnfn convert_uint_sat_rtp(double);
   5193 uint __ovld __cnfn convert_uint_sat_rtz(double);
   5194 uint2 __ovld __cnfn convert_uint2(double2);
   5195 uint2 __ovld __cnfn convert_uint2_rte(double2);
   5196 uint2 __ovld __cnfn convert_uint2_rtn(double2);
   5197 uint2 __ovld __cnfn convert_uint2_rtp(double2);
   5198 uint2 __ovld __cnfn convert_uint2_rtz(double2);
   5199 uint2 __ovld __cnfn convert_uint2_sat(double2);
   5200 uint2 __ovld __cnfn convert_uint2_sat_rte(double2);
   5201 uint2 __ovld __cnfn convert_uint2_sat_rtn(double2);
   5202 uint2 __ovld __cnfn convert_uint2_sat_rtp(double2);
   5203 uint2 __ovld __cnfn convert_uint2_sat_rtz(double2);
   5204 uint3 __ovld __cnfn convert_uint3(double3);
   5205 uint3 __ovld __cnfn convert_uint3_rte(double3);
   5206 uint3 __ovld __cnfn convert_uint3_rtn(double3);
   5207 uint3 __ovld __cnfn convert_uint3_rtp(double3);
   5208 uint3 __ovld __cnfn convert_uint3_rtz(double3);
   5209 uint3 __ovld __cnfn convert_uint3_sat(double3);
   5210 uint3 __ovld __cnfn convert_uint3_sat_rte(double3);
   5211 uint3 __ovld __cnfn convert_uint3_sat_rtn(double3);
   5212 uint3 __ovld __cnfn convert_uint3_sat_rtp(double3);
   5213 uint3 __ovld __cnfn convert_uint3_sat_rtz(double3);
   5214 uint4 __ovld __cnfn convert_uint4(double4);
   5215 uint4 __ovld __cnfn convert_uint4_rte(double4);
   5216 uint4 __ovld __cnfn convert_uint4_rtn(double4);
   5217 uint4 __ovld __cnfn convert_uint4_rtp(double4);
   5218 uint4 __ovld __cnfn convert_uint4_rtz(double4);
   5219 uint4 __ovld __cnfn convert_uint4_sat(double4);
   5220 uint4 __ovld __cnfn convert_uint4_sat_rte(double4);
   5221 uint4 __ovld __cnfn convert_uint4_sat_rtn(double4);
   5222 uint4 __ovld __cnfn convert_uint4_sat_rtp(double4);
   5223 uint4 __ovld __cnfn convert_uint4_sat_rtz(double4);
   5224 uint8 __ovld __cnfn convert_uint8(double8);
   5225 uint8 __ovld __cnfn convert_uint8_rte(double8);
   5226 uint8 __ovld __cnfn convert_uint8_rtn(double8);
   5227 uint8 __ovld __cnfn convert_uint8_rtp(double8);
   5228 uint8 __ovld __cnfn convert_uint8_rtz(double8);
   5229 uint8 __ovld __cnfn convert_uint8_sat(double8);
   5230 uint8 __ovld __cnfn convert_uint8_sat_rte(double8);
   5231 uint8 __ovld __cnfn convert_uint8_sat_rtn(double8);
   5232 uint8 __ovld __cnfn convert_uint8_sat_rtp(double8);
   5233 uint8 __ovld __cnfn convert_uint8_sat_rtz(double8);
   5234 uint16 __ovld __cnfn convert_uint16(double16);
   5235 uint16 __ovld __cnfn convert_uint16_rte(double16);
   5236 uint16 __ovld __cnfn convert_uint16_rtn(double16);
   5237 uint16 __ovld __cnfn convert_uint16_rtp(double16);
   5238 uint16 __ovld __cnfn convert_uint16_rtz(double16);
   5239 uint16 __ovld __cnfn convert_uint16_sat(double16);
   5240 uint16 __ovld __cnfn convert_uint16_sat_rte(double16);
   5241 uint16 __ovld __cnfn convert_uint16_sat_rtn(double16);
   5242 uint16 __ovld __cnfn convert_uint16_sat_rtp(double16);
   5243 uint16 __ovld __cnfn convert_uint16_sat_rtz(double16);
   5244 
   5245 long __ovld __cnfn convert_long(double);
   5246 long __ovld __cnfn convert_long_rte(double);
   5247 long __ovld __cnfn convert_long_rtn(double);
   5248 long __ovld __cnfn convert_long_rtp(double);
   5249 long __ovld __cnfn convert_long_rtz(double);
   5250 long __ovld __cnfn convert_long_sat(double);
   5251 long __ovld __cnfn convert_long_sat_rte(double);
   5252 long __ovld __cnfn convert_long_sat_rtn(double);
   5253 long __ovld __cnfn convert_long_sat_rtp(double);
   5254 long __ovld __cnfn convert_long_sat_rtz(double);
   5255 long2 __ovld __cnfn convert_long2(double2);
   5256 long2 __ovld __cnfn convert_long2_rte(double2);
   5257 long2 __ovld __cnfn convert_long2_rtn(double2);
   5258 long2 __ovld __cnfn convert_long2_rtp(double2);
   5259 long2 __ovld __cnfn convert_long2_rtz(double2);
   5260 long2 __ovld __cnfn convert_long2_sat(double2);
   5261 long2 __ovld __cnfn convert_long2_sat_rte(double2);
   5262 long2 __ovld __cnfn convert_long2_sat_rtn(double2);
   5263 long2 __ovld __cnfn convert_long2_sat_rtp(double2);
   5264 long2 __ovld __cnfn convert_long2_sat_rtz(double2);
   5265 long3 __ovld __cnfn convert_long3(double3);
   5266 long3 __ovld __cnfn convert_long3_rte(double3);
   5267 long3 __ovld __cnfn convert_long3_rtn(double3);
   5268 long3 __ovld __cnfn convert_long3_rtp(double3);
   5269 long3 __ovld __cnfn convert_long3_rtz(double3);
   5270 long3 __ovld __cnfn convert_long3_sat(double3);
   5271 long3 __ovld __cnfn convert_long3_sat_rte(double3);
   5272 long3 __ovld __cnfn convert_long3_sat_rtn(double3);
   5273 long3 __ovld __cnfn convert_long3_sat_rtp(double3);
   5274 long3 __ovld __cnfn convert_long3_sat_rtz(double3);
   5275 long4 __ovld __cnfn convert_long4(double4);
   5276 long4 __ovld __cnfn convert_long4_rte(double4);
   5277 long4 __ovld __cnfn convert_long4_rtn(double4);
   5278 long4 __ovld __cnfn convert_long4_rtp(double4);
   5279 long4 __ovld __cnfn convert_long4_rtz(double4);
   5280 long4 __ovld __cnfn convert_long4_sat(double4);
   5281 long4 __ovld __cnfn convert_long4_sat_rte(double4);
   5282 long4 __ovld __cnfn convert_long4_sat_rtn(double4);
   5283 long4 __ovld __cnfn convert_long4_sat_rtp(double4);
   5284 long4 __ovld __cnfn convert_long4_sat_rtz(double4);
   5285 long8 __ovld __cnfn convert_long8(double8);
   5286 long8 __ovld __cnfn convert_long8_rte(double8);
   5287 long8 __ovld __cnfn convert_long8_rtn(double8);
   5288 long8 __ovld __cnfn convert_long8_rtp(double8);
   5289 long8 __ovld __cnfn convert_long8_rtz(double8);
   5290 long8 __ovld __cnfn convert_long8_sat(double8);
   5291 long8 __ovld __cnfn convert_long8_sat_rte(double8);
   5292 long8 __ovld __cnfn convert_long8_sat_rtn(double8);
   5293 long8 __ovld __cnfn convert_long8_sat_rtp(double8);
   5294 long8 __ovld __cnfn convert_long8_sat_rtz(double8);
   5295 long16 __ovld __cnfn convert_long16(double16);
   5296 long16 __ovld __cnfn convert_long16_rte(double16);
   5297 long16 __ovld __cnfn convert_long16_rtn(double16);
   5298 long16 __ovld __cnfn convert_long16_rtp(double16);
   5299 long16 __ovld __cnfn convert_long16_rtz(double16);
   5300 long16 __ovld __cnfn convert_long16_sat(double16);
   5301 long16 __ovld __cnfn convert_long16_sat_rte(double16);
   5302 long16 __ovld __cnfn convert_long16_sat_rtn(double16);
   5303 long16 __ovld __cnfn convert_long16_sat_rtp(double16);
   5304 long16 __ovld __cnfn convert_long16_sat_rtz(double16);
   5305 
   5306 ulong __ovld __cnfn convert_ulong(double);
   5307 ulong __ovld __cnfn convert_ulong_rte(double);
   5308 ulong __ovld __cnfn convert_ulong_rtn(double);
   5309 ulong __ovld __cnfn convert_ulong_rtp(double);
   5310 ulong __ovld __cnfn convert_ulong_rtz(double);
   5311 ulong __ovld __cnfn convert_ulong_sat(double);
   5312 ulong __ovld __cnfn convert_ulong_sat_rte(double);
   5313 ulong __ovld __cnfn convert_ulong_sat_rtn(double);
   5314 ulong __ovld __cnfn convert_ulong_sat_rtp(double);
   5315 ulong __ovld __cnfn convert_ulong_sat_rtz(double);
   5316 ulong2 __ovld __cnfn convert_ulong2(double2);
   5317 ulong2 __ovld __cnfn convert_ulong2_rte(double2);
   5318 ulong2 __ovld __cnfn convert_ulong2_rtn(double2);
   5319 ulong2 __ovld __cnfn convert_ulong2_rtp(double2);
   5320 ulong2 __ovld __cnfn convert_ulong2_rtz(double2);
   5321 ulong2 __ovld __cnfn convert_ulong2_sat(double2);
   5322 ulong2 __ovld __cnfn convert_ulong2_sat_rte(double2);
   5323 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(double2);
   5324 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(double2);
   5325 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(double2);
   5326 ulong3 __ovld __cnfn convert_ulong3(double3);
   5327 ulong3 __ovld __cnfn convert_ulong3_rte(double3);
   5328 ulong3 __ovld __cnfn convert_ulong3_rtn(double3);
   5329 ulong3 __ovld __cnfn convert_ulong3_rtp(double3);
   5330 ulong3 __ovld __cnfn convert_ulong3_rtz(double3);
   5331 ulong3 __ovld __cnfn convert_ulong3_sat(double3);
   5332 ulong3 __ovld __cnfn convert_ulong3_sat_rte(double3);
   5333 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(double3);
   5334 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(double3);
   5335 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(double3);
   5336 ulong4 __ovld __cnfn convert_ulong4(double4);
   5337 ulong4 __ovld __cnfn convert_ulong4_rte(double4);
   5338 ulong4 __ovld __cnfn convert_ulong4_rtn(double4);
   5339 ulong4 __ovld __cnfn convert_ulong4_rtp(double4);
   5340 ulong4 __ovld __cnfn convert_ulong4_rtz(double4);
   5341 ulong4 __ovld __cnfn convert_ulong4_sat(double4);
   5342 ulong4 __ovld __cnfn convert_ulong4_sat_rte(double4);
   5343 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(double4);
   5344 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(double4);
   5345 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(double4);
   5346 ulong8 __ovld __cnfn convert_ulong8(double8);
   5347 ulong8 __ovld __cnfn convert_ulong8_rte(double8);
   5348 ulong8 __ovld __cnfn convert_ulong8_rtn(double8);
   5349 ulong8 __ovld __cnfn convert_ulong8_rtp(double8);
   5350 ulong8 __ovld __cnfn convert_ulong8_rtz(double8);
   5351 ulong8 __ovld __cnfn convert_ulong8_sat(double8);
   5352 ulong8 __ovld __cnfn convert_ulong8_sat_rte(double8);
   5353 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(double8);
   5354 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(double8);
   5355 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(double8);
   5356 ulong16 __ovld __cnfn convert_ulong16(double16);
   5357 ulong16 __ovld __cnfn convert_ulong16_rte(double16);
   5358 ulong16 __ovld __cnfn convert_ulong16_rtn(double16);
   5359 ulong16 __ovld __cnfn convert_ulong16_rtp(double16);
   5360 ulong16 __ovld __cnfn convert_ulong16_rtz(double16);
   5361 ulong16 __ovld __cnfn convert_ulong16_sat(double16);
   5362 ulong16 __ovld __cnfn convert_ulong16_sat_rte(double16);
   5363 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(double16);
   5364 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(double16);
   5365 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(double16);
   5366 
   5367 float __ovld __cnfn convert_float(double);
   5368 float __ovld __cnfn convert_float_rte(double);
   5369 float __ovld __cnfn convert_float_rtn(double);
   5370 float __ovld __cnfn convert_float_rtp(double);
   5371 float __ovld __cnfn convert_float_rtz(double);
   5372 float2 __ovld __cnfn convert_float2(double2);
   5373 float2 __ovld __cnfn convert_float2_rte(double2);
   5374 float2 __ovld __cnfn convert_float2_rtn(double2);
   5375 float2 __ovld __cnfn convert_float2_rtp(double2);
   5376 float2 __ovld __cnfn convert_float2_rtz(double2);
   5377 float3 __ovld __cnfn convert_float3(double3);
   5378 float3 __ovld __cnfn convert_float3_rte(double3);
   5379 float3 __ovld __cnfn convert_float3_rtn(double3);
   5380 float3 __ovld __cnfn convert_float3_rtp(double3);
   5381 float3 __ovld __cnfn convert_float3_rtz(double3);
   5382 float4 __ovld __cnfn convert_float4(double4);
   5383 float4 __ovld __cnfn convert_float4_rte(double4);
   5384 float4 __ovld __cnfn convert_float4_rtn(double4);
   5385 float4 __ovld __cnfn convert_float4_rtp(double4);
   5386 float4 __ovld __cnfn convert_float4_rtz(double4);
   5387 float8 __ovld __cnfn convert_float8(double8);
   5388 float8 __ovld __cnfn convert_float8_rte(double8);
   5389 float8 __ovld __cnfn convert_float8_rtn(double8);
   5390 float8 __ovld __cnfn convert_float8_rtp(double8);
   5391 float8 __ovld __cnfn convert_float8_rtz(double8);
   5392 float16 __ovld __cnfn convert_float16(double16);
   5393 float16 __ovld __cnfn convert_float16_rte(double16);
   5394 float16 __ovld __cnfn convert_float16_rtn(double16);
   5395 float16 __ovld __cnfn convert_float16_rtp(double16);
   5396 float16 __ovld __cnfn convert_float16_rtz(double16);
   5397 
   5398 double __ovld __cnfn convert_double(char);
   5399 double __ovld __cnfn convert_double(double);
   5400 double __ovld __cnfn convert_double(float);
   5401 double __ovld __cnfn convert_double(int);
   5402 double __ovld __cnfn convert_double(long);
   5403 double __ovld __cnfn convert_double(short);
   5404 double __ovld __cnfn convert_double(uchar);
   5405 double __ovld __cnfn convert_double(uint);
   5406 double __ovld __cnfn convert_double(ulong);
   5407 double __ovld __cnfn convert_double(ushort);
   5408 double __ovld __cnfn convert_double_rte(char);
   5409 double __ovld __cnfn convert_double_rte(double);
   5410 double __ovld __cnfn convert_double_rte(float);
   5411 double __ovld __cnfn convert_double_rte(int);
   5412 double __ovld __cnfn convert_double_rte(long);
   5413 double __ovld __cnfn convert_double_rte(short);
   5414 double __ovld __cnfn convert_double_rte(uchar);
   5415 double __ovld __cnfn convert_double_rte(uint);
   5416 double __ovld __cnfn convert_double_rte(ulong);
   5417 double __ovld __cnfn convert_double_rte(ushort);
   5418 double __ovld __cnfn convert_double_rtn(char);
   5419 double __ovld __cnfn convert_double_rtn(double);
   5420 double __ovld __cnfn convert_double_rtn(float);
   5421 double __ovld __cnfn convert_double_rtn(int);
   5422 double __ovld __cnfn convert_double_rtn(long);
   5423 double __ovld __cnfn convert_double_rtn(short);
   5424 double __ovld __cnfn convert_double_rtn(uchar);
   5425 double __ovld __cnfn convert_double_rtn(uint);
   5426 double __ovld __cnfn convert_double_rtn(ulong);
   5427 double __ovld __cnfn convert_double_rtn(ushort);
   5428 double __ovld __cnfn convert_double_rtp(char);
   5429 double __ovld __cnfn convert_double_rtp(double);
   5430 double __ovld __cnfn convert_double_rtp(float);
   5431 double __ovld __cnfn convert_double_rtp(int);
   5432 double __ovld __cnfn convert_double_rtp(long);
   5433 double __ovld __cnfn convert_double_rtp(short);
   5434 double __ovld __cnfn convert_double_rtp(uchar);
   5435 double __ovld __cnfn convert_double_rtp(uint);
   5436 double __ovld __cnfn convert_double_rtp(ulong);
   5437 double __ovld __cnfn convert_double_rtp(ushort);
   5438 double __ovld __cnfn convert_double_rtz(char);
   5439 double __ovld __cnfn convert_double_rtz(double);
   5440 double __ovld __cnfn convert_double_rtz(float);
   5441 double __ovld __cnfn convert_double_rtz(int);
   5442 double __ovld __cnfn convert_double_rtz(long);
   5443 double __ovld __cnfn convert_double_rtz(short);
   5444 double __ovld __cnfn convert_double_rtz(uchar);
   5445 double __ovld __cnfn convert_double_rtz(uint);
   5446 double __ovld __cnfn convert_double_rtz(ulong);
   5447 double __ovld __cnfn convert_double_rtz(ushort);
   5448 double2 __ovld __cnfn convert_double2(char2);
   5449 double2 __ovld __cnfn convert_double2(double2);
   5450 double2 __ovld __cnfn convert_double2(float2);
   5451 double2 __ovld __cnfn convert_double2(int2);
   5452 double2 __ovld __cnfn convert_double2(long2);
   5453 double2 __ovld __cnfn convert_double2(short2);
   5454 double2 __ovld __cnfn convert_double2(uchar2);
   5455 double2 __ovld __cnfn convert_double2(uint2);
   5456 double2 __ovld __cnfn convert_double2(ulong2);
   5457 double2 __ovld __cnfn convert_double2(ushort2);
   5458 double2 __ovld __cnfn convert_double2_rte(char2);
   5459 double2 __ovld __cnfn convert_double2_rte(double2);
   5460 double2 __ovld __cnfn convert_double2_rte(float2);
   5461 double2 __ovld __cnfn convert_double2_rte(int2);
   5462 double2 __ovld __cnfn convert_double2_rte(long2);
   5463 double2 __ovld __cnfn convert_double2_rte(short2);
   5464 double2 __ovld __cnfn convert_double2_rte(uchar2);
   5465 double2 __ovld __cnfn convert_double2_rte(uint2);
   5466 double2 __ovld __cnfn convert_double2_rte(ulong2);
   5467 double2 __ovld __cnfn convert_double2_rte(ushort2);
   5468 double2 __ovld __cnfn convert_double2_rtn(char2);
   5469 double2 __ovld __cnfn convert_double2_rtn(double2);
   5470 double2 __ovld __cnfn convert_double2_rtn(float2);
   5471 double2 __ovld __cnfn convert_double2_rtn(int2);
   5472 double2 __ovld __cnfn convert_double2_rtn(long2);
   5473 double2 __ovld __cnfn convert_double2_rtn(short2);
   5474 double2 __ovld __cnfn convert_double2_rtn(uchar2);
   5475 double2 __ovld __cnfn convert_double2_rtn(uint2);
   5476 double2 __ovld __cnfn convert_double2_rtn(ulong2);
   5477 double2 __ovld __cnfn convert_double2_rtn(ushort2);
   5478 double2 __ovld __cnfn convert_double2_rtp(char2);
   5479 double2 __ovld __cnfn convert_double2_rtp(double2);
   5480 double2 __ovld __cnfn convert_double2_rtp(float2);
   5481 double2 __ovld __cnfn convert_double2_rtp(int2);
   5482 double2 __ovld __cnfn convert_double2_rtp(long2);
   5483 double2 __ovld __cnfn convert_double2_rtp(short2);
   5484 double2 __ovld __cnfn convert_double2_rtp(uchar2);
   5485 double2 __ovld __cnfn convert_double2_rtp(uint2);
   5486 double2 __ovld __cnfn convert_double2_rtp(ulong2);
   5487 double2 __ovld __cnfn convert_double2_rtp(ushort2);
   5488 double2 __ovld __cnfn convert_double2_rtz(char2);
   5489 double2 __ovld __cnfn convert_double2_rtz(double2);
   5490 double2 __ovld __cnfn convert_double2_rtz(float2);
   5491 double2 __ovld __cnfn convert_double2_rtz(int2);
   5492 double2 __ovld __cnfn convert_double2_rtz(long2);
   5493 double2 __ovld __cnfn convert_double2_rtz(short2);
   5494 double2 __ovld __cnfn convert_double2_rtz(uchar2);
   5495 double2 __ovld __cnfn convert_double2_rtz(uint2);
   5496 double2 __ovld __cnfn convert_double2_rtz(ulong2);
   5497 double2 __ovld __cnfn convert_double2_rtz(ushort2);
   5498 double3 __ovld __cnfn convert_double3(char3);
   5499 double3 __ovld __cnfn convert_double3(double3);
   5500 double3 __ovld __cnfn convert_double3(float3);
   5501 double3 __ovld __cnfn convert_double3(int3);
   5502 double3 __ovld __cnfn convert_double3(long3);
   5503 double3 __ovld __cnfn convert_double3(short3);
   5504 double3 __ovld __cnfn convert_double3(uchar3);
   5505 double3 __ovld __cnfn convert_double3(uint3);
   5506 double3 __ovld __cnfn convert_double3(ulong3);
   5507 double3 __ovld __cnfn convert_double3(ushort3);
   5508 double3 __ovld __cnfn convert_double3_rte(char3);
   5509 double3 __ovld __cnfn convert_double3_rte(double3);
   5510 double3 __ovld __cnfn convert_double3_rte(float3);
   5511 double3 __ovld __cnfn convert_double3_rte(int3);
   5512 double3 __ovld __cnfn convert_double3_rte(long3);
   5513 double3 __ovld __cnfn convert_double3_rte(short3);
   5514 double3 __ovld __cnfn convert_double3_rte(uchar3);
   5515 double3 __ovld __cnfn convert_double3_rte(uint3);
   5516 double3 __ovld __cnfn convert_double3_rte(ulong3);
   5517 double3 __ovld __cnfn convert_double3_rte(ushort3);
   5518 double3 __ovld __cnfn convert_double3_rtn(char3);
   5519 double3 __ovld __cnfn convert_double3_rtn(double3);
   5520 double3 __ovld __cnfn convert_double3_rtn(float3);
   5521 double3 __ovld __cnfn convert_double3_rtn(int3);
   5522 double3 __ovld __cnfn convert_double3_rtn(long3);
   5523 double3 __ovld __cnfn convert_double3_rtn(short3);
   5524 double3 __ovld __cnfn convert_double3_rtn(uchar3);
   5525 double3 __ovld __cnfn convert_double3_rtn(uint3);
   5526 double3 __ovld __cnfn convert_double3_rtn(ulong3);
   5527 double3 __ovld __cnfn convert_double3_rtn(ushort3);
   5528 double3 __ovld __cnfn convert_double3_rtp(char3);
   5529 double3 __ovld __cnfn convert_double3_rtp(double3);
   5530 double3 __ovld __cnfn convert_double3_rtp(float3);
   5531 double3 __ovld __cnfn convert_double3_rtp(int3);
   5532 double3 __ovld __cnfn convert_double3_rtp(long3);
   5533 double3 __ovld __cnfn convert_double3_rtp(short3);
   5534 double3 __ovld __cnfn convert_double3_rtp(uchar3);
   5535 double3 __ovld __cnfn convert_double3_rtp(uint3);
   5536 double3 __ovld __cnfn convert_double3_rtp(ulong3);
   5537 double3 __ovld __cnfn convert_double3_rtp(ushort3);
   5538 double3 __ovld __cnfn convert_double3_rtz(char3);
   5539 double3 __ovld __cnfn convert_double3_rtz(double3);
   5540 double3 __ovld __cnfn convert_double3_rtz(float3);
   5541 double3 __ovld __cnfn convert_double3_rtz(int3);
   5542 double3 __ovld __cnfn convert_double3_rtz(long3);
   5543 double3 __ovld __cnfn convert_double3_rtz(short3);
   5544 double3 __ovld __cnfn convert_double3_rtz(uchar3);
   5545 double3 __ovld __cnfn convert_double3_rtz(uint3);
   5546 double3 __ovld __cnfn convert_double3_rtz(ulong3);
   5547 double3 __ovld __cnfn convert_double3_rtz(ushort3);
   5548 double4 __ovld __cnfn convert_double4(char4);
   5549 double4 __ovld __cnfn convert_double4(double4);
   5550 double4 __ovld __cnfn convert_double4(float4);
   5551 double4 __ovld __cnfn convert_double4(int4);
   5552 double4 __ovld __cnfn convert_double4(long4);
   5553 double4 __ovld __cnfn convert_double4(short4);
   5554 double4 __ovld __cnfn convert_double4(uchar4);
   5555 double4 __ovld __cnfn convert_double4(uint4);
   5556 double4 __ovld __cnfn convert_double4(ulong4);
   5557 double4 __ovld __cnfn convert_double4(ushort4);
   5558 double4 __ovld __cnfn convert_double4_rte(char4);
   5559 double4 __ovld __cnfn convert_double4_rte(double4);
   5560 double4 __ovld __cnfn convert_double4_rte(float4);
   5561 double4 __ovld __cnfn convert_double4_rte(int4);
   5562 double4 __ovld __cnfn convert_double4_rte(long4);
   5563 double4 __ovld __cnfn convert_double4_rte(short4);
   5564 double4 __ovld __cnfn convert_double4_rte(uchar4);
   5565 double4 __ovld __cnfn convert_double4_rte(uint4);
   5566 double4 __ovld __cnfn convert_double4_rte(ulong4);
   5567 double4 __ovld __cnfn convert_double4_rte(ushort4);
   5568 double4 __ovld __cnfn convert_double4_rtn(char4);
   5569 double4 __ovld __cnfn convert_double4_rtn(double4);
   5570 double4 __ovld __cnfn convert_double4_rtn(float4);
   5571 double4 __ovld __cnfn convert_double4_rtn(int4);
   5572 double4 __ovld __cnfn convert_double4_rtn(long4);
   5573 double4 __ovld __cnfn convert_double4_rtn(short4);
   5574 double4 __ovld __cnfn convert_double4_rtn(uchar4);
   5575 double4 __ovld __cnfn convert_double4_rtn(uint4);
   5576 double4 __ovld __cnfn convert_double4_rtn(ulong4);
   5577 double4 __ovld __cnfn convert_double4_rtn(ushort4);
   5578 double4 __ovld __cnfn convert_double4_rtp(char4);
   5579 double4 __ovld __cnfn convert_double4_rtp(double4);
   5580 double4 __ovld __cnfn convert_double4_rtp(float4);
   5581 double4 __ovld __cnfn convert_double4_rtp(int4);
   5582 double4 __ovld __cnfn convert_double4_rtp(long4);
   5583 double4 __ovld __cnfn convert_double4_rtp(short4);
   5584 double4 __ovld __cnfn convert_double4_rtp(uchar4);
   5585 double4 __ovld __cnfn convert_double4_rtp(uint4);
   5586 double4 __ovld __cnfn convert_double4_rtp(ulong4);
   5587 double4 __ovld __cnfn convert_double4_rtp(ushort4);
   5588 double4 __ovld __cnfn convert_double4_rtz(char4);
   5589 double4 __ovld __cnfn convert_double4_rtz(double4);
   5590 double4 __ovld __cnfn convert_double4_rtz(float4);
   5591 double4 __ovld __cnfn convert_double4_rtz(int4);
   5592 double4 __ovld __cnfn convert_double4_rtz(long4);
   5593 double4 __ovld __cnfn convert_double4_rtz(short4);
   5594 double4 __ovld __cnfn convert_double4_rtz(uchar4);
   5595 double4 __ovld __cnfn convert_double4_rtz(uint4);
   5596 double4 __ovld __cnfn convert_double4_rtz(ulong4);
   5597 double4 __ovld __cnfn convert_double4_rtz(ushort4);
   5598 double8 __ovld __cnfn convert_double8(char8);
   5599 double8 __ovld __cnfn convert_double8(double8);
   5600 double8 __ovld __cnfn convert_double8(float8);
   5601 double8 __ovld __cnfn convert_double8(int8);
   5602 double8 __ovld __cnfn convert_double8(long8);
   5603 double8 __ovld __cnfn convert_double8(short8);
   5604 double8 __ovld __cnfn convert_double8(uchar8);
   5605 double8 __ovld __cnfn convert_double8(uint8);
   5606 double8 __ovld __cnfn convert_double8(ulong8);
   5607 double8 __ovld __cnfn convert_double8(ushort8);
   5608 double8 __ovld __cnfn convert_double8_rte(char8);
   5609 double8 __ovld __cnfn convert_double8_rte(double8);
   5610 double8 __ovld __cnfn convert_double8_rte(float8);
   5611 double8 __ovld __cnfn convert_double8_rte(int8);
   5612 double8 __ovld __cnfn convert_double8_rte(long8);
   5613 double8 __ovld __cnfn convert_double8_rte(short8);
   5614 double8 __ovld __cnfn convert_double8_rte(uchar8);
   5615 double8 __ovld __cnfn convert_double8_rte(uint8);
   5616 double8 __ovld __cnfn convert_double8_rte(ulong8);
   5617 double8 __ovld __cnfn convert_double8_rte(ushort8);
   5618 double8 __ovld __cnfn convert_double8_rtn(char8);
   5619 double8 __ovld __cnfn convert_double8_rtn(double8);
   5620 double8 __ovld __cnfn convert_double8_rtn(float8);
   5621 double8 __ovld __cnfn convert_double8_rtn(int8);
   5622 double8 __ovld __cnfn convert_double8_rtn(long8);
   5623 double8 __ovld __cnfn convert_double8_rtn(short8);
   5624 double8 __ovld __cnfn convert_double8_rtn(uchar8);
   5625 double8 __ovld __cnfn convert_double8_rtn(uint8);
   5626 double8 __ovld __cnfn convert_double8_rtn(ulong8);
   5627 double8 __ovld __cnfn convert_double8_rtn(ushort8);
   5628 double8 __ovld __cnfn convert_double8_rtp(char8);
   5629 double8 __ovld __cnfn convert_double8_rtp(double8);
   5630 double8 __ovld __cnfn convert_double8_rtp(float8);
   5631 double8 __ovld __cnfn convert_double8_rtp(int8);
   5632 double8 __ovld __cnfn convert_double8_rtp(long8);
   5633 double8 __ovld __cnfn convert_double8_rtp(short8);
   5634 double8 __ovld __cnfn convert_double8_rtp(uchar8);
   5635 double8 __ovld __cnfn convert_double8_rtp(uint8);
   5636 double8 __ovld __cnfn convert_double8_rtp(ulong8);
   5637 double8 __ovld __cnfn convert_double8_rtp(ushort8);
   5638 double8 __ovld __cnfn convert_double8_rtz(char8);
   5639 double8 __ovld __cnfn convert_double8_rtz(double8);
   5640 double8 __ovld __cnfn convert_double8_rtz(float8);
   5641 double8 __ovld __cnfn convert_double8_rtz(int8);
   5642 double8 __ovld __cnfn convert_double8_rtz(long8);
   5643 double8 __ovld __cnfn convert_double8_rtz(short8);
   5644 double8 __ovld __cnfn convert_double8_rtz(uchar8);
   5645 double8 __ovld __cnfn convert_double8_rtz(uint8);
   5646 double8 __ovld __cnfn convert_double8_rtz(ulong8);
   5647 double8 __ovld __cnfn convert_double8_rtz(ushort8);
   5648 double16 __ovld __cnfn convert_double16(char16);
   5649 double16 __ovld __cnfn convert_double16(double16);
   5650 double16 __ovld __cnfn convert_double16(float16);
   5651 double16 __ovld __cnfn convert_double16(int16);
   5652 double16 __ovld __cnfn convert_double16(long16);
   5653 double16 __ovld __cnfn convert_double16(short16);
   5654 double16 __ovld __cnfn convert_double16(uchar16);
   5655 double16 __ovld __cnfn convert_double16(uint16);
   5656 double16 __ovld __cnfn convert_double16(ulong16);
   5657 double16 __ovld __cnfn convert_double16(ushort16);
   5658 double16 __ovld __cnfn convert_double16_rte(char16);
   5659 double16 __ovld __cnfn convert_double16_rte(double16);
   5660 double16 __ovld __cnfn convert_double16_rte(float16);
   5661 double16 __ovld __cnfn convert_double16_rte(int16);
   5662 double16 __ovld __cnfn convert_double16_rte(long16);
   5663 double16 __ovld __cnfn convert_double16_rte(short16);
   5664 double16 __ovld __cnfn convert_double16_rte(uchar16);
   5665 double16 __ovld __cnfn convert_double16_rte(uint16);
   5666 double16 __ovld __cnfn convert_double16_rte(ulong16);
   5667 double16 __ovld __cnfn convert_double16_rte(ushort16);
   5668 double16 __ovld __cnfn convert_double16_rtn(char16);
   5669 double16 __ovld __cnfn convert_double16_rtn(double16);
   5670 double16 __ovld __cnfn convert_double16_rtn(float16);
   5671 double16 __ovld __cnfn convert_double16_rtn(int16);
   5672 double16 __ovld __cnfn convert_double16_rtn(long16);
   5673 double16 __ovld __cnfn convert_double16_rtn(short16);
   5674 double16 __ovld __cnfn convert_double16_rtn(uchar16);
   5675 double16 __ovld __cnfn convert_double16_rtn(uint16);
   5676 double16 __ovld __cnfn convert_double16_rtn(ulong16);
   5677 double16 __ovld __cnfn convert_double16_rtn(ushort16);
   5678 double16 __ovld __cnfn convert_double16_rtp(char16);
   5679 double16 __ovld __cnfn convert_double16_rtp(double16);
   5680 double16 __ovld __cnfn convert_double16_rtp(float16);
   5681 double16 __ovld __cnfn convert_double16_rtp(int16);
   5682 double16 __ovld __cnfn convert_double16_rtp(long16);
   5683 double16 __ovld __cnfn convert_double16_rtp(short16);
   5684 double16 __ovld __cnfn convert_double16_rtp(uchar16);
   5685 double16 __ovld __cnfn convert_double16_rtp(uint16);
   5686 double16 __ovld __cnfn convert_double16_rtp(ulong16);
   5687 double16 __ovld __cnfn convert_double16_rtp(ushort16);
   5688 double16 __ovld __cnfn convert_double16_rtz(char16);
   5689 double16 __ovld __cnfn convert_double16_rtz(double16);
   5690 double16 __ovld __cnfn convert_double16_rtz(float16);
   5691 double16 __ovld __cnfn convert_double16_rtz(int16);
   5692 double16 __ovld __cnfn convert_double16_rtz(long16);
   5693 double16 __ovld __cnfn convert_double16_rtz(short16);
   5694 double16 __ovld __cnfn convert_double16_rtz(uchar16);
   5695 double16 __ovld __cnfn convert_double16_rtz(uint16);
   5696 double16 __ovld __cnfn convert_double16_rtz(ulong16);
   5697 double16 __ovld __cnfn convert_double16_rtz(ushort16);
   5698 #endif //cl_khr_fp64
   5699 
   5700 #ifdef cl_khr_fp16
   5701 // Convert half types to non-double types.
   5702 uchar __ovld __cnfn convert_uchar(half);
   5703 uchar __ovld __cnfn convert_uchar_rte(half);
   5704 uchar __ovld __cnfn convert_uchar_rtp(half);
   5705 uchar __ovld __cnfn convert_uchar_rtn(half);
   5706 uchar __ovld __cnfn convert_uchar_rtz(half);
   5707 uchar __ovld __cnfn convert_uchar_sat(half);
   5708 uchar __ovld __cnfn convert_uchar_sat_rte(half);
   5709 uchar __ovld __cnfn convert_uchar_sat_rtp(half);
   5710 uchar __ovld __cnfn convert_uchar_sat_rtn(half);
   5711 uchar __ovld __cnfn convert_uchar_sat_rtz(half);
   5712 uchar2 __ovld __cnfn convert_uchar2(half2);
   5713 uchar2 __ovld __cnfn convert_uchar2_rte(half2);
   5714 uchar2 __ovld __cnfn convert_uchar2_rtp(half2);
   5715 uchar2 __ovld __cnfn convert_uchar2_rtn(half2);
   5716 uchar2 __ovld __cnfn convert_uchar2_rtz(half2);
   5717 uchar2 __ovld __cnfn convert_uchar2_sat(half2);
   5718 uchar2 __ovld __cnfn convert_uchar2_sat_rte(half2);
   5719 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(half2);
   5720 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(half2);
   5721 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(half2);
   5722 uchar3 __ovld __cnfn convert_uchar3(half3);
   5723 uchar3 __ovld __cnfn convert_uchar3_rte(half3);
   5724 uchar3 __ovld __cnfn convert_uchar3_rtp(half3);
   5725 uchar3 __ovld __cnfn convert_uchar3_rtn(half3);
   5726 uchar3 __ovld __cnfn convert_uchar3_rtz(half3);
   5727 uchar3 __ovld __cnfn convert_uchar3_sat(half3);
   5728 uchar3 __ovld __cnfn convert_uchar3_sat_rte(half3);
   5729 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(half3);
   5730 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(half3);
   5731 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(half3);
   5732 uchar4 __ovld __cnfn convert_uchar4(half4);
   5733 uchar4 __ovld __cnfn convert_uchar4_rte(half4);
   5734 uchar4 __ovld __cnfn convert_uchar4_rtp(half4);
   5735 uchar4 __ovld __cnfn convert_uchar4_rtn(half4);
   5736 uchar4 __ovld __cnfn convert_uchar4_rtz(half4);
   5737 uchar4 __ovld __cnfn convert_uchar4_sat(half4);
   5738 uchar4 __ovld __cnfn convert_uchar4_sat_rte(half4);
   5739 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(half4);
   5740 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(half4);
   5741 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(half4);
   5742 uchar8 __ovld __cnfn convert_uchar8(half8);
   5743 uchar8 __ovld __cnfn convert_uchar8_rte(half8);
   5744 uchar8 __ovld __cnfn convert_uchar8_rtp(half8);
   5745 uchar8 __ovld __cnfn convert_uchar8_rtn(half8);
   5746 uchar8 __ovld __cnfn convert_uchar8_rtz(half8);
   5747 uchar8 __ovld __cnfn convert_uchar8_sat(half8);
   5748 uchar8 __ovld __cnfn convert_uchar8_sat_rte(half8);
   5749 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(half8);
   5750 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(half8);
   5751 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(half8);
   5752 uchar16 __ovld __cnfn convert_uchar16(half16);
   5753 uchar16 __ovld __cnfn convert_uchar16_rte(half16);
   5754 uchar16 __ovld __cnfn convert_uchar16_rtp(half16);
   5755 uchar16 __ovld __cnfn convert_uchar16_rtn(half16);
   5756 uchar16 __ovld __cnfn convert_uchar16_rtz(half16);
   5757 uchar16 __ovld __cnfn convert_uchar16_sat(half16);
   5758 uchar16 __ovld __cnfn convert_uchar16_sat_rte(half16);
   5759 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(half16);
   5760 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(half16);
   5761 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(half16);
   5762 ushort __ovld __cnfn convert_ushort(half);
   5763 ushort __ovld __cnfn convert_ushort_rte(half);
   5764 ushort __ovld __cnfn convert_ushort_rtp(half);
   5765 ushort __ovld __cnfn convert_ushort_rtn(half);
   5766 ushort __ovld __cnfn convert_ushort_rtz(half);
   5767 ushort __ovld __cnfn convert_ushort_sat(half);
   5768 ushort __ovld __cnfn convert_ushort_sat_rte(half);
   5769 ushort __ovld __cnfn convert_ushort_sat_rtp(half);
   5770 ushort __ovld __cnfn convert_ushort_sat_rtn(half);
   5771 ushort __ovld __cnfn convert_ushort_sat_rtz(half);
   5772 ushort2 __ovld __cnfn convert_ushort2(half2);
   5773 ushort2 __ovld __cnfn convert_ushort2_rte(half2);
   5774 ushort2 __ovld __cnfn convert_ushort2_rtp(half2);
   5775 ushort2 __ovld __cnfn convert_ushort2_rtn(half2);
   5776 ushort2 __ovld __cnfn convert_ushort2_rtz(half2);
   5777 ushort2 __ovld __cnfn convert_ushort2_sat(half2);
   5778 ushort2 __ovld __cnfn convert_ushort2_sat_rte(half2);
   5779 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(half2);
   5780 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(half2);
   5781 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(half2);
   5782 ushort3 __ovld __cnfn convert_ushort3(half3);
   5783 ushort3 __ovld __cnfn convert_ushort3_rte(half3);
   5784 ushort3 __ovld __cnfn convert_ushort3_rtp(half3);
   5785 ushort3 __ovld __cnfn convert_ushort3_rtn(half3);
   5786 ushort3 __ovld __cnfn convert_ushort3_rtz(half3);
   5787 ushort3 __ovld __cnfn convert_ushort3_sat(half3);
   5788 ushort3 __ovld __cnfn convert_ushort3_sat_rte(half3);
   5789 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(half3);
   5790 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(half3);
   5791 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(half3);
   5792 ushort4 __ovld __cnfn convert_ushort4(half4);
   5793 ushort4 __ovld __cnfn convert_ushort4_rte(half4);
   5794 ushort4 __ovld __cnfn convert_ushort4_rtp(half4);
   5795 ushort4 __ovld __cnfn convert_ushort4_rtn(half4);
   5796 ushort4 __ovld __cnfn convert_ushort4_rtz(half4);
   5797 ushort4 __ovld __cnfn convert_ushort4_sat(half4);
   5798 ushort4 __ovld __cnfn convert_ushort4_sat_rte(half4);
   5799 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(half4);
   5800 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(half4);
   5801 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(half4);
   5802 ushort8 __ovld __cnfn convert_ushort8(half8);
   5803 ushort8 __ovld __cnfn convert_ushort8_rte(half8);
   5804 ushort8 __ovld __cnfn convert_ushort8_rtp(half8);
   5805 ushort8 __ovld __cnfn convert_ushort8_rtn(half8);
   5806 ushort8 __ovld __cnfn convert_ushort8_rtz(half8);
   5807 ushort8 __ovld __cnfn convert_ushort8_sat(half8);
   5808 ushort8 __ovld __cnfn convert_ushort8_sat_rte(half8);
   5809 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(half8);
   5810 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(half8);
   5811 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(half8);
   5812 ushort16 __ovld __cnfn convert_ushort16(half16);
   5813 ushort16 __ovld __cnfn convert_ushort16_rte(half16);
   5814 ushort16 __ovld __cnfn convert_ushort16_rtp(half16);
   5815 ushort16 __ovld __cnfn convert_ushort16_rtn(half16);
   5816 ushort16 __ovld __cnfn convert_ushort16_rtz(half16);
   5817 ushort16 __ovld __cnfn convert_ushort16_sat(half16);
   5818 ushort16 __ovld __cnfn convert_ushort16_sat_rte(half16);
   5819 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(half16);
   5820 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(half16);
   5821 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(half16);
   5822 uint __ovld __cnfn convert_uint(half);
   5823 uint __ovld __cnfn convert_uint_rte(half);
   5824 uint __ovld __cnfn convert_uint_rtp(half);
   5825 uint __ovld __cnfn convert_uint_rtn(half);
   5826 uint __ovld __cnfn convert_uint_rtz(half);
   5827 uint __ovld __cnfn convert_uint_sat(half);
   5828 uint __ovld __cnfn convert_uint_sat_rte(half);
   5829 uint __ovld __cnfn convert_uint_sat_rtp(half);
   5830 uint __ovld __cnfn convert_uint_sat_rtn(half);
   5831 uint __ovld __cnfn convert_uint_sat_rtz(half);
   5832 uint2 __ovld __cnfn convert_uint2(half2);
   5833 uint2 __ovld __cnfn convert_uint2_rte(half2);
   5834 uint2 __ovld __cnfn convert_uint2_rtp(half2);
   5835 uint2 __ovld __cnfn convert_uint2_rtn(half2);
   5836 uint2 __ovld __cnfn convert_uint2_rtz(half2);
   5837 uint2 __ovld __cnfn convert_uint2_sat(half2);
   5838 uint2 __ovld __cnfn convert_uint2_sat_rte(half2);
   5839 uint2 __ovld __cnfn convert_uint2_sat_rtp(half2);
   5840 uint2 __ovld __cnfn convert_uint2_sat_rtn(half2);
   5841 uint2 __ovld __cnfn convert_uint2_sat_rtz(half2);
   5842 uint3 __ovld __cnfn convert_uint3(half3);
   5843 uint3 __ovld __cnfn convert_uint3_rte(half3);
   5844 uint3 __ovld __cnfn convert_uint3_rtp(half3);
   5845 uint3 __ovld __cnfn convert_uint3_rtn(half3);
   5846 uint3 __ovld __cnfn convert_uint3_rtz(half3);
   5847 uint3 __ovld __cnfn convert_uint3_sat(half3);
   5848 uint3 __ovld __cnfn convert_uint3_sat_rte(half3);
   5849 uint3 __ovld __cnfn convert_uint3_sat_rtp(half3);
   5850 uint3 __ovld __cnfn convert_uint3_sat_rtn(half3);
   5851 uint3 __ovld __cnfn convert_uint3_sat_rtz(half3);
   5852 uint4 __ovld __cnfn convert_uint4(half4);
   5853 uint4 __ovld __cnfn convert_uint4_rte(half4);
   5854 uint4 __ovld __cnfn convert_uint4_rtp(half4);
   5855 uint4 __ovld __cnfn convert_uint4_rtn(half4);
   5856 uint4 __ovld __cnfn convert_uint4_rtz(half4);
   5857 uint4 __ovld __cnfn convert_uint4_sat(half4);
   5858 uint4 __ovld __cnfn convert_uint4_sat_rte(half4);
   5859 uint4 __ovld __cnfn convert_uint4_sat_rtp(half4);
   5860 uint4 __ovld __cnfn convert_uint4_sat_rtn(half4);
   5861 uint4 __ovld __cnfn convert_uint4_sat_rtz(half4);
   5862 uint8 __ovld __cnfn convert_uint8(half8);
   5863 uint8 __ovld __cnfn convert_uint8_rte(half8);
   5864 uint8 __ovld __cnfn convert_uint8_rtp(half8);
   5865 uint8 __ovld __cnfn convert_uint8_rtn(half8);
   5866 uint8 __ovld __cnfn convert_uint8_rtz(half8);
   5867 uint8 __ovld __cnfn convert_uint8_sat(half8);
   5868 uint8 __ovld __cnfn convert_uint8_sat_rte(half8);
   5869 uint8 __ovld __cnfn convert_uint8_sat_rtp(half8);
   5870 uint8 __ovld __cnfn convert_uint8_sat_rtn(half8);
   5871 uint8 __ovld __cnfn convert_uint8_sat_rtz(half8);
   5872 uint16 __ovld __cnfn convert_uint16(half16);
   5873 uint16 __ovld __cnfn convert_uint16_rte(half16);
   5874 uint16 __ovld __cnfn convert_uint16_rtp(half16);
   5875 uint16 __ovld __cnfn convert_uint16_rtn(half16);
   5876 uint16 __ovld __cnfn convert_uint16_rtz(half16);
   5877 uint16 __ovld __cnfn convert_uint16_sat(half16);
   5878 uint16 __ovld __cnfn convert_uint16_sat_rte(half16);
   5879 uint16 __ovld __cnfn convert_uint16_sat_rtp(half16);
   5880 uint16 __ovld __cnfn convert_uint16_sat_rtn(half16);
   5881 uint16 __ovld __cnfn convert_uint16_sat_rtz(half16);
   5882 ulong __ovld __cnfn convert_ulong(half);
   5883 ulong __ovld __cnfn convert_ulong_rte(half);
   5884 ulong __ovld __cnfn convert_ulong_rtp(half);
   5885 ulong __ovld __cnfn convert_ulong_rtn(half);
   5886 ulong __ovld __cnfn convert_ulong_rtz(half);
   5887 ulong __ovld __cnfn convert_ulong_sat(half);
   5888 ulong __ovld __cnfn convert_ulong_sat_rte(half);
   5889 ulong __ovld __cnfn convert_ulong_sat_rtp(half);
   5890 ulong __ovld __cnfn convert_ulong_sat_rtn(half);
   5891 ulong __ovld __cnfn convert_ulong_sat_rtz(half);
   5892 ulong2 __ovld __cnfn convert_ulong2(half2);
   5893 ulong2 __ovld __cnfn convert_ulong2_rte(half2);
   5894 ulong2 __ovld __cnfn convert_ulong2_rtp(half2);
   5895 ulong2 __ovld __cnfn convert_ulong2_rtn(half2);
   5896 ulong2 __ovld __cnfn convert_ulong2_rtz(half2);
   5897 ulong2 __ovld __cnfn convert_ulong2_sat(half2);
   5898 ulong2 __ovld __cnfn convert_ulong2_sat_rte(half2);
   5899 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(half2);
   5900 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(half2);
   5901 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(half2);
   5902 ulong3 __ovld __cnfn convert_ulong3(half3);
   5903 ulong3 __ovld __cnfn convert_ulong3_rte(half3);
   5904 ulong3 __ovld __cnfn convert_ulong3_rtp(half3);
   5905 ulong3 __ovld __cnfn convert_ulong3_rtn(half3);
   5906 ulong3 __ovld __cnfn convert_ulong3_rtz(half3);
   5907 ulong3 __ovld __cnfn convert_ulong3_sat(half3);
   5908 ulong3 __ovld __cnfn convert_ulong3_sat_rte(half3);
   5909 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(half3);
   5910 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(half3);
   5911 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(half3);
   5912 ulong4 __ovld __cnfn convert_ulong4(half4);
   5913 ulong4 __ovld __cnfn convert_ulong4_rte(half4);
   5914 ulong4 __ovld __cnfn convert_ulong4_rtp(half4);
   5915 ulong4 __ovld __cnfn convert_ulong4_rtn(half4);
   5916 ulong4 __ovld __cnfn convert_ulong4_rtz(half4);
   5917 ulong4 __ovld __cnfn convert_ulong4_sat(half4);
   5918 ulong4 __ovld __cnfn convert_ulong4_sat_rte(half4);
   5919 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(half4);
   5920 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(half4);
   5921 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(half4);
   5922 ulong8 __ovld __cnfn convert_ulong8(half8);
   5923 ulong8 __ovld __cnfn convert_ulong8_rte(half8);
   5924 ulong8 __ovld __cnfn convert_ulong8_rtp(half8);
   5925 ulong8 __ovld __cnfn convert_ulong8_rtn(half8);
   5926 ulong8 __ovld __cnfn convert_ulong8_rtz(half8);
   5927 ulong8 __ovld __cnfn convert_ulong8_sat(half8);
   5928 ulong8 __ovld __cnfn convert_ulong8_sat_rte(half8);
   5929 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(half8);
   5930 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(half8);
   5931 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(half8);
   5932 ulong16 __ovld __cnfn convert_ulong16(half16);
   5933 ulong16 __ovld __cnfn convert_ulong16_rte(half16);
   5934 ulong16 __ovld __cnfn convert_ulong16_rtp(half16);
   5935 ulong16 __ovld __cnfn convert_ulong16_rtn(half16);
   5936 ulong16 __ovld __cnfn convert_ulong16_rtz(half16);
   5937 ulong16 __ovld __cnfn convert_ulong16_sat(half16);
   5938 ulong16 __ovld __cnfn convert_ulong16_sat_rte(half16);
   5939 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(half16);
   5940 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(half16);
   5941 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(half16);
   5942 char __ovld __cnfn convert_char(half);
   5943 char __ovld __cnfn convert_char_rte(half);
   5944 char __ovld __cnfn convert_char_rtp(half);
   5945 char __ovld __cnfn convert_char_rtn(half);
   5946 char __ovld __cnfn convert_char_rtz(half);
   5947 char __ovld __cnfn convert_char_sat(half);
   5948 char __ovld __cnfn convert_char_sat_rte(half);
   5949 char __ovld __cnfn convert_char_sat_rtp(half);
   5950 char __ovld __cnfn convert_char_sat_rtn(half);
   5951 char __ovld __cnfn convert_char_sat_rtz(half);
   5952 char2 __ovld __cnfn convert_char2(half2);
   5953 char2 __ovld __cnfn convert_char2_rte(half2);
   5954 char2 __ovld __cnfn convert_char2_rtp(half2);
   5955 char2 __ovld __cnfn convert_char2_rtn(half2);
   5956 char2 __ovld __cnfn convert_char2_rtz(half2);
   5957 char2 __ovld __cnfn convert_char2_sat(half2);
   5958 char2 __ovld __cnfn convert_char2_sat_rte(half2);
   5959 char2 __ovld __cnfn convert_char2_sat_rtp(half2);
   5960 char2 __ovld __cnfn convert_char2_sat_rtn(half2);
   5961 char2 __ovld __cnfn convert_char2_sat_rtz(half2);
   5962 char3 __ovld __cnfn convert_char3(half3);
   5963 char3 __ovld __cnfn convert_char3_rte(half3);
   5964 char3 __ovld __cnfn convert_char3_rtp(half3);
   5965 char3 __ovld __cnfn convert_char3_rtn(half3);
   5966 char3 __ovld __cnfn convert_char3_rtz(half3);
   5967 char3 __ovld __cnfn convert_char3_sat(half3);
   5968 char3 __ovld __cnfn convert_char3_sat_rte(half3);
   5969 char3 __ovld __cnfn convert_char3_sat_rtp(half3);
   5970 char3 __ovld __cnfn convert_char3_sat_rtn(half3);
   5971 char3 __ovld __cnfn convert_char3_sat_rtz(half3);
   5972 char4 __ovld __cnfn convert_char4(half4);
   5973 char4 __ovld __cnfn convert_char4_rte(half4);
   5974 char4 __ovld __cnfn convert_char4_rtp(half4);
   5975 char4 __ovld __cnfn convert_char4_rtn(half4);
   5976 char4 __ovld __cnfn convert_char4_rtz(half4);
   5977 char4 __ovld __cnfn convert_char4_sat(half4);
   5978 char4 __ovld __cnfn convert_char4_sat_rte(half4);
   5979 char4 __ovld __cnfn convert_char4_sat_rtp(half4);
   5980 char4 __ovld __cnfn convert_char4_sat_rtn(half4);
   5981 char4 __ovld __cnfn convert_char4_sat_rtz(half4);
   5982 char8 __ovld __cnfn convert_char8(half8);
   5983 char8 __ovld __cnfn convert_char8_rte(half8);
   5984 char8 __ovld __cnfn convert_char8_rtp(half8);
   5985 char8 __ovld __cnfn convert_char8_rtn(half8);
   5986 char8 __ovld __cnfn convert_char8_rtz(half8);
   5987 char8 __ovld __cnfn convert_char8_sat(half8);
   5988 char8 __ovld __cnfn convert_char8_sat_rte(half8);
   5989 char8 __ovld __cnfn convert_char8_sat_rtp(half8);
   5990 char8 __ovld __cnfn convert_char8_sat_rtn(half8);
   5991 char8 __ovld __cnfn convert_char8_sat_rtz(half8);
   5992 char16 __ovld __cnfn convert_char16(half16);
   5993 char16 __ovld __cnfn convert_char16_rte(half16);
   5994 char16 __ovld __cnfn convert_char16_rtp(half16);
   5995 char16 __ovld __cnfn convert_char16_rtn(half16);
   5996 char16 __ovld __cnfn convert_char16_rtz(half16);
   5997 char16 __ovld __cnfn convert_char16_sat(half16);
   5998 char16 __ovld __cnfn convert_char16_sat_rte(half16);
   5999 char16 __ovld __cnfn convert_char16_sat_rtp(half16);
   6000 char16 __ovld __cnfn convert_char16_sat_rtn(half16);
   6001 char16 __ovld __cnfn convert_char16_sat_rtz(half16);
   6002 short __ovld __cnfn convert_short(half);
   6003 short __ovld __cnfn convert_short_rte(half);
   6004 short __ovld __cnfn convert_short_rtp(half);
   6005 short __ovld __cnfn convert_short_rtn(half);
   6006 short __ovld __cnfn convert_short_rtz(half);
   6007 short __ovld __cnfn convert_short_sat(half);
   6008 short __ovld __cnfn convert_short_sat_rte(half);
   6009 short __ovld __cnfn convert_short_sat_rtp(half);
   6010 short __ovld __cnfn convert_short_sat_rtn(half);
   6011 short __ovld __cnfn convert_short_sat_rtz(half);
   6012 short2 __ovld __cnfn convert_short2(half2);
   6013 short2 __ovld __cnfn convert_short2_rte(half2);
   6014 short2 __ovld __cnfn convert_short2_rtp(half2);
   6015 short2 __ovld __cnfn convert_short2_rtn(half2);
   6016 short2 __ovld __cnfn convert_short2_rtz(half2);
   6017 short2 __ovld __cnfn convert_short2_sat(half2);
   6018 short2 __ovld __cnfn convert_short2_sat_rte(half2);
   6019 short2 __ovld __cnfn convert_short2_sat_rtp(half2);
   6020 short2 __ovld __cnfn convert_short2_sat_rtn(half2);
   6021 short2 __ovld __cnfn convert_short2_sat_rtz(half2);
   6022 short3 __ovld __cnfn convert_short3(half3);
   6023 short3 __ovld __cnfn convert_short3_rte(half3);
   6024 short3 __ovld __cnfn convert_short3_rtp(half3);
   6025 short3 __ovld __cnfn convert_short3_rtn(half3);
   6026 short3 __ovld __cnfn convert_short3_rtz(half3);
   6027 short3 __ovld __cnfn convert_short3_sat(half3);
   6028 short3 __ovld __cnfn convert_short3_sat_rte(half3);
   6029 short3 __ovld __cnfn convert_short3_sat_rtp(half3);
   6030 short3 __ovld __cnfn convert_short3_sat_rtn(half3);
   6031 short3 __ovld __cnfn convert_short3_sat_rtz(half3);
   6032 short4 __ovld __cnfn convert_short4(half4);
   6033 short4 __ovld __cnfn convert_short4_rte(half4);
   6034 short4 __ovld __cnfn convert_short4_rtp(half4);
   6035 short4 __ovld __cnfn convert_short4_rtn(half4);
   6036 short4 __ovld __cnfn convert_short4_rtz(half4);
   6037 short4 __ovld __cnfn convert_short4_sat(half4);
   6038 short4 __ovld __cnfn convert_short4_sat_rte(half4);
   6039 short4 __ovld __cnfn convert_short4_sat_rtp(half4);
   6040 short4 __ovld __cnfn convert_short4_sat_rtn(half4);
   6041 short4 __ovld __cnfn convert_short4_sat_rtz(half4);
   6042 short8 __ovld __cnfn convert_short8(half8);
   6043 short8 __ovld __cnfn convert_short8_rte(half8);
   6044 short8 __ovld __cnfn convert_short8_rtp(half8);
   6045 short8 __ovld __cnfn convert_short8_rtn(half8);
   6046 short8 __ovld __cnfn convert_short8_rtz(half8);
   6047 short8 __ovld __cnfn convert_short8_sat(half8);
   6048 short8 __ovld __cnfn convert_short8_sat_rte(half8);
   6049 short8 __ovld __cnfn convert_short8_sat_rtp(half8);
   6050 short8 __ovld __cnfn convert_short8_sat_rtn(half8);
   6051 short8 __ovld __cnfn convert_short8_sat_rtz(half8);
   6052 short16 __ovld __cnfn convert_short16(half16);
   6053 short16 __ovld __cnfn convert_short16_rte(half16);
   6054 short16 __ovld __cnfn convert_short16_rtp(half16);
   6055 short16 __ovld __cnfn convert_short16_rtn(half16);
   6056 short16 __ovld __cnfn convert_short16_rtz(half16);
   6057 short16 __ovld __cnfn convert_short16_sat(half16);
   6058 short16 __ovld __cnfn convert_short16_sat_rte(half16);
   6059 short16 __ovld __cnfn convert_short16_sat_rtp(half16);
   6060 short16 __ovld __cnfn convert_short16_sat_rtn(half16);
   6061 short16 __ovld __cnfn convert_short16_sat_rtz(half16);
   6062 int __ovld __cnfn convert_int(half);
   6063 int __ovld __cnfn convert_int_rte(half);
   6064 int __ovld __cnfn convert_int_rtp(half);
   6065 int __ovld __cnfn convert_int_rtn(half);
   6066 int __ovld __cnfn convert_int_rtz(half);
   6067 int __ovld __cnfn convert_int_sat(half);
   6068 int __ovld __cnfn convert_int_sat_rte(half);
   6069 int __ovld __cnfn convert_int_sat_rtp(half);
   6070 int __ovld __cnfn convert_int_sat_rtn(half);
   6071 int __ovld __cnfn convert_int_sat_rtz(half);
   6072 int2 __ovld __cnfn convert_int2(half2);
   6073 int2 __ovld __cnfn convert_int2_rte(half2);
   6074 int2 __ovld __cnfn convert_int2_rtp(half2);
   6075 int2 __ovld __cnfn convert_int2_rtn(half2);
   6076 int2 __ovld __cnfn convert_int2_rtz(half2);
   6077 int2 __ovld __cnfn convert_int2_sat(half2);
   6078 int2 __ovld __cnfn convert_int2_sat_rte(half2);
   6079 int2 __ovld __cnfn convert_int2_sat_rtp(half2);
   6080 int2 __ovld __cnfn convert_int2_sat_rtn(half2);
   6081 int2 __ovld __cnfn convert_int2_sat_rtz(half2);
   6082 int3 __ovld __cnfn convert_int3(half3);
   6083 int3 __ovld __cnfn convert_int3_rte(half3);
   6084 int3 __ovld __cnfn convert_int3_rtp(half3);
   6085 int3 __ovld __cnfn convert_int3_rtn(half3);
   6086 int3 __ovld __cnfn convert_int3_rtz(half3);
   6087 int3 __ovld __cnfn convert_int3_sat(half3);
   6088 int3 __ovld __cnfn convert_int3_sat_rte(half3);
   6089 int3 __ovld __cnfn convert_int3_sat_rtp(half3);
   6090 int3 __ovld __cnfn convert_int3_sat_rtn(half3);
   6091 int3 __ovld __cnfn convert_int3_sat_rtz(half3);
   6092 int4 __ovld __cnfn convert_int4(half4);
   6093 int4 __ovld __cnfn convert_int4_rte(half4);
   6094 int4 __ovld __cnfn convert_int4_rtp(half4);
   6095 int4 __ovld __cnfn convert_int4_rtn(half4);
   6096 int4 __ovld __cnfn convert_int4_rtz(half4);
   6097 int4 __ovld __cnfn convert_int4_sat(half4);
   6098 int4 __ovld __cnfn convert_int4_sat_rte(half4);
   6099 int4 __ovld __cnfn convert_int4_sat_rtp(half4);
   6100 int4 __ovld __cnfn convert_int4_sat_rtn(half4);
   6101 int4 __ovld __cnfn convert_int4_sat_rtz(half4);
   6102 int8 __ovld __cnfn convert_int8(half8);
   6103 int8 __ovld __cnfn convert_int8_rte(half8);
   6104 int8 __ovld __cnfn convert_int8_rtp(half8);
   6105 int8 __ovld __cnfn convert_int8_rtn(half8);
   6106 int8 __ovld __cnfn convert_int8_rtz(half8);
   6107 int8 __ovld __cnfn convert_int8_sat(half8);
   6108 int8 __ovld __cnfn convert_int8_sat_rte(half8);
   6109 int8 __ovld __cnfn convert_int8_sat_rtp(half8);
   6110 int8 __ovld __cnfn convert_int8_sat_rtn(half8);
   6111 int8 __ovld __cnfn convert_int8_sat_rtz(half8);
   6112 int16 __ovld __cnfn convert_int16(half16);
   6113 int16 __ovld __cnfn convert_int16_rte(half16);
   6114 int16 __ovld __cnfn convert_int16_rtp(half16);
   6115 int16 __ovld __cnfn convert_int16_rtn(half16);
   6116 int16 __ovld __cnfn convert_int16_rtz(half16);
   6117 int16 __ovld __cnfn convert_int16_sat(half16);
   6118 int16 __ovld __cnfn convert_int16_sat_rte(half16);
   6119 int16 __ovld __cnfn convert_int16_sat_rtp(half16);
   6120 int16 __ovld __cnfn convert_int16_sat_rtn(half16);
   6121 int16 __ovld __cnfn convert_int16_sat_rtz(half16);
   6122 long __ovld __cnfn convert_long(half);
   6123 long __ovld __cnfn convert_long_rte(half);
   6124 long __ovld __cnfn convert_long_rtp(half);
   6125 long __ovld __cnfn convert_long_rtn(half);
   6126 long __ovld __cnfn convert_long_rtz(half);
   6127 long __ovld __cnfn convert_long_sat(half);
   6128 long __ovld __cnfn convert_long_sat_rte(half);
   6129 long __ovld __cnfn convert_long_sat_rtp(half);
   6130 long __ovld __cnfn convert_long_sat_rtn(half);
   6131 long __ovld __cnfn convert_long_sat_rtz(half);
   6132 long2 __ovld __cnfn convert_long2(half2);
   6133 long2 __ovld __cnfn convert_long2_rte(half2);
   6134 long2 __ovld __cnfn convert_long2_rtp(half2);
   6135 long2 __ovld __cnfn convert_long2_rtn(half2);
   6136 long2 __ovld __cnfn convert_long2_rtz(half2);
   6137 long2 __ovld __cnfn convert_long2_sat(half2);
   6138 long2 __ovld __cnfn convert_long2_sat_rte(half2);
   6139 long2 __ovld __cnfn convert_long2_sat_rtp(half2);
   6140 long2 __ovld __cnfn convert_long2_sat_rtn(half2);
   6141 long2 __ovld __cnfn convert_long2_sat_rtz(half2);
   6142 long3 __ovld __cnfn convert_long3(half3);
   6143 long3 __ovld __cnfn convert_long3_rte(half3);
   6144 long3 __ovld __cnfn convert_long3_rtp(half3);
   6145 long3 __ovld __cnfn convert_long3_rtn(half3);
   6146 long3 __ovld __cnfn convert_long3_rtz(half3);
   6147 long3 __ovld __cnfn convert_long3_sat(half3);
   6148 long3 __ovld __cnfn convert_long3_sat_rte(half3);
   6149 long3 __ovld __cnfn convert_long3_sat_rtp(half3);
   6150 long3 __ovld __cnfn convert_long3_sat_rtn(half3);
   6151 long3 __ovld __cnfn convert_long3_sat_rtz(half3);
   6152 long4 __ovld __cnfn convert_long4(half4);
   6153 long4 __ovld __cnfn convert_long4_rte(half4);
   6154 long4 __ovld __cnfn convert_long4_rtp(half4);
   6155 long4 __ovld __cnfn convert_long4_rtn(half4);
   6156 long4 __ovld __cnfn convert_long4_rtz(half4);
   6157 long4 __ovld __cnfn convert_long4_sat(half4);
   6158 long4 __ovld __cnfn convert_long4_sat_rte(half4);
   6159 long4 __ovld __cnfn convert_long4_sat_rtp(half4);
   6160 long4 __ovld __cnfn convert_long4_sat_rtn(half4);
   6161 long4 __ovld __cnfn convert_long4_sat_rtz(half4);
   6162 long8 __ovld __cnfn convert_long8(half8);
   6163 long8 __ovld __cnfn convert_long8_rte(half8);
   6164 long8 __ovld __cnfn convert_long8_rtp(half8);
   6165 long8 __ovld __cnfn convert_long8_rtn(half8);
   6166 long8 __ovld __cnfn convert_long8_rtz(half8);
   6167 long8 __ovld __cnfn convert_long8_sat(half8);
   6168 long8 __ovld __cnfn convert_long8_sat_rte(half8);
   6169 long8 __ovld __cnfn convert_long8_sat_rtp(half8);
   6170 long8 __ovld __cnfn convert_long8_sat_rtn(half8);
   6171 long8 __ovld __cnfn convert_long8_sat_rtz(half8);
   6172 long16 __ovld __cnfn convert_long16(half16);
   6173 long16 __ovld __cnfn convert_long16_rte(half16);
   6174 long16 __ovld __cnfn convert_long16_rtp(half16);
   6175 long16 __ovld __cnfn convert_long16_rtn(half16);
   6176 long16 __ovld __cnfn convert_long16_rtz(half16);
   6177 long16 __ovld __cnfn convert_long16_sat(half16);
   6178 long16 __ovld __cnfn convert_long16_sat_rte(half16);
   6179 long16 __ovld __cnfn convert_long16_sat_rtp(half16);
   6180 long16 __ovld __cnfn convert_long16_sat_rtn(half16);
   6181 long16 __ovld __cnfn convert_long16_sat_rtz(half16);
   6182 float __ovld __cnfn convert_float(half);
   6183 float __ovld __cnfn convert_float_rte(half);
   6184 float __ovld __cnfn convert_float_rtp(half);
   6185 float __ovld __cnfn convert_float_rtn(half);
   6186 float __ovld __cnfn convert_float_rtz(half);
   6187 float2 __ovld __cnfn convert_float2(half2);
   6188 float2 __ovld __cnfn convert_float2_rte(half2);
   6189 float2 __ovld __cnfn convert_float2_rtp(half2);
   6190 float2 __ovld __cnfn convert_float2_rtn(half2);
   6191 float2 __ovld __cnfn convert_float2_rtz(half2);
   6192 float3 __ovld __cnfn convert_float3(half3);
   6193 float3 __ovld __cnfn convert_float3_rte(half3);
   6194 float3 __ovld __cnfn convert_float3_rtp(half3);
   6195 float3 __ovld __cnfn convert_float3_rtn(half3);
   6196 float3 __ovld __cnfn convert_float3_rtz(half3);
   6197 float4 __ovld __cnfn convert_float4(half4);
   6198 float4 __ovld __cnfn convert_float4_rte(half4);
   6199 float4 __ovld __cnfn convert_float4_rtp(half4);
   6200 float4 __ovld __cnfn convert_float4_rtn(half4);
   6201 float4 __ovld __cnfn convert_float4_rtz(half4);
   6202 float8 __ovld __cnfn convert_float8(half8);
   6203 float8 __ovld __cnfn convert_float8_rte(half8);
   6204 float8 __ovld __cnfn convert_float8_rtp(half8);
   6205 float8 __ovld __cnfn convert_float8_rtn(half8);
   6206 float8 __ovld __cnfn convert_float8_rtz(half8);
   6207 float16 __ovld __cnfn convert_float16(half16);
   6208 float16 __ovld __cnfn convert_float16_rte(half16);
   6209 float16 __ovld __cnfn convert_float16_rtp(half16);
   6210 float16 __ovld __cnfn convert_float16_rtn(half16);
   6211 float16 __ovld __cnfn convert_float16_rtz(half16);
   6212 
   6213 // Convert non-double types to half types.
   6214 half __ovld __cnfn convert_half(uchar);
   6215 half __ovld __cnfn convert_half(ushort);
   6216 half __ovld __cnfn convert_half(uint);
   6217 half __ovld __cnfn convert_half(ulong);
   6218 half __ovld __cnfn convert_half(char);
   6219 half __ovld __cnfn convert_half(short);
   6220 half __ovld __cnfn convert_half(int);
   6221 half __ovld __cnfn convert_half(long);
   6222 half __ovld __cnfn convert_half(float);
   6223 half __ovld __cnfn convert_half(half);
   6224 half __ovld __cnfn convert_half_rte(uchar);
   6225 half __ovld __cnfn convert_half_rte(ushort);
   6226 half __ovld __cnfn convert_half_rte(uint);
   6227 half __ovld __cnfn convert_half_rte(ulong);
   6228 half __ovld __cnfn convert_half_rte(char);
   6229 half __ovld __cnfn convert_half_rte(short);
   6230 half __ovld __cnfn convert_half_rte(int);
   6231 half __ovld __cnfn convert_half_rte(long);
   6232 half __ovld __cnfn convert_half_rte(float);
   6233 half __ovld __cnfn convert_half_rte(half);
   6234 half __ovld __cnfn convert_half_rtp(uchar);
   6235 half __ovld __cnfn convert_half_rtp(ushort);
   6236 half __ovld __cnfn convert_half_rtp(uint);
   6237 half __ovld __cnfn convert_half_rtp(ulong);
   6238 half __ovld __cnfn convert_half_rtp(char);
   6239 half __ovld __cnfn convert_half_rtp(short);
   6240 half __ovld __cnfn convert_half_rtp(int);
   6241 half __ovld __cnfn convert_half_rtp(long);
   6242 half __ovld __cnfn convert_half_rtp(float);
   6243 half __ovld __cnfn convert_half_rtp(half);
   6244 half __ovld __cnfn convert_half_rtn(uchar);
   6245 half __ovld __cnfn convert_half_rtn(ushort);
   6246 half __ovld __cnfn convert_half_rtn(uint);
   6247 half __ovld __cnfn convert_half_rtn(ulong);
   6248 half __ovld __cnfn convert_half_rtn(char);
   6249 half __ovld __cnfn convert_half_rtn(short);
   6250 half __ovld __cnfn convert_half_rtn(int);
   6251 half __ovld __cnfn convert_half_rtn(long);
   6252 half __ovld __cnfn convert_half_rtn(float);
   6253 half __ovld __cnfn convert_half_rtn(half);
   6254 half __ovld __cnfn convert_half_rtz(uchar);
   6255 half __ovld __cnfn convert_half_rtz(ushort);
   6256 half __ovld __cnfn convert_half_rtz(uint);
   6257 half __ovld __cnfn convert_half_rtz(ulong);
   6258 half __ovld __cnfn convert_half_rtz(char);
   6259 half __ovld __cnfn convert_half_rtz(short);
   6260 half __ovld __cnfn convert_half_rtz(int);
   6261 half __ovld __cnfn convert_half_rtz(long);
   6262 half __ovld __cnfn convert_half_rtz(float);
   6263 half __ovld __cnfn convert_half_rtz(half);
   6264 half2 __ovld __cnfn convert_half2(char2);
   6265 half2 __ovld __cnfn convert_half2(uchar2);
   6266 half2 __ovld __cnfn convert_half2(short2);
   6267 half2 __ovld __cnfn convert_half2(ushort2);
   6268 half2 __ovld __cnfn convert_half2(int2);
   6269 half2 __ovld __cnfn convert_half2(uint2);
   6270 half2 __ovld __cnfn convert_half2(long2);
   6271 half2 __ovld __cnfn convert_half2(ulong2);
   6272 half2 __ovld __cnfn convert_half2(float2);
   6273 half2 __ovld __cnfn convert_half2(half2);
   6274 half2 __ovld __cnfn convert_half2_rte(char2);
   6275 half2 __ovld __cnfn convert_half2_rte(uchar2);
   6276 half2 __ovld __cnfn convert_half2_rte(short2);
   6277 half2 __ovld __cnfn convert_half2_rte(ushort2);
   6278 half2 __ovld __cnfn convert_half2_rte(int2);
   6279 half2 __ovld __cnfn convert_half2_rte(uint2);
   6280 half2 __ovld __cnfn convert_half2_rte(long2);
   6281 half2 __ovld __cnfn convert_half2_rte(ulong2);
   6282 half2 __ovld __cnfn convert_half2_rte(float2);
   6283 half2 __ovld __cnfn convert_half2_rte(half2);
   6284 half2 __ovld __cnfn convert_half2_rtp(char2);
   6285 half2 __ovld __cnfn convert_half2_rtp(uchar2);
   6286 half2 __ovld __cnfn convert_half2_rtp(short2);
   6287 half2 __ovld __cnfn convert_half2_rtp(ushort2);
   6288 half2 __ovld __cnfn convert_half2_rtp(int2);
   6289 half2 __ovld __cnfn convert_half2_rtp(uint2);
   6290 half2 __ovld __cnfn convert_half2_rtp(long2);
   6291 half2 __ovld __cnfn convert_half2_rtp(ulong2);
   6292 half2 __ovld __cnfn convert_half2_rtp(float2);
   6293 half2 __ovld __cnfn convert_half2_rtp(half2);
   6294 half2 __ovld __cnfn convert_half2_rtn(char2);
   6295 half2 __ovld __cnfn convert_half2_rtn(uchar2);
   6296 half2 __ovld __cnfn convert_half2_rtn(short2);
   6297 half2 __ovld __cnfn convert_half2_rtn(ushort2);
   6298 half2 __ovld __cnfn convert_half2_rtn(int2);
   6299 half2 __ovld __cnfn convert_half2_rtn(uint2);
   6300 half2 __ovld __cnfn convert_half2_rtn(long2);
   6301 half2 __ovld __cnfn convert_half2_rtn(ulong2);
   6302 half2 __ovld __cnfn convert_half2_rtn(float2);
   6303 half2 __ovld __cnfn convert_half2_rtn(half2);
   6304 half2 __ovld __cnfn convert_half2_rtz(char2);
   6305 half2 __ovld __cnfn convert_half2_rtz(uchar2);
   6306 half2 __ovld __cnfn convert_half2_rtz(short2);
   6307 half2 __ovld __cnfn convert_half2_rtz(ushort2);
   6308 half2 __ovld __cnfn convert_half2_rtz(int2);
   6309 half2 __ovld __cnfn convert_half2_rtz(uint2);
   6310 half2 __ovld __cnfn convert_half2_rtz(long2);
   6311 half2 __ovld __cnfn convert_half2_rtz(ulong2);
   6312 half2 __ovld __cnfn convert_half2_rtz(float2);
   6313 half2 __ovld __cnfn convert_half2_rtz(half2);
   6314 half3 __ovld __cnfn convert_half3(char3);
   6315 half3 __ovld __cnfn convert_half3(uchar3);
   6316 half3 __ovld __cnfn convert_half3(short3);
   6317 half3 __ovld __cnfn convert_half3(ushort3);
   6318 half3 __ovld __cnfn convert_half3(int3);
   6319 half3 __ovld __cnfn convert_half3(uint3);
   6320 half3 __ovld __cnfn convert_half3(long3);
   6321 half3 __ovld __cnfn convert_half3(ulong3);
   6322 half3 __ovld __cnfn convert_half3(float3);
   6323 half3 __ovld __cnfn convert_half3(half3);
   6324 half3 __ovld __cnfn convert_half3_rte(char3);
   6325 half3 __ovld __cnfn convert_half3_rte(uchar3);
   6326 half3 __ovld __cnfn convert_half3_rte(short3);
   6327 half3 __ovld __cnfn convert_half3_rte(ushort3);
   6328 half3 __ovld __cnfn convert_half3_rte(int3);
   6329 half3 __ovld __cnfn convert_half3_rte(uint3);
   6330 half3 __ovld __cnfn convert_half3_rte(long3);
   6331 half3 __ovld __cnfn convert_half3_rte(ulong3);
   6332 half3 __ovld __cnfn convert_half3_rte(float3);
   6333 half3 __ovld __cnfn convert_half3_rte(half3);
   6334 half3 __ovld __cnfn convert_half3_rtp(char3);
   6335 half3 __ovld __cnfn convert_half3_rtp(uchar3);
   6336 half3 __ovld __cnfn convert_half3_rtp(short3);
   6337 half3 __ovld __cnfn convert_half3_rtp(ushort3);
   6338 half3 __ovld __cnfn convert_half3_rtp(int3);
   6339 half3 __ovld __cnfn convert_half3_rtp(uint3);
   6340 half3 __ovld __cnfn convert_half3_rtp(long3);
   6341 half3 __ovld __cnfn convert_half3_rtp(ulong3);
   6342 half3 __ovld __cnfn convert_half3_rtp(float3);
   6343 half3 __ovld __cnfn convert_half3_rtp(half3);
   6344 half3 __ovld __cnfn convert_half3_rtn(char3);
   6345 half3 __ovld __cnfn convert_half3_rtn(uchar3);
   6346 half3 __ovld __cnfn convert_half3_rtn(short3);
   6347 half3 __ovld __cnfn convert_half3_rtn(ushort3);
   6348 half3 __ovld __cnfn convert_half3_rtn(int3);
   6349 half3 __ovld __cnfn convert_half3_rtn(uint3);
   6350 half3 __ovld __cnfn convert_half3_rtn(long3);
   6351 half3 __ovld __cnfn convert_half3_rtn(ulong3);
   6352 half3 __ovld __cnfn convert_half3_rtn(float3);
   6353 half3 __ovld __cnfn convert_half3_rtn(half3);
   6354 half3 __ovld __cnfn convert_half3_rtz(char3);
   6355 half3 __ovld __cnfn convert_half3_rtz(uchar3);
   6356 half3 __ovld __cnfn convert_half3_rtz(short3);
   6357 half3 __ovld __cnfn convert_half3_rtz(ushort3);
   6358 half3 __ovld __cnfn convert_half3_rtz(int3);
   6359 half3 __ovld __cnfn convert_half3_rtz(uint3);
   6360 half3 __ovld __cnfn convert_half3_rtz(long3);
   6361 half3 __ovld __cnfn convert_half3_rtz(ulong3);
   6362 half3 __ovld __cnfn convert_half3_rtz(float3);
   6363 half3 __ovld __cnfn convert_half3_rtz(half3);
   6364 half4 __ovld __cnfn convert_half4(char4);
   6365 half4 __ovld __cnfn convert_half4(uchar4);
   6366 half4 __ovld __cnfn convert_half4(short4);
   6367 half4 __ovld __cnfn convert_half4(ushort4);
   6368 half4 __ovld __cnfn convert_half4(int4);
   6369 half4 __ovld __cnfn convert_half4(uint4);
   6370 half4 __ovld __cnfn convert_half4(long4);
   6371 half4 __ovld __cnfn convert_half4(ulong4);
   6372 half4 __ovld __cnfn convert_half4(float4);
   6373 half4 __ovld __cnfn convert_half4(half4);
   6374 half4 __ovld __cnfn convert_half4_rte(char4);
   6375 half4 __ovld __cnfn convert_half4_rte(uchar4);
   6376 half4 __ovld __cnfn convert_half4_rte(short4);
   6377 half4 __ovld __cnfn convert_half4_rte(ushort4);
   6378 half4 __ovld __cnfn convert_half4_rte(int4);
   6379 half4 __ovld __cnfn convert_half4_rte(uint4);
   6380 half4 __ovld __cnfn convert_half4_rte(long4);
   6381 half4 __ovld __cnfn convert_half4_rte(ulong4);
   6382 half4 __ovld __cnfn convert_half4_rte(float4);
   6383 half4 __ovld __cnfn convert_half4_rte(half4);
   6384 half4 __ovld __cnfn convert_half4_rtp(char4);
   6385 half4 __ovld __cnfn convert_half4_rtp(uchar4);
   6386 half4 __ovld __cnfn convert_half4_rtp(short4);
   6387 half4 __ovld __cnfn convert_half4_rtp(ushort4);
   6388 half4 __ovld __cnfn convert_half4_rtp(int4);
   6389 half4 __ovld __cnfn convert_half4_rtp(uint4);
   6390 half4 __ovld __cnfn convert_half4_rtp(long4);
   6391 half4 __ovld __cnfn convert_half4_rtp(ulong4);
   6392 half4 __ovld __cnfn convert_half4_rtp(float4);
   6393 half4 __ovld __cnfn convert_half4_rtp(half4);
   6394 half4 __ovld __cnfn convert_half4_rtn(char4);
   6395 half4 __ovld __cnfn convert_half4_rtn(uchar4);
   6396 half4 __ovld __cnfn convert_half4_rtn(short4);
   6397 half4 __ovld __cnfn convert_half4_rtn(ushort4);
   6398 half4 __ovld __cnfn convert_half4_rtn(int4);
   6399 half4 __ovld __cnfn convert_half4_rtn(uint4);
   6400 half4 __ovld __cnfn convert_half4_rtn(long4);
   6401 half4 __ovld __cnfn convert_half4_rtn(ulong4);
   6402 half4 __ovld __cnfn convert_half4_rtn(float4);
   6403 half4 __ovld __cnfn convert_half4_rtn(half4);
   6404 half4 __ovld __cnfn convert_half4_rtz(char4);
   6405 half4 __ovld __cnfn convert_half4_rtz(uchar4);
   6406 half4 __ovld __cnfn convert_half4_rtz(short4);
   6407 half4 __ovld __cnfn convert_half4_rtz(ushort4);
   6408 half4 __ovld __cnfn convert_half4_rtz(int4);
   6409 half4 __ovld __cnfn convert_half4_rtz(uint4);
   6410 half4 __ovld __cnfn convert_half4_rtz(long4);
   6411 half4 __ovld __cnfn convert_half4_rtz(ulong4);
   6412 half4 __ovld __cnfn convert_half4_rtz(float4);
   6413 half4 __ovld __cnfn convert_half4_rtz(half4);
   6414 half8 __ovld __cnfn convert_half8(char8);
   6415 half8 __ovld __cnfn convert_half8(uchar8);
   6416 half8 __ovld __cnfn convert_half8(short8);
   6417 half8 __ovld __cnfn convert_half8(ushort8);
   6418 half8 __ovld __cnfn convert_half8(int8);
   6419 half8 __ovld __cnfn convert_half8(uint8);
   6420 half8 __ovld __cnfn convert_half8(long8);
   6421 half8 __ovld __cnfn convert_half8(ulong8);
   6422 half8 __ovld __cnfn convert_half8(float8);
   6423 half8 __ovld __cnfn convert_half8(half8);
   6424 half8 __ovld __cnfn convert_half8_rte(char8);
   6425 half8 __ovld __cnfn convert_half8_rte(uchar8);
   6426 half8 __ovld __cnfn convert_half8_rte(short8);
   6427 half8 __ovld __cnfn convert_half8_rte(ushort8);
   6428 half8 __ovld __cnfn convert_half8_rte(int8);
   6429 half8 __ovld __cnfn convert_half8_rte(uint8);
   6430 half8 __ovld __cnfn convert_half8_rte(long8);
   6431 half8 __ovld __cnfn convert_half8_rte(ulong8);
   6432 half8 __ovld __cnfn convert_half8_rte(float8);
   6433 half8 __ovld __cnfn convert_half8_rte(half8);
   6434 half8 __ovld __cnfn convert_half8_rtp(char8);
   6435 half8 __ovld __cnfn convert_half8_rtp(uchar8);
   6436 half8 __ovld __cnfn convert_half8_rtp(short8);
   6437 half8 __ovld __cnfn convert_half8_rtp(ushort8);
   6438 half8 __ovld __cnfn convert_half8_rtp(int8);
   6439 half8 __ovld __cnfn convert_half8_rtp(uint8);
   6440 half8 __ovld __cnfn convert_half8_rtp(long8);
   6441 half8 __ovld __cnfn convert_half8_rtp(ulong8);
   6442 half8 __ovld __cnfn convert_half8_rtp(float8);
   6443 half8 __ovld __cnfn convert_half8_rtp(half8);
   6444 half8 __ovld __cnfn convert_half8_rtn(char8);
   6445 half8 __ovld __cnfn convert_half8_rtn(uchar8);
   6446 half8 __ovld __cnfn convert_half8_rtn(short8);
   6447 half8 __ovld __cnfn convert_half8_rtn(ushort8);
   6448 half8 __ovld __cnfn convert_half8_rtn(int8);
   6449 half8 __ovld __cnfn convert_half8_rtn(uint8);
   6450 half8 __ovld __cnfn convert_half8_rtn(long8);
   6451 half8 __ovld __cnfn convert_half8_rtn(ulong8);
   6452 half8 __ovld __cnfn convert_half8_rtn(float8);
   6453 half8 __ovld __cnfn convert_half8_rtn(half8);
   6454 half8 __ovld __cnfn convert_half8_rtz(char8);
   6455 half8 __ovld __cnfn convert_half8_rtz(uchar8);
   6456 half8 __ovld __cnfn convert_half8_rtz(short8);
   6457 half8 __ovld __cnfn convert_half8_rtz(ushort8);
   6458 half8 __ovld __cnfn convert_half8_rtz(int8);
   6459 half8 __ovld __cnfn convert_half8_rtz(uint8);
   6460 half8 __ovld __cnfn convert_half8_rtz(long8);
   6461 half8 __ovld __cnfn convert_half8_rtz(ulong8);
   6462 half8 __ovld __cnfn convert_half8_rtz(float8);
   6463 half8 __ovld __cnfn convert_half8_rtz(half8);
   6464 half16 __ovld __cnfn convert_half16(char16);
   6465 half16 __ovld __cnfn convert_half16(uchar16);
   6466 half16 __ovld __cnfn convert_half16(short16);
   6467 half16 __ovld __cnfn convert_half16(ushort16);
   6468 half16 __ovld __cnfn convert_half16(int16);
   6469 half16 __ovld __cnfn convert_half16(uint16);
   6470 half16 __ovld __cnfn convert_half16(long16);
   6471 half16 __ovld __cnfn convert_half16(ulong16);
   6472 half16 __ovld __cnfn convert_half16(float16);
   6473 half16 __ovld __cnfn convert_half16(half16);
   6474 half16 __ovld __cnfn convert_half16_rte(char16);
   6475 half16 __ovld __cnfn convert_half16_rte(uchar16);
   6476 half16 __ovld __cnfn convert_half16_rte(short16);
   6477 half16 __ovld __cnfn convert_half16_rte(ushort16);
   6478 half16 __ovld __cnfn convert_half16_rte(int16);
   6479 half16 __ovld __cnfn convert_half16_rte(uint16);
   6480 half16 __ovld __cnfn convert_half16_rte(long16);
   6481 half16 __ovld __cnfn convert_half16_rte(ulong16);
   6482 half16 __ovld __cnfn convert_half16_rte(float16);
   6483 half16 __ovld __cnfn convert_half16_rte(half16);
   6484 half16 __ovld __cnfn convert_half16_rtp(char16);
   6485 half16 __ovld __cnfn convert_half16_rtp(uchar16);
   6486 half16 __ovld __cnfn convert_half16_rtp(short16);
   6487 half16 __ovld __cnfn convert_half16_rtp(ushort16);
   6488 half16 __ovld __cnfn convert_half16_rtp(int16);
   6489 half16 __ovld __cnfn convert_half16_rtp(uint16);
   6490 half16 __ovld __cnfn convert_half16_rtp(long16);
   6491 half16 __ovld __cnfn convert_half16_rtp(ulong16);
   6492 half16 __ovld __cnfn convert_half16_rtp(float16);
   6493 half16 __ovld __cnfn convert_half16_rtp(half16);
   6494 half16 __ovld __cnfn convert_half16_rtn(char16);
   6495 half16 __ovld __cnfn convert_half16_rtn(uchar16);
   6496 half16 __ovld __cnfn convert_half16_rtn(short16);
   6497 half16 __ovld __cnfn convert_half16_rtn(ushort16);
   6498 half16 __ovld __cnfn convert_half16_rtn(int16);
   6499 half16 __ovld __cnfn convert_half16_rtn(uint16);
   6500 half16 __ovld __cnfn convert_half16_rtn(long16);
   6501 half16 __ovld __cnfn convert_half16_rtn(ulong16);
   6502 half16 __ovld __cnfn convert_half16_rtn(float16);
   6503 half16 __ovld __cnfn convert_half16_rtn(half16);
   6504 half16 __ovld __cnfn convert_half16_rtz(char16);
   6505 half16 __ovld __cnfn convert_half16_rtz(uchar16);
   6506 half16 __ovld __cnfn convert_half16_rtz(short16);
   6507 half16 __ovld __cnfn convert_half16_rtz(ushort16);
   6508 half16 __ovld __cnfn convert_half16_rtz(int16);
   6509 half16 __ovld __cnfn convert_half16_rtz(uint16);
   6510 half16 __ovld __cnfn convert_half16_rtz(long16);
   6511 half16 __ovld __cnfn convert_half16_rtz(ulong16);
   6512 half16 __ovld __cnfn convert_half16_rtz(float16);
   6513 half16 __ovld __cnfn convert_half16_rtz(half16);
   6514 
   6515 // Convert half types to double types.
   6516 #ifdef cl_khr_fp64
   6517 double __ovld __cnfn convert_double(half);
   6518 double __ovld __cnfn convert_double_rte(half);
   6519 double __ovld __cnfn convert_double_rtp(half);
   6520 double __ovld __cnfn convert_double_rtn(half);
   6521 double __ovld __cnfn convert_double_rtz(half);
   6522 double2 __ovld __cnfn convert_double2(half2);
   6523 double2 __ovld __cnfn convert_double2_rte(half2);
   6524 double2 __ovld __cnfn convert_double2_rtp(half2);
   6525 double2 __ovld __cnfn convert_double2_rtn(half2);
   6526 double2 __ovld __cnfn convert_double2_rtz(half2);
   6527 double3 __ovld __cnfn convert_double3(half3);
   6528 double3 __ovld __cnfn convert_double3_rte(half3);
   6529 double3 __ovld __cnfn convert_double3_rtp(half3);
   6530 double3 __ovld __cnfn convert_double3_rtn(half3);
   6531 double3 __ovld __cnfn convert_double3_rtz(half3);
   6532 double4 __ovld __cnfn convert_double4(half4);
   6533 double4 __ovld __cnfn convert_double4_rte(half4);
   6534 double4 __ovld __cnfn convert_double4_rtp(half4);
   6535 double4 __ovld __cnfn convert_double4_rtn(half4);
   6536 double4 __ovld __cnfn convert_double4_rtz(half4);
   6537 double8 __ovld __cnfn convert_double8(half8);
   6538 double8 __ovld __cnfn convert_double8_rte(half8);
   6539 double8 __ovld __cnfn convert_double8_rtp(half8);
   6540 double8 __ovld __cnfn convert_double8_rtn(half8);
   6541 double8 __ovld __cnfn convert_double8_rtz(half8);
   6542 double16 __ovld __cnfn convert_double16(half16);
   6543 double16 __ovld __cnfn convert_double16_rte(half16);
   6544 double16 __ovld __cnfn convert_double16_rtp(half16);
   6545 double16 __ovld __cnfn convert_double16_rtn(half16);
   6546 double16 __ovld __cnfn convert_double16_rtz(half16);
   6547 
   6548 // Convert double types to half types.
   6549 half __ovld __cnfn convert_half(double);
   6550 half __ovld __cnfn convert_half_rte(double);
   6551 half __ovld __cnfn convert_half_rtp(double);
   6552 half __ovld __cnfn convert_half_rtn(double);
   6553 half __ovld __cnfn convert_half_rtz(double);
   6554 half2 __ovld __cnfn convert_half2(double2);
   6555 half2 __ovld __cnfn convert_half2_rte(double2);
   6556 half2 __ovld __cnfn convert_half2_rtp(double2);
   6557 half2 __ovld __cnfn convert_half2_rtn(double2);
   6558 half2 __ovld __cnfn convert_half2_rtz(double2);
   6559 half3 __ovld __cnfn convert_half3(double3);
   6560 half3 __ovld __cnfn convert_half3_rte(double3);
   6561 half3 __ovld __cnfn convert_half3_rtp(double3);
   6562 half3 __ovld __cnfn convert_half3_rtn(double3);
   6563 half3 __ovld __cnfn convert_half3_rtz(double3);
   6564 half4 __ovld __cnfn convert_half4(double4);
   6565 half4 __ovld __cnfn convert_half4_rte(double4);
   6566 half4 __ovld __cnfn convert_half4_rtp(double4);
   6567 half4 __ovld __cnfn convert_half4_rtn(double4);
   6568 half4 __ovld __cnfn convert_half4_rtz(double4);
   6569 half8 __ovld __cnfn convert_half8(double8);
   6570 half8 __ovld __cnfn convert_half8_rte(double8);
   6571 half8 __ovld __cnfn convert_half8_rtp(double8);
   6572 half8 __ovld __cnfn convert_half8_rtn(double8);
   6573 half8 __ovld __cnfn convert_half8_rtz(double8);
   6574 half16 __ovld __cnfn convert_half16(double16);
   6575 half16 __ovld __cnfn convert_half16_rte(double16);
   6576 half16 __ovld __cnfn convert_half16_rtp(double16);
   6577 half16 __ovld __cnfn convert_half16_rtn(double16);
   6578 half16 __ovld __cnfn convert_half16_rtz(double16);
   6579 #endif //cl_khr_fp64
   6580 
   6581 #endif // cl_khr_fp16
   6582 
   6583 /**
   6584  * OpenCL v1.1/1.2/2.0 s6.2.4.2 - as_type operators
   6585  * Reinterprets a data type as another data type of the same size
   6586  */
   6587 #define as_char(x) __builtin_astype((x),   char)
   6588 #define as_char2(x) __builtin_astype((x),  char2)
   6589 #define as_char3(x) __builtin_astype((x),  char3)
   6590 #define as_char4(x) __builtin_astype((x),  char4)
   6591 #define as_char8(x) __builtin_astype((x),  char8)
   6592 #define as_char16(x) __builtin_astype((x), char16)
   6593 
   6594 #define as_uchar(x) __builtin_astype((x),   uchar)
   6595 #define as_uchar2(x) __builtin_astype((x),  uchar2)
   6596 #define as_uchar3(x) __builtin_astype((x),  uchar3)
   6597 #define as_uchar4(x) __builtin_astype((x),  uchar4)
   6598 #define as_uchar8(x) __builtin_astype((x),  uchar8)
   6599 #define as_uchar16(x) __builtin_astype((x), uchar16)
   6600 
   6601 #define as_short(x) __builtin_astype((x),   short)
   6602 #define as_short2(x) __builtin_astype((x),  short2)
   6603 #define as_short3(x) __builtin_astype((x),  short3)
   6604 #define as_short4(x) __builtin_astype((x),  short4)
   6605 #define as_short8(x) __builtin_astype((x),  short8)
   6606 #define as_short16(x) __builtin_astype((x), short16)
   6607 
   6608 #define as_ushort(x) __builtin_astype((x),   ushort)
   6609 #define as_ushort2(x) __builtin_astype((x),  ushort2)
   6610 #define as_ushort3(x) __builtin_astype((x),  ushort3)
   6611 #define as_ushort4(x) __builtin_astype((x),  ushort4)
   6612 #define as_ushort8(x) __builtin_astype((x),  ushort8)
   6613 #define as_ushort16(x) __builtin_astype((x), ushort16)
   6614 
   6615 #define as_int(x) __builtin_astype((x),   int)
   6616 #define as_int2(x) __builtin_astype((x),  int2)
   6617 #define as_int3(x) __builtin_astype((x),  int3)
   6618 #define as_int4(x) __builtin_astype((x),  int4)
   6619 #define as_int8(x) __builtin_astype((x),  int8)
   6620 #define as_int16(x) __builtin_astype((x), int16)
   6621 
   6622 #define as_uint(x) __builtin_astype((x),   uint)
   6623 #define as_uint2(x) __builtin_astype((x),  uint2)
   6624 #define as_uint3(x) __builtin_astype((x),  uint3)
   6625 #define as_uint4(x) __builtin_astype((x),  uint4)
   6626 #define as_uint8(x) __builtin_astype((x),  uint8)
   6627 #define as_uint16(x) __builtin_astype((x), uint16)
   6628 
   6629 #define as_long(x) __builtin_astype((x),   long)
   6630 #define as_long2(x) __builtin_astype((x),  long2)
   6631 #define as_long3(x) __builtin_astype((x),  long3)
   6632 #define as_long4(x) __builtin_astype((x),  long4)
   6633 #define as_long8(x) __builtin_astype((x),  long8)
   6634 #define as_long16(x) __builtin_astype((x), long16)
   6635 
   6636 #define as_ulong(x) __builtin_astype((x),   ulong)
   6637 #define as_ulong2(x) __builtin_astype((x),  ulong2)
   6638 #define as_ulong3(x) __builtin_astype((x),  ulong3)
   6639 #define as_ulong4(x) __builtin_astype((x),  ulong4)
   6640 #define as_ulong8(x) __builtin_astype((x),  ulong8)
   6641 #define as_ulong16(x) __builtin_astype((x), ulong16)
   6642 
   6643 #define as_float(x) __builtin_astype((x),   float)
   6644 #define as_float2(x) __builtin_astype((x),  float2)
   6645 #define as_float3(x) __builtin_astype((x),  float3)
   6646 #define as_float4(x) __builtin_astype((x),  float4)
   6647 #define as_float8(x) __builtin_astype((x),  float8)
   6648 #define as_float16(x) __builtin_astype((x), float16)
   6649 
   6650 #ifdef cl_khr_fp64
   6651 #define as_double(x) __builtin_astype((x),   double)
   6652 #define as_double2(x) __builtin_astype((x),  double2)
   6653 #define as_double3(x) __builtin_astype((x),  double3)
   6654 #define as_double4(x) __builtin_astype((x),  double4)
   6655 #define as_double8(x) __builtin_astype((x),  double8)
   6656 #define as_double16(x) __builtin_astype((x), double16)
   6657 #endif //cl_khr_fp64
   6658 
   6659 #ifdef cl_khr_fp16
   6660 #define as_half(x) __builtin_astype((x),   half)
   6661 #define as_half2(x) __builtin_astype((x),  half2)
   6662 #define as_half3(x) __builtin_astype((x),  half3)
   6663 #define as_half4(x) __builtin_astype((x),  half4)
   6664 #define as_half8(x) __builtin_astype((x),  half8)
   6665 #define as_half16(x) __builtin_astype((x), half16)
   6666 #endif //cl_khr_fp16
   6667 
   6668 // OpenCL v1.1 s6.9, v1.2/2.0 s6.10 - Function qualifiers
   6669 
   6670 #define __kernel_exec(X, typen) __kernel \
   6671 	__attribute__((work_group_size_hint(X, 1, 1))) \
   6672 	__attribute__((vec_type_hint(typen)))
   6673 
   6674 #define kernel_exec(X, typen) __kernel \
   6675 	__attribute__((work_group_size_hint(X, 1, 1))) \
   6676 	__attribute__((vec_type_hint(typen)))
   6677 
   6678 // OpenCL v1.1 s6.11.1, v1.2 s6.12.1, v2.0 s6.13.1 - Work-item Functions
   6679 
   6680 /**
   6681  * Returns the number of dimensions in use. This is the
   6682  * value given to the work_dim argument specified in
   6683  * clEnqueueNDRangeKernel.
   6684  * For clEnqueueTask, this returns 1.
   6685  */
   6686 uint __ovld __cnfn get_work_dim(void);
   6687 
   6688 /**
   6689  * Returns the number of global work-items specified for
   6690  * dimension identified by dimindx. This value is given by
   6691  * the global_work_size argument to
   6692  * clEnqueueNDRangeKernel. Valid values of dimindx
   6693  * are 0 to get_work_dim() - 1. For other values of
   6694  * dimindx, get_global_size() returns 1.
   6695  * For clEnqueueTask, this always returns 1.
   6696  */
   6697 size_t __ovld __cnfn get_global_size(uint dimindx);
   6698 
   6699 /**
   6700  * Returns the unique global work-item ID value for
   6701  * dimension identified by dimindx. The global work-item
   6702  * ID specifies the work-item ID based on the number of
   6703  * global work-items specified to execute the kernel. Valid
   6704  * values of dimindx are 0 to get_work_dim() - 1. For
   6705  * other values of dimindx, get_global_id() returns 0.
   6706  * For clEnqueueTask, this returns 0.
   6707  */
   6708 size_t __ovld __cnfn get_global_id(uint dimindx);
   6709 
   6710 /**
   6711  * Returns the number of local work-items specified in
   6712  * dimension identified by dimindx. This value is given by
   6713  * the local_work_size argument to
   6714  * clEnqueueNDRangeKernel if local_work_size is not
   6715  * NULL; otherwise the OpenCL implementation chooses
   6716  * an appropriate local_work_size value which is returned
   6717  * by this function. Valid values of dimindx are 0 to
   6718  * get_work_dim() - 1. For other values of dimindx,
   6719  * get_local_size() returns 1.
   6720  * For clEnqueueTask, this always returns 1.
   6721  */
   6722 size_t __ovld __cnfn get_local_size(uint dimindx);
   6723 
   6724 /**
   6725  * Returns the unique local work-item ID i.e. a work-item
   6726  * within a specific work-group for dimension identified by
   6727  * dimindx. Valid values of dimindx are 0 to
   6728  * get_work_dim() - 1. For other values of dimindx,
   6729  * get_local_id() returns 0.
   6730  * For clEnqueueTask, this returns 0.
   6731  */
   6732 size_t __ovld __cnfn get_local_id(uint dimindx);
   6733 
   6734 /**
   6735  * Returns the number of work-groups that will execute a
   6736  * kernel for dimension identified by dimindx.
   6737  * Valid values of dimindx are 0 to get_work_dim() - 1.
   6738  * For other values of dimindx, get_num_groups () returns
   6739  * 1.
   6740  * For clEnqueueTask, this always returns 1.
   6741  */
   6742 size_t __ovld __cnfn get_num_groups(uint dimindx);
   6743 
   6744 /**
   6745  * get_group_id returns the work-group ID which is a
   6746  * number from 0 .. get_num_groups(dimindx) - 1.
   6747  * Valid values of dimindx are 0 to get_work_dim() - 1.
   6748  * For other values, get_group_id() returns 0.
   6749  * For clEnqueueTask, this returns 0.
   6750  */
   6751 size_t __ovld __cnfn get_group_id(uint dimindx);
   6752 
   6753 /**
   6754  * get_global_offset returns the offset values specified in
   6755  * global_work_offset argument to
   6756  * clEnqueueNDRangeKernel.
   6757  * Valid values of dimindx are 0 to get_work_dim() - 1.
   6758  * For other values, get_global_offset() returns 0.
   6759  * For clEnqueueTask, this returns 0.
   6760  */
   6761 size_t __ovld __cnfn get_global_offset(uint dimindx);
   6762 
   6763 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   6764 size_t __ovld get_enqueued_local_size(uint dimindx);
   6765 size_t __ovld get_global_linear_id(void);
   6766 size_t __ovld get_local_linear_id(void);
   6767 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   6768 
   6769 // OpenCL v1.1 s6.11.2, v1.2 s6.12.2, v2.0 s6.13.2 - Math functions
   6770 
   6771 /**
   6772  * Arc cosine function.
   6773  */
   6774 float __ovld __cnfn acos(float);
   6775 float2 __ovld __cnfn acos(float2);
   6776 float3 __ovld __cnfn acos(float3);
   6777 float4 __ovld __cnfn acos(float4);
   6778 float8 __ovld __cnfn acos(float8);
   6779 float16 __ovld __cnfn acos(float16);
   6780 #ifdef cl_khr_fp64
   6781 double __ovld __cnfn acos(double);
   6782 double2 __ovld __cnfn acos(double2);
   6783 double3 __ovld __cnfn acos(double3);
   6784 double4 __ovld __cnfn acos(double4);
   6785 double8 __ovld __cnfn acos(double8);
   6786 double16 __ovld __cnfn acos(double16);
   6787 #endif //cl_khr_fp64
   6788 #ifdef cl_khr_fp16
   6789 half __ovld __cnfn acos(half);
   6790 half2 __ovld __cnfn acos(half2);
   6791 half3 __ovld __cnfn acos(half3);
   6792 half4 __ovld __cnfn acos(half4);
   6793 half8 __ovld __cnfn acos(half8);
   6794 half16 __ovld __cnfn acos(half16);
   6795 #endif //cl_khr_fp16
   6796 
   6797 /**
   6798  * Inverse hyperbolic cosine.
   6799  */
   6800 float __ovld __cnfn acosh(float);
   6801 float2 __ovld __cnfn acosh(float2);
   6802 float3 __ovld __cnfn acosh(float3);
   6803 float4 __ovld __cnfn acosh(float4);
   6804 float8 __ovld __cnfn acosh(float8);
   6805 float16 __ovld __cnfn acosh(float16);
   6806 #ifdef cl_khr_fp64
   6807 double __ovld __cnfn acosh(double);
   6808 double2 __ovld __cnfn acosh(double2);
   6809 double3 __ovld __cnfn acosh(double3);
   6810 double4 __ovld __cnfn acosh(double4);
   6811 double8 __ovld __cnfn acosh(double8);
   6812 double16 __ovld __cnfn acosh(double16);
   6813 #endif //cl_khr_fp64
   6814 #ifdef cl_khr_fp16
   6815 half __ovld __cnfn acosh(half);
   6816 half2 __ovld __cnfn acosh(half2);
   6817 half3 __ovld __cnfn acosh(half3);
   6818 half4 __ovld __cnfn acosh(half4);
   6819 half8 __ovld __cnfn acosh(half8);
   6820 half16 __ovld __cnfn acosh(half16);
   6821 #endif //cl_khr_fp16
   6822 
   6823 /**
   6824  * Compute acos (x) / PI.
   6825  */
   6826 float __ovld __cnfn acospi(float x);
   6827 float2 __ovld __cnfn acospi(float2 x);
   6828 float3 __ovld __cnfn acospi(float3 x);
   6829 float4 __ovld __cnfn acospi(float4 x);
   6830 float8 __ovld __cnfn acospi(float8 x);
   6831 float16 __ovld __cnfn acospi(float16 x);
   6832 #ifdef cl_khr_fp64
   6833 double __ovld __cnfn acospi(double x);
   6834 double2 __ovld __cnfn acospi(double2 x);
   6835 double3 __ovld __cnfn acospi(double3 x);
   6836 double4 __ovld __cnfn acospi(double4 x);
   6837 double8 __ovld __cnfn acospi(double8 x);
   6838 double16 __ovld __cnfn acospi(double16 x);
   6839 #endif //cl_khr_fp64
   6840 #ifdef cl_khr_fp16
   6841 half __ovld __cnfn acospi(half x);
   6842 half2 __ovld __cnfn acospi(half2 x);
   6843 half3 __ovld __cnfn acospi(half3 x);
   6844 half4 __ovld __cnfn acospi(half4 x);
   6845 half8 __ovld __cnfn acospi(half8 x);
   6846 half16 __ovld __cnfn acospi(half16 x);
   6847 #endif //cl_khr_fp16
   6848 
   6849 /**
   6850  * Arc sine function.
   6851  */
   6852 float __ovld __cnfn asin(float);
   6853 float2 __ovld __cnfn asin(float2);
   6854 float3 __ovld __cnfn asin(float3);
   6855 float4 __ovld __cnfn asin(float4);
   6856 float8 __ovld __cnfn asin(float8);
   6857 float16 __ovld __cnfn asin(float16);
   6858 #ifdef cl_khr_fp64
   6859 double __ovld __cnfn asin(double);
   6860 double2 __ovld __cnfn asin(double2);
   6861 double3 __ovld __cnfn asin(double3);
   6862 double4 __ovld __cnfn asin(double4);
   6863 double8 __ovld __cnfn asin(double8);
   6864 double16 __ovld __cnfn asin(double16);
   6865 #endif //cl_khr_fp64
   6866 #ifdef cl_khr_fp16
   6867 half __ovld __cnfn asin(half);
   6868 half2 __ovld __cnfn asin(half2);
   6869 half3 __ovld __cnfn asin(half3);
   6870 half4 __ovld __cnfn asin(half4);
   6871 half8 __ovld __cnfn asin(half8);
   6872 half16 __ovld __cnfn asin(half16);
   6873 #endif //cl_khr_fp16
   6874 
   6875 /**
   6876  * Inverse hyperbolic sine.
   6877  */
   6878 float __ovld __cnfn asinh(float);
   6879 float2 __ovld __cnfn asinh(float2);
   6880 float3 __ovld __cnfn asinh(float3);
   6881 float4 __ovld __cnfn asinh(float4);
   6882 float8 __ovld __cnfn asinh(float8);
   6883 float16 __ovld __cnfn asinh(float16);
   6884 #ifdef cl_khr_fp64
   6885 double __ovld __cnfn asinh(double);
   6886 double2 __ovld __cnfn asinh(double2);
   6887 double3 __ovld __cnfn asinh(double3);
   6888 double4 __ovld __cnfn asinh(double4);
   6889 double8 __ovld __cnfn asinh(double8);
   6890 double16 __ovld __cnfn asinh(double16);
   6891 #endif //cl_khr_fp64
   6892 #ifdef cl_khr_fp16
   6893 half __ovld __cnfn asinh(half);
   6894 half2 __ovld __cnfn asinh(half2);
   6895 half3 __ovld __cnfn asinh(half3);
   6896 half4 __ovld __cnfn asinh(half4);
   6897 half8 __ovld __cnfn asinh(half8);
   6898 half16 __ovld __cnfn asinh(half16);
   6899 #endif //cl_khr_fp16
   6900 
   6901 /**
   6902  * Compute asin (x) / PI.
   6903  */
   6904 float __ovld __cnfn asinpi(float x);
   6905 float2 __ovld __cnfn asinpi(float2 x);
   6906 float3 __ovld __cnfn asinpi(float3 x);
   6907 float4 __ovld __cnfn asinpi(float4 x);
   6908 float8 __ovld __cnfn asinpi(float8 x);
   6909 float16 __ovld __cnfn asinpi(float16 x);
   6910 #ifdef cl_khr_fp64
   6911 double __ovld __cnfn asinpi(double x);
   6912 double2 __ovld __cnfn asinpi(double2 x);
   6913 double3 __ovld __cnfn asinpi(double3 x);
   6914 double4 __ovld __cnfn asinpi(double4 x);
   6915 double8 __ovld __cnfn asinpi(double8 x);
   6916 double16 __ovld __cnfn asinpi(double16 x);
   6917 #endif //cl_khr_fp64
   6918 #ifdef cl_khr_fp16
   6919 half __ovld __cnfn asinpi(half x);
   6920 half2 __ovld __cnfn asinpi(half2 x);
   6921 half3 __ovld __cnfn asinpi(half3 x);
   6922 half4 __ovld __cnfn asinpi(half4 x);
   6923 half8 __ovld __cnfn asinpi(half8 x);
   6924 half16 __ovld __cnfn asinpi(half16 x);
   6925 #endif //cl_khr_fp16
   6926 
   6927 /**
   6928  * Arc tangent function.
   6929  */
   6930 float __ovld __cnfn atan(float y_over_x);
   6931 float2 __ovld __cnfn atan(float2 y_over_x);
   6932 float3 __ovld __cnfn atan(float3 y_over_x);
   6933 float4 __ovld __cnfn atan(float4 y_over_x);
   6934 float8 __ovld __cnfn atan(float8 y_over_x);
   6935 float16 __ovld __cnfn atan(float16 y_over_x);
   6936 #ifdef cl_khr_fp64
   6937 double __ovld __cnfn atan(double y_over_x);
   6938 double2 __ovld __cnfn atan(double2 y_over_x);
   6939 double3 __ovld __cnfn atan(double3 y_over_x);
   6940 double4 __ovld __cnfn atan(double4 y_over_x);
   6941 double8 __ovld __cnfn atan(double8 y_over_x);
   6942 double16 __ovld __cnfn atan(double16 y_over_x);
   6943 #endif //cl_khr_fp64
   6944 #ifdef cl_khr_fp16
   6945 half __ovld __cnfn atan(half y_over_x);
   6946 half2 __ovld __cnfn atan(half2 y_over_x);
   6947 half3 __ovld __cnfn atan(half3 y_over_x);
   6948 half4 __ovld __cnfn atan(half4 y_over_x);
   6949 half8 __ovld __cnfn atan(half8 y_over_x);
   6950 half16 __ovld __cnfn atan(half16 y_over_x);
   6951 #endif //cl_khr_fp16
   6952 
   6953 /**
   6954  * Arc tangent of y / x.
   6955  */
   6956 float __ovld __cnfn atan2(float y, float x);
   6957 float2 __ovld __cnfn atan2(float2 y, float2 x);
   6958 float3 __ovld __cnfn atan2(float3 y, float3 x);
   6959 float4 __ovld __cnfn atan2(float4 y, float4 x);
   6960 float8 __ovld __cnfn atan2(float8 y, float8 x);
   6961 float16 __ovld __cnfn atan2(float16 y, float16 x);
   6962 #ifdef cl_khr_fp64
   6963 double __ovld __cnfn atan2(double y, double x);
   6964 double2 __ovld __cnfn atan2(double2 y, double2 x);
   6965 double3 __ovld __cnfn atan2(double3 y, double3 x);
   6966 double4 __ovld __cnfn atan2(double4 y, double4 x);
   6967 double8 __ovld __cnfn atan2(double8 y, double8 x);
   6968 double16 __ovld __cnfn atan2(double16 y, double16 x);
   6969 #endif //cl_khr_fp64
   6970 #ifdef cl_khr_fp16
   6971 half __ovld __cnfn atan2(half y, half x);
   6972 half2 __ovld __cnfn atan2(half2 y, half2 x);
   6973 half3 __ovld __cnfn atan2(half3 y, half3 x);
   6974 half4 __ovld __cnfn atan2(half4 y, half4 x);
   6975 half8 __ovld __cnfn atan2(half8 y, half8 x);
   6976 half16 __ovld __cnfn atan2(half16 y, half16 x);
   6977 #endif //cl_khr_fp16
   6978 
   6979 /**
   6980  * Hyperbolic arc tangent.
   6981  */
   6982 float __ovld __cnfn atanh(float);
   6983 float2 __ovld __cnfn atanh(float2);
   6984 float3 __ovld __cnfn atanh(float3);
   6985 float4 __ovld __cnfn atanh(float4);
   6986 float8 __ovld __cnfn atanh(float8);
   6987 float16 __ovld __cnfn atanh(float16);
   6988 #ifdef cl_khr_fp64
   6989 double __ovld __cnfn atanh(double);
   6990 double2 __ovld __cnfn atanh(double2);
   6991 double3 __ovld __cnfn atanh(double3);
   6992 double4 __ovld __cnfn atanh(double4);
   6993 double8 __ovld __cnfn atanh(double8);
   6994 double16 __ovld __cnfn atanh(double16);
   6995 #endif //cl_khr_fp64
   6996 #ifdef cl_khr_fp16
   6997 half __ovld __cnfn atanh(half);
   6998 half2 __ovld __cnfn atanh(half2);
   6999 half3 __ovld __cnfn atanh(half3);
   7000 half4 __ovld __cnfn atanh(half4);
   7001 half8 __ovld __cnfn atanh(half8);
   7002 half16 __ovld __cnfn atanh(half16);
   7003 #endif //cl_khr_fp16
   7004 
   7005 /**
   7006  * Compute atan (x) / PI.
   7007  */
   7008 float __ovld __cnfn atanpi(float x);
   7009 float2 __ovld __cnfn atanpi(float2 x);
   7010 float3 __ovld __cnfn atanpi(float3 x);
   7011 float4 __ovld __cnfn atanpi(float4 x);
   7012 float8 __ovld __cnfn atanpi(float8 x);
   7013 float16 __ovld __cnfn atanpi(float16 x);
   7014 #ifdef cl_khr_fp64
   7015 double __ovld __cnfn atanpi(double x);
   7016 double2 __ovld __cnfn atanpi(double2 x);
   7017 double3 __ovld __cnfn atanpi(double3 x);
   7018 double4 __ovld __cnfn atanpi(double4 x);
   7019 double8 __ovld __cnfn atanpi(double8 x);
   7020 double16 __ovld __cnfn atanpi(double16 x);
   7021 #endif //cl_khr_fp64
   7022 #ifdef cl_khr_fp16
   7023 half __ovld __cnfn atanpi(half x);
   7024 half2 __ovld __cnfn atanpi(half2 x);
   7025 half3 __ovld __cnfn atanpi(half3 x);
   7026 half4 __ovld __cnfn atanpi(half4 x);
   7027 half8 __ovld __cnfn atanpi(half8 x);
   7028 half16 __ovld __cnfn atanpi(half16 x);
   7029 #endif //cl_khr_fp16
   7030 
   7031 /**
   7032  * Compute atan2 (y, x) / PI.
   7033  */
   7034 float __ovld __cnfn atan2pi(float y, float x);
   7035 float2 __ovld __cnfn atan2pi(float2 y, float2 x);
   7036 float3 __ovld __cnfn atan2pi(float3 y, float3 x);
   7037 float4 __ovld __cnfn atan2pi(float4 y, float4 x);
   7038 float8 __ovld __cnfn atan2pi(float8 y, float8 x);
   7039 float16 __ovld __cnfn atan2pi(float16 y, float16 x);
   7040 #ifdef cl_khr_fp64
   7041 double __ovld __cnfn atan2pi(double y, double x);
   7042 double2 __ovld __cnfn atan2pi(double2 y, double2 x);
   7043 double3 __ovld __cnfn atan2pi(double3 y, double3 x);
   7044 double4 __ovld __cnfn atan2pi(double4 y, double4 x);
   7045 double8 __ovld __cnfn atan2pi(double8 y, double8 x);
   7046 double16 __ovld __cnfn atan2pi(double16 y, double16 x);
   7047 #endif //cl_khr_fp64
   7048 #ifdef cl_khr_fp16
   7049 half __ovld __cnfn atan2pi(half y, half x);
   7050 half2 __ovld __cnfn atan2pi(half2 y, half2 x);
   7051 half3 __ovld __cnfn atan2pi(half3 y, half3 x);
   7052 half4 __ovld __cnfn atan2pi(half4 y, half4 x);
   7053 half8 __ovld __cnfn atan2pi(half8 y, half8 x);
   7054 half16 __ovld __cnfn atan2pi(half16 y, half16 x);
   7055 #endif //cl_khr_fp16
   7056 
   7057 /**
   7058  * Compute cube-root.
   7059  */
   7060 float __ovld __cnfn cbrt(float);
   7061 float2 __ovld __cnfn cbrt(float2);
   7062 float3 __ovld __cnfn cbrt(float3);
   7063 float4 __ovld __cnfn cbrt(float4);
   7064 float8 __ovld __cnfn cbrt(float8);
   7065 float16 __ovld __cnfn cbrt(float16);
   7066 #ifdef cl_khr_fp64
   7067 double __ovld __cnfn cbrt(double);
   7068 double2 __ovld __cnfn cbrt(double2);
   7069 double3 __ovld __cnfn cbrt(double3);
   7070 double4 __ovld __cnfn cbrt(double4);
   7071 double8 __ovld __cnfn cbrt(double8);
   7072 double16 __ovld __cnfn cbrt(double16);
   7073 #endif //cl_khr_fp64
   7074 #ifdef cl_khr_fp16
   7075 half __ovld __cnfn cbrt(half);
   7076 half2 __ovld __cnfn cbrt(half2);
   7077 half3 __ovld __cnfn cbrt(half3);
   7078 half4 __ovld __cnfn cbrt(half4);
   7079 half8 __ovld __cnfn cbrt(half8);
   7080 half16 __ovld __cnfn cbrt(half16);
   7081 #endif //cl_khr_fp16
   7082 
   7083 /**
   7084  * Round to integral value using the round to positive
   7085  * infinity rounding mode.
   7086  */
   7087 float __ovld __cnfn ceil(float);
   7088 float2 __ovld __cnfn ceil(float2);
   7089 float3 __ovld __cnfn ceil(float3);
   7090 float4 __ovld __cnfn ceil(float4);
   7091 float8 __ovld __cnfn ceil(float8);
   7092 float16 __ovld __cnfn ceil(float16);
   7093 #ifdef cl_khr_fp64
   7094 double __ovld __cnfn ceil(double);
   7095 double2 __ovld __cnfn ceil(double2);
   7096 double3 __ovld __cnfn ceil(double3);
   7097 double4 __ovld __cnfn ceil(double4);
   7098 double8 __ovld __cnfn ceil(double8);
   7099 double16 __ovld __cnfn ceil(double16);
   7100 #endif //cl_khr_fp64
   7101 #ifdef cl_khr_fp16
   7102 half __ovld __cnfn ceil(half);
   7103 half2 __ovld __cnfn ceil(half2);
   7104 half3 __ovld __cnfn ceil(half3);
   7105 half4 __ovld __cnfn ceil(half4);
   7106 half8 __ovld __cnfn ceil(half8);
   7107 half16 __ovld __cnfn ceil(half16);
   7108 #endif //cl_khr_fp16
   7109 
   7110 /**
   7111  * Returns x with its sign changed to match the sign of y.
   7112  */
   7113 float __ovld __cnfn copysign(float x, float y);
   7114 float2 __ovld __cnfn copysign(float2 x, float2 y);
   7115 float3 __ovld __cnfn copysign(float3 x, float3 y);
   7116 float4 __ovld __cnfn copysign(float4 x, float4 y);
   7117 float8 __ovld __cnfn copysign(float8 x, float8 y);
   7118 float16 __ovld __cnfn copysign(float16 x, float16 y);
   7119 #ifdef cl_khr_fp64
   7120 double __ovld __cnfn copysign(double x, double y);
   7121 double2 __ovld __cnfn copysign(double2 x, double2 y);
   7122 double3 __ovld __cnfn copysign(double3 x, double3 y);
   7123 double4 __ovld __cnfn copysign(double4 x, double4 y);
   7124 double8 __ovld __cnfn copysign(double8 x, double8 y);
   7125 double16 __ovld __cnfn copysign(double16 x, double16 y);
   7126 #endif //cl_khr_fp64
   7127 #ifdef cl_khr_fp16
   7128 half __ovld __cnfn copysign(half x, half y);
   7129 half2 __ovld __cnfn copysign(half2 x, half2 y);
   7130 half3 __ovld __cnfn copysign(half3 x, half3 y);
   7131 half4 __ovld __cnfn copysign(half4 x, half4 y);
   7132 half8 __ovld __cnfn copysign(half8 x, half8 y);
   7133 half16 __ovld __cnfn copysign(half16 x, half16 y);
   7134 #endif //cl_khr_fp16
   7135 
   7136 /**
   7137  * Compute cosine.
   7138  */
   7139 float __ovld __cnfn cos(float);
   7140 float2 __ovld __cnfn cos(float2);
   7141 float3 __ovld __cnfn cos(float3);
   7142 float4 __ovld __cnfn cos(float4);
   7143 float8 __ovld __cnfn cos(float8);
   7144 float16 __ovld __cnfn cos(float16);
   7145 #ifdef cl_khr_fp64
   7146 double __ovld __cnfn cos(double);
   7147 double2 __ovld __cnfn cos(double2);
   7148 double3 __ovld __cnfn cos(double3);
   7149 double4 __ovld __cnfn cos(double4);
   7150 double8 __ovld __cnfn cos(double8);
   7151 double16 __ovld __cnfn cos(double16);
   7152 #endif //cl_khr_fp64
   7153 #ifdef cl_khr_fp16
   7154 half __ovld __cnfn cos(half);
   7155 half2 __ovld __cnfn cos(half2);
   7156 half3 __ovld __cnfn cos(half3);
   7157 half4 __ovld __cnfn cos(half4);
   7158 half8 __ovld __cnfn cos(half8);
   7159 half16 __ovld __cnfn cos(half16);
   7160 #endif //cl_khr_fp16
   7161 
   7162 /**
   7163  * Compute hyperbolic cosine.
   7164  */
   7165 float __ovld __cnfn cosh(float);
   7166 float2 __ovld __cnfn cosh(float2);
   7167 float3 __ovld __cnfn cosh(float3);
   7168 float4 __ovld __cnfn cosh(float4);
   7169 float8 __ovld __cnfn cosh(float8);
   7170 float16 __ovld __cnfn cosh(float16);
   7171 #ifdef cl_khr_fp64
   7172 double __ovld __cnfn cosh(double);
   7173 double2 __ovld __cnfn cosh(double2);
   7174 double3 __ovld __cnfn cosh(double3);
   7175 double4 __ovld __cnfn cosh(double4);
   7176 double8 __ovld __cnfn cosh(double8);
   7177 double16 __ovld __cnfn cosh(double16);
   7178 #endif //cl_khr_fp64
   7179 #ifdef cl_khr_fp16
   7180 half __ovld __cnfn cosh(half);
   7181 half2 __ovld __cnfn cosh(half2);
   7182 half3 __ovld __cnfn cosh(half3);
   7183 half4 __ovld __cnfn cosh(half4);
   7184 half8 __ovld __cnfn cosh(half8);
   7185 half16 __ovld __cnfn cosh(half16);
   7186 #endif //cl_khr_fp16
   7187 
   7188 /**
   7189  * Compute cos (PI * x).
   7190  */
   7191 float __ovld __cnfn cospi(float x);
   7192 float2 __ovld __cnfn cospi(float2 x);
   7193 float3 __ovld __cnfn cospi(float3 x);
   7194 float4 __ovld __cnfn cospi(float4 x);
   7195 float8 __ovld __cnfn cospi(float8 x);
   7196 float16 __ovld __cnfn cospi(float16 x);
   7197 #ifdef cl_khr_fp64
   7198 double __ovld __cnfn cospi(double x);
   7199 double2 __ovld __cnfn cospi(double2 x);
   7200 double3 __ovld __cnfn cospi(double3 x);
   7201 double4 __ovld __cnfn cospi(double4 x);
   7202 double8 __ovld __cnfn cospi(double8 x);
   7203 double16 __ovld __cnfn cospi(double16 x);
   7204 #endif //cl_khr_fp64
   7205 #ifdef cl_khr_fp16
   7206 half __ovld __cnfn cospi(half x);
   7207 half2 __ovld __cnfn cospi(half2 x);
   7208 half3 __ovld __cnfn cospi(half3 x);
   7209 half4 __ovld __cnfn cospi(half4 x);
   7210 half8 __ovld __cnfn cospi(half8 x);
   7211 half16 __ovld __cnfn cospi(half16 x);
   7212 #endif //cl_khr_fp16
   7213 
   7214 /**
   7215  * Complementary error function.
   7216  */
   7217 float __ovld __cnfn erfc(float);
   7218 float2 __ovld __cnfn erfc(float2);
   7219 float3 __ovld __cnfn erfc(float3);
   7220 float4 __ovld __cnfn erfc(float4);
   7221 float8 __ovld __cnfn erfc(float8);
   7222 float16 __ovld __cnfn erfc(float16);
   7223 #ifdef cl_khr_fp64
   7224 double __ovld __cnfn erfc(double);
   7225 double2 __ovld __cnfn erfc(double2);
   7226 double3 __ovld __cnfn erfc(double3);
   7227 double4 __ovld __cnfn erfc(double4);
   7228 double8 __ovld __cnfn erfc(double8);
   7229 double16 __ovld __cnfn erfc(double16);
   7230 #endif //cl_khr_fp64
   7231 #ifdef cl_khr_fp16
   7232 half __ovld __cnfn erfc(half);
   7233 half2 __ovld __cnfn erfc(half2);
   7234 half3 __ovld __cnfn erfc(half3);
   7235 half4 __ovld __cnfn erfc(half4);
   7236 half8 __ovld __cnfn erfc(half8);
   7237 half16 __ovld __cnfn erfc(half16);
   7238 #endif //cl_khr_fp16
   7239 
   7240 /**
   7241  * Error function encountered in integrating the
   7242  * normal distribution.
   7243  */
   7244 float __ovld __cnfn erf(float);
   7245 float2 __ovld __cnfn erf(float2);
   7246 float3 __ovld __cnfn erf(float3);
   7247 float4 __ovld __cnfn erf(float4);
   7248 float8 __ovld __cnfn erf(float8);
   7249 float16 __ovld __cnfn erf(float16);
   7250 #ifdef cl_khr_fp64
   7251 double __ovld __cnfn erf(double);
   7252 double2 __ovld __cnfn erf(double2);
   7253 double3 __ovld __cnfn erf(double3);
   7254 double4 __ovld __cnfn erf(double4);
   7255 double8 __ovld __cnfn erf(double8);
   7256 double16 __ovld __cnfn erf(double16);
   7257 #endif //cl_khr_fp64
   7258 #ifdef cl_khr_fp16
   7259 half __ovld __cnfn erf(half);
   7260 half2 __ovld __cnfn erf(half2);
   7261 half3 __ovld __cnfn erf(half3);
   7262 half4 __ovld __cnfn erf(half4);
   7263 half8 __ovld __cnfn erf(half8);
   7264 half16 __ovld __cnfn erf(half16);
   7265 #endif //cl_khr_fp16
   7266 
   7267 /**
   7268  * Compute the base e exponential function of x.
   7269  */
   7270 float __ovld __cnfn exp(float x);
   7271 float2 __ovld __cnfn exp(float2 x);
   7272 float3 __ovld __cnfn exp(float3 x);
   7273 float4 __ovld __cnfn exp(float4 x);
   7274 float8 __ovld __cnfn exp(float8 x);
   7275 float16 __ovld __cnfn exp(float16 x);
   7276 #ifdef cl_khr_fp64
   7277 double __ovld __cnfn exp(double x);
   7278 double2 __ovld __cnfn exp(double2 x);
   7279 double3 __ovld __cnfn exp(double3 x);
   7280 double4 __ovld __cnfn exp(double4 x);
   7281 double8 __ovld __cnfn exp(double8 x);
   7282 double16 __ovld __cnfn exp(double16 x);
   7283 #endif //cl_khr_fp64
   7284 #ifdef cl_khr_fp16
   7285 half __ovld __cnfn exp(half x);
   7286 half2 __ovld __cnfn exp(half2 x);
   7287 half3 __ovld __cnfn exp(half3 x);
   7288 half4 __ovld __cnfn exp(half4 x);
   7289 half8 __ovld __cnfn exp(half8 x);
   7290 half16 __ovld __cnfn exp(half16 x);
   7291 #endif //cl_khr_fp16
   7292 
   7293 /**
   7294  * Exponential base 2 function.
   7295  */
   7296 float __ovld __cnfn exp2(float);
   7297 float2 __ovld __cnfn exp2(float2);
   7298 float3 __ovld __cnfn exp2(float3);
   7299 float4 __ovld __cnfn exp2(float4);
   7300 float8 __ovld __cnfn exp2(float8);
   7301 float16 __ovld __cnfn exp2(float16);
   7302 #ifdef cl_khr_fp64
   7303 double __ovld __cnfn exp2(double);
   7304 double2 __ovld __cnfn exp2(double2);
   7305 double3 __ovld __cnfn exp2(double3);
   7306 double4 __ovld __cnfn exp2(double4);
   7307 double8 __ovld __cnfn exp2(double8);
   7308 double16 __ovld __cnfn exp2(double16);
   7309 #endif //cl_khr_fp64
   7310 #ifdef cl_khr_fp16
   7311 half __ovld __cnfn exp2(half);
   7312 half2 __ovld __cnfn exp2(half2);
   7313 half3 __ovld __cnfn exp2(half3);
   7314 half4 __ovld __cnfn exp2(half4);
   7315 half8 __ovld __cnfn exp2(half8);
   7316 half16 __ovld __cnfn exp2(half16);
   7317 #endif //cl_khr_fp16
   7318 
   7319 /**
   7320  * Exponential base 10 function.
   7321  */
   7322 float __ovld __cnfn exp10(float);
   7323 float2 __ovld __cnfn exp10(float2);
   7324 float3 __ovld __cnfn exp10(float3);
   7325 float4 __ovld __cnfn exp10(float4);
   7326 float8 __ovld __cnfn exp10(float8);
   7327 float16 __ovld __cnfn exp10(float16);
   7328 #ifdef cl_khr_fp64
   7329 double __ovld __cnfn exp10(double);
   7330 double2 __ovld __cnfn exp10(double2);
   7331 double3 __ovld __cnfn exp10(double3);
   7332 double4 __ovld __cnfn exp10(double4);
   7333 double8 __ovld __cnfn exp10(double8);
   7334 double16 __ovld __cnfn exp10(double16);
   7335 #endif //cl_khr_fp64
   7336 #ifdef cl_khr_fp16
   7337 half __ovld __cnfn exp10(half);
   7338 half2 __ovld __cnfn exp10(half2);
   7339 half3 __ovld __cnfn exp10(half3);
   7340 half4 __ovld __cnfn exp10(half4);
   7341 half8 __ovld __cnfn exp10(half8);
   7342 half16 __ovld __cnfn exp10(half16);
   7343 #endif //cl_khr_fp16
   7344 
   7345 /**
   7346  * Compute e^x- 1.0.
   7347  */
   7348 float __ovld __cnfn expm1(float x);
   7349 float2 __ovld __cnfn expm1(float2 x);
   7350 float3 __ovld __cnfn expm1(float3 x);
   7351 float4 __ovld __cnfn expm1(float4 x);
   7352 float8 __ovld __cnfn expm1(float8 x);
   7353 float16 __ovld __cnfn expm1(float16 x);
   7354 #ifdef cl_khr_fp64
   7355 double __ovld __cnfn expm1(double x);
   7356 double2 __ovld __cnfn expm1(double2 x);
   7357 double3 __ovld __cnfn expm1(double3 x);
   7358 double4 __ovld __cnfn expm1(double4 x);
   7359 double8 __ovld __cnfn expm1(double8 x);
   7360 double16 __ovld __cnfn expm1(double16 x);
   7361 #endif //cl_khr_fp64
   7362 #ifdef cl_khr_fp16
   7363 half __ovld __cnfn expm1(half x);
   7364 half2 __ovld __cnfn expm1(half2 x);
   7365 half3 __ovld __cnfn expm1(half3 x);
   7366 half4 __ovld __cnfn expm1(half4 x);
   7367 half8 __ovld __cnfn expm1(half8 x);
   7368 half16 __ovld __cnfn expm1(half16 x);
   7369 #endif //cl_khr_fp16
   7370 
   7371 /**
   7372  * Compute absolute value of a floating-point number.
   7373  */
   7374 float __ovld __cnfn fabs(float);
   7375 float2 __ovld __cnfn fabs(float2);
   7376 float3 __ovld __cnfn fabs(float3);
   7377 float4 __ovld __cnfn fabs(float4);
   7378 float8 __ovld __cnfn fabs(float8);
   7379 float16 __ovld __cnfn fabs(float16);
   7380 #ifdef cl_khr_fp64
   7381 double __ovld __cnfn fabs(double);
   7382 double2 __ovld __cnfn fabs(double2);
   7383 double3 __ovld __cnfn fabs(double3);
   7384 double4 __ovld __cnfn fabs(double4);
   7385 double8 __ovld __cnfn fabs(double8);
   7386 double16 __ovld __cnfn fabs(double16);
   7387 #endif //cl_khr_fp64
   7388 #ifdef cl_khr_fp16
   7389 half __ovld __cnfn fabs(half);
   7390 half2 __ovld __cnfn fabs(half2);
   7391 half3 __ovld __cnfn fabs(half3);
   7392 half4 __ovld __cnfn fabs(half4);
   7393 half8 __ovld __cnfn fabs(half8);
   7394 half16 __ovld __cnfn fabs(half16);
   7395 #endif //cl_khr_fp16
   7396 
   7397 /**
   7398  * x - y if x > y, +0 if x is less than or equal to y.
   7399  */
   7400 float __ovld __cnfn fdim(float x, float y);
   7401 float2 __ovld __cnfn fdim(float2 x, float2 y);
   7402 float3 __ovld __cnfn fdim(float3 x, float3 y);
   7403 float4 __ovld __cnfn fdim(float4 x, float4 y);
   7404 float8 __ovld __cnfn fdim(float8 x, float8 y);
   7405 float16 __ovld __cnfn fdim(float16 x, float16 y);
   7406 #ifdef cl_khr_fp64
   7407 double __ovld __cnfn fdim(double x, double y);
   7408 double2 __ovld __cnfn fdim(double2 x, double2 y);
   7409 double3 __ovld __cnfn fdim(double3 x, double3 y);
   7410 double4 __ovld __cnfn fdim(double4 x, double4 y);
   7411 double8 __ovld __cnfn fdim(double8 x, double8 y);
   7412 double16 __ovld __cnfn fdim(double16 x, double16 y);
   7413 #endif //cl_khr_fp64
   7414 #ifdef cl_khr_fp16
   7415 half __ovld __cnfn fdim(half x, half y);
   7416 half2 __ovld __cnfn fdim(half2 x, half2 y);
   7417 half3 __ovld __cnfn fdim(half3 x, half3 y);
   7418 half4 __ovld __cnfn fdim(half4 x, half4 y);
   7419 half8 __ovld __cnfn fdim(half8 x, half8 y);
   7420 half16 __ovld __cnfn fdim(half16 x, half16 y);
   7421 #endif //cl_khr_fp16
   7422 
   7423 /**
   7424  * Round to integral value using the round to -ve
   7425  * infinity rounding mode.
   7426  */
   7427 float __ovld __cnfn floor(float);
   7428 float2 __ovld __cnfn floor(float2);
   7429 float3 __ovld __cnfn floor(float3);
   7430 float4 __ovld __cnfn floor(float4);
   7431 float8 __ovld __cnfn floor(float8);
   7432 float16 __ovld __cnfn floor(float16);
   7433 #ifdef cl_khr_fp64
   7434 double __ovld __cnfn floor(double);
   7435 double2 __ovld __cnfn floor(double2);
   7436 double3 __ovld __cnfn floor(double3);
   7437 double4 __ovld __cnfn floor(double4);
   7438 double8 __ovld __cnfn floor(double8);
   7439 double16 __ovld __cnfn floor(double16);
   7440 #endif //cl_khr_fp64
   7441 #ifdef cl_khr_fp16
   7442 half __ovld __cnfn floor(half);
   7443 half2 __ovld __cnfn floor(half2);
   7444 half3 __ovld __cnfn floor(half3);
   7445 half4 __ovld __cnfn floor(half4);
   7446 half8 __ovld __cnfn floor(half8);
   7447 half16 __ovld __cnfn floor(half16);
   7448 #endif //cl_khr_fp16
   7449 
   7450 /**
   7451  * Returns the correctly rounded floating-point
   7452  * representation of the sum of c with the infinitely
   7453  * precise product of a and b. Rounding of
   7454  * intermediate products shall not occur. Edge case
   7455  * behavior is per the IEEE 754-2008 standard.
   7456  */
   7457 float __ovld __cnfn fma(float a, float b, float c);
   7458 float2 __ovld __cnfn fma(float2 a, float2 b, float2 c);
   7459 float3 __ovld __cnfn fma(float3 a, float3 b, float3 c);
   7460 float4 __ovld __cnfn fma(float4 a, float4 b, float4 c);
   7461 float8 __ovld __cnfn fma(float8 a, float8 b, float8 c);
   7462 float16 __ovld __cnfn fma(float16 a, float16 b, float16 c);
   7463 #ifdef cl_khr_fp64
   7464 double __ovld __cnfn fma(double a, double b, double c);
   7465 double2 __ovld __cnfn fma(double2 a, double2 b, double2 c);
   7466 double3 __ovld __cnfn fma(double3 a, double3 b, double3 c);
   7467 double4 __ovld __cnfn fma(double4 a, double4 b, double4 c);
   7468 double8 __ovld __cnfn fma(double8 a, double8 b, double8 c);
   7469 double16 __ovld __cnfn fma(double16 a, double16 b, double16 c);
   7470 #endif //cl_khr_fp64
   7471 #ifdef cl_khr_fp16
   7472 half __ovld __cnfn fma(half a, half b, half c);
   7473 half2 __ovld __cnfn fma(half2 a, half2 b, half2 c);
   7474 half3 __ovld __cnfn fma(half3 a, half3 b, half3 c);
   7475 half4 __ovld __cnfn fma(half4 a, half4 b, half4 c);
   7476 half8 __ovld __cnfn fma(half8 a, half8 b, half8 c);
   7477 half16 __ovld __cnfn fma(half16 a, half16 b, half16 c);
   7478 #endif //cl_khr_fp16
   7479 
   7480 /**
   7481  * Returns y if x < y, otherwise it returns x. If one
   7482  * argument is a NaN, fmax() returns the other
   7483  * argument. If both arguments are NaNs, fmax()
   7484  * returns a NaN.
   7485  */
   7486 float __ovld __cnfn fmax(float x, float y);
   7487 float2 __ovld __cnfn fmax(float2 x, float2 y);
   7488 float3 __ovld __cnfn fmax(float3 x, float3 y);
   7489 float4 __ovld __cnfn fmax(float4 x, float4 y);
   7490 float8 __ovld __cnfn fmax(float8 x, float8 y);
   7491 float16 __ovld __cnfn fmax(float16 x, float16 y);
   7492 float2 __ovld __cnfn fmax(float2 x, float y);
   7493 float3 __ovld __cnfn fmax(float3 x, float y);
   7494 float4 __ovld __cnfn fmax(float4 x, float y);
   7495 float8 __ovld __cnfn fmax(float8 x, float y);
   7496 float16 __ovld __cnfn fmax(float16 x, float y);
   7497 #ifdef cl_khr_fp64
   7498 double __ovld __cnfn fmax(double x, double y);
   7499 double2 __ovld __cnfn fmax(double2 x, double2 y);
   7500 double3 __ovld __cnfn fmax(double3 x, double3 y);
   7501 double4 __ovld __cnfn fmax(double4 x, double4 y);
   7502 double8 __ovld __cnfn fmax(double8 x, double8 y);
   7503 double16 __ovld __cnfn fmax(double16 x, double16 y);
   7504 double2 __ovld __cnfn fmax(double2 x, double y);
   7505 double3 __ovld __cnfn fmax(double3 x, double y);
   7506 double4 __ovld __cnfn fmax(double4 x, double y);
   7507 double8 __ovld __cnfn fmax(double8 x, double y);
   7508 double16 __ovld __cnfn fmax(double16 x, double y);
   7509 #endif //cl_khr_fp64
   7510 #ifdef cl_khr_fp16
   7511 half __ovld __cnfn fmax(half x, half y);
   7512 half2 __ovld __cnfn fmax(half2 x, half2 y);
   7513 half3 __ovld __cnfn fmax(half3 x, half3 y);
   7514 half4 __ovld __cnfn fmax(half4 x, half4 y);
   7515 half8 __ovld __cnfn fmax(half8 x, half8 y);
   7516 half16 __ovld __cnfn fmax(half16 x, half16 y);
   7517 half2 __ovld __cnfn fmax(half2 x, half y);
   7518 half3 __ovld __cnfn fmax(half3 x, half y);
   7519 half4 __ovld __cnfn fmax(half4 x, half y);
   7520 half8 __ovld __cnfn fmax(half8 x, half y);
   7521 half16 __ovld __cnfn fmax(half16 x, half y);
   7522 #endif //cl_khr_fp16
   7523 
   7524 /**
   7525  * Returns y if y < x, otherwise it returns x. If one
   7526  * argument is a NaN, fmin() returns the other
   7527  * argument. If both arguments are NaNs, fmin()
   7528  * returns a NaN.
   7529  */
   7530 float __ovld __cnfn fmin(float x, float y);
   7531 float2 __ovld __cnfn fmin(float2 x, float2 y);
   7532 float3 __ovld __cnfn fmin(float3 x, float3 y);
   7533 float4 __ovld __cnfn fmin(float4 x, float4 y);
   7534 float8 __ovld __cnfn fmin(float8 x, float8 y);
   7535 float16 __ovld __cnfn fmin(float16 x, float16 y);
   7536 float2 __ovld __cnfn fmin(float2 x, float y);
   7537 float3 __ovld __cnfn fmin(float3 x, float y);
   7538 float4 __ovld __cnfn fmin(float4 x, float y);
   7539 float8 __ovld __cnfn fmin(float8 x, float y);
   7540 float16 __ovld __cnfn fmin(float16 x, float y);
   7541 #ifdef cl_khr_fp64
   7542 double __ovld __cnfn fmin(double x, double y);
   7543 double2 __ovld __cnfn fmin(double2 x, double2 y);
   7544 double3 __ovld __cnfn fmin(double3 x, double3 y);
   7545 double4 __ovld __cnfn fmin(double4 x, double4 y);
   7546 double8 __ovld __cnfn fmin(double8 x, double8 y);
   7547 double16 __ovld __cnfn fmin(double16 x, double16 y);
   7548 double2 __ovld __cnfn fmin(double2 x, double y);
   7549 double3 __ovld __cnfn fmin(double3 x, double y);
   7550 double4 __ovld __cnfn fmin(double4 x, double y);
   7551 double8 __ovld __cnfn fmin(double8 x, double y);
   7552 double16 __ovld __cnfn fmin(double16 x, double y);
   7553 #endif //cl_khr_fp64
   7554 #ifdef cl_khr_fp16
   7555 half __ovld __cnfn fmin(half x, half y);
   7556 half2 __ovld __cnfn fmin(half2 x, half2 y);
   7557 half3 __ovld __cnfn fmin(half3 x, half3 y);
   7558 half4 __ovld __cnfn fmin(half4 x, half4 y);
   7559 half8 __ovld __cnfn fmin(half8 x, half8 y);
   7560 half16 __ovld __cnfn fmin(half16 x, half16 y);
   7561 half2 __ovld __cnfn fmin(half2 x, half y);
   7562 half3 __ovld __cnfn fmin(half3 x, half y);
   7563 half4 __ovld __cnfn fmin(half4 x, half y);
   7564 half8 __ovld __cnfn fmin(half8 x, half y);
   7565 half16 __ovld __cnfn fmin(half16 x, half y);
   7566 #endif //cl_khr_fp16
   7567 
   7568 /**
   7569  * Modulus. Returns x - y * trunc (x/y).
   7570  */
   7571 float __ovld __cnfn fmod(float x, float y);
   7572 float2 __ovld __cnfn fmod(float2 x, float2 y);
   7573 float3 __ovld __cnfn fmod(float3 x, float3 y);
   7574 float4 __ovld __cnfn fmod(float4 x, float4 y);
   7575 float8 __ovld __cnfn fmod(float8 x, float8 y);
   7576 float16 __ovld __cnfn fmod(float16 x, float16 y);
   7577 #ifdef cl_khr_fp64
   7578 double __ovld __cnfn fmod(double x, double y);
   7579 double2 __ovld __cnfn fmod(double2 x, double2 y);
   7580 double3 __ovld __cnfn fmod(double3 x, double3 y);
   7581 double4 __ovld __cnfn fmod(double4 x, double4 y);
   7582 double8 __ovld __cnfn fmod(double8 x, double8 y);
   7583 double16 __ovld __cnfn fmod(double16 x, double16 y);
   7584 #endif //cl_khr_fp64
   7585 #ifdef cl_khr_fp16
   7586 half __ovld __cnfn fmod(half x, half y);
   7587 half2 __ovld __cnfn fmod(half2 x, half2 y);
   7588 half3 __ovld __cnfn fmod(half3 x, half3 y);
   7589 half4 __ovld __cnfn fmod(half4 x, half4 y);
   7590 half8 __ovld __cnfn fmod(half8 x, half8 y);
   7591 half16 __ovld __cnfn fmod(half16 x, half16 y);
   7592 #endif //cl_khr_fp16
   7593 
   7594 /**
   7595  * Returns fmin(x - floor (x), 0x1.fffffep-1f ).
   7596  * floor(x) is returned in iptr.
   7597  */
   7598 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   7599 float __ovld fract(float x, float *iptr);
   7600 float2 __ovld fract(float2 x, float2 *iptr);
   7601 float3 __ovld fract(float3 x, float3 *iptr);
   7602 float4 __ovld fract(float4 x, float4 *iptr);
   7603 float8 __ovld fract(float8 x, float8 *iptr);
   7604 float16 __ovld fract(float16 x, float16 *iptr);
   7605 #ifdef cl_khr_fp64
   7606 double __ovld fract(double x, double *iptr);
   7607 double2 __ovld fract(double2 x, double2 *iptr);
   7608 double3 __ovld fract(double3 x, double3 *iptr);
   7609 double4 __ovld fract(double4 x, double4 *iptr);
   7610 double8 __ovld fract(double8 x, double8 *iptr);
   7611 double16 __ovld fract(double16 x, double16 *iptr);
   7612 #endif //cl_khr_fp64
   7613 #ifdef cl_khr_fp16
   7614 half __ovld fract(half x, half *iptr);
   7615 half2 __ovld fract(half2 x, half2 *iptr);
   7616 half3 __ovld fract(half3 x, half3 *iptr);
   7617 half4 __ovld fract(half4 x, half4 *iptr);
   7618 half8 __ovld fract(half8 x, half8 *iptr);
   7619 half16 __ovld fract(half16 x, half16 *iptr);
   7620 #endif //cl_khr_fp16
   7621 #else
   7622 float __ovld fract(float x, __global float *iptr);
   7623 float2 __ovld fract(float2 x, __global float2 *iptr);
   7624 float3 __ovld fract(float3 x, __global float3 *iptr);
   7625 float4 __ovld fract(float4 x, __global float4 *iptr);
   7626 float8 __ovld fract(float8 x, __global float8 *iptr);
   7627 float16 __ovld fract(float16 x, __global float16 *iptr);
   7628 float __ovld fract(float x, __local float *iptr);
   7629 float2 __ovld fract(float2 x, __local float2 *iptr);
   7630 float3 __ovld fract(float3 x, __local float3 *iptr);
   7631 float4 __ovld fract(float4 x, __local float4 *iptr);
   7632 float8 __ovld fract(float8 x, __local float8 *iptr);
   7633 float16 __ovld fract(float16 x, __local float16 *iptr);
   7634 float __ovld fract(float x, __private float *iptr);
   7635 float2 __ovld fract(float2 x, __private float2 *iptr);
   7636 float3 __ovld fract(float3 x, __private float3 *iptr);
   7637 float4 __ovld fract(float4 x, __private float4 *iptr);
   7638 float8 __ovld fract(float8 x, __private float8 *iptr);
   7639 float16 __ovld fract(float16 x, __private float16 *iptr);
   7640 #ifdef cl_khr_fp64
   7641 double __ovld fract(double x, __global double *iptr);
   7642 double2 __ovld fract(double2 x, __global double2 *iptr);
   7643 double3 __ovld fract(double3 x, __global double3 *iptr);
   7644 double4 __ovld fract(double4 x, __global double4 *iptr);
   7645 double8 __ovld fract(double8 x, __global double8 *iptr);
   7646 double16 __ovld fract(double16 x, __global double16 *iptr);
   7647 double __ovld fract(double x, __local double *iptr);
   7648 double2 __ovld fract(double2 x, __local double2 *iptr);
   7649 double3 __ovld fract(double3 x, __local double3 *iptr);
   7650 double4 __ovld fract(double4 x, __local double4 *iptr);
   7651 double8 __ovld fract(double8 x, __local double8 *iptr);
   7652 double16 __ovld fract(double16 x, __local double16 *iptr);
   7653 double __ovld fract(double x, __private double *iptr);
   7654 double2 __ovld fract(double2 x, __private double2 *iptr);
   7655 double3 __ovld fract(double3 x, __private double3 *iptr);
   7656 double4 __ovld fract(double4 x, __private double4 *iptr);
   7657 double8 __ovld fract(double8 x, __private double8 *iptr);
   7658 double16 __ovld fract(double16 x, __private double16 *iptr);
   7659 #endif //cl_khr_fp64
   7660 #ifdef cl_khr_fp16
   7661 half __ovld fract(half x, __global half *iptr);
   7662 half2 __ovld fract(half2 x, __global half2 *iptr);
   7663 half3 __ovld fract(half3 x, __global half3 *iptr);
   7664 half4 __ovld fract(half4 x, __global half4 *iptr);
   7665 half8 __ovld fract(half8 x, __global half8 *iptr);
   7666 half16 __ovld fract(half16 x, __global half16 *iptr);
   7667 half __ovld fract(half x, __local half *iptr);
   7668 half2 __ovld fract(half2 x, __local half2 *iptr);
   7669 half3 __ovld fract(half3 x, __local half3 *iptr);
   7670 half4 __ovld fract(half4 x, __local half4 *iptr);
   7671 half8 __ovld fract(half8 x, __local half8 *iptr);
   7672 half16 __ovld fract(half16 x, __local half16 *iptr);
   7673 half __ovld fract(half x, __private half *iptr);
   7674 half2 __ovld fract(half2 x, __private half2 *iptr);
   7675 half3 __ovld fract(half3 x, __private half3 *iptr);
   7676 half4 __ovld fract(half4 x, __private half4 *iptr);
   7677 half8 __ovld fract(half8 x, __private half8 *iptr);
   7678 half16 __ovld fract(half16 x, __private half16 *iptr);
   7679 #endif //cl_khr_fp16
   7680 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   7681 
   7682 /**
   7683  * Extract mantissa and exponent from x. For each
   7684  * component the mantissa returned is a float with
   7685  * magnitude in the interval [1/2, 1) or 0. Each
   7686  * component of x equals mantissa returned * 2^exp.
   7687  */
   7688 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   7689 float __ovld frexp(float x, int *exp);
   7690 float2 __ovld frexp(float2 x, int2 *exp);
   7691 float3 __ovld frexp(float3 x, int3 *exp);
   7692 float4 __ovld frexp(float4 x, int4 *exp);
   7693 float8 __ovld frexp(float8 x, int8 *exp);
   7694 float16 __ovld frexp(float16 x, int16 *exp);
   7695 #ifdef cl_khr_fp64
   7696 double __ovld frexp(double x, int *exp);
   7697 double2 __ovld frexp(double2 x, int2 *exp);
   7698 double3 __ovld frexp(double3 x, int3 *exp);
   7699 double4 __ovld frexp(double4 x, int4 *exp);
   7700 double8 __ovld frexp(double8 x, int8 *exp);
   7701 double16 __ovld frexp(double16 x, int16 *exp);
   7702 #endif //cl_khr_fp64
   7703 #ifdef cl_khr_fp16
   7704 half __ovld frexp(half x, int *exp);
   7705 half2 __ovld frexp(half2 x, int2 *exp);
   7706 half3 __ovld frexp(half3 x, int3 *exp);
   7707 half4 __ovld frexp(half4 x, int4 *exp);
   7708 half8 __ovld frexp(half8 x, int8 *exp);
   7709 half16 __ovld frexp(half16 x, int16 *exp);
   7710 #endif //cl_khr_fp16
   7711 #else
   7712 float __ovld frexp(float x, __global int *exp);
   7713 float2 __ovld frexp(float2 x, __global int2 *exp);
   7714 float3 __ovld frexp(float3 x, __global int3 *exp);
   7715 float4 __ovld frexp(float4 x, __global int4 *exp);
   7716 float8 __ovld frexp(float8 x, __global int8 *exp);
   7717 float16 __ovld frexp(float16 x, __global int16 *exp);
   7718 float __ovld frexp(float x, __local int *exp);
   7719 float2 __ovld frexp(float2 x, __local int2 *exp);
   7720 float3 __ovld frexp(float3 x, __local int3 *exp);
   7721 float4 __ovld frexp(float4 x, __local int4 *exp);
   7722 float8 __ovld frexp(float8 x, __local int8 *exp);
   7723 float16 __ovld frexp(float16 x, __local int16 *exp);
   7724 float __ovld frexp(float x, __private int *exp);
   7725 float2 __ovld frexp(float2 x, __private int2 *exp);
   7726 float3 __ovld frexp(float3 x, __private int3 *exp);
   7727 float4 __ovld frexp(float4 x, __private int4 *exp);
   7728 float8 __ovld frexp(float8 x, __private int8 *exp);
   7729 float16 __ovld frexp(float16 x, __private int16 *exp);
   7730 #ifdef cl_khr_fp64
   7731 double __ovld frexp(double x, __global int *exp);
   7732 double2 __ovld frexp(double2 x, __global int2 *exp);
   7733 double3 __ovld frexp(double3 x, __global int3 *exp);
   7734 double4 __ovld frexp(double4 x, __global int4 *exp);
   7735 double8 __ovld frexp(double8 x, __global int8 *exp);
   7736 double16 __ovld frexp(double16 x, __global int16 *exp);
   7737 double __ovld frexp(double x, __local int *exp);
   7738 double2 __ovld frexp(double2 x, __local int2 *exp);
   7739 double3 __ovld frexp(double3 x, __local int3 *exp);
   7740 double4 __ovld frexp(double4 x, __local int4 *exp);
   7741 double8 __ovld frexp(double8 x, __local int8 *exp);
   7742 double16 __ovld frexp(double16 x, __local int16 *exp);
   7743 double __ovld frexp(double x, __private int *exp);
   7744 double2 __ovld frexp(double2 x, __private int2 *exp);
   7745 double3 __ovld frexp(double3 x, __private int3 *exp);
   7746 double4 __ovld frexp(double4 x, __private int4 *exp);
   7747 double8 __ovld frexp(double8 x, __private int8 *exp);
   7748 double16 __ovld frexp(double16 x, __private int16 *exp);
   7749 #endif //cl_khr_fp64
   7750 #ifdef cl_khr_fp16
   7751 half __ovld frexp(half x, __global int *exp);
   7752 half2 __ovld frexp(half2 x, __global int2 *exp);
   7753 half3 __ovld frexp(half3 x, __global int3 *exp);
   7754 half4 __ovld frexp(half4 x, __global int4 *exp);
   7755 half8 __ovld frexp(half8 x, __global int8 *exp);
   7756 half16 __ovld frexp(half16 x, __global int16 *exp);
   7757 half __ovld frexp(half x, __local int *exp);
   7758 half2 __ovld frexp(half2 x, __local int2 *exp);
   7759 half3 __ovld frexp(half3 x, __local int3 *exp);
   7760 half4 __ovld frexp(half4 x, __local int4 *exp);
   7761 half8 __ovld frexp(half8 x, __local int8 *exp);
   7762 half16 __ovld frexp(half16 x, __local int16 *exp);
   7763 half __ovld frexp(half x, __private int *exp);
   7764 half2 __ovld frexp(half2 x, __private int2 *exp);
   7765 half3 __ovld frexp(half3 x, __private int3 *exp);
   7766 half4 __ovld frexp(half4 x, __private int4 *exp);
   7767 half8 __ovld frexp(half8 x, __private int8 *exp);
   7768 half16 __ovld frexp(half16 x, __private int16 *exp);
   7769 #endif //cl_khr_fp16
   7770 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   7771 
   7772 /**
   7773  * Compute the value of the square root of x^2 + y^2
   7774  * without undue overflow or underflow.
   7775  */
   7776 float __ovld __cnfn hypot(float x, float y);
   7777 float2 __ovld __cnfn hypot(float2 x, float2 y);
   7778 float3 __ovld __cnfn hypot(float3 x, float3 y);
   7779 float4 __ovld __cnfn hypot(float4 x, float4 y);
   7780 float8 __ovld __cnfn hypot(float8 x, float8 y);
   7781 float16 __ovld __cnfn hypot(float16 x, float16 y);
   7782 #ifdef cl_khr_fp64
   7783 double __ovld __cnfn hypot(double x, double y);
   7784 double2 __ovld __cnfn hypot(double2 x, double2 y);
   7785 double3 __ovld __cnfn hypot(double3 x, double3 y);
   7786 double4 __ovld __cnfn hypot(double4 x, double4 y);
   7787 double8 __ovld __cnfn hypot(double8 x, double8 y);
   7788 double16 __ovld __cnfn hypot(double16 x, double16 y);
   7789 #endif //cl_khr_fp64
   7790 #ifdef cl_khr_fp16
   7791 half __ovld __cnfn hypot(half x, half y);
   7792 half2 __ovld __cnfn hypot(half2 x, half2 y);
   7793 half3 __ovld __cnfn hypot(half3 x, half3 y);
   7794 half4 __ovld __cnfn hypot(half4 x, half4 y);
   7795 half8 __ovld __cnfn hypot(half8 x, half8 y);
   7796 half16 __ovld __cnfn hypot(half16 x, half16 y);
   7797 #endif //cl_khr_fp16
   7798 
   7799 /**
   7800  * Return the exponent as an integer value.
   7801  */
   7802 int __ovld __cnfn ilogb(float x);
   7803 int2 __ovld __cnfn ilogb(float2 x);
   7804 int3 __ovld __cnfn ilogb(float3 x);
   7805 int4 __ovld __cnfn ilogb(float4 x);
   7806 int8 __ovld __cnfn ilogb(float8 x);
   7807 int16 __ovld __cnfn ilogb(float16 x);
   7808 #ifdef cl_khr_fp64
   7809 int __ovld __cnfn ilogb(double x);
   7810 int2 __ovld __cnfn ilogb(double2 x);
   7811 int3 __ovld __cnfn ilogb(double3 x);
   7812 int4 __ovld __cnfn ilogb(double4 x);
   7813 int8 __ovld __cnfn ilogb(double8 x);
   7814 int16 __ovld __cnfn ilogb(double16 x);
   7815 #endif //cl_khr_fp64
   7816 #ifdef cl_khr_fp16
   7817 int __ovld __cnfn ilogb(half x);
   7818 int2 __ovld __cnfn ilogb(half2 x);
   7819 int3 __ovld __cnfn ilogb(half3 x);
   7820 int4 __ovld __cnfn ilogb(half4 x);
   7821 int8 __ovld __cnfn ilogb(half8 x);
   7822 int16 __ovld __cnfn ilogb(half16 x);
   7823 #endif //cl_khr_fp16
   7824 
   7825 /**
   7826  * Multiply x by 2 to the power n.
   7827  */
   7828 float __ovld __cnfn ldexp(float x, int n);
   7829 float2 __ovld __cnfn ldexp(float2 x, int2 n);
   7830 float3 __ovld __cnfn ldexp(float3 x, int3 n);
   7831 float4 __ovld __cnfn ldexp(float4 x, int4 n);
   7832 float8 __ovld __cnfn ldexp(float8 x, int8 n);
   7833 float16 __ovld __cnfn ldexp(float16 x, int16 n);
   7834 float2 __ovld __cnfn ldexp(float2 x, int n);
   7835 float3 __ovld __cnfn ldexp(float3 x, int n);
   7836 float4 __ovld __cnfn ldexp(float4 x, int n);
   7837 float8 __ovld __cnfn ldexp(float8 x, int n);
   7838 float16 __ovld __cnfn ldexp(float16 x, int n);
   7839 #ifdef cl_khr_fp64
   7840 double __ovld __cnfn ldexp(double x, int n);
   7841 double2 __ovld __cnfn ldexp(double2 x, int2 n);
   7842 double3 __ovld __cnfn ldexp(double3 x, int3 n);
   7843 double4 __ovld __cnfn ldexp(double4 x, int4 n);
   7844 double8 __ovld __cnfn ldexp(double8 x, int8 n);
   7845 double16 __ovld __cnfn ldexp(double16 x, int16 n);
   7846 double2 __ovld __cnfn ldexp(double2 x, int n);
   7847 double3 __ovld __cnfn ldexp(double3 x, int n);
   7848 double4 __ovld __cnfn ldexp(double4 x, int n);
   7849 double8 __ovld __cnfn ldexp(double8 x, int n);
   7850 double16 __ovld __cnfn ldexp(double16 x, int n);
   7851 #endif //cl_khr_fp64
   7852 #ifdef cl_khr_fp16
   7853 half __ovld __cnfn ldexp(half x, int n);
   7854 half2 __ovld __cnfn ldexp(half2 x, int2 n);
   7855 half3 __ovld __cnfn ldexp(half3 x, int3 n);
   7856 half4 __ovld __cnfn ldexp(half4 x, int4 n);
   7857 half8 __ovld __cnfn ldexp(half8 x, int8 n);
   7858 half16 __ovld __cnfn ldexp(half16 x, int16 n);
   7859 half2 __ovld __cnfn ldexp(half2 x, int n);
   7860 half3 __ovld __cnfn ldexp(half3 x, int n);
   7861 half4 __ovld __cnfn ldexp(half4 x, int n);
   7862 half8 __ovld __cnfn ldexp(half8 x, int n);
   7863 half16 __ovld __cnfn ldexp(half16 x, int n);
   7864 #endif //cl_khr_fp16
   7865 
   7866 /**
   7867  * Log gamma function. Returns the natural
   7868  * logarithm of the absolute value of the gamma
   7869  * function. The sign of the gamma function is
   7870  * returned in the signp argument of lgamma_r.
   7871  */
   7872 float __ovld __cnfn lgamma(float x);
   7873 float2 __ovld __cnfn lgamma(float2 x);
   7874 float3 __ovld __cnfn lgamma(float3 x);
   7875 float4 __ovld __cnfn lgamma(float4 x);
   7876 float8 __ovld __cnfn lgamma(float8 x);
   7877 float16 __ovld __cnfn lgamma(float16 x);
   7878 #ifdef cl_khr_fp64
   7879 double __ovld __cnfn lgamma(double x);
   7880 double2 __ovld __cnfn lgamma(double2 x);
   7881 double3 __ovld __cnfn lgamma(double3 x);
   7882 double4 __ovld __cnfn lgamma(double4 x);
   7883 double8 __ovld __cnfn lgamma(double8 x);
   7884 double16 __ovld __cnfn lgamma(double16 x);
   7885 #endif //cl_khr_fp64
   7886 #ifdef cl_khr_fp16
   7887 half __ovld __cnfn lgamma(half x);
   7888 half2 __ovld __cnfn lgamma(half2 x);
   7889 half3 __ovld __cnfn lgamma(half3 x);
   7890 half4 __ovld __cnfn lgamma(half4 x);
   7891 half8 __ovld __cnfn lgamma(half8 x);
   7892 half16 __ovld __cnfn lgamma(half16 x);
   7893 #endif //cl_khr_fp16
   7894 
   7895 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   7896 float __ovld lgamma_r(float x, int *signp);
   7897 float2 __ovld lgamma_r(float2 x, int2 *signp);
   7898 float3 __ovld lgamma_r(float3 x, int3 *signp);
   7899 float4 __ovld lgamma_r(float4 x, int4 *signp);
   7900 float8 __ovld lgamma_r(float8 x, int8 *signp);
   7901 float16 __ovld lgamma_r(float16 x, int16 *signp);
   7902 #ifdef cl_khr_fp64
   7903 double __ovld lgamma_r(double x, int *signp);
   7904 double2 __ovld lgamma_r(double2 x, int2 *signp);
   7905 double3 __ovld lgamma_r(double3 x, int3 *signp);
   7906 double4 __ovld lgamma_r(double4 x, int4 *signp);
   7907 double8 __ovld lgamma_r(double8 x, int8 *signp);
   7908 double16 __ovld lgamma_r(double16 x, int16 *signp);
   7909 #endif //cl_khr_fp64
   7910 #ifdef cl_khr_fp16
   7911 half __ovld lgamma_r(half x, int *signp);
   7912 half2 __ovld lgamma_r(half2 x, int2 *signp);
   7913 half3 __ovld lgamma_r(half3 x, int3 *signp);
   7914 half4 __ovld lgamma_r(half4 x, int4 *signp);
   7915 half8 __ovld lgamma_r(half8 x, int8 *signp);
   7916 half16 __ovld lgamma_r(half16 x, int16 *signp);
   7917 #endif //cl_khr_fp16
   7918 #else
   7919 float __ovld lgamma_r(float x, __global int *signp);
   7920 float2 __ovld lgamma_r(float2 x, __global int2 *signp);
   7921 float3 __ovld lgamma_r(float3 x, __global int3 *signp);
   7922 float4 __ovld lgamma_r(float4 x, __global int4 *signp);
   7923 float8 __ovld lgamma_r(float8 x, __global int8 *signp);
   7924 float16 __ovld lgamma_r(float16 x, __global int16 *signp);
   7925 float __ovld lgamma_r(float x, __local int *signp);
   7926 float2 __ovld lgamma_r(float2 x, __local int2 *signp);
   7927 float3 __ovld lgamma_r(float3 x, __local int3 *signp);
   7928 float4 __ovld lgamma_r(float4 x, __local int4 *signp);
   7929 float8 __ovld lgamma_r(float8 x, __local int8 *signp);
   7930 float16 __ovld lgamma_r(float16 x, __local int16 *signp);
   7931 float __ovld lgamma_r(float x, __private int *signp);
   7932 float2 __ovld lgamma_r(float2 x, __private int2 *signp);
   7933 float3 __ovld lgamma_r(float3 x, __private int3 *signp);
   7934 float4 __ovld lgamma_r(float4 x, __private int4 *signp);
   7935 float8 __ovld lgamma_r(float8 x, __private int8 *signp);
   7936 float16 __ovld lgamma_r(float16 x, __private int16 *signp);
   7937 #ifdef cl_khr_fp64
   7938 double __ovld lgamma_r(double x, __global int *signp);
   7939 double2 __ovld lgamma_r(double2 x, __global int2 *signp);
   7940 double3 __ovld lgamma_r(double3 x, __global int3 *signp);
   7941 double4 __ovld lgamma_r(double4 x, __global int4 *signp);
   7942 double8 __ovld lgamma_r(double8 x, __global int8 *signp);
   7943 double16 __ovld lgamma_r(double16 x, __global int16 *signp);
   7944 double __ovld lgamma_r(double x, __local int *signp);
   7945 double2 __ovld lgamma_r(double2 x, __local int2 *signp);
   7946 double3 __ovld lgamma_r(double3 x, __local int3 *signp);
   7947 double4 __ovld lgamma_r(double4 x, __local int4 *signp);
   7948 double8 __ovld lgamma_r(double8 x, __local int8 *signp);
   7949 double16 __ovld lgamma_r(double16 x, __local int16 *signp);
   7950 double __ovld lgamma_r(double x, __private int *signp);
   7951 double2 __ovld lgamma_r(double2 x, __private int2 *signp);
   7952 double3 __ovld lgamma_r(double3 x, __private int3 *signp);
   7953 double4 __ovld lgamma_r(double4 x, __private int4 *signp);
   7954 double8 __ovld lgamma_r(double8 x, __private int8 *signp);
   7955 double16 __ovld lgamma_r(double16 x, __private int16 *signp);
   7956 #endif //cl_khr_fp64
   7957 #ifdef cl_khr_fp16
   7958 half __ovld lgamma_r(half x, __global int *signp);
   7959 half2 __ovld lgamma_r(half2 x, __global int2 *signp);
   7960 half3 __ovld lgamma_r(half3 x, __global int3 *signp);
   7961 half4 __ovld lgamma_r(half4 x, __global int4 *signp);
   7962 half8 __ovld lgamma_r(half8 x, __global int8 *signp);
   7963 half16 __ovld lgamma_r(half16 x, __global int16 *signp);
   7964 half __ovld lgamma_r(half x, __local int *signp);
   7965 half2 __ovld lgamma_r(half2 x, __local int2 *signp);
   7966 half3 __ovld lgamma_r(half3 x, __local int3 *signp);
   7967 half4 __ovld lgamma_r(half4 x, __local int4 *signp);
   7968 half8 __ovld lgamma_r(half8 x, __local int8 *signp);
   7969 half16 __ovld lgamma_r(half16 x, __local int16 *signp);
   7970 half __ovld lgamma_r(half x, __private int *signp);
   7971 half2 __ovld lgamma_r(half2 x, __private int2 *signp);
   7972 half3 __ovld lgamma_r(half3 x, __private int3 *signp);
   7973 half4 __ovld lgamma_r(half4 x, __private int4 *signp);
   7974 half8 __ovld lgamma_r(half8 x, __private int8 *signp);
   7975 half16 __ovld lgamma_r(half16 x, __private int16 *signp);
   7976 #endif //cl_khr_fp16
   7977 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   7978 
   7979 /**
   7980  * Compute natural logarithm.
   7981  */
   7982 float __ovld __cnfn log(float);
   7983 float2 __ovld __cnfn log(float2);
   7984 float3 __ovld __cnfn log(float3);
   7985 float4 __ovld __cnfn log(float4);
   7986 float8 __ovld __cnfn log(float8);
   7987 float16 __ovld __cnfn log(float16);
   7988 #ifdef cl_khr_fp64
   7989 double __ovld __cnfn log(double);
   7990 double2 __ovld __cnfn log(double2);
   7991 double3 __ovld __cnfn log(double3);
   7992 double4 __ovld __cnfn log(double4);
   7993 double8 __ovld __cnfn log(double8);
   7994 double16 __ovld __cnfn log(double16);
   7995 #endif //cl_khr_fp64
   7996 #ifdef cl_khr_fp16
   7997 half __ovld __cnfn log(half);
   7998 half2 __ovld __cnfn log(half2);
   7999 half3 __ovld __cnfn log(half3);
   8000 half4 __ovld __cnfn log(half4);
   8001 half8 __ovld __cnfn log(half8);
   8002 half16 __ovld __cnfn log(half16);
   8003 #endif //cl_khr_fp16
   8004 
   8005 /**
   8006  * Compute a base 2 logarithm.
   8007  */
   8008 float __ovld __cnfn log2(float);
   8009 float2 __ovld __cnfn log2(float2);
   8010 float3 __ovld __cnfn log2(float3);
   8011 float4 __ovld __cnfn log2(float4);
   8012 float8 __ovld __cnfn log2(float8);
   8013 float16 __ovld __cnfn log2(float16);
   8014 #ifdef cl_khr_fp64
   8015 double __ovld __cnfn log2(double);
   8016 double2 __ovld __cnfn log2(double2);
   8017 double3 __ovld __cnfn log2(double3);
   8018 double4 __ovld __cnfn log2(double4);
   8019 double8 __ovld __cnfn log2(double8);
   8020 double16 __ovld __cnfn log2(double16);
   8021 #endif //cl_khr_fp64
   8022 #ifdef cl_khr_fp16
   8023 half __ovld __cnfn log2(half);
   8024 half2 __ovld __cnfn log2(half2);
   8025 half3 __ovld __cnfn log2(half3);
   8026 half4 __ovld __cnfn log2(half4);
   8027 half8 __ovld __cnfn log2(half8);
   8028 half16 __ovld __cnfn log2(half16);
   8029 #endif //cl_khr_fp16
   8030 
   8031 /**
   8032  * Compute a base 10 logarithm.
   8033  */
   8034 float __ovld __cnfn log10(float);
   8035 float2 __ovld __cnfn log10(float2);
   8036 float3 __ovld __cnfn log10(float3);
   8037 float4 __ovld __cnfn log10(float4);
   8038 float8 __ovld __cnfn log10(float8);
   8039 float16 __ovld __cnfn log10(float16);
   8040 #ifdef cl_khr_fp64
   8041 double __ovld __cnfn log10(double);
   8042 double2 __ovld __cnfn log10(double2);
   8043 double3 __ovld __cnfn log10(double3);
   8044 double4 __ovld __cnfn log10(double4);
   8045 double8 __ovld __cnfn log10(double8);
   8046 double16 __ovld __cnfn log10(double16);
   8047 #endif //cl_khr_fp64
   8048 #ifdef cl_khr_fp16
   8049 half __ovld __cnfn log10(half);
   8050 half2 __ovld __cnfn log10(half2);
   8051 half3 __ovld __cnfn log10(half3);
   8052 half4 __ovld __cnfn log10(half4);
   8053 half8 __ovld __cnfn log10(half8);
   8054 half16 __ovld __cnfn log10(half16);
   8055 #endif //cl_khr_fp16
   8056 
   8057 /**
   8058  * Compute a base e logarithm of (1.0 + x).
   8059  */
   8060 float __ovld __cnfn log1p(float x);
   8061 float2 __ovld __cnfn log1p(float2 x);
   8062 float3 __ovld __cnfn log1p(float3 x);
   8063 float4 __ovld __cnfn log1p(float4 x);
   8064 float8 __ovld __cnfn log1p(float8 x);
   8065 float16 __ovld __cnfn log1p(float16 x);
   8066 #ifdef cl_khr_fp64
   8067 double __ovld __cnfn log1p(double x);
   8068 double2 __ovld __cnfn log1p(double2 x);
   8069 double3 __ovld __cnfn log1p(double3 x);
   8070 double4 __ovld __cnfn log1p(double4 x);
   8071 double8 __ovld __cnfn log1p(double8 x);
   8072 double16 __ovld __cnfn log1p(double16 x);
   8073 #endif //cl_khr_fp64
   8074 #ifdef cl_khr_fp16
   8075 half __ovld __cnfn log1p(half x);
   8076 half2 __ovld __cnfn log1p(half2 x);
   8077 half3 __ovld __cnfn log1p(half3 x);
   8078 half4 __ovld __cnfn log1p(half4 x);
   8079 half8 __ovld __cnfn log1p(half8 x);
   8080 half16 __ovld __cnfn log1p(half16 x);
   8081 #endif //cl_khr_fp16
   8082 
   8083 /**
   8084  * Compute the exponent of x, which is the integral
   8085  * part of logr | x |.
   8086  */
   8087 float __ovld __cnfn logb(float x);
   8088 float2 __ovld __cnfn logb(float2 x);
   8089 float3 __ovld __cnfn logb(float3 x);
   8090 float4 __ovld __cnfn logb(float4 x);
   8091 float8 __ovld __cnfn logb(float8 x);
   8092 float16 __ovld __cnfn logb(float16 x);
   8093 #ifdef cl_khr_fp64
   8094 double __ovld __cnfn logb(double x);
   8095 double2 __ovld __cnfn logb(double2 x);
   8096 double3 __ovld __cnfn logb(double3 x);
   8097 double4 __ovld __cnfn logb(double4 x);
   8098 double8 __ovld __cnfn logb(double8 x);
   8099 double16 __ovld __cnfn logb(double16 x);
   8100 #endif //cl_khr_fp64
   8101 #ifdef cl_khr_fp16
   8102 half __ovld __cnfn logb(half x);
   8103 half2 __ovld __cnfn logb(half2 x);
   8104 half3 __ovld __cnfn logb(half3 x);
   8105 half4 __ovld __cnfn logb(half4 x);
   8106 half8 __ovld __cnfn logb(half8 x);
   8107 half16 __ovld __cnfn logb(half16 x);
   8108 #endif //cl_khr_fp16
   8109 
   8110 /**
   8111  * mad approximates a * b + c. Whether or how the
   8112  * product of a * b is rounded and how supernormal or
   8113  * subnormal intermediate products are handled is not
   8114  * defined. mad is intended to be used where speed is
   8115  * preferred over accuracy.
   8116  */
   8117 float __ovld __cnfn mad(float a, float b, float c);
   8118 float2 __ovld __cnfn mad(float2 a, float2 b, float2 c);
   8119 float3 __ovld __cnfn mad(float3 a, float3 b, float3 c);
   8120 float4 __ovld __cnfn mad(float4 a, float4 b, float4 c);
   8121 float8 __ovld __cnfn mad(float8 a, float8 b, float8 c);
   8122 float16 __ovld __cnfn mad(float16 a, float16 b, float16 c);
   8123 #ifdef cl_khr_fp64
   8124 double __ovld __cnfn mad(double a, double b, double c);
   8125 double2 __ovld __cnfn mad(double2 a, double2 b, double2 c);
   8126 double3 __ovld __cnfn mad(double3 a, double3 b, double3 c);
   8127 double4 __ovld __cnfn mad(double4 a, double4 b, double4 c);
   8128 double8 __ovld __cnfn mad(double8 a, double8 b, double8 c);
   8129 double16 __ovld __cnfn mad(double16 a, double16 b, double16 c);
   8130 #endif //cl_khr_fp64
   8131 #ifdef cl_khr_fp16
   8132 half __ovld __cnfn mad(half a, half b, half c);
   8133 half2 __ovld __cnfn mad(half2 a, half2 b, half2 c);
   8134 half3 __ovld __cnfn mad(half3 a, half3 b, half3 c);
   8135 half4 __ovld __cnfn mad(half4 a, half4 b, half4 c);
   8136 half8 __ovld __cnfn mad(half8 a, half8 b, half8 c);
   8137 half16 __ovld __cnfn mad(half16 a, half16 b, half16 c);
   8138 #endif //cl_khr_fp16
   8139 
   8140 /**
   8141  * Returns x if | x | > | y |, y if | y | > | x |, otherwise
   8142  * fmax(x, y).
   8143  */
   8144 float __ovld __cnfn maxmag(float x, float y);
   8145 float2 __ovld __cnfn maxmag(float2 x, float2 y);
   8146 float3 __ovld __cnfn maxmag(float3 x, float3 y);
   8147 float4 __ovld __cnfn maxmag(float4 x, float4 y);
   8148 float8 __ovld __cnfn maxmag(float8 x, float8 y);
   8149 float16 __ovld __cnfn maxmag(float16 x, float16 y);
   8150 #ifdef cl_khr_fp64
   8151 double __ovld __cnfn maxmag(double x, double y);
   8152 double2 __ovld __cnfn maxmag(double2 x, double2 y);
   8153 double3 __ovld __cnfn maxmag(double3 x, double3 y);
   8154 double4 __ovld __cnfn maxmag(double4 x, double4 y);
   8155 double8 __ovld __cnfn maxmag(double8 x, double8 y);
   8156 double16 __ovld __cnfn maxmag(double16 x, double16 y);
   8157 #endif //cl_khr_fp64
   8158 #ifdef cl_khr_fp16
   8159 half __ovld __cnfn maxmag(half x, half y);
   8160 half2 __ovld __cnfn maxmag(half2 x, half2 y);
   8161 half3 __ovld __cnfn maxmag(half3 x, half3 y);
   8162 half4 __ovld __cnfn maxmag(half4 x, half4 y);
   8163 half8 __ovld __cnfn maxmag(half8 x, half8 y);
   8164 half16 __ovld __cnfn maxmag(half16 x, half16 y);
   8165 #endif //cl_khr_fp16
   8166 
   8167 /**
   8168  * Returns x if | x | < | y |, y if | y | < | x |, otherwise
   8169  * fmin(x, y).
   8170  */
   8171 float __ovld __cnfn minmag(float x, float y);
   8172 float2 __ovld __cnfn minmag(float2 x, float2 y);
   8173 float3 __ovld __cnfn minmag(float3 x, float3 y);
   8174 float4 __ovld __cnfn minmag(float4 x, float4 y);
   8175 float8 __ovld __cnfn minmag(float8 x, float8 y);
   8176 float16 __ovld __cnfn minmag(float16 x, float16 y);
   8177 #ifdef cl_khr_fp64
   8178 double __ovld __cnfn minmag(double x, double y);
   8179 double2 __ovld __cnfn minmag(double2 x, double2 y);
   8180 double3 __ovld __cnfn minmag(double3 x, double3 y);
   8181 double4 __ovld __cnfn minmag(double4 x, double4 y);
   8182 double8 __ovld __cnfn minmag(double8 x, double8 y);
   8183 double16 __ovld __cnfn minmag(double16 x, double16 y);
   8184 #endif //cl_khr_fp64
   8185 #ifdef cl_khr_fp16
   8186 half __ovld __cnfn minmag(half x, half y);
   8187 half2 __ovld __cnfn minmag(half2 x, half2 y);
   8188 half3 __ovld __cnfn minmag(half3 x, half3 y);
   8189 half4 __ovld __cnfn minmag(half4 x, half4 y);
   8190 half8 __ovld __cnfn minmag(half8 x, half8 y);
   8191 half16 __ovld __cnfn minmag(half16 x, half16 y);
   8192 #endif //cl_khr_fp16
   8193 
   8194 /**
   8195  * Decompose a floating-point number. The modf
   8196  * function breaks the argument x into integral and
   8197  * fractional parts, each of which has the same sign as
   8198  * the argument. It stores the integral part in the object
   8199  * pointed to by iptr.
   8200  */
   8201 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8202 float __ovld modf(float x, float *iptr);
   8203 float2 __ovld modf(float2 x, float2 *iptr);
   8204 float3 __ovld modf(float3 x, float3 *iptr);
   8205 float4 __ovld modf(float4 x, float4 *iptr);
   8206 float8 __ovld modf(float8 x, float8 *iptr);
   8207 float16 __ovld modf(float16 x, float16 *iptr);
   8208 #ifdef cl_khr_fp64
   8209 double __ovld modf(double x, double *iptr);
   8210 double2 __ovld modf(double2 x, double2 *iptr);
   8211 double3 __ovld modf(double3 x, double3 *iptr);
   8212 double4 __ovld modf(double4 x, double4 *iptr);
   8213 double8 __ovld modf(double8 x, double8 *iptr);
   8214 double16 __ovld modf(double16 x, double16 *iptr);
   8215 #endif //cl_khr_fp64
   8216 #ifdef cl_khr_fp16
   8217 half __ovld modf(half x, half *iptr);
   8218 half2 __ovld modf(half2 x, half2 *iptr);
   8219 half3 __ovld modf(half3 x, half3 *iptr);
   8220 half4 __ovld modf(half4 x, half4 *iptr);
   8221 half8 __ovld modf(half8 x, half8 *iptr);
   8222 half16 __ovld modf(half16 x, half16 *iptr);
   8223 #endif //cl_khr_fp16
   8224 #else
   8225 float __ovld modf(float x, __global float *iptr);
   8226 float2 __ovld modf(float2 x, __global float2 *iptr);
   8227 float3 __ovld modf(float3 x, __global float3 *iptr);
   8228 float4 __ovld modf(float4 x, __global float4 *iptr);
   8229 float8 __ovld modf(float8 x, __global float8 *iptr);
   8230 float16 __ovld modf(float16 x, __global float16 *iptr);
   8231 float __ovld modf(float x, __local float *iptr);
   8232 float2 __ovld modf(float2 x, __local float2 *iptr);
   8233 float3 __ovld modf(float3 x, __local float3 *iptr);
   8234 float4 __ovld modf(float4 x, __local float4 *iptr);
   8235 float8 __ovld modf(float8 x, __local float8 *iptr);
   8236 float16 __ovld modf(float16 x, __local float16 *iptr);
   8237 float __ovld modf(float x, __private float *iptr);
   8238 float2 __ovld modf(float2 x, __private float2 *iptr);
   8239 float3 __ovld modf(float3 x, __private float3 *iptr);
   8240 float4 __ovld modf(float4 x, __private float4 *iptr);
   8241 float8 __ovld modf(float8 x, __private float8 *iptr);
   8242 float16 __ovld modf(float16 x, __private float16 *iptr);
   8243 #ifdef cl_khr_fp64
   8244 double __ovld modf(double x, __global double *iptr);
   8245 double2 __ovld modf(double2 x, __global double2 *iptr);
   8246 double3 __ovld modf(double3 x, __global double3 *iptr);
   8247 double4 __ovld modf(double4 x, __global double4 *iptr);
   8248 double8 __ovld modf(double8 x, __global double8 *iptr);
   8249 double16 __ovld modf(double16 x, __global double16 *iptr);
   8250 double __ovld modf(double x, __local double *iptr);
   8251 double2 __ovld modf(double2 x, __local double2 *iptr);
   8252 double3 __ovld modf(double3 x, __local double3 *iptr);
   8253 double4 __ovld modf(double4 x, __local double4 *iptr);
   8254 double8 __ovld modf(double8 x, __local double8 *iptr);
   8255 double16 __ovld modf(double16 x, __local double16 *iptr);
   8256 double __ovld modf(double x, __private double *iptr);
   8257 double2 __ovld modf(double2 x, __private double2 *iptr);
   8258 double3 __ovld modf(double3 x, __private double3 *iptr);
   8259 double4 __ovld modf(double4 x, __private double4 *iptr);
   8260 double8 __ovld modf(double8 x, __private double8 *iptr);
   8261 double16 __ovld modf(double16 x, __private double16 *iptr);
   8262 #endif //cl_khr_fp64
   8263 #ifdef cl_khr_fp16
   8264 half __ovld modf(half x, __global half *iptr);
   8265 half2 __ovld modf(half2 x, __global half2 *iptr);
   8266 half3 __ovld modf(half3 x, __global half3 *iptr);
   8267 half4 __ovld modf(half4 x, __global half4 *iptr);
   8268 half8 __ovld modf(half8 x, __global half8 *iptr);
   8269 half16 __ovld modf(half16 x, __global half16 *iptr);
   8270 half __ovld modf(half x, __local half *iptr);
   8271 half2 __ovld modf(half2 x, __local half2 *iptr);
   8272 half3 __ovld modf(half3 x, __local half3 *iptr);
   8273 half4 __ovld modf(half4 x, __local half4 *iptr);
   8274 half8 __ovld modf(half8 x, __local half8 *iptr);
   8275 half16 __ovld modf(half16 x, __local half16 *iptr);
   8276 half __ovld modf(half x, __private half *iptr);
   8277 half2 __ovld modf(half2 x, __private half2 *iptr);
   8278 half3 __ovld modf(half3 x, __private half3 *iptr);
   8279 half4 __ovld modf(half4 x, __private half4 *iptr);
   8280 half8 __ovld modf(half8 x, __private half8 *iptr);
   8281 half16 __ovld modf(half16 x, __private half16 *iptr);
   8282 #endif //cl_khr_fp16
   8283 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8284 
   8285 /**
   8286  * Returns a quiet NaN. The nancode may be placed
   8287  * in the significand of the resulting NaN.
   8288  */
   8289 float __ovld __cnfn nan(uint nancode);
   8290 float2 __ovld __cnfn nan(uint2 nancode);
   8291 float3 __ovld __cnfn nan(uint3 nancode);
   8292 float4 __ovld __cnfn nan(uint4 nancode);
   8293 float8 __ovld __cnfn nan(uint8 nancode);
   8294 float16 __ovld __cnfn nan(uint16 nancode);
   8295 #ifdef cl_khr_fp64
   8296 double __ovld __cnfn nan(ulong nancode);
   8297 double2 __ovld __cnfn nan(ulong2 nancode);
   8298 double3 __ovld __cnfn nan(ulong3 nancode);
   8299 double4 __ovld __cnfn nan(ulong4 nancode);
   8300 double8 __ovld __cnfn nan(ulong8 nancode);
   8301 double16 __ovld __cnfn nan(ulong16 nancode);
   8302 #endif //cl_khr_fp64
   8303 #ifdef cl_khr_fp16
   8304 half __ovld __cnfn nan(ushort nancode);
   8305 half2 __ovld __cnfn nan(ushort2 nancode);
   8306 half3 __ovld __cnfn nan(ushort3 nancode);
   8307 half4 __ovld __cnfn nan(ushort4 nancode);
   8308 half8 __ovld __cnfn nan(ushort8 nancode);
   8309 half16 __ovld __cnfn nan(ushort16 nancode);
   8310 #endif //cl_khr_fp16
   8311 
   8312 /**
   8313  * Computes the next representable single-precision
   8314  * floating-point value following x in the direction of
   8315  * y. Thus, if y is less than x, nextafter() returns the
   8316  * largest representable floating-point number less
   8317  * than x.
   8318  */
   8319 float __ovld __cnfn nextafter(float x, float y);
   8320 float2 __ovld __cnfn nextafter(float2 x, float2 y);
   8321 float3 __ovld __cnfn nextafter(float3 x, float3 y);
   8322 float4 __ovld __cnfn nextafter(float4 x, float4 y);
   8323 float8 __ovld __cnfn nextafter(float8 x, float8 y);
   8324 float16 __ovld __cnfn nextafter(float16 x, float16 y);
   8325 #ifdef cl_khr_fp64
   8326 double __ovld __cnfn nextafter(double x, double y);
   8327 double2 __ovld __cnfn nextafter(double2 x, double2 y);
   8328 double3 __ovld __cnfn nextafter(double3 x, double3 y);
   8329 double4 __ovld __cnfn nextafter(double4 x, double4 y);
   8330 double8 __ovld __cnfn nextafter(double8 x, double8 y);
   8331 double16 __ovld __cnfn nextafter(double16 x, double16 y);
   8332 #endif //cl_khr_fp64
   8333 #ifdef cl_khr_fp16
   8334 half __ovld __cnfn nextafter(half x, half y);
   8335 half2 __ovld __cnfn nextafter(half2 x, half2 y);
   8336 half3 __ovld __cnfn nextafter(half3 x, half3 y);
   8337 half4 __ovld __cnfn nextafter(half4 x, half4 y);
   8338 half8 __ovld __cnfn nextafter(half8 x, half8 y);
   8339 half16 __ovld __cnfn nextafter(half16 x, half16 y);
   8340 #endif //cl_khr_fp16
   8341 
   8342 /**
   8343  * Compute x to the power y.
   8344  */
   8345 float __ovld __cnfn pow(float x, float y);
   8346 float2 __ovld __cnfn pow(float2 x, float2 y);
   8347 float3 __ovld __cnfn pow(float3 x, float3 y);
   8348 float4 __ovld __cnfn pow(float4 x, float4 y);
   8349 float8 __ovld __cnfn pow(float8 x, float8 y);
   8350 float16 __ovld __cnfn pow(float16 x, float16 y);
   8351 #ifdef cl_khr_fp64
   8352 double __ovld __cnfn pow(double x, double y);
   8353 double2 __ovld __cnfn pow(double2 x, double2 y);
   8354 double3 __ovld __cnfn pow(double3 x, double3 y);
   8355 double4 __ovld __cnfn pow(double4 x, double4 y);
   8356 double8 __ovld __cnfn pow(double8 x, double8 y);
   8357 double16 __ovld __cnfn pow(double16 x, double16 y);
   8358 #endif //cl_khr_fp64
   8359 #ifdef cl_khr_fp16
   8360 half __ovld __cnfn pow(half x, half y);
   8361 half2 __ovld __cnfn pow(half2 x, half2 y);
   8362 half3 __ovld __cnfn pow(half3 x, half3 y);
   8363 half4 __ovld __cnfn pow(half4 x, half4 y);
   8364 half8 __ovld __cnfn pow(half8 x, half8 y);
   8365 half16 __ovld __cnfn pow(half16 x, half16 y);
   8366 #endif //cl_khr_fp16
   8367 
   8368 /**
   8369  * Compute x to the power y, where y is an integer.
   8370  */
   8371 float __ovld __cnfn pown(float x, int y);
   8372 float2 __ovld __cnfn pown(float2 x, int2 y);
   8373 float3 __ovld __cnfn pown(float3 x, int3 y);
   8374 float4 __ovld __cnfn pown(float4 x, int4 y);
   8375 float8 __ovld __cnfn pown(float8 x, int8 y);
   8376 float16 __ovld __cnfn pown(float16 x, int16 y);
   8377 #ifdef cl_khr_fp64
   8378 double __ovld __cnfn pown(double x, int y);
   8379 double2 __ovld __cnfn pown(double2 x, int2 y);
   8380 double3 __ovld __cnfn pown(double3 x, int3 y);
   8381 double4 __ovld __cnfn pown(double4 x, int4 y);
   8382 double8 __ovld __cnfn pown(double8 x, int8 y);
   8383 double16 __ovld __cnfn pown(double16 x, int16 y);
   8384 #endif //cl_khr_fp64
   8385 #ifdef cl_khr_fp16
   8386 half __ovld __cnfn pown(half x, int y);
   8387 half2 __ovld __cnfn pown(half2 x, int2 y);
   8388 half3 __ovld __cnfn pown(half3 x, int3 y);
   8389 half4 __ovld __cnfn pown(half4 x, int4 y);
   8390 half8 __ovld __cnfn pown(half8 x, int8 y);
   8391 half16 __ovld __cnfn pown(half16 x, int16 y);
   8392 #endif //cl_khr_fp16
   8393 
   8394 /**
   8395  * Compute x to the power y, where x is >= 0.
   8396  */
   8397 float __ovld __cnfn powr(float x, float y);
   8398 float2 __ovld __cnfn powr(float2 x, float2 y);
   8399 float3 __ovld __cnfn powr(float3 x, float3 y);
   8400 float4 __ovld __cnfn powr(float4 x, float4 y);
   8401 float8 __ovld __cnfn powr(float8 x, float8 y);
   8402 float16 __ovld __cnfn powr(float16 x, float16 y);
   8403 #ifdef cl_khr_fp64
   8404 double __ovld __cnfn powr(double x, double y);
   8405 double2 __ovld __cnfn powr(double2 x, double2 y);
   8406 double3 __ovld __cnfn powr(double3 x, double3 y);
   8407 double4 __ovld __cnfn powr(double4 x, double4 y);
   8408 double8 __ovld __cnfn powr(double8 x, double8 y);
   8409 double16 __ovld __cnfn powr(double16 x, double16 y);
   8410 #endif //cl_khr_fp64
   8411 #ifdef cl_khr_fp16
   8412 half __ovld __cnfn powr(half x, half y);
   8413 half2 __ovld __cnfn powr(half2 x, half2 y);
   8414 half3 __ovld __cnfn powr(half3 x, half3 y);
   8415 half4 __ovld __cnfn powr(half4 x, half4 y);
   8416 half8 __ovld __cnfn powr(half8 x, half8 y);
   8417 half16 __ovld __cnfn powr(half16 x, half16 y);
   8418 #endif //cl_khr_fp16
   8419 
   8420 /**
   8421  * Compute the value r such that r = x - n*y, where n
   8422  * is the integer nearest the exact value of x/y. If there
   8423  * are two integers closest to x/y, n shall be the even
   8424  * one. If r is zero, it is given the same sign as x.
   8425  */
   8426 float __ovld __cnfn remainder(float x, float y);
   8427 float2 __ovld __cnfn remainder(float2 x, float2 y);
   8428 float3 __ovld __cnfn remainder(float3 x, float3 y);
   8429 float4 __ovld __cnfn remainder(float4 x, float4 y);
   8430 float8 __ovld __cnfn remainder(float8 x, float8 y);
   8431 float16 __ovld __cnfn remainder(float16 x, float16 y);
   8432 #ifdef cl_khr_fp64
   8433 double __ovld __cnfn remainder(double x, double y);
   8434 double2 __ovld __cnfn remainder(double2 x, double2 y);
   8435 double3 __ovld __cnfn remainder(double3 x, double3 y);
   8436 double4 __ovld __cnfn remainder(double4 x, double4 y);
   8437 double8 __ovld __cnfn remainder(double8 x, double8 y);
   8438 double16 __ovld __cnfn remainder(double16 x, double16 y);
   8439 #endif //cl_khr_fp64
   8440 #ifdef cl_khr_fp16
   8441 half __ovld __cnfn remainder(half x, half y);
   8442 half2 __ovld __cnfn remainder(half2 x, half2 y);
   8443 half3 __ovld __cnfn remainder(half3 x, half3 y);
   8444 half4 __ovld __cnfn remainder(half4 x, half4 y);
   8445 half8 __ovld __cnfn remainder(half8 x, half8 y);
   8446 half16 __ovld __cnfn remainder(half16 x, half16 y);
   8447 #endif //cl_khr_fp16
   8448 
   8449 /**
   8450  * The remquo function computes the value r such
   8451  * that r = x - n*y, where n is the integer nearest the
   8452  * exact value of x/y. If there are two integers closest
   8453  * to x/y, n shall be the even one. If r is zero, it is
   8454  * given the same sign as x. This is the same value
   8455  * that is returned by the remainder function.
   8456  * remquo also calculates the lower seven bits of the
   8457  * integral quotient x/y, and gives that value the same
   8458  * sign as x/y. It stores this signed value in the object
   8459  * pointed to by quo.
   8460  */
   8461 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8462 float __ovld remquo(float x, float y, int *quo);
   8463 float2 __ovld remquo(float2 x, float2 y, int2 *quo);
   8464 float3 __ovld remquo(float3 x, float3 y, int3 *quo);
   8465 float4 __ovld remquo(float4 x, float4 y, int4 *quo);
   8466 float8 __ovld remquo(float8 x, float8 y, int8 *quo);
   8467 float16 __ovld remquo(float16 x, float16 y, int16 *quo);
   8468 #ifdef cl_khr_fp64
   8469 double __ovld remquo(double x, double y, int *quo);
   8470 double2 __ovld remquo(double2 x, double2 y, int2 *quo);
   8471 double3 __ovld remquo(double3 x, double3 y, int3 *quo);
   8472 double4 __ovld remquo(double4 x, double4 y, int4 *quo);
   8473 double8 __ovld remquo(double8 x, double8 y, int8 *quo);
   8474 double16 __ovld remquo(double16 x, double16 y, int16 *quo);
   8475 #endif //cl_khr_fp64
   8476 #ifdef cl_khr_fp16
   8477 half __ovld remquo(half x, half y, int *quo);
   8478 half2 __ovld remquo(half2 x, half2 y, int2 *quo);
   8479 half3 __ovld remquo(half3 x, half3 y, int3 *quo);
   8480 half4 __ovld remquo(half4 x, half4 y, int4 *quo);
   8481 half8 __ovld remquo(half8 x, half8 y, int8 *quo);
   8482 half16 __ovld remquo(half16 x, half16 y, int16 *quo);
   8483 
   8484 #endif //cl_khr_fp16
   8485 #else
   8486 float __ovld remquo(float x, float y, __global int *quo);
   8487 float2 __ovld remquo(float2 x, float2 y, __global int2 *quo);
   8488 float3 __ovld remquo(float3 x, float3 y, __global int3 *quo);
   8489 float4 __ovld remquo(float4 x, float4 y, __global int4 *quo);
   8490 float8 __ovld remquo(float8 x, float8 y, __global int8 *quo);
   8491 float16 __ovld remquo(float16 x, float16 y, __global int16 *quo);
   8492 float __ovld remquo(float x, float y, __local int *quo);
   8493 float2 __ovld remquo(float2 x, float2 y, __local int2 *quo);
   8494 float3 __ovld remquo(float3 x, float3 y, __local int3 *quo);
   8495 float4 __ovld remquo(float4 x, float4 y, __local int4 *quo);
   8496 float8 __ovld remquo(float8 x, float8 y, __local int8 *quo);
   8497 float16 __ovld remquo(float16 x, float16 y, __local int16 *quo);
   8498 float __ovld remquo(float x, float y, __private int *quo);
   8499 float2 __ovld remquo(float2 x, float2 y, __private int2 *quo);
   8500 float3 __ovld remquo(float3 x, float3 y, __private int3 *quo);
   8501 float4 __ovld remquo(float4 x, float4 y, __private int4 *quo);
   8502 float8 __ovld remquo(float8 x, float8 y, __private int8 *quo);
   8503 float16 __ovld remquo(float16 x, float16 y, __private int16 *quo);
   8504 #ifdef cl_khr_fp64
   8505 double __ovld remquo(double x, double y, __global int *quo);
   8506 double2 __ovld remquo(double2 x, double2 y, __global int2 *quo);
   8507 double3 __ovld remquo(double3 x, double3 y, __global int3 *quo);
   8508 double4 __ovld remquo(double4 x, double4 y, __global int4 *quo);
   8509 double8 __ovld remquo(double8 x, double8 y, __global int8 *quo);
   8510 double16 __ovld remquo(double16 x, double16 y, __global int16 *quo);
   8511 double __ovld remquo(double x, double y, __local int *quo);
   8512 double2 __ovld remquo(double2 x, double2 y, __local int2 *quo);
   8513 double3 __ovld remquo(double3 x, double3 y, __local int3 *quo);
   8514 double4 __ovld remquo(double4 x, double4 y, __local int4 *quo);
   8515 double8 __ovld remquo(double8 x, double8 y, __local int8 *quo);
   8516 double16 __ovld remquo(double16 x, double16 y, __local int16 *quo);
   8517 double __ovld remquo(double x, double y, __private int *quo);
   8518 double2 __ovld remquo(double2 x, double2 y, __private int2 *quo);
   8519 double3 __ovld remquo(double3 x, double3 y, __private int3 *quo);
   8520 double4 __ovld remquo(double4 x, double4 y, __private int4 *quo);
   8521 double8 __ovld remquo(double8 x, double8 y, __private int8 *quo);
   8522 double16 __ovld remquo(double16 x, double16 y, __private int16 *quo);
   8523 #endif //cl_khr_fp64
   8524 #ifdef cl_khr_fp16
   8525 half __ovld remquo(half x, half y, __global int *quo);
   8526 half2 __ovld remquo(half2 x, half2 y, __global int2 *quo);
   8527 half3 __ovld remquo(half3 x, half3 y, __global int3 *quo);
   8528 half4 __ovld remquo(half4 x, half4 y, __global int4 *quo);
   8529 half8 __ovld remquo(half8 x, half8 y, __global int8 *quo);
   8530 half16 __ovld remquo(half16 x, half16 y, __global int16 *quo);
   8531 half __ovld remquo(half x, half y, __local int *quo);
   8532 half2 __ovld remquo(half2 x, half2 y, __local int2 *quo);
   8533 half3 __ovld remquo(half3 x, half3 y, __local int3 *quo);
   8534 half4 __ovld remquo(half4 x, half4 y, __local int4 *quo);
   8535 half8 __ovld remquo(half8 x, half8 y, __local int8 *quo);
   8536 half16 __ovld remquo(half16 x, half16 y, __local int16 *quo);
   8537 half __ovld remquo(half x, half y, __private int *quo);
   8538 half2 __ovld remquo(half2 x, half2 y, __private int2 *quo);
   8539 half3 __ovld remquo(half3 x, half3 y, __private int3 *quo);
   8540 half4 __ovld remquo(half4 x, half4 y, __private int4 *quo);
   8541 half8 __ovld remquo(half8 x, half8 y, __private int8 *quo);
   8542 half16 __ovld remquo(half16 x, half16 y, __private int16 *quo);
   8543 #endif //cl_khr_fp16
   8544 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8545 /**
   8546  * Round to integral value (using round to nearest
   8547  * even rounding mode) in floating-point format.
   8548  * Refer to section 7.1 for description of rounding
   8549  * modes.
   8550  */
   8551 float __ovld __cnfn rint(float);
   8552 float2 __ovld __cnfn rint(float2);
   8553 float3 __ovld __cnfn rint(float3);
   8554 float4 __ovld __cnfn rint(float4);
   8555 float8 __ovld __cnfn rint(float8);
   8556 float16 __ovld __cnfn rint(float16);
   8557 #ifdef cl_khr_fp64
   8558 double __ovld __cnfn rint(double);
   8559 double2 __ovld __cnfn rint(double2);
   8560 double3 __ovld __cnfn rint(double3);
   8561 double4 __ovld __cnfn rint(double4);
   8562 double8 __ovld __cnfn rint(double8);
   8563 double16 __ovld __cnfn rint(double16);
   8564 #endif //cl_khr_fp64
   8565 #ifdef cl_khr_fp16
   8566 half __ovld __cnfn rint(half);
   8567 half2 __ovld __cnfn rint(half2);
   8568 half3 __ovld __cnfn rint(half3);
   8569 half4 __ovld __cnfn rint(half4);
   8570 half8 __ovld __cnfn rint(half8);
   8571 half16 __ovld __cnfn rint(half16);
   8572 #endif //cl_khr_fp16
   8573 
   8574 /**
   8575  * Compute x to the power 1/y.
   8576  */
   8577 float __ovld __cnfn rootn(float x, int y);
   8578 float2 __ovld __cnfn rootn(float2 x, int2 y);
   8579 float3 __ovld __cnfn rootn(float3 x, int3 y);
   8580 float4 __ovld __cnfn rootn(float4 x, int4 y);
   8581 float8 __ovld __cnfn rootn(float8 x, int8 y);
   8582 float16 __ovld __cnfn rootn(float16 x, int16 y);
   8583 #ifdef cl_khr_fp64
   8584 double __ovld __cnfn rootn(double x, int y);
   8585 double2 __ovld __cnfn rootn(double2 x, int2 y);
   8586 double3 __ovld __cnfn rootn(double3 x, int3 y);
   8587 double4 __ovld __cnfn rootn(double4 x, int4 y);
   8588 double8 __ovld __cnfn rootn(double8 x, int8 y);
   8589 double16 __ovld __cnfn rootn(double16 x, int16 y);
   8590 #endif //cl_khr_fp64
   8591 #ifdef cl_khr_fp16
   8592 half __ovld __cnfn rootn(half x, int y);
   8593 half2 __ovld __cnfn rootn(half2 x, int2 y);
   8594 half3 __ovld __cnfn rootn(half3 x, int3 y);
   8595 half4 __ovld __cnfn rootn(half4 x, int4 y);
   8596 half8 __ovld __cnfn rootn(half8 x, int8 y);
   8597 half16 __ovld __cnfn rootn(half16 x, int16 y);
   8598 #endif //cl_khr_fp16
   8599 
   8600 /**
   8601  * Return the integral value nearest to x rounding
   8602  * halfway cases away from zero, regardless of the
   8603  * current rounding direction.
   8604  */
   8605 float __ovld __cnfn round(float x);
   8606 float2 __ovld __cnfn round(float2 x);
   8607 float3 __ovld __cnfn round(float3 x);
   8608 float4 __ovld __cnfn round(float4 x);
   8609 float8 __ovld __cnfn round(float8 x);
   8610 float16 __ovld __cnfn round(float16 x);
   8611 #ifdef cl_khr_fp64
   8612 double __ovld __cnfn round(double x);
   8613 double2 __ovld __cnfn round(double2 x);
   8614 double3 __ovld __cnfn round(double3 x);
   8615 double4 __ovld __cnfn round(double4 x);
   8616 double8 __ovld __cnfn round(double8 x);
   8617 double16 __ovld __cnfn round(double16 x);
   8618 #endif //cl_khr_fp64
   8619 #ifdef cl_khr_fp16
   8620 half __ovld __cnfn round(half x);
   8621 half2 __ovld __cnfn round(half2 x);
   8622 half3 __ovld __cnfn round(half3 x);
   8623 half4 __ovld __cnfn round(half4 x);
   8624 half8 __ovld __cnfn round(half8 x);
   8625 half16 __ovld __cnfn round(half16 x);
   8626 #endif //cl_khr_fp16
   8627 
   8628 /**
   8629  * Compute inverse square root.
   8630  */
   8631 float __ovld __cnfn rsqrt(float);
   8632 float2 __ovld __cnfn rsqrt(float2);
   8633 float3 __ovld __cnfn rsqrt(float3);
   8634 float4 __ovld __cnfn rsqrt(float4);
   8635 float8 __ovld __cnfn rsqrt(float8);
   8636 float16 __ovld __cnfn rsqrt(float16);
   8637 #ifdef cl_khr_fp64
   8638 double __ovld __cnfn rsqrt(double);
   8639 double2 __ovld __cnfn rsqrt(double2);
   8640 double3 __ovld __cnfn rsqrt(double3);
   8641 double4 __ovld __cnfn rsqrt(double4);
   8642 double8 __ovld __cnfn rsqrt(double8);
   8643 double16 __ovld __cnfn rsqrt(double16);
   8644 #endif //cl_khr_fp64
   8645 #ifdef cl_khr_fp16
   8646 half __ovld __cnfn rsqrt(half);
   8647 half2 __ovld __cnfn rsqrt(half2);
   8648 half3 __ovld __cnfn rsqrt(half3);
   8649 half4 __ovld __cnfn rsqrt(half4);
   8650 half8 __ovld __cnfn rsqrt(half8);
   8651 half16 __ovld __cnfn rsqrt(half16);
   8652 #endif //cl_khr_fp16
   8653 
   8654 /**
   8655  * Compute sine.
   8656  */
   8657 float __ovld __cnfn sin(float);
   8658 float2 __ovld __cnfn sin(float2);
   8659 float3 __ovld __cnfn sin(float3);
   8660 float4 __ovld __cnfn sin(float4);
   8661 float8 __ovld __cnfn sin(float8);
   8662 float16 __ovld __cnfn sin(float16);
   8663 #ifdef cl_khr_fp64
   8664 double __ovld __cnfn sin(double);
   8665 double2 __ovld __cnfn sin(double2);
   8666 double3 __ovld __cnfn sin(double3);
   8667 double4 __ovld __cnfn sin(double4);
   8668 double8 __ovld __cnfn sin(double8);
   8669 double16 __ovld __cnfn sin(double16);
   8670 #endif //cl_khr_fp64
   8671 #ifdef cl_khr_fp16
   8672 half __ovld __cnfn sin(half);
   8673 half2 __ovld __cnfn sin(half2);
   8674 half3 __ovld __cnfn sin(half3);
   8675 half4 __ovld __cnfn sin(half4);
   8676 half8 __ovld __cnfn sin(half8);
   8677 half16 __ovld __cnfn sin(half16);
   8678 #endif //cl_khr_fp16
   8679 
   8680 /**
   8681  * Compute sine and cosine of x. The computed sine
   8682  * is the return value and computed cosine is returned
   8683  * in cosval.
   8684  */
   8685 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8686 float __ovld sincos(float x, float *cosval);
   8687 float2 __ovld sincos(float2 x, float2 *cosval);
   8688 float3 __ovld sincos(float3 x, float3 *cosval);
   8689 float4 __ovld sincos(float4 x, float4 *cosval);
   8690 float8 __ovld sincos(float8 x, float8 *cosval);
   8691 float16 __ovld sincos(float16 x, float16 *cosval);
   8692 #ifdef cl_khr_fp64
   8693 double __ovld sincos(double x, double *cosval);
   8694 double2 __ovld sincos(double2 x, double2 *cosval);
   8695 double3 __ovld sincos(double3 x, double3 *cosval);
   8696 double4 __ovld sincos(double4 x, double4 *cosval);
   8697 double8 __ovld sincos(double8 x, double8 *cosval);
   8698 double16 __ovld sincos(double16 x, double16 *cosval);
   8699 #endif //cl_khr_fp64
   8700 #ifdef cl_khr_fp16
   8701 half __ovld sincos(half x, half *cosval);
   8702 half2 __ovld sincos(half2 x, half2 *cosval);
   8703 half3 __ovld sincos(half3 x, half3 *cosval);
   8704 half4 __ovld sincos(half4 x, half4 *cosval);
   8705 half8 __ovld sincos(half8 x, half8 *cosval);
   8706 half16 __ovld sincos(half16 x, half16 *cosval);
   8707 #endif //cl_khr_fp16
   8708 #else
   8709 float __ovld sincos(float x, __global float *cosval);
   8710 float2 __ovld sincos(float2 x, __global float2 *cosval);
   8711 float3 __ovld sincos(float3 x, __global float3 *cosval);
   8712 float4 __ovld sincos(float4 x, __global float4 *cosval);
   8713 float8 __ovld sincos(float8 x, __global float8 *cosval);
   8714 float16 __ovld sincos(float16 x, __global float16 *cosval);
   8715 float __ovld sincos(float x, __local float *cosval);
   8716 float2 __ovld sincos(float2 x, __local float2 *cosval);
   8717 float3 __ovld sincos(float3 x, __local float3 *cosval);
   8718 float4 __ovld sincos(float4 x, __local float4 *cosval);
   8719 float8 __ovld sincos(float8 x, __local float8 *cosval);
   8720 float16 __ovld sincos(float16 x, __local float16 *cosval);
   8721 float __ovld sincos(float x, __private float *cosval);
   8722 float2 __ovld sincos(float2 x, __private float2 *cosval);
   8723 float3 __ovld sincos(float3 x, __private float3 *cosval);
   8724 float4 __ovld sincos(float4 x, __private float4 *cosval);
   8725 float8 __ovld sincos(float8 x, __private float8 *cosval);
   8726 float16 __ovld sincos(float16 x, __private float16 *cosval);
   8727 #ifdef cl_khr_fp64
   8728 double __ovld sincos(double x, __global double *cosval);
   8729 double2 __ovld sincos(double2 x, __global double2 *cosval);
   8730 double3 __ovld sincos(double3 x, __global double3 *cosval);
   8731 double4 __ovld sincos(double4 x, __global double4 *cosval);
   8732 double8 __ovld sincos(double8 x, __global double8 *cosval);
   8733 double16 __ovld sincos(double16 x, __global double16 *cosval);
   8734 double __ovld sincos(double x, __local double *cosval);
   8735 double2 __ovld sincos(double2 x, __local double2 *cosval);
   8736 double3 __ovld sincos(double3 x, __local double3 *cosval);
   8737 double4 __ovld sincos(double4 x, __local double4 *cosval);
   8738 double8 __ovld sincos(double8 x, __local double8 *cosval);
   8739 double16 __ovld sincos(double16 x, __local double16 *cosval);
   8740 double __ovld sincos(double x, __private double *cosval);
   8741 double2 __ovld sincos(double2 x, __private double2 *cosval);
   8742 double3 __ovld sincos(double3 x, __private double3 *cosval);
   8743 double4 __ovld sincos(double4 x, __private double4 *cosval);
   8744 double8 __ovld sincos(double8 x, __private double8 *cosval);
   8745 double16 __ovld sincos(double16 x, __private double16 *cosval);
   8746 #endif //cl_khr_fp64
   8747 #ifdef cl_khr_fp16
   8748 half __ovld sincos(half x, __global half *cosval);
   8749 half2 __ovld sincos(half2 x, __global half2 *cosval);
   8750 half3 __ovld sincos(half3 x, __global half3 *cosval);
   8751 half4 __ovld sincos(half4 x, __global half4 *cosval);
   8752 half8 __ovld sincos(half8 x, __global half8 *cosval);
   8753 half16 __ovld sincos(half16 x, __global half16 *cosval);
   8754 half __ovld sincos(half x, __local half *cosval);
   8755 half2 __ovld sincos(half2 x, __local half2 *cosval);
   8756 half3 __ovld sincos(half3 x, __local half3 *cosval);
   8757 half4 __ovld sincos(half4 x, __local half4 *cosval);
   8758 half8 __ovld sincos(half8 x, __local half8 *cosval);
   8759 half16 __ovld sincos(half16 x, __local half16 *cosval);
   8760 half __ovld sincos(half x, __private half *cosval);
   8761 half2 __ovld sincos(half2 x, __private half2 *cosval);
   8762 half3 __ovld sincos(half3 x, __private half3 *cosval);
   8763 half4 __ovld sincos(half4 x, __private half4 *cosval);
   8764 half8 __ovld sincos(half8 x, __private half8 *cosval);
   8765 half16 __ovld sincos(half16 x, __private half16 *cosval);
   8766 #endif //cl_khr_fp16
   8767 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8768 
   8769 /**
   8770  * Compute hyperbolic sine.
   8771  */
   8772 float __ovld __cnfn sinh(float);
   8773 float2 __ovld __cnfn sinh(float2);
   8774 float3 __ovld __cnfn sinh(float3);
   8775 float4 __ovld __cnfn sinh(float4);
   8776 float8 __ovld __cnfn sinh(float8);
   8777 float16 __ovld __cnfn sinh(float16);
   8778 #ifdef cl_khr_fp64
   8779 double __ovld __cnfn sinh(double);
   8780 double2 __ovld __cnfn sinh(double2);
   8781 double3 __ovld __cnfn sinh(double3);
   8782 double4 __ovld __cnfn sinh(double4);
   8783 double8 __ovld __cnfn sinh(double8);
   8784 double16 __ovld __cnfn sinh(double16);
   8785 #endif //cl_khr_fp64
   8786 #ifdef cl_khr_fp16
   8787 half __ovld __cnfn sinh(half);
   8788 half2 __ovld __cnfn sinh(half2);
   8789 half3 __ovld __cnfn sinh(half3);
   8790 half4 __ovld __cnfn sinh(half4);
   8791 half8 __ovld __cnfn sinh(half8);
   8792 half16 __ovld __cnfn sinh(half16);
   8793 #endif //cl_khr_fp16
   8794 
   8795 /**
   8796  * Compute sin (PI * x).
   8797  */
   8798 float __ovld __cnfn sinpi(float x);
   8799 float2 __ovld __cnfn sinpi(float2 x);
   8800 float3 __ovld __cnfn sinpi(float3 x);
   8801 float4 __ovld __cnfn sinpi(float4 x);
   8802 float8 __ovld __cnfn sinpi(float8 x);
   8803 float16 __ovld __cnfn sinpi(float16 x);
   8804 #ifdef cl_khr_fp64
   8805 double __ovld __cnfn sinpi(double x);
   8806 double2 __ovld __cnfn sinpi(double2 x);
   8807 double3 __ovld __cnfn sinpi(double3 x);
   8808 double4 __ovld __cnfn sinpi(double4 x);
   8809 double8 __ovld __cnfn sinpi(double8 x);
   8810 double16 __ovld __cnfn sinpi(double16 x);
   8811 #endif //cl_khr_fp64
   8812 #ifdef cl_khr_fp16
   8813 half __ovld __cnfn sinpi(half x);
   8814 half2 __ovld __cnfn sinpi(half2 x);
   8815 half3 __ovld __cnfn sinpi(half3 x);
   8816 half4 __ovld __cnfn sinpi(half4 x);
   8817 half8 __ovld __cnfn sinpi(half8 x);
   8818 half16 __ovld __cnfn sinpi(half16 x);
   8819 #endif //cl_khr_fp16
   8820 
   8821 /**
   8822  * Compute square root.
   8823  */
   8824 float __ovld __cnfn sqrt(float);
   8825 float2 __ovld __cnfn sqrt(float2);
   8826 float3 __ovld __cnfn sqrt(float3);
   8827 float4 __ovld __cnfn sqrt(float4);
   8828 float8 __ovld __cnfn sqrt(float8);
   8829 float16 __ovld __cnfn sqrt(float16);
   8830 #ifdef cl_khr_fp64
   8831 double __ovld __cnfn sqrt(double);
   8832 double2 __ovld __cnfn sqrt(double2);
   8833 double3 __ovld __cnfn sqrt(double3);
   8834 double4 __ovld __cnfn sqrt(double4);
   8835 double8 __ovld __cnfn sqrt(double8);
   8836 double16 __ovld __cnfn sqrt(double16);
   8837 #endif //cl_khr_fp64
   8838 #ifdef cl_khr_fp16
   8839 half __ovld __cnfn sqrt(half);
   8840 half2 __ovld __cnfn sqrt(half2);
   8841 half3 __ovld __cnfn sqrt(half3);
   8842 half4 __ovld __cnfn sqrt(half4);
   8843 half8 __ovld __cnfn sqrt(half8);
   8844 half16 __ovld __cnfn sqrt(half16);
   8845 #endif //cl_khr_fp16
   8846 
   8847 /**
   8848  * Compute tangent.
   8849  */
   8850 float __ovld __cnfn tan(float);
   8851 float2 __ovld __cnfn tan(float2);
   8852 float3 __ovld __cnfn tan(float3);
   8853 float4 __ovld __cnfn tan(float4);
   8854 float8 __ovld __cnfn tan(float8);
   8855 float16 __ovld __cnfn tan(float16);
   8856 #ifdef cl_khr_fp64
   8857 double __ovld __cnfn tan(double);
   8858 double2 __ovld __cnfn tan(double2);
   8859 double3 __ovld __cnfn tan(double3);
   8860 double4 __ovld __cnfn tan(double4);
   8861 double8 __ovld __cnfn tan(double8);
   8862 double16 __ovld __cnfn tan(double16);
   8863 #endif //cl_khr_fp64
   8864 #ifdef cl_khr_fp16
   8865 half __ovld __cnfn tan(half);
   8866 half2 __ovld __cnfn tan(half2);
   8867 half3 __ovld __cnfn tan(half3);
   8868 half4 __ovld __cnfn tan(half4);
   8869 half8 __ovld __cnfn tan(half8);
   8870 half16 __ovld __cnfn tan(half16);
   8871 #endif //cl_khr_fp16
   8872 
   8873 /**
   8874  * Compute hyperbolic tangent.
   8875  */
   8876 float __ovld __cnfn tanh(float);
   8877 float2 __ovld __cnfn tanh(float2);
   8878 float3 __ovld __cnfn tanh(float3);
   8879 float4 __ovld __cnfn tanh(float4);
   8880 float8 __ovld __cnfn tanh(float8);
   8881 float16 __ovld __cnfn tanh(float16);
   8882 #ifdef cl_khr_fp64
   8883 double __ovld __cnfn tanh(double);
   8884 double2 __ovld __cnfn tanh(double2);
   8885 double3 __ovld __cnfn tanh(double3);
   8886 double4 __ovld __cnfn tanh(double4);
   8887 double8 __ovld __cnfn tanh(double8);
   8888 double16 __ovld __cnfn tanh(double16);
   8889 #endif //cl_khr_fp64
   8890 #ifdef cl_khr_fp16
   8891 half __ovld __cnfn tanh(half);
   8892 half2 __ovld __cnfn tanh(half2);
   8893 half3 __ovld __cnfn tanh(half3);
   8894 half4 __ovld __cnfn tanh(half4);
   8895 half8 __ovld __cnfn tanh(half8);
   8896 half16 __ovld __cnfn tanh(half16);
   8897 #endif //cl_khr_fp16
   8898 
   8899 /**
   8900  * Compute tan (PI * x).
   8901  */
   8902 float __ovld __cnfn tanpi(float x);
   8903 float2 __ovld __cnfn tanpi(float2 x);
   8904 float3 __ovld __cnfn tanpi(float3 x);
   8905 float4 __ovld __cnfn tanpi(float4 x);
   8906 float8 __ovld __cnfn tanpi(float8 x);
   8907 float16 __ovld __cnfn tanpi(float16 x);
   8908 #ifdef cl_khr_fp64
   8909 double __ovld __cnfn tanpi(double x);
   8910 double2 __ovld __cnfn tanpi(double2 x);
   8911 double3 __ovld __cnfn tanpi(double3 x);
   8912 double4 __ovld __cnfn tanpi(double4 x);
   8913 double8 __ovld __cnfn tanpi(double8 x);
   8914 double16 __ovld __cnfn tanpi(double16 x);
   8915 #endif //cl_khr_fp64
   8916 #ifdef cl_khr_fp16
   8917 half __ovld __cnfn tanpi(half x);
   8918 half2 __ovld __cnfn tanpi(half2 x);
   8919 half3 __ovld __cnfn tanpi(half3 x);
   8920 half4 __ovld __cnfn tanpi(half4 x);
   8921 half8 __ovld __cnfn tanpi(half8 x);
   8922 half16 __ovld __cnfn tanpi(half16 x);
   8923 #endif //cl_khr_fp16
   8924 
   8925 /**
   8926  * Compute the gamma function.
   8927  */
   8928 float __ovld __cnfn tgamma(float);
   8929 float2 __ovld __cnfn tgamma(float2);
   8930 float3 __ovld __cnfn tgamma(float3);
   8931 float4 __ovld __cnfn tgamma(float4);
   8932 float8 __ovld __cnfn tgamma(float8);
   8933 float16 __ovld __cnfn tgamma(float16);
   8934 #ifdef cl_khr_fp64
   8935 double __ovld __cnfn tgamma(double);
   8936 double2 __ovld __cnfn tgamma(double2);
   8937 double3 __ovld __cnfn tgamma(double3);
   8938 double4 __ovld __cnfn tgamma(double4);
   8939 double8 __ovld __cnfn tgamma(double8);
   8940 double16 __ovld __cnfn tgamma(double16);
   8941 #endif //cl_khr_fp64
   8942 #ifdef cl_khr_fp16
   8943 half __ovld __cnfn tgamma(half);
   8944 half2 __ovld __cnfn tgamma(half2);
   8945 half3 __ovld __cnfn tgamma(half3);
   8946 half4 __ovld __cnfn tgamma(half4);
   8947 half8 __ovld __cnfn tgamma(half8);
   8948 half16 __ovld __cnfn tgamma(half16);
   8949 #endif //cl_khr_fp16
   8950 
   8951 /**
   8952  * Round to integral value using the round to zero
   8953  * rounding mode.
   8954  */
   8955 float __ovld __cnfn trunc(float);
   8956 float2 __ovld __cnfn trunc(float2);
   8957 float3 __ovld __cnfn trunc(float3);
   8958 float4 __ovld __cnfn trunc(float4);
   8959 float8 __ovld __cnfn trunc(float8);
   8960 float16 __ovld __cnfn trunc(float16);
   8961 #ifdef cl_khr_fp64
   8962 double __ovld __cnfn trunc(double);
   8963 double2 __ovld __cnfn trunc(double2);
   8964 double3 __ovld __cnfn trunc(double3);
   8965 double4 __ovld __cnfn trunc(double4);
   8966 double8 __ovld __cnfn trunc(double8);
   8967 double16 __ovld __cnfn trunc(double16);
   8968 #endif //cl_khr_fp64
   8969 #ifdef cl_khr_fp16
   8970 half __ovld __cnfn trunc(half);
   8971 half2 __ovld __cnfn trunc(half2);
   8972 half3 __ovld __cnfn trunc(half3);
   8973 half4 __ovld __cnfn trunc(half4);
   8974 half8 __ovld __cnfn trunc(half8);
   8975 half16 __ovld __cnfn trunc(half16);
   8976 #endif //cl_khr_fp16
   8977 
   8978 /**
   8979  * Compute cosine. x must be in the range -2^16 ... +2^16.
   8980  */
   8981 float __ovld __cnfn half_cos(float x);
   8982 float2 __ovld __cnfn half_cos(float2 x);
   8983 float3 __ovld __cnfn half_cos(float3 x);
   8984 float4 __ovld __cnfn half_cos(float4 x);
   8985 float8 __ovld __cnfn half_cos(float8 x);
   8986 float16 __ovld __cnfn half_cos(float16 x);
   8987 
   8988 /**
   8989  * Compute x / y.
   8990  */
   8991 float __ovld __cnfn half_divide(float x, float y);
   8992 float2 __ovld __cnfn half_divide(float2 x, float2 y);
   8993 float3 __ovld __cnfn half_divide(float3 x, float3 y);
   8994 float4 __ovld __cnfn half_divide(float4 x, float4 y);
   8995 float8 __ovld __cnfn half_divide(float8 x, float8 y);
   8996 float16 __ovld __cnfn half_divide(float16 x, float16 y);
   8997 
   8998 /**
   8999  * Compute the base- e exponential of x.
   9000  */
   9001 float __ovld __cnfn half_exp(float x);
   9002 float2 __ovld __cnfn half_exp(float2 x);
   9003 float3 __ovld __cnfn half_exp(float3 x);
   9004 float4 __ovld __cnfn half_exp(float4 x);
   9005 float8 __ovld __cnfn half_exp(float8 x);
   9006 float16 __ovld __cnfn half_exp(float16 x);
   9007 
   9008 /**
   9009  * Compute the base- 2 exponential of x.
   9010  */
   9011 float __ovld __cnfn half_exp2(float x);
   9012 float2 __ovld __cnfn half_exp2(float2 x);
   9013 float3 __ovld __cnfn half_exp2(float3 x);
   9014 float4 __ovld __cnfn half_exp2(float4 x);
   9015 float8 __ovld __cnfn half_exp2(float8 x);
   9016 float16 __ovld __cnfn half_exp2(float16 x);
   9017 
   9018 /**
   9019  * Compute the base- 10 exponential of x.
   9020  */
   9021 float __ovld __cnfn half_exp10(float x);
   9022 float2 __ovld __cnfn half_exp10(float2 x);
   9023 float3 __ovld __cnfn half_exp10(float3 x);
   9024 float4 __ovld __cnfn half_exp10(float4 x);
   9025 float8 __ovld __cnfn half_exp10(float8 x);
   9026 float16 __ovld __cnfn half_exp10(float16 x);
   9027 
   9028 /**
   9029  * Compute natural logarithm.
   9030  */
   9031 float __ovld __cnfn half_log(float x);
   9032 float2 __ovld __cnfn half_log(float2 x);
   9033 float3 __ovld __cnfn half_log(float3 x);
   9034 float4 __ovld __cnfn half_log(float4 x);
   9035 float8 __ovld __cnfn half_log(float8 x);
   9036 float16 __ovld __cnfn half_log(float16 x);
   9037 
   9038 /**
   9039  * Compute a base 2 logarithm.
   9040  */
   9041 float __ovld __cnfn half_log2(float x);
   9042 float2 __ovld __cnfn half_log2(float2 x);
   9043 float3 __ovld __cnfn half_log2(float3 x);
   9044 float4 __ovld __cnfn half_log2(float4 x);
   9045 float8 __ovld __cnfn half_log2(float8 x);
   9046 float16 __ovld __cnfn half_log2(float16 x);
   9047 
   9048 /**
   9049  * Compute a base 10 logarithm.
   9050  */
   9051 float __ovld __cnfn half_log10(float x);
   9052 float2 __ovld __cnfn half_log10(float2 x);
   9053 float3 __ovld __cnfn half_log10(float3 x);
   9054 float4 __ovld __cnfn half_log10(float4 x);
   9055 float8 __ovld __cnfn half_log10(float8 x);
   9056 float16 __ovld __cnfn half_log10(float16 x);
   9057 
   9058 /**
   9059  * Compute x to the power y, where x is >= 0.
   9060  */
   9061 float __ovld __cnfn half_powr(float x, float y);
   9062 float2 __ovld __cnfn half_powr(float2 x, float2 y);
   9063 float3 __ovld __cnfn half_powr(float3 x, float3 y);
   9064 float4 __ovld __cnfn half_powr(float4 x, float4 y);
   9065 float8 __ovld __cnfn half_powr(float8 x, float8 y);
   9066 float16 __ovld __cnfn half_powr(float16 x, float16 y);
   9067 
   9068 /**
   9069  * Compute reciprocal.
   9070  */
   9071 float __ovld __cnfn half_recip(float x);
   9072 float2 __ovld __cnfn half_recip(float2 x);
   9073 float3 __ovld __cnfn half_recip(float3 x);
   9074 float4 __ovld __cnfn half_recip(float4 x);
   9075 float8 __ovld __cnfn half_recip(float8 x);
   9076 float16 __ovld __cnfn half_recip(float16 x);
   9077 
   9078 /**
   9079  * Compute inverse square root.
   9080  */
   9081 float __ovld __cnfn half_rsqrt(float x);
   9082 float2 __ovld __cnfn half_rsqrt(float2 x);
   9083 float3 __ovld __cnfn half_rsqrt(float3 x);
   9084 float4 __ovld __cnfn half_rsqrt(float4 x);
   9085 float8 __ovld __cnfn half_rsqrt(float8 x);
   9086 float16 __ovld __cnfn half_rsqrt(float16 x);
   9087 
   9088 /**
   9089  * Compute sine. x must be in the range -2^16 ... +2^16.
   9090  */
   9091 float __ovld __cnfn half_sin(float x);
   9092 float2 __ovld __cnfn half_sin(float2 x);
   9093 float3 __ovld __cnfn half_sin(float3 x);
   9094 float4 __ovld __cnfn half_sin(float4 x);
   9095 float8 __ovld __cnfn half_sin(float8 x);
   9096 float16 __ovld __cnfn half_sin(float16 x);
   9097 
   9098 /**
   9099  * Compute square root.
   9100  */
   9101 float __ovld __cnfn half_sqrt(float x);
   9102 float2 __ovld __cnfn half_sqrt(float2 x);
   9103 float3 __ovld __cnfn half_sqrt(float3 x);
   9104 float4 __ovld __cnfn half_sqrt(float4 x);
   9105 float8 __ovld __cnfn half_sqrt(float8 x);
   9106 float16 __ovld __cnfn half_sqrt(float16 x);
   9107 
   9108 /**
   9109  * Compute tangent. x must be in the range -216 ... +216.
   9110  */
   9111 float __ovld __cnfn half_tan(float x);
   9112 float2 __ovld __cnfn half_tan(float2 x);
   9113 float3 __ovld __cnfn half_tan(float3 x);
   9114 float4 __ovld __cnfn half_tan(float4 x);
   9115 float8 __ovld __cnfn half_tan(float8 x);
   9116 float16 __ovld __cnfn half_tan(float16 x);
   9117 
   9118 /**
   9119  * Compute cosine over an implementation-defined range.
   9120  * The maximum error is implementation-defined.
   9121  */
   9122 float __ovld __cnfn native_cos(float x);
   9123 float2 __ovld __cnfn native_cos(float2 x);
   9124 float3 __ovld __cnfn native_cos(float3 x);
   9125 float4 __ovld __cnfn native_cos(float4 x);
   9126 float8 __ovld __cnfn native_cos(float8 x);
   9127 float16 __ovld __cnfn native_cos(float16 x);
   9128 
   9129 /**
   9130  * Compute x / y over an implementation-defined range.
   9131  * The maximum error is implementation-defined.
   9132  */
   9133 float __ovld __cnfn native_divide(float x, float y);
   9134 float2 __ovld __cnfn native_divide(float2 x, float2 y);
   9135 float3 __ovld __cnfn native_divide(float3 x, float3 y);
   9136 float4 __ovld __cnfn native_divide(float4 x, float4 y);
   9137 float8 __ovld __cnfn native_divide(float8 x, float8 y);
   9138 float16 __ovld __cnfn native_divide(float16 x, float16 y);
   9139 
   9140 /**
   9141  * Compute the base- e exponential of x over an
   9142  * implementation-defined range. The maximum error is
   9143  * implementation-defined.
   9144  */
   9145 float __ovld __cnfn native_exp(float x);
   9146 float2 __ovld __cnfn native_exp(float2 x);
   9147 float3 __ovld __cnfn native_exp(float3 x);
   9148 float4 __ovld __cnfn native_exp(float4 x);
   9149 float8 __ovld __cnfn native_exp(float8 x);
   9150 float16 __ovld __cnfn native_exp(float16 x);
   9151 
   9152 /**
   9153  * Compute the base- 2 exponential of x over an
   9154  * implementation-defined range. The maximum error is
   9155  * implementation-defined.
   9156  */
   9157 float __ovld __cnfn native_exp2(float x);
   9158 float2 __ovld __cnfn native_exp2(float2 x);
   9159 float3 __ovld __cnfn native_exp2(float3 x);
   9160 float4 __ovld __cnfn native_exp2(float4 x);
   9161 float8 __ovld __cnfn native_exp2(float8 x);
   9162 float16 __ovld __cnfn native_exp2(float16 x);
   9163 
   9164 /**
   9165  * Compute the base- 10 exponential of x over an
   9166  * implementation-defined range. The maximum error is
   9167  * implementation-defined.
   9168  */
   9169 float __ovld __cnfn native_exp10(float x);
   9170 float2 __ovld __cnfn native_exp10(float2 x);
   9171 float3 __ovld __cnfn native_exp10(float3 x);
   9172 float4 __ovld __cnfn native_exp10(float4 x);
   9173 float8 __ovld __cnfn native_exp10(float8 x);
   9174 float16 __ovld __cnfn native_exp10(float16 x);
   9175 
   9176 /**
   9177  * Compute natural logarithm over an implementationdefined
   9178  * range. The maximum error is implementation
   9179  * defined.
   9180  */
   9181 float __ovld __cnfn native_log(float x);
   9182 float2 __ovld __cnfn native_log(float2 x);
   9183 float3 __ovld __cnfn native_log(float3 x);
   9184 float4 __ovld __cnfn native_log(float4 x);
   9185 float8 __ovld __cnfn native_log(float8 x);
   9186 float16 __ovld __cnfn native_log(float16 x);
   9187 
   9188 /**
   9189  * Compute a base 2 logarithm over an implementationdefined
   9190  * range. The maximum error is implementationdefined.
   9191  */
   9192 float __ovld __cnfn native_log2(float x);
   9193 float2 __ovld __cnfn native_log2(float2 x);
   9194 float3 __ovld __cnfn native_log2(float3 x);
   9195 float4 __ovld __cnfn native_log2(float4 x);
   9196 float8 __ovld __cnfn native_log2(float8 x);
   9197 float16 __ovld __cnfn native_log2(float16 x);
   9198 
   9199 /**
   9200  * Compute a base 10 logarithm over an implementationdefined
   9201  * range. The maximum error is implementationdefined.
   9202  */
   9203 float __ovld __cnfn native_log10(float x);
   9204 float2 __ovld __cnfn native_log10(float2 x);
   9205 float3 __ovld __cnfn native_log10(float3 x);
   9206 float4 __ovld __cnfn native_log10(float4 x);
   9207 float8 __ovld __cnfn native_log10(float8 x);
   9208 float16 __ovld __cnfn native_log10(float16 x);
   9209 
   9210 /**
   9211  * Compute x to the power y, where x is >= 0. The range of
   9212  * x and y are implementation-defined. The maximum error
   9213  * is implementation-defined.
   9214  */
   9215 float __ovld __cnfn native_powr(float x, float y);
   9216 float2 __ovld __cnfn native_powr(float2 x, float2 y);
   9217 float3 __ovld __cnfn native_powr(float3 x, float3 y);
   9218 float4 __ovld __cnfn native_powr(float4 x, float4 y);
   9219 float8 __ovld __cnfn native_powr(float8 x, float8 y);
   9220 float16 __ovld __cnfn native_powr(float16 x, float16 y);
   9221 
   9222 /**
   9223  * Compute reciprocal over an implementation-defined
   9224  * range. The maximum error is implementation-defined.
   9225  */
   9226 float __ovld __cnfn native_recip(float x);
   9227 float2 __ovld __cnfn native_recip(float2 x);
   9228 float3 __ovld __cnfn native_recip(float3 x);
   9229 float4 __ovld __cnfn native_recip(float4 x);
   9230 float8 __ovld __cnfn native_recip(float8 x);
   9231 float16 __ovld __cnfn native_recip(float16 x);
   9232 
   9233 /**
   9234  * Compute inverse square root over an implementationdefined
   9235  * range. The maximum error is implementationdefined.
   9236  */
   9237 float __ovld __cnfn native_rsqrt(float x);
   9238 float2 __ovld __cnfn native_rsqrt(float2 x);
   9239 float3 __ovld __cnfn native_rsqrt(float3 x);
   9240 float4 __ovld __cnfn native_rsqrt(float4 x);
   9241 float8 __ovld __cnfn native_rsqrt(float8 x);
   9242 float16 __ovld __cnfn native_rsqrt(float16 x);
   9243 
   9244 /**
   9245  * Compute sine over an implementation-defined range.
   9246  * The maximum error is implementation-defined.
   9247  */
   9248 float __ovld __cnfn native_sin(float x);
   9249 float2 __ovld __cnfn native_sin(float2 x);
   9250 float3 __ovld __cnfn native_sin(float3 x);
   9251 float4 __ovld __cnfn native_sin(float4 x);
   9252 float8 __ovld __cnfn native_sin(float8 x);
   9253 float16 __ovld __cnfn native_sin(float16 x);
   9254 
   9255 /**
   9256  * Compute square root over an implementation-defined
   9257  * range. The maximum error is implementation-defined.
   9258  */
   9259 float __ovld __cnfn native_sqrt(float x);
   9260 float2 __ovld __cnfn native_sqrt(float2 x);
   9261 float3 __ovld __cnfn native_sqrt(float3 x);
   9262 float4 __ovld __cnfn native_sqrt(float4 x);
   9263 float8 __ovld __cnfn native_sqrt(float8 x);
   9264 float16 __ovld __cnfn native_sqrt(float16 x);
   9265 
   9266 /**
   9267  * Compute tangent over an implementation-defined range.
   9268  * The maximum error is implementation-defined.
   9269  */
   9270 float __ovld __cnfn native_tan(float x);
   9271 float2 __ovld __cnfn native_tan(float2 x);
   9272 float3 __ovld __cnfn native_tan(float3 x);
   9273 float4 __ovld __cnfn native_tan(float4 x);
   9274 float8 __ovld __cnfn native_tan(float8 x);
   9275 float16 __ovld __cnfn native_tan(float16 x);
   9276 
   9277 // OpenCL v1.1 s6.11.3, v1.2 s6.12.3, v2.0 s6.13.3 - Integer Functions
   9278 
   9279 /**
   9280  * Returns | x |.
   9281  */
   9282 uchar __ovld __cnfn abs(char x);
   9283 uchar __ovld __cnfn abs(uchar x);
   9284 uchar2 __ovld __cnfn abs(char2 x);
   9285 uchar2 __ovld __cnfn abs(uchar2 x);
   9286 uchar3 __ovld __cnfn abs(char3 x);
   9287 uchar3 __ovld __cnfn abs(uchar3 x);
   9288 uchar4 __ovld __cnfn abs(char4 x);
   9289 uchar4 __ovld __cnfn abs(uchar4 x);
   9290 uchar8 __ovld __cnfn abs(char8 x);
   9291 uchar8 __ovld __cnfn abs(uchar8 x);
   9292 uchar16 __ovld __cnfn abs(char16 x);
   9293 uchar16 __ovld __cnfn abs(uchar16 x);
   9294 ushort __ovld __cnfn abs(short x);
   9295 ushort __ovld __cnfn abs(ushort x);
   9296 ushort2 __ovld __cnfn abs(short2 x);
   9297 ushort2 __ovld __cnfn abs(ushort2 x);
   9298 ushort3 __ovld __cnfn abs(short3 x);
   9299 ushort3 __ovld __cnfn abs(ushort3 x);
   9300 ushort4 __ovld __cnfn abs(short4 x);
   9301 ushort4 __ovld __cnfn abs(ushort4 x);
   9302 ushort8 __ovld __cnfn abs(short8 x);
   9303 ushort8 __ovld __cnfn abs(ushort8 x);
   9304 ushort16 __ovld __cnfn abs(short16 x);
   9305 ushort16 __ovld __cnfn abs(ushort16 x);
   9306 uint __ovld __cnfn abs(int x);
   9307 uint __ovld __cnfn abs(uint x);
   9308 uint2 __ovld __cnfn abs(int2 x);
   9309 uint2 __ovld __cnfn abs(uint2 x);
   9310 uint3 __ovld __cnfn abs(int3 x);
   9311 uint3 __ovld __cnfn abs(uint3 x);
   9312 uint4 __ovld __cnfn abs(int4 x);
   9313 uint4 __ovld __cnfn abs(uint4 x);
   9314 uint8 __ovld __cnfn abs(int8 x);
   9315 uint8 __ovld __cnfn abs(uint8 x);
   9316 uint16 __ovld __cnfn abs(int16 x);
   9317 uint16 __ovld __cnfn abs(uint16 x);
   9318 ulong __ovld __cnfn abs(long x);
   9319 ulong __ovld __cnfn abs(ulong x);
   9320 ulong2 __ovld __cnfn abs(long2 x);
   9321 ulong2 __ovld __cnfn abs(ulong2 x);
   9322 ulong3 __ovld __cnfn abs(long3 x);
   9323 ulong3 __ovld __cnfn abs(ulong3 x);
   9324 ulong4 __ovld __cnfn abs(long4 x);
   9325 ulong4 __ovld __cnfn abs(ulong4 x);
   9326 ulong8 __ovld __cnfn abs(long8 x);
   9327 ulong8 __ovld __cnfn abs(ulong8 x);
   9328 ulong16 __ovld __cnfn abs(long16 x);
   9329 ulong16 __ovld __cnfn abs(ulong16 x);
   9330 
   9331 /**
   9332  * Returns | x - y | without modulo overflow.
   9333  */
   9334 uchar __ovld __cnfn abs_diff(char x, char y);
   9335 uchar __ovld __cnfn abs_diff(uchar x, uchar y);
   9336 uchar2 __ovld __cnfn abs_diff(char2 x, char2 y);
   9337 uchar2 __ovld __cnfn abs_diff(uchar2 x, uchar2 y);
   9338 uchar3 __ovld __cnfn abs_diff(char3 x, char3 y);
   9339 uchar3 __ovld __cnfn abs_diff(uchar3 x, uchar3 y);
   9340 uchar4 __ovld __cnfn abs_diff(char4 x, char4 y);
   9341 uchar4 __ovld __cnfn abs_diff(uchar4 x, uchar4 y);
   9342 uchar8 __ovld __cnfn abs_diff(char8 x, char8 y);
   9343 uchar8 __ovld __cnfn abs_diff(uchar8 x, uchar8 y);
   9344 uchar16 __ovld __cnfn abs_diff(char16 x, char16 y);
   9345 uchar16 __ovld __cnfn abs_diff(uchar16 x, uchar16 y);
   9346 ushort __ovld __cnfn abs_diff(short x, short y);
   9347 ushort __ovld __cnfn abs_diff(ushort x, ushort y);
   9348 ushort2 __ovld __cnfn abs_diff(short2 x, short2 y);
   9349 ushort2 __ovld __cnfn abs_diff(ushort2 x, ushort2 y);
   9350 ushort3 __ovld __cnfn abs_diff(short3 x, short3 y);
   9351 ushort3 __ovld __cnfn abs_diff(ushort3 x, ushort3 y);
   9352 ushort4 __ovld __cnfn abs_diff(short4 x, short4 y);
   9353 ushort4 __ovld __cnfn abs_diff(ushort4 x, ushort4 y);
   9354 ushort8 __ovld __cnfn abs_diff(short8 x, short8 y);
   9355 ushort8 __ovld __cnfn abs_diff(ushort8 x, ushort8 y);
   9356 ushort16 __ovld __cnfn abs_diff(short16 x, short16 y);
   9357 ushort16 __ovld __cnfn abs_diff(ushort16 x, ushort16 y);
   9358 uint __ovld __cnfn abs_diff(int x, int y);
   9359 uint __ovld __cnfn abs_diff(uint x, uint y);
   9360 uint2 __ovld __cnfn abs_diff(int2 x, int2 y);
   9361 uint2 __ovld __cnfn abs_diff(uint2 x, uint2 y);
   9362 uint3 __ovld __cnfn abs_diff(int3 x, int3 y);
   9363 uint3 __ovld __cnfn abs_diff(uint3 x, uint3 y);
   9364 uint4 __ovld __cnfn abs_diff(int4 x, int4 y);
   9365 uint4 __ovld __cnfn abs_diff(uint4 x, uint4 y);
   9366 uint8 __ovld __cnfn abs_diff(int8 x, int8 y);
   9367 uint8 __ovld __cnfn abs_diff(uint8 x, uint8 y);
   9368 uint16 __ovld __cnfn abs_diff(int16 x, int16 y);
   9369 uint16 __ovld __cnfn abs_diff(uint16 x, uint16 y);
   9370 ulong __ovld __cnfn abs_diff(long x, long y);
   9371 ulong __ovld __cnfn abs_diff(ulong x, ulong y);
   9372 ulong2 __ovld __cnfn abs_diff(long2 x, long2 y);
   9373 ulong2 __ovld __cnfn abs_diff(ulong2 x, ulong2 y);
   9374 ulong3 __ovld __cnfn abs_diff(long3 x, long3 y);
   9375 ulong3 __ovld __cnfn abs_diff(ulong3 x, ulong3 y);
   9376 ulong4 __ovld __cnfn abs_diff(long4 x, long4 y);
   9377 ulong4 __ovld __cnfn abs_diff(ulong4 x, ulong4 y);
   9378 ulong8 __ovld __cnfn abs_diff(long8 x, long8 y);
   9379 ulong8 __ovld __cnfn abs_diff(ulong8 x, ulong8 y);
   9380 ulong16 __ovld __cnfn abs_diff(long16 x, long16 y);
   9381 ulong16 __ovld __cnfn abs_diff(ulong16 x, ulong16 y);
   9382 
   9383 /**
   9384  * Returns x + y and saturates the result.
   9385  */
   9386 char __ovld __cnfn add_sat(char x, char y);
   9387 uchar __ovld __cnfn add_sat(uchar x, uchar y);
   9388 char2 __ovld __cnfn add_sat(char2 x, char2 y);
   9389 uchar2 __ovld __cnfn add_sat(uchar2 x, uchar2 y);
   9390 char3 __ovld __cnfn add_sat(char3 x, char3 y);
   9391 uchar3 __ovld __cnfn add_sat(uchar3 x, uchar3 y);
   9392 char4 __ovld __cnfn add_sat(char4 x, char4 y);
   9393 uchar4 __ovld __cnfn add_sat(uchar4 x, uchar4 y);
   9394 char8 __ovld __cnfn add_sat(char8 x, char8 y);
   9395 uchar8 __ovld __cnfn add_sat(uchar8 x, uchar8 y);
   9396 char16 __ovld __cnfn add_sat(char16 x, char16 y);
   9397 uchar16 __ovld __cnfn add_sat(uchar16 x, uchar16 y);
   9398 short __ovld __cnfn add_sat(short x, short y);
   9399 ushort __ovld __cnfn add_sat(ushort x, ushort y);
   9400 short2 __ovld __cnfn add_sat(short2 x, short2 y);
   9401 ushort2 __ovld __cnfn add_sat(ushort2 x, ushort2 y);
   9402 short3 __ovld __cnfn add_sat(short3 x, short3 y);
   9403 ushort3 __ovld __cnfn add_sat(ushort3 x, ushort3 y);
   9404 short4 __ovld __cnfn add_sat(short4 x, short4 y);
   9405 ushort4 __ovld __cnfn add_sat(ushort4 x, ushort4 y);
   9406 short8 __ovld __cnfn add_sat(short8 x, short8 y);
   9407 ushort8 __ovld __cnfn add_sat(ushort8 x, ushort8 y);
   9408 short16 __ovld __cnfn add_sat(short16 x, short16 y);
   9409 ushort16 __ovld __cnfn add_sat(ushort16 x, ushort16 y);
   9410 int __ovld __cnfn add_sat(int x, int y);
   9411 uint __ovld __cnfn add_sat(uint x, uint y);
   9412 int2 __ovld __cnfn add_sat(int2 x, int2 y);
   9413 uint2 __ovld __cnfn add_sat(uint2 x, uint2 y);
   9414 int3 __ovld __cnfn add_sat(int3 x, int3 y);
   9415 uint3 __ovld __cnfn add_sat(uint3 x, uint3 y);
   9416 int4 __ovld __cnfn add_sat(int4 x, int4 y);
   9417 uint4 __ovld __cnfn add_sat(uint4 x, uint4 y);
   9418 int8 __ovld __cnfn add_sat(int8 x, int8 y);
   9419 uint8 __ovld __cnfn add_sat(uint8 x, uint8 y);
   9420 int16 __ovld __cnfn add_sat(int16 x, int16 y);
   9421 uint16 __ovld __cnfn add_sat(uint16 x, uint16 y);
   9422 long __ovld __cnfn add_sat(long x, long y);
   9423 ulong __ovld __cnfn add_sat(ulong x, ulong y);
   9424 long2 __ovld __cnfn add_sat(long2 x, long2 y);
   9425 ulong2 __ovld __cnfn add_sat(ulong2 x, ulong2 y);
   9426 long3 __ovld __cnfn add_sat(long3 x, long3 y);
   9427 ulong3 __ovld __cnfn add_sat(ulong3 x, ulong3 y);
   9428 long4 __ovld __cnfn add_sat(long4 x, long4 y);
   9429 ulong4 __ovld __cnfn add_sat(ulong4 x, ulong4 y);
   9430 long8 __ovld __cnfn add_sat(long8 x, long8 y);
   9431 ulong8 __ovld __cnfn add_sat(ulong8 x, ulong8 y);
   9432 long16 __ovld __cnfn add_sat(long16 x, long16 y);
   9433 ulong16 __ovld __cnfn add_sat(ulong16 x, ulong16 y);
   9434 
   9435 /**
   9436  * Returns (x + y) >> 1. The intermediate sum does
   9437  * not modulo overflow.
   9438  */
   9439 char __ovld __cnfn hadd(char x, char y);
   9440 uchar __ovld __cnfn hadd(uchar x, uchar y);
   9441 char2 __ovld __cnfn hadd(char2 x, char2 y);
   9442 uchar2 __ovld __cnfn hadd(uchar2 x, uchar2 y);
   9443 char3 __ovld __cnfn hadd(char3 x, char3 y);
   9444 uchar3 __ovld __cnfn hadd(uchar3 x, uchar3 y);
   9445 char4 __ovld __cnfn hadd(char4 x, char4 y);
   9446 uchar4 __ovld __cnfn hadd(uchar4 x, uchar4 y);
   9447 char8 __ovld __cnfn hadd(char8 x, char8 y);
   9448 uchar8 __ovld __cnfn hadd(uchar8 x, uchar8 y);
   9449 char16 __ovld __cnfn hadd(char16 x, char16 y);
   9450 uchar16 __ovld __cnfn hadd(uchar16 x, uchar16 y);
   9451 short __ovld __cnfn hadd(short x, short y);
   9452 ushort __ovld __cnfn hadd(ushort x, ushort y);
   9453 short2 __ovld __cnfn hadd(short2 x, short2 y);
   9454 ushort2 __ovld __cnfn hadd(ushort2 x, ushort2 y);
   9455 short3 __ovld __cnfn hadd(short3 x, short3 y);
   9456 ushort3 __ovld __cnfn hadd(ushort3 x, ushort3 y);
   9457 short4 __ovld __cnfn hadd(short4 x, short4 y);
   9458 ushort4 __ovld __cnfn hadd(ushort4 x, ushort4 y);
   9459 short8 __ovld __cnfn hadd(short8 x, short8 y);
   9460 ushort8 __ovld __cnfn hadd(ushort8 x, ushort8 y);
   9461 short16 __ovld __cnfn hadd(short16 x, short16 y);
   9462 ushort16 __ovld __cnfn hadd(ushort16 x, ushort16 y);
   9463 int __ovld __cnfn hadd(int x, int y);
   9464 uint __ovld __cnfn hadd(uint x, uint y);
   9465 int2 __ovld __cnfn hadd(int2 x, int2 y);
   9466 uint2 __ovld __cnfn hadd(uint2 x, uint2 y);
   9467 int3 __ovld __cnfn hadd(int3 x, int3 y);
   9468 uint3 __ovld __cnfn hadd(uint3 x, uint3 y);
   9469 int4 __ovld __cnfn hadd(int4 x, int4 y);
   9470 uint4 __ovld __cnfn hadd(uint4 x, uint4 y);
   9471 int8 __ovld __cnfn hadd(int8 x, int8 y);
   9472 uint8 __ovld __cnfn hadd(uint8 x, uint8 y);
   9473 int16 __ovld __cnfn hadd(int16 x, int16 y);
   9474 uint16 __ovld __cnfn hadd(uint16 x, uint16 y);
   9475 long __ovld __cnfn hadd(long x, long y);
   9476 ulong __ovld __cnfn hadd(ulong x, ulong y);
   9477 long2 __ovld __cnfn hadd(long2 x, long2 y);
   9478 ulong2 __ovld __cnfn hadd(ulong2 x, ulong2 y);
   9479 long3 __ovld __cnfn hadd(long3 x, long3 y);
   9480 ulong3 __ovld __cnfn hadd(ulong3 x, ulong3 y);
   9481 long4 __ovld __cnfn hadd(long4 x, long4 y);
   9482 ulong4 __ovld __cnfn hadd(ulong4 x, ulong4 y);
   9483 long8 __ovld __cnfn hadd(long8 x, long8 y);
   9484 ulong8 __ovld __cnfn hadd(ulong8 x, ulong8 y);
   9485 long16 __ovld __cnfn hadd(long16 x, long16 y);
   9486 ulong16 __ovld __cnfn hadd(ulong16 x, ulong16 y);
   9487 
   9488 /**
   9489  * Returns (x + y + 1) >> 1. The intermediate sum
   9490  * does not modulo overflow.
   9491  */
   9492 char __ovld __cnfn rhadd(char x, char y);
   9493 uchar __ovld __cnfn rhadd(uchar x, uchar y);
   9494 char2 __ovld __cnfn rhadd(char2 x, char2 y);
   9495 uchar2 __ovld __cnfn rhadd(uchar2 x, uchar2 y);
   9496 char3 __ovld __cnfn rhadd(char3 x, char3 y);
   9497 uchar3 __ovld __cnfn rhadd(uchar3 x, uchar3 y);
   9498 char4 __ovld __cnfn rhadd(char4 x, char4 y);
   9499 uchar4 __ovld __cnfn rhadd(uchar4 x, uchar4 y);
   9500 char8 __ovld __cnfn rhadd(char8 x, char8 y);
   9501 uchar8 __ovld __cnfn rhadd(uchar8 x, uchar8 y);
   9502 char16 __ovld __cnfn rhadd(char16 x, char16 y);
   9503 uchar16 __ovld __cnfn rhadd(uchar16 x, uchar16 y);
   9504 short __ovld __cnfn rhadd(short x, short y);
   9505 ushort __ovld __cnfn rhadd(ushort x, ushort y);
   9506 short2 __ovld __cnfn rhadd(short2 x, short2 y);
   9507 ushort2 __ovld __cnfn rhadd(ushort2 x, ushort2 y);
   9508 short3 __ovld __cnfn rhadd(short3 x, short3 y);
   9509 ushort3 __ovld __cnfn rhadd(ushort3 x, ushort3 y);
   9510 short4 __ovld __cnfn rhadd(short4 x, short4 y);
   9511 ushort4 __ovld __cnfn rhadd(ushort4 x, ushort4 y);
   9512 short8 __ovld __cnfn rhadd(short8 x, short8 y);
   9513 ushort8 __ovld __cnfn rhadd(ushort8 x, ushort8 y);
   9514 short16 __ovld __cnfn rhadd(short16 x, short16 y);
   9515 ushort16 __ovld __cnfn rhadd(ushort16 x, ushort16 y);
   9516 int __ovld __cnfn rhadd(int x, int y);
   9517 uint __ovld __cnfn rhadd(uint x, uint y);
   9518 int2 __ovld __cnfn rhadd(int2 x, int2 y);
   9519 uint2 __ovld __cnfn rhadd(uint2 x, uint2 y);
   9520 int3 __ovld __cnfn rhadd(int3 x, int3 y);
   9521 uint3 __ovld __cnfn rhadd(uint3 x, uint3 y);
   9522 int4 __ovld __cnfn rhadd(int4 x, int4 y);
   9523 uint4 __ovld __cnfn rhadd(uint4 x, uint4 y);
   9524 int8 __ovld __cnfn rhadd(int8 x, int8 y);
   9525 uint8 __ovld __cnfn rhadd(uint8 x, uint8 y);
   9526 int16 __ovld __cnfn rhadd(int16 x, int16 y);
   9527 uint16 __ovld __cnfn rhadd(uint16 x, uint16 y);
   9528 long __ovld __cnfn rhadd(long x, long y);
   9529 ulong __ovld __cnfn rhadd(ulong x, ulong y);
   9530 long2 __ovld __cnfn rhadd(long2 x, long2 y);
   9531 ulong2 __ovld __cnfn rhadd(ulong2 x, ulong2 y);
   9532 long3 __ovld __cnfn rhadd(long3 x, long3 y);
   9533 ulong3 __ovld __cnfn rhadd(ulong3 x, ulong3 y);
   9534 long4 __ovld __cnfn rhadd(long4 x, long4 y);
   9535 ulong4 __ovld __cnfn rhadd(ulong4 x, ulong4 y);
   9536 long8 __ovld __cnfn rhadd(long8 x, long8 y);
   9537 ulong8 __ovld __cnfn rhadd(ulong8 x, ulong8 y);
   9538 long16 __ovld __cnfn rhadd(long16 x, long16 y);
   9539 ulong16 __ovld __cnfn rhadd(ulong16 x, ulong16 y);
   9540 
   9541 /**
   9542  * Returns min(max(x, minval), maxval).
   9543  * Results are undefined if minval > maxval.
   9544  */
   9545 char __ovld __cnfn clamp(char x, char minval, char maxval);
   9546 uchar __ovld __cnfn clamp(uchar x, uchar minval, uchar maxval);
   9547 char2 __ovld __cnfn clamp(char2 x, char2 minval, char2 maxval);
   9548 uchar2 __ovld __cnfn clamp(uchar2 x, uchar2 minval, uchar2 maxval);
   9549 char3 __ovld __cnfn clamp(char3 x, char3 minval, char3 maxval);
   9550 uchar3 __ovld __cnfn clamp(uchar3 x, uchar3 minval, uchar3 maxval);
   9551 char4 __ovld __cnfn clamp(char4 x, char4 minval, char4 maxval);
   9552 uchar4 __ovld __cnfn clamp(uchar4 x, uchar4 minval, uchar4 maxval);
   9553 char8 __ovld __cnfn clamp(char8 x, char8 minval, char8 maxval);
   9554 uchar8 __ovld __cnfn clamp(uchar8 x, uchar8 minval, uchar8 maxval);
   9555 char16 __ovld __cnfn clamp(char16 x, char16 minval, char16 maxval);
   9556 uchar16 __ovld __cnfn clamp(uchar16 x, uchar16 minval, uchar16 maxval);
   9557 short __ovld __cnfn clamp(short x, short minval, short maxval);
   9558 ushort __ovld __cnfn clamp(ushort x, ushort minval, ushort maxval);
   9559 short2 __ovld __cnfn clamp(short2 x, short2 minval, short2 maxval);
   9560 ushort2 __ovld __cnfn clamp(ushort2 x, ushort2 minval, ushort2 maxval);
   9561 short3 __ovld __cnfn clamp(short3 x, short3 minval, short3 maxval);
   9562 ushort3 __ovld __cnfn clamp(ushort3 x, ushort3 minval, ushort3 maxval);
   9563 short4 __ovld __cnfn clamp(short4 x, short4 minval, short4 maxval);
   9564 ushort4 __ovld __cnfn clamp(ushort4 x, ushort4 minval, ushort4 maxval);
   9565 short8 __ovld __cnfn clamp(short8 x, short8 minval, short8 maxval);
   9566 ushort8 __ovld __cnfn clamp(ushort8 x, ushort8 minval, ushort8 maxval);
   9567 short16 __ovld __cnfn clamp(short16 x, short16 minval, short16 maxval);
   9568 ushort16 __ovld __cnfn clamp(ushort16 x, ushort16 minval, ushort16 maxval);
   9569 int __ovld __cnfn clamp(int x, int minval, int maxval);
   9570 uint __ovld __cnfn clamp(uint x, uint minval, uint maxval);
   9571 int2 __ovld __cnfn clamp(int2 x, int2 minval, int2 maxval);
   9572 uint2 __ovld __cnfn clamp(uint2 x, uint2 minval, uint2 maxval);
   9573 int3 __ovld __cnfn clamp(int3 x, int3 minval, int3 maxval);
   9574 uint3 __ovld __cnfn clamp(uint3 x, uint3 minval, uint3 maxval);
   9575 int4 __ovld __cnfn clamp(int4 x, int4 minval, int4 maxval);
   9576 uint4 __ovld __cnfn clamp(uint4 x, uint4 minval, uint4 maxval);
   9577 int8 __ovld __cnfn clamp(int8 x, int8 minval, int8 maxval);
   9578 uint8 __ovld __cnfn clamp(uint8 x, uint8 minval, uint8 maxval);
   9579 int16 __ovld __cnfn clamp(int16 x, int16 minval, int16 maxval);
   9580 uint16 __ovld __cnfn clamp(uint16 x, uint16 minval, uint16 maxval);
   9581 long __ovld __cnfn clamp(long x, long minval, long maxval);
   9582 ulong __ovld __cnfn clamp(ulong x, ulong minval, ulong maxval);
   9583 long2 __ovld __cnfn clamp(long2 x, long2 minval, long2 maxval);
   9584 ulong2 __ovld __cnfn clamp(ulong2 x, ulong2 minval, ulong2 maxval);
   9585 long3 __ovld __cnfn clamp(long3 x, long3 minval, long3 maxval);
   9586 ulong3 __ovld __cnfn clamp(ulong3 x, ulong3 minval, ulong3 maxval);
   9587 long4 __ovld __cnfn clamp(long4 x, long4 minval, long4 maxval);
   9588 ulong4 __ovld __cnfn clamp(ulong4 x, ulong4 minval, ulong4 maxval);
   9589 long8 __ovld __cnfn clamp(long8 x, long8 minval, long8 maxval);
   9590 ulong8 __ovld __cnfn clamp(ulong8 x, ulong8 minval, ulong8 maxval);
   9591 long16 __ovld __cnfn clamp(long16 x, long16 minval, long16 maxval);
   9592 ulong16 __ovld __cnfn clamp(ulong16 x, ulong16 minval, ulong16 maxval);
   9593 char __ovld __cnfn clamp(char x, char minval, char maxval);
   9594 uchar __ovld __cnfn clamp(uchar x, uchar minval, uchar maxval);
   9595 char2 __ovld __cnfn clamp(char2 x, char minval, char maxval);
   9596 uchar2 __ovld __cnfn clamp(uchar2 x, uchar minval, uchar maxval);
   9597 char3 __ovld __cnfn clamp(char3 x, char minval, char maxval);
   9598 uchar3 __ovld __cnfn clamp(uchar3 x, uchar minval, uchar maxval);
   9599 char4 __ovld __cnfn clamp(char4 x, char minval, char maxval);
   9600 uchar4 __ovld __cnfn clamp(uchar4 x, uchar minval, uchar maxval);
   9601 char8 __ovld __cnfn clamp(char8 x, char minval, char maxval);
   9602 uchar8 __ovld __cnfn clamp(uchar8 x, uchar minval, uchar maxval);
   9603 char16 __ovld __cnfn clamp(char16 x, char minval, char maxval);
   9604 uchar16 __ovld __cnfn clamp(uchar16 x, uchar minval, uchar maxval);
   9605 short __ovld __cnfn clamp(short x, short minval, short maxval);
   9606 ushort __ovld __cnfn clamp(ushort x, ushort minval, ushort maxval);
   9607 short2 __ovld __cnfn clamp(short2 x, short minval, short maxval);
   9608 ushort2 __ovld __cnfn clamp(ushort2 x, ushort minval, ushort maxval);
   9609 short3 __ovld __cnfn clamp(short3 x, short minval, short maxval);
   9610 ushort3 __ovld __cnfn clamp(ushort3 x, ushort minval, ushort maxval);
   9611 short4 __ovld __cnfn clamp(short4 x, short minval, short maxval);
   9612 ushort4 __ovld __cnfn clamp(ushort4 x, ushort minval, ushort maxval);
   9613 short8 __ovld __cnfn clamp(short8 x, short minval, short maxval);
   9614 ushort8 __ovld __cnfn clamp(ushort8 x, ushort minval, ushort maxval);
   9615 short16 __ovld __cnfn clamp(short16 x, short minval, short maxval);
   9616 ushort16 __ovld __cnfn clamp(ushort16 x, ushort minval, ushort maxval);
   9617 int __ovld __cnfn clamp(int x, int minval, int maxval);
   9618 uint __ovld __cnfn clamp(uint x, uint minval, uint maxval);
   9619 int2 __ovld __cnfn clamp(int2 x, int minval, int maxval);
   9620 uint2 __ovld __cnfn clamp(uint2 x, uint minval, uint maxval);
   9621 int3 __ovld __cnfn clamp(int3 x, int minval, int maxval);
   9622 uint3 __ovld __cnfn clamp(uint3 x, uint minval, uint maxval);
   9623 int4 __ovld __cnfn clamp(int4 x, int minval, int maxval);
   9624 uint4 __ovld __cnfn clamp(uint4 x, uint minval, uint maxval);
   9625 int8 __ovld __cnfn clamp(int8 x, int minval, int maxval);
   9626 uint8 __ovld __cnfn clamp(uint8 x, uint minval, uint maxval);
   9627 int16 __ovld __cnfn clamp(int16 x, int minval, int maxval);
   9628 uint16 __ovld __cnfn clamp(uint16 x, uint minval, uint maxval);
   9629 long __ovld __cnfn clamp(long x, long minval, long maxval);
   9630 ulong __ovld __cnfn clamp(ulong x, ulong minval, ulong maxval);
   9631 long2 __ovld __cnfn clamp(long2 x, long minval, long maxval);
   9632 ulong2 __ovld __cnfn clamp(ulong2 x, ulong minval, ulong maxval);
   9633 long3 __ovld __cnfn clamp(long3 x, long minval, long maxval);
   9634 ulong3 __ovld __cnfn clamp(ulong3 x, ulong minval, ulong maxval);
   9635 long4 __ovld __cnfn clamp(long4 x, long minval, long maxval);
   9636 ulong4 __ovld __cnfn clamp(ulong4 x, ulong minval, ulong maxval);
   9637 long8 __ovld __cnfn clamp(long8 x, long minval, long maxval);
   9638 ulong8 __ovld __cnfn clamp(ulong8 x, ulong minval, ulong maxval);
   9639 long16 __ovld __cnfn clamp(long16 x, long minval, long maxval);
   9640 ulong16 __ovld __cnfn clamp(ulong16 x, ulong minval, ulong maxval);
   9641 
   9642 /**
   9643  * Returns the number of leading 0-bits in x, starting
   9644  * at the most significant bit position.
   9645  */
   9646 char __ovld __cnfn clz(char x);
   9647 uchar __ovld __cnfn clz(uchar x);
   9648 char2 __ovld __cnfn clz(char2 x);
   9649 uchar2 __ovld __cnfn clz(uchar2 x);
   9650 char3 __ovld __cnfn clz(char3 x);
   9651 uchar3 __ovld __cnfn clz(uchar3 x);
   9652 char4 __ovld __cnfn clz(char4 x);
   9653 uchar4 __ovld __cnfn clz(uchar4 x);
   9654 char8 __ovld __cnfn clz(char8 x);
   9655 uchar8 __ovld __cnfn clz(uchar8 x);
   9656 char16 __ovld __cnfn clz(char16 x);
   9657 uchar16 __ovld __cnfn clz(uchar16 x);
   9658 short __ovld __cnfn clz(short x);
   9659 ushort __ovld __cnfn clz(ushort x);
   9660 short2 __ovld __cnfn clz(short2 x);
   9661 ushort2 __ovld __cnfn clz(ushort2 x);
   9662 short3 __ovld __cnfn clz(short3 x);
   9663 ushort3 __ovld __cnfn clz(ushort3 x);
   9664 short4 __ovld __cnfn clz(short4 x);
   9665 ushort4 __ovld __cnfn clz(ushort4 x);
   9666 short8 __ovld __cnfn clz(short8 x);
   9667 ushort8 __ovld __cnfn clz(ushort8 x);
   9668 short16 __ovld __cnfn clz(short16 x);
   9669 ushort16 __ovld __cnfn clz(ushort16 x);
   9670 int __ovld __cnfn clz(int x);
   9671 uint __ovld __cnfn clz(uint x);
   9672 int2 __ovld __cnfn clz(int2 x);
   9673 uint2 __ovld __cnfn clz(uint2 x);
   9674 int3 __ovld __cnfn clz(int3 x);
   9675 uint3 __ovld __cnfn clz(uint3 x);
   9676 int4 __ovld __cnfn clz(int4 x);
   9677 uint4 __ovld __cnfn clz(uint4 x);
   9678 int8 __ovld __cnfn clz(int8 x);
   9679 uint8 __ovld __cnfn clz(uint8 x);
   9680 int16 __ovld __cnfn clz(int16 x);
   9681 uint16 __ovld __cnfn clz(uint16 x);
   9682 long __ovld __cnfn clz(long x);
   9683 ulong __ovld __cnfn clz(ulong x);
   9684 long2 __ovld __cnfn clz(long2 x);
   9685 ulong2 __ovld __cnfn clz(ulong2 x);
   9686 long3 __ovld __cnfn clz(long3 x);
   9687 ulong3 __ovld __cnfn clz(ulong3 x);
   9688 long4 __ovld __cnfn clz(long4 x);
   9689 ulong4 __ovld __cnfn clz(ulong4 x);
   9690 long8 __ovld __cnfn clz(long8 x);
   9691 ulong8 __ovld __cnfn clz(ulong8 x);
   9692 long16 __ovld __cnfn clz(long16 x);
   9693 ulong16 __ovld __cnfn clz(ulong16 x);
   9694 
   9695 /**
   9696  * Returns the count of trailing 0-bits in x. If x is 0,
   9697  * returns the size in bits of the type of x or
   9698  * component type of x, if x is a vector.
   9699  */
   9700 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   9701 char __ovld ctz(char x);
   9702 uchar __ovld ctz(uchar x);
   9703 char2 __ovld ctz(char2 x);
   9704 uchar2 __ovld ctz(uchar2 x);
   9705 char3 __ovld ctz(char3 x);
   9706 uchar3 __ovld ctz(uchar3 x);
   9707 char4 __ovld ctz(char4 x);
   9708 uchar4 __ovld ctz(uchar4 x);
   9709 char8 __ovld ctz(char8 x);
   9710 uchar8 __ovld ctz(uchar8 x);
   9711 char16 __ovld ctz(char16 x);
   9712 uchar16 __ovld ctz(uchar16 x);
   9713 short __ovld ctz(short x);
   9714 ushort __ovld ctz(ushort x);
   9715 short2 __ovld ctz(short2 x);
   9716 ushort2 __ovld ctz(ushort2 x);
   9717 short3 __ovld ctz(short3 x);
   9718 ushort3 __ovld ctz(ushort3 x);
   9719 short4 __ovld ctz(short4 x);
   9720 ushort4 __ovld ctz(ushort4 x);
   9721 short8 __ovld ctz(short8 x);
   9722 ushort8 __ovld ctz(ushort8 x);
   9723 short16 __ovld ctz(short16 x);
   9724 ushort16 __ovld ctz(ushort16 x);
   9725 int __ovld ctz(int x);
   9726 uint __ovld ctz(uint x);
   9727 int2 __ovld ctz(int2 x);
   9728 uint2 __ovld ctz(uint2 x);
   9729 int3 __ovld ctz(int3 x);
   9730 uint3 __ovld ctz(uint3 x);
   9731 int4 __ovld ctz(int4 x);
   9732 uint4 __ovld ctz(uint4 x);
   9733 int8 __ovld ctz(int8 x);
   9734 uint8 __ovld ctz(uint8 x);
   9735 int16 __ovld ctz(int16 x);
   9736 uint16 __ovld ctz(uint16 x);
   9737 long __ovld ctz(long x);
   9738 ulong __ovld ctz(ulong x);
   9739 long2 __ovld ctz(long2 x);
   9740 ulong2 __ovld ctz(ulong2 x);
   9741 long3 __ovld ctz(long3 x);
   9742 ulong3 __ovld ctz(ulong3 x);
   9743 long4 __ovld ctz(long4 x);
   9744 ulong4 __ovld ctz(ulong4 x);
   9745 long8 __ovld ctz(long8 x);
   9746 ulong8 __ovld ctz(ulong8 x);
   9747 long16 __ovld ctz(long16 x);
   9748 ulong16 __ovld ctz(ulong16 x);
   9749 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   9750 
   9751 /**
   9752  * Returns mul_hi(a, b) + c.
   9753  */
   9754 char __ovld __cnfn mad_hi(char a, char b, char c);
   9755 uchar __ovld __cnfn mad_hi(uchar a, uchar b, uchar c);
   9756 char2 __ovld __cnfn mad_hi(char2 a, char2 b, char2 c);
   9757 uchar2 __ovld __cnfn mad_hi(uchar2 a, uchar2 b, uchar2 c);
   9758 char3 __ovld __cnfn mad_hi(char3 a, char3 b, char3 c);
   9759 uchar3 __ovld __cnfn mad_hi(uchar3 a, uchar3 b, uchar3 c);
   9760 char4 __ovld __cnfn mad_hi(char4 a, char4 b, char4 c);
   9761 uchar4 __ovld __cnfn mad_hi(uchar4 a, uchar4 b, uchar4 c);
   9762 char8 __ovld __cnfn mad_hi(char8 a, char8 b, char8 c);
   9763 uchar8 __ovld __cnfn mad_hi(uchar8 a, uchar8 b, uchar8 c);
   9764 char16 __ovld __cnfn mad_hi(char16 a, char16 b, char16 c);
   9765 uchar16 __ovld __cnfn mad_hi(uchar16 a, uchar16 b, uchar16 c);
   9766 short __ovld __cnfn mad_hi(short a, short b, short c);
   9767 ushort __ovld __cnfn mad_hi(ushort a, ushort b, ushort c);
   9768 short2 __ovld __cnfn mad_hi(short2 a, short2 b, short2 c);
   9769 ushort2 __ovld __cnfn mad_hi(ushort2 a, ushort2 b, ushort2 c);
   9770 short3 __ovld __cnfn mad_hi(short3 a, short3 b, short3 c);
   9771 ushort3 __ovld __cnfn mad_hi(ushort3 a, ushort3 b, ushort3 c);
   9772 short4 __ovld __cnfn mad_hi(short4 a, short4 b, short4 c);
   9773 ushort4 __ovld __cnfn mad_hi(ushort4 a, ushort4 b, ushort4 c);
   9774 short8 __ovld __cnfn mad_hi(short8 a, short8 b, short8 c);
   9775 ushort8 __ovld __cnfn mad_hi(ushort8 a, ushort8 b, ushort8 c);
   9776 short16 __ovld __cnfn mad_hi(short16 a, short16 b, short16 c);
   9777 ushort16 __ovld __cnfn mad_hi(ushort16 a, ushort16 b, ushort16 c);
   9778 int __ovld __cnfn mad_hi(int a, int b, int c);
   9779 uint __ovld __cnfn mad_hi(uint a, uint b, uint c);
   9780 int2 __ovld __cnfn mad_hi(int2 a, int2 b, int2 c);
   9781 uint2 __ovld __cnfn mad_hi(uint2 a, uint2 b, uint2 c);
   9782 int3 __ovld __cnfn mad_hi(int3 a, int3 b, int3 c);
   9783 uint3 __ovld __cnfn mad_hi(uint3 a, uint3 b, uint3 c);
   9784 int4 __ovld __cnfn mad_hi(int4 a, int4 b, int4 c);
   9785 uint4 __ovld __cnfn mad_hi(uint4 a, uint4 b, uint4 c);
   9786 int8 __ovld __cnfn mad_hi(int8 a, int8 b, int8 c);
   9787 uint8 __ovld __cnfn mad_hi(uint8 a, uint8 b, uint8 c);
   9788 int16 __ovld __cnfn mad_hi(int16 a, int16 b, int16 c);
   9789 uint16 __ovld __cnfn mad_hi(uint16 a, uint16 b, uint16 c);
   9790 long __ovld __cnfn mad_hi(long a, long b, long c);
   9791 ulong __ovld __cnfn mad_hi(ulong a, ulong b, ulong c);
   9792 long2 __ovld __cnfn mad_hi(long2 a, long2 b, long2 c);
   9793 ulong2 __ovld __cnfn mad_hi(ulong2 a, ulong2 b, ulong2 c);
   9794 long3 __ovld __cnfn mad_hi(long3 a, long3 b, long3 c);
   9795 ulong3 __ovld __cnfn mad_hi(ulong3 a, ulong3 b, ulong3 c);
   9796 long4 __ovld __cnfn mad_hi(long4 a, long4 b, long4 c);
   9797 ulong4 __ovld __cnfn mad_hi(ulong4 a, ulong4 b, ulong4 c);
   9798 long8 __ovld __cnfn mad_hi(long8 a, long8 b, long8 c);
   9799 ulong8 __ovld __cnfn mad_hi(ulong8 a, ulong8 b, ulong8 c);
   9800 long16 __ovld __cnfn mad_hi(long16 a, long16 b, long16 c);
   9801 ulong16 __ovld __cnfn mad_hi(ulong16 a, ulong16 b, ulong16 c);
   9802 
   9803 /**
   9804  * Returns a * b + c and saturates the result.
   9805  */
   9806 char __ovld __cnfn mad_sat(char a, char b, char c);
   9807 uchar __ovld __cnfn mad_sat(uchar a, uchar b, uchar c);
   9808 char2 __ovld __cnfn mad_sat(char2 a, char2 b, char2 c);
   9809 uchar2 __ovld __cnfn mad_sat(uchar2 a, uchar2 b, uchar2 c);
   9810 char3 __ovld __cnfn mad_sat(char3 a, char3 b, char3 c);
   9811 uchar3 __ovld __cnfn mad_sat(uchar3 a, uchar3 b, uchar3 c);
   9812 char4 __ovld __cnfn mad_sat(char4 a, char4 b, char4 c);
   9813 uchar4 __ovld __cnfn mad_sat(uchar4 a, uchar4 b, uchar4 c);
   9814 char8 __ovld __cnfn mad_sat(char8 a, char8 b, char8 c);
   9815 uchar8 __ovld __cnfn mad_sat(uchar8 a, uchar8 b, uchar8 c);
   9816 char16 __ovld __cnfn mad_sat(char16 a, char16 b, char16 c);
   9817 uchar16 __ovld __cnfn mad_sat(uchar16 a, uchar16 b, uchar16 c);
   9818 short __ovld __cnfn mad_sat(short a, short b, short c);
   9819 ushort __ovld __cnfn mad_sat(ushort a, ushort b, ushort c);
   9820 short2 __ovld __cnfn mad_sat(short2 a, short2 b, short2 c);
   9821 ushort2 __ovld __cnfn mad_sat(ushort2 a, ushort2 b, ushort2 c);
   9822 short3 __ovld __cnfn mad_sat(short3 a, short3 b, short3 c);
   9823 ushort3 __ovld __cnfn mad_sat(ushort3 a, ushort3 b, ushort3 c);
   9824 short4 __ovld __cnfn mad_sat(short4 a, short4 b, short4 c);
   9825 ushort4 __ovld __cnfn mad_sat(ushort4 a, ushort4 b, ushort4 c);
   9826 short8 __ovld __cnfn mad_sat(short8 a, short8 b, short8 c);
   9827 ushort8 __ovld __cnfn mad_sat(ushort8 a, ushort8 b, ushort8 c);
   9828 short16 __ovld __cnfn mad_sat(short16 a, short16 b, short16 c);
   9829 ushort16 __ovld __cnfn mad_sat(ushort16 a, ushort16 b, ushort16 c);
   9830 int __ovld __cnfn mad_sat(int a, int b, int c);
   9831 uint __ovld __cnfn mad_sat(uint a, uint b, uint c);
   9832 int2 __ovld __cnfn mad_sat(int2 a, int2 b, int2 c);
   9833 uint2 __ovld __cnfn mad_sat(uint2 a, uint2 b, uint2 c);
   9834 int3 __ovld __cnfn mad_sat(int3 a, int3 b, int3 c);
   9835 uint3 __ovld __cnfn mad_sat(uint3 a, uint3 b, uint3 c);
   9836 int4 __ovld __cnfn mad_sat(int4 a, int4 b, int4 c);
   9837 uint4 __ovld __cnfn mad_sat(uint4 a, uint4 b, uint4 c);
   9838 int8 __ovld __cnfn mad_sat(int8 a, int8 b, int8 c);
   9839 uint8 __ovld __cnfn mad_sat(uint8 a, uint8 b, uint8 c);
   9840 int16 __ovld __cnfn mad_sat(int16 a, int16 b, int16 c);
   9841 uint16 __ovld __cnfn mad_sat(uint16 a, uint16 b, uint16 c);
   9842 long __ovld __cnfn mad_sat(long a, long b, long c);
   9843 ulong __ovld __cnfn mad_sat(ulong a, ulong b, ulong c);
   9844 long2 __ovld __cnfn mad_sat(long2 a, long2 b, long2 c);
   9845 ulong2 __ovld __cnfn mad_sat(ulong2 a, ulong2 b, ulong2 c);
   9846 long3 __ovld __cnfn mad_sat(long3 a, long3 b, long3 c);
   9847 ulong3 __ovld __cnfn mad_sat(ulong3 a, ulong3 b, ulong3 c);
   9848 long4 __ovld __cnfn mad_sat(long4 a, long4 b, long4 c);
   9849 ulong4 __ovld __cnfn mad_sat(ulong4 a, ulong4 b, ulong4 c);
   9850 long8 __ovld __cnfn mad_sat(long8 a, long8 b, long8 c);
   9851 ulong8 __ovld __cnfn mad_sat(ulong8 a, ulong8 b, ulong8 c);
   9852 long16 __ovld __cnfn mad_sat(long16 a, long16 b, long16 c);
   9853 ulong16 __ovld __cnfn mad_sat(ulong16 a, ulong16 b, ulong16 c);
   9854 
   9855 /**
   9856  * Returns y if x < y, otherwise it returns x.
   9857  */
   9858 char __ovld __cnfn max(char x, char y);
   9859 uchar __ovld __cnfn max(uchar x, uchar y);
   9860 char2 __ovld __cnfn max(char2 x, char2 y);
   9861 uchar2 __ovld __cnfn max(uchar2 x, uchar2 y);
   9862 char3 __ovld __cnfn max(char3 x, char3 y);
   9863 uchar3 __ovld __cnfn max(uchar3 x, uchar3 y);
   9864 char4 __ovld __cnfn max(char4 x, char4 y);
   9865 uchar4 __ovld __cnfn max(uchar4 x, uchar4 y);
   9866 char8 __ovld __cnfn max(char8 x, char8 y);
   9867 uchar8 __ovld __cnfn max(uchar8 x, uchar8 y);
   9868 char16 __ovld __cnfn max(char16 x, char16 y);
   9869 uchar16 __ovld __cnfn max(uchar16 x, uchar16 y);
   9870 short __ovld __cnfn max(short x, short y);
   9871 ushort __ovld __cnfn max(ushort x, ushort y);
   9872 short2 __ovld __cnfn max(short2 x, short2 y);
   9873 ushort2 __ovld __cnfn max(ushort2 x, ushort2 y);
   9874 short3 __ovld __cnfn max(short3 x, short3 y);
   9875 ushort3 __ovld __cnfn max(ushort3 x, ushort3 y);
   9876 short4 __ovld __cnfn max(short4 x, short4 y);
   9877 ushort4 __ovld __cnfn max(ushort4 x, ushort4 y);
   9878 short8 __ovld __cnfn max(short8 x, short8 y);
   9879 ushort8 __ovld __cnfn max(ushort8 x, ushort8 y);
   9880 short16 __ovld __cnfn max(short16 x, short16 y);
   9881 ushort16 __ovld __cnfn max(ushort16 x, ushort16 y);
   9882 int __ovld __cnfn max(int x, int y);
   9883 uint __ovld __cnfn max(uint x, uint y);
   9884 int2 __ovld __cnfn max(int2 x, int2 y);
   9885 uint2 __ovld __cnfn max(uint2 x, uint2 y);
   9886 int3 __ovld __cnfn max(int3 x, int3 y);
   9887 uint3 __ovld __cnfn max(uint3 x, uint3 y);
   9888 int4 __ovld __cnfn max(int4 x, int4 y);
   9889 uint4 __ovld __cnfn max(uint4 x, uint4 y);
   9890 int8 __ovld __cnfn max(int8 x, int8 y);
   9891 uint8 __ovld __cnfn max(uint8 x, uint8 y);
   9892 int16 __ovld __cnfn max(int16 x, int16 y);
   9893 uint16 __ovld __cnfn max(uint16 x, uint16 y);
   9894 long __ovld __cnfn max(long x, long y);
   9895 ulong __ovld __cnfn max(ulong x, ulong y);
   9896 long2 __ovld __cnfn max(long2 x, long2 y);
   9897 ulong2 __ovld __cnfn max(ulong2 x, ulong2 y);
   9898 long3 __ovld __cnfn max(long3 x, long3 y);
   9899 ulong3 __ovld __cnfn max(ulong3 x, ulong3 y);
   9900 long4 __ovld __cnfn max(long4 x, long4 y);
   9901 ulong4 __ovld __cnfn max(ulong4 x, ulong4 y);
   9902 long8 __ovld __cnfn max(long8 x, long8 y);
   9903 ulong8 __ovld __cnfn max(ulong8 x, ulong8 y);
   9904 long16 __ovld __cnfn max(long16 x, long16 y);
   9905 ulong16 __ovld __cnfn max(ulong16 x, ulong16 y);
   9906 char __ovld __cnfn max(char x, char y);
   9907 uchar __ovld __cnfn max(uchar x, uchar y);
   9908 char2 __ovld __cnfn max(char2 x, char y);
   9909 uchar2 __ovld __cnfn max(uchar2 x, uchar y);
   9910 char3 __ovld __cnfn max(char3 x, char y);
   9911 uchar3 __ovld __cnfn max(uchar3 x, uchar y);
   9912 char4 __ovld __cnfn max(char4 x, char y);
   9913 uchar4 __ovld __cnfn max(uchar4 x, uchar y);
   9914 char8 __ovld __cnfn max(char8 x, char y);
   9915 uchar8 __ovld __cnfn max(uchar8 x, uchar y);
   9916 char16 __ovld __cnfn max(char16 x, char y);
   9917 uchar16 __ovld __cnfn max(uchar16 x, uchar y);
   9918 short __ovld __cnfn max(short x, short y);
   9919 ushort __ovld __cnfn max(ushort x, ushort y);
   9920 short2 __ovld __cnfn max(short2 x, short y);
   9921 ushort2 __ovld __cnfn max(ushort2 x, ushort y);
   9922 short3 __ovld __cnfn max(short3 x, short y);
   9923 ushort3 __ovld __cnfn max(ushort3 x, ushort y);
   9924 short4 __ovld __cnfn max(short4 x, short y);
   9925 ushort4 __ovld __cnfn max(ushort4 x, ushort y);
   9926 short8 __ovld __cnfn max(short8 x, short y);
   9927 ushort8 __ovld __cnfn max(ushort8 x, ushort y);
   9928 short16 __ovld __cnfn max(short16 x, short y);
   9929 ushort16 __ovld __cnfn max(ushort16 x, ushort y);
   9930 int __ovld __cnfn max(int x, int y);
   9931 uint __ovld __cnfn max(uint x, uint y);
   9932 int2 __ovld __cnfn max(int2 x, int y);
   9933 uint2 __ovld __cnfn max(uint2 x, uint y);
   9934 int3 __ovld __cnfn max(int3 x, int y);
   9935 uint3 __ovld __cnfn max(uint3 x, uint y);
   9936 int4 __ovld __cnfn max(int4 x, int y);
   9937 uint4 __ovld __cnfn max(uint4 x, uint y);
   9938 int8 __ovld __cnfn max(int8 x, int y);
   9939 uint8 __ovld __cnfn max(uint8 x, uint y);
   9940 int16 __ovld __cnfn max(int16 x, int y);
   9941 uint16 __ovld __cnfn max(uint16 x, uint y);
   9942 long __ovld __cnfn max(long x, long y);
   9943 ulong __ovld __cnfn max(ulong x, ulong y);
   9944 long2 __ovld __cnfn max(long2 x, long y);
   9945 ulong2 __ovld __cnfn max(ulong2 x, ulong y);
   9946 long3 __ovld __cnfn max(long3 x, long y);
   9947 ulong3 __ovld __cnfn max(ulong3 x, ulong y);
   9948 long4 __ovld __cnfn max(long4 x, long y);
   9949 ulong4 __ovld __cnfn max(ulong4 x, ulong y);
   9950 long8 __ovld __cnfn max(long8 x, long y);
   9951 ulong8 __ovld __cnfn max(ulong8 x, ulong y);
   9952 long16 __ovld __cnfn max(long16 x, long y);
   9953 ulong16 __ovld __cnfn max(ulong16 x, ulong y);
   9954 
   9955 /**
   9956  * Returns y if y < x, otherwise it returns x.
   9957  */
   9958 char __ovld __cnfn min(char x, char y);
   9959 uchar __ovld __cnfn min(uchar x, uchar y);
   9960 char2 __ovld __cnfn min(char2 x, char2 y);
   9961 uchar2 __ovld __cnfn min(uchar2 x, uchar2 y);
   9962 char3 __ovld __cnfn min(char3 x, char3 y);
   9963 uchar3 __ovld __cnfn min(uchar3 x, uchar3 y);
   9964 char4 __ovld __cnfn min(char4 x, char4 y);
   9965 uchar4 __ovld __cnfn min(uchar4 x, uchar4 y);
   9966 char8 __ovld __cnfn min(char8 x, char8 y);
   9967 uchar8 __ovld __cnfn min(uchar8 x, uchar8 y);
   9968 char16 __ovld __cnfn min(char16 x, char16 y);
   9969 uchar16 __ovld __cnfn min(uchar16 x, uchar16 y);
   9970 short __ovld __cnfn min(short x, short y);
   9971 ushort __ovld __cnfn min(ushort x, ushort y);
   9972 short2 __ovld __cnfn min(short2 x, short2 y);
   9973 ushort2 __ovld __cnfn min(ushort2 x, ushort2 y);
   9974 short3 __ovld __cnfn min(short3 x, short3 y);
   9975 ushort3 __ovld __cnfn min(ushort3 x, ushort3 y);
   9976 short4 __ovld __cnfn min(short4 x, short4 y);
   9977 ushort4 __ovld __cnfn min(ushort4 x, ushort4 y);
   9978 short8 __ovld __cnfn min(short8 x, short8 y);
   9979 ushort8 __ovld __cnfn min(ushort8 x, ushort8 y);
   9980 short16 __ovld __cnfn min(short16 x, short16 y);
   9981 ushort16 __ovld __cnfn min(ushort16 x, ushort16 y);
   9982 int __ovld __cnfn min(int x, int y);
   9983 uint __ovld __cnfn min(uint x, uint y);
   9984 int2 __ovld __cnfn min(int2 x, int2 y);
   9985 uint2 __ovld __cnfn min(uint2 x, uint2 y);
   9986 int3 __ovld __cnfn min(int3 x, int3 y);
   9987 uint3 __ovld __cnfn min(uint3 x, uint3 y);
   9988 int4 __ovld __cnfn min(int4 x, int4 y);
   9989 uint4 __ovld __cnfn min(uint4 x, uint4 y);
   9990 int8 __ovld __cnfn min(int8 x, int8 y);
   9991 uint8 __ovld __cnfn min(uint8 x, uint8 y);
   9992 int16 __ovld __cnfn min(int16 x, int16 y);
   9993 uint16 __ovld __cnfn min(uint16 x, uint16 y);
   9994 long __ovld __cnfn min(long x, long y);
   9995 ulong __ovld __cnfn min(ulong x, ulong y);
   9996 long2 __ovld __cnfn min(long2 x, long2 y);
   9997 ulong2 __ovld __cnfn min(ulong2 x, ulong2 y);
   9998 long3 __ovld __cnfn min(long3 x, long3 y);
   9999 ulong3 __ovld __cnfn min(ulong3 x, ulong3 y);
   10000 long4 __ovld __cnfn min(long4 x, long4 y);
   10001 ulong4 __ovld __cnfn min(ulong4 x, ulong4 y);
   10002 long8 __ovld __cnfn min(long8 x, long8 y);
   10003 ulong8 __ovld __cnfn min(ulong8 x, ulong8 y);
   10004 long16 __ovld __cnfn min(long16 x, long16 y);
   10005 ulong16 __ovld __cnfn min(ulong16 x, ulong16 y);
   10006 char __ovld __cnfn min(char x, char y);
   10007 uchar __ovld __cnfn min(uchar x, uchar y);
   10008 char2 __ovld __cnfn min(char2 x, char y);
   10009 uchar2 __ovld __cnfn min(uchar2 x, uchar y);
   10010 char3 __ovld __cnfn min(char3 x, char y);
   10011 uchar3 __ovld __cnfn min(uchar3 x, uchar y);
   10012 char4 __ovld __cnfn min(char4 x, char y);
   10013 uchar4 __ovld __cnfn min(uchar4 x, uchar y);
   10014 char8 __ovld __cnfn min(char8 x, char y);
   10015 uchar8 __ovld __cnfn min(uchar8 x, uchar y);
   10016 char16 __ovld __cnfn min(char16 x, char y);
   10017 uchar16 __ovld __cnfn min(uchar16 x, uchar y);
   10018 short __ovld __cnfn min(short x, short y);
   10019 ushort __ovld __cnfn min(ushort x, ushort y);
   10020 short2 __ovld __cnfn min(short2 x, short y);
   10021 ushort2 __ovld __cnfn min(ushort2 x, ushort y);
   10022 short3 __ovld __cnfn min(short3 x, short y);
   10023 ushort3 __ovld __cnfn min(ushort3 x, ushort y);
   10024 short4 __ovld __cnfn min(short4 x, short y);
   10025 ushort4 __ovld __cnfn min(ushort4 x, ushort y);
   10026 short8 __ovld __cnfn min(short8 x, short y);
   10027 ushort8 __ovld __cnfn min(ushort8 x, ushort y);
   10028 short16 __ovld __cnfn min(short16 x, short y);
   10029 ushort16 __ovld __cnfn min(ushort16 x, ushort y);
   10030 int __ovld __cnfn min(int x, int y);
   10031 uint __ovld __cnfn min(uint x, uint y);
   10032 int2 __ovld __cnfn min(int2 x, int y);
   10033 uint2 __ovld __cnfn min(uint2 x, uint y);
   10034 int3 __ovld __cnfn min(int3 x, int y);
   10035 uint3 __ovld __cnfn min(uint3 x, uint y);
   10036 int4 __ovld __cnfn min(int4 x, int y);
   10037 uint4 __ovld __cnfn min(uint4 x, uint y);
   10038 int8 __ovld __cnfn min(int8 x, int y);
   10039 uint8 __ovld __cnfn min(uint8 x, uint y);
   10040 int16 __ovld __cnfn min(int16 x, int y);
   10041 uint16 __ovld __cnfn min(uint16 x, uint y);
   10042 long __ovld __cnfn min(long x, long y);
   10043 ulong __ovld __cnfn min(ulong x, ulong y);
   10044 long2 __ovld __cnfn min(long2 x, long y);
   10045 ulong2 __ovld __cnfn min(ulong2 x, ulong y);
   10046 long3 __ovld __cnfn min(long3 x, long y);
   10047 ulong3 __ovld __cnfn min(ulong3 x, ulong y);
   10048 long4 __ovld __cnfn min(long4 x, long y);
   10049 ulong4 __ovld __cnfn min(ulong4 x, ulong y);
   10050 long8 __ovld __cnfn min(long8 x, long y);
   10051 ulong8 __ovld __cnfn min(ulong8 x, ulong y);
   10052 long16 __ovld __cnfn min(long16 x, long y);
   10053 ulong16 __ovld __cnfn min(ulong16 x, ulong y);
   10054 
   10055 /**
   10056  * Computes x * y and returns the high half of the
   10057  * product of x and y.
   10058  */
   10059 char __ovld __cnfn mul_hi(char x, char y);
   10060 uchar __ovld __cnfn mul_hi(uchar x, uchar y);
   10061 char2 __ovld __cnfn mul_hi(char2 x, char2 y);
   10062 uchar2 __ovld __cnfn mul_hi(uchar2 x, uchar2 y);
   10063 char3 __ovld __cnfn mul_hi(char3 x, char3 y);
   10064 uchar3 __ovld __cnfn mul_hi(uchar3 x, uchar3 y);
   10065 char4 __ovld __cnfn mul_hi(char4 x, char4 y);
   10066 uchar4 __ovld __cnfn mul_hi(uchar4 x, uchar4 y);
   10067 char8 __ovld __cnfn mul_hi(char8 x, char8 y);
   10068 uchar8 __ovld __cnfn mul_hi(uchar8 x, uchar8 y);
   10069 char16 __ovld __cnfn mul_hi(char16 x, char16 y);
   10070 uchar16 __ovld __cnfn mul_hi(uchar16 x, uchar16 y);
   10071 short __ovld __cnfn mul_hi(short x, short y);
   10072 ushort __ovld __cnfn mul_hi(ushort x, ushort y);
   10073 short2 __ovld __cnfn mul_hi(short2 x, short2 y);
   10074 ushort2 __ovld __cnfn mul_hi(ushort2 x, ushort2 y);
   10075 short3 __ovld __cnfn mul_hi(short3 x, short3 y);
   10076 ushort3 __ovld __cnfn mul_hi(ushort3 x, ushort3 y);
   10077 short4 __ovld __cnfn mul_hi(short4 x, short4 y);
   10078 ushort4 __ovld __cnfn mul_hi(ushort4 x, ushort4 y);
   10079 short8 __ovld __cnfn mul_hi(short8 x, short8 y);
   10080 ushort8 __ovld __cnfn mul_hi(ushort8 x, ushort8 y);
   10081 short16 __ovld __cnfn mul_hi(short16 x, short16 y);
   10082 ushort16 __ovld __cnfn mul_hi(ushort16 x, ushort16 y);
   10083 int __ovld __cnfn mul_hi(int x, int y);
   10084 uint __ovld __cnfn mul_hi(uint x, uint y);
   10085 int2 __ovld __cnfn mul_hi(int2 x, int2 y);
   10086 uint2 __ovld __cnfn mul_hi(uint2 x, uint2 y);
   10087 int3 __ovld __cnfn mul_hi(int3 x, int3 y);
   10088 uint3 __ovld __cnfn mul_hi(uint3 x, uint3 y);
   10089 int4 __ovld __cnfn mul_hi(int4 x, int4 y);
   10090 uint4 __ovld __cnfn mul_hi(uint4 x, uint4 y);
   10091 int8 __ovld __cnfn mul_hi(int8 x, int8 y);
   10092 uint8 __ovld __cnfn mul_hi(uint8 x, uint8 y);
   10093 int16 __ovld __cnfn mul_hi(int16 x, int16 y);
   10094 uint16 __ovld __cnfn mul_hi(uint16 x, uint16 y);
   10095 long __ovld __cnfn mul_hi(long x, long y);
   10096 ulong __ovld __cnfn mul_hi(ulong x, ulong y);
   10097 long2 __ovld __cnfn mul_hi(long2 x, long2 y);
   10098 ulong2 __ovld __cnfn mul_hi(ulong2 x, ulong2 y);
   10099 long3 __ovld __cnfn mul_hi(long3 x, long3 y);
   10100 ulong3 __ovld __cnfn mul_hi(ulong3 x, ulong3 y);
   10101 long4 __ovld __cnfn mul_hi(long4 x, long4 y);
   10102 ulong4 __ovld __cnfn mul_hi(ulong4 x, ulong4 y);
   10103 long8 __ovld __cnfn mul_hi(long8 x, long8 y);
   10104 ulong8 __ovld __cnfn mul_hi(ulong8 x, ulong8 y);
   10105 long16 __ovld __cnfn mul_hi(long16 x, long16 y);
   10106 ulong16 __ovld __cnfn mul_hi(ulong16 x, ulong16 y);
   10107 
   10108 /**
   10109  * For each element in v, the bits are shifted left by
   10110  * the number of bits given by the corresponding
   10111  * element in i (subject to usual shift modulo rules
   10112  * described in section 6.3). Bits shifted off the left
   10113  * side of the element are shifted back in from the
   10114  * right.
   10115  */
   10116 char __ovld __cnfn rotate(char v, char i);
   10117 uchar __ovld __cnfn rotate(uchar v, uchar i);
   10118 char2 __ovld __cnfn rotate(char2 v, char2 i);
   10119 uchar2 __ovld __cnfn rotate(uchar2 v, uchar2 i);
   10120 char3 __ovld __cnfn rotate(char3 v, char3 i);
   10121 uchar3 __ovld __cnfn rotate(uchar3 v, uchar3 i);
   10122 char4 __ovld __cnfn rotate(char4 v, char4 i);
   10123 uchar4 __ovld __cnfn rotate(uchar4 v, uchar4 i);
   10124 char8 __ovld __cnfn rotate(char8 v, char8 i);
   10125 uchar8 __ovld __cnfn rotate(uchar8 v, uchar8 i);
   10126 char16 __ovld __cnfn rotate(char16 v, char16 i);
   10127 uchar16 __ovld __cnfn rotate(uchar16 v, uchar16 i);
   10128 short __ovld __cnfn rotate(short v, short i);
   10129 ushort __ovld __cnfn rotate(ushort v, ushort i);
   10130 short2 __ovld __cnfn rotate(short2 v, short2 i);
   10131 ushort2 __ovld __cnfn rotate(ushort2 v, ushort2 i);
   10132 short3 __ovld __cnfn rotate(short3 v, short3 i);
   10133 ushort3 __ovld __cnfn rotate(ushort3 v, ushort3 i);
   10134 short4 __ovld __cnfn rotate(short4 v, short4 i);
   10135 ushort4 __ovld __cnfn rotate(ushort4 v, ushort4 i);
   10136 short8 __ovld __cnfn rotate(short8 v, short8 i);
   10137 ushort8 __ovld __cnfn rotate(ushort8 v, ushort8 i);
   10138 short16 __ovld __cnfn rotate(short16 v, short16 i);
   10139 ushort16 __ovld __cnfn rotate(ushort16 v, ushort16 i);
   10140 int __ovld __cnfn rotate(int v, int i);
   10141 uint __ovld __cnfn rotate(uint v, uint i);
   10142 int2 __ovld __cnfn rotate(int2 v, int2 i);
   10143 uint2 __ovld __cnfn rotate(uint2 v, uint2 i);
   10144 int3 __ovld __cnfn rotate(int3 v, int3 i);
   10145 uint3 __ovld __cnfn rotate(uint3 v, uint3 i);
   10146 int4 __ovld __cnfn rotate(int4 v, int4 i);
   10147 uint4 __ovld __cnfn rotate(uint4 v, uint4 i);
   10148 int8 __ovld __cnfn rotate(int8 v, int8 i);
   10149 uint8 __ovld __cnfn rotate(uint8 v, uint8 i);
   10150 int16 __ovld __cnfn rotate(int16 v, int16 i);
   10151 uint16 __ovld __cnfn rotate(uint16 v, uint16 i);
   10152 long __ovld __cnfn rotate(long v, long i);
   10153 ulong __ovld __cnfn rotate(ulong v, ulong i);
   10154 long2 __ovld __cnfn rotate(long2 v, long2 i);
   10155 ulong2 __ovld __cnfn rotate(ulong2 v, ulong2 i);
   10156 long3 __ovld __cnfn rotate(long3 v, long3 i);
   10157 ulong3 __ovld __cnfn rotate(ulong3 v, ulong3 i);
   10158 long4 __ovld __cnfn rotate(long4 v, long4 i);
   10159 ulong4 __ovld __cnfn rotate(ulong4 v, ulong4 i);
   10160 long8 __ovld __cnfn rotate(long8 v, long8 i);
   10161 ulong8 __ovld __cnfn rotate(ulong8 v, ulong8 i);
   10162 long16 __ovld __cnfn rotate(long16 v, long16 i);
   10163 ulong16 __ovld __cnfn rotate(ulong16 v, ulong16 i);
   10164 
   10165 /**
   10166  * Returns x - y and saturates the result.
   10167  */
   10168 char __ovld __cnfn sub_sat(char x, char y);
   10169 uchar __ovld __cnfn sub_sat(uchar x, uchar y);
   10170 char2 __ovld __cnfn sub_sat(char2 x, char2 y);
   10171 uchar2 __ovld __cnfn sub_sat(uchar2 x, uchar2 y);
   10172 char3 __ovld __cnfn sub_sat(char3 x, char3 y);
   10173 uchar3 __ovld __cnfn sub_sat(uchar3 x, uchar3 y);
   10174 char4 __ovld __cnfn sub_sat(char4 x, char4 y);
   10175 uchar4 __ovld __cnfn sub_sat(uchar4 x, uchar4 y);
   10176 char8 __ovld __cnfn sub_sat(char8 x, char8 y);
   10177 uchar8 __ovld __cnfn sub_sat(uchar8 x, uchar8 y);
   10178 char16 __ovld __cnfn sub_sat(char16 x, char16 y);
   10179 uchar16 __ovld __cnfn sub_sat(uchar16 x, uchar16 y);
   10180 short __ovld __cnfn sub_sat(short x, short y);
   10181 ushort __ovld __cnfn sub_sat(ushort x, ushort y);
   10182 short2 __ovld __cnfn sub_sat(short2 x, short2 y);
   10183 ushort2 __ovld __cnfn sub_sat(ushort2 x, ushort2 y);
   10184 short3 __ovld __cnfn sub_sat(short3 x, short3 y);
   10185 ushort3 __ovld __cnfn sub_sat(ushort3 x, ushort3 y);
   10186 short4 __ovld __cnfn sub_sat(short4 x, short4 y);
   10187 ushort4 __ovld __cnfn sub_sat(ushort4 x, ushort4 y);
   10188 short8 __ovld __cnfn sub_sat(short8 x, short8 y);
   10189 ushort8 __ovld __cnfn sub_sat(ushort8 x, ushort8 y);
   10190 short16 __ovld __cnfn sub_sat(short16 x, short16 y);
   10191 ushort16 __ovld __cnfn sub_sat(ushort16 x, ushort16 y);
   10192 int __ovld __cnfn sub_sat(int x, int y);
   10193 uint __ovld __cnfn sub_sat(uint x, uint y);
   10194 int2 __ovld __cnfn sub_sat(int2 x, int2 y);
   10195 uint2 __ovld __cnfn sub_sat(uint2 x, uint2 y);
   10196 int3 __ovld __cnfn sub_sat(int3 x, int3 y);
   10197 uint3 __ovld __cnfn sub_sat(uint3 x, uint3 y);
   10198 int4 __ovld __cnfn sub_sat(int4 x, int4 y);
   10199 uint4 __ovld __cnfn sub_sat(uint4 x, uint4 y);
   10200 int8 __ovld __cnfn sub_sat(int8 x, int8 y);
   10201 uint8 __ovld __cnfn sub_sat(uint8 x, uint8 y);
   10202 int16 __ovld __cnfn sub_sat(int16 x, int16 y);
   10203 uint16 __ovld __cnfn sub_sat(uint16 x, uint16 y);
   10204 long __ovld __cnfn sub_sat(long x, long y);
   10205 ulong __ovld __cnfn sub_sat(ulong x, ulong y);
   10206 long2 __ovld __cnfn sub_sat(long2 x, long2 y);
   10207 ulong2 __ovld __cnfn sub_sat(ulong2 x, ulong2 y);
   10208 long3 __ovld __cnfn sub_sat(long3 x, long3 y);
   10209 ulong3 __ovld __cnfn sub_sat(ulong3 x, ulong3 y);
   10210 long4 __ovld __cnfn sub_sat(long4 x, long4 y);
   10211 ulong4 __ovld __cnfn sub_sat(ulong4 x, ulong4 y);
   10212 long8 __ovld __cnfn sub_sat(long8 x, long8 y);
   10213 ulong8 __ovld __cnfn sub_sat(ulong8 x, ulong8 y);
   10214 long16 __ovld __cnfn sub_sat(long16 x, long16 y);
   10215 ulong16 __ovld __cnfn sub_sat(ulong16 x, ulong16 y);
   10216 
   10217 /**
   10218  * result[i] = ((short)hi[i] << 8) | lo[i]
   10219  * result[i] = ((ushort)hi[i] << 8) | lo[i]
   10220  */
   10221 short __ovld __cnfn upsample(char hi, uchar lo);
   10222 ushort __ovld __cnfn upsample(uchar hi, uchar lo);
   10223 short2 __ovld __cnfn upsample(char2 hi, uchar2 lo);
   10224 short3 __ovld __cnfn upsample(char3 hi, uchar3 lo);
   10225 short4 __ovld __cnfn upsample(char4 hi, uchar4 lo);
   10226 short8 __ovld __cnfn upsample(char8 hi, uchar8 lo);
   10227 short16 __ovld __cnfn upsample(char16 hi, uchar16 lo);
   10228 ushort2 __ovld __cnfn upsample(uchar2 hi, uchar2 lo);
   10229 ushort3 __ovld __cnfn upsample(uchar3 hi, uchar3 lo);
   10230 ushort4 __ovld __cnfn upsample(uchar4 hi, uchar4 lo);
   10231 ushort8 __ovld __cnfn upsample(uchar8 hi, uchar8 lo);
   10232 ushort16 __ovld __cnfn upsample(uchar16 hi, uchar16 lo);
   10233 
   10234 /**
   10235  * result[i] = ((int)hi[i] << 16) | lo[i]
   10236  * result[i] = ((uint)hi[i] << 16) | lo[i]
   10237  */
   10238 int __ovld __cnfn upsample(short hi, ushort lo);
   10239 uint __ovld __cnfn upsample(ushort hi, ushort lo);
   10240 int2 __ovld __cnfn upsample(short2 hi, ushort2 lo);
   10241 int3 __ovld __cnfn upsample(short3 hi, ushort3 lo);
   10242 int4 __ovld __cnfn upsample(short4 hi, ushort4 lo);
   10243 int8 __ovld __cnfn upsample(short8 hi, ushort8 lo);
   10244 int16 __ovld __cnfn upsample(short16 hi, ushort16 lo);
   10245 uint2 __ovld __cnfn upsample(ushort2 hi, ushort2 lo);
   10246 uint3 __ovld __cnfn upsample(ushort3 hi, ushort3 lo);
   10247 uint4 __ovld __cnfn upsample(ushort4 hi, ushort4 lo);
   10248 uint8 __ovld __cnfn upsample(ushort8 hi, ushort8 lo);
   10249 uint16 __ovld __cnfn upsample(ushort16 hi, ushort16 lo);
   10250 /**
   10251  * result[i] = ((long)hi[i] << 32) | lo[i]
   10252  * result[i] = ((ulong)hi[i] << 32) | lo[i]
   10253  */
   10254 long __ovld __cnfn upsample(int hi, uint lo);
   10255 ulong __ovld __cnfn upsample(uint hi, uint lo);
   10256 long2 __ovld __cnfn upsample(int2 hi, uint2 lo);
   10257 long3 __ovld __cnfn upsample(int3 hi, uint3 lo);
   10258 long4 __ovld __cnfn upsample(int4 hi, uint4 lo);
   10259 long8 __ovld __cnfn upsample(int8 hi, uint8 lo);
   10260 long16 __ovld __cnfn upsample(int16 hi, uint16 lo);
   10261 ulong2 __ovld __cnfn upsample(uint2 hi, uint2 lo);
   10262 ulong3 __ovld __cnfn upsample(uint3 hi, uint3 lo);
   10263 ulong4 __ovld __cnfn upsample(uint4 hi, uint4 lo);
   10264 ulong8 __ovld __cnfn upsample(uint8 hi, uint8 lo);
   10265 ulong16 __ovld __cnfn upsample(uint16 hi, uint16 lo);
   10266 
   10267 /*
   10268  * popcount(x): returns the number of set bit in x
   10269  */
   10270 char __ovld __cnfn popcount(char x);
   10271 uchar __ovld __cnfn popcount(uchar x);
   10272 char2 __ovld __cnfn popcount(char2 x);
   10273 uchar2 __ovld __cnfn popcount(uchar2 x);
   10274 char3 __ovld __cnfn popcount(char3 x);
   10275 uchar3 __ovld __cnfn popcount(uchar3 x);
   10276 char4 __ovld __cnfn popcount(char4 x);
   10277 uchar4 __ovld __cnfn popcount(uchar4 x);
   10278 char8 __ovld __cnfn popcount(char8 x);
   10279 uchar8 __ovld __cnfn popcount(uchar8 x);
   10280 char16 __ovld __cnfn popcount(char16 x);
   10281 uchar16 __ovld __cnfn popcount(uchar16 x);
   10282 short __ovld __cnfn popcount(short x);
   10283 ushort __ovld __cnfn popcount(ushort x);
   10284 short2 __ovld __cnfn popcount(short2 x);
   10285 ushort2 __ovld __cnfn popcount(ushort2 x);
   10286 short3 __ovld __cnfn popcount(short3 x);
   10287 ushort3 __ovld __cnfn popcount(ushort3 x);
   10288 short4 __ovld __cnfn popcount(short4 x);
   10289 ushort4 __ovld __cnfn popcount(ushort4 x);
   10290 short8 __ovld __cnfn popcount(short8 x);
   10291 ushort8 __ovld __cnfn popcount(ushort8 x);
   10292 short16 __ovld __cnfn popcount(short16 x);
   10293 ushort16 __ovld __cnfn popcount(ushort16 x);
   10294 int __ovld __cnfn popcount(int x);
   10295 uint __ovld __cnfn popcount(uint x);
   10296 int2 __ovld __cnfn popcount(int2 x);
   10297 uint2 __ovld __cnfn popcount(uint2 x);
   10298 int3 __ovld __cnfn popcount(int3 x);
   10299 uint3 __ovld __cnfn popcount(uint3 x);
   10300 int4 __ovld __cnfn popcount(int4 x);
   10301 uint4 __ovld __cnfn popcount(uint4 x);
   10302 int8 __ovld __cnfn popcount(int8 x);
   10303 uint8 __ovld __cnfn popcount(uint8 x);
   10304 int16 __ovld __cnfn popcount(int16 x);
   10305 uint16 __ovld __cnfn popcount(uint16 x);
   10306 long __ovld __cnfn popcount(long x);
   10307 ulong __ovld __cnfn popcount(ulong x);
   10308 long2 __ovld __cnfn popcount(long2 x);
   10309 ulong2 __ovld __cnfn popcount(ulong2 x);
   10310 long3 __ovld __cnfn popcount(long3 x);
   10311 ulong3 __ovld __cnfn popcount(ulong3 x);
   10312 long4 __ovld __cnfn popcount(long4 x);
   10313 ulong4 __ovld __cnfn popcount(ulong4 x);
   10314 long8 __ovld __cnfn popcount(long8 x);
   10315 ulong8 __ovld __cnfn popcount(ulong8 x);
   10316 long16 __ovld __cnfn popcount(long16 x);
   10317 ulong16 __ovld __cnfn popcount(ulong16 x);
   10318 
   10319 /**
   10320  * Multiply two 24-bit integer values x and y and add
   10321  * the 32-bit integer result to the 32-bit integer z.
   10322  * Refer to definition of mul24 to see how the 24-bit
   10323  * integer multiplication is performed.
   10324  */
   10325 int __ovld __cnfn mad24(int x, int y, int z);
   10326 uint __ovld __cnfn mad24(uint x, uint y, uint z);
   10327 int2 __ovld __cnfn mad24(int2 x, int2 y, int2 z);
   10328 uint2 __ovld __cnfn mad24(uint2 x, uint2 y, uint2 z);
   10329 int3 __ovld __cnfn mad24(int3 x, int3 y, int3 z);
   10330 uint3 __ovld __cnfn mad24(uint3 x, uint3 y, uint3 z);
   10331 int4 __ovld __cnfn mad24(int4 x, int4 y, int4 z);
   10332 uint4 __ovld __cnfn mad24(uint4 x, uint4 y, uint4 z);
   10333 int8 __ovld __cnfn mad24(int8 x, int8 y, int8 z);
   10334 uint8 __ovld __cnfn mad24(uint8 x, uint8 y, uint8 z);
   10335 int16 __ovld __cnfn mad24(int16 x, int16 y, int16 z);
   10336 uint16 __ovld __cnfn mad24(uint16 x, uint16 y, uint16 z);
   10337 
   10338 /**
   10339  * Multiply two 24-bit integer values x and y. x and y
   10340  * are 32-bit integers but only the low 24-bits are used
   10341  * to perform the multiplication. mul24 should only
   10342  * be used when values in x and y are in the range [-
   10343  * 2^23, 2^23-1] if x and y are signed integers and in the
   10344  * range [0, 2^24-1] if x and y are unsigned integers. If
   10345  * x and y are not in this range, the multiplication
   10346  * result is implementation-defined.
   10347  */
   10348 int __ovld __cnfn mul24(int x, int y);
   10349 uint __ovld __cnfn mul24(uint x, uint y);
   10350 int2 __ovld __cnfn mul24(int2 x, int2 y);
   10351 uint2 __ovld __cnfn mul24(uint2 x, uint2 y);
   10352 int3 __ovld __cnfn mul24(int3 x, int3 y);
   10353 uint3 __ovld __cnfn mul24(uint3 x, uint3 y);
   10354 int4 __ovld __cnfn mul24(int4 x, int4 y);
   10355 uint4 __ovld __cnfn mul24(uint4 x, uint4 y);
   10356 int8 __ovld __cnfn mul24(int8 x, int8 y);
   10357 uint8 __ovld __cnfn mul24(uint8 x, uint8 y);
   10358 int16 __ovld __cnfn mul24(int16 x, int16 y);
   10359 uint16 __ovld __cnfn mul24(uint16 x, uint16 y);
   10360 
   10361 // OpenCL v1.1 s6.11.4, v1.2 s6.12.4, v2.0 s6.13.4 - Common Functions
   10362 
   10363 /**
   10364  * Returns fmin(fmax(x, minval), maxval).
   10365  * Results are undefined if minval > maxval.
   10366  */
   10367 float __ovld __cnfn clamp(float x, float minval, float maxval);
   10368 float2 __ovld __cnfn clamp(float2 x, float2 minval, float2 maxval);
   10369 float3 __ovld __cnfn clamp(float3 x, float3 minval, float3 maxval);
   10370 float4 __ovld __cnfn clamp(float4 x, float4 minval, float4 maxval);
   10371 float8 __ovld __cnfn clamp(float8 x, float8 minval, float8 maxval);
   10372 float16 __ovld __cnfn clamp(float16 x, float16 minval, float16 maxval);
   10373 float2 __ovld __cnfn clamp(float2 x, float minval, float maxval);
   10374 float3 __ovld __cnfn clamp(float3 x, float minval, float maxval);
   10375 float4 __ovld __cnfn clamp(float4 x, float minval, float maxval);
   10376 float8 __ovld __cnfn clamp(float8 x, float minval, float maxval);
   10377 float16 __ovld __cnfn clamp(float16 x, float minval, float maxval);
   10378 #ifdef cl_khr_fp64
   10379 double __ovld __cnfn clamp(double x, double minval, double maxval);
   10380 double2 __ovld __cnfn clamp(double2 x, double2 minval, double2 maxval);
   10381 double3 __ovld __cnfn clamp(double3 x, double3 minval, double3 maxval);
   10382 double4 __ovld __cnfn clamp(double4 x, double4 minval, double4 maxval);
   10383 double8 __ovld __cnfn clamp(double8 x, double8 minval, double8 maxval);
   10384 double16 __ovld __cnfn clamp(double16 x, double16 minval, double16 maxval);
   10385 double2 __ovld __cnfn clamp(double2 x, double minval, double maxval);
   10386 double3 __ovld __cnfn clamp(double3 x, double minval, double maxval);
   10387 double4 __ovld __cnfn clamp(double4 x, double minval, double maxval);
   10388 double8 __ovld __cnfn clamp(double8 x, double minval, double maxval);
   10389 double16 __ovld __cnfn clamp(double16 x, double minval, double maxval);
   10390 #endif //cl_khr_fp64
   10391 #ifdef cl_khr_fp16
   10392 half __ovld __cnfn clamp(half x, half minval, half maxval);
   10393 half2 __ovld __cnfn clamp(half2 x, half2 minval, half2 maxval);
   10394 half3 __ovld __cnfn clamp(half3 x, half3 minval, half3 maxval);
   10395 half4 __ovld __cnfn clamp(half4 x, half4 minval, half4 maxval);
   10396 half8 __ovld __cnfn clamp(half8 x, half8 minval, half8 maxval);
   10397 half16 __ovld __cnfn clamp(half16 x, half16 minval, half16 maxval);
   10398 half2 __ovld __cnfn clamp(half2 x, half minval, half maxval);
   10399 half3 __ovld __cnfn clamp(half3 x, half minval, half maxval);
   10400 half4 __ovld __cnfn clamp(half4 x, half minval, half maxval);
   10401 half8 __ovld __cnfn clamp(half8 x, half minval, half maxval);
   10402 half16 __ovld __cnfn clamp(half16 x, half minval, half maxval);
   10403 #endif //cl_khr_fp16
   10404 
   10405 /**
   10406  * Converts radians to degrees, i.e. (180 / PI) *
   10407  * radians.
   10408  */
   10409 float __ovld __cnfn degrees(float radians);
   10410 float2 __ovld __cnfn degrees(float2 radians);
   10411 float3 __ovld __cnfn degrees(float3 radians);
   10412 float4 __ovld __cnfn degrees(float4 radians);
   10413 float8 __ovld __cnfn degrees(float8 radians);
   10414 float16 __ovld __cnfn degrees(float16 radians);
   10415 #ifdef cl_khr_fp64
   10416 double __ovld __cnfn degrees(double radians);
   10417 double2 __ovld __cnfn degrees(double2 radians);
   10418 double3 __ovld __cnfn degrees(double3 radians);
   10419 double4 __ovld __cnfn degrees(double4 radians);
   10420 double8 __ovld __cnfn degrees(double8 radians);
   10421 double16 __ovld __cnfn degrees(double16 radians);
   10422 #endif //cl_khr_fp64
   10423 #ifdef cl_khr_fp16
   10424 half __ovld __cnfn degrees(half radians);
   10425 half2 __ovld __cnfn degrees(half2 radians);
   10426 half3 __ovld __cnfn degrees(half3 radians);
   10427 half4 __ovld __cnfn degrees(half4 radians);
   10428 half8 __ovld __cnfn degrees(half8 radians);
   10429 half16 __ovld __cnfn degrees(half16 radians);
   10430 #endif //cl_khr_fp16
   10431 
   10432 /**
   10433  * Returns y if x < y, otherwise it returns x. If x and y
   10434  * are infinite or NaN, the return values are undefined.
   10435  */
   10436 float __ovld __cnfn max(float x, float y);
   10437 float2 __ovld __cnfn max(float2 x, float2 y);
   10438 float3 __ovld __cnfn max(float3 x, float3 y);
   10439 float4 __ovld __cnfn max(float4 x, float4 y);
   10440 float8 __ovld __cnfn max(float8 x, float8 y);
   10441 float16 __ovld __cnfn max(float16 x, float16 y);
   10442 float2 __ovld __cnfn max(float2 x, float y);
   10443 float3 __ovld __cnfn max(float3 x, float y);
   10444 float4 __ovld __cnfn max(float4 x, float y);
   10445 float8 __ovld __cnfn max(float8 x, float y);
   10446 float16 __ovld __cnfn max(float16 x, float y);
   10447 #ifdef cl_khr_fp64
   10448 double __ovld __cnfn max(double x, double y);
   10449 double2 __ovld __cnfn max(double2 x, double2 y);
   10450 double3 __ovld __cnfn max(double3 x, double3 y);
   10451 double4 __ovld __cnfn max(double4 x, double4 y);
   10452 double8 __ovld __cnfn max(double8 x, double8 y);
   10453 double16 __ovld __cnfn max(double16 x, double16 y);
   10454 double2 __ovld __cnfn max(double2 x, double y);
   10455 double3 __ovld __cnfn max(double3 x, double y);
   10456 double4 __ovld __cnfn max(double4 x, double y);
   10457 double8 __ovld __cnfn max(double8 x, double y);
   10458 double16 __ovld __cnfn max(double16 x, double y);
   10459 #endif //cl_khr_fp64
   10460 #ifdef cl_khr_fp16
   10461 half __ovld __cnfn max(half x, half y);
   10462 half2 __ovld __cnfn max(half2 x, half2 y);
   10463 half3 __ovld __cnfn max(half3 x, half3 y);
   10464 half4 __ovld __cnfn max(half4 x, half4 y);
   10465 half8 __ovld __cnfn max(half8 x, half8 y);
   10466 half16 __ovld __cnfn max(half16 x, half16 y);
   10467 half2 __ovld __cnfn max(half2 x, half y);
   10468 half3 __ovld __cnfn max(half3 x, half y);
   10469 half4 __ovld __cnfn max(half4 x, half y);
   10470 half8 __ovld __cnfn max(half8 x, half y);
   10471 half16 __ovld __cnfn max(half16 x, half y);
   10472 #endif //cl_khr_fp16
   10473 
   10474 /**
   10475  * Returns y if y < x, otherwise it returns x. If x and y
   10476  * are infinite or NaN, the return values are undefined.
   10477  */
   10478 float __ovld __cnfn min(float x, float y);
   10479 float2 __ovld __cnfn min(float2 x, float2 y);
   10480 float3 __ovld __cnfn min(float3 x, float3 y);
   10481 float4 __ovld __cnfn min(float4 x, float4 y);
   10482 float8 __ovld __cnfn min(float8 x, float8 y);
   10483 float16 __ovld __cnfn min(float16 x, float16 y);
   10484 float2 __ovld __cnfn min(float2 x, float y);
   10485 float3 __ovld __cnfn min(float3 x, float y);
   10486 float4 __ovld __cnfn min(float4 x, float y);
   10487 float8 __ovld __cnfn min(float8 x, float y);
   10488 float16 __ovld __cnfn min(float16 x, float y);
   10489 #ifdef cl_khr_fp64
   10490 double __ovld __cnfn min(double x, double y);
   10491 double2 __ovld __cnfn min(double2 x, double2 y);
   10492 double3 __ovld __cnfn min(double3 x, double3 y);
   10493 double4 __ovld __cnfn min(double4 x, double4 y);
   10494 double8 __ovld __cnfn min(double8 x, double8 y);
   10495 double16 __ovld __cnfn min(double16 x, double16 y);
   10496 double2 __ovld __cnfn min(double2 x, double y);
   10497 double3 __ovld __cnfn min(double3 x, double y);
   10498 double4 __ovld __cnfn min(double4 x, double y);
   10499 double8 __ovld __cnfn min(double8 x, double y);
   10500 double16 __ovld __cnfn min(double16 x, double y);
   10501 #endif //cl_khr_fp64
   10502 #ifdef cl_khr_fp16
   10503 half __ovld __cnfn min(half x, half y);
   10504 half2 __ovld __cnfn min(half2 x, half2 y);
   10505 half3 __ovld __cnfn min(half3 x, half3 y);
   10506 half4 __ovld __cnfn min(half4 x, half4 y);
   10507 half8 __ovld __cnfn min(half8 x, half8 y);
   10508 half16 __ovld __cnfn min(half16 x, half16 y);
   10509 half2 __ovld __cnfn min(half2 x, half y);
   10510 half3 __ovld __cnfn min(half3 x, half y);
   10511 half4 __ovld __cnfn min(half4 x, half y);
   10512 half8 __ovld __cnfn min(half8 x, half y);
   10513 half16 __ovld __cnfn min(half16 x, half y);
   10514 #endif //cl_khr_fp16
   10515 
   10516 /**
   10517  * Returns the linear blend of x & y implemented as:
   10518  * x + (y - x) * a
   10519  * a must be a value in the range 0.0 ... 1.0. If a is not
   10520  * in the range 0.0 ... 1.0, the return values are
   10521  * undefined.
   10522  */
   10523 float __ovld __cnfn mix(float x, float y, float a);
   10524 float2 __ovld __cnfn mix(float2 x, float2 y, float2 a);
   10525 float3 __ovld __cnfn mix(float3 x, float3 y, float3 a);
   10526 float4 __ovld __cnfn mix(float4 x, float4 y, float4 a);
   10527 float8 __ovld __cnfn mix(float8 x, float8 y, float8 a);
   10528 float16 __ovld __cnfn mix(float16 x, float16 y, float16 a);
   10529 float2 __ovld __cnfn mix(float2 x, float2 y, float a);
   10530 float3 __ovld __cnfn mix(float3 x, float3 y, float a);
   10531 float4 __ovld __cnfn mix(float4 x, float4 y, float a);
   10532 float8 __ovld __cnfn mix(float8 x, float8 y, float a);
   10533 float16 __ovld __cnfn mix(float16 x, float16 y, float a);
   10534 #ifdef cl_khr_fp64
   10535 double __ovld __cnfn mix(double x, double y, double a);
   10536 double2 __ovld __cnfn mix(double2 x, double2 y, double2 a);
   10537 double3 __ovld __cnfn mix(double3 x, double3 y, double3 a);
   10538 double4 __ovld __cnfn mix(double4 x, double4 y, double4 a);
   10539 double8 __ovld __cnfn mix(double8 x, double8 y, double8 a);
   10540 double16 __ovld __cnfn mix(double16 x, double16 y, double16 a);
   10541 double2 __ovld __cnfn mix(double2 x, double2 y, double a);
   10542 double3 __ovld __cnfn mix(double3 x, double3 y, double a);
   10543 double4 __ovld __cnfn mix(double4 x, double4 y, double a);
   10544 double8 __ovld __cnfn mix(double8 x, double8 y, double a);
   10545 double16 __ovld __cnfn mix(double16 x, double16 y, double a);
   10546 #endif //cl_khr_fp64
   10547 #ifdef cl_khr_fp16
   10548 half __ovld __cnfn mix(half x, half y, half a);
   10549 half2 __ovld __cnfn mix(half2 x, half2 y, half2 a);
   10550 half3 __ovld __cnfn mix(half3 x, half3 y, half3 a);
   10551 half4 __ovld __cnfn mix(half4 x, half4 y, half4 a);
   10552 half8 __ovld __cnfn mix(half8 x, half8 y, half8 a);
   10553 half16 __ovld __cnfn mix(half16 x, half16 y, half16 a);
   10554 half2 __ovld __cnfn mix(half2 x, half2 y, half a);
   10555 half3 __ovld __cnfn mix(half3 x, half3 y, half a);
   10556 half4 __ovld __cnfn mix(half4 x, half4 y, half a);
   10557 half8 __ovld __cnfn mix(half8 x, half8 y, half a);
   10558 half16 __ovld __cnfn mix(half16 x, half16 y, half a);
   10559 #endif //cl_khr_fp16
   10560 
   10561 /**
   10562  * Converts degrees to radians, i.e. (PI / 180) *
   10563  * degrees.
   10564  */
   10565 float __ovld __cnfn radians(float degrees);
   10566 float2 __ovld __cnfn radians(float2 degrees);
   10567 float3 __ovld __cnfn radians(float3 degrees);
   10568 float4 __ovld __cnfn radians(float4 degrees);
   10569 float8 __ovld __cnfn radians(float8 degrees);
   10570 float16 __ovld __cnfn radians(float16 degrees);
   10571 #ifdef cl_khr_fp64
   10572 double __ovld __cnfn radians(double degrees);
   10573 double2 __ovld __cnfn radians(double2 degrees);
   10574 double3 __ovld __cnfn radians(double3 degrees);
   10575 double4 __ovld __cnfn radians(double4 degrees);
   10576 double8 __ovld __cnfn radians(double8 degrees);
   10577 double16 __ovld __cnfn radians(double16 degrees);
   10578 #endif //cl_khr_fp64
   10579 #ifdef cl_khr_fp16
   10580 half __ovld __cnfn radians(half degrees);
   10581 half2 __ovld __cnfn radians(half2 degrees);
   10582 half3 __ovld __cnfn radians(half3 degrees);
   10583 half4 __ovld __cnfn radians(half4 degrees);
   10584 half8 __ovld __cnfn radians(half8 degrees);
   10585 half16 __ovld __cnfn radians(half16 degrees);
   10586 #endif //cl_khr_fp16
   10587 
   10588 /**
   10589  * Returns 0.0 if x < edge, otherwise it returns 1.0.
   10590  */
   10591 float __ovld __cnfn step(float edge, float x);
   10592 float2 __ovld __cnfn step(float2 edge, float2 x);
   10593 float3 __ovld __cnfn step(float3 edge, float3 x);
   10594 float4 __ovld __cnfn step(float4 edge, float4 x);
   10595 float8 __ovld __cnfn step(float8 edge, float8 x);
   10596 float16 __ovld __cnfn step(float16 edge, float16 x);
   10597 float2 __ovld __cnfn step(float edge, float2 x);
   10598 float3 __ovld __cnfn step(float edge, float3 x);
   10599 float4 __ovld __cnfn step(float edge, float4 x);
   10600 float8 __ovld __cnfn step(float edge, float8 x);
   10601 float16 __ovld __cnfn step(float edge, float16 x);
   10602 #ifdef cl_khr_fp64
   10603 double __ovld __cnfn step(double edge, double x);
   10604 double2 __ovld __cnfn step(double2 edge, double2 x);
   10605 double3 __ovld __cnfn step(double3 edge, double3 x);
   10606 double4 __ovld __cnfn step(double4 edge, double4 x);
   10607 double8 __ovld __cnfn step(double8 edge, double8 x);
   10608 double16 __ovld __cnfn step(double16 edge, double16 x);
   10609 double2 __ovld __cnfn step(double edge, double2 x);
   10610 double3 __ovld __cnfn step(double edge, double3 x);
   10611 double4 __ovld __cnfn step(double edge, double4 x);
   10612 double8 __ovld __cnfn step(double edge, double8 x);
   10613 double16 __ovld __cnfn step(double edge, double16 x);
   10614 #endif //cl_khr_fp64
   10615 #ifdef cl_khr_fp16
   10616 half __ovld __cnfn step(half edge, half x);
   10617 half2 __ovld __cnfn step(half2 edge, half2 x);
   10618 half3 __ovld __cnfn step(half3 edge, half3 x);
   10619 half4 __ovld __cnfn step(half4 edge, half4 x);
   10620 half8 __ovld __cnfn step(half8 edge, half8 x);
   10621 half16 __ovld __cnfn step(half16 edge, half16 x);
   10622 half __ovld __cnfn step(half edge, half x);
   10623 half2 __ovld __cnfn step(half edge, half2 x);
   10624 half3 __ovld __cnfn step(half edge, half3 x);
   10625 half4 __ovld __cnfn step(half edge, half4 x);
   10626 half8 __ovld __cnfn step(half edge, half8 x);
   10627 half16 __ovld __cnfn step(half edge, half16 x);
   10628 #endif //cl_khr_fp16
   10629 
   10630 /**
   10631  * Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and
   10632  * performs smooth Hermite interpolation between 0
   10633  * and 1when edge0 < x < edge1. This is useful in
   10634  * cases where you would want a threshold function
   10635  * with a smooth transition.
   10636  * This is equivalent to:
   10637  * gentype t;
   10638  * t = clamp ((x - edge0) / (edge1 - edge0), 0, 1);
   10639  * return t * t * (3 - 2 * t);
   10640  * Results are undefined if edge0 >= edge1 or if x,
   10641  * edge0 or edge1 is a NaN.
   10642  */
   10643 float __ovld __cnfn smoothstep(float edge0, float edge1, float x);
   10644 float2 __ovld __cnfn smoothstep(float2 edge0, float2 edge1, float2 x);
   10645 float3 __ovld __cnfn smoothstep(float3 edge0, float3 edge1, float3 x);
   10646 float4 __ovld __cnfn smoothstep(float4 edge0, float4 edge1, float4 x);
   10647 float8 __ovld __cnfn smoothstep(float8 edge0, float8 edge1, float8 x);
   10648 float16 __ovld __cnfn smoothstep(float16 edge0, float16 edge1, float16 x);
   10649 float2 __ovld __cnfn smoothstep(float edge0, float edge1, float2 x);
   10650 float3 __ovld __cnfn smoothstep(float edge0, float edge1, float3 x);
   10651 float4 __ovld __cnfn smoothstep(float edge0, float edge1, float4 x);
   10652 float8 __ovld __cnfn smoothstep(float edge0, float edge1, float8 x);
   10653 float16 __ovld __cnfn smoothstep(float edge0, float edge1, float16 x);
   10654 #ifdef cl_khr_fp64
   10655 double __ovld __cnfn smoothstep(double edge0, double edge1, double x);
   10656 double2 __ovld __cnfn smoothstep(double2 edge0, double2 edge1, double2 x);
   10657 double3 __ovld __cnfn smoothstep(double3 edge0, double3 edge1, double3 x);
   10658 double4 __ovld __cnfn smoothstep(double4 edge0, double4 edge1, double4 x);
   10659 double8 __ovld __cnfn smoothstep(double8 edge0, double8 edge1, double8 x);
   10660 double16 __ovld __cnfn smoothstep(double16 edge0, double16 edge1, double16 x);
   10661 double2 __ovld __cnfn smoothstep(double edge0, double edge1, double2 x);
   10662 double3 __ovld __cnfn smoothstep(double edge0, double edge1, double3 x);
   10663 double4 __ovld __cnfn smoothstep(double edge0, double edge1, double4 x);
   10664 double8 __ovld __cnfn smoothstep(double edge0, double edge1, double8 x);
   10665 double16 __ovld __cnfn smoothstep(double edge0, double edge1, double16 x);
   10666 #endif //cl_khr_fp64
   10667 #ifdef cl_khr_fp16
   10668 half __ovld __cnfn smoothstep(half edge0, half edge1, half x);
   10669 half2 __ovld __cnfn smoothstep(half2 edge0, half2 edge1, half2 x);
   10670 half3 __ovld __cnfn smoothstep(half3 edge0, half3 edge1, half3 x);
   10671 half4 __ovld __cnfn smoothstep(half4 edge0, half4 edge1, half4 x);
   10672 half8 __ovld __cnfn smoothstep(half8 edge0, half8 edge1, half8 x);
   10673 half16 __ovld __cnfn smoothstep(half16 edge0, half16 edge1, half16 x);
   10674 half __ovld __cnfn smoothstep(half edge0, half edge1, half x);
   10675 half2 __ovld __cnfn smoothstep(half edge0, half edge1, half2 x);
   10676 half3 __ovld __cnfn smoothstep(half edge0, half edge1, half3 x);
   10677 half4 __ovld __cnfn smoothstep(half edge0, half edge1, half4 x);
   10678 half8 __ovld __cnfn smoothstep(half edge0, half edge1, half8 x);
   10679 half16 __ovld __cnfn smoothstep(half edge0, half edge1, half16 x);
   10680 #endif //cl_khr_fp16
   10681 
   10682 /**
   10683  * Returns 1.0 if x > 0, -0.0 if x = -0.0, +0.0 if x =
   10684  * +0.0, or -1.0 if x < 0. Returns 0.0 if x is a NaN.
   10685  */
   10686 float __ovld __cnfn sign(float x);
   10687 float2 __ovld __cnfn sign(float2 x);
   10688 float3 __ovld __cnfn sign(float3 x);
   10689 float4 __ovld __cnfn sign(float4 x);
   10690 float8 __ovld __cnfn sign(float8 x);
   10691 float16 __ovld __cnfn sign(float16 x);
   10692 #ifdef cl_khr_fp64
   10693 double __ovld __cnfn sign(double x);
   10694 double2 __ovld __cnfn sign(double2 x);
   10695 double3 __ovld __cnfn sign(double3 x);
   10696 double4 __ovld __cnfn sign(double4 x);
   10697 double8 __ovld __cnfn sign(double8 x);
   10698 double16 __ovld __cnfn sign(double16 x);
   10699 #endif //cl_khr_fp64
   10700 #ifdef cl_khr_fp16
   10701 half __ovld __cnfn sign(half x);
   10702 half2 __ovld __cnfn sign(half2 x);
   10703 half3 __ovld __cnfn sign(half3 x);
   10704 half4 __ovld __cnfn sign(half4 x);
   10705 half8 __ovld __cnfn sign(half8 x);
   10706 half16 __ovld __cnfn sign(half16 x);
   10707 #endif //cl_khr_fp16
   10708 
   10709 // OpenCL v1.1 s6.11.5, v1.2 s6.12.5, v2.0 s6.13.5 - Geometric Functions
   10710 
   10711 /**
   10712  * Returns the cross product of p0.xyz and p1.xyz. The
   10713  * w component of float4 result returned will be 0.0.
   10714  */
   10715 float4 __ovld __cnfn cross(float4 p0, float4 p1);
   10716 float3 __ovld __cnfn cross(float3 p0, float3 p1);
   10717 #ifdef cl_khr_fp64
   10718 double4 __ovld __cnfn cross(double4 p0, double4 p1);
   10719 double3 __ovld __cnfn cross(double3 p0, double3 p1);
   10720 #endif //cl_khr_fp64
   10721 #ifdef cl_khr_fp16
   10722 half4 __ovld __cnfn cross(half4 p0, half4 p1);
   10723 half3 __ovld __cnfn cross(half3 p0, half3 p1);
   10724 #endif //cl_khr_fp16
   10725 
   10726 /**
   10727  * Compute dot product.
   10728  */
   10729 float __ovld __cnfn dot(float p0, float p1);
   10730 float __ovld __cnfn dot(float2 p0, float2 p1);
   10731 float __ovld __cnfn dot(float3 p0, float3 p1);
   10732 float __ovld __cnfn dot(float4 p0, float4 p1);
   10733 #ifdef cl_khr_fp64
   10734 double __ovld __cnfn dot(double p0, double p1);
   10735 double __ovld __cnfn dot(double2 p0, double2 p1);
   10736 double __ovld __cnfn dot(double3 p0, double3 p1);
   10737 double __ovld __cnfn dot(double4 p0, double4 p1);
   10738 #endif //cl_khr_fp64
   10739 #ifdef cl_khr_fp16
   10740 half __ovld __cnfn dot(half p0, half p1);
   10741 half __ovld __cnfn dot(half2 p0, half2 p1);
   10742 half __ovld __cnfn dot(half3 p0, half3 p1);
   10743 half __ovld __cnfn dot(half4 p0, half4 p1);
   10744 #endif //cl_khr_fp16
   10745 
   10746 /**
   10747  * Returns the distance between p0 and p1. This is
   10748  * calculated as length(p0 - p1).
   10749  */
   10750 float __ovld __cnfn distance(float p0, float p1);
   10751 float __ovld __cnfn distance(float2 p0, float2 p1);
   10752 float __ovld __cnfn distance(float3 p0, float3 p1);
   10753 float __ovld __cnfn distance(float4 p0, float4 p1);
   10754 #ifdef cl_khr_fp64
   10755 double __ovld __cnfn distance(double p0, double p1);
   10756 double __ovld __cnfn distance(double2 p0, double2 p1);
   10757 double __ovld __cnfn distance(double3 p0, double3 p1);
   10758 double __ovld __cnfn distance(double4 p0, double4 p1);
   10759 #endif //cl_khr_fp64
   10760 #ifdef cl_khr_fp16
   10761 half __ovld __cnfn distance(half p0, half p1);
   10762 half __ovld __cnfn distance(half2 p0, half2 p1);
   10763 half __ovld __cnfn distance(half3 p0, half3 p1);
   10764 half __ovld __cnfn distance(half4 p0, half4 p1);
   10765 #endif //cl_khr_fp16
   10766 
   10767 /**
   10768  * Return the length of vector p, i.e.,
   10769  * sqrt(p.x2 + p.y 2 + ...)
   10770  */
   10771 float __ovld __cnfn length(float p);
   10772 float __ovld __cnfn length(float2 p);
   10773 float __ovld __cnfn length(float3 p);
   10774 float __ovld __cnfn length(float4 p);
   10775 #ifdef cl_khr_fp64
   10776 double __ovld __cnfn length(double p);
   10777 double __ovld __cnfn length(double2 p);
   10778 double __ovld __cnfn length(double3 p);
   10779 double __ovld __cnfn length(double4 p);
   10780 #endif //cl_khr_fp64
   10781 #ifdef cl_khr_fp16
   10782 half __ovld __cnfn length(half p);
   10783 half __ovld __cnfn length(half2 p);
   10784 half __ovld __cnfn length(half3 p);
   10785 half __ovld __cnfn length(half4 p);
   10786 #endif //cl_khr_fp16
   10787 
   10788 /**
   10789  * Returns a vector in the same direction as p but with a
   10790  * length of 1.
   10791  */
   10792 float __ovld __cnfn normalize(float p);
   10793 float2 __ovld __cnfn normalize(float2 p);
   10794 float3 __ovld __cnfn normalize(float3 p);
   10795 float4 __ovld __cnfn normalize(float4 p);
   10796 #ifdef cl_khr_fp64
   10797 double __ovld __cnfn normalize(double p);
   10798 double2 __ovld __cnfn normalize(double2 p);
   10799 double3 __ovld __cnfn normalize(double3 p);
   10800 double4 __ovld __cnfn normalize(double4 p);
   10801 #endif //cl_khr_fp64
   10802 #ifdef cl_khr_fp16
   10803 half __ovld __cnfn normalize(half p);
   10804 half2 __ovld __cnfn normalize(half2 p);
   10805 half3 __ovld __cnfn normalize(half3 p);
   10806 half4 __ovld __cnfn normalize(half4 p);
   10807 #endif //cl_khr_fp16
   10808 
   10809 /**
   10810  * Returns fast_length(p0 - p1).
   10811  */
   10812 float __ovld __cnfn fast_distance(float p0, float p1);
   10813 float __ovld __cnfn fast_distance(float2 p0, float2 p1);
   10814 float __ovld __cnfn fast_distance(float3 p0, float3 p1);
   10815 float __ovld __cnfn fast_distance(float4 p0, float4 p1);
   10816 #ifdef cl_khr_fp16
   10817 half __ovld __cnfn fast_distance(half p0, half p1);
   10818 half __ovld __cnfn fast_distance(half2 p0, half2 p1);
   10819 half __ovld __cnfn fast_distance(half3 p0, half3 p1);
   10820 half __ovld __cnfn fast_distance(half4 p0, half4 p1);
   10821 #endif //cl_khr_fp16
   10822 
   10823 /**
   10824  * Returns the length of vector p computed as:
   10825  * half_sqrt(p.x2 + p.y2 + ...)
   10826  */
   10827 float __ovld __cnfn fast_length(float p);
   10828 float __ovld __cnfn fast_length(float2 p);
   10829 float __ovld __cnfn fast_length(float3 p);
   10830 float __ovld __cnfn fast_length(float4 p);
   10831 #ifdef cl_khr_fp16
   10832 half __ovld __cnfn fast_length(half p);
   10833 half __ovld __cnfn fast_length(half2 p);
   10834 half __ovld __cnfn fast_length(half3 p);
   10835 half __ovld __cnfn fast_length(half4 p);
   10836 #endif //cl_khr_fp16
   10837 
   10838 /**
   10839  * Returns a vector in the same direction as p but with a
   10840  * length of 1. fast_normalize is computed as:
   10841  * p * half_rsqrt (p.x^2 + p.y^2 + ... )
   10842  * The result shall be within 8192 ulps error from the
   10843  * infinitely precise result of
   10844  * if (all(p == 0.0f))
   10845  * result = p;
   10846  * else
   10847  * result = p / sqrt (p.x^2 + p.y^2 + ...);
   10848  * with the following exceptions:
   10849  * 1) If the sum of squares is greater than FLT_MAX
   10850  * then the value of the floating-point values in the
   10851  * result vector are undefined.
   10852  * 2) If the sum of squares is less than FLT_MIN then
   10853  * the implementation may return back p.
   10854  * 3) If the device is in "denorms are flushed to zero"
   10855  * mode, individual operand elements with magnitude
   10856  * less than sqrt(FLT_MIN) may be flushed to zero
   10857  * before proceeding with the calculation.
   10858  */
   10859 float __ovld __cnfn fast_normalize(float p);
   10860 float2 __ovld __cnfn fast_normalize(float2 p);
   10861 float3 __ovld __cnfn fast_normalize(float3 p);
   10862 float4 __ovld __cnfn fast_normalize(float4 p);
   10863 #ifdef cl_khr_fp16
   10864 half __ovld __cnfn fast_normalize(half p);
   10865 half2 __ovld __cnfn fast_normalize(half2 p);
   10866 half3 __ovld __cnfn fast_normalize(half3 p);
   10867 half4 __ovld __cnfn fast_normalize(half4 p);
   10868 #endif //cl_khr_fp16
   10869 
   10870 // OpenCL v1.1 s6.11.6, v1.2 s6.12.6, v2.0 s6.13.6 - Relational Functions
   10871 
   10872 /**
   10873  * intn isequal (floatn x, floatn y)
   10874  * Returns the component-wise compare of x == y.
   10875  */
   10876 int __ovld __cnfn isequal(float x, float y);
   10877 int2 __ovld __cnfn isequal(float2 x, float2 y);
   10878 int3 __ovld __cnfn isequal(float3 x, float3 y);
   10879 int4 __ovld __cnfn isequal(float4 x, float4 y);
   10880 int8 __ovld __cnfn isequal(float8 x, float8 y);
   10881 int16 __ovld __cnfn isequal(float16 x, float16 y);
   10882 #ifdef cl_khr_fp64
   10883 int __ovld __cnfn isequal(double x, double y);
   10884 long2 __ovld __cnfn isequal(double2 x, double2 y);
   10885 long3 __ovld __cnfn isequal(double3 x, double3 y);
   10886 long4 __ovld __cnfn isequal(double4 x, double4 y);
   10887 long8 __ovld __cnfn isequal(double8 x, double8 y);
   10888 long16 __ovld __cnfn isequal(double16 x, double16 y);
   10889 #endif //cl_khr_fp64
   10890 #ifdef cl_khr_fp16
   10891 int __ovld __cnfn isequal(half x, half y);
   10892 short2 __ovld __cnfn isequal(half2 x, half2 y);
   10893 short3 __ovld __cnfn isequal(half3 x, half3 y);
   10894 short4 __ovld __cnfn isequal(half4 x, half4 y);
   10895 short8 __ovld __cnfn isequal(half8 x, half8 y);
   10896 short16 __ovld __cnfn isequal(half16 x, half16 y);
   10897 #endif //cl_khr_fp16
   10898 
   10899 /**
   10900  * Returns the component-wise compare of x != y.
   10901  */
   10902 int __ovld __cnfn isnotequal(float x, float y);
   10903 int2 __ovld __cnfn isnotequal(float2 x, float2 y);
   10904 int3 __ovld __cnfn isnotequal(float3 x, float3 y);
   10905 int4 __ovld __cnfn isnotequal(float4 x, float4 y);
   10906 int8 __ovld __cnfn isnotequal(float8 x, float8 y);
   10907 int16 __ovld __cnfn isnotequal(float16 x, float16 y);
   10908 #ifdef cl_khr_fp64
   10909 int __ovld __cnfn isnotequal(double x, double y);
   10910 long2 __ovld __cnfn isnotequal(double2 x, double2 y);
   10911 long3 __ovld __cnfn isnotequal(double3 x, double3 y);
   10912 long4 __ovld __cnfn isnotequal(double4 x, double4 y);
   10913 long8 __ovld __cnfn isnotequal(double8 x, double8 y);
   10914 long16 __ovld __cnfn isnotequal(double16 x, double16 y);
   10915 #endif //cl_khr_fp64
   10916 #ifdef cl_khr_fp16
   10917 int __ovld __cnfn isnotequal(half x, half y);
   10918 short2 __ovld __cnfn isnotequal(half2 x, half2 y);
   10919 short3 __ovld __cnfn isnotequal(half3 x, half3 y);
   10920 short4 __ovld __cnfn isnotequal(half4 x, half4 y);
   10921 short8 __ovld __cnfn isnotequal(half8 x, half8 y);
   10922 short16 __ovld __cnfn isnotequal(half16 x, half16 y);
   10923 #endif //cl_khr_fp16
   10924 
   10925 /**
   10926  * Returns the component-wise compare of x > y.
   10927  */
   10928 int __ovld __cnfn isgreater(float x, float y);
   10929 int2 __ovld __cnfn isgreater(float2 x, float2 y);
   10930 int3 __ovld __cnfn isgreater(float3 x, float3 y);
   10931 int4 __ovld __cnfn isgreater(float4 x, float4 y);
   10932 int8 __ovld __cnfn isgreater(float8 x, float8 y);
   10933 int16 __ovld __cnfn isgreater(float16 x, float16 y);
   10934 #ifdef cl_khr_fp64
   10935 int __ovld __cnfn isgreater(double x, double y);
   10936 long2 __ovld __cnfn isgreater(double2 x, double2 y);
   10937 long3 __ovld __cnfn isgreater(double3 x, double3 y);
   10938 long4 __ovld __cnfn isgreater(double4 x, double4 y);
   10939 long8 __ovld __cnfn isgreater(double8 x, double8 y);
   10940 long16 __ovld __cnfn isgreater(double16 x, double16 y);
   10941 #endif //cl_khr_fp64
   10942 #ifdef cl_khr_fp16
   10943 int __ovld __cnfn isgreater(half x, half y);
   10944 short2 __ovld __cnfn isgreater(half2 x, half2 y);
   10945 short3 __ovld __cnfn isgreater(half3 x, half3 y);
   10946 short4 __ovld __cnfn isgreater(half4 x, half4 y);
   10947 short8 __ovld __cnfn isgreater(half8 x, half8 y);
   10948 short16 __ovld __cnfn isgreater(half16 x, half16 y);
   10949 #endif //cl_khr_fp16
   10950 
   10951 /**
   10952  * Returns the component-wise compare of x >= y.
   10953  */
   10954 int __ovld __cnfn isgreaterequal(float x, float y);
   10955 int2 __ovld __cnfn isgreaterequal(float2 x, float2 y);
   10956 int3 __ovld __cnfn isgreaterequal(float3 x, float3 y);
   10957 int4 __ovld __cnfn isgreaterequal(float4 x, float4 y);
   10958 int8 __ovld __cnfn isgreaterequal(float8 x, float8 y);
   10959 int16 __ovld __cnfn isgreaterequal(float16 x, float16 y);
   10960 #ifdef cl_khr_fp64
   10961 int __ovld __cnfn isgreaterequal(double x, double y);
   10962 long2 __ovld __cnfn isgreaterequal(double2 x, double2 y);
   10963 long3 __ovld __cnfn isgreaterequal(double3 x, double3 y);
   10964 long4 __ovld __cnfn isgreaterequal(double4 x, double4 y);
   10965 long8 __ovld __cnfn isgreaterequal(double8 x, double8 y);
   10966 long16 __ovld __cnfn isgreaterequal(double16 x, double16 y);
   10967 #endif //cl_khr_fp64
   10968 #ifdef cl_khr_fp16
   10969 int __ovld __cnfn isgreaterequal(half x, half y);
   10970 short2 __ovld __cnfn isgreaterequal(half2 x, half2 y);
   10971 short3 __ovld __cnfn isgreaterequal(half3 x, half3 y);
   10972 short4 __ovld __cnfn isgreaterequal(half4 x, half4 y);
   10973 short8 __ovld __cnfn isgreaterequal(half8 x, half8 y);
   10974 short16 __ovld __cnfn isgreaterequal(half16 x, half16 y);
   10975 #endif //cl_khr_fp16
   10976 
   10977 /**
   10978  * Returns the component-wise compare of x < y.
   10979  */
   10980 int __ovld __cnfn isless(float x, float y);
   10981 int2 __ovld __cnfn isless(float2 x, float2 y);
   10982 int3 __ovld __cnfn isless(float3 x, float3 y);
   10983 int4 __ovld __cnfn isless(float4 x, float4 y);
   10984 int8 __ovld __cnfn isless(float8 x, float8 y);
   10985 int16 __ovld __cnfn isless(float16 x, float16 y);
   10986 #ifdef cl_khr_fp64
   10987 int __ovld __cnfn isless(double x, double y);
   10988 long2 __ovld __cnfn isless(double2 x, double2 y);
   10989 long3 __ovld __cnfn isless(double3 x, double3 y);
   10990 long4 __ovld __cnfn isless(double4 x, double4 y);
   10991 long8 __ovld __cnfn isless(double8 x, double8 y);
   10992 long16 __ovld __cnfn isless(double16 x, double16 y);
   10993 #endif //cl_khr_fp64
   10994 #ifdef cl_khr_fp16
   10995 int __ovld __cnfn isless(half x, half y);
   10996 short2 __ovld __cnfn isless(half2 x, half2 y);
   10997 short3 __ovld __cnfn isless(half3 x, half3 y);
   10998 short4 __ovld __cnfn isless(half4 x, half4 y);
   10999 short8 __ovld __cnfn isless(half8 x, half8 y);
   11000 short16 __ovld __cnfn isless(half16 x, half16 y);
   11001 #endif //cl_khr_fp16
   11002 
   11003 /**
   11004  * Returns the component-wise compare of x <= y.
   11005  */
   11006 int __ovld __cnfn islessequal(float x, float y);
   11007 int2 __ovld __cnfn islessequal(float2 x, float2 y);
   11008 int3 __ovld __cnfn islessequal(float3 x, float3 y);
   11009 int4 __ovld __cnfn islessequal(float4 x, float4 y);
   11010 int8 __ovld __cnfn islessequal(float8 x, float8 y);
   11011 int16 __ovld __cnfn islessequal(float16 x, float16 y);
   11012 #ifdef cl_khr_fp64
   11013 int __ovld __cnfn islessequal(double x, double y);
   11014 long2 __ovld __cnfn islessequal(double2 x, double2 y);
   11015 long3 __ovld __cnfn islessequal(double3 x, double3 y);
   11016 long4 __ovld __cnfn islessequal(double4 x, double4 y);
   11017 long8 __ovld __cnfn islessequal(double8 x, double8 y);
   11018 long16 __ovld __cnfn islessequal(double16 x, double16 y);
   11019 #endif //cl_khr_fp64
   11020 #ifdef cl_khr_fp16
   11021 int __ovld __cnfn islessequal(half x, half y);
   11022 short2 __ovld __cnfn islessequal(half2 x, half2 y);
   11023 short3 __ovld __cnfn islessequal(half3 x, half3 y);
   11024 short4 __ovld __cnfn islessequal(half4 x, half4 y);
   11025 short8 __ovld __cnfn islessequal(half8 x, half8 y);
   11026 short16 __ovld __cnfn islessequal(half16 x, half16 y);
   11027 #endif //cl_khr_fp16
   11028 
   11029 /**
   11030  * Returns the component-wise compare of
   11031  * (x < y) || (x > y) .
   11032  */
   11033 int __ovld __cnfn islessgreater(float x, float y);
   11034 int2 __ovld __cnfn islessgreater(float2 x, float2 y);
   11035 int3 __ovld __cnfn islessgreater(float3 x, float3 y);
   11036 int4 __ovld __cnfn islessgreater(float4 x, float4 y);
   11037 int8 __ovld __cnfn islessgreater(float8 x, float8 y);
   11038 int16 __ovld __cnfn islessgreater(float16 x, float16 y);
   11039 #ifdef cl_khr_fp64
   11040 int __ovld __cnfn islessgreater(double x, double y);
   11041 long2 __ovld __cnfn islessgreater(double2 x, double2 y);
   11042 long3 __ovld __cnfn islessgreater(double3 x, double3 y);
   11043 long4 __ovld __cnfn islessgreater(double4 x, double4 y);
   11044 long8 __ovld __cnfn islessgreater(double8 x, double8 y);
   11045 long16 __ovld __cnfn islessgreater(double16 x, double16 y);
   11046 #endif //cl_khr_fp64
   11047 #ifdef cl_khr_fp16
   11048 int __ovld __cnfn islessgreater(half x, half y);
   11049 short2 __ovld __cnfn islessgreater(half2 x, half2 y);
   11050 short3 __ovld __cnfn islessgreater(half3 x, half3 y);
   11051 short4 __ovld __cnfn islessgreater(half4 x, half4 y);
   11052 short8 __ovld __cnfn islessgreater(half8 x, half8 y);
   11053 short16 __ovld __cnfn islessgreater(half16 x, half16 y);
   11054 #endif //cl_khr_fp16
   11055 
   11056 /**
   11057  * Test for finite value.
   11058  */
   11059 int __ovld __cnfn isfinite(float);
   11060 int2 __ovld __cnfn isfinite(float2);
   11061 int3 __ovld __cnfn isfinite(float3);
   11062 int4 __ovld __cnfn isfinite(float4);
   11063 int8 __ovld __cnfn isfinite(float8);
   11064 int16 __ovld __cnfn isfinite(float16);
   11065 #ifdef cl_khr_fp64
   11066 int __ovld __cnfn isfinite(double);
   11067 long2 __ovld __cnfn isfinite(double2);
   11068 long3 __ovld __cnfn isfinite(double3);
   11069 long4 __ovld __cnfn isfinite(double4);
   11070 long8 __ovld __cnfn isfinite(double8);
   11071 long16 __ovld __cnfn isfinite(double16);
   11072 #endif //cl_khr_fp64
   11073 #ifdef cl_khr_fp16
   11074 int __ovld __cnfn isfinite(half);
   11075 short2 __ovld __cnfn isfinite(half2);
   11076 short3 __ovld __cnfn isfinite(half3);
   11077 short4 __ovld __cnfn isfinite(half4);
   11078 short8 __ovld __cnfn isfinite(half8);
   11079 short16 __ovld __cnfn isfinite(half16);
   11080 #endif //cl_khr_fp16
   11081 
   11082 /**
   11083  * Test for infinity value (+ve or -ve) .
   11084  */
   11085 int __ovld __cnfn isinf(float);
   11086 int2 __ovld __cnfn isinf(float2);
   11087 int3 __ovld __cnfn isinf(float3);
   11088 int4 __ovld __cnfn isinf(float4);
   11089 int8 __ovld __cnfn isinf(float8);
   11090 int16 __ovld __cnfn isinf(float16);
   11091 #ifdef cl_khr_fp64
   11092 int __ovld __cnfn isinf(double);
   11093 long2 __ovld __cnfn isinf(double2);
   11094 long3 __ovld __cnfn isinf(double3);
   11095 long4 __ovld __cnfn isinf(double4);
   11096 long8 __ovld __cnfn isinf(double8);
   11097 long16 __ovld __cnfn isinf(double16);
   11098 #endif //cl_khr_fp64
   11099 #ifdef cl_khr_fp16
   11100 int __ovld __cnfn isinf(half);
   11101 short2 __ovld __cnfn isinf(half2);
   11102 short3 __ovld __cnfn isinf(half3);
   11103 short4 __ovld __cnfn isinf(half4);
   11104 short8 __ovld __cnfn isinf(half8);
   11105 short16 __ovld __cnfn isinf(half16);
   11106 #endif //cl_khr_fp16
   11107 
   11108 /**
   11109  * Test for a NaN.
   11110  */
   11111 int __ovld __cnfn isnan(float);
   11112 int2 __ovld __cnfn isnan(float2);
   11113 int3 __ovld __cnfn isnan(float3);
   11114 int4 __ovld __cnfn isnan(float4);
   11115 int8 __ovld __cnfn isnan(float8);
   11116 int16 __ovld __cnfn isnan(float16);
   11117 #ifdef cl_khr_fp64
   11118 int __ovld __cnfn isnan(double);
   11119 long2 __ovld __cnfn isnan(double2);
   11120 long3 __ovld __cnfn isnan(double3);
   11121 long4 __ovld __cnfn isnan(double4);
   11122 long8 __ovld __cnfn isnan(double8);
   11123 long16 __ovld __cnfn isnan(double16);
   11124 #endif //cl_khr_fp64
   11125 #ifdef cl_khr_fp16
   11126 int __ovld __cnfn isnan(half);
   11127 short2 __ovld __cnfn isnan(half2);
   11128 short3 __ovld __cnfn isnan(half3);
   11129 short4 __ovld __cnfn isnan(half4);
   11130 short8 __ovld __cnfn isnan(half8);
   11131 short16 __ovld __cnfn isnan(half16);
   11132 #endif //cl_khr_fp16
   11133 
   11134 /**
   11135  * Test for a normal value.
   11136  */
   11137 int __ovld __cnfn isnormal(float);
   11138 int2 __ovld __cnfn isnormal(float2);
   11139 int3 __ovld __cnfn isnormal(float3);
   11140 int4 __ovld __cnfn isnormal(float4);
   11141 int8 __ovld __cnfn isnormal(float8);
   11142 int16 __ovld __cnfn isnormal(float16);
   11143 #ifdef cl_khr_fp64
   11144 int __ovld __cnfn isnormal(double);
   11145 long2 __ovld __cnfn isnormal(double2);
   11146 long3 __ovld __cnfn isnormal(double3);
   11147 long4 __ovld __cnfn isnormal(double4);
   11148 long8 __ovld __cnfn isnormal(double8);
   11149 long16 __ovld __cnfn isnormal(double16);
   11150 #endif //cl_khr_fp64
   11151 #ifdef cl_khr_fp16
   11152 int __ovld __cnfn isnormal(half);
   11153 short2 __ovld __cnfn isnormal(half2);
   11154 short3 __ovld __cnfn isnormal(half3);
   11155 short4 __ovld __cnfn isnormal(half4);
   11156 short8 __ovld __cnfn isnormal(half8);
   11157 short16 __ovld __cnfn isnormal(half16);
   11158 #endif //cl_khr_fp16
   11159 
   11160 /**
   11161  * Test if arguments are ordered. isordered() takes
   11162  * arguments x and y, and returns the result
   11163  * isequal(x, x) && isequal(y, y).
   11164  */
   11165 int __ovld __cnfn isordered(float x, float y);
   11166 int2 __ovld __cnfn isordered(float2 x, float2 y);
   11167 int3 __ovld __cnfn isordered(float3 x, float3 y);
   11168 int4 __ovld __cnfn isordered(float4 x, float4 y);
   11169 int8 __ovld __cnfn isordered(float8 x, float8 y);
   11170 int16 __ovld __cnfn isordered(float16 x, float16 y);
   11171 #ifdef cl_khr_fp64
   11172 int __ovld __cnfn isordered(double x, double y);
   11173 long2 __ovld __cnfn isordered(double2 x, double2 y);
   11174 long3 __ovld __cnfn isordered(double3 x, double3 y);
   11175 long4 __ovld __cnfn isordered(double4 x, double4 y);
   11176 long8 __ovld __cnfn isordered(double8 x, double8 y);
   11177 long16 __ovld __cnfn isordered(double16 x, double16 y);
   11178 #endif //cl_khr_fp64
   11179 #ifdef cl_khr_fp16
   11180 int __ovld __cnfn isordered(half x, half y);
   11181 short2 __ovld __cnfn isordered(half2 x, half2 y);
   11182 short3 __ovld __cnfn isordered(half3 x, half3 y);
   11183 short4 __ovld __cnfn isordered(half4 x, half4 y);
   11184 short8 __ovld __cnfn isordered(half8 x, half8 y);
   11185 short16 __ovld __cnfn isordered(half16 x, half16 y);
   11186 #endif //cl_khr_fp16
   11187 
   11188 /**
   11189  * Test if arguments are unordered. isunordered()
   11190  * takes arguments x and y, returning non-zero if x or y
   11191  * is NaN, and zero otherwise.
   11192  */
   11193 int __ovld __cnfn isunordered(float x, float y);
   11194 int2 __ovld __cnfn isunordered(float2 x, float2 y);
   11195 int3 __ovld __cnfn isunordered(float3 x, float3 y);
   11196 int4 __ovld __cnfn isunordered(float4 x, float4 y);
   11197 int8 __ovld __cnfn isunordered(float8 x, float8 y);
   11198 int16 __ovld __cnfn isunordered(float16 x, float16 y);
   11199 #ifdef cl_khr_fp64
   11200 int __ovld __cnfn isunordered(double x, double y);
   11201 long2 __ovld __cnfn isunordered(double2 x, double2 y);
   11202 long3 __ovld __cnfn isunordered(double3 x, double3 y);
   11203 long4 __ovld __cnfn isunordered(double4 x, double4 y);
   11204 long8 __ovld __cnfn isunordered(double8 x, double8 y);
   11205 long16 __ovld __cnfn isunordered(double16 x, double16 y);
   11206 #endif //cl_khr_fp64
   11207 #ifdef cl_khr_fp16
   11208 int __ovld __cnfn isunordered(half x, half y);
   11209 short2 __ovld __cnfn isunordered(half2 x, half2 y);
   11210 short3 __ovld __cnfn isunordered(half3 x, half3 y);
   11211 short4 __ovld __cnfn isunordered(half4 x, half4 y);
   11212 short8 __ovld __cnfn isunordered(half8 x, half8 y);
   11213 short16 __ovld __cnfn isunordered(half16 x, half16 y);
   11214 #endif //cl_khr_fp16
   11215 
   11216 /**
   11217  * Test for sign bit. The scalar version of the function
   11218  * returns a 1 if the sign bit in the float is set else returns
   11219  * 0. The vector version of the function returns the
   11220  * following for each component in floatn: a -1 if the
   11221  * sign bit in the float is set else returns 0.
   11222  */
   11223 int __ovld __cnfn signbit(float);
   11224 int2 __ovld __cnfn signbit(float2);
   11225 int3 __ovld __cnfn signbit(float3);
   11226 int4 __ovld __cnfn signbit(float4);
   11227 int8 __ovld __cnfn signbit(float8);
   11228 int16 __ovld __cnfn signbit(float16);
   11229 #ifdef cl_khr_fp64
   11230 int __ovld __cnfn signbit(double);
   11231 long2 __ovld __cnfn signbit(double2);
   11232 long3 __ovld __cnfn signbit(double3);
   11233 long4 __ovld __cnfn signbit(double4);
   11234 long8 __ovld __cnfn signbit(double8);
   11235 long16 __ovld __cnfn signbit(double16);
   11236 #endif //cl_khr_fp64
   11237 #ifdef cl_khr_fp16
   11238 int __ovld __cnfn signbit(half);
   11239 short2 __ovld __cnfn signbit(half2);
   11240 short3 __ovld __cnfn signbit(half3);
   11241 short4 __ovld __cnfn signbit(half4);
   11242 short8 __ovld __cnfn signbit(half8);
   11243 short16 __ovld __cnfn signbit(half16);
   11244 #endif //cl_khr_fp16
   11245 
   11246 /**
   11247  * Returns 1 if the most significant bit in any component
   11248  * of x is set; otherwise returns 0.
   11249  */
   11250 int __ovld __cnfn any(char x);
   11251 int __ovld __cnfn any(char2 x);
   11252 int __ovld __cnfn any(char3 x);
   11253 int __ovld __cnfn any(char4 x);
   11254 int __ovld __cnfn any(char8 x);
   11255 int __ovld __cnfn any(char16 x);
   11256 int __ovld __cnfn any(short x);
   11257 int __ovld __cnfn any(short2 x);
   11258 int __ovld __cnfn any(short3 x);
   11259 int __ovld __cnfn any(short4 x);
   11260 int __ovld __cnfn any(short8 x);
   11261 int __ovld __cnfn any(short16 x);
   11262 int __ovld __cnfn any(int x);
   11263 int __ovld __cnfn any(int2 x);
   11264 int __ovld __cnfn any(int3 x);
   11265 int __ovld __cnfn any(int4 x);
   11266 int __ovld __cnfn any(int8 x);
   11267 int __ovld __cnfn any(int16 x);
   11268 int __ovld __cnfn any(long x);
   11269 int __ovld __cnfn any(long2 x);
   11270 int __ovld __cnfn any(long3 x);
   11271 int __ovld __cnfn any(long4 x);
   11272 int __ovld __cnfn any(long8 x);
   11273 int __ovld __cnfn any(long16 x);
   11274 
   11275 /**
   11276  * Returns 1 if the most significant bit in all components
   11277  * of x is set; otherwise returns 0.
   11278  */
   11279 int __ovld __cnfn all(char x);
   11280 int __ovld __cnfn all(char2 x);
   11281 int __ovld __cnfn all(char3 x);
   11282 int __ovld __cnfn all(char4 x);
   11283 int __ovld __cnfn all(char8 x);
   11284 int __ovld __cnfn all(char16 x);
   11285 int __ovld __cnfn all(short x);
   11286 int __ovld __cnfn all(short2 x);
   11287 int __ovld __cnfn all(short3 x);
   11288 int __ovld __cnfn all(short4 x);
   11289 int __ovld __cnfn all(short8 x);
   11290 int __ovld __cnfn all(short16 x);
   11291 int __ovld __cnfn all(int x);
   11292 int __ovld __cnfn all(int2 x);
   11293 int __ovld __cnfn all(int3 x);
   11294 int __ovld __cnfn all(int4 x);
   11295 int __ovld __cnfn all(int8 x);
   11296 int __ovld __cnfn all(int16 x);
   11297 int __ovld __cnfn all(long x);
   11298 int __ovld __cnfn all(long2 x);
   11299 int __ovld __cnfn all(long3 x);
   11300 int __ovld __cnfn all(long4 x);
   11301 int __ovld __cnfn all(long8 x);
   11302 int __ovld __cnfn all(long16 x);
   11303 
   11304 /**
   11305  * Each bit of the result is the corresponding bit of a if
   11306  * the corresponding bit of c is 0. Otherwise it is the
   11307  * corresponding bit of b.
   11308  */
   11309 char __ovld __cnfn bitselect(char a, char b, char c);
   11310 uchar __ovld __cnfn bitselect(uchar a, uchar b, uchar c);
   11311 char2 __ovld __cnfn bitselect(char2 a, char2 b, char2 c);
   11312 uchar2 __ovld __cnfn bitselect(uchar2 a, uchar2 b, uchar2 c);
   11313 char3 __ovld __cnfn bitselect(char3 a, char3 b, char3 c);
   11314 uchar3 __ovld __cnfn bitselect(uchar3 a, uchar3 b, uchar3 c);
   11315 char4 __ovld __cnfn bitselect(char4 a, char4 b, char4 c);
   11316 uchar4 __ovld __cnfn bitselect(uchar4 a, uchar4 b, uchar4 c);
   11317 char8 __ovld __cnfn bitselect(char8 a, char8 b, char8 c);
   11318 uchar8 __ovld __cnfn bitselect(uchar8 a, uchar8 b, uchar8 c);
   11319 char16 __ovld __cnfn bitselect(char16 a, char16 b, char16 c);
   11320 uchar16 __ovld __cnfn bitselect(uchar16 a, uchar16 b, uchar16 c);
   11321 short __ovld __cnfn bitselect(short a, short b, short c);
   11322 ushort __ovld __cnfn bitselect(ushort a, ushort b, ushort c);
   11323 short2 __ovld __cnfn bitselect(short2 a, short2 b, short2 c);
   11324 ushort2 __ovld __cnfn bitselect(ushort2 a, ushort2 b, ushort2 c);
   11325 short3 __ovld __cnfn bitselect(short3 a, short3 b, short3 c);
   11326 ushort3 __ovld __cnfn bitselect(ushort3 a, ushort3 b, ushort3 c);
   11327 short4 __ovld __cnfn bitselect(short4 a, short4 b, short4 c);
   11328 ushort4 __ovld __cnfn bitselect(ushort4 a, ushort4 b, ushort4 c);
   11329 short8 __ovld __cnfn bitselect(short8 a, short8 b, short8 c);
   11330 ushort8 __ovld __cnfn bitselect(ushort8 a, ushort8 b, ushort8 c);
   11331 short16 __ovld __cnfn bitselect(short16 a, short16 b, short16 c);
   11332 ushort16 __ovld __cnfn bitselect(ushort16 a, ushort16 b, ushort16 c);
   11333 int __ovld __cnfn bitselect(int a, int b, int c);
   11334 uint __ovld __cnfn bitselect(uint a, uint b, uint c);
   11335 int2 __ovld __cnfn bitselect(int2 a, int2 b, int2 c);
   11336 uint2 __ovld __cnfn bitselect(uint2 a, uint2 b, uint2 c);
   11337 int3 __ovld __cnfn bitselect(int3 a, int3 b, int3 c);
   11338 uint3 __ovld __cnfn bitselect(uint3 a, uint3 b, uint3 c);
   11339 int4 __ovld __cnfn bitselect(int4 a, int4 b, int4 c);
   11340 uint4 __ovld __cnfn bitselect(uint4 a, uint4 b, uint4 c);
   11341 int8 __ovld __cnfn bitselect(int8 a, int8 b, int8 c);
   11342 uint8 __ovld __cnfn bitselect(uint8 a, uint8 b, uint8 c);
   11343 int16 __ovld __cnfn bitselect(int16 a, int16 b, int16 c);
   11344 uint16 __ovld __cnfn bitselect(uint16 a, uint16 b, uint16 c);
   11345 long __ovld __cnfn bitselect(long a, long b, long c);
   11346 ulong __ovld __cnfn bitselect(ulong a, ulong b, ulong c);
   11347 long2 __ovld __cnfn bitselect(long2 a, long2 b, long2 c);
   11348 ulong2 __ovld __cnfn bitselect(ulong2 a, ulong2 b, ulong2 c);
   11349 long3 __ovld __cnfn bitselect(long3 a, long3 b, long3 c);
   11350 ulong3 __ovld __cnfn bitselect(ulong3 a, ulong3 b, ulong3 c);
   11351 long4 __ovld __cnfn bitselect(long4 a, long4 b, long4 c);
   11352 ulong4 __ovld __cnfn bitselect(ulong4 a, ulong4 b, ulong4 c);
   11353 long8 __ovld __cnfn bitselect(long8 a, long8 b, long8 c);
   11354 ulong8 __ovld __cnfn bitselect(ulong8 a, ulong8 b, ulong8 c);
   11355 long16 __ovld __cnfn bitselect(long16 a, long16 b, long16 c);
   11356 ulong16 __ovld __cnfn bitselect(ulong16 a, ulong16 b, ulong16 c);
   11357 float __ovld __cnfn bitselect(float a, float b, float c);
   11358 float2 __ovld __cnfn bitselect(float2 a, float2 b, float2 c);
   11359 float3 __ovld __cnfn bitselect(float3 a, float3 b, float3 c);
   11360 float4 __ovld __cnfn bitselect(float4 a, float4 b, float4 c);
   11361 float8 __ovld __cnfn bitselect(float8 a, float8 b, float8 c);
   11362 float16 __ovld __cnfn bitselect(float16 a, float16 b, float16 c);
   11363 #ifdef cl_khr_fp64
   11364 double __ovld __cnfn bitselect(double a, double b, double c);
   11365 double2 __ovld __cnfn bitselect(double2 a, double2 b, double2 c);
   11366 double3 __ovld __cnfn bitselect(double3 a, double3 b, double3 c);
   11367 double4 __ovld __cnfn bitselect(double4 a, double4 b, double4 c);
   11368 double8 __ovld __cnfn bitselect(double8 a, double8 b, double8 c);
   11369 double16 __ovld __cnfn bitselect(double16 a, double16 b, double16 c);
   11370 #endif //cl_khr_fp64
   11371 #ifdef cl_khr_fp16
   11372 half __ovld __cnfn bitselect(half a, half b, half c);
   11373 half2 __ovld __cnfn bitselect(half2 a, half2 b, half2 c);
   11374 half3 __ovld __cnfn bitselect(half3 a, half3 b, half3 c);
   11375 half4 __ovld __cnfn bitselect(half4 a, half4 b, half4 c);
   11376 half8 __ovld __cnfn bitselect(half8 a, half8 b, half8 c);
   11377 half16 __ovld __cnfn bitselect(half16 a, half16 b, half16 c);
   11378 #endif //cl_khr_fp16
   11379 
   11380 /**
   11381  * For each component of a vector type,
   11382  * result[i] = if MSB of c[i] is set ? b[i] : a[i].
   11383  * For a scalar type, result = c ? b : a.
   11384  */
   11385 char __ovld __cnfn select(char a, char b, char c);
   11386 uchar __ovld __cnfn select(uchar a, uchar b, char c);
   11387 char2 __ovld __cnfn select(char2 a, char2 b, char2 c);
   11388 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, char2 c);
   11389 char3 __ovld __cnfn select(char3 a, char3 b, char3 c);
   11390 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, char3 c);
   11391 char4 __ovld __cnfn select(char4 a, char4 b, char4 c);
   11392 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, char4 c);
   11393 char8 __ovld __cnfn select(char8 a, char8 b, char8 c);
   11394 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, char8 c);
   11395 char16 __ovld __cnfn select(char16 a, char16 b, char16 c);
   11396 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, char16 c);
   11397 short __ovld __cnfn select(short a, short b, char c);
   11398 ushort __ovld __cnfn select(ushort a, ushort b, char c);
   11399 short2 __ovld __cnfn select(short2 a, short2 b, char2 c);
   11400 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, char2 c);
   11401 short3 __ovld __cnfn select(short3 a, short3 b, char3 c);
   11402 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, char3 c);
   11403 short4 __ovld __cnfn select(short4 a, short4 b, char4 c);
   11404 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, char4 c);
   11405 short8 __ovld __cnfn select(short8 a, short8 b, char8 c);
   11406 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, char8 c);
   11407 short16 __ovld __cnfn select(short16 a, short16 b, char16 c);
   11408 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, char16 c);
   11409 int __ovld __cnfn select(int a, int b, char c);
   11410 uint __ovld __cnfn select(uint a, uint b, char c);
   11411 int2 __ovld __cnfn select(int2 a, int2 b, char2 c);
   11412 uint2 __ovld __cnfn select(uint2 a, uint2 b, char2 c);
   11413 int3 __ovld __cnfn select(int3 a, int3 b, char3 c);
   11414 uint3 __ovld __cnfn select(uint3 a, uint3 b, char3 c);
   11415 int4 __ovld __cnfn select(int4 a, int4 b, char4 c);
   11416 uint4 __ovld __cnfn select(uint4 a, uint4 b, char4 c);
   11417 int8 __ovld __cnfn select(int8 a, int8 b, char8 c);
   11418 uint8 __ovld __cnfn select(uint8 a, uint8 b, char8 c);
   11419 int16 __ovld __cnfn select(int16 a, int16 b, char16 c);
   11420 uint16 __ovld __cnfn select(uint16 a, uint16 b, char16 c);
   11421 long __ovld __cnfn select(long a, long b, char c);
   11422 ulong __ovld __cnfn select(ulong a, ulong b, char c);
   11423 long2 __ovld __cnfn select(long2 a, long2 b, char2 c);
   11424 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, char2 c);
   11425 long3 __ovld __cnfn select(long3 a, long3 b, char3 c);
   11426 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, char3 c);
   11427 long4 __ovld __cnfn select(long4 a, long4 b, char4 c);
   11428 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, char4 c);
   11429 long8 __ovld __cnfn select(long8 a, long8 b, char8 c);
   11430 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, char8 c);
   11431 long16 __ovld __cnfn select(long16 a, long16 b, char16 c);
   11432 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, char16 c);
   11433 float __ovld __cnfn select(float a, float b, char c);
   11434 float2 __ovld __cnfn select(float2 a, float2 b, char2 c);
   11435 float3 __ovld __cnfn select(float3 a, float3 b, char3 c);
   11436 float4 __ovld __cnfn select(float4 a, float4 b, char4 c);
   11437 float8 __ovld __cnfn select(float8 a, float8 b, char8 c);
   11438 float16 __ovld __cnfn select(float16 a, float16 b, char16 c);
   11439 char __ovld __cnfn select(char a, char b, short c);
   11440 uchar __ovld __cnfn select(uchar a, uchar b, short c);
   11441 char2 __ovld __cnfn select(char2 a, char2 b, short2 c);
   11442 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, short2 c);
   11443 char3 __ovld __cnfn select(char3 a, char3 b, short3 c);
   11444 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, short3 c);
   11445 char4 __ovld __cnfn select(char4 a, char4 b, short4 c);
   11446 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, short4 c);
   11447 char8 __ovld __cnfn select(char8 a, char8 b, short8 c);
   11448 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, short8 c);
   11449 char16 __ovld __cnfn select(char16 a, char16 b, short16 c);
   11450 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, short16 c);
   11451 short __ovld __cnfn select(short a, short b, short c);
   11452 ushort __ovld __cnfn select(ushort a, ushort b, short c);
   11453 short2 __ovld __cnfn select(short2 a, short2 b, short2 c);
   11454 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, short2 c);
   11455 short3 __ovld __cnfn select(short3 a, short3 b, short3 c);
   11456 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, short3 c);
   11457 short4 __ovld __cnfn select(short4 a, short4 b, short4 c);
   11458 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, short4 c);
   11459 short8 __ovld __cnfn select(short8 a, short8 b, short8 c);
   11460 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, short8 c);
   11461 short16 __ovld __cnfn select(short16 a, short16 b, short16 c);
   11462 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, short16 c);
   11463 int __ovld __cnfn select(int a, int b, short c);
   11464 uint __ovld __cnfn select(uint a, uint b, short c);
   11465 int2 __ovld __cnfn select(int2 a, int2 b, short2 c);
   11466 uint2 __ovld __cnfn select(uint2 a, uint2 b, short2 c);
   11467 int3 __ovld __cnfn select(int3 a, int3 b, short3 c);
   11468 uint3 __ovld __cnfn select(uint3 a, uint3 b, short3 c);
   11469 int4 __ovld __cnfn select(int4 a, int4 b, short4 c);
   11470 uint4 __ovld __cnfn select(uint4 a, uint4 b, short4 c);
   11471 int8 __ovld __cnfn select(int8 a, int8 b, short8 c);
   11472 uint8 __ovld __cnfn select(uint8 a, uint8 b, short8 c);
   11473 int16 __ovld __cnfn select(int16 a, int16 b, short16 c);
   11474 uint16 __ovld __cnfn select(uint16 a, uint16 b, short16 c);
   11475 long __ovld __cnfn select(long a, long b, short c);
   11476 ulong __ovld __cnfn select(ulong a, ulong b, short c);
   11477 long2 __ovld __cnfn select(long2 a, long2 b, short2 c);
   11478 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, short2 c);
   11479 long3 __ovld __cnfn select(long3 a, long3 b, short3 c);
   11480 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, short3 c);
   11481 long4 __ovld __cnfn select(long4 a, long4 b, short4 c);
   11482 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, short4 c);
   11483 long8 __ovld __cnfn select(long8 a, long8 b, short8 c);
   11484 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, short8 c);
   11485 long16 __ovld __cnfn select(long16 a, long16 b, short16 c);
   11486 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, short16 c);
   11487 float __ovld __cnfn select(float a, float b, short c);
   11488 float2 __ovld __cnfn select(float2 a, float2 b, short2 c);
   11489 float3 __ovld __cnfn select(float3 a, float3 b, short3 c);
   11490 float4 __ovld __cnfn select(float4 a, float4 b, short4 c);
   11491 float8 __ovld __cnfn select(float8 a, float8 b, short8 c);
   11492 float16 __ovld __cnfn select(float16 a, float16 b, short16 c);
   11493 char __ovld __cnfn select(char a, char b, int c);
   11494 uchar __ovld __cnfn select(uchar a, uchar b, int c);
   11495 char2 __ovld __cnfn select(char2 a, char2 b, int2 c);
   11496 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, int2 c);
   11497 char3 __ovld __cnfn select(char3 a, char3 b, int3 c);
   11498 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, int3 c);
   11499 char4 __ovld __cnfn select(char4 a, char4 b, int4 c);
   11500 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, int4 c);
   11501 char8 __ovld __cnfn select(char8 a, char8 b, int8 c);
   11502 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, int8 c);
   11503 char16 __ovld __cnfn select(char16 a, char16 b, int16 c);
   11504 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, int16 c);
   11505 short __ovld __cnfn select(short a, short b, int c);
   11506 ushort __ovld __cnfn select(ushort a, ushort b, int c);
   11507 short2 __ovld __cnfn select(short2 a, short2 b, int2 c);
   11508 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, int2 c);
   11509 short3 __ovld __cnfn select(short3 a, short3 b, int3 c);
   11510 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, int3 c);
   11511 short4 __ovld __cnfn select(short4 a, short4 b, int4 c);
   11512 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, int4 c);
   11513 short8 __ovld __cnfn select(short8 a, short8 b, int8 c);
   11514 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, int8 c);
   11515 short16 __ovld __cnfn select(short16 a, short16 b, int16 c);
   11516 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, int16 c);
   11517 int __ovld __cnfn select(int a, int b, int c);
   11518 uint __ovld __cnfn select(uint a, uint b, int c);
   11519 int2 __ovld __cnfn select(int2 a, int2 b, int2 c);
   11520 uint2 __ovld __cnfn select(uint2 a, uint2 b, int2 c);
   11521 int3 __ovld __cnfn select(int3 a, int3 b, int3 c);
   11522 uint3 __ovld __cnfn select(uint3 a, uint3 b, int3 c);
   11523 int4 __ovld __cnfn select(int4 a, int4 b, int4 c);
   11524 uint4 __ovld __cnfn select(uint4 a, uint4 b, int4 c);
   11525 int8 __ovld __cnfn select(int8 a, int8 b, int8 c);
   11526 uint8 __ovld __cnfn select(uint8 a, uint8 b, int8 c);
   11527 int16 __ovld __cnfn select(int16 a, int16 b, int16 c);
   11528 uint16 __ovld __cnfn select(uint16 a, uint16 b, int16 c);
   11529 long __ovld __cnfn select(long a, long b, int c);
   11530 ulong __ovld __cnfn select(ulong a, ulong b, int c);
   11531 long2 __ovld __cnfn select(long2 a, long2 b, int2 c);
   11532 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, int2 c);
   11533 long3 __ovld __cnfn select(long3 a, long3 b, int3 c);
   11534 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, int3 c);
   11535 long4 __ovld __cnfn select(long4 a, long4 b, int4 c);
   11536 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, int4 c);
   11537 long8 __ovld __cnfn select(long8 a, long8 b, int8 c);
   11538 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, int8 c);
   11539 long16 __ovld __cnfn select(long16 a, long16 b, int16 c);
   11540 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, int16 c);
   11541 float __ovld __cnfn select(float a, float b, int c);
   11542 float2 __ovld __cnfn select(float2 a, float2 b, int2 c);
   11543 float3 __ovld __cnfn select(float3 a, float3 b, int3 c);
   11544 float4 __ovld __cnfn select(float4 a, float4 b, int4 c);
   11545 float8 __ovld __cnfn select(float8 a, float8 b, int8 c);
   11546 float16 __ovld __cnfn select(float16 a, float16 b, int16 c);
   11547 char __ovld __cnfn select(char a, char b, long c);
   11548 uchar __ovld __cnfn select(uchar a, uchar b, long c);
   11549 char2 __ovld __cnfn select(char2 a, char2 b, long2 c);
   11550 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, long2 c);
   11551 char3 __ovld __cnfn select(char3 a, char3 b, long3 c);
   11552 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, long3 c);
   11553 char4 __ovld __cnfn select(char4 a, char4 b, long4 c);
   11554 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, long4 c);
   11555 char8 __ovld __cnfn select(char8 a, char8 b, long8 c);
   11556 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, long8 c);
   11557 char16 __ovld __cnfn select(char16 a, char16 b, long16 c);
   11558 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, long16 c);
   11559 short __ovld __cnfn select(short a, short b, long c);
   11560 ushort __ovld __cnfn select(ushort a, ushort b, long c);
   11561 short2 __ovld __cnfn select(short2 a, short2 b, long2 c);
   11562 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, long2 c);
   11563 short3 __ovld __cnfn select(short3 a, short3 b, long3 c);
   11564 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, long3 c);
   11565 short4 __ovld __cnfn select(short4 a, short4 b, long4 c);
   11566 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, long4 c);
   11567 short8 __ovld __cnfn select(short8 a, short8 b, long8 c);
   11568 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, long8 c);
   11569 short16 __ovld __cnfn select(short16 a, short16 b, long16 c);
   11570 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, long16 c);
   11571 int __ovld __cnfn select(int a, int b, long c);
   11572 uint __ovld __cnfn select(uint a, uint b, long c);
   11573 int2 __ovld __cnfn select(int2 a, int2 b, long2 c);
   11574 uint2 __ovld __cnfn select(uint2 a, uint2 b, long2 c);
   11575 int3 __ovld __cnfn select(int3 a, int3 b, long3 c);
   11576 uint3 __ovld __cnfn select(uint3 a, uint3 b, long3 c);
   11577 int4 __ovld __cnfn select(int4 a, int4 b, long4 c);
   11578 uint4 __ovld __cnfn select(uint4 a, uint4 b, long4 c);
   11579 int8 __ovld __cnfn select(int8 a, int8 b, long8 c);
   11580 uint8 __ovld __cnfn select(uint8 a, uint8 b, long8 c);
   11581 int16 __ovld __cnfn select(int16 a, int16 b, long16 c);
   11582 uint16 __ovld __cnfn select(uint16 a, uint16 b, long16 c);
   11583 long __ovld __cnfn select(long a, long b, long c);
   11584 ulong __ovld __cnfn select(ulong a, ulong b, long c);
   11585 long2 __ovld __cnfn select(long2 a, long2 b, long2 c);
   11586 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, long2 c);
   11587 long3 __ovld __cnfn select(long3 a, long3 b, long3 c);
   11588 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, long3 c);
   11589 long4 __ovld __cnfn select(long4 a, long4 b, long4 c);
   11590 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, long4 c);
   11591 long8 __ovld __cnfn select(long8 a, long8 b, long8 c);
   11592 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, long8 c);
   11593 long16 __ovld __cnfn select(long16 a, long16 b, long16 c);
   11594 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, long16 c);
   11595 float __ovld __cnfn select(float a, float b, long c);
   11596 float2 __ovld __cnfn select(float2 a, float2 b, long2 c);
   11597 float3 __ovld __cnfn select(float3 a, float3 b, long3 c);
   11598 float4 __ovld __cnfn select(float4 a, float4 b, long4 c);
   11599 float8 __ovld __cnfn select(float8 a, float8 b, long8 c);
   11600 float16 __ovld __cnfn select(float16 a, float16 b, long16 c);
   11601 char __ovld __cnfn select(char a, char b, uchar c);
   11602 uchar __ovld __cnfn select(uchar a, uchar b, uchar c);
   11603 char2 __ovld __cnfn select(char2 a, char2 b, uchar2 c);
   11604 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, uchar2 c);
   11605 char3 __ovld __cnfn select(char3 a, char3 b, uchar3 c);
   11606 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, uchar3 c);
   11607 char4 __ovld __cnfn select(char4 a, char4 b, uchar4 c);
   11608 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, uchar4 c);
   11609 char8 __ovld __cnfn select(char8 a, char8 b, uchar8 c);
   11610 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, uchar8 c);
   11611 char16 __ovld __cnfn select(char16 a, char16 b, uchar16 c);
   11612 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, uchar16 c);
   11613 short __ovld __cnfn select(short a, short b, uchar c);
   11614 ushort __ovld __cnfn select(ushort a, ushort b, uchar c);
   11615 short2 __ovld __cnfn select(short2 a, short2 b, uchar2 c);
   11616 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, uchar2 c);
   11617 short3 __ovld __cnfn select(short3 a, short3 b, uchar3 c);
   11618 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, uchar3 c);
   11619 short4 __ovld __cnfn select(short4 a, short4 b, uchar4 c);
   11620 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, uchar4 c);
   11621 short8 __ovld __cnfn select(short8 a, short8 b, uchar8 c);
   11622 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, uchar8 c);
   11623 short16 __ovld __cnfn select(short16 a, short16 b, uchar16 c);
   11624 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, uchar16 c);
   11625 int __ovld __cnfn select(int a, int b, uchar c);
   11626 uint __ovld __cnfn select(uint a, uint b, uchar c);
   11627 int2 __ovld __cnfn select(int2 a, int2 b, uchar2 c);
   11628 uint2 __ovld __cnfn select(uint2 a, uint2 b, uchar2 c);
   11629 int3 __ovld __cnfn select(int3 a, int3 b, uchar3 c);
   11630 uint3 __ovld __cnfn select(uint3 a, uint3 b, uchar3 c);
   11631 int4 __ovld __cnfn select(int4 a, int4 b, uchar4 c);
   11632 uint4 __ovld __cnfn select(uint4 a, uint4 b, uchar4 c);
   11633 int8 __ovld __cnfn select(int8 a, int8 b, uchar8 c);
   11634 uint8 __ovld __cnfn select(uint8 a, uint8 b, uchar8 c);
   11635 int16 __ovld __cnfn select(int16 a, int16 b, uchar16 c);
   11636 uint16 __ovld __cnfn select(uint16 a, uint16 b, uchar16 c);
   11637 long __ovld __cnfn select(long a, long b, uchar c);
   11638 ulong __ovld __cnfn select(ulong a, ulong b, uchar c);
   11639 long2 __ovld __cnfn select(long2 a, long2 b, uchar2 c);
   11640 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, uchar2 c);
   11641 long3 __ovld __cnfn select(long3 a, long3 b, uchar3 c);
   11642 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, uchar3 c);
   11643 long4 __ovld __cnfn select(long4 a, long4 b, uchar4 c);
   11644 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, uchar4 c);
   11645 long8 __ovld __cnfn select(long8 a, long8 b, uchar8 c);
   11646 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, uchar8 c);
   11647 long16 __ovld __cnfn select(long16 a, long16 b, uchar16 c);
   11648 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, uchar16 c);
   11649 float __ovld __cnfn select(float a, float b, uchar c);
   11650 float2 __ovld __cnfn select(float2 a, float2 b, uchar2 c);
   11651 float3 __ovld __cnfn select(float3 a, float3 b, uchar3 c);
   11652 float4 __ovld __cnfn select(float4 a, float4 b, uchar4 c);
   11653 float8 __ovld __cnfn select(float8 a, float8 b, uchar8 c);
   11654 float16 __ovld __cnfn select(float16 a, float16 b, uchar16 c);
   11655 char __ovld __cnfn select(char a, char b, ushort c);
   11656 uchar __ovld __cnfn select(uchar a, uchar b, ushort c);
   11657 char2 __ovld __cnfn select(char2 a, char2 b, ushort2 c);
   11658 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, ushort2 c);
   11659 char3 __ovld __cnfn select(char3 a, char3 b, ushort3 c);
   11660 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, ushort3 c);
   11661 char4 __ovld __cnfn select(char4 a, char4 b, ushort4 c);
   11662 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, ushort4 c);
   11663 char8 __ovld __cnfn select(char8 a, char8 b, ushort8 c);
   11664 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, ushort8 c);
   11665 char16 __ovld __cnfn select(char16 a, char16 b, ushort16 c);
   11666 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, ushort16 c);
   11667 short __ovld __cnfn select(short a, short b, ushort c);
   11668 ushort __ovld __cnfn select(ushort a, ushort b, ushort c);
   11669 short2 __ovld __cnfn select(short2 a, short2 b, ushort2 c);
   11670 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, ushort2 c);
   11671 short3 __ovld __cnfn select(short3 a, short3 b, ushort3 c);
   11672 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, ushort3 c);
   11673 short4 __ovld __cnfn select(short4 a, short4 b, ushort4 c);
   11674 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, ushort4 c);
   11675 short8 __ovld __cnfn select(short8 a, short8 b, ushort8 c);
   11676 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, ushort8 c);
   11677 short16 __ovld __cnfn select(short16 a, short16 b, ushort16 c);
   11678 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, ushort16 c);
   11679 int __ovld __cnfn select(int a, int b, ushort c);
   11680 uint __ovld __cnfn select(uint a, uint b, ushort c);
   11681 int2 __ovld __cnfn select(int2 a, int2 b, ushort2 c);
   11682 uint2 __ovld __cnfn select(uint2 a, uint2 b, ushort2 c);
   11683 int3 __ovld __cnfn select(int3 a, int3 b, ushort3 c);
   11684 uint3 __ovld __cnfn select(uint3 a, uint3 b, ushort3 c);
   11685 int4 __ovld __cnfn select(int4 a, int4 b, ushort4 c);
   11686 uint4 __ovld __cnfn select(uint4 a, uint4 b, ushort4 c);
   11687 int8 __ovld __cnfn select(int8 a, int8 b, ushort8 c);
   11688 uint8 __ovld __cnfn select(uint8 a, uint8 b, ushort8 c);
   11689 int16 __ovld __cnfn select(int16 a, int16 b, ushort16 c);
   11690 uint16 __ovld __cnfn select(uint16 a, uint16 b, ushort16 c);
   11691 long __ovld __cnfn select(long a, long b, ushort c);
   11692 ulong __ovld __cnfn select(ulong a, ulong b, ushort c);
   11693 long2 __ovld __cnfn select(long2 a, long2 b, ushort2 c);
   11694 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, ushort2 c);
   11695 long3 __ovld __cnfn select(long3 a, long3 b, ushort3 c);
   11696 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, ushort3 c);
   11697 long4 __ovld __cnfn select(long4 a, long4 b, ushort4 c);
   11698 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, ushort4 c);
   11699 long8 __ovld __cnfn select(long8 a, long8 b, ushort8 c);
   11700 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, ushort8 c);
   11701 long16 __ovld __cnfn select(long16 a, long16 b, ushort16 c);
   11702 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, ushort16 c);
   11703 float __ovld __cnfn select(float a, float b, ushort c);
   11704 float2 __ovld __cnfn select(float2 a, float2 b, ushort2 c);
   11705 float3 __ovld __cnfn select(float3 a, float3 b, ushort3 c);
   11706 float4 __ovld __cnfn select(float4 a, float4 b, ushort4 c);
   11707 float8 __ovld __cnfn select(float8 a, float8 b, ushort8 c);
   11708 float16 __ovld __cnfn select(float16 a, float16 b, ushort16 c);
   11709 char __ovld __cnfn select(char a, char b, uint c);
   11710 uchar __ovld __cnfn select(uchar a, uchar b, uint c);
   11711 char2 __ovld __cnfn select(char2 a, char2 b, uint2 c);
   11712 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, uint2 c);
   11713 char3 __ovld __cnfn select(char3 a, char3 b, uint3 c);
   11714 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, uint3 c);
   11715 char4 __ovld __cnfn select(char4 a, char4 b, uint4 c);
   11716 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, uint4 c);
   11717 char8 __ovld __cnfn select(char8 a, char8 b, uint8 c);
   11718 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, uint8 c);
   11719 char16 __ovld __cnfn select(char16 a, char16 b, uint16 c);
   11720 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, uint16 c);
   11721 short __ovld __cnfn select(short a, short b, uint c);
   11722 ushort __ovld __cnfn select(ushort a, ushort b, uint c);
   11723 short2 __ovld __cnfn select(short2 a, short2 b, uint2 c);
   11724 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, uint2 c);
   11725 short3 __ovld __cnfn select(short3 a, short3 b, uint3 c);
   11726 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, uint3 c);
   11727 short4 __ovld __cnfn select(short4 a, short4 b, uint4 c);
   11728 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, uint4 c);
   11729 short8 __ovld __cnfn select(short8 a, short8 b, uint8 c);
   11730 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, uint8 c);
   11731 short16 __ovld __cnfn select(short16 a, short16 b, uint16 c);
   11732 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, uint16 c);
   11733 int __ovld __cnfn select(int a, int b, uint c);
   11734 uint __ovld __cnfn select(uint a, uint b, uint c);
   11735 int2 __ovld __cnfn select(int2 a, int2 b, uint2 c);
   11736 uint2 __ovld __cnfn select(uint2 a, uint2 b, uint2 c);
   11737 int3 __ovld __cnfn select(int3 a, int3 b, uint3 c);
   11738 uint3 __ovld __cnfn select(uint3 a, uint3 b, uint3 c);
   11739 int4 __ovld __cnfn select(int4 a, int4 b, uint4 c);
   11740 uint4 __ovld __cnfn select(uint4 a, uint4 b, uint4 c);
   11741 int8 __ovld __cnfn select(int8 a, int8 b, uint8 c);
   11742 uint8 __ovld __cnfn select(uint8 a, uint8 b, uint8 c);
   11743 int16 __ovld __cnfn select(int16 a, int16 b, uint16 c);
   11744 uint16 __ovld __cnfn select(uint16 a, uint16 b, uint16 c);
   11745 long __ovld __cnfn select(long a, long b, uint c);
   11746 ulong __ovld __cnfn select(ulong a, ulong b, uint c);
   11747 long2 __ovld __cnfn select(long2 a, long2 b, uint2 c);
   11748 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, uint2 c);
   11749 long3 __ovld __cnfn select(long3 a, long3 b, uint3 c);
   11750 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, uint3 c);
   11751 long4 __ovld __cnfn select(long4 a, long4 b, uint4 c);
   11752 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, uint4 c);
   11753 long8 __ovld __cnfn select(long8 a, long8 b, uint8 c);
   11754 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, uint8 c);
   11755 long16 __ovld __cnfn select(long16 a, long16 b, uint16 c);
   11756 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, uint16 c);
   11757 float __ovld __cnfn select(float a, float b, uint c);
   11758 float2 __ovld __cnfn select(float2 a, float2 b, uint2 c);
   11759 float3 __ovld __cnfn select(float3 a, float3 b, uint3 c);
   11760 float4 __ovld __cnfn select(float4 a, float4 b, uint4 c);
   11761 float8 __ovld __cnfn select(float8 a, float8 b, uint8 c);
   11762 float16 __ovld __cnfn select(float16 a, float16 b, uint16 c);
   11763 char __ovld __cnfn select(char a, char b, ulong c);
   11764 uchar __ovld __cnfn select(uchar a, uchar b, ulong c);
   11765 char2 __ovld __cnfn select(char2 a, char2 b, ulong2 c);
   11766 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, ulong2 c);
   11767 char3 __ovld __cnfn select(char3 a, char3 b, ulong3 c);
   11768 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, ulong3 c);
   11769 char4 __ovld __cnfn select(char4 a, char4 b, ulong4 c);
   11770 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, ulong4 c);
   11771 char8 __ovld __cnfn select(char8 a, char8 b, ulong8 c);
   11772 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, ulong8 c);
   11773 char16 __ovld __cnfn select(char16 a, char16 b, ulong16 c);
   11774 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, ulong16 c);
   11775 short __ovld __cnfn select(short a, short b, ulong c);
   11776 ushort __ovld __cnfn select(ushort a, ushort b, ulong c);
   11777 short2 __ovld __cnfn select(short2 a, short2 b, ulong2 c);
   11778 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, ulong2 c);
   11779 short3 __ovld __cnfn select(short3 a, short3 b, ulong3 c);
   11780 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, ulong3 c);
   11781 short4 __ovld __cnfn select(short4 a, short4 b, ulong4 c);
   11782 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, ulong4 c);
   11783 short8 __ovld __cnfn select(short8 a, short8 b, ulong8 c);
   11784 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, ulong8 c);
   11785 short16 __ovld __cnfn select(short16 a, short16 b, ulong16 c);
   11786 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, ulong16 c);
   11787 int __ovld __cnfn select(int a, int b, ulong c);
   11788 uint __ovld __cnfn select(uint a, uint b, ulong c);
   11789 int2 __ovld __cnfn select(int2 a, int2 b, ulong2 c);
   11790 uint2 __ovld __cnfn select(uint2 a, uint2 b, ulong2 c);
   11791 int3 __ovld __cnfn select(int3 a, int3 b, ulong3 c);
   11792 uint3 __ovld __cnfn select(uint3 a, uint3 b, ulong3 c);
   11793 int4 __ovld __cnfn select(int4 a, int4 b, ulong4 c);
   11794 uint4 __ovld __cnfn select(uint4 a, uint4 b, ulong4 c);
   11795 int8 __ovld __cnfn select(int8 a, int8 b, ulong8 c);
   11796 uint8 __ovld __cnfn select(uint8 a, uint8 b, ulong8 c);
   11797 int16 __ovld __cnfn select(int16 a, int16 b, ulong16 c);
   11798 uint16 __ovld __cnfn select(uint16 a, uint16 b, ulong16 c);
   11799 long __ovld __cnfn select(long a, long b, ulong c);
   11800 ulong __ovld __cnfn select(ulong a, ulong b, ulong c);
   11801 long2 __ovld __cnfn select(long2 a, long2 b, ulong2 c);
   11802 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, ulong2 c);
   11803 long3 __ovld __cnfn select(long3 a, long3 b, ulong3 c);
   11804 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, ulong3 c);
   11805 long4 __ovld __cnfn select(long4 a, long4 b, ulong4 c);
   11806 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, ulong4 c);
   11807 long8 __ovld __cnfn select(long8 a, long8 b, ulong8 c);
   11808 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, ulong8 c);
   11809 long16 __ovld __cnfn select(long16 a, long16 b, ulong16 c);
   11810 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, ulong16 c);
   11811 float __ovld __cnfn select(float a, float b, ulong c);
   11812 float2 __ovld __cnfn select(float2 a, float2 b, ulong2 c);
   11813 float3 __ovld __cnfn select(float3 a, float3 b, ulong3 c);
   11814 float4 __ovld __cnfn select(float4 a, float4 b, ulong4 c);
   11815 float8 __ovld __cnfn select(float8 a, float8 b, ulong8 c);
   11816 float16 __ovld __cnfn select(float16 a, float16 b, ulong16 c);
   11817 #ifdef cl_khr_fp64
   11818 double __ovld __cnfn select(double a, double b, long c);
   11819 double2 __ovld __cnfn select(double2 a, double2 b, long2 c);
   11820 double3 __ovld __cnfn select(double3 a, double3 b, long3 c);
   11821 double4 __ovld __cnfn select(double4 a, double4 b, long4 c);
   11822 double8 __ovld __cnfn select(double8 a, double8 b, long8 c);
   11823 double16 __ovld __cnfn select(double16 a, double16 b, long16 c);
   11824 double __ovld __cnfn select(double a, double b, ulong c);
   11825 double2 __ovld __cnfn select(double2 a, double2 b, ulong2 c);
   11826 double3 __ovld __cnfn select(double3 a, double3 b, ulong3 c);
   11827 double4 __ovld __cnfn select(double4 a, double4 b, ulong4 c);
   11828 double8 __ovld __cnfn select(double8 a, double8 b, ulong8 c);
   11829 double16 __ovld __cnfn select(double16 a, double16 b, ulong16 c);
   11830 #endif //cl_khr_fp64
   11831 #ifdef cl_khr_fp16
   11832 half __ovld __cnfn select(half a, half b, short c);
   11833 half2 __ovld __cnfn select(half2 a, half2 b, short2 c);
   11834 half3 __ovld __cnfn select(half3 a, half3 b, short3 c);
   11835 half4 __ovld __cnfn select(half4 a, half4 b, short4 c);
   11836 half8 __ovld __cnfn select(half8 a, half8 b, short8 c);
   11837 half16 __ovld __cnfn select(half16 a, half16 b, short16 c);
   11838 half __ovld __cnfn select(half a, half b, ushort c);
   11839 half2 __ovld __cnfn select(half2 a, half2 b, ushort2 c);
   11840 half3 __ovld __cnfn select(half3 a, half3 b, ushort3 c);
   11841 half4 __ovld __cnfn select(half4 a, half4 b, ushort4 c);
   11842 half8 __ovld __cnfn select(half8 a, half8 b, ushort8 c);
   11843 half16 __ovld __cnfn select(half16 a, half16 b, ushort16 c);
   11844 #endif //cl_khr_fp16
   11845 
   11846 // OpenCL v1.1 s6.11.7, v1.2 s6.12.7, v2.0 s6.13.7 - Vector Data Load and Store Functions
   11847 // 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
   11848 /**
   11849  * Use generic type gentype to indicate the built-in data types
   11850  * char, uchar, short, ushort, int, uint, long, ulong, float,
   11851  * double or half.
   11852  *
   11853  * vloadn return sizeof (gentypen) bytes of data read from address (p + (offset * n)).
   11854  *
   11855  * vstoren write sizeof (gentypen) bytes given by data to address (p + (offset * n)).
   11856  *
   11857  * The address computed as (p + (offset * n)) must be
   11858  * 8-bit aligned if gentype is char, uchar;
   11859  * 16-bit aligned if gentype is short, ushort, half;
   11860  * 32-bit aligned if gentype is int, uint, float;
   11861  * 64-bit aligned if gentype is long, ulong, double.
   11862  */
   11863 
   11864 char2 __ovld vload2(size_t offset, const __constant char *p);
   11865 uchar2 __ovld vload2(size_t offset, const __constant uchar *p);
   11866 short2 __ovld vload2(size_t offset, const __constant short *p);
   11867 ushort2 __ovld vload2(size_t offset, const __constant ushort *p);
   11868 int2 __ovld vload2(size_t offset, const __constant int *p);
   11869 uint2 __ovld vload2(size_t offset, const __constant uint *p);
   11870 long2 __ovld vload2(size_t offset, const __constant long *p);
   11871 ulong2 __ovld vload2(size_t offset, const __constant ulong *p);
   11872 float2 __ovld vload2(size_t offset, const __constant float *p);
   11873 char3 __ovld vload3(size_t offset, const __constant char *p);
   11874 uchar3 __ovld vload3(size_t offset, const __constant uchar *p);
   11875 short3 __ovld vload3(size_t offset, const __constant short *p);
   11876 ushort3 __ovld vload3(size_t offset, const __constant ushort *p);
   11877 int3 __ovld vload3(size_t offset, const __constant int *p);
   11878 uint3 __ovld vload3(size_t offset, const __constant uint *p);
   11879 long3 __ovld vload3(size_t offset, const __constant long *p);
   11880 ulong3 __ovld vload3(size_t offset, const __constant ulong *p);
   11881 float3 __ovld vload3(size_t offset, const __constant float *p);
   11882 char4 __ovld vload4(size_t offset, const __constant char *p);
   11883 uchar4 __ovld vload4(size_t offset, const __constant uchar *p);
   11884 short4 __ovld vload4(size_t offset, const __constant short *p);
   11885 ushort4 __ovld vload4(size_t offset, const __constant ushort *p);
   11886 int4 __ovld vload4(size_t offset, const __constant int *p);
   11887 uint4 __ovld vload4(size_t offset, const __constant uint *p);
   11888 long4 __ovld vload4(size_t offset, const __constant long *p);
   11889 ulong4 __ovld vload4(size_t offset, const __constant ulong *p);
   11890 float4 __ovld vload4(size_t offset, const __constant float *p);
   11891 char8 __ovld vload8(size_t offset, const __constant char *p);
   11892 uchar8 __ovld vload8(size_t offset, const __constant uchar *p);
   11893 short8 __ovld vload8(size_t offset, const __constant short *p);
   11894 ushort8 __ovld vload8(size_t offset, const __constant ushort *p);
   11895 int8 __ovld vload8(size_t offset, const __constant int *p);
   11896 uint8 __ovld vload8(size_t offset, const __constant uint *p);
   11897 long8 __ovld vload8(size_t offset, const __constant long *p);
   11898 ulong8 __ovld vload8(size_t offset, const __constant ulong *p);
   11899 float8 __ovld vload8(size_t offset, const __constant float *p);
   11900 char16 __ovld vload16(size_t offset, const __constant char *p);
   11901 uchar16 __ovld vload16(size_t offset, const __constant uchar *p);
   11902 short16 __ovld vload16(size_t offset, const __constant short *p);
   11903 ushort16 __ovld vload16(size_t offset, const __constant ushort *p);
   11904 int16 __ovld vload16(size_t offset, const __constant int *p);
   11905 uint16 __ovld vload16(size_t offset, const __constant uint *p);
   11906 long16 __ovld vload16(size_t offset, const __constant long *p);
   11907 ulong16 __ovld vload16(size_t offset, const __constant ulong *p);
   11908 float16 __ovld vload16(size_t offset, const __constant float *p);
   11909 #ifdef cl_khr_fp64
   11910 double2 __ovld vload2(size_t offset, const __constant double *p);
   11911 double3 __ovld vload3(size_t offset, const __constant double *p);
   11912 double4 __ovld vload4(size_t offset, const __constant double *p);
   11913 double8 __ovld vload8(size_t offset, const __constant double *p);
   11914 double16 __ovld vload16(size_t offset, const __constant double *p);
   11915 #endif //cl_khr_fp64
   11916 
   11917 #ifdef cl_khr_fp16
   11918 half __ovld vload(size_t offset, const __constant half *p);
   11919 half2 __ovld vload2(size_t offset, const __constant half *p);
   11920 half3 __ovld vload3(size_t offset, const __constant half *p);
   11921 half4 __ovld vload4(size_t offset, const __constant half *p);
   11922 half8 __ovld vload8(size_t offset, const __constant half *p);
   11923 half16 __ovld vload16(size_t offset, const __constant half *p);
   11924 #endif //cl_khr_fp16
   11925 
   11926 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   11927 char2 __ovld vload2(size_t offset, const char *p);
   11928 uchar2 __ovld vload2(size_t offset, const uchar *p);
   11929 short2 __ovld vload2(size_t offset, const short *p);
   11930 ushort2 __ovld vload2(size_t offset, const ushort *p);
   11931 int2 __ovld vload2(size_t offset, const int *p);
   11932 uint2 __ovld vload2(size_t offset, const uint *p);
   11933 long2 __ovld vload2(size_t offset, const long *p);
   11934 ulong2 __ovld vload2(size_t offset, const ulong *p);
   11935 float2 __ovld vload2(size_t offset, const float *p);
   11936 char3 __ovld vload3(size_t offset, const char *p);
   11937 uchar3 __ovld vload3(size_t offset, const uchar *p);
   11938 short3 __ovld vload3(size_t offset, const short *p);
   11939 ushort3 __ovld vload3(size_t offset, const ushort *p);
   11940 int3 __ovld vload3(size_t offset, const int *p);
   11941 uint3 __ovld vload3(size_t offset, const uint *p);
   11942 long3 __ovld vload3(size_t offset, const long *p);
   11943 ulong3 __ovld vload3(size_t offset, const ulong *p);
   11944 float3 __ovld vload3(size_t offset, const float *p);
   11945 char4 __ovld vload4(size_t offset, const char *p);
   11946 uchar4 __ovld vload4(size_t offset, const uchar *p);
   11947 short4 __ovld vload4(size_t offset, const short *p);
   11948 ushort4 __ovld vload4(size_t offset, const ushort *p);
   11949 int4 __ovld vload4(size_t offset, const int *p);
   11950 uint4 __ovld vload4(size_t offset, const uint *p);
   11951 long4 __ovld vload4(size_t offset, const long *p);
   11952 ulong4 __ovld vload4(size_t offset, const ulong *p);
   11953 float4 __ovld vload4(size_t offset, const float *p);
   11954 char8 __ovld vload8(size_t offset, const char *p);
   11955 uchar8 __ovld vload8(size_t offset, const uchar *p);
   11956 short8 __ovld vload8(size_t offset, const short *p);
   11957 ushort8 __ovld vload8(size_t offset, const ushort *p);
   11958 int8 __ovld vload8(size_t offset, const int *p);
   11959 uint8 __ovld vload8(size_t offset, const uint *p);
   11960 long8 __ovld vload8(size_t offset, const long *p);
   11961 ulong8 __ovld vload8(size_t offset, const ulong *p);
   11962 float8 __ovld vload8(size_t offset, const float *p);
   11963 char16 __ovld vload16(size_t offset, const char *p);
   11964 uchar16 __ovld vload16(size_t offset, const uchar *p);
   11965 short16 __ovld vload16(size_t offset, const short *p);
   11966 ushort16 __ovld vload16(size_t offset, const ushort *p);
   11967 int16 __ovld vload16(size_t offset, const int *p);
   11968 uint16 __ovld vload16(size_t offset, const uint *p);
   11969 long16 __ovld vload16(size_t offset, const long *p);
   11970 ulong16 __ovld vload16(size_t offset, const ulong *p);
   11971 float16 __ovld vload16(size_t offset, const float *p);
   11972 
   11973 #ifdef cl_khr_fp64
   11974 double2 __ovld vload2(size_t offset, const double *p);
   11975 double3 __ovld vload3(size_t offset, const double *p);
   11976 double4 __ovld vload4(size_t offset, const double *p);
   11977 double8 __ovld vload8(size_t offset, const double *p);
   11978 double16 __ovld vload16(size_t offset, const double *p);
   11979 #endif //cl_khr_fp64
   11980 
   11981 #ifdef cl_khr_fp16
   11982 half __ovld vload(size_t offset, const half *p);
   11983 half2 __ovld vload2(size_t offset, const half *p);
   11984 half3 __ovld vload3(size_t offset, const half *p);
   11985 half4 __ovld vload4(size_t offset, const half *p);
   11986 half8 __ovld vload8(size_t offset, const half *p);
   11987 half16 __ovld vload16(size_t offset, const half *p);
   11988 #endif //cl_khr_fp16
   11989 #else
   11990 char2 __ovld vload2(size_t offset, const __global char *p);
   11991 uchar2 __ovld vload2(size_t offset, const __global uchar *p);
   11992 short2 __ovld vload2(size_t offset, const __global short *p);
   11993 ushort2 __ovld vload2(size_t offset, const __global ushort *p);
   11994 int2 __ovld vload2(size_t offset, const __global int *p);
   11995 uint2 __ovld vload2(size_t offset, const __global uint *p);
   11996 long2 __ovld vload2(size_t offset, const __global long *p);
   11997 ulong2 __ovld vload2(size_t offset, const __global ulong *p);
   11998 float2 __ovld vload2(size_t offset, const __global float *p);
   11999 char3 __ovld vload3(size_t offset, const __global char *p);
   12000 uchar3 __ovld vload3(size_t offset, const __global uchar *p);
   12001 short3 __ovld vload3(size_t offset, const __global short *p);
   12002 ushort3 __ovld vload3(size_t offset, const __global ushort *p);
   12003 int3 __ovld vload3(size_t offset, const __global int *p);
   12004 uint3 __ovld vload3(size_t offset, const __global uint *p);
   12005 long3 __ovld vload3(size_t offset, const __global long *p);
   12006 ulong3 __ovld vload3(size_t offset, const __global ulong *p);
   12007 float3 __ovld vload3(size_t offset, const __global float *p);
   12008 char4 __ovld vload4(size_t offset, const __global char *p);
   12009 uchar4 __ovld vload4(size_t offset, const __global uchar *p);
   12010 short4 __ovld vload4(size_t offset, const __global short *p);
   12011 ushort4 __ovld vload4(size_t offset, const __global ushort *p);
   12012 int4 __ovld vload4(size_t offset, const __global int *p);
   12013 uint4 __ovld vload4(size_t offset, const __global uint *p);
   12014 long4 __ovld vload4(size_t offset, const __global long *p);
   12015 ulong4 __ovld vload4(size_t offset, const __global ulong *p);
   12016 float4 __ovld vload4(size_t offset, const __global float *p);
   12017 char8 __ovld vload8(size_t offset, const __global char *p);
   12018 uchar8 __ovld vload8(size_t offset, const __global uchar *p);
   12019 short8 __ovld vload8(size_t offset, const __global short *p);
   12020 ushort8 __ovld vload8(size_t offset, const __global ushort *p);
   12021 int8 __ovld vload8(size_t offset, const __global int *p);
   12022 uint8 __ovld vload8(size_t offset, const __global uint *p);
   12023 long8 __ovld vload8(size_t offset, const __global long *p);
   12024 ulong8 __ovld vload8(size_t offset, const __global ulong *p);
   12025 float8 __ovld vload8(size_t offset, const __global float *p);
   12026 char16 __ovld vload16(size_t offset, const __global char *p);
   12027 uchar16 __ovld vload16(size_t offset, const __global uchar *p);
   12028 short16 __ovld vload16(size_t offset, const __global short *p);
   12029 ushort16 __ovld vload16(size_t offset, const __global ushort *p);
   12030 int16 __ovld vload16(size_t offset, const __global int *p);
   12031 uint16 __ovld vload16(size_t offset, const __global uint *p);
   12032 long16 __ovld vload16(size_t offset, const __global long *p);
   12033 ulong16 __ovld vload16(size_t offset, const __global ulong *p);
   12034 float16 __ovld vload16(size_t offset, const __global float *p);
   12035 char2 __ovld vload2(size_t offset, const __local char *p);
   12036 uchar2 __ovld vload2(size_t offset, const __local uchar *p);
   12037 short2 __ovld vload2(size_t offset, const __local short *p);
   12038 ushort2 __ovld vload2(size_t offset, const __local ushort *p);
   12039 int2 __ovld vload2(size_t offset, const __local int *p);
   12040 uint2 __ovld vload2(size_t offset, const __local uint *p);
   12041 long2 __ovld vload2(size_t offset, const __local long *p);
   12042 ulong2 __ovld vload2(size_t offset, const __local ulong *p);
   12043 float2 __ovld vload2(size_t offset, const __local float *p);
   12044 char3 __ovld vload3(size_t offset, const __local char *p);
   12045 uchar3 __ovld vload3(size_t offset, const __local uchar *p);
   12046 short3 __ovld vload3(size_t offset, const __local short *p);
   12047 ushort3 __ovld vload3(size_t offset, const __local ushort *p);
   12048 int3 __ovld vload3(size_t offset, const __local int *p);
   12049 uint3 __ovld vload3(size_t offset, const __local uint *p);
   12050 long3 __ovld vload3(size_t offset, const __local long *p);
   12051 ulong3 __ovld vload3(size_t offset, const __local ulong *p);
   12052 float3 __ovld vload3(size_t offset, const __local float *p);
   12053 char4 __ovld vload4(size_t offset, const __local char *p);
   12054 uchar4 __ovld vload4(size_t offset, const __local uchar *p);
   12055 short4 __ovld vload4(size_t offset, const __local short *p);
   12056 ushort4 __ovld vload4(size_t offset, const __local ushort *p);
   12057 int4 __ovld vload4(size_t offset, const __local int *p);
   12058 uint4 __ovld vload4(size_t offset, const __local uint *p);
   12059 long4 __ovld vload4(size_t offset, const __local long *p);
   12060 ulong4 __ovld vload4(size_t offset, const __local ulong *p);
   12061 float4 __ovld vload4(size_t offset, const __local float *p);
   12062 char8 __ovld vload8(size_t offset, const __local char *p);
   12063 uchar8 __ovld vload8(size_t offset, const __local uchar *p);
   12064 short8 __ovld vload8(size_t offset, const __local short *p);
   12065 ushort8 __ovld vload8(size_t offset, const __local ushort *p);
   12066 int8 __ovld vload8(size_t offset, const __local int *p);
   12067 uint8 __ovld vload8(size_t offset, const __local uint *p);
   12068 long8 __ovld vload8(size_t offset, const __local long *p);
   12069 ulong8 __ovld vload8(size_t offset, const __local ulong *p);
   12070 float8 __ovld vload8(size_t offset, const __local float *p);
   12071 char16 __ovld vload16(size_t offset, const __local char *p);
   12072 uchar16 __ovld vload16(size_t offset, const __local uchar *p);
   12073 short16 __ovld vload16(size_t offset, const __local short *p);
   12074 ushort16 __ovld vload16(size_t offset, const __local ushort *p);
   12075 int16 __ovld vload16(size_t offset, const __local int *p);
   12076 uint16 __ovld vload16(size_t offset, const __local uint *p);
   12077 long16 __ovld vload16(size_t offset, const __local long *p);
   12078 ulong16 __ovld vload16(size_t offset, const __local ulong *p);
   12079 float16 __ovld vload16(size_t offset, const __local float *p);
   12080 char2 __ovld vload2(size_t offset, const __private char *p);
   12081 uchar2 __ovld vload2(size_t offset, const __private uchar *p);
   12082 short2 __ovld vload2(size_t offset, const __private short *p);
   12083 ushort2 __ovld vload2(size_t offset, const __private ushort *p);
   12084 int2 __ovld vload2(size_t offset, const __private int *p);
   12085 uint2 __ovld vload2(size_t offset, const __private uint *p);
   12086 long2 __ovld vload2(size_t offset, const __private long *p);
   12087 ulong2 __ovld vload2(size_t offset, const __private ulong *p);
   12088 float2 __ovld vload2(size_t offset, const __private float *p);
   12089 char3 __ovld vload3(size_t offset, const __private char *p);
   12090 uchar3 __ovld vload3(size_t offset, const __private uchar *p);
   12091 short3 __ovld vload3(size_t offset, const __private short *p);
   12092 ushort3 __ovld vload3(size_t offset, const __private ushort *p);
   12093 int3 __ovld vload3(size_t offset, const __private int *p);
   12094 uint3 __ovld vload3(size_t offset, const __private uint *p);
   12095 long3 __ovld vload3(size_t offset, const __private long *p);
   12096 ulong3 __ovld vload3(size_t offset, const __private ulong *p);
   12097 float3 __ovld vload3(size_t offset, const __private float *p);
   12098 char4 __ovld vload4(size_t offset, const __private char *p);
   12099 uchar4 __ovld vload4(size_t offset, const __private uchar *p);
   12100 short4 __ovld vload4(size_t offset, const __private short *p);
   12101 ushort4 __ovld vload4(size_t offset, const __private ushort *p);
   12102 int4 __ovld vload4(size_t offset, const __private int *p);
   12103 uint4 __ovld vload4(size_t offset, const __private uint *p);
   12104 long4 __ovld vload4(size_t offset, const __private long *p);
   12105 ulong4 __ovld vload4(size_t offset, const __private ulong *p);
   12106 float4 __ovld vload4(size_t offset, const __private float *p);
   12107 char8 __ovld vload8(size_t offset, const __private char *p);
   12108 uchar8 __ovld vload8(size_t offset, const __private uchar *p);
   12109 short8 __ovld vload8(size_t offset, const __private short *p);
   12110 ushort8 __ovld vload8(size_t offset, const __private ushort *p);
   12111 int8 __ovld vload8(size_t offset, const __private int *p);
   12112 uint8 __ovld vload8(size_t offset, const __private uint *p);
   12113 long8 __ovld vload8(size_t offset, const __private long *p);
   12114 ulong8 __ovld vload8(size_t offset, const __private ulong *p);
   12115 float8 __ovld vload8(size_t offset, const __private float *p);
   12116 char16 __ovld vload16(size_t offset, const __private char *p);
   12117 uchar16 __ovld vload16(size_t offset, const __private uchar *p);
   12118 short16 __ovld vload16(size_t offset, const __private short *p);
   12119 ushort16 __ovld vload16(size_t offset, const __private ushort *p);
   12120 int16 __ovld vload16(size_t offset, const __private int *p);
   12121 uint16 __ovld vload16(size_t offset, const __private uint *p);
   12122 long16 __ovld vload16(size_t offset, const __private long *p);
   12123 ulong16 __ovld vload16(size_t offset, const __private ulong *p);
   12124 float16 __ovld vload16(size_t offset, const __private float *p);
   12125 
   12126 #ifdef cl_khr_fp64
   12127 double2 __ovld vload2(size_t offset, const __global double *p);
   12128 double3 __ovld vload3(size_t offset, const __global double *p);
   12129 double4 __ovld vload4(size_t offset, const __global double *p);
   12130 double8 __ovld vload8(size_t offset, const __global double *p);
   12131 double16 __ovld vload16(size_t offset, const __global double *p);
   12132 double2 __ovld vload2(size_t offset, const __local double *p);
   12133 double3 __ovld vload3(size_t offset, const __local double *p);
   12134 double4 __ovld vload4(size_t offset, const __local double *p);
   12135 double8 __ovld vload8(size_t offset, const __local double *p);
   12136 double16 __ovld vload16(size_t offset, const __local double *p);
   12137 double2 __ovld vload2(size_t offset, const __private double *p);
   12138 double3 __ovld vload3(size_t offset, const __private double *p);
   12139 double4 __ovld vload4(size_t offset, const __private double *p);
   12140 double8 __ovld vload8(size_t offset, const __private double *p);
   12141 double16 __ovld vload16(size_t offset, const __private double *p);
   12142 #endif //cl_khr_fp64
   12143 
   12144 #ifdef cl_khr_fp16
   12145 half __ovld vload(size_t offset, const __global half *p);
   12146 half2 __ovld vload2(size_t offset, const __global half *p);
   12147 half3 __ovld vload3(size_t offset, const __global half *p);
   12148 half4 __ovld vload4(size_t offset, const __global half *p);
   12149 half8 __ovld vload8(size_t offset, const __global half *p);
   12150 half16 __ovld vload16(size_t offset, const __global half *p);
   12151 half __ovld vload(size_t offset, const __local half *p);
   12152 half2 __ovld vload2(size_t offset, const __local half *p);
   12153 half3 __ovld vload3(size_t offset, const __local half *p);
   12154 half4 __ovld vload4(size_t offset, const __local half *p);
   12155 half8 __ovld vload8(size_t offset, const __local half *p);
   12156 half16 __ovld vload16(size_t offset, const __local half *p);
   12157 half __ovld vload(size_t offset, const __private half *p);
   12158 half2 __ovld vload2(size_t offset, const __private half *p);
   12159 half3 __ovld vload3(size_t offset, const __private half *p);
   12160 half4 __ovld vload4(size_t offset, const __private half *p);
   12161 half8 __ovld vload8(size_t offset, const __private half *p);
   12162 half16 __ovld vload16(size_t offset, const __private half *p);
   12163 #endif //cl_khr_fp16
   12164 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12165 
   12166 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12167 void __ovld vstore2(char2 data, size_t offset, char *p);
   12168 void __ovld vstore2(uchar2 data, size_t offset, uchar *p);
   12169 void __ovld vstore2(short2 data, size_t offset, short *p);
   12170 void __ovld vstore2(ushort2 data, size_t offset, ushort *p);
   12171 void __ovld vstore2(int2 data, size_t offset, int *p);
   12172 void __ovld vstore2(uint2 data, size_t offset, uint *p);
   12173 void __ovld vstore2(long2 data, size_t offset, long *p);
   12174 void __ovld vstore2(ulong2 data, size_t offset, ulong *p);
   12175 void __ovld vstore2(float2 data, size_t offset, float *p);
   12176 void __ovld vstore3(char3 data, size_t offset, char *p);
   12177 void __ovld vstore3(uchar3 data, size_t offset, uchar *p);
   12178 void __ovld vstore3(short3 data, size_t offset, short *p);
   12179 void __ovld vstore3(ushort3 data, size_t offset, ushort *p);
   12180 void __ovld vstore3(int3 data, size_t offset, int *p);
   12181 void __ovld vstore3(uint3 data, size_t offset, uint *p);
   12182 void __ovld vstore3(long3 data, size_t offset, long *p);
   12183 void __ovld vstore3(ulong3 data, size_t offset, ulong *p);
   12184 void __ovld vstore3(float3 data, size_t offset, float *p);
   12185 void __ovld vstore4(char4 data, size_t offset, char *p);
   12186 void __ovld vstore4(uchar4 data, size_t offset, uchar *p);
   12187 void __ovld vstore4(short4 data, size_t offset, short *p);
   12188 void __ovld vstore4(ushort4 data, size_t offset, ushort *p);
   12189 void __ovld vstore4(int4 data, size_t offset, int *p);
   12190 void __ovld vstore4(uint4 data, size_t offset, uint *p);
   12191 void __ovld vstore4(long4 data, size_t offset, long *p);
   12192 void __ovld vstore4(ulong4 data, size_t offset, ulong *p);
   12193 void __ovld vstore4(float4 data, size_t offset, float *p);
   12194 void __ovld vstore8(char8 data, size_t offset, char *p);
   12195 void __ovld vstore8(uchar8 data, size_t offset, uchar *p);
   12196 void __ovld vstore8(short8 data, size_t offset, short *p);
   12197 void __ovld vstore8(ushort8 data, size_t offset, ushort *p);
   12198 void __ovld vstore8(int8 data, size_t offset, int *p);
   12199 void __ovld vstore8(uint8 data, size_t offset, uint *p);
   12200 void __ovld vstore8(long8 data, size_t offset, long *p);
   12201 void __ovld vstore8(ulong8 data, size_t offset, ulong *p);
   12202 void __ovld vstore8(float8 data, size_t offset, float *p);
   12203 void __ovld vstore16(char16 data, size_t offset, char *p);
   12204 void __ovld vstore16(uchar16 data, size_t offset, uchar *p);
   12205 void __ovld vstore16(short16 data, size_t offset, short *p);
   12206 void __ovld vstore16(ushort16 data, size_t offset, ushort *p);
   12207 void __ovld vstore16(int16 data, size_t offset, int *p);
   12208 void __ovld vstore16(uint16 data, size_t offset, uint *p);
   12209 void __ovld vstore16(long16 data, size_t offset, long *p);
   12210 void __ovld vstore16(ulong16 data, size_t offset, ulong *p);
   12211 void __ovld vstore16(float16 data, size_t offset, float *p);
   12212 #ifdef cl_khr_fp64
   12213 void __ovld vstore2(double2 data, size_t offset, double *p);
   12214 void __ovld vstore3(double3 data, size_t offset, double *p);
   12215 void __ovld vstore4(double4 data, size_t offset, double *p);
   12216 void __ovld vstore8(double8 data, size_t offset, double *p);
   12217 void __ovld vstore16(double16 data, size_t offset, double *p);
   12218 #endif //cl_khr_fp64
   12219 #ifdef cl_khr_fp16
   12220 void __ovld vstore(half data, size_t offset, half *p);
   12221 void __ovld vstore2(half2 data, size_t offset, half *p);
   12222 void __ovld vstore3(half3 data, size_t offset, half *p);
   12223 void __ovld vstore4(half4 data, size_t offset, half *p);
   12224 void __ovld vstore8(half8 data, size_t offset, half *p);
   12225 void __ovld vstore16(half16 data, size_t offset, half *p);
   12226 #endif //cl_khr_fp16
   12227 #else
   12228 void __ovld vstore2(char2 data, size_t offset, __global char *p);
   12229 void __ovld vstore2(uchar2 data, size_t offset, __global uchar *p);
   12230 void __ovld vstore2(short2 data, size_t offset, __global short *p);
   12231 void __ovld vstore2(ushort2 data, size_t offset, __global ushort *p);
   12232 void __ovld vstore2(int2 data, size_t offset, __global int *p);
   12233 void __ovld vstore2(uint2 data, size_t offset, __global uint *p);
   12234 void __ovld vstore2(long2 data, size_t offset, __global long *p);
   12235 void __ovld vstore2(ulong2 data, size_t offset, __global ulong *p);
   12236 void __ovld vstore2(float2 data, size_t offset, __global float *p);
   12237 void __ovld vstore3(char3 data, size_t offset, __global char *p);
   12238 void __ovld vstore3(uchar3 data, size_t offset, __global uchar *p);
   12239 void __ovld vstore3(short3 data, size_t offset, __global short *p);
   12240 void __ovld vstore3(ushort3 data, size_t offset, __global ushort *p);
   12241 void __ovld vstore3(int3 data, size_t offset, __global int *p);
   12242 void __ovld vstore3(uint3 data, size_t offset, __global uint *p);
   12243 void __ovld vstore3(long3 data, size_t offset, __global long *p);
   12244 void __ovld vstore3(ulong3 data, size_t offset, __global ulong *p);
   12245 void __ovld vstore3(float3 data, size_t offset, __global float *p);
   12246 void __ovld vstore4(char4 data, size_t offset, __global char *p);
   12247 void __ovld vstore4(uchar4 data, size_t offset, __global uchar *p);
   12248 void __ovld vstore4(short4 data, size_t offset, __global short *p);
   12249 void __ovld vstore4(ushort4 data, size_t offset, __global ushort *p);
   12250 void __ovld vstore4(int4 data, size_t offset, __global int *p);
   12251 void __ovld vstore4(uint4 data, size_t offset, __global uint *p);
   12252 void __ovld vstore4(long4 data, size_t offset, __global long *p);
   12253 void __ovld vstore4(ulong4 data, size_t offset, __global ulong *p);
   12254 void __ovld vstore4(float4 data, size_t offset, __global float *p);
   12255 void __ovld vstore8(char8 data, size_t offset, __global char *p);
   12256 void __ovld vstore8(uchar8 data, size_t offset, __global uchar *p);
   12257 void __ovld vstore8(short8 data, size_t offset, __global short *p);
   12258 void __ovld vstore8(ushort8 data, size_t offset, __global ushort *p);
   12259 void __ovld vstore8(int8 data, size_t offset, __global int *p);
   12260 void __ovld vstore8(uint8 data, size_t offset, __global uint *p);
   12261 void __ovld vstore8(long8 data, size_t offset, __global long *p);
   12262 void __ovld vstore8(ulong8 data, size_t offset, __global ulong *p);
   12263 void __ovld vstore8(float8 data, size_t offset, __global float *p);
   12264 void __ovld vstore16(char16 data, size_t offset, __global char *p);
   12265 void __ovld vstore16(uchar16 data, size_t offset, __global uchar *p);
   12266 void __ovld vstore16(short16 data, size_t offset, __global short *p);
   12267 void __ovld vstore16(ushort16 data, size_t offset, __global ushort *p);
   12268 void __ovld vstore16(int16 data, size_t offset, __global int *p);
   12269 void __ovld vstore16(uint16 data, size_t offset, __global uint *p);
   12270 void __ovld vstore16(long16 data, size_t offset, __global long *p);
   12271 void __ovld vstore16(ulong16 data, size_t offset, __global ulong *p);
   12272 void __ovld vstore16(float16 data, size_t offset, __global float *p);
   12273 void __ovld vstore2(char2 data, size_t offset, __local char *p);
   12274 void __ovld vstore2(uchar2 data, size_t offset, __local uchar *p);
   12275 void __ovld vstore2(short2 data, size_t offset, __local short *p);
   12276 void __ovld vstore2(ushort2 data, size_t offset, __local ushort *p);
   12277 void __ovld vstore2(int2 data, size_t offset, __local int *p);
   12278 void __ovld vstore2(uint2 data, size_t offset, __local uint *p);
   12279 void __ovld vstore2(long2 data, size_t offset, __local long *p);
   12280 void __ovld vstore2(ulong2 data, size_t offset, __local ulong *p);
   12281 void __ovld vstore2(float2 data, size_t offset, __local float *p);
   12282 void __ovld vstore3(char3 data, size_t offset, __local char *p);
   12283 void __ovld vstore3(uchar3 data, size_t offset, __local uchar *p);
   12284 void __ovld vstore3(short3 data, size_t offset, __local short *p);
   12285 void __ovld vstore3(ushort3 data, size_t offset, __local ushort *p);
   12286 void __ovld vstore3(int3 data, size_t offset, __local int *p);
   12287 void __ovld vstore3(uint3 data, size_t offset, __local uint *p);
   12288 void __ovld vstore3(long3 data, size_t offset, __local long *p);
   12289 void __ovld vstore3(ulong3 data, size_t offset, __local ulong *p);
   12290 void __ovld vstore3(float3 data, size_t offset, __local float *p);
   12291 void __ovld vstore4(char4 data, size_t offset, __local char *p);
   12292 void __ovld vstore4(uchar4 data, size_t offset, __local uchar *p);
   12293 void __ovld vstore4(short4 data, size_t offset, __local short *p);
   12294 void __ovld vstore4(ushort4 data, size_t offset, __local ushort *p);
   12295 void __ovld vstore4(int4 data, size_t offset, __local int *p);
   12296 void __ovld vstore4(uint4 data, size_t offset, __local uint *p);
   12297 void __ovld vstore4(long4 data, size_t offset, __local long *p);
   12298 void __ovld vstore4(ulong4 data, size_t offset, __local ulong *p);
   12299 void __ovld vstore4(float4 data, size_t offset, __local float *p);
   12300 void __ovld vstore8(char8 data, size_t offset, __local char *p);
   12301 void __ovld vstore8(uchar8 data, size_t offset, __local uchar *p);
   12302 void __ovld vstore8(short8 data, size_t offset, __local short *p);
   12303 void __ovld vstore8(ushort8 data, size_t offset, __local ushort *p);
   12304 void __ovld vstore8(int8 data, size_t offset, __local int *p);
   12305 void __ovld vstore8(uint8 data, size_t offset, __local uint *p);
   12306 void __ovld vstore8(long8 data, size_t offset, __local long *p);
   12307 void __ovld vstore8(ulong8 data, size_t offset, __local ulong *p);
   12308 void __ovld vstore8(float8 data, size_t offset, __local float *p);
   12309 void __ovld vstore16(char16 data, size_t offset, __local char *p);
   12310 void __ovld vstore16(uchar16 data, size_t offset, __local uchar *p);
   12311 void __ovld vstore16(short16 data, size_t offset, __local short *p);
   12312 void __ovld vstore16(ushort16 data, size_t offset, __local ushort *p);
   12313 void __ovld vstore16(int16 data, size_t offset, __local int *p);
   12314 void __ovld vstore16(uint16 data, size_t offset, __local uint *p);
   12315 void __ovld vstore16(long16 data, size_t offset, __local long *p);
   12316 void __ovld vstore16(ulong16 data, size_t offset, __local ulong *p);
   12317 void __ovld vstore16(float16 data, size_t offset, __local float *p);
   12318 void __ovld vstore2(char2 data, size_t offset, __private char *p);
   12319 void __ovld vstore2(uchar2 data, size_t offset, __private uchar *p);
   12320 void __ovld vstore2(short2 data, size_t offset, __private short *p);
   12321 void __ovld vstore2(ushort2 data, size_t offset, __private ushort *p);
   12322 void __ovld vstore2(int2 data, size_t offset, __private int *p);
   12323 void __ovld vstore2(uint2 data, size_t offset, __private uint *p);
   12324 void __ovld vstore2(long2 data, size_t offset, __private long *p);
   12325 void __ovld vstore2(ulong2 data, size_t offset, __private ulong *p);
   12326 void __ovld vstore2(float2 data, size_t offset, __private float *p);
   12327 void __ovld vstore3(char3 data, size_t offset, __private char *p);
   12328 void __ovld vstore3(uchar3 data, size_t offset, __private uchar *p);
   12329 void __ovld vstore3(short3 data, size_t offset, __private short *p);
   12330 void __ovld vstore3(ushort3 data, size_t offset, __private ushort *p);
   12331 void __ovld vstore3(int3 data, size_t offset, __private int *p);
   12332 void __ovld vstore3(uint3 data, size_t offset, __private uint *p);
   12333 void __ovld vstore3(long3 data, size_t offset, __private long *p);
   12334 void __ovld vstore3(ulong3 data, size_t offset, __private ulong *p);
   12335 void __ovld vstore3(float3 data, size_t offset, __private float *p);
   12336 void __ovld vstore4(char4 data, size_t offset, __private char *p);
   12337 void __ovld vstore4(uchar4 data, size_t offset, __private uchar *p);
   12338 void __ovld vstore4(short4 data, size_t offset, __private short *p);
   12339 void __ovld vstore4(ushort4 data, size_t offset, __private ushort *p);
   12340 void __ovld vstore4(int4 data, size_t offset, __private int *p);
   12341 void __ovld vstore4(uint4 data, size_t offset, __private uint *p);
   12342 void __ovld vstore4(long4 data, size_t offset, __private long *p);
   12343 void __ovld vstore4(ulong4 data, size_t offset, __private ulong *p);
   12344 void __ovld vstore4(float4 data, size_t offset, __private float *p);
   12345 void __ovld vstore8(char8 data, size_t offset, __private char *p);
   12346 void __ovld vstore8(uchar8 data, size_t offset, __private uchar *p);
   12347 void __ovld vstore8(short8 data, size_t offset, __private short *p);
   12348 void __ovld vstore8(ushort8 data, size_t offset, __private ushort *p);
   12349 void __ovld vstore8(int8 data, size_t offset, __private int *p);
   12350 void __ovld vstore8(uint8 data, size_t offset, __private uint *p);
   12351 void __ovld vstore8(long8 data, size_t offset, __private long *p);
   12352 void __ovld vstore8(ulong8 data, size_t offset, __private ulong *p);
   12353 void __ovld vstore8(float8 data, size_t offset, __private float *p);
   12354 void __ovld vstore16(char16 data, size_t offset, __private char *p);
   12355 void __ovld vstore16(uchar16 data, size_t offset, __private uchar *p);
   12356 void __ovld vstore16(short16 data, size_t offset, __private short *p);
   12357 void __ovld vstore16(ushort16 data, size_t offset, __private ushort *p);
   12358 void __ovld vstore16(int16 data, size_t offset, __private int *p);
   12359 void __ovld vstore16(uint16 data, size_t offset, __private uint *p);
   12360 void __ovld vstore16(long16 data, size_t offset, __private long *p);
   12361 void __ovld vstore16(ulong16 data, size_t offset, __private ulong *p);
   12362 void __ovld vstore16(float16 data, size_t offset, __private float *p);
   12363 #ifdef cl_khr_fp64
   12364 void __ovld vstore2(double2 data, size_t offset, __global double *p);
   12365 void __ovld vstore3(double3 data, size_t offset, __global double *p);
   12366 void __ovld vstore4(double4 data, size_t offset, __global double *p);
   12367 void __ovld vstore8(double8 data, size_t offset, __global double *p);
   12368 void __ovld vstore16(double16 data, size_t offset, __global double *p);
   12369 void __ovld vstore2(double2 data, size_t offset, __local double *p);
   12370 void __ovld vstore3(double3 data, size_t offset, __local double *p);
   12371 void __ovld vstore4(double4 data, size_t offset, __local double *p);
   12372 void __ovld vstore8(double8 data, size_t offset, __local double *p);
   12373 void __ovld vstore16(double16 data, size_t offset, __local double *p);
   12374 void __ovld vstore2(double2 data, size_t offset, __private double *p);
   12375 void __ovld vstore3(double3 data, size_t offset, __private double *p);
   12376 void __ovld vstore4(double4 data, size_t offset, __private double *p);
   12377 void __ovld vstore8(double8 data, size_t offset, __private double *p);
   12378 void __ovld vstore16(double16 data, size_t offset, __private double *p);
   12379 #endif //cl_khr_fp64
   12380 #ifdef cl_khr_fp16
   12381 void __ovld vstore(half data, size_t offset, __global half *p);
   12382 void __ovld vstore2(half2 data, size_t offset, __global half *p);
   12383 void __ovld vstore3(half3 data, size_t offset, __global half *p);
   12384 void __ovld vstore4(half4 data, size_t offset, __global half *p);
   12385 void __ovld vstore8(half8 data, size_t offset, __global half *p);
   12386 void __ovld vstore16(half16 data, size_t offset, __global half *p);
   12387 void __ovld vstore(half data, size_t offset, __local half *p);
   12388 void __ovld vstore2(half2 data, size_t offset, __local half *p);
   12389 void __ovld vstore3(half3 data, size_t offset, __local half *p);
   12390 void __ovld vstore4(half4 data, size_t offset, __local half *p);
   12391 void __ovld vstore8(half8 data, size_t offset, __local half *p);
   12392 void __ovld vstore16(half16 data, size_t offset, __local half *p);
   12393 void __ovld vstore(half data, size_t offset, __private half *p);
   12394 void __ovld vstore2(half2 data, size_t offset, __private half *p);
   12395 void __ovld vstore3(half3 data, size_t offset, __private half *p);
   12396 void __ovld vstore4(half4 data, size_t offset, __private half *p);
   12397 void __ovld vstore8(half8 data, size_t offset, __private half *p);
   12398 void __ovld vstore16(half16 data, size_t offset, __private half *p);
   12399 #endif //cl_khr_fp16
   12400 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12401 
   12402 /**
   12403  * Read sizeof (half) bytes of data from address
   12404  * (p + offset). The data read is interpreted as a
   12405  * half value. The half value is converted to a
   12406  * float value and the float value is returned.
   12407  * The read address computed as (p + offset)
   12408  * must be 16-bit aligned.
   12409  */
   12410 float __ovld vload_half(size_t offset, const __constant half *p);
   12411 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12412 float __ovld vload_half(size_t offset, const half *p);
   12413 #else
   12414 float __ovld vload_half(size_t offset, const __global half *p);
   12415 float __ovld vload_half(size_t offset, const __local half *p);
   12416 float __ovld vload_half(size_t offset, const __private half *p);
   12417 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12418 
   12419 /**
   12420  * Read sizeof (halfn) bytes of data from address
   12421  * (p + (offset * n)). The data read is interpreted
   12422  * as a halfn value. The halfn value read is
   12423  * converted to a floatn value and the floatn
   12424  * value is returned. The read address computed
   12425  * as (p + (offset * n)) must be 16-bit aligned.
   12426  */
   12427 float2 __ovld vload_half2(size_t offset, const __constant half *p);
   12428 float3 __ovld vload_half3(size_t offset, const __constant half *p);
   12429 float4 __ovld vload_half4(size_t offset, const __constant half *p);
   12430 float8 __ovld vload_half8(size_t offset, const __constant half *p);
   12431 float16 __ovld vload_half16(size_t offset, const __constant half *p);
   12432 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12433 float2 __ovld vload_half2(size_t offset, const half *p);
   12434 float3 __ovld vload_half3(size_t offset, const half *p);
   12435 float4 __ovld vload_half4(size_t offset, const half *p);
   12436 float8 __ovld vload_half8(size_t offset, const half *p);
   12437 float16 __ovld vload_half16(size_t offset, const half *p);
   12438 #else
   12439 float2 __ovld vload_half2(size_t offset, const __global half *p);
   12440 float3 __ovld vload_half3(size_t offset, const __global half *p);
   12441 float4 __ovld vload_half4(size_t offset, const __global half *p);
   12442 float8 __ovld vload_half8(size_t offset, const __global half *p);
   12443 float16 __ovld vload_half16(size_t offset, const __global half *p);
   12444 float2 __ovld vload_half2(size_t offset, const __local half *p);
   12445 float3 __ovld vload_half3(size_t offset, const __local half *p);
   12446 float4 __ovld vload_half4(size_t offset, const __local half *p);
   12447 float8 __ovld vload_half8(size_t offset, const __local half *p);
   12448 float16 __ovld vload_half16(size_t offset, const __local half *p);
   12449 float2 __ovld vload_half2(size_t offset, const __private half *p);
   12450 float3 __ovld vload_half3(size_t offset, const __private half *p);
   12451 float4 __ovld vload_half4(size_t offset, const __private half *p);
   12452 float8 __ovld vload_half8(size_t offset, const __private half *p);
   12453 float16 __ovld vload_half16(size_t offset, const __private half *p);
   12454 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12455 
   12456 /**
   12457  * The float value given by data is first
   12458  * converted to a half value using the appropriate
   12459  * rounding mode. The half value is then written
   12460  * to address computed as (p + offset). The
   12461  * address computed as (p + offset) must be 16-
   12462  * bit aligned.
   12463  * vstore_half use the current rounding mode.
   12464  * The default current rounding mode is round to
   12465  * nearest even.
   12466  */
   12467 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12468 void __ovld vstore_half(float data, size_t offset, half *p);
   12469 void __ovld vstore_half_rte(float data, size_t offset, half *p);
   12470 void __ovld vstore_half_rtz(float data, size_t offset, half *p);
   12471 void __ovld vstore_half_rtp(float data, size_t offset, half *p);
   12472 void __ovld vstore_half_rtn(float data, size_t offset, half *p);
   12473 #ifdef cl_khr_fp64
   12474 void __ovld vstore_half(double data, size_t offset, half *p);
   12475 void __ovld vstore_half_rte(double data, size_t offset, half *p);
   12476 void __ovld vstore_half_rtz(double data, size_t offset, half *p);
   12477 void __ovld vstore_half_rtp(double data, size_t offset, half *p);
   12478 void __ovld vstore_half_rtn(double data, size_t offset, half *p);
   12479 #endif //cl_khr_fp64
   12480 #else
   12481 void __ovld vstore_half(float data, size_t offset, __global half *p);
   12482 void __ovld vstore_half_rte(float data, size_t offset, __global half *p);
   12483 void __ovld vstore_half_rtz(float data, size_t offset, __global half *p);
   12484 void __ovld vstore_half_rtp(float data, size_t offset, __global half *p);
   12485 void __ovld vstore_half_rtn(float data, size_t offset, __global half *p);
   12486 void __ovld vstore_half(float data, size_t offset, __local half *p);
   12487 void __ovld vstore_half_rte(float data, size_t offset, __local half *p);
   12488 void __ovld vstore_half_rtz(float data, size_t offset, __local half *p);
   12489 void __ovld vstore_half_rtp(float data, size_t offset, __local half *p);
   12490 void __ovld vstore_half_rtn(float data, size_t offset, __local half *p);
   12491 void __ovld vstore_half(float data, size_t offset, __private half *p);
   12492 void __ovld vstore_half_rte(float data, size_t offset, __private half *p);
   12493 void __ovld vstore_half_rtz(float data, size_t offset, __private half *p);
   12494 void __ovld vstore_half_rtp(float data, size_t offset, __private half *p);
   12495 void __ovld vstore_half_rtn(float data, size_t offset, __private half *p);
   12496 #ifdef cl_khr_fp64
   12497 void __ovld vstore_half(double data, size_t offset, __global half *p);
   12498 void __ovld vstore_half_rte(double data, size_t offset, __global half *p);
   12499 void __ovld vstore_half_rtz(double data, size_t offset, __global half *p);
   12500 void __ovld vstore_half_rtp(double data, size_t offset, __global half *p);
   12501 void __ovld vstore_half_rtn(double data, size_t offset, __global half *p);
   12502 void __ovld vstore_half(double data, size_t offset, __local half *p);
   12503 void __ovld vstore_half_rte(double data, size_t offset, __local half *p);
   12504 void __ovld vstore_half_rtz(double data, size_t offset, __local half *p);
   12505 void __ovld vstore_half_rtp(double data, size_t offset, __local half *p);
   12506 void __ovld vstore_half_rtn(double data, size_t offset, __local half *p);
   12507 void __ovld vstore_half(double data, size_t offset, __private half *p);
   12508 void __ovld vstore_half_rte(double data, size_t offset, __private half *p);
   12509 void __ovld vstore_half_rtz(double data, size_t offset, __private half *p);
   12510 void __ovld vstore_half_rtp(double data, size_t offset, __private half *p);
   12511 void __ovld vstore_half_rtn(double data, size_t offset, __private half *p);
   12512 #endif //cl_khr_fp64
   12513 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12514 
   12515 /**
   12516  * The floatn value given by data is converted to
   12517  * a halfn value using the appropriate rounding
   12518  * mode. The halfn value is then written to
   12519  * address computed as (p + (offset * n)). The
   12520  * address computed as (p + (offset * n)) must be
   12521  * 16-bit aligned.
   12522  * vstore_halfn uses the current rounding mode.
   12523  * The default current rounding mode is round to
   12524  * nearest even.
   12525  */
   12526 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12527 void __ovld vstore_half2(float2 data, size_t offset, half *p);
   12528 void __ovld vstore_half3(float3 data, size_t offset, half *p);
   12529 void __ovld vstore_half4(float4 data, size_t offset, half *p);
   12530 void __ovld vstore_half8(float8 data, size_t offset, half *p);
   12531 void __ovld vstore_half16(float16 data, size_t offset, half *p);
   12532 void __ovld vstore_half2_rte(float2 data, size_t offset, half *p);
   12533 void __ovld vstore_half3_rte(float3 data, size_t offset, half *p);
   12534 void __ovld vstore_half4_rte(float4 data, size_t offset, half *p);
   12535 void __ovld vstore_half8_rte(float8 data, size_t offset, half *p);
   12536 void __ovld vstore_half16_rte(float16 data, size_t offset, half *p);
   12537 void __ovld vstore_half2_rtz(float2 data, size_t offset, half *p);
   12538 void __ovld vstore_half3_rtz(float3 data, size_t offset, half *p);
   12539 void __ovld vstore_half4_rtz(float4 data, size_t offset, half *p);
   12540 void __ovld vstore_half8_rtz(float8 data, size_t offset, half *p);
   12541 void __ovld vstore_half16_rtz(float16 data, size_t offset, half *p);
   12542 void __ovld vstore_half2_rtp(float2 data, size_t offset, half *p);
   12543 void __ovld vstore_half3_rtp(float3 data, size_t offset, half *p);
   12544 void __ovld vstore_half4_rtp(float4 data, size_t offset, half *p);
   12545 void __ovld vstore_half8_rtp(float8 data, size_t offset, half *p);
   12546 void __ovld vstore_half16_rtp(float16 data, size_t offset, half *p);
   12547 void __ovld vstore_half2_rtn(float2 data, size_t offset, half *p);
   12548 void __ovld vstore_half3_rtn(float3 data, size_t offset, half *p);
   12549 void __ovld vstore_half4_rtn(float4 data, size_t offset, half *p);
   12550 void __ovld vstore_half8_rtn(float8 data, size_t offset, half *p);
   12551 void __ovld vstore_half16_rtn(float16 data, size_t offset, half *p);
   12552 #ifdef cl_khr_fp64
   12553 void __ovld vstore_half2(double2 data, size_t offset, half *p);
   12554 void __ovld vstore_half3(double3 data, size_t offset, half *p);
   12555 void __ovld vstore_half4(double4 data, size_t offset, half *p);
   12556 void __ovld vstore_half8(double8 data, size_t offset, half *p);
   12557 void __ovld vstore_half16(double16 data, size_t offset, half *p);
   12558 void __ovld vstore_half2_rte(double2 data, size_t offset, half *p);
   12559 void __ovld vstore_half3_rte(double3 data, size_t offset, half *p);
   12560 void __ovld vstore_half4_rte(double4 data, size_t offset, half *p);
   12561 void __ovld vstore_half8_rte(double8 data, size_t offset, half *p);
   12562 void __ovld vstore_half16_rte(double16 data, size_t offset, half *p);
   12563 void __ovld vstore_half2_rtz(double2 data, size_t offset, half *p);
   12564 void __ovld vstore_half3_rtz(double3 data, size_t offset, half *p);
   12565 void __ovld vstore_half4_rtz(double4 data, size_t offset, half *p);
   12566 void __ovld vstore_half8_rtz(double8 data, size_t offset, half *p);
   12567 void __ovld vstore_half16_rtz(double16 data, size_t offset, half *p);
   12568 void __ovld vstore_half2_rtp(double2 data, size_t offset, half *p);
   12569 void __ovld vstore_half3_rtp(double3 data, size_t offset, half *p);
   12570 void __ovld vstore_half4_rtp(double4 data, size_t offset, half *p);
   12571 void __ovld vstore_half8_rtp(double8 data, size_t offset, half *p);
   12572 void __ovld vstore_half16_rtp(double16 data, size_t offset, half *p);
   12573 void __ovld vstore_half2_rtn(double2 data, size_t offset, half *p);
   12574 void __ovld vstore_half3_rtn(double3 data, size_t offset, half *p);
   12575 void __ovld vstore_half4_rtn(double4 data, size_t offset, half *p);
   12576 void __ovld vstore_half8_rtn(double8 data, size_t offset, half *p);
   12577 void __ovld vstore_half16_rtn(double16 data, size_t offset, half *p);
   12578 #endif //cl_khr_fp64
   12579 #else
   12580 void __ovld vstore_half2(float2 data, size_t offset, __global half *p);
   12581 void __ovld vstore_half3(float3 data, size_t offset, __global half *p);
   12582 void __ovld vstore_half4(float4 data, size_t offset, __global half *p);
   12583 void __ovld vstore_half8(float8 data, size_t offset, __global half *p);
   12584 void __ovld vstore_half16(float16 data, size_t offset, __global half *p);
   12585 void __ovld vstore_half2_rte(float2 data, size_t offset, __global half *p);
   12586 void __ovld vstore_half3_rte(float3 data, size_t offset, __global half *p);
   12587 void __ovld vstore_half4_rte(float4 data, size_t offset, __global half *p);
   12588 void __ovld vstore_half8_rte(float8 data, size_t offset, __global half *p);
   12589 void __ovld vstore_half16_rte(float16 data, size_t offset, __global half *p);
   12590 void __ovld vstore_half2_rtz(float2 data, size_t offset, __global half *p);
   12591 void __ovld vstore_half3_rtz(float3 data, size_t offset, __global half *p);
   12592 void __ovld vstore_half4_rtz(float4 data, size_t offset, __global half *p);
   12593 void __ovld vstore_half8_rtz(float8 data, size_t offset, __global half *p);
   12594 void __ovld vstore_half16_rtz(float16 data, size_t offset, __global half *p);
   12595 void __ovld vstore_half2_rtp(float2 data, size_t offset, __global half *p);
   12596 void __ovld vstore_half3_rtp(float3 data, size_t offset, __global half *p);
   12597 void __ovld vstore_half4_rtp(float4 data, size_t offset, __global half *p);
   12598 void __ovld vstore_half8_rtp(float8 data, size_t offset, __global half *p);
   12599 void __ovld vstore_half16_rtp(float16 data, size_t offset, __global half *p);
   12600 void __ovld vstore_half2_rtn(float2 data, size_t offset, __global half *p);
   12601 void __ovld vstore_half3_rtn(float3 data, size_t offset, __global half *p);
   12602 void __ovld vstore_half4_rtn(float4 data, size_t offset, __global half *p);
   12603 void __ovld vstore_half8_rtn(float8 data, size_t offset, __global half *p);
   12604 void __ovld vstore_half16_rtn(float16 data, size_t offset, __global half *p);
   12605 void __ovld vstore_half2(float2 data, size_t offset, __local half *p);
   12606 void __ovld vstore_half3(float3 data, size_t offset, __local half *p);
   12607 void __ovld vstore_half4(float4 data, size_t offset, __local half *p);
   12608 void __ovld vstore_half8(float8 data, size_t offset, __local half *p);
   12609 void __ovld vstore_half16(float16 data, size_t offset, __local half *p);
   12610 void __ovld vstore_half2_rte(float2 data, size_t offset, __local half *p);
   12611 void __ovld vstore_half3_rte(float3 data, size_t offset, __local half *p);
   12612 void __ovld vstore_half4_rte(float4 data, size_t offset, __local half *p);
   12613 void __ovld vstore_half8_rte(float8 data, size_t offset, __local half *p);
   12614 void __ovld vstore_half16_rte(float16 data, size_t offset, __local half *p);
   12615 void __ovld vstore_half2_rtz(float2 data, size_t offset, __local half *p);
   12616 void __ovld vstore_half3_rtz(float3 data, size_t offset, __local half *p);
   12617 void __ovld vstore_half4_rtz(float4 data, size_t offset, __local half *p);
   12618 void __ovld vstore_half8_rtz(float8 data, size_t offset, __local half *p);
   12619 void __ovld vstore_half16_rtz(float16 data, size_t offset, __local half *p);
   12620 void __ovld vstore_half2_rtp(float2 data, size_t offset, __local half *p);
   12621 void __ovld vstore_half3_rtp(float3 data, size_t offset, __local half *p);
   12622 void __ovld vstore_half4_rtp(float4 data, size_t offset, __local half *p);
   12623 void __ovld vstore_half8_rtp(float8 data, size_t offset, __local half *p);
   12624 void __ovld vstore_half16_rtp(float16 data, size_t offset, __local half *p);
   12625 void __ovld vstore_half2_rtn(float2 data, size_t offset, __local half *p);
   12626 void __ovld vstore_half3_rtn(float3 data, size_t offset, __local half *p);
   12627 void __ovld vstore_half4_rtn(float4 data, size_t offset, __local half *p);
   12628 void __ovld vstore_half8_rtn(float8 data, size_t offset, __local half *p);
   12629 void __ovld vstore_half16_rtn(float16 data, size_t offset, __local half *p);
   12630 void __ovld vstore_half2(float2 data, size_t offset, __private half *p);
   12631 void __ovld vstore_half3(float3 data, size_t offset, __private half *p);
   12632 void __ovld vstore_half4(float4 data, size_t offset, __private half *p);
   12633 void __ovld vstore_half8(float8 data, size_t offset, __private half *p);
   12634 void __ovld vstore_half16(float16 data, size_t offset, __private half *p);
   12635 void __ovld vstore_half2_rte(float2 data, size_t offset, __private half *p);
   12636 void __ovld vstore_half3_rte(float3 data, size_t offset, __private half *p);
   12637 void __ovld vstore_half4_rte(float4 data, size_t offset, __private half *p);
   12638 void __ovld vstore_half8_rte(float8 data, size_t offset, __private half *p);
   12639 void __ovld vstore_half16_rte(float16 data, size_t offset, __private half *p);
   12640 void __ovld vstore_half2_rtz(float2 data, size_t offset, __private half *p);
   12641 void __ovld vstore_half3_rtz(float3 data, size_t offset, __private half *p);
   12642 void __ovld vstore_half4_rtz(float4 data, size_t offset, __private half *p);
   12643 void __ovld vstore_half8_rtz(float8 data, size_t offset, __private half *p);
   12644 void __ovld vstore_half16_rtz(float16 data, size_t offset, __private half *p);
   12645 void __ovld vstore_half2_rtp(float2 data, size_t offset, __private half *p);
   12646 void __ovld vstore_half3_rtp(float3 data, size_t offset, __private half *p);
   12647 void __ovld vstore_half4_rtp(float4 data, size_t offset, __private half *p);
   12648 void __ovld vstore_half8_rtp(float8 data, size_t offset, __private half *p);
   12649 void __ovld vstore_half16_rtp(float16 data, size_t offset, __private half *p);
   12650 void __ovld vstore_half2_rtn(float2 data, size_t offset, __private half *p);
   12651 void __ovld vstore_half3_rtn(float3 data, size_t offset, __private half *p);
   12652 void __ovld vstore_half4_rtn(float4 data, size_t offset, __private half *p);
   12653 void __ovld vstore_half8_rtn(float8 data, size_t offset, __private half *p);
   12654 void __ovld vstore_half16_rtn(float16 data, size_t offset, __private half *p);
   12655 #ifdef cl_khr_fp64
   12656 void __ovld vstore_half2(double2 data, size_t offset, __global half *p);
   12657 void __ovld vstore_half3(double3 data, size_t offset, __global half *p);
   12658 void __ovld vstore_half4(double4 data, size_t offset, __global half *p);
   12659 void __ovld vstore_half8(double8 data, size_t offset, __global half *p);
   12660 void __ovld vstore_half16(double16 data, size_t offset, __global half *p);
   12661 void __ovld vstore_half2_rte(double2 data, size_t offset, __global half *p);
   12662 void __ovld vstore_half3_rte(double3 data, size_t offset, __global half *p);
   12663 void __ovld vstore_half4_rte(double4 data, size_t offset, __global half *p);
   12664 void __ovld vstore_half8_rte(double8 data, size_t offset, __global half *p);
   12665 void __ovld vstore_half16_rte(double16 data, size_t offset, __global half *p);
   12666 void __ovld vstore_half2_rtz(double2 data, size_t offset, __global half *p);
   12667 void __ovld vstore_half3_rtz(double3 data, size_t offset, __global half *p);
   12668 void __ovld vstore_half4_rtz(double4 data, size_t offset, __global half *p);
   12669 void __ovld vstore_half8_rtz(double8 data, size_t offset, __global half *p);
   12670 void __ovld vstore_half16_rtz(double16 data, size_t offset, __global half *p);
   12671 void __ovld vstore_half2_rtp(double2 data, size_t offset, __global half *p);
   12672 void __ovld vstore_half3_rtp(double3 data, size_t offset, __global half *p);
   12673 void __ovld vstore_half4_rtp(double4 data, size_t offset, __global half *p);
   12674 void __ovld vstore_half8_rtp(double8 data, size_t offset, __global half *p);
   12675 void __ovld vstore_half16_rtp(double16 data, size_t offset, __global half *p);
   12676 void __ovld vstore_half2_rtn(double2 data, size_t offset, __global half *p);
   12677 void __ovld vstore_half3_rtn(double3 data, size_t offset, __global half *p);
   12678 void __ovld vstore_half4_rtn(double4 data, size_t offset, __global half *p);
   12679 void __ovld vstore_half8_rtn(double8 data, size_t offset, __global half *p);
   12680 void __ovld vstore_half16_rtn(double16 data, size_t offset, __global half *p);
   12681 void __ovld vstore_half2(double2 data, size_t offset, __local half *p);
   12682 void __ovld vstore_half3(double3 data, size_t offset, __local half *p);
   12683 void __ovld vstore_half4(double4 data, size_t offset, __local half *p);
   12684 void __ovld vstore_half8(double8 data, size_t offset, __local half *p);
   12685 void __ovld vstore_half16(double16 data, size_t offset, __local half *p);
   12686 void __ovld vstore_half2_rte(double2 data, size_t offset, __local half *p);
   12687 void __ovld vstore_half3_rte(double3 data, size_t offset, __local half *p);
   12688 void __ovld vstore_half4_rte(double4 data, size_t offset, __local half *p);
   12689 void __ovld vstore_half8_rte(double8 data, size_t offset, __local half *p);
   12690 void __ovld vstore_half16_rte(double16 data, size_t offset, __local half *p);
   12691 void __ovld vstore_half2_rtz(double2 data, size_t offset, __local half *p);
   12692 void __ovld vstore_half3_rtz(double3 data, size_t offset, __local half *p);
   12693 void __ovld vstore_half4_rtz(double4 data, size_t offset, __local half *p);
   12694 void __ovld vstore_half8_rtz(double8 data, size_t offset, __local half *p);
   12695 void __ovld vstore_half16_rtz(double16 data, size_t offset, __local half *p);
   12696 void __ovld vstore_half2_rtp(double2 data, size_t offset, __local half *p);
   12697 void __ovld vstore_half3_rtp(double3 data, size_t offset, __local half *p);
   12698 void __ovld vstore_half4_rtp(double4 data, size_t offset, __local half *p);
   12699 void __ovld vstore_half8_rtp(double8 data, size_t offset, __local half *p);
   12700 void __ovld vstore_half16_rtp(double16 data, size_t offset, __local half *p);
   12701 void __ovld vstore_half2_rtn(double2 data, size_t offset, __local half *p);
   12702 void __ovld vstore_half3_rtn(double3 data, size_t offset, __local half *p);
   12703 void __ovld vstore_half4_rtn(double4 data, size_t offset, __local half *p);
   12704 void __ovld vstore_half8_rtn(double8 data, size_t offset, __local half *p);
   12705 void __ovld vstore_half16_rtn(double16 data, size_t offset, __local half *p);
   12706 void __ovld vstore_half2(double2 data, size_t offset, __private half *p);
   12707 void __ovld vstore_half3(double3 data, size_t offset, __private half *p);
   12708 void __ovld vstore_half4(double4 data, size_t offset, __private half *p);
   12709 void __ovld vstore_half8(double8 data, size_t offset, __private half *p);
   12710 void __ovld vstore_half16(double16 data, size_t offset, __private half *p);
   12711 void __ovld vstore_half2_rte(double2 data, size_t offset, __private half *p);
   12712 void __ovld vstore_half3_rte(double3 data, size_t offset, __private half *p);
   12713 void __ovld vstore_half4_rte(double4 data, size_t offset, __private half *p);
   12714 void __ovld vstore_half8_rte(double8 data, size_t offset, __private half *p);
   12715 void __ovld vstore_half16_rte(double16 data, size_t offset, __private half *p);
   12716 void __ovld vstore_half2_rtz(double2 data, size_t offset, __private half *p);
   12717 void __ovld vstore_half3_rtz(double3 data, size_t offset, __private half *p);
   12718 void __ovld vstore_half4_rtz(double4 data, size_t offset, __private half *p);
   12719 void __ovld vstore_half8_rtz(double8 data, size_t offset, __private half *p);
   12720 void __ovld vstore_half16_rtz(double16 data, size_t offset, __private half *p);
   12721 void __ovld vstore_half2_rtp(double2 data, size_t offset, __private half *p);
   12722 void __ovld vstore_half3_rtp(double3 data, size_t offset, __private half *p);
   12723 void __ovld vstore_half4_rtp(double4 data, size_t offset, __private half *p);
   12724 void __ovld vstore_half8_rtp(double8 data, size_t offset, __private half *p);
   12725 void __ovld vstore_half16_rtp(double16 data, size_t offset, __private half *p);
   12726 void __ovld vstore_half2_rtn(double2 data, size_t offset, __private half *p);
   12727 void __ovld vstore_half3_rtn(double3 data, size_t offset, __private half *p);
   12728 void __ovld vstore_half4_rtn(double4 data, size_t offset, __private half *p);
   12729 void __ovld vstore_half8_rtn(double8 data, size_t offset, __private half *p);
   12730 void __ovld vstore_half16_rtn(double16 data, size_t offset, __private half *p);
   12731 #endif //cl_khr_fp64
   12732 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12733 
   12734 /**
   12735  * For n = 1, 2, 4, 8 and 16 read sizeof (halfn)
   12736  * bytes of data from address (p + (offset * n)).
   12737  * The data read is interpreted as a halfn value.
   12738  * The halfn value read is converted to a floatn
   12739  * value and the floatn value is returned.
   12740  * The address computed as (p + (offset * n))
   12741  * must be aligned to sizeof (halfn) bytes.
   12742  * For n = 3, vloada_half3 reads a half3 from
   12743  * address (p + (offset * 4)) and returns a float3.
   12744  * The address computed as (p + (offset * 4))
   12745  * must be aligned to sizeof (half) * 4 bytes.
   12746  */
   12747 float __ovld vloada_half(size_t offset, const __constant half *p);
   12748 float2 __ovld vloada_half2(size_t offset, const __constant half *p);
   12749 float3 __ovld vloada_half3(size_t offset, const __constant half *p);
   12750 float4 __ovld vloada_half4(size_t offset, const __constant half *p);
   12751 float8 __ovld vloada_half8(size_t offset, const __constant half *p);
   12752 float16 __ovld vloada_half16(size_t offset, const __constant half *p);
   12753 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12754 float __ovld vloada_half(size_t offset, const half *p);
   12755 float2 __ovld vloada_half2(size_t offset, const half *p);
   12756 float3 __ovld vloada_half3(size_t offset, const half *p);
   12757 float4 __ovld vloada_half4(size_t offset, const half *p);
   12758 float8 __ovld vloada_half8(size_t offset, const half *p);
   12759 float16 __ovld vloada_half16(size_t offset, const half *p);
   12760 #else
   12761 float __ovld vloada_half(size_t offset, const __global half *p);
   12762 float2 __ovld vloada_half2(size_t offset, const __global half *p);
   12763 float3 __ovld vloada_half3(size_t offset, const __global half *p);
   12764 float4 __ovld vloada_half4(size_t offset, const __global half *p);
   12765 float8 __ovld vloada_half8(size_t offset, const __global half *p);
   12766 float16 __ovld vloada_half16(size_t offset, const __global half *p);
   12767 float __ovld vloada_half(size_t offset, const __local half *p);
   12768 float2 __ovld vloada_half2(size_t offset, const __local half *p);
   12769 float3 __ovld vloada_half3(size_t offset, const __local half *p);
   12770 float4 __ovld vloada_half4(size_t offset, const __local half *p);
   12771 float8 __ovld vloada_half8(size_t offset, const __local half *p);
   12772 float16 __ovld vloada_half16(size_t offset, const __local half *p);
   12773 float __ovld vloada_half(size_t offset, const __private half *p);
   12774 float2 __ovld vloada_half2(size_t offset, const __private half *p);
   12775 float3 __ovld vloada_half3(size_t offset, const __private half *p);
   12776 float4 __ovld vloada_half4(size_t offset, const __private half *p);
   12777 float8 __ovld vloada_half8(size_t offset, const __private half *p);
   12778 float16 __ovld vloada_half16(size_t offset, const __private half *p);
   12779 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12780 
   12781 /**
   12782  * The floatn value given by data is converted to
   12783  * a halfn value using the appropriate rounding
   12784  * mode.
   12785  * For n = 1, 2, 4, 8 and 16, the halfn value is
   12786  * written to the address computed as (p + (offset
   12787  * * n)). The address computed as (p + (offset *
   12788  * n)) must be aligned to sizeof (halfn) bytes.
   12789  * For n = 3, the half3 value is written to the
   12790  * address computed as (p + (offset * 4)). The
   12791  * address computed as (p + (offset * 4)) must be
   12792  * aligned to sizeof (half) * 4 bytes.
   12793  * vstorea_halfn uses the current rounding
   12794  * mode. The default current rounding mode is
   12795  * round to nearest even.
   12796  */
   12797 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12798 void __ovld vstorea_half(float data, size_t offset, half *p);
   12799 void __ovld vstorea_half2(float2 data, size_t offset, half *p);
   12800 void __ovld vstorea_half3(float3 data, size_t offset, half *p);
   12801 void __ovld vstorea_half4(float4 data, size_t offset, half *p);
   12802 void __ovld vstorea_half8(float8 data, size_t offset, half *p);
   12803 void __ovld vstorea_half16(float16 data, size_t offset, half *p);
   12804 
   12805 void __ovld vstorea_half_rte(float data, size_t offset, half *p);
   12806 void __ovld vstorea_half2_rte(float2 data, size_t offset, half *p);
   12807 void __ovld vstorea_half3_rte(float3 data, size_t offset, half *p);
   12808 void __ovld vstorea_half4_rte(float4 data, size_t offset, half *p);
   12809 void __ovld vstorea_half8_rte(float8 data, size_t offset, half *p);
   12810 void __ovld vstorea_half16_rte(float16 data, size_t offset, half *p);
   12811 
   12812 void __ovld vstorea_half_rtz(float data, size_t offset, half *p);
   12813 void __ovld vstorea_half2_rtz(float2 data, size_t offset, half *p);
   12814 void __ovld vstorea_half3_rtz(float3 data, size_t offset, half *p);
   12815 void __ovld vstorea_half4_rtz(float4 data, size_t offset, half *p);
   12816 void __ovld vstorea_half8_rtz(float8 data, size_t offset, half *p);
   12817 void __ovld vstorea_half16_rtz(float16 data, size_t offset, half *p);
   12818 
   12819 void __ovld vstorea_half_rtp(float data, size_t offset, half *p);
   12820 void __ovld vstorea_half2_rtp(float2 data, size_t offset, half *p);
   12821 void __ovld vstorea_half3_rtp(float3 data, size_t offset, half *p);
   12822 void __ovld vstorea_half4_rtp(float4 data, size_t offset, half *p);
   12823 void __ovld vstorea_half8_rtp(float8 data, size_t offset, half *p);
   12824 void __ovld vstorea_half16_rtp(float16 data, size_t offset, half *p);
   12825 
   12826 void __ovld vstorea_half_rtn(float data, size_t offset, half *p);
   12827 void __ovld vstorea_half2_rtn(float2 data, size_t offset, half *p);
   12828 void __ovld vstorea_half3_rtn(float3 data, size_t offset, half *p);
   12829 void __ovld vstorea_half4_rtn(float4 data, size_t offset, half *p);
   12830 void __ovld vstorea_half8_rtn(float8 data, size_t offset, half *p);
   12831 void __ovld vstorea_half16_rtn(float16 data, size_t offset, half *p);
   12832 
   12833 #ifdef cl_khr_fp64
   12834 void __ovld vstorea_half(double data, size_t offset, half *p);
   12835 void __ovld vstorea_half2(double2 data, size_t offset, half *p);
   12836 void __ovld vstorea_half3(double3 data, size_t offset, half *p);
   12837 void __ovld vstorea_half4(double4 data, size_t offset, half *p);
   12838 void __ovld vstorea_half8(double8 data, size_t offset, half *p);
   12839 void __ovld vstorea_half16(double16 data, size_t offset, half *p);
   12840 
   12841 void __ovld vstorea_half_rte(double data, size_t offset, half *p);
   12842 void __ovld vstorea_half2_rte(double2 data, size_t offset, half *p);
   12843 void __ovld vstorea_half3_rte(double3 data, size_t offset, half *p);
   12844 void __ovld vstorea_half4_rte(double4 data, size_t offset, half *p);
   12845 void __ovld vstorea_half8_rte(double8 data, size_t offset, half *p);
   12846 void __ovld vstorea_half16_rte(double16 data, size_t offset, half *p);
   12847 
   12848 void __ovld vstorea_half_rtz(double data, size_t offset, half *p);
   12849 void __ovld vstorea_half2_rtz(double2 data, size_t offset, half *p);
   12850 void __ovld vstorea_half3_rtz(double3 data, size_t offset, half *p);
   12851 void __ovld vstorea_half4_rtz(double4 data, size_t offset, half *p);
   12852 void __ovld vstorea_half8_rtz(double8 data, size_t offset, half *p);
   12853 void __ovld vstorea_half16_rtz(double16 data, size_t offset, half *p);
   12854 
   12855 void __ovld vstorea_half_rtp(double data, size_t offset, half *p);
   12856 void __ovld vstorea_half2_rtp(double2 data, size_t offset, half *p);
   12857 void __ovld vstorea_half3_rtp(double3 data, size_t offset, half *p);
   12858 void __ovld vstorea_half4_rtp(double4 data, size_t offset, half *p);
   12859 void __ovld vstorea_half8_rtp(double8 data, size_t offset, half *p);
   12860 void __ovld vstorea_half16_rtp(double16 data, size_t offset, half *p);
   12861 
   12862 void __ovld vstorea_half_rtn(double data, size_t offset, half *p);
   12863 void __ovld vstorea_half2_rtn(double2 data, size_t offset, half *p);
   12864 void __ovld vstorea_half3_rtn(double3 data, size_t offset, half *p);
   12865 void __ovld vstorea_half4_rtn(double4 data, size_t offset, half *p);
   12866 void __ovld vstorea_half8_rtn(double8 data, size_t offset, half *p);
   12867 void __ovld vstorea_half16_rtn(double16 data, size_t offset, half *p);
   12868 #endif //cl_khr_fp64
   12869 
   12870 #else
   12871 void __ovld vstorea_half(float data, size_t offset, __global half *p);
   12872 void __ovld vstorea_half2(float2 data, size_t offset, __global half *p);
   12873 void __ovld vstorea_half3(float3 data, size_t offset, __global half *p);
   12874 void __ovld vstorea_half4(float4 data, size_t offset, __global half *p);
   12875 void __ovld vstorea_half8(float8 data, size_t offset, __global half *p);
   12876 void __ovld vstorea_half16(float16 data, size_t offset, __global half *p);
   12877 
   12878 void __ovld vstorea_half_rte(float data, size_t offset, __global half *p);
   12879 void __ovld vstorea_half2_rte(float2 data, size_t offset, __global half *p);
   12880 void __ovld vstorea_half3_rte(float3 data, size_t offset, __global half *p);
   12881 void __ovld vstorea_half4_rte(float4 data, size_t offset, __global half *p);
   12882 void __ovld vstorea_half8_rte(float8 data, size_t offset, __global half *p);
   12883 void __ovld vstorea_half16_rte(float16 data, size_t offset, __global half *p);
   12884 
   12885 void __ovld vstorea_half_rtz(float data, size_t offset, __global half *p);
   12886 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __global half *p);
   12887 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __global half *p);
   12888 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __global half *p);
   12889 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __global half *p);
   12890 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __global half *p);
   12891 
   12892 void __ovld vstorea_half_rtp(float data, size_t offset, __global half *p);
   12893 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __global half *p);
   12894 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __global half *p);
   12895 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __global half *p);
   12896 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __global half *p);
   12897 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __global half *p);
   12898 
   12899 void __ovld vstorea_half_rtn(float data, size_t offset, __global half *p);
   12900 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __global half *p);
   12901 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __global half *p);
   12902 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __global half *p);
   12903 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __global half *p);
   12904 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __global half *p);
   12905 
   12906 void __ovld vstorea_half(float data, size_t offset, __local half *p);
   12907 void __ovld vstorea_half2(float2 data, size_t offset, __local half *p);
   12908 void __ovld vstorea_half3(float3 data, size_t offset, __local half *p);
   12909 void __ovld vstorea_half4(float4 data, size_t offset, __local half *p);
   12910 void __ovld vstorea_half8(float8 data, size_t offset, __local half *p);
   12911 void __ovld vstorea_half16(float16 data, size_t offset, __local half *p);
   12912 
   12913 void __ovld vstorea_half_rte(float data, size_t offset, __local half *p);
   12914 void __ovld vstorea_half2_rte(float2 data, size_t offset, __local half *p);
   12915 void __ovld vstorea_half3_rte(float3 data, size_t offset, __local half *p);
   12916 void __ovld vstorea_half4_rte(float4 data, size_t offset, __local half *p);
   12917 void __ovld vstorea_half8_rte(float8 data, size_t offset, __local half *p);
   12918 void __ovld vstorea_half16_rte(float16 data, size_t offset, __local half *p);
   12919 
   12920 void __ovld vstorea_half_rtz(float data, size_t offset, __local half *p);
   12921 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __local half *p);
   12922 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __local half *p);
   12923 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __local half *p);
   12924 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __local half *p);
   12925 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __local half *p);
   12926 
   12927 void __ovld vstorea_half_rtp(float data, size_t offset, __local half *p);
   12928 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __local half *p);
   12929 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __local half *p);
   12930 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __local half *p);
   12931 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __local half *p);
   12932 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __local half *p);
   12933 
   12934 void __ovld vstorea_half_rtn(float data, size_t offset, __local half *p);
   12935 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __local half *p);
   12936 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __local half *p);
   12937 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __local half *p);
   12938 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __local half *p);
   12939 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __local half *p);
   12940 
   12941 void __ovld vstorea_half(float data, size_t offset, __private half *p);
   12942 void __ovld vstorea_half2(float2 data, size_t offset, __private half *p);
   12943 void __ovld vstorea_half3(float3 data, size_t offset, __private half *p);
   12944 void __ovld vstorea_half4(float4 data, size_t offset, __private half *p);
   12945 void __ovld vstorea_half8(float8 data, size_t offset, __private half *p);
   12946 void __ovld vstorea_half16(float16 data, size_t offset, __private half *p);
   12947 
   12948 void __ovld vstorea_half_rte(float data, size_t offset, __private half *p);
   12949 void __ovld vstorea_half2_rte(float2 data, size_t offset, __private half *p);
   12950 void __ovld vstorea_half3_rte(float3 data, size_t offset, __private half *p);
   12951 void __ovld vstorea_half4_rte(float4 data, size_t offset, __private half *p);
   12952 void __ovld vstorea_half8_rte(float8 data, size_t offset, __private half *p);
   12953 void __ovld vstorea_half16_rte(float16 data, size_t offset, __private half *p);
   12954 
   12955 void __ovld vstorea_half_rtz(float data, size_t offset, __private half *p);
   12956 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __private half *p);
   12957 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __private half *p);
   12958 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __private half *p);
   12959 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __private half *p);
   12960 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __private half *p);
   12961 
   12962 void __ovld vstorea_half_rtp(float data, size_t offset, __private half *p);
   12963 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __private half *p);
   12964 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __private half *p);
   12965 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __private half *p);
   12966 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __private half *p);
   12967 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __private half *p);
   12968 
   12969 void __ovld vstorea_half_rtn(float data, size_t offset, __private half *p);
   12970 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __private half *p);
   12971 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __private half *p);
   12972 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __private half *p);
   12973 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __private half *p);
   12974 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __private half *p);
   12975 
   12976 #ifdef cl_khr_fp64
   12977 void __ovld vstorea_half(double data, size_t offset, __global half *p);
   12978 void __ovld vstorea_half2(double2 data, size_t offset, __global half *p);
   12979 void __ovld vstorea_half3(double3 data, size_t offset, __global half *p);
   12980 void __ovld vstorea_half4(double4 data, size_t offset, __global half *p);
   12981 void __ovld vstorea_half8(double8 data, size_t offset, __global half *p);
   12982 void __ovld vstorea_half16(double16 data, size_t offset, __global half *p);
   12983 
   12984 void __ovld vstorea_half_rte(double data, size_t offset, __global half *p);
   12985 void __ovld vstorea_half2_rte(double2 data, size_t offset, __global half *p);
   12986 void __ovld vstorea_half3_rte(double3 data, size_t offset, __global half *p);
   12987 void __ovld vstorea_half4_rte(double4 data, size_t offset, __global half *p);
   12988 void __ovld vstorea_half8_rte(double8 data, size_t offset, __global half *p);
   12989 void __ovld vstorea_half16_rte(double16 data, size_t offset, __global half *p);
   12990 
   12991 void __ovld vstorea_half_rtz(double data, size_t offset, __global half *p);
   12992 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __global half *p);
   12993 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __global half *p);
   12994 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __global half *p);
   12995 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __global half *p);
   12996 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __global half *p);
   12997 
   12998 void __ovld vstorea_half_rtp(double data, size_t offset, __global half *p);
   12999 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __global half *p);
   13000 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __global half *p);
   13001 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __global half *p);
   13002 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __global half *p);
   13003 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __global half *p);
   13004 
   13005 void __ovld vstorea_half_rtn(double data, size_t offset, __global half *p);
   13006 void __ovld vstorea_half2_rtn(double2 data, size_t offset, __global half *p);
   13007 void __ovld vstorea_half3_rtn(double3 data, size_t offset, __global half *p);
   13008 void __ovld vstorea_half4_rtn(double4 data, size_t offset, __global half *p);
   13009 void __ovld vstorea_half8_rtn(double8 data, size_t offset, __global half *p);
   13010 void __ovld vstorea_half16_rtn(double16 data, size_t offset, __global half *p);
   13011 
   13012 void __ovld vstorea_half(double data, size_t offset, __local half *p);
   13013 void __ovld vstorea_half2(double2 data, size_t offset, __local half *p);
   13014 void __ovld vstorea_half3(double3 data, size_t offset, __local half *p);
   13015 void __ovld vstorea_half4(double4 data, size_t offset, __local half *p);
   13016 void __ovld vstorea_half8(double8 data, size_t offset, __local half *p);
   13017 void __ovld vstorea_half16(double16 data, size_t offset, __local half *p);
   13018 
   13019 void __ovld vstorea_half_rte(double data, size_t offset, __local half *p);
   13020 void __ovld vstorea_half2_rte(double2 data, size_t offset, __local half *p);
   13021 void __ovld vstorea_half3_rte(double3 data, size_t offset, __local half *p);
   13022 void __ovld vstorea_half4_rte(double4 data, size_t offset, __local half *p);
   13023 void __ovld vstorea_half8_rte(double8 data, size_t offset, __local half *p);
   13024 void __ovld vstorea_half16_rte(double16 data, size_t offset, __local half *p);
   13025 
   13026 void __ovld vstorea_half_rtz(double data, size_t offset, __local half *p);
   13027 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __local half *p);
   13028 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __local half *p);
   13029 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __local half *p);
   13030 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __local half *p);
   13031 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __local half *p);
   13032 
   13033 void __ovld vstorea_half_rtp(double data, size_t offset, __local half *p);
   13034 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __local half *p);
   13035 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __local half *p);
   13036 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __local half *p);
   13037 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __local half *p);
   13038 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __local half *p);
   13039 
   13040 void __ovld vstorea_half_rtn(double data, size_t offset, __local half *p);
   13041 void __ovld vstorea_half2_rtn(double2 data, size_t offset, __local half *p);
   13042 void __ovld vstorea_half3_rtn(double3 data, size_t offset, __local half *p);
   13043 void __ovld vstorea_half4_rtn(double4 data, size_t offset, __local half *p);
   13044 void __ovld vstorea_half8_rtn(double8 data, size_t offset, __local half *p);
   13045 void __ovld vstorea_half16_rtn(double16 data, size_t offset, __local half *p);
   13046 
   13047 void __ovld vstorea_half(double data, size_t offset, __private half *p);
   13048 void __ovld vstorea_half2(double2 data, size_t offset, __private half *p);
   13049 void __ovld vstorea_half3(double3 data, size_t offset, __private half *p);
   13050 void __ovld vstorea_half4(double4 data, size_t offset, __private half *p);
   13051 void __ovld vstorea_half8(double8 data, size_t offset, __private half *p);
   13052 void __ovld vstorea_half16(double16 data, size_t offset, __private half *p);
   13053 
   13054 void __ovld vstorea_half_rte(double data, size_t offset, __private half *p);
   13055 void __ovld vstorea_half2_rte(double2 data, size_t offset, __private half *p);
   13056 void __ovld vstorea_half3_rte(double3 data, size_t offset, __private half *p);
   13057 void __ovld vstorea_half4_rte(double4 data, size_t offset, __private half *p);
   13058 void __ovld vstorea_half8_rte(double8 data, size_t offset, __private half *p);
   13059 void __ovld vstorea_half16_rte(double16 data, size_t offset, __private half *p);
   13060 
   13061 void __ovld vstorea_half_rtz(double data, size_t offset, __private half *p);
   13062 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __private half *p);
   13063 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __private half *p);
   13064 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __private half *p);
   13065 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __private half *p);
   13066 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __private half *p);
   13067 
   13068 void __ovld vstorea_half_rtp(double data, size_t offset, __private half *p);
   13069 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __private half *p);
   13070 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __private half *p);
   13071 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __private half *p);
   13072 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __private half *p);
   13073 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __private half *p);
   13074 
   13075 void __ovld vstorea_half_rtn(double data, size_t offset, __private half *p);
   13076 void __ovld vstorea_half2_rtn(double2 data,size_t offset, __private half *p);
   13077 void __ovld vstorea_half3_rtn(double3 data,size_t offset, __private half *p);
   13078 void __ovld vstorea_half4_rtn(double4 data,size_t offset, __private half *p);
   13079 void __ovld vstorea_half8_rtn(double8 data,size_t offset, __private half *p);
   13080 void __ovld vstorea_half16_rtn(double16 data,size_t offset, __private half *p);
   13081 #endif //cl_khr_fp64
   13082 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13083 
   13084 // OpenCL v1.1 s6.11.8, v1.2 s6.12.8, v2.0 s6.13.8 - Synchronization Functions
   13085 
   13086 // Flag type and values for barrier, mem_fence, read_mem_fence, write_mem_fence
   13087 typedef uint cl_mem_fence_flags;
   13088 
   13089 /**
   13090  * Queue a memory fence to ensure correct
   13091  * ordering of memory operations to local memory
   13092  */
   13093 #define CLK_LOCAL_MEM_FENCE    0x01
   13094 
   13095 /**
   13096  * Queue a memory fence to ensure correct
   13097  * ordering of memory operations to global memory
   13098  */
   13099 #define CLK_GLOBAL_MEM_FENCE   0x02
   13100 
   13101 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13102 /**
   13103  * Queue a memory fence to ensure correct ordering of memory
   13104  * operations between work-items of a work-group to
   13105  * image memory.
   13106  */
   13107 #define CLK_IMAGE_MEM_FENCE  0x04
   13108 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13109 
   13110 /**
   13111  * All work-items in a work-group executing the kernel
   13112  * on a processor must execute this function before any
   13113  * are allowed to continue execution beyond the barrier.
   13114  * This function must be encountered by all work-items in
   13115  * a work-group executing the kernel.
   13116  * If barrier is inside a conditional statement, then all
   13117  * work-items must enter the conditional if any work-item
   13118  * enters the conditional statement and executes the
   13119  * barrier.
   13120  * If barrer is inside a loop, all work-items must execute
   13121  * the barrier for each iteration of the loop before any are
   13122  * allowed to continue execution beyond the barrier.
   13123  * The barrier function also queues a memory fence
   13124  * (reads and writes) to ensure correct ordering of
   13125  * memory operations to local or global memory.
   13126  * The flags argument specifies the memory address space
   13127  * and can be set to a combination of the following literal
   13128  * values.
   13129  * CLK_LOCAL_MEM_FENCE - The barrier function
   13130  * will either flush any variables stored in local memory
   13131  * or queue a memory fence to ensure correct ordering of
   13132  * memory operations to local memory.
   13133  * CLK_GLOBAL_MEM_FENCE - The barrier function
   13134  * will queue a memory fence to ensure correct ordering
   13135  * of memory operations to global memory. This can be
   13136  * useful when work-items, for example, write to buffer or
   13137  * image objects and then want to read the updated data.
   13138  */
   13139 
   13140 void __ovld __conv barrier(cl_mem_fence_flags flags);
   13141 
   13142 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13143 
   13144 typedef enum memory_scope
   13145 {
   13146   memory_scope_work_item,
   13147   memory_scope_work_group,
   13148   memory_scope_device,
   13149   memory_scope_all_svm_devices,
   13150   memory_scope_sub_group
   13151 } memory_scope;
   13152 
   13153 void __ovld __conv work_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
   13154 void __ovld __conv work_group_barrier(cl_mem_fence_flags flags);
   13155 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13156 
   13157 // OpenCL v1.1 s6.11.9, v1.2 s6.12.9 - Explicit Memory Fence Functions
   13158 
   13159 /**
   13160  * Orders loads and stores of a work-item
   13161  * executing a kernel. This means that loads
   13162  * and stores preceding the mem_fence will
   13163  * be committed to memory before any loads
   13164  * and stores following the mem_fence.
   13165  * The flags argument specifies the memory
   13166  * address space and can be set to a
   13167  * combination of the following literal
   13168  * values:
   13169  * CLK_LOCAL_MEM_FENCE
   13170  * CLK_GLOBAL_MEM_FENCE.
   13171  */
   13172 void __ovld mem_fence(cl_mem_fence_flags flags);
   13173 
   13174 /**
   13175  * Read memory barrier that orders only
   13176  * loads.
   13177  * The flags argument specifies the memory
   13178  * address space and can be set to to a
   13179  * combination of the following literal
   13180  * values:
   13181  * CLK_LOCAL_MEM_FENCE
   13182  * CLK_GLOBAL_MEM_FENCE.
   13183  */
   13184 void __ovld read_mem_fence(cl_mem_fence_flags flags);
   13185 
   13186 /**
   13187  * Write memory barrier that orders only
   13188  * stores.
   13189  * The flags argument specifies the memory
   13190  * address space and can be set to to a
   13191  * combination of the following literal
   13192  * values:
   13193  * CLK_LOCAL_MEM_FENCE
   13194  * CLK_GLOBAL_MEM_FENCE.
   13195  */
   13196 void __ovld write_mem_fence(cl_mem_fence_flags flags);
   13197 
   13198 // OpenCL v2.0 s6.13.9 - Address Space Qualifier Functions
   13199 
   13200 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13201 cl_mem_fence_flags __ovld get_fence(const void *ptr);
   13202 cl_mem_fence_flags __ovld get_fence(void *ptr);
   13203 
   13204 /**
   13205  * Builtin functions to_global, to_local, and to_private need to be declared as Clang builtin functions
   13206  * and checked in Sema since they should be declared as
   13207  *   addr gentype* to_addr (gentype*);
   13208  * where gentype is builtin type or user defined type.
   13209  */
   13210 
   13211 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13212 
   13213 // 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
   13214 
   13215 /**
   13216  * event_t async_work_group_copy (
   13217  * __global gentype *dst,
   13218  * const __local gentype *src,
   13219  * size_t num_elements,
   13220  * event_t event)
   13221  * Perform an async copy of num_elements
   13222  * gentype elements from src to dst. The async
   13223  * copy is performed by all work-items in a workgroup
   13224  * and this built-in function must therefore
   13225  * be encountered by all work-items in a workgroup
   13226  * executing the kernel with the same
   13227  * argument values; otherwise the results are
   13228  * undefined.
   13229  * Returns an event object that can be used by
   13230  * wait_group_events to wait for the async copy
   13231  * to finish. The event argument can also be used
   13232  * to associate the async_work_group_copy with
   13233  * a previous async copy allowing an event to be
   13234  * shared by multiple async copies; otherwise event
   13235  * should be zero.
   13236  * If event argument is non-zero, the event object
   13237  * supplied in event argument will be returned.
   13238  * This function does not perform any implicit
   13239  * synchronization of source data such as using a
   13240  * barrier before performing the copy.
   13241  */
   13242 event_t __ovld async_work_group_copy(__local char *dst, const __global char *src, size_t num_elements, event_t event);
   13243 event_t __ovld async_work_group_copy(__local uchar *dst, const __global uchar *src, size_t num_elements, event_t event);
   13244 event_t __ovld async_work_group_copy(__local short *dst, const __global short *src, size_t num_elements, event_t event);
   13245 event_t __ovld async_work_group_copy(__local ushort *dst, const __global ushort *src, size_t num_elements, event_t event);
   13246 event_t __ovld async_work_group_copy(__local int *dst, const __global int *src, size_t num_elements, event_t event);
   13247 event_t __ovld async_work_group_copy(__local uint *dst, const __global uint *src, size_t num_elements, event_t event);
   13248 event_t __ovld async_work_group_copy(__local long *dst, const __global long *src, size_t num_elements, event_t event);
   13249 event_t __ovld async_work_group_copy(__local ulong *dst, const __global ulong *src, size_t num_elements, event_t event);
   13250 event_t __ovld async_work_group_copy(__local float *dst, const __global float *src, size_t num_elements, event_t event);
   13251 event_t __ovld async_work_group_copy(__local char2 *dst, const __global char2 *src, size_t num_elements, event_t event);
   13252 event_t __ovld async_work_group_copy(__local uchar2 *dst, const __global uchar2 *src, size_t num_elements, event_t event);
   13253 event_t __ovld async_work_group_copy(__local short2 *dst, const __global short2 *src, size_t num_elements, event_t event);
   13254 event_t __ovld async_work_group_copy(__local ushort2 *dst, const __global ushort2 *src, size_t num_elements, event_t event);
   13255 event_t __ovld async_work_group_copy(__local int2 *dst, const __global int2 *src, size_t num_elements, event_t event);
   13256 event_t __ovld async_work_group_copy(__local uint2 *dst, const __global uint2 *src, size_t num_elements, event_t event);
   13257 event_t __ovld async_work_group_copy(__local long2 *dst, const __global long2 *src, size_t num_elements, event_t event);
   13258 event_t __ovld async_work_group_copy(__local ulong2 *dst, const __global ulong2 *src, size_t num_elements, event_t event);
   13259 event_t __ovld async_work_group_copy(__local float2 *dst, const __global float2 *src, size_t num_elements, event_t event);
   13260 event_t __ovld async_work_group_copy(__local char3 *dst, const __global char3 *src, size_t num_elements, event_t event);
   13261 event_t __ovld async_work_group_copy(__local uchar3 *dst, const __global uchar3 *src, size_t num_elements, event_t event);
   13262 event_t __ovld async_work_group_copy(__local short3 *dst, const __global short3 *src, size_t num_elements, event_t event);
   13263 event_t __ovld async_work_group_copy(__local ushort3 *dst, const __global ushort3 *src, size_t num_elements, event_t event);
   13264 event_t __ovld async_work_group_copy(__local int3 *dst, const __global int3 *src, size_t num_elements, event_t event);
   13265 event_t __ovld async_work_group_copy(__local uint3 *dst, const __global uint3 *src, size_t num_elements, event_t event);
   13266 event_t __ovld async_work_group_copy(__local long3 *dst, const __global long3 *src, size_t num_elements, event_t event);
   13267 event_t __ovld async_work_group_copy(__local ulong3 *dst, const __global ulong3 *src, size_t num_elements, event_t event);
   13268 event_t __ovld async_work_group_copy(__local float3 *dst, const __global float3 *src, size_t num_elements, event_t event);
   13269 event_t __ovld async_work_group_copy(__local char4 *dst, const __global char4 *src, size_t num_elements, event_t event);
   13270 event_t __ovld async_work_group_copy(__local uchar4 *dst, const __global uchar4 *src, size_t num_elements, event_t event);
   13271 event_t __ovld async_work_group_copy(__local short4 *dst, const __global short4 *src, size_t num_elements, event_t event);
   13272 event_t __ovld async_work_group_copy(__local ushort4 *dst, const __global ushort4 *src, size_t num_elements, event_t event);
   13273 event_t __ovld async_work_group_copy(__local int4 *dst, const __global int4 *src, size_t num_elements, event_t event);
   13274 event_t __ovld async_work_group_copy(__local uint4 *dst, const __global uint4 *src, size_t num_elements, event_t event);
   13275 event_t __ovld async_work_group_copy(__local long4 *dst, const __global long4 *src, size_t num_elements, event_t event);
   13276 event_t __ovld async_work_group_copy(__local ulong4 *dst, const __global ulong4 *src, size_t num_elements, event_t event);
   13277 event_t __ovld async_work_group_copy(__local float4 *dst, const __global float4 *src, size_t num_elements, event_t event);
   13278 event_t __ovld async_work_group_copy(__local char8 *dst, const __global char8 *src, size_t num_elements, event_t event);
   13279 event_t __ovld async_work_group_copy(__local uchar8 *dst, const __global uchar8 *src, size_t num_elements, event_t event);
   13280 event_t __ovld async_work_group_copy(__local short8 *dst, const __global short8 *src, size_t num_elements, event_t event);
   13281 event_t __ovld async_work_group_copy(__local ushort8 *dst, const __global ushort8 *src, size_t num_elements, event_t event);
   13282 event_t __ovld async_work_group_copy(__local int8 *dst, const __global int8 *src, size_t num_elements, event_t event);
   13283 event_t __ovld async_work_group_copy(__local uint8 *dst, const __global uint8 *src, size_t num_elements, event_t event);
   13284 event_t __ovld async_work_group_copy(__local long8 *dst, const __global long8 *src, size_t num_elements, event_t event);
   13285 event_t __ovld async_work_group_copy(__local ulong8 *dst, const __global ulong8 *src, size_t num_elements, event_t event);
   13286 event_t __ovld async_work_group_copy(__local float8 *dst, const __global float8 *src, size_t num_elements, event_t event);
   13287 event_t __ovld async_work_group_copy(__local char16 *dst, const __global char16 *src, size_t num_elements, event_t event);
   13288 event_t __ovld async_work_group_copy(__local uchar16 *dst, const __global uchar16 *src, size_t num_elements, event_t event);
   13289 event_t __ovld async_work_group_copy(__local short16 *dst, const __global short16 *src, size_t num_elements, event_t event);
   13290 event_t __ovld async_work_group_copy(__local ushort16 *dst, const __global ushort16 *src, size_t num_elements, event_t event);
   13291 event_t __ovld async_work_group_copy(__local int16 *dst, const __global int16 *src, size_t num_elements, event_t event);
   13292 event_t __ovld async_work_group_copy(__local uint16 *dst, const __global uint16 *src, size_t num_elements, event_t event);
   13293 event_t __ovld async_work_group_copy(__local long16 *dst, const __global long16 *src, size_t num_elements, event_t event);
   13294 event_t __ovld async_work_group_copy(__local ulong16 *dst, const __global ulong16 *src, size_t num_elements, event_t event);
   13295 event_t __ovld async_work_group_copy(__local float16 *dst, const __global float16 *src, size_t num_elements, event_t event);
   13296 event_t __ovld async_work_group_copy(__global char *dst, const __local char *src, size_t num_elements, event_t event);
   13297 event_t __ovld async_work_group_copy(__global uchar *dst, const __local uchar *src, size_t num_elements, event_t event);
   13298 event_t __ovld async_work_group_copy(__global short *dst, const __local short *src, size_t num_elements, event_t event);
   13299 event_t __ovld async_work_group_copy(__global ushort *dst, const __local ushort *src, size_t num_elements, event_t event);
   13300 event_t __ovld async_work_group_copy(__global int *dst, const __local int *src, size_t num_elements, event_t event);
   13301 event_t __ovld async_work_group_copy(__global uint *dst, const __local uint *src, size_t num_elements, event_t event);
   13302 event_t __ovld async_work_group_copy(__global long *dst, const __local long *src, size_t num_elements, event_t event);
   13303 event_t __ovld async_work_group_copy(__global ulong *dst, const __local ulong *src, size_t num_elements, event_t event);
   13304 event_t __ovld async_work_group_copy(__global float *dst, const __local float *src, size_t num_elements, event_t event);
   13305 event_t __ovld async_work_group_copy(__global char2 *dst, const __local char2 *src, size_t num_elements, event_t event);
   13306 event_t __ovld async_work_group_copy(__global uchar2 *dst, const __local uchar2 *src, size_t num_elements, event_t event);
   13307 event_t __ovld async_work_group_copy(__global short2 *dst, const __local short2 *src, size_t num_elements, event_t event);
   13308 event_t __ovld async_work_group_copy(__global ushort2 *dst, const __local ushort2 *src, size_t num_elements, event_t event);
   13309 event_t __ovld async_work_group_copy(__global int2 *dst, const __local int2 *src, size_t num_elements, event_t event);
   13310 event_t __ovld async_work_group_copy(__global uint2 *dst, const __local uint2 *src, size_t num_elements, event_t event);
   13311 event_t __ovld async_work_group_copy(__global long2 *dst, const __local long2 *src, size_t num_elements, event_t event);
   13312 event_t __ovld async_work_group_copy(__global ulong2 *dst, const __local ulong2 *src, size_t num_elements, event_t event);
   13313 event_t __ovld async_work_group_copy(__global float2 *dst, const __local float2 *src, size_t num_elements, event_t event);
   13314 event_t __ovld async_work_group_copy(__global char3 *dst, const __local char3 *src, size_t num_elements, event_t event);
   13315 event_t __ovld async_work_group_copy(__global uchar3 *dst, const __local uchar3 *src, size_t num_elements, event_t event);
   13316 event_t __ovld async_work_group_copy(__global short3 *dst, const __local short3 *src, size_t num_elements, event_t event);
   13317 event_t __ovld async_work_group_copy(__global ushort3 *dst, const __local ushort3 *src, size_t num_elements, event_t event);
   13318 event_t __ovld async_work_group_copy(__global int3 *dst, const __local int3 *src, size_t num_elements, event_t event);
   13319 event_t __ovld async_work_group_copy(__global uint3 *dst, const __local uint3 *src, size_t num_elements, event_t event);
   13320 event_t __ovld async_work_group_copy(__global long3 *dst, const __local long3 *src, size_t num_elements, event_t event);
   13321 event_t __ovld async_work_group_copy(__global ulong3 *dst, const __local ulong3 *src, size_t num_elements, event_t event);
   13322 event_t __ovld async_work_group_copy(__global float3 *dst, const __local float3 *src, size_t num_elements, event_t event);
   13323 event_t __ovld async_work_group_copy(__global char4 *dst, const __local char4 *src, size_t num_elements, event_t event);
   13324 event_t __ovld async_work_group_copy(__global uchar4 *dst, const __local uchar4 *src, size_t num_elements, event_t event);
   13325 event_t __ovld async_work_group_copy(__global short4 *dst, const __local short4 *src, size_t num_elements, event_t event);
   13326 event_t __ovld async_work_group_copy(__global ushort4 *dst, const __local ushort4 *src, size_t num_elements, event_t event);
   13327 event_t __ovld async_work_group_copy(__global int4 *dst, const __local int4 *src, size_t num_elements, event_t event);
   13328 event_t __ovld async_work_group_copy(__global uint4 *dst, const __local uint4 *src, size_t num_elements, event_t event);
   13329 event_t __ovld async_work_group_copy(__global long4 *dst, const __local long4 *src, size_t num_elements, event_t event);
   13330 event_t __ovld async_work_group_copy(__global ulong4 *dst, const __local ulong4 *src, size_t num_elements, event_t event);
   13331 event_t __ovld async_work_group_copy(__global float4 *dst, const __local float4 *src, size_t num_elements, event_t event);
   13332 event_t __ovld async_work_group_copy(__global char8 *dst, const __local char8 *src, size_t num_elements, event_t event);
   13333 event_t __ovld async_work_group_copy(__global uchar8 *dst, const __local uchar8 *src, size_t num_elements, event_t event);
   13334 event_t __ovld async_work_group_copy(__global short8 *dst, const __local short8 *src, size_t num_elements, event_t event);
   13335 event_t __ovld async_work_group_copy(__global ushort8 *dst, const __local ushort8 *src, size_t num_elements, event_t event);
   13336 event_t __ovld async_work_group_copy(__global int8 *dst, const __local int8 *src, size_t num_elements, event_t event);
   13337 event_t __ovld async_work_group_copy(__global uint8 *dst, const __local uint8 *src, size_t num_elements, event_t event);
   13338 event_t __ovld async_work_group_copy(__global long8 *dst, const __local long8 *src, size_t num_elements, event_t event);
   13339 event_t __ovld async_work_group_copy(__global ulong8 *dst, const __local ulong8 *src, size_t num_elements, event_t event);
   13340 event_t __ovld async_work_group_copy(__global float8 *dst, const __local float8 *src, size_t num_elements, event_t event);
   13341 event_t __ovld async_work_group_copy(__global char16 *dst, const __local char16 *src, size_t num_elements, event_t event);
   13342 event_t __ovld async_work_group_copy(__global uchar16 *dst, const __local uchar16 *src, size_t num_elements, event_t event);
   13343 event_t __ovld async_work_group_copy(__global short16 *dst, const __local short16 *src, size_t num_elements, event_t event);
   13344 event_t __ovld async_work_group_copy(__global ushort16 *dst, const __local ushort16 *src, size_t num_elements, event_t event);
   13345 event_t __ovld async_work_group_copy(__global int16 *dst, const __local int16 *src, size_t num_elements, event_t event);
   13346 event_t __ovld async_work_group_copy(__global uint16 *dst, const __local uint16 *src, size_t num_elements, event_t event);
   13347 event_t __ovld async_work_group_copy(__global long16 *dst, const __local long16 *src, size_t num_elements, event_t event);
   13348 event_t __ovld async_work_group_copy(__global ulong16 *dst, const __local ulong16 *src, size_t num_elements, event_t event);
   13349 event_t __ovld async_work_group_copy(__global float16 *dst, const __local float16 *src, size_t num_elements, event_t event);
   13350 #ifdef cl_khr_fp64
   13351 event_t __ovld async_work_group_copy(__local double *dst, const __global double *src, size_t num_elements, event_t event);
   13352 event_t __ovld async_work_group_copy(__local double2 *dst, const __global double2 *src, size_t num_elements, event_t event);
   13353 event_t __ovld async_work_group_copy(__local double3 *dst, const __global double3 *src, size_t num_elements, event_t event);
   13354 event_t __ovld async_work_group_copy(__local double4 *dst, const __global double4 *src, size_t num_elements, event_t event);
   13355 event_t __ovld async_work_group_copy(__local double8 *dst, const __global double8 *src, size_t num_elements, event_t event);
   13356 event_t __ovld async_work_group_copy(__local double16 *dst, const __global double16 *src, size_t num_elements, event_t event);
   13357 event_t __ovld async_work_group_copy(__global double *dst, const __local double *src, size_t num_elements, event_t event);
   13358 event_t __ovld async_work_group_copy(__global double2 *dst, const __local double2 *src, size_t num_elements, event_t event);
   13359 event_t __ovld async_work_group_copy(__global double3 *dst, const __local double3 *src, size_t num_elements, event_t event);
   13360 event_t __ovld async_work_group_copy(__global double4 *dst, const __local double4 *src, size_t num_elements, event_t event);
   13361 event_t __ovld async_work_group_copy(__global double8 *dst, const __local double8 *src, size_t num_elements, event_t event);
   13362 event_t __ovld async_work_group_copy(__global double16 *dst, const __local double16 *src, size_t num_elements, event_t event);
   13363 #endif //cl_khr_fp64
   13364 #ifdef cl_khr_fp16
   13365 event_t __ovld async_work_group_copy(__local half *dst, const __global half *src, size_t num_elements, event_t event);
   13366 event_t __ovld async_work_group_copy(__local half2 *dst, const __global half2 *src, size_t num_elements, event_t event);
   13367 event_t __ovld async_work_group_copy(__local half3 *dst, const __global half3 *src, size_t num_elements, event_t event);
   13368 event_t __ovld async_work_group_copy(__local half4 *dst, const __global half4 *src, size_t num_elements, event_t event);
   13369 event_t __ovld async_work_group_copy(__local half8 *dst, const __global half8 *src, size_t num_elements, event_t event);
   13370 event_t __ovld async_work_group_copy(__local half16 *dst, const __global half16 *src, size_t num_elements, event_t event);
   13371 event_t __ovld async_work_group_copy(__global half *dst, const __local half *src, size_t num_elements, event_t event);
   13372 event_t __ovld async_work_group_copy(__global half2 *dst, const __local half2 *src, size_t num_elements, event_t event);
   13373 event_t __ovld async_work_group_copy(__global half3 *dst, const __local half3 *src, size_t num_elements, event_t event);
   13374 event_t __ovld async_work_group_copy(__global half4 *dst, const __local half4 *src, size_t num_elements, event_t event);
   13375 event_t __ovld async_work_group_copy(__global half8 *dst, const __local half8 *src, size_t num_elements, event_t event);
   13376 event_t __ovld async_work_group_copy(__global half16 *dst, const __local half16 *src, size_t num_elements, event_t event);
   13377 #endif //cl_khr_fp16
   13378 
   13379 /**
   13380  * Perform an async gather of num_elements
   13381  * gentype elements from src to dst. The
   13382  * src_stride is the stride in elements for each
   13383  * gentype element read from src. The dst_stride
   13384  * is the stride in elements for each gentype
   13385  * element written to dst. The async gather is
   13386  * performed by all work-items in a work-group.
   13387  * This built-in function must therefore be
   13388  * encountered by all work-items in a work-group
   13389  * executing the kernel with the same argument
   13390  * values; otherwise the results are undefined.
   13391  * Returns an event object that can be used by
   13392  * wait_group_events to wait for the async copy
   13393  * to finish. The event argument can also be used
   13394  * to associate the
   13395  * async_work_group_strided_copy with a
   13396  * previous async copy allowing an event to be
   13397  * shared by multiple async copies; otherwise event
   13398  * should be zero.
   13399  * If event argument is non-zero, the event object
   13400  * supplied in event argument will be returned.
   13401  * This function does not perform any implicit
   13402  * synchronization of source data such as using a
   13403  * barrier before performing the copy.
   13404  */
   13405 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);
   13406 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);
   13407 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);
   13408 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);
   13409 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);
   13410 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);
   13411 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);
   13412 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);
   13413 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);
   13414 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);
   13415 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);
   13416 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);
   13417 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);
   13418 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);
   13419 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);
   13420 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);
   13421 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);
   13422 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);
   13423 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);
   13424 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);
   13425 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);
   13426 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);
   13427 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);
   13428 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);
   13429 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);
   13430 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);
   13431 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);
   13432 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);
   13433 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);
   13434 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);
   13435 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);
   13436 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);
   13437 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);
   13438 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);
   13439 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);
   13440 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);
   13441 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);
   13442 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);
   13443 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);
   13444 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);
   13445 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);
   13446 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);
   13447 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);
   13448 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);
   13449 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);
   13450 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);
   13451 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);
   13452 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);
   13453 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);
   13454 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);
   13455 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);
   13456 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);
   13457 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);
   13458 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);
   13459 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);
   13460 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);
   13461 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);
   13462 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);
   13463 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);
   13464 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);
   13465 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);
   13466 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);
   13467 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);
   13468 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);
   13469 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);
   13470 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);
   13471 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);
   13472 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);
   13473 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);
   13474 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);
   13475 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);
   13476 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);
   13477 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);
   13478 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);
   13479 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);
   13480 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);
   13481 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);
   13482 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);
   13483 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);
   13484 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);
   13485 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);
   13486 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);
   13487 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);
   13488 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);
   13489 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);
   13490 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);
   13491 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);
   13492 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);
   13493 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);
   13494 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);
   13495 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);
   13496 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);
   13497 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);
   13498 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);
   13499 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);
   13500 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);
   13501 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);
   13502 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);
   13503 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);
   13504 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);
   13505 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);
   13506 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);
   13507 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);
   13508 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);
   13509 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);
   13510 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);
   13511 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);
   13512 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);
   13513 #ifdef cl_khr_fp64
   13514 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);
   13515 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);
   13516 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);
   13517 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);
   13518 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);
   13519 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);
   13520 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);
   13521 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);
   13522 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);
   13523 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);
   13524 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);
   13525 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);
   13526 #endif //cl_khr_fp64
   13527 #ifdef cl_khr_fp16
   13528 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);
   13529 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);
   13530 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);
   13531 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);
   13532 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);
   13533 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);
   13534 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);
   13535 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);
   13536 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);
   13537 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);
   13538 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);
   13539 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);
   13540 #endif //cl_khr_fp16
   13541 
   13542 /**
   13543  * Wait for events that identify the
   13544  * async_work_group_copy operations to
   13545  * complete. The event objects specified in
   13546  * event_list will be released after the wait is
   13547  * performed.
   13548  * This function must be encountered by all workitems
   13549  * in a work-group executing the kernel with
   13550  * the same num_events and event objects specified
   13551  * in event_list; otherwise the results are undefined.
   13552  */
   13553 void __ovld wait_group_events(int num_events, event_t *event_list);
   13554 
   13555 /**
   13556  * Prefetch num_elements * sizeof(gentype)
   13557  * bytes into the global cache. The prefetch
   13558  * instruction is applied to a work-item in a workgroup
   13559  * and does not affect the functional
   13560  * behavior of the kernel.
   13561  */
   13562 void __ovld prefetch(const __global char *p, size_t num_elements);
   13563 void __ovld prefetch(const __global uchar *p, size_t num_elements);
   13564 void __ovld prefetch(const __global short *p, size_t num_elements);
   13565 void __ovld prefetch(const __global ushort *p, size_t num_elements);
   13566 void __ovld prefetch(const __global int *p, size_t num_elements);
   13567 void __ovld prefetch(const __global uint *p, size_t num_elements);
   13568 void __ovld prefetch(const __global long *p, size_t num_elements);
   13569 void __ovld prefetch(const __global ulong *p, size_t num_elements);
   13570 void __ovld prefetch(const __global float *p, size_t num_elements);
   13571 void __ovld prefetch(const __global char2 *p, size_t num_elements);
   13572 void __ovld prefetch(const __global uchar2 *p, size_t num_elements);
   13573 void __ovld prefetch(const __global short2 *p, size_t num_elements);
   13574 void __ovld prefetch(const __global ushort2 *p, size_t num_elements);
   13575 void __ovld prefetch(const __global int2 *p, size_t num_elements);
   13576 void __ovld prefetch(const __global uint2 *p, size_t num_elements);
   13577 void __ovld prefetch(const __global long2 *p, size_t num_elements);
   13578 void __ovld prefetch(const __global ulong2 *p, size_t num_elements);
   13579 void __ovld prefetch(const __global float2 *p, size_t num_elements);
   13580 void __ovld prefetch(const __global char3 *p, size_t num_elements);
   13581 void __ovld prefetch(const __global uchar3 *p, size_t num_elements);
   13582 void __ovld prefetch(const __global short3 *p, size_t num_elements);
   13583 void __ovld prefetch(const __global ushort3 *p, size_t num_elements);
   13584 void __ovld prefetch(const __global int3 *p, size_t num_elements);
   13585 void __ovld prefetch(const __global uint3 *p, size_t num_elements);
   13586 void __ovld prefetch(const __global long3 *p, size_t num_elements);
   13587 void __ovld prefetch(const __global ulong3 *p, size_t num_elements);
   13588 void __ovld prefetch(const __global float3 *p, size_t num_elements);
   13589 void __ovld prefetch(const __global char4 *p, size_t num_elements);
   13590 void __ovld prefetch(const __global uchar4 *p, size_t num_elements);
   13591 void __ovld prefetch(const __global short4 *p, size_t num_elements);
   13592 void __ovld prefetch(const __global ushort4 *p, size_t num_elements);
   13593 void __ovld prefetch(const __global int4 *p, size_t num_elements);
   13594 void __ovld prefetch(const __global uint4 *p, size_t num_elements);
   13595 void __ovld prefetch(const __global long4 *p, size_t num_elements);
   13596 void __ovld prefetch(const __global ulong4 *p, size_t num_elements);
   13597 void __ovld prefetch(const __global float4 *p, size_t num_elements);
   13598 void __ovld prefetch(const __global char8 *p, size_t num_elements);
   13599 void __ovld prefetch(const __global uchar8 *p, size_t num_elements);
   13600 void __ovld prefetch(const __global short8 *p, size_t num_elements);
   13601 void __ovld prefetch(const __global ushort8 *p, size_t num_elements);
   13602 void __ovld prefetch(const __global int8 *p, size_t num_elements);
   13603 void __ovld prefetch(const __global uint8 *p, size_t num_elements);
   13604 void __ovld prefetch(const __global long8 *p, size_t num_elements);
   13605 void __ovld prefetch(const __global ulong8 *p, size_t num_elements);
   13606 void __ovld prefetch(const __global float8 *p, size_t num_elements);
   13607 void __ovld prefetch(const __global char16 *p, size_t num_elements);
   13608 void __ovld prefetch(const __global uchar16 *p, size_t num_elements);
   13609 void __ovld prefetch(const __global short16 *p, size_t num_elements);
   13610 void __ovld prefetch(const __global ushort16 *p, size_t num_elements);
   13611 void __ovld prefetch(const __global int16 *p, size_t num_elements);
   13612 void __ovld prefetch(const __global uint16 *p, size_t num_elements);
   13613 void __ovld prefetch(const __global long16 *p, size_t num_elements);
   13614 void __ovld prefetch(const __global ulong16 *p, size_t num_elements);
   13615 void __ovld prefetch(const __global float16 *p, size_t num_elements);
   13616 #ifdef cl_khr_fp64
   13617 void __ovld prefetch(const __global double *p, size_t num_elements);
   13618 void __ovld prefetch(const __global double2 *p, size_t num_elements);
   13619 void __ovld prefetch(const __global double3 *p, size_t num_elements);
   13620 void __ovld prefetch(const __global double4 *p, size_t num_elements);
   13621 void __ovld prefetch(const __global double8 *p, size_t num_elements);
   13622 void __ovld prefetch(const __global double16 *p, size_t num_elements);
   13623 #endif //cl_khr_fp64
   13624 #ifdef cl_khr_fp16
   13625 void __ovld prefetch(const __global half *p, size_t num_elements);
   13626 void __ovld prefetch(const __global half2 *p, size_t num_elements);
   13627 void __ovld prefetch(const __global half3 *p, size_t num_elements);
   13628 void __ovld prefetch(const __global half4 *p, size_t num_elements);
   13629 void __ovld prefetch(const __global half8 *p, size_t num_elements);
   13630 void __ovld prefetch(const __global half16 *p, size_t num_elements);
   13631 #endif // cl_khr_fp16
   13632 
   13633 // OpenCL v1.1 s6.11.1, v1.2 s6.12.11 - Atomic Functions
   13634 
   13635 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   13636 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
   13637 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
   13638 #endif
   13639 /**
   13640  * Read the 32-bit value (referred to as old)
   13641  * stored at location pointed by p. Compute
   13642  * (old + val) and store result at location
   13643  * pointed by p. The function returns old.
   13644  */
   13645 int __ovld atomic_add(volatile __global int *p, int val);
   13646 unsigned int __ovld atomic_add(volatile __global unsigned int *p, unsigned int val);
   13647 int __ovld atomic_add(volatile __local int *p, int val);
   13648 unsigned int __ovld atomic_add(volatile __local unsigned int *p, unsigned int val);
   13649 
   13650 #if defined(cl_khr_global_int32_base_atomics)
   13651 int __ovld atom_add(volatile __global int *p, int val);
   13652 unsigned int __ovld atom_add(volatile __global unsigned int *p, unsigned int val);
   13653 #endif
   13654 #if defined(cl_khr_local_int32_base_atomics)
   13655 int __ovld atom_add(volatile __local int *p, int val);
   13656 unsigned int __ovld atom_add(volatile __local unsigned int *p, unsigned int val);
   13657 #endif
   13658 
   13659 #if defined(cl_khr_int64_base_atomics)
   13660 long __ovld atom_add(volatile __global long *p, long val);
   13661 unsigned long __ovld atom_add(volatile __global unsigned long *p, unsigned long val);
   13662 long __ovld atom_add(volatile __local long *p, long val);
   13663 unsigned long __ovld atom_add(volatile __local unsigned long *p, unsigned long val);
   13664 #endif
   13665 
   13666 /**
   13667  * Read the 32-bit value (referred to as old) stored at location pointed by p.
   13668  * Compute (old - val) and store result at location pointed by p. The function
   13669  * returns old.
   13670  */
   13671 int __ovld atomic_sub(volatile __global int *p, int val);
   13672 unsigned int __ovld atomic_sub(volatile __global unsigned int *p, unsigned int val);
   13673 int __ovld atomic_sub(volatile __local int *p, int val);
   13674 unsigned int __ovld atomic_sub(volatile __local unsigned int *p, unsigned int val);
   13675 
   13676 #if defined(cl_khr_global_int32_base_atomics)
   13677 int __ovld atom_sub(volatile __global int *p, int val);
   13678 unsigned int __ovld atom_sub(volatile __global unsigned int *p, unsigned int val);
   13679 #endif
   13680 #if defined(cl_khr_local_int32_base_atomics)
   13681 int __ovld atom_sub(volatile __local int *p, int val);
   13682 unsigned int __ovld atom_sub(volatile __local unsigned int *p, unsigned int val);
   13683 #endif
   13684 
   13685 #if defined(cl_khr_int64_base_atomics)
   13686 long __ovld atom_sub(volatile __global long *p, long val);
   13687 unsigned long __ovld atom_sub(volatile __global unsigned long *p, unsigned long val);
   13688 long __ovld atom_sub(volatile __local long *p, long val);
   13689 unsigned long __ovld atom_sub(volatile __local unsigned long *p, unsigned long val);
   13690 #endif
   13691 
   13692 /**
   13693  * Swaps the old value stored at location p
   13694  * with new value given by val. Returns old
   13695  * value.
   13696  */
   13697 int __ovld atomic_xchg(volatile __global int *p, int val);
   13698 unsigned int __ovld atomic_xchg(volatile __global unsigned int *p, unsigned int val);
   13699 int __ovld atomic_xchg(volatile __local int *p, int val);
   13700 unsigned int __ovld atomic_xchg(volatile __local unsigned int *p, unsigned int val);
   13701 float __ovld atomic_xchg(volatile __global float *p, float val);
   13702 float __ovld atomic_xchg(volatile __local float *p, float val);
   13703 
   13704 #if defined(cl_khr_global_int32_base_atomics)
   13705 int __ovld atom_xchg(volatile __global int *p, int val);
   13706 unsigned int __ovld atom_xchg(volatile __global unsigned int *p, unsigned int val);
   13707 #endif
   13708 #if defined(cl_khr_local_int32_base_atomics)
   13709 int __ovld atom_xchg(volatile __local int *p, int val);
   13710 unsigned int __ovld atom_xchg(volatile __local unsigned int *p, unsigned int val);
   13711 #endif
   13712 
   13713 #if defined(cl_khr_int64_base_atomics)
   13714 long __ovld atom_xchg(volatile __global long *p, long val);
   13715 long __ovld atom_xchg(volatile __local long *p, long val);
   13716 unsigned long __ovld atom_xchg(volatile __global unsigned long *p, unsigned long val);
   13717 unsigned long __ovld atom_xchg(volatile __local unsigned long *p, unsigned long val);
   13718 #endif
   13719 
   13720 /**
   13721  * Read the 32-bit value (referred to as old)
   13722  * stored at location pointed by p. Compute
   13723  * (old + 1) and store result at location
   13724  * pointed by p. The function returns old.
   13725  */
   13726 int __ovld atomic_inc(volatile __global int *p);
   13727 unsigned int __ovld atomic_inc(volatile __global unsigned int *p);
   13728 int __ovld atomic_inc(volatile __local int *p);
   13729 unsigned int __ovld atomic_inc(volatile __local unsigned int *p);
   13730 
   13731 #if defined(cl_khr_global_int32_base_atomics)
   13732 int __ovld atom_inc(volatile __global int *p);
   13733 unsigned int __ovld atom_inc(volatile __global unsigned int *p);
   13734 #endif
   13735 #if defined(cl_khr_local_int32_base_atomics)
   13736 int __ovld atom_inc(volatile __local int *p);
   13737 unsigned int __ovld atom_inc(volatile __local unsigned int *p);
   13738 #endif
   13739 
   13740 #if defined(cl_khr_int64_base_atomics)
   13741 long __ovld atom_inc(volatile __global long *p);
   13742 unsigned long __ovld atom_inc(volatile __global unsigned long *p);
   13743 long __ovld atom_inc(volatile __local long *p);
   13744 unsigned long __ovld atom_inc(volatile __local unsigned long *p);
   13745 #endif
   13746 
   13747 /**
   13748  * Read the 32-bit value (referred to as old)
   13749  * stored at location pointed by p. Compute
   13750  * (old - 1) and store result at location
   13751  * pointed by p. The function returns old.
   13752  */
   13753 int __ovld atomic_dec(volatile __global int *p);
   13754 unsigned int __ovld atomic_dec(volatile __global unsigned int *p);
   13755 int __ovld atomic_dec(volatile __local int *p);
   13756 unsigned int __ovld atomic_dec(volatile __local unsigned int *p);
   13757 
   13758 #if defined(cl_khr_global_int32_base_atomics)
   13759 int __ovld atom_dec(volatile __global int *p);
   13760 unsigned int __ovld atom_dec(volatile __global unsigned int *p);
   13761 #endif
   13762 #if defined(cl_khr_local_int32_base_atomics)
   13763 int __ovld atom_dec(volatile __local int *p);
   13764 unsigned int __ovld atom_dec(volatile __local unsigned int *p);
   13765 #endif
   13766 
   13767 #if defined(cl_khr_int64_base_atomics)
   13768 long __ovld atom_dec(volatile __global long *p);
   13769 unsigned long __ovld atom_dec(volatile __global unsigned long *p);
   13770 long __ovld atom_dec(volatile __local long *p);
   13771 unsigned long __ovld atom_dec(volatile __local unsigned long *p);
   13772 #endif
   13773 
   13774 /**
   13775  * Read the 32-bit value (referred to as old)
   13776  * stored at location pointed by p. Compute
   13777  * (old == cmp) ? val : old and store result at
   13778  * location pointed by p. The function
   13779  * returns old.
   13780  */
   13781 int __ovld atomic_cmpxchg(volatile __global int *p, int cmp, int val);
   13782 unsigned int __ovld atomic_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
   13783 int __ovld atomic_cmpxchg(volatile __local int *p, int cmp, int val);
   13784 unsigned int __ovld atomic_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
   13785 
   13786 #if defined(cl_khr_global_int32_base_atomics)
   13787 int __ovld atom_cmpxchg(volatile __global int *p, int cmp, int val);
   13788 unsigned int __ovld atom_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
   13789 #endif
   13790 #if defined(cl_khr_local_int32_base_atomics)
   13791 int __ovld atom_cmpxchg(volatile __local int *p, int cmp, int val);
   13792 unsigned int __ovld atom_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
   13793 #endif
   13794 
   13795 #if defined(cl_khr_int64_base_atomics)
   13796 long __ovld atom_cmpxchg(volatile __global long *p, long cmp, long val);
   13797 unsigned long __ovld atom_cmpxchg(volatile __global unsigned long *p, unsigned long cmp, unsigned long val);
   13798 long __ovld atom_cmpxchg(volatile __local long *p, long cmp, long val);
   13799 unsigned long __ovld atom_cmpxchg(volatile __local unsigned long *p, unsigned long cmp, unsigned long val);
   13800 #endif
   13801 
   13802 /**
   13803  * Read the 32-bit value (referred to as old)
   13804  * stored at location pointed by p. Compute
   13805  * min(old, val) and store minimum value at
   13806  * location pointed by p. The function
   13807  * returns old.
   13808  */
   13809 int __ovld atomic_min(volatile __global int *p, int val);
   13810 unsigned int __ovld atomic_min(volatile __global unsigned int *p, unsigned int val);
   13811 int __ovld atomic_min(volatile __local int *p, int val);
   13812 unsigned int __ovld atomic_min(volatile __local unsigned int *p, unsigned int val);
   13813 
   13814 #if defined(cl_khr_global_int32_extended_atomics)
   13815 int __ovld atom_min(volatile __global int *p, int val);
   13816 unsigned int __ovld atom_min(volatile __global unsigned int *p, unsigned int val);
   13817 #endif
   13818 #if defined(cl_khr_local_int32_extended_atomics)
   13819 int __ovld atom_min(volatile __local int *p, int val);
   13820 unsigned int __ovld atom_min(volatile __local unsigned int *p, unsigned int val);
   13821 #endif
   13822 
   13823 #if defined(cl_khr_int64_extended_atomics)
   13824 long __ovld atom_min(volatile __global long *p, long val);
   13825 unsigned long __ovld atom_min(volatile __global unsigned long *p, unsigned long val);
   13826 long __ovld atom_min(volatile __local long *p, long val);
   13827 unsigned long __ovld atom_min(volatile __local unsigned long *p, unsigned long val);
   13828 #endif
   13829 
   13830 /**
   13831  * Read the 32-bit value (referred to as old)
   13832  * stored at location pointed by p. Compute
   13833  * max(old, val) and store maximum value at
   13834  * location pointed by p. The function
   13835  * returns old.
   13836  */
   13837 int __ovld atomic_max(volatile __global int *p, int val);
   13838 unsigned int __ovld atomic_max(volatile __global unsigned int *p, unsigned int val);
   13839 int __ovld atomic_max(volatile __local int *p, int val);
   13840 unsigned int __ovld atomic_max(volatile __local unsigned int *p, unsigned int val);
   13841 
   13842 #if defined(cl_khr_global_int32_extended_atomics)
   13843 int __ovld atom_max(volatile __global int *p, int val);
   13844 unsigned int __ovld atom_max(volatile __global unsigned int *p, unsigned int val);
   13845 #endif
   13846 #if defined(cl_khr_local_int32_extended_atomics)
   13847 int __ovld atom_max(volatile __local int *p, int val);
   13848 unsigned int __ovld atom_max(volatile __local unsigned int *p, unsigned int val);
   13849 #endif
   13850 
   13851 #if defined(cl_khr_int64_extended_atomics)
   13852 long __ovld atom_max(volatile __global long *p, long val);
   13853 unsigned long __ovld atom_max(volatile __global unsigned long *p, unsigned long val);
   13854 long __ovld atom_max(volatile __local long *p, long val);
   13855 unsigned long __ovld atom_max(volatile __local unsigned long *p, unsigned long val);
   13856 #endif
   13857 
   13858 /**
   13859  * Read the 32-bit value (referred to as old)
   13860  * stored at location pointed by p. Compute
   13861  * (old & val) and store result at location
   13862  * pointed by p. The function returns old.
   13863  */
   13864 int __ovld atomic_and(volatile __global int *p, int val);
   13865 unsigned int __ovld atomic_and(volatile __global unsigned int *p, unsigned int val);
   13866 int __ovld atomic_and(volatile __local int *p, int val);
   13867 unsigned int __ovld atomic_and(volatile __local unsigned int *p, unsigned int val);
   13868 
   13869 #if defined(cl_khr_global_int32_extended_atomics)
   13870 int __ovld atom_and(volatile __global int *p, int val);
   13871 unsigned int __ovld atom_and(volatile __global unsigned int *p, unsigned int val);
   13872 #endif
   13873 #if defined(cl_khr_local_int32_extended_atomics)
   13874 int __ovld atom_and(volatile __local int *p, int val);
   13875 unsigned int __ovld atom_and(volatile __local unsigned int *p, unsigned int val);
   13876 #endif
   13877 
   13878 #if defined(cl_khr_int64_extended_atomics)
   13879 long __ovld atom_and(volatile __global long *p, long val);
   13880 unsigned long __ovld atom_and(volatile __global unsigned long *p, unsigned long val);
   13881 long __ovld atom_and(volatile __local long *p, long val);
   13882 unsigned long __ovld atom_and(volatile __local unsigned long *p, unsigned long val);
   13883 #endif
   13884 
   13885 /**
   13886  * Read the 32-bit value (referred to as old)
   13887  * stored at location pointed by p. Compute
   13888  * (old | val) and store result at location
   13889  * pointed by p. The function returns old.
   13890  */
   13891 int __ovld atomic_or(volatile __global int *p, int val);
   13892 unsigned int __ovld atomic_or(volatile __global unsigned int *p, unsigned int val);
   13893 int __ovld atomic_or(volatile __local int *p, int val);
   13894 unsigned int __ovld atomic_or(volatile __local unsigned int *p, unsigned int val);
   13895 
   13896 #if defined(cl_khr_global_int32_extended_atomics)
   13897 int __ovld atom_or(volatile __global int *p, int val);
   13898 unsigned int __ovld atom_or(volatile __global unsigned int *p, unsigned int val);
   13899 #endif
   13900 #if defined(cl_khr_local_int32_extended_atomics)
   13901 int __ovld atom_or(volatile __local int *p, int val);
   13902 unsigned int __ovld atom_or(volatile __local unsigned int *p, unsigned int val);
   13903 #endif
   13904 
   13905 #if defined(cl_khr_int64_extended_atomics)
   13906 long __ovld atom_or(volatile __global long *p, long val);
   13907 unsigned long __ovld atom_or(volatile __global unsigned long *p, unsigned long val);
   13908 long __ovld atom_or(volatile __local long *p, long val);
   13909 unsigned long __ovld atom_or(volatile __local unsigned long *p, unsigned long val);
   13910 #endif
   13911 
   13912 /**
   13913  * Read the 32-bit value (referred to as old)
   13914  * stored at location pointed by p. Compute
   13915  * (old ^ val) and store result at location
   13916  * pointed by p. The function returns old.
   13917  */
   13918 int __ovld atomic_xor(volatile __global int *p, int val);
   13919 unsigned int __ovld atomic_xor(volatile __global unsigned int *p, unsigned int val);
   13920 int __ovld atomic_xor(volatile __local int *p, int val);
   13921 unsigned int __ovld atomic_xor(volatile __local unsigned int *p, unsigned int val);
   13922 
   13923 #if defined(cl_khr_global_int32_extended_atomics)
   13924 int __ovld atom_xor(volatile __global int *p, int val);
   13925 unsigned int __ovld atom_xor(volatile __global unsigned int *p, unsigned int val);
   13926 #endif
   13927 #if defined(cl_khr_local_int32_extended_atomics)
   13928 int __ovld atom_xor(volatile __local int *p, int val);
   13929 unsigned int __ovld atom_xor(volatile __local unsigned int *p, unsigned int val);
   13930 #endif
   13931 
   13932 #if defined(cl_khr_int64_extended_atomics)
   13933 long __ovld atom_xor(volatile __global long *p, long val);
   13934 unsigned long __ovld atom_xor(volatile __global unsigned long *p, unsigned long val);
   13935 long __ovld atom_xor(volatile __local long *p, long val);
   13936 unsigned long __ovld atom_xor(volatile __local unsigned long *p, unsigned long val);
   13937 #endif
   13938 
   13939 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   13940 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : disable
   13941 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : disable
   13942 #endif
   13943 
   13944 // OpenCL v2.0 s6.13.11 - Atomics Functions
   13945 
   13946 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13947 #ifndef ATOMIC_VAR_INIT
   13948 #define ATOMIC_VAR_INIT(x) (x)
   13949 #endif //ATOMIC_VAR_INIT
   13950 #define ATOMIC_FLAG_INIT 0
   13951 
   13952 // enum values aligned with what clang uses in EmitAtomicExpr()
   13953 typedef enum memory_order
   13954 {
   13955   memory_order_relaxed,
   13956   memory_order_acquire,
   13957   memory_order_release,
   13958   memory_order_acq_rel,
   13959   memory_order_seq_cst
   13960 } memory_order;
   13961 
   13962 // double atomics support requires extensions cl_khr_int64_base_atomics and cl_khr_int64_extended_atomics
   13963 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   13964 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
   13965 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
   13966 #endif
   13967 
   13968 // atomic_init()
   13969 void __ovld atomic_init(volatile atomic_int *object, int value);
   13970 void __ovld atomic_init(volatile atomic_uint *object, uint value);
   13971 void __ovld atomic_init(volatile atomic_float *object, float value);
   13972 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   13973 void __ovld atomic_init(volatile atomic_long *object, long value);
   13974 void __ovld atomic_init(volatile atomic_ulong *object, ulong value);
   13975 #ifdef cl_khr_fp64
   13976 void __ovld atomic_init(volatile atomic_double *object, double value);
   13977 #endif //cl_khr_fp64
   13978 #endif
   13979 
   13980 // atomic_work_item_fence()
   13981 void __ovld atomic_work_item_fence(cl_mem_fence_flags flags, memory_order order, memory_scope scope);
   13982 
   13983 // atomic_fetch()
   13984 
   13985 int __ovld atomic_fetch_add(volatile atomic_int *object, int operand);
   13986 int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order);
   13987 int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   13988 uint __ovld atomic_fetch_add(volatile atomic_uint *object, uint operand);
   13989 uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   13990 uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   13991 int __ovld atomic_fetch_sub(volatile atomic_int *object, int operand);
   13992 int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order);
   13993 int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   13994 uint __ovld atomic_fetch_sub(volatile atomic_uint *object, uint operand);
   13995 uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   13996 uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   13997 int __ovld atomic_fetch_or(volatile atomic_int *object, int operand);
   13998 int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order);
   13999 int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   14000 uint __ovld atomic_fetch_or(volatile atomic_uint *object, uint operand);
   14001 uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   14002 uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   14003 int __ovld atomic_fetch_xor(volatile atomic_int *object, int operand);
   14004 int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order);
   14005 int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   14006 uint __ovld atomic_fetch_xor(volatile atomic_uint *object, uint operand);
   14007 uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   14008 uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   14009 int __ovld atomic_fetch_and(volatile atomic_int *object, int operand);
   14010 int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order);
   14011 int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   14012 uint __ovld atomic_fetch_and(volatile atomic_uint *object, uint operand);
   14013 uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   14014 uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   14015 int __ovld atomic_fetch_min(volatile atomic_int *object, int operand);
   14016 int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order);
   14017 int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   14018 uint __ovld atomic_fetch_min(volatile atomic_uint *object, uint operand);
   14019 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   14020 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   14021 uint __ovld atomic_fetch_min(volatile atomic_uint *object, int operand);
   14022 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, int operand, memory_order order);
   14023 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, int operand, memory_order order, memory_scope scope);
   14024 int __ovld atomic_fetch_max(volatile atomic_int *object, int operand);
   14025 int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order);
   14026 int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   14027 uint __ovld atomic_fetch_max(volatile atomic_uint *object, uint operand);
   14028 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   14029 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   14030 uint __ovld atomic_fetch_max(volatile atomic_uint *object, int operand);
   14031 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, int operand, memory_order order);
   14032 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, int operand, memory_order order, memory_scope scope);
   14033 
   14034 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14035 long __ovld atomic_fetch_add(volatile atomic_long *object, long operand);
   14036 long __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order);
   14037 long __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14038 ulong __ovld atomic_fetch_add(volatile atomic_ulong *object, ulong operand);
   14039 ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14040 ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14041 long __ovld atomic_fetch_sub(volatile atomic_long *object, long operand);
   14042 long __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order);
   14043 long __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14044 ulong __ovld atomic_fetch_sub(volatile atomic_ulong *object, ulong operand);
   14045 ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14046 ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14047 long __ovld atomic_fetch_or(volatile atomic_long *object, long operand);
   14048 long __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order);
   14049 long __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14050 ulong __ovld atomic_fetch_or(volatile atomic_ulong *object, ulong operand);
   14051 ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14052 ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14053 long __ovld atomic_fetch_xor(volatile atomic_long *object, long operand);
   14054 long __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order);
   14055 long __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14056 ulong __ovld atomic_fetch_xor(volatile atomic_ulong *object, ulong operand);
   14057 ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14058 ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14059 long __ovld atomic_fetch_and(volatile atomic_long *object, long operand);
   14060 long __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order);
   14061 long __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14062 ulong __ovld atomic_fetch_and(volatile atomic_ulong *object, ulong operand);
   14063 ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14064 ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14065 long __ovld atomic_fetch_min(volatile atomic_long *object, long operand);
   14066 long __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order);
   14067 long __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14068 ulong __ovld atomic_fetch_min(volatile atomic_ulong *object, ulong operand);
   14069 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14070 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14071 ulong __ovld atomic_fetch_min(volatile atomic_ulong *object, long operand);
   14072 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, long operand, memory_order order);
   14073 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, long operand, memory_order order, memory_scope scope);
   14074 long __ovld atomic_fetch_max(volatile atomic_long *object, long operand);
   14075 long __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order);
   14076 long __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14077 ulong __ovld atomic_fetch_max(volatile atomic_ulong *object, ulong operand);
   14078 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14079 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14080 ulong __ovld atomic_fetch_max(volatile atomic_ulong *object, long operand);
   14081 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, long operand, memory_order order);
   14082 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, long operand, memory_order order, memory_scope scope);
   14083 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14084 
   14085 // OpenCL v2.0 s6.13.11.7.5:
   14086 // add/sub: atomic type argument can be uintptr_t/intptr_t, value type argument can be ptrdiff_t.
   14087 // or/xor/and/min/max: atomic type argument can be intptr_t/uintptr_t, value type argument can be intptr_t/uintptr_t.
   14088 
   14089 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14090 uintptr_t __ovld atomic_fetch_add(volatile atomic_uintptr_t *object, ptrdiff_t operand);
   14091 uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
   14092 uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
   14093 uintptr_t __ovld atomic_fetch_sub(volatile atomic_uintptr_t *object, ptrdiff_t operand);
   14094 uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
   14095 uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
   14096 
   14097 uintptr_t __ovld atomic_fetch_or(volatile atomic_uintptr_t *object, intptr_t operand);
   14098 uintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
   14099 uintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
   14100 uintptr_t __ovld atomic_fetch_xor(volatile atomic_uintptr_t *object, intptr_t operand);
   14101 uintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
   14102 uintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
   14103 uintptr_t __ovld atomic_fetch_and(volatile atomic_uintptr_t *object, intptr_t operand);
   14104 uintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
   14105 uintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
   14106 uintptr_t __ovld atomic_fetch_min(volatile atomic_uintptr_t *object, intptr_t opermax);
   14107 uintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
   14108 uintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
   14109 uintptr_t __ovld atomic_fetch_max(volatile atomic_uintptr_t *object, intptr_t opermax);
   14110 uintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
   14111 uintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
   14112 
   14113 intptr_t __ovld atomic_fetch_or(volatile atomic_intptr_t *object, uintptr_t operand);
   14114 intptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
   14115 intptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
   14116 intptr_t __ovld atomic_fetch_xor(volatile atomic_intptr_t *object, uintptr_t operand);
   14117 intptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
   14118 intptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
   14119 intptr_t __ovld atomic_fetch_and(volatile atomic_intptr_t *object, uintptr_t operand);
   14120 intptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
   14121 intptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
   14122 intptr_t __ovld atomic_fetch_min(volatile atomic_intptr_t *object, uintptr_t opermax);
   14123 intptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
   14124 intptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
   14125 intptr_t __ovld atomic_fetch_max(volatile atomic_intptr_t *object, uintptr_t opermax);
   14126 intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
   14127 intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
   14128 #endif
   14129 
   14130 // atomic_store()
   14131 
   14132 void __ovld atomic_store(volatile atomic_int *object, int desired);
   14133 void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order);
   14134 void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
   14135 void __ovld atomic_store(volatile atomic_uint *object, uint desired);
   14136 void __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order);
   14137 void __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
   14138 void __ovld atomic_store(volatile atomic_float *object, float desired);
   14139 void __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order);
   14140 void __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
   14141 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14142 #ifdef cl_khr_fp64
   14143 void __ovld atomic_store(volatile atomic_double *object, double desired);
   14144 void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order);
   14145 void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
   14146 #endif //cl_khr_fp64
   14147 void __ovld atomic_store(volatile atomic_long *object, long desired);
   14148 void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order);
   14149 void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
   14150 void __ovld atomic_store(volatile atomic_ulong *object, ulong desired);
   14151 void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
   14152 void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
   14153 #endif
   14154 
   14155 // atomic_load()
   14156 
   14157 int __ovld atomic_load(volatile atomic_int *object);
   14158 int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order);
   14159 int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order, memory_scope scope);
   14160 uint __ovld atomic_load(volatile atomic_uint *object);
   14161 uint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order);
   14162 uint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order, memory_scope scope);
   14163 float __ovld atomic_load(volatile atomic_float *object);
   14164 float __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order);
   14165 float __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order, memory_scope scope);
   14166 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14167 #ifdef cl_khr_fp64
   14168 double __ovld atomic_load(volatile atomic_double *object);
   14169 double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order);
   14170 double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order, memory_scope scope);
   14171 #endif //cl_khr_fp64
   14172 long __ovld atomic_load(volatile atomic_long *object);
   14173 long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order);
   14174 long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order, memory_scope scope);
   14175 ulong __ovld atomic_load(volatile atomic_ulong *object);
   14176 ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order);
   14177 ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order, memory_scope scope);
   14178 #endif
   14179 
   14180 // atomic_exchange()
   14181 
   14182 int __ovld atomic_exchange(volatile atomic_int *object, int desired);
   14183 int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order);
   14184 int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
   14185 uint __ovld atomic_exchange(volatile atomic_uint *object, uint desired);
   14186 uint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order);
   14187 uint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
   14188 float __ovld atomic_exchange(volatile atomic_float *object, float desired);
   14189 float __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order);
   14190 float __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
   14191 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14192 #ifdef cl_khr_fp64
   14193 double __ovld atomic_exchange(volatile atomic_double *object, double desired);
   14194 double __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order);
   14195 double __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
   14196 #endif //cl_khr_fp64
   14197 long __ovld atomic_exchange(volatile atomic_long *object, long desired);
   14198 long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order);
   14199 long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
   14200 ulong __ovld atomic_exchange(volatile atomic_ulong *object, ulong desired);
   14201 ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
   14202 ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
   14203 #endif
   14204 
   14205 // atomic_compare_exchange_strong() and atomic_compare_exchange_weak()
   14206 
   14207 bool __ovld atomic_compare_exchange_strong(volatile atomic_int *object, int *expected, int desired);
   14208 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
   14209                                                                                  int desired, memory_order success, memory_order failure);
   14210 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
   14211                                                                                  int desired, memory_order success, memory_order failure, memory_scope scope);
   14212 bool __ovld atomic_compare_exchange_strong(volatile atomic_uint *object, uint *expected, uint desired);
   14213 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
   14214                                                                                  uint desired, memory_order success, memory_order failure);
   14215 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
   14216                                                                                  uint desired, memory_order success, memory_order failure, memory_scope scope);
   14217 bool __ovld atomic_compare_exchange_weak(volatile atomic_int *object, int *expected, int desired);
   14218 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
   14219                                                                                  int desired, memory_order success, memory_order failure);
   14220 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
   14221                                                                                  int desired, memory_order success, memory_order failure, memory_scope scope);
   14222 bool __ovld atomic_compare_exchange_weak(volatile atomic_uint *object, uint *expected, uint desired);
   14223 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
   14224                                                                                  uint desired, memory_order success, memory_order failure);
   14225 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
   14226                                                                                  uint desired, memory_order success, memory_order failure, memory_scope scope);
   14227 bool __ovld atomic_compare_exchange_strong(volatile atomic_float *object, float *expected, float desired);
   14228 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
   14229                                                                                  float desired, memory_order success, memory_order failure);
   14230 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
   14231                                                                                  float desired, memory_order success, memory_order failure, memory_scope scope);
   14232 bool __ovld atomic_compare_exchange_weak(volatile atomic_float *object, float *expected, float desired);
   14233 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
   14234                                                                                  float desired, memory_order success, memory_order failure);
   14235 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
   14236                                                                                  float desired, memory_order success, memory_order failure, memory_scope scope);
   14237 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14238 #ifdef cl_khr_fp64
   14239 bool __ovld atomic_compare_exchange_strong(volatile atomic_double *object, double *expected, double desired);
   14240 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
   14241                                                                                  double desired, memory_order success, memory_order failure);
   14242 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
   14243                                                                                  double desired, memory_order success, memory_order failure, memory_scope scope);
   14244 bool __ovld atomic_compare_exchange_weak(volatile atomic_double *object, double *expected, double desired);
   14245 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
   14246                                                                                  double desired, memory_order success, memory_order failure);
   14247 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
   14248                                                                                  double desired, memory_order success, memory_order failure, memory_scope scope);
   14249 #endif //cl_khr_fp64
   14250 bool __ovld atomic_compare_exchange_strong(volatile atomic_long *object, long *expected, long desired);
   14251 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
   14252                                                                                  long desired, memory_order success, memory_order failure);
   14253 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
   14254                                                                                  long desired, memory_order success, memory_order failure, memory_scope scope);
   14255 bool __ovld atomic_compare_exchange_weak(volatile atomic_long *object, long *expected, long desired);
   14256 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
   14257                                                                                  long desired, memory_order success, memory_order failure);
   14258 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
   14259                                                                                  long desired, memory_order success, memory_order failure, memory_scope scope);
   14260 bool __ovld atomic_compare_exchange_strong(volatile atomic_ulong *object, ulong *expected, ulong desired);
   14261 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
   14262                                                                                  ulong desired, memory_order success, memory_order failure);
   14263 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
   14264                                                                                  ulong desired, memory_order success, memory_order failure, memory_scope scope);
   14265 bool __ovld atomic_compare_exchange_weak(volatile atomic_ulong *object, ulong *expected, ulong desired);
   14266 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
   14267                                                                                  ulong desired, memory_order success, memory_order failure);
   14268 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
   14269                                                                                  ulong desired, memory_order success, memory_order failure, memory_scope scope);
   14270 #endif
   14271 
   14272 // atomic_flag_test_and_set() and atomic_flag_clear()
   14273 
   14274 bool __ovld atomic_flag_test_and_set(volatile atomic_flag *object);
   14275 bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order);
   14276 bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
   14277 void __ovld atomic_flag_clear(volatile atomic_flag *object);
   14278 void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order);
   14279 void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
   14280 
   14281 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   14282 
   14283 // OpenCL v1.1 s6.11.12, v1.2 s6.12.12, v2.0 s6.13.12 - Miscellaneous Vector Functions
   14284 
   14285 /**
   14286  * The shuffle and shuffle2 built-in functions construct
   14287  * a permutation of elements from one or two input
   14288  * vectors respectively that are of the same type,
   14289  * returning a vector with the same element type as the
   14290  * input and length that is the same as the shuffle mask.
   14291  * The size of each element in the mask must match the
   14292  * size of each element in the result. For shuffle, only
   14293  * the ilogb(2m-1) least significant bits of each mask
   14294  * element are considered. For shuffle2, only the
   14295  * ilogb(2m-1)+1 least significant bits of each mask
   14296  * element are considered. Other bits in the mask shall
   14297  * be ignored.
   14298  * The elements of the input vectors are numbered from
   14299  * left to right across one or both of the vectors. For this
   14300  * purpose, the number of elements in a vector is given
   14301  * by vec_step(gentypem). The shuffle mask operand
   14302  * specifies, for each element of the result vector, which
   14303  * element of the one or two input vectors the result
   14304  * element gets.
   14305  * Examples:
   14306  * uint4 mask = (uint4)(3, 2,
   14307  * 1, 0);
   14308  * float4 a;
   14309  * float4 r = shuffle(a, mask);
   14310  * // r.s0123 = a.wzyx
   14311  * uint8 mask = (uint8)(0, 1, 2, 3,
   14312  * 4, 5, 6, 7);
   14313  * float4 a, b;
   14314  * float8 r = shuffle2(a, b, mask);
   14315  * // r.s0123 = a.xyzw
   14316  * // r.s4567 = b.xyzw
   14317  * uint4 mask;
   14318  * float8 a;
   14319  * float4 b;
   14320  * b = shuffle(a, mask);
   14321  * Examples that are not valid are:
   14322  * uint8 mask;
   14323  * short16 a;
   14324  * short8 b;
   14325  * b = shuffle(a, mask); <- not valid
   14326  */
   14327 char2 __ovld __cnfn shuffle(char2 x, uchar2 mask);
   14328 char2 __ovld __cnfn shuffle(char4 x, uchar2 mask);
   14329 char2 __ovld __cnfn shuffle(char8 x, uchar2 mask);
   14330 char2 __ovld __cnfn shuffle(char16 x, uchar2 mask);
   14331 
   14332 uchar2 __ovld __cnfn shuffle(uchar2 x, uchar2 mask);
   14333 uchar2 __ovld __cnfn shuffle(uchar4 x, uchar2 mask);
   14334 uchar2 __ovld __cnfn shuffle(uchar8 x, uchar2 mask);
   14335 uchar2 __ovld __cnfn shuffle(uchar16 x, uchar2 mask);
   14336 
   14337 short2 __ovld __cnfn shuffle(short2 x, ushort2 mask);
   14338 short2 __ovld __cnfn shuffle(short4 x, ushort2 mask);
   14339 short2 __ovld __cnfn shuffle(short8 x, ushort2 mask);
   14340 short2 __ovld __cnfn shuffle(short16 x, ushort2 mask);
   14341 
   14342 ushort2 __ovld __cnfn shuffle(ushort2 x, ushort2 mask);
   14343 ushort2 __ovld __cnfn shuffle(ushort4 x, ushort2 mask);
   14344 ushort2 __ovld __cnfn shuffle(ushort8 x, ushort2 mask);
   14345 ushort2 __ovld __cnfn shuffle(ushort16 x, ushort2 mask);
   14346 
   14347 int2 __ovld __cnfn shuffle(int2 x, uint2 mask);
   14348 int2 __ovld __cnfn shuffle(int4 x, uint2 mask);
   14349 int2 __ovld __cnfn shuffle(int8 x, uint2 mask);
   14350 int2 __ovld __cnfn shuffle(int16 x, uint2 mask);
   14351 
   14352 uint2 __ovld __cnfn shuffle(uint2 x, uint2 mask);
   14353 uint2 __ovld __cnfn shuffle(uint4 x, uint2 mask);
   14354 uint2 __ovld __cnfn shuffle(uint8 x, uint2 mask);
   14355 uint2 __ovld __cnfn shuffle(uint16 x, uint2 mask);
   14356 
   14357 long2 __ovld __cnfn shuffle(long2 x, ulong2 mask);
   14358 long2 __ovld __cnfn shuffle(long4 x, ulong2 mask);
   14359 long2 __ovld __cnfn shuffle(long8 x, ulong2 mask);
   14360 long2 __ovld __cnfn shuffle(long16 x, ulong2 mask);
   14361 
   14362 ulong2 __ovld __cnfn shuffle(ulong2 x, ulong2 mask);
   14363 ulong2 __ovld __cnfn shuffle(ulong4 x, ulong2 mask);
   14364 ulong2 __ovld __cnfn shuffle(ulong8 x, ulong2 mask);
   14365 ulong2 __ovld __cnfn shuffle(ulong16 x, ulong2 mask);
   14366 
   14367 float2 __ovld __cnfn shuffle(float2 x, uint2 mask);
   14368 float2 __ovld __cnfn shuffle(float4 x, uint2 mask);
   14369 float2 __ovld __cnfn shuffle(float8 x, uint2 mask);
   14370 float2 __ovld __cnfn shuffle(float16 x, uint2 mask);
   14371 
   14372 char4 __ovld __cnfn shuffle(char2 x, uchar4 mask);
   14373 char4 __ovld __cnfn shuffle(char4 x, uchar4 mask);
   14374 char4 __ovld __cnfn shuffle(char8 x, uchar4 mask);
   14375 char4 __ovld __cnfn shuffle(char16 x, uchar4 mask);
   14376 
   14377 uchar4 __ovld __cnfn shuffle(uchar2 x, uchar4 mask);
   14378 uchar4 __ovld __cnfn shuffle(uchar4 x, uchar4 mask);
   14379 uchar4 __ovld __cnfn shuffle(uchar8 x, uchar4 mask);
   14380 uchar4 __ovld __cnfn shuffle(uchar16 x, uchar4 mask);
   14381 
   14382 short4 __ovld __cnfn shuffle(short2 x, ushort4 mask);
   14383 short4 __ovld __cnfn shuffle(short4 x, ushort4 mask);
   14384 short4 __ovld __cnfn shuffle(short8 x, ushort4 mask);
   14385 short4 __ovld __cnfn shuffle(short16 x, ushort4 mask);
   14386 
   14387 ushort4 __ovld __cnfn shuffle(ushort2 x, ushort4 mask);
   14388 ushort4 __ovld __cnfn shuffle(ushort4 x, ushort4 mask);
   14389 ushort4 __ovld __cnfn shuffle(ushort8 x, ushort4 mask);
   14390 ushort4 __ovld __cnfn shuffle(ushort16 x, ushort4 mask);
   14391 
   14392 int4 __ovld __cnfn shuffle(int2 x, uint4 mask);
   14393 int4 __ovld __cnfn shuffle(int4 x, uint4 mask);
   14394 int4 __ovld __cnfn shuffle(int8 x, uint4 mask);
   14395 int4 __ovld __cnfn shuffle(int16 x, uint4 mask);
   14396 
   14397 uint4 __ovld __cnfn shuffle(uint2 x, uint4 mask);
   14398 uint4 __ovld __cnfn shuffle(uint4 x, uint4 mask);
   14399 uint4 __ovld __cnfn shuffle(uint8 x, uint4 mask);
   14400 uint4 __ovld __cnfn shuffle(uint16 x, uint4 mask);
   14401 
   14402 long4 __ovld __cnfn shuffle(long2 x, ulong4 mask);
   14403 long4 __ovld __cnfn shuffle(long4 x, ulong4 mask);
   14404 long4 __ovld __cnfn shuffle(long8 x, ulong4 mask);
   14405 long4 __ovld __cnfn shuffle(long16 x, ulong4 mask);
   14406 
   14407 ulong4 __ovld __cnfn shuffle(ulong2 x, ulong4 mask);
   14408 ulong4 __ovld __cnfn shuffle(ulong4 x, ulong4 mask);
   14409 ulong4 __ovld __cnfn shuffle(ulong8 x, ulong4 mask);
   14410 ulong4 __ovld __cnfn shuffle(ulong16 x, ulong4 mask);
   14411 
   14412 float4 __ovld __cnfn shuffle(float2 x, uint4 mask);
   14413 float4 __ovld __cnfn shuffle(float4 x, uint4 mask);
   14414 float4 __ovld __cnfn shuffle(float8 x, uint4 mask);
   14415 float4 __ovld __cnfn shuffle(float16 x, uint4 mask);
   14416 
   14417 char8 __ovld __cnfn shuffle(char2 x, uchar8 mask);
   14418 char8 __ovld __cnfn shuffle(char4 x, uchar8 mask);
   14419 char8 __ovld __cnfn shuffle(char8 x, uchar8 mask);
   14420 char8 __ovld __cnfn shuffle(char16 x, uchar8 mask);
   14421 
   14422 uchar8 __ovld __cnfn shuffle(uchar2 x, uchar8 mask);
   14423 uchar8 __ovld __cnfn shuffle(uchar4 x, uchar8 mask);
   14424 uchar8 __ovld __cnfn shuffle(uchar8 x, uchar8 mask);
   14425 uchar8 __ovld __cnfn shuffle(uchar16 x, uchar8 mask);
   14426 
   14427 short8 __ovld __cnfn shuffle(short2 x, ushort8 mask);
   14428 short8 __ovld __cnfn shuffle(short4 x, ushort8 mask);
   14429 short8 __ovld __cnfn shuffle(short8 x, ushort8 mask);
   14430 short8 __ovld __cnfn shuffle(short16 x, ushort8 mask);
   14431 
   14432 ushort8 __ovld __cnfn shuffle(ushort2 x, ushort8 mask);
   14433 ushort8 __ovld __cnfn shuffle(ushort4 x, ushort8 mask);
   14434 ushort8 __ovld __cnfn shuffle(ushort8 x, ushort8 mask);
   14435 ushort8 __ovld __cnfn shuffle(ushort16 x, ushort8 mask);
   14436 
   14437 int8 __ovld __cnfn shuffle(int2 x, uint8 mask);
   14438 int8 __ovld __cnfn shuffle(int4 x, uint8 mask);
   14439 int8 __ovld __cnfn shuffle(int8 x, uint8 mask);
   14440 int8 __ovld __cnfn shuffle(int16 x, uint8 mask);
   14441 
   14442 uint8 __ovld __cnfn shuffle(uint2 x, uint8 mask);
   14443 uint8 __ovld __cnfn shuffle(uint4 x, uint8 mask);
   14444 uint8 __ovld __cnfn shuffle(uint8 x, uint8 mask);
   14445 uint8 __ovld __cnfn shuffle(uint16 x, uint8 mask);
   14446 
   14447 long8 __ovld __cnfn shuffle(long2 x, ulong8 mask);
   14448 long8 __ovld __cnfn shuffle(long4 x, ulong8 mask);
   14449 long8 __ovld __cnfn shuffle(long8 x, ulong8 mask);
   14450 long8 __ovld __cnfn shuffle(long16 x, ulong8 mask);
   14451 
   14452 ulong8 __ovld __cnfn shuffle(ulong2 x, ulong8 mask);
   14453 ulong8 __ovld __cnfn shuffle(ulong4 x, ulong8 mask);
   14454 ulong8 __ovld __cnfn shuffle(ulong8 x, ulong8 mask);
   14455 ulong8 __ovld __cnfn shuffle(ulong16 x, ulong8 mask);
   14456 
   14457 float8 __ovld __cnfn shuffle(float2 x, uint8 mask);
   14458 float8 __ovld __cnfn shuffle(float4 x, uint8 mask);
   14459 float8 __ovld __cnfn shuffle(float8 x, uint8 mask);
   14460 float8 __ovld __cnfn shuffle(float16 x, uint8 mask);
   14461 
   14462 char16 __ovld __cnfn shuffle(char2 x, uchar16 mask);
   14463 char16 __ovld __cnfn shuffle(char4 x, uchar16 mask);
   14464 char16 __ovld __cnfn shuffle(char8 x, uchar16 mask);
   14465 char16 __ovld __cnfn shuffle(char16 x, uchar16 mask);
   14466 
   14467 uchar16 __ovld __cnfn shuffle(uchar2 x, uchar16 mask);
   14468 uchar16 __ovld __cnfn shuffle(uchar4 x, uchar16 mask);
   14469 uchar16 __ovld __cnfn shuffle(uchar8 x, uchar16 mask);
   14470 uchar16 __ovld __cnfn shuffle(uchar16 x, uchar16 mask);
   14471 
   14472 short16 __ovld __cnfn shuffle(short2 x, ushort16 mask);
   14473 short16 __ovld __cnfn shuffle(short4 x, ushort16 mask);
   14474 short16 __ovld __cnfn shuffle(short8 x, ushort16 mask);
   14475 short16 __ovld __cnfn shuffle(short16 x, ushort16 mask);
   14476 
   14477 ushort16 __ovld __cnfn shuffle(ushort2 x, ushort16 mask);
   14478 ushort16 __ovld __cnfn shuffle(ushort4 x, ushort16 mask);
   14479 ushort16 __ovld __cnfn shuffle(ushort8 x, ushort16 mask);
   14480 ushort16 __ovld __cnfn shuffle(ushort16 x, ushort16 mask);
   14481 
   14482 int16 __ovld __cnfn shuffle(int2 x, uint16 mask);
   14483 int16 __ovld __cnfn shuffle(int4 x, uint16 mask);
   14484 int16 __ovld __cnfn shuffle(int8 x, uint16 mask);
   14485 int16 __ovld __cnfn shuffle(int16 x, uint16 mask);
   14486 
   14487 uint16 __ovld __cnfn shuffle(uint2 x, uint16 mask);
   14488 uint16 __ovld __cnfn shuffle(uint4 x, uint16 mask);
   14489 uint16 __ovld __cnfn shuffle(uint8 x, uint16 mask);
   14490 uint16 __ovld __cnfn shuffle(uint16 x, uint16 mask);
   14491 
   14492 long16 __ovld __cnfn shuffle(long2 x, ulong16 mask);
   14493 long16 __ovld __cnfn shuffle(long4 x, ulong16 mask);
   14494 long16 __ovld __cnfn shuffle(long8 x, ulong16 mask);
   14495 long16 __ovld __cnfn shuffle(long16 x, ulong16 mask);
   14496 
   14497 ulong16 __ovld __cnfn shuffle(ulong2 x, ulong16 mask);
   14498 ulong16 __ovld __cnfn shuffle(ulong4 x, ulong16 mask);
   14499 ulong16 __ovld __cnfn shuffle(ulong8 x, ulong16 mask);
   14500 ulong16 __ovld __cnfn shuffle(ulong16 x, ulong16 mask);
   14501 
   14502 float16 __ovld __cnfn shuffle(float2 x, uint16 mask);
   14503 float16 __ovld __cnfn shuffle(float4 x, uint16 mask);
   14504 float16 __ovld __cnfn shuffle(float8 x, uint16 mask);
   14505 float16 __ovld __cnfn shuffle(float16 x, uint16 mask);
   14506 
   14507 #ifdef cl_khr_fp64
   14508 double2 __ovld __cnfn shuffle(double2 x, ulong2 mask);
   14509 double2 __ovld __cnfn shuffle(double4 x, ulong2 mask);
   14510 double2 __ovld __cnfn shuffle(double8 x, ulong2 mask);
   14511 double2 __ovld __cnfn shuffle(double16 x, ulong2 mask);
   14512 
   14513 double4 __ovld __cnfn shuffle(double2 x, ulong4 mask);
   14514 double4 __ovld __cnfn shuffle(double4 x, ulong4 mask);
   14515 double4 __ovld __cnfn shuffle(double8 x, ulong4 mask);
   14516 double4 __ovld __cnfn shuffle(double16 x, ulong4 mask);
   14517 
   14518 double8 __ovld __cnfn shuffle(double2 x, ulong8 mask);
   14519 double8 __ovld __cnfn shuffle(double4 x, ulong8 mask);
   14520 double8 __ovld __cnfn shuffle(double8 x, ulong8 mask);
   14521 double8 __ovld __cnfn shuffle(double16 x, ulong8 mask);
   14522 
   14523 double16 __ovld __cnfn shuffle(double2 x, ulong16 mask);
   14524 double16 __ovld __cnfn shuffle(double4 x, ulong16 mask);
   14525 double16 __ovld __cnfn shuffle(double8 x, ulong16 mask);
   14526 double16 __ovld __cnfn shuffle(double16 x, ulong16 mask);
   14527 #endif //cl_khr_fp64
   14528 
   14529 #ifdef cl_khr_fp16
   14530 half2 __ovld __cnfn shuffle(half2 x, ushort2 mask);
   14531 half2 __ovld __cnfn shuffle(half4 x, ushort2 mask);
   14532 half2 __ovld __cnfn shuffle(half8 x, ushort2 mask);
   14533 half2 __ovld __cnfn shuffle(half16 x, ushort2 mask);
   14534 
   14535 half4 __ovld __cnfn shuffle(half2 x, ushort4 mask);
   14536 half4 __ovld __cnfn shuffle(half4 x, ushort4 mask);
   14537 half4 __ovld __cnfn shuffle(half8 x, ushort4 mask);
   14538 half4 __ovld __cnfn shuffle(half16 x, ushort4 mask);
   14539 
   14540 half8 __ovld __cnfn shuffle(half2 x, ushort8 mask);
   14541 half8 __ovld __cnfn shuffle(half4 x, ushort8 mask);
   14542 half8 __ovld __cnfn shuffle(half8 x, ushort8 mask);
   14543 half8 __ovld __cnfn shuffle(half16 x, ushort8 mask);
   14544 
   14545 half16 __ovld __cnfn shuffle(half2 x, ushort16 mask);
   14546 half16 __ovld __cnfn shuffle(half4 x, ushort16 mask);
   14547 half16 __ovld __cnfn shuffle(half8 x, ushort16 mask);
   14548 half16 __ovld __cnfn shuffle(half16 x, ushort16 mask);
   14549 #endif //cl_khr_fp16
   14550 
   14551 char2 __ovld __cnfn shuffle2(char2 x, char2 y, uchar2 mask);
   14552 char2 __ovld __cnfn shuffle2(char4 x, char4 y, uchar2 mask);
   14553 char2 __ovld __cnfn shuffle2(char8 x, char8 y, uchar2 mask);
   14554 char2 __ovld __cnfn shuffle2(char16 x, char16 y, uchar2 mask);
   14555 
   14556 uchar2 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar2 mask);
   14557 uchar2 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar2 mask);
   14558 uchar2 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar2 mask);
   14559 uchar2 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar2 mask);
   14560 
   14561 short2 __ovld __cnfn shuffle2(short2 x, short2 y, ushort2 mask);
   14562 short2 __ovld __cnfn shuffle2(short4 x, short4 y, ushort2 mask);
   14563 short2 __ovld __cnfn shuffle2(short8 x, short8 y, ushort2 mask);
   14564 short2 __ovld __cnfn shuffle2(short16 x, short16 y, ushort2 mask);
   14565 
   14566 ushort2 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort2 mask);
   14567 ushort2 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort2 mask);
   14568 ushort2 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort2 mask);
   14569 ushort2 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort2 mask);
   14570 
   14571 int2 __ovld __cnfn shuffle2(int2 x, int2 y, uint2 mask);
   14572 int2 __ovld __cnfn shuffle2(int4 x, int4 y, uint2 mask);
   14573 int2 __ovld __cnfn shuffle2(int8 x, int8 y, uint2 mask);
   14574 int2 __ovld __cnfn shuffle2(int16 x, int16 y, uint2 mask);
   14575 
   14576 uint2 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint2 mask);
   14577 uint2 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint2 mask);
   14578 uint2 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint2 mask);
   14579 uint2 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint2 mask);
   14580 
   14581 long2 __ovld __cnfn shuffle2(long2 x, long2 y, ulong2 mask);
   14582 long2 __ovld __cnfn shuffle2(long4 x, long4 y, ulong2 mask);
   14583 long2 __ovld __cnfn shuffle2(long8 x, long8 y, ulong2 mask);
   14584 long2 __ovld __cnfn shuffle2(long16 x, long16 y, ulong2 mask);
   14585 
   14586 ulong2 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong2 mask);
   14587 ulong2 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong2 mask);
   14588 ulong2 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong2 mask);
   14589 ulong2 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong2 mask);
   14590 
   14591 float2 __ovld __cnfn shuffle2(float2 x, float2 y, uint2 mask);
   14592 float2 __ovld __cnfn shuffle2(float4 x, float4 y, uint2 mask);
   14593 float2 __ovld __cnfn shuffle2(float8 x, float8 y, uint2 mask);
   14594 float2 __ovld __cnfn shuffle2(float16 x, float16 y, uint2 mask);
   14595 
   14596 char4 __ovld __cnfn shuffle2(char2 x, char2 y, uchar4 mask);
   14597 char4 __ovld __cnfn shuffle2(char4 x, char4 y, uchar4 mask);
   14598 char4 __ovld __cnfn shuffle2(char8 x, char8 y, uchar4 mask);
   14599 char4 __ovld __cnfn shuffle2(char16 x, char16 y, uchar4 mask);
   14600 
   14601 uchar4 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar4 mask);
   14602 uchar4 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar4 mask);
   14603 uchar4 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar4 mask);
   14604 uchar4 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar4 mask);
   14605 
   14606 short4 __ovld __cnfn shuffle2(short2 x, short2 y, ushort4 mask);
   14607 short4 __ovld __cnfn shuffle2(short4 x, short4 y, ushort4 mask);
   14608 short4 __ovld __cnfn shuffle2(short8 x, short8 y, ushort4 mask);
   14609 short4 __ovld __cnfn shuffle2(short16 x, short16 y, ushort4 mask);
   14610 
   14611 ushort4 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort4 mask);
   14612 ushort4 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort4 mask);
   14613 ushort4 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort4 mask);
   14614 ushort4 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort4 mask);
   14615 
   14616 int4 __ovld __cnfn shuffle2(int2 x, int2 y, uint4 mask);
   14617 int4 __ovld __cnfn shuffle2(int4 x, int4 y, uint4 mask);
   14618 int4 __ovld __cnfn shuffle2(int8 x, int8 y, uint4 mask);
   14619 int4 __ovld __cnfn shuffle2(int16 x, int16 y, uint4 mask);
   14620 
   14621 uint4 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint4 mask);
   14622 uint4 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint4 mask);
   14623 uint4 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint4 mask);
   14624 uint4 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint4 mask);
   14625 
   14626 long4 __ovld __cnfn shuffle2(long2 x, long2 y, ulong4 mask);
   14627 long4 __ovld __cnfn shuffle2(long4 x, long4 y, ulong4 mask);
   14628 long4 __ovld __cnfn shuffle2(long8 x, long8 y, ulong4 mask);
   14629 long4 __ovld __cnfn shuffle2(long16 x, long16 y, ulong4 mask);
   14630 
   14631 ulong4 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong4 mask);
   14632 ulong4 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong4 mask);
   14633 ulong4 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong4 mask);
   14634 ulong4 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong4 mask);
   14635 
   14636 float4 __ovld __cnfn shuffle2(float2 x, float2 y, uint4 mask);
   14637 float4 __ovld __cnfn shuffle2(float4 x, float4 y, uint4 mask);
   14638 float4 __ovld __cnfn shuffle2(float8 x, float8 y, uint4 mask);
   14639 float4 __ovld __cnfn shuffle2(float16 x, float16 y, uint4 mask);
   14640 
   14641 char8 __ovld __cnfn shuffle2(char2 x, char2 y, uchar8 mask);
   14642 char8 __ovld __cnfn shuffle2(char4 x, char4 y, uchar8 mask);
   14643 char8 __ovld __cnfn shuffle2(char8 x, char8 y, uchar8 mask);
   14644 char8 __ovld __cnfn shuffle2(char16 x, char16 y, uchar8 mask);
   14645 
   14646 uchar8 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar8 mask);
   14647 uchar8 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar8 mask);
   14648 uchar8 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar8 mask);
   14649 uchar8 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar8 mask);
   14650 
   14651 short8 __ovld __cnfn shuffle2(short2 x, short2 y, ushort8 mask);
   14652 short8 __ovld __cnfn shuffle2(short4 x, short4 y, ushort8 mask);
   14653 short8 __ovld __cnfn shuffle2(short8 x, short8 y, ushort8 mask);
   14654 short8 __ovld __cnfn shuffle2(short16 x, short16 y, ushort8 mask);
   14655 
   14656 ushort8 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort8 mask);
   14657 ushort8 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort8 mask);
   14658 ushort8 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort8 mask);
   14659 ushort8 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort8 mask);
   14660 
   14661 int8 __ovld __cnfn shuffle2(int2 x, int2 y, uint8 mask);
   14662 int8 __ovld __cnfn shuffle2(int4 x, int4 y, uint8 mask);
   14663 int8 __ovld __cnfn shuffle2(int8 x, int8 y, uint8 mask);
   14664 int8 __ovld __cnfn shuffle2(int16 x, int16 y, uint8 mask);
   14665 
   14666 uint8 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint8 mask);
   14667 uint8 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint8 mask);
   14668 uint8 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint8 mask);
   14669 uint8 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint8 mask);
   14670 
   14671 long8 __ovld __cnfn shuffle2(long2 x, long2 y, ulong8 mask);
   14672 long8 __ovld __cnfn shuffle2(long4 x, long4 y, ulong8 mask);
   14673 long8 __ovld __cnfn shuffle2(long8 x, long8 y, ulong8 mask);
   14674 long8 __ovld __cnfn shuffle2(long16 x, long16 y, ulong8 mask);
   14675 
   14676 ulong8 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong8 mask);
   14677 ulong8 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong8 mask);
   14678 ulong8 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong8 mask);
   14679 ulong8 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong8 mask);
   14680 
   14681 float8 __ovld __cnfn shuffle2(float2 x, float2 y, uint8 mask);
   14682 float8 __ovld __cnfn shuffle2(float4 x, float4 y, uint8 mask);
   14683 float8 __ovld __cnfn shuffle2(float8 x, float8 y, uint8 mask);
   14684 float8 __ovld __cnfn shuffle2(float16 x, float16 y, uint8 mask);
   14685 
   14686 char16 __ovld __cnfn shuffle2(char2 x, char2 y, uchar16 mask);
   14687 char16 __ovld __cnfn shuffle2(char4 x, char4 y, uchar16 mask);
   14688 char16 __ovld __cnfn shuffle2(char8 x, char8 y, uchar16 mask);
   14689 char16 __ovld __cnfn shuffle2(char16 x, char16 y, uchar16 mask);
   14690 
   14691 uchar16 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar16 mask);
   14692 uchar16 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar16 mask);
   14693 uchar16 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar16 mask);
   14694 uchar16 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar16 mask);
   14695 
   14696 short16 __ovld __cnfn shuffle2(short2 x, short2 y, ushort16 mask);
   14697 short16 __ovld __cnfn shuffle2(short4 x, short4 y, ushort16 mask);
   14698 short16 __ovld __cnfn shuffle2(short8 x, short8 y, ushort16 mask);
   14699 short16 __ovld __cnfn shuffle2(short16 x, short16 y, ushort16 mask);
   14700 
   14701 ushort16 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort16 mask);
   14702 ushort16 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort16 mask);
   14703 ushort16 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort16 mask);
   14704 ushort16 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort16 mask);
   14705 
   14706 int16 __ovld __cnfn shuffle2(int2 x, int2 y, uint16 mask);
   14707 int16 __ovld __cnfn shuffle2(int4 x, int4 y, uint16 mask);
   14708 int16 __ovld __cnfn shuffle2(int8 x, int8 y, uint16 mask);
   14709 int16 __ovld __cnfn shuffle2(int16 x, int16 y, uint16 mask);
   14710 
   14711 uint16 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint16 mask);
   14712 uint16 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint16 mask);
   14713 uint16 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint16 mask);
   14714 uint16 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint16 mask);
   14715 
   14716 long16 __ovld __cnfn shuffle2(long2 x, long2 y, ulong16 mask);
   14717 long16 __ovld __cnfn shuffle2(long4 x, long4 y, ulong16 mask);
   14718 long16 __ovld __cnfn shuffle2(long8 x, long8 y, ulong16 mask);
   14719 long16 __ovld __cnfn shuffle2(long16 x, long16 y, ulong16 mask);
   14720 
   14721 ulong16 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong16 mask);
   14722 ulong16 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong16 mask);
   14723 ulong16 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong16 mask);
   14724 ulong16 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong16 mask);
   14725 
   14726 float16 __ovld __cnfn shuffle2(float2 x, float2 y, uint16 mask);
   14727 float16 __ovld __cnfn shuffle2(float4 x, float4 y, uint16 mask);
   14728 float16 __ovld __cnfn shuffle2(float8 x, float8 y, uint16 mask);
   14729 float16 __ovld __cnfn shuffle2(float16 x, float16 y, uint16 mask);
   14730 
   14731 #ifdef cl_khr_fp64
   14732 double2 __ovld __cnfn shuffle2(double2 x, double2 y, ulong2 mask);
   14733 double2 __ovld __cnfn shuffle2(double4 x, double4 y, ulong2 mask);
   14734 double2 __ovld __cnfn shuffle2(double8 x, double8 y, ulong2 mask);
   14735 double2 __ovld __cnfn shuffle2(double16 x, double16 y, ulong2 mask);
   14736 
   14737 double4 __ovld __cnfn shuffle2(double2 x, double2 y, ulong4 mask);
   14738 double4 __ovld __cnfn shuffle2(double4 x, double4 y, ulong4 mask);
   14739 double4 __ovld __cnfn shuffle2(double8 x, double8 y, ulong4 mask);
   14740 double4 __ovld __cnfn shuffle2(double16 x, double16 y, ulong4 mask);
   14741 
   14742 double8 __ovld __cnfn shuffle2(double2 x, double2 y, ulong8 mask);
   14743 double8 __ovld __cnfn shuffle2(double4 x, double4 y, ulong8 mask);
   14744 double8 __ovld __cnfn shuffle2(double8 x, double8 y, ulong8 mask);
   14745 double8 __ovld __cnfn shuffle2(double16 x, double16 y, ulong8 mask);
   14746 
   14747 double16 __ovld __cnfn shuffle2(double2 x, double2 y, ulong16 mask);
   14748 double16 __ovld __cnfn shuffle2(double4 x, double4 y, ulong16 mask);
   14749 double16 __ovld __cnfn shuffle2(double8 x, double8 y, ulong16 mask);
   14750 double16 __ovld __cnfn shuffle2(double16 x, double16 y, ulong16 mask);
   14751 #endif //cl_khr_fp64
   14752 
   14753 #ifdef cl_khr_fp16
   14754 half2 __ovld __cnfn shuffle2(half2 x, half2 y, ushort2 mask);
   14755 half2 __ovld __cnfn shuffle2(half4 x, half4 y, ushort2 mask);
   14756 half2 __ovld __cnfn shuffle2(half8 x, half8 y, ushort2 mask);
   14757 half2 __ovld __cnfn shuffle2(half16 x, half16 y, ushort2 mask);
   14758 
   14759 half4 __ovld __cnfn shuffle2(half2 x, half2 y, ushort4 mask);
   14760 half4 __ovld __cnfn shuffle2(half4 x, half4 y, ushort4 mask);
   14761 half4 __ovld __cnfn shuffle2(half8 x, half8 y, ushort4 mask);
   14762 half4 __ovld __cnfn shuffle2(half16 x, half16 y, ushort4 mask);
   14763 
   14764 half8 __ovld __cnfn shuffle2(half2 x, half2 y, ushort8 mask);
   14765 half8 __ovld __cnfn shuffle2(half4 x, half4 y, ushort8 mask);
   14766 half8 __ovld __cnfn shuffle2(half8 x, half8 y, ushort8 mask);
   14767 half8 __ovld __cnfn shuffle2(half16 x, half16 y, ushort8 mask);
   14768 
   14769 half16 __ovld __cnfn shuffle2(half2 x, half2 y, ushort16 mask);
   14770 half16 __ovld __cnfn shuffle2(half4 x, half4 y, ushort16 mask);
   14771 half16 __ovld __cnfn shuffle2(half8 x, half8 y, ushort16 mask);
   14772 half16 __ovld __cnfn shuffle2(half16 x, half16 y, ushort16 mask);
   14773 #endif //cl_khr_fp16
   14774 
   14775 #if __OPENCL_C_VERSION__ >= CL_VERSION_1_2
   14776 // OpenCL v1.2 s6.12.13, v2.0 s6.13.13 - printf
   14777 
   14778 int printf(__constant const char* st, ...);
   14779 #endif
   14780 
   14781 // OpenCL v1.1 s6.11.3, v1.2 s6.12.14, v2.0 s6.13.14 - Image Read and Write Functions
   14782 
   14783 // These values need to match the runtime equivalent
   14784 //
   14785 // Addressing Mode.
   14786 //
   14787 #define CLK_ADDRESS_NONE                0
   14788 #define CLK_ADDRESS_CLAMP_TO_EDGE       2
   14789 #define CLK_ADDRESS_CLAMP               4
   14790 #define CLK_ADDRESS_REPEAT              6
   14791 #define CLK_ADDRESS_MIRRORED_REPEAT     8
   14792 
   14793 //
   14794 // Coordination Normalization
   14795 //
   14796 #define CLK_NORMALIZED_COORDS_FALSE     0
   14797 #define CLK_NORMALIZED_COORDS_TRUE      1
   14798 
   14799 //
   14800 // Filtering Mode.
   14801 //
   14802 #define CLK_FILTER_NEAREST              0x10
   14803 #define CLK_FILTER_LINEAR               0x20
   14804 
   14805 #ifdef cl_khr_gl_msaa_sharing
   14806 #pragma OPENCL EXTENSION cl_khr_gl_msaa_sharing : enable
   14807 #endif //cl_khr_gl_msaa_sharing
   14808 
   14809 /**
   14810  * Use the coordinate (coord.xy) to do an element lookup in
   14811  * the 2D image object specified by image.
   14812  *
   14813  * Use the coordinate (coord.x, coord.y, coord.z) to do
   14814  * an element lookup in the 3D image object specified
   14815  * by image. coord.w is ignored.
   14816  *
   14817  * Use the coordinate (coord.z) to index into the
   14818  * 2D image array object specified by image_array
   14819  * and (coord.x, coord.y) to do an element lookup in
   14820  * the 2D image object specified by image.
   14821  *
   14822  * Use the coordinate (x) to do an element lookup in
   14823  * the 1D image object specified by image.
   14824  *
   14825  * Use the coordinate (coord.y) to index into the
   14826  * 1D image array object specified by image_array
   14827  * and (coord.x) to do an element lookup in
   14828  * the 1D image object specified by image.
   14829  *
   14830  * Use the coordinate (cood.xy) and sample to do an
   14831  * element lookup in the 2D multi-sample image specified
   14832  * by image.
   14833  *
   14834  * Use coord.xy and sample to do an element
   14835  * lookup in the 2D multi-sample image layer
   14836  * identified by index coord.z in the 2D multi-sample
   14837  * image array specified by image.
   14838  *
   14839  * For mipmap images, use the mip-level specified by
   14840  * the Level-of-Detail (lod) or use gradients for LOD
   14841  * computation.
   14842  *
   14843  * read_imagef returns floating-point values in the
   14844  * range [0.0 ... 1.0] for image objects created with
   14845  * image_channel_data_type set to one of the predefined
   14846  * packed formats or CL_UNORM_INT8, or
   14847  * CL_UNORM_INT16.
   14848  *
   14849  * read_imagef returns floating-point values in the
   14850  * range [-1.0 ... 1.0] for image objects created with
   14851  * image_channel_data_type set to CL_SNORM_INT8,
   14852  * or CL_SNORM_INT16.
   14853  *
   14854  * read_imagef returns floating-point values for image
   14855  * objects created with image_channel_data_type set to
   14856  * CL_HALF_FLOAT or CL_FLOAT.
   14857  *
   14858  * read_imagei and read_imageui return
   14859  * unnormalized signed integer and unsigned integer
   14860  * values respectively. Each channel will be stored in a
   14861  * 32-bit integer.
   14862  *
   14863  * read_imagei can only be used with image objects
   14864  * created with image_channel_data_type set to one of
   14865  * the following values:
   14866  * CL_SIGNED_INT8,
   14867  * CL_SIGNED_INT16 and
   14868  * CL_SIGNED_INT32.
   14869  * If the image_channel_data_type is not one of the
   14870  * above values, the values returned by read_imagei
   14871  * are undefined.
   14872  *
   14873  * read_imageui can only be used with image objects
   14874  * created with image_channel_data_type set to one of
   14875  * the following values:
   14876  * CL_UNSIGNED_INT8,
   14877  * CL_UNSIGNED_INT16 and
   14878  * CL_UNSIGNED_INT32.
   14879  * If the image_channel_data_type is not one of the
   14880  * above values, the values returned by read_imageui
   14881  * are undefined.
   14882  *
   14883  * The read_image{i|ui} calls support a nearest filter
   14884  * only. The filter_mode specified in sampler
   14885  * must be set to CLK_FILTER_NEAREST; otherwise
   14886  * the values returned are undefined.
   14887 
   14888  * The read_image{f|i|ui} calls that take
   14889  * integer coordinates must use a sampler with
   14890  * normalized coordinates set to
   14891  * CLK_NORMALIZED_COORDS_FALSE and
   14892  * addressing mode set to
   14893  * CLK_ADDRESS_CLAMP_TO_EDGE,
   14894  * CLK_ADDRESS_CLAMP or CLK_ADDRESS_NONE;
   14895  * otherwise the values returned are undefined.
   14896  *
   14897  * Values returned by read_imagef for image objects
   14898  * with image_channel_data_type values not specified
   14899  * in the description above are undefined.
   14900  */
   14901 
   14902 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, int2 coord);
   14903 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord);
   14904 
   14905 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, int2 coord);
   14906 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord);
   14907 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, int2 coord);
   14908 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord);
   14909 
   14910 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, int4 coord);
   14911 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord);
   14912 
   14913 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, int4 coord);
   14914 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord);
   14915 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, int4 coord);
   14916 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord);
   14917 
   14918 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
   14919 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
   14920 
   14921 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
   14922 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
   14923 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
   14924 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
   14925 
   14926 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, int coord);
   14927 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord);
   14928 
   14929 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, int coord);
   14930 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord);
   14931 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, int coord);
   14932 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord);
   14933 
   14934 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
   14935 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
   14936 
   14937 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
   14938 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
   14939 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
   14940 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
   14941 
   14942 #ifdef cl_khr_depth_images
   14943 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord);
   14944 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, int2 coord);
   14945 
   14946 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord);
   14947 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, int4 coord);
   14948 #endif //cl_khr_depth_images
   14949 
   14950 #if defined(cl_khr_gl_msaa_sharing)
   14951 float4 __purefn __ovld read_imagef(read_only image2d_msaa_t image, int2 coord, int sample);
   14952 int4 __purefn __ovld read_imagei(read_only image2d_msaa_t image, int2 coord, int sample);
   14953 uint4 __purefn __ovld read_imageui(read_only image2d_msaa_t image, int2 coord, int sample);
   14954 
   14955 float __purefn __ovld read_imagef(read_only image2d_msaa_depth_t image, int2 coord, int sample);
   14956 
   14957 float4 __purefn __ovld read_imagef(read_only image2d_array_msaa_t image, int4 coord, int sample);
   14958 int4 __purefn __ovld read_imagei(read_only image2d_array_msaa_t image, int4 coord, int sample);
   14959 uint4 __purefn __ovld read_imageui(read_only image2d_array_msaa_t image, int4 coord, int sample);
   14960 
   14961 float __purefn __ovld read_imagef(read_only image2d_array_msaa_depth_t image, int4 coord, int sample);
   14962 #endif //cl_khr_gl_msaa_sharing
   14963 
   14964 // OpenCL Extension v2.0 s9.18 - Mipmaps
   14965 #ifdef cl_khr_mipmap_image
   14966 
   14967 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   14968 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   14969 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   14970 
   14971 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   14972 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   14973 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   14974 
   14975 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   14976 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   14977 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   14978 
   14979 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
   14980 
   14981 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   14982 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   14983 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   14984 
   14985 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
   14986 
   14987 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   14988 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   14989 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   14990 
   14991 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   14992 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   14993 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   14994 
   14995 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   14996 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   14997 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   14998 
   14999 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15000 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15001 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15002 
   15003 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15004 
   15005 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15006 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15007 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15008 
   15009 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15010 
   15011 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   15012 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   15013 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   15014 
   15015 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   15016 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   15017 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   15018 
   15019 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15020 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15021 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15022 
   15023 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   15024 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   15025 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   15026 
   15027 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
   15028 
   15029 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15030 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15031 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15032 
   15033 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
   15034 
   15035 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   15036 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   15037 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   15038 
   15039 #endif //cl_khr_mipmap_image
   15040 
   15041 /**
   15042 * Sampler-less Image Access
   15043 */
   15044 
   15045 float4 __purefn __ovld read_imagef(read_only image1d_t image, int coord);
   15046 int4 __purefn __ovld read_imagei(read_only image1d_t image, int coord);
   15047 uint4 __purefn __ovld read_imageui(read_only image1d_t image, int coord);
   15048 
   15049 float4 __purefn __ovld read_imagef(read_only image1d_buffer_t image, int coord);
   15050 int4 __purefn __ovld read_imagei(read_only image1d_buffer_t image, int coord);
   15051 uint4 __purefn __ovld read_imageui(read_only image1d_buffer_t image, int coord);
   15052 
   15053 float4 __purefn __ovld read_imagef(read_only image1d_array_t image, int2 coord);
   15054 int4 __purefn __ovld read_imagei(read_only image1d_array_t image, int2 coord);
   15055 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image, int2 coord);
   15056 
   15057 float4 __purefn __ovld read_imagef(read_only image2d_t image, int2 coord);
   15058 int4 __purefn __ovld read_imagei(read_only image2d_t image, int2 coord);
   15059 uint4 __purefn __ovld read_imageui(read_only image2d_t image, int2 coord);
   15060 
   15061 float4 __purefn __ovld read_imagef(read_only image2d_array_t image, int4 coord);
   15062 int4 __purefn __ovld read_imagei(read_only image2d_array_t image, int4 coord);
   15063 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image, int4 coord);
   15064 
   15065 #ifdef cl_khr_depth_images
   15066 float __purefn __ovld read_imagef(read_only image2d_depth_t image, int2 coord);
   15067 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, int4 coord);
   15068 #endif //cl_khr_depth_images
   15069 
   15070 float4 __purefn __ovld read_imagef(read_only image3d_t image, int4 coord);
   15071 int4 __purefn __ovld read_imagei(read_only image3d_t image, int4 coord);
   15072 uint4 __purefn __ovld read_imageui(read_only image3d_t image, int4 coord);
   15073 
   15074 // Image read functions returning half4 type
   15075 #ifdef cl_khr_fp16
   15076 half4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, int coord);
   15077 half4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, float coord);
   15078 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, int2 coord);
   15079 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, float2 coord);
   15080 half4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, int2 coord);
   15081 half4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, float2 coord);
   15082 half4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, int4 coord);
   15083 half4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, float4 coord);
   15084 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, int4 coord);
   15085 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, float4 coord);
   15086 half4 __purefn __ovld read_imageh(read_only image1d_t image, int coord);
   15087 half4 __purefn __ovld read_imageh(read_only image2d_t image, int2 coord);
   15088 half4 __purefn __ovld read_imageh(read_only image3d_t image, int4 coord);
   15089 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, int2 coord);
   15090 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, int4 coord);
   15091 half4 __purefn __ovld read_imageh(read_only image1d_buffer_t image, int coord);
   15092 #endif //cl_khr_fp16
   15093 
   15094 // Image read functions for read_write images
   15095 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15096 float4 __purefn __ovld read_imagef(read_write image1d_t image, int coord);
   15097 int4 __purefn __ovld read_imagei(read_write image1d_t image, int coord);
   15098 uint4 __purefn __ovld read_imageui(read_write image1d_t image, int coord);
   15099 
   15100 float4 __purefn __ovld read_imagef(read_write image1d_buffer_t image, int coord);
   15101 int4 __purefn __ovld read_imagei(read_write image1d_buffer_t image, int coord);
   15102 uint4 __purefn __ovld read_imageui(read_write image1d_buffer_t image, int coord);
   15103 
   15104 float4 __purefn __ovld read_imagef(read_write image1d_array_t image, int2 coord);
   15105 int4 __purefn __ovld read_imagei(read_write image1d_array_t image, int2 coord);
   15106 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image, int2 coord);
   15107 
   15108 float4 __purefn __ovld read_imagef(read_write image2d_t image, int2 coord);
   15109 int4 __purefn __ovld read_imagei(read_write image2d_t image, int2 coord);
   15110 uint4 __purefn __ovld read_imageui(read_write image2d_t image, int2 coord);
   15111 
   15112 float4 __purefn __ovld read_imagef(read_write image2d_array_t image, int4 coord);
   15113 int4 __purefn __ovld read_imagei(read_write image2d_array_t image, int4 coord);
   15114 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image, int4 coord);
   15115 
   15116 float4 __purefn __ovld read_imagef(read_write image3d_t image, int4 coord);
   15117 int4 __purefn __ovld read_imagei(read_write image3d_t image, int4 coord);
   15118 uint4 __purefn __ovld read_imageui(read_write image3d_t image, int4 coord);
   15119 
   15120 #ifdef cl_khr_depth_images
   15121 float __purefn __ovld read_imagef(read_write image2d_depth_t image, int2 coord);
   15122 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, int4 coord);
   15123 #endif //cl_khr_depth_images
   15124 
   15125 #if cl_khr_gl_msaa_sharing
   15126 float4 __purefn __ovld read_imagef(read_write image2d_msaa_t image, int2 coord, int sample);
   15127 int4 __purefn __ovld read_imagei(read_write image2d_msaa_t image, int2 coord, int sample);
   15128 uint4 __purefn __ovld read_imageui(read_write image2d_msaa_t image, int2 coord, int sample);
   15129 
   15130 float4 __purefn __ovld read_imagef(read_write image2d_array_msaa_t image, int4 coord, int sample);
   15131 int4 __purefn __ovld read_imagei(read_write image2d_array_msaa_t image, int4 coord, int sample);
   15132 uint4 __purefn __ovld read_imageui(read_write image2d_array_msaa_t image, int4 coord, int sample);
   15133 
   15134 float __purefn __ovld read_imagef(read_write image2d_msaa_depth_t image, int2 coord, int sample);
   15135 float __purefn __ovld read_imagef(read_write image2d_array_msaa_depth_t image, int4 coord, int sample);
   15136 #endif //cl_khr_gl_msaa_sharing
   15137 
   15138 #ifdef cl_khr_mipmap_image
   15139 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   15140 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   15141 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   15142 
   15143 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15144 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15145 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15146 
   15147 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   15148 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   15149 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   15150 
   15151 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
   15152 
   15153 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15154 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15155 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15156 
   15157 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
   15158 
   15159 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   15160 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   15161 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   15162 
   15163 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   15164 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   15165 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   15166 
   15167 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   15168 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   15169 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   15170 
   15171 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15172 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15173 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15174 
   15175 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15176 
   15177 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15178 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15179 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15180 
   15181 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15182 
   15183 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   15184 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   15185 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   15186 
   15187 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   15188 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   15189 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   15190 
   15191 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15192 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15193 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15194 
   15195 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   15196 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   15197 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   15198 
   15199 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
   15200 
   15201 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15202 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15203 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15204 
   15205 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
   15206 
   15207 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   15208 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   15209 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   15210 #endif //cl_khr_mipmap_image
   15211 
   15212 // Image read functions returning half4 type
   15213 #ifdef cl_khr_fp16
   15214 half4 __purefn __ovld read_imageh(read_write image1d_t image, int coord);
   15215 half4 __purefn __ovld read_imageh(read_write image2d_t image, int2 coord);
   15216 half4 __purefn __ovld read_imageh(read_write image3d_t image, int4 coord);
   15217 half4 __purefn __ovld read_imageh(read_write image1d_array_t image, int2 coord);
   15218 half4 __purefn __ovld read_imageh(read_write image2d_array_t image, int4 coord);
   15219 half4 __purefn __ovld read_imageh(read_write image1d_buffer_t image, int coord);
   15220 #endif //cl_khr_fp16
   15221 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15222 
   15223 /**
   15224  * Write color value to location specified by coordinate
   15225  * (coord.x, coord.y) in the 2D image object specified by image.
   15226  * (coord.x, coord.y) are considered to be unnormalized coordinates
   15227  * and must be in the range 0 ... image width - 1, and 0
   15228  * ... image height - 1.
   15229 
   15230  * Write color value to location specified by coordinate
   15231  * (coord.x, coord.y) in the 2D image object specified by index
   15232  * (coord.z) of the 2D image array object image_array.
   15233  * (coord.x, coord.y) are considered to be unnormalized
   15234  * coordinates and must be in the range 0 ... image width
   15235  * - 1.
   15236  *
   15237  * Write color value to location specified by coordinate
   15238  * (coord) in the 1D image (buffer) object specified by image.
   15239  * coord is considered to be unnormalized coordinates
   15240  * and must be in the range 0 ... image width - 1.
   15241  *
   15242  * Write color value to location specified by coordinate
   15243  * (coord.x) in the 1D image object specified by index
   15244  * (coord.y) of the 1D image array object image_array.
   15245  * x is considered to be unnormalized coordinates
   15246  * and must be in the range 0 ... image width - 1.
   15247  *
   15248  * Write color value to location specified by coordinate
   15249  * (coord.x, coord.y, coord.z) in the 3D image object specified by image.
   15250  * coord.x & coord.y are considered to be unnormalized coordinates
   15251  * and must be in the range 0 ... image width - 1, and 0
   15252  * ... image height - 1.
   15253  *
   15254  * For mipmap images, use mip-level specified by lod.
   15255  *
   15256  * Appropriate data format conversion to the specified
   15257  * image format is done before writing the color value.
   15258  *
   15259  * write_imagef can only be used with image objects
   15260  * created with image_channel_data_type set to one of
   15261  * the pre-defined packed formats or set to
   15262  * CL_SNORM_INT8, CL_UNORM_INT8,
   15263  * CL_SNORM_INT16, CL_UNORM_INT16,
   15264  * CL_HALF_FLOAT or CL_FLOAT. Appropriate data
   15265  * format conversion will be done to convert channel
   15266  * data from a floating-point value to actual data format
   15267  * in which the channels are stored.
   15268  *
   15269  * write_imagei can only be used with image objects
   15270  * created with image_channel_data_type set to one of
   15271  * the following values:
   15272  * CL_SIGNED_INT8,
   15273  * CL_SIGNED_INT16 and
   15274  * CL_SIGNED_INT32.
   15275  *
   15276  * write_imageui can only be used with image objects
   15277  * created with image_channel_data_type set to one of
   15278  * the following values:
   15279  * CL_UNSIGNED_INT8,
   15280  * CL_UNSIGNED_INT16 and
   15281  * CL_UNSIGNED_INT32.
   15282  *
   15283  * The behavior of write_imagef, write_imagei and
   15284  * write_imageui for image objects created with
   15285  * image_channel_data_type values not specified in
   15286  * the description above or with (x, y) coordinate
   15287  * values that are not in the range (0 ... image width -1,
   15288  * 0 ... image height - 1), respectively, is undefined.
   15289  */
   15290 void __ovld write_imagef(write_only image2d_t image, int2 coord, float4 color);
   15291 void __ovld write_imagei(write_only image2d_t image, int2 coord, int4 color);
   15292 void __ovld write_imageui(write_only image2d_t image, int2 coord, uint4 color);
   15293 
   15294 void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, float4 color);
   15295 void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int4 color);
   15296 void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, uint4 color);
   15297 
   15298 void __ovld write_imagef(write_only image1d_t image, int coord, float4 color);
   15299 void __ovld write_imagei(write_only image1d_t image, int coord, int4 color);
   15300 void __ovld write_imageui(write_only image1d_t image, int coord, uint4 color);
   15301 
   15302 void __ovld write_imagef(write_only image1d_buffer_t image, int coord, float4 color);
   15303 void __ovld write_imagei(write_only image1d_buffer_t image, int coord, int4 color);
   15304 void __ovld write_imageui(write_only image1d_buffer_t image, int coord, uint4 color);
   15305 
   15306 void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, float4 color);
   15307 void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int4 color);
   15308 void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, uint4 color);
   15309 
   15310 #ifdef cl_khr_3d_image_writes
   15311 void __ovld write_imagef(write_only image3d_t image, int4 coord, float4 color);
   15312 void __ovld write_imagei(write_only image3d_t image, int4 coord, int4 color);
   15313 void __ovld write_imageui(write_only image3d_t image, int4 coord, uint4 color);
   15314 #endif
   15315 
   15316 #ifdef cl_khr_depth_images
   15317 void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, float color);
   15318 void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, float color);
   15319 #endif //cl_khr_depth_images
   15320 
   15321 // OpenCL Extension v2.0 s9.18 - Mipmaps
   15322 #ifdef cl_khr_mipmap_image
   15323 void __ovld write_imagef(write_only image1d_t image, int coord, int lod, float4 color);
   15324 void __ovld write_imagei(write_only image1d_t image, int coord, int lod, int4 color);
   15325 void __ovld write_imageui(write_only image1d_t image, int coord, int lod, uint4 color);
   15326 
   15327 void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, int lod, float4 color);
   15328 void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int lod, int4 color);
   15329 void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, int lod, uint4 color);
   15330 
   15331 void __ovld write_imagef(write_only image2d_t image, int2 coord, int lod, float4 color);
   15332 void __ovld write_imagei(write_only image2d_t image, int2 coord, int lod, int4 color);
   15333 void __ovld write_imageui(write_only image2d_t image, int2 coord, int lod, uint4 color);
   15334 
   15335 void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, int lod, float4 color);
   15336 void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int lod, int4 color);
   15337 void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, int lod, uint4 color);
   15338 
   15339 void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, int lod, float color);
   15340 void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, int lod, float color);
   15341 
   15342 #ifdef cl_khr_3d_image_writes
   15343 void __ovld write_imagef(write_only image3d_t image, int4 coord, int lod, float4 color);
   15344 void __ovld write_imagei(write_only image3d_t image, int4 coord, int lod, int4 color);
   15345 void __ovld write_imageui(write_only image3d_t image, int4 coord, int lod, uint4 color);
   15346 #endif
   15347 #endif //cl_khr_mipmap_image
   15348 
   15349 // Image write functions for half4 type
   15350 #ifdef cl_khr_fp16
   15351 void __ovld write_imageh(write_only image1d_t image, int coord, half4 color);
   15352 void __ovld write_imageh(write_only image2d_t image, int2 coord, half4 color);
   15353 #ifdef cl_khr_3d_image_writes
   15354 void __ovld write_imageh(write_only image3d_t image, int4 coord, half4 color);
   15355 #endif
   15356 void __ovld write_imageh(write_only image1d_array_t image, int2 coord, half4 color);
   15357 void __ovld write_imageh(write_only image2d_array_t image, int4 coord, half4 color);
   15358 void __ovld write_imageh(write_only image1d_buffer_t image, int coord, half4 color);
   15359 #endif //cl_khr_fp16
   15360 
   15361 // Image write functions for read_write images
   15362 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15363 void __ovld write_imagef(read_write image2d_t image, int2 coord, float4 color);
   15364 void __ovld write_imagei(read_write image2d_t image, int2 coord, int4 color);
   15365 void __ovld write_imageui(read_write image2d_t image, int2 coord, uint4 color);
   15366 
   15367 void __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, float4 color);
   15368 void __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int4 color);
   15369 void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, uint4 color);
   15370 
   15371 void __ovld write_imagef(read_write image1d_t image, int coord, float4 color);
   15372 void __ovld write_imagei(read_write image1d_t image, int coord, int4 color);
   15373 void __ovld write_imageui(read_write image1d_t image, int coord, uint4 color);
   15374 
   15375 void __ovld write_imagef(read_write image1d_buffer_t image, int coord, float4 color);
   15376 void __ovld write_imagei(read_write image1d_buffer_t image, int coord, int4 color);
   15377 void __ovld write_imageui(read_write image1d_buffer_t image, int coord, uint4 color);
   15378 
   15379 void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, float4 color);
   15380 void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int4 color);
   15381 void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, uint4 color);
   15382 
   15383 #ifdef cl_khr_3d_image_writes
   15384 void __ovld write_imagef(read_write image3d_t image, int4 coord, float4 color);
   15385 void __ovld write_imagei(read_write image3d_t image, int4 coord, int4 color);
   15386 void __ovld write_imageui(read_write image3d_t image, int4 coord, uint4 color);
   15387 #endif
   15388 
   15389 #ifdef cl_khr_depth_images
   15390 void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, float color);
   15391 void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, float color);
   15392 #endif //cl_khr_depth_images
   15393 
   15394 #ifdef cl_khr_mipmap_image
   15395 void __ovld write_imagef(read_write image1d_t image, int coord, int lod, float4 color);
   15396 void __ovld write_imagei(read_write image1d_t image, int coord, int lod, int4 color);
   15397 void __ovld write_imageui(read_write image1d_t image, int coord, int lod, uint4 color);
   15398 
   15399 void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, int lod, float4 color);
   15400 void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int lod, int4 color);
   15401 void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, int lod, uint4 color);
   15402 
   15403 void __ovld write_imagef(read_write image2d_t image, int2 coord, int lod, float4 color);
   15404 void __ovld write_imagei(read_write image2d_t image, int2 coord, int lod, int4 color);
   15405 void __ovld write_imageui(read_write image2d_t image, int2 coord, int lod, uint4 color);
   15406 
   15407 void __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, int lod, float4 color);
   15408 void __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int lod, int4 color);
   15409 void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, int lod, uint4 color);
   15410 
   15411 void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, int lod, float color);
   15412 void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, int lod, float color);
   15413 
   15414 #ifdef cl_khr_3d_image_writes
   15415 void __ovld write_imagef(read_write image3d_t image, int4 coord, int lod, float4 color);
   15416 void __ovld write_imagei(read_write image3d_t image, int4 coord, int lod, int4 color);
   15417 void __ovld write_imageui(read_write image3d_t image, int4 coord, int lod, uint4 color);
   15418 #endif
   15419 #endif //cl_khr_mipmap_image
   15420 
   15421 // Image write functions for half4 type
   15422 #ifdef cl_khr_fp16
   15423 void __ovld write_imageh(read_write image1d_t image, int coord, half4 color);
   15424 void __ovld write_imageh(read_write image2d_t image, int2 coord, half4 color);
   15425 #ifdef cl_khr_3d_image_writes
   15426 void __ovld write_imageh(read_write image3d_t image, int4 coord, half4 color);
   15427 #endif
   15428 void __ovld write_imageh(read_write image1d_array_t image, int2 coord, half4 color);
   15429 void __ovld write_imageh(read_write image2d_array_t image, int4 coord, half4 color);
   15430 void __ovld write_imageh(read_write image1d_buffer_t image, int coord, half4 color);
   15431 #endif //cl_khr_fp16
   15432 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15433 
   15434 // Note: In OpenCL v1.0/1.1/1.2, image argument of image query builtin functions does not have
   15435 // access qualifier, which by default assume read_only access qualifier. Image query builtin
   15436 // functions with write_only image argument should also be declared.
   15437 
   15438 /**
   15439  * Return the image width in pixels.
   15440  *
   15441   */
   15442 int __ovld __cnfn get_image_width(read_only image1d_t image);
   15443 int __ovld __cnfn get_image_width(read_only image1d_buffer_t image);
   15444 int __ovld __cnfn get_image_width(read_only image2d_t image);
   15445 #ifdef cl_khr_3d_image_writes
   15446 int __ovld __cnfn get_image_width(read_only image3d_t image);
   15447 #endif
   15448 int __ovld __cnfn get_image_width(read_only image1d_array_t image);
   15449 int __ovld __cnfn get_image_width(read_only image2d_array_t image);
   15450 #ifdef cl_khr_depth_images
   15451 int __ovld __cnfn get_image_width(read_only image2d_depth_t image);
   15452 int __ovld __cnfn get_image_width(read_only image2d_array_depth_t image);
   15453 #endif //cl_khr_depth_images
   15454 #if defined(cl_khr_gl_msaa_sharing)
   15455 int __ovld __cnfn get_image_width(read_only image2d_msaa_t image);
   15456 int __ovld __cnfn get_image_width(read_only image2d_msaa_depth_t image);
   15457 int __ovld __cnfn get_image_width(read_only image2d_array_msaa_t image);
   15458 int __ovld __cnfn get_image_width(read_only image2d_array_msaa_depth_t image);
   15459 #endif //cl_khr_gl_msaa_sharing
   15460 
   15461 int __ovld __cnfn get_image_width(write_only image1d_t image);
   15462 int __ovld __cnfn get_image_width(write_only image1d_buffer_t image);
   15463 int __ovld __cnfn get_image_width(write_only image2d_t image);
   15464 #ifdef cl_khr_3d_image_writes
   15465 int __ovld __cnfn get_image_width(write_only image3d_t image);
   15466 #endif
   15467 int __ovld __cnfn get_image_width(write_only image1d_array_t image);
   15468 int __ovld __cnfn get_image_width(write_only image2d_array_t image);
   15469 #ifdef cl_khr_depth_images
   15470 int __ovld __cnfn get_image_width(write_only image2d_depth_t image);
   15471 int __ovld __cnfn get_image_width(write_only image2d_array_depth_t image);
   15472 #endif //cl_khr_depth_images
   15473 #if defined(cl_khr_gl_msaa_sharing)
   15474 int __ovld __cnfn get_image_width(write_only image2d_msaa_t image);
   15475 int __ovld __cnfn get_image_width(write_only image2d_msaa_depth_t image);
   15476 int __ovld __cnfn get_image_width(write_only image2d_array_msaa_t image);
   15477 int __ovld __cnfn get_image_width(write_only image2d_array_msaa_depth_t image);
   15478 #endif //cl_khr_gl_msaa_sharing
   15479 
   15480 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15481 int __ovld __cnfn get_image_width(read_write image1d_t image);
   15482 int __ovld __cnfn get_image_width(read_write image1d_buffer_t image);
   15483 int __ovld __cnfn get_image_width(read_write image2d_t image);
   15484 int __ovld __cnfn get_image_width(read_write image3d_t image);
   15485 int __ovld __cnfn get_image_width(read_write image1d_array_t image);
   15486 int __ovld __cnfn get_image_width(read_write image2d_array_t image);
   15487 #ifdef cl_khr_depth_images
   15488 int __ovld __cnfn get_image_width(read_write image2d_depth_t image);
   15489 int __ovld __cnfn get_image_width(read_write image2d_array_depth_t image);
   15490 #endif //cl_khr_depth_images
   15491 #if defined(cl_khr_gl_msaa_sharing)
   15492 int __ovld __cnfn get_image_width(read_write image2d_msaa_t image);
   15493 int __ovld __cnfn get_image_width(read_write image2d_msaa_depth_t image);
   15494 int __ovld __cnfn get_image_width(read_write image2d_array_msaa_t image);
   15495 int __ovld __cnfn get_image_width(read_write image2d_array_msaa_depth_t image);
   15496 #endif //cl_khr_gl_msaa_sharing
   15497 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15498 
   15499 /**
   15500  * Return the image height in pixels.
   15501  */
   15502 int __ovld __cnfn get_image_height(read_only image2d_t image);
   15503 int __ovld __cnfn get_image_height(read_only image3d_t image);
   15504 int __ovld __cnfn get_image_height(read_only image2d_array_t image);
   15505 #ifdef cl_khr_depth_images
   15506 int __ovld __cnfn get_image_height(read_only image2d_depth_t image);
   15507 int __ovld __cnfn get_image_height(read_only image2d_array_depth_t image);
   15508 #endif //cl_khr_depth_images
   15509 #if defined(cl_khr_gl_msaa_sharing)
   15510 int __ovld __cnfn get_image_height(read_only image2d_msaa_t image);
   15511 int __ovld __cnfn get_image_height(read_only image2d_msaa_depth_t image);
   15512 int __ovld __cnfn get_image_height(read_only image2d_array_msaa_t image);
   15513 int __ovld __cnfn get_image_height(read_only image2d_array_msaa_depth_t image);
   15514 #endif //cl_khr_gl_msaa_sharing
   15515 
   15516 int __ovld __cnfn get_image_height(write_only image2d_t image);
   15517 #ifdef cl_khr_3d_image_writes
   15518 int __ovld __cnfn get_image_height(write_only image3d_t image);
   15519 #endif
   15520 int __ovld __cnfn get_image_height(write_only image2d_array_t image);
   15521 #ifdef cl_khr_depth_images
   15522 int __ovld __cnfn get_image_height(write_only image2d_depth_t image);
   15523 int __ovld __cnfn get_image_height(write_only image2d_array_depth_t image);
   15524 #endif //cl_khr_depth_images
   15525 #if defined(cl_khr_gl_msaa_sharing)
   15526 int __ovld __cnfn get_image_height(write_only image2d_msaa_t image);
   15527 int __ovld __cnfn get_image_height(write_only image2d_msaa_depth_t image);
   15528 int __ovld __cnfn get_image_height(write_only image2d_array_msaa_t image);
   15529 int __ovld __cnfn get_image_height(write_only image2d_array_msaa_depth_t image);
   15530 #endif //cl_khr_gl_msaa_sharing
   15531 
   15532 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15533 int __ovld __cnfn get_image_height(read_write image2d_t image);
   15534 int __ovld __cnfn get_image_height(read_write image3d_t image);
   15535 int __ovld __cnfn get_image_height(read_write image2d_array_t image);
   15536 #ifdef cl_khr_depth_images
   15537 int __ovld __cnfn get_image_height(read_write image2d_depth_t image);
   15538 int __ovld __cnfn get_image_height(read_write image2d_array_depth_t image);
   15539 #endif //cl_khr_depth_images
   15540 #if defined(cl_khr_gl_msaa_sharing)
   15541 int __ovld __cnfn get_image_height(read_write image2d_msaa_t image);
   15542 int __ovld __cnfn get_image_height(read_write image2d_msaa_depth_t image);
   15543 int __ovld __cnfn get_image_height(read_write image2d_array_msaa_t image);
   15544 int __ovld __cnfn get_image_height(read_write image2d_array_msaa_depth_t image);
   15545 #endif //cl_khr_gl_msaa_sharing
   15546 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15547 
   15548 /**
   15549  * Return the image depth in pixels.
   15550  */
   15551 int __ovld __cnfn get_image_depth(read_only image3d_t image);
   15552 
   15553 #ifdef cl_khr_3d_image_writes
   15554 int __ovld __cnfn get_image_depth(write_only image3d_t image);
   15555 #endif
   15556 
   15557 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15558 int __ovld __cnfn get_image_depth(read_write image3d_t image);
   15559 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15560 
   15561 // OpenCL Extension v2.0 s9.18 - Mipmaps
   15562 #ifdef cl_khr_mipmap_image
   15563 /**
   15564  * Return the image miplevels.
   15565  */
   15566 
   15567 int __ovld get_image_num_mip_levels(read_only image1d_t image);
   15568 int __ovld get_image_num_mip_levels(read_only image2d_t image);
   15569 int __ovld get_image_num_mip_levels(read_only image3d_t image);
   15570 
   15571 int __ovld get_image_num_mip_levels(write_only image1d_t image);
   15572 int __ovld get_image_num_mip_levels(write_only image2d_t image);
   15573 #ifdef cl_khr_3d_image_writes
   15574 int __ovld get_image_num_mip_levels(write_only image3d_t image);
   15575 #endif
   15576 
   15577 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15578 int __ovld get_image_num_mip_levels(read_write image1d_t image);
   15579 int __ovld get_image_num_mip_levels(read_write image2d_t image);
   15580 int __ovld get_image_num_mip_levels(read_write image3d_t image);
   15581 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15582 
   15583 int __ovld get_image_num_mip_levels(read_only image1d_array_t image);
   15584 int __ovld get_image_num_mip_levels(read_only image2d_array_t image);
   15585 int __ovld get_image_num_mip_levels(read_only image2d_array_depth_t image);
   15586 int __ovld get_image_num_mip_levels(read_only image2d_depth_t image);
   15587 
   15588 int __ovld get_image_num_mip_levels(write_only image1d_array_t image);
   15589 int __ovld get_image_num_mip_levels(write_only image2d_array_t image);
   15590 int __ovld get_image_num_mip_levels(write_only image2d_array_depth_t image);
   15591 int __ovld get_image_num_mip_levels(write_only image2d_depth_t image);
   15592 
   15593 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15594 int __ovld get_image_num_mip_levels(read_write image1d_array_t image);
   15595 int __ovld get_image_num_mip_levels(read_write image2d_array_t image);
   15596 int __ovld get_image_num_mip_levels(read_write image2d_array_depth_t image);
   15597 int __ovld get_image_num_mip_levels(read_write image2d_depth_t image);
   15598 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15599 
   15600 #endif //cl_khr_mipmap_image
   15601 
   15602 /**
   15603  * Return the channel data type. Valid values are:
   15604  * CLK_SNORM_INT8
   15605  * CLK_SNORM_INT16
   15606  * CLK_UNORM_INT8
   15607  * CLK_UNORM_INT16
   15608  * CLK_UNORM_SHORT_565
   15609  * CLK_UNORM_SHORT_555
   15610  * CLK_UNORM_SHORT_101010
   15611  * CLK_SIGNED_INT8
   15612  * CLK_SIGNED_INT16
   15613  * CLK_SIGNED_INT32
   15614  * CLK_UNSIGNED_INT8
   15615  * CLK_UNSIGNED_INT16
   15616  * CLK_UNSIGNED_INT32
   15617  * CLK_HALF_FLOAT
   15618  * CLK_FLOAT
   15619  */
   15620 
   15621 //
   15622 // Channel Datatype.
   15623 //
   15624 #define CLK_SNORM_INT8        0x10D0
   15625 #define CLK_SNORM_INT16       0x10D1
   15626 #define CLK_UNORM_INT8        0x10D2
   15627 #define CLK_UNORM_INT16       0x10D3
   15628 #define CLK_UNORM_SHORT_565   0x10D4
   15629 #define CLK_UNORM_SHORT_555   0x10D5
   15630 #define CLK_UNORM_INT_101010  0x10D6
   15631 #define CLK_SIGNED_INT8       0x10D7
   15632 #define CLK_SIGNED_INT16      0x10D8
   15633 #define CLK_SIGNED_INT32      0x10D9
   15634 #define CLK_UNSIGNED_INT8     0x10DA
   15635 #define CLK_UNSIGNED_INT16    0x10DB
   15636 #define CLK_UNSIGNED_INT32    0x10DC
   15637 #define CLK_HALF_FLOAT        0x10DD
   15638 #define CLK_FLOAT             0x10DE
   15639 #define CLK_UNORM_INT24       0x10DF
   15640 
   15641 int __ovld __cnfn get_image_channel_data_type(read_only image1d_t image);
   15642 int __ovld __cnfn get_image_channel_data_type(read_only image1d_buffer_t image);
   15643 int __ovld __cnfn get_image_channel_data_type(read_only image2d_t image);
   15644 int __ovld __cnfn get_image_channel_data_type(read_only image3d_t image);
   15645 int __ovld __cnfn get_image_channel_data_type(read_only image1d_array_t image);
   15646 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_t image);
   15647 #ifdef cl_khr_depth_images
   15648 int __ovld __cnfn get_image_channel_data_type(read_only image2d_depth_t image);
   15649 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_depth_t image);
   15650 #endif //cl_khr_depth_images
   15651 #if defined(cl_khr_gl_msaa_sharing)
   15652 int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_t image);
   15653 int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_depth_t image);
   15654 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_t image);
   15655 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_depth_t image);
   15656 #endif //cl_khr_gl_msaa_sharing
   15657 
   15658 int __ovld __cnfn get_image_channel_data_type(write_only image1d_t image);
   15659 int __ovld __cnfn get_image_channel_data_type(write_only image1d_buffer_t image);
   15660 int __ovld __cnfn get_image_channel_data_type(write_only image2d_t image);
   15661 #ifdef cl_khr_3d_image_writes
   15662 int __ovld __cnfn get_image_channel_data_type(write_only image3d_t image);
   15663 #endif
   15664 int __ovld __cnfn get_image_channel_data_type(write_only image1d_array_t image);
   15665 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_t image);
   15666 #ifdef cl_khr_depth_images
   15667 int __ovld __cnfn get_image_channel_data_type(write_only image2d_depth_t image);
   15668 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_depth_t image);
   15669 #endif //cl_khr_depth_images
   15670 #if defined(cl_khr_gl_msaa_sharing)
   15671 int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_t image);
   15672 int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_depth_t image);
   15673 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_t image);
   15674 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_depth_t image);
   15675 #endif //cl_khr_gl_msaa_sharing
   15676 
   15677 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15678 int __ovld __cnfn get_image_channel_data_type(read_write image1d_t image);
   15679 int __ovld __cnfn get_image_channel_data_type(read_write image1d_buffer_t image);
   15680 int __ovld __cnfn get_image_channel_data_type(read_write image2d_t image);
   15681 int __ovld __cnfn get_image_channel_data_type(read_write image3d_t image);
   15682 int __ovld __cnfn get_image_channel_data_type(read_write image1d_array_t image);
   15683 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_t image);
   15684 #ifdef cl_khr_depth_images
   15685 int __ovld __cnfn get_image_channel_data_type(read_write image2d_depth_t image);
   15686 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_depth_t image);
   15687 #endif //cl_khr_depth_images
   15688 #if defined(cl_khr_gl_msaa_sharing)
   15689 int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_t image);
   15690 int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_depth_t image);
   15691 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_t image);
   15692 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_depth_t image);
   15693 #endif //cl_khr_gl_msaa_sharing
   15694 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15695 
   15696 /**
   15697  * Return the image channel order. Valid values are:
   15698  * CLK_A
   15699  * CLK_R
   15700  * CLK_Rx
   15701  * CLK_RG
   15702  * CLK_RGx
   15703  * CLK_RA
   15704  * CLK_RGB
   15705  * CLK_RGBx
   15706  * CLK_RGBA
   15707  * CLK_ARGB
   15708  * CLK_BGRA
   15709  * CLK_INTENSITY
   15710  * CLK_LUMINANCE
   15711  */
   15712 // Channel order, numbering must be aligned with cl_channel_order in cl.h
   15713 //
   15714 #define CLK_R         0x10B0
   15715 #define CLK_A         0x10B1
   15716 #define CLK_RG        0x10B2
   15717 #define CLK_RA        0x10B3
   15718 #define CLK_RGB       0x10B4
   15719 #define CLK_RGBA      0x10B5
   15720 #define CLK_BGRA      0x10B6
   15721 #define CLK_ARGB      0x10B7
   15722 #define CLK_INTENSITY 0x10B8
   15723 #define CLK_LUMINANCE 0x10B9
   15724 #define CLK_Rx                0x10BA
   15725 #define CLK_RGx               0x10BB
   15726 #define CLK_RGBx              0x10BC
   15727 #define CLK_DEPTH             0x10BD
   15728 #define CLK_DEPTH_STENCIL     0x10BE
   15729 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15730 #define CLK_sRGB              0x10BF
   15731 #define CLK_sRGBA             0x10C1
   15732 #define CLK_sRGBx             0x10C0
   15733 #define CLK_sBGRA             0x10C2
   15734 #define CLK_ABGR              0x10C3
   15735 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15736 
   15737 int __ovld __cnfn get_image_channel_order(read_only image1d_t image);
   15738 int __ovld __cnfn get_image_channel_order(read_only image1d_buffer_t image);
   15739 int __ovld __cnfn get_image_channel_order(read_only image2d_t image);
   15740 int __ovld __cnfn get_image_channel_order(read_only image3d_t image);
   15741 int __ovld __cnfn get_image_channel_order(read_only image1d_array_t image);
   15742 int __ovld __cnfn get_image_channel_order(read_only image2d_array_t image);
   15743 #ifdef cl_khr_depth_images
   15744 int __ovld __cnfn get_image_channel_order(read_only image2d_depth_t image);
   15745 int __ovld __cnfn get_image_channel_order(read_only image2d_array_depth_t image);
   15746 #endif //cl_khr_depth_images
   15747 #if defined(cl_khr_gl_msaa_sharing)
   15748 int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_t image);
   15749 int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_depth_t image);
   15750 int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_t image);
   15751 int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_depth_t image);
   15752 #endif //cl_khr_gl_msaa_sharing
   15753 
   15754 int __ovld __cnfn get_image_channel_order(write_only image1d_t image);
   15755 int __ovld __cnfn get_image_channel_order(write_only image1d_buffer_t image);
   15756 int __ovld __cnfn get_image_channel_order(write_only image2d_t image);
   15757 #ifdef cl_khr_3d_image_writes
   15758 int __ovld __cnfn get_image_channel_order(write_only image3d_t image);
   15759 #endif
   15760 int __ovld __cnfn get_image_channel_order(write_only image1d_array_t image);
   15761 int __ovld __cnfn get_image_channel_order(write_only image2d_array_t image);
   15762 #ifdef cl_khr_depth_images
   15763 int __ovld __cnfn get_image_channel_order(write_only image2d_depth_t image);
   15764 int __ovld __cnfn get_image_channel_order(write_only image2d_array_depth_t image);
   15765 #endif //cl_khr_depth_images
   15766 #if defined(cl_khr_gl_msaa_sharing)
   15767 int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_t image);
   15768 int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_depth_t image);
   15769 int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_t image);
   15770 int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_depth_t image);
   15771 #endif //cl_khr_gl_msaa_sharing
   15772 
   15773 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15774 int __ovld __cnfn get_image_channel_order(read_write image1d_t image);
   15775 int __ovld __cnfn get_image_channel_order(read_write image1d_buffer_t image);
   15776 int __ovld __cnfn get_image_channel_order(read_write image2d_t image);
   15777 int __ovld __cnfn get_image_channel_order(read_write image3d_t image);
   15778 int __ovld __cnfn get_image_channel_order(read_write image1d_array_t image);
   15779 int __ovld __cnfn get_image_channel_order(read_write image2d_array_t image);
   15780 #ifdef cl_khr_depth_images
   15781 int __ovld __cnfn get_image_channel_order(read_write image2d_depth_t image);
   15782 int __ovld __cnfn get_image_channel_order(read_write image2d_array_depth_t image);
   15783 #endif //cl_khr_depth_images
   15784 #if defined(cl_khr_gl_msaa_sharing)
   15785 int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_t image);
   15786 int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_depth_t image);
   15787 int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_t image);
   15788 int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_depth_t image);
   15789 #endif //cl_khr_gl_msaa_sharing
   15790 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15791 
   15792 /**
   15793  * Return the 2D image width and height as an int2
   15794  * type. The width is returned in the x component, and
   15795  * the height in the y component.
   15796  */
   15797 int2 __ovld __cnfn get_image_dim(read_only image2d_t image);
   15798 int2 __ovld __cnfn get_image_dim(read_only image2d_array_t image);
   15799 #ifdef cl_khr_depth_images
   15800 int2 __ovld __cnfn get_image_dim(read_only image2d_array_depth_t image);
   15801 int2 __ovld __cnfn get_image_dim(read_only image2d_depth_t image);
   15802 #endif //cl_khr_depth_images
   15803 #if defined(cl_khr_gl_msaa_sharing)
   15804 int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_t image);
   15805 int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_depth_t image);
   15806 int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_t image);
   15807 int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_depth_t image);
   15808 #endif //cl_khr_gl_msaa_sharing
   15809 
   15810 int2 __ovld __cnfn get_image_dim(write_only image2d_t image);
   15811 int2 __ovld __cnfn get_image_dim(write_only image2d_array_t image);
   15812 #ifdef cl_khr_depth_images
   15813 int2 __ovld __cnfn get_image_dim(write_only image2d_array_depth_t image);
   15814 int2 __ovld __cnfn get_image_dim(write_only image2d_depth_t image);
   15815 #endif //cl_khr_depth_images
   15816 #if defined(cl_khr_gl_msaa_sharing)
   15817 int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_t image);
   15818 int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_depth_t image);
   15819 int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_t image);
   15820 int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_depth_t image);
   15821 #endif //cl_khr_gl_msaa_sharing
   15822 
   15823 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15824 int2 __ovld __cnfn get_image_dim(read_write image2d_t image);
   15825 int2 __ovld __cnfn get_image_dim(read_write image2d_array_t image);
   15826 #ifdef cl_khr_depth_images
   15827 int2 __ovld __cnfn get_image_dim(read_write image2d_array_depth_t image);
   15828 int2 __ovld __cnfn get_image_dim(read_write image2d_depth_t image);
   15829 #endif //cl_khr_depth_images
   15830 #if defined(cl_khr_gl_msaa_sharing)
   15831 int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_t image);
   15832 int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_depth_t image);
   15833 int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_t image);
   15834 int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_depth_t image);
   15835 #endif //cl_khr_gl_msaa_sharing
   15836 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15837 
   15838 /**
   15839  * Return the 3D image width, height, and depth as an
   15840  * int4 type. The width is returned in the x
   15841  * component, height in the y component, depth in the z
   15842  * component and the w component is 0.
   15843  */
   15844 int4 __ovld __cnfn get_image_dim(read_only image3d_t image);
   15845 #ifdef cl_khr_3d_image_writes
   15846 int4 __ovld __cnfn get_image_dim(write_only image3d_t image);
   15847 #endif
   15848 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15849 int4 __ovld __cnfn get_image_dim(read_write image3d_t image);
   15850 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15851 
   15852 /**
   15853  * Return the image array size.
   15854  */
   15855 
   15856 size_t __ovld __cnfn get_image_array_size(read_only image1d_array_t image_array);
   15857 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_t image_array);
   15858 #ifdef cl_khr_depth_images
   15859 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_depth_t image_array);
   15860 #endif //cl_khr_depth_images
   15861 #if defined(cl_khr_gl_msaa_sharing)
   15862 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_t image_array);
   15863 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_depth_t image_array);
   15864 #endif //cl_khr_gl_msaa_sharing
   15865 
   15866 size_t __ovld __cnfn get_image_array_size(write_only image1d_array_t image_array);
   15867 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_t image_array);
   15868 #ifdef cl_khr_depth_images
   15869 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_depth_t image_array);
   15870 #endif //cl_khr_depth_images
   15871 #if defined(cl_khr_gl_msaa_sharing)
   15872 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_t image_array);
   15873 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_depth_t image_array);
   15874 #endif //cl_khr_gl_msaa_sharing
   15875 
   15876 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15877 size_t __ovld __cnfn get_image_array_size(read_write image1d_array_t image_array);
   15878 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_t image_array);
   15879 #ifdef cl_khr_depth_images
   15880 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_depth_t image_array);
   15881 #endif //cl_khr_depth_images
   15882 #if defined(cl_khr_gl_msaa_sharing)
   15883 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_t image_array);
   15884 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_depth_t image_array);
   15885 #endif //cl_khr_gl_msaa_sharing
   15886 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15887 
   15888 /**
   15889 * Return the number of samples associated with image
   15890 */
   15891 #if defined(cl_khr_gl_msaa_sharing)
   15892 int __ovld get_image_num_samples(read_only image2d_msaa_t image);
   15893 int __ovld get_image_num_samples(read_only image2d_msaa_depth_t image);
   15894 int __ovld get_image_num_samples(read_only image2d_array_msaa_depth_t image);
   15895 int __ovld get_image_num_samples(read_only image2d_array_msaa_t image);
   15896 int __ovld get_image_num_samples(read_only image2d_array_msaa_depth_t image);
   15897 
   15898 int __ovld get_image_num_samples(write_only image2d_msaa_t image);
   15899 int __ovld get_image_num_samples(write_only image2d_msaa_depth_t image);
   15900 int __ovld get_image_num_samples(write_only image2d_array_msaa_depth_t image);
   15901 int __ovld get_image_num_samples(write_only image2d_array_msaa_t image);
   15902 int __ovld get_image_num_samples(write_only image2d_array_msaa_depth_t image);
   15903 
   15904 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15905 int __ovld get_image_num_samples(read_write image2d_msaa_t image);
   15906 int __ovld get_image_num_samples(read_write image2d_msaa_depth_t image);
   15907 int __ovld get_image_num_samples(read_write image2d_array_msaa_depth_t image);
   15908 int __ovld get_image_num_samples(read_write image2d_array_msaa_t image);
   15909 int __ovld get_image_num_samples(read_write image2d_array_msaa_depth_t image);
   15910 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15911 #endif
   15912 
   15913 // OpenCL v2.0 s6.13.15 - Work-group Functions
   15914 
   15915 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15916 int __ovld __conv work_group_all(int predicate);
   15917 int __ovld __conv work_group_any(int predicate);
   15918 
   15919 #ifdef cl_khr_fp16
   15920 half __ovld __conv work_group_broadcast(half a, size_t local_id);
   15921 half __ovld __conv work_group_broadcast(half a, size_t x, size_t y);
   15922 half __ovld __conv work_group_broadcast(half a, size_t x, size_t y, size_t z);
   15923 #endif
   15924 int __ovld __conv work_group_broadcast(int a, size_t local_id);
   15925 int __ovld __conv work_group_broadcast(int a, size_t x, size_t y);
   15926 int __ovld __conv work_group_broadcast(int a, size_t x, size_t y, size_t z);
   15927 uint __ovld __conv work_group_broadcast(uint a, size_t local_id);
   15928 uint __ovld __conv work_group_broadcast(uint a, size_t x, size_t y);
   15929 uint __ovld __conv work_group_broadcast(uint a, size_t x, size_t y, size_t z);
   15930 long __ovld __conv work_group_broadcast(long a, size_t local_id);
   15931 long __ovld __conv work_group_broadcast(long a, size_t x, size_t y);
   15932 long __ovld __conv work_group_broadcast(long a, size_t x, size_t y, size_t z);
   15933 ulong __ovld __conv work_group_broadcast(ulong a, size_t local_id);
   15934 ulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y);
   15935 ulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y, size_t z);
   15936 float __ovld __conv work_group_broadcast(float a, size_t local_id);
   15937 float __ovld __conv work_group_broadcast(float a, size_t x, size_t y);
   15938 float __ovld __conv work_group_broadcast(float a, size_t x, size_t y, size_t z);
   15939 #ifdef cl_khr_fp64
   15940 double __ovld __conv work_group_broadcast(double a, size_t local_id);
   15941 double __ovld __conv work_group_broadcast(double a, size_t x, size_t y);
   15942 double __ovld __conv work_group_broadcast(double a, size_t x, size_t y, size_t z);
   15943 #endif //cl_khr_fp64
   15944 
   15945 #ifdef cl_khr_fp16
   15946 half __ovld __conv work_group_reduce_add(half x);
   15947 half __ovld __conv work_group_reduce_min(half x);
   15948 half __ovld __conv work_group_reduce_max(half x);
   15949 half __ovld __conv work_group_scan_exclusive_add(half x);
   15950 half __ovld __conv work_group_scan_exclusive_min(half x);
   15951 half __ovld __conv work_group_scan_exclusive_max(half x);
   15952 half __ovld __conv work_group_scan_inclusive_add(half x);
   15953 half __ovld __conv work_group_scan_inclusive_min(half x);
   15954 half __ovld __conv work_group_scan_inclusive_max(half x);
   15955 #endif
   15956 int __ovld __conv work_group_reduce_add(int x);
   15957 int __ovld __conv work_group_reduce_min(int x);
   15958 int __ovld __conv work_group_reduce_max(int x);
   15959 int __ovld __conv work_group_scan_exclusive_add(int x);
   15960 int __ovld __conv work_group_scan_exclusive_min(int x);
   15961 int __ovld __conv work_group_scan_exclusive_max(int x);
   15962 int __ovld __conv work_group_scan_inclusive_add(int x);
   15963 int __ovld __conv work_group_scan_inclusive_min(int x);
   15964 int __ovld __conv work_group_scan_inclusive_max(int x);
   15965 uint __ovld __conv work_group_reduce_add(uint x);
   15966 uint __ovld __conv work_group_reduce_min(uint x);
   15967 uint __ovld __conv work_group_reduce_max(uint x);
   15968 uint __ovld __conv work_group_scan_exclusive_add(uint x);
   15969 uint __ovld __conv work_group_scan_exclusive_min(uint x);
   15970 uint __ovld __conv work_group_scan_exclusive_max(uint x);
   15971 uint __ovld __conv work_group_scan_inclusive_add(uint x);
   15972 uint __ovld __conv work_group_scan_inclusive_min(uint x);
   15973 uint __ovld __conv work_group_scan_inclusive_max(uint x);
   15974 long __ovld __conv work_group_reduce_add(long x);
   15975 long __ovld __conv work_group_reduce_min(long x);
   15976 long __ovld __conv work_group_reduce_max(long x);
   15977 long __ovld __conv work_group_scan_exclusive_add(long x);
   15978 long __ovld __conv work_group_scan_exclusive_min(long x);
   15979 long __ovld __conv work_group_scan_exclusive_max(long x);
   15980 long __ovld __conv work_group_scan_inclusive_add(long x);
   15981 long __ovld __conv work_group_scan_inclusive_min(long x);
   15982 long __ovld __conv work_group_scan_inclusive_max(long x);
   15983 ulong __ovld __conv work_group_reduce_add(ulong x);
   15984 ulong __ovld __conv work_group_reduce_min(ulong x);
   15985 ulong __ovld __conv work_group_reduce_max(ulong x);
   15986 ulong __ovld __conv work_group_scan_exclusive_add(ulong x);
   15987 ulong __ovld __conv work_group_scan_exclusive_min(ulong x);
   15988 ulong __ovld __conv work_group_scan_exclusive_max(ulong x);
   15989 ulong __ovld __conv work_group_scan_inclusive_add(ulong x);
   15990 ulong __ovld __conv work_group_scan_inclusive_min(ulong x);
   15991 ulong __ovld __conv work_group_scan_inclusive_max(ulong x);
   15992 float __ovld __conv work_group_reduce_add(float x);
   15993 float __ovld __conv work_group_reduce_min(float x);
   15994 float __ovld __conv work_group_reduce_max(float x);
   15995 float __ovld __conv work_group_scan_exclusive_add(float x);
   15996 float __ovld __conv work_group_scan_exclusive_min(float x);
   15997 float __ovld __conv work_group_scan_exclusive_max(float x);
   15998 float __ovld __conv work_group_scan_inclusive_add(float x);
   15999 float __ovld __conv work_group_scan_inclusive_min(float x);
   16000 float __ovld __conv work_group_scan_inclusive_max(float x);
   16001 #ifdef cl_khr_fp64
   16002 double __ovld __conv work_group_reduce_add(double x);
   16003 double __ovld __conv work_group_reduce_min(double x);
   16004 double __ovld __conv work_group_reduce_max(double x);
   16005 double __ovld __conv work_group_scan_exclusive_add(double x);
   16006 double __ovld __conv work_group_scan_exclusive_min(double x);
   16007 double __ovld __conv work_group_scan_exclusive_max(double x);
   16008 double __ovld __conv work_group_scan_inclusive_add(double x);
   16009 double __ovld __conv work_group_scan_inclusive_min(double x);
   16010 double __ovld __conv work_group_scan_inclusive_max(double x);
   16011 #endif //cl_khr_fp64
   16012 
   16013 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16014 
   16015 // OpenCL v2.0 s6.13.16 - Pipe Functions
   16016 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16017 #define PIPE_RESERVE_ID_VALID_BIT (1U << 30)
   16018 #define CLK_NULL_RESERVE_ID (__builtin_astype(((void*)(__SIZE_MAX__)), reserve_id_t))
   16019 bool __ovld is_valid_reserve_id(reserve_id_t reserve_id);
   16020 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16021 
   16022 
   16023 // OpenCL v2.0 s6.13.17 - Enqueue Kernels
   16024 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16025 
   16026 #define CL_COMPLETE                                 0x0
   16027 #define CL_RUNNING                                  0x1
   16028 #define CL_SUBMITTED                                0x2
   16029 #define CL_QUEUED                                   0x3
   16030 
   16031 #define CLK_SUCCESS                                 0
   16032 #define CLK_ENQUEUE_FAILURE                         -101
   16033 #define CLK_INVALID_QUEUE                           -102
   16034 #define CLK_INVALID_NDRANGE                         -160
   16035 #define CLK_INVALID_EVENT_WAIT_LIST                 -57
   16036 #define CLK_DEVICE_QUEUE_FULL                       -161
   16037 #define CLK_INVALID_ARG_SIZE                        -51
   16038 #define CLK_EVENT_ALLOCATION_FAILURE                -100
   16039 #define CLK_OUT_OF_RESOURCES                        -5
   16040 
   16041 #define CLK_NULL_QUEUE                              0
   16042 #define CLK_NULL_EVENT (__builtin_astype(((void*)(__SIZE_MAX__)), clk_event_t))
   16043 
   16044 // execution model related definitions
   16045 #define CLK_ENQUEUE_FLAGS_NO_WAIT                   0x0
   16046 #define CLK_ENQUEUE_FLAGS_WAIT_KERNEL               0x1
   16047 #define CLK_ENQUEUE_FLAGS_WAIT_WORK_GROUP           0x2
   16048 
   16049 typedef int kernel_enqueue_flags_t;
   16050 typedef int clk_profiling_info;
   16051 
   16052 // Profiling info name (see capture_event_profiling_info)
   16053 #define CLK_PROFILING_COMMAND_EXEC_TIME 0x1
   16054 
   16055 #define MAX_WORK_DIM        3
   16056 
   16057 typedef struct {
   16058     unsigned int workDimension;
   16059     size_t globalWorkOffset[MAX_WORK_DIM];
   16060     size_t globalWorkSize[MAX_WORK_DIM];
   16061     size_t localWorkSize[MAX_WORK_DIM];
   16062 } ndrange_t;
   16063 
   16064 ndrange_t __ovld ndrange_1D(size_t);
   16065 ndrange_t __ovld ndrange_1D(size_t, size_t);
   16066 ndrange_t __ovld ndrange_1D(size_t, size_t, size_t);
   16067 
   16068 ndrange_t __ovld ndrange_2D(const size_t[2]);
   16069 ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2]);
   16070 ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2], const size_t[2]);
   16071 
   16072 ndrange_t __ovld ndrange_3D(const size_t[3]);
   16073 ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3]);
   16074 ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3], const size_t[3]);
   16075 
   16076 int __ovld enqueue_marker(queue_t, uint, const __private clk_event_t*, __private clk_event_t*);
   16077 
   16078 void __ovld retain_event(clk_event_t);
   16079 
   16080 void __ovld release_event(clk_event_t);
   16081 
   16082 clk_event_t __ovld create_user_event(void);
   16083 
   16084 void __ovld set_user_event_status(clk_event_t e, int state);
   16085 
   16086 bool __ovld is_valid_event (clk_event_t event);
   16087 
   16088 void __ovld capture_event_profiling_info(clk_event_t, clk_profiling_info, __global void* value);
   16089 
   16090 queue_t __ovld get_default_queue(void);
   16091 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16092 
   16093 // OpenCL Extension v2.0 s9.17 - Sub-groups
   16094 
   16095 #if defined(cl_intel_subgroups) || defined(cl_khr_subgroups)
   16096 // Shared Sub Group Functions
   16097 uint    __ovld get_sub_group_size(void);
   16098 uint    __ovld get_max_sub_group_size(void);
   16099 uint    __ovld get_num_sub_groups(void);
   16100 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16101 uint    __ovld get_enqueued_num_sub_groups(void);
   16102 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16103 uint    __ovld get_sub_group_id(void);
   16104 uint    __ovld get_sub_group_local_id(void);
   16105 
   16106 void    __ovld __conv sub_group_barrier(cl_mem_fence_flags flags);
   16107 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16108 void    __ovld __conv sub_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
   16109 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16110 
   16111 int     __ovld __conv sub_group_all(int predicate);
   16112 int     __ovld __conv sub_group_any(int predicate);
   16113 
   16114 int     __ovld __conv sub_group_broadcast(int   x, uint sub_group_local_id);
   16115 uint    __ovld __conv sub_group_broadcast(uint  x, uint sub_group_local_id);
   16116 long    __ovld __conv sub_group_broadcast(long  x, uint sub_group_local_id);
   16117 ulong   __ovld __conv sub_group_broadcast(ulong x, uint sub_group_local_id);
   16118 float   __ovld __conv sub_group_broadcast(float x, uint sub_group_local_id);
   16119 
   16120 int     __ovld __conv sub_group_reduce_add(int   x);
   16121 uint    __ovld __conv sub_group_reduce_add(uint  x);
   16122 long    __ovld __conv sub_group_reduce_add(long  x);
   16123 ulong   __ovld __conv sub_group_reduce_add(ulong x);
   16124 float   __ovld __conv sub_group_reduce_add(float x);
   16125 int     __ovld __conv sub_group_reduce_min(int   x);
   16126 uint    __ovld __conv sub_group_reduce_min(uint  x);
   16127 long    __ovld __conv sub_group_reduce_min(long  x);
   16128 ulong   __ovld __conv sub_group_reduce_min(ulong x);
   16129 float   __ovld __conv sub_group_reduce_min(float x);
   16130 int     __ovld __conv sub_group_reduce_max(int   x);
   16131 uint    __ovld __conv sub_group_reduce_max(uint  x);
   16132 long    __ovld __conv sub_group_reduce_max(long  x);
   16133 ulong   __ovld __conv sub_group_reduce_max(ulong x);
   16134 float   __ovld __conv sub_group_reduce_max(float x);
   16135 
   16136 int     __ovld __conv sub_group_scan_exclusive_add(int   x);
   16137 uint    __ovld __conv sub_group_scan_exclusive_add(uint  x);
   16138 long    __ovld __conv sub_group_scan_exclusive_add(long  x);
   16139 ulong   __ovld __conv sub_group_scan_exclusive_add(ulong x);
   16140 float   __ovld __conv sub_group_scan_exclusive_add(float x);
   16141 int     __ovld __conv sub_group_scan_exclusive_min(int   x);
   16142 uint    __ovld __conv sub_group_scan_exclusive_min(uint  x);
   16143 long    __ovld __conv sub_group_scan_exclusive_min(long  x);
   16144 ulong   __ovld __conv sub_group_scan_exclusive_min(ulong x);
   16145 float   __ovld __conv sub_group_scan_exclusive_min(float x);
   16146 int     __ovld __conv sub_group_scan_exclusive_max(int   x);
   16147 uint    __ovld __conv sub_group_scan_exclusive_max(uint  x);
   16148 long    __ovld __conv sub_group_scan_exclusive_max(long  x);
   16149 ulong   __ovld __conv sub_group_scan_exclusive_max(ulong x);
   16150 float   __ovld __conv sub_group_scan_exclusive_max(float x);
   16151 
   16152 int     __ovld __conv sub_group_scan_inclusive_add(int   x);
   16153 uint    __ovld __conv sub_group_scan_inclusive_add(uint  x);
   16154 long    __ovld __conv sub_group_scan_inclusive_add(long  x);
   16155 ulong   __ovld __conv sub_group_scan_inclusive_add(ulong x);
   16156 float   __ovld __conv sub_group_scan_inclusive_add(float x);
   16157 int     __ovld __conv sub_group_scan_inclusive_min(int   x);
   16158 uint    __ovld __conv sub_group_scan_inclusive_min(uint  x);
   16159 long    __ovld __conv sub_group_scan_inclusive_min(long  x);
   16160 ulong   __ovld __conv sub_group_scan_inclusive_min(ulong x);
   16161 float   __ovld __conv sub_group_scan_inclusive_min(float x);
   16162 int     __ovld __conv sub_group_scan_inclusive_max(int   x);
   16163 uint    __ovld __conv sub_group_scan_inclusive_max(uint  x);
   16164 long    __ovld __conv sub_group_scan_inclusive_max(long  x);
   16165 ulong   __ovld __conv sub_group_scan_inclusive_max(ulong x);
   16166 float   __ovld __conv sub_group_scan_inclusive_max(float x);
   16167 
   16168 #ifdef cl_khr_fp16
   16169 half    __ovld __conv sub_group_broadcast(half x, uint sub_group_local_id);
   16170 half    __ovld __conv sub_group_reduce_add(half x);
   16171 half    __ovld __conv sub_group_reduce_min(half x);
   16172 half    __ovld __conv sub_group_reduce_max(half x);
   16173 half    __ovld __conv sub_group_scan_exclusive_add(half x);
   16174 half    __ovld __conv sub_group_scan_exclusive_min(half x);
   16175 half    __ovld __conv sub_group_scan_exclusive_max(half x);
   16176 half    __ovld __conv sub_group_scan_inclusive_add(half x);
   16177 half    __ovld __conv sub_group_scan_inclusive_min(half x);
   16178 half    __ovld __conv sub_group_scan_inclusive_max(half x);
   16179 #endif //cl_khr_fp16
   16180 
   16181 #ifdef cl_khr_fp64
   16182 double  __ovld __conv sub_group_broadcast(double x, uint sub_group_local_id);
   16183 double  __ovld __conv sub_group_reduce_add(double x);
   16184 double  __ovld __conv sub_group_reduce_min(double x);
   16185 double  __ovld __conv sub_group_reduce_max(double x);
   16186 double  __ovld __conv sub_group_scan_exclusive_add(double x);
   16187 double  __ovld __conv sub_group_scan_exclusive_min(double x);
   16188 double  __ovld __conv sub_group_scan_exclusive_max(double x);
   16189 double  __ovld __conv sub_group_scan_inclusive_add(double x);
   16190 double  __ovld __conv sub_group_scan_inclusive_min(double x);
   16191 double  __ovld __conv sub_group_scan_inclusive_max(double x);
   16192 #endif //cl_khr_fp64
   16193 
   16194 #endif //cl_khr_subgroups cl_intel_subgroups
   16195 
   16196 #ifdef cl_amd_media_ops
   16197 uint __ovld amd_bitalign(uint a, uint b, uint c);
   16198 uint2 __ovld amd_bitalign(uint2 a, uint2 b, uint2 c);
   16199 uint3 __ovld amd_bitalign(uint3 a, uint3 b, uint3 c);
   16200 uint4 __ovld amd_bitalign(uint4 a, uint4 b, uint4 c);
   16201 uint8 __ovld amd_bitalign(uint8 a, uint8 b, uint8 c);
   16202 uint16 __ovld amd_bitalign(uint16 a, uint16 b, uint16 c);
   16203 
   16204 uint __ovld amd_bytealign(uint a, uint b, uint c);
   16205 uint2 __ovld amd_bytealign(uint2 a, uint2 b, uint2 c);
   16206 uint3 __ovld amd_bytealign(uint3 a, uint3 b, uint3 c);
   16207 uint4 __ovld amd_bytealign(uint4 a, uint4 b, uint4 c);
   16208 uint8 __ovld amd_bytealign(uint8 a, uint8 b, uint8 c);
   16209 uint16 __ovld amd_bytealign(uint16 a, uint16 b, uint16 c);
   16210 
   16211 uint __ovld amd_lerp(uint a, uint b, uint c);
   16212 uint2 __ovld amd_lerp(uint2 a, uint2 b, uint2 c);
   16213 uint3 __ovld amd_lerp(uint3 a, uint3 b, uint3 c);
   16214 uint4 __ovld amd_lerp(uint4 a, uint4 b, uint4 c);
   16215 uint8 __ovld amd_lerp(uint8 a, uint8 b, uint8 c);
   16216 uint16 __ovld amd_lerp(uint16 a, uint16 b, uint16 c);
   16217 
   16218 uint __ovld amd_pack(float4 v);
   16219 
   16220 uint __ovld amd_sad4(uint4 x, uint4 y, uint z);
   16221 
   16222 uint __ovld amd_sadhi(uint a, uint b, uint c);
   16223 uint2 __ovld amd_sadhi(uint2 a, uint2 b, uint2 c);
   16224 uint3 __ovld amd_sadhi(uint3 a, uint3 b, uint3 c);
   16225 uint4 __ovld amd_sadhi(uint4 a, uint4 b, uint4 c);
   16226 uint8 __ovld amd_sadhi(uint8 a, uint8 b, uint8 c);
   16227 uint16 __ovld amd_sadhi(uint16 a, uint16 b, uint16 c);
   16228 
   16229 uint __ovld amd_sad(uint a, uint b, uint c);
   16230 uint2 __ovld amd_sad(uint2 a, uint2 b, uint2 c);
   16231 uint3 __ovld amd_sad(uint3 a, uint3 b, uint3 c);
   16232 uint4 __ovld amd_sad(uint4 a, uint4 b, uint4 c);
   16233 uint8 __ovld amd_sad(uint8 a, uint8 b, uint8 c);
   16234 uint16 __ovld amd_sad(uint16 a, uint16 b, uint16 c);
   16235 
   16236 float __ovld amd_unpack0(uint a);
   16237 float2 __ovld amd_unpack0(uint2 a);
   16238 float3 __ovld amd_unpack0(uint3 a);
   16239 float4 __ovld amd_unpack0(uint4 a);
   16240 float8 __ovld amd_unpack0(uint8 a);
   16241 float16 __ovld amd_unpack0(uint16 a);
   16242 
   16243 float __ovld amd_unpack1(uint a);
   16244 float2 __ovld amd_unpack1(uint2 a);
   16245 float3 __ovld amd_unpack1(uint3 a);
   16246 float4 __ovld amd_unpack1(uint4 a);
   16247 float8 __ovld amd_unpack1(uint8 a);
   16248 float16 __ovld amd_unpack1(uint16 a);
   16249 
   16250 float __ovld amd_unpack2(uint a);
   16251 float2 __ovld amd_unpack2(uint2 a);
   16252 float3 __ovld amd_unpack2(uint3 a);
   16253 float4 __ovld amd_unpack2(uint4 a);
   16254 float8 __ovld amd_unpack2(uint8 a);
   16255 float16 __ovld amd_unpack2(uint16 a);
   16256 
   16257 float __ovld amd_unpack3(uint a);
   16258 float2 __ovld amd_unpack3(uint2 a);
   16259 float3 __ovld amd_unpack3(uint3 a);
   16260 float4 __ovld amd_unpack3(uint4 a);
   16261 float8 __ovld amd_unpack3(uint8 a);
   16262 float16 __ovld amd_unpack3(uint16 a);
   16263 #endif // cl_amd_media_ops
   16264 
   16265 #ifdef cl_amd_media_ops2
   16266 int __ovld amd_bfe(int src0, uint src1, uint src2);
   16267 int2 __ovld amd_bfe(int2 src0, uint2 src1, uint2 src2);
   16268 int3 __ovld amd_bfe(int3 src0, uint3 src1, uint3 src2);
   16269 int4 __ovld amd_bfe(int4 src0, uint4 src1, uint4 src2);
   16270 int8 __ovld amd_bfe(int8 src0, uint8 src1, uint8 src2);
   16271 int16 __ovld amd_bfe(int16 src0, uint16 src1, uint16 src2);
   16272 
   16273 uint __ovld amd_bfe(uint src0, uint src1, uint src2);
   16274 uint2 __ovld amd_bfe(uint2 src0, uint2 src1, uint2 src2);
   16275 uint3 __ovld amd_bfe(uint3 src0, uint3 src1, uint3 src2);
   16276 uint4 __ovld amd_bfe(uint4 src0, uint4 src1, uint4 src2);
   16277 uint8 __ovld amd_bfe(uint8 src0, uint8 src1, uint8 src2);
   16278 uint16 __ovld amd_bfe(uint16 src0, uint16 src1, uint16 src2);
   16279 
   16280 uint __ovld amd_bfm(uint src0, uint src1);
   16281 uint2 __ovld amd_bfm(uint2 src0, uint2 src1);
   16282 uint3 __ovld amd_bfm(uint3 src0, uint3 src1);
   16283 uint4 __ovld amd_bfm(uint4 src0, uint4 src1);
   16284 uint8 __ovld amd_bfm(uint8 src0, uint8 src1);
   16285 uint16 __ovld amd_bfm(uint16 src0, uint16 src1);
   16286 
   16287 float __ovld amd_max3(float src0, float src1, float src2);
   16288 float2 __ovld amd_max3(float2 src0, float2 src1, float2 src2);
   16289 float3 __ovld amd_max3(float3 src0, float3 src1, float3 src2);
   16290 float4 __ovld amd_max3(float4 src0, float4 src1, float4 src2);
   16291 float8 __ovld amd_max3(float8 src0, float8 src1, float8 src2);
   16292 float16 __ovld amd_max3(float16 src0, float16 src1, float16 src2);
   16293 
   16294 int __ovld amd_max3(int src0, int src1, int src2);
   16295 int2 __ovld amd_max3(int2 src0, int2 src1, int2 src2);
   16296 int3 __ovld amd_max3(int3 src0, int3 src1, int3 src2);
   16297 int4 __ovld amd_max3(int4 src0, int4 src1, int4 src2);
   16298 int8 __ovld amd_max3(int8 src0, int8 src1, int8 src2);
   16299 int16 __ovld amd_max3(int16 src0, int16 src1, int16 src2);
   16300 
   16301 uint __ovld amd_max3(uint src0, uint src1, uint src2);
   16302 uint2 __ovld amd_max3(uint2 src0, uint2 src1, uint2 src2);
   16303 uint3 __ovld amd_max3(uint3 src0, uint3 src1, uint3 src2);
   16304 uint4 __ovld amd_max3(uint4 src0, uint4 src1, uint4 src2);
   16305 uint8 __ovld amd_max3(uint8 src0, uint8 src1, uint8 src2);
   16306 uint16 __ovld amd_max3(uint16 src0, uint16 src1, uint16 src2);
   16307 
   16308 float __ovld amd_median3(float src0, float src1, float src2);
   16309 float2 __ovld amd_median3(float2 src0, float2 src1, float2 src2);
   16310 float3 __ovld amd_median3(float3 src0, float3 src1, float3 src2);
   16311 float4 __ovld amd_median3(float4 src0, float4 src1, float4 src2);
   16312 float8 __ovld amd_median3(float8 src0, float8 src1, float8 src2);
   16313 float16 __ovld amd_median3(float16 src0, float16 src1, float16 src2);
   16314 
   16315 int __ovld amd_median3(int src0, int src1, int src2);
   16316 int2 __ovld amd_median3(int2 src0, int2 src1, int2 src2);
   16317 int3 __ovld amd_median3(int3 src0, int3 src1, int3 src2);
   16318 int4 __ovld amd_median3(int4 src0, int4 src1, int4 src2);
   16319 int8 __ovld amd_median3(int8 src0, int8 src1, int8 src2);
   16320 int16 __ovld amd_median3(int16 src0, int16 src1, int16 src2);
   16321 
   16322 uint __ovld amd_median3(uint src0, uint src1, uint src2);
   16323 uint2 __ovld amd_median3(uint2 src0, uint2 src1, uint2 src2);
   16324 uint3 __ovld amd_median3(uint3 src0, uint3 src1, uint3 src2);
   16325 uint4 __ovld amd_median3(uint4 src0, uint4 src1, uint4 src2);
   16326 uint8 __ovld amd_median3(uint8 src0, uint8 src1, uint8 src2);
   16327 uint16 __ovld amd_median3(uint16 src0, uint16 src1, uint16 src2);
   16328 
   16329 float __ovld amd_min3(float src0, float src1, float src);
   16330 float2 __ovld amd_min3(float2 src0, float2 src1, float2 src);
   16331 float3 __ovld amd_min3(float3 src0, float3 src1, float3 src);
   16332 float4 __ovld amd_min3(float4 src0, float4 src1, float4 src);
   16333 float8 __ovld amd_min3(float8 src0, float8 src1, float8 src);
   16334 float16 __ovld amd_min3(float16 src0, float16 src1, float16 src);
   16335 
   16336 int __ovld amd_min3(int src0, int src1, int src2);
   16337 int2 __ovld amd_min3(int2 src0, int2 src1, int2 src2);
   16338 int3 __ovld amd_min3(int3 src0, int3 src1, int3 src2);
   16339 int4 __ovld amd_min3(int4 src0, int4 src1, int4 src2);
   16340 int8 __ovld amd_min3(int8 src0, int8 src1, int8 src2);
   16341 int16 __ovld amd_min3(int16 src0, int16 src1, int16 src2);
   16342 
   16343 uint __ovld amd_min3(uint src0, uint src1, uint src2);
   16344 uint2 __ovld amd_min3(uint2 src0, uint2 src1, uint2 src2);
   16345 uint3 __ovld amd_min3(uint3 src0, uint3 src1, uint3 src2);
   16346 uint4 __ovld amd_min3(uint4 src0, uint4 src1, uint4 src2);
   16347 uint8 __ovld amd_min3(uint8 src0, uint8 src1, uint8 src2);
   16348 uint16 __ovld amd_min3(uint16 src0, uint16 src1, uint16 src2);
   16349 
   16350 ulong __ovld amd_mqsad(ulong src0, uint src1, ulong src2);
   16351 ulong2 __ovld amd_mqsad(ulong2 src0, uint2 src1, ulong2 src2);
   16352 ulong3 __ovld amd_mqsad(ulong3 src0, uint3 src1, ulong3 src2);
   16353 ulong4 __ovld amd_mqsad(ulong4 src0, uint4 src1, ulong4 src2);
   16354 ulong8 __ovld amd_mqsad(ulong8 src0, uint8 src1, ulong8 src2);
   16355 ulong16 __ovld amd_mqsad(ulong16 src0, uint16 src1, ulong16 src2);
   16356 
   16357 ulong __ovld amd_qsad(ulong src0, uint src1, ulong src2);
   16358 ulong2 __ovld amd_qsad(ulong2 src0, uint2 src1, ulong2 src2);
   16359 ulong3 __ovld amd_qsad(ulong3 src0, uint3 src1, ulong3 src2);
   16360 ulong4 __ovld amd_qsad(ulong4 src0, uint4 src1, ulong4 src2);
   16361 ulong8 __ovld amd_qsad(ulong8 src0, uint8 src1, ulong8 src2);
   16362 ulong16 __ovld amd_qsad(ulong16 src0, uint16 src1, ulong16 src2);
   16363 
   16364 uint __ovld amd_msad(uint src0, uint src1, uint src2);
   16365 uint2 __ovld amd_msad(uint2 src0, uint2 src1, uint2 src2);
   16366 uint3 __ovld amd_msad(uint3 src0, uint3 src1, uint3 src2);
   16367 uint4 __ovld amd_msad(uint4 src0, uint4 src1, uint4 src2);
   16368 uint8 __ovld amd_msad(uint8 src0, uint8 src1, uint8 src2);
   16369 uint16 __ovld amd_msad(uint16 src0, uint16 src1, uint16 src2);
   16370 
   16371 uint __ovld amd_sadd(uint src0, uint src1, uint src2);
   16372 uint2 __ovld amd_sadd(uint2 src0, uint2 src1, uint2 src2);
   16373 uint3 __ovld amd_sadd(uint3 src0, uint3 src1, uint3 src2);
   16374 uint4 __ovld amd_sadd(uint4 src0, uint4 src1, uint4 src2);
   16375 uint8 __ovld amd_sadd(uint8 src0, uint8 src1, uint8 src2);
   16376 uint16 __ovld amd_sadd(uint16 src0, uint16 src1, uint16 src2);
   16377 
   16378 uint __ovld amd_sadw(uint src0, uint src1, uint src2);
   16379 uint2 __ovld amd_sadw(uint2 src0, uint2 src1, uint2 src2);
   16380 uint3 __ovld amd_sadw(uint3 src0, uint3 src1, uint3 src2);
   16381 uint4 __ovld amd_sadw(uint4 src0, uint4 src1, uint4 src2);
   16382 uint8 __ovld amd_sadw(uint8 src0, uint8 src1, uint8 src2);
   16383 uint16 __ovld amd_sadw(uint16 src0, uint16 src1, uint16 src2);
   16384 #endif // cl_amd_media_ops2
   16385 
   16386 // Disable any extensions we may have enabled previously.
   16387 #pragma OPENCL EXTENSION all : disable
   16388 
   16389 #undef __cnfn
   16390 #undef __ovld
   16391 #endif //_OPENCL_H_
   16392