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  * b and a must have the same type.
   11385  * c must have the same number of elements and bits as a.
   11386  */
   11387 char __ovld __cnfn select(char a, char b, char c);
   11388 uchar __ovld __cnfn select(uchar a, uchar b, char c);
   11389 char2 __ovld __cnfn select(char2 a, char2 b, char2 c);
   11390 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, char2 c);
   11391 char3 __ovld __cnfn select(char3 a, char3 b, char3 c);
   11392 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, char3 c);
   11393 char4 __ovld __cnfn select(char4 a, char4 b, char4 c);
   11394 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, char4 c);
   11395 char8 __ovld __cnfn select(char8 a, char8 b, char8 c);
   11396 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, char8 c);
   11397 char16 __ovld __cnfn select(char16 a, char16 b, char16 c);
   11398 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, char16 c);
   11399 
   11400 short __ovld __cnfn select(short a, short b, short c);
   11401 ushort __ovld __cnfn select(ushort a, ushort b, short c);
   11402 short2 __ovld __cnfn select(short2 a, short2 b, short2 c);
   11403 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, short2 c);
   11404 short3 __ovld __cnfn select(short3 a, short3 b, short3 c);
   11405 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, short3 c);
   11406 short4 __ovld __cnfn select(short4 a, short4 b, short4 c);
   11407 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, short4 c);
   11408 short8 __ovld __cnfn select(short8 a, short8 b, short8 c);
   11409 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, short8 c);
   11410 short16 __ovld __cnfn select(short16 a, short16 b, short16 c);
   11411 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, short16 c);
   11412 
   11413 int __ovld __cnfn select(int a, int b, int c);
   11414 uint __ovld __cnfn select(uint a, uint b, int c);
   11415 int2 __ovld __cnfn select(int2 a, int2 b, int2 c);
   11416 uint2 __ovld __cnfn select(uint2 a, uint2 b, int2 c);
   11417 int3 __ovld __cnfn select(int3 a, int3 b, int3 c);
   11418 uint3 __ovld __cnfn select(uint3 a, uint3 b, int3 c);
   11419 int4 __ovld __cnfn select(int4 a, int4 b, int4 c);
   11420 uint4 __ovld __cnfn select(uint4 a, uint4 b, int4 c);
   11421 int8 __ovld __cnfn select(int8 a, int8 b, int8 c);
   11422 uint8 __ovld __cnfn select(uint8 a, uint8 b, int8 c);
   11423 int16 __ovld __cnfn select(int16 a, int16 b, int16 c);
   11424 uint16 __ovld __cnfn select(uint16 a, uint16 b, int16 c);
   11425 float __ovld __cnfn select(float a, float b, int c);
   11426 float2 __ovld __cnfn select(float2 a, float2 b, int2 c);
   11427 float3 __ovld __cnfn select(float3 a, float3 b, int3 c);
   11428 float4 __ovld __cnfn select(float4 a, float4 b, int4 c);
   11429 float8 __ovld __cnfn select(float8 a, float8 b, int8 c);
   11430 float16 __ovld __cnfn select(float16 a, float16 b, int16 c);
   11431 
   11432 long __ovld __cnfn select(long a, long b, long c);
   11433 ulong __ovld __cnfn select(ulong a, ulong b, long c);
   11434 long2 __ovld __cnfn select(long2 a, long2 b, long2 c);
   11435 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, long2 c);
   11436 long3 __ovld __cnfn select(long3 a, long3 b, long3 c);
   11437 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, long3 c);
   11438 long4 __ovld __cnfn select(long4 a, long4 b, long4 c);
   11439 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, long4 c);
   11440 long8 __ovld __cnfn select(long8 a, long8 b, long8 c);
   11441 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, long8 c);
   11442 long16 __ovld __cnfn select(long16 a, long16 b, long16 c);
   11443 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, long16 c);
   11444 
   11445 char __ovld __cnfn select(char a, char b, uchar c);
   11446 uchar __ovld __cnfn select(uchar a, uchar b, uchar c);
   11447 char2 __ovld __cnfn select(char2 a, char2 b, uchar2 c);
   11448 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, uchar2 c);
   11449 char3 __ovld __cnfn select(char3 a, char3 b, uchar3 c);
   11450 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, uchar3 c);
   11451 char4 __ovld __cnfn select(char4 a, char4 b, uchar4 c);
   11452 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, uchar4 c);
   11453 char8 __ovld __cnfn select(char8 a, char8 b, uchar8 c);
   11454 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, uchar8 c);
   11455 char16 __ovld __cnfn select(char16 a, char16 b, uchar16 c);
   11456 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, uchar16 c);
   11457 
   11458 short __ovld __cnfn select(short a, short b, ushort c);
   11459 ushort __ovld __cnfn select(ushort a, ushort b, ushort c);
   11460 short2 __ovld __cnfn select(short2 a, short2 b, ushort2 c);
   11461 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, ushort2 c);
   11462 short3 __ovld __cnfn select(short3 a, short3 b, ushort3 c);
   11463 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, ushort3 c);
   11464 short4 __ovld __cnfn select(short4 a, short4 b, ushort4 c);
   11465 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, ushort4 c);
   11466 short8 __ovld __cnfn select(short8 a, short8 b, ushort8 c);
   11467 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, ushort8 c);
   11468 short16 __ovld __cnfn select(short16 a, short16 b, ushort16 c);
   11469 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, ushort16 c);
   11470 
   11471 int __ovld __cnfn select(int a, int b, uint c);
   11472 uint __ovld __cnfn select(uint a, uint b, uint c);
   11473 int2 __ovld __cnfn select(int2 a, int2 b, uint2 c);
   11474 uint2 __ovld __cnfn select(uint2 a, uint2 b, uint2 c);
   11475 int3 __ovld __cnfn select(int3 a, int3 b, uint3 c);
   11476 uint3 __ovld __cnfn select(uint3 a, uint3 b, uint3 c);
   11477 int4 __ovld __cnfn select(int4 a, int4 b, uint4 c);
   11478 uint4 __ovld __cnfn select(uint4 a, uint4 b, uint4 c);
   11479 int8 __ovld __cnfn select(int8 a, int8 b, uint8 c);
   11480 uint8 __ovld __cnfn select(uint8 a, uint8 b, uint8 c);
   11481 int16 __ovld __cnfn select(int16 a, int16 b, uint16 c);
   11482 uint16 __ovld __cnfn select(uint16 a, uint16 b, uint16 c);
   11483 float __ovld __cnfn select(float a, float b, uint c);
   11484 float2 __ovld __cnfn select(float2 a, float2 b, uint2 c);
   11485 float3 __ovld __cnfn select(float3 a, float3 b, uint3 c);
   11486 float4 __ovld __cnfn select(float4 a, float4 b, uint4 c);
   11487 float8 __ovld __cnfn select(float8 a, float8 b, uint8 c);
   11488 float16 __ovld __cnfn select(float16 a, float16 b, uint16 c);
   11489 
   11490 long __ovld __cnfn select(long a, long b, ulong c);
   11491 ulong __ovld __cnfn select(ulong a, ulong b, ulong c);
   11492 long2 __ovld __cnfn select(long2 a, long2 b, ulong2 c);
   11493 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, ulong2 c);
   11494 long3 __ovld __cnfn select(long3 a, long3 b, ulong3 c);
   11495 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, ulong3 c);
   11496 long4 __ovld __cnfn select(long4 a, long4 b, ulong4 c);
   11497 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, ulong4 c);
   11498 long8 __ovld __cnfn select(long8 a, long8 b, ulong8 c);
   11499 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, ulong8 c);
   11500 long16 __ovld __cnfn select(long16 a, long16 b, ulong16 c);
   11501 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, ulong16 c);
   11502 
   11503 #ifdef cl_khr_fp64
   11504 double __ovld __cnfn select(double a, double b, long c);
   11505 double2 __ovld __cnfn select(double2 a, double2 b, long2 c);
   11506 double3 __ovld __cnfn select(double3 a, double3 b, long3 c);
   11507 double4 __ovld __cnfn select(double4 a, double4 b, long4 c);
   11508 double8 __ovld __cnfn select(double8 a, double8 b, long8 c);
   11509 double16 __ovld __cnfn select(double16 a, double16 b, long16 c);
   11510 double __ovld __cnfn select(double a, double b, ulong c);
   11511 double2 __ovld __cnfn select(double2 a, double2 b, ulong2 c);
   11512 double3 __ovld __cnfn select(double3 a, double3 b, ulong3 c);
   11513 double4 __ovld __cnfn select(double4 a, double4 b, ulong4 c);
   11514 double8 __ovld __cnfn select(double8 a, double8 b, ulong8 c);
   11515 double16 __ovld __cnfn select(double16 a, double16 b, ulong16 c);
   11516 #endif //cl_khr_fp64
   11517 #ifdef cl_khr_fp16
   11518 half __ovld __cnfn select(half a, half b, short c);
   11519 half2 __ovld __cnfn select(half2 a, half2 b, short2 c);
   11520 half3 __ovld __cnfn select(half3 a, half3 b, short3 c);
   11521 half4 __ovld __cnfn select(half4 a, half4 b, short4 c);
   11522 half8 __ovld __cnfn select(half8 a, half8 b, short8 c);
   11523 half16 __ovld __cnfn select(half16 a, half16 b, short16 c);
   11524 half __ovld __cnfn select(half a, half b, ushort c);
   11525 half2 __ovld __cnfn select(half2 a, half2 b, ushort2 c);
   11526 half3 __ovld __cnfn select(half3 a, half3 b, ushort3 c);
   11527 half4 __ovld __cnfn select(half4 a, half4 b, ushort4 c);
   11528 half8 __ovld __cnfn select(half8 a, half8 b, ushort8 c);
   11529 half16 __ovld __cnfn select(half16 a, half16 b, ushort16 c);
   11530 #endif //cl_khr_fp16
   11531 
   11532 // OpenCL v1.1 s6.11.7, v1.2 s6.12.7, v2.0 s6.13.7 - Vector Data Load and Store Functions
   11533 // 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
   11534 /**
   11535  * Use generic type gentype to indicate the built-in data types
   11536  * char, uchar, short, ushort, int, uint, long, ulong, float,
   11537  * double or half.
   11538  *
   11539  * vloadn return sizeof (gentypen) bytes of data read from address (p + (offset * n)).
   11540  *
   11541  * vstoren write sizeof (gentypen) bytes given by data to address (p + (offset * n)).
   11542  *
   11543  * The address computed as (p + (offset * n)) must be
   11544  * 8-bit aligned if gentype is char, uchar;
   11545  * 16-bit aligned if gentype is short, ushort, half;
   11546  * 32-bit aligned if gentype is int, uint, float;
   11547  * 64-bit aligned if gentype is long, ulong, double.
   11548  */
   11549 
   11550 char2 __ovld vload2(size_t offset, const __constant char *p);
   11551 uchar2 __ovld vload2(size_t offset, const __constant uchar *p);
   11552 short2 __ovld vload2(size_t offset, const __constant short *p);
   11553 ushort2 __ovld vload2(size_t offset, const __constant ushort *p);
   11554 int2 __ovld vload2(size_t offset, const __constant int *p);
   11555 uint2 __ovld vload2(size_t offset, const __constant uint *p);
   11556 long2 __ovld vload2(size_t offset, const __constant long *p);
   11557 ulong2 __ovld vload2(size_t offset, const __constant ulong *p);
   11558 float2 __ovld vload2(size_t offset, const __constant float *p);
   11559 char3 __ovld vload3(size_t offset, const __constant char *p);
   11560 uchar3 __ovld vload3(size_t offset, const __constant uchar *p);
   11561 short3 __ovld vload3(size_t offset, const __constant short *p);
   11562 ushort3 __ovld vload3(size_t offset, const __constant ushort *p);
   11563 int3 __ovld vload3(size_t offset, const __constant int *p);
   11564 uint3 __ovld vload3(size_t offset, const __constant uint *p);
   11565 long3 __ovld vload3(size_t offset, const __constant long *p);
   11566 ulong3 __ovld vload3(size_t offset, const __constant ulong *p);
   11567 float3 __ovld vload3(size_t offset, const __constant float *p);
   11568 char4 __ovld vload4(size_t offset, const __constant char *p);
   11569 uchar4 __ovld vload4(size_t offset, const __constant uchar *p);
   11570 short4 __ovld vload4(size_t offset, const __constant short *p);
   11571 ushort4 __ovld vload4(size_t offset, const __constant ushort *p);
   11572 int4 __ovld vload4(size_t offset, const __constant int *p);
   11573 uint4 __ovld vload4(size_t offset, const __constant uint *p);
   11574 long4 __ovld vload4(size_t offset, const __constant long *p);
   11575 ulong4 __ovld vload4(size_t offset, const __constant ulong *p);
   11576 float4 __ovld vload4(size_t offset, const __constant float *p);
   11577 char8 __ovld vload8(size_t offset, const __constant char *p);
   11578 uchar8 __ovld vload8(size_t offset, const __constant uchar *p);
   11579 short8 __ovld vload8(size_t offset, const __constant short *p);
   11580 ushort8 __ovld vload8(size_t offset, const __constant ushort *p);
   11581 int8 __ovld vload8(size_t offset, const __constant int *p);
   11582 uint8 __ovld vload8(size_t offset, const __constant uint *p);
   11583 long8 __ovld vload8(size_t offset, const __constant long *p);
   11584 ulong8 __ovld vload8(size_t offset, const __constant ulong *p);
   11585 float8 __ovld vload8(size_t offset, const __constant float *p);
   11586 char16 __ovld vload16(size_t offset, const __constant char *p);
   11587 uchar16 __ovld vload16(size_t offset, const __constant uchar *p);
   11588 short16 __ovld vload16(size_t offset, const __constant short *p);
   11589 ushort16 __ovld vload16(size_t offset, const __constant ushort *p);
   11590 int16 __ovld vload16(size_t offset, const __constant int *p);
   11591 uint16 __ovld vload16(size_t offset, const __constant uint *p);
   11592 long16 __ovld vload16(size_t offset, const __constant long *p);
   11593 ulong16 __ovld vload16(size_t offset, const __constant ulong *p);
   11594 float16 __ovld vload16(size_t offset, const __constant float *p);
   11595 #ifdef cl_khr_fp64
   11596 double2 __ovld vload2(size_t offset, const __constant double *p);
   11597 double3 __ovld vload3(size_t offset, const __constant double *p);
   11598 double4 __ovld vload4(size_t offset, const __constant double *p);
   11599 double8 __ovld vload8(size_t offset, const __constant double *p);
   11600 double16 __ovld vload16(size_t offset, const __constant double *p);
   11601 #endif //cl_khr_fp64
   11602 
   11603 #ifdef cl_khr_fp16
   11604 half __ovld vload(size_t offset, const __constant half *p);
   11605 half2 __ovld vload2(size_t offset, const __constant half *p);
   11606 half3 __ovld vload3(size_t offset, const __constant half *p);
   11607 half4 __ovld vload4(size_t offset, const __constant half *p);
   11608 half8 __ovld vload8(size_t offset, const __constant half *p);
   11609 half16 __ovld vload16(size_t offset, const __constant half *p);
   11610 #endif //cl_khr_fp16
   11611 
   11612 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   11613 char2 __ovld vload2(size_t offset, const char *p);
   11614 uchar2 __ovld vload2(size_t offset, const uchar *p);
   11615 short2 __ovld vload2(size_t offset, const short *p);
   11616 ushort2 __ovld vload2(size_t offset, const ushort *p);
   11617 int2 __ovld vload2(size_t offset, const int *p);
   11618 uint2 __ovld vload2(size_t offset, const uint *p);
   11619 long2 __ovld vload2(size_t offset, const long *p);
   11620 ulong2 __ovld vload2(size_t offset, const ulong *p);
   11621 float2 __ovld vload2(size_t offset, const float *p);
   11622 char3 __ovld vload3(size_t offset, const char *p);
   11623 uchar3 __ovld vload3(size_t offset, const uchar *p);
   11624 short3 __ovld vload3(size_t offset, const short *p);
   11625 ushort3 __ovld vload3(size_t offset, const ushort *p);
   11626 int3 __ovld vload3(size_t offset, const int *p);
   11627 uint3 __ovld vload3(size_t offset, const uint *p);
   11628 long3 __ovld vload3(size_t offset, const long *p);
   11629 ulong3 __ovld vload3(size_t offset, const ulong *p);
   11630 float3 __ovld vload3(size_t offset, const float *p);
   11631 char4 __ovld vload4(size_t offset, const char *p);
   11632 uchar4 __ovld vload4(size_t offset, const uchar *p);
   11633 short4 __ovld vload4(size_t offset, const short *p);
   11634 ushort4 __ovld vload4(size_t offset, const ushort *p);
   11635 int4 __ovld vload4(size_t offset, const int *p);
   11636 uint4 __ovld vload4(size_t offset, const uint *p);
   11637 long4 __ovld vload4(size_t offset, const long *p);
   11638 ulong4 __ovld vload4(size_t offset, const ulong *p);
   11639 float4 __ovld vload4(size_t offset, const float *p);
   11640 char8 __ovld vload8(size_t offset, const char *p);
   11641 uchar8 __ovld vload8(size_t offset, const uchar *p);
   11642 short8 __ovld vload8(size_t offset, const short *p);
   11643 ushort8 __ovld vload8(size_t offset, const ushort *p);
   11644 int8 __ovld vload8(size_t offset, const int *p);
   11645 uint8 __ovld vload8(size_t offset, const uint *p);
   11646 long8 __ovld vload8(size_t offset, const long *p);
   11647 ulong8 __ovld vload8(size_t offset, const ulong *p);
   11648 float8 __ovld vload8(size_t offset, const float *p);
   11649 char16 __ovld vload16(size_t offset, const char *p);
   11650 uchar16 __ovld vload16(size_t offset, const uchar *p);
   11651 short16 __ovld vload16(size_t offset, const short *p);
   11652 ushort16 __ovld vload16(size_t offset, const ushort *p);
   11653 int16 __ovld vload16(size_t offset, const int *p);
   11654 uint16 __ovld vload16(size_t offset, const uint *p);
   11655 long16 __ovld vload16(size_t offset, const long *p);
   11656 ulong16 __ovld vload16(size_t offset, const ulong *p);
   11657 float16 __ovld vload16(size_t offset, const float *p);
   11658 
   11659 #ifdef cl_khr_fp64
   11660 double2 __ovld vload2(size_t offset, const double *p);
   11661 double3 __ovld vload3(size_t offset, const double *p);
   11662 double4 __ovld vload4(size_t offset, const double *p);
   11663 double8 __ovld vload8(size_t offset, const double *p);
   11664 double16 __ovld vload16(size_t offset, const double *p);
   11665 #endif //cl_khr_fp64
   11666 
   11667 #ifdef cl_khr_fp16
   11668 half __ovld vload(size_t offset, const half *p);
   11669 half2 __ovld vload2(size_t offset, const half *p);
   11670 half3 __ovld vload3(size_t offset, const half *p);
   11671 half4 __ovld vload4(size_t offset, const half *p);
   11672 half8 __ovld vload8(size_t offset, const half *p);
   11673 half16 __ovld vload16(size_t offset, const half *p);
   11674 #endif //cl_khr_fp16
   11675 #else
   11676 char2 __ovld vload2(size_t offset, const __global char *p);
   11677 uchar2 __ovld vload2(size_t offset, const __global uchar *p);
   11678 short2 __ovld vload2(size_t offset, const __global short *p);
   11679 ushort2 __ovld vload2(size_t offset, const __global ushort *p);
   11680 int2 __ovld vload2(size_t offset, const __global int *p);
   11681 uint2 __ovld vload2(size_t offset, const __global uint *p);
   11682 long2 __ovld vload2(size_t offset, const __global long *p);
   11683 ulong2 __ovld vload2(size_t offset, const __global ulong *p);
   11684 float2 __ovld vload2(size_t offset, const __global float *p);
   11685 char3 __ovld vload3(size_t offset, const __global char *p);
   11686 uchar3 __ovld vload3(size_t offset, const __global uchar *p);
   11687 short3 __ovld vload3(size_t offset, const __global short *p);
   11688 ushort3 __ovld vload3(size_t offset, const __global ushort *p);
   11689 int3 __ovld vload3(size_t offset, const __global int *p);
   11690 uint3 __ovld vload3(size_t offset, const __global uint *p);
   11691 long3 __ovld vload3(size_t offset, const __global long *p);
   11692 ulong3 __ovld vload3(size_t offset, const __global ulong *p);
   11693 float3 __ovld vload3(size_t offset, const __global float *p);
   11694 char4 __ovld vload4(size_t offset, const __global char *p);
   11695 uchar4 __ovld vload4(size_t offset, const __global uchar *p);
   11696 short4 __ovld vload4(size_t offset, const __global short *p);
   11697 ushort4 __ovld vload4(size_t offset, const __global ushort *p);
   11698 int4 __ovld vload4(size_t offset, const __global int *p);
   11699 uint4 __ovld vload4(size_t offset, const __global uint *p);
   11700 long4 __ovld vload4(size_t offset, const __global long *p);
   11701 ulong4 __ovld vload4(size_t offset, const __global ulong *p);
   11702 float4 __ovld vload4(size_t offset, const __global float *p);
   11703 char8 __ovld vload8(size_t offset, const __global char *p);
   11704 uchar8 __ovld vload8(size_t offset, const __global uchar *p);
   11705 short8 __ovld vload8(size_t offset, const __global short *p);
   11706 ushort8 __ovld vload8(size_t offset, const __global ushort *p);
   11707 int8 __ovld vload8(size_t offset, const __global int *p);
   11708 uint8 __ovld vload8(size_t offset, const __global uint *p);
   11709 long8 __ovld vload8(size_t offset, const __global long *p);
   11710 ulong8 __ovld vload8(size_t offset, const __global ulong *p);
   11711 float8 __ovld vload8(size_t offset, const __global float *p);
   11712 char16 __ovld vload16(size_t offset, const __global char *p);
   11713 uchar16 __ovld vload16(size_t offset, const __global uchar *p);
   11714 short16 __ovld vload16(size_t offset, const __global short *p);
   11715 ushort16 __ovld vload16(size_t offset, const __global ushort *p);
   11716 int16 __ovld vload16(size_t offset, const __global int *p);
   11717 uint16 __ovld vload16(size_t offset, const __global uint *p);
   11718 long16 __ovld vload16(size_t offset, const __global long *p);
   11719 ulong16 __ovld vload16(size_t offset, const __global ulong *p);
   11720 float16 __ovld vload16(size_t offset, const __global float *p);
   11721 char2 __ovld vload2(size_t offset, const __local char *p);
   11722 uchar2 __ovld vload2(size_t offset, const __local uchar *p);
   11723 short2 __ovld vload2(size_t offset, const __local short *p);
   11724 ushort2 __ovld vload2(size_t offset, const __local ushort *p);
   11725 int2 __ovld vload2(size_t offset, const __local int *p);
   11726 uint2 __ovld vload2(size_t offset, const __local uint *p);
   11727 long2 __ovld vload2(size_t offset, const __local long *p);
   11728 ulong2 __ovld vload2(size_t offset, const __local ulong *p);
   11729 float2 __ovld vload2(size_t offset, const __local float *p);
   11730 char3 __ovld vload3(size_t offset, const __local char *p);
   11731 uchar3 __ovld vload3(size_t offset, const __local uchar *p);
   11732 short3 __ovld vload3(size_t offset, const __local short *p);
   11733 ushort3 __ovld vload3(size_t offset, const __local ushort *p);
   11734 int3 __ovld vload3(size_t offset, const __local int *p);
   11735 uint3 __ovld vload3(size_t offset, const __local uint *p);
   11736 long3 __ovld vload3(size_t offset, const __local long *p);
   11737 ulong3 __ovld vload3(size_t offset, const __local ulong *p);
   11738 float3 __ovld vload3(size_t offset, const __local float *p);
   11739 char4 __ovld vload4(size_t offset, const __local char *p);
   11740 uchar4 __ovld vload4(size_t offset, const __local uchar *p);
   11741 short4 __ovld vload4(size_t offset, const __local short *p);
   11742 ushort4 __ovld vload4(size_t offset, const __local ushort *p);
   11743 int4 __ovld vload4(size_t offset, const __local int *p);
   11744 uint4 __ovld vload4(size_t offset, const __local uint *p);
   11745 long4 __ovld vload4(size_t offset, const __local long *p);
   11746 ulong4 __ovld vload4(size_t offset, const __local ulong *p);
   11747 float4 __ovld vload4(size_t offset, const __local float *p);
   11748 char8 __ovld vload8(size_t offset, const __local char *p);
   11749 uchar8 __ovld vload8(size_t offset, const __local uchar *p);
   11750 short8 __ovld vload8(size_t offset, const __local short *p);
   11751 ushort8 __ovld vload8(size_t offset, const __local ushort *p);
   11752 int8 __ovld vload8(size_t offset, const __local int *p);
   11753 uint8 __ovld vload8(size_t offset, const __local uint *p);
   11754 long8 __ovld vload8(size_t offset, const __local long *p);
   11755 ulong8 __ovld vload8(size_t offset, const __local ulong *p);
   11756 float8 __ovld vload8(size_t offset, const __local float *p);
   11757 char16 __ovld vload16(size_t offset, const __local char *p);
   11758 uchar16 __ovld vload16(size_t offset, const __local uchar *p);
   11759 short16 __ovld vload16(size_t offset, const __local short *p);
   11760 ushort16 __ovld vload16(size_t offset, const __local ushort *p);
   11761 int16 __ovld vload16(size_t offset, const __local int *p);
   11762 uint16 __ovld vload16(size_t offset, const __local uint *p);
   11763 long16 __ovld vload16(size_t offset, const __local long *p);
   11764 ulong16 __ovld vload16(size_t offset, const __local ulong *p);
   11765 float16 __ovld vload16(size_t offset, const __local float *p);
   11766 char2 __ovld vload2(size_t offset, const __private char *p);
   11767 uchar2 __ovld vload2(size_t offset, const __private uchar *p);
   11768 short2 __ovld vload2(size_t offset, const __private short *p);
   11769 ushort2 __ovld vload2(size_t offset, const __private ushort *p);
   11770 int2 __ovld vload2(size_t offset, const __private int *p);
   11771 uint2 __ovld vload2(size_t offset, const __private uint *p);
   11772 long2 __ovld vload2(size_t offset, const __private long *p);
   11773 ulong2 __ovld vload2(size_t offset, const __private ulong *p);
   11774 float2 __ovld vload2(size_t offset, const __private float *p);
   11775 char3 __ovld vload3(size_t offset, const __private char *p);
   11776 uchar3 __ovld vload3(size_t offset, const __private uchar *p);
   11777 short3 __ovld vload3(size_t offset, const __private short *p);
   11778 ushort3 __ovld vload3(size_t offset, const __private ushort *p);
   11779 int3 __ovld vload3(size_t offset, const __private int *p);
   11780 uint3 __ovld vload3(size_t offset, const __private uint *p);
   11781 long3 __ovld vload3(size_t offset, const __private long *p);
   11782 ulong3 __ovld vload3(size_t offset, const __private ulong *p);
   11783 float3 __ovld vload3(size_t offset, const __private float *p);
   11784 char4 __ovld vload4(size_t offset, const __private char *p);
   11785 uchar4 __ovld vload4(size_t offset, const __private uchar *p);
   11786 short4 __ovld vload4(size_t offset, const __private short *p);
   11787 ushort4 __ovld vload4(size_t offset, const __private ushort *p);
   11788 int4 __ovld vload4(size_t offset, const __private int *p);
   11789 uint4 __ovld vload4(size_t offset, const __private uint *p);
   11790 long4 __ovld vload4(size_t offset, const __private long *p);
   11791 ulong4 __ovld vload4(size_t offset, const __private ulong *p);
   11792 float4 __ovld vload4(size_t offset, const __private float *p);
   11793 char8 __ovld vload8(size_t offset, const __private char *p);
   11794 uchar8 __ovld vload8(size_t offset, const __private uchar *p);
   11795 short8 __ovld vload8(size_t offset, const __private short *p);
   11796 ushort8 __ovld vload8(size_t offset, const __private ushort *p);
   11797 int8 __ovld vload8(size_t offset, const __private int *p);
   11798 uint8 __ovld vload8(size_t offset, const __private uint *p);
   11799 long8 __ovld vload8(size_t offset, const __private long *p);
   11800 ulong8 __ovld vload8(size_t offset, const __private ulong *p);
   11801 float8 __ovld vload8(size_t offset, const __private float *p);
   11802 char16 __ovld vload16(size_t offset, const __private char *p);
   11803 uchar16 __ovld vload16(size_t offset, const __private uchar *p);
   11804 short16 __ovld vload16(size_t offset, const __private short *p);
   11805 ushort16 __ovld vload16(size_t offset, const __private ushort *p);
   11806 int16 __ovld vload16(size_t offset, const __private int *p);
   11807 uint16 __ovld vload16(size_t offset, const __private uint *p);
   11808 long16 __ovld vload16(size_t offset, const __private long *p);
   11809 ulong16 __ovld vload16(size_t offset, const __private ulong *p);
   11810 float16 __ovld vload16(size_t offset, const __private float *p);
   11811 
   11812 #ifdef cl_khr_fp64
   11813 double2 __ovld vload2(size_t offset, const __global double *p);
   11814 double3 __ovld vload3(size_t offset, const __global double *p);
   11815 double4 __ovld vload4(size_t offset, const __global double *p);
   11816 double8 __ovld vload8(size_t offset, const __global double *p);
   11817 double16 __ovld vload16(size_t offset, const __global double *p);
   11818 double2 __ovld vload2(size_t offset, const __local double *p);
   11819 double3 __ovld vload3(size_t offset, const __local double *p);
   11820 double4 __ovld vload4(size_t offset, const __local double *p);
   11821 double8 __ovld vload8(size_t offset, const __local double *p);
   11822 double16 __ovld vload16(size_t offset, const __local double *p);
   11823 double2 __ovld vload2(size_t offset, const __private double *p);
   11824 double3 __ovld vload3(size_t offset, const __private double *p);
   11825 double4 __ovld vload4(size_t offset, const __private double *p);
   11826 double8 __ovld vload8(size_t offset, const __private double *p);
   11827 double16 __ovld vload16(size_t offset, const __private double *p);
   11828 #endif //cl_khr_fp64
   11829 
   11830 #ifdef cl_khr_fp16
   11831 half __ovld vload(size_t offset, const __global half *p);
   11832 half2 __ovld vload2(size_t offset, const __global half *p);
   11833 half3 __ovld vload3(size_t offset, const __global half *p);
   11834 half4 __ovld vload4(size_t offset, const __global half *p);
   11835 half8 __ovld vload8(size_t offset, const __global half *p);
   11836 half16 __ovld vload16(size_t offset, const __global half *p);
   11837 half __ovld vload(size_t offset, const __local half *p);
   11838 half2 __ovld vload2(size_t offset, const __local half *p);
   11839 half3 __ovld vload3(size_t offset, const __local half *p);
   11840 half4 __ovld vload4(size_t offset, const __local half *p);
   11841 half8 __ovld vload8(size_t offset, const __local half *p);
   11842 half16 __ovld vload16(size_t offset, const __local half *p);
   11843 half __ovld vload(size_t offset, const __private half *p);
   11844 half2 __ovld vload2(size_t offset, const __private half *p);
   11845 half3 __ovld vload3(size_t offset, const __private half *p);
   11846 half4 __ovld vload4(size_t offset, const __private half *p);
   11847 half8 __ovld vload8(size_t offset, const __private half *p);
   11848 half16 __ovld vload16(size_t offset, const __private half *p);
   11849 #endif //cl_khr_fp16
   11850 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   11851 
   11852 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   11853 void __ovld vstore2(char2 data, size_t offset, char *p);
   11854 void __ovld vstore2(uchar2 data, size_t offset, uchar *p);
   11855 void __ovld vstore2(short2 data, size_t offset, short *p);
   11856 void __ovld vstore2(ushort2 data, size_t offset, ushort *p);
   11857 void __ovld vstore2(int2 data, size_t offset, int *p);
   11858 void __ovld vstore2(uint2 data, size_t offset, uint *p);
   11859 void __ovld vstore2(long2 data, size_t offset, long *p);
   11860 void __ovld vstore2(ulong2 data, size_t offset, ulong *p);
   11861 void __ovld vstore2(float2 data, size_t offset, float *p);
   11862 void __ovld vstore3(char3 data, size_t offset, char *p);
   11863 void __ovld vstore3(uchar3 data, size_t offset, uchar *p);
   11864 void __ovld vstore3(short3 data, size_t offset, short *p);
   11865 void __ovld vstore3(ushort3 data, size_t offset, ushort *p);
   11866 void __ovld vstore3(int3 data, size_t offset, int *p);
   11867 void __ovld vstore3(uint3 data, size_t offset, uint *p);
   11868 void __ovld vstore3(long3 data, size_t offset, long *p);
   11869 void __ovld vstore3(ulong3 data, size_t offset, ulong *p);
   11870 void __ovld vstore3(float3 data, size_t offset, float *p);
   11871 void __ovld vstore4(char4 data, size_t offset, char *p);
   11872 void __ovld vstore4(uchar4 data, size_t offset, uchar *p);
   11873 void __ovld vstore4(short4 data, size_t offset, short *p);
   11874 void __ovld vstore4(ushort4 data, size_t offset, ushort *p);
   11875 void __ovld vstore4(int4 data, size_t offset, int *p);
   11876 void __ovld vstore4(uint4 data, size_t offset, uint *p);
   11877 void __ovld vstore4(long4 data, size_t offset, long *p);
   11878 void __ovld vstore4(ulong4 data, size_t offset, ulong *p);
   11879 void __ovld vstore4(float4 data, size_t offset, float *p);
   11880 void __ovld vstore8(char8 data, size_t offset, char *p);
   11881 void __ovld vstore8(uchar8 data, size_t offset, uchar *p);
   11882 void __ovld vstore8(short8 data, size_t offset, short *p);
   11883 void __ovld vstore8(ushort8 data, size_t offset, ushort *p);
   11884 void __ovld vstore8(int8 data, size_t offset, int *p);
   11885 void __ovld vstore8(uint8 data, size_t offset, uint *p);
   11886 void __ovld vstore8(long8 data, size_t offset, long *p);
   11887 void __ovld vstore8(ulong8 data, size_t offset, ulong *p);
   11888 void __ovld vstore8(float8 data, size_t offset, float *p);
   11889 void __ovld vstore16(char16 data, size_t offset, char *p);
   11890 void __ovld vstore16(uchar16 data, size_t offset, uchar *p);
   11891 void __ovld vstore16(short16 data, size_t offset, short *p);
   11892 void __ovld vstore16(ushort16 data, size_t offset, ushort *p);
   11893 void __ovld vstore16(int16 data, size_t offset, int *p);
   11894 void __ovld vstore16(uint16 data, size_t offset, uint *p);
   11895 void __ovld vstore16(long16 data, size_t offset, long *p);
   11896 void __ovld vstore16(ulong16 data, size_t offset, ulong *p);
   11897 void __ovld vstore16(float16 data, size_t offset, float *p);
   11898 #ifdef cl_khr_fp64
   11899 void __ovld vstore2(double2 data, size_t offset, double *p);
   11900 void __ovld vstore3(double3 data, size_t offset, double *p);
   11901 void __ovld vstore4(double4 data, size_t offset, double *p);
   11902 void __ovld vstore8(double8 data, size_t offset, double *p);
   11903 void __ovld vstore16(double16 data, size_t offset, double *p);
   11904 #endif //cl_khr_fp64
   11905 #ifdef cl_khr_fp16
   11906 void __ovld vstore(half data, size_t offset, half *p);
   11907 void __ovld vstore2(half2 data, size_t offset, half *p);
   11908 void __ovld vstore3(half3 data, size_t offset, half *p);
   11909 void __ovld vstore4(half4 data, size_t offset, half *p);
   11910 void __ovld vstore8(half8 data, size_t offset, half *p);
   11911 void __ovld vstore16(half16 data, size_t offset, half *p);
   11912 #endif //cl_khr_fp16
   11913 #else
   11914 void __ovld vstore2(char2 data, size_t offset, __global char *p);
   11915 void __ovld vstore2(uchar2 data, size_t offset, __global uchar *p);
   11916 void __ovld vstore2(short2 data, size_t offset, __global short *p);
   11917 void __ovld vstore2(ushort2 data, size_t offset, __global ushort *p);
   11918 void __ovld vstore2(int2 data, size_t offset, __global int *p);
   11919 void __ovld vstore2(uint2 data, size_t offset, __global uint *p);
   11920 void __ovld vstore2(long2 data, size_t offset, __global long *p);
   11921 void __ovld vstore2(ulong2 data, size_t offset, __global ulong *p);
   11922 void __ovld vstore2(float2 data, size_t offset, __global float *p);
   11923 void __ovld vstore3(char3 data, size_t offset, __global char *p);
   11924 void __ovld vstore3(uchar3 data, size_t offset, __global uchar *p);
   11925 void __ovld vstore3(short3 data, size_t offset, __global short *p);
   11926 void __ovld vstore3(ushort3 data, size_t offset, __global ushort *p);
   11927 void __ovld vstore3(int3 data, size_t offset, __global int *p);
   11928 void __ovld vstore3(uint3 data, size_t offset, __global uint *p);
   11929 void __ovld vstore3(long3 data, size_t offset, __global long *p);
   11930 void __ovld vstore3(ulong3 data, size_t offset, __global ulong *p);
   11931 void __ovld vstore3(float3 data, size_t offset, __global float *p);
   11932 void __ovld vstore4(char4 data, size_t offset, __global char *p);
   11933 void __ovld vstore4(uchar4 data, size_t offset, __global uchar *p);
   11934 void __ovld vstore4(short4 data, size_t offset, __global short *p);
   11935 void __ovld vstore4(ushort4 data, size_t offset, __global ushort *p);
   11936 void __ovld vstore4(int4 data, size_t offset, __global int *p);
   11937 void __ovld vstore4(uint4 data, size_t offset, __global uint *p);
   11938 void __ovld vstore4(long4 data, size_t offset, __global long *p);
   11939 void __ovld vstore4(ulong4 data, size_t offset, __global ulong *p);
   11940 void __ovld vstore4(float4 data, size_t offset, __global float *p);
   11941 void __ovld vstore8(char8 data, size_t offset, __global char *p);
   11942 void __ovld vstore8(uchar8 data, size_t offset, __global uchar *p);
   11943 void __ovld vstore8(short8 data, size_t offset, __global short *p);
   11944 void __ovld vstore8(ushort8 data, size_t offset, __global ushort *p);
   11945 void __ovld vstore8(int8 data, size_t offset, __global int *p);
   11946 void __ovld vstore8(uint8 data, size_t offset, __global uint *p);
   11947 void __ovld vstore8(long8 data, size_t offset, __global long *p);
   11948 void __ovld vstore8(ulong8 data, size_t offset, __global ulong *p);
   11949 void __ovld vstore8(float8 data, size_t offset, __global float *p);
   11950 void __ovld vstore16(char16 data, size_t offset, __global char *p);
   11951 void __ovld vstore16(uchar16 data, size_t offset, __global uchar *p);
   11952 void __ovld vstore16(short16 data, size_t offset, __global short *p);
   11953 void __ovld vstore16(ushort16 data, size_t offset, __global ushort *p);
   11954 void __ovld vstore16(int16 data, size_t offset, __global int *p);
   11955 void __ovld vstore16(uint16 data, size_t offset, __global uint *p);
   11956 void __ovld vstore16(long16 data, size_t offset, __global long *p);
   11957 void __ovld vstore16(ulong16 data, size_t offset, __global ulong *p);
   11958 void __ovld vstore16(float16 data, size_t offset, __global float *p);
   11959 void __ovld vstore2(char2 data, size_t offset, __local char *p);
   11960 void __ovld vstore2(uchar2 data, size_t offset, __local uchar *p);
   11961 void __ovld vstore2(short2 data, size_t offset, __local short *p);
   11962 void __ovld vstore2(ushort2 data, size_t offset, __local ushort *p);
   11963 void __ovld vstore2(int2 data, size_t offset, __local int *p);
   11964 void __ovld vstore2(uint2 data, size_t offset, __local uint *p);
   11965 void __ovld vstore2(long2 data, size_t offset, __local long *p);
   11966 void __ovld vstore2(ulong2 data, size_t offset, __local ulong *p);
   11967 void __ovld vstore2(float2 data, size_t offset, __local float *p);
   11968 void __ovld vstore3(char3 data, size_t offset, __local char *p);
   11969 void __ovld vstore3(uchar3 data, size_t offset, __local uchar *p);
   11970 void __ovld vstore3(short3 data, size_t offset, __local short *p);
   11971 void __ovld vstore3(ushort3 data, size_t offset, __local ushort *p);
   11972 void __ovld vstore3(int3 data, size_t offset, __local int *p);
   11973 void __ovld vstore3(uint3 data, size_t offset, __local uint *p);
   11974 void __ovld vstore3(long3 data, size_t offset, __local long *p);
   11975 void __ovld vstore3(ulong3 data, size_t offset, __local ulong *p);
   11976 void __ovld vstore3(float3 data, size_t offset, __local float *p);
   11977 void __ovld vstore4(char4 data, size_t offset, __local char *p);
   11978 void __ovld vstore4(uchar4 data, size_t offset, __local uchar *p);
   11979 void __ovld vstore4(short4 data, size_t offset, __local short *p);
   11980 void __ovld vstore4(ushort4 data, size_t offset, __local ushort *p);
   11981 void __ovld vstore4(int4 data, size_t offset, __local int *p);
   11982 void __ovld vstore4(uint4 data, size_t offset, __local uint *p);
   11983 void __ovld vstore4(long4 data, size_t offset, __local long *p);
   11984 void __ovld vstore4(ulong4 data, size_t offset, __local ulong *p);
   11985 void __ovld vstore4(float4 data, size_t offset, __local float *p);
   11986 void __ovld vstore8(char8 data, size_t offset, __local char *p);
   11987 void __ovld vstore8(uchar8 data, size_t offset, __local uchar *p);
   11988 void __ovld vstore8(short8 data, size_t offset, __local short *p);
   11989 void __ovld vstore8(ushort8 data, size_t offset, __local ushort *p);
   11990 void __ovld vstore8(int8 data, size_t offset, __local int *p);
   11991 void __ovld vstore8(uint8 data, size_t offset, __local uint *p);
   11992 void __ovld vstore8(long8 data, size_t offset, __local long *p);
   11993 void __ovld vstore8(ulong8 data, size_t offset, __local ulong *p);
   11994 void __ovld vstore8(float8 data, size_t offset, __local float *p);
   11995 void __ovld vstore16(char16 data, size_t offset, __local char *p);
   11996 void __ovld vstore16(uchar16 data, size_t offset, __local uchar *p);
   11997 void __ovld vstore16(short16 data, size_t offset, __local short *p);
   11998 void __ovld vstore16(ushort16 data, size_t offset, __local ushort *p);
   11999 void __ovld vstore16(int16 data, size_t offset, __local int *p);
   12000 void __ovld vstore16(uint16 data, size_t offset, __local uint *p);
   12001 void __ovld vstore16(long16 data, size_t offset, __local long *p);
   12002 void __ovld vstore16(ulong16 data, size_t offset, __local ulong *p);
   12003 void __ovld vstore16(float16 data, size_t offset, __local float *p);
   12004 void __ovld vstore2(char2 data, size_t offset, __private char *p);
   12005 void __ovld vstore2(uchar2 data, size_t offset, __private uchar *p);
   12006 void __ovld vstore2(short2 data, size_t offset, __private short *p);
   12007 void __ovld vstore2(ushort2 data, size_t offset, __private ushort *p);
   12008 void __ovld vstore2(int2 data, size_t offset, __private int *p);
   12009 void __ovld vstore2(uint2 data, size_t offset, __private uint *p);
   12010 void __ovld vstore2(long2 data, size_t offset, __private long *p);
   12011 void __ovld vstore2(ulong2 data, size_t offset, __private ulong *p);
   12012 void __ovld vstore2(float2 data, size_t offset, __private float *p);
   12013 void __ovld vstore3(char3 data, size_t offset, __private char *p);
   12014 void __ovld vstore3(uchar3 data, size_t offset, __private uchar *p);
   12015 void __ovld vstore3(short3 data, size_t offset, __private short *p);
   12016 void __ovld vstore3(ushort3 data, size_t offset, __private ushort *p);
   12017 void __ovld vstore3(int3 data, size_t offset, __private int *p);
   12018 void __ovld vstore3(uint3 data, size_t offset, __private uint *p);
   12019 void __ovld vstore3(long3 data, size_t offset, __private long *p);
   12020 void __ovld vstore3(ulong3 data, size_t offset, __private ulong *p);
   12021 void __ovld vstore3(float3 data, size_t offset, __private float *p);
   12022 void __ovld vstore4(char4 data, size_t offset, __private char *p);
   12023 void __ovld vstore4(uchar4 data, size_t offset, __private uchar *p);
   12024 void __ovld vstore4(short4 data, size_t offset, __private short *p);
   12025 void __ovld vstore4(ushort4 data, size_t offset, __private ushort *p);
   12026 void __ovld vstore4(int4 data, size_t offset, __private int *p);
   12027 void __ovld vstore4(uint4 data, size_t offset, __private uint *p);
   12028 void __ovld vstore4(long4 data, size_t offset, __private long *p);
   12029 void __ovld vstore4(ulong4 data, size_t offset, __private ulong *p);
   12030 void __ovld vstore4(float4 data, size_t offset, __private float *p);
   12031 void __ovld vstore8(char8 data, size_t offset, __private char *p);
   12032 void __ovld vstore8(uchar8 data, size_t offset, __private uchar *p);
   12033 void __ovld vstore8(short8 data, size_t offset, __private short *p);
   12034 void __ovld vstore8(ushort8 data, size_t offset, __private ushort *p);
   12035 void __ovld vstore8(int8 data, size_t offset, __private int *p);
   12036 void __ovld vstore8(uint8 data, size_t offset, __private uint *p);
   12037 void __ovld vstore8(long8 data, size_t offset, __private long *p);
   12038 void __ovld vstore8(ulong8 data, size_t offset, __private ulong *p);
   12039 void __ovld vstore8(float8 data, size_t offset, __private float *p);
   12040 void __ovld vstore16(char16 data, size_t offset, __private char *p);
   12041 void __ovld vstore16(uchar16 data, size_t offset, __private uchar *p);
   12042 void __ovld vstore16(short16 data, size_t offset, __private short *p);
   12043 void __ovld vstore16(ushort16 data, size_t offset, __private ushort *p);
   12044 void __ovld vstore16(int16 data, size_t offset, __private int *p);
   12045 void __ovld vstore16(uint16 data, size_t offset, __private uint *p);
   12046 void __ovld vstore16(long16 data, size_t offset, __private long *p);
   12047 void __ovld vstore16(ulong16 data, size_t offset, __private ulong *p);
   12048 void __ovld vstore16(float16 data, size_t offset, __private float *p);
   12049 #ifdef cl_khr_fp64
   12050 void __ovld vstore2(double2 data, size_t offset, __global double *p);
   12051 void __ovld vstore3(double3 data, size_t offset, __global double *p);
   12052 void __ovld vstore4(double4 data, size_t offset, __global double *p);
   12053 void __ovld vstore8(double8 data, size_t offset, __global double *p);
   12054 void __ovld vstore16(double16 data, size_t offset, __global double *p);
   12055 void __ovld vstore2(double2 data, size_t offset, __local double *p);
   12056 void __ovld vstore3(double3 data, size_t offset, __local double *p);
   12057 void __ovld vstore4(double4 data, size_t offset, __local double *p);
   12058 void __ovld vstore8(double8 data, size_t offset, __local double *p);
   12059 void __ovld vstore16(double16 data, size_t offset, __local double *p);
   12060 void __ovld vstore2(double2 data, size_t offset, __private double *p);
   12061 void __ovld vstore3(double3 data, size_t offset, __private double *p);
   12062 void __ovld vstore4(double4 data, size_t offset, __private double *p);
   12063 void __ovld vstore8(double8 data, size_t offset, __private double *p);
   12064 void __ovld vstore16(double16 data, size_t offset, __private double *p);
   12065 #endif //cl_khr_fp64
   12066 #ifdef cl_khr_fp16
   12067 void __ovld vstore(half data, size_t offset, __global half *p);
   12068 void __ovld vstore2(half2 data, size_t offset, __global half *p);
   12069 void __ovld vstore3(half3 data, size_t offset, __global half *p);
   12070 void __ovld vstore4(half4 data, size_t offset, __global half *p);
   12071 void __ovld vstore8(half8 data, size_t offset, __global half *p);
   12072 void __ovld vstore16(half16 data, size_t offset, __global half *p);
   12073 void __ovld vstore(half data, size_t offset, __local half *p);
   12074 void __ovld vstore2(half2 data, size_t offset, __local half *p);
   12075 void __ovld vstore3(half3 data, size_t offset, __local half *p);
   12076 void __ovld vstore4(half4 data, size_t offset, __local half *p);
   12077 void __ovld vstore8(half8 data, size_t offset, __local half *p);
   12078 void __ovld vstore16(half16 data, size_t offset, __local half *p);
   12079 void __ovld vstore(half data, size_t offset, __private half *p);
   12080 void __ovld vstore2(half2 data, size_t offset, __private half *p);
   12081 void __ovld vstore3(half3 data, size_t offset, __private half *p);
   12082 void __ovld vstore4(half4 data, size_t offset, __private half *p);
   12083 void __ovld vstore8(half8 data, size_t offset, __private half *p);
   12084 void __ovld vstore16(half16 data, size_t offset, __private half *p);
   12085 #endif //cl_khr_fp16
   12086 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12087 
   12088 /**
   12089  * Read sizeof (half) bytes of data from address
   12090  * (p + offset). The data read is interpreted as a
   12091  * half value. The half value is converted to a
   12092  * float value and the float value is returned.
   12093  * The read address computed as (p + offset)
   12094  * must be 16-bit aligned.
   12095  */
   12096 float __ovld vload_half(size_t offset, const __constant half *p);
   12097 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12098 float __ovld vload_half(size_t offset, const half *p);
   12099 #else
   12100 float __ovld vload_half(size_t offset, const __global half *p);
   12101 float __ovld vload_half(size_t offset, const __local half *p);
   12102 float __ovld vload_half(size_t offset, const __private half *p);
   12103 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12104 
   12105 /**
   12106  * Read sizeof (halfn) bytes of data from address
   12107  * (p + (offset * n)). The data read is interpreted
   12108  * as a halfn value. The halfn value read is
   12109  * converted to a floatn value and the floatn
   12110  * value is returned. The read address computed
   12111  * as (p + (offset * n)) must be 16-bit aligned.
   12112  */
   12113 float2 __ovld vload_half2(size_t offset, const __constant half *p);
   12114 float3 __ovld vload_half3(size_t offset, const __constant half *p);
   12115 float4 __ovld vload_half4(size_t offset, const __constant half *p);
   12116 float8 __ovld vload_half8(size_t offset, const __constant half *p);
   12117 float16 __ovld vload_half16(size_t offset, const __constant half *p);
   12118 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12119 float2 __ovld vload_half2(size_t offset, const half *p);
   12120 float3 __ovld vload_half3(size_t offset, const half *p);
   12121 float4 __ovld vload_half4(size_t offset, const half *p);
   12122 float8 __ovld vload_half8(size_t offset, const half *p);
   12123 float16 __ovld vload_half16(size_t offset, const half *p);
   12124 #else
   12125 float2 __ovld vload_half2(size_t offset, const __global half *p);
   12126 float3 __ovld vload_half3(size_t offset, const __global half *p);
   12127 float4 __ovld vload_half4(size_t offset, const __global half *p);
   12128 float8 __ovld vload_half8(size_t offset, const __global half *p);
   12129 float16 __ovld vload_half16(size_t offset, const __global half *p);
   12130 float2 __ovld vload_half2(size_t offset, const __local half *p);
   12131 float3 __ovld vload_half3(size_t offset, const __local half *p);
   12132 float4 __ovld vload_half4(size_t offset, const __local half *p);
   12133 float8 __ovld vload_half8(size_t offset, const __local half *p);
   12134 float16 __ovld vload_half16(size_t offset, const __local half *p);
   12135 float2 __ovld vload_half2(size_t offset, const __private half *p);
   12136 float3 __ovld vload_half3(size_t offset, const __private half *p);
   12137 float4 __ovld vload_half4(size_t offset, const __private half *p);
   12138 float8 __ovld vload_half8(size_t offset, const __private half *p);
   12139 float16 __ovld vload_half16(size_t offset, const __private half *p);
   12140 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12141 
   12142 /**
   12143  * The float value given by data is first
   12144  * converted to a half value using the appropriate
   12145  * rounding mode. The half value is then written
   12146  * to address computed as (p + offset). The
   12147  * address computed as (p + offset) must be 16-
   12148  * bit aligned.
   12149  * vstore_half use the current rounding mode.
   12150  * The default current rounding mode is round to
   12151  * nearest even.
   12152  */
   12153 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12154 void __ovld vstore_half(float data, size_t offset, half *p);
   12155 void __ovld vstore_half_rte(float data, size_t offset, half *p);
   12156 void __ovld vstore_half_rtz(float data, size_t offset, half *p);
   12157 void __ovld vstore_half_rtp(float data, size_t offset, half *p);
   12158 void __ovld vstore_half_rtn(float data, size_t offset, half *p);
   12159 #ifdef cl_khr_fp64
   12160 void __ovld vstore_half(double data, size_t offset, half *p);
   12161 void __ovld vstore_half_rte(double data, size_t offset, half *p);
   12162 void __ovld vstore_half_rtz(double data, size_t offset, half *p);
   12163 void __ovld vstore_half_rtp(double data, size_t offset, half *p);
   12164 void __ovld vstore_half_rtn(double data, size_t offset, half *p);
   12165 #endif //cl_khr_fp64
   12166 #else
   12167 void __ovld vstore_half(float data, size_t offset, __global half *p);
   12168 void __ovld vstore_half_rte(float data, size_t offset, __global half *p);
   12169 void __ovld vstore_half_rtz(float data, size_t offset, __global half *p);
   12170 void __ovld vstore_half_rtp(float data, size_t offset, __global half *p);
   12171 void __ovld vstore_half_rtn(float data, size_t offset, __global half *p);
   12172 void __ovld vstore_half(float data, size_t offset, __local half *p);
   12173 void __ovld vstore_half_rte(float data, size_t offset, __local half *p);
   12174 void __ovld vstore_half_rtz(float data, size_t offset, __local half *p);
   12175 void __ovld vstore_half_rtp(float data, size_t offset, __local half *p);
   12176 void __ovld vstore_half_rtn(float data, size_t offset, __local half *p);
   12177 void __ovld vstore_half(float data, size_t offset, __private half *p);
   12178 void __ovld vstore_half_rte(float data, size_t offset, __private half *p);
   12179 void __ovld vstore_half_rtz(float data, size_t offset, __private half *p);
   12180 void __ovld vstore_half_rtp(float data, size_t offset, __private half *p);
   12181 void __ovld vstore_half_rtn(float data, size_t offset, __private half *p);
   12182 #ifdef cl_khr_fp64
   12183 void __ovld vstore_half(double data, size_t offset, __global half *p);
   12184 void __ovld vstore_half_rte(double data, size_t offset, __global half *p);
   12185 void __ovld vstore_half_rtz(double data, size_t offset, __global half *p);
   12186 void __ovld vstore_half_rtp(double data, size_t offset, __global half *p);
   12187 void __ovld vstore_half_rtn(double data, size_t offset, __global half *p);
   12188 void __ovld vstore_half(double data, size_t offset, __local half *p);
   12189 void __ovld vstore_half_rte(double data, size_t offset, __local half *p);
   12190 void __ovld vstore_half_rtz(double data, size_t offset, __local half *p);
   12191 void __ovld vstore_half_rtp(double data, size_t offset, __local half *p);
   12192 void __ovld vstore_half_rtn(double data, size_t offset, __local half *p);
   12193 void __ovld vstore_half(double data, size_t offset, __private half *p);
   12194 void __ovld vstore_half_rte(double data, size_t offset, __private half *p);
   12195 void __ovld vstore_half_rtz(double data, size_t offset, __private half *p);
   12196 void __ovld vstore_half_rtp(double data, size_t offset, __private half *p);
   12197 void __ovld vstore_half_rtn(double data, size_t offset, __private half *p);
   12198 #endif //cl_khr_fp64
   12199 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12200 
   12201 /**
   12202  * The floatn value given by data is converted to
   12203  * a halfn value using the appropriate rounding
   12204  * mode. The halfn value is then written to
   12205  * address computed as (p + (offset * n)). The
   12206  * address computed as (p + (offset * n)) must be
   12207  * 16-bit aligned.
   12208  * vstore_halfn uses the current rounding mode.
   12209  * The default current rounding mode is round to
   12210  * nearest even.
   12211  */
   12212 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12213 void __ovld vstore_half2(float2 data, size_t offset, half *p);
   12214 void __ovld vstore_half3(float3 data, size_t offset, half *p);
   12215 void __ovld vstore_half4(float4 data, size_t offset, half *p);
   12216 void __ovld vstore_half8(float8 data, size_t offset, half *p);
   12217 void __ovld vstore_half16(float16 data, size_t offset, half *p);
   12218 void __ovld vstore_half2_rte(float2 data, size_t offset, half *p);
   12219 void __ovld vstore_half3_rte(float3 data, size_t offset, half *p);
   12220 void __ovld vstore_half4_rte(float4 data, size_t offset, half *p);
   12221 void __ovld vstore_half8_rte(float8 data, size_t offset, half *p);
   12222 void __ovld vstore_half16_rte(float16 data, size_t offset, half *p);
   12223 void __ovld vstore_half2_rtz(float2 data, size_t offset, half *p);
   12224 void __ovld vstore_half3_rtz(float3 data, size_t offset, half *p);
   12225 void __ovld vstore_half4_rtz(float4 data, size_t offset, half *p);
   12226 void __ovld vstore_half8_rtz(float8 data, size_t offset, half *p);
   12227 void __ovld vstore_half16_rtz(float16 data, size_t offset, half *p);
   12228 void __ovld vstore_half2_rtp(float2 data, size_t offset, half *p);
   12229 void __ovld vstore_half3_rtp(float3 data, size_t offset, half *p);
   12230 void __ovld vstore_half4_rtp(float4 data, size_t offset, half *p);
   12231 void __ovld vstore_half8_rtp(float8 data, size_t offset, half *p);
   12232 void __ovld vstore_half16_rtp(float16 data, size_t offset, half *p);
   12233 void __ovld vstore_half2_rtn(float2 data, size_t offset, half *p);
   12234 void __ovld vstore_half3_rtn(float3 data, size_t offset, half *p);
   12235 void __ovld vstore_half4_rtn(float4 data, size_t offset, half *p);
   12236 void __ovld vstore_half8_rtn(float8 data, size_t offset, half *p);
   12237 void __ovld vstore_half16_rtn(float16 data, size_t offset, half *p);
   12238 #ifdef cl_khr_fp64
   12239 void __ovld vstore_half2(double2 data, size_t offset, half *p);
   12240 void __ovld vstore_half3(double3 data, size_t offset, half *p);
   12241 void __ovld vstore_half4(double4 data, size_t offset, half *p);
   12242 void __ovld vstore_half8(double8 data, size_t offset, half *p);
   12243 void __ovld vstore_half16(double16 data, size_t offset, half *p);
   12244 void __ovld vstore_half2_rte(double2 data, size_t offset, half *p);
   12245 void __ovld vstore_half3_rte(double3 data, size_t offset, half *p);
   12246 void __ovld vstore_half4_rte(double4 data, size_t offset, half *p);
   12247 void __ovld vstore_half8_rte(double8 data, size_t offset, half *p);
   12248 void __ovld vstore_half16_rte(double16 data, size_t offset, half *p);
   12249 void __ovld vstore_half2_rtz(double2 data, size_t offset, half *p);
   12250 void __ovld vstore_half3_rtz(double3 data, size_t offset, half *p);
   12251 void __ovld vstore_half4_rtz(double4 data, size_t offset, half *p);
   12252 void __ovld vstore_half8_rtz(double8 data, size_t offset, half *p);
   12253 void __ovld vstore_half16_rtz(double16 data, size_t offset, half *p);
   12254 void __ovld vstore_half2_rtp(double2 data, size_t offset, half *p);
   12255 void __ovld vstore_half3_rtp(double3 data, size_t offset, half *p);
   12256 void __ovld vstore_half4_rtp(double4 data, size_t offset, half *p);
   12257 void __ovld vstore_half8_rtp(double8 data, size_t offset, half *p);
   12258 void __ovld vstore_half16_rtp(double16 data, size_t offset, half *p);
   12259 void __ovld vstore_half2_rtn(double2 data, size_t offset, half *p);
   12260 void __ovld vstore_half3_rtn(double3 data, size_t offset, half *p);
   12261 void __ovld vstore_half4_rtn(double4 data, size_t offset, half *p);
   12262 void __ovld vstore_half8_rtn(double8 data, size_t offset, half *p);
   12263 void __ovld vstore_half16_rtn(double16 data, size_t offset, half *p);
   12264 #endif //cl_khr_fp64
   12265 #else
   12266 void __ovld vstore_half2(float2 data, size_t offset, __global half *p);
   12267 void __ovld vstore_half3(float3 data, size_t offset, __global half *p);
   12268 void __ovld vstore_half4(float4 data, size_t offset, __global half *p);
   12269 void __ovld vstore_half8(float8 data, size_t offset, __global half *p);
   12270 void __ovld vstore_half16(float16 data, size_t offset, __global half *p);
   12271 void __ovld vstore_half2_rte(float2 data, size_t offset, __global half *p);
   12272 void __ovld vstore_half3_rte(float3 data, size_t offset, __global half *p);
   12273 void __ovld vstore_half4_rte(float4 data, size_t offset, __global half *p);
   12274 void __ovld vstore_half8_rte(float8 data, size_t offset, __global half *p);
   12275 void __ovld vstore_half16_rte(float16 data, size_t offset, __global half *p);
   12276 void __ovld vstore_half2_rtz(float2 data, size_t offset, __global half *p);
   12277 void __ovld vstore_half3_rtz(float3 data, size_t offset, __global half *p);
   12278 void __ovld vstore_half4_rtz(float4 data, size_t offset, __global half *p);
   12279 void __ovld vstore_half8_rtz(float8 data, size_t offset, __global half *p);
   12280 void __ovld vstore_half16_rtz(float16 data, size_t offset, __global half *p);
   12281 void __ovld vstore_half2_rtp(float2 data, size_t offset, __global half *p);
   12282 void __ovld vstore_half3_rtp(float3 data, size_t offset, __global half *p);
   12283 void __ovld vstore_half4_rtp(float4 data, size_t offset, __global half *p);
   12284 void __ovld vstore_half8_rtp(float8 data, size_t offset, __global half *p);
   12285 void __ovld vstore_half16_rtp(float16 data, size_t offset, __global half *p);
   12286 void __ovld vstore_half2_rtn(float2 data, size_t offset, __global half *p);
   12287 void __ovld vstore_half3_rtn(float3 data, size_t offset, __global half *p);
   12288 void __ovld vstore_half4_rtn(float4 data, size_t offset, __global half *p);
   12289 void __ovld vstore_half8_rtn(float8 data, size_t offset, __global half *p);
   12290 void __ovld vstore_half16_rtn(float16 data, size_t offset, __global half *p);
   12291 void __ovld vstore_half2(float2 data, size_t offset, __local half *p);
   12292 void __ovld vstore_half3(float3 data, size_t offset, __local half *p);
   12293 void __ovld vstore_half4(float4 data, size_t offset, __local half *p);
   12294 void __ovld vstore_half8(float8 data, size_t offset, __local half *p);
   12295 void __ovld vstore_half16(float16 data, size_t offset, __local half *p);
   12296 void __ovld vstore_half2_rte(float2 data, size_t offset, __local half *p);
   12297 void __ovld vstore_half3_rte(float3 data, size_t offset, __local half *p);
   12298 void __ovld vstore_half4_rte(float4 data, size_t offset, __local half *p);
   12299 void __ovld vstore_half8_rte(float8 data, size_t offset, __local half *p);
   12300 void __ovld vstore_half16_rte(float16 data, size_t offset, __local half *p);
   12301 void __ovld vstore_half2_rtz(float2 data, size_t offset, __local half *p);
   12302 void __ovld vstore_half3_rtz(float3 data, size_t offset, __local half *p);
   12303 void __ovld vstore_half4_rtz(float4 data, size_t offset, __local half *p);
   12304 void __ovld vstore_half8_rtz(float8 data, size_t offset, __local half *p);
   12305 void __ovld vstore_half16_rtz(float16 data, size_t offset, __local half *p);
   12306 void __ovld vstore_half2_rtp(float2 data, size_t offset, __local half *p);
   12307 void __ovld vstore_half3_rtp(float3 data, size_t offset, __local half *p);
   12308 void __ovld vstore_half4_rtp(float4 data, size_t offset, __local half *p);
   12309 void __ovld vstore_half8_rtp(float8 data, size_t offset, __local half *p);
   12310 void __ovld vstore_half16_rtp(float16 data, size_t offset, __local half *p);
   12311 void __ovld vstore_half2_rtn(float2 data, size_t offset, __local half *p);
   12312 void __ovld vstore_half3_rtn(float3 data, size_t offset, __local half *p);
   12313 void __ovld vstore_half4_rtn(float4 data, size_t offset, __local half *p);
   12314 void __ovld vstore_half8_rtn(float8 data, size_t offset, __local half *p);
   12315 void __ovld vstore_half16_rtn(float16 data, size_t offset, __local half *p);
   12316 void __ovld vstore_half2(float2 data, size_t offset, __private half *p);
   12317 void __ovld vstore_half3(float3 data, size_t offset, __private half *p);
   12318 void __ovld vstore_half4(float4 data, size_t offset, __private half *p);
   12319 void __ovld vstore_half8(float8 data, size_t offset, __private half *p);
   12320 void __ovld vstore_half16(float16 data, size_t offset, __private half *p);
   12321 void __ovld vstore_half2_rte(float2 data, size_t offset, __private half *p);
   12322 void __ovld vstore_half3_rte(float3 data, size_t offset, __private half *p);
   12323 void __ovld vstore_half4_rte(float4 data, size_t offset, __private half *p);
   12324 void __ovld vstore_half8_rte(float8 data, size_t offset, __private half *p);
   12325 void __ovld vstore_half16_rte(float16 data, size_t offset, __private half *p);
   12326 void __ovld vstore_half2_rtz(float2 data, size_t offset, __private half *p);
   12327 void __ovld vstore_half3_rtz(float3 data, size_t offset, __private half *p);
   12328 void __ovld vstore_half4_rtz(float4 data, size_t offset, __private half *p);
   12329 void __ovld vstore_half8_rtz(float8 data, size_t offset, __private half *p);
   12330 void __ovld vstore_half16_rtz(float16 data, size_t offset, __private half *p);
   12331 void __ovld vstore_half2_rtp(float2 data, size_t offset, __private half *p);
   12332 void __ovld vstore_half3_rtp(float3 data, size_t offset, __private half *p);
   12333 void __ovld vstore_half4_rtp(float4 data, size_t offset, __private half *p);
   12334 void __ovld vstore_half8_rtp(float8 data, size_t offset, __private half *p);
   12335 void __ovld vstore_half16_rtp(float16 data, size_t offset, __private half *p);
   12336 void __ovld vstore_half2_rtn(float2 data, size_t offset, __private half *p);
   12337 void __ovld vstore_half3_rtn(float3 data, size_t offset, __private half *p);
   12338 void __ovld vstore_half4_rtn(float4 data, size_t offset, __private half *p);
   12339 void __ovld vstore_half8_rtn(float8 data, size_t offset, __private half *p);
   12340 void __ovld vstore_half16_rtn(float16 data, size_t offset, __private half *p);
   12341 #ifdef cl_khr_fp64
   12342 void __ovld vstore_half2(double2 data, size_t offset, __global half *p);
   12343 void __ovld vstore_half3(double3 data, size_t offset, __global half *p);
   12344 void __ovld vstore_half4(double4 data, size_t offset, __global half *p);
   12345 void __ovld vstore_half8(double8 data, size_t offset, __global half *p);
   12346 void __ovld vstore_half16(double16 data, size_t offset, __global half *p);
   12347 void __ovld vstore_half2_rte(double2 data, size_t offset, __global half *p);
   12348 void __ovld vstore_half3_rte(double3 data, size_t offset, __global half *p);
   12349 void __ovld vstore_half4_rte(double4 data, size_t offset, __global half *p);
   12350 void __ovld vstore_half8_rte(double8 data, size_t offset, __global half *p);
   12351 void __ovld vstore_half16_rte(double16 data, size_t offset, __global half *p);
   12352 void __ovld vstore_half2_rtz(double2 data, size_t offset, __global half *p);
   12353 void __ovld vstore_half3_rtz(double3 data, size_t offset, __global half *p);
   12354 void __ovld vstore_half4_rtz(double4 data, size_t offset, __global half *p);
   12355 void __ovld vstore_half8_rtz(double8 data, size_t offset, __global half *p);
   12356 void __ovld vstore_half16_rtz(double16 data, size_t offset, __global half *p);
   12357 void __ovld vstore_half2_rtp(double2 data, size_t offset, __global half *p);
   12358 void __ovld vstore_half3_rtp(double3 data, size_t offset, __global half *p);
   12359 void __ovld vstore_half4_rtp(double4 data, size_t offset, __global half *p);
   12360 void __ovld vstore_half8_rtp(double8 data, size_t offset, __global half *p);
   12361 void __ovld vstore_half16_rtp(double16 data, size_t offset, __global half *p);
   12362 void __ovld vstore_half2_rtn(double2 data, size_t offset, __global half *p);
   12363 void __ovld vstore_half3_rtn(double3 data, size_t offset, __global half *p);
   12364 void __ovld vstore_half4_rtn(double4 data, size_t offset, __global half *p);
   12365 void __ovld vstore_half8_rtn(double8 data, size_t offset, __global half *p);
   12366 void __ovld vstore_half16_rtn(double16 data, size_t offset, __global half *p);
   12367 void __ovld vstore_half2(double2 data, size_t offset, __local half *p);
   12368 void __ovld vstore_half3(double3 data, size_t offset, __local half *p);
   12369 void __ovld vstore_half4(double4 data, size_t offset, __local half *p);
   12370 void __ovld vstore_half8(double8 data, size_t offset, __local half *p);
   12371 void __ovld vstore_half16(double16 data, size_t offset, __local half *p);
   12372 void __ovld vstore_half2_rte(double2 data, size_t offset, __local half *p);
   12373 void __ovld vstore_half3_rte(double3 data, size_t offset, __local half *p);
   12374 void __ovld vstore_half4_rte(double4 data, size_t offset, __local half *p);
   12375 void __ovld vstore_half8_rte(double8 data, size_t offset, __local half *p);
   12376 void __ovld vstore_half16_rte(double16 data, size_t offset, __local half *p);
   12377 void __ovld vstore_half2_rtz(double2 data, size_t offset, __local half *p);
   12378 void __ovld vstore_half3_rtz(double3 data, size_t offset, __local half *p);
   12379 void __ovld vstore_half4_rtz(double4 data, size_t offset, __local half *p);
   12380 void __ovld vstore_half8_rtz(double8 data, size_t offset, __local half *p);
   12381 void __ovld vstore_half16_rtz(double16 data, size_t offset, __local half *p);
   12382 void __ovld vstore_half2_rtp(double2 data, size_t offset, __local half *p);
   12383 void __ovld vstore_half3_rtp(double3 data, size_t offset, __local half *p);
   12384 void __ovld vstore_half4_rtp(double4 data, size_t offset, __local half *p);
   12385 void __ovld vstore_half8_rtp(double8 data, size_t offset, __local half *p);
   12386 void __ovld vstore_half16_rtp(double16 data, size_t offset, __local half *p);
   12387 void __ovld vstore_half2_rtn(double2 data, size_t offset, __local half *p);
   12388 void __ovld vstore_half3_rtn(double3 data, size_t offset, __local half *p);
   12389 void __ovld vstore_half4_rtn(double4 data, size_t offset, __local half *p);
   12390 void __ovld vstore_half8_rtn(double8 data, size_t offset, __local half *p);
   12391 void __ovld vstore_half16_rtn(double16 data, size_t offset, __local half *p);
   12392 void __ovld vstore_half2(double2 data, size_t offset, __private half *p);
   12393 void __ovld vstore_half3(double3 data, size_t offset, __private half *p);
   12394 void __ovld vstore_half4(double4 data, size_t offset, __private half *p);
   12395 void __ovld vstore_half8(double8 data, size_t offset, __private half *p);
   12396 void __ovld vstore_half16(double16 data, size_t offset, __private half *p);
   12397 void __ovld vstore_half2_rte(double2 data, size_t offset, __private half *p);
   12398 void __ovld vstore_half3_rte(double3 data, size_t offset, __private half *p);
   12399 void __ovld vstore_half4_rte(double4 data, size_t offset, __private half *p);
   12400 void __ovld vstore_half8_rte(double8 data, size_t offset, __private half *p);
   12401 void __ovld vstore_half16_rte(double16 data, size_t offset, __private half *p);
   12402 void __ovld vstore_half2_rtz(double2 data, size_t offset, __private half *p);
   12403 void __ovld vstore_half3_rtz(double3 data, size_t offset, __private half *p);
   12404 void __ovld vstore_half4_rtz(double4 data, size_t offset, __private half *p);
   12405 void __ovld vstore_half8_rtz(double8 data, size_t offset, __private half *p);
   12406 void __ovld vstore_half16_rtz(double16 data, size_t offset, __private half *p);
   12407 void __ovld vstore_half2_rtp(double2 data, size_t offset, __private half *p);
   12408 void __ovld vstore_half3_rtp(double3 data, size_t offset, __private half *p);
   12409 void __ovld vstore_half4_rtp(double4 data, size_t offset, __private half *p);
   12410 void __ovld vstore_half8_rtp(double8 data, size_t offset, __private half *p);
   12411 void __ovld vstore_half16_rtp(double16 data, size_t offset, __private half *p);
   12412 void __ovld vstore_half2_rtn(double2 data, size_t offset, __private half *p);
   12413 void __ovld vstore_half3_rtn(double3 data, size_t offset, __private half *p);
   12414 void __ovld vstore_half4_rtn(double4 data, size_t offset, __private half *p);
   12415 void __ovld vstore_half8_rtn(double8 data, size_t offset, __private half *p);
   12416 void __ovld vstore_half16_rtn(double16 data, size_t offset, __private half *p);
   12417 #endif //cl_khr_fp64
   12418 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12419 
   12420 /**
   12421  * For n = 1, 2, 4, 8 and 16 read sizeof (halfn)
   12422  * bytes of data from address (p + (offset * n)).
   12423  * The data read is interpreted as a halfn value.
   12424  * The halfn value read is converted to a floatn
   12425  * value and the floatn value is returned.
   12426  * The address computed as (p + (offset * n))
   12427  * must be aligned to sizeof (halfn) bytes.
   12428  * For n = 3, vloada_half3 reads a half3 from
   12429  * address (p + (offset * 4)) and returns a float3.
   12430  * The address computed as (p + (offset * 4))
   12431  * must be aligned to sizeof (half) * 4 bytes.
   12432  */
   12433 float __ovld vloada_half(size_t offset, const __constant half *p);
   12434 float2 __ovld vloada_half2(size_t offset, const __constant half *p);
   12435 float3 __ovld vloada_half3(size_t offset, const __constant half *p);
   12436 float4 __ovld vloada_half4(size_t offset, const __constant half *p);
   12437 float8 __ovld vloada_half8(size_t offset, const __constant half *p);
   12438 float16 __ovld vloada_half16(size_t offset, const __constant half *p);
   12439 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12440 float __ovld vloada_half(size_t offset, const half *p);
   12441 float2 __ovld vloada_half2(size_t offset, const half *p);
   12442 float3 __ovld vloada_half3(size_t offset, const half *p);
   12443 float4 __ovld vloada_half4(size_t offset, const half *p);
   12444 float8 __ovld vloada_half8(size_t offset, const half *p);
   12445 float16 __ovld vloada_half16(size_t offset, const half *p);
   12446 #else
   12447 float __ovld vloada_half(size_t offset, const __global half *p);
   12448 float2 __ovld vloada_half2(size_t offset, const __global half *p);
   12449 float3 __ovld vloada_half3(size_t offset, const __global half *p);
   12450 float4 __ovld vloada_half4(size_t offset, const __global half *p);
   12451 float8 __ovld vloada_half8(size_t offset, const __global half *p);
   12452 float16 __ovld vloada_half16(size_t offset, const __global half *p);
   12453 float __ovld vloada_half(size_t offset, const __local half *p);
   12454 float2 __ovld vloada_half2(size_t offset, const __local half *p);
   12455 float3 __ovld vloada_half3(size_t offset, const __local half *p);
   12456 float4 __ovld vloada_half4(size_t offset, const __local half *p);
   12457 float8 __ovld vloada_half8(size_t offset, const __local half *p);
   12458 float16 __ovld vloada_half16(size_t offset, const __local half *p);
   12459 float __ovld vloada_half(size_t offset, const __private half *p);
   12460 float2 __ovld vloada_half2(size_t offset, const __private half *p);
   12461 float3 __ovld vloada_half3(size_t offset, const __private half *p);
   12462 float4 __ovld vloada_half4(size_t offset, const __private half *p);
   12463 float8 __ovld vloada_half8(size_t offset, const __private half *p);
   12464 float16 __ovld vloada_half16(size_t offset, const __private half *p);
   12465 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12466 
   12467 /**
   12468  * The floatn value given by data is converted to
   12469  * a halfn value using the appropriate rounding
   12470  * mode.
   12471  * For n = 1, 2, 4, 8 and 16, the halfn value is
   12472  * written to the address computed as (p + (offset
   12473  * * n)). The address computed as (p + (offset *
   12474  * n)) must be aligned to sizeof (halfn) bytes.
   12475  * For n = 3, the half3 value is written to the
   12476  * address computed as (p + (offset * 4)). The
   12477  * address computed as (p + (offset * 4)) must be
   12478  * aligned to sizeof (half) * 4 bytes.
   12479  * vstorea_halfn uses the current rounding
   12480  * mode. The default current rounding mode is
   12481  * round to nearest even.
   12482  */
   12483 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12484 void __ovld vstorea_half(float data, size_t offset, half *p);
   12485 void __ovld vstorea_half2(float2 data, size_t offset, half *p);
   12486 void __ovld vstorea_half3(float3 data, size_t offset, half *p);
   12487 void __ovld vstorea_half4(float4 data, size_t offset, half *p);
   12488 void __ovld vstorea_half8(float8 data, size_t offset, half *p);
   12489 void __ovld vstorea_half16(float16 data, size_t offset, half *p);
   12490 
   12491 void __ovld vstorea_half_rte(float data, size_t offset, half *p);
   12492 void __ovld vstorea_half2_rte(float2 data, size_t offset, half *p);
   12493 void __ovld vstorea_half3_rte(float3 data, size_t offset, half *p);
   12494 void __ovld vstorea_half4_rte(float4 data, size_t offset, half *p);
   12495 void __ovld vstorea_half8_rte(float8 data, size_t offset, half *p);
   12496 void __ovld vstorea_half16_rte(float16 data, size_t offset, half *p);
   12497 
   12498 void __ovld vstorea_half_rtz(float data, size_t offset, half *p);
   12499 void __ovld vstorea_half2_rtz(float2 data, size_t offset, half *p);
   12500 void __ovld vstorea_half3_rtz(float3 data, size_t offset, half *p);
   12501 void __ovld vstorea_half4_rtz(float4 data, size_t offset, half *p);
   12502 void __ovld vstorea_half8_rtz(float8 data, size_t offset, half *p);
   12503 void __ovld vstorea_half16_rtz(float16 data, size_t offset, half *p);
   12504 
   12505 void __ovld vstorea_half_rtp(float data, size_t offset, half *p);
   12506 void __ovld vstorea_half2_rtp(float2 data, size_t offset, half *p);
   12507 void __ovld vstorea_half3_rtp(float3 data, size_t offset, half *p);
   12508 void __ovld vstorea_half4_rtp(float4 data, size_t offset, half *p);
   12509 void __ovld vstorea_half8_rtp(float8 data, size_t offset, half *p);
   12510 void __ovld vstorea_half16_rtp(float16 data, size_t offset, half *p);
   12511 
   12512 void __ovld vstorea_half_rtn(float data, size_t offset, half *p);
   12513 void __ovld vstorea_half2_rtn(float2 data, size_t offset, half *p);
   12514 void __ovld vstorea_half3_rtn(float3 data, size_t offset, half *p);
   12515 void __ovld vstorea_half4_rtn(float4 data, size_t offset, half *p);
   12516 void __ovld vstorea_half8_rtn(float8 data, size_t offset, half *p);
   12517 void __ovld vstorea_half16_rtn(float16 data, size_t offset, half *p);
   12518 
   12519 #ifdef cl_khr_fp64
   12520 void __ovld vstorea_half(double data, size_t offset, half *p);
   12521 void __ovld vstorea_half2(double2 data, size_t offset, half *p);
   12522 void __ovld vstorea_half3(double3 data, size_t offset, half *p);
   12523 void __ovld vstorea_half4(double4 data, size_t offset, half *p);
   12524 void __ovld vstorea_half8(double8 data, size_t offset, half *p);
   12525 void __ovld vstorea_half16(double16 data, size_t offset, half *p);
   12526 
   12527 void __ovld vstorea_half_rte(double data, size_t offset, half *p);
   12528 void __ovld vstorea_half2_rte(double2 data, size_t offset, half *p);
   12529 void __ovld vstorea_half3_rte(double3 data, size_t offset, half *p);
   12530 void __ovld vstorea_half4_rte(double4 data, size_t offset, half *p);
   12531 void __ovld vstorea_half8_rte(double8 data, size_t offset, half *p);
   12532 void __ovld vstorea_half16_rte(double16 data, size_t offset, half *p);
   12533 
   12534 void __ovld vstorea_half_rtz(double data, size_t offset, half *p);
   12535 void __ovld vstorea_half2_rtz(double2 data, size_t offset, half *p);
   12536 void __ovld vstorea_half3_rtz(double3 data, size_t offset, half *p);
   12537 void __ovld vstorea_half4_rtz(double4 data, size_t offset, half *p);
   12538 void __ovld vstorea_half8_rtz(double8 data, size_t offset, half *p);
   12539 void __ovld vstorea_half16_rtz(double16 data, size_t offset, half *p);
   12540 
   12541 void __ovld vstorea_half_rtp(double data, size_t offset, half *p);
   12542 void __ovld vstorea_half2_rtp(double2 data, size_t offset, half *p);
   12543 void __ovld vstorea_half3_rtp(double3 data, size_t offset, half *p);
   12544 void __ovld vstorea_half4_rtp(double4 data, size_t offset, half *p);
   12545 void __ovld vstorea_half8_rtp(double8 data, size_t offset, half *p);
   12546 void __ovld vstorea_half16_rtp(double16 data, size_t offset, half *p);
   12547 
   12548 void __ovld vstorea_half_rtn(double data, size_t offset, half *p);
   12549 void __ovld vstorea_half2_rtn(double2 data, size_t offset, half *p);
   12550 void __ovld vstorea_half3_rtn(double3 data, size_t offset, half *p);
   12551 void __ovld vstorea_half4_rtn(double4 data, size_t offset, half *p);
   12552 void __ovld vstorea_half8_rtn(double8 data, size_t offset, half *p);
   12553 void __ovld vstorea_half16_rtn(double16 data, size_t offset, half *p);
   12554 #endif //cl_khr_fp64
   12555 
   12556 #else
   12557 void __ovld vstorea_half(float data, size_t offset, __global half *p);
   12558 void __ovld vstorea_half2(float2 data, size_t offset, __global half *p);
   12559 void __ovld vstorea_half3(float3 data, size_t offset, __global half *p);
   12560 void __ovld vstorea_half4(float4 data, size_t offset, __global half *p);
   12561 void __ovld vstorea_half8(float8 data, size_t offset, __global half *p);
   12562 void __ovld vstorea_half16(float16 data, size_t offset, __global half *p);
   12563 
   12564 void __ovld vstorea_half_rte(float data, size_t offset, __global half *p);
   12565 void __ovld vstorea_half2_rte(float2 data, size_t offset, __global half *p);
   12566 void __ovld vstorea_half3_rte(float3 data, size_t offset, __global half *p);
   12567 void __ovld vstorea_half4_rte(float4 data, size_t offset, __global half *p);
   12568 void __ovld vstorea_half8_rte(float8 data, size_t offset, __global half *p);
   12569 void __ovld vstorea_half16_rte(float16 data, size_t offset, __global half *p);
   12570 
   12571 void __ovld vstorea_half_rtz(float data, size_t offset, __global half *p);
   12572 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __global half *p);
   12573 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __global half *p);
   12574 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __global half *p);
   12575 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __global half *p);
   12576 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __global half *p);
   12577 
   12578 void __ovld vstorea_half_rtp(float data, size_t offset, __global half *p);
   12579 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __global half *p);
   12580 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __global half *p);
   12581 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __global half *p);
   12582 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __global half *p);
   12583 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __global half *p);
   12584 
   12585 void __ovld vstorea_half_rtn(float data, size_t offset, __global half *p);
   12586 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __global half *p);
   12587 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __global half *p);
   12588 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __global half *p);
   12589 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __global half *p);
   12590 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __global half *p);
   12591 
   12592 void __ovld vstorea_half(float data, size_t offset, __local half *p);
   12593 void __ovld vstorea_half2(float2 data, size_t offset, __local half *p);
   12594 void __ovld vstorea_half3(float3 data, size_t offset, __local half *p);
   12595 void __ovld vstorea_half4(float4 data, size_t offset, __local half *p);
   12596 void __ovld vstorea_half8(float8 data, size_t offset, __local half *p);
   12597 void __ovld vstorea_half16(float16 data, size_t offset, __local half *p);
   12598 
   12599 void __ovld vstorea_half_rte(float data, size_t offset, __local half *p);
   12600 void __ovld vstorea_half2_rte(float2 data, size_t offset, __local half *p);
   12601 void __ovld vstorea_half3_rte(float3 data, size_t offset, __local half *p);
   12602 void __ovld vstorea_half4_rte(float4 data, size_t offset, __local half *p);
   12603 void __ovld vstorea_half8_rte(float8 data, size_t offset, __local half *p);
   12604 void __ovld vstorea_half16_rte(float16 data, size_t offset, __local half *p);
   12605 
   12606 void __ovld vstorea_half_rtz(float data, size_t offset, __local half *p);
   12607 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __local half *p);
   12608 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __local half *p);
   12609 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __local half *p);
   12610 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __local half *p);
   12611 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __local half *p);
   12612 
   12613 void __ovld vstorea_half_rtp(float data, size_t offset, __local half *p);
   12614 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __local half *p);
   12615 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __local half *p);
   12616 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __local half *p);
   12617 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __local half *p);
   12618 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __local half *p);
   12619 
   12620 void __ovld vstorea_half_rtn(float data, size_t offset, __local half *p);
   12621 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __local half *p);
   12622 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __local half *p);
   12623 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __local half *p);
   12624 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __local half *p);
   12625 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __local half *p);
   12626 
   12627 void __ovld vstorea_half(float data, size_t offset, __private half *p);
   12628 void __ovld vstorea_half2(float2 data, size_t offset, __private half *p);
   12629 void __ovld vstorea_half3(float3 data, size_t offset, __private half *p);
   12630 void __ovld vstorea_half4(float4 data, size_t offset, __private half *p);
   12631 void __ovld vstorea_half8(float8 data, size_t offset, __private half *p);
   12632 void __ovld vstorea_half16(float16 data, size_t offset, __private half *p);
   12633 
   12634 void __ovld vstorea_half_rte(float data, size_t offset, __private half *p);
   12635 void __ovld vstorea_half2_rte(float2 data, size_t offset, __private half *p);
   12636 void __ovld vstorea_half3_rte(float3 data, size_t offset, __private half *p);
   12637 void __ovld vstorea_half4_rte(float4 data, size_t offset, __private half *p);
   12638 void __ovld vstorea_half8_rte(float8 data, size_t offset, __private half *p);
   12639 void __ovld vstorea_half16_rte(float16 data, size_t offset, __private half *p);
   12640 
   12641 void __ovld vstorea_half_rtz(float data, size_t offset, __private half *p);
   12642 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __private half *p);
   12643 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __private half *p);
   12644 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __private half *p);
   12645 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __private half *p);
   12646 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __private half *p);
   12647 
   12648 void __ovld vstorea_half_rtp(float data, size_t offset, __private half *p);
   12649 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __private half *p);
   12650 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __private half *p);
   12651 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __private half *p);
   12652 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __private half *p);
   12653 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __private half *p);
   12654 
   12655 void __ovld vstorea_half_rtn(float data, size_t offset, __private half *p);
   12656 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __private half *p);
   12657 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __private half *p);
   12658 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __private half *p);
   12659 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __private half *p);
   12660 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __private half *p);
   12661 
   12662 #ifdef cl_khr_fp64
   12663 void __ovld vstorea_half(double data, size_t offset, __global half *p);
   12664 void __ovld vstorea_half2(double2 data, size_t offset, __global half *p);
   12665 void __ovld vstorea_half3(double3 data, size_t offset, __global half *p);
   12666 void __ovld vstorea_half4(double4 data, size_t offset, __global half *p);
   12667 void __ovld vstorea_half8(double8 data, size_t offset, __global half *p);
   12668 void __ovld vstorea_half16(double16 data, size_t offset, __global half *p);
   12669 
   12670 void __ovld vstorea_half_rte(double data, size_t offset, __global half *p);
   12671 void __ovld vstorea_half2_rte(double2 data, size_t offset, __global half *p);
   12672 void __ovld vstorea_half3_rte(double3 data, size_t offset, __global half *p);
   12673 void __ovld vstorea_half4_rte(double4 data, size_t offset, __global half *p);
   12674 void __ovld vstorea_half8_rte(double8 data, size_t offset, __global half *p);
   12675 void __ovld vstorea_half16_rte(double16 data, size_t offset, __global half *p);
   12676 
   12677 void __ovld vstorea_half_rtz(double data, size_t offset, __global half *p);
   12678 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __global half *p);
   12679 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __global half *p);
   12680 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __global half *p);
   12681 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __global half *p);
   12682 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __global half *p);
   12683 
   12684 void __ovld vstorea_half_rtp(double data, size_t offset, __global half *p);
   12685 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __global half *p);
   12686 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __global half *p);
   12687 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __global half *p);
   12688 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __global half *p);
   12689 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __global half *p);
   12690 
   12691 void __ovld vstorea_half_rtn(double data, size_t offset, __global half *p);
   12692 void __ovld vstorea_half2_rtn(double2 data, size_t offset, __global half *p);
   12693 void __ovld vstorea_half3_rtn(double3 data, size_t offset, __global half *p);
   12694 void __ovld vstorea_half4_rtn(double4 data, size_t offset, __global half *p);
   12695 void __ovld vstorea_half8_rtn(double8 data, size_t offset, __global half *p);
   12696 void __ovld vstorea_half16_rtn(double16 data, size_t offset, __global half *p);
   12697 
   12698 void __ovld vstorea_half(double data, size_t offset, __local half *p);
   12699 void __ovld vstorea_half2(double2 data, size_t offset, __local half *p);
   12700 void __ovld vstorea_half3(double3 data, size_t offset, __local half *p);
   12701 void __ovld vstorea_half4(double4 data, size_t offset, __local half *p);
   12702 void __ovld vstorea_half8(double8 data, size_t offset, __local half *p);
   12703 void __ovld vstorea_half16(double16 data, size_t offset, __local half *p);
   12704 
   12705 void __ovld vstorea_half_rte(double data, size_t offset, __local half *p);
   12706 void __ovld vstorea_half2_rte(double2 data, size_t offset, __local half *p);
   12707 void __ovld vstorea_half3_rte(double3 data, size_t offset, __local half *p);
   12708 void __ovld vstorea_half4_rte(double4 data, size_t offset, __local half *p);
   12709 void __ovld vstorea_half8_rte(double8 data, size_t offset, __local half *p);
   12710 void __ovld vstorea_half16_rte(double16 data, size_t offset, __local half *p);
   12711 
   12712 void __ovld vstorea_half_rtz(double data, size_t offset, __local half *p);
   12713 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __local half *p);
   12714 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __local half *p);
   12715 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __local half *p);
   12716 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __local half *p);
   12717 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __local half *p);
   12718 
   12719 void __ovld vstorea_half_rtp(double data, size_t offset, __local half *p);
   12720 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __local half *p);
   12721 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __local half *p);
   12722 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __local half *p);
   12723 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __local half *p);
   12724 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __local half *p);
   12725 
   12726 void __ovld vstorea_half_rtn(double data, size_t offset, __local half *p);
   12727 void __ovld vstorea_half2_rtn(double2 data, size_t offset, __local half *p);
   12728 void __ovld vstorea_half3_rtn(double3 data, size_t offset, __local half *p);
   12729 void __ovld vstorea_half4_rtn(double4 data, size_t offset, __local half *p);
   12730 void __ovld vstorea_half8_rtn(double8 data, size_t offset, __local half *p);
   12731 void __ovld vstorea_half16_rtn(double16 data, size_t offset, __local half *p);
   12732 
   12733 void __ovld vstorea_half(double data, size_t offset, __private half *p);
   12734 void __ovld vstorea_half2(double2 data, size_t offset, __private half *p);
   12735 void __ovld vstorea_half3(double3 data, size_t offset, __private half *p);
   12736 void __ovld vstorea_half4(double4 data, size_t offset, __private half *p);
   12737 void __ovld vstorea_half8(double8 data, size_t offset, __private half *p);
   12738 void __ovld vstorea_half16(double16 data, size_t offset, __private half *p);
   12739 
   12740 void __ovld vstorea_half_rte(double data, size_t offset, __private half *p);
   12741 void __ovld vstorea_half2_rte(double2 data, size_t offset, __private half *p);
   12742 void __ovld vstorea_half3_rte(double3 data, size_t offset, __private half *p);
   12743 void __ovld vstorea_half4_rte(double4 data, size_t offset, __private half *p);
   12744 void __ovld vstorea_half8_rte(double8 data, size_t offset, __private half *p);
   12745 void __ovld vstorea_half16_rte(double16 data, size_t offset, __private half *p);
   12746 
   12747 void __ovld vstorea_half_rtz(double data, size_t offset, __private half *p);
   12748 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __private half *p);
   12749 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __private half *p);
   12750 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __private half *p);
   12751 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __private half *p);
   12752 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __private half *p);
   12753 
   12754 void __ovld vstorea_half_rtp(double data, size_t offset, __private half *p);
   12755 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __private half *p);
   12756 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __private half *p);
   12757 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __private half *p);
   12758 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __private half *p);
   12759 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __private half *p);
   12760 
   12761 void __ovld vstorea_half_rtn(double data, size_t offset, __private half *p);
   12762 void __ovld vstorea_half2_rtn(double2 data,size_t offset, __private half *p);
   12763 void __ovld vstorea_half3_rtn(double3 data,size_t offset, __private half *p);
   12764 void __ovld vstorea_half4_rtn(double4 data,size_t offset, __private half *p);
   12765 void __ovld vstorea_half8_rtn(double8 data,size_t offset, __private half *p);
   12766 void __ovld vstorea_half16_rtn(double16 data,size_t offset, __private half *p);
   12767 #endif //cl_khr_fp64
   12768 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12769 
   12770 // OpenCL v1.1 s6.11.8, v1.2 s6.12.8, v2.0 s6.13.8 - Synchronization Functions
   12771 
   12772 // Flag type and values for barrier, mem_fence, read_mem_fence, write_mem_fence
   12773 typedef uint cl_mem_fence_flags;
   12774 
   12775 /**
   12776  * Queue a memory fence to ensure correct
   12777  * ordering of memory operations to local memory
   12778  */
   12779 #define CLK_LOCAL_MEM_FENCE    0x01
   12780 
   12781 /**
   12782  * Queue a memory fence to ensure correct
   12783  * ordering of memory operations to global memory
   12784  */
   12785 #define CLK_GLOBAL_MEM_FENCE   0x02
   12786 
   12787 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12788 /**
   12789  * Queue a memory fence to ensure correct ordering of memory
   12790  * operations between work-items of a work-group to
   12791  * image memory.
   12792  */
   12793 #define CLK_IMAGE_MEM_FENCE  0x04
   12794 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12795 
   12796 /**
   12797  * All work-items in a work-group executing the kernel
   12798  * on a processor must execute this function before any
   12799  * are allowed to continue execution beyond the barrier.
   12800  * This function must be encountered by all work-items in
   12801  * a work-group executing the kernel.
   12802  * If barrier is inside a conditional statement, then all
   12803  * work-items must enter the conditional if any work-item
   12804  * enters the conditional statement and executes the
   12805  * barrier.
   12806  * If barrer is inside a loop, all work-items must execute
   12807  * the barrier for each iteration of the loop before any are
   12808  * allowed to continue execution beyond the barrier.
   12809  * The barrier function also queues a memory fence
   12810  * (reads and writes) to ensure correct ordering of
   12811  * memory operations to local or global memory.
   12812  * The flags argument specifies the memory address space
   12813  * and can be set to a combination of the following literal
   12814  * values.
   12815  * CLK_LOCAL_MEM_FENCE - The barrier function
   12816  * will either flush any variables stored in local memory
   12817  * or queue a memory fence to ensure correct ordering of
   12818  * memory operations to local memory.
   12819  * CLK_GLOBAL_MEM_FENCE - The barrier function
   12820  * will queue a memory fence to ensure correct ordering
   12821  * of memory operations to global memory. This can be
   12822  * useful when work-items, for example, write to buffer or
   12823  * image objects and then want to read the updated data.
   12824  */
   12825 
   12826 void __ovld __conv barrier(cl_mem_fence_flags flags);
   12827 
   12828 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12829 
   12830 typedef enum memory_scope {
   12831   memory_scope_work_item = __OPENCL_MEMORY_SCOPE_WORK_ITEM,
   12832   memory_scope_work_group = __OPENCL_MEMORY_SCOPE_WORK_GROUP,
   12833   memory_scope_device = __OPENCL_MEMORY_SCOPE_DEVICE,
   12834   memory_scope_all_svm_devices = __OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES,
   12835 #if defined(cl_intel_subgroups) || defined(cl_khr_subgroups)
   12836   memory_scope_sub_group = __OPENCL_MEMORY_SCOPE_SUB_GROUP
   12837 #endif
   12838 } memory_scope;
   12839 
   12840 void __ovld __conv work_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
   12841 void __ovld __conv work_group_barrier(cl_mem_fence_flags flags);
   12842 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12843 
   12844 // OpenCL v1.1 s6.11.9, v1.2 s6.12.9 - Explicit Memory Fence Functions
   12845 
   12846 /**
   12847  * Orders loads and stores of a work-item
   12848  * executing a kernel. This means that loads
   12849  * and stores preceding the mem_fence will
   12850  * be committed to memory before any loads
   12851  * and stores following the mem_fence.
   12852  * The flags argument specifies the memory
   12853  * address space and can be set to a
   12854  * combination of the following literal
   12855  * values:
   12856  * CLK_LOCAL_MEM_FENCE
   12857  * CLK_GLOBAL_MEM_FENCE.
   12858  */
   12859 void __ovld mem_fence(cl_mem_fence_flags flags);
   12860 
   12861 /**
   12862  * Read memory barrier that orders only
   12863  * loads.
   12864  * The flags argument specifies the memory
   12865  * address space and can be set to to a
   12866  * combination of the following literal
   12867  * values:
   12868  * CLK_LOCAL_MEM_FENCE
   12869  * CLK_GLOBAL_MEM_FENCE.
   12870  */
   12871 void __ovld read_mem_fence(cl_mem_fence_flags flags);
   12872 
   12873 /**
   12874  * Write memory barrier that orders only
   12875  * stores.
   12876  * The flags argument specifies the memory
   12877  * address space and can be set to to a
   12878  * combination of the following literal
   12879  * values:
   12880  * CLK_LOCAL_MEM_FENCE
   12881  * CLK_GLOBAL_MEM_FENCE.
   12882  */
   12883 void __ovld write_mem_fence(cl_mem_fence_flags flags);
   12884 
   12885 // OpenCL v2.0 s6.13.9 - Address Space Qualifier Functions
   12886 
   12887 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12888 cl_mem_fence_flags __ovld get_fence(const void *ptr);
   12889 cl_mem_fence_flags __ovld get_fence(void *ptr);
   12890 
   12891 /**
   12892  * Builtin functions to_global, to_local, and to_private need to be declared as Clang builtin functions
   12893  * and checked in Sema since they should be declared as
   12894  *   addr gentype* to_addr (gentype*);
   12895  * where gentype is builtin type or user defined type.
   12896  */
   12897 
   12898 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12899 
   12900 // 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
   12901 
   12902 /**
   12903  * event_t async_work_group_copy (
   12904  * __global gentype *dst,
   12905  * const __local gentype *src,
   12906  * size_t num_elements,
   12907  * event_t event)
   12908  * Perform an async copy of num_elements
   12909  * gentype elements from src to dst. The async
   12910  * copy is performed by all work-items in a workgroup
   12911  * and this built-in function must therefore
   12912  * be encountered by all work-items in a workgroup
   12913  * executing the kernel with the same
   12914  * argument values; otherwise the results are
   12915  * undefined.
   12916  * Returns an event object that can be used by
   12917  * wait_group_events to wait for the async copy
   12918  * to finish. The event argument can also be used
   12919  * to associate the async_work_group_copy with
   12920  * a previous async copy allowing an event to be
   12921  * shared by multiple async copies; otherwise event
   12922  * should be zero.
   12923  * If event argument is non-zero, the event object
   12924  * supplied in event argument will be returned.
   12925  * This function does not perform any implicit
   12926  * synchronization of source data such as using a
   12927  * barrier before performing the copy.
   12928  */
   12929 event_t __ovld async_work_group_copy(__local char *dst, const __global char *src, size_t num_elements, event_t event);
   12930 event_t __ovld async_work_group_copy(__local uchar *dst, const __global uchar *src, size_t num_elements, event_t event);
   12931 event_t __ovld async_work_group_copy(__local short *dst, const __global short *src, size_t num_elements, event_t event);
   12932 event_t __ovld async_work_group_copy(__local ushort *dst, const __global ushort *src, size_t num_elements, event_t event);
   12933 event_t __ovld async_work_group_copy(__local int *dst, const __global int *src, size_t num_elements, event_t event);
   12934 event_t __ovld async_work_group_copy(__local uint *dst, const __global uint *src, size_t num_elements, event_t event);
   12935 event_t __ovld async_work_group_copy(__local long *dst, const __global long *src, size_t num_elements, event_t event);
   12936 event_t __ovld async_work_group_copy(__local ulong *dst, const __global ulong *src, size_t num_elements, event_t event);
   12937 event_t __ovld async_work_group_copy(__local float *dst, const __global float *src, size_t num_elements, event_t event);
   12938 event_t __ovld async_work_group_copy(__local char2 *dst, const __global char2 *src, size_t num_elements, event_t event);
   12939 event_t __ovld async_work_group_copy(__local uchar2 *dst, const __global uchar2 *src, size_t num_elements, event_t event);
   12940 event_t __ovld async_work_group_copy(__local short2 *dst, const __global short2 *src, size_t num_elements, event_t event);
   12941 event_t __ovld async_work_group_copy(__local ushort2 *dst, const __global ushort2 *src, size_t num_elements, event_t event);
   12942 event_t __ovld async_work_group_copy(__local int2 *dst, const __global int2 *src, size_t num_elements, event_t event);
   12943 event_t __ovld async_work_group_copy(__local uint2 *dst, const __global uint2 *src, size_t num_elements, event_t event);
   12944 event_t __ovld async_work_group_copy(__local long2 *dst, const __global long2 *src, size_t num_elements, event_t event);
   12945 event_t __ovld async_work_group_copy(__local ulong2 *dst, const __global ulong2 *src, size_t num_elements, event_t event);
   12946 event_t __ovld async_work_group_copy(__local float2 *dst, const __global float2 *src, size_t num_elements, event_t event);
   12947 event_t __ovld async_work_group_copy(__local char3 *dst, const __global char3 *src, size_t num_elements, event_t event);
   12948 event_t __ovld async_work_group_copy(__local uchar3 *dst, const __global uchar3 *src, size_t num_elements, event_t event);
   12949 event_t __ovld async_work_group_copy(__local short3 *dst, const __global short3 *src, size_t num_elements, event_t event);
   12950 event_t __ovld async_work_group_copy(__local ushort3 *dst, const __global ushort3 *src, size_t num_elements, event_t event);
   12951 event_t __ovld async_work_group_copy(__local int3 *dst, const __global int3 *src, size_t num_elements, event_t event);
   12952 event_t __ovld async_work_group_copy(__local uint3 *dst, const __global uint3 *src, size_t num_elements, event_t event);
   12953 event_t __ovld async_work_group_copy(__local long3 *dst, const __global long3 *src, size_t num_elements, event_t event);
   12954 event_t __ovld async_work_group_copy(__local ulong3 *dst, const __global ulong3 *src, size_t num_elements, event_t event);
   12955 event_t __ovld async_work_group_copy(__local float3 *dst, const __global float3 *src, size_t num_elements, event_t event);
   12956 event_t __ovld async_work_group_copy(__local char4 *dst, const __global char4 *src, size_t num_elements, event_t event);
   12957 event_t __ovld async_work_group_copy(__local uchar4 *dst, const __global uchar4 *src, size_t num_elements, event_t event);
   12958 event_t __ovld async_work_group_copy(__local short4 *dst, const __global short4 *src, size_t num_elements, event_t event);
   12959 event_t __ovld async_work_group_copy(__local ushort4 *dst, const __global ushort4 *src, size_t num_elements, event_t event);
   12960 event_t __ovld async_work_group_copy(__local int4 *dst, const __global int4 *src, size_t num_elements, event_t event);
   12961 event_t __ovld async_work_group_copy(__local uint4 *dst, const __global uint4 *src, size_t num_elements, event_t event);
   12962 event_t __ovld async_work_group_copy(__local long4 *dst, const __global long4 *src, size_t num_elements, event_t event);
   12963 event_t __ovld async_work_group_copy(__local ulong4 *dst, const __global ulong4 *src, size_t num_elements, event_t event);
   12964 event_t __ovld async_work_group_copy(__local float4 *dst, const __global float4 *src, size_t num_elements, event_t event);
   12965 event_t __ovld async_work_group_copy(__local char8 *dst, const __global char8 *src, size_t num_elements, event_t event);
   12966 event_t __ovld async_work_group_copy(__local uchar8 *dst, const __global uchar8 *src, size_t num_elements, event_t event);
   12967 event_t __ovld async_work_group_copy(__local short8 *dst, const __global short8 *src, size_t num_elements, event_t event);
   12968 event_t __ovld async_work_group_copy(__local ushort8 *dst, const __global ushort8 *src, size_t num_elements, event_t event);
   12969 event_t __ovld async_work_group_copy(__local int8 *dst, const __global int8 *src, size_t num_elements, event_t event);
   12970 event_t __ovld async_work_group_copy(__local uint8 *dst, const __global uint8 *src, size_t num_elements, event_t event);
   12971 event_t __ovld async_work_group_copy(__local long8 *dst, const __global long8 *src, size_t num_elements, event_t event);
   12972 event_t __ovld async_work_group_copy(__local ulong8 *dst, const __global ulong8 *src, size_t num_elements, event_t event);
   12973 event_t __ovld async_work_group_copy(__local float8 *dst, const __global float8 *src, size_t num_elements, event_t event);
   12974 event_t __ovld async_work_group_copy(__local char16 *dst, const __global char16 *src, size_t num_elements, event_t event);
   12975 event_t __ovld async_work_group_copy(__local uchar16 *dst, const __global uchar16 *src, size_t num_elements, event_t event);
   12976 event_t __ovld async_work_group_copy(__local short16 *dst, const __global short16 *src, size_t num_elements, event_t event);
   12977 event_t __ovld async_work_group_copy(__local ushort16 *dst, const __global ushort16 *src, size_t num_elements, event_t event);
   12978 event_t __ovld async_work_group_copy(__local int16 *dst, const __global int16 *src, size_t num_elements, event_t event);
   12979 event_t __ovld async_work_group_copy(__local uint16 *dst, const __global uint16 *src, size_t num_elements, event_t event);
   12980 event_t __ovld async_work_group_copy(__local long16 *dst, const __global long16 *src, size_t num_elements, event_t event);
   12981 event_t __ovld async_work_group_copy(__local ulong16 *dst, const __global ulong16 *src, size_t num_elements, event_t event);
   12982 event_t __ovld async_work_group_copy(__local float16 *dst, const __global float16 *src, size_t num_elements, event_t event);
   12983 event_t __ovld async_work_group_copy(__global char *dst, const __local char *src, size_t num_elements, event_t event);
   12984 event_t __ovld async_work_group_copy(__global uchar *dst, const __local uchar *src, size_t num_elements, event_t event);
   12985 event_t __ovld async_work_group_copy(__global short *dst, const __local short *src, size_t num_elements, event_t event);
   12986 event_t __ovld async_work_group_copy(__global ushort *dst, const __local ushort *src, size_t num_elements, event_t event);
   12987 event_t __ovld async_work_group_copy(__global int *dst, const __local int *src, size_t num_elements, event_t event);
   12988 event_t __ovld async_work_group_copy(__global uint *dst, const __local uint *src, size_t num_elements, event_t event);
   12989 event_t __ovld async_work_group_copy(__global long *dst, const __local long *src, size_t num_elements, event_t event);
   12990 event_t __ovld async_work_group_copy(__global ulong *dst, const __local ulong *src, size_t num_elements, event_t event);
   12991 event_t __ovld async_work_group_copy(__global float *dst, const __local float *src, size_t num_elements, event_t event);
   12992 event_t __ovld async_work_group_copy(__global char2 *dst, const __local char2 *src, size_t num_elements, event_t event);
   12993 event_t __ovld async_work_group_copy(__global uchar2 *dst, const __local uchar2 *src, size_t num_elements, event_t event);
   12994 event_t __ovld async_work_group_copy(__global short2 *dst, const __local short2 *src, size_t num_elements, event_t event);
   12995 event_t __ovld async_work_group_copy(__global ushort2 *dst, const __local ushort2 *src, size_t num_elements, event_t event);
   12996 event_t __ovld async_work_group_copy(__global int2 *dst, const __local int2 *src, size_t num_elements, event_t event);
   12997 event_t __ovld async_work_group_copy(__global uint2 *dst, const __local uint2 *src, size_t num_elements, event_t event);
   12998 event_t __ovld async_work_group_copy(__global long2 *dst, const __local long2 *src, size_t num_elements, event_t event);
   12999 event_t __ovld async_work_group_copy(__global ulong2 *dst, const __local ulong2 *src, size_t num_elements, event_t event);
   13000 event_t __ovld async_work_group_copy(__global float2 *dst, const __local float2 *src, size_t num_elements, event_t event);
   13001 event_t __ovld async_work_group_copy(__global char3 *dst, const __local char3 *src, size_t num_elements, event_t event);
   13002 event_t __ovld async_work_group_copy(__global uchar3 *dst, const __local uchar3 *src, size_t num_elements, event_t event);
   13003 event_t __ovld async_work_group_copy(__global short3 *dst, const __local short3 *src, size_t num_elements, event_t event);
   13004 event_t __ovld async_work_group_copy(__global ushort3 *dst, const __local ushort3 *src, size_t num_elements, event_t event);
   13005 event_t __ovld async_work_group_copy(__global int3 *dst, const __local int3 *src, size_t num_elements, event_t event);
   13006 event_t __ovld async_work_group_copy(__global uint3 *dst, const __local uint3 *src, size_t num_elements, event_t event);
   13007 event_t __ovld async_work_group_copy(__global long3 *dst, const __local long3 *src, size_t num_elements, event_t event);
   13008 event_t __ovld async_work_group_copy(__global ulong3 *dst, const __local ulong3 *src, size_t num_elements, event_t event);
   13009 event_t __ovld async_work_group_copy(__global float3 *dst, const __local float3 *src, size_t num_elements, event_t event);
   13010 event_t __ovld async_work_group_copy(__global char4 *dst, const __local char4 *src, size_t num_elements, event_t event);
   13011 event_t __ovld async_work_group_copy(__global uchar4 *dst, const __local uchar4 *src, size_t num_elements, event_t event);
   13012 event_t __ovld async_work_group_copy(__global short4 *dst, const __local short4 *src, size_t num_elements, event_t event);
   13013 event_t __ovld async_work_group_copy(__global ushort4 *dst, const __local ushort4 *src, size_t num_elements, event_t event);
   13014 event_t __ovld async_work_group_copy(__global int4 *dst, const __local int4 *src, size_t num_elements, event_t event);
   13015 event_t __ovld async_work_group_copy(__global uint4 *dst, const __local uint4 *src, size_t num_elements, event_t event);
   13016 event_t __ovld async_work_group_copy(__global long4 *dst, const __local long4 *src, size_t num_elements, event_t event);
   13017 event_t __ovld async_work_group_copy(__global ulong4 *dst, const __local ulong4 *src, size_t num_elements, event_t event);
   13018 event_t __ovld async_work_group_copy(__global float4 *dst, const __local float4 *src, size_t num_elements, event_t event);
   13019 event_t __ovld async_work_group_copy(__global char8 *dst, const __local char8 *src, size_t num_elements, event_t event);
   13020 event_t __ovld async_work_group_copy(__global uchar8 *dst, const __local uchar8 *src, size_t num_elements, event_t event);
   13021 event_t __ovld async_work_group_copy(__global short8 *dst, const __local short8 *src, size_t num_elements, event_t event);
   13022 event_t __ovld async_work_group_copy(__global ushort8 *dst, const __local ushort8 *src, size_t num_elements, event_t event);
   13023 event_t __ovld async_work_group_copy(__global int8 *dst, const __local int8 *src, size_t num_elements, event_t event);
   13024 event_t __ovld async_work_group_copy(__global uint8 *dst, const __local uint8 *src, size_t num_elements, event_t event);
   13025 event_t __ovld async_work_group_copy(__global long8 *dst, const __local long8 *src, size_t num_elements, event_t event);
   13026 event_t __ovld async_work_group_copy(__global ulong8 *dst, const __local ulong8 *src, size_t num_elements, event_t event);
   13027 event_t __ovld async_work_group_copy(__global float8 *dst, const __local float8 *src, size_t num_elements, event_t event);
   13028 event_t __ovld async_work_group_copy(__global char16 *dst, const __local char16 *src, size_t num_elements, event_t event);
   13029 event_t __ovld async_work_group_copy(__global uchar16 *dst, const __local uchar16 *src, size_t num_elements, event_t event);
   13030 event_t __ovld async_work_group_copy(__global short16 *dst, const __local short16 *src, size_t num_elements, event_t event);
   13031 event_t __ovld async_work_group_copy(__global ushort16 *dst, const __local ushort16 *src, size_t num_elements, event_t event);
   13032 event_t __ovld async_work_group_copy(__global int16 *dst, const __local int16 *src, size_t num_elements, event_t event);
   13033 event_t __ovld async_work_group_copy(__global uint16 *dst, const __local uint16 *src, size_t num_elements, event_t event);
   13034 event_t __ovld async_work_group_copy(__global long16 *dst, const __local long16 *src, size_t num_elements, event_t event);
   13035 event_t __ovld async_work_group_copy(__global ulong16 *dst, const __local ulong16 *src, size_t num_elements, event_t event);
   13036 event_t __ovld async_work_group_copy(__global float16 *dst, const __local float16 *src, size_t num_elements, event_t event);
   13037 #ifdef cl_khr_fp64
   13038 event_t __ovld async_work_group_copy(__local double *dst, const __global double *src, size_t num_elements, event_t event);
   13039 event_t __ovld async_work_group_copy(__local double2 *dst, const __global double2 *src, size_t num_elements, event_t event);
   13040 event_t __ovld async_work_group_copy(__local double3 *dst, const __global double3 *src, size_t num_elements, event_t event);
   13041 event_t __ovld async_work_group_copy(__local double4 *dst, const __global double4 *src, size_t num_elements, event_t event);
   13042 event_t __ovld async_work_group_copy(__local double8 *dst, const __global double8 *src, size_t num_elements, event_t event);
   13043 event_t __ovld async_work_group_copy(__local double16 *dst, const __global double16 *src, size_t num_elements, event_t event);
   13044 event_t __ovld async_work_group_copy(__global double *dst, const __local double *src, size_t num_elements, event_t event);
   13045 event_t __ovld async_work_group_copy(__global double2 *dst, const __local double2 *src, size_t num_elements, event_t event);
   13046 event_t __ovld async_work_group_copy(__global double3 *dst, const __local double3 *src, size_t num_elements, event_t event);
   13047 event_t __ovld async_work_group_copy(__global double4 *dst, const __local double4 *src, size_t num_elements, event_t event);
   13048 event_t __ovld async_work_group_copy(__global double8 *dst, const __local double8 *src, size_t num_elements, event_t event);
   13049 event_t __ovld async_work_group_copy(__global double16 *dst, const __local double16 *src, size_t num_elements, event_t event);
   13050 #endif //cl_khr_fp64
   13051 #ifdef cl_khr_fp16
   13052 event_t __ovld async_work_group_copy(__local half *dst, const __global half *src, size_t num_elements, event_t event);
   13053 event_t __ovld async_work_group_copy(__local half2 *dst, const __global half2 *src, size_t num_elements, event_t event);
   13054 event_t __ovld async_work_group_copy(__local half3 *dst, const __global half3 *src, size_t num_elements, event_t event);
   13055 event_t __ovld async_work_group_copy(__local half4 *dst, const __global half4 *src, size_t num_elements, event_t event);
   13056 event_t __ovld async_work_group_copy(__local half8 *dst, const __global half8 *src, size_t num_elements, event_t event);
   13057 event_t __ovld async_work_group_copy(__local half16 *dst, const __global half16 *src, size_t num_elements, event_t event);
   13058 event_t __ovld async_work_group_copy(__global half *dst, const __local half *src, size_t num_elements, event_t event);
   13059 event_t __ovld async_work_group_copy(__global half2 *dst, const __local half2 *src, size_t num_elements, event_t event);
   13060 event_t __ovld async_work_group_copy(__global half3 *dst, const __local half3 *src, size_t num_elements, event_t event);
   13061 event_t __ovld async_work_group_copy(__global half4 *dst, const __local half4 *src, size_t num_elements, event_t event);
   13062 event_t __ovld async_work_group_copy(__global half8 *dst, const __local half8 *src, size_t num_elements, event_t event);
   13063 event_t __ovld async_work_group_copy(__global half16 *dst, const __local half16 *src, size_t num_elements, event_t event);
   13064 #endif //cl_khr_fp16
   13065 
   13066 /**
   13067  * Perform an async gather of num_elements
   13068  * gentype elements from src to dst. The
   13069  * src_stride is the stride in elements for each
   13070  * gentype element read from src. The dst_stride
   13071  * is the stride in elements for each gentype
   13072  * element written to dst. The async gather is
   13073  * performed by all work-items in a work-group.
   13074  * This built-in function must therefore be
   13075  * encountered by all work-items in a work-group
   13076  * executing the kernel with the same argument
   13077  * values; otherwise the results are undefined.
   13078  * Returns an event object that can be used by
   13079  * wait_group_events to wait for the async copy
   13080  * to finish. The event argument can also be used
   13081  * to associate the
   13082  * async_work_group_strided_copy with a
   13083  * previous async copy allowing an event to be
   13084  * shared by multiple async copies; otherwise event
   13085  * should be zero.
   13086  * If event argument is non-zero, the event object
   13087  * supplied in event argument will be returned.
   13088  * This function does not perform any implicit
   13089  * synchronization of source data such as using a
   13090  * barrier before performing the copy.
   13091  */
   13092 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);
   13093 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);
   13094 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);
   13095 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);
   13096 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);
   13097 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);
   13098 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);
   13099 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);
   13100 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);
   13101 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);
   13102 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);
   13103 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);
   13104 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);
   13105 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);
   13106 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);
   13107 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);
   13108 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);
   13109 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);
   13110 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);
   13111 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);
   13112 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);
   13113 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);
   13114 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);
   13115 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);
   13116 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);
   13117 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);
   13118 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);
   13119 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);
   13120 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);
   13121 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);
   13122 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);
   13123 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);
   13124 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);
   13125 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);
   13126 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);
   13127 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);
   13128 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);
   13129 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);
   13130 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);
   13131 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);
   13132 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);
   13133 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);
   13134 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);
   13135 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);
   13136 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);
   13137 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);
   13138 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);
   13139 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);
   13140 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);
   13141 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);
   13142 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);
   13143 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);
   13144 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);
   13145 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);
   13146 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);
   13147 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);
   13148 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);
   13149 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);
   13150 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);
   13151 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);
   13152 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);
   13153 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);
   13154 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);
   13155 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);
   13156 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);
   13157 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);
   13158 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);
   13159 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);
   13160 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);
   13161 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);
   13162 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);
   13163 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);
   13164 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);
   13165 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);
   13166 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);
   13167 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);
   13168 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);
   13169 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);
   13170 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);
   13171 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);
   13172 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);
   13173 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);
   13174 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);
   13175 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);
   13176 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);
   13177 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);
   13178 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);
   13179 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);
   13180 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);
   13181 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);
   13182 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);
   13183 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);
   13184 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);
   13185 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);
   13186 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);
   13187 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);
   13188 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);
   13189 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);
   13190 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);
   13191 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);
   13192 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);
   13193 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);
   13194 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);
   13195 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);
   13196 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);
   13197 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);
   13198 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);
   13199 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);
   13200 #ifdef cl_khr_fp64
   13201 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);
   13202 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);
   13203 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);
   13204 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);
   13205 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);
   13206 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);
   13207 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);
   13208 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);
   13209 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);
   13210 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);
   13211 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);
   13212 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);
   13213 #endif //cl_khr_fp64
   13214 #ifdef cl_khr_fp16
   13215 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);
   13216 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);
   13217 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);
   13218 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);
   13219 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);
   13220 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);
   13221 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);
   13222 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);
   13223 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);
   13224 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);
   13225 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);
   13226 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);
   13227 #endif //cl_khr_fp16
   13228 
   13229 /**
   13230  * Wait for events that identify the
   13231  * async_work_group_copy operations to
   13232  * complete. The event objects specified in
   13233  * event_list will be released after the wait is
   13234  * performed.
   13235  * This function must be encountered by all workitems
   13236  * in a work-group executing the kernel with
   13237  * the same num_events and event objects specified
   13238  * in event_list; otherwise the results are undefined.
   13239  */
   13240 void __ovld wait_group_events(int num_events, event_t *event_list);
   13241 
   13242 /**
   13243  * Prefetch num_elements * sizeof(gentype)
   13244  * bytes into the global cache. The prefetch
   13245  * instruction is applied to a work-item in a workgroup
   13246  * and does not affect the functional
   13247  * behavior of the kernel.
   13248  */
   13249 void __ovld prefetch(const __global char *p, size_t num_elements);
   13250 void __ovld prefetch(const __global uchar *p, size_t num_elements);
   13251 void __ovld prefetch(const __global short *p, size_t num_elements);
   13252 void __ovld prefetch(const __global ushort *p, size_t num_elements);
   13253 void __ovld prefetch(const __global int *p, size_t num_elements);
   13254 void __ovld prefetch(const __global uint *p, size_t num_elements);
   13255 void __ovld prefetch(const __global long *p, size_t num_elements);
   13256 void __ovld prefetch(const __global ulong *p, size_t num_elements);
   13257 void __ovld prefetch(const __global float *p, size_t num_elements);
   13258 void __ovld prefetch(const __global char2 *p, size_t num_elements);
   13259 void __ovld prefetch(const __global uchar2 *p, size_t num_elements);
   13260 void __ovld prefetch(const __global short2 *p, size_t num_elements);
   13261 void __ovld prefetch(const __global ushort2 *p, size_t num_elements);
   13262 void __ovld prefetch(const __global int2 *p, size_t num_elements);
   13263 void __ovld prefetch(const __global uint2 *p, size_t num_elements);
   13264 void __ovld prefetch(const __global long2 *p, size_t num_elements);
   13265 void __ovld prefetch(const __global ulong2 *p, size_t num_elements);
   13266 void __ovld prefetch(const __global float2 *p, size_t num_elements);
   13267 void __ovld prefetch(const __global char3 *p, size_t num_elements);
   13268 void __ovld prefetch(const __global uchar3 *p, size_t num_elements);
   13269 void __ovld prefetch(const __global short3 *p, size_t num_elements);
   13270 void __ovld prefetch(const __global ushort3 *p, size_t num_elements);
   13271 void __ovld prefetch(const __global int3 *p, size_t num_elements);
   13272 void __ovld prefetch(const __global uint3 *p, size_t num_elements);
   13273 void __ovld prefetch(const __global long3 *p, size_t num_elements);
   13274 void __ovld prefetch(const __global ulong3 *p, size_t num_elements);
   13275 void __ovld prefetch(const __global float3 *p, size_t num_elements);
   13276 void __ovld prefetch(const __global char4 *p, size_t num_elements);
   13277 void __ovld prefetch(const __global uchar4 *p, size_t num_elements);
   13278 void __ovld prefetch(const __global short4 *p, size_t num_elements);
   13279 void __ovld prefetch(const __global ushort4 *p, size_t num_elements);
   13280 void __ovld prefetch(const __global int4 *p, size_t num_elements);
   13281 void __ovld prefetch(const __global uint4 *p, size_t num_elements);
   13282 void __ovld prefetch(const __global long4 *p, size_t num_elements);
   13283 void __ovld prefetch(const __global ulong4 *p, size_t num_elements);
   13284 void __ovld prefetch(const __global float4 *p, size_t num_elements);
   13285 void __ovld prefetch(const __global char8 *p, size_t num_elements);
   13286 void __ovld prefetch(const __global uchar8 *p, size_t num_elements);
   13287 void __ovld prefetch(const __global short8 *p, size_t num_elements);
   13288 void __ovld prefetch(const __global ushort8 *p, size_t num_elements);
   13289 void __ovld prefetch(const __global int8 *p, size_t num_elements);
   13290 void __ovld prefetch(const __global uint8 *p, size_t num_elements);
   13291 void __ovld prefetch(const __global long8 *p, size_t num_elements);
   13292 void __ovld prefetch(const __global ulong8 *p, size_t num_elements);
   13293 void __ovld prefetch(const __global float8 *p, size_t num_elements);
   13294 void __ovld prefetch(const __global char16 *p, size_t num_elements);
   13295 void __ovld prefetch(const __global uchar16 *p, size_t num_elements);
   13296 void __ovld prefetch(const __global short16 *p, size_t num_elements);
   13297 void __ovld prefetch(const __global ushort16 *p, size_t num_elements);
   13298 void __ovld prefetch(const __global int16 *p, size_t num_elements);
   13299 void __ovld prefetch(const __global uint16 *p, size_t num_elements);
   13300 void __ovld prefetch(const __global long16 *p, size_t num_elements);
   13301 void __ovld prefetch(const __global ulong16 *p, size_t num_elements);
   13302 void __ovld prefetch(const __global float16 *p, size_t num_elements);
   13303 #ifdef cl_khr_fp64
   13304 void __ovld prefetch(const __global double *p, size_t num_elements);
   13305 void __ovld prefetch(const __global double2 *p, size_t num_elements);
   13306 void __ovld prefetch(const __global double3 *p, size_t num_elements);
   13307 void __ovld prefetch(const __global double4 *p, size_t num_elements);
   13308 void __ovld prefetch(const __global double8 *p, size_t num_elements);
   13309 void __ovld prefetch(const __global double16 *p, size_t num_elements);
   13310 #endif //cl_khr_fp64
   13311 #ifdef cl_khr_fp16
   13312 void __ovld prefetch(const __global half *p, size_t num_elements);
   13313 void __ovld prefetch(const __global half2 *p, size_t num_elements);
   13314 void __ovld prefetch(const __global half3 *p, size_t num_elements);
   13315 void __ovld prefetch(const __global half4 *p, size_t num_elements);
   13316 void __ovld prefetch(const __global half8 *p, size_t num_elements);
   13317 void __ovld prefetch(const __global half16 *p, size_t num_elements);
   13318 #endif // cl_khr_fp16
   13319 
   13320 // OpenCL v1.1 s6.11.1, v1.2 s6.12.11 - Atomic Functions
   13321 
   13322 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   13323 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
   13324 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
   13325 #endif
   13326 /**
   13327  * Read the 32-bit value (referred to as old)
   13328  * stored at location pointed by p. Compute
   13329  * (old + val) and store result at location
   13330  * pointed by p. The function returns old.
   13331  */
   13332 int __ovld atomic_add(volatile __global int *p, int val);
   13333 unsigned int __ovld atomic_add(volatile __global unsigned int *p, unsigned int val);
   13334 int __ovld atomic_add(volatile __local int *p, int val);
   13335 unsigned int __ovld atomic_add(volatile __local unsigned int *p, unsigned int val);
   13336 
   13337 #if defined(cl_khr_global_int32_base_atomics)
   13338 int __ovld atom_add(volatile __global int *p, int val);
   13339 unsigned int __ovld atom_add(volatile __global unsigned int *p, unsigned int val);
   13340 #endif
   13341 #if defined(cl_khr_local_int32_base_atomics)
   13342 int __ovld atom_add(volatile __local int *p, int val);
   13343 unsigned int __ovld atom_add(volatile __local unsigned int *p, unsigned int val);
   13344 #endif
   13345 
   13346 #if defined(cl_khr_int64_base_atomics)
   13347 long __ovld atom_add(volatile __global long *p, long val);
   13348 unsigned long __ovld atom_add(volatile __global unsigned long *p, unsigned long val);
   13349 long __ovld atom_add(volatile __local long *p, long val);
   13350 unsigned long __ovld atom_add(volatile __local unsigned long *p, unsigned long val);
   13351 #endif
   13352 
   13353 /**
   13354  * Read the 32-bit value (referred to as old) stored at location pointed by p.
   13355  * Compute (old - val) and store result at location pointed by p. The function
   13356  * returns old.
   13357  */
   13358 int __ovld atomic_sub(volatile __global int *p, int val);
   13359 unsigned int __ovld atomic_sub(volatile __global unsigned int *p, unsigned int val);
   13360 int __ovld atomic_sub(volatile __local int *p, int val);
   13361 unsigned int __ovld atomic_sub(volatile __local unsigned int *p, unsigned int val);
   13362 
   13363 #if defined(cl_khr_global_int32_base_atomics)
   13364 int __ovld atom_sub(volatile __global int *p, int val);
   13365 unsigned int __ovld atom_sub(volatile __global unsigned int *p, unsigned int val);
   13366 #endif
   13367 #if defined(cl_khr_local_int32_base_atomics)
   13368 int __ovld atom_sub(volatile __local int *p, int val);
   13369 unsigned int __ovld atom_sub(volatile __local unsigned int *p, unsigned int val);
   13370 #endif
   13371 
   13372 #if defined(cl_khr_int64_base_atomics)
   13373 long __ovld atom_sub(volatile __global long *p, long val);
   13374 unsigned long __ovld atom_sub(volatile __global unsigned long *p, unsigned long val);
   13375 long __ovld atom_sub(volatile __local long *p, long val);
   13376 unsigned long __ovld atom_sub(volatile __local unsigned long *p, unsigned long val);
   13377 #endif
   13378 
   13379 /**
   13380  * Swaps the old value stored at location p
   13381  * with new value given by val. Returns old
   13382  * value.
   13383  */
   13384 int __ovld atomic_xchg(volatile __global int *p, int val);
   13385 unsigned int __ovld atomic_xchg(volatile __global unsigned int *p, unsigned int val);
   13386 int __ovld atomic_xchg(volatile __local int *p, int val);
   13387 unsigned int __ovld atomic_xchg(volatile __local unsigned int *p, unsigned int val);
   13388 float __ovld atomic_xchg(volatile __global float *p, float val);
   13389 float __ovld atomic_xchg(volatile __local float *p, float val);
   13390 
   13391 #if defined(cl_khr_global_int32_base_atomics)
   13392 int __ovld atom_xchg(volatile __global int *p, int val);
   13393 unsigned int __ovld atom_xchg(volatile __global unsigned int *p, unsigned int val);
   13394 #endif
   13395 #if defined(cl_khr_local_int32_base_atomics)
   13396 int __ovld atom_xchg(volatile __local int *p, int val);
   13397 unsigned int __ovld atom_xchg(volatile __local unsigned int *p, unsigned int val);
   13398 #endif
   13399 
   13400 #if defined(cl_khr_int64_base_atomics)
   13401 long __ovld atom_xchg(volatile __global long *p, long val);
   13402 long __ovld atom_xchg(volatile __local long *p, long val);
   13403 unsigned long __ovld atom_xchg(volatile __global unsigned long *p, unsigned long val);
   13404 unsigned long __ovld atom_xchg(volatile __local unsigned long *p, unsigned long val);
   13405 #endif
   13406 
   13407 /**
   13408  * Read the 32-bit value (referred to as old)
   13409  * stored at location pointed by p. Compute
   13410  * (old + 1) and store result at location
   13411  * pointed by p. The function returns old.
   13412  */
   13413 int __ovld atomic_inc(volatile __global int *p);
   13414 unsigned int __ovld atomic_inc(volatile __global unsigned int *p);
   13415 int __ovld atomic_inc(volatile __local int *p);
   13416 unsigned int __ovld atomic_inc(volatile __local unsigned int *p);
   13417 
   13418 #if defined(cl_khr_global_int32_base_atomics)
   13419 int __ovld atom_inc(volatile __global int *p);
   13420 unsigned int __ovld atom_inc(volatile __global unsigned int *p);
   13421 #endif
   13422 #if defined(cl_khr_local_int32_base_atomics)
   13423 int __ovld atom_inc(volatile __local int *p);
   13424 unsigned int __ovld atom_inc(volatile __local unsigned int *p);
   13425 #endif
   13426 
   13427 #if defined(cl_khr_int64_base_atomics)
   13428 long __ovld atom_inc(volatile __global long *p);
   13429 unsigned long __ovld atom_inc(volatile __global unsigned long *p);
   13430 long __ovld atom_inc(volatile __local long *p);
   13431 unsigned long __ovld atom_inc(volatile __local unsigned long *p);
   13432 #endif
   13433 
   13434 /**
   13435  * Read the 32-bit value (referred to as old)
   13436  * stored at location pointed by p. Compute
   13437  * (old - 1) and store result at location
   13438  * pointed by p. The function returns old.
   13439  */
   13440 int __ovld atomic_dec(volatile __global int *p);
   13441 unsigned int __ovld atomic_dec(volatile __global unsigned int *p);
   13442 int __ovld atomic_dec(volatile __local int *p);
   13443 unsigned int __ovld atomic_dec(volatile __local unsigned int *p);
   13444 
   13445 #if defined(cl_khr_global_int32_base_atomics)
   13446 int __ovld atom_dec(volatile __global int *p);
   13447 unsigned int __ovld atom_dec(volatile __global unsigned int *p);
   13448 #endif
   13449 #if defined(cl_khr_local_int32_base_atomics)
   13450 int __ovld atom_dec(volatile __local int *p);
   13451 unsigned int __ovld atom_dec(volatile __local unsigned int *p);
   13452 #endif
   13453 
   13454 #if defined(cl_khr_int64_base_atomics)
   13455 long __ovld atom_dec(volatile __global long *p);
   13456 unsigned long __ovld atom_dec(volatile __global unsigned long *p);
   13457 long __ovld atom_dec(volatile __local long *p);
   13458 unsigned long __ovld atom_dec(volatile __local unsigned long *p);
   13459 #endif
   13460 
   13461 /**
   13462  * Read the 32-bit value (referred to as old)
   13463  * stored at location pointed by p. Compute
   13464  * (old == cmp) ? val : old and store result at
   13465  * location pointed by p. The function
   13466  * returns old.
   13467  */
   13468 int __ovld atomic_cmpxchg(volatile __global int *p, int cmp, int val);
   13469 unsigned int __ovld atomic_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
   13470 int __ovld atomic_cmpxchg(volatile __local int *p, int cmp, int val);
   13471 unsigned int __ovld atomic_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
   13472 
   13473 #if defined(cl_khr_global_int32_base_atomics)
   13474 int __ovld atom_cmpxchg(volatile __global int *p, int cmp, int val);
   13475 unsigned int __ovld atom_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
   13476 #endif
   13477 #if defined(cl_khr_local_int32_base_atomics)
   13478 int __ovld atom_cmpxchg(volatile __local int *p, int cmp, int val);
   13479 unsigned int __ovld atom_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
   13480 #endif
   13481 
   13482 #if defined(cl_khr_int64_base_atomics)
   13483 long __ovld atom_cmpxchg(volatile __global long *p, long cmp, long val);
   13484 unsigned long __ovld atom_cmpxchg(volatile __global unsigned long *p, unsigned long cmp, unsigned long val);
   13485 long __ovld atom_cmpxchg(volatile __local long *p, long cmp, long val);
   13486 unsigned long __ovld atom_cmpxchg(volatile __local unsigned long *p, unsigned long cmp, unsigned long val);
   13487 #endif
   13488 
   13489 /**
   13490  * Read the 32-bit value (referred to as old)
   13491  * stored at location pointed by p. Compute
   13492  * min(old, val) and store minimum value at
   13493  * location pointed by p. The function
   13494  * returns old.
   13495  */
   13496 int __ovld atomic_min(volatile __global int *p, int val);
   13497 unsigned int __ovld atomic_min(volatile __global unsigned int *p, unsigned int val);
   13498 int __ovld atomic_min(volatile __local int *p, int val);
   13499 unsigned int __ovld atomic_min(volatile __local unsigned int *p, unsigned int val);
   13500 
   13501 #if defined(cl_khr_global_int32_extended_atomics)
   13502 int __ovld atom_min(volatile __global int *p, int val);
   13503 unsigned int __ovld atom_min(volatile __global unsigned int *p, unsigned int val);
   13504 #endif
   13505 #if defined(cl_khr_local_int32_extended_atomics)
   13506 int __ovld atom_min(volatile __local int *p, int val);
   13507 unsigned int __ovld atom_min(volatile __local unsigned int *p, unsigned int val);
   13508 #endif
   13509 
   13510 #if defined(cl_khr_int64_extended_atomics)
   13511 long __ovld atom_min(volatile __global long *p, long val);
   13512 unsigned long __ovld atom_min(volatile __global unsigned long *p, unsigned long val);
   13513 long __ovld atom_min(volatile __local long *p, long val);
   13514 unsigned long __ovld atom_min(volatile __local unsigned long *p, unsigned long val);
   13515 #endif
   13516 
   13517 /**
   13518  * Read the 32-bit value (referred to as old)
   13519  * stored at location pointed by p. Compute
   13520  * max(old, val) and store maximum value at
   13521  * location pointed by p. The function
   13522  * returns old.
   13523  */
   13524 int __ovld atomic_max(volatile __global int *p, int val);
   13525 unsigned int __ovld atomic_max(volatile __global unsigned int *p, unsigned int val);
   13526 int __ovld atomic_max(volatile __local int *p, int val);
   13527 unsigned int __ovld atomic_max(volatile __local unsigned int *p, unsigned int val);
   13528 
   13529 #if defined(cl_khr_global_int32_extended_atomics)
   13530 int __ovld atom_max(volatile __global int *p, int val);
   13531 unsigned int __ovld atom_max(volatile __global unsigned int *p, unsigned int val);
   13532 #endif
   13533 #if defined(cl_khr_local_int32_extended_atomics)
   13534 int __ovld atom_max(volatile __local int *p, int val);
   13535 unsigned int __ovld atom_max(volatile __local unsigned int *p, unsigned int val);
   13536 #endif
   13537 
   13538 #if defined(cl_khr_int64_extended_atomics)
   13539 long __ovld atom_max(volatile __global long *p, long val);
   13540 unsigned long __ovld atom_max(volatile __global unsigned long *p, unsigned long val);
   13541 long __ovld atom_max(volatile __local long *p, long val);
   13542 unsigned long __ovld atom_max(volatile __local unsigned long *p, unsigned long val);
   13543 #endif
   13544 
   13545 /**
   13546  * Read the 32-bit value (referred to as old)
   13547  * stored at location pointed by p. Compute
   13548  * (old & val) and store result at location
   13549  * pointed by p. The function returns old.
   13550  */
   13551 int __ovld atomic_and(volatile __global int *p, int val);
   13552 unsigned int __ovld atomic_and(volatile __global unsigned int *p, unsigned int val);
   13553 int __ovld atomic_and(volatile __local int *p, int val);
   13554 unsigned int __ovld atomic_and(volatile __local unsigned int *p, unsigned int val);
   13555 
   13556 #if defined(cl_khr_global_int32_extended_atomics)
   13557 int __ovld atom_and(volatile __global int *p, int val);
   13558 unsigned int __ovld atom_and(volatile __global unsigned int *p, unsigned int val);
   13559 #endif
   13560 #if defined(cl_khr_local_int32_extended_atomics)
   13561 int __ovld atom_and(volatile __local int *p, int val);
   13562 unsigned int __ovld atom_and(volatile __local unsigned int *p, unsigned int val);
   13563 #endif
   13564 
   13565 #if defined(cl_khr_int64_extended_atomics)
   13566 long __ovld atom_and(volatile __global long *p, long val);
   13567 unsigned long __ovld atom_and(volatile __global unsigned long *p, unsigned long val);
   13568 long __ovld atom_and(volatile __local long *p, long val);
   13569 unsigned long __ovld atom_and(volatile __local unsigned long *p, unsigned long val);
   13570 #endif
   13571 
   13572 /**
   13573  * Read the 32-bit value (referred to as old)
   13574  * stored at location pointed by p. Compute
   13575  * (old | val) and store result at location
   13576  * pointed by p. The function returns old.
   13577  */
   13578 int __ovld atomic_or(volatile __global int *p, int val);
   13579 unsigned int __ovld atomic_or(volatile __global unsigned int *p, unsigned int val);
   13580 int __ovld atomic_or(volatile __local int *p, int val);
   13581 unsigned int __ovld atomic_or(volatile __local unsigned int *p, unsigned int val);
   13582 
   13583 #if defined(cl_khr_global_int32_extended_atomics)
   13584 int __ovld atom_or(volatile __global int *p, int val);
   13585 unsigned int __ovld atom_or(volatile __global unsigned int *p, unsigned int val);
   13586 #endif
   13587 #if defined(cl_khr_local_int32_extended_atomics)
   13588 int __ovld atom_or(volatile __local int *p, int val);
   13589 unsigned int __ovld atom_or(volatile __local unsigned int *p, unsigned int val);
   13590 #endif
   13591 
   13592 #if defined(cl_khr_int64_extended_atomics)
   13593 long __ovld atom_or(volatile __global long *p, long val);
   13594 unsigned long __ovld atom_or(volatile __global unsigned long *p, unsigned long val);
   13595 long __ovld atom_or(volatile __local long *p, long val);
   13596 unsigned long __ovld atom_or(volatile __local unsigned long *p, unsigned long val);
   13597 #endif
   13598 
   13599 /**
   13600  * Read the 32-bit value (referred to as old)
   13601  * stored at location pointed by p. Compute
   13602  * (old ^ val) and store result at location
   13603  * pointed by p. The function returns old.
   13604  */
   13605 int __ovld atomic_xor(volatile __global int *p, int val);
   13606 unsigned int __ovld atomic_xor(volatile __global unsigned int *p, unsigned int val);
   13607 int __ovld atomic_xor(volatile __local int *p, int val);
   13608 unsigned int __ovld atomic_xor(volatile __local unsigned int *p, unsigned int val);
   13609 
   13610 #if defined(cl_khr_global_int32_extended_atomics)
   13611 int __ovld atom_xor(volatile __global int *p, int val);
   13612 unsigned int __ovld atom_xor(volatile __global unsigned int *p, unsigned int val);
   13613 #endif
   13614 #if defined(cl_khr_local_int32_extended_atomics)
   13615 int __ovld atom_xor(volatile __local int *p, int val);
   13616 unsigned int __ovld atom_xor(volatile __local unsigned int *p, unsigned int val);
   13617 #endif
   13618 
   13619 #if defined(cl_khr_int64_extended_atomics)
   13620 long __ovld atom_xor(volatile __global long *p, long val);
   13621 unsigned long __ovld atom_xor(volatile __global unsigned long *p, unsigned long val);
   13622 long __ovld atom_xor(volatile __local long *p, long val);
   13623 unsigned long __ovld atom_xor(volatile __local unsigned long *p, unsigned long val);
   13624 #endif
   13625 
   13626 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   13627 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : disable
   13628 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : disable
   13629 #endif
   13630 
   13631 // OpenCL v2.0 s6.13.11 - Atomics Functions
   13632 
   13633 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13634 #ifndef ATOMIC_VAR_INIT
   13635 #define ATOMIC_VAR_INIT(x) (x)
   13636 #endif //ATOMIC_VAR_INIT
   13637 #define ATOMIC_FLAG_INIT 0
   13638 
   13639 // enum values aligned with what clang uses in EmitAtomicExpr()
   13640 typedef enum memory_order
   13641 {
   13642   memory_order_relaxed = __ATOMIC_RELAXED,
   13643   memory_order_acquire = __ATOMIC_ACQUIRE,
   13644   memory_order_release = __ATOMIC_RELEASE,
   13645   memory_order_acq_rel = __ATOMIC_ACQ_REL,
   13646   memory_order_seq_cst = __ATOMIC_SEQ_CST
   13647 } memory_order;
   13648 
   13649 // double atomics support requires extensions cl_khr_int64_base_atomics and cl_khr_int64_extended_atomics
   13650 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   13651 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
   13652 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
   13653 #endif
   13654 
   13655 // atomic_init()
   13656 void __ovld atomic_init(volatile atomic_int *object, int value);
   13657 void __ovld atomic_init(volatile atomic_uint *object, uint value);
   13658 void __ovld atomic_init(volatile atomic_float *object, float value);
   13659 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   13660 void __ovld atomic_init(volatile atomic_long *object, long value);
   13661 void __ovld atomic_init(volatile atomic_ulong *object, ulong value);
   13662 #ifdef cl_khr_fp64
   13663 void __ovld atomic_init(volatile atomic_double *object, double value);
   13664 #endif //cl_khr_fp64
   13665 #endif
   13666 
   13667 // atomic_work_item_fence()
   13668 void __ovld atomic_work_item_fence(cl_mem_fence_flags flags, memory_order order, memory_scope scope);
   13669 
   13670 // atomic_fetch()
   13671 
   13672 int __ovld atomic_fetch_add(volatile atomic_int *object, int operand);
   13673 int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order);
   13674 int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   13675 uint __ovld atomic_fetch_add(volatile atomic_uint *object, uint operand);
   13676 uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   13677 uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   13678 int __ovld atomic_fetch_sub(volatile atomic_int *object, int operand);
   13679 int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order);
   13680 int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   13681 uint __ovld atomic_fetch_sub(volatile atomic_uint *object, uint operand);
   13682 uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   13683 uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   13684 int __ovld atomic_fetch_or(volatile atomic_int *object, int operand);
   13685 int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order);
   13686 int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   13687 uint __ovld atomic_fetch_or(volatile atomic_uint *object, uint operand);
   13688 uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   13689 uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   13690 int __ovld atomic_fetch_xor(volatile atomic_int *object, int operand);
   13691 int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order);
   13692 int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   13693 uint __ovld atomic_fetch_xor(volatile atomic_uint *object, uint operand);
   13694 uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   13695 uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   13696 int __ovld atomic_fetch_and(volatile atomic_int *object, int operand);
   13697 int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order);
   13698 int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   13699 uint __ovld atomic_fetch_and(volatile atomic_uint *object, uint operand);
   13700 uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   13701 uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   13702 int __ovld atomic_fetch_min(volatile atomic_int *object, int operand);
   13703 int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order);
   13704 int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   13705 uint __ovld atomic_fetch_min(volatile atomic_uint *object, uint operand);
   13706 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   13707 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   13708 uint __ovld atomic_fetch_min(volatile atomic_uint *object, int operand);
   13709 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, int operand, memory_order order);
   13710 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, int operand, memory_order order, memory_scope scope);
   13711 int __ovld atomic_fetch_max(volatile atomic_int *object, int operand);
   13712 int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order);
   13713 int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   13714 uint __ovld atomic_fetch_max(volatile atomic_uint *object, uint operand);
   13715 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   13716 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   13717 uint __ovld atomic_fetch_max(volatile atomic_uint *object, int operand);
   13718 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, int operand, memory_order order);
   13719 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, int operand, memory_order order, memory_scope scope);
   13720 
   13721 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   13722 long __ovld atomic_fetch_add(volatile atomic_long *object, long operand);
   13723 long __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order);
   13724 long __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   13725 ulong __ovld atomic_fetch_add(volatile atomic_ulong *object, ulong operand);
   13726 ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   13727 ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   13728 long __ovld atomic_fetch_sub(volatile atomic_long *object, long operand);
   13729 long __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order);
   13730 long __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   13731 ulong __ovld atomic_fetch_sub(volatile atomic_ulong *object, ulong operand);
   13732 ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   13733 ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   13734 long __ovld atomic_fetch_or(volatile atomic_long *object, long operand);
   13735 long __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order);
   13736 long __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   13737 ulong __ovld atomic_fetch_or(volatile atomic_ulong *object, ulong operand);
   13738 ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   13739 ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   13740 long __ovld atomic_fetch_xor(volatile atomic_long *object, long operand);
   13741 long __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order);
   13742 long __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   13743 ulong __ovld atomic_fetch_xor(volatile atomic_ulong *object, ulong operand);
   13744 ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   13745 ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   13746 long __ovld atomic_fetch_and(volatile atomic_long *object, long operand);
   13747 long __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order);
   13748 long __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   13749 ulong __ovld atomic_fetch_and(volatile atomic_ulong *object, ulong operand);
   13750 ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   13751 ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   13752 long __ovld atomic_fetch_min(volatile atomic_long *object, long operand);
   13753 long __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order);
   13754 long __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   13755 ulong __ovld atomic_fetch_min(volatile atomic_ulong *object, ulong operand);
   13756 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   13757 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   13758 ulong __ovld atomic_fetch_min(volatile atomic_ulong *object, long operand);
   13759 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, long operand, memory_order order);
   13760 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, long operand, memory_order order, memory_scope scope);
   13761 long __ovld atomic_fetch_max(volatile atomic_long *object, long operand);
   13762 long __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order);
   13763 long __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   13764 ulong __ovld atomic_fetch_max(volatile atomic_ulong *object, ulong operand);
   13765 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   13766 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   13767 ulong __ovld atomic_fetch_max(volatile atomic_ulong *object, long operand);
   13768 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, long operand, memory_order order);
   13769 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, long operand, memory_order order, memory_scope scope);
   13770 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   13771 
   13772 // OpenCL v2.0 s6.13.11.7.5:
   13773 // add/sub: atomic type argument can be uintptr_t/intptr_t, value type argument can be ptrdiff_t.
   13774 // or/xor/and/min/max: atomic type argument can be intptr_t/uintptr_t, value type argument can be intptr_t/uintptr_t.
   13775 
   13776 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   13777 uintptr_t __ovld atomic_fetch_add(volatile atomic_uintptr_t *object, ptrdiff_t operand);
   13778 uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
   13779 uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
   13780 uintptr_t __ovld atomic_fetch_sub(volatile atomic_uintptr_t *object, ptrdiff_t operand);
   13781 uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
   13782 uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
   13783 
   13784 uintptr_t __ovld atomic_fetch_or(volatile atomic_uintptr_t *object, intptr_t operand);
   13785 uintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
   13786 uintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
   13787 uintptr_t __ovld atomic_fetch_xor(volatile atomic_uintptr_t *object, intptr_t operand);
   13788 uintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
   13789 uintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
   13790 uintptr_t __ovld atomic_fetch_and(volatile atomic_uintptr_t *object, intptr_t operand);
   13791 uintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
   13792 uintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
   13793 uintptr_t __ovld atomic_fetch_min(volatile atomic_uintptr_t *object, intptr_t opermax);
   13794 uintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
   13795 uintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
   13796 uintptr_t __ovld atomic_fetch_max(volatile atomic_uintptr_t *object, intptr_t opermax);
   13797 uintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
   13798 uintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
   13799 
   13800 intptr_t __ovld atomic_fetch_or(volatile atomic_intptr_t *object, uintptr_t operand);
   13801 intptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
   13802 intptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
   13803 intptr_t __ovld atomic_fetch_xor(volatile atomic_intptr_t *object, uintptr_t operand);
   13804 intptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
   13805 intptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
   13806 intptr_t __ovld atomic_fetch_and(volatile atomic_intptr_t *object, uintptr_t operand);
   13807 intptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
   13808 intptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
   13809 intptr_t __ovld atomic_fetch_min(volatile atomic_intptr_t *object, uintptr_t opermax);
   13810 intptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
   13811 intptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
   13812 intptr_t __ovld atomic_fetch_max(volatile atomic_intptr_t *object, uintptr_t opermax);
   13813 intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
   13814 intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
   13815 #endif
   13816 
   13817 // atomic_store()
   13818 
   13819 void __ovld atomic_store(volatile atomic_int *object, int desired);
   13820 void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order);
   13821 void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
   13822 void __ovld atomic_store(volatile atomic_uint *object, uint desired);
   13823 void __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order);
   13824 void __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
   13825 void __ovld atomic_store(volatile atomic_float *object, float desired);
   13826 void __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order);
   13827 void __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
   13828 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   13829 #ifdef cl_khr_fp64
   13830 void __ovld atomic_store(volatile atomic_double *object, double desired);
   13831 void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order);
   13832 void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
   13833 #endif //cl_khr_fp64
   13834 void __ovld atomic_store(volatile atomic_long *object, long desired);
   13835 void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order);
   13836 void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
   13837 void __ovld atomic_store(volatile atomic_ulong *object, ulong desired);
   13838 void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
   13839 void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
   13840 #endif
   13841 
   13842 // atomic_load()
   13843 
   13844 int __ovld atomic_load(volatile atomic_int *object);
   13845 int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order);
   13846 int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order, memory_scope scope);
   13847 uint __ovld atomic_load(volatile atomic_uint *object);
   13848 uint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order);
   13849 uint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order, memory_scope scope);
   13850 float __ovld atomic_load(volatile atomic_float *object);
   13851 float __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order);
   13852 float __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order, memory_scope scope);
   13853 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   13854 #ifdef cl_khr_fp64
   13855 double __ovld atomic_load(volatile atomic_double *object);
   13856 double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order);
   13857 double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order, memory_scope scope);
   13858 #endif //cl_khr_fp64
   13859 long __ovld atomic_load(volatile atomic_long *object);
   13860 long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order);
   13861 long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order, memory_scope scope);
   13862 ulong __ovld atomic_load(volatile atomic_ulong *object);
   13863 ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order);
   13864 ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order, memory_scope scope);
   13865 #endif
   13866 
   13867 // atomic_exchange()
   13868 
   13869 int __ovld atomic_exchange(volatile atomic_int *object, int desired);
   13870 int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order);
   13871 int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
   13872 uint __ovld atomic_exchange(volatile atomic_uint *object, uint desired);
   13873 uint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order);
   13874 uint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
   13875 float __ovld atomic_exchange(volatile atomic_float *object, float desired);
   13876 float __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order);
   13877 float __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
   13878 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   13879 #ifdef cl_khr_fp64
   13880 double __ovld atomic_exchange(volatile atomic_double *object, double desired);
   13881 double __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order);
   13882 double __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
   13883 #endif //cl_khr_fp64
   13884 long __ovld atomic_exchange(volatile atomic_long *object, long desired);
   13885 long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order);
   13886 long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
   13887 ulong __ovld atomic_exchange(volatile atomic_ulong *object, ulong desired);
   13888 ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
   13889 ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
   13890 #endif
   13891 
   13892 // atomic_compare_exchange_strong() and atomic_compare_exchange_weak()
   13893 
   13894 bool __ovld atomic_compare_exchange_strong(volatile atomic_int *object, int *expected, int desired);
   13895 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
   13896                                                                                  int desired, memory_order success, memory_order failure);
   13897 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
   13898                                                                                  int desired, memory_order success, memory_order failure, memory_scope scope);
   13899 bool __ovld atomic_compare_exchange_strong(volatile atomic_uint *object, uint *expected, uint desired);
   13900 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
   13901                                                                                  uint desired, memory_order success, memory_order failure);
   13902 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
   13903                                                                                  uint desired, memory_order success, memory_order failure, memory_scope scope);
   13904 bool __ovld atomic_compare_exchange_weak(volatile atomic_int *object, int *expected, int desired);
   13905 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
   13906                                                                                  int desired, memory_order success, memory_order failure);
   13907 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
   13908                                                                                  int desired, memory_order success, memory_order failure, memory_scope scope);
   13909 bool __ovld atomic_compare_exchange_weak(volatile atomic_uint *object, uint *expected, uint desired);
   13910 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
   13911                                                                                  uint desired, memory_order success, memory_order failure);
   13912 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
   13913                                                                                  uint desired, memory_order success, memory_order failure, memory_scope scope);
   13914 bool __ovld atomic_compare_exchange_strong(volatile atomic_float *object, float *expected, float desired);
   13915 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
   13916                                                                                  float desired, memory_order success, memory_order failure);
   13917 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
   13918                                                                                  float desired, memory_order success, memory_order failure, memory_scope scope);
   13919 bool __ovld atomic_compare_exchange_weak(volatile atomic_float *object, float *expected, float desired);
   13920 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
   13921                                                                                  float desired, memory_order success, memory_order failure);
   13922 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
   13923                                                                                  float desired, memory_order success, memory_order failure, memory_scope scope);
   13924 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   13925 #ifdef cl_khr_fp64
   13926 bool __ovld atomic_compare_exchange_strong(volatile atomic_double *object, double *expected, double desired);
   13927 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
   13928                                                                                  double desired, memory_order success, memory_order failure);
   13929 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
   13930                                                                                  double desired, memory_order success, memory_order failure, memory_scope scope);
   13931 bool __ovld atomic_compare_exchange_weak(volatile atomic_double *object, double *expected, double desired);
   13932 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
   13933                                                                                  double desired, memory_order success, memory_order failure);
   13934 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
   13935                                                                                  double desired, memory_order success, memory_order failure, memory_scope scope);
   13936 #endif //cl_khr_fp64
   13937 bool __ovld atomic_compare_exchange_strong(volatile atomic_long *object, long *expected, long desired);
   13938 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
   13939                                                                                  long desired, memory_order success, memory_order failure);
   13940 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
   13941                                                                                  long desired, memory_order success, memory_order failure, memory_scope scope);
   13942 bool __ovld atomic_compare_exchange_weak(volatile atomic_long *object, long *expected, long desired);
   13943 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
   13944                                                                                  long desired, memory_order success, memory_order failure);
   13945 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
   13946                                                                                  long desired, memory_order success, memory_order failure, memory_scope scope);
   13947 bool __ovld atomic_compare_exchange_strong(volatile atomic_ulong *object, ulong *expected, ulong desired);
   13948 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
   13949                                                                                  ulong desired, memory_order success, memory_order failure);
   13950 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
   13951                                                                                  ulong desired, memory_order success, memory_order failure, memory_scope scope);
   13952 bool __ovld atomic_compare_exchange_weak(volatile atomic_ulong *object, ulong *expected, ulong desired);
   13953 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
   13954                                                                                  ulong desired, memory_order success, memory_order failure);
   13955 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
   13956                                                                                  ulong desired, memory_order success, memory_order failure, memory_scope scope);
   13957 #endif
   13958 
   13959 // atomic_flag_test_and_set() and atomic_flag_clear()
   13960 
   13961 bool __ovld atomic_flag_test_and_set(volatile atomic_flag *object);
   13962 bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order);
   13963 bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
   13964 void __ovld atomic_flag_clear(volatile atomic_flag *object);
   13965 void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order);
   13966 void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
   13967 
   13968 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13969 
   13970 // OpenCL v1.1 s6.11.12, v1.2 s6.12.12, v2.0 s6.13.12 - Miscellaneous Vector Functions
   13971 
   13972 /**
   13973  * The shuffle and shuffle2 built-in functions construct
   13974  * a permutation of elements from one or two input
   13975  * vectors respectively that are of the same type,
   13976  * returning a vector with the same element type as the
   13977  * input and length that is the same as the shuffle mask.
   13978  * The size of each element in the mask must match the
   13979  * size of each element in the result. For shuffle, only
   13980  * the ilogb(2m-1) least significant bits of each mask
   13981  * element are considered. For shuffle2, only the
   13982  * ilogb(2m-1)+1 least significant bits of each mask
   13983  * element are considered. Other bits in the mask shall
   13984  * be ignored.
   13985  * The elements of the input vectors are numbered from
   13986  * left to right across one or both of the vectors. For this
   13987  * purpose, the number of elements in a vector is given
   13988  * by vec_step(gentypem). The shuffle mask operand
   13989  * specifies, for each element of the result vector, which
   13990  * element of the one or two input vectors the result
   13991  * element gets.
   13992  * Examples:
   13993  * uint4 mask = (uint4)(3, 2,
   13994  * 1, 0);
   13995  * float4 a;
   13996  * float4 r = shuffle(a, mask);
   13997  * // r.s0123 = a.wzyx
   13998  * uint8 mask = (uint8)(0, 1, 2, 3,
   13999  * 4, 5, 6, 7);
   14000  * float4 a, b;
   14001  * float8 r = shuffle2(a, b, mask);
   14002  * // r.s0123 = a.xyzw
   14003  * // r.s4567 = b.xyzw
   14004  * uint4 mask;
   14005  * float8 a;
   14006  * float4 b;
   14007  * b = shuffle(a, mask);
   14008  * Examples that are not valid are:
   14009  * uint8 mask;
   14010  * short16 a;
   14011  * short8 b;
   14012  * b = shuffle(a, mask); <- not valid
   14013  */
   14014 char2 __ovld __cnfn shuffle(char2 x, uchar2 mask);
   14015 char2 __ovld __cnfn shuffle(char4 x, uchar2 mask);
   14016 char2 __ovld __cnfn shuffle(char8 x, uchar2 mask);
   14017 char2 __ovld __cnfn shuffle(char16 x, uchar2 mask);
   14018 
   14019 uchar2 __ovld __cnfn shuffle(uchar2 x, uchar2 mask);
   14020 uchar2 __ovld __cnfn shuffle(uchar4 x, uchar2 mask);
   14021 uchar2 __ovld __cnfn shuffle(uchar8 x, uchar2 mask);
   14022 uchar2 __ovld __cnfn shuffle(uchar16 x, uchar2 mask);
   14023 
   14024 short2 __ovld __cnfn shuffle(short2 x, ushort2 mask);
   14025 short2 __ovld __cnfn shuffle(short4 x, ushort2 mask);
   14026 short2 __ovld __cnfn shuffle(short8 x, ushort2 mask);
   14027 short2 __ovld __cnfn shuffle(short16 x, ushort2 mask);
   14028 
   14029 ushort2 __ovld __cnfn shuffle(ushort2 x, ushort2 mask);
   14030 ushort2 __ovld __cnfn shuffle(ushort4 x, ushort2 mask);
   14031 ushort2 __ovld __cnfn shuffle(ushort8 x, ushort2 mask);
   14032 ushort2 __ovld __cnfn shuffle(ushort16 x, ushort2 mask);
   14033 
   14034 int2 __ovld __cnfn shuffle(int2 x, uint2 mask);
   14035 int2 __ovld __cnfn shuffle(int4 x, uint2 mask);
   14036 int2 __ovld __cnfn shuffle(int8 x, uint2 mask);
   14037 int2 __ovld __cnfn shuffle(int16 x, uint2 mask);
   14038 
   14039 uint2 __ovld __cnfn shuffle(uint2 x, uint2 mask);
   14040 uint2 __ovld __cnfn shuffle(uint4 x, uint2 mask);
   14041 uint2 __ovld __cnfn shuffle(uint8 x, uint2 mask);
   14042 uint2 __ovld __cnfn shuffle(uint16 x, uint2 mask);
   14043 
   14044 long2 __ovld __cnfn shuffle(long2 x, ulong2 mask);
   14045 long2 __ovld __cnfn shuffle(long4 x, ulong2 mask);
   14046 long2 __ovld __cnfn shuffle(long8 x, ulong2 mask);
   14047 long2 __ovld __cnfn shuffle(long16 x, ulong2 mask);
   14048 
   14049 ulong2 __ovld __cnfn shuffle(ulong2 x, ulong2 mask);
   14050 ulong2 __ovld __cnfn shuffle(ulong4 x, ulong2 mask);
   14051 ulong2 __ovld __cnfn shuffle(ulong8 x, ulong2 mask);
   14052 ulong2 __ovld __cnfn shuffle(ulong16 x, ulong2 mask);
   14053 
   14054 float2 __ovld __cnfn shuffle(float2 x, uint2 mask);
   14055 float2 __ovld __cnfn shuffle(float4 x, uint2 mask);
   14056 float2 __ovld __cnfn shuffle(float8 x, uint2 mask);
   14057 float2 __ovld __cnfn shuffle(float16 x, uint2 mask);
   14058 
   14059 char4 __ovld __cnfn shuffle(char2 x, uchar4 mask);
   14060 char4 __ovld __cnfn shuffle(char4 x, uchar4 mask);
   14061 char4 __ovld __cnfn shuffle(char8 x, uchar4 mask);
   14062 char4 __ovld __cnfn shuffle(char16 x, uchar4 mask);
   14063 
   14064 uchar4 __ovld __cnfn shuffle(uchar2 x, uchar4 mask);
   14065 uchar4 __ovld __cnfn shuffle(uchar4 x, uchar4 mask);
   14066 uchar4 __ovld __cnfn shuffle(uchar8 x, uchar4 mask);
   14067 uchar4 __ovld __cnfn shuffle(uchar16 x, uchar4 mask);
   14068 
   14069 short4 __ovld __cnfn shuffle(short2 x, ushort4 mask);
   14070 short4 __ovld __cnfn shuffle(short4 x, ushort4 mask);
   14071 short4 __ovld __cnfn shuffle(short8 x, ushort4 mask);
   14072 short4 __ovld __cnfn shuffle(short16 x, ushort4 mask);
   14073 
   14074 ushort4 __ovld __cnfn shuffle(ushort2 x, ushort4 mask);
   14075 ushort4 __ovld __cnfn shuffle(ushort4 x, ushort4 mask);
   14076 ushort4 __ovld __cnfn shuffle(ushort8 x, ushort4 mask);
   14077 ushort4 __ovld __cnfn shuffle(ushort16 x, ushort4 mask);
   14078 
   14079 int4 __ovld __cnfn shuffle(int2 x, uint4 mask);
   14080 int4 __ovld __cnfn shuffle(int4 x, uint4 mask);
   14081 int4 __ovld __cnfn shuffle(int8 x, uint4 mask);
   14082 int4 __ovld __cnfn shuffle(int16 x, uint4 mask);
   14083 
   14084 uint4 __ovld __cnfn shuffle(uint2 x, uint4 mask);
   14085 uint4 __ovld __cnfn shuffle(uint4 x, uint4 mask);
   14086 uint4 __ovld __cnfn shuffle(uint8 x, uint4 mask);
   14087 uint4 __ovld __cnfn shuffle(uint16 x, uint4 mask);
   14088 
   14089 long4 __ovld __cnfn shuffle(long2 x, ulong4 mask);
   14090 long4 __ovld __cnfn shuffle(long4 x, ulong4 mask);
   14091 long4 __ovld __cnfn shuffle(long8 x, ulong4 mask);
   14092 long4 __ovld __cnfn shuffle(long16 x, ulong4 mask);
   14093 
   14094 ulong4 __ovld __cnfn shuffle(ulong2 x, ulong4 mask);
   14095 ulong4 __ovld __cnfn shuffle(ulong4 x, ulong4 mask);
   14096 ulong4 __ovld __cnfn shuffle(ulong8 x, ulong4 mask);
   14097 ulong4 __ovld __cnfn shuffle(ulong16 x, ulong4 mask);
   14098 
   14099 float4 __ovld __cnfn shuffle(float2 x, uint4 mask);
   14100 float4 __ovld __cnfn shuffle(float4 x, uint4 mask);
   14101 float4 __ovld __cnfn shuffle(float8 x, uint4 mask);
   14102 float4 __ovld __cnfn shuffle(float16 x, uint4 mask);
   14103 
   14104 char8 __ovld __cnfn shuffle(char2 x, uchar8 mask);
   14105 char8 __ovld __cnfn shuffle(char4 x, uchar8 mask);
   14106 char8 __ovld __cnfn shuffle(char8 x, uchar8 mask);
   14107 char8 __ovld __cnfn shuffle(char16 x, uchar8 mask);
   14108 
   14109 uchar8 __ovld __cnfn shuffle(uchar2 x, uchar8 mask);
   14110 uchar8 __ovld __cnfn shuffle(uchar4 x, uchar8 mask);
   14111 uchar8 __ovld __cnfn shuffle(uchar8 x, uchar8 mask);
   14112 uchar8 __ovld __cnfn shuffle(uchar16 x, uchar8 mask);
   14113 
   14114 short8 __ovld __cnfn shuffle(short2 x, ushort8 mask);
   14115 short8 __ovld __cnfn shuffle(short4 x, ushort8 mask);
   14116 short8 __ovld __cnfn shuffle(short8 x, ushort8 mask);
   14117 short8 __ovld __cnfn shuffle(short16 x, ushort8 mask);
   14118 
   14119 ushort8 __ovld __cnfn shuffle(ushort2 x, ushort8 mask);
   14120 ushort8 __ovld __cnfn shuffle(ushort4 x, ushort8 mask);
   14121 ushort8 __ovld __cnfn shuffle(ushort8 x, ushort8 mask);
   14122 ushort8 __ovld __cnfn shuffle(ushort16 x, ushort8 mask);
   14123 
   14124 int8 __ovld __cnfn shuffle(int2 x, uint8 mask);
   14125 int8 __ovld __cnfn shuffle(int4 x, uint8 mask);
   14126 int8 __ovld __cnfn shuffle(int8 x, uint8 mask);
   14127 int8 __ovld __cnfn shuffle(int16 x, uint8 mask);
   14128 
   14129 uint8 __ovld __cnfn shuffle(uint2 x, uint8 mask);
   14130 uint8 __ovld __cnfn shuffle(uint4 x, uint8 mask);
   14131 uint8 __ovld __cnfn shuffle(uint8 x, uint8 mask);
   14132 uint8 __ovld __cnfn shuffle(uint16 x, uint8 mask);
   14133 
   14134 long8 __ovld __cnfn shuffle(long2 x, ulong8 mask);
   14135 long8 __ovld __cnfn shuffle(long4 x, ulong8 mask);
   14136 long8 __ovld __cnfn shuffle(long8 x, ulong8 mask);
   14137 long8 __ovld __cnfn shuffle(long16 x, ulong8 mask);
   14138 
   14139 ulong8 __ovld __cnfn shuffle(ulong2 x, ulong8 mask);
   14140 ulong8 __ovld __cnfn shuffle(ulong4 x, ulong8 mask);
   14141 ulong8 __ovld __cnfn shuffle(ulong8 x, ulong8 mask);
   14142 ulong8 __ovld __cnfn shuffle(ulong16 x, ulong8 mask);
   14143 
   14144 float8 __ovld __cnfn shuffle(float2 x, uint8 mask);
   14145 float8 __ovld __cnfn shuffle(float4 x, uint8 mask);
   14146 float8 __ovld __cnfn shuffle(float8 x, uint8 mask);
   14147 float8 __ovld __cnfn shuffle(float16 x, uint8 mask);
   14148 
   14149 char16 __ovld __cnfn shuffle(char2 x, uchar16 mask);
   14150 char16 __ovld __cnfn shuffle(char4 x, uchar16 mask);
   14151 char16 __ovld __cnfn shuffle(char8 x, uchar16 mask);
   14152 char16 __ovld __cnfn shuffle(char16 x, uchar16 mask);
   14153 
   14154 uchar16 __ovld __cnfn shuffle(uchar2 x, uchar16 mask);
   14155 uchar16 __ovld __cnfn shuffle(uchar4 x, uchar16 mask);
   14156 uchar16 __ovld __cnfn shuffle(uchar8 x, uchar16 mask);
   14157 uchar16 __ovld __cnfn shuffle(uchar16 x, uchar16 mask);
   14158 
   14159 short16 __ovld __cnfn shuffle(short2 x, ushort16 mask);
   14160 short16 __ovld __cnfn shuffle(short4 x, ushort16 mask);
   14161 short16 __ovld __cnfn shuffle(short8 x, ushort16 mask);
   14162 short16 __ovld __cnfn shuffle(short16 x, ushort16 mask);
   14163 
   14164 ushort16 __ovld __cnfn shuffle(ushort2 x, ushort16 mask);
   14165 ushort16 __ovld __cnfn shuffle(ushort4 x, ushort16 mask);
   14166 ushort16 __ovld __cnfn shuffle(ushort8 x, ushort16 mask);
   14167 ushort16 __ovld __cnfn shuffle(ushort16 x, ushort16 mask);
   14168 
   14169 int16 __ovld __cnfn shuffle(int2 x, uint16 mask);
   14170 int16 __ovld __cnfn shuffle(int4 x, uint16 mask);
   14171 int16 __ovld __cnfn shuffle(int8 x, uint16 mask);
   14172 int16 __ovld __cnfn shuffle(int16 x, uint16 mask);
   14173 
   14174 uint16 __ovld __cnfn shuffle(uint2 x, uint16 mask);
   14175 uint16 __ovld __cnfn shuffle(uint4 x, uint16 mask);
   14176 uint16 __ovld __cnfn shuffle(uint8 x, uint16 mask);
   14177 uint16 __ovld __cnfn shuffle(uint16 x, uint16 mask);
   14178 
   14179 long16 __ovld __cnfn shuffle(long2 x, ulong16 mask);
   14180 long16 __ovld __cnfn shuffle(long4 x, ulong16 mask);
   14181 long16 __ovld __cnfn shuffle(long8 x, ulong16 mask);
   14182 long16 __ovld __cnfn shuffle(long16 x, ulong16 mask);
   14183 
   14184 ulong16 __ovld __cnfn shuffle(ulong2 x, ulong16 mask);
   14185 ulong16 __ovld __cnfn shuffle(ulong4 x, ulong16 mask);
   14186 ulong16 __ovld __cnfn shuffle(ulong8 x, ulong16 mask);
   14187 ulong16 __ovld __cnfn shuffle(ulong16 x, ulong16 mask);
   14188 
   14189 float16 __ovld __cnfn shuffle(float2 x, uint16 mask);
   14190 float16 __ovld __cnfn shuffle(float4 x, uint16 mask);
   14191 float16 __ovld __cnfn shuffle(float8 x, uint16 mask);
   14192 float16 __ovld __cnfn shuffle(float16 x, uint16 mask);
   14193 
   14194 #ifdef cl_khr_fp64
   14195 double2 __ovld __cnfn shuffle(double2 x, ulong2 mask);
   14196 double2 __ovld __cnfn shuffle(double4 x, ulong2 mask);
   14197 double2 __ovld __cnfn shuffle(double8 x, ulong2 mask);
   14198 double2 __ovld __cnfn shuffle(double16 x, ulong2 mask);
   14199 
   14200 double4 __ovld __cnfn shuffle(double2 x, ulong4 mask);
   14201 double4 __ovld __cnfn shuffle(double4 x, ulong4 mask);
   14202 double4 __ovld __cnfn shuffle(double8 x, ulong4 mask);
   14203 double4 __ovld __cnfn shuffle(double16 x, ulong4 mask);
   14204 
   14205 double8 __ovld __cnfn shuffle(double2 x, ulong8 mask);
   14206 double8 __ovld __cnfn shuffle(double4 x, ulong8 mask);
   14207 double8 __ovld __cnfn shuffle(double8 x, ulong8 mask);
   14208 double8 __ovld __cnfn shuffle(double16 x, ulong8 mask);
   14209 
   14210 double16 __ovld __cnfn shuffle(double2 x, ulong16 mask);
   14211 double16 __ovld __cnfn shuffle(double4 x, ulong16 mask);
   14212 double16 __ovld __cnfn shuffle(double8 x, ulong16 mask);
   14213 double16 __ovld __cnfn shuffle(double16 x, ulong16 mask);
   14214 #endif //cl_khr_fp64
   14215 
   14216 #ifdef cl_khr_fp16
   14217 half2 __ovld __cnfn shuffle(half2 x, ushort2 mask);
   14218 half2 __ovld __cnfn shuffle(half4 x, ushort2 mask);
   14219 half2 __ovld __cnfn shuffle(half8 x, ushort2 mask);
   14220 half2 __ovld __cnfn shuffle(half16 x, ushort2 mask);
   14221 
   14222 half4 __ovld __cnfn shuffle(half2 x, ushort4 mask);
   14223 half4 __ovld __cnfn shuffle(half4 x, ushort4 mask);
   14224 half4 __ovld __cnfn shuffle(half8 x, ushort4 mask);
   14225 half4 __ovld __cnfn shuffle(half16 x, ushort4 mask);
   14226 
   14227 half8 __ovld __cnfn shuffle(half2 x, ushort8 mask);
   14228 half8 __ovld __cnfn shuffle(half4 x, ushort8 mask);
   14229 half8 __ovld __cnfn shuffle(half8 x, ushort8 mask);
   14230 half8 __ovld __cnfn shuffle(half16 x, ushort8 mask);
   14231 
   14232 half16 __ovld __cnfn shuffle(half2 x, ushort16 mask);
   14233 half16 __ovld __cnfn shuffle(half4 x, ushort16 mask);
   14234 half16 __ovld __cnfn shuffle(half8 x, ushort16 mask);
   14235 half16 __ovld __cnfn shuffle(half16 x, ushort16 mask);
   14236 #endif //cl_khr_fp16
   14237 
   14238 char2 __ovld __cnfn shuffle2(char2 x, char2 y, uchar2 mask);
   14239 char2 __ovld __cnfn shuffle2(char4 x, char4 y, uchar2 mask);
   14240 char2 __ovld __cnfn shuffle2(char8 x, char8 y, uchar2 mask);
   14241 char2 __ovld __cnfn shuffle2(char16 x, char16 y, uchar2 mask);
   14242 
   14243 uchar2 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar2 mask);
   14244 uchar2 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar2 mask);
   14245 uchar2 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar2 mask);
   14246 uchar2 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar2 mask);
   14247 
   14248 short2 __ovld __cnfn shuffle2(short2 x, short2 y, ushort2 mask);
   14249 short2 __ovld __cnfn shuffle2(short4 x, short4 y, ushort2 mask);
   14250 short2 __ovld __cnfn shuffle2(short8 x, short8 y, ushort2 mask);
   14251 short2 __ovld __cnfn shuffle2(short16 x, short16 y, ushort2 mask);
   14252 
   14253 ushort2 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort2 mask);
   14254 ushort2 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort2 mask);
   14255 ushort2 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort2 mask);
   14256 ushort2 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort2 mask);
   14257 
   14258 int2 __ovld __cnfn shuffle2(int2 x, int2 y, uint2 mask);
   14259 int2 __ovld __cnfn shuffle2(int4 x, int4 y, uint2 mask);
   14260 int2 __ovld __cnfn shuffle2(int8 x, int8 y, uint2 mask);
   14261 int2 __ovld __cnfn shuffle2(int16 x, int16 y, uint2 mask);
   14262 
   14263 uint2 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint2 mask);
   14264 uint2 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint2 mask);
   14265 uint2 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint2 mask);
   14266 uint2 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint2 mask);
   14267 
   14268 long2 __ovld __cnfn shuffle2(long2 x, long2 y, ulong2 mask);
   14269 long2 __ovld __cnfn shuffle2(long4 x, long4 y, ulong2 mask);
   14270 long2 __ovld __cnfn shuffle2(long8 x, long8 y, ulong2 mask);
   14271 long2 __ovld __cnfn shuffle2(long16 x, long16 y, ulong2 mask);
   14272 
   14273 ulong2 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong2 mask);
   14274 ulong2 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong2 mask);
   14275 ulong2 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong2 mask);
   14276 ulong2 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong2 mask);
   14277 
   14278 float2 __ovld __cnfn shuffle2(float2 x, float2 y, uint2 mask);
   14279 float2 __ovld __cnfn shuffle2(float4 x, float4 y, uint2 mask);
   14280 float2 __ovld __cnfn shuffle2(float8 x, float8 y, uint2 mask);
   14281 float2 __ovld __cnfn shuffle2(float16 x, float16 y, uint2 mask);
   14282 
   14283 char4 __ovld __cnfn shuffle2(char2 x, char2 y, uchar4 mask);
   14284 char4 __ovld __cnfn shuffle2(char4 x, char4 y, uchar4 mask);
   14285 char4 __ovld __cnfn shuffle2(char8 x, char8 y, uchar4 mask);
   14286 char4 __ovld __cnfn shuffle2(char16 x, char16 y, uchar4 mask);
   14287 
   14288 uchar4 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar4 mask);
   14289 uchar4 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar4 mask);
   14290 uchar4 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar4 mask);
   14291 uchar4 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar4 mask);
   14292 
   14293 short4 __ovld __cnfn shuffle2(short2 x, short2 y, ushort4 mask);
   14294 short4 __ovld __cnfn shuffle2(short4 x, short4 y, ushort4 mask);
   14295 short4 __ovld __cnfn shuffle2(short8 x, short8 y, ushort4 mask);
   14296 short4 __ovld __cnfn shuffle2(short16 x, short16 y, ushort4 mask);
   14297 
   14298 ushort4 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort4 mask);
   14299 ushort4 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort4 mask);
   14300 ushort4 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort4 mask);
   14301 ushort4 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort4 mask);
   14302 
   14303 int4 __ovld __cnfn shuffle2(int2 x, int2 y, uint4 mask);
   14304 int4 __ovld __cnfn shuffle2(int4 x, int4 y, uint4 mask);
   14305 int4 __ovld __cnfn shuffle2(int8 x, int8 y, uint4 mask);
   14306 int4 __ovld __cnfn shuffle2(int16 x, int16 y, uint4 mask);
   14307 
   14308 uint4 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint4 mask);
   14309 uint4 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint4 mask);
   14310 uint4 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint4 mask);
   14311 uint4 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint4 mask);
   14312 
   14313 long4 __ovld __cnfn shuffle2(long2 x, long2 y, ulong4 mask);
   14314 long4 __ovld __cnfn shuffle2(long4 x, long4 y, ulong4 mask);
   14315 long4 __ovld __cnfn shuffle2(long8 x, long8 y, ulong4 mask);
   14316 long4 __ovld __cnfn shuffle2(long16 x, long16 y, ulong4 mask);
   14317 
   14318 ulong4 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong4 mask);
   14319 ulong4 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong4 mask);
   14320 ulong4 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong4 mask);
   14321 ulong4 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong4 mask);
   14322 
   14323 float4 __ovld __cnfn shuffle2(float2 x, float2 y, uint4 mask);
   14324 float4 __ovld __cnfn shuffle2(float4 x, float4 y, uint4 mask);
   14325 float4 __ovld __cnfn shuffle2(float8 x, float8 y, uint4 mask);
   14326 float4 __ovld __cnfn shuffle2(float16 x, float16 y, uint4 mask);
   14327 
   14328 char8 __ovld __cnfn shuffle2(char2 x, char2 y, uchar8 mask);
   14329 char8 __ovld __cnfn shuffle2(char4 x, char4 y, uchar8 mask);
   14330 char8 __ovld __cnfn shuffle2(char8 x, char8 y, uchar8 mask);
   14331 char8 __ovld __cnfn shuffle2(char16 x, char16 y, uchar8 mask);
   14332 
   14333 uchar8 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar8 mask);
   14334 uchar8 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar8 mask);
   14335 uchar8 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar8 mask);
   14336 uchar8 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar8 mask);
   14337 
   14338 short8 __ovld __cnfn shuffle2(short2 x, short2 y, ushort8 mask);
   14339 short8 __ovld __cnfn shuffle2(short4 x, short4 y, ushort8 mask);
   14340 short8 __ovld __cnfn shuffle2(short8 x, short8 y, ushort8 mask);
   14341 short8 __ovld __cnfn shuffle2(short16 x, short16 y, ushort8 mask);
   14342 
   14343 ushort8 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort8 mask);
   14344 ushort8 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort8 mask);
   14345 ushort8 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort8 mask);
   14346 ushort8 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort8 mask);
   14347 
   14348 int8 __ovld __cnfn shuffle2(int2 x, int2 y, uint8 mask);
   14349 int8 __ovld __cnfn shuffle2(int4 x, int4 y, uint8 mask);
   14350 int8 __ovld __cnfn shuffle2(int8 x, int8 y, uint8 mask);
   14351 int8 __ovld __cnfn shuffle2(int16 x, int16 y, uint8 mask);
   14352 
   14353 uint8 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint8 mask);
   14354 uint8 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint8 mask);
   14355 uint8 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint8 mask);
   14356 uint8 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint8 mask);
   14357 
   14358 long8 __ovld __cnfn shuffle2(long2 x, long2 y, ulong8 mask);
   14359 long8 __ovld __cnfn shuffle2(long4 x, long4 y, ulong8 mask);
   14360 long8 __ovld __cnfn shuffle2(long8 x, long8 y, ulong8 mask);
   14361 long8 __ovld __cnfn shuffle2(long16 x, long16 y, ulong8 mask);
   14362 
   14363 ulong8 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong8 mask);
   14364 ulong8 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong8 mask);
   14365 ulong8 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong8 mask);
   14366 ulong8 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong8 mask);
   14367 
   14368 float8 __ovld __cnfn shuffle2(float2 x, float2 y, uint8 mask);
   14369 float8 __ovld __cnfn shuffle2(float4 x, float4 y, uint8 mask);
   14370 float8 __ovld __cnfn shuffle2(float8 x, float8 y, uint8 mask);
   14371 float8 __ovld __cnfn shuffle2(float16 x, float16 y, uint8 mask);
   14372 
   14373 char16 __ovld __cnfn shuffle2(char2 x, char2 y, uchar16 mask);
   14374 char16 __ovld __cnfn shuffle2(char4 x, char4 y, uchar16 mask);
   14375 char16 __ovld __cnfn shuffle2(char8 x, char8 y, uchar16 mask);
   14376 char16 __ovld __cnfn shuffle2(char16 x, char16 y, uchar16 mask);
   14377 
   14378 uchar16 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar16 mask);
   14379 uchar16 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar16 mask);
   14380 uchar16 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar16 mask);
   14381 uchar16 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar16 mask);
   14382 
   14383 short16 __ovld __cnfn shuffle2(short2 x, short2 y, ushort16 mask);
   14384 short16 __ovld __cnfn shuffle2(short4 x, short4 y, ushort16 mask);
   14385 short16 __ovld __cnfn shuffle2(short8 x, short8 y, ushort16 mask);
   14386 short16 __ovld __cnfn shuffle2(short16 x, short16 y, ushort16 mask);
   14387 
   14388 ushort16 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort16 mask);
   14389 ushort16 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort16 mask);
   14390 ushort16 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort16 mask);
   14391 ushort16 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort16 mask);
   14392 
   14393 int16 __ovld __cnfn shuffle2(int2 x, int2 y, uint16 mask);
   14394 int16 __ovld __cnfn shuffle2(int4 x, int4 y, uint16 mask);
   14395 int16 __ovld __cnfn shuffle2(int8 x, int8 y, uint16 mask);
   14396 int16 __ovld __cnfn shuffle2(int16 x, int16 y, uint16 mask);
   14397 
   14398 uint16 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint16 mask);
   14399 uint16 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint16 mask);
   14400 uint16 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint16 mask);
   14401 uint16 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint16 mask);
   14402 
   14403 long16 __ovld __cnfn shuffle2(long2 x, long2 y, ulong16 mask);
   14404 long16 __ovld __cnfn shuffle2(long4 x, long4 y, ulong16 mask);
   14405 long16 __ovld __cnfn shuffle2(long8 x, long8 y, ulong16 mask);
   14406 long16 __ovld __cnfn shuffle2(long16 x, long16 y, ulong16 mask);
   14407 
   14408 ulong16 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong16 mask);
   14409 ulong16 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong16 mask);
   14410 ulong16 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong16 mask);
   14411 ulong16 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong16 mask);
   14412 
   14413 float16 __ovld __cnfn shuffle2(float2 x, float2 y, uint16 mask);
   14414 float16 __ovld __cnfn shuffle2(float4 x, float4 y, uint16 mask);
   14415 float16 __ovld __cnfn shuffle2(float8 x, float8 y, uint16 mask);
   14416 float16 __ovld __cnfn shuffle2(float16 x, float16 y, uint16 mask);
   14417 
   14418 #ifdef cl_khr_fp64
   14419 double2 __ovld __cnfn shuffle2(double2 x, double2 y, ulong2 mask);
   14420 double2 __ovld __cnfn shuffle2(double4 x, double4 y, ulong2 mask);
   14421 double2 __ovld __cnfn shuffle2(double8 x, double8 y, ulong2 mask);
   14422 double2 __ovld __cnfn shuffle2(double16 x, double16 y, ulong2 mask);
   14423 
   14424 double4 __ovld __cnfn shuffle2(double2 x, double2 y, ulong4 mask);
   14425 double4 __ovld __cnfn shuffle2(double4 x, double4 y, ulong4 mask);
   14426 double4 __ovld __cnfn shuffle2(double8 x, double8 y, ulong4 mask);
   14427 double4 __ovld __cnfn shuffle2(double16 x, double16 y, ulong4 mask);
   14428 
   14429 double8 __ovld __cnfn shuffle2(double2 x, double2 y, ulong8 mask);
   14430 double8 __ovld __cnfn shuffle2(double4 x, double4 y, ulong8 mask);
   14431 double8 __ovld __cnfn shuffle2(double8 x, double8 y, ulong8 mask);
   14432 double8 __ovld __cnfn shuffle2(double16 x, double16 y, ulong8 mask);
   14433 
   14434 double16 __ovld __cnfn shuffle2(double2 x, double2 y, ulong16 mask);
   14435 double16 __ovld __cnfn shuffle2(double4 x, double4 y, ulong16 mask);
   14436 double16 __ovld __cnfn shuffle2(double8 x, double8 y, ulong16 mask);
   14437 double16 __ovld __cnfn shuffle2(double16 x, double16 y, ulong16 mask);
   14438 #endif //cl_khr_fp64
   14439 
   14440 #ifdef cl_khr_fp16
   14441 half2 __ovld __cnfn shuffle2(half2 x, half2 y, ushort2 mask);
   14442 half2 __ovld __cnfn shuffle2(half4 x, half4 y, ushort2 mask);
   14443 half2 __ovld __cnfn shuffle2(half8 x, half8 y, ushort2 mask);
   14444 half2 __ovld __cnfn shuffle2(half16 x, half16 y, ushort2 mask);
   14445 
   14446 half4 __ovld __cnfn shuffle2(half2 x, half2 y, ushort4 mask);
   14447 half4 __ovld __cnfn shuffle2(half4 x, half4 y, ushort4 mask);
   14448 half4 __ovld __cnfn shuffle2(half8 x, half8 y, ushort4 mask);
   14449 half4 __ovld __cnfn shuffle2(half16 x, half16 y, ushort4 mask);
   14450 
   14451 half8 __ovld __cnfn shuffle2(half2 x, half2 y, ushort8 mask);
   14452 half8 __ovld __cnfn shuffle2(half4 x, half4 y, ushort8 mask);
   14453 half8 __ovld __cnfn shuffle2(half8 x, half8 y, ushort8 mask);
   14454 half8 __ovld __cnfn shuffle2(half16 x, half16 y, ushort8 mask);
   14455 
   14456 half16 __ovld __cnfn shuffle2(half2 x, half2 y, ushort16 mask);
   14457 half16 __ovld __cnfn shuffle2(half4 x, half4 y, ushort16 mask);
   14458 half16 __ovld __cnfn shuffle2(half8 x, half8 y, ushort16 mask);
   14459 half16 __ovld __cnfn shuffle2(half16 x, half16 y, ushort16 mask);
   14460 #endif //cl_khr_fp16
   14461 
   14462 #if __OPENCL_C_VERSION__ >= CL_VERSION_1_2
   14463 // OpenCL v1.2 s6.12.13, v2.0 s6.13.13 - printf
   14464 
   14465 int printf(__constant const char* st, ...);
   14466 #endif
   14467 
   14468 // OpenCL v1.1 s6.11.3, v1.2 s6.12.14, v2.0 s6.13.14 - Image Read and Write Functions
   14469 
   14470 // These values need to match the runtime equivalent
   14471 //
   14472 // Addressing Mode.
   14473 //
   14474 #define CLK_ADDRESS_NONE                0
   14475 #define CLK_ADDRESS_CLAMP_TO_EDGE       2
   14476 #define CLK_ADDRESS_CLAMP               4
   14477 #define CLK_ADDRESS_REPEAT              6
   14478 #define CLK_ADDRESS_MIRRORED_REPEAT     8
   14479 
   14480 //
   14481 // Coordination Normalization
   14482 //
   14483 #define CLK_NORMALIZED_COORDS_FALSE     0
   14484 #define CLK_NORMALIZED_COORDS_TRUE      1
   14485 
   14486 //
   14487 // Filtering Mode.
   14488 //
   14489 #define CLK_FILTER_NEAREST              0x10
   14490 #define CLK_FILTER_LINEAR               0x20
   14491 
   14492 #ifdef cl_khr_gl_msaa_sharing
   14493 #pragma OPENCL EXTENSION cl_khr_gl_msaa_sharing : enable
   14494 #endif //cl_khr_gl_msaa_sharing
   14495 
   14496 /**
   14497  * Use the coordinate (coord.xy) to do an element lookup in
   14498  * the 2D image object specified by image.
   14499  *
   14500  * Use the coordinate (coord.x, coord.y, coord.z) to do
   14501  * an element lookup in the 3D image object specified
   14502  * by image. coord.w is ignored.
   14503  *
   14504  * Use the coordinate (coord.z) to index into the
   14505  * 2D image array object specified by image_array
   14506  * and (coord.x, coord.y) to do an element lookup in
   14507  * the 2D image object specified by image.
   14508  *
   14509  * Use the coordinate (x) to do an element lookup in
   14510  * the 1D image object specified by image.
   14511  *
   14512  * Use the coordinate (coord.y) to index into the
   14513  * 1D image array object specified by image_array
   14514  * and (coord.x) to do an element lookup in
   14515  * the 1D image object specified by image.
   14516  *
   14517  * Use the coordinate (cood.xy) and sample to do an
   14518  * element lookup in the 2D multi-sample image specified
   14519  * by image.
   14520  *
   14521  * Use coord.xy and sample to do an element
   14522  * lookup in the 2D multi-sample image layer
   14523  * identified by index coord.z in the 2D multi-sample
   14524  * image array specified by image.
   14525  *
   14526  * For mipmap images, use the mip-level specified by
   14527  * the Level-of-Detail (lod) or use gradients for LOD
   14528  * computation.
   14529  *
   14530  * read_imagef returns floating-point values in the
   14531  * range [0.0 ... 1.0] for image objects created with
   14532  * image_channel_data_type set to one of the predefined
   14533  * packed formats or CL_UNORM_INT8, or
   14534  * CL_UNORM_INT16.
   14535  *
   14536  * read_imagef returns floating-point values in the
   14537  * range [-1.0 ... 1.0] for image objects created with
   14538  * image_channel_data_type set to CL_SNORM_INT8,
   14539  * or CL_SNORM_INT16.
   14540  *
   14541  * read_imagef returns floating-point values for image
   14542  * objects created with image_channel_data_type set to
   14543  * CL_HALF_FLOAT or CL_FLOAT.
   14544  *
   14545  * read_imagei and read_imageui return
   14546  * unnormalized signed integer and unsigned integer
   14547  * values respectively. Each channel will be stored in a
   14548  * 32-bit integer.
   14549  *
   14550  * read_imagei can only be used with image objects
   14551  * created with image_channel_data_type set to one of
   14552  * the following values:
   14553  * CL_SIGNED_INT8,
   14554  * CL_SIGNED_INT16 and
   14555  * CL_SIGNED_INT32.
   14556  * If the image_channel_data_type is not one of the
   14557  * above values, the values returned by read_imagei
   14558  * are undefined.
   14559  *
   14560  * read_imageui can only be used with image objects
   14561  * created with image_channel_data_type set to one of
   14562  * the following values:
   14563  * CL_UNSIGNED_INT8,
   14564  * CL_UNSIGNED_INT16 and
   14565  * CL_UNSIGNED_INT32.
   14566  * If the image_channel_data_type is not one of the
   14567  * above values, the values returned by read_imageui
   14568  * are undefined.
   14569  *
   14570  * The read_image{i|ui} calls support a nearest filter
   14571  * only. The filter_mode specified in sampler
   14572  * must be set to CLK_FILTER_NEAREST; otherwise
   14573  * the values returned are undefined.
   14574 
   14575  * The read_image{f|i|ui} calls that take
   14576  * integer coordinates must use a sampler with
   14577  * normalized coordinates set to
   14578  * CLK_NORMALIZED_COORDS_FALSE and
   14579  * addressing mode set to
   14580  * CLK_ADDRESS_CLAMP_TO_EDGE,
   14581  * CLK_ADDRESS_CLAMP or CLK_ADDRESS_NONE;
   14582  * otherwise the values returned are undefined.
   14583  *
   14584  * Values returned by read_imagef for image objects
   14585  * with image_channel_data_type values not specified
   14586  * in the description above are undefined.
   14587  */
   14588 
   14589 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, int2 coord);
   14590 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord);
   14591 
   14592 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, int2 coord);
   14593 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord);
   14594 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, int2 coord);
   14595 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord);
   14596 
   14597 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, int4 coord);
   14598 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord);
   14599 
   14600 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, int4 coord);
   14601 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord);
   14602 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, int4 coord);
   14603 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord);
   14604 
   14605 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
   14606 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
   14607 
   14608 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
   14609 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
   14610 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
   14611 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
   14612 
   14613 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, int coord);
   14614 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord);
   14615 
   14616 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, int coord);
   14617 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord);
   14618 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, int coord);
   14619 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord);
   14620 
   14621 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
   14622 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
   14623 
   14624 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
   14625 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
   14626 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
   14627 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
   14628 
   14629 #ifdef cl_khr_depth_images
   14630 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord);
   14631 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, int2 coord);
   14632 
   14633 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord);
   14634 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, int4 coord);
   14635 #endif //cl_khr_depth_images
   14636 
   14637 #if defined(cl_khr_gl_msaa_sharing)
   14638 float4 __purefn __ovld read_imagef(read_only image2d_msaa_t image, int2 coord, int sample);
   14639 int4 __purefn __ovld read_imagei(read_only image2d_msaa_t image, int2 coord, int sample);
   14640 uint4 __purefn __ovld read_imageui(read_only image2d_msaa_t image, int2 coord, int sample);
   14641 
   14642 float __purefn __ovld read_imagef(read_only image2d_msaa_depth_t image, int2 coord, int sample);
   14643 
   14644 float4 __purefn __ovld read_imagef(read_only image2d_array_msaa_t image, int4 coord, int sample);
   14645 int4 __purefn __ovld read_imagei(read_only image2d_array_msaa_t image, int4 coord, int sample);
   14646 uint4 __purefn __ovld read_imageui(read_only image2d_array_msaa_t image, int4 coord, int sample);
   14647 
   14648 float __purefn __ovld read_imagef(read_only image2d_array_msaa_depth_t image, int4 coord, int sample);
   14649 #endif //cl_khr_gl_msaa_sharing
   14650 
   14651 // OpenCL Extension v2.0 s9.18 - Mipmaps
   14652 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   14653 #ifdef cl_khr_mipmap_image
   14654 
   14655 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   14656 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   14657 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   14658 
   14659 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   14660 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   14661 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   14662 
   14663 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   14664 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   14665 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   14666 
   14667 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
   14668 
   14669 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   14670 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   14671 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   14672 
   14673 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
   14674 
   14675 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   14676 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   14677 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   14678 
   14679 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   14680 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   14681 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   14682 
   14683 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   14684 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   14685 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   14686 
   14687 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   14688 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   14689 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   14690 
   14691 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   14692 
   14693 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   14694 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   14695 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   14696 
   14697 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   14698 
   14699 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   14700 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   14701 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   14702 
   14703 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   14704 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   14705 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   14706 
   14707 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   14708 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   14709 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   14710 
   14711 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   14712 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   14713 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   14714 
   14715 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
   14716 
   14717 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   14718 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   14719 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   14720 
   14721 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
   14722 
   14723 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   14724 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   14725 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   14726 
   14727 #endif //cl_khr_mipmap_image
   14728 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   14729 
   14730 /**
   14731 * Sampler-less Image Access
   14732 */
   14733 
   14734 float4 __purefn __ovld read_imagef(read_only image1d_t image, int coord);
   14735 int4 __purefn __ovld read_imagei(read_only image1d_t image, int coord);
   14736 uint4 __purefn __ovld read_imageui(read_only image1d_t image, int coord);
   14737 
   14738 float4 __purefn __ovld read_imagef(read_only image1d_buffer_t image, int coord);
   14739 int4 __purefn __ovld read_imagei(read_only image1d_buffer_t image, int coord);
   14740 uint4 __purefn __ovld read_imageui(read_only image1d_buffer_t image, int coord);
   14741 
   14742 float4 __purefn __ovld read_imagef(read_only image1d_array_t image, int2 coord);
   14743 int4 __purefn __ovld read_imagei(read_only image1d_array_t image, int2 coord);
   14744 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image, int2 coord);
   14745 
   14746 float4 __purefn __ovld read_imagef(read_only image2d_t image, int2 coord);
   14747 int4 __purefn __ovld read_imagei(read_only image2d_t image, int2 coord);
   14748 uint4 __purefn __ovld read_imageui(read_only image2d_t image, int2 coord);
   14749 
   14750 float4 __purefn __ovld read_imagef(read_only image2d_array_t image, int4 coord);
   14751 int4 __purefn __ovld read_imagei(read_only image2d_array_t image, int4 coord);
   14752 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image, int4 coord);
   14753 
   14754 #ifdef cl_khr_depth_images
   14755 float __purefn __ovld read_imagef(read_only image2d_depth_t image, int2 coord);
   14756 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, int4 coord);
   14757 #endif //cl_khr_depth_images
   14758 
   14759 float4 __purefn __ovld read_imagef(read_only image3d_t image, int4 coord);
   14760 int4 __purefn __ovld read_imagei(read_only image3d_t image, int4 coord);
   14761 uint4 __purefn __ovld read_imageui(read_only image3d_t image, int4 coord);
   14762 
   14763 // Image read functions returning half4 type
   14764 #ifdef cl_khr_fp16
   14765 half4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, int coord);
   14766 half4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, float coord);
   14767 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, int2 coord);
   14768 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, float2 coord);
   14769 half4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, int2 coord);
   14770 half4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, float2 coord);
   14771 half4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, int4 coord);
   14772 half4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, float4 coord);
   14773 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, int4 coord);
   14774 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, float4 coord);
   14775 half4 __purefn __ovld read_imageh(read_only image1d_t image, int coord);
   14776 half4 __purefn __ovld read_imageh(read_only image2d_t image, int2 coord);
   14777 half4 __purefn __ovld read_imageh(read_only image3d_t image, int4 coord);
   14778 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, int2 coord);
   14779 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, int4 coord);
   14780 half4 __purefn __ovld read_imageh(read_only image1d_buffer_t image, int coord);
   14781 #endif //cl_khr_fp16
   14782 
   14783 // Image read functions for read_write images
   14784 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   14785 float4 __purefn __ovld read_imagef(read_write image1d_t image, int coord);
   14786 int4 __purefn __ovld read_imagei(read_write image1d_t image, int coord);
   14787 uint4 __purefn __ovld read_imageui(read_write image1d_t image, int coord);
   14788 
   14789 float4 __purefn __ovld read_imagef(read_write image1d_buffer_t image, int coord);
   14790 int4 __purefn __ovld read_imagei(read_write image1d_buffer_t image, int coord);
   14791 uint4 __purefn __ovld read_imageui(read_write image1d_buffer_t image, int coord);
   14792 
   14793 float4 __purefn __ovld read_imagef(read_write image1d_array_t image, int2 coord);
   14794 int4 __purefn __ovld read_imagei(read_write image1d_array_t image, int2 coord);
   14795 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image, int2 coord);
   14796 
   14797 float4 __purefn __ovld read_imagef(read_write image2d_t image, int2 coord);
   14798 int4 __purefn __ovld read_imagei(read_write image2d_t image, int2 coord);
   14799 uint4 __purefn __ovld read_imageui(read_write image2d_t image, int2 coord);
   14800 
   14801 float4 __purefn __ovld read_imagef(read_write image2d_array_t image, int4 coord);
   14802 int4 __purefn __ovld read_imagei(read_write image2d_array_t image, int4 coord);
   14803 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image, int4 coord);
   14804 
   14805 float4 __purefn __ovld read_imagef(read_write image3d_t image, int4 coord);
   14806 int4 __purefn __ovld read_imagei(read_write image3d_t image, int4 coord);
   14807 uint4 __purefn __ovld read_imageui(read_write image3d_t image, int4 coord);
   14808 
   14809 #ifdef cl_khr_depth_images
   14810 float __purefn __ovld read_imagef(read_write image2d_depth_t image, int2 coord);
   14811 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, int4 coord);
   14812 #endif //cl_khr_depth_images
   14813 
   14814 #if cl_khr_gl_msaa_sharing
   14815 float4 __purefn __ovld read_imagef(read_write image2d_msaa_t image, int2 coord, int sample);
   14816 int4 __purefn __ovld read_imagei(read_write image2d_msaa_t image, int2 coord, int sample);
   14817 uint4 __purefn __ovld read_imageui(read_write image2d_msaa_t image, int2 coord, int sample);
   14818 
   14819 float4 __purefn __ovld read_imagef(read_write image2d_array_msaa_t image, int4 coord, int sample);
   14820 int4 __purefn __ovld read_imagei(read_write image2d_array_msaa_t image, int4 coord, int sample);
   14821 uint4 __purefn __ovld read_imageui(read_write image2d_array_msaa_t image, int4 coord, int sample);
   14822 
   14823 float __purefn __ovld read_imagef(read_write image2d_msaa_depth_t image, int2 coord, int sample);
   14824 float __purefn __ovld read_imagef(read_write image2d_array_msaa_depth_t image, int4 coord, int sample);
   14825 #endif //cl_khr_gl_msaa_sharing
   14826 
   14827 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   14828 #ifdef cl_khr_mipmap_image
   14829 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   14830 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   14831 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   14832 
   14833 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   14834 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   14835 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   14836 
   14837 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   14838 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   14839 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   14840 
   14841 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
   14842 
   14843 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   14844 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   14845 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   14846 
   14847 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
   14848 
   14849 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   14850 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   14851 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   14852 
   14853 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   14854 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   14855 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   14856 
   14857 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   14858 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   14859 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   14860 
   14861 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   14862 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   14863 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   14864 
   14865 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   14866 
   14867 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   14868 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   14869 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   14870 
   14871 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   14872 
   14873 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   14874 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   14875 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   14876 
   14877 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   14878 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   14879 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   14880 
   14881 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   14882 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   14883 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   14884 
   14885 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   14886 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   14887 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   14888 
   14889 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
   14890 
   14891 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   14892 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   14893 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   14894 
   14895 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
   14896 
   14897 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   14898 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   14899 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   14900 #endif //cl_khr_mipmap_image
   14901 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   14902 
   14903 // Image read functions returning half4 type
   14904 #ifdef cl_khr_fp16
   14905 half4 __purefn __ovld read_imageh(read_write image1d_t image, int coord);
   14906 half4 __purefn __ovld read_imageh(read_write image2d_t image, int2 coord);
   14907 half4 __purefn __ovld read_imageh(read_write image3d_t image, int4 coord);
   14908 half4 __purefn __ovld read_imageh(read_write image1d_array_t image, int2 coord);
   14909 half4 __purefn __ovld read_imageh(read_write image2d_array_t image, int4 coord);
   14910 half4 __purefn __ovld read_imageh(read_write image1d_buffer_t image, int coord);
   14911 #endif //cl_khr_fp16
   14912 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   14913 
   14914 /**
   14915  * Write color value to location specified by coordinate
   14916  * (coord.x, coord.y) in the 2D image object specified by image.
   14917  * (coord.x, coord.y) are considered to be unnormalized coordinates
   14918  * and must be in the range 0 ... image width - 1, and 0
   14919  * ... image height - 1.
   14920 
   14921  * Write color value to location specified by coordinate
   14922  * (coord.x, coord.y) in the 2D image object specified by index
   14923  * (coord.z) of the 2D image array object image_array.
   14924  * (coord.x, coord.y) are considered to be unnormalized
   14925  * coordinates and must be in the range 0 ... image width
   14926  * - 1.
   14927  *
   14928  * Write color value to location specified by coordinate
   14929  * (coord) in the 1D image (buffer) object specified by image.
   14930  * coord is considered to be unnormalized coordinates
   14931  * and must be in the range 0 ... image width - 1.
   14932  *
   14933  * Write color value to location specified by coordinate
   14934  * (coord.x) in the 1D image object specified by index
   14935  * (coord.y) of the 1D image array object image_array.
   14936  * x is considered to be unnormalized coordinates
   14937  * and must be in the range 0 ... image width - 1.
   14938  *
   14939  * Write color value to location specified by coordinate
   14940  * (coord.x, coord.y, coord.z) in the 3D image object specified by image.
   14941  * coord.x & coord.y are considered to be unnormalized coordinates
   14942  * and must be in the range 0 ... image width - 1, and 0
   14943  * ... image height - 1.
   14944  *
   14945  * For mipmap images, use mip-level specified by lod.
   14946  *
   14947  * Appropriate data format conversion to the specified
   14948  * image format is done before writing the color value.
   14949  *
   14950  * write_imagef can only be used with image objects
   14951  * created with image_channel_data_type set to one of
   14952  * the pre-defined packed formats or set to
   14953  * CL_SNORM_INT8, CL_UNORM_INT8,
   14954  * CL_SNORM_INT16, CL_UNORM_INT16,
   14955  * CL_HALF_FLOAT or CL_FLOAT. Appropriate data
   14956  * format conversion will be done to convert channel
   14957  * data from a floating-point value to actual data format
   14958  * in which the channels are stored.
   14959  *
   14960  * write_imagei can only be used with image objects
   14961  * created with image_channel_data_type set to one of
   14962  * the following values:
   14963  * CL_SIGNED_INT8,
   14964  * CL_SIGNED_INT16 and
   14965  * CL_SIGNED_INT32.
   14966  *
   14967  * write_imageui can only be used with image objects
   14968  * created with image_channel_data_type set to one of
   14969  * the following values:
   14970  * CL_UNSIGNED_INT8,
   14971  * CL_UNSIGNED_INT16 and
   14972  * CL_UNSIGNED_INT32.
   14973  *
   14974  * The behavior of write_imagef, write_imagei and
   14975  * write_imageui for image objects created with
   14976  * image_channel_data_type values not specified in
   14977  * the description above or with (x, y) coordinate
   14978  * values that are not in the range (0 ... image width -1,
   14979  * 0 ... image height - 1), respectively, is undefined.
   14980  */
   14981 void __ovld write_imagef(write_only image2d_t image, int2 coord, float4 color);
   14982 void __ovld write_imagei(write_only image2d_t image, int2 coord, int4 color);
   14983 void __ovld write_imageui(write_only image2d_t image, int2 coord, uint4 color);
   14984 
   14985 void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, float4 color);
   14986 void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int4 color);
   14987 void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, uint4 color);
   14988 
   14989 void __ovld write_imagef(write_only image1d_t image, int coord, float4 color);
   14990 void __ovld write_imagei(write_only image1d_t image, int coord, int4 color);
   14991 void __ovld write_imageui(write_only image1d_t image, int coord, uint4 color);
   14992 
   14993 void __ovld write_imagef(write_only image1d_buffer_t image, int coord, float4 color);
   14994 void __ovld write_imagei(write_only image1d_buffer_t image, int coord, int4 color);
   14995 void __ovld write_imageui(write_only image1d_buffer_t image, int coord, uint4 color);
   14996 
   14997 void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, float4 color);
   14998 void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int4 color);
   14999 void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, uint4 color);
   15000 
   15001 #ifdef cl_khr_3d_image_writes
   15002 void __ovld write_imagef(write_only image3d_t image, int4 coord, float4 color);
   15003 void __ovld write_imagei(write_only image3d_t image, int4 coord, int4 color);
   15004 void __ovld write_imageui(write_only image3d_t image, int4 coord, uint4 color);
   15005 #endif
   15006 
   15007 #ifdef cl_khr_depth_images
   15008 void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, float color);
   15009 void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, float color);
   15010 #endif //cl_khr_depth_images
   15011 
   15012 // OpenCL Extension v2.0 s9.18 - Mipmaps
   15013 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15014 #ifdef cl_khr_mipmap_image
   15015 void __ovld write_imagef(write_only image1d_t image, int coord, int lod, float4 color);
   15016 void __ovld write_imagei(write_only image1d_t image, int coord, int lod, int4 color);
   15017 void __ovld write_imageui(write_only image1d_t image, int coord, int lod, uint4 color);
   15018 
   15019 void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, int lod, float4 color);
   15020 void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int lod, int4 color);
   15021 void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, int lod, uint4 color);
   15022 
   15023 void __ovld write_imagef(write_only image2d_t image, int2 coord, int lod, float4 color);
   15024 void __ovld write_imagei(write_only image2d_t image, int2 coord, int lod, int4 color);
   15025 void __ovld write_imageui(write_only image2d_t image, int2 coord, int lod, uint4 color);
   15026 
   15027 void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, int lod, float4 color);
   15028 void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int lod, int4 color);
   15029 void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, int lod, uint4 color);
   15030 
   15031 void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, int lod, float color);
   15032 void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, int lod, float color);
   15033 
   15034 #ifdef cl_khr_3d_image_writes
   15035 void __ovld write_imagef(write_only image3d_t image, int4 coord, int lod, float4 color);
   15036 void __ovld write_imagei(write_only image3d_t image, int4 coord, int lod, int4 color);
   15037 void __ovld write_imageui(write_only image3d_t image, int4 coord, int lod, uint4 color);
   15038 #endif
   15039 #endif //cl_khr_mipmap_image
   15040 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15041 
   15042 // Image write functions for half4 type
   15043 #ifdef cl_khr_fp16
   15044 void __ovld write_imageh(write_only image1d_t image, int coord, half4 color);
   15045 void __ovld write_imageh(write_only image2d_t image, int2 coord, half4 color);
   15046 #ifdef cl_khr_3d_image_writes
   15047 void __ovld write_imageh(write_only image3d_t image, int4 coord, half4 color);
   15048 #endif
   15049 void __ovld write_imageh(write_only image1d_array_t image, int2 coord, half4 color);
   15050 void __ovld write_imageh(write_only image2d_array_t image, int4 coord, half4 color);
   15051 void __ovld write_imageh(write_only image1d_buffer_t image, int coord, half4 color);
   15052 #endif //cl_khr_fp16
   15053 
   15054 // Image write functions for read_write images
   15055 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15056 void __ovld write_imagef(read_write image2d_t image, int2 coord, float4 color);
   15057 void __ovld write_imagei(read_write image2d_t image, int2 coord, int4 color);
   15058 void __ovld write_imageui(read_write image2d_t image, int2 coord, uint4 color);
   15059 
   15060 void __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, float4 color);
   15061 void __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int4 color);
   15062 void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, uint4 color);
   15063 
   15064 void __ovld write_imagef(read_write image1d_t image, int coord, float4 color);
   15065 void __ovld write_imagei(read_write image1d_t image, int coord, int4 color);
   15066 void __ovld write_imageui(read_write image1d_t image, int coord, uint4 color);
   15067 
   15068 void __ovld write_imagef(read_write image1d_buffer_t image, int coord, float4 color);
   15069 void __ovld write_imagei(read_write image1d_buffer_t image, int coord, int4 color);
   15070 void __ovld write_imageui(read_write image1d_buffer_t image, int coord, uint4 color);
   15071 
   15072 void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, float4 color);
   15073 void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int4 color);
   15074 void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, uint4 color);
   15075 
   15076 #ifdef cl_khr_3d_image_writes
   15077 void __ovld write_imagef(read_write image3d_t image, int4 coord, float4 color);
   15078 void __ovld write_imagei(read_write image3d_t image, int4 coord, int4 color);
   15079 void __ovld write_imageui(read_write image3d_t image, int4 coord, uint4 color);
   15080 #endif
   15081 
   15082 #ifdef cl_khr_depth_images
   15083 void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, float color);
   15084 void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, float color);
   15085 #endif //cl_khr_depth_images
   15086 
   15087 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15088 #ifdef cl_khr_mipmap_image
   15089 void __ovld write_imagef(read_write image1d_t image, int coord, int lod, float4 color);
   15090 void __ovld write_imagei(read_write image1d_t image, int coord, int lod, int4 color);
   15091 void __ovld write_imageui(read_write image1d_t image, int coord, int lod, uint4 color);
   15092 
   15093 void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, int lod, float4 color);
   15094 void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int lod, int4 color);
   15095 void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, int lod, uint4 color);
   15096 
   15097 void __ovld write_imagef(read_write image2d_t image, int2 coord, int lod, float4 color);
   15098 void __ovld write_imagei(read_write image2d_t image, int2 coord, int lod, int4 color);
   15099 void __ovld write_imageui(read_write image2d_t image, int2 coord, int lod, uint4 color);
   15100 
   15101 void __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, int lod, float4 color);
   15102 void __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int lod, int4 color);
   15103 void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, int lod, uint4 color);
   15104 
   15105 void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, int lod, float color);
   15106 void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, int lod, float color);
   15107 
   15108 #ifdef cl_khr_3d_image_writes
   15109 void __ovld write_imagef(read_write image3d_t image, int4 coord, int lod, float4 color);
   15110 void __ovld write_imagei(read_write image3d_t image, int4 coord, int lod, int4 color);
   15111 void __ovld write_imageui(read_write image3d_t image, int4 coord, int lod, uint4 color);
   15112 #endif
   15113 #endif //cl_khr_mipmap_image
   15114 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15115 
   15116 // Image write functions for half4 type
   15117 #ifdef cl_khr_fp16
   15118 void __ovld write_imageh(read_write image1d_t image, int coord, half4 color);
   15119 void __ovld write_imageh(read_write image2d_t image, int2 coord, half4 color);
   15120 #ifdef cl_khr_3d_image_writes
   15121 void __ovld write_imageh(read_write image3d_t image, int4 coord, half4 color);
   15122 #endif
   15123 void __ovld write_imageh(read_write image1d_array_t image, int2 coord, half4 color);
   15124 void __ovld write_imageh(read_write image2d_array_t image, int4 coord, half4 color);
   15125 void __ovld write_imageh(read_write image1d_buffer_t image, int coord, half4 color);
   15126 #endif //cl_khr_fp16
   15127 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15128 
   15129 // Note: In OpenCL v1.0/1.1/1.2, image argument of image query builtin functions does not have
   15130 // access qualifier, which by default assume read_only access qualifier. Image query builtin
   15131 // functions with write_only image argument should also be declared.
   15132 
   15133 /**
   15134  * Return the image width in pixels.
   15135  *
   15136   */
   15137 int __ovld __cnfn get_image_width(read_only image1d_t image);
   15138 int __ovld __cnfn get_image_width(read_only image1d_buffer_t image);
   15139 int __ovld __cnfn get_image_width(read_only image2d_t image);
   15140 #ifdef cl_khr_3d_image_writes
   15141 int __ovld __cnfn get_image_width(read_only image3d_t image);
   15142 #endif
   15143 int __ovld __cnfn get_image_width(read_only image1d_array_t image);
   15144 int __ovld __cnfn get_image_width(read_only image2d_array_t image);
   15145 #ifdef cl_khr_depth_images
   15146 int __ovld __cnfn get_image_width(read_only image2d_depth_t image);
   15147 int __ovld __cnfn get_image_width(read_only image2d_array_depth_t image);
   15148 #endif //cl_khr_depth_images
   15149 #if defined(cl_khr_gl_msaa_sharing)
   15150 int __ovld __cnfn get_image_width(read_only image2d_msaa_t image);
   15151 int __ovld __cnfn get_image_width(read_only image2d_msaa_depth_t image);
   15152 int __ovld __cnfn get_image_width(read_only image2d_array_msaa_t image);
   15153 int __ovld __cnfn get_image_width(read_only image2d_array_msaa_depth_t image);
   15154 #endif //cl_khr_gl_msaa_sharing
   15155 
   15156 int __ovld __cnfn get_image_width(write_only image1d_t image);
   15157 int __ovld __cnfn get_image_width(write_only image1d_buffer_t image);
   15158 int __ovld __cnfn get_image_width(write_only image2d_t image);
   15159 #ifdef cl_khr_3d_image_writes
   15160 int __ovld __cnfn get_image_width(write_only image3d_t image);
   15161 #endif
   15162 int __ovld __cnfn get_image_width(write_only image1d_array_t image);
   15163 int __ovld __cnfn get_image_width(write_only image2d_array_t image);
   15164 #ifdef cl_khr_depth_images
   15165 int __ovld __cnfn get_image_width(write_only image2d_depth_t image);
   15166 int __ovld __cnfn get_image_width(write_only image2d_array_depth_t image);
   15167 #endif //cl_khr_depth_images
   15168 #if defined(cl_khr_gl_msaa_sharing)
   15169 int __ovld __cnfn get_image_width(write_only image2d_msaa_t image);
   15170 int __ovld __cnfn get_image_width(write_only image2d_msaa_depth_t image);
   15171 int __ovld __cnfn get_image_width(write_only image2d_array_msaa_t image);
   15172 int __ovld __cnfn get_image_width(write_only image2d_array_msaa_depth_t image);
   15173 #endif //cl_khr_gl_msaa_sharing
   15174 
   15175 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15176 int __ovld __cnfn get_image_width(read_write image1d_t image);
   15177 int __ovld __cnfn get_image_width(read_write image1d_buffer_t image);
   15178 int __ovld __cnfn get_image_width(read_write image2d_t image);
   15179 int __ovld __cnfn get_image_width(read_write image3d_t image);
   15180 int __ovld __cnfn get_image_width(read_write image1d_array_t image);
   15181 int __ovld __cnfn get_image_width(read_write image2d_array_t image);
   15182 #ifdef cl_khr_depth_images
   15183 int __ovld __cnfn get_image_width(read_write image2d_depth_t image);
   15184 int __ovld __cnfn get_image_width(read_write image2d_array_depth_t image);
   15185 #endif //cl_khr_depth_images
   15186 #if defined(cl_khr_gl_msaa_sharing)
   15187 int __ovld __cnfn get_image_width(read_write image2d_msaa_t image);
   15188 int __ovld __cnfn get_image_width(read_write image2d_msaa_depth_t image);
   15189 int __ovld __cnfn get_image_width(read_write image2d_array_msaa_t image);
   15190 int __ovld __cnfn get_image_width(read_write image2d_array_msaa_depth_t image);
   15191 #endif //cl_khr_gl_msaa_sharing
   15192 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15193 
   15194 /**
   15195  * Return the image height in pixels.
   15196  */
   15197 int __ovld __cnfn get_image_height(read_only image2d_t image);
   15198 int __ovld __cnfn get_image_height(read_only image3d_t image);
   15199 int __ovld __cnfn get_image_height(read_only image2d_array_t image);
   15200 #ifdef cl_khr_depth_images
   15201 int __ovld __cnfn get_image_height(read_only image2d_depth_t image);
   15202 int __ovld __cnfn get_image_height(read_only image2d_array_depth_t image);
   15203 #endif //cl_khr_depth_images
   15204 #if defined(cl_khr_gl_msaa_sharing)
   15205 int __ovld __cnfn get_image_height(read_only image2d_msaa_t image);
   15206 int __ovld __cnfn get_image_height(read_only image2d_msaa_depth_t image);
   15207 int __ovld __cnfn get_image_height(read_only image2d_array_msaa_t image);
   15208 int __ovld __cnfn get_image_height(read_only image2d_array_msaa_depth_t image);
   15209 #endif //cl_khr_gl_msaa_sharing
   15210 
   15211 int __ovld __cnfn get_image_height(write_only image2d_t image);
   15212 #ifdef cl_khr_3d_image_writes
   15213 int __ovld __cnfn get_image_height(write_only image3d_t image);
   15214 #endif
   15215 int __ovld __cnfn get_image_height(write_only image2d_array_t image);
   15216 #ifdef cl_khr_depth_images
   15217 int __ovld __cnfn get_image_height(write_only image2d_depth_t image);
   15218 int __ovld __cnfn get_image_height(write_only image2d_array_depth_t image);
   15219 #endif //cl_khr_depth_images
   15220 #if defined(cl_khr_gl_msaa_sharing)
   15221 int __ovld __cnfn get_image_height(write_only image2d_msaa_t image);
   15222 int __ovld __cnfn get_image_height(write_only image2d_msaa_depth_t image);
   15223 int __ovld __cnfn get_image_height(write_only image2d_array_msaa_t image);
   15224 int __ovld __cnfn get_image_height(write_only image2d_array_msaa_depth_t image);
   15225 #endif //cl_khr_gl_msaa_sharing
   15226 
   15227 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15228 int __ovld __cnfn get_image_height(read_write image2d_t image);
   15229 int __ovld __cnfn get_image_height(read_write image3d_t image);
   15230 int __ovld __cnfn get_image_height(read_write image2d_array_t image);
   15231 #ifdef cl_khr_depth_images
   15232 int __ovld __cnfn get_image_height(read_write image2d_depth_t image);
   15233 int __ovld __cnfn get_image_height(read_write image2d_array_depth_t image);
   15234 #endif //cl_khr_depth_images
   15235 #if defined(cl_khr_gl_msaa_sharing)
   15236 int __ovld __cnfn get_image_height(read_write image2d_msaa_t image);
   15237 int __ovld __cnfn get_image_height(read_write image2d_msaa_depth_t image);
   15238 int __ovld __cnfn get_image_height(read_write image2d_array_msaa_t image);
   15239 int __ovld __cnfn get_image_height(read_write image2d_array_msaa_depth_t image);
   15240 #endif //cl_khr_gl_msaa_sharing
   15241 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15242 
   15243 /**
   15244  * Return the image depth in pixels.
   15245  */
   15246 int __ovld __cnfn get_image_depth(read_only image3d_t image);
   15247 
   15248 #ifdef cl_khr_3d_image_writes
   15249 int __ovld __cnfn get_image_depth(write_only image3d_t image);
   15250 #endif
   15251 
   15252 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15253 int __ovld __cnfn get_image_depth(read_write image3d_t image);
   15254 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15255 
   15256 // OpenCL Extension v2.0 s9.18 - Mipmaps
   15257 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15258 #ifdef cl_khr_mipmap_image
   15259 /**
   15260  * Return the image miplevels.
   15261  */
   15262 
   15263 int __ovld get_image_num_mip_levels(read_only image1d_t image);
   15264 int __ovld get_image_num_mip_levels(read_only image2d_t image);
   15265 int __ovld get_image_num_mip_levels(read_only image3d_t image);
   15266 
   15267 int __ovld get_image_num_mip_levels(write_only image1d_t image);
   15268 int __ovld get_image_num_mip_levels(write_only image2d_t image);
   15269 #ifdef cl_khr_3d_image_writes
   15270 int __ovld get_image_num_mip_levels(write_only image3d_t image);
   15271 #endif
   15272 
   15273 int __ovld get_image_num_mip_levels(read_write image1d_t image);
   15274 int __ovld get_image_num_mip_levels(read_write image2d_t image);
   15275 int __ovld get_image_num_mip_levels(read_write image3d_t image);
   15276 
   15277 int __ovld get_image_num_mip_levels(read_only image1d_array_t image);
   15278 int __ovld get_image_num_mip_levels(read_only image2d_array_t image);
   15279 int __ovld get_image_num_mip_levels(read_only image2d_array_depth_t image);
   15280 int __ovld get_image_num_mip_levels(read_only image2d_depth_t image);
   15281 
   15282 int __ovld get_image_num_mip_levels(write_only image1d_array_t image);
   15283 int __ovld get_image_num_mip_levels(write_only image2d_array_t image);
   15284 int __ovld get_image_num_mip_levels(write_only image2d_array_depth_t image);
   15285 int __ovld get_image_num_mip_levels(write_only image2d_depth_t image);
   15286 
   15287 int __ovld get_image_num_mip_levels(read_write image1d_array_t image);
   15288 int __ovld get_image_num_mip_levels(read_write image2d_array_t image);
   15289 int __ovld get_image_num_mip_levels(read_write image2d_array_depth_t image);
   15290 int __ovld get_image_num_mip_levels(read_write image2d_depth_t image);
   15291 
   15292 #endif //cl_khr_mipmap_image
   15293 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15294 
   15295 /**
   15296  * Return the channel data type. Valid values are:
   15297  * CLK_SNORM_INT8
   15298  * CLK_SNORM_INT16
   15299  * CLK_UNORM_INT8
   15300  * CLK_UNORM_INT16
   15301  * CLK_UNORM_SHORT_565
   15302  * CLK_UNORM_SHORT_555
   15303  * CLK_UNORM_SHORT_101010
   15304  * CLK_SIGNED_INT8
   15305  * CLK_SIGNED_INT16
   15306  * CLK_SIGNED_INT32
   15307  * CLK_UNSIGNED_INT8
   15308  * CLK_UNSIGNED_INT16
   15309  * CLK_UNSIGNED_INT32
   15310  * CLK_HALF_FLOAT
   15311  * CLK_FLOAT
   15312  */
   15313 
   15314 //
   15315 // Channel Datatype.
   15316 //
   15317 #define CLK_SNORM_INT8        0x10D0
   15318 #define CLK_SNORM_INT16       0x10D1
   15319 #define CLK_UNORM_INT8        0x10D2
   15320 #define CLK_UNORM_INT16       0x10D3
   15321 #define CLK_UNORM_SHORT_565   0x10D4
   15322 #define CLK_UNORM_SHORT_555   0x10D5
   15323 #define CLK_UNORM_INT_101010  0x10D6
   15324 #define CLK_SIGNED_INT8       0x10D7
   15325 #define CLK_SIGNED_INT16      0x10D8
   15326 #define CLK_SIGNED_INT32      0x10D9
   15327 #define CLK_UNSIGNED_INT8     0x10DA
   15328 #define CLK_UNSIGNED_INT16    0x10DB
   15329 #define CLK_UNSIGNED_INT32    0x10DC
   15330 #define CLK_HALF_FLOAT        0x10DD
   15331 #define CLK_FLOAT             0x10DE
   15332 #define CLK_UNORM_INT24       0x10DF
   15333 
   15334 int __ovld __cnfn get_image_channel_data_type(read_only image1d_t image);
   15335 int __ovld __cnfn get_image_channel_data_type(read_only image1d_buffer_t image);
   15336 int __ovld __cnfn get_image_channel_data_type(read_only image2d_t image);
   15337 int __ovld __cnfn get_image_channel_data_type(read_only image3d_t image);
   15338 int __ovld __cnfn get_image_channel_data_type(read_only image1d_array_t image);
   15339 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_t image);
   15340 #ifdef cl_khr_depth_images
   15341 int __ovld __cnfn get_image_channel_data_type(read_only image2d_depth_t image);
   15342 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_depth_t image);
   15343 #endif //cl_khr_depth_images
   15344 #if defined(cl_khr_gl_msaa_sharing)
   15345 int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_t image);
   15346 int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_depth_t image);
   15347 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_t image);
   15348 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_depth_t image);
   15349 #endif //cl_khr_gl_msaa_sharing
   15350 
   15351 int __ovld __cnfn get_image_channel_data_type(write_only image1d_t image);
   15352 int __ovld __cnfn get_image_channel_data_type(write_only image1d_buffer_t image);
   15353 int __ovld __cnfn get_image_channel_data_type(write_only image2d_t image);
   15354 #ifdef cl_khr_3d_image_writes
   15355 int __ovld __cnfn get_image_channel_data_type(write_only image3d_t image);
   15356 #endif
   15357 int __ovld __cnfn get_image_channel_data_type(write_only image1d_array_t image);
   15358 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_t image);
   15359 #ifdef cl_khr_depth_images
   15360 int __ovld __cnfn get_image_channel_data_type(write_only image2d_depth_t image);
   15361 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_depth_t image);
   15362 #endif //cl_khr_depth_images
   15363 #if defined(cl_khr_gl_msaa_sharing)
   15364 int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_t image);
   15365 int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_depth_t image);
   15366 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_t image);
   15367 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_depth_t image);
   15368 #endif //cl_khr_gl_msaa_sharing
   15369 
   15370 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15371 int __ovld __cnfn get_image_channel_data_type(read_write image1d_t image);
   15372 int __ovld __cnfn get_image_channel_data_type(read_write image1d_buffer_t image);
   15373 int __ovld __cnfn get_image_channel_data_type(read_write image2d_t image);
   15374 int __ovld __cnfn get_image_channel_data_type(read_write image3d_t image);
   15375 int __ovld __cnfn get_image_channel_data_type(read_write image1d_array_t image);
   15376 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_t image);
   15377 #ifdef cl_khr_depth_images
   15378 int __ovld __cnfn get_image_channel_data_type(read_write image2d_depth_t image);
   15379 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_depth_t image);
   15380 #endif //cl_khr_depth_images
   15381 #if defined(cl_khr_gl_msaa_sharing)
   15382 int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_t image);
   15383 int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_depth_t image);
   15384 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_t image);
   15385 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_depth_t image);
   15386 #endif //cl_khr_gl_msaa_sharing
   15387 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15388 
   15389 /**
   15390  * Return the image channel order. Valid values are:
   15391  * CLK_A
   15392  * CLK_R
   15393  * CLK_Rx
   15394  * CLK_RG
   15395  * CLK_RGx
   15396  * CLK_RA
   15397  * CLK_RGB
   15398  * CLK_RGBx
   15399  * CLK_RGBA
   15400  * CLK_ARGB
   15401  * CLK_BGRA
   15402  * CLK_INTENSITY
   15403  * CLK_LUMINANCE
   15404  */
   15405 // Channel order, numbering must be aligned with cl_channel_order in cl.h
   15406 //
   15407 #define CLK_R         0x10B0
   15408 #define CLK_A         0x10B1
   15409 #define CLK_RG        0x10B2
   15410 #define CLK_RA        0x10B3
   15411 #define CLK_RGB       0x10B4
   15412 #define CLK_RGBA      0x10B5
   15413 #define CLK_BGRA      0x10B6
   15414 #define CLK_ARGB      0x10B7
   15415 #define CLK_INTENSITY 0x10B8
   15416 #define CLK_LUMINANCE 0x10B9
   15417 #define CLK_Rx                0x10BA
   15418 #define CLK_RGx               0x10BB
   15419 #define CLK_RGBx              0x10BC
   15420 #define CLK_DEPTH             0x10BD
   15421 #define CLK_DEPTH_STENCIL     0x10BE
   15422 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15423 #define CLK_sRGB              0x10BF
   15424 #define CLK_sRGBA             0x10C1
   15425 #define CLK_sRGBx             0x10C0
   15426 #define CLK_sBGRA             0x10C2
   15427 #define CLK_ABGR              0x10C3
   15428 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15429 
   15430 int __ovld __cnfn get_image_channel_order(read_only image1d_t image);
   15431 int __ovld __cnfn get_image_channel_order(read_only image1d_buffer_t image);
   15432 int __ovld __cnfn get_image_channel_order(read_only image2d_t image);
   15433 int __ovld __cnfn get_image_channel_order(read_only image3d_t image);
   15434 int __ovld __cnfn get_image_channel_order(read_only image1d_array_t image);
   15435 int __ovld __cnfn get_image_channel_order(read_only image2d_array_t image);
   15436 #ifdef cl_khr_depth_images
   15437 int __ovld __cnfn get_image_channel_order(read_only image2d_depth_t image);
   15438 int __ovld __cnfn get_image_channel_order(read_only image2d_array_depth_t image);
   15439 #endif //cl_khr_depth_images
   15440 #if defined(cl_khr_gl_msaa_sharing)
   15441 int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_t image);
   15442 int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_depth_t image);
   15443 int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_t image);
   15444 int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_depth_t image);
   15445 #endif //cl_khr_gl_msaa_sharing
   15446 
   15447 int __ovld __cnfn get_image_channel_order(write_only image1d_t image);
   15448 int __ovld __cnfn get_image_channel_order(write_only image1d_buffer_t image);
   15449 int __ovld __cnfn get_image_channel_order(write_only image2d_t image);
   15450 #ifdef cl_khr_3d_image_writes
   15451 int __ovld __cnfn get_image_channel_order(write_only image3d_t image);
   15452 #endif
   15453 int __ovld __cnfn get_image_channel_order(write_only image1d_array_t image);
   15454 int __ovld __cnfn get_image_channel_order(write_only image2d_array_t image);
   15455 #ifdef cl_khr_depth_images
   15456 int __ovld __cnfn get_image_channel_order(write_only image2d_depth_t image);
   15457 int __ovld __cnfn get_image_channel_order(write_only image2d_array_depth_t image);
   15458 #endif //cl_khr_depth_images
   15459 #if defined(cl_khr_gl_msaa_sharing)
   15460 int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_t image);
   15461 int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_depth_t image);
   15462 int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_t image);
   15463 int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_depth_t image);
   15464 #endif //cl_khr_gl_msaa_sharing
   15465 
   15466 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15467 int __ovld __cnfn get_image_channel_order(read_write image1d_t image);
   15468 int __ovld __cnfn get_image_channel_order(read_write image1d_buffer_t image);
   15469 int __ovld __cnfn get_image_channel_order(read_write image2d_t image);
   15470 int __ovld __cnfn get_image_channel_order(read_write image3d_t image);
   15471 int __ovld __cnfn get_image_channel_order(read_write image1d_array_t image);
   15472 int __ovld __cnfn get_image_channel_order(read_write image2d_array_t image);
   15473 #ifdef cl_khr_depth_images
   15474 int __ovld __cnfn get_image_channel_order(read_write image2d_depth_t image);
   15475 int __ovld __cnfn get_image_channel_order(read_write image2d_array_depth_t image);
   15476 #endif //cl_khr_depth_images
   15477 #if defined(cl_khr_gl_msaa_sharing)
   15478 int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_t image);
   15479 int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_depth_t image);
   15480 int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_t image);
   15481 int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_depth_t image);
   15482 #endif //cl_khr_gl_msaa_sharing
   15483 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15484 
   15485 /**
   15486  * Return the 2D image width and height as an int2
   15487  * type. The width is returned in the x component, and
   15488  * the height in the y component.
   15489  */
   15490 int2 __ovld __cnfn get_image_dim(read_only image2d_t image);
   15491 int2 __ovld __cnfn get_image_dim(read_only image2d_array_t image);
   15492 #ifdef cl_khr_depth_images
   15493 int2 __ovld __cnfn get_image_dim(read_only image2d_array_depth_t image);
   15494 int2 __ovld __cnfn get_image_dim(read_only image2d_depth_t image);
   15495 #endif //cl_khr_depth_images
   15496 #if defined(cl_khr_gl_msaa_sharing)
   15497 int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_t image);
   15498 int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_depth_t image);
   15499 int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_t image);
   15500 int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_depth_t image);
   15501 #endif //cl_khr_gl_msaa_sharing
   15502 
   15503 int2 __ovld __cnfn get_image_dim(write_only image2d_t image);
   15504 int2 __ovld __cnfn get_image_dim(write_only image2d_array_t image);
   15505 #ifdef cl_khr_depth_images
   15506 int2 __ovld __cnfn get_image_dim(write_only image2d_array_depth_t image);
   15507 int2 __ovld __cnfn get_image_dim(write_only image2d_depth_t image);
   15508 #endif //cl_khr_depth_images
   15509 #if defined(cl_khr_gl_msaa_sharing)
   15510 int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_t image);
   15511 int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_depth_t image);
   15512 int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_t image);
   15513 int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_depth_t image);
   15514 #endif //cl_khr_gl_msaa_sharing
   15515 
   15516 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15517 int2 __ovld __cnfn get_image_dim(read_write image2d_t image);
   15518 int2 __ovld __cnfn get_image_dim(read_write image2d_array_t image);
   15519 #ifdef cl_khr_depth_images
   15520 int2 __ovld __cnfn get_image_dim(read_write image2d_array_depth_t image);
   15521 int2 __ovld __cnfn get_image_dim(read_write image2d_depth_t image);
   15522 #endif //cl_khr_depth_images
   15523 #if defined(cl_khr_gl_msaa_sharing)
   15524 int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_t image);
   15525 int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_depth_t image);
   15526 int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_t image);
   15527 int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_depth_t image);
   15528 #endif //cl_khr_gl_msaa_sharing
   15529 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15530 
   15531 /**
   15532  * Return the 3D image width, height, and depth as an
   15533  * int4 type. The width is returned in the x
   15534  * component, height in the y component, depth in the z
   15535  * component and the w component is 0.
   15536  */
   15537 int4 __ovld __cnfn get_image_dim(read_only image3d_t image);
   15538 #ifdef cl_khr_3d_image_writes
   15539 int4 __ovld __cnfn get_image_dim(write_only image3d_t image);
   15540 #endif
   15541 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15542 int4 __ovld __cnfn get_image_dim(read_write image3d_t image);
   15543 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15544 
   15545 /**
   15546  * Return the image array size.
   15547  */
   15548 
   15549 size_t __ovld __cnfn get_image_array_size(read_only image1d_array_t image_array);
   15550 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_t image_array);
   15551 #ifdef cl_khr_depth_images
   15552 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_depth_t image_array);
   15553 #endif //cl_khr_depth_images
   15554 #if defined(cl_khr_gl_msaa_sharing)
   15555 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_t image_array);
   15556 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_depth_t image_array);
   15557 #endif //cl_khr_gl_msaa_sharing
   15558 
   15559 size_t __ovld __cnfn get_image_array_size(write_only image1d_array_t image_array);
   15560 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_t image_array);
   15561 #ifdef cl_khr_depth_images
   15562 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_depth_t image_array);
   15563 #endif //cl_khr_depth_images
   15564 #if defined(cl_khr_gl_msaa_sharing)
   15565 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_t image_array);
   15566 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_depth_t image_array);
   15567 #endif //cl_khr_gl_msaa_sharing
   15568 
   15569 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15570 size_t __ovld __cnfn get_image_array_size(read_write image1d_array_t image_array);
   15571 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_t image_array);
   15572 #ifdef cl_khr_depth_images
   15573 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_depth_t image_array);
   15574 #endif //cl_khr_depth_images
   15575 #if defined(cl_khr_gl_msaa_sharing)
   15576 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_t image_array);
   15577 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_depth_t image_array);
   15578 #endif //cl_khr_gl_msaa_sharing
   15579 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15580 
   15581 /**
   15582 * Return the number of samples associated with image
   15583 */
   15584 #if defined(cl_khr_gl_msaa_sharing)
   15585 int __ovld get_image_num_samples(read_only image2d_msaa_t image);
   15586 int __ovld get_image_num_samples(read_only image2d_msaa_depth_t image);
   15587 int __ovld get_image_num_samples(read_only image2d_array_msaa_depth_t image);
   15588 int __ovld get_image_num_samples(read_only image2d_array_msaa_t image);
   15589 int __ovld get_image_num_samples(read_only image2d_array_msaa_depth_t image);
   15590 
   15591 int __ovld get_image_num_samples(write_only image2d_msaa_t image);
   15592 int __ovld get_image_num_samples(write_only image2d_msaa_depth_t image);
   15593 int __ovld get_image_num_samples(write_only image2d_array_msaa_depth_t image);
   15594 int __ovld get_image_num_samples(write_only image2d_array_msaa_t image);
   15595 int __ovld get_image_num_samples(write_only image2d_array_msaa_depth_t image);
   15596 
   15597 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15598 int __ovld get_image_num_samples(read_write image2d_msaa_t image);
   15599 int __ovld get_image_num_samples(read_write image2d_msaa_depth_t image);
   15600 int __ovld get_image_num_samples(read_write image2d_array_msaa_depth_t image);
   15601 int __ovld get_image_num_samples(read_write image2d_array_msaa_t image);
   15602 int __ovld get_image_num_samples(read_write image2d_array_msaa_depth_t image);
   15603 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15604 #endif
   15605 
   15606 // OpenCL v2.0 s6.13.15 - Work-group Functions
   15607 
   15608 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15609 int __ovld __conv work_group_all(int predicate);
   15610 int __ovld __conv work_group_any(int predicate);
   15611 
   15612 #ifdef cl_khr_fp16
   15613 half __ovld __conv work_group_broadcast(half a, size_t local_id);
   15614 half __ovld __conv work_group_broadcast(half a, size_t x, size_t y);
   15615 half __ovld __conv work_group_broadcast(half a, size_t x, size_t y, size_t z);
   15616 #endif
   15617 int __ovld __conv work_group_broadcast(int a, size_t local_id);
   15618 int __ovld __conv work_group_broadcast(int a, size_t x, size_t y);
   15619 int __ovld __conv work_group_broadcast(int a, size_t x, size_t y, size_t z);
   15620 uint __ovld __conv work_group_broadcast(uint a, size_t local_id);
   15621 uint __ovld __conv work_group_broadcast(uint a, size_t x, size_t y);
   15622 uint __ovld __conv work_group_broadcast(uint a, size_t x, size_t y, size_t z);
   15623 long __ovld __conv work_group_broadcast(long a, size_t local_id);
   15624 long __ovld __conv work_group_broadcast(long a, size_t x, size_t y);
   15625 long __ovld __conv work_group_broadcast(long a, size_t x, size_t y, size_t z);
   15626 ulong __ovld __conv work_group_broadcast(ulong a, size_t local_id);
   15627 ulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y);
   15628 ulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y, size_t z);
   15629 float __ovld __conv work_group_broadcast(float a, size_t local_id);
   15630 float __ovld __conv work_group_broadcast(float a, size_t x, size_t y);
   15631 float __ovld __conv work_group_broadcast(float a, size_t x, size_t y, size_t z);
   15632 #ifdef cl_khr_fp64
   15633 double __ovld __conv work_group_broadcast(double a, size_t local_id);
   15634 double __ovld __conv work_group_broadcast(double a, size_t x, size_t y);
   15635 double __ovld __conv work_group_broadcast(double a, size_t x, size_t y, size_t z);
   15636 #endif //cl_khr_fp64
   15637 
   15638 #ifdef cl_khr_fp16
   15639 half __ovld __conv work_group_reduce_add(half x);
   15640 half __ovld __conv work_group_reduce_min(half x);
   15641 half __ovld __conv work_group_reduce_max(half x);
   15642 half __ovld __conv work_group_scan_exclusive_add(half x);
   15643 half __ovld __conv work_group_scan_exclusive_min(half x);
   15644 half __ovld __conv work_group_scan_exclusive_max(half x);
   15645 half __ovld __conv work_group_scan_inclusive_add(half x);
   15646 half __ovld __conv work_group_scan_inclusive_min(half x);
   15647 half __ovld __conv work_group_scan_inclusive_max(half x);
   15648 #endif
   15649 int __ovld __conv work_group_reduce_add(int x);
   15650 int __ovld __conv work_group_reduce_min(int x);
   15651 int __ovld __conv work_group_reduce_max(int x);
   15652 int __ovld __conv work_group_scan_exclusive_add(int x);
   15653 int __ovld __conv work_group_scan_exclusive_min(int x);
   15654 int __ovld __conv work_group_scan_exclusive_max(int x);
   15655 int __ovld __conv work_group_scan_inclusive_add(int x);
   15656 int __ovld __conv work_group_scan_inclusive_min(int x);
   15657 int __ovld __conv work_group_scan_inclusive_max(int x);
   15658 uint __ovld __conv work_group_reduce_add(uint x);
   15659 uint __ovld __conv work_group_reduce_min(uint x);
   15660 uint __ovld __conv work_group_reduce_max(uint x);
   15661 uint __ovld __conv work_group_scan_exclusive_add(uint x);
   15662 uint __ovld __conv work_group_scan_exclusive_min(uint x);
   15663 uint __ovld __conv work_group_scan_exclusive_max(uint x);
   15664 uint __ovld __conv work_group_scan_inclusive_add(uint x);
   15665 uint __ovld __conv work_group_scan_inclusive_min(uint x);
   15666 uint __ovld __conv work_group_scan_inclusive_max(uint x);
   15667 long __ovld __conv work_group_reduce_add(long x);
   15668 long __ovld __conv work_group_reduce_min(long x);
   15669 long __ovld __conv work_group_reduce_max(long x);
   15670 long __ovld __conv work_group_scan_exclusive_add(long x);
   15671 long __ovld __conv work_group_scan_exclusive_min(long x);
   15672 long __ovld __conv work_group_scan_exclusive_max(long x);
   15673 long __ovld __conv work_group_scan_inclusive_add(long x);
   15674 long __ovld __conv work_group_scan_inclusive_min(long x);
   15675 long __ovld __conv work_group_scan_inclusive_max(long x);
   15676 ulong __ovld __conv work_group_reduce_add(ulong x);
   15677 ulong __ovld __conv work_group_reduce_min(ulong x);
   15678 ulong __ovld __conv work_group_reduce_max(ulong x);
   15679 ulong __ovld __conv work_group_scan_exclusive_add(ulong x);
   15680 ulong __ovld __conv work_group_scan_exclusive_min(ulong x);
   15681 ulong __ovld __conv work_group_scan_exclusive_max(ulong x);
   15682 ulong __ovld __conv work_group_scan_inclusive_add(ulong x);
   15683 ulong __ovld __conv work_group_scan_inclusive_min(ulong x);
   15684 ulong __ovld __conv work_group_scan_inclusive_max(ulong x);
   15685 float __ovld __conv work_group_reduce_add(float x);
   15686 float __ovld __conv work_group_reduce_min(float x);
   15687 float __ovld __conv work_group_reduce_max(float x);
   15688 float __ovld __conv work_group_scan_exclusive_add(float x);
   15689 float __ovld __conv work_group_scan_exclusive_min(float x);
   15690 float __ovld __conv work_group_scan_exclusive_max(float x);
   15691 float __ovld __conv work_group_scan_inclusive_add(float x);
   15692 float __ovld __conv work_group_scan_inclusive_min(float x);
   15693 float __ovld __conv work_group_scan_inclusive_max(float x);
   15694 #ifdef cl_khr_fp64
   15695 double __ovld __conv work_group_reduce_add(double x);
   15696 double __ovld __conv work_group_reduce_min(double x);
   15697 double __ovld __conv work_group_reduce_max(double x);
   15698 double __ovld __conv work_group_scan_exclusive_add(double x);
   15699 double __ovld __conv work_group_scan_exclusive_min(double x);
   15700 double __ovld __conv work_group_scan_exclusive_max(double x);
   15701 double __ovld __conv work_group_scan_inclusive_add(double x);
   15702 double __ovld __conv work_group_scan_inclusive_min(double x);
   15703 double __ovld __conv work_group_scan_inclusive_max(double x);
   15704 #endif //cl_khr_fp64
   15705 
   15706 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15707 
   15708 // OpenCL v2.0 s6.13.16 - Pipe Functions
   15709 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15710 #define PIPE_RESERVE_ID_VALID_BIT (1U << 30)
   15711 #define CLK_NULL_RESERVE_ID (__builtin_astype(((void*)(__SIZE_MAX__)), reserve_id_t))
   15712 bool __ovld is_valid_reserve_id(reserve_id_t reserve_id);
   15713 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15714 
   15715 
   15716 // OpenCL v2.0 s6.13.17 - Enqueue Kernels
   15717 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15718 
   15719 #define CL_COMPLETE                                 0x0
   15720 #define CL_RUNNING                                  0x1
   15721 #define CL_SUBMITTED                                0x2
   15722 #define CL_QUEUED                                   0x3
   15723 
   15724 #define CLK_SUCCESS                                 0
   15725 #define CLK_ENQUEUE_FAILURE                         -101
   15726 #define CLK_INVALID_QUEUE                           -102
   15727 #define CLK_INVALID_NDRANGE                         -160
   15728 #define CLK_INVALID_EVENT_WAIT_LIST                 -57
   15729 #define CLK_DEVICE_QUEUE_FULL                       -161
   15730 #define CLK_INVALID_ARG_SIZE                        -51
   15731 #define CLK_EVENT_ALLOCATION_FAILURE                -100
   15732 #define CLK_OUT_OF_RESOURCES                        -5
   15733 
   15734 #define CLK_NULL_QUEUE                              0
   15735 #define CLK_NULL_EVENT (__builtin_astype(((void*)(__SIZE_MAX__)), clk_event_t))
   15736 
   15737 // execution model related definitions
   15738 #define CLK_ENQUEUE_FLAGS_NO_WAIT                   0x0
   15739 #define CLK_ENQUEUE_FLAGS_WAIT_KERNEL               0x1
   15740 #define CLK_ENQUEUE_FLAGS_WAIT_WORK_GROUP           0x2
   15741 
   15742 typedef int kernel_enqueue_flags_t;
   15743 typedef int clk_profiling_info;
   15744 
   15745 // Profiling info name (see capture_event_profiling_info)
   15746 #define CLK_PROFILING_COMMAND_EXEC_TIME 0x1
   15747 
   15748 #define MAX_WORK_DIM        3
   15749 
   15750 typedef struct {
   15751     unsigned int workDimension;
   15752     size_t globalWorkOffset[MAX_WORK_DIM];
   15753     size_t globalWorkSize[MAX_WORK_DIM];
   15754     size_t localWorkSize[MAX_WORK_DIM];
   15755 } ndrange_t;
   15756 
   15757 ndrange_t __ovld ndrange_1D(size_t);
   15758 ndrange_t __ovld ndrange_1D(size_t, size_t);
   15759 ndrange_t __ovld ndrange_1D(size_t, size_t, size_t);
   15760 
   15761 ndrange_t __ovld ndrange_2D(const size_t[2]);
   15762 ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2]);
   15763 ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2], const size_t[2]);
   15764 
   15765 ndrange_t __ovld ndrange_3D(const size_t[3]);
   15766 ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3]);
   15767 ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3], const size_t[3]);
   15768 
   15769 int __ovld enqueue_marker(queue_t, uint, const __private clk_event_t*, __private clk_event_t*);
   15770 
   15771 void __ovld retain_event(clk_event_t);
   15772 
   15773 void __ovld release_event(clk_event_t);
   15774 
   15775 clk_event_t __ovld create_user_event(void);
   15776 
   15777 void __ovld set_user_event_status(clk_event_t e, int state);
   15778 
   15779 bool __ovld is_valid_event (clk_event_t event);
   15780 
   15781 void __ovld capture_event_profiling_info(clk_event_t, clk_profiling_info, __global void* value);
   15782 
   15783 queue_t __ovld get_default_queue(void);
   15784 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15785 
   15786 // OpenCL Extension v2.0 s9.17 - Sub-groups
   15787 
   15788 #if defined(cl_intel_subgroups) || defined(cl_khr_subgroups)
   15789 // Shared Sub Group Functions
   15790 uint    __ovld get_sub_group_size(void);
   15791 uint    __ovld get_max_sub_group_size(void);
   15792 uint    __ovld get_num_sub_groups(void);
   15793 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15794 uint    __ovld get_enqueued_num_sub_groups(void);
   15795 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15796 uint    __ovld get_sub_group_id(void);
   15797 uint    __ovld get_sub_group_local_id(void);
   15798 
   15799 void    __ovld __conv sub_group_barrier(cl_mem_fence_flags flags);
   15800 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15801 void    __ovld __conv sub_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
   15802 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15803 
   15804 int     __ovld __conv sub_group_all(int predicate);
   15805 int     __ovld __conv sub_group_any(int predicate);
   15806 
   15807 int     __ovld __conv sub_group_broadcast(int   x, uint sub_group_local_id);
   15808 uint    __ovld __conv sub_group_broadcast(uint  x, uint sub_group_local_id);
   15809 long    __ovld __conv sub_group_broadcast(long  x, uint sub_group_local_id);
   15810 ulong   __ovld __conv sub_group_broadcast(ulong x, uint sub_group_local_id);
   15811 float   __ovld __conv sub_group_broadcast(float x, uint sub_group_local_id);
   15812 
   15813 int     __ovld __conv sub_group_reduce_add(int   x);
   15814 uint    __ovld __conv sub_group_reduce_add(uint  x);
   15815 long    __ovld __conv sub_group_reduce_add(long  x);
   15816 ulong   __ovld __conv sub_group_reduce_add(ulong x);
   15817 float   __ovld __conv sub_group_reduce_add(float x);
   15818 int     __ovld __conv sub_group_reduce_min(int   x);
   15819 uint    __ovld __conv sub_group_reduce_min(uint  x);
   15820 long    __ovld __conv sub_group_reduce_min(long  x);
   15821 ulong   __ovld __conv sub_group_reduce_min(ulong x);
   15822 float   __ovld __conv sub_group_reduce_min(float x);
   15823 int     __ovld __conv sub_group_reduce_max(int   x);
   15824 uint    __ovld __conv sub_group_reduce_max(uint  x);
   15825 long    __ovld __conv sub_group_reduce_max(long  x);
   15826 ulong   __ovld __conv sub_group_reduce_max(ulong x);
   15827 float   __ovld __conv sub_group_reduce_max(float x);
   15828 
   15829 int     __ovld __conv sub_group_scan_exclusive_add(int   x);
   15830 uint    __ovld __conv sub_group_scan_exclusive_add(uint  x);
   15831 long    __ovld __conv sub_group_scan_exclusive_add(long  x);
   15832 ulong   __ovld __conv sub_group_scan_exclusive_add(ulong x);
   15833 float   __ovld __conv sub_group_scan_exclusive_add(float x);
   15834 int     __ovld __conv sub_group_scan_exclusive_min(int   x);
   15835 uint    __ovld __conv sub_group_scan_exclusive_min(uint  x);
   15836 long    __ovld __conv sub_group_scan_exclusive_min(long  x);
   15837 ulong   __ovld __conv sub_group_scan_exclusive_min(ulong x);
   15838 float   __ovld __conv sub_group_scan_exclusive_min(float x);
   15839 int     __ovld __conv sub_group_scan_exclusive_max(int   x);
   15840 uint    __ovld __conv sub_group_scan_exclusive_max(uint  x);
   15841 long    __ovld __conv sub_group_scan_exclusive_max(long  x);
   15842 ulong   __ovld __conv sub_group_scan_exclusive_max(ulong x);
   15843 float   __ovld __conv sub_group_scan_exclusive_max(float x);
   15844 
   15845 int     __ovld __conv sub_group_scan_inclusive_add(int   x);
   15846 uint    __ovld __conv sub_group_scan_inclusive_add(uint  x);
   15847 long    __ovld __conv sub_group_scan_inclusive_add(long  x);
   15848 ulong   __ovld __conv sub_group_scan_inclusive_add(ulong x);
   15849 float   __ovld __conv sub_group_scan_inclusive_add(float x);
   15850 int     __ovld __conv sub_group_scan_inclusive_min(int   x);
   15851 uint    __ovld __conv sub_group_scan_inclusive_min(uint  x);
   15852 long    __ovld __conv sub_group_scan_inclusive_min(long  x);
   15853 ulong   __ovld __conv sub_group_scan_inclusive_min(ulong x);
   15854 float   __ovld __conv sub_group_scan_inclusive_min(float x);
   15855 int     __ovld __conv sub_group_scan_inclusive_max(int   x);
   15856 uint    __ovld __conv sub_group_scan_inclusive_max(uint  x);
   15857 long    __ovld __conv sub_group_scan_inclusive_max(long  x);
   15858 ulong   __ovld __conv sub_group_scan_inclusive_max(ulong x);
   15859 float   __ovld __conv sub_group_scan_inclusive_max(float x);
   15860 
   15861 #ifdef cl_khr_fp16
   15862 half    __ovld __conv sub_group_broadcast(half x, uint sub_group_local_id);
   15863 half    __ovld __conv sub_group_reduce_add(half x);
   15864 half    __ovld __conv sub_group_reduce_min(half x);
   15865 half    __ovld __conv sub_group_reduce_max(half x);
   15866 half    __ovld __conv sub_group_scan_exclusive_add(half x);
   15867 half    __ovld __conv sub_group_scan_exclusive_min(half x);
   15868 half    __ovld __conv sub_group_scan_exclusive_max(half x);
   15869 half    __ovld __conv sub_group_scan_inclusive_add(half x);
   15870 half    __ovld __conv sub_group_scan_inclusive_min(half x);
   15871 half    __ovld __conv sub_group_scan_inclusive_max(half x);
   15872 #endif //cl_khr_fp16
   15873 
   15874 #ifdef cl_khr_fp64
   15875 double  __ovld __conv sub_group_broadcast(double x, uint sub_group_local_id);
   15876 double  __ovld __conv sub_group_reduce_add(double x);
   15877 double  __ovld __conv sub_group_reduce_min(double x);
   15878 double  __ovld __conv sub_group_reduce_max(double x);
   15879 double  __ovld __conv sub_group_scan_exclusive_add(double x);
   15880 double  __ovld __conv sub_group_scan_exclusive_min(double x);
   15881 double  __ovld __conv sub_group_scan_exclusive_max(double x);
   15882 double  __ovld __conv sub_group_scan_inclusive_add(double x);
   15883 double  __ovld __conv sub_group_scan_inclusive_min(double x);
   15884 double  __ovld __conv sub_group_scan_inclusive_max(double x);
   15885 #endif //cl_khr_fp64
   15886 
   15887 #endif //cl_khr_subgroups cl_intel_subgroups
   15888 
   15889 #ifdef cl_amd_media_ops
   15890 uint __ovld amd_bitalign(uint a, uint b, uint c);
   15891 uint2 __ovld amd_bitalign(uint2 a, uint2 b, uint2 c);
   15892 uint3 __ovld amd_bitalign(uint3 a, uint3 b, uint3 c);
   15893 uint4 __ovld amd_bitalign(uint4 a, uint4 b, uint4 c);
   15894 uint8 __ovld amd_bitalign(uint8 a, uint8 b, uint8 c);
   15895 uint16 __ovld amd_bitalign(uint16 a, uint16 b, uint16 c);
   15896 
   15897 uint __ovld amd_bytealign(uint a, uint b, uint c);
   15898 uint2 __ovld amd_bytealign(uint2 a, uint2 b, uint2 c);
   15899 uint3 __ovld amd_bytealign(uint3 a, uint3 b, uint3 c);
   15900 uint4 __ovld amd_bytealign(uint4 a, uint4 b, uint4 c);
   15901 uint8 __ovld amd_bytealign(uint8 a, uint8 b, uint8 c);
   15902 uint16 __ovld amd_bytealign(uint16 a, uint16 b, uint16 c);
   15903 
   15904 uint __ovld amd_lerp(uint a, uint b, uint c);
   15905 uint2 __ovld amd_lerp(uint2 a, uint2 b, uint2 c);
   15906 uint3 __ovld amd_lerp(uint3 a, uint3 b, uint3 c);
   15907 uint4 __ovld amd_lerp(uint4 a, uint4 b, uint4 c);
   15908 uint8 __ovld amd_lerp(uint8 a, uint8 b, uint8 c);
   15909 uint16 __ovld amd_lerp(uint16 a, uint16 b, uint16 c);
   15910 
   15911 uint __ovld amd_pack(float4 v);
   15912 
   15913 uint __ovld amd_sad4(uint4 x, uint4 y, uint z);
   15914 
   15915 uint __ovld amd_sadhi(uint a, uint b, uint c);
   15916 uint2 __ovld amd_sadhi(uint2 a, uint2 b, uint2 c);
   15917 uint3 __ovld amd_sadhi(uint3 a, uint3 b, uint3 c);
   15918 uint4 __ovld amd_sadhi(uint4 a, uint4 b, uint4 c);
   15919 uint8 __ovld amd_sadhi(uint8 a, uint8 b, uint8 c);
   15920 uint16 __ovld amd_sadhi(uint16 a, uint16 b, uint16 c);
   15921 
   15922 uint __ovld amd_sad(uint a, uint b, uint c);
   15923 uint2 __ovld amd_sad(uint2 a, uint2 b, uint2 c);
   15924 uint3 __ovld amd_sad(uint3 a, uint3 b, uint3 c);
   15925 uint4 __ovld amd_sad(uint4 a, uint4 b, uint4 c);
   15926 uint8 __ovld amd_sad(uint8 a, uint8 b, uint8 c);
   15927 uint16 __ovld amd_sad(uint16 a, uint16 b, uint16 c);
   15928 
   15929 float __ovld amd_unpack0(uint a);
   15930 float2 __ovld amd_unpack0(uint2 a);
   15931 float3 __ovld amd_unpack0(uint3 a);
   15932 float4 __ovld amd_unpack0(uint4 a);
   15933 float8 __ovld amd_unpack0(uint8 a);
   15934 float16 __ovld amd_unpack0(uint16 a);
   15935 
   15936 float __ovld amd_unpack1(uint a);
   15937 float2 __ovld amd_unpack1(uint2 a);
   15938 float3 __ovld amd_unpack1(uint3 a);
   15939 float4 __ovld amd_unpack1(uint4 a);
   15940 float8 __ovld amd_unpack1(uint8 a);
   15941 float16 __ovld amd_unpack1(uint16 a);
   15942 
   15943 float __ovld amd_unpack2(uint a);
   15944 float2 __ovld amd_unpack2(uint2 a);
   15945 float3 __ovld amd_unpack2(uint3 a);
   15946 float4 __ovld amd_unpack2(uint4 a);
   15947 float8 __ovld amd_unpack2(uint8 a);
   15948 float16 __ovld amd_unpack2(uint16 a);
   15949 
   15950 float __ovld amd_unpack3(uint a);
   15951 float2 __ovld amd_unpack3(uint2 a);
   15952 float3 __ovld amd_unpack3(uint3 a);
   15953 float4 __ovld amd_unpack3(uint4 a);
   15954 float8 __ovld amd_unpack3(uint8 a);
   15955 float16 __ovld amd_unpack3(uint16 a);
   15956 #endif // cl_amd_media_ops
   15957 
   15958 #ifdef cl_amd_media_ops2
   15959 int __ovld amd_bfe(int src0, uint src1, uint src2);
   15960 int2 __ovld amd_bfe(int2 src0, uint2 src1, uint2 src2);
   15961 int3 __ovld amd_bfe(int3 src0, uint3 src1, uint3 src2);
   15962 int4 __ovld amd_bfe(int4 src0, uint4 src1, uint4 src2);
   15963 int8 __ovld amd_bfe(int8 src0, uint8 src1, uint8 src2);
   15964 int16 __ovld amd_bfe(int16 src0, uint16 src1, uint16 src2);
   15965 
   15966 uint __ovld amd_bfe(uint src0, uint src1, uint src2);
   15967 uint2 __ovld amd_bfe(uint2 src0, uint2 src1, uint2 src2);
   15968 uint3 __ovld amd_bfe(uint3 src0, uint3 src1, uint3 src2);
   15969 uint4 __ovld amd_bfe(uint4 src0, uint4 src1, uint4 src2);
   15970 uint8 __ovld amd_bfe(uint8 src0, uint8 src1, uint8 src2);
   15971 uint16 __ovld amd_bfe(uint16 src0, uint16 src1, uint16 src2);
   15972 
   15973 uint __ovld amd_bfm(uint src0, uint src1);
   15974 uint2 __ovld amd_bfm(uint2 src0, uint2 src1);
   15975 uint3 __ovld amd_bfm(uint3 src0, uint3 src1);
   15976 uint4 __ovld amd_bfm(uint4 src0, uint4 src1);
   15977 uint8 __ovld amd_bfm(uint8 src0, uint8 src1);
   15978 uint16 __ovld amd_bfm(uint16 src0, uint16 src1);
   15979 
   15980 float __ovld amd_max3(float src0, float src1, float src2);
   15981 float2 __ovld amd_max3(float2 src0, float2 src1, float2 src2);
   15982 float3 __ovld amd_max3(float3 src0, float3 src1, float3 src2);
   15983 float4 __ovld amd_max3(float4 src0, float4 src1, float4 src2);
   15984 float8 __ovld amd_max3(float8 src0, float8 src1, float8 src2);
   15985 float16 __ovld amd_max3(float16 src0, float16 src1, float16 src2);
   15986 
   15987 int __ovld amd_max3(int src0, int src1, int src2);
   15988 int2 __ovld amd_max3(int2 src0, int2 src1, int2 src2);
   15989 int3 __ovld amd_max3(int3 src0, int3 src1, int3 src2);
   15990 int4 __ovld amd_max3(int4 src0, int4 src1, int4 src2);
   15991 int8 __ovld amd_max3(int8 src0, int8 src1, int8 src2);
   15992 int16 __ovld amd_max3(int16 src0, int16 src1, int16 src2);
   15993 
   15994 uint __ovld amd_max3(uint src0, uint src1, uint src2);
   15995 uint2 __ovld amd_max3(uint2 src0, uint2 src1, uint2 src2);
   15996 uint3 __ovld amd_max3(uint3 src0, uint3 src1, uint3 src2);
   15997 uint4 __ovld amd_max3(uint4 src0, uint4 src1, uint4 src2);
   15998 uint8 __ovld amd_max3(uint8 src0, uint8 src1, uint8 src2);
   15999 uint16 __ovld amd_max3(uint16 src0, uint16 src1, uint16 src2);
   16000 
   16001 float __ovld amd_median3(float src0, float src1, float src2);
   16002 float2 __ovld amd_median3(float2 src0, float2 src1, float2 src2);
   16003 float3 __ovld amd_median3(float3 src0, float3 src1, float3 src2);
   16004 float4 __ovld amd_median3(float4 src0, float4 src1, float4 src2);
   16005 float8 __ovld amd_median3(float8 src0, float8 src1, float8 src2);
   16006 float16 __ovld amd_median3(float16 src0, float16 src1, float16 src2);
   16007 
   16008 int __ovld amd_median3(int src0, int src1, int src2);
   16009 int2 __ovld amd_median3(int2 src0, int2 src1, int2 src2);
   16010 int3 __ovld amd_median3(int3 src0, int3 src1, int3 src2);
   16011 int4 __ovld amd_median3(int4 src0, int4 src1, int4 src2);
   16012 int8 __ovld amd_median3(int8 src0, int8 src1, int8 src2);
   16013 int16 __ovld amd_median3(int16 src0, int16 src1, int16 src2);
   16014 
   16015 uint __ovld amd_median3(uint src0, uint src1, uint src2);
   16016 uint2 __ovld amd_median3(uint2 src0, uint2 src1, uint2 src2);
   16017 uint3 __ovld amd_median3(uint3 src0, uint3 src1, uint3 src2);
   16018 uint4 __ovld amd_median3(uint4 src0, uint4 src1, uint4 src2);
   16019 uint8 __ovld amd_median3(uint8 src0, uint8 src1, uint8 src2);
   16020 uint16 __ovld amd_median3(uint16 src0, uint16 src1, uint16 src2);
   16021 
   16022 float __ovld amd_min3(float src0, float src1, float src);
   16023 float2 __ovld amd_min3(float2 src0, float2 src1, float2 src);
   16024 float3 __ovld amd_min3(float3 src0, float3 src1, float3 src);
   16025 float4 __ovld amd_min3(float4 src0, float4 src1, float4 src);
   16026 float8 __ovld amd_min3(float8 src0, float8 src1, float8 src);
   16027 float16 __ovld amd_min3(float16 src0, float16 src1, float16 src);
   16028 
   16029 int __ovld amd_min3(int src0, int src1, int src2);
   16030 int2 __ovld amd_min3(int2 src0, int2 src1, int2 src2);
   16031 int3 __ovld amd_min3(int3 src0, int3 src1, int3 src2);
   16032 int4 __ovld amd_min3(int4 src0, int4 src1, int4 src2);
   16033 int8 __ovld amd_min3(int8 src0, int8 src1, int8 src2);
   16034 int16 __ovld amd_min3(int16 src0, int16 src1, int16 src2);
   16035 
   16036 uint __ovld amd_min3(uint src0, uint src1, uint src2);
   16037 uint2 __ovld amd_min3(uint2 src0, uint2 src1, uint2 src2);
   16038 uint3 __ovld amd_min3(uint3 src0, uint3 src1, uint3 src2);
   16039 uint4 __ovld amd_min3(uint4 src0, uint4 src1, uint4 src2);
   16040 uint8 __ovld amd_min3(uint8 src0, uint8 src1, uint8 src2);
   16041 uint16 __ovld amd_min3(uint16 src0, uint16 src1, uint16 src2);
   16042 
   16043 ulong __ovld amd_mqsad(ulong src0, uint src1, ulong src2);
   16044 ulong2 __ovld amd_mqsad(ulong2 src0, uint2 src1, ulong2 src2);
   16045 ulong3 __ovld amd_mqsad(ulong3 src0, uint3 src1, ulong3 src2);
   16046 ulong4 __ovld amd_mqsad(ulong4 src0, uint4 src1, ulong4 src2);
   16047 ulong8 __ovld amd_mqsad(ulong8 src0, uint8 src1, ulong8 src2);
   16048 ulong16 __ovld amd_mqsad(ulong16 src0, uint16 src1, ulong16 src2);
   16049 
   16050 ulong __ovld amd_qsad(ulong src0, uint src1, ulong src2);
   16051 ulong2 __ovld amd_qsad(ulong2 src0, uint2 src1, ulong2 src2);
   16052 ulong3 __ovld amd_qsad(ulong3 src0, uint3 src1, ulong3 src2);
   16053 ulong4 __ovld amd_qsad(ulong4 src0, uint4 src1, ulong4 src2);
   16054 ulong8 __ovld amd_qsad(ulong8 src0, uint8 src1, ulong8 src2);
   16055 ulong16 __ovld amd_qsad(ulong16 src0, uint16 src1, ulong16 src2);
   16056 
   16057 uint __ovld amd_msad(uint src0, uint src1, uint src2);
   16058 uint2 __ovld amd_msad(uint2 src0, uint2 src1, uint2 src2);
   16059 uint3 __ovld amd_msad(uint3 src0, uint3 src1, uint3 src2);
   16060 uint4 __ovld amd_msad(uint4 src0, uint4 src1, uint4 src2);
   16061 uint8 __ovld amd_msad(uint8 src0, uint8 src1, uint8 src2);
   16062 uint16 __ovld amd_msad(uint16 src0, uint16 src1, uint16 src2);
   16063 
   16064 uint __ovld amd_sadd(uint src0, uint src1, uint src2);
   16065 uint2 __ovld amd_sadd(uint2 src0, uint2 src1, uint2 src2);
   16066 uint3 __ovld amd_sadd(uint3 src0, uint3 src1, uint3 src2);
   16067 uint4 __ovld amd_sadd(uint4 src0, uint4 src1, uint4 src2);
   16068 uint8 __ovld amd_sadd(uint8 src0, uint8 src1, uint8 src2);
   16069 uint16 __ovld amd_sadd(uint16 src0, uint16 src1, uint16 src2);
   16070 
   16071 uint __ovld amd_sadw(uint src0, uint src1, uint src2);
   16072 uint2 __ovld amd_sadw(uint2 src0, uint2 src1, uint2 src2);
   16073 uint3 __ovld amd_sadw(uint3 src0, uint3 src1, uint3 src2);
   16074 uint4 __ovld amd_sadw(uint4 src0, uint4 src1, uint4 src2);
   16075 uint8 __ovld amd_sadw(uint8 src0, uint8 src1, uint8 src2);
   16076 uint16 __ovld amd_sadw(uint16 src0, uint16 src1, uint16 src2);
   16077 #endif // cl_amd_media_ops2
   16078 
   16079 // Disable any extensions we may have enabled previously.
   16080 #pragma OPENCL EXTENSION all : disable
   16081 
   16082 #undef __cnfn
   16083 #undef __ovld
   16084 #endif //_OPENCL_H_
   16085