18647 lines · c
1//===--- opencl-c.h - OpenCL C language builtin function header -----------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef _OPENCL_H_10#define _OPENCL_H_11 12#include "opencl-c-base.h"13 14#if defined(__opencl_c_images)15#ifndef cl_khr_depth_images16#define cl_khr_depth_images17#endif //cl_khr_depth_images18#endif //defined(__opencl_c_images)19 20#if __OPENCL_C_VERSION__ < CL_VERSION_2_021#ifdef cl_khr_3d_image_writes22#pragma OPENCL EXTENSION cl_khr_3d_image_writes : enable23#endif //cl_khr_3d_image_writes24#endif //__OPENCL_C_VERSION__ < CL_VERSION_2_025 26#if (defined(__OPENCL_CPP_VERSION__) || \27 (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)) && \28 (defined(__SPIR__) || defined(__SPIRV__))29#pragma OPENCL EXTENSION cl_intel_planar_yuv : begin30#pragma OPENCL EXTENSION cl_intel_planar_yuv : end31#endif // (defined(__OPENCL_CPP_VERSION__) ||32 // (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)) &&33 // (defined(__SPIR__) || defined(__SPIRV__))34 35#define __ovld __attribute__((overloadable))36#define __conv __attribute__((convergent))37 38// Optimizations39#define __purefn __attribute__((pure))40#define __cnfn __attribute__((const))41 42 43// OpenCL v1.1/1.2/2.0 s6.2.3 - Explicit conversions44 45char __ovld __cnfn convert_char_rte(char);46char __ovld __cnfn convert_char_sat_rte(char);47char __ovld __cnfn convert_char_rtz(char);48char __ovld __cnfn convert_char_sat_rtz(char);49char __ovld __cnfn convert_char_rtp(char);50char __ovld __cnfn convert_char_sat_rtp(char);51char __ovld __cnfn convert_char_rtn(char);52char __ovld __cnfn convert_char_sat_rtn(char);53char __ovld __cnfn convert_char(char);54char __ovld __cnfn convert_char_sat(char);55char __ovld __cnfn convert_char_rte(uchar);56char __ovld __cnfn convert_char_sat_rte(uchar);57char __ovld __cnfn convert_char_rtz(uchar);58char __ovld __cnfn convert_char_sat_rtz(uchar);59char __ovld __cnfn convert_char_rtp(uchar);60char __ovld __cnfn convert_char_sat_rtp(uchar);61char __ovld __cnfn convert_char_rtn(uchar);62char __ovld __cnfn convert_char_sat_rtn(uchar);63char __ovld __cnfn convert_char(uchar);64char __ovld __cnfn convert_char_sat(uchar);65char __ovld __cnfn convert_char_rte(short);66char __ovld __cnfn convert_char_sat_rte(short);67char __ovld __cnfn convert_char_rtz(short);68char __ovld __cnfn convert_char_sat_rtz(short);69char __ovld __cnfn convert_char_rtp(short);70char __ovld __cnfn convert_char_sat_rtp(short);71char __ovld __cnfn convert_char_rtn(short);72char __ovld __cnfn convert_char_sat_rtn(short);73char __ovld __cnfn convert_char(short);74char __ovld __cnfn convert_char_sat(short);75char __ovld __cnfn convert_char_rte(ushort);76char __ovld __cnfn convert_char_sat_rte(ushort);77char __ovld __cnfn convert_char_rtz(ushort);78char __ovld __cnfn convert_char_sat_rtz(ushort);79char __ovld __cnfn convert_char_rtp(ushort);80char __ovld __cnfn convert_char_sat_rtp(ushort);81char __ovld __cnfn convert_char_rtn(ushort);82char __ovld __cnfn convert_char_sat_rtn(ushort);83char __ovld __cnfn convert_char(ushort);84char __ovld __cnfn convert_char_sat(ushort);85char __ovld __cnfn convert_char_rte(int);86char __ovld __cnfn convert_char_sat_rte(int);87char __ovld __cnfn convert_char_rtz(int);88char __ovld __cnfn convert_char_sat_rtz(int);89char __ovld __cnfn convert_char_rtp(int);90char __ovld __cnfn convert_char_sat_rtp(int);91char __ovld __cnfn convert_char_rtn(int);92char __ovld __cnfn convert_char_sat_rtn(int);93char __ovld __cnfn convert_char(int);94char __ovld __cnfn convert_char_sat(int);95char __ovld __cnfn convert_char_rte(uint);96char __ovld __cnfn convert_char_sat_rte(uint);97char __ovld __cnfn convert_char_rtz(uint);98char __ovld __cnfn convert_char_sat_rtz(uint);99char __ovld __cnfn convert_char_rtp(uint);100char __ovld __cnfn convert_char_sat_rtp(uint);101char __ovld __cnfn convert_char_rtn(uint);102char __ovld __cnfn convert_char_sat_rtn(uint);103char __ovld __cnfn convert_char(uint);104char __ovld __cnfn convert_char_sat(uint);105char __ovld __cnfn convert_char_rte(long);106char __ovld __cnfn convert_char_sat_rte(long);107char __ovld __cnfn convert_char_rtz(long);108char __ovld __cnfn convert_char_sat_rtz(long);109char __ovld __cnfn convert_char_rtp(long);110char __ovld __cnfn convert_char_sat_rtp(long);111char __ovld __cnfn convert_char_rtn(long);112char __ovld __cnfn convert_char_sat_rtn(long);113char __ovld __cnfn convert_char(long);114char __ovld __cnfn convert_char_sat(long);115char __ovld __cnfn convert_char_rte(ulong);116char __ovld __cnfn convert_char_sat_rte(ulong);117char __ovld __cnfn convert_char_rtz(ulong);118char __ovld __cnfn convert_char_sat_rtz(ulong);119char __ovld __cnfn convert_char_rtp(ulong);120char __ovld __cnfn convert_char_sat_rtp(ulong);121char __ovld __cnfn convert_char_rtn(ulong);122char __ovld __cnfn convert_char_sat_rtn(ulong);123char __ovld __cnfn convert_char(ulong);124char __ovld __cnfn convert_char_sat(ulong);125char __ovld __cnfn convert_char_rte(float);126char __ovld __cnfn convert_char_sat_rte(float);127char __ovld __cnfn convert_char_rtz(float);128char __ovld __cnfn convert_char_sat_rtz(float);129char __ovld __cnfn convert_char_rtp(float);130char __ovld __cnfn convert_char_sat_rtp(float);131char __ovld __cnfn convert_char_rtn(float);132char __ovld __cnfn convert_char_sat_rtn(float);133char __ovld __cnfn convert_char(float);134char __ovld __cnfn convert_char_sat(float);135uchar __ovld __cnfn convert_uchar_rte(char);136uchar __ovld __cnfn convert_uchar_sat_rte(char);137uchar __ovld __cnfn convert_uchar_rtz(char);138uchar __ovld __cnfn convert_uchar_sat_rtz(char);139uchar __ovld __cnfn convert_uchar_rtp(char);140uchar __ovld __cnfn convert_uchar_sat_rtp(char);141uchar __ovld __cnfn convert_uchar_rtn(char);142uchar __ovld __cnfn convert_uchar_sat_rtn(char);143uchar __ovld __cnfn convert_uchar(char);144uchar __ovld __cnfn convert_uchar_sat(char);145uchar __ovld __cnfn convert_uchar_rte(uchar);146uchar __ovld __cnfn convert_uchar_sat_rte(uchar);147uchar __ovld __cnfn convert_uchar_rtz(uchar);148uchar __ovld __cnfn convert_uchar_sat_rtz(uchar);149uchar __ovld __cnfn convert_uchar_rtp(uchar);150uchar __ovld __cnfn convert_uchar_sat_rtp(uchar);151uchar __ovld __cnfn convert_uchar_rtn(uchar);152uchar __ovld __cnfn convert_uchar_sat_rtn(uchar);153uchar __ovld __cnfn convert_uchar(uchar);154uchar __ovld __cnfn convert_uchar_sat(uchar);155uchar __ovld __cnfn convert_uchar_rte(short);156uchar __ovld __cnfn convert_uchar_sat_rte(short);157uchar __ovld __cnfn convert_uchar_rtz(short);158uchar __ovld __cnfn convert_uchar_sat_rtz(short);159uchar __ovld __cnfn convert_uchar_rtp(short);160uchar __ovld __cnfn convert_uchar_sat_rtp(short);161uchar __ovld __cnfn convert_uchar_rtn(short);162uchar __ovld __cnfn convert_uchar_sat_rtn(short);163uchar __ovld __cnfn convert_uchar(short);164uchar __ovld __cnfn convert_uchar_sat(short);165uchar __ovld __cnfn convert_uchar_rte(ushort);166uchar __ovld __cnfn convert_uchar_sat_rte(ushort);167uchar __ovld __cnfn convert_uchar_rtz(ushort);168uchar __ovld __cnfn convert_uchar_sat_rtz(ushort);169uchar __ovld __cnfn convert_uchar_rtp(ushort);170uchar __ovld __cnfn convert_uchar_sat_rtp(ushort);171uchar __ovld __cnfn convert_uchar_rtn(ushort);172uchar __ovld __cnfn convert_uchar_sat_rtn(ushort);173uchar __ovld __cnfn convert_uchar(ushort);174uchar __ovld __cnfn convert_uchar_sat(ushort);175uchar __ovld __cnfn convert_uchar_rte(int);176uchar __ovld __cnfn convert_uchar_sat_rte(int);177uchar __ovld __cnfn convert_uchar_rtz(int);178uchar __ovld __cnfn convert_uchar_sat_rtz(int);179uchar __ovld __cnfn convert_uchar_rtp(int);180uchar __ovld __cnfn convert_uchar_sat_rtp(int);181uchar __ovld __cnfn convert_uchar_rtn(int);182uchar __ovld __cnfn convert_uchar_sat_rtn(int);183uchar __ovld __cnfn convert_uchar(int);184uchar __ovld __cnfn convert_uchar_sat(int);185uchar __ovld __cnfn convert_uchar_rte(uint);186uchar __ovld __cnfn convert_uchar_sat_rte(uint);187uchar __ovld __cnfn convert_uchar_rtz(uint);188uchar __ovld __cnfn convert_uchar_sat_rtz(uint);189uchar __ovld __cnfn convert_uchar_rtp(uint);190uchar __ovld __cnfn convert_uchar_sat_rtp(uint);191uchar __ovld __cnfn convert_uchar_rtn(uint);192uchar __ovld __cnfn convert_uchar_sat_rtn(uint);193uchar __ovld __cnfn convert_uchar(uint);194uchar __ovld __cnfn convert_uchar_sat(uint);195uchar __ovld __cnfn convert_uchar_rte(long);196uchar __ovld __cnfn convert_uchar_sat_rte(long);197uchar __ovld __cnfn convert_uchar_rtz(long);198uchar __ovld __cnfn convert_uchar_sat_rtz(long);199uchar __ovld __cnfn convert_uchar_rtp(long);200uchar __ovld __cnfn convert_uchar_sat_rtp(long);201uchar __ovld __cnfn convert_uchar_rtn(long);202uchar __ovld __cnfn convert_uchar_sat_rtn(long);203uchar __ovld __cnfn convert_uchar(long);204uchar __ovld __cnfn convert_uchar_sat(long);205uchar __ovld __cnfn convert_uchar_rte(ulong);206uchar __ovld __cnfn convert_uchar_sat_rte(ulong);207uchar __ovld __cnfn convert_uchar_rtz(ulong);208uchar __ovld __cnfn convert_uchar_sat_rtz(ulong);209uchar __ovld __cnfn convert_uchar_rtp(ulong);210uchar __ovld __cnfn convert_uchar_sat_rtp(ulong);211uchar __ovld __cnfn convert_uchar_rtn(ulong);212uchar __ovld __cnfn convert_uchar_sat_rtn(ulong);213uchar __ovld __cnfn convert_uchar(ulong);214uchar __ovld __cnfn convert_uchar_sat(ulong);215uchar __ovld __cnfn convert_uchar_rte(float);216uchar __ovld __cnfn convert_uchar_sat_rte(float);217uchar __ovld __cnfn convert_uchar_rtz(float);218uchar __ovld __cnfn convert_uchar_sat_rtz(float);219uchar __ovld __cnfn convert_uchar_rtp(float);220uchar __ovld __cnfn convert_uchar_sat_rtp(float);221uchar __ovld __cnfn convert_uchar_rtn(float);222uchar __ovld __cnfn convert_uchar_sat_rtn(float);223uchar __ovld __cnfn convert_uchar(float);224uchar __ovld __cnfn convert_uchar_sat(float);225 226short __ovld __cnfn convert_short_rte(char);227short __ovld __cnfn convert_short_sat_rte(char);228short __ovld __cnfn convert_short_rtz(char);229short __ovld __cnfn convert_short_sat_rtz(char);230short __ovld __cnfn convert_short_rtp(char);231short __ovld __cnfn convert_short_sat_rtp(char);232short __ovld __cnfn convert_short_rtn(char);233short __ovld __cnfn convert_short_sat_rtn(char);234short __ovld __cnfn convert_short(char);235short __ovld __cnfn convert_short_sat(char);236short __ovld __cnfn convert_short_rte(uchar);237short __ovld __cnfn convert_short_sat_rte(uchar);238short __ovld __cnfn convert_short_rtz(uchar);239short __ovld __cnfn convert_short_sat_rtz(uchar);240short __ovld __cnfn convert_short_rtp(uchar);241short __ovld __cnfn convert_short_sat_rtp(uchar);242short __ovld __cnfn convert_short_rtn(uchar);243short __ovld __cnfn convert_short_sat_rtn(uchar);244short __ovld __cnfn convert_short(uchar);245short __ovld __cnfn convert_short_sat(uchar);246short __ovld __cnfn convert_short_rte(short);247short __ovld __cnfn convert_short_sat_rte(short);248short __ovld __cnfn convert_short_rtz(short);249short __ovld __cnfn convert_short_sat_rtz(short);250short __ovld __cnfn convert_short_rtp(short);251short __ovld __cnfn convert_short_sat_rtp(short);252short __ovld __cnfn convert_short_rtn(short);253short __ovld __cnfn convert_short_sat_rtn(short);254short __ovld __cnfn convert_short(short);255short __ovld __cnfn convert_short_sat(short);256short __ovld __cnfn convert_short_rte(ushort);257short __ovld __cnfn convert_short_sat_rte(ushort);258short __ovld __cnfn convert_short_rtz(ushort);259short __ovld __cnfn convert_short_sat_rtz(ushort);260short __ovld __cnfn convert_short_rtp(ushort);261short __ovld __cnfn convert_short_sat_rtp(ushort);262short __ovld __cnfn convert_short_rtn(ushort);263short __ovld __cnfn convert_short_sat_rtn(ushort);264short __ovld __cnfn convert_short(ushort);265short __ovld __cnfn convert_short_sat(ushort);266short __ovld __cnfn convert_short_rte(int);267short __ovld __cnfn convert_short_sat_rte(int);268short __ovld __cnfn convert_short_rtz(int);269short __ovld __cnfn convert_short_sat_rtz(int);270short __ovld __cnfn convert_short_rtp(int);271short __ovld __cnfn convert_short_sat_rtp(int);272short __ovld __cnfn convert_short_rtn(int);273short __ovld __cnfn convert_short_sat_rtn(int);274short __ovld __cnfn convert_short(int);275short __ovld __cnfn convert_short_sat(int);276short __ovld __cnfn convert_short_rte(uint);277short __ovld __cnfn convert_short_sat_rte(uint);278short __ovld __cnfn convert_short_rtz(uint);279short __ovld __cnfn convert_short_sat_rtz(uint);280short __ovld __cnfn convert_short_rtp(uint);281short __ovld __cnfn convert_short_sat_rtp(uint);282short __ovld __cnfn convert_short_rtn(uint);283short __ovld __cnfn convert_short_sat_rtn(uint);284short __ovld __cnfn convert_short(uint);285short __ovld __cnfn convert_short_sat(uint);286short __ovld __cnfn convert_short_rte(long);287short __ovld __cnfn convert_short_sat_rte(long);288short __ovld __cnfn convert_short_rtz(long);289short __ovld __cnfn convert_short_sat_rtz(long);290short __ovld __cnfn convert_short_rtp(long);291short __ovld __cnfn convert_short_sat_rtp(long);292short __ovld __cnfn convert_short_rtn(long);293short __ovld __cnfn convert_short_sat_rtn(long);294short __ovld __cnfn convert_short(long);295short __ovld __cnfn convert_short_sat(long);296short __ovld __cnfn convert_short_rte(ulong);297short __ovld __cnfn convert_short_sat_rte(ulong);298short __ovld __cnfn convert_short_rtz(ulong);299short __ovld __cnfn convert_short_sat_rtz(ulong);300short __ovld __cnfn convert_short_rtp(ulong);301short __ovld __cnfn convert_short_sat_rtp(ulong);302short __ovld __cnfn convert_short_rtn(ulong);303short __ovld __cnfn convert_short_sat_rtn(ulong);304short __ovld __cnfn convert_short(ulong);305short __ovld __cnfn convert_short_sat(ulong);306short __ovld __cnfn convert_short_rte(float);307short __ovld __cnfn convert_short_sat_rte(float);308short __ovld __cnfn convert_short_rtz(float);309short __ovld __cnfn convert_short_sat_rtz(float);310short __ovld __cnfn convert_short_rtp(float);311short __ovld __cnfn convert_short_sat_rtp(float);312short __ovld __cnfn convert_short_rtn(float);313short __ovld __cnfn convert_short_sat_rtn(float);314short __ovld __cnfn convert_short(float);315short __ovld __cnfn convert_short_sat(float);316ushort __ovld __cnfn convert_ushort_rte(char);317ushort __ovld __cnfn convert_ushort_sat_rte(char);318ushort __ovld __cnfn convert_ushort_rtz(char);319ushort __ovld __cnfn convert_ushort_sat_rtz(char);320ushort __ovld __cnfn convert_ushort_rtp(char);321ushort __ovld __cnfn convert_ushort_sat_rtp(char);322ushort __ovld __cnfn convert_ushort_rtn(char);323ushort __ovld __cnfn convert_ushort_sat_rtn(char);324ushort __ovld __cnfn convert_ushort(char);325ushort __ovld __cnfn convert_ushort_sat(char);326ushort __ovld __cnfn convert_ushort_rte(uchar);327ushort __ovld __cnfn convert_ushort_sat_rte(uchar);328ushort __ovld __cnfn convert_ushort_rtz(uchar);329ushort __ovld __cnfn convert_ushort_sat_rtz(uchar);330ushort __ovld __cnfn convert_ushort_rtp(uchar);331ushort __ovld __cnfn convert_ushort_sat_rtp(uchar);332ushort __ovld __cnfn convert_ushort_rtn(uchar);333ushort __ovld __cnfn convert_ushort_sat_rtn(uchar);334ushort __ovld __cnfn convert_ushort(uchar);335ushort __ovld __cnfn convert_ushort_sat(uchar);336ushort __ovld __cnfn convert_ushort_rte(short);337ushort __ovld __cnfn convert_ushort_sat_rte(short);338ushort __ovld __cnfn convert_ushort_rtz(short);339ushort __ovld __cnfn convert_ushort_sat_rtz(short);340ushort __ovld __cnfn convert_ushort_rtp(short);341ushort __ovld __cnfn convert_ushort_sat_rtp(short);342ushort __ovld __cnfn convert_ushort_rtn(short);343ushort __ovld __cnfn convert_ushort_sat_rtn(short);344ushort __ovld __cnfn convert_ushort(short);345ushort __ovld __cnfn convert_ushort_sat(short);346ushort __ovld __cnfn convert_ushort_rte(ushort);347ushort __ovld __cnfn convert_ushort_sat_rte(ushort);348ushort __ovld __cnfn convert_ushort_rtz(ushort);349ushort __ovld __cnfn convert_ushort_sat_rtz(ushort);350ushort __ovld __cnfn convert_ushort_rtp(ushort);351ushort __ovld __cnfn convert_ushort_sat_rtp(ushort);352ushort __ovld __cnfn convert_ushort_rtn(ushort);353ushort __ovld __cnfn convert_ushort_sat_rtn(ushort);354ushort __ovld __cnfn convert_ushort(ushort);355ushort __ovld __cnfn convert_ushort_sat(ushort);356ushort __ovld __cnfn convert_ushort_rte(int);357ushort __ovld __cnfn convert_ushort_sat_rte(int);358ushort __ovld __cnfn convert_ushort_rtz(int);359ushort __ovld __cnfn convert_ushort_sat_rtz(int);360ushort __ovld __cnfn convert_ushort_rtp(int);361ushort __ovld __cnfn convert_ushort_sat_rtp(int);362ushort __ovld __cnfn convert_ushort_rtn(int);363ushort __ovld __cnfn convert_ushort_sat_rtn(int);364ushort __ovld __cnfn convert_ushort(int);365ushort __ovld __cnfn convert_ushort_sat(int);366ushort __ovld __cnfn convert_ushort_rte(uint);367ushort __ovld __cnfn convert_ushort_sat_rte(uint);368ushort __ovld __cnfn convert_ushort_rtz(uint);369ushort __ovld __cnfn convert_ushort_sat_rtz(uint);370ushort __ovld __cnfn convert_ushort_rtp(uint);371ushort __ovld __cnfn convert_ushort_sat_rtp(uint);372ushort __ovld __cnfn convert_ushort_rtn(uint);373ushort __ovld __cnfn convert_ushort_sat_rtn(uint);374ushort __ovld __cnfn convert_ushort(uint);375ushort __ovld __cnfn convert_ushort_sat(uint);376ushort __ovld __cnfn convert_ushort_rte(long);377ushort __ovld __cnfn convert_ushort_sat_rte(long);378ushort __ovld __cnfn convert_ushort_rtz(long);379ushort __ovld __cnfn convert_ushort_sat_rtz(long);380ushort __ovld __cnfn convert_ushort_rtp(long);381ushort __ovld __cnfn convert_ushort_sat_rtp(long);382ushort __ovld __cnfn convert_ushort_rtn(long);383ushort __ovld __cnfn convert_ushort_sat_rtn(long);384ushort __ovld __cnfn convert_ushort(long);385ushort __ovld __cnfn convert_ushort_sat(long);386ushort __ovld __cnfn convert_ushort_rte(ulong);387ushort __ovld __cnfn convert_ushort_sat_rte(ulong);388ushort __ovld __cnfn convert_ushort_rtz(ulong);389ushort __ovld __cnfn convert_ushort_sat_rtz(ulong);390ushort __ovld __cnfn convert_ushort_rtp(ulong);391ushort __ovld __cnfn convert_ushort_sat_rtp(ulong);392ushort __ovld __cnfn convert_ushort_rtn(ulong);393ushort __ovld __cnfn convert_ushort_sat_rtn(ulong);394ushort __ovld __cnfn convert_ushort(ulong);395ushort __ovld __cnfn convert_ushort_sat(ulong);396ushort __ovld __cnfn convert_ushort_rte(float);397ushort __ovld __cnfn convert_ushort_sat_rte(float);398ushort __ovld __cnfn convert_ushort_rtz(float);399ushort __ovld __cnfn convert_ushort_sat_rtz(float);400ushort __ovld __cnfn convert_ushort_rtp(float);401ushort __ovld __cnfn convert_ushort_sat_rtp(float);402ushort __ovld __cnfn convert_ushort_rtn(float);403ushort __ovld __cnfn convert_ushort_sat_rtn(float);404ushort __ovld __cnfn convert_ushort(float);405ushort __ovld __cnfn convert_ushort_sat(float);406int __ovld __cnfn convert_int_rte(char);407int __ovld __cnfn convert_int_sat_rte(char);408int __ovld __cnfn convert_int_rtz(char);409int __ovld __cnfn convert_int_sat_rtz(char);410int __ovld __cnfn convert_int_rtp(char);411int __ovld __cnfn convert_int_sat_rtp(char);412int __ovld __cnfn convert_int_rtn(char);413int __ovld __cnfn convert_int_sat_rtn(char);414int __ovld __cnfn convert_int(char);415int __ovld __cnfn convert_int_sat(char);416int __ovld __cnfn convert_int_rte(uchar);417int __ovld __cnfn convert_int_sat_rte(uchar);418int __ovld __cnfn convert_int_rtz(uchar);419int __ovld __cnfn convert_int_sat_rtz(uchar);420int __ovld __cnfn convert_int_rtp(uchar);421int __ovld __cnfn convert_int_sat_rtp(uchar);422int __ovld __cnfn convert_int_rtn(uchar);423int __ovld __cnfn convert_int_sat_rtn(uchar);424int __ovld __cnfn convert_int(uchar);425int __ovld __cnfn convert_int_sat(uchar);426int __ovld __cnfn convert_int_rte(short);427int __ovld __cnfn convert_int_sat_rte(short);428int __ovld __cnfn convert_int_rtz(short);429int __ovld __cnfn convert_int_sat_rtz(short);430int __ovld __cnfn convert_int_rtp(short);431int __ovld __cnfn convert_int_sat_rtp(short);432int __ovld __cnfn convert_int_rtn(short);433int __ovld __cnfn convert_int_sat_rtn(short);434int __ovld __cnfn convert_int(short);435int __ovld __cnfn convert_int_sat(short);436int __ovld __cnfn convert_int_rte(ushort);437int __ovld __cnfn convert_int_sat_rte(ushort);438int __ovld __cnfn convert_int_rtz(ushort);439int __ovld __cnfn convert_int_sat_rtz(ushort);440int __ovld __cnfn convert_int_rtp(ushort);441int __ovld __cnfn convert_int_sat_rtp(ushort);442int __ovld __cnfn convert_int_rtn(ushort);443int __ovld __cnfn convert_int_sat_rtn(ushort);444int __ovld __cnfn convert_int(ushort);445int __ovld __cnfn convert_int_sat(ushort);446int __ovld __cnfn convert_int_rte(int);447int __ovld __cnfn convert_int_sat_rte(int);448int __ovld __cnfn convert_int_rtz(int);449int __ovld __cnfn convert_int_sat_rtz(int);450int __ovld __cnfn convert_int_rtp(int);451int __ovld __cnfn convert_int_sat_rtp(int);452int __ovld __cnfn convert_int_rtn(int);453int __ovld __cnfn convert_int_sat_rtn(int);454int __ovld __cnfn convert_int(int);455int __ovld __cnfn convert_int_sat(int);456int __ovld __cnfn convert_int_rte(uint);457int __ovld __cnfn convert_int_sat_rte(uint);458int __ovld __cnfn convert_int_rtz(uint);459int __ovld __cnfn convert_int_sat_rtz(uint);460int __ovld __cnfn convert_int_rtp(uint);461int __ovld __cnfn convert_int_sat_rtp(uint);462int __ovld __cnfn convert_int_rtn(uint);463int __ovld __cnfn convert_int_sat_rtn(uint);464int __ovld __cnfn convert_int(uint);465int __ovld __cnfn convert_int_sat(uint);466int __ovld __cnfn convert_int_rte(long);467int __ovld __cnfn convert_int_sat_rte(long);468int __ovld __cnfn convert_int_rtz(long);469int __ovld __cnfn convert_int_sat_rtz(long);470int __ovld __cnfn convert_int_rtp(long);471int __ovld __cnfn convert_int_sat_rtp(long);472int __ovld __cnfn convert_int_rtn(long);473int __ovld __cnfn convert_int_sat_rtn(long);474int __ovld __cnfn convert_int(long);475int __ovld __cnfn convert_int_sat(long);476int __ovld __cnfn convert_int_rte(ulong);477int __ovld __cnfn convert_int_sat_rte(ulong);478int __ovld __cnfn convert_int_rtz(ulong);479int __ovld __cnfn convert_int_sat_rtz(ulong);480int __ovld __cnfn convert_int_rtp(ulong);481int __ovld __cnfn convert_int_sat_rtp(ulong);482int __ovld __cnfn convert_int_rtn(ulong);483int __ovld __cnfn convert_int_sat_rtn(ulong);484int __ovld __cnfn convert_int(ulong);485int __ovld __cnfn convert_int_sat(ulong);486int __ovld __cnfn convert_int_rte(float);487int __ovld __cnfn convert_int_sat_rte(float);488int __ovld __cnfn convert_int_rtz(float);489int __ovld __cnfn convert_int_sat_rtz(float);490int __ovld __cnfn convert_int_rtp(float);491int __ovld __cnfn convert_int_sat_rtp(float);492int __ovld __cnfn convert_int_rtn(float);493int __ovld __cnfn convert_int_sat_rtn(float);494int __ovld __cnfn convert_int(float);495int __ovld __cnfn convert_int_sat(float);496uint __ovld __cnfn convert_uint_rte(char);497uint __ovld __cnfn convert_uint_sat_rte(char);498uint __ovld __cnfn convert_uint_rtz(char);499uint __ovld __cnfn convert_uint_sat_rtz(char);500uint __ovld __cnfn convert_uint_rtp(char);501uint __ovld __cnfn convert_uint_sat_rtp(char);502uint __ovld __cnfn convert_uint_rtn(char);503uint __ovld __cnfn convert_uint_sat_rtn(char);504uint __ovld __cnfn convert_uint(char);505uint __ovld __cnfn convert_uint_sat(char);506uint __ovld __cnfn convert_uint_rte(uchar);507uint __ovld __cnfn convert_uint_sat_rte(uchar);508uint __ovld __cnfn convert_uint_rtz(uchar);509uint __ovld __cnfn convert_uint_sat_rtz(uchar);510uint __ovld __cnfn convert_uint_rtp(uchar);511uint __ovld __cnfn convert_uint_sat_rtp(uchar);512uint __ovld __cnfn convert_uint_rtn(uchar);513uint __ovld __cnfn convert_uint_sat_rtn(uchar);514uint __ovld __cnfn convert_uint(uchar);515uint __ovld __cnfn convert_uint_sat(uchar);516uint __ovld __cnfn convert_uint_rte(short);517uint __ovld __cnfn convert_uint_sat_rte(short);518uint __ovld __cnfn convert_uint_rtz(short);519uint __ovld __cnfn convert_uint_sat_rtz(short);520uint __ovld __cnfn convert_uint_rtp(short);521uint __ovld __cnfn convert_uint_sat_rtp(short);522uint __ovld __cnfn convert_uint_rtn(short);523uint __ovld __cnfn convert_uint_sat_rtn(short);524uint __ovld __cnfn convert_uint(short);525uint __ovld __cnfn convert_uint_sat(short);526uint __ovld __cnfn convert_uint_rte(ushort);527uint __ovld __cnfn convert_uint_sat_rte(ushort);528uint __ovld __cnfn convert_uint_rtz(ushort);529uint __ovld __cnfn convert_uint_sat_rtz(ushort);530uint __ovld __cnfn convert_uint_rtp(ushort);531uint __ovld __cnfn convert_uint_sat_rtp(ushort);532uint __ovld __cnfn convert_uint_rtn(ushort);533uint __ovld __cnfn convert_uint_sat_rtn(ushort);534uint __ovld __cnfn convert_uint(ushort);535uint __ovld __cnfn convert_uint_sat(ushort);536uint __ovld __cnfn convert_uint_rte(int);537uint __ovld __cnfn convert_uint_sat_rte(int);538uint __ovld __cnfn convert_uint_rtz(int);539uint __ovld __cnfn convert_uint_sat_rtz(int);540uint __ovld __cnfn convert_uint_rtp(int);541uint __ovld __cnfn convert_uint_sat_rtp(int);542uint __ovld __cnfn convert_uint_rtn(int);543uint __ovld __cnfn convert_uint_sat_rtn(int);544uint __ovld __cnfn convert_uint(int);545uint __ovld __cnfn convert_uint_sat(int);546uint __ovld __cnfn convert_uint_rte(uint);547uint __ovld __cnfn convert_uint_sat_rte(uint);548uint __ovld __cnfn convert_uint_rtz(uint);549uint __ovld __cnfn convert_uint_sat_rtz(uint);550uint __ovld __cnfn convert_uint_rtp(uint);551uint __ovld __cnfn convert_uint_sat_rtp(uint);552uint __ovld __cnfn convert_uint_rtn(uint);553uint __ovld __cnfn convert_uint_sat_rtn(uint);554uint __ovld __cnfn convert_uint(uint);555uint __ovld __cnfn convert_uint_sat(uint);556uint __ovld __cnfn convert_uint_rte(long);557uint __ovld __cnfn convert_uint_sat_rte(long);558uint __ovld __cnfn convert_uint_rtz(long);559uint __ovld __cnfn convert_uint_sat_rtz(long);560uint __ovld __cnfn convert_uint_rtp(long);561uint __ovld __cnfn convert_uint_sat_rtp(long);562uint __ovld __cnfn convert_uint_rtn(long);563uint __ovld __cnfn convert_uint_sat_rtn(long);564uint __ovld __cnfn convert_uint(long);565uint __ovld __cnfn convert_uint_sat(long);566uint __ovld __cnfn convert_uint_rte(ulong);567uint __ovld __cnfn convert_uint_sat_rte(ulong);568uint __ovld __cnfn convert_uint_rtz(ulong);569uint __ovld __cnfn convert_uint_sat_rtz(ulong);570uint __ovld __cnfn convert_uint_rtp(ulong);571uint __ovld __cnfn convert_uint_sat_rtp(ulong);572uint __ovld __cnfn convert_uint_rtn(ulong);573uint __ovld __cnfn convert_uint_sat_rtn(ulong);574uint __ovld __cnfn convert_uint(ulong);575uint __ovld __cnfn convert_uint_sat(ulong);576uint __ovld __cnfn convert_uint_rte(float);577uint __ovld __cnfn convert_uint_sat_rte(float);578uint __ovld __cnfn convert_uint_rtz(float);579uint __ovld __cnfn convert_uint_sat_rtz(float);580uint __ovld __cnfn convert_uint_rtp(float);581uint __ovld __cnfn convert_uint_sat_rtp(float);582uint __ovld __cnfn convert_uint_rtn(float);583uint __ovld __cnfn convert_uint_sat_rtn(float);584uint __ovld __cnfn convert_uint(float);585uint __ovld __cnfn convert_uint_sat(float);586long __ovld __cnfn convert_long_rte(char);587long __ovld __cnfn convert_long_sat_rte(char);588long __ovld __cnfn convert_long_rtz(char);589long __ovld __cnfn convert_long_sat_rtz(char);590long __ovld __cnfn convert_long_rtp(char);591long __ovld __cnfn convert_long_sat_rtp(char);592long __ovld __cnfn convert_long_rtn(char);593long __ovld __cnfn convert_long_sat_rtn(char);594long __ovld __cnfn convert_long(char);595long __ovld __cnfn convert_long_sat(char);596long __ovld __cnfn convert_long_rte(uchar);597long __ovld __cnfn convert_long_sat_rte(uchar);598long __ovld __cnfn convert_long_rtz(uchar);599long __ovld __cnfn convert_long_sat_rtz(uchar);600long __ovld __cnfn convert_long_rtp(uchar);601long __ovld __cnfn convert_long_sat_rtp(uchar);602long __ovld __cnfn convert_long_rtn(uchar);603long __ovld __cnfn convert_long_sat_rtn(uchar);604long __ovld __cnfn convert_long(uchar);605long __ovld __cnfn convert_long_sat(uchar);606long __ovld __cnfn convert_long_rte(short);607long __ovld __cnfn convert_long_sat_rte(short);608long __ovld __cnfn convert_long_rtz(short);609long __ovld __cnfn convert_long_sat_rtz(short);610long __ovld __cnfn convert_long_rtp(short);611long __ovld __cnfn convert_long_sat_rtp(short);612long __ovld __cnfn convert_long_rtn(short);613long __ovld __cnfn convert_long_sat_rtn(short);614long __ovld __cnfn convert_long(short);615long __ovld __cnfn convert_long_sat(short);616long __ovld __cnfn convert_long_rte(ushort);617long __ovld __cnfn convert_long_sat_rte(ushort);618long __ovld __cnfn convert_long_rtz(ushort);619long __ovld __cnfn convert_long_sat_rtz(ushort);620long __ovld __cnfn convert_long_rtp(ushort);621long __ovld __cnfn convert_long_sat_rtp(ushort);622long __ovld __cnfn convert_long_rtn(ushort);623long __ovld __cnfn convert_long_sat_rtn(ushort);624long __ovld __cnfn convert_long(ushort);625long __ovld __cnfn convert_long_sat(ushort);626long __ovld __cnfn convert_long_rte(int);627long __ovld __cnfn convert_long_sat_rte(int);628long __ovld __cnfn convert_long_rtz(int);629long __ovld __cnfn convert_long_sat_rtz(int);630long __ovld __cnfn convert_long_rtp(int);631long __ovld __cnfn convert_long_sat_rtp(int);632long __ovld __cnfn convert_long_rtn(int);633long __ovld __cnfn convert_long_sat_rtn(int);634long __ovld __cnfn convert_long(int);635long __ovld __cnfn convert_long_sat(int);636long __ovld __cnfn convert_long_rte(uint);637long __ovld __cnfn convert_long_sat_rte(uint);638long __ovld __cnfn convert_long_rtz(uint);639long __ovld __cnfn convert_long_sat_rtz(uint);640long __ovld __cnfn convert_long_rtp(uint);641long __ovld __cnfn convert_long_sat_rtp(uint);642long __ovld __cnfn convert_long_rtn(uint);643long __ovld __cnfn convert_long_sat_rtn(uint);644long __ovld __cnfn convert_long(uint);645long __ovld __cnfn convert_long_sat(uint);646long __ovld __cnfn convert_long_rte(long);647long __ovld __cnfn convert_long_sat_rte(long);648long __ovld __cnfn convert_long_rtz(long);649long __ovld __cnfn convert_long_sat_rtz(long);650long __ovld __cnfn convert_long_rtp(long);651long __ovld __cnfn convert_long_sat_rtp(long);652long __ovld __cnfn convert_long_rtn(long);653long __ovld __cnfn convert_long_sat_rtn(long);654long __ovld __cnfn convert_long(long);655long __ovld __cnfn convert_long_sat(long);656long __ovld __cnfn convert_long_rte(ulong);657long __ovld __cnfn convert_long_sat_rte(ulong);658long __ovld __cnfn convert_long_rtz(ulong);659long __ovld __cnfn convert_long_sat_rtz(ulong);660long __ovld __cnfn convert_long_rtp(ulong);661long __ovld __cnfn convert_long_sat_rtp(ulong);662long __ovld __cnfn convert_long_rtn(ulong);663long __ovld __cnfn convert_long_sat_rtn(ulong);664long __ovld __cnfn convert_long(ulong);665long __ovld __cnfn convert_long_sat(ulong);666long __ovld __cnfn convert_long_rte(float);667long __ovld __cnfn convert_long_sat_rte(float);668long __ovld __cnfn convert_long_rtz(float);669long __ovld __cnfn convert_long_sat_rtz(float);670long __ovld __cnfn convert_long_rtp(float);671long __ovld __cnfn convert_long_sat_rtp(float);672long __ovld __cnfn convert_long_rtn(float);673long __ovld __cnfn convert_long_sat_rtn(float);674long __ovld __cnfn convert_long(float);675long __ovld __cnfn convert_long_sat(float);676ulong __ovld __cnfn convert_ulong_rte(char);677ulong __ovld __cnfn convert_ulong_sat_rte(char);678ulong __ovld __cnfn convert_ulong_rtz(char);679ulong __ovld __cnfn convert_ulong_sat_rtz(char);680ulong __ovld __cnfn convert_ulong_rtp(char);681ulong __ovld __cnfn convert_ulong_sat_rtp(char);682ulong __ovld __cnfn convert_ulong_rtn(char);683ulong __ovld __cnfn convert_ulong_sat_rtn(char);684ulong __ovld __cnfn convert_ulong(char);685ulong __ovld __cnfn convert_ulong_sat(char);686ulong __ovld __cnfn convert_ulong_rte(uchar);687ulong __ovld __cnfn convert_ulong_sat_rte(uchar);688ulong __ovld __cnfn convert_ulong_rtz(uchar);689ulong __ovld __cnfn convert_ulong_sat_rtz(uchar);690ulong __ovld __cnfn convert_ulong_rtp(uchar);691ulong __ovld __cnfn convert_ulong_sat_rtp(uchar);692ulong __ovld __cnfn convert_ulong_rtn(uchar);693ulong __ovld __cnfn convert_ulong_sat_rtn(uchar);694ulong __ovld __cnfn convert_ulong(uchar);695ulong __ovld __cnfn convert_ulong_sat(uchar);696ulong __ovld __cnfn convert_ulong_rte(short);697ulong __ovld __cnfn convert_ulong_sat_rte(short);698ulong __ovld __cnfn convert_ulong_rtz(short);699ulong __ovld __cnfn convert_ulong_sat_rtz(short);700ulong __ovld __cnfn convert_ulong_rtp(short);701ulong __ovld __cnfn convert_ulong_sat_rtp(short);702ulong __ovld __cnfn convert_ulong_rtn(short);703ulong __ovld __cnfn convert_ulong_sat_rtn(short);704ulong __ovld __cnfn convert_ulong(short);705ulong __ovld __cnfn convert_ulong_sat(short);706ulong __ovld __cnfn convert_ulong_rte(ushort);707ulong __ovld __cnfn convert_ulong_sat_rte(ushort);708ulong __ovld __cnfn convert_ulong_rtz(ushort);709ulong __ovld __cnfn convert_ulong_sat_rtz(ushort);710ulong __ovld __cnfn convert_ulong_rtp(ushort);711ulong __ovld __cnfn convert_ulong_sat_rtp(ushort);712ulong __ovld __cnfn convert_ulong_rtn(ushort);713ulong __ovld __cnfn convert_ulong_sat_rtn(ushort);714ulong __ovld __cnfn convert_ulong(ushort);715ulong __ovld __cnfn convert_ulong_sat(ushort);716ulong __ovld __cnfn convert_ulong_rte(int);717ulong __ovld __cnfn convert_ulong_sat_rte(int);718ulong __ovld __cnfn convert_ulong_rtz(int);719ulong __ovld __cnfn convert_ulong_sat_rtz(int);720ulong __ovld __cnfn convert_ulong_rtp(int);721ulong __ovld __cnfn convert_ulong_sat_rtp(int);722ulong __ovld __cnfn convert_ulong_rtn(int);723ulong __ovld __cnfn convert_ulong_sat_rtn(int);724ulong __ovld __cnfn convert_ulong(int);725ulong __ovld __cnfn convert_ulong_sat(int);726ulong __ovld __cnfn convert_ulong_rte(uint);727ulong __ovld __cnfn convert_ulong_sat_rte(uint);728ulong __ovld __cnfn convert_ulong_rtz(uint);729ulong __ovld __cnfn convert_ulong_sat_rtz(uint);730ulong __ovld __cnfn convert_ulong_rtp(uint);731ulong __ovld __cnfn convert_ulong_sat_rtp(uint);732ulong __ovld __cnfn convert_ulong_rtn(uint);733ulong __ovld __cnfn convert_ulong_sat_rtn(uint);734ulong __ovld __cnfn convert_ulong(uint);735ulong __ovld __cnfn convert_ulong_sat(uint);736ulong __ovld __cnfn convert_ulong_rte(long);737ulong __ovld __cnfn convert_ulong_sat_rte(long);738ulong __ovld __cnfn convert_ulong_rtz(long);739ulong __ovld __cnfn convert_ulong_sat_rtz(long);740ulong __ovld __cnfn convert_ulong_rtp(long);741ulong __ovld __cnfn convert_ulong_sat_rtp(long);742ulong __ovld __cnfn convert_ulong_rtn(long);743ulong __ovld __cnfn convert_ulong_sat_rtn(long);744ulong __ovld __cnfn convert_ulong(long);745ulong __ovld __cnfn convert_ulong_sat(long);746ulong __ovld __cnfn convert_ulong_rte(ulong);747ulong __ovld __cnfn convert_ulong_sat_rte(ulong);748ulong __ovld __cnfn convert_ulong_rtz(ulong);749ulong __ovld __cnfn convert_ulong_sat_rtz(ulong);750ulong __ovld __cnfn convert_ulong_rtp(ulong);751ulong __ovld __cnfn convert_ulong_sat_rtp(ulong);752ulong __ovld __cnfn convert_ulong_rtn(ulong);753ulong __ovld __cnfn convert_ulong_sat_rtn(ulong);754ulong __ovld __cnfn convert_ulong(ulong);755ulong __ovld __cnfn convert_ulong_sat(ulong);756ulong __ovld __cnfn convert_ulong_rte(float);757ulong __ovld __cnfn convert_ulong_sat_rte(float);758ulong __ovld __cnfn convert_ulong_rtz(float);759ulong __ovld __cnfn convert_ulong_sat_rtz(float);760ulong __ovld __cnfn convert_ulong_rtp(float);761ulong __ovld __cnfn convert_ulong_sat_rtp(float);762ulong __ovld __cnfn convert_ulong_rtn(float);763ulong __ovld __cnfn convert_ulong_sat_rtn(float);764ulong __ovld __cnfn convert_ulong(float);765ulong __ovld __cnfn convert_ulong_sat(float);766float __ovld __cnfn convert_float_rte(char);767float __ovld __cnfn convert_float_rtz(char);768float __ovld __cnfn convert_float_rtp(char);769float __ovld __cnfn convert_float_rtn(char);770float __ovld __cnfn convert_float(char);771float __ovld __cnfn convert_float_rte(uchar);772float __ovld __cnfn convert_float_rtz(uchar);773float __ovld __cnfn convert_float_rtp(uchar);774float __ovld __cnfn convert_float_rtn(uchar);775float __ovld __cnfn convert_float(uchar);776float __ovld __cnfn convert_float_rte(short);777float __ovld __cnfn convert_float_rtz(short);778float __ovld __cnfn convert_float_rtp(short);779float __ovld __cnfn convert_float_rtn(short);780float __ovld __cnfn convert_float(short);781float __ovld __cnfn convert_float_rte(ushort);782float __ovld __cnfn convert_float_rtz(ushort);783float __ovld __cnfn convert_float_rtp(ushort);784float __ovld __cnfn convert_float_rtn(ushort);785float __ovld __cnfn convert_float(ushort);786float __ovld __cnfn convert_float_rte(int);787float __ovld __cnfn convert_float_rtz(int);788float __ovld __cnfn convert_float_rtp(int);789float __ovld __cnfn convert_float_rtn(int);790float __ovld __cnfn convert_float(int);791float __ovld __cnfn convert_float_rte(uint);792float __ovld __cnfn convert_float_rtz(uint);793float __ovld __cnfn convert_float_rtp(uint);794float __ovld __cnfn convert_float_rtn(uint);795float __ovld __cnfn convert_float(uint);796float __ovld __cnfn convert_float_rte(long);797float __ovld __cnfn convert_float_rtz(long);798float __ovld __cnfn convert_float_rtp(long);799float __ovld __cnfn convert_float_rtn(long);800float __ovld __cnfn convert_float(long);801float __ovld __cnfn convert_float_rte(ulong);802float __ovld __cnfn convert_float_rtz(ulong);803float __ovld __cnfn convert_float_rtp(ulong);804float __ovld __cnfn convert_float_rtn(ulong);805float __ovld __cnfn convert_float(ulong);806float __ovld __cnfn convert_float_rte(float);807float __ovld __cnfn convert_float_rtz(float);808float __ovld __cnfn convert_float_rtp(float);809float __ovld __cnfn convert_float_rtn(float);810float __ovld __cnfn convert_float(float);811char2 __ovld __cnfn convert_char2_rte(char2);812char2 __ovld __cnfn convert_char2_sat_rte(char2);813char2 __ovld __cnfn convert_char2_rtz(char2);814char2 __ovld __cnfn convert_char2_sat_rtz(char2);815char2 __ovld __cnfn convert_char2_rtp(char2);816char2 __ovld __cnfn convert_char2_sat_rtp(char2);817char2 __ovld __cnfn convert_char2_rtn(char2);818char2 __ovld __cnfn convert_char2_sat_rtn(char2);819char2 __ovld __cnfn convert_char2(char2);820char2 __ovld __cnfn convert_char2_sat(char2);821char2 __ovld __cnfn convert_char2_rte(uchar2);822char2 __ovld __cnfn convert_char2_sat_rte(uchar2);823char2 __ovld __cnfn convert_char2_rtz(uchar2);824char2 __ovld __cnfn convert_char2_sat_rtz(uchar2);825char2 __ovld __cnfn convert_char2_rtp(uchar2);826char2 __ovld __cnfn convert_char2_sat_rtp(uchar2);827char2 __ovld __cnfn convert_char2_rtn(uchar2);828char2 __ovld __cnfn convert_char2_sat_rtn(uchar2);829char2 __ovld __cnfn convert_char2(uchar2);830char2 __ovld __cnfn convert_char2_sat(uchar2);831char2 __ovld __cnfn convert_char2_rte(short2);832char2 __ovld __cnfn convert_char2_sat_rte(short2);833char2 __ovld __cnfn convert_char2_rtz(short2);834char2 __ovld __cnfn convert_char2_sat_rtz(short2);835char2 __ovld __cnfn convert_char2_rtp(short2);836char2 __ovld __cnfn convert_char2_sat_rtp(short2);837char2 __ovld __cnfn convert_char2_rtn(short2);838char2 __ovld __cnfn convert_char2_sat_rtn(short2);839char2 __ovld __cnfn convert_char2(short2);840char2 __ovld __cnfn convert_char2_sat(short2);841char2 __ovld __cnfn convert_char2_rte(ushort2);842char2 __ovld __cnfn convert_char2_sat_rte(ushort2);843char2 __ovld __cnfn convert_char2_rtz(ushort2);844char2 __ovld __cnfn convert_char2_sat_rtz(ushort2);845char2 __ovld __cnfn convert_char2_rtp(ushort2);846char2 __ovld __cnfn convert_char2_sat_rtp(ushort2);847char2 __ovld __cnfn convert_char2_rtn(ushort2);848char2 __ovld __cnfn convert_char2_sat_rtn(ushort2);849char2 __ovld __cnfn convert_char2(ushort2);850char2 __ovld __cnfn convert_char2_sat(ushort2);851char2 __ovld __cnfn convert_char2_rte(int2);852char2 __ovld __cnfn convert_char2_sat_rte(int2);853char2 __ovld __cnfn convert_char2_rtz(int2);854char2 __ovld __cnfn convert_char2_sat_rtz(int2);855char2 __ovld __cnfn convert_char2_rtp(int2);856char2 __ovld __cnfn convert_char2_sat_rtp(int2);857char2 __ovld __cnfn convert_char2_rtn(int2);858char2 __ovld __cnfn convert_char2_sat_rtn(int2);859char2 __ovld __cnfn convert_char2(int2);860char2 __ovld __cnfn convert_char2_sat(int2);861char2 __ovld __cnfn convert_char2_rte(uint2);862char2 __ovld __cnfn convert_char2_sat_rte(uint2);863char2 __ovld __cnfn convert_char2_rtz(uint2);864char2 __ovld __cnfn convert_char2_sat_rtz(uint2);865char2 __ovld __cnfn convert_char2_rtp(uint2);866char2 __ovld __cnfn convert_char2_sat_rtp(uint2);867char2 __ovld __cnfn convert_char2_rtn(uint2);868char2 __ovld __cnfn convert_char2_sat_rtn(uint2);869char2 __ovld __cnfn convert_char2(uint2);870char2 __ovld __cnfn convert_char2_sat(uint2);871char2 __ovld __cnfn convert_char2_rte(long2);872char2 __ovld __cnfn convert_char2_sat_rte(long2);873char2 __ovld __cnfn convert_char2_rtz(long2);874char2 __ovld __cnfn convert_char2_sat_rtz(long2);875char2 __ovld __cnfn convert_char2_rtp(long2);876char2 __ovld __cnfn convert_char2_sat_rtp(long2);877char2 __ovld __cnfn convert_char2_rtn(long2);878char2 __ovld __cnfn convert_char2_sat_rtn(long2);879char2 __ovld __cnfn convert_char2(long2);880char2 __ovld __cnfn convert_char2_sat(long2);881char2 __ovld __cnfn convert_char2_rte(ulong2);882char2 __ovld __cnfn convert_char2_sat_rte(ulong2);883char2 __ovld __cnfn convert_char2_rtz(ulong2);884char2 __ovld __cnfn convert_char2_sat_rtz(ulong2);885char2 __ovld __cnfn convert_char2_rtp(ulong2);886char2 __ovld __cnfn convert_char2_sat_rtp(ulong2);887char2 __ovld __cnfn convert_char2_rtn(ulong2);888char2 __ovld __cnfn convert_char2_sat_rtn(ulong2);889char2 __ovld __cnfn convert_char2(ulong2);890char2 __ovld __cnfn convert_char2_sat(ulong2);891char2 __ovld __cnfn convert_char2_rte(float2);892char2 __ovld __cnfn convert_char2_sat_rte(float2);893char2 __ovld __cnfn convert_char2_rtz(float2);894char2 __ovld __cnfn convert_char2_sat_rtz(float2);895char2 __ovld __cnfn convert_char2_rtp(float2);896char2 __ovld __cnfn convert_char2_sat_rtp(float2);897char2 __ovld __cnfn convert_char2_rtn(float2);898char2 __ovld __cnfn convert_char2_sat_rtn(float2);899char2 __ovld __cnfn convert_char2(float2);900char2 __ovld __cnfn convert_char2_sat(float2);901uchar2 __ovld __cnfn convert_uchar2_rte(char2);902uchar2 __ovld __cnfn convert_uchar2_sat_rte(char2);903uchar2 __ovld __cnfn convert_uchar2_rtz(char2);904uchar2 __ovld __cnfn convert_uchar2_sat_rtz(char2);905uchar2 __ovld __cnfn convert_uchar2_rtp(char2);906uchar2 __ovld __cnfn convert_uchar2_sat_rtp(char2);907uchar2 __ovld __cnfn convert_uchar2_rtn(char2);908uchar2 __ovld __cnfn convert_uchar2_sat_rtn(char2);909uchar2 __ovld __cnfn convert_uchar2(char2);910uchar2 __ovld __cnfn convert_uchar2_sat(char2);911uchar2 __ovld __cnfn convert_uchar2_rte(uchar2);912uchar2 __ovld __cnfn convert_uchar2_sat_rte(uchar2);913uchar2 __ovld __cnfn convert_uchar2_rtz(uchar2);914uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uchar2);915uchar2 __ovld __cnfn convert_uchar2_rtp(uchar2);916uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uchar2);917uchar2 __ovld __cnfn convert_uchar2_rtn(uchar2);918uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uchar2);919uchar2 __ovld __cnfn convert_uchar2(uchar2);920uchar2 __ovld __cnfn convert_uchar2_sat(uchar2);921uchar2 __ovld __cnfn convert_uchar2_rte(short2);922uchar2 __ovld __cnfn convert_uchar2_sat_rte(short2);923uchar2 __ovld __cnfn convert_uchar2_rtz(short2);924uchar2 __ovld __cnfn convert_uchar2_sat_rtz(short2);925uchar2 __ovld __cnfn convert_uchar2_rtp(short2);926uchar2 __ovld __cnfn convert_uchar2_sat_rtp(short2);927uchar2 __ovld __cnfn convert_uchar2_rtn(short2);928uchar2 __ovld __cnfn convert_uchar2_sat_rtn(short2);929uchar2 __ovld __cnfn convert_uchar2(short2);930uchar2 __ovld __cnfn convert_uchar2_sat(short2);931uchar2 __ovld __cnfn convert_uchar2_rte(ushort2);932uchar2 __ovld __cnfn convert_uchar2_sat_rte(ushort2);933uchar2 __ovld __cnfn convert_uchar2_rtz(ushort2);934uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ushort2);935uchar2 __ovld __cnfn convert_uchar2_rtp(ushort2);936uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ushort2);937uchar2 __ovld __cnfn convert_uchar2_rtn(ushort2);938uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ushort2);939uchar2 __ovld __cnfn convert_uchar2(ushort2);940uchar2 __ovld __cnfn convert_uchar2_sat(ushort2);941uchar2 __ovld __cnfn convert_uchar2_rte(int2);942uchar2 __ovld __cnfn convert_uchar2_sat_rte(int2);943uchar2 __ovld __cnfn convert_uchar2_rtz(int2);944uchar2 __ovld __cnfn convert_uchar2_sat_rtz(int2);945uchar2 __ovld __cnfn convert_uchar2_rtp(int2);946uchar2 __ovld __cnfn convert_uchar2_sat_rtp(int2);947uchar2 __ovld __cnfn convert_uchar2_rtn(int2);948uchar2 __ovld __cnfn convert_uchar2_sat_rtn(int2);949uchar2 __ovld __cnfn convert_uchar2(int2);950uchar2 __ovld __cnfn convert_uchar2_sat(int2);951uchar2 __ovld __cnfn convert_uchar2_rte(uint2);952uchar2 __ovld __cnfn convert_uchar2_sat_rte(uint2);953uchar2 __ovld __cnfn convert_uchar2_rtz(uint2);954uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uint2);955uchar2 __ovld __cnfn convert_uchar2_rtp(uint2);956uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uint2);957uchar2 __ovld __cnfn convert_uchar2_rtn(uint2);958uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uint2);959uchar2 __ovld __cnfn convert_uchar2(uint2);960uchar2 __ovld __cnfn convert_uchar2_sat(uint2);961uchar2 __ovld __cnfn convert_uchar2_rte(long2);962uchar2 __ovld __cnfn convert_uchar2_sat_rte(long2);963uchar2 __ovld __cnfn convert_uchar2_rtz(long2);964uchar2 __ovld __cnfn convert_uchar2_sat_rtz(long2);965uchar2 __ovld __cnfn convert_uchar2_rtp(long2);966uchar2 __ovld __cnfn convert_uchar2_sat_rtp(long2);967uchar2 __ovld __cnfn convert_uchar2_rtn(long2);968uchar2 __ovld __cnfn convert_uchar2_sat_rtn(long2);969uchar2 __ovld __cnfn convert_uchar2(long2);970uchar2 __ovld __cnfn convert_uchar2_sat(long2);971uchar2 __ovld __cnfn convert_uchar2_rte(ulong2);972uchar2 __ovld __cnfn convert_uchar2_sat_rte(ulong2);973uchar2 __ovld __cnfn convert_uchar2_rtz(ulong2);974uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ulong2);975uchar2 __ovld __cnfn convert_uchar2_rtp(ulong2);976uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ulong2);977uchar2 __ovld __cnfn convert_uchar2_rtn(ulong2);978uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ulong2);979uchar2 __ovld __cnfn convert_uchar2(ulong2);980uchar2 __ovld __cnfn convert_uchar2_sat(ulong2);981uchar2 __ovld __cnfn convert_uchar2_rte(float2);982uchar2 __ovld __cnfn convert_uchar2_sat_rte(float2);983uchar2 __ovld __cnfn convert_uchar2_rtz(float2);984uchar2 __ovld __cnfn convert_uchar2_sat_rtz(float2);985uchar2 __ovld __cnfn convert_uchar2_rtp(float2);986uchar2 __ovld __cnfn convert_uchar2_sat_rtp(float2);987uchar2 __ovld __cnfn convert_uchar2_rtn(float2);988uchar2 __ovld __cnfn convert_uchar2_sat_rtn(float2);989uchar2 __ovld __cnfn convert_uchar2(float2);990uchar2 __ovld __cnfn convert_uchar2_sat(float2);991short2 __ovld __cnfn convert_short2_rte(char2);992short2 __ovld __cnfn convert_short2_sat_rte(char2);993short2 __ovld __cnfn convert_short2_rtz(char2);994short2 __ovld __cnfn convert_short2_sat_rtz(char2);995short2 __ovld __cnfn convert_short2_rtp(char2);996short2 __ovld __cnfn convert_short2_sat_rtp(char2);997short2 __ovld __cnfn convert_short2_rtn(char2);998short2 __ovld __cnfn convert_short2_sat_rtn(char2);999short2 __ovld __cnfn convert_short2(char2);1000short2 __ovld __cnfn convert_short2_sat(char2);1001short2 __ovld __cnfn convert_short2_rte(uchar2);1002short2 __ovld __cnfn convert_short2_sat_rte(uchar2);1003short2 __ovld __cnfn convert_short2_rtz(uchar2);1004short2 __ovld __cnfn convert_short2_sat_rtz(uchar2);1005short2 __ovld __cnfn convert_short2_rtp(uchar2);1006short2 __ovld __cnfn convert_short2_sat_rtp(uchar2);1007short2 __ovld __cnfn convert_short2_rtn(uchar2);1008short2 __ovld __cnfn convert_short2_sat_rtn(uchar2);1009short2 __ovld __cnfn convert_short2(uchar2);1010short2 __ovld __cnfn convert_short2_sat(uchar2);1011short2 __ovld __cnfn convert_short2_rte(short2);1012short2 __ovld __cnfn convert_short2_sat_rte(short2);1013short2 __ovld __cnfn convert_short2_rtz(short2);1014short2 __ovld __cnfn convert_short2_sat_rtz(short2);1015short2 __ovld __cnfn convert_short2_rtp(short2);1016short2 __ovld __cnfn convert_short2_sat_rtp(short2);1017short2 __ovld __cnfn convert_short2_rtn(short2);1018short2 __ovld __cnfn convert_short2_sat_rtn(short2);1019short2 __ovld __cnfn convert_short2(short2);1020short2 __ovld __cnfn convert_short2_sat(short2);1021short2 __ovld __cnfn convert_short2_rte(ushort2);1022short2 __ovld __cnfn convert_short2_sat_rte(ushort2);1023short2 __ovld __cnfn convert_short2_rtz(ushort2);1024short2 __ovld __cnfn convert_short2_sat_rtz(ushort2);1025short2 __ovld __cnfn convert_short2_rtp(ushort2);1026short2 __ovld __cnfn convert_short2_sat_rtp(ushort2);1027short2 __ovld __cnfn convert_short2_rtn(ushort2);1028short2 __ovld __cnfn convert_short2_sat_rtn(ushort2);1029short2 __ovld __cnfn convert_short2(ushort2);1030short2 __ovld __cnfn convert_short2_sat(ushort2);1031short2 __ovld __cnfn convert_short2_rte(int2);1032short2 __ovld __cnfn convert_short2_sat_rte(int2);1033short2 __ovld __cnfn convert_short2_rtz(int2);1034short2 __ovld __cnfn convert_short2_sat_rtz(int2);1035short2 __ovld __cnfn convert_short2_rtp(int2);1036short2 __ovld __cnfn convert_short2_sat_rtp(int2);1037short2 __ovld __cnfn convert_short2_rtn(int2);1038short2 __ovld __cnfn convert_short2_sat_rtn(int2);1039short2 __ovld __cnfn convert_short2(int2);1040short2 __ovld __cnfn convert_short2_sat(int2);1041short2 __ovld __cnfn convert_short2_rte(uint2);1042short2 __ovld __cnfn convert_short2_sat_rte(uint2);1043short2 __ovld __cnfn convert_short2_rtz(uint2);1044short2 __ovld __cnfn convert_short2_sat_rtz(uint2);1045short2 __ovld __cnfn convert_short2_rtp(uint2);1046short2 __ovld __cnfn convert_short2_sat_rtp(uint2);1047short2 __ovld __cnfn convert_short2_rtn(uint2);1048short2 __ovld __cnfn convert_short2_sat_rtn(uint2);1049short2 __ovld __cnfn convert_short2(uint2);1050short2 __ovld __cnfn convert_short2_sat(uint2);1051short2 __ovld __cnfn convert_short2_rte(long2);1052short2 __ovld __cnfn convert_short2_sat_rte(long2);1053short2 __ovld __cnfn convert_short2_rtz(long2);1054short2 __ovld __cnfn convert_short2_sat_rtz(long2);1055short2 __ovld __cnfn convert_short2_rtp(long2);1056short2 __ovld __cnfn convert_short2_sat_rtp(long2);1057short2 __ovld __cnfn convert_short2_rtn(long2);1058short2 __ovld __cnfn convert_short2_sat_rtn(long2);1059short2 __ovld __cnfn convert_short2(long2);1060short2 __ovld __cnfn convert_short2_sat(long2);1061short2 __ovld __cnfn convert_short2_rte(ulong2);1062short2 __ovld __cnfn convert_short2_sat_rte(ulong2);1063short2 __ovld __cnfn convert_short2_rtz(ulong2);1064short2 __ovld __cnfn convert_short2_sat_rtz(ulong2);1065short2 __ovld __cnfn convert_short2_rtp(ulong2);1066short2 __ovld __cnfn convert_short2_sat_rtp(ulong2);1067short2 __ovld __cnfn convert_short2_rtn(ulong2);1068short2 __ovld __cnfn convert_short2_sat_rtn(ulong2);1069short2 __ovld __cnfn convert_short2(ulong2);1070short2 __ovld __cnfn convert_short2_sat(ulong2);1071short2 __ovld __cnfn convert_short2_rte(float2);1072short2 __ovld __cnfn convert_short2_sat_rte(float2);1073short2 __ovld __cnfn convert_short2_rtz(float2);1074short2 __ovld __cnfn convert_short2_sat_rtz(float2);1075short2 __ovld __cnfn convert_short2_rtp(float2);1076short2 __ovld __cnfn convert_short2_sat_rtp(float2);1077short2 __ovld __cnfn convert_short2_rtn(float2);1078short2 __ovld __cnfn convert_short2_sat_rtn(float2);1079short2 __ovld __cnfn convert_short2(float2);1080short2 __ovld __cnfn convert_short2_sat(float2);1081ushort2 __ovld __cnfn convert_ushort2_rte(char2);1082ushort2 __ovld __cnfn convert_ushort2_sat_rte(char2);1083ushort2 __ovld __cnfn convert_ushort2_rtz(char2);1084ushort2 __ovld __cnfn convert_ushort2_sat_rtz(char2);1085ushort2 __ovld __cnfn convert_ushort2_rtp(char2);1086ushort2 __ovld __cnfn convert_ushort2_sat_rtp(char2);1087ushort2 __ovld __cnfn convert_ushort2_rtn(char2);1088ushort2 __ovld __cnfn convert_ushort2_sat_rtn(char2);1089ushort2 __ovld __cnfn convert_ushort2(char2);1090ushort2 __ovld __cnfn convert_ushort2_sat(char2);1091ushort2 __ovld __cnfn convert_ushort2_rte(uchar2);1092ushort2 __ovld __cnfn convert_ushort2_sat_rte(uchar2);1093ushort2 __ovld __cnfn convert_ushort2_rtz(uchar2);1094ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uchar2);1095ushort2 __ovld __cnfn convert_ushort2_rtp(uchar2);1096ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uchar2);1097ushort2 __ovld __cnfn convert_ushort2_rtn(uchar2);1098ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uchar2);1099ushort2 __ovld __cnfn convert_ushort2(uchar2);1100ushort2 __ovld __cnfn convert_ushort2_sat(uchar2);1101ushort2 __ovld __cnfn convert_ushort2_rte(short2);1102ushort2 __ovld __cnfn convert_ushort2_sat_rte(short2);1103ushort2 __ovld __cnfn convert_ushort2_rtz(short2);1104ushort2 __ovld __cnfn convert_ushort2_sat_rtz(short2);1105ushort2 __ovld __cnfn convert_ushort2_rtp(short2);1106ushort2 __ovld __cnfn convert_ushort2_sat_rtp(short2);1107ushort2 __ovld __cnfn convert_ushort2_rtn(short2);1108ushort2 __ovld __cnfn convert_ushort2_sat_rtn(short2);1109ushort2 __ovld __cnfn convert_ushort2(short2);1110ushort2 __ovld __cnfn convert_ushort2_sat(short2);1111ushort2 __ovld __cnfn convert_ushort2_rte(ushort2);1112ushort2 __ovld __cnfn convert_ushort2_sat_rte(ushort2);1113ushort2 __ovld __cnfn convert_ushort2_rtz(ushort2);1114ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ushort2);1115ushort2 __ovld __cnfn convert_ushort2_rtp(ushort2);1116ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ushort2);1117ushort2 __ovld __cnfn convert_ushort2_rtn(ushort2);1118ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ushort2);1119ushort2 __ovld __cnfn convert_ushort2(ushort2);1120ushort2 __ovld __cnfn convert_ushort2_sat(ushort2);1121ushort2 __ovld __cnfn convert_ushort2_rte(int2);1122ushort2 __ovld __cnfn convert_ushort2_sat_rte(int2);1123ushort2 __ovld __cnfn convert_ushort2_rtz(int2);1124ushort2 __ovld __cnfn convert_ushort2_sat_rtz(int2);1125ushort2 __ovld __cnfn convert_ushort2_rtp(int2);1126ushort2 __ovld __cnfn convert_ushort2_sat_rtp(int2);1127ushort2 __ovld __cnfn convert_ushort2_rtn(int2);1128ushort2 __ovld __cnfn convert_ushort2_sat_rtn(int2);1129ushort2 __ovld __cnfn convert_ushort2(int2);1130ushort2 __ovld __cnfn convert_ushort2_sat(int2);1131ushort2 __ovld __cnfn convert_ushort2_rte(uint2);1132ushort2 __ovld __cnfn convert_ushort2_sat_rte(uint2);1133ushort2 __ovld __cnfn convert_ushort2_rtz(uint2);1134ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uint2);1135ushort2 __ovld __cnfn convert_ushort2_rtp(uint2);1136ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uint2);1137ushort2 __ovld __cnfn convert_ushort2_rtn(uint2);1138ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uint2);1139ushort2 __ovld __cnfn convert_ushort2(uint2);1140ushort2 __ovld __cnfn convert_ushort2_sat(uint2);1141ushort2 __ovld __cnfn convert_ushort2_rte(long2);1142ushort2 __ovld __cnfn convert_ushort2_sat_rte(long2);1143ushort2 __ovld __cnfn convert_ushort2_rtz(long2);1144ushort2 __ovld __cnfn convert_ushort2_sat_rtz(long2);1145ushort2 __ovld __cnfn convert_ushort2_rtp(long2);1146ushort2 __ovld __cnfn convert_ushort2_sat_rtp(long2);1147ushort2 __ovld __cnfn convert_ushort2_rtn(long2);1148ushort2 __ovld __cnfn convert_ushort2_sat_rtn(long2);1149ushort2 __ovld __cnfn convert_ushort2(long2);1150ushort2 __ovld __cnfn convert_ushort2_sat(long2);1151ushort2 __ovld __cnfn convert_ushort2_rte(ulong2);1152ushort2 __ovld __cnfn convert_ushort2_sat_rte(ulong2);1153ushort2 __ovld __cnfn convert_ushort2_rtz(ulong2);1154ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ulong2);1155ushort2 __ovld __cnfn convert_ushort2_rtp(ulong2);1156ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ulong2);1157ushort2 __ovld __cnfn convert_ushort2_rtn(ulong2);1158ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ulong2);1159ushort2 __ovld __cnfn convert_ushort2(ulong2);1160ushort2 __ovld __cnfn convert_ushort2_sat(ulong2);1161ushort2 __ovld __cnfn convert_ushort2_rte(float2);1162ushort2 __ovld __cnfn convert_ushort2_sat_rte(float2);1163ushort2 __ovld __cnfn convert_ushort2_rtz(float2);1164ushort2 __ovld __cnfn convert_ushort2_sat_rtz(float2);1165ushort2 __ovld __cnfn convert_ushort2_rtp(float2);1166ushort2 __ovld __cnfn convert_ushort2_sat_rtp(float2);1167ushort2 __ovld __cnfn convert_ushort2_rtn(float2);1168ushort2 __ovld __cnfn convert_ushort2_sat_rtn(float2);1169ushort2 __ovld __cnfn convert_ushort2(float2);1170ushort2 __ovld __cnfn convert_ushort2_sat(float2);1171int2 __ovld __cnfn convert_int2_rte(char2);1172int2 __ovld __cnfn convert_int2_sat_rte(char2);1173int2 __ovld __cnfn convert_int2_rtz(char2);1174int2 __ovld __cnfn convert_int2_sat_rtz(char2);1175int2 __ovld __cnfn convert_int2_rtp(char2);1176int2 __ovld __cnfn convert_int2_sat_rtp(char2);1177int2 __ovld __cnfn convert_int2_rtn(char2);1178int2 __ovld __cnfn convert_int2_sat_rtn(char2);1179int2 __ovld __cnfn convert_int2(char2);1180int2 __ovld __cnfn convert_int2_sat(char2);1181int2 __ovld __cnfn convert_int2_rte(uchar2);1182int2 __ovld __cnfn convert_int2_sat_rte(uchar2);1183int2 __ovld __cnfn convert_int2_rtz(uchar2);1184int2 __ovld __cnfn convert_int2_sat_rtz(uchar2);1185int2 __ovld __cnfn convert_int2_rtp(uchar2);1186int2 __ovld __cnfn convert_int2_sat_rtp(uchar2);1187int2 __ovld __cnfn convert_int2_rtn(uchar2);1188int2 __ovld __cnfn convert_int2_sat_rtn(uchar2);1189int2 __ovld __cnfn convert_int2(uchar2);1190int2 __ovld __cnfn convert_int2_sat(uchar2);1191int2 __ovld __cnfn convert_int2_rte(short2);1192int2 __ovld __cnfn convert_int2_sat_rte(short2);1193int2 __ovld __cnfn convert_int2_rtz(short2);1194int2 __ovld __cnfn convert_int2_sat_rtz(short2);1195int2 __ovld __cnfn convert_int2_rtp(short2);1196int2 __ovld __cnfn convert_int2_sat_rtp(short2);1197int2 __ovld __cnfn convert_int2_rtn(short2);1198int2 __ovld __cnfn convert_int2_sat_rtn(short2);1199int2 __ovld __cnfn convert_int2(short2);1200int2 __ovld __cnfn convert_int2_sat(short2);1201int2 __ovld __cnfn convert_int2_rte(ushort2);1202int2 __ovld __cnfn convert_int2_sat_rte(ushort2);1203int2 __ovld __cnfn convert_int2_rtz(ushort2);1204int2 __ovld __cnfn convert_int2_sat_rtz(ushort2);1205int2 __ovld __cnfn convert_int2_rtp(ushort2);1206int2 __ovld __cnfn convert_int2_sat_rtp(ushort2);1207int2 __ovld __cnfn convert_int2_rtn(ushort2);1208int2 __ovld __cnfn convert_int2_sat_rtn(ushort2);1209int2 __ovld __cnfn convert_int2(ushort2);1210int2 __ovld __cnfn convert_int2_sat(ushort2);1211int2 __ovld __cnfn convert_int2_rte(int2);1212int2 __ovld __cnfn convert_int2_sat_rte(int2);1213int2 __ovld __cnfn convert_int2_rtz(int2);1214int2 __ovld __cnfn convert_int2_sat_rtz(int2);1215int2 __ovld __cnfn convert_int2_rtp(int2);1216int2 __ovld __cnfn convert_int2_sat_rtp(int2);1217int2 __ovld __cnfn convert_int2_rtn(int2);1218int2 __ovld __cnfn convert_int2_sat_rtn(int2);1219int2 __ovld __cnfn convert_int2(int2);1220int2 __ovld __cnfn convert_int2_sat(int2);1221int2 __ovld __cnfn convert_int2_rte(uint2);1222int2 __ovld __cnfn convert_int2_sat_rte(uint2);1223int2 __ovld __cnfn convert_int2_rtz(uint2);1224int2 __ovld __cnfn convert_int2_sat_rtz(uint2);1225int2 __ovld __cnfn convert_int2_rtp(uint2);1226int2 __ovld __cnfn convert_int2_sat_rtp(uint2);1227int2 __ovld __cnfn convert_int2_rtn(uint2);1228int2 __ovld __cnfn convert_int2_sat_rtn(uint2);1229int2 __ovld __cnfn convert_int2(uint2);1230int2 __ovld __cnfn convert_int2_sat(uint2);1231int2 __ovld __cnfn convert_int2_rte(long2);1232int2 __ovld __cnfn convert_int2_sat_rte(long2);1233int2 __ovld __cnfn convert_int2_rtz(long2);1234int2 __ovld __cnfn convert_int2_sat_rtz(long2);1235int2 __ovld __cnfn convert_int2_rtp(long2);1236int2 __ovld __cnfn convert_int2_sat_rtp(long2);1237int2 __ovld __cnfn convert_int2_rtn(long2);1238int2 __ovld __cnfn convert_int2_sat_rtn(long2);1239int2 __ovld __cnfn convert_int2(long2);1240int2 __ovld __cnfn convert_int2_sat(long2);1241int2 __ovld __cnfn convert_int2_rte(ulong2);1242int2 __ovld __cnfn convert_int2_sat_rte(ulong2);1243int2 __ovld __cnfn convert_int2_rtz(ulong2);1244int2 __ovld __cnfn convert_int2_sat_rtz(ulong2);1245int2 __ovld __cnfn convert_int2_rtp(ulong2);1246int2 __ovld __cnfn convert_int2_sat_rtp(ulong2);1247int2 __ovld __cnfn convert_int2_rtn(ulong2);1248int2 __ovld __cnfn convert_int2_sat_rtn(ulong2);1249int2 __ovld __cnfn convert_int2(ulong2);1250int2 __ovld __cnfn convert_int2_sat(ulong2);1251int2 __ovld __cnfn convert_int2_rte(float2);1252int2 __ovld __cnfn convert_int2_sat_rte(float2);1253int2 __ovld __cnfn convert_int2_rtz(float2);1254int2 __ovld __cnfn convert_int2_sat_rtz(float2);1255int2 __ovld __cnfn convert_int2_rtp(float2);1256int2 __ovld __cnfn convert_int2_sat_rtp(float2);1257int2 __ovld __cnfn convert_int2_rtn(float2);1258int2 __ovld __cnfn convert_int2_sat_rtn(float2);1259int2 __ovld __cnfn convert_int2(float2);1260int2 __ovld __cnfn convert_int2_sat(float2);1261uint2 __ovld __cnfn convert_uint2_rte(char2);1262uint2 __ovld __cnfn convert_uint2_sat_rte(char2);1263uint2 __ovld __cnfn convert_uint2_rtz(char2);1264uint2 __ovld __cnfn convert_uint2_sat_rtz(char2);1265uint2 __ovld __cnfn convert_uint2_rtp(char2);1266uint2 __ovld __cnfn convert_uint2_sat_rtp(char2);1267uint2 __ovld __cnfn convert_uint2_rtn(char2);1268uint2 __ovld __cnfn convert_uint2_sat_rtn(char2);1269uint2 __ovld __cnfn convert_uint2(char2);1270uint2 __ovld __cnfn convert_uint2_sat(char2);1271uint2 __ovld __cnfn convert_uint2_rte(uchar2);1272uint2 __ovld __cnfn convert_uint2_sat_rte(uchar2);1273uint2 __ovld __cnfn convert_uint2_rtz(uchar2);1274uint2 __ovld __cnfn convert_uint2_sat_rtz(uchar2);1275uint2 __ovld __cnfn convert_uint2_rtp(uchar2);1276uint2 __ovld __cnfn convert_uint2_sat_rtp(uchar2);1277uint2 __ovld __cnfn convert_uint2_rtn(uchar2);1278uint2 __ovld __cnfn convert_uint2_sat_rtn(uchar2);1279uint2 __ovld __cnfn convert_uint2(uchar2);1280uint2 __ovld __cnfn convert_uint2_sat(uchar2);1281uint2 __ovld __cnfn convert_uint2_rte(short2);1282uint2 __ovld __cnfn convert_uint2_sat_rte(short2);1283uint2 __ovld __cnfn convert_uint2_rtz(short2);1284uint2 __ovld __cnfn convert_uint2_sat_rtz(short2);1285uint2 __ovld __cnfn convert_uint2_rtp(short2);1286uint2 __ovld __cnfn convert_uint2_sat_rtp(short2);1287uint2 __ovld __cnfn convert_uint2_rtn(short2);1288uint2 __ovld __cnfn convert_uint2_sat_rtn(short2);1289uint2 __ovld __cnfn convert_uint2(short2);1290uint2 __ovld __cnfn convert_uint2_sat(short2);1291uint2 __ovld __cnfn convert_uint2_rte(ushort2);1292uint2 __ovld __cnfn convert_uint2_sat_rte(ushort2);1293uint2 __ovld __cnfn convert_uint2_rtz(ushort2);1294uint2 __ovld __cnfn convert_uint2_sat_rtz(ushort2);1295uint2 __ovld __cnfn convert_uint2_rtp(ushort2);1296uint2 __ovld __cnfn convert_uint2_sat_rtp(ushort2);1297uint2 __ovld __cnfn convert_uint2_rtn(ushort2);1298uint2 __ovld __cnfn convert_uint2_sat_rtn(ushort2);1299uint2 __ovld __cnfn convert_uint2(ushort2);1300uint2 __ovld __cnfn convert_uint2_sat(ushort2);1301uint2 __ovld __cnfn convert_uint2_rte(int2);1302uint2 __ovld __cnfn convert_uint2_sat_rte(int2);1303uint2 __ovld __cnfn convert_uint2_rtz(int2);1304uint2 __ovld __cnfn convert_uint2_sat_rtz(int2);1305uint2 __ovld __cnfn convert_uint2_rtp(int2);1306uint2 __ovld __cnfn convert_uint2_sat_rtp(int2);1307uint2 __ovld __cnfn convert_uint2_rtn(int2);1308uint2 __ovld __cnfn convert_uint2_sat_rtn(int2);1309uint2 __ovld __cnfn convert_uint2(int2);1310uint2 __ovld __cnfn convert_uint2_sat(int2);1311uint2 __ovld __cnfn convert_uint2_rte(uint2);1312uint2 __ovld __cnfn convert_uint2_sat_rte(uint2);1313uint2 __ovld __cnfn convert_uint2_rtz(uint2);1314uint2 __ovld __cnfn convert_uint2_sat_rtz(uint2);1315uint2 __ovld __cnfn convert_uint2_rtp(uint2);1316uint2 __ovld __cnfn convert_uint2_sat_rtp(uint2);1317uint2 __ovld __cnfn convert_uint2_rtn(uint2);1318uint2 __ovld __cnfn convert_uint2_sat_rtn(uint2);1319uint2 __ovld __cnfn convert_uint2(uint2);1320uint2 __ovld __cnfn convert_uint2_sat(uint2);1321uint2 __ovld __cnfn convert_uint2_rte(long2);1322uint2 __ovld __cnfn convert_uint2_sat_rte(long2);1323uint2 __ovld __cnfn convert_uint2_rtz(long2);1324uint2 __ovld __cnfn convert_uint2_sat_rtz(long2);1325uint2 __ovld __cnfn convert_uint2_rtp(long2);1326uint2 __ovld __cnfn convert_uint2_sat_rtp(long2);1327uint2 __ovld __cnfn convert_uint2_rtn(long2);1328uint2 __ovld __cnfn convert_uint2_sat_rtn(long2);1329uint2 __ovld __cnfn convert_uint2(long2);1330uint2 __ovld __cnfn convert_uint2_sat(long2);1331uint2 __ovld __cnfn convert_uint2_rte(ulong2);1332uint2 __ovld __cnfn convert_uint2_sat_rte(ulong2);1333uint2 __ovld __cnfn convert_uint2_rtz(ulong2);1334uint2 __ovld __cnfn convert_uint2_sat_rtz(ulong2);1335uint2 __ovld __cnfn convert_uint2_rtp(ulong2);1336uint2 __ovld __cnfn convert_uint2_sat_rtp(ulong2);1337uint2 __ovld __cnfn convert_uint2_rtn(ulong2);1338uint2 __ovld __cnfn convert_uint2_sat_rtn(ulong2);1339uint2 __ovld __cnfn convert_uint2(ulong2);1340uint2 __ovld __cnfn convert_uint2_sat(ulong2);1341uint2 __ovld __cnfn convert_uint2_rte(float2);1342uint2 __ovld __cnfn convert_uint2_sat_rte(float2);1343uint2 __ovld __cnfn convert_uint2_rtz(float2);1344uint2 __ovld __cnfn convert_uint2_sat_rtz(float2);1345uint2 __ovld __cnfn convert_uint2_rtp(float2);1346uint2 __ovld __cnfn convert_uint2_sat_rtp(float2);1347uint2 __ovld __cnfn convert_uint2_rtn(float2);1348uint2 __ovld __cnfn convert_uint2_sat_rtn(float2);1349uint2 __ovld __cnfn convert_uint2(float2);1350uint2 __ovld __cnfn convert_uint2_sat(float2);1351long2 __ovld __cnfn convert_long2_rte(char2);1352long2 __ovld __cnfn convert_long2_sat_rte(char2);1353long2 __ovld __cnfn convert_long2_rtz(char2);1354long2 __ovld __cnfn convert_long2_sat_rtz(char2);1355long2 __ovld __cnfn convert_long2_rtp(char2);1356long2 __ovld __cnfn convert_long2_sat_rtp(char2);1357long2 __ovld __cnfn convert_long2_rtn(char2);1358long2 __ovld __cnfn convert_long2_sat_rtn(char2);1359long2 __ovld __cnfn convert_long2(char2);1360long2 __ovld __cnfn convert_long2_sat(char2);1361long2 __ovld __cnfn convert_long2_rte(uchar2);1362long2 __ovld __cnfn convert_long2_sat_rte(uchar2);1363long2 __ovld __cnfn convert_long2_rtz(uchar2);1364long2 __ovld __cnfn convert_long2_sat_rtz(uchar2);1365long2 __ovld __cnfn convert_long2_rtp(uchar2);1366long2 __ovld __cnfn convert_long2_sat_rtp(uchar2);1367long2 __ovld __cnfn convert_long2_rtn(uchar2);1368long2 __ovld __cnfn convert_long2_sat_rtn(uchar2);1369long2 __ovld __cnfn convert_long2(uchar2);1370long2 __ovld __cnfn convert_long2_sat(uchar2);1371long2 __ovld __cnfn convert_long2_rte(short2);1372long2 __ovld __cnfn convert_long2_sat_rte(short2);1373long2 __ovld __cnfn convert_long2_rtz(short2);1374long2 __ovld __cnfn convert_long2_sat_rtz(short2);1375long2 __ovld __cnfn convert_long2_rtp(short2);1376long2 __ovld __cnfn convert_long2_sat_rtp(short2);1377long2 __ovld __cnfn convert_long2_rtn(short2);1378long2 __ovld __cnfn convert_long2_sat_rtn(short2);1379long2 __ovld __cnfn convert_long2(short2);1380long2 __ovld __cnfn convert_long2_sat(short2);1381long2 __ovld __cnfn convert_long2_rte(ushort2);1382long2 __ovld __cnfn convert_long2_sat_rte(ushort2);1383long2 __ovld __cnfn convert_long2_rtz(ushort2);1384long2 __ovld __cnfn convert_long2_sat_rtz(ushort2);1385long2 __ovld __cnfn convert_long2_rtp(ushort2);1386long2 __ovld __cnfn convert_long2_sat_rtp(ushort2);1387long2 __ovld __cnfn convert_long2_rtn(ushort2);1388long2 __ovld __cnfn convert_long2_sat_rtn(ushort2);1389long2 __ovld __cnfn convert_long2(ushort2);1390long2 __ovld __cnfn convert_long2_sat(ushort2);1391long2 __ovld __cnfn convert_long2_rte(int2);1392long2 __ovld __cnfn convert_long2_sat_rte(int2);1393long2 __ovld __cnfn convert_long2_rtz(int2);1394long2 __ovld __cnfn convert_long2_sat_rtz(int2);1395long2 __ovld __cnfn convert_long2_rtp(int2);1396long2 __ovld __cnfn convert_long2_sat_rtp(int2);1397long2 __ovld __cnfn convert_long2_rtn(int2);1398long2 __ovld __cnfn convert_long2_sat_rtn(int2);1399long2 __ovld __cnfn convert_long2(int2);1400long2 __ovld __cnfn convert_long2_sat(int2);1401long2 __ovld __cnfn convert_long2_rte(uint2);1402long2 __ovld __cnfn convert_long2_sat_rte(uint2);1403long2 __ovld __cnfn convert_long2_rtz(uint2);1404long2 __ovld __cnfn convert_long2_sat_rtz(uint2);1405long2 __ovld __cnfn convert_long2_rtp(uint2);1406long2 __ovld __cnfn convert_long2_sat_rtp(uint2);1407long2 __ovld __cnfn convert_long2_rtn(uint2);1408long2 __ovld __cnfn convert_long2_sat_rtn(uint2);1409long2 __ovld __cnfn convert_long2(uint2);1410long2 __ovld __cnfn convert_long2_sat(uint2);1411long2 __ovld __cnfn convert_long2_rte(long2);1412long2 __ovld __cnfn convert_long2_sat_rte(long2);1413long2 __ovld __cnfn convert_long2_rtz(long2);1414long2 __ovld __cnfn convert_long2_sat_rtz(long2);1415long2 __ovld __cnfn convert_long2_rtp(long2);1416long2 __ovld __cnfn convert_long2_sat_rtp(long2);1417long2 __ovld __cnfn convert_long2_rtn(long2);1418long2 __ovld __cnfn convert_long2_sat_rtn(long2);1419long2 __ovld __cnfn convert_long2(long2);1420long2 __ovld __cnfn convert_long2_sat(long2);1421long2 __ovld __cnfn convert_long2_rte(ulong2);1422long2 __ovld __cnfn convert_long2_sat_rte(ulong2);1423long2 __ovld __cnfn convert_long2_rtz(ulong2);1424long2 __ovld __cnfn convert_long2_sat_rtz(ulong2);1425long2 __ovld __cnfn convert_long2_rtp(ulong2);1426long2 __ovld __cnfn convert_long2_sat_rtp(ulong2);1427long2 __ovld __cnfn convert_long2_rtn(ulong2);1428long2 __ovld __cnfn convert_long2_sat_rtn(ulong2);1429long2 __ovld __cnfn convert_long2(ulong2);1430long2 __ovld __cnfn convert_long2_sat(ulong2);1431long2 __ovld __cnfn convert_long2_rte(float2);1432long2 __ovld __cnfn convert_long2_sat_rte(float2);1433long2 __ovld __cnfn convert_long2_rtz(float2);1434long2 __ovld __cnfn convert_long2_sat_rtz(float2);1435long2 __ovld __cnfn convert_long2_rtp(float2);1436long2 __ovld __cnfn convert_long2_sat_rtp(float2);1437long2 __ovld __cnfn convert_long2_rtn(float2);1438long2 __ovld __cnfn convert_long2_sat_rtn(float2);1439long2 __ovld __cnfn convert_long2(float2);1440long2 __ovld __cnfn convert_long2_sat(float2);1441ulong2 __ovld __cnfn convert_ulong2_rte(char2);1442ulong2 __ovld __cnfn convert_ulong2_sat_rte(char2);1443ulong2 __ovld __cnfn convert_ulong2_rtz(char2);1444ulong2 __ovld __cnfn convert_ulong2_sat_rtz(char2);1445ulong2 __ovld __cnfn convert_ulong2_rtp(char2);1446ulong2 __ovld __cnfn convert_ulong2_sat_rtp(char2);1447ulong2 __ovld __cnfn convert_ulong2_rtn(char2);1448ulong2 __ovld __cnfn convert_ulong2_sat_rtn(char2);1449ulong2 __ovld __cnfn convert_ulong2(char2);1450ulong2 __ovld __cnfn convert_ulong2_sat(char2);1451ulong2 __ovld __cnfn convert_ulong2_rte(uchar2);1452ulong2 __ovld __cnfn convert_ulong2_sat_rte(uchar2);1453ulong2 __ovld __cnfn convert_ulong2_rtz(uchar2);1454ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uchar2);1455ulong2 __ovld __cnfn convert_ulong2_rtp(uchar2);1456ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uchar2);1457ulong2 __ovld __cnfn convert_ulong2_rtn(uchar2);1458ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uchar2);1459ulong2 __ovld __cnfn convert_ulong2(uchar2);1460ulong2 __ovld __cnfn convert_ulong2_sat(uchar2);1461ulong2 __ovld __cnfn convert_ulong2_rte(short2);1462ulong2 __ovld __cnfn convert_ulong2_sat_rte(short2);1463ulong2 __ovld __cnfn convert_ulong2_rtz(short2);1464ulong2 __ovld __cnfn convert_ulong2_sat_rtz(short2);1465ulong2 __ovld __cnfn convert_ulong2_rtp(short2);1466ulong2 __ovld __cnfn convert_ulong2_sat_rtp(short2);1467ulong2 __ovld __cnfn convert_ulong2_rtn(short2);1468ulong2 __ovld __cnfn convert_ulong2_sat_rtn(short2);1469ulong2 __ovld __cnfn convert_ulong2(short2);1470ulong2 __ovld __cnfn convert_ulong2_sat(short2);1471ulong2 __ovld __cnfn convert_ulong2_rte(ushort2);1472ulong2 __ovld __cnfn convert_ulong2_sat_rte(ushort2);1473ulong2 __ovld __cnfn convert_ulong2_rtz(ushort2);1474ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ushort2);1475ulong2 __ovld __cnfn convert_ulong2_rtp(ushort2);1476ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ushort2);1477ulong2 __ovld __cnfn convert_ulong2_rtn(ushort2);1478ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ushort2);1479ulong2 __ovld __cnfn convert_ulong2(ushort2);1480ulong2 __ovld __cnfn convert_ulong2_sat(ushort2);1481ulong2 __ovld __cnfn convert_ulong2_rte(int2);1482ulong2 __ovld __cnfn convert_ulong2_sat_rte(int2);1483ulong2 __ovld __cnfn convert_ulong2_rtz(int2);1484ulong2 __ovld __cnfn convert_ulong2_sat_rtz(int2);1485ulong2 __ovld __cnfn convert_ulong2_rtp(int2);1486ulong2 __ovld __cnfn convert_ulong2_sat_rtp(int2);1487ulong2 __ovld __cnfn convert_ulong2_rtn(int2);1488ulong2 __ovld __cnfn convert_ulong2_sat_rtn(int2);1489ulong2 __ovld __cnfn convert_ulong2(int2);1490ulong2 __ovld __cnfn convert_ulong2_sat(int2);1491ulong2 __ovld __cnfn convert_ulong2_rte(uint2);1492ulong2 __ovld __cnfn convert_ulong2_sat_rte(uint2);1493ulong2 __ovld __cnfn convert_ulong2_rtz(uint2);1494ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uint2);1495ulong2 __ovld __cnfn convert_ulong2_rtp(uint2);1496ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uint2);1497ulong2 __ovld __cnfn convert_ulong2_rtn(uint2);1498ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uint2);1499ulong2 __ovld __cnfn convert_ulong2(uint2);1500ulong2 __ovld __cnfn convert_ulong2_sat(uint2);1501ulong2 __ovld __cnfn convert_ulong2_rte(long2);1502ulong2 __ovld __cnfn convert_ulong2_sat_rte(long2);1503ulong2 __ovld __cnfn convert_ulong2_rtz(long2);1504ulong2 __ovld __cnfn convert_ulong2_sat_rtz(long2);1505ulong2 __ovld __cnfn convert_ulong2_rtp(long2);1506ulong2 __ovld __cnfn convert_ulong2_sat_rtp(long2);1507ulong2 __ovld __cnfn convert_ulong2_rtn(long2);1508ulong2 __ovld __cnfn convert_ulong2_sat_rtn(long2);1509ulong2 __ovld __cnfn convert_ulong2(long2);1510ulong2 __ovld __cnfn convert_ulong2_sat(long2);1511ulong2 __ovld __cnfn convert_ulong2_rte(ulong2);1512ulong2 __ovld __cnfn convert_ulong2_sat_rte(ulong2);1513ulong2 __ovld __cnfn convert_ulong2_rtz(ulong2);1514ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ulong2);1515ulong2 __ovld __cnfn convert_ulong2_rtp(ulong2);1516ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ulong2);1517ulong2 __ovld __cnfn convert_ulong2_rtn(ulong2);1518ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ulong2);1519ulong2 __ovld __cnfn convert_ulong2(ulong2);1520ulong2 __ovld __cnfn convert_ulong2_sat(ulong2);1521ulong2 __ovld __cnfn convert_ulong2_rte(float2);1522ulong2 __ovld __cnfn convert_ulong2_sat_rte(float2);1523ulong2 __ovld __cnfn convert_ulong2_rtz(float2);1524ulong2 __ovld __cnfn convert_ulong2_sat_rtz(float2);1525ulong2 __ovld __cnfn convert_ulong2_rtp(float2);1526ulong2 __ovld __cnfn convert_ulong2_sat_rtp(float2);1527ulong2 __ovld __cnfn convert_ulong2_rtn(float2);1528ulong2 __ovld __cnfn convert_ulong2_sat_rtn(float2);1529ulong2 __ovld __cnfn convert_ulong2(float2);1530ulong2 __ovld __cnfn convert_ulong2_sat(float2);1531float2 __ovld __cnfn convert_float2_rte(char2);1532float2 __ovld __cnfn convert_float2_rtz(char2);1533float2 __ovld __cnfn convert_float2_rtp(char2);1534float2 __ovld __cnfn convert_float2_rtn(char2);1535float2 __ovld __cnfn convert_float2(char2);1536float2 __ovld __cnfn convert_float2_rte(uchar2);1537float2 __ovld __cnfn convert_float2_rtz(uchar2);1538float2 __ovld __cnfn convert_float2_rtp(uchar2);1539float2 __ovld __cnfn convert_float2_rtn(uchar2);1540float2 __ovld __cnfn convert_float2(uchar2);1541float2 __ovld __cnfn convert_float2_rte(short2);1542float2 __ovld __cnfn convert_float2_rtz(short2);1543float2 __ovld __cnfn convert_float2_rtp(short2);1544float2 __ovld __cnfn convert_float2_rtn(short2);1545float2 __ovld __cnfn convert_float2(short2);1546float2 __ovld __cnfn convert_float2_rte(ushort2);1547float2 __ovld __cnfn convert_float2_rtz(ushort2);1548float2 __ovld __cnfn convert_float2_rtp(ushort2);1549float2 __ovld __cnfn convert_float2_rtn(ushort2);1550float2 __ovld __cnfn convert_float2(ushort2);1551float2 __ovld __cnfn convert_float2_rte(int2);1552float2 __ovld __cnfn convert_float2_rtz(int2);1553float2 __ovld __cnfn convert_float2_rtp(int2);1554float2 __ovld __cnfn convert_float2_rtn(int2);1555float2 __ovld __cnfn convert_float2(int2);1556float2 __ovld __cnfn convert_float2_rte(uint2);1557float2 __ovld __cnfn convert_float2_rtz(uint2);1558float2 __ovld __cnfn convert_float2_rtp(uint2);1559float2 __ovld __cnfn convert_float2_rtn(uint2);1560float2 __ovld __cnfn convert_float2(uint2);1561float2 __ovld __cnfn convert_float2_rte(long2);1562float2 __ovld __cnfn convert_float2_rtz(long2);1563float2 __ovld __cnfn convert_float2_rtp(long2);1564float2 __ovld __cnfn convert_float2_rtn(long2);1565float2 __ovld __cnfn convert_float2(long2);1566float2 __ovld __cnfn convert_float2_rte(ulong2);1567float2 __ovld __cnfn convert_float2_rtz(ulong2);1568float2 __ovld __cnfn convert_float2_rtp(ulong2);1569float2 __ovld __cnfn convert_float2_rtn(ulong2);1570float2 __ovld __cnfn convert_float2(ulong2);1571float2 __ovld __cnfn convert_float2_rte(float2);1572float2 __ovld __cnfn convert_float2_rtz(float2);1573float2 __ovld __cnfn convert_float2_rtp(float2);1574float2 __ovld __cnfn convert_float2_rtn(float2);1575float2 __ovld __cnfn convert_float2(float2);1576char3 __ovld __cnfn convert_char3_rte(char3);1577char3 __ovld __cnfn convert_char3_sat_rte(char3);1578char3 __ovld __cnfn convert_char3_rtz(char3);1579char3 __ovld __cnfn convert_char3_sat_rtz(char3);1580char3 __ovld __cnfn convert_char3_rtp(char3);1581char3 __ovld __cnfn convert_char3_sat_rtp(char3);1582char3 __ovld __cnfn convert_char3_rtn(char3);1583char3 __ovld __cnfn convert_char3_sat_rtn(char3);1584char3 __ovld __cnfn convert_char3(char3);1585char3 __ovld __cnfn convert_char3_sat(char3);1586char3 __ovld __cnfn convert_char3_rte(uchar3);1587char3 __ovld __cnfn convert_char3_sat_rte(uchar3);1588char3 __ovld __cnfn convert_char3_rtz(uchar3);1589char3 __ovld __cnfn convert_char3_sat_rtz(uchar3);1590char3 __ovld __cnfn convert_char3_rtp(uchar3);1591char3 __ovld __cnfn convert_char3_sat_rtp(uchar3);1592char3 __ovld __cnfn convert_char3_rtn(uchar3);1593char3 __ovld __cnfn convert_char3_sat_rtn(uchar3);1594char3 __ovld __cnfn convert_char3(uchar3);1595char3 __ovld __cnfn convert_char3_sat(uchar3);1596char3 __ovld __cnfn convert_char3_rte(short3);1597char3 __ovld __cnfn convert_char3_sat_rte(short3);1598char3 __ovld __cnfn convert_char3_rtz(short3);1599char3 __ovld __cnfn convert_char3_sat_rtz(short3);1600char3 __ovld __cnfn convert_char3_rtp(short3);1601char3 __ovld __cnfn convert_char3_sat_rtp(short3);1602char3 __ovld __cnfn convert_char3_rtn(short3);1603char3 __ovld __cnfn convert_char3_sat_rtn(short3);1604char3 __ovld __cnfn convert_char3(short3);1605char3 __ovld __cnfn convert_char3_sat(short3);1606char3 __ovld __cnfn convert_char3_rte(ushort3);1607char3 __ovld __cnfn convert_char3_sat_rte(ushort3);1608char3 __ovld __cnfn convert_char3_rtz(ushort3);1609char3 __ovld __cnfn convert_char3_sat_rtz(ushort3);1610char3 __ovld __cnfn convert_char3_rtp(ushort3);1611char3 __ovld __cnfn convert_char3_sat_rtp(ushort3);1612char3 __ovld __cnfn convert_char3_rtn(ushort3);1613char3 __ovld __cnfn convert_char3_sat_rtn(ushort3);1614char3 __ovld __cnfn convert_char3(ushort3);1615char3 __ovld __cnfn convert_char3_sat(ushort3);1616char3 __ovld __cnfn convert_char3_rte(int3);1617char3 __ovld __cnfn convert_char3_sat_rte(int3);1618char3 __ovld __cnfn convert_char3_rtz(int3);1619char3 __ovld __cnfn convert_char3_sat_rtz(int3);1620char3 __ovld __cnfn convert_char3_rtp(int3);1621char3 __ovld __cnfn convert_char3_sat_rtp(int3);1622char3 __ovld __cnfn convert_char3_rtn(int3);1623char3 __ovld __cnfn convert_char3_sat_rtn(int3);1624char3 __ovld __cnfn convert_char3(int3);1625char3 __ovld __cnfn convert_char3_sat(int3);1626char3 __ovld __cnfn convert_char3_rte(uint3);1627char3 __ovld __cnfn convert_char3_sat_rte(uint3);1628char3 __ovld __cnfn convert_char3_rtz(uint3);1629char3 __ovld __cnfn convert_char3_sat_rtz(uint3);1630char3 __ovld __cnfn convert_char3_rtp(uint3);1631char3 __ovld __cnfn convert_char3_sat_rtp(uint3);1632char3 __ovld __cnfn convert_char3_rtn(uint3);1633char3 __ovld __cnfn convert_char3_sat_rtn(uint3);1634char3 __ovld __cnfn convert_char3(uint3);1635char3 __ovld __cnfn convert_char3_sat(uint3);1636char3 __ovld __cnfn convert_char3_rte(long3);1637char3 __ovld __cnfn convert_char3_sat_rte(long3);1638char3 __ovld __cnfn convert_char3_rtz(long3);1639char3 __ovld __cnfn convert_char3_sat_rtz(long3);1640char3 __ovld __cnfn convert_char3_rtp(long3);1641char3 __ovld __cnfn convert_char3_sat_rtp(long3);1642char3 __ovld __cnfn convert_char3_rtn(long3);1643char3 __ovld __cnfn convert_char3_sat_rtn(long3);1644char3 __ovld __cnfn convert_char3(long3);1645char3 __ovld __cnfn convert_char3_sat(long3);1646char3 __ovld __cnfn convert_char3_rte(ulong3);1647char3 __ovld __cnfn convert_char3_sat_rte(ulong3);1648char3 __ovld __cnfn convert_char3_rtz(ulong3);1649char3 __ovld __cnfn convert_char3_sat_rtz(ulong3);1650char3 __ovld __cnfn convert_char3_rtp(ulong3);1651char3 __ovld __cnfn convert_char3_sat_rtp(ulong3);1652char3 __ovld __cnfn convert_char3_rtn(ulong3);1653char3 __ovld __cnfn convert_char3_sat_rtn(ulong3);1654char3 __ovld __cnfn convert_char3(ulong3);1655char3 __ovld __cnfn convert_char3_sat(ulong3);1656char3 __ovld __cnfn convert_char3_rte(float3);1657char3 __ovld __cnfn convert_char3_sat_rte(float3);1658char3 __ovld __cnfn convert_char3_rtz(float3);1659char3 __ovld __cnfn convert_char3_sat_rtz(float3);1660char3 __ovld __cnfn convert_char3_rtp(float3);1661char3 __ovld __cnfn convert_char3_sat_rtp(float3);1662char3 __ovld __cnfn convert_char3_rtn(float3);1663char3 __ovld __cnfn convert_char3_sat_rtn(float3);1664char3 __ovld __cnfn convert_char3(float3);1665char3 __ovld __cnfn convert_char3_sat(float3);1666uchar3 __ovld __cnfn convert_uchar3_rte(char3);1667uchar3 __ovld __cnfn convert_uchar3_sat_rte(char3);1668uchar3 __ovld __cnfn convert_uchar3_rtz(char3);1669uchar3 __ovld __cnfn convert_uchar3_sat_rtz(char3);1670uchar3 __ovld __cnfn convert_uchar3_rtp(char3);1671uchar3 __ovld __cnfn convert_uchar3_sat_rtp(char3);1672uchar3 __ovld __cnfn convert_uchar3_rtn(char3);1673uchar3 __ovld __cnfn convert_uchar3_sat_rtn(char3);1674uchar3 __ovld __cnfn convert_uchar3(char3);1675uchar3 __ovld __cnfn convert_uchar3_sat(char3);1676uchar3 __ovld __cnfn convert_uchar3_rte(uchar3);1677uchar3 __ovld __cnfn convert_uchar3_sat_rte(uchar3);1678uchar3 __ovld __cnfn convert_uchar3_rtz(uchar3);1679uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uchar3);1680uchar3 __ovld __cnfn convert_uchar3_rtp(uchar3);1681uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uchar3);1682uchar3 __ovld __cnfn convert_uchar3_rtn(uchar3);1683uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uchar3);1684uchar3 __ovld __cnfn convert_uchar3(uchar3);1685uchar3 __ovld __cnfn convert_uchar3_sat(uchar3);1686uchar3 __ovld __cnfn convert_uchar3_rte(short3);1687uchar3 __ovld __cnfn convert_uchar3_sat_rte(short3);1688uchar3 __ovld __cnfn convert_uchar3_rtz(short3);1689uchar3 __ovld __cnfn convert_uchar3_sat_rtz(short3);1690uchar3 __ovld __cnfn convert_uchar3_rtp(short3);1691uchar3 __ovld __cnfn convert_uchar3_sat_rtp(short3);1692uchar3 __ovld __cnfn convert_uchar3_rtn(short3);1693uchar3 __ovld __cnfn convert_uchar3_sat_rtn(short3);1694uchar3 __ovld __cnfn convert_uchar3(short3);1695uchar3 __ovld __cnfn convert_uchar3_sat(short3);1696uchar3 __ovld __cnfn convert_uchar3_rte(ushort3);1697uchar3 __ovld __cnfn convert_uchar3_sat_rte(ushort3);1698uchar3 __ovld __cnfn convert_uchar3_rtz(ushort3);1699uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ushort3);1700uchar3 __ovld __cnfn convert_uchar3_rtp(ushort3);1701uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ushort3);1702uchar3 __ovld __cnfn convert_uchar3_rtn(ushort3);1703uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ushort3);1704uchar3 __ovld __cnfn convert_uchar3(ushort3);1705uchar3 __ovld __cnfn convert_uchar3_sat(ushort3);1706uchar3 __ovld __cnfn convert_uchar3_rte(int3);1707uchar3 __ovld __cnfn convert_uchar3_sat_rte(int3);1708uchar3 __ovld __cnfn convert_uchar3_rtz(int3);1709uchar3 __ovld __cnfn convert_uchar3_sat_rtz(int3);1710uchar3 __ovld __cnfn convert_uchar3_rtp(int3);1711uchar3 __ovld __cnfn convert_uchar3_sat_rtp(int3);1712uchar3 __ovld __cnfn convert_uchar3_rtn(int3);1713uchar3 __ovld __cnfn convert_uchar3_sat_rtn(int3);1714uchar3 __ovld __cnfn convert_uchar3(int3);1715uchar3 __ovld __cnfn convert_uchar3_sat(int3);1716uchar3 __ovld __cnfn convert_uchar3_rte(uint3);1717uchar3 __ovld __cnfn convert_uchar3_sat_rte(uint3);1718uchar3 __ovld __cnfn convert_uchar3_rtz(uint3);1719uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uint3);1720uchar3 __ovld __cnfn convert_uchar3_rtp(uint3);1721uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uint3);1722uchar3 __ovld __cnfn convert_uchar3_rtn(uint3);1723uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uint3);1724uchar3 __ovld __cnfn convert_uchar3(uint3);1725uchar3 __ovld __cnfn convert_uchar3_sat(uint3);1726uchar3 __ovld __cnfn convert_uchar3_rte(long3);1727uchar3 __ovld __cnfn convert_uchar3_sat_rte(long3);1728uchar3 __ovld __cnfn convert_uchar3_rtz(long3);1729uchar3 __ovld __cnfn convert_uchar3_sat_rtz(long3);1730uchar3 __ovld __cnfn convert_uchar3_rtp(long3);1731uchar3 __ovld __cnfn convert_uchar3_sat_rtp(long3);1732uchar3 __ovld __cnfn convert_uchar3_rtn(long3);1733uchar3 __ovld __cnfn convert_uchar3_sat_rtn(long3);1734uchar3 __ovld __cnfn convert_uchar3(long3);1735uchar3 __ovld __cnfn convert_uchar3_sat(long3);1736uchar3 __ovld __cnfn convert_uchar3_rte(ulong3);1737uchar3 __ovld __cnfn convert_uchar3_sat_rte(ulong3);1738uchar3 __ovld __cnfn convert_uchar3_rtz(ulong3);1739uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ulong3);1740uchar3 __ovld __cnfn convert_uchar3_rtp(ulong3);1741uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ulong3);1742uchar3 __ovld __cnfn convert_uchar3_rtn(ulong3);1743uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ulong3);1744uchar3 __ovld __cnfn convert_uchar3(ulong3);1745uchar3 __ovld __cnfn convert_uchar3_sat(ulong3);1746uchar3 __ovld __cnfn convert_uchar3_rte(float3);1747uchar3 __ovld __cnfn convert_uchar3_sat_rte(float3);1748uchar3 __ovld __cnfn convert_uchar3_rtz(float3);1749uchar3 __ovld __cnfn convert_uchar3_sat_rtz(float3);1750uchar3 __ovld __cnfn convert_uchar3_rtp(float3);1751uchar3 __ovld __cnfn convert_uchar3_sat_rtp(float3);1752uchar3 __ovld __cnfn convert_uchar3_rtn(float3);1753uchar3 __ovld __cnfn convert_uchar3_sat_rtn(float3);1754uchar3 __ovld __cnfn convert_uchar3(float3);1755uchar3 __ovld __cnfn convert_uchar3_sat(float3);1756short3 __ovld __cnfn convert_short3_rte(char3);1757short3 __ovld __cnfn convert_short3_sat_rte(char3);1758short3 __ovld __cnfn convert_short3_rtz(char3);1759short3 __ovld __cnfn convert_short3_sat_rtz(char3);1760short3 __ovld __cnfn convert_short3_rtp(char3);1761short3 __ovld __cnfn convert_short3_sat_rtp(char3);1762short3 __ovld __cnfn convert_short3_rtn(char3);1763short3 __ovld __cnfn convert_short3_sat_rtn(char3);1764short3 __ovld __cnfn convert_short3(char3);1765short3 __ovld __cnfn convert_short3_sat(char3);1766short3 __ovld __cnfn convert_short3_rte(uchar3);1767short3 __ovld __cnfn convert_short3_sat_rte(uchar3);1768short3 __ovld __cnfn convert_short3_rtz(uchar3);1769short3 __ovld __cnfn convert_short3_sat_rtz(uchar3);1770short3 __ovld __cnfn convert_short3_rtp(uchar3);1771short3 __ovld __cnfn convert_short3_sat_rtp(uchar3);1772short3 __ovld __cnfn convert_short3_rtn(uchar3);1773short3 __ovld __cnfn convert_short3_sat_rtn(uchar3);1774short3 __ovld __cnfn convert_short3(uchar3);1775short3 __ovld __cnfn convert_short3_sat(uchar3);1776short3 __ovld __cnfn convert_short3_rte(short3);1777short3 __ovld __cnfn convert_short3_sat_rte(short3);1778short3 __ovld __cnfn convert_short3_rtz(short3);1779short3 __ovld __cnfn convert_short3_sat_rtz(short3);1780short3 __ovld __cnfn convert_short3_rtp(short3);1781short3 __ovld __cnfn convert_short3_sat_rtp(short3);1782short3 __ovld __cnfn convert_short3_rtn(short3);1783short3 __ovld __cnfn convert_short3_sat_rtn(short3);1784short3 __ovld __cnfn convert_short3(short3);1785short3 __ovld __cnfn convert_short3_sat(short3);1786short3 __ovld __cnfn convert_short3_rte(ushort3);1787short3 __ovld __cnfn convert_short3_sat_rte(ushort3);1788short3 __ovld __cnfn convert_short3_rtz(ushort3);1789short3 __ovld __cnfn convert_short3_sat_rtz(ushort3);1790short3 __ovld __cnfn convert_short3_rtp(ushort3);1791short3 __ovld __cnfn convert_short3_sat_rtp(ushort3);1792short3 __ovld __cnfn convert_short3_rtn(ushort3);1793short3 __ovld __cnfn convert_short3_sat_rtn(ushort3);1794short3 __ovld __cnfn convert_short3(ushort3);1795short3 __ovld __cnfn convert_short3_sat(ushort3);1796short3 __ovld __cnfn convert_short3_rte(int3);1797short3 __ovld __cnfn convert_short3_sat_rte(int3);1798short3 __ovld __cnfn convert_short3_rtz(int3);1799short3 __ovld __cnfn convert_short3_sat_rtz(int3);1800short3 __ovld __cnfn convert_short3_rtp(int3);1801short3 __ovld __cnfn convert_short3_sat_rtp(int3);1802short3 __ovld __cnfn convert_short3_rtn(int3);1803short3 __ovld __cnfn convert_short3_sat_rtn(int3);1804short3 __ovld __cnfn convert_short3(int3);1805short3 __ovld __cnfn convert_short3_sat(int3);1806short3 __ovld __cnfn convert_short3_rte(uint3);1807short3 __ovld __cnfn convert_short3_sat_rte(uint3);1808short3 __ovld __cnfn convert_short3_rtz(uint3);1809short3 __ovld __cnfn convert_short3_sat_rtz(uint3);1810short3 __ovld __cnfn convert_short3_rtp(uint3);1811short3 __ovld __cnfn convert_short3_sat_rtp(uint3);1812short3 __ovld __cnfn convert_short3_rtn(uint3);1813short3 __ovld __cnfn convert_short3_sat_rtn(uint3);1814short3 __ovld __cnfn convert_short3(uint3);1815short3 __ovld __cnfn convert_short3_sat(uint3);1816short3 __ovld __cnfn convert_short3_rte(long3);1817short3 __ovld __cnfn convert_short3_sat_rte(long3);1818short3 __ovld __cnfn convert_short3_rtz(long3);1819short3 __ovld __cnfn convert_short3_sat_rtz(long3);1820short3 __ovld __cnfn convert_short3_rtp(long3);1821short3 __ovld __cnfn convert_short3_sat_rtp(long3);1822short3 __ovld __cnfn convert_short3_rtn(long3);1823short3 __ovld __cnfn convert_short3_sat_rtn(long3);1824short3 __ovld __cnfn convert_short3(long3);1825short3 __ovld __cnfn convert_short3_sat(long3);1826short3 __ovld __cnfn convert_short3_rte(ulong3);1827short3 __ovld __cnfn convert_short3_sat_rte(ulong3);1828short3 __ovld __cnfn convert_short3_rtz(ulong3);1829short3 __ovld __cnfn convert_short3_sat_rtz(ulong3);1830short3 __ovld __cnfn convert_short3_rtp(ulong3);1831short3 __ovld __cnfn convert_short3_sat_rtp(ulong3);1832short3 __ovld __cnfn convert_short3_rtn(ulong3);1833short3 __ovld __cnfn convert_short3_sat_rtn(ulong3);1834short3 __ovld __cnfn convert_short3(ulong3);1835short3 __ovld __cnfn convert_short3_sat(ulong3);1836short3 __ovld __cnfn convert_short3_rte(float3);1837short3 __ovld __cnfn convert_short3_sat_rte(float3);1838short3 __ovld __cnfn convert_short3_rtz(float3);1839short3 __ovld __cnfn convert_short3_sat_rtz(float3);1840short3 __ovld __cnfn convert_short3_rtp(float3);1841short3 __ovld __cnfn convert_short3_sat_rtp(float3);1842short3 __ovld __cnfn convert_short3_rtn(float3);1843short3 __ovld __cnfn convert_short3_sat_rtn(float3);1844short3 __ovld __cnfn convert_short3(float3);1845short3 __ovld __cnfn convert_short3_sat(float3);1846ushort3 __ovld __cnfn convert_ushort3_rte(char3);1847ushort3 __ovld __cnfn convert_ushort3_sat_rte(char3);1848ushort3 __ovld __cnfn convert_ushort3_rtz(char3);1849ushort3 __ovld __cnfn convert_ushort3_sat_rtz(char3);1850ushort3 __ovld __cnfn convert_ushort3_rtp(char3);1851ushort3 __ovld __cnfn convert_ushort3_sat_rtp(char3);1852ushort3 __ovld __cnfn convert_ushort3_rtn(char3);1853ushort3 __ovld __cnfn convert_ushort3_sat_rtn(char3);1854ushort3 __ovld __cnfn convert_ushort3(char3);1855ushort3 __ovld __cnfn convert_ushort3_sat(char3);1856ushort3 __ovld __cnfn convert_ushort3_rte(uchar3);1857ushort3 __ovld __cnfn convert_ushort3_sat_rte(uchar3);1858ushort3 __ovld __cnfn convert_ushort3_rtz(uchar3);1859ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uchar3);1860ushort3 __ovld __cnfn convert_ushort3_rtp(uchar3);1861ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uchar3);1862ushort3 __ovld __cnfn convert_ushort3_rtn(uchar3);1863ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uchar3);1864ushort3 __ovld __cnfn convert_ushort3(uchar3);1865ushort3 __ovld __cnfn convert_ushort3_sat(uchar3);1866ushort3 __ovld __cnfn convert_ushort3_rte(short3);1867ushort3 __ovld __cnfn convert_ushort3_sat_rte(short3);1868ushort3 __ovld __cnfn convert_ushort3_rtz(short3);1869ushort3 __ovld __cnfn convert_ushort3_sat_rtz(short3);1870ushort3 __ovld __cnfn convert_ushort3_rtp(short3);1871ushort3 __ovld __cnfn convert_ushort3_sat_rtp(short3);1872ushort3 __ovld __cnfn convert_ushort3_rtn(short3);1873ushort3 __ovld __cnfn convert_ushort3_sat_rtn(short3);1874ushort3 __ovld __cnfn convert_ushort3(short3);1875ushort3 __ovld __cnfn convert_ushort3_sat(short3);1876ushort3 __ovld __cnfn convert_ushort3_rte(ushort3);1877ushort3 __ovld __cnfn convert_ushort3_sat_rte(ushort3);1878ushort3 __ovld __cnfn convert_ushort3_rtz(ushort3);1879ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ushort3);1880ushort3 __ovld __cnfn convert_ushort3_rtp(ushort3);1881ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ushort3);1882ushort3 __ovld __cnfn convert_ushort3_rtn(ushort3);1883ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ushort3);1884ushort3 __ovld __cnfn convert_ushort3(ushort3);1885ushort3 __ovld __cnfn convert_ushort3_sat(ushort3);1886ushort3 __ovld __cnfn convert_ushort3_rte(int3);1887ushort3 __ovld __cnfn convert_ushort3_sat_rte(int3);1888ushort3 __ovld __cnfn convert_ushort3_rtz(int3);1889ushort3 __ovld __cnfn convert_ushort3_sat_rtz(int3);1890ushort3 __ovld __cnfn convert_ushort3_rtp(int3);1891ushort3 __ovld __cnfn convert_ushort3_sat_rtp(int3);1892ushort3 __ovld __cnfn convert_ushort3_rtn(int3);1893ushort3 __ovld __cnfn convert_ushort3_sat_rtn(int3);1894ushort3 __ovld __cnfn convert_ushort3(int3);1895ushort3 __ovld __cnfn convert_ushort3_sat(int3);1896ushort3 __ovld __cnfn convert_ushort3_rte(uint3);1897ushort3 __ovld __cnfn convert_ushort3_sat_rte(uint3);1898ushort3 __ovld __cnfn convert_ushort3_rtz(uint3);1899ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uint3);1900ushort3 __ovld __cnfn convert_ushort3_rtp(uint3);1901ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uint3);1902ushort3 __ovld __cnfn convert_ushort3_rtn(uint3);1903ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uint3);1904ushort3 __ovld __cnfn convert_ushort3(uint3);1905ushort3 __ovld __cnfn convert_ushort3_sat(uint3);1906ushort3 __ovld __cnfn convert_ushort3_rte(long3);1907ushort3 __ovld __cnfn convert_ushort3_sat_rte(long3);1908ushort3 __ovld __cnfn convert_ushort3_rtz(long3);1909ushort3 __ovld __cnfn convert_ushort3_sat_rtz(long3);1910ushort3 __ovld __cnfn convert_ushort3_rtp(long3);1911ushort3 __ovld __cnfn convert_ushort3_sat_rtp(long3);1912ushort3 __ovld __cnfn convert_ushort3_rtn(long3);1913ushort3 __ovld __cnfn convert_ushort3_sat_rtn(long3);1914ushort3 __ovld __cnfn convert_ushort3(long3);1915ushort3 __ovld __cnfn convert_ushort3_sat(long3);1916ushort3 __ovld __cnfn convert_ushort3_rte(ulong3);1917ushort3 __ovld __cnfn convert_ushort3_sat_rte(ulong3);1918ushort3 __ovld __cnfn convert_ushort3_rtz(ulong3);1919ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ulong3);1920ushort3 __ovld __cnfn convert_ushort3_rtp(ulong3);1921ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ulong3);1922ushort3 __ovld __cnfn convert_ushort3_rtn(ulong3);1923ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ulong3);1924ushort3 __ovld __cnfn convert_ushort3(ulong3);1925ushort3 __ovld __cnfn convert_ushort3_sat(ulong3);1926ushort3 __ovld __cnfn convert_ushort3_rte(float3);1927ushort3 __ovld __cnfn convert_ushort3_sat_rte(float3);1928ushort3 __ovld __cnfn convert_ushort3_rtz(float3);1929ushort3 __ovld __cnfn convert_ushort3_sat_rtz(float3);1930ushort3 __ovld __cnfn convert_ushort3_rtp(float3);1931ushort3 __ovld __cnfn convert_ushort3_sat_rtp(float3);1932ushort3 __ovld __cnfn convert_ushort3_rtn(float3);1933ushort3 __ovld __cnfn convert_ushort3_sat_rtn(float3);1934ushort3 __ovld __cnfn convert_ushort3(float3);1935ushort3 __ovld __cnfn convert_ushort3_sat(float3);1936int3 __ovld __cnfn convert_int3_rte(char3);1937int3 __ovld __cnfn convert_int3_sat_rte(char3);1938int3 __ovld __cnfn convert_int3_rtz(char3);1939int3 __ovld __cnfn convert_int3_sat_rtz(char3);1940int3 __ovld __cnfn convert_int3_rtp(char3);1941int3 __ovld __cnfn convert_int3_sat_rtp(char3);1942int3 __ovld __cnfn convert_int3_rtn(char3);1943int3 __ovld __cnfn convert_int3_sat_rtn(char3);1944int3 __ovld __cnfn convert_int3(char3);1945int3 __ovld __cnfn convert_int3_sat(char3);1946int3 __ovld __cnfn convert_int3_rte(uchar3);1947int3 __ovld __cnfn convert_int3_sat_rte(uchar3);1948int3 __ovld __cnfn convert_int3_rtz(uchar3);1949int3 __ovld __cnfn convert_int3_sat_rtz(uchar3);1950int3 __ovld __cnfn convert_int3_rtp(uchar3);1951int3 __ovld __cnfn convert_int3_sat_rtp(uchar3);1952int3 __ovld __cnfn convert_int3_rtn(uchar3);1953int3 __ovld __cnfn convert_int3_sat_rtn(uchar3);1954int3 __ovld __cnfn convert_int3(uchar3);1955int3 __ovld __cnfn convert_int3_sat(uchar3);1956int3 __ovld __cnfn convert_int3_rte(short3);1957int3 __ovld __cnfn convert_int3_sat_rte(short3);1958int3 __ovld __cnfn convert_int3_rtz(short3);1959int3 __ovld __cnfn convert_int3_sat_rtz(short3);1960int3 __ovld __cnfn convert_int3_rtp(short3);1961int3 __ovld __cnfn convert_int3_sat_rtp(short3);1962int3 __ovld __cnfn convert_int3_rtn(short3);1963int3 __ovld __cnfn convert_int3_sat_rtn(short3);1964int3 __ovld __cnfn convert_int3(short3);1965int3 __ovld __cnfn convert_int3_sat(short3);1966int3 __ovld __cnfn convert_int3_rte(ushort3);1967int3 __ovld __cnfn convert_int3_sat_rte(ushort3);1968int3 __ovld __cnfn convert_int3_rtz(ushort3);1969int3 __ovld __cnfn convert_int3_sat_rtz(ushort3);1970int3 __ovld __cnfn convert_int3_rtp(ushort3);1971int3 __ovld __cnfn convert_int3_sat_rtp(ushort3);1972int3 __ovld __cnfn convert_int3_rtn(ushort3);1973int3 __ovld __cnfn convert_int3_sat_rtn(ushort3);1974int3 __ovld __cnfn convert_int3(ushort3);1975int3 __ovld __cnfn convert_int3_sat(ushort3);1976int3 __ovld __cnfn convert_int3_rte(int3);1977int3 __ovld __cnfn convert_int3_sat_rte(int3);1978int3 __ovld __cnfn convert_int3_rtz(int3);1979int3 __ovld __cnfn convert_int3_sat_rtz(int3);1980int3 __ovld __cnfn convert_int3_rtp(int3);1981int3 __ovld __cnfn convert_int3_sat_rtp(int3);1982int3 __ovld __cnfn convert_int3_rtn(int3);1983int3 __ovld __cnfn convert_int3_sat_rtn(int3);1984int3 __ovld __cnfn convert_int3(int3);1985int3 __ovld __cnfn convert_int3_sat(int3);1986int3 __ovld __cnfn convert_int3_rte(uint3);1987int3 __ovld __cnfn convert_int3_sat_rte(uint3);1988int3 __ovld __cnfn convert_int3_rtz(uint3);1989int3 __ovld __cnfn convert_int3_sat_rtz(uint3);1990int3 __ovld __cnfn convert_int3_rtp(uint3);1991int3 __ovld __cnfn convert_int3_sat_rtp(uint3);1992int3 __ovld __cnfn convert_int3_rtn(uint3);1993int3 __ovld __cnfn convert_int3_sat_rtn(uint3);1994int3 __ovld __cnfn convert_int3(uint3);1995int3 __ovld __cnfn convert_int3_sat(uint3);1996int3 __ovld __cnfn convert_int3_rte(long3);1997int3 __ovld __cnfn convert_int3_sat_rte(long3);1998int3 __ovld __cnfn convert_int3_rtz(long3);1999int3 __ovld __cnfn convert_int3_sat_rtz(long3);2000int3 __ovld __cnfn convert_int3_rtp(long3);2001int3 __ovld __cnfn convert_int3_sat_rtp(long3);2002int3 __ovld __cnfn convert_int3_rtn(long3);2003int3 __ovld __cnfn convert_int3_sat_rtn(long3);2004int3 __ovld __cnfn convert_int3(long3);2005int3 __ovld __cnfn convert_int3_sat(long3);2006int3 __ovld __cnfn convert_int3_rte(ulong3);2007int3 __ovld __cnfn convert_int3_sat_rte(ulong3);2008int3 __ovld __cnfn convert_int3_rtz(ulong3);2009int3 __ovld __cnfn convert_int3_sat_rtz(ulong3);2010int3 __ovld __cnfn convert_int3_rtp(ulong3);2011int3 __ovld __cnfn convert_int3_sat_rtp(ulong3);2012int3 __ovld __cnfn convert_int3_rtn(ulong3);2013int3 __ovld __cnfn convert_int3_sat_rtn(ulong3);2014int3 __ovld __cnfn convert_int3(ulong3);2015int3 __ovld __cnfn convert_int3_sat(ulong3);2016int3 __ovld __cnfn convert_int3_rte(float3);2017int3 __ovld __cnfn convert_int3_sat_rte(float3);2018int3 __ovld __cnfn convert_int3_rtz(float3);2019int3 __ovld __cnfn convert_int3_sat_rtz(float3);2020int3 __ovld __cnfn convert_int3_rtp(float3);2021int3 __ovld __cnfn convert_int3_sat_rtp(float3);2022int3 __ovld __cnfn convert_int3_rtn(float3);2023int3 __ovld __cnfn convert_int3_sat_rtn(float3);2024int3 __ovld __cnfn convert_int3(float3);2025int3 __ovld __cnfn convert_int3_sat(float3);2026uint3 __ovld __cnfn convert_uint3_rte(char3);2027uint3 __ovld __cnfn convert_uint3_sat_rte(char3);2028uint3 __ovld __cnfn convert_uint3_rtz(char3);2029uint3 __ovld __cnfn convert_uint3_sat_rtz(char3);2030uint3 __ovld __cnfn convert_uint3_rtp(char3);2031uint3 __ovld __cnfn convert_uint3_sat_rtp(char3);2032uint3 __ovld __cnfn convert_uint3_rtn(char3);2033uint3 __ovld __cnfn convert_uint3_sat_rtn(char3);2034uint3 __ovld __cnfn convert_uint3(char3);2035uint3 __ovld __cnfn convert_uint3_sat(char3);2036uint3 __ovld __cnfn convert_uint3_rte(uchar3);2037uint3 __ovld __cnfn convert_uint3_sat_rte(uchar3);2038uint3 __ovld __cnfn convert_uint3_rtz(uchar3);2039uint3 __ovld __cnfn convert_uint3_sat_rtz(uchar3);2040uint3 __ovld __cnfn convert_uint3_rtp(uchar3);2041uint3 __ovld __cnfn convert_uint3_sat_rtp(uchar3);2042uint3 __ovld __cnfn convert_uint3_rtn(uchar3);2043uint3 __ovld __cnfn convert_uint3_sat_rtn(uchar3);2044uint3 __ovld __cnfn convert_uint3(uchar3);2045uint3 __ovld __cnfn convert_uint3_sat(uchar3);2046uint3 __ovld __cnfn convert_uint3_rte(short3);2047uint3 __ovld __cnfn convert_uint3_sat_rte(short3);2048uint3 __ovld __cnfn convert_uint3_rtz(short3);2049uint3 __ovld __cnfn convert_uint3_sat_rtz(short3);2050uint3 __ovld __cnfn convert_uint3_rtp(short3);2051uint3 __ovld __cnfn convert_uint3_sat_rtp(short3);2052uint3 __ovld __cnfn convert_uint3_rtn(short3);2053uint3 __ovld __cnfn convert_uint3_sat_rtn(short3);2054uint3 __ovld __cnfn convert_uint3(short3);2055uint3 __ovld __cnfn convert_uint3_sat(short3);2056uint3 __ovld __cnfn convert_uint3_rte(ushort3);2057uint3 __ovld __cnfn convert_uint3_sat_rte(ushort3);2058uint3 __ovld __cnfn convert_uint3_rtz(ushort3);2059uint3 __ovld __cnfn convert_uint3_sat_rtz(ushort3);2060uint3 __ovld __cnfn convert_uint3_rtp(ushort3);2061uint3 __ovld __cnfn convert_uint3_sat_rtp(ushort3);2062uint3 __ovld __cnfn convert_uint3_rtn(ushort3);2063uint3 __ovld __cnfn convert_uint3_sat_rtn(ushort3);2064uint3 __ovld __cnfn convert_uint3(ushort3);2065uint3 __ovld __cnfn convert_uint3_sat(ushort3);2066uint3 __ovld __cnfn convert_uint3_rte(int3);2067uint3 __ovld __cnfn convert_uint3_sat_rte(int3);2068uint3 __ovld __cnfn convert_uint3_rtz(int3);2069uint3 __ovld __cnfn convert_uint3_sat_rtz(int3);2070uint3 __ovld __cnfn convert_uint3_rtp(int3);2071uint3 __ovld __cnfn convert_uint3_sat_rtp(int3);2072uint3 __ovld __cnfn convert_uint3_rtn(int3);2073uint3 __ovld __cnfn convert_uint3_sat_rtn(int3);2074uint3 __ovld __cnfn convert_uint3(int3);2075uint3 __ovld __cnfn convert_uint3_sat(int3);2076uint3 __ovld __cnfn convert_uint3_rte(uint3);2077uint3 __ovld __cnfn convert_uint3_sat_rte(uint3);2078uint3 __ovld __cnfn convert_uint3_rtz(uint3);2079uint3 __ovld __cnfn convert_uint3_sat_rtz(uint3);2080uint3 __ovld __cnfn convert_uint3_rtp(uint3);2081uint3 __ovld __cnfn convert_uint3_sat_rtp(uint3);2082uint3 __ovld __cnfn convert_uint3_rtn(uint3);2083uint3 __ovld __cnfn convert_uint3_sat_rtn(uint3);2084uint3 __ovld __cnfn convert_uint3(uint3);2085uint3 __ovld __cnfn convert_uint3_sat(uint3);2086uint3 __ovld __cnfn convert_uint3_rte(long3);2087uint3 __ovld __cnfn convert_uint3_sat_rte(long3);2088uint3 __ovld __cnfn convert_uint3_rtz(long3);2089uint3 __ovld __cnfn convert_uint3_sat_rtz(long3);2090uint3 __ovld __cnfn convert_uint3_rtp(long3);2091uint3 __ovld __cnfn convert_uint3_sat_rtp(long3);2092uint3 __ovld __cnfn convert_uint3_rtn(long3);2093uint3 __ovld __cnfn convert_uint3_sat_rtn(long3);2094uint3 __ovld __cnfn convert_uint3(long3);2095uint3 __ovld __cnfn convert_uint3_sat(long3);2096uint3 __ovld __cnfn convert_uint3_rte(ulong3);2097uint3 __ovld __cnfn convert_uint3_sat_rte(ulong3);2098uint3 __ovld __cnfn convert_uint3_rtz(ulong3);2099uint3 __ovld __cnfn convert_uint3_sat_rtz(ulong3);2100uint3 __ovld __cnfn convert_uint3_rtp(ulong3);2101uint3 __ovld __cnfn convert_uint3_sat_rtp(ulong3);2102uint3 __ovld __cnfn convert_uint3_rtn(ulong3);2103uint3 __ovld __cnfn convert_uint3_sat_rtn(ulong3);2104uint3 __ovld __cnfn convert_uint3(ulong3);2105uint3 __ovld __cnfn convert_uint3_sat(ulong3);2106uint3 __ovld __cnfn convert_uint3_rte(float3);2107uint3 __ovld __cnfn convert_uint3_sat_rte(float3);2108uint3 __ovld __cnfn convert_uint3_rtz(float3);2109uint3 __ovld __cnfn convert_uint3_sat_rtz(float3);2110uint3 __ovld __cnfn convert_uint3_rtp(float3);2111uint3 __ovld __cnfn convert_uint3_sat_rtp(float3);2112uint3 __ovld __cnfn convert_uint3_rtn(float3);2113uint3 __ovld __cnfn convert_uint3_sat_rtn(float3);2114uint3 __ovld __cnfn convert_uint3(float3);2115uint3 __ovld __cnfn convert_uint3_sat(float3);2116long3 __ovld __cnfn convert_long3_rte(char3);2117long3 __ovld __cnfn convert_long3_sat_rte(char3);2118long3 __ovld __cnfn convert_long3_rtz(char3);2119long3 __ovld __cnfn convert_long3_sat_rtz(char3);2120long3 __ovld __cnfn convert_long3_rtp(char3);2121long3 __ovld __cnfn convert_long3_sat_rtp(char3);2122long3 __ovld __cnfn convert_long3_rtn(char3);2123long3 __ovld __cnfn convert_long3_sat_rtn(char3);2124long3 __ovld __cnfn convert_long3(char3);2125long3 __ovld __cnfn convert_long3_sat(char3);2126long3 __ovld __cnfn convert_long3_rte(uchar3);2127long3 __ovld __cnfn convert_long3_sat_rte(uchar3);2128long3 __ovld __cnfn convert_long3_rtz(uchar3);2129long3 __ovld __cnfn convert_long3_sat_rtz(uchar3);2130long3 __ovld __cnfn convert_long3_rtp(uchar3);2131long3 __ovld __cnfn convert_long3_sat_rtp(uchar3);2132long3 __ovld __cnfn convert_long3_rtn(uchar3);2133long3 __ovld __cnfn convert_long3_sat_rtn(uchar3);2134long3 __ovld __cnfn convert_long3(uchar3);2135long3 __ovld __cnfn convert_long3_sat(uchar3);2136long3 __ovld __cnfn convert_long3_rte(short3);2137long3 __ovld __cnfn convert_long3_sat_rte(short3);2138long3 __ovld __cnfn convert_long3_rtz(short3);2139long3 __ovld __cnfn convert_long3_sat_rtz(short3);2140long3 __ovld __cnfn convert_long3_rtp(short3);2141long3 __ovld __cnfn convert_long3_sat_rtp(short3);2142long3 __ovld __cnfn convert_long3_rtn(short3);2143long3 __ovld __cnfn convert_long3_sat_rtn(short3);2144long3 __ovld __cnfn convert_long3(short3);2145long3 __ovld __cnfn convert_long3_sat(short3);2146long3 __ovld __cnfn convert_long3_rte(ushort3);2147long3 __ovld __cnfn convert_long3_sat_rte(ushort3);2148long3 __ovld __cnfn convert_long3_rtz(ushort3);2149long3 __ovld __cnfn convert_long3_sat_rtz(ushort3);2150long3 __ovld __cnfn convert_long3_rtp(ushort3);2151long3 __ovld __cnfn convert_long3_sat_rtp(ushort3);2152long3 __ovld __cnfn convert_long3_rtn(ushort3);2153long3 __ovld __cnfn convert_long3_sat_rtn(ushort3);2154long3 __ovld __cnfn convert_long3(ushort3);2155long3 __ovld __cnfn convert_long3_sat(ushort3);2156long3 __ovld __cnfn convert_long3_rte(int3);2157long3 __ovld __cnfn convert_long3_sat_rte(int3);2158long3 __ovld __cnfn convert_long3_rtz(int3);2159long3 __ovld __cnfn convert_long3_sat_rtz(int3);2160long3 __ovld __cnfn convert_long3_rtp(int3);2161long3 __ovld __cnfn convert_long3_sat_rtp(int3);2162long3 __ovld __cnfn convert_long3_rtn(int3);2163long3 __ovld __cnfn convert_long3_sat_rtn(int3);2164long3 __ovld __cnfn convert_long3(int3);2165long3 __ovld __cnfn convert_long3_sat(int3);2166long3 __ovld __cnfn convert_long3_rte(uint3);2167long3 __ovld __cnfn convert_long3_sat_rte(uint3);2168long3 __ovld __cnfn convert_long3_rtz(uint3);2169long3 __ovld __cnfn convert_long3_sat_rtz(uint3);2170long3 __ovld __cnfn convert_long3_rtp(uint3);2171long3 __ovld __cnfn convert_long3_sat_rtp(uint3);2172long3 __ovld __cnfn convert_long3_rtn(uint3);2173long3 __ovld __cnfn convert_long3_sat_rtn(uint3);2174long3 __ovld __cnfn convert_long3(uint3);2175long3 __ovld __cnfn convert_long3_sat(uint3);2176long3 __ovld __cnfn convert_long3_rte(long3);2177long3 __ovld __cnfn convert_long3_sat_rte(long3);2178long3 __ovld __cnfn convert_long3_rtz(long3);2179long3 __ovld __cnfn convert_long3_sat_rtz(long3);2180long3 __ovld __cnfn convert_long3_rtp(long3);2181long3 __ovld __cnfn convert_long3_sat_rtp(long3);2182long3 __ovld __cnfn convert_long3_rtn(long3);2183long3 __ovld __cnfn convert_long3_sat_rtn(long3);2184long3 __ovld __cnfn convert_long3(long3);2185long3 __ovld __cnfn convert_long3_sat(long3);2186long3 __ovld __cnfn convert_long3_rte(ulong3);2187long3 __ovld __cnfn convert_long3_sat_rte(ulong3);2188long3 __ovld __cnfn convert_long3_rtz(ulong3);2189long3 __ovld __cnfn convert_long3_sat_rtz(ulong3);2190long3 __ovld __cnfn convert_long3_rtp(ulong3);2191long3 __ovld __cnfn convert_long3_sat_rtp(ulong3);2192long3 __ovld __cnfn convert_long3_rtn(ulong3);2193long3 __ovld __cnfn convert_long3_sat_rtn(ulong3);2194long3 __ovld __cnfn convert_long3(ulong3);2195long3 __ovld __cnfn convert_long3_sat(ulong3);2196long3 __ovld __cnfn convert_long3_rte(float3);2197long3 __ovld __cnfn convert_long3_sat_rte(float3);2198long3 __ovld __cnfn convert_long3_rtz(float3);2199long3 __ovld __cnfn convert_long3_sat_rtz(float3);2200long3 __ovld __cnfn convert_long3_rtp(float3);2201long3 __ovld __cnfn convert_long3_sat_rtp(float3);2202long3 __ovld __cnfn convert_long3_rtn(float3);2203long3 __ovld __cnfn convert_long3_sat_rtn(float3);2204long3 __ovld __cnfn convert_long3(float3);2205long3 __ovld __cnfn convert_long3_sat(float3);2206ulong3 __ovld __cnfn convert_ulong3_rte(char3);2207ulong3 __ovld __cnfn convert_ulong3_sat_rte(char3);2208ulong3 __ovld __cnfn convert_ulong3_rtz(char3);2209ulong3 __ovld __cnfn convert_ulong3_sat_rtz(char3);2210ulong3 __ovld __cnfn convert_ulong3_rtp(char3);2211ulong3 __ovld __cnfn convert_ulong3_sat_rtp(char3);2212ulong3 __ovld __cnfn convert_ulong3_rtn(char3);2213ulong3 __ovld __cnfn convert_ulong3_sat_rtn(char3);2214ulong3 __ovld __cnfn convert_ulong3(char3);2215ulong3 __ovld __cnfn convert_ulong3_sat(char3);2216ulong3 __ovld __cnfn convert_ulong3_rte(uchar3);2217ulong3 __ovld __cnfn convert_ulong3_sat_rte(uchar3);2218ulong3 __ovld __cnfn convert_ulong3_rtz(uchar3);2219ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uchar3);2220ulong3 __ovld __cnfn convert_ulong3_rtp(uchar3);2221ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uchar3);2222ulong3 __ovld __cnfn convert_ulong3_rtn(uchar3);2223ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uchar3);2224ulong3 __ovld __cnfn convert_ulong3(uchar3);2225ulong3 __ovld __cnfn convert_ulong3_sat(uchar3);2226ulong3 __ovld __cnfn convert_ulong3_rte(short3);2227ulong3 __ovld __cnfn convert_ulong3_sat_rte(short3);2228ulong3 __ovld __cnfn convert_ulong3_rtz(short3);2229ulong3 __ovld __cnfn convert_ulong3_sat_rtz(short3);2230ulong3 __ovld __cnfn convert_ulong3_rtp(short3);2231ulong3 __ovld __cnfn convert_ulong3_sat_rtp(short3);2232ulong3 __ovld __cnfn convert_ulong3_rtn(short3);2233ulong3 __ovld __cnfn convert_ulong3_sat_rtn(short3);2234ulong3 __ovld __cnfn convert_ulong3(short3);2235ulong3 __ovld __cnfn convert_ulong3_sat(short3);2236ulong3 __ovld __cnfn convert_ulong3_rte(ushort3);2237ulong3 __ovld __cnfn convert_ulong3_sat_rte(ushort3);2238ulong3 __ovld __cnfn convert_ulong3_rtz(ushort3);2239ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ushort3);2240ulong3 __ovld __cnfn convert_ulong3_rtp(ushort3);2241ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ushort3);2242ulong3 __ovld __cnfn convert_ulong3_rtn(ushort3);2243ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ushort3);2244ulong3 __ovld __cnfn convert_ulong3(ushort3);2245ulong3 __ovld __cnfn convert_ulong3_sat(ushort3);2246ulong3 __ovld __cnfn convert_ulong3_rte(int3);2247ulong3 __ovld __cnfn convert_ulong3_sat_rte(int3);2248ulong3 __ovld __cnfn convert_ulong3_rtz(int3);2249ulong3 __ovld __cnfn convert_ulong3_sat_rtz(int3);2250ulong3 __ovld __cnfn convert_ulong3_rtp(int3);2251ulong3 __ovld __cnfn convert_ulong3_sat_rtp(int3);2252ulong3 __ovld __cnfn convert_ulong3_rtn(int3);2253ulong3 __ovld __cnfn convert_ulong3_sat_rtn(int3);2254ulong3 __ovld __cnfn convert_ulong3(int3);2255ulong3 __ovld __cnfn convert_ulong3_sat(int3);2256ulong3 __ovld __cnfn convert_ulong3_rte(uint3);2257ulong3 __ovld __cnfn convert_ulong3_sat_rte(uint3);2258ulong3 __ovld __cnfn convert_ulong3_rtz(uint3);2259ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uint3);2260ulong3 __ovld __cnfn convert_ulong3_rtp(uint3);2261ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uint3);2262ulong3 __ovld __cnfn convert_ulong3_rtn(uint3);2263ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uint3);2264ulong3 __ovld __cnfn convert_ulong3(uint3);2265ulong3 __ovld __cnfn convert_ulong3_sat(uint3);2266ulong3 __ovld __cnfn convert_ulong3_rte(long3);2267ulong3 __ovld __cnfn convert_ulong3_sat_rte(long3);2268ulong3 __ovld __cnfn convert_ulong3_rtz(long3);2269ulong3 __ovld __cnfn convert_ulong3_sat_rtz(long3);2270ulong3 __ovld __cnfn convert_ulong3_rtp(long3);2271ulong3 __ovld __cnfn convert_ulong3_sat_rtp(long3);2272ulong3 __ovld __cnfn convert_ulong3_rtn(long3);2273ulong3 __ovld __cnfn convert_ulong3_sat_rtn(long3);2274ulong3 __ovld __cnfn convert_ulong3(long3);2275ulong3 __ovld __cnfn convert_ulong3_sat(long3);2276ulong3 __ovld __cnfn convert_ulong3_rte(ulong3);2277ulong3 __ovld __cnfn convert_ulong3_sat_rte(ulong3);2278ulong3 __ovld __cnfn convert_ulong3_rtz(ulong3);2279ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ulong3);2280ulong3 __ovld __cnfn convert_ulong3_rtp(ulong3);2281ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ulong3);2282ulong3 __ovld __cnfn convert_ulong3_rtn(ulong3);2283ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ulong3);2284ulong3 __ovld __cnfn convert_ulong3(ulong3);2285ulong3 __ovld __cnfn convert_ulong3_sat(ulong3);2286ulong3 __ovld __cnfn convert_ulong3_rte(float3);2287ulong3 __ovld __cnfn convert_ulong3_sat_rte(float3);2288ulong3 __ovld __cnfn convert_ulong3_rtz(float3);2289ulong3 __ovld __cnfn convert_ulong3_sat_rtz(float3);2290ulong3 __ovld __cnfn convert_ulong3_rtp(float3);2291ulong3 __ovld __cnfn convert_ulong3_sat_rtp(float3);2292ulong3 __ovld __cnfn convert_ulong3_rtn(float3);2293ulong3 __ovld __cnfn convert_ulong3_sat_rtn(float3);2294ulong3 __ovld __cnfn convert_ulong3(float3);2295ulong3 __ovld __cnfn convert_ulong3_sat(float3);2296float3 __ovld __cnfn convert_float3_rte(char3);2297float3 __ovld __cnfn convert_float3_rtz(char3);2298float3 __ovld __cnfn convert_float3_rtp(char3);2299float3 __ovld __cnfn convert_float3_rtn(char3);2300float3 __ovld __cnfn convert_float3(char3);2301float3 __ovld __cnfn convert_float3_rte(uchar3);2302float3 __ovld __cnfn convert_float3_rtz(uchar3);2303float3 __ovld __cnfn convert_float3_rtp(uchar3);2304float3 __ovld __cnfn convert_float3_rtn(uchar3);2305float3 __ovld __cnfn convert_float3(uchar3);2306float3 __ovld __cnfn convert_float3_rte(short3);2307float3 __ovld __cnfn convert_float3_rtz(short3);2308float3 __ovld __cnfn convert_float3_rtp(short3);2309float3 __ovld __cnfn convert_float3_rtn(short3);2310float3 __ovld __cnfn convert_float3(short3);2311float3 __ovld __cnfn convert_float3_rte(ushort3);2312float3 __ovld __cnfn convert_float3_rtz(ushort3);2313float3 __ovld __cnfn convert_float3_rtp(ushort3);2314float3 __ovld __cnfn convert_float3_rtn(ushort3);2315float3 __ovld __cnfn convert_float3(ushort3);2316float3 __ovld __cnfn convert_float3_rte(int3);2317float3 __ovld __cnfn convert_float3_rtz(int3);2318float3 __ovld __cnfn convert_float3_rtp(int3);2319float3 __ovld __cnfn convert_float3_rtn(int3);2320float3 __ovld __cnfn convert_float3(int3);2321float3 __ovld __cnfn convert_float3_rte(uint3);2322float3 __ovld __cnfn convert_float3_rtz(uint3);2323float3 __ovld __cnfn convert_float3_rtp(uint3);2324float3 __ovld __cnfn convert_float3_rtn(uint3);2325float3 __ovld __cnfn convert_float3(uint3);2326float3 __ovld __cnfn convert_float3_rte(long3);2327float3 __ovld __cnfn convert_float3_rtz(long3);2328float3 __ovld __cnfn convert_float3_rtp(long3);2329float3 __ovld __cnfn convert_float3_rtn(long3);2330float3 __ovld __cnfn convert_float3(long3);2331float3 __ovld __cnfn convert_float3_rte(ulong3);2332float3 __ovld __cnfn convert_float3_rtz(ulong3);2333float3 __ovld __cnfn convert_float3_rtp(ulong3);2334float3 __ovld __cnfn convert_float3_rtn(ulong3);2335float3 __ovld __cnfn convert_float3(ulong3);2336float3 __ovld __cnfn convert_float3_rte(float3);2337float3 __ovld __cnfn convert_float3_rtz(float3);2338float3 __ovld __cnfn convert_float3_rtp(float3);2339float3 __ovld __cnfn convert_float3_rtn(float3);2340float3 __ovld __cnfn convert_float3(float3);2341char4 __ovld __cnfn convert_char4_rte(char4);2342char4 __ovld __cnfn convert_char4_sat_rte(char4);2343char4 __ovld __cnfn convert_char4_rtz(char4);2344char4 __ovld __cnfn convert_char4_sat_rtz(char4);2345char4 __ovld __cnfn convert_char4_rtp(char4);2346char4 __ovld __cnfn convert_char4_sat_rtp(char4);2347char4 __ovld __cnfn convert_char4_rtn(char4);2348char4 __ovld __cnfn convert_char4_sat_rtn(char4);2349char4 __ovld __cnfn convert_char4(char4);2350char4 __ovld __cnfn convert_char4_sat(char4);2351char4 __ovld __cnfn convert_char4_rte(uchar4);2352char4 __ovld __cnfn convert_char4_sat_rte(uchar4);2353char4 __ovld __cnfn convert_char4_rtz(uchar4);2354char4 __ovld __cnfn convert_char4_sat_rtz(uchar4);2355char4 __ovld __cnfn convert_char4_rtp(uchar4);2356char4 __ovld __cnfn convert_char4_sat_rtp(uchar4);2357char4 __ovld __cnfn convert_char4_rtn(uchar4);2358char4 __ovld __cnfn convert_char4_sat_rtn(uchar4);2359char4 __ovld __cnfn convert_char4(uchar4);2360char4 __ovld __cnfn convert_char4_sat(uchar4);2361char4 __ovld __cnfn convert_char4_rte(short4);2362char4 __ovld __cnfn convert_char4_sat_rte(short4);2363char4 __ovld __cnfn convert_char4_rtz(short4);2364char4 __ovld __cnfn convert_char4_sat_rtz(short4);2365char4 __ovld __cnfn convert_char4_rtp(short4);2366char4 __ovld __cnfn convert_char4_sat_rtp(short4);2367char4 __ovld __cnfn convert_char4_rtn(short4);2368char4 __ovld __cnfn convert_char4_sat_rtn(short4);2369char4 __ovld __cnfn convert_char4(short4);2370char4 __ovld __cnfn convert_char4_sat(short4);2371char4 __ovld __cnfn convert_char4_rte(ushort4);2372char4 __ovld __cnfn convert_char4_sat_rte(ushort4);2373char4 __ovld __cnfn convert_char4_rtz(ushort4);2374char4 __ovld __cnfn convert_char4_sat_rtz(ushort4);2375char4 __ovld __cnfn convert_char4_rtp(ushort4);2376char4 __ovld __cnfn convert_char4_sat_rtp(ushort4);2377char4 __ovld __cnfn convert_char4_rtn(ushort4);2378char4 __ovld __cnfn convert_char4_sat_rtn(ushort4);2379char4 __ovld __cnfn convert_char4(ushort4);2380char4 __ovld __cnfn convert_char4_sat(ushort4);2381char4 __ovld __cnfn convert_char4_rte(int4);2382char4 __ovld __cnfn convert_char4_sat_rte(int4);2383char4 __ovld __cnfn convert_char4_rtz(int4);2384char4 __ovld __cnfn convert_char4_sat_rtz(int4);2385char4 __ovld __cnfn convert_char4_rtp(int4);2386char4 __ovld __cnfn convert_char4_sat_rtp(int4);2387char4 __ovld __cnfn convert_char4_rtn(int4);2388char4 __ovld __cnfn convert_char4_sat_rtn(int4);2389char4 __ovld __cnfn convert_char4(int4);2390char4 __ovld __cnfn convert_char4_sat(int4);2391char4 __ovld __cnfn convert_char4_rte(uint4);2392char4 __ovld __cnfn convert_char4_sat_rte(uint4);2393char4 __ovld __cnfn convert_char4_rtz(uint4);2394char4 __ovld __cnfn convert_char4_sat_rtz(uint4);2395char4 __ovld __cnfn convert_char4_rtp(uint4);2396char4 __ovld __cnfn convert_char4_sat_rtp(uint4);2397char4 __ovld __cnfn convert_char4_rtn(uint4);2398char4 __ovld __cnfn convert_char4_sat_rtn(uint4);2399char4 __ovld __cnfn convert_char4(uint4);2400char4 __ovld __cnfn convert_char4_sat(uint4);2401char4 __ovld __cnfn convert_char4_rte(long4);2402char4 __ovld __cnfn convert_char4_sat_rte(long4);2403char4 __ovld __cnfn convert_char4_rtz(long4);2404char4 __ovld __cnfn convert_char4_sat_rtz(long4);2405char4 __ovld __cnfn convert_char4_rtp(long4);2406char4 __ovld __cnfn convert_char4_sat_rtp(long4);2407char4 __ovld __cnfn convert_char4_rtn(long4);2408char4 __ovld __cnfn convert_char4_sat_rtn(long4);2409char4 __ovld __cnfn convert_char4(long4);2410char4 __ovld __cnfn convert_char4_sat(long4);2411char4 __ovld __cnfn convert_char4_rte(ulong4);2412char4 __ovld __cnfn convert_char4_sat_rte(ulong4);2413char4 __ovld __cnfn convert_char4_rtz(ulong4);2414char4 __ovld __cnfn convert_char4_sat_rtz(ulong4);2415char4 __ovld __cnfn convert_char4_rtp(ulong4);2416char4 __ovld __cnfn convert_char4_sat_rtp(ulong4);2417char4 __ovld __cnfn convert_char4_rtn(ulong4);2418char4 __ovld __cnfn convert_char4_sat_rtn(ulong4);2419char4 __ovld __cnfn convert_char4(ulong4);2420char4 __ovld __cnfn convert_char4_sat(ulong4);2421char4 __ovld __cnfn convert_char4_rte(float4);2422char4 __ovld __cnfn convert_char4_sat_rte(float4);2423char4 __ovld __cnfn convert_char4_rtz(float4);2424char4 __ovld __cnfn convert_char4_sat_rtz(float4);2425char4 __ovld __cnfn convert_char4_rtp(float4);2426char4 __ovld __cnfn convert_char4_sat_rtp(float4);2427char4 __ovld __cnfn convert_char4_rtn(float4);2428char4 __ovld __cnfn convert_char4_sat_rtn(float4);2429char4 __ovld __cnfn convert_char4(float4);2430char4 __ovld __cnfn convert_char4_sat(float4);2431uchar4 __ovld __cnfn convert_uchar4_rte(char4);2432uchar4 __ovld __cnfn convert_uchar4_sat_rte(char4);2433uchar4 __ovld __cnfn convert_uchar4_rtz(char4);2434uchar4 __ovld __cnfn convert_uchar4_sat_rtz(char4);2435uchar4 __ovld __cnfn convert_uchar4_rtp(char4);2436uchar4 __ovld __cnfn convert_uchar4_sat_rtp(char4);2437uchar4 __ovld __cnfn convert_uchar4_rtn(char4);2438uchar4 __ovld __cnfn convert_uchar4_sat_rtn(char4);2439uchar4 __ovld __cnfn convert_uchar4(char4);2440uchar4 __ovld __cnfn convert_uchar4_sat(char4);2441uchar4 __ovld __cnfn convert_uchar4_rte(uchar4);2442uchar4 __ovld __cnfn convert_uchar4_sat_rte(uchar4);2443uchar4 __ovld __cnfn convert_uchar4_rtz(uchar4);2444uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uchar4);2445uchar4 __ovld __cnfn convert_uchar4_rtp(uchar4);2446uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uchar4);2447uchar4 __ovld __cnfn convert_uchar4_rtn(uchar4);2448uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uchar4);2449uchar4 __ovld __cnfn convert_uchar4(uchar4);2450uchar4 __ovld __cnfn convert_uchar4_sat(uchar4);2451uchar4 __ovld __cnfn convert_uchar4_rte(short4);2452uchar4 __ovld __cnfn convert_uchar4_sat_rte(short4);2453uchar4 __ovld __cnfn convert_uchar4_rtz(short4);2454uchar4 __ovld __cnfn convert_uchar4_sat_rtz(short4);2455uchar4 __ovld __cnfn convert_uchar4_rtp(short4);2456uchar4 __ovld __cnfn convert_uchar4_sat_rtp(short4);2457uchar4 __ovld __cnfn convert_uchar4_rtn(short4);2458uchar4 __ovld __cnfn convert_uchar4_sat_rtn(short4);2459uchar4 __ovld __cnfn convert_uchar4(short4);2460uchar4 __ovld __cnfn convert_uchar4_sat(short4);2461uchar4 __ovld __cnfn convert_uchar4_rte(ushort4);2462uchar4 __ovld __cnfn convert_uchar4_sat_rte(ushort4);2463uchar4 __ovld __cnfn convert_uchar4_rtz(ushort4);2464uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ushort4);2465uchar4 __ovld __cnfn convert_uchar4_rtp(ushort4);2466uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ushort4);2467uchar4 __ovld __cnfn convert_uchar4_rtn(ushort4);2468uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ushort4);2469uchar4 __ovld __cnfn convert_uchar4(ushort4);2470uchar4 __ovld __cnfn convert_uchar4_sat(ushort4);2471uchar4 __ovld __cnfn convert_uchar4_rte(int4);2472uchar4 __ovld __cnfn convert_uchar4_sat_rte(int4);2473uchar4 __ovld __cnfn convert_uchar4_rtz(int4);2474uchar4 __ovld __cnfn convert_uchar4_sat_rtz(int4);2475uchar4 __ovld __cnfn convert_uchar4_rtp(int4);2476uchar4 __ovld __cnfn convert_uchar4_sat_rtp(int4);2477uchar4 __ovld __cnfn convert_uchar4_rtn(int4);2478uchar4 __ovld __cnfn convert_uchar4_sat_rtn(int4);2479uchar4 __ovld __cnfn convert_uchar4(int4);2480uchar4 __ovld __cnfn convert_uchar4_sat(int4);2481uchar4 __ovld __cnfn convert_uchar4_rte(uint4);2482uchar4 __ovld __cnfn convert_uchar4_sat_rte(uint4);2483uchar4 __ovld __cnfn convert_uchar4_rtz(uint4);2484uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uint4);2485uchar4 __ovld __cnfn convert_uchar4_rtp(uint4);2486uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uint4);2487uchar4 __ovld __cnfn convert_uchar4_rtn(uint4);2488uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uint4);2489uchar4 __ovld __cnfn convert_uchar4(uint4);2490uchar4 __ovld __cnfn convert_uchar4_sat(uint4);2491uchar4 __ovld __cnfn convert_uchar4_rte(long4);2492uchar4 __ovld __cnfn convert_uchar4_sat_rte(long4);2493uchar4 __ovld __cnfn convert_uchar4_rtz(long4);2494uchar4 __ovld __cnfn convert_uchar4_sat_rtz(long4);2495uchar4 __ovld __cnfn convert_uchar4_rtp(long4);2496uchar4 __ovld __cnfn convert_uchar4_sat_rtp(long4);2497uchar4 __ovld __cnfn convert_uchar4_rtn(long4);2498uchar4 __ovld __cnfn convert_uchar4_sat_rtn(long4);2499uchar4 __ovld __cnfn convert_uchar4(long4);2500uchar4 __ovld __cnfn convert_uchar4_sat(long4);2501uchar4 __ovld __cnfn convert_uchar4_rte(ulong4);2502uchar4 __ovld __cnfn convert_uchar4_sat_rte(ulong4);2503uchar4 __ovld __cnfn convert_uchar4_rtz(ulong4);2504uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ulong4);2505uchar4 __ovld __cnfn convert_uchar4_rtp(ulong4);2506uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ulong4);2507uchar4 __ovld __cnfn convert_uchar4_rtn(ulong4);2508uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ulong4);2509uchar4 __ovld __cnfn convert_uchar4(ulong4);2510uchar4 __ovld __cnfn convert_uchar4_sat(ulong4);2511uchar4 __ovld __cnfn convert_uchar4_rte(float4);2512uchar4 __ovld __cnfn convert_uchar4_sat_rte(float4);2513uchar4 __ovld __cnfn convert_uchar4_rtz(float4);2514uchar4 __ovld __cnfn convert_uchar4_sat_rtz(float4);2515uchar4 __ovld __cnfn convert_uchar4_rtp(float4);2516uchar4 __ovld __cnfn convert_uchar4_sat_rtp(float4);2517uchar4 __ovld __cnfn convert_uchar4_rtn(float4);2518uchar4 __ovld __cnfn convert_uchar4_sat_rtn(float4);2519uchar4 __ovld __cnfn convert_uchar4(float4);2520uchar4 __ovld __cnfn convert_uchar4_sat(float4);2521short4 __ovld __cnfn convert_short4_rte(char4);2522short4 __ovld __cnfn convert_short4_sat_rte(char4);2523short4 __ovld __cnfn convert_short4_rtz(char4);2524short4 __ovld __cnfn convert_short4_sat_rtz(char4);2525short4 __ovld __cnfn convert_short4_rtp(char4);2526short4 __ovld __cnfn convert_short4_sat_rtp(char4);2527short4 __ovld __cnfn convert_short4_rtn(char4);2528short4 __ovld __cnfn convert_short4_sat_rtn(char4);2529short4 __ovld __cnfn convert_short4(char4);2530short4 __ovld __cnfn convert_short4_sat(char4);2531short4 __ovld __cnfn convert_short4_rte(uchar4);2532short4 __ovld __cnfn convert_short4_sat_rte(uchar4);2533short4 __ovld __cnfn convert_short4_rtz(uchar4);2534short4 __ovld __cnfn convert_short4_sat_rtz(uchar4);2535short4 __ovld __cnfn convert_short4_rtp(uchar4);2536short4 __ovld __cnfn convert_short4_sat_rtp(uchar4);2537short4 __ovld __cnfn convert_short4_rtn(uchar4);2538short4 __ovld __cnfn convert_short4_sat_rtn(uchar4);2539short4 __ovld __cnfn convert_short4(uchar4);2540short4 __ovld __cnfn convert_short4_sat(uchar4);2541short4 __ovld __cnfn convert_short4_rte(short4);2542short4 __ovld __cnfn convert_short4_sat_rte(short4);2543short4 __ovld __cnfn convert_short4_rtz(short4);2544short4 __ovld __cnfn convert_short4_sat_rtz(short4);2545short4 __ovld __cnfn convert_short4_rtp(short4);2546short4 __ovld __cnfn convert_short4_sat_rtp(short4);2547short4 __ovld __cnfn convert_short4_rtn(short4);2548short4 __ovld __cnfn convert_short4_sat_rtn(short4);2549short4 __ovld __cnfn convert_short4(short4);2550short4 __ovld __cnfn convert_short4_sat(short4);2551short4 __ovld __cnfn convert_short4_rte(ushort4);2552short4 __ovld __cnfn convert_short4_sat_rte(ushort4);2553short4 __ovld __cnfn convert_short4_rtz(ushort4);2554short4 __ovld __cnfn convert_short4_sat_rtz(ushort4);2555short4 __ovld __cnfn convert_short4_rtp(ushort4);2556short4 __ovld __cnfn convert_short4_sat_rtp(ushort4);2557short4 __ovld __cnfn convert_short4_rtn(ushort4);2558short4 __ovld __cnfn convert_short4_sat_rtn(ushort4);2559short4 __ovld __cnfn convert_short4(ushort4);2560short4 __ovld __cnfn convert_short4_sat(ushort4);2561short4 __ovld __cnfn convert_short4_rte(int4);2562short4 __ovld __cnfn convert_short4_sat_rte(int4);2563short4 __ovld __cnfn convert_short4_rtz(int4);2564short4 __ovld __cnfn convert_short4_sat_rtz(int4);2565short4 __ovld __cnfn convert_short4_rtp(int4);2566short4 __ovld __cnfn convert_short4_sat_rtp(int4);2567short4 __ovld __cnfn convert_short4_rtn(int4);2568short4 __ovld __cnfn convert_short4_sat_rtn(int4);2569short4 __ovld __cnfn convert_short4(int4);2570short4 __ovld __cnfn convert_short4_sat(int4);2571short4 __ovld __cnfn convert_short4_rte(uint4);2572short4 __ovld __cnfn convert_short4_sat_rte(uint4);2573short4 __ovld __cnfn convert_short4_rtz(uint4);2574short4 __ovld __cnfn convert_short4_sat_rtz(uint4);2575short4 __ovld __cnfn convert_short4_rtp(uint4);2576short4 __ovld __cnfn convert_short4_sat_rtp(uint4);2577short4 __ovld __cnfn convert_short4_rtn(uint4);2578short4 __ovld __cnfn convert_short4_sat_rtn(uint4);2579short4 __ovld __cnfn convert_short4(uint4);2580short4 __ovld __cnfn convert_short4_sat(uint4);2581short4 __ovld __cnfn convert_short4_rte(long4);2582short4 __ovld __cnfn convert_short4_sat_rte(long4);2583short4 __ovld __cnfn convert_short4_rtz(long4);2584short4 __ovld __cnfn convert_short4_sat_rtz(long4);2585short4 __ovld __cnfn convert_short4_rtp(long4);2586short4 __ovld __cnfn convert_short4_sat_rtp(long4);2587short4 __ovld __cnfn convert_short4_rtn(long4);2588short4 __ovld __cnfn convert_short4_sat_rtn(long4);2589short4 __ovld __cnfn convert_short4(long4);2590short4 __ovld __cnfn convert_short4_sat(long4);2591short4 __ovld __cnfn convert_short4_rte(ulong4);2592short4 __ovld __cnfn convert_short4_sat_rte(ulong4);2593short4 __ovld __cnfn convert_short4_rtz(ulong4);2594short4 __ovld __cnfn convert_short4_sat_rtz(ulong4);2595short4 __ovld __cnfn convert_short4_rtp(ulong4);2596short4 __ovld __cnfn convert_short4_sat_rtp(ulong4);2597short4 __ovld __cnfn convert_short4_rtn(ulong4);2598short4 __ovld __cnfn convert_short4_sat_rtn(ulong4);2599short4 __ovld __cnfn convert_short4(ulong4);2600short4 __ovld __cnfn convert_short4_sat(ulong4);2601short4 __ovld __cnfn convert_short4_rte(float4);2602short4 __ovld __cnfn convert_short4_sat_rte(float4);2603short4 __ovld __cnfn convert_short4_rtz(float4);2604short4 __ovld __cnfn convert_short4_sat_rtz(float4);2605short4 __ovld __cnfn convert_short4_rtp(float4);2606short4 __ovld __cnfn convert_short4_sat_rtp(float4);2607short4 __ovld __cnfn convert_short4_rtn(float4);2608short4 __ovld __cnfn convert_short4_sat_rtn(float4);2609short4 __ovld __cnfn convert_short4(float4);2610short4 __ovld __cnfn convert_short4_sat(float4);2611ushort4 __ovld __cnfn convert_ushort4_rte(char4);2612ushort4 __ovld __cnfn convert_ushort4_sat_rte(char4);2613ushort4 __ovld __cnfn convert_ushort4_rtz(char4);2614ushort4 __ovld __cnfn convert_ushort4_sat_rtz(char4);2615ushort4 __ovld __cnfn convert_ushort4_rtp(char4);2616ushort4 __ovld __cnfn convert_ushort4_sat_rtp(char4);2617ushort4 __ovld __cnfn convert_ushort4_rtn(char4);2618ushort4 __ovld __cnfn convert_ushort4_sat_rtn(char4);2619ushort4 __ovld __cnfn convert_ushort4(char4);2620ushort4 __ovld __cnfn convert_ushort4_sat(char4);2621ushort4 __ovld __cnfn convert_ushort4_rte(uchar4);2622ushort4 __ovld __cnfn convert_ushort4_sat_rte(uchar4);2623ushort4 __ovld __cnfn convert_ushort4_rtz(uchar4);2624ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uchar4);2625ushort4 __ovld __cnfn convert_ushort4_rtp(uchar4);2626ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uchar4);2627ushort4 __ovld __cnfn convert_ushort4_rtn(uchar4);2628ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uchar4);2629ushort4 __ovld __cnfn convert_ushort4(uchar4);2630ushort4 __ovld __cnfn convert_ushort4_sat(uchar4);2631ushort4 __ovld __cnfn convert_ushort4_rte(short4);2632ushort4 __ovld __cnfn convert_ushort4_sat_rte(short4);2633ushort4 __ovld __cnfn convert_ushort4_rtz(short4);2634ushort4 __ovld __cnfn convert_ushort4_sat_rtz(short4);2635ushort4 __ovld __cnfn convert_ushort4_rtp(short4);2636ushort4 __ovld __cnfn convert_ushort4_sat_rtp(short4);2637ushort4 __ovld __cnfn convert_ushort4_rtn(short4);2638ushort4 __ovld __cnfn convert_ushort4_sat_rtn(short4);2639ushort4 __ovld __cnfn convert_ushort4(short4);2640ushort4 __ovld __cnfn convert_ushort4_sat(short4);2641ushort4 __ovld __cnfn convert_ushort4_rte(ushort4);2642ushort4 __ovld __cnfn convert_ushort4_sat_rte(ushort4);2643ushort4 __ovld __cnfn convert_ushort4_rtz(ushort4);2644ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ushort4);2645ushort4 __ovld __cnfn convert_ushort4_rtp(ushort4);2646ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ushort4);2647ushort4 __ovld __cnfn convert_ushort4_rtn(ushort4);2648ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ushort4);2649ushort4 __ovld __cnfn convert_ushort4(ushort4);2650ushort4 __ovld __cnfn convert_ushort4_sat(ushort4);2651ushort4 __ovld __cnfn convert_ushort4_rte(int4);2652ushort4 __ovld __cnfn convert_ushort4_sat_rte(int4);2653ushort4 __ovld __cnfn convert_ushort4_rtz(int4);2654ushort4 __ovld __cnfn convert_ushort4_sat_rtz(int4);2655ushort4 __ovld __cnfn convert_ushort4_rtp(int4);2656ushort4 __ovld __cnfn convert_ushort4_sat_rtp(int4);2657ushort4 __ovld __cnfn convert_ushort4_rtn(int4);2658ushort4 __ovld __cnfn convert_ushort4_sat_rtn(int4);2659ushort4 __ovld __cnfn convert_ushort4(int4);2660ushort4 __ovld __cnfn convert_ushort4_sat(int4);2661ushort4 __ovld __cnfn convert_ushort4_rte(uint4);2662ushort4 __ovld __cnfn convert_ushort4_sat_rte(uint4);2663ushort4 __ovld __cnfn convert_ushort4_rtz(uint4);2664ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uint4);2665ushort4 __ovld __cnfn convert_ushort4_rtp(uint4);2666ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uint4);2667ushort4 __ovld __cnfn convert_ushort4_rtn(uint4);2668ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uint4);2669ushort4 __ovld __cnfn convert_ushort4(uint4);2670ushort4 __ovld __cnfn convert_ushort4_sat(uint4);2671ushort4 __ovld __cnfn convert_ushort4_rte(long4);2672ushort4 __ovld __cnfn convert_ushort4_sat_rte(long4);2673ushort4 __ovld __cnfn convert_ushort4_rtz(long4);2674ushort4 __ovld __cnfn convert_ushort4_sat_rtz(long4);2675ushort4 __ovld __cnfn convert_ushort4_rtp(long4);2676ushort4 __ovld __cnfn convert_ushort4_sat_rtp(long4);2677ushort4 __ovld __cnfn convert_ushort4_rtn(long4);2678ushort4 __ovld __cnfn convert_ushort4_sat_rtn(long4);2679ushort4 __ovld __cnfn convert_ushort4(long4);2680ushort4 __ovld __cnfn convert_ushort4_sat(long4);2681ushort4 __ovld __cnfn convert_ushort4_rte(ulong4);2682ushort4 __ovld __cnfn convert_ushort4_sat_rte(ulong4);2683ushort4 __ovld __cnfn convert_ushort4_rtz(ulong4);2684ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ulong4);2685ushort4 __ovld __cnfn convert_ushort4_rtp(ulong4);2686ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ulong4);2687ushort4 __ovld __cnfn convert_ushort4_rtn(ulong4);2688ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ulong4);2689ushort4 __ovld __cnfn convert_ushort4(ulong4);2690ushort4 __ovld __cnfn convert_ushort4_sat(ulong4);2691ushort4 __ovld __cnfn convert_ushort4_rte(float4);2692ushort4 __ovld __cnfn convert_ushort4_sat_rte(float4);2693ushort4 __ovld __cnfn convert_ushort4_rtz(float4);2694ushort4 __ovld __cnfn convert_ushort4_sat_rtz(float4);2695ushort4 __ovld __cnfn convert_ushort4_rtp(float4);2696ushort4 __ovld __cnfn convert_ushort4_sat_rtp(float4);2697ushort4 __ovld __cnfn convert_ushort4_rtn(float4);2698ushort4 __ovld __cnfn convert_ushort4_sat_rtn(float4);2699ushort4 __ovld __cnfn convert_ushort4(float4);2700ushort4 __ovld __cnfn convert_ushort4_sat(float4);2701int4 __ovld __cnfn convert_int4_rte(char4);2702int4 __ovld __cnfn convert_int4_sat_rte(char4);2703int4 __ovld __cnfn convert_int4_rtz(char4);2704int4 __ovld __cnfn convert_int4_sat_rtz(char4);2705int4 __ovld __cnfn convert_int4_rtp(char4);2706int4 __ovld __cnfn convert_int4_sat_rtp(char4);2707int4 __ovld __cnfn convert_int4_rtn(char4);2708int4 __ovld __cnfn convert_int4_sat_rtn(char4);2709int4 __ovld __cnfn convert_int4(char4);2710int4 __ovld __cnfn convert_int4_sat(char4);2711int4 __ovld __cnfn convert_int4_rte(uchar4);2712int4 __ovld __cnfn convert_int4_sat_rte(uchar4);2713int4 __ovld __cnfn convert_int4_rtz(uchar4);2714int4 __ovld __cnfn convert_int4_sat_rtz(uchar4);2715int4 __ovld __cnfn convert_int4_rtp(uchar4);2716int4 __ovld __cnfn convert_int4_sat_rtp(uchar4);2717int4 __ovld __cnfn convert_int4_rtn(uchar4);2718int4 __ovld __cnfn convert_int4_sat_rtn(uchar4);2719int4 __ovld __cnfn convert_int4(uchar4);2720int4 __ovld __cnfn convert_int4_sat(uchar4);2721int4 __ovld __cnfn convert_int4_rte(short4);2722int4 __ovld __cnfn convert_int4_sat_rte(short4);2723int4 __ovld __cnfn convert_int4_rtz(short4);2724int4 __ovld __cnfn convert_int4_sat_rtz(short4);2725int4 __ovld __cnfn convert_int4_rtp(short4);2726int4 __ovld __cnfn convert_int4_sat_rtp(short4);2727int4 __ovld __cnfn convert_int4_rtn(short4);2728int4 __ovld __cnfn convert_int4_sat_rtn(short4);2729int4 __ovld __cnfn convert_int4(short4);2730int4 __ovld __cnfn convert_int4_sat(short4);2731int4 __ovld __cnfn convert_int4_rte(ushort4);2732int4 __ovld __cnfn convert_int4_sat_rte(ushort4);2733int4 __ovld __cnfn convert_int4_rtz(ushort4);2734int4 __ovld __cnfn convert_int4_sat_rtz(ushort4);2735int4 __ovld __cnfn convert_int4_rtp(ushort4);2736int4 __ovld __cnfn convert_int4_sat_rtp(ushort4);2737int4 __ovld __cnfn convert_int4_rtn(ushort4);2738int4 __ovld __cnfn convert_int4_sat_rtn(ushort4);2739int4 __ovld __cnfn convert_int4(ushort4);2740int4 __ovld __cnfn convert_int4_sat(ushort4);2741int4 __ovld __cnfn convert_int4_rte(int4);2742int4 __ovld __cnfn convert_int4_sat_rte(int4);2743int4 __ovld __cnfn convert_int4_rtz(int4);2744int4 __ovld __cnfn convert_int4_sat_rtz(int4);2745int4 __ovld __cnfn convert_int4_rtp(int4);2746int4 __ovld __cnfn convert_int4_sat_rtp(int4);2747int4 __ovld __cnfn convert_int4_rtn(int4);2748int4 __ovld __cnfn convert_int4_sat_rtn(int4);2749int4 __ovld __cnfn convert_int4(int4);2750int4 __ovld __cnfn convert_int4_sat(int4);2751int4 __ovld __cnfn convert_int4_rte(uint4);2752int4 __ovld __cnfn convert_int4_sat_rte(uint4);2753int4 __ovld __cnfn convert_int4_rtz(uint4);2754int4 __ovld __cnfn convert_int4_sat_rtz(uint4);2755int4 __ovld __cnfn convert_int4_rtp(uint4);2756int4 __ovld __cnfn convert_int4_sat_rtp(uint4);2757int4 __ovld __cnfn convert_int4_rtn(uint4);2758int4 __ovld __cnfn convert_int4_sat_rtn(uint4);2759int4 __ovld __cnfn convert_int4(uint4);2760int4 __ovld __cnfn convert_int4_sat(uint4);2761int4 __ovld __cnfn convert_int4_rte(long4);2762int4 __ovld __cnfn convert_int4_sat_rte(long4);2763int4 __ovld __cnfn convert_int4_rtz(long4);2764int4 __ovld __cnfn convert_int4_sat_rtz(long4);2765int4 __ovld __cnfn convert_int4_rtp(long4);2766int4 __ovld __cnfn convert_int4_sat_rtp(long4);2767int4 __ovld __cnfn convert_int4_rtn(long4);2768int4 __ovld __cnfn convert_int4_sat_rtn(long4);2769int4 __ovld __cnfn convert_int4(long4);2770int4 __ovld __cnfn convert_int4_sat(long4);2771int4 __ovld __cnfn convert_int4_rte(ulong4);2772int4 __ovld __cnfn convert_int4_sat_rte(ulong4);2773int4 __ovld __cnfn convert_int4_rtz(ulong4);2774int4 __ovld __cnfn convert_int4_sat_rtz(ulong4);2775int4 __ovld __cnfn convert_int4_rtp(ulong4);2776int4 __ovld __cnfn convert_int4_sat_rtp(ulong4);2777int4 __ovld __cnfn convert_int4_rtn(ulong4);2778int4 __ovld __cnfn convert_int4_sat_rtn(ulong4);2779int4 __ovld __cnfn convert_int4(ulong4);2780int4 __ovld __cnfn convert_int4_sat(ulong4);2781int4 __ovld __cnfn convert_int4_rte(float4);2782int4 __ovld __cnfn convert_int4_sat_rte(float4);2783int4 __ovld __cnfn convert_int4_rtz(float4);2784int4 __ovld __cnfn convert_int4_sat_rtz(float4);2785int4 __ovld __cnfn convert_int4_rtp(float4);2786int4 __ovld __cnfn convert_int4_sat_rtp(float4);2787int4 __ovld __cnfn convert_int4_rtn(float4);2788int4 __ovld __cnfn convert_int4_sat_rtn(float4);2789int4 __ovld __cnfn convert_int4(float4);2790int4 __ovld __cnfn convert_int4_sat(float4);2791uint4 __ovld __cnfn convert_uint4_rte(char4);2792uint4 __ovld __cnfn convert_uint4_sat_rte(char4);2793uint4 __ovld __cnfn convert_uint4_rtz(char4);2794uint4 __ovld __cnfn convert_uint4_sat_rtz(char4);2795uint4 __ovld __cnfn convert_uint4_rtp(char4);2796uint4 __ovld __cnfn convert_uint4_sat_rtp(char4);2797uint4 __ovld __cnfn convert_uint4_rtn(char4);2798uint4 __ovld __cnfn convert_uint4_sat_rtn(char4);2799uint4 __ovld __cnfn convert_uint4(char4);2800uint4 __ovld __cnfn convert_uint4_sat(char4);2801uint4 __ovld __cnfn convert_uint4_rte(uchar4);2802uint4 __ovld __cnfn convert_uint4_sat_rte(uchar4);2803uint4 __ovld __cnfn convert_uint4_rtz(uchar4);2804uint4 __ovld __cnfn convert_uint4_sat_rtz(uchar4);2805uint4 __ovld __cnfn convert_uint4_rtp(uchar4);2806uint4 __ovld __cnfn convert_uint4_sat_rtp(uchar4);2807uint4 __ovld __cnfn convert_uint4_rtn(uchar4);2808uint4 __ovld __cnfn convert_uint4_sat_rtn(uchar4);2809uint4 __ovld __cnfn convert_uint4(uchar4);2810uint4 __ovld __cnfn convert_uint4_sat(uchar4);2811uint4 __ovld __cnfn convert_uint4_rte(short4);2812uint4 __ovld __cnfn convert_uint4_sat_rte(short4);2813uint4 __ovld __cnfn convert_uint4_rtz(short4);2814uint4 __ovld __cnfn convert_uint4_sat_rtz(short4);2815uint4 __ovld __cnfn convert_uint4_rtp(short4);2816uint4 __ovld __cnfn convert_uint4_sat_rtp(short4);2817uint4 __ovld __cnfn convert_uint4_rtn(short4);2818uint4 __ovld __cnfn convert_uint4_sat_rtn(short4);2819uint4 __ovld __cnfn convert_uint4(short4);2820uint4 __ovld __cnfn convert_uint4_sat(short4);2821uint4 __ovld __cnfn convert_uint4_rte(ushort4);2822uint4 __ovld __cnfn convert_uint4_sat_rte(ushort4);2823uint4 __ovld __cnfn convert_uint4_rtz(ushort4);2824uint4 __ovld __cnfn convert_uint4_sat_rtz(ushort4);2825uint4 __ovld __cnfn convert_uint4_rtp(ushort4);2826uint4 __ovld __cnfn convert_uint4_sat_rtp(ushort4);2827uint4 __ovld __cnfn convert_uint4_rtn(ushort4);2828uint4 __ovld __cnfn convert_uint4_sat_rtn(ushort4);2829uint4 __ovld __cnfn convert_uint4(ushort4);2830uint4 __ovld __cnfn convert_uint4_sat(ushort4);2831uint4 __ovld __cnfn convert_uint4_rte(int4);2832uint4 __ovld __cnfn convert_uint4_sat_rte(int4);2833uint4 __ovld __cnfn convert_uint4_rtz(int4);2834uint4 __ovld __cnfn convert_uint4_sat_rtz(int4);2835uint4 __ovld __cnfn convert_uint4_rtp(int4);2836uint4 __ovld __cnfn convert_uint4_sat_rtp(int4);2837uint4 __ovld __cnfn convert_uint4_rtn(int4);2838uint4 __ovld __cnfn convert_uint4_sat_rtn(int4);2839uint4 __ovld __cnfn convert_uint4(int4);2840uint4 __ovld __cnfn convert_uint4_sat(int4);2841uint4 __ovld __cnfn convert_uint4_rte(uint4);2842uint4 __ovld __cnfn convert_uint4_sat_rte(uint4);2843uint4 __ovld __cnfn convert_uint4_rtz(uint4);2844uint4 __ovld __cnfn convert_uint4_sat_rtz(uint4);2845uint4 __ovld __cnfn convert_uint4_rtp(uint4);2846uint4 __ovld __cnfn convert_uint4_sat_rtp(uint4);2847uint4 __ovld __cnfn convert_uint4_rtn(uint4);2848uint4 __ovld __cnfn convert_uint4_sat_rtn(uint4);2849uint4 __ovld __cnfn convert_uint4(uint4);2850uint4 __ovld __cnfn convert_uint4_sat(uint4);2851uint4 __ovld __cnfn convert_uint4_rte(long4);2852uint4 __ovld __cnfn convert_uint4_sat_rte(long4);2853uint4 __ovld __cnfn convert_uint4_rtz(long4);2854uint4 __ovld __cnfn convert_uint4_sat_rtz(long4);2855uint4 __ovld __cnfn convert_uint4_rtp(long4);2856uint4 __ovld __cnfn convert_uint4_sat_rtp(long4);2857uint4 __ovld __cnfn convert_uint4_rtn(long4);2858uint4 __ovld __cnfn convert_uint4_sat_rtn(long4);2859uint4 __ovld __cnfn convert_uint4(long4);2860uint4 __ovld __cnfn convert_uint4_sat(long4);2861uint4 __ovld __cnfn convert_uint4_rte(ulong4);2862uint4 __ovld __cnfn convert_uint4_sat_rte(ulong4);2863uint4 __ovld __cnfn convert_uint4_rtz(ulong4);2864uint4 __ovld __cnfn convert_uint4_sat_rtz(ulong4);2865uint4 __ovld __cnfn convert_uint4_rtp(ulong4);2866uint4 __ovld __cnfn convert_uint4_sat_rtp(ulong4);2867uint4 __ovld __cnfn convert_uint4_rtn(ulong4);2868uint4 __ovld __cnfn convert_uint4_sat_rtn(ulong4);2869uint4 __ovld __cnfn convert_uint4(ulong4);2870uint4 __ovld __cnfn convert_uint4_sat(ulong4);2871uint4 __ovld __cnfn convert_uint4_rte(float4);2872uint4 __ovld __cnfn convert_uint4_sat_rte(float4);2873uint4 __ovld __cnfn convert_uint4_rtz(float4);2874uint4 __ovld __cnfn convert_uint4_sat_rtz(float4);2875uint4 __ovld __cnfn convert_uint4_rtp(float4);2876uint4 __ovld __cnfn convert_uint4_sat_rtp(float4);2877uint4 __ovld __cnfn convert_uint4_rtn(float4);2878uint4 __ovld __cnfn convert_uint4_sat_rtn(float4);2879uint4 __ovld __cnfn convert_uint4(float4);2880uint4 __ovld __cnfn convert_uint4_sat(float4);2881long4 __ovld __cnfn convert_long4_rte(char4);2882long4 __ovld __cnfn convert_long4_sat_rte(char4);2883long4 __ovld __cnfn convert_long4_rtz(char4);2884long4 __ovld __cnfn convert_long4_sat_rtz(char4);2885long4 __ovld __cnfn convert_long4_rtp(char4);2886long4 __ovld __cnfn convert_long4_sat_rtp(char4);2887long4 __ovld __cnfn convert_long4_rtn(char4);2888long4 __ovld __cnfn convert_long4_sat_rtn(char4);2889long4 __ovld __cnfn convert_long4(char4);2890long4 __ovld __cnfn convert_long4_sat(char4);2891long4 __ovld __cnfn convert_long4_rte(uchar4);2892long4 __ovld __cnfn convert_long4_sat_rte(uchar4);2893long4 __ovld __cnfn convert_long4_rtz(uchar4);2894long4 __ovld __cnfn convert_long4_sat_rtz(uchar4);2895long4 __ovld __cnfn convert_long4_rtp(uchar4);2896long4 __ovld __cnfn convert_long4_sat_rtp(uchar4);2897long4 __ovld __cnfn convert_long4_rtn(uchar4);2898long4 __ovld __cnfn convert_long4_sat_rtn(uchar4);2899long4 __ovld __cnfn convert_long4(uchar4);2900long4 __ovld __cnfn convert_long4_sat(uchar4);2901long4 __ovld __cnfn convert_long4_rte(short4);2902long4 __ovld __cnfn convert_long4_sat_rte(short4);2903long4 __ovld __cnfn convert_long4_rtz(short4);2904long4 __ovld __cnfn convert_long4_sat_rtz(short4);2905long4 __ovld __cnfn convert_long4_rtp(short4);2906long4 __ovld __cnfn convert_long4_sat_rtp(short4);2907long4 __ovld __cnfn convert_long4_rtn(short4);2908long4 __ovld __cnfn convert_long4_sat_rtn(short4);2909long4 __ovld __cnfn convert_long4(short4);2910long4 __ovld __cnfn convert_long4_sat(short4);2911long4 __ovld __cnfn convert_long4_rte(ushort4);2912long4 __ovld __cnfn convert_long4_sat_rte(ushort4);2913long4 __ovld __cnfn convert_long4_rtz(ushort4);2914long4 __ovld __cnfn convert_long4_sat_rtz(ushort4);2915long4 __ovld __cnfn convert_long4_rtp(ushort4);2916long4 __ovld __cnfn convert_long4_sat_rtp(ushort4);2917long4 __ovld __cnfn convert_long4_rtn(ushort4);2918long4 __ovld __cnfn convert_long4_sat_rtn(ushort4);2919long4 __ovld __cnfn convert_long4(ushort4);2920long4 __ovld __cnfn convert_long4_sat(ushort4);2921long4 __ovld __cnfn convert_long4_rte(int4);2922long4 __ovld __cnfn convert_long4_sat_rte(int4);2923long4 __ovld __cnfn convert_long4_rtz(int4);2924long4 __ovld __cnfn convert_long4_sat_rtz(int4);2925long4 __ovld __cnfn convert_long4_rtp(int4);2926long4 __ovld __cnfn convert_long4_sat_rtp(int4);2927long4 __ovld __cnfn convert_long4_rtn(int4);2928long4 __ovld __cnfn convert_long4_sat_rtn(int4);2929long4 __ovld __cnfn convert_long4(int4);2930long4 __ovld __cnfn convert_long4_sat(int4);2931long4 __ovld __cnfn convert_long4_rte(uint4);2932long4 __ovld __cnfn convert_long4_sat_rte(uint4);2933long4 __ovld __cnfn convert_long4_rtz(uint4);2934long4 __ovld __cnfn convert_long4_sat_rtz(uint4);2935long4 __ovld __cnfn convert_long4_rtp(uint4);2936long4 __ovld __cnfn convert_long4_sat_rtp(uint4);2937long4 __ovld __cnfn convert_long4_rtn(uint4);2938long4 __ovld __cnfn convert_long4_sat_rtn(uint4);2939long4 __ovld __cnfn convert_long4(uint4);2940long4 __ovld __cnfn convert_long4_sat(uint4);2941long4 __ovld __cnfn convert_long4_rte(long4);2942long4 __ovld __cnfn convert_long4_sat_rte(long4);2943long4 __ovld __cnfn convert_long4_rtz(long4);2944long4 __ovld __cnfn convert_long4_sat_rtz(long4);2945long4 __ovld __cnfn convert_long4_rtp(long4);2946long4 __ovld __cnfn convert_long4_sat_rtp(long4);2947long4 __ovld __cnfn convert_long4_rtn(long4);2948long4 __ovld __cnfn convert_long4_sat_rtn(long4);2949long4 __ovld __cnfn convert_long4(long4);2950long4 __ovld __cnfn convert_long4_sat(long4);2951long4 __ovld __cnfn convert_long4_rte(ulong4);2952long4 __ovld __cnfn convert_long4_sat_rte(ulong4);2953long4 __ovld __cnfn convert_long4_rtz(ulong4);2954long4 __ovld __cnfn convert_long4_sat_rtz(ulong4);2955long4 __ovld __cnfn convert_long4_rtp(ulong4);2956long4 __ovld __cnfn convert_long4_sat_rtp(ulong4);2957long4 __ovld __cnfn convert_long4_rtn(ulong4);2958long4 __ovld __cnfn convert_long4_sat_rtn(ulong4);2959long4 __ovld __cnfn convert_long4(ulong4);2960long4 __ovld __cnfn convert_long4_sat(ulong4);2961long4 __ovld __cnfn convert_long4_rte(float4);2962long4 __ovld __cnfn convert_long4_sat_rte(float4);2963long4 __ovld __cnfn convert_long4_rtz(float4);2964long4 __ovld __cnfn convert_long4_sat_rtz(float4);2965long4 __ovld __cnfn convert_long4_rtp(float4);2966long4 __ovld __cnfn convert_long4_sat_rtp(float4);2967long4 __ovld __cnfn convert_long4_rtn(float4);2968long4 __ovld __cnfn convert_long4_sat_rtn(float4);2969long4 __ovld __cnfn convert_long4(float4);2970long4 __ovld __cnfn convert_long4_sat(float4);2971ulong4 __ovld __cnfn convert_ulong4_rte(char4);2972ulong4 __ovld __cnfn convert_ulong4_sat_rte(char4);2973ulong4 __ovld __cnfn convert_ulong4_rtz(char4);2974ulong4 __ovld __cnfn convert_ulong4_sat_rtz(char4);2975ulong4 __ovld __cnfn convert_ulong4_rtp(char4);2976ulong4 __ovld __cnfn convert_ulong4_sat_rtp(char4);2977ulong4 __ovld __cnfn convert_ulong4_rtn(char4);2978ulong4 __ovld __cnfn convert_ulong4_sat_rtn(char4);2979ulong4 __ovld __cnfn convert_ulong4(char4);2980ulong4 __ovld __cnfn convert_ulong4_sat(char4);2981ulong4 __ovld __cnfn convert_ulong4_rte(uchar4);2982ulong4 __ovld __cnfn convert_ulong4_sat_rte(uchar4);2983ulong4 __ovld __cnfn convert_ulong4_rtz(uchar4);2984ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uchar4);2985ulong4 __ovld __cnfn convert_ulong4_rtp(uchar4);2986ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uchar4);2987ulong4 __ovld __cnfn convert_ulong4_rtn(uchar4);2988ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uchar4);2989ulong4 __ovld __cnfn convert_ulong4(uchar4);2990ulong4 __ovld __cnfn convert_ulong4_sat(uchar4);2991ulong4 __ovld __cnfn convert_ulong4_rte(short4);2992ulong4 __ovld __cnfn convert_ulong4_sat_rte(short4);2993ulong4 __ovld __cnfn convert_ulong4_rtz(short4);2994ulong4 __ovld __cnfn convert_ulong4_sat_rtz(short4);2995ulong4 __ovld __cnfn convert_ulong4_rtp(short4);2996ulong4 __ovld __cnfn convert_ulong4_sat_rtp(short4);2997ulong4 __ovld __cnfn convert_ulong4_rtn(short4);2998ulong4 __ovld __cnfn convert_ulong4_sat_rtn(short4);2999ulong4 __ovld __cnfn convert_ulong4(short4);3000ulong4 __ovld __cnfn convert_ulong4_sat(short4);3001ulong4 __ovld __cnfn convert_ulong4_rte(ushort4);3002ulong4 __ovld __cnfn convert_ulong4_sat_rte(ushort4);3003ulong4 __ovld __cnfn convert_ulong4_rtz(ushort4);3004ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ushort4);3005ulong4 __ovld __cnfn convert_ulong4_rtp(ushort4);3006ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ushort4);3007ulong4 __ovld __cnfn convert_ulong4_rtn(ushort4);3008ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ushort4);3009ulong4 __ovld __cnfn convert_ulong4(ushort4);3010ulong4 __ovld __cnfn convert_ulong4_sat(ushort4);3011ulong4 __ovld __cnfn convert_ulong4_rte(int4);3012ulong4 __ovld __cnfn convert_ulong4_sat_rte(int4);3013ulong4 __ovld __cnfn convert_ulong4_rtz(int4);3014ulong4 __ovld __cnfn convert_ulong4_sat_rtz(int4);3015ulong4 __ovld __cnfn convert_ulong4_rtp(int4);3016ulong4 __ovld __cnfn convert_ulong4_sat_rtp(int4);3017ulong4 __ovld __cnfn convert_ulong4_rtn(int4);3018ulong4 __ovld __cnfn convert_ulong4_sat_rtn(int4);3019ulong4 __ovld __cnfn convert_ulong4(int4);3020ulong4 __ovld __cnfn convert_ulong4_sat(int4);3021ulong4 __ovld __cnfn convert_ulong4_rte(uint4);3022ulong4 __ovld __cnfn convert_ulong4_sat_rte(uint4);3023ulong4 __ovld __cnfn convert_ulong4_rtz(uint4);3024ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uint4);3025ulong4 __ovld __cnfn convert_ulong4_rtp(uint4);3026ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uint4);3027ulong4 __ovld __cnfn convert_ulong4_rtn(uint4);3028ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uint4);3029ulong4 __ovld __cnfn convert_ulong4(uint4);3030ulong4 __ovld __cnfn convert_ulong4_sat(uint4);3031ulong4 __ovld __cnfn convert_ulong4_rte(long4);3032ulong4 __ovld __cnfn convert_ulong4_sat_rte(long4);3033ulong4 __ovld __cnfn convert_ulong4_rtz(long4);3034ulong4 __ovld __cnfn convert_ulong4_sat_rtz(long4);3035ulong4 __ovld __cnfn convert_ulong4_rtp(long4);3036ulong4 __ovld __cnfn convert_ulong4_sat_rtp(long4);3037ulong4 __ovld __cnfn convert_ulong4_rtn(long4);3038ulong4 __ovld __cnfn convert_ulong4_sat_rtn(long4);3039ulong4 __ovld __cnfn convert_ulong4(long4);3040ulong4 __ovld __cnfn convert_ulong4_sat(long4);3041ulong4 __ovld __cnfn convert_ulong4_rte(ulong4);3042ulong4 __ovld __cnfn convert_ulong4_sat_rte(ulong4);3043ulong4 __ovld __cnfn convert_ulong4_rtz(ulong4);3044ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ulong4);3045ulong4 __ovld __cnfn convert_ulong4_rtp(ulong4);3046ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ulong4);3047ulong4 __ovld __cnfn convert_ulong4_rtn(ulong4);3048ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ulong4);3049ulong4 __ovld __cnfn convert_ulong4(ulong4);3050ulong4 __ovld __cnfn convert_ulong4_sat(ulong4);3051ulong4 __ovld __cnfn convert_ulong4_rte(float4);3052ulong4 __ovld __cnfn convert_ulong4_sat_rte(float4);3053ulong4 __ovld __cnfn convert_ulong4_rtz(float4);3054ulong4 __ovld __cnfn convert_ulong4_sat_rtz(float4);3055ulong4 __ovld __cnfn convert_ulong4_rtp(float4);3056ulong4 __ovld __cnfn convert_ulong4_sat_rtp(float4);3057ulong4 __ovld __cnfn convert_ulong4_rtn(float4);3058ulong4 __ovld __cnfn convert_ulong4_sat_rtn(float4);3059ulong4 __ovld __cnfn convert_ulong4(float4);3060ulong4 __ovld __cnfn convert_ulong4_sat(float4);3061float4 __ovld __cnfn convert_float4_rte(char4);3062float4 __ovld __cnfn convert_float4_rtz(char4);3063float4 __ovld __cnfn convert_float4_rtp(char4);3064float4 __ovld __cnfn convert_float4_rtn(char4);3065float4 __ovld __cnfn convert_float4(char4);3066float4 __ovld __cnfn convert_float4_rte(uchar4);3067float4 __ovld __cnfn convert_float4_rtz(uchar4);3068float4 __ovld __cnfn convert_float4_rtp(uchar4);3069float4 __ovld __cnfn convert_float4_rtn(uchar4);3070float4 __ovld __cnfn convert_float4(uchar4);3071float4 __ovld __cnfn convert_float4_rte(short4);3072float4 __ovld __cnfn convert_float4_rtz(short4);3073float4 __ovld __cnfn convert_float4_rtp(short4);3074float4 __ovld __cnfn convert_float4_rtn(short4);3075float4 __ovld __cnfn convert_float4(short4);3076float4 __ovld __cnfn convert_float4_rte(ushort4);3077float4 __ovld __cnfn convert_float4_rtz(ushort4);3078float4 __ovld __cnfn convert_float4_rtp(ushort4);3079float4 __ovld __cnfn convert_float4_rtn(ushort4);3080float4 __ovld __cnfn convert_float4(ushort4);3081float4 __ovld __cnfn convert_float4_rte(int4);3082float4 __ovld __cnfn convert_float4_rtz(int4);3083float4 __ovld __cnfn convert_float4_rtp(int4);3084float4 __ovld __cnfn convert_float4_rtn(int4);3085float4 __ovld __cnfn convert_float4(int4);3086float4 __ovld __cnfn convert_float4_rte(uint4);3087float4 __ovld __cnfn convert_float4_rtz(uint4);3088float4 __ovld __cnfn convert_float4_rtp(uint4);3089float4 __ovld __cnfn convert_float4_rtn(uint4);3090float4 __ovld __cnfn convert_float4(uint4);3091float4 __ovld __cnfn convert_float4_rte(long4);3092float4 __ovld __cnfn convert_float4_rtz(long4);3093float4 __ovld __cnfn convert_float4_rtp(long4);3094float4 __ovld __cnfn convert_float4_rtn(long4);3095float4 __ovld __cnfn convert_float4(long4);3096float4 __ovld __cnfn convert_float4_rte(ulong4);3097float4 __ovld __cnfn convert_float4_rtz(ulong4);3098float4 __ovld __cnfn convert_float4_rtp(ulong4);3099float4 __ovld __cnfn convert_float4_rtn(ulong4);3100float4 __ovld __cnfn convert_float4(ulong4);3101float4 __ovld __cnfn convert_float4_rte(float4);3102float4 __ovld __cnfn convert_float4_rtz(float4);3103float4 __ovld __cnfn convert_float4_rtp(float4);3104float4 __ovld __cnfn convert_float4_rtn(float4);3105float4 __ovld __cnfn convert_float4(float4);3106char8 __ovld __cnfn convert_char8_rte(char8);3107char8 __ovld __cnfn convert_char8_sat_rte(char8);3108char8 __ovld __cnfn convert_char8_rtz(char8);3109char8 __ovld __cnfn convert_char8_sat_rtz(char8);3110char8 __ovld __cnfn convert_char8_rtp(char8);3111char8 __ovld __cnfn convert_char8_sat_rtp(char8);3112char8 __ovld __cnfn convert_char8_rtn(char8);3113char8 __ovld __cnfn convert_char8_sat_rtn(char8);3114char8 __ovld __cnfn convert_char8(char8);3115char8 __ovld __cnfn convert_char8_sat(char8);3116char8 __ovld __cnfn convert_char8_rte(uchar8);3117char8 __ovld __cnfn convert_char8_sat_rte(uchar8);3118char8 __ovld __cnfn convert_char8_rtz(uchar8);3119char8 __ovld __cnfn convert_char8_sat_rtz(uchar8);3120char8 __ovld __cnfn convert_char8_rtp(uchar8);3121char8 __ovld __cnfn convert_char8_sat_rtp(uchar8);3122char8 __ovld __cnfn convert_char8_rtn(uchar8);3123char8 __ovld __cnfn convert_char8_sat_rtn(uchar8);3124char8 __ovld __cnfn convert_char8(uchar8);3125char8 __ovld __cnfn convert_char8_sat(uchar8);3126char8 __ovld __cnfn convert_char8_rte(short8);3127char8 __ovld __cnfn convert_char8_sat_rte(short8);3128char8 __ovld __cnfn convert_char8_rtz(short8);3129char8 __ovld __cnfn convert_char8_sat_rtz(short8);3130char8 __ovld __cnfn convert_char8_rtp(short8);3131char8 __ovld __cnfn convert_char8_sat_rtp(short8);3132char8 __ovld __cnfn convert_char8_rtn(short8);3133char8 __ovld __cnfn convert_char8_sat_rtn(short8);3134char8 __ovld __cnfn convert_char8(short8);3135char8 __ovld __cnfn convert_char8_sat(short8);3136char8 __ovld __cnfn convert_char8_rte(ushort8);3137char8 __ovld __cnfn convert_char8_sat_rte(ushort8);3138char8 __ovld __cnfn convert_char8_rtz(ushort8);3139char8 __ovld __cnfn convert_char8_sat_rtz(ushort8);3140char8 __ovld __cnfn convert_char8_rtp(ushort8);3141char8 __ovld __cnfn convert_char8_sat_rtp(ushort8);3142char8 __ovld __cnfn convert_char8_rtn(ushort8);3143char8 __ovld __cnfn convert_char8_sat_rtn(ushort8);3144char8 __ovld __cnfn convert_char8(ushort8);3145char8 __ovld __cnfn convert_char8_sat(ushort8);3146char8 __ovld __cnfn convert_char8_rte(int8);3147char8 __ovld __cnfn convert_char8_sat_rte(int8);3148char8 __ovld __cnfn convert_char8_rtz(int8);3149char8 __ovld __cnfn convert_char8_sat_rtz(int8);3150char8 __ovld __cnfn convert_char8_rtp(int8);3151char8 __ovld __cnfn convert_char8_sat_rtp(int8);3152char8 __ovld __cnfn convert_char8_rtn(int8);3153char8 __ovld __cnfn convert_char8_sat_rtn(int8);3154char8 __ovld __cnfn convert_char8(int8);3155char8 __ovld __cnfn convert_char8_sat(int8);3156char8 __ovld __cnfn convert_char8_rte(uint8);3157char8 __ovld __cnfn convert_char8_sat_rte(uint8);3158char8 __ovld __cnfn convert_char8_rtz(uint8);3159char8 __ovld __cnfn convert_char8_sat_rtz(uint8);3160char8 __ovld __cnfn convert_char8_rtp(uint8);3161char8 __ovld __cnfn convert_char8_sat_rtp(uint8);3162char8 __ovld __cnfn convert_char8_rtn(uint8);3163char8 __ovld __cnfn convert_char8_sat_rtn(uint8);3164char8 __ovld __cnfn convert_char8(uint8);3165char8 __ovld __cnfn convert_char8_sat(uint8);3166char8 __ovld __cnfn convert_char8_rte(long8);3167char8 __ovld __cnfn convert_char8_sat_rte(long8);3168char8 __ovld __cnfn convert_char8_rtz(long8);3169char8 __ovld __cnfn convert_char8_sat_rtz(long8);3170char8 __ovld __cnfn convert_char8_rtp(long8);3171char8 __ovld __cnfn convert_char8_sat_rtp(long8);3172char8 __ovld __cnfn convert_char8_rtn(long8);3173char8 __ovld __cnfn convert_char8_sat_rtn(long8);3174char8 __ovld __cnfn convert_char8(long8);3175char8 __ovld __cnfn convert_char8_sat(long8);3176char8 __ovld __cnfn convert_char8_rte(ulong8);3177char8 __ovld __cnfn convert_char8_sat_rte(ulong8);3178char8 __ovld __cnfn convert_char8_rtz(ulong8);3179char8 __ovld __cnfn convert_char8_sat_rtz(ulong8);3180char8 __ovld __cnfn convert_char8_rtp(ulong8);3181char8 __ovld __cnfn convert_char8_sat_rtp(ulong8);3182char8 __ovld __cnfn convert_char8_rtn(ulong8);3183char8 __ovld __cnfn convert_char8_sat_rtn(ulong8);3184char8 __ovld __cnfn convert_char8(ulong8);3185char8 __ovld __cnfn convert_char8_sat(ulong8);3186char8 __ovld __cnfn convert_char8_rte(float8);3187char8 __ovld __cnfn convert_char8_sat_rte(float8);3188char8 __ovld __cnfn convert_char8_rtz(float8);3189char8 __ovld __cnfn convert_char8_sat_rtz(float8);3190char8 __ovld __cnfn convert_char8_rtp(float8);3191char8 __ovld __cnfn convert_char8_sat_rtp(float8);3192char8 __ovld __cnfn convert_char8_rtn(float8);3193char8 __ovld __cnfn convert_char8_sat_rtn(float8);3194char8 __ovld __cnfn convert_char8(float8);3195char8 __ovld __cnfn convert_char8_sat(float8);3196uchar8 __ovld __cnfn convert_uchar8_rte(char8);3197uchar8 __ovld __cnfn convert_uchar8_sat_rte(char8);3198uchar8 __ovld __cnfn convert_uchar8_rtz(char8);3199uchar8 __ovld __cnfn convert_uchar8_sat_rtz(char8);3200uchar8 __ovld __cnfn convert_uchar8_rtp(char8);3201uchar8 __ovld __cnfn convert_uchar8_sat_rtp(char8);3202uchar8 __ovld __cnfn convert_uchar8_rtn(char8);3203uchar8 __ovld __cnfn convert_uchar8_sat_rtn(char8);3204uchar8 __ovld __cnfn convert_uchar8(char8);3205uchar8 __ovld __cnfn convert_uchar8_sat(char8);3206uchar8 __ovld __cnfn convert_uchar8_rte(uchar8);3207uchar8 __ovld __cnfn convert_uchar8_sat_rte(uchar8);3208uchar8 __ovld __cnfn convert_uchar8_rtz(uchar8);3209uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uchar8);3210uchar8 __ovld __cnfn convert_uchar8_rtp(uchar8);3211uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uchar8);3212uchar8 __ovld __cnfn convert_uchar8_rtn(uchar8);3213uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uchar8);3214uchar8 __ovld __cnfn convert_uchar8(uchar8);3215uchar8 __ovld __cnfn convert_uchar8_sat(uchar8);3216uchar8 __ovld __cnfn convert_uchar8_rte(short8);3217uchar8 __ovld __cnfn convert_uchar8_sat_rte(short8);3218uchar8 __ovld __cnfn convert_uchar8_rtz(short8);3219uchar8 __ovld __cnfn convert_uchar8_sat_rtz(short8);3220uchar8 __ovld __cnfn convert_uchar8_rtp(short8);3221uchar8 __ovld __cnfn convert_uchar8_sat_rtp(short8);3222uchar8 __ovld __cnfn convert_uchar8_rtn(short8);3223uchar8 __ovld __cnfn convert_uchar8_sat_rtn(short8);3224uchar8 __ovld __cnfn convert_uchar8(short8);3225uchar8 __ovld __cnfn convert_uchar8_sat(short8);3226uchar8 __ovld __cnfn convert_uchar8_rte(ushort8);3227uchar8 __ovld __cnfn convert_uchar8_sat_rte(ushort8);3228uchar8 __ovld __cnfn convert_uchar8_rtz(ushort8);3229uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ushort8);3230uchar8 __ovld __cnfn convert_uchar8_rtp(ushort8);3231uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ushort8);3232uchar8 __ovld __cnfn convert_uchar8_rtn(ushort8);3233uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ushort8);3234uchar8 __ovld __cnfn convert_uchar8(ushort8);3235uchar8 __ovld __cnfn convert_uchar8_sat(ushort8);3236uchar8 __ovld __cnfn convert_uchar8_rte(int8);3237uchar8 __ovld __cnfn convert_uchar8_sat_rte(int8);3238uchar8 __ovld __cnfn convert_uchar8_rtz(int8);3239uchar8 __ovld __cnfn convert_uchar8_sat_rtz(int8);3240uchar8 __ovld __cnfn convert_uchar8_rtp(int8);3241uchar8 __ovld __cnfn convert_uchar8_sat_rtp(int8);3242uchar8 __ovld __cnfn convert_uchar8_rtn(int8);3243uchar8 __ovld __cnfn convert_uchar8_sat_rtn(int8);3244uchar8 __ovld __cnfn convert_uchar8(int8);3245uchar8 __ovld __cnfn convert_uchar8_sat(int8);3246uchar8 __ovld __cnfn convert_uchar8_rte(uint8);3247uchar8 __ovld __cnfn convert_uchar8_sat_rte(uint8);3248uchar8 __ovld __cnfn convert_uchar8_rtz(uint8);3249uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uint8);3250uchar8 __ovld __cnfn convert_uchar8_rtp(uint8);3251uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uint8);3252uchar8 __ovld __cnfn convert_uchar8_rtn(uint8);3253uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uint8);3254uchar8 __ovld __cnfn convert_uchar8(uint8);3255uchar8 __ovld __cnfn convert_uchar8_sat(uint8);3256uchar8 __ovld __cnfn convert_uchar8_rte(long8);3257uchar8 __ovld __cnfn convert_uchar8_sat_rte(long8);3258uchar8 __ovld __cnfn convert_uchar8_rtz(long8);3259uchar8 __ovld __cnfn convert_uchar8_sat_rtz(long8);3260uchar8 __ovld __cnfn convert_uchar8_rtp(long8);3261uchar8 __ovld __cnfn convert_uchar8_sat_rtp(long8);3262uchar8 __ovld __cnfn convert_uchar8_rtn(long8);3263uchar8 __ovld __cnfn convert_uchar8_sat_rtn(long8);3264uchar8 __ovld __cnfn convert_uchar8(long8);3265uchar8 __ovld __cnfn convert_uchar8_sat(long8);3266uchar8 __ovld __cnfn convert_uchar8_rte(ulong8);3267uchar8 __ovld __cnfn convert_uchar8_sat_rte(ulong8);3268uchar8 __ovld __cnfn convert_uchar8_rtz(ulong8);3269uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ulong8);3270uchar8 __ovld __cnfn convert_uchar8_rtp(ulong8);3271uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ulong8);3272uchar8 __ovld __cnfn convert_uchar8_rtn(ulong8);3273uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ulong8);3274uchar8 __ovld __cnfn convert_uchar8(ulong8);3275uchar8 __ovld __cnfn convert_uchar8_sat(ulong8);3276uchar8 __ovld __cnfn convert_uchar8_rte(float8);3277uchar8 __ovld __cnfn convert_uchar8_sat_rte(float8);3278uchar8 __ovld __cnfn convert_uchar8_rtz(float8);3279uchar8 __ovld __cnfn convert_uchar8_sat_rtz(float8);3280uchar8 __ovld __cnfn convert_uchar8_rtp(float8);3281uchar8 __ovld __cnfn convert_uchar8_sat_rtp(float8);3282uchar8 __ovld __cnfn convert_uchar8_rtn(float8);3283uchar8 __ovld __cnfn convert_uchar8_sat_rtn(float8);3284uchar8 __ovld __cnfn convert_uchar8(float8);3285uchar8 __ovld __cnfn convert_uchar8_sat(float8);3286short8 __ovld __cnfn convert_short8_rte(char8);3287short8 __ovld __cnfn convert_short8_sat_rte(char8);3288short8 __ovld __cnfn convert_short8_rtz(char8);3289short8 __ovld __cnfn convert_short8_sat_rtz(char8);3290short8 __ovld __cnfn convert_short8_rtp(char8);3291short8 __ovld __cnfn convert_short8_sat_rtp(char8);3292short8 __ovld __cnfn convert_short8_rtn(char8);3293short8 __ovld __cnfn convert_short8_sat_rtn(char8);3294short8 __ovld __cnfn convert_short8(char8);3295short8 __ovld __cnfn convert_short8_sat(char8);3296short8 __ovld __cnfn convert_short8_rte(uchar8);3297short8 __ovld __cnfn convert_short8_sat_rte(uchar8);3298short8 __ovld __cnfn convert_short8_rtz(uchar8);3299short8 __ovld __cnfn convert_short8_sat_rtz(uchar8);3300short8 __ovld __cnfn convert_short8_rtp(uchar8);3301short8 __ovld __cnfn convert_short8_sat_rtp(uchar8);3302short8 __ovld __cnfn convert_short8_rtn(uchar8);3303short8 __ovld __cnfn convert_short8_sat_rtn(uchar8);3304short8 __ovld __cnfn convert_short8(uchar8);3305short8 __ovld __cnfn convert_short8_sat(uchar8);3306short8 __ovld __cnfn convert_short8_rte(short8);3307short8 __ovld __cnfn convert_short8_sat_rte(short8);3308short8 __ovld __cnfn convert_short8_rtz(short8);3309short8 __ovld __cnfn convert_short8_sat_rtz(short8);3310short8 __ovld __cnfn convert_short8_rtp(short8);3311short8 __ovld __cnfn convert_short8_sat_rtp(short8);3312short8 __ovld __cnfn convert_short8_rtn(short8);3313short8 __ovld __cnfn convert_short8_sat_rtn(short8);3314short8 __ovld __cnfn convert_short8(short8);3315short8 __ovld __cnfn convert_short8_sat(short8);3316short8 __ovld __cnfn convert_short8_rte(ushort8);3317short8 __ovld __cnfn convert_short8_sat_rte(ushort8);3318short8 __ovld __cnfn convert_short8_rtz(ushort8);3319short8 __ovld __cnfn convert_short8_sat_rtz(ushort8);3320short8 __ovld __cnfn convert_short8_rtp(ushort8);3321short8 __ovld __cnfn convert_short8_sat_rtp(ushort8);3322short8 __ovld __cnfn convert_short8_rtn(ushort8);3323short8 __ovld __cnfn convert_short8_sat_rtn(ushort8);3324short8 __ovld __cnfn convert_short8(ushort8);3325short8 __ovld __cnfn convert_short8_sat(ushort8);3326short8 __ovld __cnfn convert_short8_rte(int8);3327short8 __ovld __cnfn convert_short8_sat_rte(int8);3328short8 __ovld __cnfn convert_short8_rtz(int8);3329short8 __ovld __cnfn convert_short8_sat_rtz(int8);3330short8 __ovld __cnfn convert_short8_rtp(int8);3331short8 __ovld __cnfn convert_short8_sat_rtp(int8);3332short8 __ovld __cnfn convert_short8_rtn(int8);3333short8 __ovld __cnfn convert_short8_sat_rtn(int8);3334short8 __ovld __cnfn convert_short8(int8);3335short8 __ovld __cnfn convert_short8_sat(int8);3336short8 __ovld __cnfn convert_short8_rte(uint8);3337short8 __ovld __cnfn convert_short8_sat_rte(uint8);3338short8 __ovld __cnfn convert_short8_rtz(uint8);3339short8 __ovld __cnfn convert_short8_sat_rtz(uint8);3340short8 __ovld __cnfn convert_short8_rtp(uint8);3341short8 __ovld __cnfn convert_short8_sat_rtp(uint8);3342short8 __ovld __cnfn convert_short8_rtn(uint8);3343short8 __ovld __cnfn convert_short8_sat_rtn(uint8);3344short8 __ovld __cnfn convert_short8(uint8);3345short8 __ovld __cnfn convert_short8_sat(uint8);3346short8 __ovld __cnfn convert_short8_rte(long8);3347short8 __ovld __cnfn convert_short8_sat_rte(long8);3348short8 __ovld __cnfn convert_short8_rtz(long8);3349short8 __ovld __cnfn convert_short8_sat_rtz(long8);3350short8 __ovld __cnfn convert_short8_rtp(long8);3351short8 __ovld __cnfn convert_short8_sat_rtp(long8);3352short8 __ovld __cnfn convert_short8_rtn(long8);3353short8 __ovld __cnfn convert_short8_sat_rtn(long8);3354short8 __ovld __cnfn convert_short8(long8);3355short8 __ovld __cnfn convert_short8_sat(long8);3356short8 __ovld __cnfn convert_short8_rte(ulong8);3357short8 __ovld __cnfn convert_short8_sat_rte(ulong8);3358short8 __ovld __cnfn convert_short8_rtz(ulong8);3359short8 __ovld __cnfn convert_short8_sat_rtz(ulong8);3360short8 __ovld __cnfn convert_short8_rtp(ulong8);3361short8 __ovld __cnfn convert_short8_sat_rtp(ulong8);3362short8 __ovld __cnfn convert_short8_rtn(ulong8);3363short8 __ovld __cnfn convert_short8_sat_rtn(ulong8);3364short8 __ovld __cnfn convert_short8(ulong8);3365short8 __ovld __cnfn convert_short8_sat(ulong8);3366short8 __ovld __cnfn convert_short8_rte(float8);3367short8 __ovld __cnfn convert_short8_sat_rte(float8);3368short8 __ovld __cnfn convert_short8_rtz(float8);3369short8 __ovld __cnfn convert_short8_sat_rtz(float8);3370short8 __ovld __cnfn convert_short8_rtp(float8);3371short8 __ovld __cnfn convert_short8_sat_rtp(float8);3372short8 __ovld __cnfn convert_short8_rtn(float8);3373short8 __ovld __cnfn convert_short8_sat_rtn(float8);3374short8 __ovld __cnfn convert_short8(float8);3375short8 __ovld __cnfn convert_short8_sat(float8);3376ushort8 __ovld __cnfn convert_ushort8_rte(char8);3377ushort8 __ovld __cnfn convert_ushort8_sat_rte(char8);3378ushort8 __ovld __cnfn convert_ushort8_rtz(char8);3379ushort8 __ovld __cnfn convert_ushort8_sat_rtz(char8);3380ushort8 __ovld __cnfn convert_ushort8_rtp(char8);3381ushort8 __ovld __cnfn convert_ushort8_sat_rtp(char8);3382ushort8 __ovld __cnfn convert_ushort8_rtn(char8);3383ushort8 __ovld __cnfn convert_ushort8_sat_rtn(char8);3384ushort8 __ovld __cnfn convert_ushort8(char8);3385ushort8 __ovld __cnfn convert_ushort8_sat(char8);3386ushort8 __ovld __cnfn convert_ushort8_rte(uchar8);3387ushort8 __ovld __cnfn convert_ushort8_sat_rte(uchar8);3388ushort8 __ovld __cnfn convert_ushort8_rtz(uchar8);3389ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uchar8);3390ushort8 __ovld __cnfn convert_ushort8_rtp(uchar8);3391ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uchar8);3392ushort8 __ovld __cnfn convert_ushort8_rtn(uchar8);3393ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uchar8);3394ushort8 __ovld __cnfn convert_ushort8(uchar8);3395ushort8 __ovld __cnfn convert_ushort8_sat(uchar8);3396ushort8 __ovld __cnfn convert_ushort8_rte(short8);3397ushort8 __ovld __cnfn convert_ushort8_sat_rte(short8);3398ushort8 __ovld __cnfn convert_ushort8_rtz(short8);3399ushort8 __ovld __cnfn convert_ushort8_sat_rtz(short8);3400ushort8 __ovld __cnfn convert_ushort8_rtp(short8);3401ushort8 __ovld __cnfn convert_ushort8_sat_rtp(short8);3402ushort8 __ovld __cnfn convert_ushort8_rtn(short8);3403ushort8 __ovld __cnfn convert_ushort8_sat_rtn(short8);3404ushort8 __ovld __cnfn convert_ushort8(short8);3405ushort8 __ovld __cnfn convert_ushort8_sat(short8);3406ushort8 __ovld __cnfn convert_ushort8_rte(ushort8);3407ushort8 __ovld __cnfn convert_ushort8_sat_rte(ushort8);3408ushort8 __ovld __cnfn convert_ushort8_rtz(ushort8);3409ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ushort8);3410ushort8 __ovld __cnfn convert_ushort8_rtp(ushort8);3411ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ushort8);3412ushort8 __ovld __cnfn convert_ushort8_rtn(ushort8);3413ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ushort8);3414ushort8 __ovld __cnfn convert_ushort8(ushort8);3415ushort8 __ovld __cnfn convert_ushort8_sat(ushort8);3416ushort8 __ovld __cnfn convert_ushort8_rte(int8);3417ushort8 __ovld __cnfn convert_ushort8_sat_rte(int8);3418ushort8 __ovld __cnfn convert_ushort8_rtz(int8);3419ushort8 __ovld __cnfn convert_ushort8_sat_rtz(int8);3420ushort8 __ovld __cnfn convert_ushort8_rtp(int8);3421ushort8 __ovld __cnfn convert_ushort8_sat_rtp(int8);3422ushort8 __ovld __cnfn convert_ushort8_rtn(int8);3423ushort8 __ovld __cnfn convert_ushort8_sat_rtn(int8);3424ushort8 __ovld __cnfn convert_ushort8(int8);3425ushort8 __ovld __cnfn convert_ushort8_sat(int8);3426ushort8 __ovld __cnfn convert_ushort8_rte(uint8);3427ushort8 __ovld __cnfn convert_ushort8_sat_rte(uint8);3428ushort8 __ovld __cnfn convert_ushort8_rtz(uint8);3429ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uint8);3430ushort8 __ovld __cnfn convert_ushort8_rtp(uint8);3431ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uint8);3432ushort8 __ovld __cnfn convert_ushort8_rtn(uint8);3433ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uint8);3434ushort8 __ovld __cnfn convert_ushort8(uint8);3435ushort8 __ovld __cnfn convert_ushort8_sat(uint8);3436ushort8 __ovld __cnfn convert_ushort8_rte(long8);3437ushort8 __ovld __cnfn convert_ushort8_sat_rte(long8);3438ushort8 __ovld __cnfn convert_ushort8_rtz(long8);3439ushort8 __ovld __cnfn convert_ushort8_sat_rtz(long8);3440ushort8 __ovld __cnfn convert_ushort8_rtp(long8);3441ushort8 __ovld __cnfn convert_ushort8_sat_rtp(long8);3442ushort8 __ovld __cnfn convert_ushort8_rtn(long8);3443ushort8 __ovld __cnfn convert_ushort8_sat_rtn(long8);3444ushort8 __ovld __cnfn convert_ushort8(long8);3445ushort8 __ovld __cnfn convert_ushort8_sat(long8);3446ushort8 __ovld __cnfn convert_ushort8_rte(ulong8);3447ushort8 __ovld __cnfn convert_ushort8_sat_rte(ulong8);3448ushort8 __ovld __cnfn convert_ushort8_rtz(ulong8);3449ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ulong8);3450ushort8 __ovld __cnfn convert_ushort8_rtp(ulong8);3451ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ulong8);3452ushort8 __ovld __cnfn convert_ushort8_rtn(ulong8);3453ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ulong8);3454ushort8 __ovld __cnfn convert_ushort8(ulong8);3455ushort8 __ovld __cnfn convert_ushort8_sat(ulong8);3456ushort8 __ovld __cnfn convert_ushort8_rte(float8);3457ushort8 __ovld __cnfn convert_ushort8_sat_rte(float8);3458ushort8 __ovld __cnfn convert_ushort8_rtz(float8);3459ushort8 __ovld __cnfn convert_ushort8_sat_rtz(float8);3460ushort8 __ovld __cnfn convert_ushort8_rtp(float8);3461ushort8 __ovld __cnfn convert_ushort8_sat_rtp(float8);3462ushort8 __ovld __cnfn convert_ushort8_rtn(float8);3463ushort8 __ovld __cnfn convert_ushort8_sat_rtn(float8);3464ushort8 __ovld __cnfn convert_ushort8(float8);3465ushort8 __ovld __cnfn convert_ushort8_sat(float8);3466int8 __ovld __cnfn convert_int8_rte(char8);3467int8 __ovld __cnfn convert_int8_sat_rte(char8);3468int8 __ovld __cnfn convert_int8_rtz(char8);3469int8 __ovld __cnfn convert_int8_sat_rtz(char8);3470int8 __ovld __cnfn convert_int8_rtp(char8);3471int8 __ovld __cnfn convert_int8_sat_rtp(char8);3472int8 __ovld __cnfn convert_int8_rtn(char8);3473int8 __ovld __cnfn convert_int8_sat_rtn(char8);3474int8 __ovld __cnfn convert_int8(char8);3475int8 __ovld __cnfn convert_int8_sat(char8);3476int8 __ovld __cnfn convert_int8_rte(uchar8);3477int8 __ovld __cnfn convert_int8_sat_rte(uchar8);3478int8 __ovld __cnfn convert_int8_rtz(uchar8);3479int8 __ovld __cnfn convert_int8_sat_rtz(uchar8);3480int8 __ovld __cnfn convert_int8_rtp(uchar8);3481int8 __ovld __cnfn convert_int8_sat_rtp(uchar8);3482int8 __ovld __cnfn convert_int8_rtn(uchar8);3483int8 __ovld __cnfn convert_int8_sat_rtn(uchar8);3484int8 __ovld __cnfn convert_int8(uchar8);3485int8 __ovld __cnfn convert_int8_sat(uchar8);3486int8 __ovld __cnfn convert_int8_rte(short8);3487int8 __ovld __cnfn convert_int8_sat_rte(short8);3488int8 __ovld __cnfn convert_int8_rtz(short8);3489int8 __ovld __cnfn convert_int8_sat_rtz(short8);3490int8 __ovld __cnfn convert_int8_rtp(short8);3491int8 __ovld __cnfn convert_int8_sat_rtp(short8);3492int8 __ovld __cnfn convert_int8_rtn(short8);3493int8 __ovld __cnfn convert_int8_sat_rtn(short8);3494int8 __ovld __cnfn convert_int8(short8);3495int8 __ovld __cnfn convert_int8_sat(short8);3496int8 __ovld __cnfn convert_int8_rte(ushort8);3497int8 __ovld __cnfn convert_int8_sat_rte(ushort8);3498int8 __ovld __cnfn convert_int8_rtz(ushort8);3499int8 __ovld __cnfn convert_int8_sat_rtz(ushort8);3500int8 __ovld __cnfn convert_int8_rtp(ushort8);3501int8 __ovld __cnfn convert_int8_sat_rtp(ushort8);3502int8 __ovld __cnfn convert_int8_rtn(ushort8);3503int8 __ovld __cnfn convert_int8_sat_rtn(ushort8);3504int8 __ovld __cnfn convert_int8(ushort8);3505int8 __ovld __cnfn convert_int8_sat(ushort8);3506int8 __ovld __cnfn convert_int8_rte(int8);3507int8 __ovld __cnfn convert_int8_sat_rte(int8);3508int8 __ovld __cnfn convert_int8_rtz(int8);3509int8 __ovld __cnfn convert_int8_sat_rtz(int8);3510int8 __ovld __cnfn convert_int8_rtp(int8);3511int8 __ovld __cnfn convert_int8_sat_rtp(int8);3512int8 __ovld __cnfn convert_int8_rtn(int8);3513int8 __ovld __cnfn convert_int8_sat_rtn(int8);3514int8 __ovld __cnfn convert_int8(int8);3515int8 __ovld __cnfn convert_int8_sat(int8);3516int8 __ovld __cnfn convert_int8_rte(uint8);3517int8 __ovld __cnfn convert_int8_sat_rte(uint8);3518int8 __ovld __cnfn convert_int8_rtz(uint8);3519int8 __ovld __cnfn convert_int8_sat_rtz(uint8);3520int8 __ovld __cnfn convert_int8_rtp(uint8);3521int8 __ovld __cnfn convert_int8_sat_rtp(uint8);3522int8 __ovld __cnfn convert_int8_rtn(uint8);3523int8 __ovld __cnfn convert_int8_sat_rtn(uint8);3524int8 __ovld __cnfn convert_int8(uint8);3525int8 __ovld __cnfn convert_int8_sat(uint8);3526int8 __ovld __cnfn convert_int8_rte(long8);3527int8 __ovld __cnfn convert_int8_sat_rte(long8);3528int8 __ovld __cnfn convert_int8_rtz(long8);3529int8 __ovld __cnfn convert_int8_sat_rtz(long8);3530int8 __ovld __cnfn convert_int8_rtp(long8);3531int8 __ovld __cnfn convert_int8_sat_rtp(long8);3532int8 __ovld __cnfn convert_int8_rtn(long8);3533int8 __ovld __cnfn convert_int8_sat_rtn(long8);3534int8 __ovld __cnfn convert_int8(long8);3535int8 __ovld __cnfn convert_int8_sat(long8);3536int8 __ovld __cnfn convert_int8_rte(ulong8);3537int8 __ovld __cnfn convert_int8_sat_rte(ulong8);3538int8 __ovld __cnfn convert_int8_rtz(ulong8);3539int8 __ovld __cnfn convert_int8_sat_rtz(ulong8);3540int8 __ovld __cnfn convert_int8_rtp(ulong8);3541int8 __ovld __cnfn convert_int8_sat_rtp(ulong8);3542int8 __ovld __cnfn convert_int8_rtn(ulong8);3543int8 __ovld __cnfn convert_int8_sat_rtn(ulong8);3544int8 __ovld __cnfn convert_int8(ulong8);3545int8 __ovld __cnfn convert_int8_sat(ulong8);3546int8 __ovld __cnfn convert_int8_rte(float8);3547int8 __ovld __cnfn convert_int8_sat_rte(float8);3548int8 __ovld __cnfn convert_int8_rtz(float8);3549int8 __ovld __cnfn convert_int8_sat_rtz(float8);3550int8 __ovld __cnfn convert_int8_rtp(float8);3551int8 __ovld __cnfn convert_int8_sat_rtp(float8);3552int8 __ovld __cnfn convert_int8_rtn(float8);3553int8 __ovld __cnfn convert_int8_sat_rtn(float8);3554int8 __ovld __cnfn convert_int8(float8);3555int8 __ovld __cnfn convert_int8_sat(float8);3556uint8 __ovld __cnfn convert_uint8_rte(char8);3557uint8 __ovld __cnfn convert_uint8_sat_rte(char8);3558uint8 __ovld __cnfn convert_uint8_rtz(char8);3559uint8 __ovld __cnfn convert_uint8_sat_rtz(char8);3560uint8 __ovld __cnfn convert_uint8_rtp(char8);3561uint8 __ovld __cnfn convert_uint8_sat_rtp(char8);3562uint8 __ovld __cnfn convert_uint8_rtn(char8);3563uint8 __ovld __cnfn convert_uint8_sat_rtn(char8);3564uint8 __ovld __cnfn convert_uint8(char8);3565uint8 __ovld __cnfn convert_uint8_sat(char8);3566uint8 __ovld __cnfn convert_uint8_rte(uchar8);3567uint8 __ovld __cnfn convert_uint8_sat_rte(uchar8);3568uint8 __ovld __cnfn convert_uint8_rtz(uchar8);3569uint8 __ovld __cnfn convert_uint8_sat_rtz(uchar8);3570uint8 __ovld __cnfn convert_uint8_rtp(uchar8);3571uint8 __ovld __cnfn convert_uint8_sat_rtp(uchar8);3572uint8 __ovld __cnfn convert_uint8_rtn(uchar8);3573uint8 __ovld __cnfn convert_uint8_sat_rtn(uchar8);3574uint8 __ovld __cnfn convert_uint8(uchar8);3575uint8 __ovld __cnfn convert_uint8_sat(uchar8);3576uint8 __ovld __cnfn convert_uint8_rte(short8);3577uint8 __ovld __cnfn convert_uint8_sat_rte(short8);3578uint8 __ovld __cnfn convert_uint8_rtz(short8);3579uint8 __ovld __cnfn convert_uint8_sat_rtz(short8);3580uint8 __ovld __cnfn convert_uint8_rtp(short8);3581uint8 __ovld __cnfn convert_uint8_sat_rtp(short8);3582uint8 __ovld __cnfn convert_uint8_rtn(short8);3583uint8 __ovld __cnfn convert_uint8_sat_rtn(short8);3584uint8 __ovld __cnfn convert_uint8(short8);3585uint8 __ovld __cnfn convert_uint8_sat(short8);3586uint8 __ovld __cnfn convert_uint8_rte(ushort8);3587uint8 __ovld __cnfn convert_uint8_sat_rte(ushort8);3588uint8 __ovld __cnfn convert_uint8_rtz(ushort8);3589uint8 __ovld __cnfn convert_uint8_sat_rtz(ushort8);3590uint8 __ovld __cnfn convert_uint8_rtp(ushort8);3591uint8 __ovld __cnfn convert_uint8_sat_rtp(ushort8);3592uint8 __ovld __cnfn convert_uint8_rtn(ushort8);3593uint8 __ovld __cnfn convert_uint8_sat_rtn(ushort8);3594uint8 __ovld __cnfn convert_uint8(ushort8);3595uint8 __ovld __cnfn convert_uint8_sat(ushort8);3596uint8 __ovld __cnfn convert_uint8_rte(int8);3597uint8 __ovld __cnfn convert_uint8_sat_rte(int8);3598uint8 __ovld __cnfn convert_uint8_rtz(int8);3599uint8 __ovld __cnfn convert_uint8_sat_rtz(int8);3600uint8 __ovld __cnfn convert_uint8_rtp(int8);3601uint8 __ovld __cnfn convert_uint8_sat_rtp(int8);3602uint8 __ovld __cnfn convert_uint8_rtn(int8);3603uint8 __ovld __cnfn convert_uint8_sat_rtn(int8);3604uint8 __ovld __cnfn convert_uint8(int8);3605uint8 __ovld __cnfn convert_uint8_sat(int8);3606uint8 __ovld __cnfn convert_uint8_rte(uint8);3607uint8 __ovld __cnfn convert_uint8_sat_rte(uint8);3608uint8 __ovld __cnfn convert_uint8_rtz(uint8);3609uint8 __ovld __cnfn convert_uint8_sat_rtz(uint8);3610uint8 __ovld __cnfn convert_uint8_rtp(uint8);3611uint8 __ovld __cnfn convert_uint8_sat_rtp(uint8);3612uint8 __ovld __cnfn convert_uint8_rtn(uint8);3613uint8 __ovld __cnfn convert_uint8_sat_rtn(uint8);3614uint8 __ovld __cnfn convert_uint8(uint8);3615uint8 __ovld __cnfn convert_uint8_sat(uint8);3616uint8 __ovld __cnfn convert_uint8_rte(long8);3617uint8 __ovld __cnfn convert_uint8_sat_rte(long8);3618uint8 __ovld __cnfn convert_uint8_rtz(long8);3619uint8 __ovld __cnfn convert_uint8_sat_rtz(long8);3620uint8 __ovld __cnfn convert_uint8_rtp(long8);3621uint8 __ovld __cnfn convert_uint8_sat_rtp(long8);3622uint8 __ovld __cnfn convert_uint8_rtn(long8);3623uint8 __ovld __cnfn convert_uint8_sat_rtn(long8);3624uint8 __ovld __cnfn convert_uint8(long8);3625uint8 __ovld __cnfn convert_uint8_sat(long8);3626uint8 __ovld __cnfn convert_uint8_rte(ulong8);3627uint8 __ovld __cnfn convert_uint8_sat_rte(ulong8);3628uint8 __ovld __cnfn convert_uint8_rtz(ulong8);3629uint8 __ovld __cnfn convert_uint8_sat_rtz(ulong8);3630uint8 __ovld __cnfn convert_uint8_rtp(ulong8);3631uint8 __ovld __cnfn convert_uint8_sat_rtp(ulong8);3632uint8 __ovld __cnfn convert_uint8_rtn(ulong8);3633uint8 __ovld __cnfn convert_uint8_sat_rtn(ulong8);3634uint8 __ovld __cnfn convert_uint8(ulong8);3635uint8 __ovld __cnfn convert_uint8_sat(ulong8);3636uint8 __ovld __cnfn convert_uint8_rte(float8);3637uint8 __ovld __cnfn convert_uint8_sat_rte(float8);3638uint8 __ovld __cnfn convert_uint8_rtz(float8);3639uint8 __ovld __cnfn convert_uint8_sat_rtz(float8);3640uint8 __ovld __cnfn convert_uint8_rtp(float8);3641uint8 __ovld __cnfn convert_uint8_sat_rtp(float8);3642uint8 __ovld __cnfn convert_uint8_rtn(float8);3643uint8 __ovld __cnfn convert_uint8_sat_rtn(float8);3644uint8 __ovld __cnfn convert_uint8(float8);3645uint8 __ovld __cnfn convert_uint8_sat(float8);3646long8 __ovld __cnfn convert_long8_rte(char8);3647long8 __ovld __cnfn convert_long8_sat_rte(char8);3648long8 __ovld __cnfn convert_long8_rtz(char8);3649long8 __ovld __cnfn convert_long8_sat_rtz(char8);3650long8 __ovld __cnfn convert_long8_rtp(char8);3651long8 __ovld __cnfn convert_long8_sat_rtp(char8);3652long8 __ovld __cnfn convert_long8_rtn(char8);3653long8 __ovld __cnfn convert_long8_sat_rtn(char8);3654long8 __ovld __cnfn convert_long8(char8);3655long8 __ovld __cnfn convert_long8_sat(char8);3656long8 __ovld __cnfn convert_long8_rte(uchar8);3657long8 __ovld __cnfn convert_long8_sat_rte(uchar8);3658long8 __ovld __cnfn convert_long8_rtz(uchar8);3659long8 __ovld __cnfn convert_long8_sat_rtz(uchar8);3660long8 __ovld __cnfn convert_long8_rtp(uchar8);3661long8 __ovld __cnfn convert_long8_sat_rtp(uchar8);3662long8 __ovld __cnfn convert_long8_rtn(uchar8);3663long8 __ovld __cnfn convert_long8_sat_rtn(uchar8);3664long8 __ovld __cnfn convert_long8(uchar8);3665long8 __ovld __cnfn convert_long8_sat(uchar8);3666long8 __ovld __cnfn convert_long8_rte(short8);3667long8 __ovld __cnfn convert_long8_sat_rte(short8);3668long8 __ovld __cnfn convert_long8_rtz(short8);3669long8 __ovld __cnfn convert_long8_sat_rtz(short8);3670long8 __ovld __cnfn convert_long8_rtp(short8);3671long8 __ovld __cnfn convert_long8_sat_rtp(short8);3672long8 __ovld __cnfn convert_long8_rtn(short8);3673long8 __ovld __cnfn convert_long8_sat_rtn(short8);3674long8 __ovld __cnfn convert_long8(short8);3675long8 __ovld __cnfn convert_long8_sat(short8);3676long8 __ovld __cnfn convert_long8_rte(ushort8);3677long8 __ovld __cnfn convert_long8_sat_rte(ushort8);3678long8 __ovld __cnfn convert_long8_rtz(ushort8);3679long8 __ovld __cnfn convert_long8_sat_rtz(ushort8);3680long8 __ovld __cnfn convert_long8_rtp(ushort8);3681long8 __ovld __cnfn convert_long8_sat_rtp(ushort8);3682long8 __ovld __cnfn convert_long8_rtn(ushort8);3683long8 __ovld __cnfn convert_long8_sat_rtn(ushort8);3684long8 __ovld __cnfn convert_long8(ushort8);3685long8 __ovld __cnfn convert_long8_sat(ushort8);3686long8 __ovld __cnfn convert_long8_rte(int8);3687long8 __ovld __cnfn convert_long8_sat_rte(int8);3688long8 __ovld __cnfn convert_long8_rtz(int8);3689long8 __ovld __cnfn convert_long8_sat_rtz(int8);3690long8 __ovld __cnfn convert_long8_rtp(int8);3691long8 __ovld __cnfn convert_long8_sat_rtp(int8);3692long8 __ovld __cnfn convert_long8_rtn(int8);3693long8 __ovld __cnfn convert_long8_sat_rtn(int8);3694long8 __ovld __cnfn convert_long8(int8);3695long8 __ovld __cnfn convert_long8_sat(int8);3696long8 __ovld __cnfn convert_long8_rte(uint8);3697long8 __ovld __cnfn convert_long8_sat_rte(uint8);3698long8 __ovld __cnfn convert_long8_rtz(uint8);3699long8 __ovld __cnfn convert_long8_sat_rtz(uint8);3700long8 __ovld __cnfn convert_long8_rtp(uint8);3701long8 __ovld __cnfn convert_long8_sat_rtp(uint8);3702long8 __ovld __cnfn convert_long8_rtn(uint8);3703long8 __ovld __cnfn convert_long8_sat_rtn(uint8);3704long8 __ovld __cnfn convert_long8(uint8);3705long8 __ovld __cnfn convert_long8_sat(uint8);3706long8 __ovld __cnfn convert_long8_rte(long8);3707long8 __ovld __cnfn convert_long8_sat_rte(long8);3708long8 __ovld __cnfn convert_long8_rtz(long8);3709long8 __ovld __cnfn convert_long8_sat_rtz(long8);3710long8 __ovld __cnfn convert_long8_rtp(long8);3711long8 __ovld __cnfn convert_long8_sat_rtp(long8);3712long8 __ovld __cnfn convert_long8_rtn(long8);3713long8 __ovld __cnfn convert_long8_sat_rtn(long8);3714long8 __ovld __cnfn convert_long8(long8);3715long8 __ovld __cnfn convert_long8_sat(long8);3716long8 __ovld __cnfn convert_long8_rte(ulong8);3717long8 __ovld __cnfn convert_long8_sat_rte(ulong8);3718long8 __ovld __cnfn convert_long8_rtz(ulong8);3719long8 __ovld __cnfn convert_long8_sat_rtz(ulong8);3720long8 __ovld __cnfn convert_long8_rtp(ulong8);3721long8 __ovld __cnfn convert_long8_sat_rtp(ulong8);3722long8 __ovld __cnfn convert_long8_rtn(ulong8);3723long8 __ovld __cnfn convert_long8_sat_rtn(ulong8);3724long8 __ovld __cnfn convert_long8(ulong8);3725long8 __ovld __cnfn convert_long8_sat(ulong8);3726long8 __ovld __cnfn convert_long8_rte(float8);3727long8 __ovld __cnfn convert_long8_sat_rte(float8);3728long8 __ovld __cnfn convert_long8_rtz(float8);3729long8 __ovld __cnfn convert_long8_sat_rtz(float8);3730long8 __ovld __cnfn convert_long8_rtp(float8);3731long8 __ovld __cnfn convert_long8_sat_rtp(float8);3732long8 __ovld __cnfn convert_long8_rtn(float8);3733long8 __ovld __cnfn convert_long8_sat_rtn(float8);3734long8 __ovld __cnfn convert_long8(float8);3735long8 __ovld __cnfn convert_long8_sat(float8);3736ulong8 __ovld __cnfn convert_ulong8_rte(char8);3737ulong8 __ovld __cnfn convert_ulong8_sat_rte(char8);3738ulong8 __ovld __cnfn convert_ulong8_rtz(char8);3739ulong8 __ovld __cnfn convert_ulong8_sat_rtz(char8);3740ulong8 __ovld __cnfn convert_ulong8_rtp(char8);3741ulong8 __ovld __cnfn convert_ulong8_sat_rtp(char8);3742ulong8 __ovld __cnfn convert_ulong8_rtn(char8);3743ulong8 __ovld __cnfn convert_ulong8_sat_rtn(char8);3744ulong8 __ovld __cnfn convert_ulong8(char8);3745ulong8 __ovld __cnfn convert_ulong8_sat(char8);3746ulong8 __ovld __cnfn convert_ulong8_rte(uchar8);3747ulong8 __ovld __cnfn convert_ulong8_sat_rte(uchar8);3748ulong8 __ovld __cnfn convert_ulong8_rtz(uchar8);3749ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uchar8);3750ulong8 __ovld __cnfn convert_ulong8_rtp(uchar8);3751ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uchar8);3752ulong8 __ovld __cnfn convert_ulong8_rtn(uchar8);3753ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uchar8);3754ulong8 __ovld __cnfn convert_ulong8(uchar8);3755ulong8 __ovld __cnfn convert_ulong8_sat(uchar8);3756ulong8 __ovld __cnfn convert_ulong8_rte(short8);3757ulong8 __ovld __cnfn convert_ulong8_sat_rte(short8);3758ulong8 __ovld __cnfn convert_ulong8_rtz(short8);3759ulong8 __ovld __cnfn convert_ulong8_sat_rtz(short8);3760ulong8 __ovld __cnfn convert_ulong8_rtp(short8);3761ulong8 __ovld __cnfn convert_ulong8_sat_rtp(short8);3762ulong8 __ovld __cnfn convert_ulong8_rtn(short8);3763ulong8 __ovld __cnfn convert_ulong8_sat_rtn(short8);3764ulong8 __ovld __cnfn convert_ulong8(short8);3765ulong8 __ovld __cnfn convert_ulong8_sat(short8);3766ulong8 __ovld __cnfn convert_ulong8_rte(ushort8);3767ulong8 __ovld __cnfn convert_ulong8_sat_rte(ushort8);3768ulong8 __ovld __cnfn convert_ulong8_rtz(ushort8);3769ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ushort8);3770ulong8 __ovld __cnfn convert_ulong8_rtp(ushort8);3771ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ushort8);3772ulong8 __ovld __cnfn convert_ulong8_rtn(ushort8);3773ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ushort8);3774ulong8 __ovld __cnfn convert_ulong8(ushort8);3775ulong8 __ovld __cnfn convert_ulong8_sat(ushort8);3776ulong8 __ovld __cnfn convert_ulong8_rte(int8);3777ulong8 __ovld __cnfn convert_ulong8_sat_rte(int8);3778ulong8 __ovld __cnfn convert_ulong8_rtz(int8);3779ulong8 __ovld __cnfn convert_ulong8_sat_rtz(int8);3780ulong8 __ovld __cnfn convert_ulong8_rtp(int8);3781ulong8 __ovld __cnfn convert_ulong8_sat_rtp(int8);3782ulong8 __ovld __cnfn convert_ulong8_rtn(int8);3783ulong8 __ovld __cnfn convert_ulong8_sat_rtn(int8);3784ulong8 __ovld __cnfn convert_ulong8(int8);3785ulong8 __ovld __cnfn convert_ulong8_sat(int8);3786ulong8 __ovld __cnfn convert_ulong8_rte(uint8);3787ulong8 __ovld __cnfn convert_ulong8_sat_rte(uint8);3788ulong8 __ovld __cnfn convert_ulong8_rtz(uint8);3789ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uint8);3790ulong8 __ovld __cnfn convert_ulong8_rtp(uint8);3791ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uint8);3792ulong8 __ovld __cnfn convert_ulong8_rtn(uint8);3793ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uint8);3794ulong8 __ovld __cnfn convert_ulong8(uint8);3795ulong8 __ovld __cnfn convert_ulong8_sat(uint8);3796ulong8 __ovld __cnfn convert_ulong8_rte(long8);3797ulong8 __ovld __cnfn convert_ulong8_sat_rte(long8);3798ulong8 __ovld __cnfn convert_ulong8_rtz(long8);3799ulong8 __ovld __cnfn convert_ulong8_sat_rtz(long8);3800ulong8 __ovld __cnfn convert_ulong8_rtp(long8);3801ulong8 __ovld __cnfn convert_ulong8_sat_rtp(long8);3802ulong8 __ovld __cnfn convert_ulong8_rtn(long8);3803ulong8 __ovld __cnfn convert_ulong8_sat_rtn(long8);3804ulong8 __ovld __cnfn convert_ulong8(long8);3805ulong8 __ovld __cnfn convert_ulong8_sat(long8);3806ulong8 __ovld __cnfn convert_ulong8_rte(ulong8);3807ulong8 __ovld __cnfn convert_ulong8_sat_rte(ulong8);3808ulong8 __ovld __cnfn convert_ulong8_rtz(ulong8);3809ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ulong8);3810ulong8 __ovld __cnfn convert_ulong8_rtp(ulong8);3811ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ulong8);3812ulong8 __ovld __cnfn convert_ulong8_rtn(ulong8);3813ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ulong8);3814ulong8 __ovld __cnfn convert_ulong8(ulong8);3815ulong8 __ovld __cnfn convert_ulong8_sat(ulong8);3816ulong8 __ovld __cnfn convert_ulong8_rte(float8);3817ulong8 __ovld __cnfn convert_ulong8_sat_rte(float8);3818ulong8 __ovld __cnfn convert_ulong8_rtz(float8);3819ulong8 __ovld __cnfn convert_ulong8_sat_rtz(float8);3820ulong8 __ovld __cnfn convert_ulong8_rtp(float8);3821ulong8 __ovld __cnfn convert_ulong8_sat_rtp(float8);3822ulong8 __ovld __cnfn convert_ulong8_rtn(float8);3823ulong8 __ovld __cnfn convert_ulong8_sat_rtn(float8);3824ulong8 __ovld __cnfn convert_ulong8(float8);3825ulong8 __ovld __cnfn convert_ulong8_sat(float8);3826float8 __ovld __cnfn convert_float8_rte(char8);3827float8 __ovld __cnfn convert_float8_rtz(char8);3828float8 __ovld __cnfn convert_float8_rtp(char8);3829float8 __ovld __cnfn convert_float8_rtn(char8);3830float8 __ovld __cnfn convert_float8(char8);3831float8 __ovld __cnfn convert_float8_rte(uchar8);3832float8 __ovld __cnfn convert_float8_rtz(uchar8);3833float8 __ovld __cnfn convert_float8_rtp(uchar8);3834float8 __ovld __cnfn convert_float8_rtn(uchar8);3835float8 __ovld __cnfn convert_float8(uchar8);3836float8 __ovld __cnfn convert_float8_rte(short8);3837float8 __ovld __cnfn convert_float8_rtz(short8);3838float8 __ovld __cnfn convert_float8_rtp(short8);3839float8 __ovld __cnfn convert_float8_rtn(short8);3840float8 __ovld __cnfn convert_float8(short8);3841float8 __ovld __cnfn convert_float8_rte(ushort8);3842float8 __ovld __cnfn convert_float8_rtz(ushort8);3843float8 __ovld __cnfn convert_float8_rtp(ushort8);3844float8 __ovld __cnfn convert_float8_rtn(ushort8);3845float8 __ovld __cnfn convert_float8(ushort8);3846float8 __ovld __cnfn convert_float8_rte(int8);3847float8 __ovld __cnfn convert_float8_rtz(int8);3848float8 __ovld __cnfn convert_float8_rtp(int8);3849float8 __ovld __cnfn convert_float8_rtn(int8);3850float8 __ovld __cnfn convert_float8(int8);3851float8 __ovld __cnfn convert_float8_rte(uint8);3852float8 __ovld __cnfn convert_float8_rtz(uint8);3853float8 __ovld __cnfn convert_float8_rtp(uint8);3854float8 __ovld __cnfn convert_float8_rtn(uint8);3855float8 __ovld __cnfn convert_float8(uint8);3856float8 __ovld __cnfn convert_float8_rte(long8);3857float8 __ovld __cnfn convert_float8_rtz(long8);3858float8 __ovld __cnfn convert_float8_rtp(long8);3859float8 __ovld __cnfn convert_float8_rtn(long8);3860float8 __ovld __cnfn convert_float8(long8);3861float8 __ovld __cnfn convert_float8_rte(ulong8);3862float8 __ovld __cnfn convert_float8_rtz(ulong8);3863float8 __ovld __cnfn convert_float8_rtp(ulong8);3864float8 __ovld __cnfn convert_float8_rtn(ulong8);3865float8 __ovld __cnfn convert_float8(ulong8);3866float8 __ovld __cnfn convert_float8_rte(float8);3867float8 __ovld __cnfn convert_float8_rtz(float8);3868float8 __ovld __cnfn convert_float8_rtp(float8);3869float8 __ovld __cnfn convert_float8_rtn(float8);3870float8 __ovld __cnfn convert_float8(float8);3871char16 __ovld __cnfn convert_char16_rte(char16);3872char16 __ovld __cnfn convert_char16_sat_rte(char16);3873char16 __ovld __cnfn convert_char16_rtz(char16);3874char16 __ovld __cnfn convert_char16_sat_rtz(char16);3875char16 __ovld __cnfn convert_char16_rtp(char16);3876char16 __ovld __cnfn convert_char16_sat_rtp(char16);3877char16 __ovld __cnfn convert_char16_rtn(char16);3878char16 __ovld __cnfn convert_char16_sat_rtn(char16);3879char16 __ovld __cnfn convert_char16(char16);3880char16 __ovld __cnfn convert_char16_sat(char16);3881char16 __ovld __cnfn convert_char16_rte(uchar16);3882char16 __ovld __cnfn convert_char16_sat_rte(uchar16);3883char16 __ovld __cnfn convert_char16_rtz(uchar16);3884char16 __ovld __cnfn convert_char16_sat_rtz(uchar16);3885char16 __ovld __cnfn convert_char16_rtp(uchar16);3886char16 __ovld __cnfn convert_char16_sat_rtp(uchar16);3887char16 __ovld __cnfn convert_char16_rtn(uchar16);3888char16 __ovld __cnfn convert_char16_sat_rtn(uchar16);3889char16 __ovld __cnfn convert_char16(uchar16);3890char16 __ovld __cnfn convert_char16_sat(uchar16);3891char16 __ovld __cnfn convert_char16_rte(short16);3892char16 __ovld __cnfn convert_char16_sat_rte(short16);3893char16 __ovld __cnfn convert_char16_rtz(short16);3894char16 __ovld __cnfn convert_char16_sat_rtz(short16);3895char16 __ovld __cnfn convert_char16_rtp(short16);3896char16 __ovld __cnfn convert_char16_sat_rtp(short16);3897char16 __ovld __cnfn convert_char16_rtn(short16);3898char16 __ovld __cnfn convert_char16_sat_rtn(short16);3899char16 __ovld __cnfn convert_char16(short16);3900char16 __ovld __cnfn convert_char16_sat(short16);3901char16 __ovld __cnfn convert_char16_rte(ushort16);3902char16 __ovld __cnfn convert_char16_sat_rte(ushort16);3903char16 __ovld __cnfn convert_char16_rtz(ushort16);3904char16 __ovld __cnfn convert_char16_sat_rtz(ushort16);3905char16 __ovld __cnfn convert_char16_rtp(ushort16);3906char16 __ovld __cnfn convert_char16_sat_rtp(ushort16);3907char16 __ovld __cnfn convert_char16_rtn(ushort16);3908char16 __ovld __cnfn convert_char16_sat_rtn(ushort16);3909char16 __ovld __cnfn convert_char16(ushort16);3910char16 __ovld __cnfn convert_char16_sat(ushort16);3911char16 __ovld __cnfn convert_char16_rte(int16);3912char16 __ovld __cnfn convert_char16_sat_rte(int16);3913char16 __ovld __cnfn convert_char16_rtz(int16);3914char16 __ovld __cnfn convert_char16_sat_rtz(int16);3915char16 __ovld __cnfn convert_char16_rtp(int16);3916char16 __ovld __cnfn convert_char16_sat_rtp(int16);3917char16 __ovld __cnfn convert_char16_rtn(int16);3918char16 __ovld __cnfn convert_char16_sat_rtn(int16);3919char16 __ovld __cnfn convert_char16(int16);3920char16 __ovld __cnfn convert_char16_sat(int16);3921char16 __ovld __cnfn convert_char16_rte(uint16);3922char16 __ovld __cnfn convert_char16_sat_rte(uint16);3923char16 __ovld __cnfn convert_char16_rtz(uint16);3924char16 __ovld __cnfn convert_char16_sat_rtz(uint16);3925char16 __ovld __cnfn convert_char16_rtp(uint16);3926char16 __ovld __cnfn convert_char16_sat_rtp(uint16);3927char16 __ovld __cnfn convert_char16_rtn(uint16);3928char16 __ovld __cnfn convert_char16_sat_rtn(uint16);3929char16 __ovld __cnfn convert_char16(uint16);3930char16 __ovld __cnfn convert_char16_sat(uint16);3931char16 __ovld __cnfn convert_char16_rte(long16);3932char16 __ovld __cnfn convert_char16_sat_rte(long16);3933char16 __ovld __cnfn convert_char16_rtz(long16);3934char16 __ovld __cnfn convert_char16_sat_rtz(long16);3935char16 __ovld __cnfn convert_char16_rtp(long16);3936char16 __ovld __cnfn convert_char16_sat_rtp(long16);3937char16 __ovld __cnfn convert_char16_rtn(long16);3938char16 __ovld __cnfn convert_char16_sat_rtn(long16);3939char16 __ovld __cnfn convert_char16(long16);3940char16 __ovld __cnfn convert_char16_sat(long16);3941char16 __ovld __cnfn convert_char16_rte(ulong16);3942char16 __ovld __cnfn convert_char16_sat_rte(ulong16);3943char16 __ovld __cnfn convert_char16_rtz(ulong16);3944char16 __ovld __cnfn convert_char16_sat_rtz(ulong16);3945char16 __ovld __cnfn convert_char16_rtp(ulong16);3946char16 __ovld __cnfn convert_char16_sat_rtp(ulong16);3947char16 __ovld __cnfn convert_char16_rtn(ulong16);3948char16 __ovld __cnfn convert_char16_sat_rtn(ulong16);3949char16 __ovld __cnfn convert_char16(ulong16);3950char16 __ovld __cnfn convert_char16_sat(ulong16);3951char16 __ovld __cnfn convert_char16_rte(float16);3952char16 __ovld __cnfn convert_char16_sat_rte(float16);3953char16 __ovld __cnfn convert_char16_rtz(float16);3954char16 __ovld __cnfn convert_char16_sat_rtz(float16);3955char16 __ovld __cnfn convert_char16_rtp(float16);3956char16 __ovld __cnfn convert_char16_sat_rtp(float16);3957char16 __ovld __cnfn convert_char16_rtn(float16);3958char16 __ovld __cnfn convert_char16_sat_rtn(float16);3959char16 __ovld __cnfn convert_char16(float16);3960char16 __ovld __cnfn convert_char16_sat(float16);3961uchar16 __ovld __cnfn convert_uchar16_rte(char16);3962uchar16 __ovld __cnfn convert_uchar16_sat_rte(char16);3963uchar16 __ovld __cnfn convert_uchar16_rtz(char16);3964uchar16 __ovld __cnfn convert_uchar16_sat_rtz(char16);3965uchar16 __ovld __cnfn convert_uchar16_rtp(char16);3966uchar16 __ovld __cnfn convert_uchar16_sat_rtp(char16);3967uchar16 __ovld __cnfn convert_uchar16_rtn(char16);3968uchar16 __ovld __cnfn convert_uchar16_sat_rtn(char16);3969uchar16 __ovld __cnfn convert_uchar16(char16);3970uchar16 __ovld __cnfn convert_uchar16_sat(char16);3971uchar16 __ovld __cnfn convert_uchar16_rte(uchar16);3972uchar16 __ovld __cnfn convert_uchar16_sat_rte(uchar16);3973uchar16 __ovld __cnfn convert_uchar16_rtz(uchar16);3974uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uchar16);3975uchar16 __ovld __cnfn convert_uchar16_rtp(uchar16);3976uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uchar16);3977uchar16 __ovld __cnfn convert_uchar16_rtn(uchar16);3978uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uchar16);3979uchar16 __ovld __cnfn convert_uchar16(uchar16);3980uchar16 __ovld __cnfn convert_uchar16_sat(uchar16);3981uchar16 __ovld __cnfn convert_uchar16_rte(short16);3982uchar16 __ovld __cnfn convert_uchar16_sat_rte(short16);3983uchar16 __ovld __cnfn convert_uchar16_rtz(short16);3984uchar16 __ovld __cnfn convert_uchar16_sat_rtz(short16);3985uchar16 __ovld __cnfn convert_uchar16_rtp(short16);3986uchar16 __ovld __cnfn convert_uchar16_sat_rtp(short16);3987uchar16 __ovld __cnfn convert_uchar16_rtn(short16);3988uchar16 __ovld __cnfn convert_uchar16_sat_rtn(short16);3989uchar16 __ovld __cnfn convert_uchar16(short16);3990uchar16 __ovld __cnfn convert_uchar16_sat(short16);3991uchar16 __ovld __cnfn convert_uchar16_rte(ushort16);3992uchar16 __ovld __cnfn convert_uchar16_sat_rte(ushort16);3993uchar16 __ovld __cnfn convert_uchar16_rtz(ushort16);3994uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ushort16);3995uchar16 __ovld __cnfn convert_uchar16_rtp(ushort16);3996uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ushort16);3997uchar16 __ovld __cnfn convert_uchar16_rtn(ushort16);3998uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ushort16);3999uchar16 __ovld __cnfn convert_uchar16(ushort16);4000uchar16 __ovld __cnfn convert_uchar16_sat(ushort16);4001uchar16 __ovld __cnfn convert_uchar16_rte(int16);4002uchar16 __ovld __cnfn convert_uchar16_sat_rte(int16);4003uchar16 __ovld __cnfn convert_uchar16_rtz(int16);4004uchar16 __ovld __cnfn convert_uchar16_sat_rtz(int16);4005uchar16 __ovld __cnfn convert_uchar16_rtp(int16);4006uchar16 __ovld __cnfn convert_uchar16_sat_rtp(int16);4007uchar16 __ovld __cnfn convert_uchar16_rtn(int16);4008uchar16 __ovld __cnfn convert_uchar16_sat_rtn(int16);4009uchar16 __ovld __cnfn convert_uchar16(int16);4010uchar16 __ovld __cnfn convert_uchar16_sat(int16);4011uchar16 __ovld __cnfn convert_uchar16_rte(uint16);4012uchar16 __ovld __cnfn convert_uchar16_sat_rte(uint16);4013uchar16 __ovld __cnfn convert_uchar16_rtz(uint16);4014uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uint16);4015uchar16 __ovld __cnfn convert_uchar16_rtp(uint16);4016uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uint16);4017uchar16 __ovld __cnfn convert_uchar16_rtn(uint16);4018uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uint16);4019uchar16 __ovld __cnfn convert_uchar16(uint16);4020uchar16 __ovld __cnfn convert_uchar16_sat(uint16);4021uchar16 __ovld __cnfn convert_uchar16_rte(long16);4022uchar16 __ovld __cnfn convert_uchar16_sat_rte(long16);4023uchar16 __ovld __cnfn convert_uchar16_rtz(long16);4024uchar16 __ovld __cnfn convert_uchar16_sat_rtz(long16);4025uchar16 __ovld __cnfn convert_uchar16_rtp(long16);4026uchar16 __ovld __cnfn convert_uchar16_sat_rtp(long16);4027uchar16 __ovld __cnfn convert_uchar16_rtn(long16);4028uchar16 __ovld __cnfn convert_uchar16_sat_rtn(long16);4029uchar16 __ovld __cnfn convert_uchar16(long16);4030uchar16 __ovld __cnfn convert_uchar16_sat(long16);4031uchar16 __ovld __cnfn convert_uchar16_rte(ulong16);4032uchar16 __ovld __cnfn convert_uchar16_sat_rte(ulong16);4033uchar16 __ovld __cnfn convert_uchar16_rtz(ulong16);4034uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ulong16);4035uchar16 __ovld __cnfn convert_uchar16_rtp(ulong16);4036uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ulong16);4037uchar16 __ovld __cnfn convert_uchar16_rtn(ulong16);4038uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ulong16);4039uchar16 __ovld __cnfn convert_uchar16(ulong16);4040uchar16 __ovld __cnfn convert_uchar16_sat(ulong16);4041uchar16 __ovld __cnfn convert_uchar16_rte(float16);4042uchar16 __ovld __cnfn convert_uchar16_sat_rte(float16);4043uchar16 __ovld __cnfn convert_uchar16_rtz(float16);4044uchar16 __ovld __cnfn convert_uchar16_sat_rtz(float16);4045uchar16 __ovld __cnfn convert_uchar16_rtp(float16);4046uchar16 __ovld __cnfn convert_uchar16_sat_rtp(float16);4047uchar16 __ovld __cnfn convert_uchar16_rtn(float16);4048uchar16 __ovld __cnfn convert_uchar16_sat_rtn(float16);4049uchar16 __ovld __cnfn convert_uchar16(float16);4050uchar16 __ovld __cnfn convert_uchar16_sat(float16);4051short16 __ovld __cnfn convert_short16_rte(char16);4052short16 __ovld __cnfn convert_short16_sat_rte(char16);4053short16 __ovld __cnfn convert_short16_rtz(char16);4054short16 __ovld __cnfn convert_short16_sat_rtz(char16);4055short16 __ovld __cnfn convert_short16_rtp(char16);4056short16 __ovld __cnfn convert_short16_sat_rtp(char16);4057short16 __ovld __cnfn convert_short16_rtn(char16);4058short16 __ovld __cnfn convert_short16_sat_rtn(char16);4059short16 __ovld __cnfn convert_short16(char16);4060short16 __ovld __cnfn convert_short16_sat(char16);4061short16 __ovld __cnfn convert_short16_rte(uchar16);4062short16 __ovld __cnfn convert_short16_sat_rte(uchar16);4063short16 __ovld __cnfn convert_short16_rtz(uchar16);4064short16 __ovld __cnfn convert_short16_sat_rtz(uchar16);4065short16 __ovld __cnfn convert_short16_rtp(uchar16);4066short16 __ovld __cnfn convert_short16_sat_rtp(uchar16);4067short16 __ovld __cnfn convert_short16_rtn(uchar16);4068short16 __ovld __cnfn convert_short16_sat_rtn(uchar16);4069short16 __ovld __cnfn convert_short16(uchar16);4070short16 __ovld __cnfn convert_short16_sat(uchar16);4071short16 __ovld __cnfn convert_short16_rte(short16);4072short16 __ovld __cnfn convert_short16_sat_rte(short16);4073short16 __ovld __cnfn convert_short16_rtz(short16);4074short16 __ovld __cnfn convert_short16_sat_rtz(short16);4075short16 __ovld __cnfn convert_short16_rtp(short16);4076short16 __ovld __cnfn convert_short16_sat_rtp(short16);4077short16 __ovld __cnfn convert_short16_rtn(short16);4078short16 __ovld __cnfn convert_short16_sat_rtn(short16);4079short16 __ovld __cnfn convert_short16(short16);4080short16 __ovld __cnfn convert_short16_sat(short16);4081short16 __ovld __cnfn convert_short16_rte(ushort16);4082short16 __ovld __cnfn convert_short16_sat_rte(ushort16);4083short16 __ovld __cnfn convert_short16_rtz(ushort16);4084short16 __ovld __cnfn convert_short16_sat_rtz(ushort16);4085short16 __ovld __cnfn convert_short16_rtp(ushort16);4086short16 __ovld __cnfn convert_short16_sat_rtp(ushort16);4087short16 __ovld __cnfn convert_short16_rtn(ushort16);4088short16 __ovld __cnfn convert_short16_sat_rtn(ushort16);4089short16 __ovld __cnfn convert_short16(ushort16);4090short16 __ovld __cnfn convert_short16_sat(ushort16);4091short16 __ovld __cnfn convert_short16_rte(int16);4092short16 __ovld __cnfn convert_short16_sat_rte(int16);4093short16 __ovld __cnfn convert_short16_rtz(int16);4094short16 __ovld __cnfn convert_short16_sat_rtz(int16);4095short16 __ovld __cnfn convert_short16_rtp(int16);4096short16 __ovld __cnfn convert_short16_sat_rtp(int16);4097short16 __ovld __cnfn convert_short16_rtn(int16);4098short16 __ovld __cnfn convert_short16_sat_rtn(int16);4099short16 __ovld __cnfn convert_short16(int16);4100short16 __ovld __cnfn convert_short16_sat(int16);4101short16 __ovld __cnfn convert_short16_rte(uint16);4102short16 __ovld __cnfn convert_short16_sat_rte(uint16);4103short16 __ovld __cnfn convert_short16_rtz(uint16);4104short16 __ovld __cnfn convert_short16_sat_rtz(uint16);4105short16 __ovld __cnfn convert_short16_rtp(uint16);4106short16 __ovld __cnfn convert_short16_sat_rtp(uint16);4107short16 __ovld __cnfn convert_short16_rtn(uint16);4108short16 __ovld __cnfn convert_short16_sat_rtn(uint16);4109short16 __ovld __cnfn convert_short16(uint16);4110short16 __ovld __cnfn convert_short16_sat(uint16);4111short16 __ovld __cnfn convert_short16_rte(long16);4112short16 __ovld __cnfn convert_short16_sat_rte(long16);4113short16 __ovld __cnfn convert_short16_rtz(long16);4114short16 __ovld __cnfn convert_short16_sat_rtz(long16);4115short16 __ovld __cnfn convert_short16_rtp(long16);4116short16 __ovld __cnfn convert_short16_sat_rtp(long16);4117short16 __ovld __cnfn convert_short16_rtn(long16);4118short16 __ovld __cnfn convert_short16_sat_rtn(long16);4119short16 __ovld __cnfn convert_short16(long16);4120short16 __ovld __cnfn convert_short16_sat(long16);4121short16 __ovld __cnfn convert_short16_rte(ulong16);4122short16 __ovld __cnfn convert_short16_sat_rte(ulong16);4123short16 __ovld __cnfn convert_short16_rtz(ulong16);4124short16 __ovld __cnfn convert_short16_sat_rtz(ulong16);4125short16 __ovld __cnfn convert_short16_rtp(ulong16);4126short16 __ovld __cnfn convert_short16_sat_rtp(ulong16);4127short16 __ovld __cnfn convert_short16_rtn(ulong16);4128short16 __ovld __cnfn convert_short16_sat_rtn(ulong16);4129short16 __ovld __cnfn convert_short16(ulong16);4130short16 __ovld __cnfn convert_short16_sat(ulong16);4131short16 __ovld __cnfn convert_short16_rte(float16);4132short16 __ovld __cnfn convert_short16_sat_rte(float16);4133short16 __ovld __cnfn convert_short16_rtz(float16);4134short16 __ovld __cnfn convert_short16_sat_rtz(float16);4135short16 __ovld __cnfn convert_short16_rtp(float16);4136short16 __ovld __cnfn convert_short16_sat_rtp(float16);4137short16 __ovld __cnfn convert_short16_rtn(float16);4138short16 __ovld __cnfn convert_short16_sat_rtn(float16);4139short16 __ovld __cnfn convert_short16(float16);4140short16 __ovld __cnfn convert_short16_sat(float16);4141ushort16 __ovld __cnfn convert_ushort16_rte(char16);4142ushort16 __ovld __cnfn convert_ushort16_sat_rte(char16);4143ushort16 __ovld __cnfn convert_ushort16_rtz(char16);4144ushort16 __ovld __cnfn convert_ushort16_sat_rtz(char16);4145ushort16 __ovld __cnfn convert_ushort16_rtp(char16);4146ushort16 __ovld __cnfn convert_ushort16_sat_rtp(char16);4147ushort16 __ovld __cnfn convert_ushort16_rtn(char16);4148ushort16 __ovld __cnfn convert_ushort16_sat_rtn(char16);4149ushort16 __ovld __cnfn convert_ushort16(char16);4150ushort16 __ovld __cnfn convert_ushort16_sat(char16);4151ushort16 __ovld __cnfn convert_ushort16_rte(uchar16);4152ushort16 __ovld __cnfn convert_ushort16_sat_rte(uchar16);4153ushort16 __ovld __cnfn convert_ushort16_rtz(uchar16);4154ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uchar16);4155ushort16 __ovld __cnfn convert_ushort16_rtp(uchar16);4156ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uchar16);4157ushort16 __ovld __cnfn convert_ushort16_rtn(uchar16);4158ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uchar16);4159ushort16 __ovld __cnfn convert_ushort16(uchar16);4160ushort16 __ovld __cnfn convert_ushort16_sat(uchar16);4161ushort16 __ovld __cnfn convert_ushort16_rte(short16);4162ushort16 __ovld __cnfn convert_ushort16_sat_rte(short16);4163ushort16 __ovld __cnfn convert_ushort16_rtz(short16);4164ushort16 __ovld __cnfn convert_ushort16_sat_rtz(short16);4165ushort16 __ovld __cnfn convert_ushort16_rtp(short16);4166ushort16 __ovld __cnfn convert_ushort16_sat_rtp(short16);4167ushort16 __ovld __cnfn convert_ushort16_rtn(short16);4168ushort16 __ovld __cnfn convert_ushort16_sat_rtn(short16);4169ushort16 __ovld __cnfn convert_ushort16(short16);4170ushort16 __ovld __cnfn convert_ushort16_sat(short16);4171ushort16 __ovld __cnfn convert_ushort16_rte(ushort16);4172ushort16 __ovld __cnfn convert_ushort16_sat_rte(ushort16);4173ushort16 __ovld __cnfn convert_ushort16_rtz(ushort16);4174ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ushort16);4175ushort16 __ovld __cnfn convert_ushort16_rtp(ushort16);4176ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ushort16);4177ushort16 __ovld __cnfn convert_ushort16_rtn(ushort16);4178ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ushort16);4179ushort16 __ovld __cnfn convert_ushort16(ushort16);4180ushort16 __ovld __cnfn convert_ushort16_sat(ushort16);4181ushort16 __ovld __cnfn convert_ushort16_rte(int16);4182ushort16 __ovld __cnfn convert_ushort16_sat_rte(int16);4183ushort16 __ovld __cnfn convert_ushort16_rtz(int16);4184ushort16 __ovld __cnfn convert_ushort16_sat_rtz(int16);4185ushort16 __ovld __cnfn convert_ushort16_rtp(int16);4186ushort16 __ovld __cnfn convert_ushort16_sat_rtp(int16);4187ushort16 __ovld __cnfn convert_ushort16_rtn(int16);4188ushort16 __ovld __cnfn convert_ushort16_sat_rtn(int16);4189ushort16 __ovld __cnfn convert_ushort16(int16);4190ushort16 __ovld __cnfn convert_ushort16_sat(int16);4191ushort16 __ovld __cnfn convert_ushort16_rte(uint16);4192ushort16 __ovld __cnfn convert_ushort16_sat_rte(uint16);4193ushort16 __ovld __cnfn convert_ushort16_rtz(uint16);4194ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uint16);4195ushort16 __ovld __cnfn convert_ushort16_rtp(uint16);4196ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uint16);4197ushort16 __ovld __cnfn convert_ushort16_rtn(uint16);4198ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uint16);4199ushort16 __ovld __cnfn convert_ushort16(uint16);4200ushort16 __ovld __cnfn convert_ushort16_sat(uint16);4201ushort16 __ovld __cnfn convert_ushort16_rte(long16);4202ushort16 __ovld __cnfn convert_ushort16_sat_rte(long16);4203ushort16 __ovld __cnfn convert_ushort16_rtz(long16);4204ushort16 __ovld __cnfn convert_ushort16_sat_rtz(long16);4205ushort16 __ovld __cnfn convert_ushort16_rtp(long16);4206ushort16 __ovld __cnfn convert_ushort16_sat_rtp(long16);4207ushort16 __ovld __cnfn convert_ushort16_rtn(long16);4208ushort16 __ovld __cnfn convert_ushort16_sat_rtn(long16);4209ushort16 __ovld __cnfn convert_ushort16(long16);4210ushort16 __ovld __cnfn convert_ushort16_sat(long16);4211ushort16 __ovld __cnfn convert_ushort16_rte(ulong16);4212ushort16 __ovld __cnfn convert_ushort16_sat_rte(ulong16);4213ushort16 __ovld __cnfn convert_ushort16_rtz(ulong16);4214ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ulong16);4215ushort16 __ovld __cnfn convert_ushort16_rtp(ulong16);4216ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ulong16);4217ushort16 __ovld __cnfn convert_ushort16_rtn(ulong16);4218ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ulong16);4219ushort16 __ovld __cnfn convert_ushort16(ulong16);4220ushort16 __ovld __cnfn convert_ushort16_sat(ulong16);4221ushort16 __ovld __cnfn convert_ushort16_rte(float16);4222ushort16 __ovld __cnfn convert_ushort16_sat_rte(float16);4223ushort16 __ovld __cnfn convert_ushort16_rtz(float16);4224ushort16 __ovld __cnfn convert_ushort16_sat_rtz(float16);4225ushort16 __ovld __cnfn convert_ushort16_rtp(float16);4226ushort16 __ovld __cnfn convert_ushort16_sat_rtp(float16);4227ushort16 __ovld __cnfn convert_ushort16_rtn(float16);4228ushort16 __ovld __cnfn convert_ushort16_sat_rtn(float16);4229ushort16 __ovld __cnfn convert_ushort16(float16);4230ushort16 __ovld __cnfn convert_ushort16_sat(float16);4231int16 __ovld __cnfn convert_int16_rte(char16);4232int16 __ovld __cnfn convert_int16_sat_rte(char16);4233int16 __ovld __cnfn convert_int16_rtz(char16);4234int16 __ovld __cnfn convert_int16_sat_rtz(char16);4235int16 __ovld __cnfn convert_int16_rtp(char16);4236int16 __ovld __cnfn convert_int16_sat_rtp(char16);4237int16 __ovld __cnfn convert_int16_rtn(char16);4238int16 __ovld __cnfn convert_int16_sat_rtn(char16);4239int16 __ovld __cnfn convert_int16(char16);4240int16 __ovld __cnfn convert_int16_sat(char16);4241int16 __ovld __cnfn convert_int16_rte(uchar16);4242int16 __ovld __cnfn convert_int16_sat_rte(uchar16);4243int16 __ovld __cnfn convert_int16_rtz(uchar16);4244int16 __ovld __cnfn convert_int16_sat_rtz(uchar16);4245int16 __ovld __cnfn convert_int16_rtp(uchar16);4246int16 __ovld __cnfn convert_int16_sat_rtp(uchar16);4247int16 __ovld __cnfn convert_int16_rtn(uchar16);4248int16 __ovld __cnfn convert_int16_sat_rtn(uchar16);4249int16 __ovld __cnfn convert_int16(uchar16);4250int16 __ovld __cnfn convert_int16_sat(uchar16);4251int16 __ovld __cnfn convert_int16_rte(short16);4252int16 __ovld __cnfn convert_int16_sat_rte(short16);4253int16 __ovld __cnfn convert_int16_rtz(short16);4254int16 __ovld __cnfn convert_int16_sat_rtz(short16);4255int16 __ovld __cnfn convert_int16_rtp(short16);4256int16 __ovld __cnfn convert_int16_sat_rtp(short16);4257int16 __ovld __cnfn convert_int16_rtn(short16);4258int16 __ovld __cnfn convert_int16_sat_rtn(short16);4259int16 __ovld __cnfn convert_int16(short16);4260int16 __ovld __cnfn convert_int16_sat(short16);4261int16 __ovld __cnfn convert_int16_rte(ushort16);4262int16 __ovld __cnfn convert_int16_sat_rte(ushort16);4263int16 __ovld __cnfn convert_int16_rtz(ushort16);4264int16 __ovld __cnfn convert_int16_sat_rtz(ushort16);4265int16 __ovld __cnfn convert_int16_rtp(ushort16);4266int16 __ovld __cnfn convert_int16_sat_rtp(ushort16);4267int16 __ovld __cnfn convert_int16_rtn(ushort16);4268int16 __ovld __cnfn convert_int16_sat_rtn(ushort16);4269int16 __ovld __cnfn convert_int16(ushort16);4270int16 __ovld __cnfn convert_int16_sat(ushort16);4271int16 __ovld __cnfn convert_int16_rte(int16);4272int16 __ovld __cnfn convert_int16_sat_rte(int16);4273int16 __ovld __cnfn convert_int16_rtz(int16);4274int16 __ovld __cnfn convert_int16_sat_rtz(int16);4275int16 __ovld __cnfn convert_int16_rtp(int16);4276int16 __ovld __cnfn convert_int16_sat_rtp(int16);4277int16 __ovld __cnfn convert_int16_rtn(int16);4278int16 __ovld __cnfn convert_int16_sat_rtn(int16);4279int16 __ovld __cnfn convert_int16(int16);4280int16 __ovld __cnfn convert_int16_sat(int16);4281int16 __ovld __cnfn convert_int16_rte(uint16);4282int16 __ovld __cnfn convert_int16_sat_rte(uint16);4283int16 __ovld __cnfn convert_int16_rtz(uint16);4284int16 __ovld __cnfn convert_int16_sat_rtz(uint16);4285int16 __ovld __cnfn convert_int16_rtp(uint16);4286int16 __ovld __cnfn convert_int16_sat_rtp(uint16);4287int16 __ovld __cnfn convert_int16_rtn(uint16);4288int16 __ovld __cnfn convert_int16_sat_rtn(uint16);4289int16 __ovld __cnfn convert_int16(uint16);4290int16 __ovld __cnfn convert_int16_sat(uint16);4291int16 __ovld __cnfn convert_int16_rte(long16);4292int16 __ovld __cnfn convert_int16_sat_rte(long16);4293int16 __ovld __cnfn convert_int16_rtz(long16);4294int16 __ovld __cnfn convert_int16_sat_rtz(long16);4295int16 __ovld __cnfn convert_int16_rtp(long16);4296int16 __ovld __cnfn convert_int16_sat_rtp(long16);4297int16 __ovld __cnfn convert_int16_rtn(long16);4298int16 __ovld __cnfn convert_int16_sat_rtn(long16);4299int16 __ovld __cnfn convert_int16(long16);4300int16 __ovld __cnfn convert_int16_sat(long16);4301int16 __ovld __cnfn convert_int16_rte(ulong16);4302int16 __ovld __cnfn convert_int16_sat_rte(ulong16);4303int16 __ovld __cnfn convert_int16_rtz(ulong16);4304int16 __ovld __cnfn convert_int16_sat_rtz(ulong16);4305int16 __ovld __cnfn convert_int16_rtp(ulong16);4306int16 __ovld __cnfn convert_int16_sat_rtp(ulong16);4307int16 __ovld __cnfn convert_int16_rtn(ulong16);4308int16 __ovld __cnfn convert_int16_sat_rtn(ulong16);4309int16 __ovld __cnfn convert_int16(ulong16);4310int16 __ovld __cnfn convert_int16_sat(ulong16);4311int16 __ovld __cnfn convert_int16_rte(float16);4312int16 __ovld __cnfn convert_int16_sat_rte(float16);4313int16 __ovld __cnfn convert_int16_rtz(float16);4314int16 __ovld __cnfn convert_int16_sat_rtz(float16);4315int16 __ovld __cnfn convert_int16_rtp(float16);4316int16 __ovld __cnfn convert_int16_sat_rtp(float16);4317int16 __ovld __cnfn convert_int16_rtn(float16);4318int16 __ovld __cnfn convert_int16_sat_rtn(float16);4319int16 __ovld __cnfn convert_int16(float16);4320int16 __ovld __cnfn convert_int16_sat(float16);4321uint16 __ovld __cnfn convert_uint16_rte(char16);4322uint16 __ovld __cnfn convert_uint16_sat_rte(char16);4323uint16 __ovld __cnfn convert_uint16_rtz(char16);4324uint16 __ovld __cnfn convert_uint16_sat_rtz(char16);4325uint16 __ovld __cnfn convert_uint16_rtp(char16);4326uint16 __ovld __cnfn convert_uint16_sat_rtp(char16);4327uint16 __ovld __cnfn convert_uint16_rtn(char16);4328uint16 __ovld __cnfn convert_uint16_sat_rtn(char16);4329uint16 __ovld __cnfn convert_uint16(char16);4330uint16 __ovld __cnfn convert_uint16_sat(char16);4331uint16 __ovld __cnfn convert_uint16_rte(uchar16);4332uint16 __ovld __cnfn convert_uint16_sat_rte(uchar16);4333uint16 __ovld __cnfn convert_uint16_rtz(uchar16);4334uint16 __ovld __cnfn convert_uint16_sat_rtz(uchar16);4335uint16 __ovld __cnfn convert_uint16_rtp(uchar16);4336uint16 __ovld __cnfn convert_uint16_sat_rtp(uchar16);4337uint16 __ovld __cnfn convert_uint16_rtn(uchar16);4338uint16 __ovld __cnfn convert_uint16_sat_rtn(uchar16);4339uint16 __ovld __cnfn convert_uint16(uchar16);4340uint16 __ovld __cnfn convert_uint16_sat(uchar16);4341uint16 __ovld __cnfn convert_uint16_rte(short16);4342uint16 __ovld __cnfn convert_uint16_sat_rte(short16);4343uint16 __ovld __cnfn convert_uint16_rtz(short16);4344uint16 __ovld __cnfn convert_uint16_sat_rtz(short16);4345uint16 __ovld __cnfn convert_uint16_rtp(short16);4346uint16 __ovld __cnfn convert_uint16_sat_rtp(short16);4347uint16 __ovld __cnfn convert_uint16_rtn(short16);4348uint16 __ovld __cnfn convert_uint16_sat_rtn(short16);4349uint16 __ovld __cnfn convert_uint16(short16);4350uint16 __ovld __cnfn convert_uint16_sat(short16);4351uint16 __ovld __cnfn convert_uint16_rte(ushort16);4352uint16 __ovld __cnfn convert_uint16_sat_rte(ushort16);4353uint16 __ovld __cnfn convert_uint16_rtz(ushort16);4354uint16 __ovld __cnfn convert_uint16_sat_rtz(ushort16);4355uint16 __ovld __cnfn convert_uint16_rtp(ushort16);4356uint16 __ovld __cnfn convert_uint16_sat_rtp(ushort16);4357uint16 __ovld __cnfn convert_uint16_rtn(ushort16);4358uint16 __ovld __cnfn convert_uint16_sat_rtn(ushort16);4359uint16 __ovld __cnfn convert_uint16(ushort16);4360uint16 __ovld __cnfn convert_uint16_sat(ushort16);4361uint16 __ovld __cnfn convert_uint16_rte(int16);4362uint16 __ovld __cnfn convert_uint16_sat_rte(int16);4363uint16 __ovld __cnfn convert_uint16_rtz(int16);4364uint16 __ovld __cnfn convert_uint16_sat_rtz(int16);4365uint16 __ovld __cnfn convert_uint16_rtp(int16);4366uint16 __ovld __cnfn convert_uint16_sat_rtp(int16);4367uint16 __ovld __cnfn convert_uint16_rtn(int16);4368uint16 __ovld __cnfn convert_uint16_sat_rtn(int16);4369uint16 __ovld __cnfn convert_uint16(int16);4370uint16 __ovld __cnfn convert_uint16_sat(int16);4371uint16 __ovld __cnfn convert_uint16_rte(uint16);4372uint16 __ovld __cnfn convert_uint16_sat_rte(uint16);4373uint16 __ovld __cnfn convert_uint16_rtz(uint16);4374uint16 __ovld __cnfn convert_uint16_sat_rtz(uint16);4375uint16 __ovld __cnfn convert_uint16_rtp(uint16);4376uint16 __ovld __cnfn convert_uint16_sat_rtp(uint16);4377uint16 __ovld __cnfn convert_uint16_rtn(uint16);4378uint16 __ovld __cnfn convert_uint16_sat_rtn(uint16);4379uint16 __ovld __cnfn convert_uint16(uint16);4380uint16 __ovld __cnfn convert_uint16_sat(uint16);4381uint16 __ovld __cnfn convert_uint16_rte(long16);4382uint16 __ovld __cnfn convert_uint16_sat_rte(long16);4383uint16 __ovld __cnfn convert_uint16_rtz(long16);4384uint16 __ovld __cnfn convert_uint16_sat_rtz(long16);4385uint16 __ovld __cnfn convert_uint16_rtp(long16);4386uint16 __ovld __cnfn convert_uint16_sat_rtp(long16);4387uint16 __ovld __cnfn convert_uint16_rtn(long16);4388uint16 __ovld __cnfn convert_uint16_sat_rtn(long16);4389uint16 __ovld __cnfn convert_uint16(long16);4390uint16 __ovld __cnfn convert_uint16_sat(long16);4391uint16 __ovld __cnfn convert_uint16_rte(ulong16);4392uint16 __ovld __cnfn convert_uint16_sat_rte(ulong16);4393uint16 __ovld __cnfn convert_uint16_rtz(ulong16);4394uint16 __ovld __cnfn convert_uint16_sat_rtz(ulong16);4395uint16 __ovld __cnfn convert_uint16_rtp(ulong16);4396uint16 __ovld __cnfn convert_uint16_sat_rtp(ulong16);4397uint16 __ovld __cnfn convert_uint16_rtn(ulong16);4398uint16 __ovld __cnfn convert_uint16_sat_rtn(ulong16);4399uint16 __ovld __cnfn convert_uint16(ulong16);4400uint16 __ovld __cnfn convert_uint16_sat(ulong16);4401uint16 __ovld __cnfn convert_uint16_rte(float16);4402uint16 __ovld __cnfn convert_uint16_sat_rte(float16);4403uint16 __ovld __cnfn convert_uint16_rtz(float16);4404uint16 __ovld __cnfn convert_uint16_sat_rtz(float16);4405uint16 __ovld __cnfn convert_uint16_rtp(float16);4406uint16 __ovld __cnfn convert_uint16_sat_rtp(float16);4407uint16 __ovld __cnfn convert_uint16_rtn(float16);4408uint16 __ovld __cnfn convert_uint16_sat_rtn(float16);4409uint16 __ovld __cnfn convert_uint16(float16);4410uint16 __ovld __cnfn convert_uint16_sat(float16);4411long16 __ovld __cnfn convert_long16_rte(char16);4412long16 __ovld __cnfn convert_long16_sat_rte(char16);4413long16 __ovld __cnfn convert_long16_rtz(char16);4414long16 __ovld __cnfn convert_long16_sat_rtz(char16);4415long16 __ovld __cnfn convert_long16_rtp(char16);4416long16 __ovld __cnfn convert_long16_sat_rtp(char16);4417long16 __ovld __cnfn convert_long16_rtn(char16);4418long16 __ovld __cnfn convert_long16_sat_rtn(char16);4419long16 __ovld __cnfn convert_long16(char16);4420long16 __ovld __cnfn convert_long16_sat(char16);4421long16 __ovld __cnfn convert_long16_rte(uchar16);4422long16 __ovld __cnfn convert_long16_sat_rte(uchar16);4423long16 __ovld __cnfn convert_long16_rtz(uchar16);4424long16 __ovld __cnfn convert_long16_sat_rtz(uchar16);4425long16 __ovld __cnfn convert_long16_rtp(uchar16);4426long16 __ovld __cnfn convert_long16_sat_rtp(uchar16);4427long16 __ovld __cnfn convert_long16_rtn(uchar16);4428long16 __ovld __cnfn convert_long16_sat_rtn(uchar16);4429long16 __ovld __cnfn convert_long16(uchar16);4430long16 __ovld __cnfn convert_long16_sat(uchar16);4431long16 __ovld __cnfn convert_long16_rte(short16);4432long16 __ovld __cnfn convert_long16_sat_rte(short16);4433long16 __ovld __cnfn convert_long16_rtz(short16);4434long16 __ovld __cnfn convert_long16_sat_rtz(short16);4435long16 __ovld __cnfn convert_long16_rtp(short16);4436long16 __ovld __cnfn convert_long16_sat_rtp(short16);4437long16 __ovld __cnfn convert_long16_rtn(short16);4438long16 __ovld __cnfn convert_long16_sat_rtn(short16);4439long16 __ovld __cnfn convert_long16(short16);4440long16 __ovld __cnfn convert_long16_sat(short16);4441long16 __ovld __cnfn convert_long16_rte(ushort16);4442long16 __ovld __cnfn convert_long16_sat_rte(ushort16);4443long16 __ovld __cnfn convert_long16_rtz(ushort16);4444long16 __ovld __cnfn convert_long16_sat_rtz(ushort16);4445long16 __ovld __cnfn convert_long16_rtp(ushort16);4446long16 __ovld __cnfn convert_long16_sat_rtp(ushort16);4447long16 __ovld __cnfn convert_long16_rtn(ushort16);4448long16 __ovld __cnfn convert_long16_sat_rtn(ushort16);4449long16 __ovld __cnfn convert_long16(ushort16);4450long16 __ovld __cnfn convert_long16_sat(ushort16);4451long16 __ovld __cnfn convert_long16_rte(int16);4452long16 __ovld __cnfn convert_long16_sat_rte(int16);4453long16 __ovld __cnfn convert_long16_rtz(int16);4454long16 __ovld __cnfn convert_long16_sat_rtz(int16);4455long16 __ovld __cnfn convert_long16_rtp(int16);4456long16 __ovld __cnfn convert_long16_sat_rtp(int16);4457long16 __ovld __cnfn convert_long16_rtn(int16);4458long16 __ovld __cnfn convert_long16_sat_rtn(int16);4459long16 __ovld __cnfn convert_long16(int16);4460long16 __ovld __cnfn convert_long16_sat(int16);4461long16 __ovld __cnfn convert_long16_rte(uint16);4462long16 __ovld __cnfn convert_long16_sat_rte(uint16);4463long16 __ovld __cnfn convert_long16_rtz(uint16);4464long16 __ovld __cnfn convert_long16_sat_rtz(uint16);4465long16 __ovld __cnfn convert_long16_rtp(uint16);4466long16 __ovld __cnfn convert_long16_sat_rtp(uint16);4467long16 __ovld __cnfn convert_long16_rtn(uint16);4468long16 __ovld __cnfn convert_long16_sat_rtn(uint16);4469long16 __ovld __cnfn convert_long16(uint16);4470long16 __ovld __cnfn convert_long16_sat(uint16);4471long16 __ovld __cnfn convert_long16_rte(long16);4472long16 __ovld __cnfn convert_long16_sat_rte(long16);4473long16 __ovld __cnfn convert_long16_rtz(long16);4474long16 __ovld __cnfn convert_long16_sat_rtz(long16);4475long16 __ovld __cnfn convert_long16_rtp(long16);4476long16 __ovld __cnfn convert_long16_sat_rtp(long16);4477long16 __ovld __cnfn convert_long16_rtn(long16);4478long16 __ovld __cnfn convert_long16_sat_rtn(long16);4479long16 __ovld __cnfn convert_long16(long16);4480long16 __ovld __cnfn convert_long16_sat(long16);4481long16 __ovld __cnfn convert_long16_rte(ulong16);4482long16 __ovld __cnfn convert_long16_sat_rte(ulong16);4483long16 __ovld __cnfn convert_long16_rtz(ulong16);4484long16 __ovld __cnfn convert_long16_sat_rtz(ulong16);4485long16 __ovld __cnfn convert_long16_rtp(ulong16);4486long16 __ovld __cnfn convert_long16_sat_rtp(ulong16);4487long16 __ovld __cnfn convert_long16_rtn(ulong16);4488long16 __ovld __cnfn convert_long16_sat_rtn(ulong16);4489long16 __ovld __cnfn convert_long16(ulong16);4490long16 __ovld __cnfn convert_long16_sat(ulong16);4491long16 __ovld __cnfn convert_long16_rte(float16);4492long16 __ovld __cnfn convert_long16_sat_rte(float16);4493long16 __ovld __cnfn convert_long16_rtz(float16);4494long16 __ovld __cnfn convert_long16_sat_rtz(float16);4495long16 __ovld __cnfn convert_long16_rtp(float16);4496long16 __ovld __cnfn convert_long16_sat_rtp(float16);4497long16 __ovld __cnfn convert_long16_rtn(float16);4498long16 __ovld __cnfn convert_long16_sat_rtn(float16);4499long16 __ovld __cnfn convert_long16(float16);4500long16 __ovld __cnfn convert_long16_sat(float16);4501ulong16 __ovld __cnfn convert_ulong16_rte(char16);4502ulong16 __ovld __cnfn convert_ulong16_sat_rte(char16);4503ulong16 __ovld __cnfn convert_ulong16_rtz(char16);4504ulong16 __ovld __cnfn convert_ulong16_sat_rtz(char16);4505ulong16 __ovld __cnfn convert_ulong16_rtp(char16);4506ulong16 __ovld __cnfn convert_ulong16_sat_rtp(char16);4507ulong16 __ovld __cnfn convert_ulong16_rtn(char16);4508ulong16 __ovld __cnfn convert_ulong16_sat_rtn(char16);4509ulong16 __ovld __cnfn convert_ulong16(char16);4510ulong16 __ovld __cnfn convert_ulong16_sat(char16);4511ulong16 __ovld __cnfn convert_ulong16_rte(uchar16);4512ulong16 __ovld __cnfn convert_ulong16_sat_rte(uchar16);4513ulong16 __ovld __cnfn convert_ulong16_rtz(uchar16);4514ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uchar16);4515ulong16 __ovld __cnfn convert_ulong16_rtp(uchar16);4516ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uchar16);4517ulong16 __ovld __cnfn convert_ulong16_rtn(uchar16);4518ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uchar16);4519ulong16 __ovld __cnfn convert_ulong16(uchar16);4520ulong16 __ovld __cnfn convert_ulong16_sat(uchar16);4521ulong16 __ovld __cnfn convert_ulong16_rte(short16);4522ulong16 __ovld __cnfn convert_ulong16_sat_rte(short16);4523ulong16 __ovld __cnfn convert_ulong16_rtz(short16);4524ulong16 __ovld __cnfn convert_ulong16_sat_rtz(short16);4525ulong16 __ovld __cnfn convert_ulong16_rtp(short16);4526ulong16 __ovld __cnfn convert_ulong16_sat_rtp(short16);4527ulong16 __ovld __cnfn convert_ulong16_rtn(short16);4528ulong16 __ovld __cnfn convert_ulong16_sat_rtn(short16);4529ulong16 __ovld __cnfn convert_ulong16(short16);4530ulong16 __ovld __cnfn convert_ulong16_sat(short16);4531ulong16 __ovld __cnfn convert_ulong16_rte(ushort16);4532ulong16 __ovld __cnfn convert_ulong16_sat_rte(ushort16);4533ulong16 __ovld __cnfn convert_ulong16_rtz(ushort16);4534ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ushort16);4535ulong16 __ovld __cnfn convert_ulong16_rtp(ushort16);4536ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ushort16);4537ulong16 __ovld __cnfn convert_ulong16_rtn(ushort16);4538ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ushort16);4539ulong16 __ovld __cnfn convert_ulong16(ushort16);4540ulong16 __ovld __cnfn convert_ulong16_sat(ushort16);4541ulong16 __ovld __cnfn convert_ulong16_rte(int16);4542ulong16 __ovld __cnfn convert_ulong16_sat_rte(int16);4543ulong16 __ovld __cnfn convert_ulong16_rtz(int16);4544ulong16 __ovld __cnfn convert_ulong16_sat_rtz(int16);4545ulong16 __ovld __cnfn convert_ulong16_rtp(int16);4546ulong16 __ovld __cnfn convert_ulong16_sat_rtp(int16);4547ulong16 __ovld __cnfn convert_ulong16_rtn(int16);4548ulong16 __ovld __cnfn convert_ulong16_sat_rtn(int16);4549ulong16 __ovld __cnfn convert_ulong16(int16);4550ulong16 __ovld __cnfn convert_ulong16_sat(int16);4551ulong16 __ovld __cnfn convert_ulong16_rte(uint16);4552ulong16 __ovld __cnfn convert_ulong16_sat_rte(uint16);4553ulong16 __ovld __cnfn convert_ulong16_rtz(uint16);4554ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uint16);4555ulong16 __ovld __cnfn convert_ulong16_rtp(uint16);4556ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uint16);4557ulong16 __ovld __cnfn convert_ulong16_rtn(uint16);4558ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uint16);4559ulong16 __ovld __cnfn convert_ulong16(uint16);4560ulong16 __ovld __cnfn convert_ulong16_sat(uint16);4561ulong16 __ovld __cnfn convert_ulong16_rte(long16);4562ulong16 __ovld __cnfn convert_ulong16_sat_rte(long16);4563ulong16 __ovld __cnfn convert_ulong16_rtz(long16);4564ulong16 __ovld __cnfn convert_ulong16_sat_rtz(long16);4565ulong16 __ovld __cnfn convert_ulong16_rtp(long16);4566ulong16 __ovld __cnfn convert_ulong16_sat_rtp(long16);4567ulong16 __ovld __cnfn convert_ulong16_rtn(long16);4568ulong16 __ovld __cnfn convert_ulong16_sat_rtn(long16);4569ulong16 __ovld __cnfn convert_ulong16(long16);4570ulong16 __ovld __cnfn convert_ulong16_sat(long16);4571ulong16 __ovld __cnfn convert_ulong16_rte(ulong16);4572ulong16 __ovld __cnfn convert_ulong16_sat_rte(ulong16);4573ulong16 __ovld __cnfn convert_ulong16_rtz(ulong16);4574ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ulong16);4575ulong16 __ovld __cnfn convert_ulong16_rtp(ulong16);4576ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ulong16);4577ulong16 __ovld __cnfn convert_ulong16_rtn(ulong16);4578ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ulong16);4579ulong16 __ovld __cnfn convert_ulong16(ulong16);4580ulong16 __ovld __cnfn convert_ulong16_sat(ulong16);4581ulong16 __ovld __cnfn convert_ulong16_rte(float16);4582ulong16 __ovld __cnfn convert_ulong16_sat_rte(float16);4583ulong16 __ovld __cnfn convert_ulong16_rtz(float16);4584ulong16 __ovld __cnfn convert_ulong16_sat_rtz(float16);4585ulong16 __ovld __cnfn convert_ulong16_rtp(float16);4586ulong16 __ovld __cnfn convert_ulong16_sat_rtp(float16);4587ulong16 __ovld __cnfn convert_ulong16_rtn(float16);4588ulong16 __ovld __cnfn convert_ulong16_sat_rtn(float16);4589ulong16 __ovld __cnfn convert_ulong16(float16);4590ulong16 __ovld __cnfn convert_ulong16_sat(float16);4591float16 __ovld __cnfn convert_float16_rte(char16);4592float16 __ovld __cnfn convert_float16_rtz(char16);4593float16 __ovld __cnfn convert_float16_rtp(char16);4594float16 __ovld __cnfn convert_float16_rtn(char16);4595float16 __ovld __cnfn convert_float16(char16);4596float16 __ovld __cnfn convert_float16_rte(uchar16);4597float16 __ovld __cnfn convert_float16_rtz(uchar16);4598float16 __ovld __cnfn convert_float16_rtp(uchar16);4599float16 __ovld __cnfn convert_float16_rtn(uchar16);4600float16 __ovld __cnfn convert_float16(uchar16);4601float16 __ovld __cnfn convert_float16_rte(short16);4602float16 __ovld __cnfn convert_float16_rtz(short16);4603float16 __ovld __cnfn convert_float16_rtp(short16);4604float16 __ovld __cnfn convert_float16_rtn(short16);4605float16 __ovld __cnfn convert_float16(short16);4606float16 __ovld __cnfn convert_float16_rte(ushort16);4607float16 __ovld __cnfn convert_float16_rtz(ushort16);4608float16 __ovld __cnfn convert_float16_rtp(ushort16);4609float16 __ovld __cnfn convert_float16_rtn(ushort16);4610float16 __ovld __cnfn convert_float16(ushort16);4611float16 __ovld __cnfn convert_float16_rte(int16);4612float16 __ovld __cnfn convert_float16_rtz(int16);4613float16 __ovld __cnfn convert_float16_rtp(int16);4614float16 __ovld __cnfn convert_float16_rtn(int16);4615float16 __ovld __cnfn convert_float16(int16);4616float16 __ovld __cnfn convert_float16_rte(uint16);4617float16 __ovld __cnfn convert_float16_rtz(uint16);4618float16 __ovld __cnfn convert_float16_rtp(uint16);4619float16 __ovld __cnfn convert_float16_rtn(uint16);4620float16 __ovld __cnfn convert_float16(uint16);4621float16 __ovld __cnfn convert_float16_rte(long16);4622float16 __ovld __cnfn convert_float16_rtz(long16);4623float16 __ovld __cnfn convert_float16_rtp(long16);4624float16 __ovld __cnfn convert_float16_rtn(long16);4625float16 __ovld __cnfn convert_float16(long16);4626float16 __ovld __cnfn convert_float16_rte(ulong16);4627float16 __ovld __cnfn convert_float16_rtz(ulong16);4628float16 __ovld __cnfn convert_float16_rtp(ulong16);4629float16 __ovld __cnfn convert_float16_rtn(ulong16);4630float16 __ovld __cnfn convert_float16(ulong16);4631float16 __ovld __cnfn convert_float16_rte(float16);4632float16 __ovld __cnfn convert_float16_rtz(float16);4633float16 __ovld __cnfn convert_float16_rtp(float16);4634float16 __ovld __cnfn convert_float16_rtn(float16);4635float16 __ovld __cnfn convert_float16(float16);4636 4637// Conversions with double data type parameters or return value.4638 4639#ifdef cl_khr_fp644640#pragma OPENCL EXTENSION cl_khr_fp64 : enable4641char __ovld __cnfn convert_char(double);4642char __ovld __cnfn convert_char_rte(double);4643char __ovld __cnfn convert_char_rtn(double);4644char __ovld __cnfn convert_char_rtp(double);4645char __ovld __cnfn convert_char_rtz(double);4646char __ovld __cnfn convert_char_sat(double);4647char __ovld __cnfn convert_char_sat_rte(double);4648char __ovld __cnfn convert_char_sat_rtn(double);4649char __ovld __cnfn convert_char_sat_rtp(double);4650char __ovld __cnfn convert_char_sat_rtz(double);4651char2 __ovld __cnfn convert_char2(double2);4652char2 __ovld __cnfn convert_char2_rte(double2);4653char2 __ovld __cnfn convert_char2_rtn(double2);4654char2 __ovld __cnfn convert_char2_rtp(double2);4655char2 __ovld __cnfn convert_char2_rtz(double2);4656char2 __ovld __cnfn convert_char2_sat(double2);4657char2 __ovld __cnfn convert_char2_sat_rte(double2);4658char2 __ovld __cnfn convert_char2_sat_rtn(double2);4659char2 __ovld __cnfn convert_char2_sat_rtp(double2);4660char2 __ovld __cnfn convert_char2_sat_rtz(double2);4661char3 __ovld __cnfn convert_char3(double3);4662char3 __ovld __cnfn convert_char3_rte(double3);4663char3 __ovld __cnfn convert_char3_rtn(double3);4664char3 __ovld __cnfn convert_char3_rtp(double3);4665char3 __ovld __cnfn convert_char3_rtz(double3);4666char3 __ovld __cnfn convert_char3_sat(double3);4667char3 __ovld __cnfn convert_char3_sat_rte(double3);4668char3 __ovld __cnfn convert_char3_sat_rtn(double3);4669char3 __ovld __cnfn convert_char3_sat_rtp(double3);4670char3 __ovld __cnfn convert_char3_sat_rtz(double3);4671char4 __ovld __cnfn convert_char4(double4);4672char4 __ovld __cnfn convert_char4_rte(double4);4673char4 __ovld __cnfn convert_char4_rtn(double4);4674char4 __ovld __cnfn convert_char4_rtp(double4);4675char4 __ovld __cnfn convert_char4_rtz(double4);4676char4 __ovld __cnfn convert_char4_sat(double4);4677char4 __ovld __cnfn convert_char4_sat_rte(double4);4678char4 __ovld __cnfn convert_char4_sat_rtn(double4);4679char4 __ovld __cnfn convert_char4_sat_rtp(double4);4680char4 __ovld __cnfn convert_char4_sat_rtz(double4);4681char8 __ovld __cnfn convert_char8(double8);4682char8 __ovld __cnfn convert_char8_rte(double8);4683char8 __ovld __cnfn convert_char8_rtn(double8);4684char8 __ovld __cnfn convert_char8_rtp(double8);4685char8 __ovld __cnfn convert_char8_rtz(double8);4686char8 __ovld __cnfn convert_char8_sat(double8);4687char8 __ovld __cnfn convert_char8_sat_rte(double8);4688char8 __ovld __cnfn convert_char8_sat_rtn(double8);4689char8 __ovld __cnfn convert_char8_sat_rtp(double8);4690char8 __ovld __cnfn convert_char8_sat_rtz(double8);4691char16 __ovld __cnfn convert_char16(double16);4692char16 __ovld __cnfn convert_char16_rte(double16);4693char16 __ovld __cnfn convert_char16_rtn(double16);4694char16 __ovld __cnfn convert_char16_rtp(double16);4695char16 __ovld __cnfn convert_char16_rtz(double16);4696char16 __ovld __cnfn convert_char16_sat(double16);4697char16 __ovld __cnfn convert_char16_sat_rte(double16);4698char16 __ovld __cnfn convert_char16_sat_rtn(double16);4699char16 __ovld __cnfn convert_char16_sat_rtp(double16);4700char16 __ovld __cnfn convert_char16_sat_rtz(double16);4701 4702uchar __ovld __cnfn convert_uchar(double);4703uchar __ovld __cnfn convert_uchar_rte(double);4704uchar __ovld __cnfn convert_uchar_rtn(double);4705uchar __ovld __cnfn convert_uchar_rtp(double);4706uchar __ovld __cnfn convert_uchar_rtz(double);4707uchar __ovld __cnfn convert_uchar_sat(double);4708uchar __ovld __cnfn convert_uchar_sat_rte(double);4709uchar __ovld __cnfn convert_uchar_sat_rtn(double);4710uchar __ovld __cnfn convert_uchar_sat_rtp(double);4711uchar __ovld __cnfn convert_uchar_sat_rtz(double);4712uchar2 __ovld __cnfn convert_uchar2(double2);4713uchar2 __ovld __cnfn convert_uchar2_rte(double2);4714uchar2 __ovld __cnfn convert_uchar2_rtn(double2);4715uchar2 __ovld __cnfn convert_uchar2_rtp(double2);4716uchar2 __ovld __cnfn convert_uchar2_rtz(double2);4717uchar2 __ovld __cnfn convert_uchar2_sat(double2);4718uchar2 __ovld __cnfn convert_uchar2_sat_rte(double2);4719uchar2 __ovld __cnfn convert_uchar2_sat_rtn(double2);4720uchar2 __ovld __cnfn convert_uchar2_sat_rtp(double2);4721uchar2 __ovld __cnfn convert_uchar2_sat_rtz(double2);4722uchar3 __ovld __cnfn convert_uchar3(double3);4723uchar3 __ovld __cnfn convert_uchar3_rte(double3);4724uchar3 __ovld __cnfn convert_uchar3_rtn(double3);4725uchar3 __ovld __cnfn convert_uchar3_rtp(double3);4726uchar3 __ovld __cnfn convert_uchar3_rtz(double3);4727uchar3 __ovld __cnfn convert_uchar3_sat(double3);4728uchar3 __ovld __cnfn convert_uchar3_sat_rte(double3);4729uchar3 __ovld __cnfn convert_uchar3_sat_rtn(double3);4730uchar3 __ovld __cnfn convert_uchar3_sat_rtp(double3);4731uchar3 __ovld __cnfn convert_uchar3_sat_rtz(double3);4732uchar4 __ovld __cnfn convert_uchar4(double4);4733uchar4 __ovld __cnfn convert_uchar4_rte(double4);4734uchar4 __ovld __cnfn convert_uchar4_rtn(double4);4735uchar4 __ovld __cnfn convert_uchar4_rtp(double4);4736uchar4 __ovld __cnfn convert_uchar4_rtz(double4);4737uchar4 __ovld __cnfn convert_uchar4_sat(double4);4738uchar4 __ovld __cnfn convert_uchar4_sat_rte(double4);4739uchar4 __ovld __cnfn convert_uchar4_sat_rtn(double4);4740uchar4 __ovld __cnfn convert_uchar4_sat_rtp(double4);4741uchar4 __ovld __cnfn convert_uchar4_sat_rtz(double4);4742uchar8 __ovld __cnfn convert_uchar8(double8);4743uchar8 __ovld __cnfn convert_uchar8_rte(double8);4744uchar8 __ovld __cnfn convert_uchar8_rtn(double8);4745uchar8 __ovld __cnfn convert_uchar8_rtp(double8);4746uchar8 __ovld __cnfn convert_uchar8_rtz(double8);4747uchar8 __ovld __cnfn convert_uchar8_sat(double8);4748uchar8 __ovld __cnfn convert_uchar8_sat_rte(double8);4749uchar8 __ovld __cnfn convert_uchar8_sat_rtn(double8);4750uchar8 __ovld __cnfn convert_uchar8_sat_rtp(double8);4751uchar8 __ovld __cnfn convert_uchar8_sat_rtz(double8);4752uchar16 __ovld __cnfn convert_uchar16(double16);4753uchar16 __ovld __cnfn convert_uchar16_rte(double16);4754uchar16 __ovld __cnfn convert_uchar16_rtn(double16);4755uchar16 __ovld __cnfn convert_uchar16_rtp(double16);4756uchar16 __ovld __cnfn convert_uchar16_rtz(double16);4757uchar16 __ovld __cnfn convert_uchar16_sat(double16);4758uchar16 __ovld __cnfn convert_uchar16_sat_rte(double16);4759uchar16 __ovld __cnfn convert_uchar16_sat_rtn(double16);4760uchar16 __ovld __cnfn convert_uchar16_sat_rtp(double16);4761uchar16 __ovld __cnfn convert_uchar16_sat_rtz(double16);4762 4763short __ovld __cnfn convert_short(double);4764short __ovld __cnfn convert_short_rte(double);4765short __ovld __cnfn convert_short_rtn(double);4766short __ovld __cnfn convert_short_rtp(double);4767short __ovld __cnfn convert_short_rtz(double);4768short __ovld __cnfn convert_short_sat(double);4769short __ovld __cnfn convert_short_sat_rte(double);4770short __ovld __cnfn convert_short_sat_rtn(double);4771short __ovld __cnfn convert_short_sat_rtp(double);4772short __ovld __cnfn convert_short_sat_rtz(double);4773short2 __ovld __cnfn convert_short2(double2);4774short2 __ovld __cnfn convert_short2_rte(double2);4775short2 __ovld __cnfn convert_short2_rtn(double2);4776short2 __ovld __cnfn convert_short2_rtp(double2);4777short2 __ovld __cnfn convert_short2_rtz(double2);4778short2 __ovld __cnfn convert_short2_sat(double2);4779short2 __ovld __cnfn convert_short2_sat_rte(double2);4780short2 __ovld __cnfn convert_short2_sat_rtn(double2);4781short2 __ovld __cnfn convert_short2_sat_rtp(double2);4782short2 __ovld __cnfn convert_short2_sat_rtz(double2);4783short3 __ovld __cnfn convert_short3(double3);4784short3 __ovld __cnfn convert_short3_rte(double3);4785short3 __ovld __cnfn convert_short3_rtn(double3);4786short3 __ovld __cnfn convert_short3_rtp(double3);4787short3 __ovld __cnfn convert_short3_rtz(double3);4788short3 __ovld __cnfn convert_short3_sat(double3);4789short3 __ovld __cnfn convert_short3_sat_rte(double3);4790short3 __ovld __cnfn convert_short3_sat_rtn(double3);4791short3 __ovld __cnfn convert_short3_sat_rtp(double3);4792short3 __ovld __cnfn convert_short3_sat_rtz(double3);4793short4 __ovld __cnfn convert_short4(double4);4794short4 __ovld __cnfn convert_short4_rte(double4);4795short4 __ovld __cnfn convert_short4_rtn(double4);4796short4 __ovld __cnfn convert_short4_rtp(double4);4797short4 __ovld __cnfn convert_short4_rtz(double4);4798short4 __ovld __cnfn convert_short4_sat(double4);4799short4 __ovld __cnfn convert_short4_sat_rte(double4);4800short4 __ovld __cnfn convert_short4_sat_rtn(double4);4801short4 __ovld __cnfn convert_short4_sat_rtp(double4);4802short4 __ovld __cnfn convert_short4_sat_rtz(double4);4803short8 __ovld __cnfn convert_short8(double8);4804short8 __ovld __cnfn convert_short8_rte(double8);4805short8 __ovld __cnfn convert_short8_rtn(double8);4806short8 __ovld __cnfn convert_short8_rtp(double8);4807short8 __ovld __cnfn convert_short8_rtz(double8);4808short8 __ovld __cnfn convert_short8_sat(double8);4809short8 __ovld __cnfn convert_short8_sat_rte(double8);4810short8 __ovld __cnfn convert_short8_sat_rtn(double8);4811short8 __ovld __cnfn convert_short8_sat_rtp(double8);4812short8 __ovld __cnfn convert_short8_sat_rtz(double8);4813short16 __ovld __cnfn convert_short16(double16);4814short16 __ovld __cnfn convert_short16_rte(double16);4815short16 __ovld __cnfn convert_short16_rtn(double16);4816short16 __ovld __cnfn convert_short16_rtp(double16);4817short16 __ovld __cnfn convert_short16_rtz(double16);4818short16 __ovld __cnfn convert_short16_sat(double16);4819short16 __ovld __cnfn convert_short16_sat_rte(double16);4820short16 __ovld __cnfn convert_short16_sat_rtn(double16);4821short16 __ovld __cnfn convert_short16_sat_rtp(double16);4822short16 __ovld __cnfn convert_short16_sat_rtz(double16);4823 4824ushort __ovld __cnfn convert_ushort(double);4825ushort __ovld __cnfn convert_ushort_rte(double);4826ushort __ovld __cnfn convert_ushort_rtn(double);4827ushort __ovld __cnfn convert_ushort_rtp(double);4828ushort __ovld __cnfn convert_ushort_rtz(double);4829ushort __ovld __cnfn convert_ushort_sat(double);4830ushort __ovld __cnfn convert_ushort_sat_rte(double);4831ushort __ovld __cnfn convert_ushort_sat_rtn(double);4832ushort __ovld __cnfn convert_ushort_sat_rtp(double);4833ushort __ovld __cnfn convert_ushort_sat_rtz(double);4834ushort2 __ovld __cnfn convert_ushort2(double2);4835ushort2 __ovld __cnfn convert_ushort2_rte(double2);4836ushort2 __ovld __cnfn convert_ushort2_rtn(double2);4837ushort2 __ovld __cnfn convert_ushort2_rtp(double2);4838ushort2 __ovld __cnfn convert_ushort2_rtz(double2);4839ushort2 __ovld __cnfn convert_ushort2_sat(double2);4840ushort2 __ovld __cnfn convert_ushort2_sat_rte(double2);4841ushort2 __ovld __cnfn convert_ushort2_sat_rtn(double2);4842ushort2 __ovld __cnfn convert_ushort2_sat_rtp(double2);4843ushort2 __ovld __cnfn convert_ushort2_sat_rtz(double2);4844ushort3 __ovld __cnfn convert_ushort3(double3);4845ushort3 __ovld __cnfn convert_ushort3_rte(double3);4846ushort3 __ovld __cnfn convert_ushort3_rtn(double3);4847ushort3 __ovld __cnfn convert_ushort3_rtp(double3);4848ushort3 __ovld __cnfn convert_ushort3_rtz(double3);4849ushort3 __ovld __cnfn convert_ushort3_sat(double3);4850ushort3 __ovld __cnfn convert_ushort3_sat_rte(double3);4851ushort3 __ovld __cnfn convert_ushort3_sat_rtn(double3);4852ushort3 __ovld __cnfn convert_ushort3_sat_rtp(double3);4853ushort3 __ovld __cnfn convert_ushort3_sat_rtz(double3);4854ushort4 __ovld __cnfn convert_ushort4(double4);4855ushort4 __ovld __cnfn convert_ushort4_rte(double4);4856ushort4 __ovld __cnfn convert_ushort4_rtn(double4);4857ushort4 __ovld __cnfn convert_ushort4_rtp(double4);4858ushort4 __ovld __cnfn convert_ushort4_rtz(double4);4859ushort4 __ovld __cnfn convert_ushort4_sat(double4);4860ushort4 __ovld __cnfn convert_ushort4_sat_rte(double4);4861ushort4 __ovld __cnfn convert_ushort4_sat_rtn(double4);4862ushort4 __ovld __cnfn convert_ushort4_sat_rtp(double4);4863ushort4 __ovld __cnfn convert_ushort4_sat_rtz(double4);4864ushort8 __ovld __cnfn convert_ushort8(double8);4865ushort8 __ovld __cnfn convert_ushort8_rte(double8);4866ushort8 __ovld __cnfn convert_ushort8_rtn(double8);4867ushort8 __ovld __cnfn convert_ushort8_rtp(double8);4868ushort8 __ovld __cnfn convert_ushort8_rtz(double8);4869ushort8 __ovld __cnfn convert_ushort8_sat(double8);4870ushort8 __ovld __cnfn convert_ushort8_sat_rte(double8);4871ushort8 __ovld __cnfn convert_ushort8_sat_rtn(double8);4872ushort8 __ovld __cnfn convert_ushort8_sat_rtp(double8);4873ushort8 __ovld __cnfn convert_ushort8_sat_rtz(double8);4874ushort16 __ovld __cnfn convert_ushort16(double16);4875ushort16 __ovld __cnfn convert_ushort16_rte(double16);4876ushort16 __ovld __cnfn convert_ushort16_rtn(double16);4877ushort16 __ovld __cnfn convert_ushort16_rtp(double16);4878ushort16 __ovld __cnfn convert_ushort16_rtz(double16);4879ushort16 __ovld __cnfn convert_ushort16_sat(double16);4880ushort16 __ovld __cnfn convert_ushort16_sat_rte(double16);4881ushort16 __ovld __cnfn convert_ushort16_sat_rtn(double16);4882ushort16 __ovld __cnfn convert_ushort16_sat_rtp(double16);4883ushort16 __ovld __cnfn convert_ushort16_sat_rtz(double16);4884 4885int __ovld __cnfn convert_int(double);4886int __ovld __cnfn convert_int_rte(double);4887int __ovld __cnfn convert_int_rtn(double);4888int __ovld __cnfn convert_int_rtp(double);4889int __ovld __cnfn convert_int_rtz(double);4890int __ovld __cnfn convert_int_sat(double);4891int __ovld __cnfn convert_int_sat_rte(double);4892int __ovld __cnfn convert_int_sat_rtn(double);4893int __ovld __cnfn convert_int_sat_rtp(double);4894int __ovld __cnfn convert_int_sat_rtz(double);4895int2 __ovld __cnfn convert_int2(double2);4896int2 __ovld __cnfn convert_int2_rte(double2);4897int2 __ovld __cnfn convert_int2_rtn(double2);4898int2 __ovld __cnfn convert_int2_rtp(double2);4899int2 __ovld __cnfn convert_int2_rtz(double2);4900int2 __ovld __cnfn convert_int2_sat(double2);4901int2 __ovld __cnfn convert_int2_sat_rte(double2);4902int2 __ovld __cnfn convert_int2_sat_rtn(double2);4903int2 __ovld __cnfn convert_int2_sat_rtp(double2);4904int2 __ovld __cnfn convert_int2_sat_rtz(double2);4905int3 __ovld __cnfn convert_int3(double3);4906int3 __ovld __cnfn convert_int3_rte(double3);4907int3 __ovld __cnfn convert_int3_rtn(double3);4908int3 __ovld __cnfn convert_int3_rtp(double3);4909int3 __ovld __cnfn convert_int3_rtz(double3);4910int3 __ovld __cnfn convert_int3_sat(double3);4911int3 __ovld __cnfn convert_int3_sat_rte(double3);4912int3 __ovld __cnfn convert_int3_sat_rtn(double3);4913int3 __ovld __cnfn convert_int3_sat_rtp(double3);4914int3 __ovld __cnfn convert_int3_sat_rtz(double3);4915int4 __ovld __cnfn convert_int4(double4);4916int4 __ovld __cnfn convert_int4_rte(double4);4917int4 __ovld __cnfn convert_int4_rtn(double4);4918int4 __ovld __cnfn convert_int4_rtp(double4);4919int4 __ovld __cnfn convert_int4_rtz(double4);4920int4 __ovld __cnfn convert_int4_sat(double4);4921int4 __ovld __cnfn convert_int4_sat_rte(double4);4922int4 __ovld __cnfn convert_int4_sat_rtn(double4);4923int4 __ovld __cnfn convert_int4_sat_rtp(double4);4924int4 __ovld __cnfn convert_int4_sat_rtz(double4);4925int8 __ovld __cnfn convert_int8(double8);4926int8 __ovld __cnfn convert_int8_rte(double8);4927int8 __ovld __cnfn convert_int8_rtn(double8);4928int8 __ovld __cnfn convert_int8_rtp(double8);4929int8 __ovld __cnfn convert_int8_rtz(double8);4930int8 __ovld __cnfn convert_int8_sat(double8);4931int8 __ovld __cnfn convert_int8_sat_rte(double8);4932int8 __ovld __cnfn convert_int8_sat_rtn(double8);4933int8 __ovld __cnfn convert_int8_sat_rtp(double8);4934int8 __ovld __cnfn convert_int8_sat_rtz(double8);4935int16 __ovld __cnfn convert_int16(double16);4936int16 __ovld __cnfn convert_int16_rte(double16);4937int16 __ovld __cnfn convert_int16_rtn(double16);4938int16 __ovld __cnfn convert_int16_rtp(double16);4939int16 __ovld __cnfn convert_int16_rtz(double16);4940int16 __ovld __cnfn convert_int16_sat(double16);4941int16 __ovld __cnfn convert_int16_sat_rte(double16);4942int16 __ovld __cnfn convert_int16_sat_rtn(double16);4943int16 __ovld __cnfn convert_int16_sat_rtp(double16);4944int16 __ovld __cnfn convert_int16_sat_rtz(double16);4945 4946uint __ovld __cnfn convert_uint(double);4947uint __ovld __cnfn convert_uint_rte(double);4948uint __ovld __cnfn convert_uint_rtn(double);4949uint __ovld __cnfn convert_uint_rtp(double);4950uint __ovld __cnfn convert_uint_rtz(double);4951uint __ovld __cnfn convert_uint_sat(double);4952uint __ovld __cnfn convert_uint_sat_rte(double);4953uint __ovld __cnfn convert_uint_sat_rtn(double);4954uint __ovld __cnfn convert_uint_sat_rtp(double);4955uint __ovld __cnfn convert_uint_sat_rtz(double);4956uint2 __ovld __cnfn convert_uint2(double2);4957uint2 __ovld __cnfn convert_uint2_rte(double2);4958uint2 __ovld __cnfn convert_uint2_rtn(double2);4959uint2 __ovld __cnfn convert_uint2_rtp(double2);4960uint2 __ovld __cnfn convert_uint2_rtz(double2);4961uint2 __ovld __cnfn convert_uint2_sat(double2);4962uint2 __ovld __cnfn convert_uint2_sat_rte(double2);4963uint2 __ovld __cnfn convert_uint2_sat_rtn(double2);4964uint2 __ovld __cnfn convert_uint2_sat_rtp(double2);4965uint2 __ovld __cnfn convert_uint2_sat_rtz(double2);4966uint3 __ovld __cnfn convert_uint3(double3);4967uint3 __ovld __cnfn convert_uint3_rte(double3);4968uint3 __ovld __cnfn convert_uint3_rtn(double3);4969uint3 __ovld __cnfn convert_uint3_rtp(double3);4970uint3 __ovld __cnfn convert_uint3_rtz(double3);4971uint3 __ovld __cnfn convert_uint3_sat(double3);4972uint3 __ovld __cnfn convert_uint3_sat_rte(double3);4973uint3 __ovld __cnfn convert_uint3_sat_rtn(double3);4974uint3 __ovld __cnfn convert_uint3_sat_rtp(double3);4975uint3 __ovld __cnfn convert_uint3_sat_rtz(double3);4976uint4 __ovld __cnfn convert_uint4(double4);4977uint4 __ovld __cnfn convert_uint4_rte(double4);4978uint4 __ovld __cnfn convert_uint4_rtn(double4);4979uint4 __ovld __cnfn convert_uint4_rtp(double4);4980uint4 __ovld __cnfn convert_uint4_rtz(double4);4981uint4 __ovld __cnfn convert_uint4_sat(double4);4982uint4 __ovld __cnfn convert_uint4_sat_rte(double4);4983uint4 __ovld __cnfn convert_uint4_sat_rtn(double4);4984uint4 __ovld __cnfn convert_uint4_sat_rtp(double4);4985uint4 __ovld __cnfn convert_uint4_sat_rtz(double4);4986uint8 __ovld __cnfn convert_uint8(double8);4987uint8 __ovld __cnfn convert_uint8_rte(double8);4988uint8 __ovld __cnfn convert_uint8_rtn(double8);4989uint8 __ovld __cnfn convert_uint8_rtp(double8);4990uint8 __ovld __cnfn convert_uint8_rtz(double8);4991uint8 __ovld __cnfn convert_uint8_sat(double8);4992uint8 __ovld __cnfn convert_uint8_sat_rte(double8);4993uint8 __ovld __cnfn convert_uint8_sat_rtn(double8);4994uint8 __ovld __cnfn convert_uint8_sat_rtp(double8);4995uint8 __ovld __cnfn convert_uint8_sat_rtz(double8);4996uint16 __ovld __cnfn convert_uint16(double16);4997uint16 __ovld __cnfn convert_uint16_rte(double16);4998uint16 __ovld __cnfn convert_uint16_rtn(double16);4999uint16 __ovld __cnfn convert_uint16_rtp(double16);5000uint16 __ovld __cnfn convert_uint16_rtz(double16);5001uint16 __ovld __cnfn convert_uint16_sat(double16);5002uint16 __ovld __cnfn convert_uint16_sat_rte(double16);5003uint16 __ovld __cnfn convert_uint16_sat_rtn(double16);5004uint16 __ovld __cnfn convert_uint16_sat_rtp(double16);5005uint16 __ovld __cnfn convert_uint16_sat_rtz(double16);5006 5007long __ovld __cnfn convert_long(double);5008long __ovld __cnfn convert_long_rte(double);5009long __ovld __cnfn convert_long_rtn(double);5010long __ovld __cnfn convert_long_rtp(double);5011long __ovld __cnfn convert_long_rtz(double);5012long __ovld __cnfn convert_long_sat(double);5013long __ovld __cnfn convert_long_sat_rte(double);5014long __ovld __cnfn convert_long_sat_rtn(double);5015long __ovld __cnfn convert_long_sat_rtp(double);5016long __ovld __cnfn convert_long_sat_rtz(double);5017long2 __ovld __cnfn convert_long2(double2);5018long2 __ovld __cnfn convert_long2_rte(double2);5019long2 __ovld __cnfn convert_long2_rtn(double2);5020long2 __ovld __cnfn convert_long2_rtp(double2);5021long2 __ovld __cnfn convert_long2_rtz(double2);5022long2 __ovld __cnfn convert_long2_sat(double2);5023long2 __ovld __cnfn convert_long2_sat_rte(double2);5024long2 __ovld __cnfn convert_long2_sat_rtn(double2);5025long2 __ovld __cnfn convert_long2_sat_rtp(double2);5026long2 __ovld __cnfn convert_long2_sat_rtz(double2);5027long3 __ovld __cnfn convert_long3(double3);5028long3 __ovld __cnfn convert_long3_rte(double3);5029long3 __ovld __cnfn convert_long3_rtn(double3);5030long3 __ovld __cnfn convert_long3_rtp(double3);5031long3 __ovld __cnfn convert_long3_rtz(double3);5032long3 __ovld __cnfn convert_long3_sat(double3);5033long3 __ovld __cnfn convert_long3_sat_rte(double3);5034long3 __ovld __cnfn convert_long3_sat_rtn(double3);5035long3 __ovld __cnfn convert_long3_sat_rtp(double3);5036long3 __ovld __cnfn convert_long3_sat_rtz(double3);5037long4 __ovld __cnfn convert_long4(double4);5038long4 __ovld __cnfn convert_long4_rte(double4);5039long4 __ovld __cnfn convert_long4_rtn(double4);5040long4 __ovld __cnfn convert_long4_rtp(double4);5041long4 __ovld __cnfn convert_long4_rtz(double4);5042long4 __ovld __cnfn convert_long4_sat(double4);5043long4 __ovld __cnfn convert_long4_sat_rte(double4);5044long4 __ovld __cnfn convert_long4_sat_rtn(double4);5045long4 __ovld __cnfn convert_long4_sat_rtp(double4);5046long4 __ovld __cnfn convert_long4_sat_rtz(double4);5047long8 __ovld __cnfn convert_long8(double8);5048long8 __ovld __cnfn convert_long8_rte(double8);5049long8 __ovld __cnfn convert_long8_rtn(double8);5050long8 __ovld __cnfn convert_long8_rtp(double8);5051long8 __ovld __cnfn convert_long8_rtz(double8);5052long8 __ovld __cnfn convert_long8_sat(double8);5053long8 __ovld __cnfn convert_long8_sat_rte(double8);5054long8 __ovld __cnfn convert_long8_sat_rtn(double8);5055long8 __ovld __cnfn convert_long8_sat_rtp(double8);5056long8 __ovld __cnfn convert_long8_sat_rtz(double8);5057long16 __ovld __cnfn convert_long16(double16);5058long16 __ovld __cnfn convert_long16_rte(double16);5059long16 __ovld __cnfn convert_long16_rtn(double16);5060long16 __ovld __cnfn convert_long16_rtp(double16);5061long16 __ovld __cnfn convert_long16_rtz(double16);5062long16 __ovld __cnfn convert_long16_sat(double16);5063long16 __ovld __cnfn convert_long16_sat_rte(double16);5064long16 __ovld __cnfn convert_long16_sat_rtn(double16);5065long16 __ovld __cnfn convert_long16_sat_rtp(double16);5066long16 __ovld __cnfn convert_long16_sat_rtz(double16);5067 5068ulong __ovld __cnfn convert_ulong(double);5069ulong __ovld __cnfn convert_ulong_rte(double);5070ulong __ovld __cnfn convert_ulong_rtn(double);5071ulong __ovld __cnfn convert_ulong_rtp(double);5072ulong __ovld __cnfn convert_ulong_rtz(double);5073ulong __ovld __cnfn convert_ulong_sat(double);5074ulong __ovld __cnfn convert_ulong_sat_rte(double);5075ulong __ovld __cnfn convert_ulong_sat_rtn(double);5076ulong __ovld __cnfn convert_ulong_sat_rtp(double);5077ulong __ovld __cnfn convert_ulong_sat_rtz(double);5078ulong2 __ovld __cnfn convert_ulong2(double2);5079ulong2 __ovld __cnfn convert_ulong2_rte(double2);5080ulong2 __ovld __cnfn convert_ulong2_rtn(double2);5081ulong2 __ovld __cnfn convert_ulong2_rtp(double2);5082ulong2 __ovld __cnfn convert_ulong2_rtz(double2);5083ulong2 __ovld __cnfn convert_ulong2_sat(double2);5084ulong2 __ovld __cnfn convert_ulong2_sat_rte(double2);5085ulong2 __ovld __cnfn convert_ulong2_sat_rtn(double2);5086ulong2 __ovld __cnfn convert_ulong2_sat_rtp(double2);5087ulong2 __ovld __cnfn convert_ulong2_sat_rtz(double2);5088ulong3 __ovld __cnfn convert_ulong3(double3);5089ulong3 __ovld __cnfn convert_ulong3_rte(double3);5090ulong3 __ovld __cnfn convert_ulong3_rtn(double3);5091ulong3 __ovld __cnfn convert_ulong3_rtp(double3);5092ulong3 __ovld __cnfn convert_ulong3_rtz(double3);5093ulong3 __ovld __cnfn convert_ulong3_sat(double3);5094ulong3 __ovld __cnfn convert_ulong3_sat_rte(double3);5095ulong3 __ovld __cnfn convert_ulong3_sat_rtn(double3);5096ulong3 __ovld __cnfn convert_ulong3_sat_rtp(double3);5097ulong3 __ovld __cnfn convert_ulong3_sat_rtz(double3);5098ulong4 __ovld __cnfn convert_ulong4(double4);5099ulong4 __ovld __cnfn convert_ulong4_rte(double4);5100ulong4 __ovld __cnfn convert_ulong4_rtn(double4);5101ulong4 __ovld __cnfn convert_ulong4_rtp(double4);5102ulong4 __ovld __cnfn convert_ulong4_rtz(double4);5103ulong4 __ovld __cnfn convert_ulong4_sat(double4);5104ulong4 __ovld __cnfn convert_ulong4_sat_rte(double4);5105ulong4 __ovld __cnfn convert_ulong4_sat_rtn(double4);5106ulong4 __ovld __cnfn convert_ulong4_sat_rtp(double4);5107ulong4 __ovld __cnfn convert_ulong4_sat_rtz(double4);5108ulong8 __ovld __cnfn convert_ulong8(double8);5109ulong8 __ovld __cnfn convert_ulong8_rte(double8);5110ulong8 __ovld __cnfn convert_ulong8_rtn(double8);5111ulong8 __ovld __cnfn convert_ulong8_rtp(double8);5112ulong8 __ovld __cnfn convert_ulong8_rtz(double8);5113ulong8 __ovld __cnfn convert_ulong8_sat(double8);5114ulong8 __ovld __cnfn convert_ulong8_sat_rte(double8);5115ulong8 __ovld __cnfn convert_ulong8_sat_rtn(double8);5116ulong8 __ovld __cnfn convert_ulong8_sat_rtp(double8);5117ulong8 __ovld __cnfn convert_ulong8_sat_rtz(double8);5118ulong16 __ovld __cnfn convert_ulong16(double16);5119ulong16 __ovld __cnfn convert_ulong16_rte(double16);5120ulong16 __ovld __cnfn convert_ulong16_rtn(double16);5121ulong16 __ovld __cnfn convert_ulong16_rtp(double16);5122ulong16 __ovld __cnfn convert_ulong16_rtz(double16);5123ulong16 __ovld __cnfn convert_ulong16_sat(double16);5124ulong16 __ovld __cnfn convert_ulong16_sat_rte(double16);5125ulong16 __ovld __cnfn convert_ulong16_sat_rtn(double16);5126ulong16 __ovld __cnfn convert_ulong16_sat_rtp(double16);5127ulong16 __ovld __cnfn convert_ulong16_sat_rtz(double16);5128 5129float __ovld __cnfn convert_float(double);5130float __ovld __cnfn convert_float_rte(double);5131float __ovld __cnfn convert_float_rtn(double);5132float __ovld __cnfn convert_float_rtp(double);5133float __ovld __cnfn convert_float_rtz(double);5134float2 __ovld __cnfn convert_float2(double2);5135float2 __ovld __cnfn convert_float2_rte(double2);5136float2 __ovld __cnfn convert_float2_rtn(double2);5137float2 __ovld __cnfn convert_float2_rtp(double2);5138float2 __ovld __cnfn convert_float2_rtz(double2);5139float3 __ovld __cnfn convert_float3(double3);5140float3 __ovld __cnfn convert_float3_rte(double3);5141float3 __ovld __cnfn convert_float3_rtn(double3);5142float3 __ovld __cnfn convert_float3_rtp(double3);5143float3 __ovld __cnfn convert_float3_rtz(double3);5144float4 __ovld __cnfn convert_float4(double4);5145float4 __ovld __cnfn convert_float4_rte(double4);5146float4 __ovld __cnfn convert_float4_rtn(double4);5147float4 __ovld __cnfn convert_float4_rtp(double4);5148float4 __ovld __cnfn convert_float4_rtz(double4);5149float8 __ovld __cnfn convert_float8(double8);5150float8 __ovld __cnfn convert_float8_rte(double8);5151float8 __ovld __cnfn convert_float8_rtn(double8);5152float8 __ovld __cnfn convert_float8_rtp(double8);5153float8 __ovld __cnfn convert_float8_rtz(double8);5154float16 __ovld __cnfn convert_float16(double16);5155float16 __ovld __cnfn convert_float16_rte(double16);5156float16 __ovld __cnfn convert_float16_rtn(double16);5157float16 __ovld __cnfn convert_float16_rtp(double16);5158float16 __ovld __cnfn convert_float16_rtz(double16);5159 5160double __ovld __cnfn convert_double(char);5161double __ovld __cnfn convert_double(double);5162double __ovld __cnfn convert_double(float);5163double __ovld __cnfn convert_double(int);5164double __ovld __cnfn convert_double(long);5165double __ovld __cnfn convert_double(short);5166double __ovld __cnfn convert_double(uchar);5167double __ovld __cnfn convert_double(uint);5168double __ovld __cnfn convert_double(ulong);5169double __ovld __cnfn convert_double(ushort);5170double __ovld __cnfn convert_double_rte(char);5171double __ovld __cnfn convert_double_rte(double);5172double __ovld __cnfn convert_double_rte(float);5173double __ovld __cnfn convert_double_rte(int);5174double __ovld __cnfn convert_double_rte(long);5175double __ovld __cnfn convert_double_rte(short);5176double __ovld __cnfn convert_double_rte(uchar);5177double __ovld __cnfn convert_double_rte(uint);5178double __ovld __cnfn convert_double_rte(ulong);5179double __ovld __cnfn convert_double_rte(ushort);5180double __ovld __cnfn convert_double_rtn(char);5181double __ovld __cnfn convert_double_rtn(double);5182double __ovld __cnfn convert_double_rtn(float);5183double __ovld __cnfn convert_double_rtn(int);5184double __ovld __cnfn convert_double_rtn(long);5185double __ovld __cnfn convert_double_rtn(short);5186double __ovld __cnfn convert_double_rtn(uchar);5187double __ovld __cnfn convert_double_rtn(uint);5188double __ovld __cnfn convert_double_rtn(ulong);5189double __ovld __cnfn convert_double_rtn(ushort);5190double __ovld __cnfn convert_double_rtp(char);5191double __ovld __cnfn convert_double_rtp(double);5192double __ovld __cnfn convert_double_rtp(float);5193double __ovld __cnfn convert_double_rtp(int);5194double __ovld __cnfn convert_double_rtp(long);5195double __ovld __cnfn convert_double_rtp(short);5196double __ovld __cnfn convert_double_rtp(uchar);5197double __ovld __cnfn convert_double_rtp(uint);5198double __ovld __cnfn convert_double_rtp(ulong);5199double __ovld __cnfn convert_double_rtp(ushort);5200double __ovld __cnfn convert_double_rtz(char);5201double __ovld __cnfn convert_double_rtz(double);5202double __ovld __cnfn convert_double_rtz(float);5203double __ovld __cnfn convert_double_rtz(int);5204double __ovld __cnfn convert_double_rtz(long);5205double __ovld __cnfn convert_double_rtz(short);5206double __ovld __cnfn convert_double_rtz(uchar);5207double __ovld __cnfn convert_double_rtz(uint);5208double __ovld __cnfn convert_double_rtz(ulong);5209double __ovld __cnfn convert_double_rtz(ushort);5210double2 __ovld __cnfn convert_double2(char2);5211double2 __ovld __cnfn convert_double2(double2);5212double2 __ovld __cnfn convert_double2(float2);5213double2 __ovld __cnfn convert_double2(int2);5214double2 __ovld __cnfn convert_double2(long2);5215double2 __ovld __cnfn convert_double2(short2);5216double2 __ovld __cnfn convert_double2(uchar2);5217double2 __ovld __cnfn convert_double2(uint2);5218double2 __ovld __cnfn convert_double2(ulong2);5219double2 __ovld __cnfn convert_double2(ushort2);5220double2 __ovld __cnfn convert_double2_rte(char2);5221double2 __ovld __cnfn convert_double2_rte(double2);5222double2 __ovld __cnfn convert_double2_rte(float2);5223double2 __ovld __cnfn convert_double2_rte(int2);5224double2 __ovld __cnfn convert_double2_rte(long2);5225double2 __ovld __cnfn convert_double2_rte(short2);5226double2 __ovld __cnfn convert_double2_rte(uchar2);5227double2 __ovld __cnfn convert_double2_rte(uint2);5228double2 __ovld __cnfn convert_double2_rte(ulong2);5229double2 __ovld __cnfn convert_double2_rte(ushort2);5230double2 __ovld __cnfn convert_double2_rtn(char2);5231double2 __ovld __cnfn convert_double2_rtn(double2);5232double2 __ovld __cnfn convert_double2_rtn(float2);5233double2 __ovld __cnfn convert_double2_rtn(int2);5234double2 __ovld __cnfn convert_double2_rtn(long2);5235double2 __ovld __cnfn convert_double2_rtn(short2);5236double2 __ovld __cnfn convert_double2_rtn(uchar2);5237double2 __ovld __cnfn convert_double2_rtn(uint2);5238double2 __ovld __cnfn convert_double2_rtn(ulong2);5239double2 __ovld __cnfn convert_double2_rtn(ushort2);5240double2 __ovld __cnfn convert_double2_rtp(char2);5241double2 __ovld __cnfn convert_double2_rtp(double2);5242double2 __ovld __cnfn convert_double2_rtp(float2);5243double2 __ovld __cnfn convert_double2_rtp(int2);5244double2 __ovld __cnfn convert_double2_rtp(long2);5245double2 __ovld __cnfn convert_double2_rtp(short2);5246double2 __ovld __cnfn convert_double2_rtp(uchar2);5247double2 __ovld __cnfn convert_double2_rtp(uint2);5248double2 __ovld __cnfn convert_double2_rtp(ulong2);5249double2 __ovld __cnfn convert_double2_rtp(ushort2);5250double2 __ovld __cnfn convert_double2_rtz(char2);5251double2 __ovld __cnfn convert_double2_rtz(double2);5252double2 __ovld __cnfn convert_double2_rtz(float2);5253double2 __ovld __cnfn convert_double2_rtz(int2);5254double2 __ovld __cnfn convert_double2_rtz(long2);5255double2 __ovld __cnfn convert_double2_rtz(short2);5256double2 __ovld __cnfn convert_double2_rtz(uchar2);5257double2 __ovld __cnfn convert_double2_rtz(uint2);5258double2 __ovld __cnfn convert_double2_rtz(ulong2);5259double2 __ovld __cnfn convert_double2_rtz(ushort2);5260double3 __ovld __cnfn convert_double3(char3);5261double3 __ovld __cnfn convert_double3(double3);5262double3 __ovld __cnfn convert_double3(float3);5263double3 __ovld __cnfn convert_double3(int3);5264double3 __ovld __cnfn convert_double3(long3);5265double3 __ovld __cnfn convert_double3(short3);5266double3 __ovld __cnfn convert_double3(uchar3);5267double3 __ovld __cnfn convert_double3(uint3);5268double3 __ovld __cnfn convert_double3(ulong3);5269double3 __ovld __cnfn convert_double3(ushort3);5270double3 __ovld __cnfn convert_double3_rte(char3);5271double3 __ovld __cnfn convert_double3_rte(double3);5272double3 __ovld __cnfn convert_double3_rte(float3);5273double3 __ovld __cnfn convert_double3_rte(int3);5274double3 __ovld __cnfn convert_double3_rte(long3);5275double3 __ovld __cnfn convert_double3_rte(short3);5276double3 __ovld __cnfn convert_double3_rte(uchar3);5277double3 __ovld __cnfn convert_double3_rte(uint3);5278double3 __ovld __cnfn convert_double3_rte(ulong3);5279double3 __ovld __cnfn convert_double3_rte(ushort3);5280double3 __ovld __cnfn convert_double3_rtn(char3);5281double3 __ovld __cnfn convert_double3_rtn(double3);5282double3 __ovld __cnfn convert_double3_rtn(float3);5283double3 __ovld __cnfn convert_double3_rtn(int3);5284double3 __ovld __cnfn convert_double3_rtn(long3);5285double3 __ovld __cnfn convert_double3_rtn(short3);5286double3 __ovld __cnfn convert_double3_rtn(uchar3);5287double3 __ovld __cnfn convert_double3_rtn(uint3);5288double3 __ovld __cnfn convert_double3_rtn(ulong3);5289double3 __ovld __cnfn convert_double3_rtn(ushort3);5290double3 __ovld __cnfn convert_double3_rtp(char3);5291double3 __ovld __cnfn convert_double3_rtp(double3);5292double3 __ovld __cnfn convert_double3_rtp(float3);5293double3 __ovld __cnfn convert_double3_rtp(int3);5294double3 __ovld __cnfn convert_double3_rtp(long3);5295double3 __ovld __cnfn convert_double3_rtp(short3);5296double3 __ovld __cnfn convert_double3_rtp(uchar3);5297double3 __ovld __cnfn convert_double3_rtp(uint3);5298double3 __ovld __cnfn convert_double3_rtp(ulong3);5299double3 __ovld __cnfn convert_double3_rtp(ushort3);5300double3 __ovld __cnfn convert_double3_rtz(char3);5301double3 __ovld __cnfn convert_double3_rtz(double3);5302double3 __ovld __cnfn convert_double3_rtz(float3);5303double3 __ovld __cnfn convert_double3_rtz(int3);5304double3 __ovld __cnfn convert_double3_rtz(long3);5305double3 __ovld __cnfn convert_double3_rtz(short3);5306double3 __ovld __cnfn convert_double3_rtz(uchar3);5307double3 __ovld __cnfn convert_double3_rtz(uint3);5308double3 __ovld __cnfn convert_double3_rtz(ulong3);5309double3 __ovld __cnfn convert_double3_rtz(ushort3);5310double4 __ovld __cnfn convert_double4(char4);5311double4 __ovld __cnfn convert_double4(double4);5312double4 __ovld __cnfn convert_double4(float4);5313double4 __ovld __cnfn convert_double4(int4);5314double4 __ovld __cnfn convert_double4(long4);5315double4 __ovld __cnfn convert_double4(short4);5316double4 __ovld __cnfn convert_double4(uchar4);5317double4 __ovld __cnfn convert_double4(uint4);5318double4 __ovld __cnfn convert_double4(ulong4);5319double4 __ovld __cnfn convert_double4(ushort4);5320double4 __ovld __cnfn convert_double4_rte(char4);5321double4 __ovld __cnfn convert_double4_rte(double4);5322double4 __ovld __cnfn convert_double4_rte(float4);5323double4 __ovld __cnfn convert_double4_rte(int4);5324double4 __ovld __cnfn convert_double4_rte(long4);5325double4 __ovld __cnfn convert_double4_rte(short4);5326double4 __ovld __cnfn convert_double4_rte(uchar4);5327double4 __ovld __cnfn convert_double4_rte(uint4);5328double4 __ovld __cnfn convert_double4_rte(ulong4);5329double4 __ovld __cnfn convert_double4_rte(ushort4);5330double4 __ovld __cnfn convert_double4_rtn(char4);5331double4 __ovld __cnfn convert_double4_rtn(double4);5332double4 __ovld __cnfn convert_double4_rtn(float4);5333double4 __ovld __cnfn convert_double4_rtn(int4);5334double4 __ovld __cnfn convert_double4_rtn(long4);5335double4 __ovld __cnfn convert_double4_rtn(short4);5336double4 __ovld __cnfn convert_double4_rtn(uchar4);5337double4 __ovld __cnfn convert_double4_rtn(uint4);5338double4 __ovld __cnfn convert_double4_rtn(ulong4);5339double4 __ovld __cnfn convert_double4_rtn(ushort4);5340double4 __ovld __cnfn convert_double4_rtp(char4);5341double4 __ovld __cnfn convert_double4_rtp(double4);5342double4 __ovld __cnfn convert_double4_rtp(float4);5343double4 __ovld __cnfn convert_double4_rtp(int4);5344double4 __ovld __cnfn convert_double4_rtp(long4);5345double4 __ovld __cnfn convert_double4_rtp(short4);5346double4 __ovld __cnfn convert_double4_rtp(uchar4);5347double4 __ovld __cnfn convert_double4_rtp(uint4);5348double4 __ovld __cnfn convert_double4_rtp(ulong4);5349double4 __ovld __cnfn convert_double4_rtp(ushort4);5350double4 __ovld __cnfn convert_double4_rtz(char4);5351double4 __ovld __cnfn convert_double4_rtz(double4);5352double4 __ovld __cnfn convert_double4_rtz(float4);5353double4 __ovld __cnfn convert_double4_rtz(int4);5354double4 __ovld __cnfn convert_double4_rtz(long4);5355double4 __ovld __cnfn convert_double4_rtz(short4);5356double4 __ovld __cnfn convert_double4_rtz(uchar4);5357double4 __ovld __cnfn convert_double4_rtz(uint4);5358double4 __ovld __cnfn convert_double4_rtz(ulong4);5359double4 __ovld __cnfn convert_double4_rtz(ushort4);5360double8 __ovld __cnfn convert_double8(char8);5361double8 __ovld __cnfn convert_double8(double8);5362double8 __ovld __cnfn convert_double8(float8);5363double8 __ovld __cnfn convert_double8(int8);5364double8 __ovld __cnfn convert_double8(long8);5365double8 __ovld __cnfn convert_double8(short8);5366double8 __ovld __cnfn convert_double8(uchar8);5367double8 __ovld __cnfn convert_double8(uint8);5368double8 __ovld __cnfn convert_double8(ulong8);5369double8 __ovld __cnfn convert_double8(ushort8);5370double8 __ovld __cnfn convert_double8_rte(char8);5371double8 __ovld __cnfn convert_double8_rte(double8);5372double8 __ovld __cnfn convert_double8_rte(float8);5373double8 __ovld __cnfn convert_double8_rte(int8);5374double8 __ovld __cnfn convert_double8_rte(long8);5375double8 __ovld __cnfn convert_double8_rte(short8);5376double8 __ovld __cnfn convert_double8_rte(uchar8);5377double8 __ovld __cnfn convert_double8_rte(uint8);5378double8 __ovld __cnfn convert_double8_rte(ulong8);5379double8 __ovld __cnfn convert_double8_rte(ushort8);5380double8 __ovld __cnfn convert_double8_rtn(char8);5381double8 __ovld __cnfn convert_double8_rtn(double8);5382double8 __ovld __cnfn convert_double8_rtn(float8);5383double8 __ovld __cnfn convert_double8_rtn(int8);5384double8 __ovld __cnfn convert_double8_rtn(long8);5385double8 __ovld __cnfn convert_double8_rtn(short8);5386double8 __ovld __cnfn convert_double8_rtn(uchar8);5387double8 __ovld __cnfn convert_double8_rtn(uint8);5388double8 __ovld __cnfn convert_double8_rtn(ulong8);5389double8 __ovld __cnfn convert_double8_rtn(ushort8);5390double8 __ovld __cnfn convert_double8_rtp(char8);5391double8 __ovld __cnfn convert_double8_rtp(double8);5392double8 __ovld __cnfn convert_double8_rtp(float8);5393double8 __ovld __cnfn convert_double8_rtp(int8);5394double8 __ovld __cnfn convert_double8_rtp(long8);5395double8 __ovld __cnfn convert_double8_rtp(short8);5396double8 __ovld __cnfn convert_double8_rtp(uchar8);5397double8 __ovld __cnfn convert_double8_rtp(uint8);5398double8 __ovld __cnfn convert_double8_rtp(ulong8);5399double8 __ovld __cnfn convert_double8_rtp(ushort8);5400double8 __ovld __cnfn convert_double8_rtz(char8);5401double8 __ovld __cnfn convert_double8_rtz(double8);5402double8 __ovld __cnfn convert_double8_rtz(float8);5403double8 __ovld __cnfn convert_double8_rtz(int8);5404double8 __ovld __cnfn convert_double8_rtz(long8);5405double8 __ovld __cnfn convert_double8_rtz(short8);5406double8 __ovld __cnfn convert_double8_rtz(uchar8);5407double8 __ovld __cnfn convert_double8_rtz(uint8);5408double8 __ovld __cnfn convert_double8_rtz(ulong8);5409double8 __ovld __cnfn convert_double8_rtz(ushort8);5410double16 __ovld __cnfn convert_double16(char16);5411double16 __ovld __cnfn convert_double16(double16);5412double16 __ovld __cnfn convert_double16(float16);5413double16 __ovld __cnfn convert_double16(int16);5414double16 __ovld __cnfn convert_double16(long16);5415double16 __ovld __cnfn convert_double16(short16);5416double16 __ovld __cnfn convert_double16(uchar16);5417double16 __ovld __cnfn convert_double16(uint16);5418double16 __ovld __cnfn convert_double16(ulong16);5419double16 __ovld __cnfn convert_double16(ushort16);5420double16 __ovld __cnfn convert_double16_rte(char16);5421double16 __ovld __cnfn convert_double16_rte(double16);5422double16 __ovld __cnfn convert_double16_rte(float16);5423double16 __ovld __cnfn convert_double16_rte(int16);5424double16 __ovld __cnfn convert_double16_rte(long16);5425double16 __ovld __cnfn convert_double16_rte(short16);5426double16 __ovld __cnfn convert_double16_rte(uchar16);5427double16 __ovld __cnfn convert_double16_rte(uint16);5428double16 __ovld __cnfn convert_double16_rte(ulong16);5429double16 __ovld __cnfn convert_double16_rte(ushort16);5430double16 __ovld __cnfn convert_double16_rtn(char16);5431double16 __ovld __cnfn convert_double16_rtn(double16);5432double16 __ovld __cnfn convert_double16_rtn(float16);5433double16 __ovld __cnfn convert_double16_rtn(int16);5434double16 __ovld __cnfn convert_double16_rtn(long16);5435double16 __ovld __cnfn convert_double16_rtn(short16);5436double16 __ovld __cnfn convert_double16_rtn(uchar16);5437double16 __ovld __cnfn convert_double16_rtn(uint16);5438double16 __ovld __cnfn convert_double16_rtn(ulong16);5439double16 __ovld __cnfn convert_double16_rtn(ushort16);5440double16 __ovld __cnfn convert_double16_rtp(char16);5441double16 __ovld __cnfn convert_double16_rtp(double16);5442double16 __ovld __cnfn convert_double16_rtp(float16);5443double16 __ovld __cnfn convert_double16_rtp(int16);5444double16 __ovld __cnfn convert_double16_rtp(long16);5445double16 __ovld __cnfn convert_double16_rtp(short16);5446double16 __ovld __cnfn convert_double16_rtp(uchar16);5447double16 __ovld __cnfn convert_double16_rtp(uint16);5448double16 __ovld __cnfn convert_double16_rtp(ulong16);5449double16 __ovld __cnfn convert_double16_rtp(ushort16);5450double16 __ovld __cnfn convert_double16_rtz(char16);5451double16 __ovld __cnfn convert_double16_rtz(double16);5452double16 __ovld __cnfn convert_double16_rtz(float16);5453double16 __ovld __cnfn convert_double16_rtz(int16);5454double16 __ovld __cnfn convert_double16_rtz(long16);5455double16 __ovld __cnfn convert_double16_rtz(short16);5456double16 __ovld __cnfn convert_double16_rtz(uchar16);5457double16 __ovld __cnfn convert_double16_rtz(uint16);5458double16 __ovld __cnfn convert_double16_rtz(ulong16);5459double16 __ovld __cnfn convert_double16_rtz(ushort16);5460#endif //cl_khr_fp645461 5462#ifdef cl_khr_fp165463#pragma OPENCL EXTENSION cl_khr_fp16 : enable5464// Convert half types to non-double types.5465uchar __ovld __cnfn convert_uchar(half);5466uchar __ovld __cnfn convert_uchar_rte(half);5467uchar __ovld __cnfn convert_uchar_rtp(half);5468uchar __ovld __cnfn convert_uchar_rtn(half);5469uchar __ovld __cnfn convert_uchar_rtz(half);5470uchar __ovld __cnfn convert_uchar_sat(half);5471uchar __ovld __cnfn convert_uchar_sat_rte(half);5472uchar __ovld __cnfn convert_uchar_sat_rtp(half);5473uchar __ovld __cnfn convert_uchar_sat_rtn(half);5474uchar __ovld __cnfn convert_uchar_sat_rtz(half);5475uchar2 __ovld __cnfn convert_uchar2(half2);5476uchar2 __ovld __cnfn convert_uchar2_rte(half2);5477uchar2 __ovld __cnfn convert_uchar2_rtp(half2);5478uchar2 __ovld __cnfn convert_uchar2_rtn(half2);5479uchar2 __ovld __cnfn convert_uchar2_rtz(half2);5480uchar2 __ovld __cnfn convert_uchar2_sat(half2);5481uchar2 __ovld __cnfn convert_uchar2_sat_rte(half2);5482uchar2 __ovld __cnfn convert_uchar2_sat_rtp(half2);5483uchar2 __ovld __cnfn convert_uchar2_sat_rtn(half2);5484uchar2 __ovld __cnfn convert_uchar2_sat_rtz(half2);5485uchar3 __ovld __cnfn convert_uchar3(half3);5486uchar3 __ovld __cnfn convert_uchar3_rte(half3);5487uchar3 __ovld __cnfn convert_uchar3_rtp(half3);5488uchar3 __ovld __cnfn convert_uchar3_rtn(half3);5489uchar3 __ovld __cnfn convert_uchar3_rtz(half3);5490uchar3 __ovld __cnfn convert_uchar3_sat(half3);5491uchar3 __ovld __cnfn convert_uchar3_sat_rte(half3);5492uchar3 __ovld __cnfn convert_uchar3_sat_rtp(half3);5493uchar3 __ovld __cnfn convert_uchar3_sat_rtn(half3);5494uchar3 __ovld __cnfn convert_uchar3_sat_rtz(half3);5495uchar4 __ovld __cnfn convert_uchar4(half4);5496uchar4 __ovld __cnfn convert_uchar4_rte(half4);5497uchar4 __ovld __cnfn convert_uchar4_rtp(half4);5498uchar4 __ovld __cnfn convert_uchar4_rtn(half4);5499uchar4 __ovld __cnfn convert_uchar4_rtz(half4);5500uchar4 __ovld __cnfn convert_uchar4_sat(half4);5501uchar4 __ovld __cnfn convert_uchar4_sat_rte(half4);5502uchar4 __ovld __cnfn convert_uchar4_sat_rtp(half4);5503uchar4 __ovld __cnfn convert_uchar4_sat_rtn(half4);5504uchar4 __ovld __cnfn convert_uchar4_sat_rtz(half4);5505uchar8 __ovld __cnfn convert_uchar8(half8);5506uchar8 __ovld __cnfn convert_uchar8_rte(half8);5507uchar8 __ovld __cnfn convert_uchar8_rtp(half8);5508uchar8 __ovld __cnfn convert_uchar8_rtn(half8);5509uchar8 __ovld __cnfn convert_uchar8_rtz(half8);5510uchar8 __ovld __cnfn convert_uchar8_sat(half8);5511uchar8 __ovld __cnfn convert_uchar8_sat_rte(half8);5512uchar8 __ovld __cnfn convert_uchar8_sat_rtp(half8);5513uchar8 __ovld __cnfn convert_uchar8_sat_rtn(half8);5514uchar8 __ovld __cnfn convert_uchar8_sat_rtz(half8);5515uchar16 __ovld __cnfn convert_uchar16(half16);5516uchar16 __ovld __cnfn convert_uchar16_rte(half16);5517uchar16 __ovld __cnfn convert_uchar16_rtp(half16);5518uchar16 __ovld __cnfn convert_uchar16_rtn(half16);5519uchar16 __ovld __cnfn convert_uchar16_rtz(half16);5520uchar16 __ovld __cnfn convert_uchar16_sat(half16);5521uchar16 __ovld __cnfn convert_uchar16_sat_rte(half16);5522uchar16 __ovld __cnfn convert_uchar16_sat_rtp(half16);5523uchar16 __ovld __cnfn convert_uchar16_sat_rtn(half16);5524uchar16 __ovld __cnfn convert_uchar16_sat_rtz(half16);5525ushort __ovld __cnfn convert_ushort(half);5526ushort __ovld __cnfn convert_ushort_rte(half);5527ushort __ovld __cnfn convert_ushort_rtp(half);5528ushort __ovld __cnfn convert_ushort_rtn(half);5529ushort __ovld __cnfn convert_ushort_rtz(half);5530ushort __ovld __cnfn convert_ushort_sat(half);5531ushort __ovld __cnfn convert_ushort_sat_rte(half);5532ushort __ovld __cnfn convert_ushort_sat_rtp(half);5533ushort __ovld __cnfn convert_ushort_sat_rtn(half);5534ushort __ovld __cnfn convert_ushort_sat_rtz(half);5535ushort2 __ovld __cnfn convert_ushort2(half2);5536ushort2 __ovld __cnfn convert_ushort2_rte(half2);5537ushort2 __ovld __cnfn convert_ushort2_rtp(half2);5538ushort2 __ovld __cnfn convert_ushort2_rtn(half2);5539ushort2 __ovld __cnfn convert_ushort2_rtz(half2);5540ushort2 __ovld __cnfn convert_ushort2_sat(half2);5541ushort2 __ovld __cnfn convert_ushort2_sat_rte(half2);5542ushort2 __ovld __cnfn convert_ushort2_sat_rtp(half2);5543ushort2 __ovld __cnfn convert_ushort2_sat_rtn(half2);5544ushort2 __ovld __cnfn convert_ushort2_sat_rtz(half2);5545ushort3 __ovld __cnfn convert_ushort3(half3);5546ushort3 __ovld __cnfn convert_ushort3_rte(half3);5547ushort3 __ovld __cnfn convert_ushort3_rtp(half3);5548ushort3 __ovld __cnfn convert_ushort3_rtn(half3);5549ushort3 __ovld __cnfn convert_ushort3_rtz(half3);5550ushort3 __ovld __cnfn convert_ushort3_sat(half3);5551ushort3 __ovld __cnfn convert_ushort3_sat_rte(half3);5552ushort3 __ovld __cnfn convert_ushort3_sat_rtp(half3);5553ushort3 __ovld __cnfn convert_ushort3_sat_rtn(half3);5554ushort3 __ovld __cnfn convert_ushort3_sat_rtz(half3);5555ushort4 __ovld __cnfn convert_ushort4(half4);5556ushort4 __ovld __cnfn convert_ushort4_rte(half4);5557ushort4 __ovld __cnfn convert_ushort4_rtp(half4);5558ushort4 __ovld __cnfn convert_ushort4_rtn(half4);5559ushort4 __ovld __cnfn convert_ushort4_rtz(half4);5560ushort4 __ovld __cnfn convert_ushort4_sat(half4);5561ushort4 __ovld __cnfn convert_ushort4_sat_rte(half4);5562ushort4 __ovld __cnfn convert_ushort4_sat_rtp(half4);5563ushort4 __ovld __cnfn convert_ushort4_sat_rtn(half4);5564ushort4 __ovld __cnfn convert_ushort4_sat_rtz(half4);5565ushort8 __ovld __cnfn convert_ushort8(half8);5566ushort8 __ovld __cnfn convert_ushort8_rte(half8);5567ushort8 __ovld __cnfn convert_ushort8_rtp(half8);5568ushort8 __ovld __cnfn convert_ushort8_rtn(half8);5569ushort8 __ovld __cnfn convert_ushort8_rtz(half8);5570ushort8 __ovld __cnfn convert_ushort8_sat(half8);5571ushort8 __ovld __cnfn convert_ushort8_sat_rte(half8);5572ushort8 __ovld __cnfn convert_ushort8_sat_rtp(half8);5573ushort8 __ovld __cnfn convert_ushort8_sat_rtn(half8);5574ushort8 __ovld __cnfn convert_ushort8_sat_rtz(half8);5575ushort16 __ovld __cnfn convert_ushort16(half16);5576ushort16 __ovld __cnfn convert_ushort16_rte(half16);5577ushort16 __ovld __cnfn convert_ushort16_rtp(half16);5578ushort16 __ovld __cnfn convert_ushort16_rtn(half16);5579ushort16 __ovld __cnfn convert_ushort16_rtz(half16);5580ushort16 __ovld __cnfn convert_ushort16_sat(half16);5581ushort16 __ovld __cnfn convert_ushort16_sat_rte(half16);5582ushort16 __ovld __cnfn convert_ushort16_sat_rtp(half16);5583ushort16 __ovld __cnfn convert_ushort16_sat_rtn(half16);5584ushort16 __ovld __cnfn convert_ushort16_sat_rtz(half16);5585uint __ovld __cnfn convert_uint(half);5586uint __ovld __cnfn convert_uint_rte(half);5587uint __ovld __cnfn convert_uint_rtp(half);5588uint __ovld __cnfn convert_uint_rtn(half);5589uint __ovld __cnfn convert_uint_rtz(half);5590uint __ovld __cnfn convert_uint_sat(half);5591uint __ovld __cnfn convert_uint_sat_rte(half);5592uint __ovld __cnfn convert_uint_sat_rtp(half);5593uint __ovld __cnfn convert_uint_sat_rtn(half);5594uint __ovld __cnfn convert_uint_sat_rtz(half);5595uint2 __ovld __cnfn convert_uint2(half2);5596uint2 __ovld __cnfn convert_uint2_rte(half2);5597uint2 __ovld __cnfn convert_uint2_rtp(half2);5598uint2 __ovld __cnfn convert_uint2_rtn(half2);5599uint2 __ovld __cnfn convert_uint2_rtz(half2);5600uint2 __ovld __cnfn convert_uint2_sat(half2);5601uint2 __ovld __cnfn convert_uint2_sat_rte(half2);5602uint2 __ovld __cnfn convert_uint2_sat_rtp(half2);5603uint2 __ovld __cnfn convert_uint2_sat_rtn(half2);5604uint2 __ovld __cnfn convert_uint2_sat_rtz(half2);5605uint3 __ovld __cnfn convert_uint3(half3);5606uint3 __ovld __cnfn convert_uint3_rte(half3);5607uint3 __ovld __cnfn convert_uint3_rtp(half3);5608uint3 __ovld __cnfn convert_uint3_rtn(half3);5609uint3 __ovld __cnfn convert_uint3_rtz(half3);5610uint3 __ovld __cnfn convert_uint3_sat(half3);5611uint3 __ovld __cnfn convert_uint3_sat_rte(half3);5612uint3 __ovld __cnfn convert_uint3_sat_rtp(half3);5613uint3 __ovld __cnfn convert_uint3_sat_rtn(half3);5614uint3 __ovld __cnfn convert_uint3_sat_rtz(half3);5615uint4 __ovld __cnfn convert_uint4(half4);5616uint4 __ovld __cnfn convert_uint4_rte(half4);5617uint4 __ovld __cnfn convert_uint4_rtp(half4);5618uint4 __ovld __cnfn convert_uint4_rtn(half4);5619uint4 __ovld __cnfn convert_uint4_rtz(half4);5620uint4 __ovld __cnfn convert_uint4_sat(half4);5621uint4 __ovld __cnfn convert_uint4_sat_rte(half4);5622uint4 __ovld __cnfn convert_uint4_sat_rtp(half4);5623uint4 __ovld __cnfn convert_uint4_sat_rtn(half4);5624uint4 __ovld __cnfn convert_uint4_sat_rtz(half4);5625uint8 __ovld __cnfn convert_uint8(half8);5626uint8 __ovld __cnfn convert_uint8_rte(half8);5627uint8 __ovld __cnfn convert_uint8_rtp(half8);5628uint8 __ovld __cnfn convert_uint8_rtn(half8);5629uint8 __ovld __cnfn convert_uint8_rtz(half8);5630uint8 __ovld __cnfn convert_uint8_sat(half8);5631uint8 __ovld __cnfn convert_uint8_sat_rte(half8);5632uint8 __ovld __cnfn convert_uint8_sat_rtp(half8);5633uint8 __ovld __cnfn convert_uint8_sat_rtn(half8);5634uint8 __ovld __cnfn convert_uint8_sat_rtz(half8);5635uint16 __ovld __cnfn convert_uint16(half16);5636uint16 __ovld __cnfn convert_uint16_rte(half16);5637uint16 __ovld __cnfn convert_uint16_rtp(half16);5638uint16 __ovld __cnfn convert_uint16_rtn(half16);5639uint16 __ovld __cnfn convert_uint16_rtz(half16);5640uint16 __ovld __cnfn convert_uint16_sat(half16);5641uint16 __ovld __cnfn convert_uint16_sat_rte(half16);5642uint16 __ovld __cnfn convert_uint16_sat_rtp(half16);5643uint16 __ovld __cnfn convert_uint16_sat_rtn(half16);5644uint16 __ovld __cnfn convert_uint16_sat_rtz(half16);5645ulong __ovld __cnfn convert_ulong(half);5646ulong __ovld __cnfn convert_ulong_rte(half);5647ulong __ovld __cnfn convert_ulong_rtp(half);5648ulong __ovld __cnfn convert_ulong_rtn(half);5649ulong __ovld __cnfn convert_ulong_rtz(half);5650ulong __ovld __cnfn convert_ulong_sat(half);5651ulong __ovld __cnfn convert_ulong_sat_rte(half);5652ulong __ovld __cnfn convert_ulong_sat_rtp(half);5653ulong __ovld __cnfn convert_ulong_sat_rtn(half);5654ulong __ovld __cnfn convert_ulong_sat_rtz(half);5655ulong2 __ovld __cnfn convert_ulong2(half2);5656ulong2 __ovld __cnfn convert_ulong2_rte(half2);5657ulong2 __ovld __cnfn convert_ulong2_rtp(half2);5658ulong2 __ovld __cnfn convert_ulong2_rtn(half2);5659ulong2 __ovld __cnfn convert_ulong2_rtz(half2);5660ulong2 __ovld __cnfn convert_ulong2_sat(half2);5661ulong2 __ovld __cnfn convert_ulong2_sat_rte(half2);5662ulong2 __ovld __cnfn convert_ulong2_sat_rtp(half2);5663ulong2 __ovld __cnfn convert_ulong2_sat_rtn(half2);5664ulong2 __ovld __cnfn convert_ulong2_sat_rtz(half2);5665ulong3 __ovld __cnfn convert_ulong3(half3);5666ulong3 __ovld __cnfn convert_ulong3_rte(half3);5667ulong3 __ovld __cnfn convert_ulong3_rtp(half3);5668ulong3 __ovld __cnfn convert_ulong3_rtn(half3);5669ulong3 __ovld __cnfn convert_ulong3_rtz(half3);5670ulong3 __ovld __cnfn convert_ulong3_sat(half3);5671ulong3 __ovld __cnfn convert_ulong3_sat_rte(half3);5672ulong3 __ovld __cnfn convert_ulong3_sat_rtp(half3);5673ulong3 __ovld __cnfn convert_ulong3_sat_rtn(half3);5674ulong3 __ovld __cnfn convert_ulong3_sat_rtz(half3);5675ulong4 __ovld __cnfn convert_ulong4(half4);5676ulong4 __ovld __cnfn convert_ulong4_rte(half4);5677ulong4 __ovld __cnfn convert_ulong4_rtp(half4);5678ulong4 __ovld __cnfn convert_ulong4_rtn(half4);5679ulong4 __ovld __cnfn convert_ulong4_rtz(half4);5680ulong4 __ovld __cnfn convert_ulong4_sat(half4);5681ulong4 __ovld __cnfn convert_ulong4_sat_rte(half4);5682ulong4 __ovld __cnfn convert_ulong4_sat_rtp(half4);5683ulong4 __ovld __cnfn convert_ulong4_sat_rtn(half4);5684ulong4 __ovld __cnfn convert_ulong4_sat_rtz(half4);5685ulong8 __ovld __cnfn convert_ulong8(half8);5686ulong8 __ovld __cnfn convert_ulong8_rte(half8);5687ulong8 __ovld __cnfn convert_ulong8_rtp(half8);5688ulong8 __ovld __cnfn convert_ulong8_rtn(half8);5689ulong8 __ovld __cnfn convert_ulong8_rtz(half8);5690ulong8 __ovld __cnfn convert_ulong8_sat(half8);5691ulong8 __ovld __cnfn convert_ulong8_sat_rte(half8);5692ulong8 __ovld __cnfn convert_ulong8_sat_rtp(half8);5693ulong8 __ovld __cnfn convert_ulong8_sat_rtn(half8);5694ulong8 __ovld __cnfn convert_ulong8_sat_rtz(half8);5695ulong16 __ovld __cnfn convert_ulong16(half16);5696ulong16 __ovld __cnfn convert_ulong16_rte(half16);5697ulong16 __ovld __cnfn convert_ulong16_rtp(half16);5698ulong16 __ovld __cnfn convert_ulong16_rtn(half16);5699ulong16 __ovld __cnfn convert_ulong16_rtz(half16);5700ulong16 __ovld __cnfn convert_ulong16_sat(half16);5701ulong16 __ovld __cnfn convert_ulong16_sat_rte(half16);5702ulong16 __ovld __cnfn convert_ulong16_sat_rtp(half16);5703ulong16 __ovld __cnfn convert_ulong16_sat_rtn(half16);5704ulong16 __ovld __cnfn convert_ulong16_sat_rtz(half16);5705char __ovld __cnfn convert_char(half);5706char __ovld __cnfn convert_char_rte(half);5707char __ovld __cnfn convert_char_rtp(half);5708char __ovld __cnfn convert_char_rtn(half);5709char __ovld __cnfn convert_char_rtz(half);5710char __ovld __cnfn convert_char_sat(half);5711char __ovld __cnfn convert_char_sat_rte(half);5712char __ovld __cnfn convert_char_sat_rtp(half);5713char __ovld __cnfn convert_char_sat_rtn(half);5714char __ovld __cnfn convert_char_sat_rtz(half);5715char2 __ovld __cnfn convert_char2(half2);5716char2 __ovld __cnfn convert_char2_rte(half2);5717char2 __ovld __cnfn convert_char2_rtp(half2);5718char2 __ovld __cnfn convert_char2_rtn(half2);5719char2 __ovld __cnfn convert_char2_rtz(half2);5720char2 __ovld __cnfn convert_char2_sat(half2);5721char2 __ovld __cnfn convert_char2_sat_rte(half2);5722char2 __ovld __cnfn convert_char2_sat_rtp(half2);5723char2 __ovld __cnfn convert_char2_sat_rtn(half2);5724char2 __ovld __cnfn convert_char2_sat_rtz(half2);5725char3 __ovld __cnfn convert_char3(half3);5726char3 __ovld __cnfn convert_char3_rte(half3);5727char3 __ovld __cnfn convert_char3_rtp(half3);5728char3 __ovld __cnfn convert_char3_rtn(half3);5729char3 __ovld __cnfn convert_char3_rtz(half3);5730char3 __ovld __cnfn convert_char3_sat(half3);5731char3 __ovld __cnfn convert_char3_sat_rte(half3);5732char3 __ovld __cnfn convert_char3_sat_rtp(half3);5733char3 __ovld __cnfn convert_char3_sat_rtn(half3);5734char3 __ovld __cnfn convert_char3_sat_rtz(half3);5735char4 __ovld __cnfn convert_char4(half4);5736char4 __ovld __cnfn convert_char4_rte(half4);5737char4 __ovld __cnfn convert_char4_rtp(half4);5738char4 __ovld __cnfn convert_char4_rtn(half4);5739char4 __ovld __cnfn convert_char4_rtz(half4);5740char4 __ovld __cnfn convert_char4_sat(half4);5741char4 __ovld __cnfn convert_char4_sat_rte(half4);5742char4 __ovld __cnfn convert_char4_sat_rtp(half4);5743char4 __ovld __cnfn convert_char4_sat_rtn(half4);5744char4 __ovld __cnfn convert_char4_sat_rtz(half4);5745char8 __ovld __cnfn convert_char8(half8);5746char8 __ovld __cnfn convert_char8_rte(half8);5747char8 __ovld __cnfn convert_char8_rtp(half8);5748char8 __ovld __cnfn convert_char8_rtn(half8);5749char8 __ovld __cnfn convert_char8_rtz(half8);5750char8 __ovld __cnfn convert_char8_sat(half8);5751char8 __ovld __cnfn convert_char8_sat_rte(half8);5752char8 __ovld __cnfn convert_char8_sat_rtp(half8);5753char8 __ovld __cnfn convert_char8_sat_rtn(half8);5754char8 __ovld __cnfn convert_char8_sat_rtz(half8);5755char16 __ovld __cnfn convert_char16(half16);5756char16 __ovld __cnfn convert_char16_rte(half16);5757char16 __ovld __cnfn convert_char16_rtp(half16);5758char16 __ovld __cnfn convert_char16_rtn(half16);5759char16 __ovld __cnfn convert_char16_rtz(half16);5760char16 __ovld __cnfn convert_char16_sat(half16);5761char16 __ovld __cnfn convert_char16_sat_rte(half16);5762char16 __ovld __cnfn convert_char16_sat_rtp(half16);5763char16 __ovld __cnfn convert_char16_sat_rtn(half16);5764char16 __ovld __cnfn convert_char16_sat_rtz(half16);5765short __ovld __cnfn convert_short(half);5766short __ovld __cnfn convert_short_rte(half);5767short __ovld __cnfn convert_short_rtp(half);5768short __ovld __cnfn convert_short_rtn(half);5769short __ovld __cnfn convert_short_rtz(half);5770short __ovld __cnfn convert_short_sat(half);5771short __ovld __cnfn convert_short_sat_rte(half);5772short __ovld __cnfn convert_short_sat_rtp(half);5773short __ovld __cnfn convert_short_sat_rtn(half);5774short __ovld __cnfn convert_short_sat_rtz(half);5775short2 __ovld __cnfn convert_short2(half2);5776short2 __ovld __cnfn convert_short2_rte(half2);5777short2 __ovld __cnfn convert_short2_rtp(half2);5778short2 __ovld __cnfn convert_short2_rtn(half2);5779short2 __ovld __cnfn convert_short2_rtz(half2);5780short2 __ovld __cnfn convert_short2_sat(half2);5781short2 __ovld __cnfn convert_short2_sat_rte(half2);5782short2 __ovld __cnfn convert_short2_sat_rtp(half2);5783short2 __ovld __cnfn convert_short2_sat_rtn(half2);5784short2 __ovld __cnfn convert_short2_sat_rtz(half2);5785short3 __ovld __cnfn convert_short3(half3);5786short3 __ovld __cnfn convert_short3_rte(half3);5787short3 __ovld __cnfn convert_short3_rtp(half3);5788short3 __ovld __cnfn convert_short3_rtn(half3);5789short3 __ovld __cnfn convert_short3_rtz(half3);5790short3 __ovld __cnfn convert_short3_sat(half3);5791short3 __ovld __cnfn convert_short3_sat_rte(half3);5792short3 __ovld __cnfn convert_short3_sat_rtp(half3);5793short3 __ovld __cnfn convert_short3_sat_rtn(half3);5794short3 __ovld __cnfn convert_short3_sat_rtz(half3);5795short4 __ovld __cnfn convert_short4(half4);5796short4 __ovld __cnfn convert_short4_rte(half4);5797short4 __ovld __cnfn convert_short4_rtp(half4);5798short4 __ovld __cnfn convert_short4_rtn(half4);5799short4 __ovld __cnfn convert_short4_rtz(half4);5800short4 __ovld __cnfn convert_short4_sat(half4);5801short4 __ovld __cnfn convert_short4_sat_rte(half4);5802short4 __ovld __cnfn convert_short4_sat_rtp(half4);5803short4 __ovld __cnfn convert_short4_sat_rtn(half4);5804short4 __ovld __cnfn convert_short4_sat_rtz(half4);5805short8 __ovld __cnfn convert_short8(half8);5806short8 __ovld __cnfn convert_short8_rte(half8);5807short8 __ovld __cnfn convert_short8_rtp(half8);5808short8 __ovld __cnfn convert_short8_rtn(half8);5809short8 __ovld __cnfn convert_short8_rtz(half8);5810short8 __ovld __cnfn convert_short8_sat(half8);5811short8 __ovld __cnfn convert_short8_sat_rte(half8);5812short8 __ovld __cnfn convert_short8_sat_rtp(half8);5813short8 __ovld __cnfn convert_short8_sat_rtn(half8);5814short8 __ovld __cnfn convert_short8_sat_rtz(half8);5815short16 __ovld __cnfn convert_short16(half16);5816short16 __ovld __cnfn convert_short16_rte(half16);5817short16 __ovld __cnfn convert_short16_rtp(half16);5818short16 __ovld __cnfn convert_short16_rtn(half16);5819short16 __ovld __cnfn convert_short16_rtz(half16);5820short16 __ovld __cnfn convert_short16_sat(half16);5821short16 __ovld __cnfn convert_short16_sat_rte(half16);5822short16 __ovld __cnfn convert_short16_sat_rtp(half16);5823short16 __ovld __cnfn convert_short16_sat_rtn(half16);5824short16 __ovld __cnfn convert_short16_sat_rtz(half16);5825int __ovld __cnfn convert_int(half);5826int __ovld __cnfn convert_int_rte(half);5827int __ovld __cnfn convert_int_rtp(half);5828int __ovld __cnfn convert_int_rtn(half);5829int __ovld __cnfn convert_int_rtz(half);5830int __ovld __cnfn convert_int_sat(half);5831int __ovld __cnfn convert_int_sat_rte(half);5832int __ovld __cnfn convert_int_sat_rtp(half);5833int __ovld __cnfn convert_int_sat_rtn(half);5834int __ovld __cnfn convert_int_sat_rtz(half);5835int2 __ovld __cnfn convert_int2(half2);5836int2 __ovld __cnfn convert_int2_rte(half2);5837int2 __ovld __cnfn convert_int2_rtp(half2);5838int2 __ovld __cnfn convert_int2_rtn(half2);5839int2 __ovld __cnfn convert_int2_rtz(half2);5840int2 __ovld __cnfn convert_int2_sat(half2);5841int2 __ovld __cnfn convert_int2_sat_rte(half2);5842int2 __ovld __cnfn convert_int2_sat_rtp(half2);5843int2 __ovld __cnfn convert_int2_sat_rtn(half2);5844int2 __ovld __cnfn convert_int2_sat_rtz(half2);5845int3 __ovld __cnfn convert_int3(half3);5846int3 __ovld __cnfn convert_int3_rte(half3);5847int3 __ovld __cnfn convert_int3_rtp(half3);5848int3 __ovld __cnfn convert_int3_rtn(half3);5849int3 __ovld __cnfn convert_int3_rtz(half3);5850int3 __ovld __cnfn convert_int3_sat(half3);5851int3 __ovld __cnfn convert_int3_sat_rte(half3);5852int3 __ovld __cnfn convert_int3_sat_rtp(half3);5853int3 __ovld __cnfn convert_int3_sat_rtn(half3);5854int3 __ovld __cnfn convert_int3_sat_rtz(half3);5855int4 __ovld __cnfn convert_int4(half4);5856int4 __ovld __cnfn convert_int4_rte(half4);5857int4 __ovld __cnfn convert_int4_rtp(half4);5858int4 __ovld __cnfn convert_int4_rtn(half4);5859int4 __ovld __cnfn convert_int4_rtz(half4);5860int4 __ovld __cnfn convert_int4_sat(half4);5861int4 __ovld __cnfn convert_int4_sat_rte(half4);5862int4 __ovld __cnfn convert_int4_sat_rtp(half4);5863int4 __ovld __cnfn convert_int4_sat_rtn(half4);5864int4 __ovld __cnfn convert_int4_sat_rtz(half4);5865int8 __ovld __cnfn convert_int8(half8);5866int8 __ovld __cnfn convert_int8_rte(half8);5867int8 __ovld __cnfn convert_int8_rtp(half8);5868int8 __ovld __cnfn convert_int8_rtn(half8);5869int8 __ovld __cnfn convert_int8_rtz(half8);5870int8 __ovld __cnfn convert_int8_sat(half8);5871int8 __ovld __cnfn convert_int8_sat_rte(half8);5872int8 __ovld __cnfn convert_int8_sat_rtp(half8);5873int8 __ovld __cnfn convert_int8_sat_rtn(half8);5874int8 __ovld __cnfn convert_int8_sat_rtz(half8);5875int16 __ovld __cnfn convert_int16(half16);5876int16 __ovld __cnfn convert_int16_rte(half16);5877int16 __ovld __cnfn convert_int16_rtp(half16);5878int16 __ovld __cnfn convert_int16_rtn(half16);5879int16 __ovld __cnfn convert_int16_rtz(half16);5880int16 __ovld __cnfn convert_int16_sat(half16);5881int16 __ovld __cnfn convert_int16_sat_rte(half16);5882int16 __ovld __cnfn convert_int16_sat_rtp(half16);5883int16 __ovld __cnfn convert_int16_sat_rtn(half16);5884int16 __ovld __cnfn convert_int16_sat_rtz(half16);5885long __ovld __cnfn convert_long(half);5886long __ovld __cnfn convert_long_rte(half);5887long __ovld __cnfn convert_long_rtp(half);5888long __ovld __cnfn convert_long_rtn(half);5889long __ovld __cnfn convert_long_rtz(half);5890long __ovld __cnfn convert_long_sat(half);5891long __ovld __cnfn convert_long_sat_rte(half);5892long __ovld __cnfn convert_long_sat_rtp(half);5893long __ovld __cnfn convert_long_sat_rtn(half);5894long __ovld __cnfn convert_long_sat_rtz(half);5895long2 __ovld __cnfn convert_long2(half2);5896long2 __ovld __cnfn convert_long2_rte(half2);5897long2 __ovld __cnfn convert_long2_rtp(half2);5898long2 __ovld __cnfn convert_long2_rtn(half2);5899long2 __ovld __cnfn convert_long2_rtz(half2);5900long2 __ovld __cnfn convert_long2_sat(half2);5901long2 __ovld __cnfn convert_long2_sat_rte(half2);5902long2 __ovld __cnfn convert_long2_sat_rtp(half2);5903long2 __ovld __cnfn convert_long2_sat_rtn(half2);5904long2 __ovld __cnfn convert_long2_sat_rtz(half2);5905long3 __ovld __cnfn convert_long3(half3);5906long3 __ovld __cnfn convert_long3_rte(half3);5907long3 __ovld __cnfn convert_long3_rtp(half3);5908long3 __ovld __cnfn convert_long3_rtn(half3);5909long3 __ovld __cnfn convert_long3_rtz(half3);5910long3 __ovld __cnfn convert_long3_sat(half3);5911long3 __ovld __cnfn convert_long3_sat_rte(half3);5912long3 __ovld __cnfn convert_long3_sat_rtp(half3);5913long3 __ovld __cnfn convert_long3_sat_rtn(half3);5914long3 __ovld __cnfn convert_long3_sat_rtz(half3);5915long4 __ovld __cnfn convert_long4(half4);5916long4 __ovld __cnfn convert_long4_rte(half4);5917long4 __ovld __cnfn convert_long4_rtp(half4);5918long4 __ovld __cnfn convert_long4_rtn(half4);5919long4 __ovld __cnfn convert_long4_rtz(half4);5920long4 __ovld __cnfn convert_long4_sat(half4);5921long4 __ovld __cnfn convert_long4_sat_rte(half4);5922long4 __ovld __cnfn convert_long4_sat_rtp(half4);5923long4 __ovld __cnfn convert_long4_sat_rtn(half4);5924long4 __ovld __cnfn convert_long4_sat_rtz(half4);5925long8 __ovld __cnfn convert_long8(half8);5926long8 __ovld __cnfn convert_long8_rte(half8);5927long8 __ovld __cnfn convert_long8_rtp(half8);5928long8 __ovld __cnfn convert_long8_rtn(half8);5929long8 __ovld __cnfn convert_long8_rtz(half8);5930long8 __ovld __cnfn convert_long8_sat(half8);5931long8 __ovld __cnfn convert_long8_sat_rte(half8);5932long8 __ovld __cnfn convert_long8_sat_rtp(half8);5933long8 __ovld __cnfn convert_long8_sat_rtn(half8);5934long8 __ovld __cnfn convert_long8_sat_rtz(half8);5935long16 __ovld __cnfn convert_long16(half16);5936long16 __ovld __cnfn convert_long16_rte(half16);5937long16 __ovld __cnfn convert_long16_rtp(half16);5938long16 __ovld __cnfn convert_long16_rtn(half16);5939long16 __ovld __cnfn convert_long16_rtz(half16);5940long16 __ovld __cnfn convert_long16_sat(half16);5941long16 __ovld __cnfn convert_long16_sat_rte(half16);5942long16 __ovld __cnfn convert_long16_sat_rtp(half16);5943long16 __ovld __cnfn convert_long16_sat_rtn(half16);5944long16 __ovld __cnfn convert_long16_sat_rtz(half16);5945float __ovld __cnfn convert_float(half);5946float __ovld __cnfn convert_float_rte(half);5947float __ovld __cnfn convert_float_rtp(half);5948float __ovld __cnfn convert_float_rtn(half);5949float __ovld __cnfn convert_float_rtz(half);5950float2 __ovld __cnfn convert_float2(half2);5951float2 __ovld __cnfn convert_float2_rte(half2);5952float2 __ovld __cnfn convert_float2_rtp(half2);5953float2 __ovld __cnfn convert_float2_rtn(half2);5954float2 __ovld __cnfn convert_float2_rtz(half2);5955float3 __ovld __cnfn convert_float3(half3);5956float3 __ovld __cnfn convert_float3_rte(half3);5957float3 __ovld __cnfn convert_float3_rtp(half3);5958float3 __ovld __cnfn convert_float3_rtn(half3);5959float3 __ovld __cnfn convert_float3_rtz(half3);5960float4 __ovld __cnfn convert_float4(half4);5961float4 __ovld __cnfn convert_float4_rte(half4);5962float4 __ovld __cnfn convert_float4_rtp(half4);5963float4 __ovld __cnfn convert_float4_rtn(half4);5964float4 __ovld __cnfn convert_float4_rtz(half4);5965float8 __ovld __cnfn convert_float8(half8);5966float8 __ovld __cnfn convert_float8_rte(half8);5967float8 __ovld __cnfn convert_float8_rtp(half8);5968float8 __ovld __cnfn convert_float8_rtn(half8);5969float8 __ovld __cnfn convert_float8_rtz(half8);5970float16 __ovld __cnfn convert_float16(half16);5971float16 __ovld __cnfn convert_float16_rte(half16);5972float16 __ovld __cnfn convert_float16_rtp(half16);5973float16 __ovld __cnfn convert_float16_rtn(half16);5974float16 __ovld __cnfn convert_float16_rtz(half16);5975 5976// Convert non-double types to half types.5977half __ovld __cnfn convert_half(uchar);5978half __ovld __cnfn convert_half(ushort);5979half __ovld __cnfn convert_half(uint);5980half __ovld __cnfn convert_half(ulong);5981half __ovld __cnfn convert_half(char);5982half __ovld __cnfn convert_half(short);5983half __ovld __cnfn convert_half(int);5984half __ovld __cnfn convert_half(long);5985half __ovld __cnfn convert_half(float);5986half __ovld __cnfn convert_half(half);5987half __ovld __cnfn convert_half_rte(uchar);5988half __ovld __cnfn convert_half_rte(ushort);5989half __ovld __cnfn convert_half_rte(uint);5990half __ovld __cnfn convert_half_rte(ulong);5991half __ovld __cnfn convert_half_rte(char);5992half __ovld __cnfn convert_half_rte(short);5993half __ovld __cnfn convert_half_rte(int);5994half __ovld __cnfn convert_half_rte(long);5995half __ovld __cnfn convert_half_rte(float);5996half __ovld __cnfn convert_half_rte(half);5997half __ovld __cnfn convert_half_rtp(uchar);5998half __ovld __cnfn convert_half_rtp(ushort);5999half __ovld __cnfn convert_half_rtp(uint);6000half __ovld __cnfn convert_half_rtp(ulong);6001half __ovld __cnfn convert_half_rtp(char);6002half __ovld __cnfn convert_half_rtp(short);6003half __ovld __cnfn convert_half_rtp(int);6004half __ovld __cnfn convert_half_rtp(long);6005half __ovld __cnfn convert_half_rtp(float);6006half __ovld __cnfn convert_half_rtp(half);6007half __ovld __cnfn convert_half_rtn(uchar);6008half __ovld __cnfn convert_half_rtn(ushort);6009half __ovld __cnfn convert_half_rtn(uint);6010half __ovld __cnfn convert_half_rtn(ulong);6011half __ovld __cnfn convert_half_rtn(char);6012half __ovld __cnfn convert_half_rtn(short);6013half __ovld __cnfn convert_half_rtn(int);6014half __ovld __cnfn convert_half_rtn(long);6015half __ovld __cnfn convert_half_rtn(float);6016half __ovld __cnfn convert_half_rtn(half);6017half __ovld __cnfn convert_half_rtz(uchar);6018half __ovld __cnfn convert_half_rtz(ushort);6019half __ovld __cnfn convert_half_rtz(uint);6020half __ovld __cnfn convert_half_rtz(ulong);6021half __ovld __cnfn convert_half_rtz(char);6022half __ovld __cnfn convert_half_rtz(short);6023half __ovld __cnfn convert_half_rtz(int);6024half __ovld __cnfn convert_half_rtz(long);6025half __ovld __cnfn convert_half_rtz(float);6026half __ovld __cnfn convert_half_rtz(half);6027half2 __ovld __cnfn convert_half2(char2);6028half2 __ovld __cnfn convert_half2(uchar2);6029half2 __ovld __cnfn convert_half2(short2);6030half2 __ovld __cnfn convert_half2(ushort2);6031half2 __ovld __cnfn convert_half2(int2);6032half2 __ovld __cnfn convert_half2(uint2);6033half2 __ovld __cnfn convert_half2(long2);6034half2 __ovld __cnfn convert_half2(ulong2);6035half2 __ovld __cnfn convert_half2(float2);6036half2 __ovld __cnfn convert_half2(half2);6037half2 __ovld __cnfn convert_half2_rte(char2);6038half2 __ovld __cnfn convert_half2_rte(uchar2);6039half2 __ovld __cnfn convert_half2_rte(short2);6040half2 __ovld __cnfn convert_half2_rte(ushort2);6041half2 __ovld __cnfn convert_half2_rte(int2);6042half2 __ovld __cnfn convert_half2_rte(uint2);6043half2 __ovld __cnfn convert_half2_rte(long2);6044half2 __ovld __cnfn convert_half2_rte(ulong2);6045half2 __ovld __cnfn convert_half2_rte(float2);6046half2 __ovld __cnfn convert_half2_rte(half2);6047half2 __ovld __cnfn convert_half2_rtp(char2);6048half2 __ovld __cnfn convert_half2_rtp(uchar2);6049half2 __ovld __cnfn convert_half2_rtp(short2);6050half2 __ovld __cnfn convert_half2_rtp(ushort2);6051half2 __ovld __cnfn convert_half2_rtp(int2);6052half2 __ovld __cnfn convert_half2_rtp(uint2);6053half2 __ovld __cnfn convert_half2_rtp(long2);6054half2 __ovld __cnfn convert_half2_rtp(ulong2);6055half2 __ovld __cnfn convert_half2_rtp(float2);6056half2 __ovld __cnfn convert_half2_rtp(half2);6057half2 __ovld __cnfn convert_half2_rtn(char2);6058half2 __ovld __cnfn convert_half2_rtn(uchar2);6059half2 __ovld __cnfn convert_half2_rtn(short2);6060half2 __ovld __cnfn convert_half2_rtn(ushort2);6061half2 __ovld __cnfn convert_half2_rtn(int2);6062half2 __ovld __cnfn convert_half2_rtn(uint2);6063half2 __ovld __cnfn convert_half2_rtn(long2);6064half2 __ovld __cnfn convert_half2_rtn(ulong2);6065half2 __ovld __cnfn convert_half2_rtn(float2);6066half2 __ovld __cnfn convert_half2_rtn(half2);6067half2 __ovld __cnfn convert_half2_rtz(char2);6068half2 __ovld __cnfn convert_half2_rtz(uchar2);6069half2 __ovld __cnfn convert_half2_rtz(short2);6070half2 __ovld __cnfn convert_half2_rtz(ushort2);6071half2 __ovld __cnfn convert_half2_rtz(int2);6072half2 __ovld __cnfn convert_half2_rtz(uint2);6073half2 __ovld __cnfn convert_half2_rtz(long2);6074half2 __ovld __cnfn convert_half2_rtz(ulong2);6075half2 __ovld __cnfn convert_half2_rtz(float2);6076half2 __ovld __cnfn convert_half2_rtz(half2);6077half3 __ovld __cnfn convert_half3(char3);6078half3 __ovld __cnfn convert_half3(uchar3);6079half3 __ovld __cnfn convert_half3(short3);6080half3 __ovld __cnfn convert_half3(ushort3);6081half3 __ovld __cnfn convert_half3(int3);6082half3 __ovld __cnfn convert_half3(uint3);6083half3 __ovld __cnfn convert_half3(long3);6084half3 __ovld __cnfn convert_half3(ulong3);6085half3 __ovld __cnfn convert_half3(float3);6086half3 __ovld __cnfn convert_half3(half3);6087half3 __ovld __cnfn convert_half3_rte(char3);6088half3 __ovld __cnfn convert_half3_rte(uchar3);6089half3 __ovld __cnfn convert_half3_rte(short3);6090half3 __ovld __cnfn convert_half3_rte(ushort3);6091half3 __ovld __cnfn convert_half3_rte(int3);6092half3 __ovld __cnfn convert_half3_rte(uint3);6093half3 __ovld __cnfn convert_half3_rte(long3);6094half3 __ovld __cnfn convert_half3_rte(ulong3);6095half3 __ovld __cnfn convert_half3_rte(float3);6096half3 __ovld __cnfn convert_half3_rte(half3);6097half3 __ovld __cnfn convert_half3_rtp(char3);6098half3 __ovld __cnfn convert_half3_rtp(uchar3);6099half3 __ovld __cnfn convert_half3_rtp(short3);6100half3 __ovld __cnfn convert_half3_rtp(ushort3);6101half3 __ovld __cnfn convert_half3_rtp(int3);6102half3 __ovld __cnfn convert_half3_rtp(uint3);6103half3 __ovld __cnfn convert_half3_rtp(long3);6104half3 __ovld __cnfn convert_half3_rtp(ulong3);6105half3 __ovld __cnfn convert_half3_rtp(float3);6106half3 __ovld __cnfn convert_half3_rtp(half3);6107half3 __ovld __cnfn convert_half3_rtn(char3);6108half3 __ovld __cnfn convert_half3_rtn(uchar3);6109half3 __ovld __cnfn convert_half3_rtn(short3);6110half3 __ovld __cnfn convert_half3_rtn(ushort3);6111half3 __ovld __cnfn convert_half3_rtn(int3);6112half3 __ovld __cnfn convert_half3_rtn(uint3);6113half3 __ovld __cnfn convert_half3_rtn(long3);6114half3 __ovld __cnfn convert_half3_rtn(ulong3);6115half3 __ovld __cnfn convert_half3_rtn(float3);6116half3 __ovld __cnfn convert_half3_rtn(half3);6117half3 __ovld __cnfn convert_half3_rtz(char3);6118half3 __ovld __cnfn convert_half3_rtz(uchar3);6119half3 __ovld __cnfn convert_half3_rtz(short3);6120half3 __ovld __cnfn convert_half3_rtz(ushort3);6121half3 __ovld __cnfn convert_half3_rtz(int3);6122half3 __ovld __cnfn convert_half3_rtz(uint3);6123half3 __ovld __cnfn convert_half3_rtz(long3);6124half3 __ovld __cnfn convert_half3_rtz(ulong3);6125half3 __ovld __cnfn convert_half3_rtz(float3);6126half3 __ovld __cnfn convert_half3_rtz(half3);6127half4 __ovld __cnfn convert_half4(char4);6128half4 __ovld __cnfn convert_half4(uchar4);6129half4 __ovld __cnfn convert_half4(short4);6130half4 __ovld __cnfn convert_half4(ushort4);6131half4 __ovld __cnfn convert_half4(int4);6132half4 __ovld __cnfn convert_half4(uint4);6133half4 __ovld __cnfn convert_half4(long4);6134half4 __ovld __cnfn convert_half4(ulong4);6135half4 __ovld __cnfn convert_half4(float4);6136half4 __ovld __cnfn convert_half4(half4);6137half4 __ovld __cnfn convert_half4_rte(char4);6138half4 __ovld __cnfn convert_half4_rte(uchar4);6139half4 __ovld __cnfn convert_half4_rte(short4);6140half4 __ovld __cnfn convert_half4_rte(ushort4);6141half4 __ovld __cnfn convert_half4_rte(int4);6142half4 __ovld __cnfn convert_half4_rte(uint4);6143half4 __ovld __cnfn convert_half4_rte(long4);6144half4 __ovld __cnfn convert_half4_rte(ulong4);6145half4 __ovld __cnfn convert_half4_rte(float4);6146half4 __ovld __cnfn convert_half4_rte(half4);6147half4 __ovld __cnfn convert_half4_rtp(char4);6148half4 __ovld __cnfn convert_half4_rtp(uchar4);6149half4 __ovld __cnfn convert_half4_rtp(short4);6150half4 __ovld __cnfn convert_half4_rtp(ushort4);6151half4 __ovld __cnfn convert_half4_rtp(int4);6152half4 __ovld __cnfn convert_half4_rtp(uint4);6153half4 __ovld __cnfn convert_half4_rtp(long4);6154half4 __ovld __cnfn convert_half4_rtp(ulong4);6155half4 __ovld __cnfn convert_half4_rtp(float4);6156half4 __ovld __cnfn convert_half4_rtp(half4);6157half4 __ovld __cnfn convert_half4_rtn(char4);6158half4 __ovld __cnfn convert_half4_rtn(uchar4);6159half4 __ovld __cnfn convert_half4_rtn(short4);6160half4 __ovld __cnfn convert_half4_rtn(ushort4);6161half4 __ovld __cnfn convert_half4_rtn(int4);6162half4 __ovld __cnfn convert_half4_rtn(uint4);6163half4 __ovld __cnfn convert_half4_rtn(long4);6164half4 __ovld __cnfn convert_half4_rtn(ulong4);6165half4 __ovld __cnfn convert_half4_rtn(float4);6166half4 __ovld __cnfn convert_half4_rtn(half4);6167half4 __ovld __cnfn convert_half4_rtz(char4);6168half4 __ovld __cnfn convert_half4_rtz(uchar4);6169half4 __ovld __cnfn convert_half4_rtz(short4);6170half4 __ovld __cnfn convert_half4_rtz(ushort4);6171half4 __ovld __cnfn convert_half4_rtz(int4);6172half4 __ovld __cnfn convert_half4_rtz(uint4);6173half4 __ovld __cnfn convert_half4_rtz(long4);6174half4 __ovld __cnfn convert_half4_rtz(ulong4);6175half4 __ovld __cnfn convert_half4_rtz(float4);6176half4 __ovld __cnfn convert_half4_rtz(half4);6177half8 __ovld __cnfn convert_half8(char8);6178half8 __ovld __cnfn convert_half8(uchar8);6179half8 __ovld __cnfn convert_half8(short8);6180half8 __ovld __cnfn convert_half8(ushort8);6181half8 __ovld __cnfn convert_half8(int8);6182half8 __ovld __cnfn convert_half8(uint8);6183half8 __ovld __cnfn convert_half8(long8);6184half8 __ovld __cnfn convert_half8(ulong8);6185half8 __ovld __cnfn convert_half8(float8);6186half8 __ovld __cnfn convert_half8(half8);6187half8 __ovld __cnfn convert_half8_rte(char8);6188half8 __ovld __cnfn convert_half8_rte(uchar8);6189half8 __ovld __cnfn convert_half8_rte(short8);6190half8 __ovld __cnfn convert_half8_rte(ushort8);6191half8 __ovld __cnfn convert_half8_rte(int8);6192half8 __ovld __cnfn convert_half8_rte(uint8);6193half8 __ovld __cnfn convert_half8_rte(long8);6194half8 __ovld __cnfn convert_half8_rte(ulong8);6195half8 __ovld __cnfn convert_half8_rte(float8);6196half8 __ovld __cnfn convert_half8_rte(half8);6197half8 __ovld __cnfn convert_half8_rtp(char8);6198half8 __ovld __cnfn convert_half8_rtp(uchar8);6199half8 __ovld __cnfn convert_half8_rtp(short8);6200half8 __ovld __cnfn convert_half8_rtp(ushort8);6201half8 __ovld __cnfn convert_half8_rtp(int8);6202half8 __ovld __cnfn convert_half8_rtp(uint8);6203half8 __ovld __cnfn convert_half8_rtp(long8);6204half8 __ovld __cnfn convert_half8_rtp(ulong8);6205half8 __ovld __cnfn convert_half8_rtp(float8);6206half8 __ovld __cnfn convert_half8_rtp(half8);6207half8 __ovld __cnfn convert_half8_rtn(char8);6208half8 __ovld __cnfn convert_half8_rtn(uchar8);6209half8 __ovld __cnfn convert_half8_rtn(short8);6210half8 __ovld __cnfn convert_half8_rtn(ushort8);6211half8 __ovld __cnfn convert_half8_rtn(int8);6212half8 __ovld __cnfn convert_half8_rtn(uint8);6213half8 __ovld __cnfn convert_half8_rtn(long8);6214half8 __ovld __cnfn convert_half8_rtn(ulong8);6215half8 __ovld __cnfn convert_half8_rtn(float8);6216half8 __ovld __cnfn convert_half8_rtn(half8);6217half8 __ovld __cnfn convert_half8_rtz(char8);6218half8 __ovld __cnfn convert_half8_rtz(uchar8);6219half8 __ovld __cnfn convert_half8_rtz(short8);6220half8 __ovld __cnfn convert_half8_rtz(ushort8);6221half8 __ovld __cnfn convert_half8_rtz(int8);6222half8 __ovld __cnfn convert_half8_rtz(uint8);6223half8 __ovld __cnfn convert_half8_rtz(long8);6224half8 __ovld __cnfn convert_half8_rtz(ulong8);6225half8 __ovld __cnfn convert_half8_rtz(float8);6226half8 __ovld __cnfn convert_half8_rtz(half8);6227half16 __ovld __cnfn convert_half16(char16);6228half16 __ovld __cnfn convert_half16(uchar16);6229half16 __ovld __cnfn convert_half16(short16);6230half16 __ovld __cnfn convert_half16(ushort16);6231half16 __ovld __cnfn convert_half16(int16);6232half16 __ovld __cnfn convert_half16(uint16);6233half16 __ovld __cnfn convert_half16(long16);6234half16 __ovld __cnfn convert_half16(ulong16);6235half16 __ovld __cnfn convert_half16(float16);6236half16 __ovld __cnfn convert_half16(half16);6237half16 __ovld __cnfn convert_half16_rte(char16);6238half16 __ovld __cnfn convert_half16_rte(uchar16);6239half16 __ovld __cnfn convert_half16_rte(short16);6240half16 __ovld __cnfn convert_half16_rte(ushort16);6241half16 __ovld __cnfn convert_half16_rte(int16);6242half16 __ovld __cnfn convert_half16_rte(uint16);6243half16 __ovld __cnfn convert_half16_rte(long16);6244half16 __ovld __cnfn convert_half16_rte(ulong16);6245half16 __ovld __cnfn convert_half16_rte(float16);6246half16 __ovld __cnfn convert_half16_rte(half16);6247half16 __ovld __cnfn convert_half16_rtp(char16);6248half16 __ovld __cnfn convert_half16_rtp(uchar16);6249half16 __ovld __cnfn convert_half16_rtp(short16);6250half16 __ovld __cnfn convert_half16_rtp(ushort16);6251half16 __ovld __cnfn convert_half16_rtp(int16);6252half16 __ovld __cnfn convert_half16_rtp(uint16);6253half16 __ovld __cnfn convert_half16_rtp(long16);6254half16 __ovld __cnfn convert_half16_rtp(ulong16);6255half16 __ovld __cnfn convert_half16_rtp(float16);6256half16 __ovld __cnfn convert_half16_rtp(half16);6257half16 __ovld __cnfn convert_half16_rtn(char16);6258half16 __ovld __cnfn convert_half16_rtn(uchar16);6259half16 __ovld __cnfn convert_half16_rtn(short16);6260half16 __ovld __cnfn convert_half16_rtn(ushort16);6261half16 __ovld __cnfn convert_half16_rtn(int16);6262half16 __ovld __cnfn convert_half16_rtn(uint16);6263half16 __ovld __cnfn convert_half16_rtn(long16);6264half16 __ovld __cnfn convert_half16_rtn(ulong16);6265half16 __ovld __cnfn convert_half16_rtn(float16);6266half16 __ovld __cnfn convert_half16_rtn(half16);6267half16 __ovld __cnfn convert_half16_rtz(char16);6268half16 __ovld __cnfn convert_half16_rtz(uchar16);6269half16 __ovld __cnfn convert_half16_rtz(short16);6270half16 __ovld __cnfn convert_half16_rtz(ushort16);6271half16 __ovld __cnfn convert_half16_rtz(int16);6272half16 __ovld __cnfn convert_half16_rtz(uint16);6273half16 __ovld __cnfn convert_half16_rtz(long16);6274half16 __ovld __cnfn convert_half16_rtz(ulong16);6275half16 __ovld __cnfn convert_half16_rtz(float16);6276half16 __ovld __cnfn convert_half16_rtz(half16);6277 6278// Convert half types to double types.6279#ifdef cl_khr_fp646280double __ovld __cnfn convert_double(half);6281double __ovld __cnfn convert_double_rte(half);6282double __ovld __cnfn convert_double_rtp(half);6283double __ovld __cnfn convert_double_rtn(half);6284double __ovld __cnfn convert_double_rtz(half);6285double2 __ovld __cnfn convert_double2(half2);6286double2 __ovld __cnfn convert_double2_rte(half2);6287double2 __ovld __cnfn convert_double2_rtp(half2);6288double2 __ovld __cnfn convert_double2_rtn(half2);6289double2 __ovld __cnfn convert_double2_rtz(half2);6290double3 __ovld __cnfn convert_double3(half3);6291double3 __ovld __cnfn convert_double3_rte(half3);6292double3 __ovld __cnfn convert_double3_rtp(half3);6293double3 __ovld __cnfn convert_double3_rtn(half3);6294double3 __ovld __cnfn convert_double3_rtz(half3);6295double4 __ovld __cnfn convert_double4(half4);6296double4 __ovld __cnfn convert_double4_rte(half4);6297double4 __ovld __cnfn convert_double4_rtp(half4);6298double4 __ovld __cnfn convert_double4_rtn(half4);6299double4 __ovld __cnfn convert_double4_rtz(half4);6300double8 __ovld __cnfn convert_double8(half8);6301double8 __ovld __cnfn convert_double8_rte(half8);6302double8 __ovld __cnfn convert_double8_rtp(half8);6303double8 __ovld __cnfn convert_double8_rtn(half8);6304double8 __ovld __cnfn convert_double8_rtz(half8);6305double16 __ovld __cnfn convert_double16(half16);6306double16 __ovld __cnfn convert_double16_rte(half16);6307double16 __ovld __cnfn convert_double16_rtp(half16);6308double16 __ovld __cnfn convert_double16_rtn(half16);6309double16 __ovld __cnfn convert_double16_rtz(half16);6310 6311// Convert double types to half types.6312half __ovld __cnfn convert_half(double);6313half __ovld __cnfn convert_half_rte(double);6314half __ovld __cnfn convert_half_rtp(double);6315half __ovld __cnfn convert_half_rtn(double);6316half __ovld __cnfn convert_half_rtz(double);6317half2 __ovld __cnfn convert_half2(double2);6318half2 __ovld __cnfn convert_half2_rte(double2);6319half2 __ovld __cnfn convert_half2_rtp(double2);6320half2 __ovld __cnfn convert_half2_rtn(double2);6321half2 __ovld __cnfn convert_half2_rtz(double2);6322half3 __ovld __cnfn convert_half3(double3);6323half3 __ovld __cnfn convert_half3_rte(double3);6324half3 __ovld __cnfn convert_half3_rtp(double3);6325half3 __ovld __cnfn convert_half3_rtn(double3);6326half3 __ovld __cnfn convert_half3_rtz(double3);6327half4 __ovld __cnfn convert_half4(double4);6328half4 __ovld __cnfn convert_half4_rte(double4);6329half4 __ovld __cnfn convert_half4_rtp(double4);6330half4 __ovld __cnfn convert_half4_rtn(double4);6331half4 __ovld __cnfn convert_half4_rtz(double4);6332half8 __ovld __cnfn convert_half8(double8);6333half8 __ovld __cnfn convert_half8_rte(double8);6334half8 __ovld __cnfn convert_half8_rtp(double8);6335half8 __ovld __cnfn convert_half8_rtn(double8);6336half8 __ovld __cnfn convert_half8_rtz(double8);6337half16 __ovld __cnfn convert_half16(double16);6338half16 __ovld __cnfn convert_half16_rte(double16);6339half16 __ovld __cnfn convert_half16_rtp(double16);6340half16 __ovld __cnfn convert_half16_rtn(double16);6341half16 __ovld __cnfn convert_half16_rtz(double16);6342#endif //cl_khr_fp646343 6344#endif // cl_khr_fp166345 6346// OpenCL v1.1 s6.11.1, v1.2 s6.12.1, v2.0 s6.13.1 - Work-item Functions6347 6348/**6349 * Returns the number of dimensions in use. This is the6350 * value given to the work_dim argument specified in6351 * clEnqueueNDRangeKernel.6352 * For clEnqueueTask, this returns 1.6353 */6354uint __ovld __cnfn get_work_dim(void);6355 6356/**6357 * Returns the number of global work-items specified for6358 * dimension identified by dimindx. This value is given by6359 * the global_work_size argument to6360 * clEnqueueNDRangeKernel. Valid values of dimindx6361 * are 0 to get_work_dim() - 1. For other values of6362 * dimindx, get_global_size() returns 1.6363 * For clEnqueueTask, this always returns 1.6364 */6365size_t __ovld __cnfn get_global_size(uint);6366 6367/**6368 * Returns the unique global work-item ID value for6369 * dimension identified by dimindx. The global work-item6370 * ID specifies the work-item ID based on the number of6371 * global work-items specified to execute the kernel. Valid6372 * values of dimindx are 0 to get_work_dim() - 1. For6373 * other values of dimindx, get_global_id() returns 0.6374 * For clEnqueueTask, this returns 0.6375 */6376size_t __ovld __cnfn get_global_id(uint);6377 6378/**6379 * Returns the number of local work-items specified in6380 * dimension identified by dimindx. This value is given by6381 * the local_work_size argument to6382 * clEnqueueNDRangeKernel if local_work_size is not6383 * NULL; otherwise the OpenCL implementation chooses6384 * an appropriate local_work_size value which is returned6385 * by this function. Valid values of dimindx are 0 to6386 * get_work_dim() - 1. For other values of dimindx,6387 * get_local_size() returns 1.6388 * For clEnqueueTask, this always returns 1.6389 */6390size_t __ovld __cnfn get_local_size(uint);6391 6392/**6393 * Returns the unique local work-item ID i.e. a work-item6394 * within a specific work-group for dimension identified by6395 * dimindx. Valid values of dimindx are 0 to6396 * get_work_dim() - 1. For other values of dimindx,6397 * get_local_id() returns 0.6398 * For clEnqueueTask, this returns 0.6399 */6400size_t __ovld __cnfn get_local_id(uint);6401 6402/**6403 * Returns the number of work-groups that will execute a6404 * kernel for dimension identified by dimindx.6405 * Valid values of dimindx are 0 to get_work_dim() - 1.6406 * For other values of dimindx, get_num_groups() returns 1.6407 * For clEnqueueTask, this always returns 1.6408 */6409size_t __ovld __cnfn get_num_groups(uint);6410 6411/**6412 * get_group_id returns the work-group ID which is a6413 * number from 0 .. get_num_groups(dimindx) - 1.6414 * Valid values of dimindx are 0 to get_work_dim() - 1.6415 * For other values, get_group_id() returns 0.6416 * For clEnqueueTask, this returns 0.6417 */6418size_t __ovld __cnfn get_group_id(uint);6419 6420/**6421 * get_global_offset returns the offset values specified in6422 * global_work_offset argument to6423 * clEnqueueNDRangeKernel.6424 * Valid values of dimindx are 0 to get_work_dim() - 1.6425 * For other values, get_global_offset() returns 0.6426 * For clEnqueueTask, this returns 0.6427 */6428size_t __ovld __cnfn get_global_offset(uint);6429 6430#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)6431size_t __ovld get_enqueued_local_size(uint);6432size_t __ovld get_global_linear_id(void);6433size_t __ovld get_local_linear_id(void);6434#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)6435 6436// OpenCL v1.1 s6.11.2, v1.2 s6.12.2, v2.0 s6.13.2 - Math functions6437 6438/**6439 * Arc cosine function.6440 */6441float __ovld __cnfn acos(float);6442float2 __ovld __cnfn acos(float2);6443float3 __ovld __cnfn acos(float3);6444float4 __ovld __cnfn acos(float4);6445float8 __ovld __cnfn acos(float8);6446float16 __ovld __cnfn acos(float16);6447#ifdef cl_khr_fp646448double __ovld __cnfn acos(double);6449double2 __ovld __cnfn acos(double2);6450double3 __ovld __cnfn acos(double3);6451double4 __ovld __cnfn acos(double4);6452double8 __ovld __cnfn acos(double8);6453double16 __ovld __cnfn acos(double16);6454#endif //cl_khr_fp646455#ifdef cl_khr_fp166456half __ovld __cnfn acos(half);6457half2 __ovld __cnfn acos(half2);6458half3 __ovld __cnfn acos(half3);6459half4 __ovld __cnfn acos(half4);6460half8 __ovld __cnfn acos(half8);6461half16 __ovld __cnfn acos(half16);6462#endif //cl_khr_fp166463 6464/**6465 * Inverse hyperbolic cosine.6466 */6467float __ovld __cnfn acosh(float);6468float2 __ovld __cnfn acosh(float2);6469float3 __ovld __cnfn acosh(float3);6470float4 __ovld __cnfn acosh(float4);6471float8 __ovld __cnfn acosh(float8);6472float16 __ovld __cnfn acosh(float16);6473#ifdef cl_khr_fp646474double __ovld __cnfn acosh(double);6475double2 __ovld __cnfn acosh(double2);6476double3 __ovld __cnfn acosh(double3);6477double4 __ovld __cnfn acosh(double4);6478double8 __ovld __cnfn acosh(double8);6479double16 __ovld __cnfn acosh(double16);6480#endif //cl_khr_fp646481#ifdef cl_khr_fp166482half __ovld __cnfn acosh(half);6483half2 __ovld __cnfn acosh(half2);6484half3 __ovld __cnfn acosh(half3);6485half4 __ovld __cnfn acosh(half4);6486half8 __ovld __cnfn acosh(half8);6487half16 __ovld __cnfn acosh(half16);6488#endif //cl_khr_fp166489 6490/**6491 * Compute acos (x) / PI.6492 */6493float __ovld __cnfn acospi(float);6494float2 __ovld __cnfn acospi(float2);6495float3 __ovld __cnfn acospi(float3);6496float4 __ovld __cnfn acospi(float4);6497float8 __ovld __cnfn acospi(float8);6498float16 __ovld __cnfn acospi(float16);6499#ifdef cl_khr_fp646500double __ovld __cnfn acospi(double);6501double2 __ovld __cnfn acospi(double2);6502double3 __ovld __cnfn acospi(double3);6503double4 __ovld __cnfn acospi(double4);6504double8 __ovld __cnfn acospi(double8);6505double16 __ovld __cnfn acospi(double16);6506#endif //cl_khr_fp646507#ifdef cl_khr_fp166508half __ovld __cnfn acospi(half);6509half2 __ovld __cnfn acospi(half2);6510half3 __ovld __cnfn acospi(half3);6511half4 __ovld __cnfn acospi(half4);6512half8 __ovld __cnfn acospi(half8);6513half16 __ovld __cnfn acospi(half16);6514#endif //cl_khr_fp166515 6516/**6517 * Arc sine function.6518 */6519float __ovld __cnfn asin(float);6520float2 __ovld __cnfn asin(float2);6521float3 __ovld __cnfn asin(float3);6522float4 __ovld __cnfn asin(float4);6523float8 __ovld __cnfn asin(float8);6524float16 __ovld __cnfn asin(float16);6525#ifdef cl_khr_fp646526double __ovld __cnfn asin(double);6527double2 __ovld __cnfn asin(double2);6528double3 __ovld __cnfn asin(double3);6529double4 __ovld __cnfn asin(double4);6530double8 __ovld __cnfn asin(double8);6531double16 __ovld __cnfn asin(double16);6532#endif //cl_khr_fp646533#ifdef cl_khr_fp166534half __ovld __cnfn asin(half);6535half2 __ovld __cnfn asin(half2);6536half3 __ovld __cnfn asin(half3);6537half4 __ovld __cnfn asin(half4);6538half8 __ovld __cnfn asin(half8);6539half16 __ovld __cnfn asin(half16);6540#endif //cl_khr_fp166541 6542/**6543 * Inverse hyperbolic sine.6544 */6545float __ovld __cnfn asinh(float);6546float2 __ovld __cnfn asinh(float2);6547float3 __ovld __cnfn asinh(float3);6548float4 __ovld __cnfn asinh(float4);6549float8 __ovld __cnfn asinh(float8);6550float16 __ovld __cnfn asinh(float16);6551#ifdef cl_khr_fp646552double __ovld __cnfn asinh(double);6553double2 __ovld __cnfn asinh(double2);6554double3 __ovld __cnfn asinh(double3);6555double4 __ovld __cnfn asinh(double4);6556double8 __ovld __cnfn asinh(double8);6557double16 __ovld __cnfn asinh(double16);6558#endif //cl_khr_fp646559#ifdef cl_khr_fp166560half __ovld __cnfn asinh(half);6561half2 __ovld __cnfn asinh(half2);6562half3 __ovld __cnfn asinh(half3);6563half4 __ovld __cnfn asinh(half4);6564half8 __ovld __cnfn asinh(half8);6565half16 __ovld __cnfn asinh(half16);6566#endif //cl_khr_fp166567 6568/**6569 * Compute asin (x) / PI.6570 */6571float __ovld __cnfn asinpi(float);6572float2 __ovld __cnfn asinpi(float2);6573float3 __ovld __cnfn asinpi(float3);6574float4 __ovld __cnfn asinpi(float4);6575float8 __ovld __cnfn asinpi(float8);6576float16 __ovld __cnfn asinpi(float16);6577#ifdef cl_khr_fp646578double __ovld __cnfn asinpi(double);6579double2 __ovld __cnfn asinpi(double2);6580double3 __ovld __cnfn asinpi(double3);6581double4 __ovld __cnfn asinpi(double4);6582double8 __ovld __cnfn asinpi(double8);6583double16 __ovld __cnfn asinpi(double16);6584#endif //cl_khr_fp646585#ifdef cl_khr_fp166586half __ovld __cnfn asinpi(half);6587half2 __ovld __cnfn asinpi(half2);6588half3 __ovld __cnfn asinpi(half3);6589half4 __ovld __cnfn asinpi(half4);6590half8 __ovld __cnfn asinpi(half8);6591half16 __ovld __cnfn asinpi(half16);6592#endif //cl_khr_fp166593 6594/**6595 * Arc tangent function.6596 */6597float __ovld __cnfn atan(float);6598float2 __ovld __cnfn atan(float2);6599float3 __ovld __cnfn atan(float3);6600float4 __ovld __cnfn atan(float4);6601float8 __ovld __cnfn atan(float8);6602float16 __ovld __cnfn atan(float16);6603#ifdef cl_khr_fp646604double __ovld __cnfn atan(double);6605double2 __ovld __cnfn atan(double2);6606double3 __ovld __cnfn atan(double3);6607double4 __ovld __cnfn atan(double4);6608double8 __ovld __cnfn atan(double8);6609double16 __ovld __cnfn atan(double16);6610#endif //cl_khr_fp646611#ifdef cl_khr_fp166612half __ovld __cnfn atan(half);6613half2 __ovld __cnfn atan(half2);6614half3 __ovld __cnfn atan(half3);6615half4 __ovld __cnfn atan(half4);6616half8 __ovld __cnfn atan(half8);6617half16 __ovld __cnfn atan(half16);6618#endif //cl_khr_fp166619 6620/**6621 * Arc tangent of y / x.6622 */6623float __ovld __cnfn atan2(float, float);6624float2 __ovld __cnfn atan2(float2, float2);6625float3 __ovld __cnfn atan2(float3, float3);6626float4 __ovld __cnfn atan2(float4, float4);6627float8 __ovld __cnfn atan2(float8, float8);6628float16 __ovld __cnfn atan2(float16, float16);6629#ifdef cl_khr_fp646630double __ovld __cnfn atan2(double, double);6631double2 __ovld __cnfn atan2(double2, double2);6632double3 __ovld __cnfn atan2(double3, double3);6633double4 __ovld __cnfn atan2(double4, double4);6634double8 __ovld __cnfn atan2(double8, double8);6635double16 __ovld __cnfn atan2(double16, double16);6636#endif //cl_khr_fp646637#ifdef cl_khr_fp166638half __ovld __cnfn atan2(half, half);6639half2 __ovld __cnfn atan2(half2, half2);6640half3 __ovld __cnfn atan2(half3, half3);6641half4 __ovld __cnfn atan2(half4, half4);6642half8 __ovld __cnfn atan2(half8, half8);6643half16 __ovld __cnfn atan2(half16, half16);6644#endif //cl_khr_fp166645 6646/**6647 * Hyperbolic arc tangent.6648 */6649float __ovld __cnfn atanh(float);6650float2 __ovld __cnfn atanh(float2);6651float3 __ovld __cnfn atanh(float3);6652float4 __ovld __cnfn atanh(float4);6653float8 __ovld __cnfn atanh(float8);6654float16 __ovld __cnfn atanh(float16);6655#ifdef cl_khr_fp646656double __ovld __cnfn atanh(double);6657double2 __ovld __cnfn atanh(double2);6658double3 __ovld __cnfn atanh(double3);6659double4 __ovld __cnfn atanh(double4);6660double8 __ovld __cnfn atanh(double8);6661double16 __ovld __cnfn atanh(double16);6662#endif //cl_khr_fp646663#ifdef cl_khr_fp166664half __ovld __cnfn atanh(half);6665half2 __ovld __cnfn atanh(half2);6666half3 __ovld __cnfn atanh(half3);6667half4 __ovld __cnfn atanh(half4);6668half8 __ovld __cnfn atanh(half8);6669half16 __ovld __cnfn atanh(half16);6670#endif //cl_khr_fp166671 6672/**6673 * Compute atan (x) / PI.6674 */6675float __ovld __cnfn atanpi(float);6676float2 __ovld __cnfn atanpi(float2);6677float3 __ovld __cnfn atanpi(float3);6678float4 __ovld __cnfn atanpi(float4);6679float8 __ovld __cnfn atanpi(float8);6680float16 __ovld __cnfn atanpi(float16);6681#ifdef cl_khr_fp646682double __ovld __cnfn atanpi(double);6683double2 __ovld __cnfn atanpi(double2);6684double3 __ovld __cnfn atanpi(double3);6685double4 __ovld __cnfn atanpi(double4);6686double8 __ovld __cnfn atanpi(double8);6687double16 __ovld __cnfn atanpi(double16);6688#endif //cl_khr_fp646689#ifdef cl_khr_fp166690half __ovld __cnfn atanpi(half);6691half2 __ovld __cnfn atanpi(half2);6692half3 __ovld __cnfn atanpi(half3);6693half4 __ovld __cnfn atanpi(half4);6694half8 __ovld __cnfn atanpi(half8);6695half16 __ovld __cnfn atanpi(half16);6696#endif //cl_khr_fp166697 6698/**6699 * Compute atan2 (y, x) / PI.6700 */6701float __ovld __cnfn atan2pi(float, float);6702float2 __ovld __cnfn atan2pi(float2, float2);6703float3 __ovld __cnfn atan2pi(float3, float3);6704float4 __ovld __cnfn atan2pi(float4, float4);6705float8 __ovld __cnfn atan2pi(float8, float8);6706float16 __ovld __cnfn atan2pi(float16, float16);6707#ifdef cl_khr_fp646708double __ovld __cnfn atan2pi(double, double);6709double2 __ovld __cnfn atan2pi(double2, double2);6710double3 __ovld __cnfn atan2pi(double3, double3);6711double4 __ovld __cnfn atan2pi(double4, double4);6712double8 __ovld __cnfn atan2pi(double8, double8);6713double16 __ovld __cnfn atan2pi(double16, double16);6714#endif //cl_khr_fp646715#ifdef cl_khr_fp166716half __ovld __cnfn atan2pi(half, half);6717half2 __ovld __cnfn atan2pi(half2, half2);6718half3 __ovld __cnfn atan2pi(half3, half3);6719half4 __ovld __cnfn atan2pi(half4, half4);6720half8 __ovld __cnfn atan2pi(half8, half8);6721half16 __ovld __cnfn atan2pi(half16, half16);6722#endif //cl_khr_fp166723 6724/**6725 * Compute cube-root.6726 */6727float __ovld __cnfn cbrt(float);6728float2 __ovld __cnfn cbrt(float2);6729float3 __ovld __cnfn cbrt(float3);6730float4 __ovld __cnfn cbrt(float4);6731float8 __ovld __cnfn cbrt(float8);6732float16 __ovld __cnfn cbrt(float16);6733#ifdef cl_khr_fp646734double __ovld __cnfn cbrt(double);6735double2 __ovld __cnfn cbrt(double2);6736double3 __ovld __cnfn cbrt(double3);6737double4 __ovld __cnfn cbrt(double4);6738double8 __ovld __cnfn cbrt(double8);6739double16 __ovld __cnfn cbrt(double16);6740#endif //cl_khr_fp646741#ifdef cl_khr_fp166742half __ovld __cnfn cbrt(half);6743half2 __ovld __cnfn cbrt(half2);6744half3 __ovld __cnfn cbrt(half3);6745half4 __ovld __cnfn cbrt(half4);6746half8 __ovld __cnfn cbrt(half8);6747half16 __ovld __cnfn cbrt(half16);6748#endif //cl_khr_fp166749 6750/**6751 * Round to integral value using the round to positive6752 * infinity rounding mode.6753 */6754float __ovld __cnfn ceil(float);6755float2 __ovld __cnfn ceil(float2);6756float3 __ovld __cnfn ceil(float3);6757float4 __ovld __cnfn ceil(float4);6758float8 __ovld __cnfn ceil(float8);6759float16 __ovld __cnfn ceil(float16);6760#ifdef cl_khr_fp646761double __ovld __cnfn ceil(double);6762double2 __ovld __cnfn ceil(double2);6763double3 __ovld __cnfn ceil(double3);6764double4 __ovld __cnfn ceil(double4);6765double8 __ovld __cnfn ceil(double8);6766double16 __ovld __cnfn ceil(double16);6767#endif //cl_khr_fp646768#ifdef cl_khr_fp166769half __ovld __cnfn ceil(half);6770half2 __ovld __cnfn ceil(half2);6771half3 __ovld __cnfn ceil(half3);6772half4 __ovld __cnfn ceil(half4);6773half8 __ovld __cnfn ceil(half8);6774half16 __ovld __cnfn ceil(half16);6775#endif //cl_khr_fp166776 6777/**6778 * Returns x with its sign changed to match the sign of y.6779 */6780float __ovld __cnfn copysign(float, float);6781float2 __ovld __cnfn copysign(float2, float2);6782float3 __ovld __cnfn copysign(float3, float3);6783float4 __ovld __cnfn copysign(float4, float4);6784float8 __ovld __cnfn copysign(float8, float8);6785float16 __ovld __cnfn copysign(float16, float16);6786#ifdef cl_khr_fp646787double __ovld __cnfn copysign(double, double);6788double2 __ovld __cnfn copysign(double2, double2);6789double3 __ovld __cnfn copysign(double3, double3);6790double4 __ovld __cnfn copysign(double4, double4);6791double8 __ovld __cnfn copysign(double8, double8);6792double16 __ovld __cnfn copysign(double16, double16);6793#endif //cl_khr_fp646794#ifdef cl_khr_fp166795half __ovld __cnfn copysign(half, half);6796half2 __ovld __cnfn copysign(half2, half2);6797half3 __ovld __cnfn copysign(half3, half3);6798half4 __ovld __cnfn copysign(half4, half4);6799half8 __ovld __cnfn copysign(half8, half8);6800half16 __ovld __cnfn copysign(half16, half16);6801#endif //cl_khr_fp166802 6803/**6804 * Compute cosine.6805 */6806float __ovld __cnfn cos(float);6807float2 __ovld __cnfn cos(float2);6808float3 __ovld __cnfn cos(float3);6809float4 __ovld __cnfn cos(float4);6810float8 __ovld __cnfn cos(float8);6811float16 __ovld __cnfn cos(float16);6812#ifdef cl_khr_fp646813double __ovld __cnfn cos(double);6814double2 __ovld __cnfn cos(double2);6815double3 __ovld __cnfn cos(double3);6816double4 __ovld __cnfn cos(double4);6817double8 __ovld __cnfn cos(double8);6818double16 __ovld __cnfn cos(double16);6819#endif //cl_khr_fp646820#ifdef cl_khr_fp166821half __ovld __cnfn cos(half);6822half2 __ovld __cnfn cos(half2);6823half3 __ovld __cnfn cos(half3);6824half4 __ovld __cnfn cos(half4);6825half8 __ovld __cnfn cos(half8);6826half16 __ovld __cnfn cos(half16);6827#endif //cl_khr_fp166828 6829/**6830 * Compute hyperbolic cosine.6831 */6832float __ovld __cnfn cosh(float);6833float2 __ovld __cnfn cosh(float2);6834float3 __ovld __cnfn cosh(float3);6835float4 __ovld __cnfn cosh(float4);6836float8 __ovld __cnfn cosh(float8);6837float16 __ovld __cnfn cosh(float16);6838#ifdef cl_khr_fp646839double __ovld __cnfn cosh(double);6840double2 __ovld __cnfn cosh(double2);6841double3 __ovld __cnfn cosh(double3);6842double4 __ovld __cnfn cosh(double4);6843double8 __ovld __cnfn cosh(double8);6844double16 __ovld __cnfn cosh(double16);6845#endif //cl_khr_fp646846#ifdef cl_khr_fp166847half __ovld __cnfn cosh(half);6848half2 __ovld __cnfn cosh(half2);6849half3 __ovld __cnfn cosh(half3);6850half4 __ovld __cnfn cosh(half4);6851half8 __ovld __cnfn cosh(half8);6852half16 __ovld __cnfn cosh(half16);6853#endif //cl_khr_fp166854 6855/**6856 * Compute cos (PI * x).6857 */6858float __ovld __cnfn cospi(float);6859float2 __ovld __cnfn cospi(float2);6860float3 __ovld __cnfn cospi(float3);6861float4 __ovld __cnfn cospi(float4);6862float8 __ovld __cnfn cospi(float8);6863float16 __ovld __cnfn cospi(float16);6864#ifdef cl_khr_fp646865double __ovld __cnfn cospi(double);6866double2 __ovld __cnfn cospi(double2);6867double3 __ovld __cnfn cospi(double3);6868double4 __ovld __cnfn cospi(double4);6869double8 __ovld __cnfn cospi(double8);6870double16 __ovld __cnfn cospi(double16);6871#endif //cl_khr_fp646872#ifdef cl_khr_fp166873half __ovld __cnfn cospi(half);6874half2 __ovld __cnfn cospi(half2);6875half3 __ovld __cnfn cospi(half3);6876half4 __ovld __cnfn cospi(half4);6877half8 __ovld __cnfn cospi(half8);6878half16 __ovld __cnfn cospi(half16);6879#endif //cl_khr_fp166880 6881/**6882 * Complementary error function.6883 */6884float __ovld __cnfn erfc(float);6885float2 __ovld __cnfn erfc(float2);6886float3 __ovld __cnfn erfc(float3);6887float4 __ovld __cnfn erfc(float4);6888float8 __ovld __cnfn erfc(float8);6889float16 __ovld __cnfn erfc(float16);6890#ifdef cl_khr_fp646891double __ovld __cnfn erfc(double);6892double2 __ovld __cnfn erfc(double2);6893double3 __ovld __cnfn erfc(double3);6894double4 __ovld __cnfn erfc(double4);6895double8 __ovld __cnfn erfc(double8);6896double16 __ovld __cnfn erfc(double16);6897#endif //cl_khr_fp646898#ifdef cl_khr_fp166899half __ovld __cnfn erfc(half);6900half2 __ovld __cnfn erfc(half2);6901half3 __ovld __cnfn erfc(half3);6902half4 __ovld __cnfn erfc(half4);6903half8 __ovld __cnfn erfc(half8);6904half16 __ovld __cnfn erfc(half16);6905#endif //cl_khr_fp166906 6907/**6908 * Error function encountered in integrating the6909 * normal distribution.6910 */6911float __ovld __cnfn erf(float);6912float2 __ovld __cnfn erf(float2);6913float3 __ovld __cnfn erf(float3);6914float4 __ovld __cnfn erf(float4);6915float8 __ovld __cnfn erf(float8);6916float16 __ovld __cnfn erf(float16);6917#ifdef cl_khr_fp646918double __ovld __cnfn erf(double);6919double2 __ovld __cnfn erf(double2);6920double3 __ovld __cnfn erf(double3);6921double4 __ovld __cnfn erf(double4);6922double8 __ovld __cnfn erf(double8);6923double16 __ovld __cnfn erf(double16);6924#endif //cl_khr_fp646925#ifdef cl_khr_fp166926half __ovld __cnfn erf(half);6927half2 __ovld __cnfn erf(half2);6928half3 __ovld __cnfn erf(half3);6929half4 __ovld __cnfn erf(half4);6930half8 __ovld __cnfn erf(half8);6931half16 __ovld __cnfn erf(half16);6932#endif //cl_khr_fp166933 6934/**6935 * Compute the base e exponential function of x.6936 */6937float __ovld __cnfn exp(float);6938float2 __ovld __cnfn exp(float2);6939float3 __ovld __cnfn exp(float3);6940float4 __ovld __cnfn exp(float4);6941float8 __ovld __cnfn exp(float8);6942float16 __ovld __cnfn exp(float16);6943#ifdef cl_khr_fp646944double __ovld __cnfn exp(double);6945double2 __ovld __cnfn exp(double2);6946double3 __ovld __cnfn exp(double3);6947double4 __ovld __cnfn exp(double4);6948double8 __ovld __cnfn exp(double8);6949double16 __ovld __cnfn exp(double16);6950#endif //cl_khr_fp646951#ifdef cl_khr_fp166952half __ovld __cnfn exp(half);6953half2 __ovld __cnfn exp(half2);6954half3 __ovld __cnfn exp(half3);6955half4 __ovld __cnfn exp(half4);6956half8 __ovld __cnfn exp(half8);6957half16 __ovld __cnfn exp(half16);6958#endif //cl_khr_fp166959 6960/**6961 * Exponential base 2 function.6962 */6963float __ovld __cnfn exp2(float);6964float2 __ovld __cnfn exp2(float2);6965float3 __ovld __cnfn exp2(float3);6966float4 __ovld __cnfn exp2(float4);6967float8 __ovld __cnfn exp2(float8);6968float16 __ovld __cnfn exp2(float16);6969#ifdef cl_khr_fp646970double __ovld __cnfn exp2(double);6971double2 __ovld __cnfn exp2(double2);6972double3 __ovld __cnfn exp2(double3);6973double4 __ovld __cnfn exp2(double4);6974double8 __ovld __cnfn exp2(double8);6975double16 __ovld __cnfn exp2(double16);6976#endif //cl_khr_fp646977#ifdef cl_khr_fp166978half __ovld __cnfn exp2(half);6979half2 __ovld __cnfn exp2(half2);6980half3 __ovld __cnfn exp2(half3);6981half4 __ovld __cnfn exp2(half4);6982half8 __ovld __cnfn exp2(half8);6983half16 __ovld __cnfn exp2(half16);6984#endif //cl_khr_fp166985 6986/**6987 * Exponential base 10 function.6988 */6989float __ovld __cnfn exp10(float);6990float2 __ovld __cnfn exp10(float2);6991float3 __ovld __cnfn exp10(float3);6992float4 __ovld __cnfn exp10(float4);6993float8 __ovld __cnfn exp10(float8);6994float16 __ovld __cnfn exp10(float16);6995#ifdef cl_khr_fp646996double __ovld __cnfn exp10(double);6997double2 __ovld __cnfn exp10(double2);6998double3 __ovld __cnfn exp10(double3);6999double4 __ovld __cnfn exp10(double4);7000double8 __ovld __cnfn exp10(double8);7001double16 __ovld __cnfn exp10(double16);7002#endif //cl_khr_fp647003#ifdef cl_khr_fp167004half __ovld __cnfn exp10(half);7005half2 __ovld __cnfn exp10(half2);7006half3 __ovld __cnfn exp10(half3);7007half4 __ovld __cnfn exp10(half4);7008half8 __ovld __cnfn exp10(half8);7009half16 __ovld __cnfn exp10(half16);7010#endif //cl_khr_fp167011 7012/**7013 * Compute e^x- 1.0.7014 */7015float __ovld __cnfn expm1(float);7016float2 __ovld __cnfn expm1(float2);7017float3 __ovld __cnfn expm1(float3);7018float4 __ovld __cnfn expm1(float4);7019float8 __ovld __cnfn expm1(float8);7020float16 __ovld __cnfn expm1(float16);7021#ifdef cl_khr_fp647022double __ovld __cnfn expm1(double);7023double2 __ovld __cnfn expm1(double2);7024double3 __ovld __cnfn expm1(double3);7025double4 __ovld __cnfn expm1(double4);7026double8 __ovld __cnfn expm1(double8);7027double16 __ovld __cnfn expm1(double16);7028#endif //cl_khr_fp647029#ifdef cl_khr_fp167030half __ovld __cnfn expm1(half);7031half2 __ovld __cnfn expm1(half2);7032half3 __ovld __cnfn expm1(half3);7033half4 __ovld __cnfn expm1(half4);7034half8 __ovld __cnfn expm1(half8);7035half16 __ovld __cnfn expm1(half16);7036#endif //cl_khr_fp167037 7038/**7039 * Compute absolute value of a floating-point number.7040 */7041float __ovld __cnfn fabs(float);7042float2 __ovld __cnfn fabs(float2);7043float3 __ovld __cnfn fabs(float3);7044float4 __ovld __cnfn fabs(float4);7045float8 __ovld __cnfn fabs(float8);7046float16 __ovld __cnfn fabs(float16);7047#ifdef cl_khr_fp647048double __ovld __cnfn fabs(double);7049double2 __ovld __cnfn fabs(double2);7050double3 __ovld __cnfn fabs(double3);7051double4 __ovld __cnfn fabs(double4);7052double8 __ovld __cnfn fabs(double8);7053double16 __ovld __cnfn fabs(double16);7054#endif //cl_khr_fp647055#ifdef cl_khr_fp167056half __ovld __cnfn fabs(half);7057half2 __ovld __cnfn fabs(half2);7058half3 __ovld __cnfn fabs(half3);7059half4 __ovld __cnfn fabs(half4);7060half8 __ovld __cnfn fabs(half8);7061half16 __ovld __cnfn fabs(half16);7062#endif //cl_khr_fp167063 7064/**7065 * x - y if x > y, +0 if x is less than or equal to y.7066 */7067float __ovld __cnfn fdim(float, float);7068float2 __ovld __cnfn fdim(float2, float2);7069float3 __ovld __cnfn fdim(float3, float3);7070float4 __ovld __cnfn fdim(float4, float4);7071float8 __ovld __cnfn fdim(float8, float8);7072float16 __ovld __cnfn fdim(float16, float16);7073#ifdef cl_khr_fp647074double __ovld __cnfn fdim(double, double);7075double2 __ovld __cnfn fdim(double2, double2);7076double3 __ovld __cnfn fdim(double3, double3);7077double4 __ovld __cnfn fdim(double4, double4);7078double8 __ovld __cnfn fdim(double8, double8);7079double16 __ovld __cnfn fdim(double16, double16);7080#endif //cl_khr_fp647081#ifdef cl_khr_fp167082half __ovld __cnfn fdim(half, half);7083half2 __ovld __cnfn fdim(half2, half2);7084half3 __ovld __cnfn fdim(half3, half3);7085half4 __ovld __cnfn fdim(half4, half4);7086half8 __ovld __cnfn fdim(half8, half8);7087half16 __ovld __cnfn fdim(half16, half16);7088#endif //cl_khr_fp167089 7090/**7091 * Round to integral value using the round to -ve7092 * infinity rounding mode.7093 */7094float __ovld __cnfn floor(float);7095float2 __ovld __cnfn floor(float2);7096float3 __ovld __cnfn floor(float3);7097float4 __ovld __cnfn floor(float4);7098float8 __ovld __cnfn floor(float8);7099float16 __ovld __cnfn floor(float16);7100#ifdef cl_khr_fp647101double __ovld __cnfn floor(double);7102double2 __ovld __cnfn floor(double2);7103double3 __ovld __cnfn floor(double3);7104double4 __ovld __cnfn floor(double4);7105double8 __ovld __cnfn floor(double8);7106double16 __ovld __cnfn floor(double16);7107#endif //cl_khr_fp647108#ifdef cl_khr_fp167109half __ovld __cnfn floor(half);7110half2 __ovld __cnfn floor(half2);7111half3 __ovld __cnfn floor(half3);7112half4 __ovld __cnfn floor(half4);7113half8 __ovld __cnfn floor(half8);7114half16 __ovld __cnfn floor(half16);7115#endif //cl_khr_fp167116 7117/**7118 * Returns the correctly rounded floating-point7119 * representation of the sum of c with the infinitely7120 * precise product of a and b. Rounding of7121 * intermediate products shall not occur. Edge case7122 * behavior is per the IEEE 754-2008 standard.7123 */7124float __ovld __cnfn fma(float, float, float);7125float2 __ovld __cnfn fma(float2, float2, float2);7126float3 __ovld __cnfn fma(float3, float3, float3);7127float4 __ovld __cnfn fma(float4, float4, float4);7128float8 __ovld __cnfn fma(float8, float8, float8);7129float16 __ovld __cnfn fma(float16, float16, float16);7130#ifdef cl_khr_fp647131double __ovld __cnfn fma(double, double, double);7132double2 __ovld __cnfn fma(double2, double2, double2);7133double3 __ovld __cnfn fma(double3, double3, double3);7134double4 __ovld __cnfn fma(double4, double4, double4);7135double8 __ovld __cnfn fma(double8, double8, double8);7136double16 __ovld __cnfn fma(double16, double16, double16);7137#endif //cl_khr_fp647138#ifdef cl_khr_fp167139half __ovld __cnfn fma(half, half, half);7140half2 __ovld __cnfn fma(half2, half2, half2);7141half3 __ovld __cnfn fma(half3, half3, half3);7142half4 __ovld __cnfn fma(half4, half4, half4);7143half8 __ovld __cnfn fma(half8, half8, half8);7144half16 __ovld __cnfn fma(half16, half16, half16);7145#endif //cl_khr_fp167146 7147/**7148 * Returns y if x < y, otherwise it returns x. If one7149 * argument is a NaN, fmax() returns the other7150 * argument. If both arguments are NaNs, fmax()7151 * returns a NaN.7152 */7153float __ovld __cnfn fmax(float, float);7154float2 __ovld __cnfn fmax(float2, float2);7155float3 __ovld __cnfn fmax(float3, float3);7156float4 __ovld __cnfn fmax(float4, float4);7157float8 __ovld __cnfn fmax(float8, float8);7158float16 __ovld __cnfn fmax(float16, float16);7159float2 __ovld __cnfn fmax(float2, float);7160float3 __ovld __cnfn fmax(float3, float);7161float4 __ovld __cnfn fmax(float4, float);7162float8 __ovld __cnfn fmax(float8, float);7163float16 __ovld __cnfn fmax(float16, float);7164#ifdef cl_khr_fp647165double __ovld __cnfn fmax(double, double);7166double2 __ovld __cnfn fmax(double2, double2);7167double3 __ovld __cnfn fmax(double3, double3);7168double4 __ovld __cnfn fmax(double4, double4);7169double8 __ovld __cnfn fmax(double8, double8);7170double16 __ovld __cnfn fmax(double16, double16);7171double2 __ovld __cnfn fmax(double2, double);7172double3 __ovld __cnfn fmax(double3, double);7173double4 __ovld __cnfn fmax(double4, double);7174double8 __ovld __cnfn fmax(double8, double);7175double16 __ovld __cnfn fmax(double16, double);7176#endif //cl_khr_fp647177#ifdef cl_khr_fp167178half __ovld __cnfn fmax(half, half);7179half2 __ovld __cnfn fmax(half2, half2);7180half3 __ovld __cnfn fmax(half3, half3);7181half4 __ovld __cnfn fmax(half4, half4);7182half8 __ovld __cnfn fmax(half8, half8);7183half16 __ovld __cnfn fmax(half16, half16);7184half2 __ovld __cnfn fmax(half2, half);7185half3 __ovld __cnfn fmax(half3, half);7186half4 __ovld __cnfn fmax(half4, half);7187half8 __ovld __cnfn fmax(half8, half);7188half16 __ovld __cnfn fmax(half16, half);7189#endif //cl_khr_fp167190 7191/**7192 * Returns y if y < x, otherwise it returns x. If one7193 * argument is a NaN, fmin() returns the other7194 * argument. If both arguments are NaNs, fmin()7195 * returns a NaN.7196 */7197float __ovld __cnfn fmin(float, float);7198float2 __ovld __cnfn fmin(float2, float2);7199float3 __ovld __cnfn fmin(float3, float3);7200float4 __ovld __cnfn fmin(float4, float4);7201float8 __ovld __cnfn fmin(float8, float8);7202float16 __ovld __cnfn fmin(float16, float16);7203float2 __ovld __cnfn fmin(float2, float);7204float3 __ovld __cnfn fmin(float3, float);7205float4 __ovld __cnfn fmin(float4, float);7206float8 __ovld __cnfn fmin(float8, float);7207float16 __ovld __cnfn fmin(float16, float);7208#ifdef cl_khr_fp647209double __ovld __cnfn fmin(double, double);7210double2 __ovld __cnfn fmin(double2, double2);7211double3 __ovld __cnfn fmin(double3, double3);7212double4 __ovld __cnfn fmin(double4, double4);7213double8 __ovld __cnfn fmin(double8, double8);7214double16 __ovld __cnfn fmin(double16, double16);7215double2 __ovld __cnfn fmin(double2, double);7216double3 __ovld __cnfn fmin(double3, double);7217double4 __ovld __cnfn fmin(double4, double);7218double8 __ovld __cnfn fmin(double8, double);7219double16 __ovld __cnfn fmin(double16, double);7220#endif //cl_khr_fp647221#ifdef cl_khr_fp167222half __ovld __cnfn fmin(half, half);7223half2 __ovld __cnfn fmin(half2, half2);7224half3 __ovld __cnfn fmin(half3, half3);7225half4 __ovld __cnfn fmin(half4, half4);7226half8 __ovld __cnfn fmin(half8, half8);7227half16 __ovld __cnfn fmin(half16, half16);7228half2 __ovld __cnfn fmin(half2, half);7229half3 __ovld __cnfn fmin(half3, half);7230half4 __ovld __cnfn fmin(half4, half);7231half8 __ovld __cnfn fmin(half8, half);7232half16 __ovld __cnfn fmin(half16, half);7233#endif //cl_khr_fp167234 7235/**7236 * Modulus. Returns x - y * trunc (x/y).7237 */7238float __ovld __cnfn fmod(float, float);7239float2 __ovld __cnfn fmod(float2, float2);7240float3 __ovld __cnfn fmod(float3, float3);7241float4 __ovld __cnfn fmod(float4, float4);7242float8 __ovld __cnfn fmod(float8, float8);7243float16 __ovld __cnfn fmod(float16, float16);7244#ifdef cl_khr_fp647245double __ovld __cnfn fmod(double, double);7246double2 __ovld __cnfn fmod(double2, double2);7247double3 __ovld __cnfn fmod(double3, double3);7248double4 __ovld __cnfn fmod(double4, double4);7249double8 __ovld __cnfn fmod(double8, double8);7250double16 __ovld __cnfn fmod(double16, double16);7251#endif //cl_khr_fp647252#ifdef cl_khr_fp167253half __ovld __cnfn fmod(half, half);7254half2 __ovld __cnfn fmod(half2, half2);7255half3 __ovld __cnfn fmod(half3, half3);7256half4 __ovld __cnfn fmod(half4, half4);7257half8 __ovld __cnfn fmod(half8, half8);7258half16 __ovld __cnfn fmod(half16, half16);7259#endif //cl_khr_fp167260 7261/**7262 * Returns fmin(x - floor (x), 0x1.fffffep-1f ).7263 * floor(x) is returned in iptr.7264 */7265#if defined(__opencl_c_generic_address_space)7266float __ovld fract(float, float *);7267float2 __ovld fract(float2, float2 *);7268float3 __ovld fract(float3, float3 *);7269float4 __ovld fract(float4, float4 *);7270float8 __ovld fract(float8, float8 *);7271float16 __ovld fract(float16, float16 *);7272#ifdef cl_khr_fp647273double __ovld fract(double, double *);7274double2 __ovld fract(double2, double2 *);7275double3 __ovld fract(double3, double3 *);7276double4 __ovld fract(double4, double4 *);7277double8 __ovld fract(double8, double8 *);7278double16 __ovld fract(double16, double16 *);7279#endif //cl_khr_fp647280#ifdef cl_khr_fp167281half __ovld fract(half, half *);7282half2 __ovld fract(half2, half2 *);7283half3 __ovld fract(half3, half3 *);7284half4 __ovld fract(half4, half4 *);7285half8 __ovld fract(half8, half8 *);7286half16 __ovld fract(half16, half16 *);7287#endif //cl_khr_fp167288#endif //defined(__opencl_c_generic_address_space)7289 7290#if defined(__opencl_c_named_address_space_builtins)7291float __ovld fract(float, __global float *);7292float2 __ovld fract(float2, __global float2 *);7293float3 __ovld fract(float3, __global float3 *);7294float4 __ovld fract(float4, __global float4 *);7295float8 __ovld fract(float8, __global float8 *);7296float16 __ovld fract(float16, __global float16 *);7297float __ovld fract(float, __local float *);7298float2 __ovld fract(float2, __local float2 *);7299float3 __ovld fract(float3, __local float3 *);7300float4 __ovld fract(float4, __local float4 *);7301float8 __ovld fract(float8, __local float8 *);7302float16 __ovld fract(float16, __local float16 *);7303float __ovld fract(float, __private float *);7304float2 __ovld fract(float2, __private float2 *);7305float3 __ovld fract(float3, __private float3 *);7306float4 __ovld fract(float4, __private float4 *);7307float8 __ovld fract(float8, __private float8 *);7308float16 __ovld fract(float16, __private float16 *);7309#ifdef cl_khr_fp647310double __ovld fract(double, __global double *);7311double2 __ovld fract(double2, __global double2 *);7312double3 __ovld fract(double3, __global double3 *);7313double4 __ovld fract(double4, __global double4 *);7314double8 __ovld fract(double8, __global double8 *);7315double16 __ovld fract(double16, __global double16 *);7316double __ovld fract(double, __local double *);7317double2 __ovld fract(double2, __local double2 *);7318double3 __ovld fract(double3, __local double3 *);7319double4 __ovld fract(double4, __local double4 *);7320double8 __ovld fract(double8, __local double8 *);7321double16 __ovld fract(double16, __local double16 *);7322double __ovld fract(double, __private double *);7323double2 __ovld fract(double2, __private double2 *);7324double3 __ovld fract(double3, __private double3 *);7325double4 __ovld fract(double4, __private double4 *);7326double8 __ovld fract(double8, __private double8 *);7327double16 __ovld fract(double16, __private double16 *);7328#endif //cl_khr_fp647329#ifdef cl_khr_fp167330half __ovld fract(half, __global half *);7331half2 __ovld fract(half2, __global half2 *);7332half3 __ovld fract(half3, __global half3 *);7333half4 __ovld fract(half4, __global half4 *);7334half8 __ovld fract(half8, __global half8 *);7335half16 __ovld fract(half16, __global half16 *);7336half __ovld fract(half, __local half *);7337half2 __ovld fract(half2, __local half2 *);7338half3 __ovld fract(half3, __local half3 *);7339half4 __ovld fract(half4, __local half4 *);7340half8 __ovld fract(half8, __local half8 *);7341half16 __ovld fract(half16, __local half16 *);7342half __ovld fract(half, __private half *);7343half2 __ovld fract(half2, __private half2 *);7344half3 __ovld fract(half3, __private half3 *);7345half4 __ovld fract(half4, __private half4 *);7346half8 __ovld fract(half8, __private half8 *);7347half16 __ovld fract(half16, __private half16 *);7348#endif //cl_khr_fp167349#endif //defined(__opencl_c_named_address_space_builtins)7350 7351/**7352 * Extract mantissa and exponent from x. For each7353 * component the mantissa returned is a float with7354 * magnitude in the interval [1/2, 1) or 0. Each7355 * component of x equals mantissa returned * 2^exp.7356 */7357#if defined(__opencl_c_generic_address_space)7358float __ovld frexp(float, int *);7359float2 __ovld frexp(float2, int2 *);7360float3 __ovld frexp(float3, int3 *);7361float4 __ovld frexp(float4, int4 *);7362float8 __ovld frexp(float8, int8 *);7363float16 __ovld frexp(float16, int16 *);7364#ifdef cl_khr_fp647365double __ovld frexp(double, int *);7366double2 __ovld frexp(double2, int2 *);7367double3 __ovld frexp(double3, int3 *);7368double4 __ovld frexp(double4, int4 *);7369double8 __ovld frexp(double8, int8 *);7370double16 __ovld frexp(double16, int16 *);7371#endif //cl_khr_fp647372#ifdef cl_khr_fp167373half __ovld frexp(half, int *);7374half2 __ovld frexp(half2, int2 *);7375half3 __ovld frexp(half3, int3 *);7376half4 __ovld frexp(half4, int4 *);7377half8 __ovld frexp(half8, int8 *);7378half16 __ovld frexp(half16, int16 *);7379#endif //cl_khr_fp167380#endif //defined(__opencl_c_generic_address_space)7381 7382#if defined(__opencl_c_named_address_space_builtins)7383float __ovld frexp(float, __global int *);7384float2 __ovld frexp(float2, __global int2 *);7385float3 __ovld frexp(float3, __global int3 *);7386float4 __ovld frexp(float4, __global int4 *);7387float8 __ovld frexp(float8, __global int8 *);7388float16 __ovld frexp(float16, __global int16 *);7389float __ovld frexp(float, __local int *);7390float2 __ovld frexp(float2, __local int2 *);7391float3 __ovld frexp(float3, __local int3 *);7392float4 __ovld frexp(float4, __local int4 *);7393float8 __ovld frexp(float8, __local int8 *);7394float16 __ovld frexp(float16, __local int16 *);7395float __ovld frexp(float, __private int *);7396float2 __ovld frexp(float2, __private int2 *);7397float3 __ovld frexp(float3, __private int3 *);7398float4 __ovld frexp(float4, __private int4 *);7399float8 __ovld frexp(float8, __private int8 *);7400float16 __ovld frexp(float16, __private int16 *);7401#ifdef cl_khr_fp647402double __ovld frexp(double, __global int *);7403double2 __ovld frexp(double2, __global int2 *);7404double3 __ovld frexp(double3, __global int3 *);7405double4 __ovld frexp(double4, __global int4 *);7406double8 __ovld frexp(double8, __global int8 *);7407double16 __ovld frexp(double16, __global int16 *);7408double __ovld frexp(double, __local int *);7409double2 __ovld frexp(double2, __local int2 *);7410double3 __ovld frexp(double3, __local int3 *);7411double4 __ovld frexp(double4, __local int4 *);7412double8 __ovld frexp(double8, __local int8 *);7413double16 __ovld frexp(double16, __local int16 *);7414double __ovld frexp(double, __private int *);7415double2 __ovld frexp(double2, __private int2 *);7416double3 __ovld frexp(double3, __private int3 *);7417double4 __ovld frexp(double4, __private int4 *);7418double8 __ovld frexp(double8, __private int8 *);7419double16 __ovld frexp(double16, __private int16 *);7420#endif //cl_khr_fp647421#ifdef cl_khr_fp167422half __ovld frexp(half, __global int *);7423half2 __ovld frexp(half2, __global int2 *);7424half3 __ovld frexp(half3, __global int3 *);7425half4 __ovld frexp(half4, __global int4 *);7426half8 __ovld frexp(half8, __global int8 *);7427half16 __ovld frexp(half16, __global int16 *);7428half __ovld frexp(half, __local int *);7429half2 __ovld frexp(half2, __local int2 *);7430half3 __ovld frexp(half3, __local int3 *);7431half4 __ovld frexp(half4, __local int4 *);7432half8 __ovld frexp(half8, __local int8 *);7433half16 __ovld frexp(half16, __local int16 *);7434half __ovld frexp(half, __private int *);7435half2 __ovld frexp(half2, __private int2 *);7436half3 __ovld frexp(half3, __private int3 *);7437half4 __ovld frexp(half4, __private int4 *);7438half8 __ovld frexp(half8, __private int8 *);7439half16 __ovld frexp(half16, __private int16 *);7440#endif //cl_khr_fp167441#endif //defined(__opencl_c_named_address_space_builtins)7442 7443/**7444 * Compute the value of the square root of x^2 + y^27445 * without undue overflow or underflow.7446 */7447float __ovld __cnfn hypot(float, float);7448float2 __ovld __cnfn hypot(float2, float2);7449float3 __ovld __cnfn hypot(float3, float3);7450float4 __ovld __cnfn hypot(float4, float4);7451float8 __ovld __cnfn hypot(float8, float8);7452float16 __ovld __cnfn hypot(float16, float16);7453#ifdef cl_khr_fp647454double __ovld __cnfn hypot(double, double);7455double2 __ovld __cnfn hypot(double2, double2);7456double3 __ovld __cnfn hypot(double3, double3);7457double4 __ovld __cnfn hypot(double4, double4);7458double8 __ovld __cnfn hypot(double8, double8);7459double16 __ovld __cnfn hypot(double16, double16);7460#endif //cl_khr_fp647461#ifdef cl_khr_fp167462half __ovld __cnfn hypot(half, half);7463half2 __ovld __cnfn hypot(half2, half2);7464half3 __ovld __cnfn hypot(half3, half3);7465half4 __ovld __cnfn hypot(half4, half4);7466half8 __ovld __cnfn hypot(half8, half8);7467half16 __ovld __cnfn hypot(half16, half16);7468#endif //cl_khr_fp167469 7470/**7471 * Return the exponent as an integer value.7472 */7473int __ovld __cnfn ilogb(float);7474int2 __ovld __cnfn ilogb(float2);7475int3 __ovld __cnfn ilogb(float3);7476int4 __ovld __cnfn ilogb(float4);7477int8 __ovld __cnfn ilogb(float8);7478int16 __ovld __cnfn ilogb(float16);7479#ifdef cl_khr_fp647480int __ovld __cnfn ilogb(double);7481int2 __ovld __cnfn ilogb(double2);7482int3 __ovld __cnfn ilogb(double3);7483int4 __ovld __cnfn ilogb(double4);7484int8 __ovld __cnfn ilogb(double8);7485int16 __ovld __cnfn ilogb(double16);7486#endif //cl_khr_fp647487#ifdef cl_khr_fp167488int __ovld __cnfn ilogb(half);7489int2 __ovld __cnfn ilogb(half2);7490int3 __ovld __cnfn ilogb(half3);7491int4 __ovld __cnfn ilogb(half4);7492int8 __ovld __cnfn ilogb(half8);7493int16 __ovld __cnfn ilogb(half16);7494#endif //cl_khr_fp167495 7496/**7497 * Multiply x by 2 to the power n.7498 */7499float __ovld __cnfn ldexp(float, int);7500float2 __ovld __cnfn ldexp(float2, int2);7501float3 __ovld __cnfn ldexp(float3, int3);7502float4 __ovld __cnfn ldexp(float4, int4);7503float8 __ovld __cnfn ldexp(float8, int8);7504float16 __ovld __cnfn ldexp(float16, int16);7505float2 __ovld __cnfn ldexp(float2, int);7506float3 __ovld __cnfn ldexp(float3, int);7507float4 __ovld __cnfn ldexp(float4, int);7508float8 __ovld __cnfn ldexp(float8, int);7509float16 __ovld __cnfn ldexp(float16, int);7510#ifdef cl_khr_fp647511double __ovld __cnfn ldexp(double, int);7512double2 __ovld __cnfn ldexp(double2, int2);7513double3 __ovld __cnfn ldexp(double3, int3);7514double4 __ovld __cnfn ldexp(double4, int4);7515double8 __ovld __cnfn ldexp(double8, int8);7516double16 __ovld __cnfn ldexp(double16, int16);7517double2 __ovld __cnfn ldexp(double2, int);7518double3 __ovld __cnfn ldexp(double3, int);7519double4 __ovld __cnfn ldexp(double4, int);7520double8 __ovld __cnfn ldexp(double8, int);7521double16 __ovld __cnfn ldexp(double16, int);7522#endif //cl_khr_fp647523#ifdef cl_khr_fp167524half __ovld __cnfn ldexp(half, int);7525half2 __ovld __cnfn ldexp(half2, int2);7526half3 __ovld __cnfn ldexp(half3, int3);7527half4 __ovld __cnfn ldexp(half4, int4);7528half8 __ovld __cnfn ldexp(half8, int8);7529half16 __ovld __cnfn ldexp(half16, int16);7530half2 __ovld __cnfn ldexp(half2, int);7531half3 __ovld __cnfn ldexp(half3, int);7532half4 __ovld __cnfn ldexp(half4, int);7533half8 __ovld __cnfn ldexp(half8, int);7534half16 __ovld __cnfn ldexp(half16, int);7535#endif //cl_khr_fp167536 7537/**7538 * Log gamma function. Returns the natural7539 * logarithm of the absolute value of the gamma7540 * function. The sign of the gamma function is7541 * returned in the signp argument of lgamma_r.7542 */7543float __ovld __cnfn lgamma(float);7544float2 __ovld __cnfn lgamma(float2);7545float3 __ovld __cnfn lgamma(float3);7546float4 __ovld __cnfn lgamma(float4);7547float8 __ovld __cnfn lgamma(float8);7548float16 __ovld __cnfn lgamma(float16);7549#ifdef cl_khr_fp647550double __ovld __cnfn lgamma(double);7551double2 __ovld __cnfn lgamma(double2);7552double3 __ovld __cnfn lgamma(double3);7553double4 __ovld __cnfn lgamma(double4);7554double8 __ovld __cnfn lgamma(double8);7555double16 __ovld __cnfn lgamma(double16);7556#endif //cl_khr_fp647557#ifdef cl_khr_fp167558half __ovld __cnfn lgamma(half);7559half2 __ovld __cnfn lgamma(half2);7560half3 __ovld __cnfn lgamma(half3);7561half4 __ovld __cnfn lgamma(half4);7562half8 __ovld __cnfn lgamma(half8);7563half16 __ovld __cnfn lgamma(half16);7564#endif //cl_khr_fp167565 7566#if defined(__opencl_c_generic_address_space)7567float __ovld lgamma_r(float, int *);7568float2 __ovld lgamma_r(float2, int2 *);7569float3 __ovld lgamma_r(float3, int3 *);7570float4 __ovld lgamma_r(float4, int4 *);7571float8 __ovld lgamma_r(float8, int8 *);7572float16 __ovld lgamma_r(float16, int16 *);7573#ifdef cl_khr_fp647574double __ovld lgamma_r(double, int *);7575double2 __ovld lgamma_r(double2, int2 *);7576double3 __ovld lgamma_r(double3, int3 *);7577double4 __ovld lgamma_r(double4, int4 *);7578double8 __ovld lgamma_r(double8, int8 *);7579double16 __ovld lgamma_r(double16, int16 *);7580#endif //cl_khr_fp647581#ifdef cl_khr_fp167582half __ovld lgamma_r(half, int *);7583half2 __ovld lgamma_r(half2, int2 *);7584half3 __ovld lgamma_r(half3, int3 *);7585half4 __ovld lgamma_r(half4, int4 *);7586half8 __ovld lgamma_r(half8, int8 *);7587half16 __ovld lgamma_r(half16, int16 *);7588#endif //cl_khr_fp167589#endif //defined(__opencl_c_generic_address_space)7590 7591#if defined(__opencl_c_named_address_space_builtins)7592float __ovld lgamma_r(float, __global int *);7593float2 __ovld lgamma_r(float2, __global int2 *);7594float3 __ovld lgamma_r(float3, __global int3 *);7595float4 __ovld lgamma_r(float4, __global int4 *);7596float8 __ovld lgamma_r(float8, __global int8 *);7597float16 __ovld lgamma_r(float16, __global int16 *);7598float __ovld lgamma_r(float, __local int *);7599float2 __ovld lgamma_r(float2, __local int2 *);7600float3 __ovld lgamma_r(float3, __local int3 *);7601float4 __ovld lgamma_r(float4, __local int4 *);7602float8 __ovld lgamma_r(float8, __local int8 *);7603float16 __ovld lgamma_r(float16, __local int16 *);7604float __ovld lgamma_r(float, __private int *);7605float2 __ovld lgamma_r(float2, __private int2 *);7606float3 __ovld lgamma_r(float3, __private int3 *);7607float4 __ovld lgamma_r(float4, __private int4 *);7608float8 __ovld lgamma_r(float8, __private int8 *);7609float16 __ovld lgamma_r(float16, __private int16 *);7610#ifdef cl_khr_fp647611double __ovld lgamma_r(double, __global int *);7612double2 __ovld lgamma_r(double2, __global int2 *);7613double3 __ovld lgamma_r(double3, __global int3 *);7614double4 __ovld lgamma_r(double4, __global int4 *);7615double8 __ovld lgamma_r(double8, __global int8 *);7616double16 __ovld lgamma_r(double16, __global int16 *);7617double __ovld lgamma_r(double, __local int *);7618double2 __ovld lgamma_r(double2, __local int2 *);7619double3 __ovld lgamma_r(double3, __local int3 *);7620double4 __ovld lgamma_r(double4, __local int4 *);7621double8 __ovld lgamma_r(double8, __local int8 *);7622double16 __ovld lgamma_r(double16, __local int16 *);7623double __ovld lgamma_r(double, __private int *);7624double2 __ovld lgamma_r(double2, __private int2 *);7625double3 __ovld lgamma_r(double3, __private int3 *);7626double4 __ovld lgamma_r(double4, __private int4 *);7627double8 __ovld lgamma_r(double8, __private int8 *);7628double16 __ovld lgamma_r(double16, __private int16 *);7629#endif //cl_khr_fp647630#ifdef cl_khr_fp167631half __ovld lgamma_r(half, __global int *);7632half2 __ovld lgamma_r(half2, __global int2 *);7633half3 __ovld lgamma_r(half3, __global int3 *);7634half4 __ovld lgamma_r(half4, __global int4 *);7635half8 __ovld lgamma_r(half8, __global int8 *);7636half16 __ovld lgamma_r(half16, __global int16 *);7637half __ovld lgamma_r(half, __local int *);7638half2 __ovld lgamma_r(half2, __local int2 *);7639half3 __ovld lgamma_r(half3, __local int3 *);7640half4 __ovld lgamma_r(half4, __local int4 *);7641half8 __ovld lgamma_r(half8, __local int8 *);7642half16 __ovld lgamma_r(half16, __local int16 *);7643half __ovld lgamma_r(half, __private int *);7644half2 __ovld lgamma_r(half2, __private int2 *);7645half3 __ovld lgamma_r(half3, __private int3 *);7646half4 __ovld lgamma_r(half4, __private int4 *);7647half8 __ovld lgamma_r(half8, __private int8 *);7648half16 __ovld lgamma_r(half16, __private int16 *);7649#endif //cl_khr_fp167650#endif //defined(__opencl_c_named_address_space_builtins)7651 7652/**7653 * Compute natural logarithm.7654 */7655float __ovld __cnfn log(float);7656float2 __ovld __cnfn log(float2);7657float3 __ovld __cnfn log(float3);7658float4 __ovld __cnfn log(float4);7659float8 __ovld __cnfn log(float8);7660float16 __ovld __cnfn log(float16);7661#ifdef cl_khr_fp647662double __ovld __cnfn log(double);7663double2 __ovld __cnfn log(double2);7664double3 __ovld __cnfn log(double3);7665double4 __ovld __cnfn log(double4);7666double8 __ovld __cnfn log(double8);7667double16 __ovld __cnfn log(double16);7668#endif //cl_khr_fp647669#ifdef cl_khr_fp167670half __ovld __cnfn log(half);7671half2 __ovld __cnfn log(half2);7672half3 __ovld __cnfn log(half3);7673half4 __ovld __cnfn log(half4);7674half8 __ovld __cnfn log(half8);7675half16 __ovld __cnfn log(half16);7676#endif //cl_khr_fp167677 7678/**7679 * Compute a base 2 logarithm.7680 */7681float __ovld __cnfn log2(float);7682float2 __ovld __cnfn log2(float2);7683float3 __ovld __cnfn log2(float3);7684float4 __ovld __cnfn log2(float4);7685float8 __ovld __cnfn log2(float8);7686float16 __ovld __cnfn log2(float16);7687#ifdef cl_khr_fp647688double __ovld __cnfn log2(double);7689double2 __ovld __cnfn log2(double2);7690double3 __ovld __cnfn log2(double3);7691double4 __ovld __cnfn log2(double4);7692double8 __ovld __cnfn log2(double8);7693double16 __ovld __cnfn log2(double16);7694#endif //cl_khr_fp647695#ifdef cl_khr_fp167696half __ovld __cnfn log2(half);7697half2 __ovld __cnfn log2(half2);7698half3 __ovld __cnfn log2(half3);7699half4 __ovld __cnfn log2(half4);7700half8 __ovld __cnfn log2(half8);7701half16 __ovld __cnfn log2(half16);7702#endif //cl_khr_fp167703 7704/**7705 * Compute a base 10 logarithm.7706 */7707float __ovld __cnfn log10(float);7708float2 __ovld __cnfn log10(float2);7709float3 __ovld __cnfn log10(float3);7710float4 __ovld __cnfn log10(float4);7711float8 __ovld __cnfn log10(float8);7712float16 __ovld __cnfn log10(float16);7713#ifdef cl_khr_fp647714double __ovld __cnfn log10(double);7715double2 __ovld __cnfn log10(double2);7716double3 __ovld __cnfn log10(double3);7717double4 __ovld __cnfn log10(double4);7718double8 __ovld __cnfn log10(double8);7719double16 __ovld __cnfn log10(double16);7720#endif //cl_khr_fp647721#ifdef cl_khr_fp167722half __ovld __cnfn log10(half);7723half2 __ovld __cnfn log10(half2);7724half3 __ovld __cnfn log10(half3);7725half4 __ovld __cnfn log10(half4);7726half8 __ovld __cnfn log10(half8);7727half16 __ovld __cnfn log10(half16);7728#endif //cl_khr_fp167729 7730/**7731 * Compute a base e logarithm of (1.0 + x).7732 */7733float __ovld __cnfn log1p(float);7734float2 __ovld __cnfn log1p(float2);7735float3 __ovld __cnfn log1p(float3);7736float4 __ovld __cnfn log1p(float4);7737float8 __ovld __cnfn log1p(float8);7738float16 __ovld __cnfn log1p(float16);7739#ifdef cl_khr_fp647740double __ovld __cnfn log1p(double);7741double2 __ovld __cnfn log1p(double2);7742double3 __ovld __cnfn log1p(double3);7743double4 __ovld __cnfn log1p(double4);7744double8 __ovld __cnfn log1p(double8);7745double16 __ovld __cnfn log1p(double16);7746#endif //cl_khr_fp647747#ifdef cl_khr_fp167748half __ovld __cnfn log1p(half);7749half2 __ovld __cnfn log1p(half2);7750half3 __ovld __cnfn log1p(half3);7751half4 __ovld __cnfn log1p(half4);7752half8 __ovld __cnfn log1p(half8);7753half16 __ovld __cnfn log1p(half16);7754#endif //cl_khr_fp167755 7756/**7757 * Compute the exponent of x, which is the integral7758 * part of logr | x |.7759 */7760float __ovld __cnfn logb(float);7761float2 __ovld __cnfn logb(float2);7762float3 __ovld __cnfn logb(float3);7763float4 __ovld __cnfn logb(float4);7764float8 __ovld __cnfn logb(float8);7765float16 __ovld __cnfn logb(float16);7766#ifdef cl_khr_fp647767double __ovld __cnfn logb(double);7768double2 __ovld __cnfn logb(double2);7769double3 __ovld __cnfn logb(double3);7770double4 __ovld __cnfn logb(double4);7771double8 __ovld __cnfn logb(double8);7772double16 __ovld __cnfn logb(double16);7773#endif //cl_khr_fp647774#ifdef cl_khr_fp167775half __ovld __cnfn logb(half);7776half2 __ovld __cnfn logb(half2);7777half3 __ovld __cnfn logb(half3);7778half4 __ovld __cnfn logb(half4);7779half8 __ovld __cnfn logb(half8);7780half16 __ovld __cnfn logb(half16);7781#endif //cl_khr_fp167782 7783/**7784 * mad approximates a * b + c. Whether or how the7785 * product of a * b is rounded and how supernormal or7786 * subnormal intermediate products are handled is not7787 * defined. mad is intended to be used where speed is7788 * preferred over accuracy.7789 */7790float __ovld __cnfn mad(float, float, float);7791float2 __ovld __cnfn mad(float2, float2, float2);7792float3 __ovld __cnfn mad(float3, float3, float3);7793float4 __ovld __cnfn mad(float4, float4, float4);7794float8 __ovld __cnfn mad(float8, float8, float8);7795float16 __ovld __cnfn mad(float16, float16, float16);7796#ifdef cl_khr_fp647797double __ovld __cnfn mad(double, double, double);7798double2 __ovld __cnfn mad(double2, double2, double2);7799double3 __ovld __cnfn mad(double3, double3, double3);7800double4 __ovld __cnfn mad(double4, double4, double4);7801double8 __ovld __cnfn mad(double8, double8, double8);7802double16 __ovld __cnfn mad(double16, double16, double16);7803#endif //cl_khr_fp647804#ifdef cl_khr_fp167805half __ovld __cnfn mad(half, half, half);7806half2 __ovld __cnfn mad(half2, half2, half2);7807half3 __ovld __cnfn mad(half3, half3, half3);7808half4 __ovld __cnfn mad(half4, half4, half4);7809half8 __ovld __cnfn mad(half8, half8, half8);7810half16 __ovld __cnfn mad(half16, half16, half16);7811#endif //cl_khr_fp167812 7813/**7814 * Returns x if | x | > | y |, y if | y | > | x |, otherwise7815 * fmax(x, y).7816 */7817float __ovld __cnfn maxmag(float, float);7818float2 __ovld __cnfn maxmag(float2, float2);7819float3 __ovld __cnfn maxmag(float3, float3);7820float4 __ovld __cnfn maxmag(float4, float4);7821float8 __ovld __cnfn maxmag(float8, float8);7822float16 __ovld __cnfn maxmag(float16, float16);7823#ifdef cl_khr_fp647824double __ovld __cnfn maxmag(double, double);7825double2 __ovld __cnfn maxmag(double2, double2);7826double3 __ovld __cnfn maxmag(double3, double3);7827double4 __ovld __cnfn maxmag(double4, double4);7828double8 __ovld __cnfn maxmag(double8, double8);7829double16 __ovld __cnfn maxmag(double16, double16);7830#endif //cl_khr_fp647831#ifdef cl_khr_fp167832half __ovld __cnfn maxmag(half, half);7833half2 __ovld __cnfn maxmag(half2, half2);7834half3 __ovld __cnfn maxmag(half3, half3);7835half4 __ovld __cnfn maxmag(half4, half4);7836half8 __ovld __cnfn maxmag(half8, half8);7837half16 __ovld __cnfn maxmag(half16, half16);7838#endif //cl_khr_fp167839 7840/**7841 * Returns x if | x | < | y |, y if | y | < | x |, otherwise7842 * fmin(x, y).7843 */7844float __ovld __cnfn minmag(float, float);7845float2 __ovld __cnfn minmag(float2, float2);7846float3 __ovld __cnfn minmag(float3, float3);7847float4 __ovld __cnfn minmag(float4, float4);7848float8 __ovld __cnfn minmag(float8, float8);7849float16 __ovld __cnfn minmag(float16, float16);7850#ifdef cl_khr_fp647851double __ovld __cnfn minmag(double, double);7852double2 __ovld __cnfn minmag(double2, double2);7853double3 __ovld __cnfn minmag(double3, double3);7854double4 __ovld __cnfn minmag(double4, double4);7855double8 __ovld __cnfn minmag(double8, double8);7856double16 __ovld __cnfn minmag(double16, double16);7857#endif //cl_khr_fp647858#ifdef cl_khr_fp167859half __ovld __cnfn minmag(half, half);7860half2 __ovld __cnfn minmag(half2, half2);7861half3 __ovld __cnfn minmag(half3, half3);7862half4 __ovld __cnfn minmag(half4, half4);7863half8 __ovld __cnfn minmag(half8, half8);7864half16 __ovld __cnfn minmag(half16, half16);7865#endif //cl_khr_fp167866 7867/**7868 * Decompose a floating-point number. The modf7869 * function breaks the argument x into integral and7870 * fractional parts, each of which has the same sign as7871 * the argument. It stores the integral part in the object7872 * pointed to by iptr.7873 */7874#if defined(__opencl_c_generic_address_space)7875float __ovld modf(float, float *);7876float2 __ovld modf(float2, float2 *);7877float3 __ovld modf(float3, float3 *);7878float4 __ovld modf(float4, float4 *);7879float8 __ovld modf(float8, float8 *);7880float16 __ovld modf(float16, float16 *);7881#ifdef cl_khr_fp647882double __ovld modf(double, double *);7883double2 __ovld modf(double2, double2 *);7884double3 __ovld modf(double3, double3 *);7885double4 __ovld modf(double4, double4 *);7886double8 __ovld modf(double8, double8 *);7887double16 __ovld modf(double16, double16 *);7888#endif //cl_khr_fp647889#ifdef cl_khr_fp167890half __ovld modf(half, half *);7891half2 __ovld modf(half2, half2 *);7892half3 __ovld modf(half3, half3 *);7893half4 __ovld modf(half4, half4 *);7894half8 __ovld modf(half8, half8 *);7895half16 __ovld modf(half16, half16 *);7896#endif //cl_khr_fp167897#endif //defined(__opencl_c_generic_address_space)7898 7899#if defined(__opencl_c_named_address_space_builtins)7900float __ovld modf(float, __global float *);7901float2 __ovld modf(float2, __global float2 *);7902float3 __ovld modf(float3, __global float3 *);7903float4 __ovld modf(float4, __global float4 *);7904float8 __ovld modf(float8, __global float8 *);7905float16 __ovld modf(float16, __global float16 *);7906float __ovld modf(float, __local float *);7907float2 __ovld modf(float2, __local float2 *);7908float3 __ovld modf(float3, __local float3 *);7909float4 __ovld modf(float4, __local float4 *);7910float8 __ovld modf(float8, __local float8 *);7911float16 __ovld modf(float16, __local float16 *);7912float __ovld modf(float, __private float *);7913float2 __ovld modf(float2, __private float2 *);7914float3 __ovld modf(float3, __private float3 *);7915float4 __ovld modf(float4, __private float4 *);7916float8 __ovld modf(float8, __private float8 *);7917float16 __ovld modf(float16, __private float16 *);7918#ifdef cl_khr_fp647919double __ovld modf(double, __global double *);7920double2 __ovld modf(double2, __global double2 *);7921double3 __ovld modf(double3, __global double3 *);7922double4 __ovld modf(double4, __global double4 *);7923double8 __ovld modf(double8, __global double8 *);7924double16 __ovld modf(double16, __global double16 *);7925double __ovld modf(double, __local double *);7926double2 __ovld modf(double2, __local double2 *);7927double3 __ovld modf(double3, __local double3 *);7928double4 __ovld modf(double4, __local double4 *);7929double8 __ovld modf(double8, __local double8 *);7930double16 __ovld modf(double16, __local double16 *);7931double __ovld modf(double, __private double *);7932double2 __ovld modf(double2, __private double2 *);7933double3 __ovld modf(double3, __private double3 *);7934double4 __ovld modf(double4, __private double4 *);7935double8 __ovld modf(double8, __private double8 *);7936double16 __ovld modf(double16, __private double16 *);7937#endif //cl_khr_fp647938#ifdef cl_khr_fp167939half __ovld modf(half, __global half *);7940half2 __ovld modf(half2, __global half2 *);7941half3 __ovld modf(half3, __global half3 *);7942half4 __ovld modf(half4, __global half4 *);7943half8 __ovld modf(half8, __global half8 *);7944half16 __ovld modf(half16, __global half16 *);7945half __ovld modf(half, __local half *);7946half2 __ovld modf(half2, __local half2 *);7947half3 __ovld modf(half3, __local half3 *);7948half4 __ovld modf(half4, __local half4 *);7949half8 __ovld modf(half8, __local half8 *);7950half16 __ovld modf(half16, __local half16 *);7951half __ovld modf(half, __private half *);7952half2 __ovld modf(half2, __private half2 *);7953half3 __ovld modf(half3, __private half3 *);7954half4 __ovld modf(half4, __private half4 *);7955half8 __ovld modf(half8, __private half8 *);7956half16 __ovld modf(half16, __private half16 *);7957#endif //cl_khr_fp167958#endif //defined(__opencl_c_named_address_space_builtins)7959 7960/**7961 * Returns a quiet NaN. The nancode may be placed7962 * in the significand of the resulting NaN.7963 */7964float __ovld __cnfn nan(uint);7965float2 __ovld __cnfn nan(uint2);7966float3 __ovld __cnfn nan(uint3);7967float4 __ovld __cnfn nan(uint4);7968float8 __ovld __cnfn nan(uint8);7969float16 __ovld __cnfn nan(uint16);7970#ifdef cl_khr_fp647971double __ovld __cnfn nan(ulong);7972double2 __ovld __cnfn nan(ulong2);7973double3 __ovld __cnfn nan(ulong3);7974double4 __ovld __cnfn nan(ulong4);7975double8 __ovld __cnfn nan(ulong8);7976double16 __ovld __cnfn nan(ulong16);7977#endif //cl_khr_fp647978#ifdef cl_khr_fp167979half __ovld __cnfn nan(ushort);7980half2 __ovld __cnfn nan(ushort2);7981half3 __ovld __cnfn nan(ushort3);7982half4 __ovld __cnfn nan(ushort4);7983half8 __ovld __cnfn nan(ushort8);7984half16 __ovld __cnfn nan(ushort16);7985#endif //cl_khr_fp167986 7987/**7988 * Computes the next representable single-precision7989 * floating-point value following x in the direction of7990 * y. Thus, if y is less than x, nextafter() returns the7991 * largest representable floating-point number less7992 * than x.7993 */7994float __ovld __cnfn nextafter(float, float);7995float2 __ovld __cnfn nextafter(float2, float2);7996float3 __ovld __cnfn nextafter(float3, float3);7997float4 __ovld __cnfn nextafter(float4, float4);7998float8 __ovld __cnfn nextafter(float8, float8);7999float16 __ovld __cnfn nextafter(float16, float16);8000#ifdef cl_khr_fp648001double __ovld __cnfn nextafter(double, double);8002double2 __ovld __cnfn nextafter(double2, double2);8003double3 __ovld __cnfn nextafter(double3, double3);8004double4 __ovld __cnfn nextafter(double4, double4);8005double8 __ovld __cnfn nextafter(double8, double8);8006double16 __ovld __cnfn nextafter(double16, double16);8007#endif //cl_khr_fp648008#ifdef cl_khr_fp168009half __ovld __cnfn nextafter(half, half);8010half2 __ovld __cnfn nextafter(half2, half2);8011half3 __ovld __cnfn nextafter(half3, half3);8012half4 __ovld __cnfn nextafter(half4, half4);8013half8 __ovld __cnfn nextafter(half8, half8);8014half16 __ovld __cnfn nextafter(half16, half16);8015#endif //cl_khr_fp168016 8017/**8018 * Compute x to the power y.8019 */8020float __ovld __cnfn pow(float, float);8021float2 __ovld __cnfn pow(float2, float2);8022float3 __ovld __cnfn pow(float3, float3);8023float4 __ovld __cnfn pow(float4, float4);8024float8 __ovld __cnfn pow(float8, float8);8025float16 __ovld __cnfn pow(float16, float16);8026#ifdef cl_khr_fp648027double __ovld __cnfn pow(double, double);8028double2 __ovld __cnfn pow(double2, double2);8029double3 __ovld __cnfn pow(double3, double3);8030double4 __ovld __cnfn pow(double4, double4);8031double8 __ovld __cnfn pow(double8, double8);8032double16 __ovld __cnfn pow(double16, double16);8033#endif //cl_khr_fp648034#ifdef cl_khr_fp168035half __ovld __cnfn pow(half, half);8036half2 __ovld __cnfn pow(half2, half2);8037half3 __ovld __cnfn pow(half3, half3);8038half4 __ovld __cnfn pow(half4, half4);8039half8 __ovld __cnfn pow(half8, half8);8040half16 __ovld __cnfn pow(half16, half16);8041#endif //cl_khr_fp168042 8043/**8044 * Compute x to the power y, where y is an integer.8045 */8046float __ovld __cnfn pown(float, int);8047float2 __ovld __cnfn pown(float2, int2);8048float3 __ovld __cnfn pown(float3, int3);8049float4 __ovld __cnfn pown(float4, int4);8050float8 __ovld __cnfn pown(float8, int8);8051float16 __ovld __cnfn pown(float16, int16);8052#ifdef cl_khr_fp648053double __ovld __cnfn pown(double, int);8054double2 __ovld __cnfn pown(double2, int2);8055double3 __ovld __cnfn pown(double3, int3);8056double4 __ovld __cnfn pown(double4, int4);8057double8 __ovld __cnfn pown(double8, int8);8058double16 __ovld __cnfn pown(double16, int16);8059#endif //cl_khr_fp648060#ifdef cl_khr_fp168061half __ovld __cnfn pown(half, int);8062half2 __ovld __cnfn pown(half2, int2);8063half3 __ovld __cnfn pown(half3, int3);8064half4 __ovld __cnfn pown(half4, int4);8065half8 __ovld __cnfn pown(half8, int8);8066half16 __ovld __cnfn pown(half16, int16);8067#endif //cl_khr_fp168068 8069/**8070 * Compute x to the power y, where x is >= 0.8071 */8072float __ovld __cnfn powr(float, float);8073float2 __ovld __cnfn powr(float2, float2);8074float3 __ovld __cnfn powr(float3, float3);8075float4 __ovld __cnfn powr(float4, float4);8076float8 __ovld __cnfn powr(float8, float8);8077float16 __ovld __cnfn powr(float16, float16);8078#ifdef cl_khr_fp648079double __ovld __cnfn powr(double, double);8080double2 __ovld __cnfn powr(double2, double2);8081double3 __ovld __cnfn powr(double3, double3);8082double4 __ovld __cnfn powr(double4, double4);8083double8 __ovld __cnfn powr(double8, double8);8084double16 __ovld __cnfn powr(double16, double16);8085#endif //cl_khr_fp648086#ifdef cl_khr_fp168087half __ovld __cnfn powr(half, half);8088half2 __ovld __cnfn powr(half2, half2);8089half3 __ovld __cnfn powr(half3, half3);8090half4 __ovld __cnfn powr(half4, half4);8091half8 __ovld __cnfn powr(half8, half8);8092half16 __ovld __cnfn powr(half16, half16);8093#endif //cl_khr_fp168094 8095/**8096 * Compute the value r such that r = x - n*y, where n8097 * is the integer nearest the exact value of x/y. If there8098 * are two integers closest to x/y, n shall be the even8099 * one. If r is zero, it is given the same sign as x.8100 */8101float __ovld __cnfn remainder(float, float);8102float2 __ovld __cnfn remainder(float2, float2);8103float3 __ovld __cnfn remainder(float3, float3);8104float4 __ovld __cnfn remainder(float4, float4);8105float8 __ovld __cnfn remainder(float8, float8);8106float16 __ovld __cnfn remainder(float16, float16);8107#ifdef cl_khr_fp648108double __ovld __cnfn remainder(double, double);8109double2 __ovld __cnfn remainder(double2, double2);8110double3 __ovld __cnfn remainder(double3, double3);8111double4 __ovld __cnfn remainder(double4, double4);8112double8 __ovld __cnfn remainder(double8, double8);8113double16 __ovld __cnfn remainder(double16, double16);8114#endif //cl_khr_fp648115#ifdef cl_khr_fp168116half __ovld __cnfn remainder(half, half);8117half2 __ovld __cnfn remainder(half2, half2);8118half3 __ovld __cnfn remainder(half3, half3);8119half4 __ovld __cnfn remainder(half4, half4);8120half8 __ovld __cnfn remainder(half8, half8);8121half16 __ovld __cnfn remainder(half16, half16);8122#endif //cl_khr_fp168123 8124/**8125 * The remquo function computes the value r such8126 * that r = x - n*y, where n is the integer nearest the8127 * exact value of x/y. If there are two integers closest8128 * to x/y, n shall be the even one. If r is zero, it is8129 * given the same sign as x. This is the same value8130 * that is returned by the remainder function.8131 * remquo also calculates the lower seven bits of the8132 * integral quotient x/y, and gives that value the same8133 * sign as x/y. It stores this signed value in the object8134 * pointed to by quo.8135 */8136#if defined(__opencl_c_generic_address_space)8137float __ovld remquo(float, float, int *);8138float2 __ovld remquo(float2, float2, int2 *);8139float3 __ovld remquo(float3, float3, int3 *);8140float4 __ovld remquo(float4, float4, int4 *);8141float8 __ovld remquo(float8, float8, int8 *);8142float16 __ovld remquo(float16, float16, int16 *);8143#ifdef cl_khr_fp648144double __ovld remquo(double, double, int *);8145double2 __ovld remquo(double2, double2, int2 *);8146double3 __ovld remquo(double3, double3, int3 *);8147double4 __ovld remquo(double4, double4, int4 *);8148double8 __ovld remquo(double8, double8, int8 *);8149double16 __ovld remquo(double16, double16, int16 *);8150#endif //cl_khr_fp648151#ifdef cl_khr_fp168152half __ovld remquo(half, half, int *);8153half2 __ovld remquo(half2, half2, int2 *);8154half3 __ovld remquo(half3, half3, int3 *);8155half4 __ovld remquo(half4, half4, int4 *);8156half8 __ovld remquo(half8, half8, int8 *);8157half16 __ovld remquo(half16, half16, int16 *);8158#endif //cl_khr_fp168159#endif //defined(__opencl_c_generic_address_space)8160 8161#if defined(__opencl_c_named_address_space_builtins)8162float __ovld remquo(float, float, __global int *);8163float2 __ovld remquo(float2, float2, __global int2 *);8164float3 __ovld remquo(float3, float3, __global int3 *);8165float4 __ovld remquo(float4, float4, __global int4 *);8166float8 __ovld remquo(float8, float8, __global int8 *);8167float16 __ovld remquo(float16, float16, __global int16 *);8168float __ovld remquo(float, float, __local int *);8169float2 __ovld remquo(float2, float2, __local int2 *);8170float3 __ovld remquo(float3, float3, __local int3 *);8171float4 __ovld remquo(float4, float4, __local int4 *);8172float8 __ovld remquo(float8, float8, __local int8 *);8173float16 __ovld remquo(float16, float16, __local int16 *);8174float __ovld remquo(float, float, __private int *);8175float2 __ovld remquo(float2, float2, __private int2 *);8176float3 __ovld remquo(float3, float3, __private int3 *);8177float4 __ovld remquo(float4, float4, __private int4 *);8178float8 __ovld remquo(float8, float8, __private int8 *);8179float16 __ovld remquo(float16, float16, __private int16 *);8180#ifdef cl_khr_fp648181double __ovld remquo(double, double, __global int *);8182double2 __ovld remquo(double2, double2, __global int2 *);8183double3 __ovld remquo(double3, double3, __global int3 *);8184double4 __ovld remquo(double4, double4, __global int4 *);8185double8 __ovld remquo(double8, double8, __global int8 *);8186double16 __ovld remquo(double16, double16, __global int16 *);8187double __ovld remquo(double, double, __local int *);8188double2 __ovld remquo(double2, double2, __local int2 *);8189double3 __ovld remquo(double3, double3, __local int3 *);8190double4 __ovld remquo(double4, double4, __local int4 *);8191double8 __ovld remquo(double8, double8, __local int8 *);8192double16 __ovld remquo(double16, double16, __local int16 *);8193double __ovld remquo(double, double, __private int *);8194double2 __ovld remquo(double2, double2, __private int2 *);8195double3 __ovld remquo(double3, double3, __private int3 *);8196double4 __ovld remquo(double4, double4, __private int4 *);8197double8 __ovld remquo(double8, double8, __private int8 *);8198double16 __ovld remquo(double16, double16, __private int16 *);8199#endif //cl_khr_fp648200#ifdef cl_khr_fp168201half __ovld remquo(half, half, __global int *);8202half2 __ovld remquo(half2, half2, __global int2 *);8203half3 __ovld remquo(half3, half3, __global int3 *);8204half4 __ovld remquo(half4, half4, __global int4 *);8205half8 __ovld remquo(half8, half8, __global int8 *);8206half16 __ovld remquo(half16, half16, __global int16 *);8207half __ovld remquo(half, half, __local int *);8208half2 __ovld remquo(half2, half2, __local int2 *);8209half3 __ovld remquo(half3, half3, __local int3 *);8210half4 __ovld remquo(half4, half4, __local int4 *);8211half8 __ovld remquo(half8, half8, __local int8 *);8212half16 __ovld remquo(half16, half16, __local int16 *);8213half __ovld remquo(half, half, __private int *);8214half2 __ovld remquo(half2, half2, __private int2 *);8215half3 __ovld remquo(half3, half3, __private int3 *);8216half4 __ovld remquo(half4, half4, __private int4 *);8217half8 __ovld remquo(half8, half8, __private int8 *);8218half16 __ovld remquo(half16, half16, __private int16 *);8219#endif //cl_khr_fp168220#endif //defined(__opencl_c_named_address_space_builtins)8221/**8222 * Round to integral value (using round to nearest8223 * even rounding mode) in floating-point format.8224 * Refer to section 7.1 for description of rounding8225 * modes.8226 */8227float __ovld __cnfn rint(float);8228float2 __ovld __cnfn rint(float2);8229float3 __ovld __cnfn rint(float3);8230float4 __ovld __cnfn rint(float4);8231float8 __ovld __cnfn rint(float8);8232float16 __ovld __cnfn rint(float16);8233#ifdef cl_khr_fp648234double __ovld __cnfn rint(double);8235double2 __ovld __cnfn rint(double2);8236double3 __ovld __cnfn rint(double3);8237double4 __ovld __cnfn rint(double4);8238double8 __ovld __cnfn rint(double8);8239double16 __ovld __cnfn rint(double16);8240#endif //cl_khr_fp648241#ifdef cl_khr_fp168242half __ovld __cnfn rint(half);8243half2 __ovld __cnfn rint(half2);8244half3 __ovld __cnfn rint(half3);8245half4 __ovld __cnfn rint(half4);8246half8 __ovld __cnfn rint(half8);8247half16 __ovld __cnfn rint(half16);8248#endif //cl_khr_fp168249 8250/**8251 * Compute x to the power 1/y.8252 */8253float __ovld __cnfn rootn(float, int);8254float2 __ovld __cnfn rootn(float2, int2);8255float3 __ovld __cnfn rootn(float3, int3);8256float4 __ovld __cnfn rootn(float4, int4);8257float8 __ovld __cnfn rootn(float8, int8);8258float16 __ovld __cnfn rootn(float16, int16);8259#ifdef cl_khr_fp648260double __ovld __cnfn rootn(double, int);8261double2 __ovld __cnfn rootn(double2, int2);8262double3 __ovld __cnfn rootn(double3, int3);8263double4 __ovld __cnfn rootn(double4, int4);8264double8 __ovld __cnfn rootn(double8, int8);8265double16 __ovld __cnfn rootn(double16, int16);8266#endif //cl_khr_fp648267#ifdef cl_khr_fp168268half __ovld __cnfn rootn(half, int);8269half2 __ovld __cnfn rootn(half2, int2);8270half3 __ovld __cnfn rootn(half3, int3);8271half4 __ovld __cnfn rootn(half4, int4);8272half8 __ovld __cnfn rootn(half8, int8);8273half16 __ovld __cnfn rootn(half16, int16);8274#endif //cl_khr_fp168275 8276/**8277 * Return the integral value nearest to x rounding8278 * halfway cases away from zero, regardless of the8279 * current rounding direction.8280 */8281float __ovld __cnfn round(float);8282float2 __ovld __cnfn round(float2);8283float3 __ovld __cnfn round(float3);8284float4 __ovld __cnfn round(float4);8285float8 __ovld __cnfn round(float8);8286float16 __ovld __cnfn round(float16);8287#ifdef cl_khr_fp648288double __ovld __cnfn round(double);8289double2 __ovld __cnfn round(double2);8290double3 __ovld __cnfn round(double3);8291double4 __ovld __cnfn round(double4);8292double8 __ovld __cnfn round(double8);8293double16 __ovld __cnfn round(double16);8294#endif //cl_khr_fp648295#ifdef cl_khr_fp168296half __ovld __cnfn round(half);8297half2 __ovld __cnfn round(half2);8298half3 __ovld __cnfn round(half3);8299half4 __ovld __cnfn round(half4);8300half8 __ovld __cnfn round(half8);8301half16 __ovld __cnfn round(half16);8302#endif //cl_khr_fp168303 8304/**8305 * Compute inverse square root.8306 */8307float __ovld __cnfn rsqrt(float);8308float2 __ovld __cnfn rsqrt(float2);8309float3 __ovld __cnfn rsqrt(float3);8310float4 __ovld __cnfn rsqrt(float4);8311float8 __ovld __cnfn rsqrt(float8);8312float16 __ovld __cnfn rsqrt(float16);8313#ifdef cl_khr_fp648314double __ovld __cnfn rsqrt(double);8315double2 __ovld __cnfn rsqrt(double2);8316double3 __ovld __cnfn rsqrt(double3);8317double4 __ovld __cnfn rsqrt(double4);8318double8 __ovld __cnfn rsqrt(double8);8319double16 __ovld __cnfn rsqrt(double16);8320#endif //cl_khr_fp648321#ifdef cl_khr_fp168322half __ovld __cnfn rsqrt(half);8323half2 __ovld __cnfn rsqrt(half2);8324half3 __ovld __cnfn rsqrt(half3);8325half4 __ovld __cnfn rsqrt(half4);8326half8 __ovld __cnfn rsqrt(half8);8327half16 __ovld __cnfn rsqrt(half16);8328#endif //cl_khr_fp168329 8330/**8331 * Compute sine.8332 */8333float __ovld __cnfn sin(float);8334float2 __ovld __cnfn sin(float2);8335float3 __ovld __cnfn sin(float3);8336float4 __ovld __cnfn sin(float4);8337float8 __ovld __cnfn sin(float8);8338float16 __ovld __cnfn sin(float16);8339#ifdef cl_khr_fp648340double __ovld __cnfn sin(double);8341double2 __ovld __cnfn sin(double2);8342double3 __ovld __cnfn sin(double3);8343double4 __ovld __cnfn sin(double4);8344double8 __ovld __cnfn sin(double8);8345double16 __ovld __cnfn sin(double16);8346#endif //cl_khr_fp648347#ifdef cl_khr_fp168348half __ovld __cnfn sin(half);8349half2 __ovld __cnfn sin(half2);8350half3 __ovld __cnfn sin(half3);8351half4 __ovld __cnfn sin(half4);8352half8 __ovld __cnfn sin(half8);8353half16 __ovld __cnfn sin(half16);8354#endif //cl_khr_fp168355 8356/**8357 * Compute sine and cosine of x. The computed sine8358 * is the return value and computed cosine is returned8359 * in cosval.8360 */8361#if defined(__opencl_c_generic_address_space)8362float __ovld sincos(float, float *);8363float2 __ovld sincos(float2, float2 *);8364float3 __ovld sincos(float3, float3 *);8365float4 __ovld sincos(float4, float4 *);8366float8 __ovld sincos(float8, float8 *);8367float16 __ovld sincos(float16, float16 *);8368#ifdef cl_khr_fp648369double __ovld sincos(double, double *);8370double2 __ovld sincos(double2, double2 *);8371double3 __ovld sincos(double3, double3 *);8372double4 __ovld sincos(double4, double4 *);8373double8 __ovld sincos(double8, double8 *);8374double16 __ovld sincos(double16, double16 *);8375#endif //cl_khr_fp648376#ifdef cl_khr_fp168377half __ovld sincos(half, half *);8378half2 __ovld sincos(half2, half2 *);8379half3 __ovld sincos(half3, half3 *);8380half4 __ovld sincos(half4, half4 *);8381half8 __ovld sincos(half8, half8 *);8382half16 __ovld sincos(half16, half16 *);8383#endif //cl_khr_fp168384#endif //defined(__opencl_c_generic_address_space)8385 8386#if defined(__opencl_c_named_address_space_builtins)8387float __ovld sincos(float, __global float *);8388float2 __ovld sincos(float2, __global float2 *);8389float3 __ovld sincos(float3, __global float3 *);8390float4 __ovld sincos(float4, __global float4 *);8391float8 __ovld sincos(float8, __global float8 *);8392float16 __ovld sincos(float16, __global float16 *);8393float __ovld sincos(float, __local float *);8394float2 __ovld sincos(float2, __local float2 *);8395float3 __ovld sincos(float3, __local float3 *);8396float4 __ovld sincos(float4, __local float4 *);8397float8 __ovld sincos(float8, __local float8 *);8398float16 __ovld sincos(float16, __local float16 *);8399float __ovld sincos(float, __private float *);8400float2 __ovld sincos(float2, __private float2 *);8401float3 __ovld sincos(float3, __private float3 *);8402float4 __ovld sincos(float4, __private float4 *);8403float8 __ovld sincos(float8, __private float8 *);8404float16 __ovld sincos(float16, __private float16 *);8405#ifdef cl_khr_fp648406double __ovld sincos(double, __global double *);8407double2 __ovld sincos(double2, __global double2 *);8408double3 __ovld sincos(double3, __global double3 *);8409double4 __ovld sincos(double4, __global double4 *);8410double8 __ovld sincos(double8, __global double8 *);8411double16 __ovld sincos(double16, __global double16 *);8412double __ovld sincos(double, __local double *);8413double2 __ovld sincos(double2, __local double2 *);8414double3 __ovld sincos(double3, __local double3 *);8415double4 __ovld sincos(double4, __local double4 *);8416double8 __ovld sincos(double8, __local double8 *);8417double16 __ovld sincos(double16, __local double16 *);8418double __ovld sincos(double, __private double *);8419double2 __ovld sincos(double2, __private double2 *);8420double3 __ovld sincos(double3, __private double3 *);8421double4 __ovld sincos(double4, __private double4 *);8422double8 __ovld sincos(double8, __private double8 *);8423double16 __ovld sincos(double16, __private double16 *);8424#endif //cl_khr_fp648425#ifdef cl_khr_fp168426half __ovld sincos(half, __global half *);8427half2 __ovld sincos(half2, __global half2 *);8428half3 __ovld sincos(half3, __global half3 *);8429half4 __ovld sincos(half4, __global half4 *);8430half8 __ovld sincos(half8, __global half8 *);8431half16 __ovld sincos(half16, __global half16 *);8432half __ovld sincos(half, __local half *);8433half2 __ovld sincos(half2, __local half2 *);8434half3 __ovld sincos(half3, __local half3 *);8435half4 __ovld sincos(half4, __local half4 *);8436half8 __ovld sincos(half8, __local half8 *);8437half16 __ovld sincos(half16, __local half16 *);8438half __ovld sincos(half, __private half *);8439half2 __ovld sincos(half2, __private half2 *);8440half3 __ovld sincos(half3, __private half3 *);8441half4 __ovld sincos(half4, __private half4 *);8442half8 __ovld sincos(half8, __private half8 *);8443half16 __ovld sincos(half16, __private half16 *);8444#endif //cl_khr_fp168445#endif //defined(__opencl_c_named_address_space_builtins)8446 8447/**8448 * Compute hyperbolic sine.8449 */8450float __ovld __cnfn sinh(float);8451float2 __ovld __cnfn sinh(float2);8452float3 __ovld __cnfn sinh(float3);8453float4 __ovld __cnfn sinh(float4);8454float8 __ovld __cnfn sinh(float8);8455float16 __ovld __cnfn sinh(float16);8456#ifdef cl_khr_fp648457double __ovld __cnfn sinh(double);8458double2 __ovld __cnfn sinh(double2);8459double3 __ovld __cnfn sinh(double3);8460double4 __ovld __cnfn sinh(double4);8461double8 __ovld __cnfn sinh(double8);8462double16 __ovld __cnfn sinh(double16);8463#endif //cl_khr_fp648464#ifdef cl_khr_fp168465half __ovld __cnfn sinh(half);8466half2 __ovld __cnfn sinh(half2);8467half3 __ovld __cnfn sinh(half3);8468half4 __ovld __cnfn sinh(half4);8469half8 __ovld __cnfn sinh(half8);8470half16 __ovld __cnfn sinh(half16);8471#endif //cl_khr_fp168472 8473/**8474 * Compute sin (PI * x).8475 */8476float __ovld __cnfn sinpi(float);8477float2 __ovld __cnfn sinpi(float2);8478float3 __ovld __cnfn sinpi(float3);8479float4 __ovld __cnfn sinpi(float4);8480float8 __ovld __cnfn sinpi(float8);8481float16 __ovld __cnfn sinpi(float16);8482#ifdef cl_khr_fp648483double __ovld __cnfn sinpi(double);8484double2 __ovld __cnfn sinpi(double2);8485double3 __ovld __cnfn sinpi(double3);8486double4 __ovld __cnfn sinpi(double4);8487double8 __ovld __cnfn sinpi(double8);8488double16 __ovld __cnfn sinpi(double16);8489#endif //cl_khr_fp648490#ifdef cl_khr_fp168491half __ovld __cnfn sinpi(half);8492half2 __ovld __cnfn sinpi(half2);8493half3 __ovld __cnfn sinpi(half3);8494half4 __ovld __cnfn sinpi(half4);8495half8 __ovld __cnfn sinpi(half8);8496half16 __ovld __cnfn sinpi(half16);8497#endif //cl_khr_fp168498 8499/**8500 * Compute square root.8501 */8502float __ovld __cnfn sqrt(float);8503float2 __ovld __cnfn sqrt(float2);8504float3 __ovld __cnfn sqrt(float3);8505float4 __ovld __cnfn sqrt(float4);8506float8 __ovld __cnfn sqrt(float8);8507float16 __ovld __cnfn sqrt(float16);8508#ifdef cl_khr_fp648509double __ovld __cnfn sqrt(double);8510double2 __ovld __cnfn sqrt(double2);8511double3 __ovld __cnfn sqrt(double3);8512double4 __ovld __cnfn sqrt(double4);8513double8 __ovld __cnfn sqrt(double8);8514double16 __ovld __cnfn sqrt(double16);8515#endif //cl_khr_fp648516#ifdef cl_khr_fp168517half __ovld __cnfn sqrt(half);8518half2 __ovld __cnfn sqrt(half2);8519half3 __ovld __cnfn sqrt(half3);8520half4 __ovld __cnfn sqrt(half4);8521half8 __ovld __cnfn sqrt(half8);8522half16 __ovld __cnfn sqrt(half16);8523#endif //cl_khr_fp168524 8525/**8526 * Compute tangent.8527 */8528float __ovld __cnfn tan(float);8529float2 __ovld __cnfn tan(float2);8530float3 __ovld __cnfn tan(float3);8531float4 __ovld __cnfn tan(float4);8532float8 __ovld __cnfn tan(float8);8533float16 __ovld __cnfn tan(float16);8534#ifdef cl_khr_fp648535double __ovld __cnfn tan(double);8536double2 __ovld __cnfn tan(double2);8537double3 __ovld __cnfn tan(double3);8538double4 __ovld __cnfn tan(double4);8539double8 __ovld __cnfn tan(double8);8540double16 __ovld __cnfn tan(double16);8541#endif //cl_khr_fp648542#ifdef cl_khr_fp168543half __ovld __cnfn tan(half);8544half2 __ovld __cnfn tan(half2);8545half3 __ovld __cnfn tan(half3);8546half4 __ovld __cnfn tan(half4);8547half8 __ovld __cnfn tan(half8);8548half16 __ovld __cnfn tan(half16);8549#endif //cl_khr_fp168550 8551/**8552 * Compute hyperbolic tangent.8553 */8554float __ovld __cnfn tanh(float);8555float2 __ovld __cnfn tanh(float2);8556float3 __ovld __cnfn tanh(float3);8557float4 __ovld __cnfn tanh(float4);8558float8 __ovld __cnfn tanh(float8);8559float16 __ovld __cnfn tanh(float16);8560#ifdef cl_khr_fp648561double __ovld __cnfn tanh(double);8562double2 __ovld __cnfn tanh(double2);8563double3 __ovld __cnfn tanh(double3);8564double4 __ovld __cnfn tanh(double4);8565double8 __ovld __cnfn tanh(double8);8566double16 __ovld __cnfn tanh(double16);8567#endif //cl_khr_fp648568#ifdef cl_khr_fp168569half __ovld __cnfn tanh(half);8570half2 __ovld __cnfn tanh(half2);8571half3 __ovld __cnfn tanh(half3);8572half4 __ovld __cnfn tanh(half4);8573half8 __ovld __cnfn tanh(half8);8574half16 __ovld __cnfn tanh(half16);8575#endif //cl_khr_fp168576 8577/**8578 * Compute tan (PI * x).8579 */8580float __ovld __cnfn tanpi(float);8581float2 __ovld __cnfn tanpi(float2);8582float3 __ovld __cnfn tanpi(float3);8583float4 __ovld __cnfn tanpi(float4);8584float8 __ovld __cnfn tanpi(float8);8585float16 __ovld __cnfn tanpi(float16);8586#ifdef cl_khr_fp648587double __ovld __cnfn tanpi(double);8588double2 __ovld __cnfn tanpi(double2);8589double3 __ovld __cnfn tanpi(double3);8590double4 __ovld __cnfn tanpi(double4);8591double8 __ovld __cnfn tanpi(double8);8592double16 __ovld __cnfn tanpi(double16);8593#endif //cl_khr_fp648594#ifdef cl_khr_fp168595half __ovld __cnfn tanpi(half);8596half2 __ovld __cnfn tanpi(half2);8597half3 __ovld __cnfn tanpi(half3);8598half4 __ovld __cnfn tanpi(half4);8599half8 __ovld __cnfn tanpi(half8);8600half16 __ovld __cnfn tanpi(half16);8601#endif //cl_khr_fp168602 8603/**8604 * Compute the gamma function.8605 */8606float __ovld __cnfn tgamma(float);8607float2 __ovld __cnfn tgamma(float2);8608float3 __ovld __cnfn tgamma(float3);8609float4 __ovld __cnfn tgamma(float4);8610float8 __ovld __cnfn tgamma(float8);8611float16 __ovld __cnfn tgamma(float16);8612#ifdef cl_khr_fp648613double __ovld __cnfn tgamma(double);8614double2 __ovld __cnfn tgamma(double2);8615double3 __ovld __cnfn tgamma(double3);8616double4 __ovld __cnfn tgamma(double4);8617double8 __ovld __cnfn tgamma(double8);8618double16 __ovld __cnfn tgamma(double16);8619#endif //cl_khr_fp648620#ifdef cl_khr_fp168621half __ovld __cnfn tgamma(half);8622half2 __ovld __cnfn tgamma(half2);8623half3 __ovld __cnfn tgamma(half3);8624half4 __ovld __cnfn tgamma(half4);8625half8 __ovld __cnfn tgamma(half8);8626half16 __ovld __cnfn tgamma(half16);8627#endif //cl_khr_fp168628 8629/**8630 * Round to integral value using the round to zero8631 * rounding mode.8632 */8633float __ovld __cnfn trunc(float);8634float2 __ovld __cnfn trunc(float2);8635float3 __ovld __cnfn trunc(float3);8636float4 __ovld __cnfn trunc(float4);8637float8 __ovld __cnfn trunc(float8);8638float16 __ovld __cnfn trunc(float16);8639#ifdef cl_khr_fp648640double __ovld __cnfn trunc(double);8641double2 __ovld __cnfn trunc(double2);8642double3 __ovld __cnfn trunc(double3);8643double4 __ovld __cnfn trunc(double4);8644double8 __ovld __cnfn trunc(double8);8645double16 __ovld __cnfn trunc(double16);8646#endif //cl_khr_fp648647#ifdef cl_khr_fp168648half __ovld __cnfn trunc(half);8649half2 __ovld __cnfn trunc(half2);8650half3 __ovld __cnfn trunc(half3);8651half4 __ovld __cnfn trunc(half4);8652half8 __ovld __cnfn trunc(half8);8653half16 __ovld __cnfn trunc(half16);8654#endif //cl_khr_fp168655 8656/**8657 * Compute cosine. x must be in the range -2^16 ... +2^16.8658 */8659float __ovld __cnfn half_cos(float);8660float2 __ovld __cnfn half_cos(float2);8661float3 __ovld __cnfn half_cos(float3);8662float4 __ovld __cnfn half_cos(float4);8663float8 __ovld __cnfn half_cos(float8);8664float16 __ovld __cnfn half_cos(float16);8665 8666/**8667 * Compute x / y.8668 */8669float __ovld __cnfn half_divide(float, float);8670float2 __ovld __cnfn half_divide(float2, float2);8671float3 __ovld __cnfn half_divide(float3, float3);8672float4 __ovld __cnfn half_divide(float4, float4);8673float8 __ovld __cnfn half_divide(float8, float8);8674float16 __ovld __cnfn half_divide(float16, float16);8675 8676/**8677 * Compute the base- e exponential of x.8678 */8679float __ovld __cnfn half_exp(float);8680float2 __ovld __cnfn half_exp(float2);8681float3 __ovld __cnfn half_exp(float3);8682float4 __ovld __cnfn half_exp(float4);8683float8 __ovld __cnfn half_exp(float8);8684float16 __ovld __cnfn half_exp(float16);8685 8686/**8687 * Compute the base- 2 exponential of x.8688 */8689float __ovld __cnfn half_exp2(float);8690float2 __ovld __cnfn half_exp2(float2);8691float3 __ovld __cnfn half_exp2(float3);8692float4 __ovld __cnfn half_exp2(float4);8693float8 __ovld __cnfn half_exp2(float8);8694float16 __ovld __cnfn half_exp2(float16);8695 8696/**8697 * Compute the base- 10 exponential of x.8698 */8699float __ovld __cnfn half_exp10(float);8700float2 __ovld __cnfn half_exp10(float2);8701float3 __ovld __cnfn half_exp10(float3);8702float4 __ovld __cnfn half_exp10(float4);8703float8 __ovld __cnfn half_exp10(float8);8704float16 __ovld __cnfn half_exp10(float16);8705 8706/**8707 * Compute natural logarithm.8708 */8709float __ovld __cnfn half_log(float);8710float2 __ovld __cnfn half_log(float2);8711float3 __ovld __cnfn half_log(float3);8712float4 __ovld __cnfn half_log(float4);8713float8 __ovld __cnfn half_log(float8);8714float16 __ovld __cnfn half_log(float16);8715 8716/**8717 * Compute a base 2 logarithm.8718 */8719float __ovld __cnfn half_log2(float);8720float2 __ovld __cnfn half_log2(float2);8721float3 __ovld __cnfn half_log2(float3);8722float4 __ovld __cnfn half_log2(float4);8723float8 __ovld __cnfn half_log2(float8);8724float16 __ovld __cnfn half_log2(float16);8725 8726/**8727 * Compute a base 10 logarithm.8728 */8729float __ovld __cnfn half_log10(float);8730float2 __ovld __cnfn half_log10(float2);8731float3 __ovld __cnfn half_log10(float3);8732float4 __ovld __cnfn half_log10(float4);8733float8 __ovld __cnfn half_log10(float8);8734float16 __ovld __cnfn half_log10(float16);8735 8736/**8737 * Compute x to the power y, where x is >= 0.8738 */8739float __ovld __cnfn half_powr(float, float);8740float2 __ovld __cnfn half_powr(float2, float2);8741float3 __ovld __cnfn half_powr(float3, float3);8742float4 __ovld __cnfn half_powr(float4, float4);8743float8 __ovld __cnfn half_powr(float8, float8);8744float16 __ovld __cnfn half_powr(float16, float16);8745 8746/**8747 * Compute reciprocal.8748 */8749float __ovld __cnfn half_recip(float);8750float2 __ovld __cnfn half_recip(float2);8751float3 __ovld __cnfn half_recip(float3);8752float4 __ovld __cnfn half_recip(float4);8753float8 __ovld __cnfn half_recip(float8);8754float16 __ovld __cnfn half_recip(float16);8755 8756/**8757 * Compute inverse square root.8758 */8759float __ovld __cnfn half_rsqrt(float);8760float2 __ovld __cnfn half_rsqrt(float2);8761float3 __ovld __cnfn half_rsqrt(float3);8762float4 __ovld __cnfn half_rsqrt(float4);8763float8 __ovld __cnfn half_rsqrt(float8);8764float16 __ovld __cnfn half_rsqrt(float16);8765 8766/**8767 * Compute sine. x must be in the range -2^16 ... +2^16.8768 */8769float __ovld __cnfn half_sin(float);8770float2 __ovld __cnfn half_sin(float2);8771float3 __ovld __cnfn half_sin(float3);8772float4 __ovld __cnfn half_sin(float4);8773float8 __ovld __cnfn half_sin(float8);8774float16 __ovld __cnfn half_sin(float16);8775 8776/**8777 * Compute square root.8778 */8779float __ovld __cnfn half_sqrt(float);8780float2 __ovld __cnfn half_sqrt(float2);8781float3 __ovld __cnfn half_sqrt(float3);8782float4 __ovld __cnfn half_sqrt(float4);8783float8 __ovld __cnfn half_sqrt(float8);8784float16 __ovld __cnfn half_sqrt(float16);8785 8786/**8787 * Compute tangent. x must be in the range -216 ... +216.8788 */8789float __ovld __cnfn half_tan(float);8790float2 __ovld __cnfn half_tan(float2);8791float3 __ovld __cnfn half_tan(float3);8792float4 __ovld __cnfn half_tan(float4);8793float8 __ovld __cnfn half_tan(float8);8794float16 __ovld __cnfn half_tan(float16);8795 8796/**8797 * Compute cosine over an implementation-defined range.8798 * The maximum error is implementation-defined.8799 */8800float __ovld __cnfn native_cos(float);8801float2 __ovld __cnfn native_cos(float2);8802float3 __ovld __cnfn native_cos(float3);8803float4 __ovld __cnfn native_cos(float4);8804float8 __ovld __cnfn native_cos(float8);8805float16 __ovld __cnfn native_cos(float16);8806 8807/**8808 * Compute x / y over an implementation-defined range.8809 * The maximum error is implementation-defined.8810 */8811float __ovld __cnfn native_divide(float, float);8812float2 __ovld __cnfn native_divide(float2, float2);8813float3 __ovld __cnfn native_divide(float3, float3);8814float4 __ovld __cnfn native_divide(float4, float4);8815float8 __ovld __cnfn native_divide(float8, float8);8816float16 __ovld __cnfn native_divide(float16, float16);8817 8818/**8819 * Compute the base- e exponential of x over an8820 * implementation-defined range. The maximum error is8821 * implementation-defined.8822 */8823float __ovld __cnfn native_exp(float);8824float2 __ovld __cnfn native_exp(float2);8825float3 __ovld __cnfn native_exp(float3);8826float4 __ovld __cnfn native_exp(float4);8827float8 __ovld __cnfn native_exp(float8);8828float16 __ovld __cnfn native_exp(float16);8829 8830/**8831 * Compute the base- 2 exponential of x over an8832 * implementation-defined range. The maximum error is8833 * implementation-defined.8834 */8835float __ovld __cnfn native_exp2(float);8836float2 __ovld __cnfn native_exp2(float2);8837float3 __ovld __cnfn native_exp2(float3);8838float4 __ovld __cnfn native_exp2(float4);8839float8 __ovld __cnfn native_exp2(float8);8840float16 __ovld __cnfn native_exp2(float16);8841 8842/**8843 * Compute the base- 10 exponential of x over an8844 * implementation-defined range. The maximum error is8845 * implementation-defined.8846 */8847float __ovld __cnfn native_exp10(float);8848float2 __ovld __cnfn native_exp10(float2);8849float3 __ovld __cnfn native_exp10(float3);8850float4 __ovld __cnfn native_exp10(float4);8851float8 __ovld __cnfn native_exp10(float8);8852float16 __ovld __cnfn native_exp10(float16);8853 8854/**8855 * Compute natural logarithm over an implementationdefined8856 * range. The maximum error is implementation8857 * defined.8858 */8859float __ovld __cnfn native_log(float);8860float2 __ovld __cnfn native_log(float2);8861float3 __ovld __cnfn native_log(float3);8862float4 __ovld __cnfn native_log(float4);8863float8 __ovld __cnfn native_log(float8);8864float16 __ovld __cnfn native_log(float16);8865 8866/**8867 * Compute a base 2 logarithm over an implementationdefined8868 * range. The maximum error is implementationdefined.8869 */8870float __ovld __cnfn native_log2(float);8871float2 __ovld __cnfn native_log2(float2);8872float3 __ovld __cnfn native_log2(float3);8873float4 __ovld __cnfn native_log2(float4);8874float8 __ovld __cnfn native_log2(float8);8875float16 __ovld __cnfn native_log2(float16);8876 8877/**8878 * Compute a base 10 logarithm over an implementationdefined8879 * range. The maximum error is implementationdefined.8880 */8881float __ovld __cnfn native_log10(float);8882float2 __ovld __cnfn native_log10(float2);8883float3 __ovld __cnfn native_log10(float3);8884float4 __ovld __cnfn native_log10(float4);8885float8 __ovld __cnfn native_log10(float8);8886float16 __ovld __cnfn native_log10(float16);8887 8888/**8889 * Compute x to the power y, where x is >= 0. The range of8890 * x and y are implementation-defined. The maximum error8891 * is implementation-defined.8892 */8893float __ovld __cnfn native_powr(float, float);8894float2 __ovld __cnfn native_powr(float2, float2);8895float3 __ovld __cnfn native_powr(float3, float3);8896float4 __ovld __cnfn native_powr(float4, float4);8897float8 __ovld __cnfn native_powr(float8, float8);8898float16 __ovld __cnfn native_powr(float16, float16);8899 8900/**8901 * Compute reciprocal over an implementation-defined8902 * range. The maximum error is implementation-defined.8903 */8904float __ovld __cnfn native_recip(float);8905float2 __ovld __cnfn native_recip(float2);8906float3 __ovld __cnfn native_recip(float3);8907float4 __ovld __cnfn native_recip(float4);8908float8 __ovld __cnfn native_recip(float8);8909float16 __ovld __cnfn native_recip(float16);8910 8911/**8912 * Compute inverse square root over an implementationdefined8913 * range. The maximum error is implementationdefined.8914 */8915float __ovld __cnfn native_rsqrt(float);8916float2 __ovld __cnfn native_rsqrt(float2);8917float3 __ovld __cnfn native_rsqrt(float3);8918float4 __ovld __cnfn native_rsqrt(float4);8919float8 __ovld __cnfn native_rsqrt(float8);8920float16 __ovld __cnfn native_rsqrt(float16);8921 8922/**8923 * Compute sine over an implementation-defined range.8924 * The maximum error is implementation-defined.8925 */8926float __ovld __cnfn native_sin(float);8927float2 __ovld __cnfn native_sin(float2);8928float3 __ovld __cnfn native_sin(float3);8929float4 __ovld __cnfn native_sin(float4);8930float8 __ovld __cnfn native_sin(float8);8931float16 __ovld __cnfn native_sin(float16);8932 8933/**8934 * Compute square root over an implementation-defined8935 * range. The maximum error is implementation-defined.8936 */8937float __ovld __cnfn native_sqrt(float);8938float2 __ovld __cnfn native_sqrt(float2);8939float3 __ovld __cnfn native_sqrt(float3);8940float4 __ovld __cnfn native_sqrt(float4);8941float8 __ovld __cnfn native_sqrt(float8);8942float16 __ovld __cnfn native_sqrt(float16);8943 8944/**8945 * Compute tangent over an implementation-defined range.8946 * The maximum error is implementation-defined.8947 */8948float __ovld __cnfn native_tan(float);8949float2 __ovld __cnfn native_tan(float2);8950float3 __ovld __cnfn native_tan(float3);8951float4 __ovld __cnfn native_tan(float4);8952float8 __ovld __cnfn native_tan(float8);8953float16 __ovld __cnfn native_tan(float16);8954 8955// OpenCL v1.1 s6.11.3, v1.2 s6.12.3, v2.0 s6.13.3 - Integer Functions8956 8957/**8958 * Returns | x |.8959 */8960uchar __ovld __cnfn abs(char);8961uchar __ovld __cnfn abs(uchar);8962uchar2 __ovld __cnfn abs(char2);8963uchar2 __ovld __cnfn abs(uchar2);8964uchar3 __ovld __cnfn abs(char3);8965uchar3 __ovld __cnfn abs(uchar3);8966uchar4 __ovld __cnfn abs(char4);8967uchar4 __ovld __cnfn abs(uchar4);8968uchar8 __ovld __cnfn abs(char8);8969uchar8 __ovld __cnfn abs(uchar8);8970uchar16 __ovld __cnfn abs(char16);8971uchar16 __ovld __cnfn abs(uchar16);8972ushort __ovld __cnfn abs(short);8973ushort __ovld __cnfn abs(ushort);8974ushort2 __ovld __cnfn abs(short2);8975ushort2 __ovld __cnfn abs(ushort2);8976ushort3 __ovld __cnfn abs(short3);8977ushort3 __ovld __cnfn abs(ushort3);8978ushort4 __ovld __cnfn abs(short4);8979ushort4 __ovld __cnfn abs(ushort4);8980ushort8 __ovld __cnfn abs(short8);8981ushort8 __ovld __cnfn abs(ushort8);8982ushort16 __ovld __cnfn abs(short16);8983ushort16 __ovld __cnfn abs(ushort16);8984uint __ovld __cnfn abs(int);8985uint __ovld __cnfn abs(uint);8986uint2 __ovld __cnfn abs(int2);8987uint2 __ovld __cnfn abs(uint2);8988uint3 __ovld __cnfn abs(int3);8989uint3 __ovld __cnfn abs(uint3);8990uint4 __ovld __cnfn abs(int4);8991uint4 __ovld __cnfn abs(uint4);8992uint8 __ovld __cnfn abs(int8);8993uint8 __ovld __cnfn abs(uint8);8994uint16 __ovld __cnfn abs(int16);8995uint16 __ovld __cnfn abs(uint16);8996ulong __ovld __cnfn abs(long);8997ulong __ovld __cnfn abs(ulong);8998ulong2 __ovld __cnfn abs(long2);8999ulong2 __ovld __cnfn abs(ulong2);9000ulong3 __ovld __cnfn abs(long3);9001ulong3 __ovld __cnfn abs(ulong3);9002ulong4 __ovld __cnfn abs(long4);9003ulong4 __ovld __cnfn abs(ulong4);9004ulong8 __ovld __cnfn abs(long8);9005ulong8 __ovld __cnfn abs(ulong8);9006ulong16 __ovld __cnfn abs(long16);9007ulong16 __ovld __cnfn abs(ulong16);9008 9009/**9010 * Returns | x - y | without modulo overflow.9011 */9012uchar __ovld __cnfn abs_diff(char, char);9013uchar __ovld __cnfn abs_diff(uchar, uchar);9014uchar2 __ovld __cnfn abs_diff(char2, char2);9015uchar2 __ovld __cnfn abs_diff(uchar2, uchar2);9016uchar3 __ovld __cnfn abs_diff(char3, char3);9017uchar3 __ovld __cnfn abs_diff(uchar3, uchar3);9018uchar4 __ovld __cnfn abs_diff(char4, char4);9019uchar4 __ovld __cnfn abs_diff(uchar4, uchar4);9020uchar8 __ovld __cnfn abs_diff(char8, char8);9021uchar8 __ovld __cnfn abs_diff(uchar8, uchar8);9022uchar16 __ovld __cnfn abs_diff(char16, char16);9023uchar16 __ovld __cnfn abs_diff(uchar16, uchar16);9024ushort __ovld __cnfn abs_diff(short, short);9025ushort __ovld __cnfn abs_diff(ushort, ushort);9026ushort2 __ovld __cnfn abs_diff(short2, short2);9027ushort2 __ovld __cnfn abs_diff(ushort2, ushort2);9028ushort3 __ovld __cnfn abs_diff(short3, short3);9029ushort3 __ovld __cnfn abs_diff(ushort3, ushort3);9030ushort4 __ovld __cnfn abs_diff(short4, short4);9031ushort4 __ovld __cnfn abs_diff(ushort4, ushort4);9032ushort8 __ovld __cnfn abs_diff(short8, short8);9033ushort8 __ovld __cnfn abs_diff(ushort8, ushort8);9034ushort16 __ovld __cnfn abs_diff(short16, short16);9035ushort16 __ovld __cnfn abs_diff(ushort16, ushort16);9036uint __ovld __cnfn abs_diff(int, int);9037uint __ovld __cnfn abs_diff(uint, uint);9038uint2 __ovld __cnfn abs_diff(int2, int2);9039uint2 __ovld __cnfn abs_diff(uint2, uint2);9040uint3 __ovld __cnfn abs_diff(int3, int3);9041uint3 __ovld __cnfn abs_diff(uint3, uint3);9042uint4 __ovld __cnfn abs_diff(int4, int4);9043uint4 __ovld __cnfn abs_diff(uint4, uint4);9044uint8 __ovld __cnfn abs_diff(int8, int8);9045uint8 __ovld __cnfn abs_diff(uint8, uint8);9046uint16 __ovld __cnfn abs_diff(int16, int16);9047uint16 __ovld __cnfn abs_diff(uint16, uint16);9048ulong __ovld __cnfn abs_diff(long, long);9049ulong __ovld __cnfn abs_diff(ulong, ulong);9050ulong2 __ovld __cnfn abs_diff(long2, long2);9051ulong2 __ovld __cnfn abs_diff(ulong2, ulong2);9052ulong3 __ovld __cnfn abs_diff(long3, long3);9053ulong3 __ovld __cnfn abs_diff(ulong3, ulong3);9054ulong4 __ovld __cnfn abs_diff(long4, long4);9055ulong4 __ovld __cnfn abs_diff(ulong4, ulong4);9056ulong8 __ovld __cnfn abs_diff(long8, long8);9057ulong8 __ovld __cnfn abs_diff(ulong8, ulong8);9058ulong16 __ovld __cnfn abs_diff(long16, long16);9059ulong16 __ovld __cnfn abs_diff(ulong16, ulong16);9060 9061/**9062 * Returns x + y and saturates the result.9063 */9064char __ovld __cnfn add_sat(char, char);9065uchar __ovld __cnfn add_sat(uchar, uchar);9066char2 __ovld __cnfn add_sat(char2, char2);9067uchar2 __ovld __cnfn add_sat(uchar2, uchar2);9068char3 __ovld __cnfn add_sat(char3, char3);9069uchar3 __ovld __cnfn add_sat(uchar3, uchar3);9070char4 __ovld __cnfn add_sat(char4, char4);9071uchar4 __ovld __cnfn add_sat(uchar4, uchar4);9072char8 __ovld __cnfn add_sat(char8, char8);9073uchar8 __ovld __cnfn add_sat(uchar8, uchar8);9074char16 __ovld __cnfn add_sat(char16, char16);9075uchar16 __ovld __cnfn add_sat(uchar16, uchar16);9076short __ovld __cnfn add_sat(short, short);9077ushort __ovld __cnfn add_sat(ushort, ushort);9078short2 __ovld __cnfn add_sat(short2, short2);9079ushort2 __ovld __cnfn add_sat(ushort2, ushort2);9080short3 __ovld __cnfn add_sat(short3, short3);9081ushort3 __ovld __cnfn add_sat(ushort3, ushort3);9082short4 __ovld __cnfn add_sat(short4, short4);9083ushort4 __ovld __cnfn add_sat(ushort4, ushort4);9084short8 __ovld __cnfn add_sat(short8, short8);9085ushort8 __ovld __cnfn add_sat(ushort8, ushort8);9086short16 __ovld __cnfn add_sat(short16, short16);9087ushort16 __ovld __cnfn add_sat(ushort16, ushort16);9088int __ovld __cnfn add_sat(int, int);9089uint __ovld __cnfn add_sat(uint, uint);9090int2 __ovld __cnfn add_sat(int2, int2);9091uint2 __ovld __cnfn add_sat(uint2, uint2);9092int3 __ovld __cnfn add_sat(int3, int3);9093uint3 __ovld __cnfn add_sat(uint3, uint3);9094int4 __ovld __cnfn add_sat(int4, int4);9095uint4 __ovld __cnfn add_sat(uint4, uint4);9096int8 __ovld __cnfn add_sat(int8, int8);9097uint8 __ovld __cnfn add_sat(uint8, uint8);9098int16 __ovld __cnfn add_sat(int16, int16);9099uint16 __ovld __cnfn add_sat(uint16, uint16);9100long __ovld __cnfn add_sat(long, long);9101ulong __ovld __cnfn add_sat(ulong, ulong);9102long2 __ovld __cnfn add_sat(long2, long2);9103ulong2 __ovld __cnfn add_sat(ulong2, ulong2);9104long3 __ovld __cnfn add_sat(long3, long3);9105ulong3 __ovld __cnfn add_sat(ulong3, ulong3);9106long4 __ovld __cnfn add_sat(long4, long4);9107ulong4 __ovld __cnfn add_sat(ulong4, ulong4);9108long8 __ovld __cnfn add_sat(long8, long8);9109ulong8 __ovld __cnfn add_sat(ulong8, ulong8);9110long16 __ovld __cnfn add_sat(long16, long16);9111ulong16 __ovld __cnfn add_sat(ulong16, ulong16);9112 9113/**9114 * Returns (x + y) >> 1. The intermediate sum does9115 * not modulo overflow.9116 */9117char __ovld __cnfn hadd(char, char);9118uchar __ovld __cnfn hadd(uchar, uchar);9119char2 __ovld __cnfn hadd(char2, char2);9120uchar2 __ovld __cnfn hadd(uchar2, uchar2);9121char3 __ovld __cnfn hadd(char3, char3);9122uchar3 __ovld __cnfn hadd(uchar3, uchar3);9123char4 __ovld __cnfn hadd(char4, char4);9124uchar4 __ovld __cnfn hadd(uchar4, uchar4);9125char8 __ovld __cnfn hadd(char8, char8);9126uchar8 __ovld __cnfn hadd(uchar8, uchar8);9127char16 __ovld __cnfn hadd(char16, char16);9128uchar16 __ovld __cnfn hadd(uchar16, uchar16);9129short __ovld __cnfn hadd(short, short);9130ushort __ovld __cnfn hadd(ushort, ushort);9131short2 __ovld __cnfn hadd(short2, short2);9132ushort2 __ovld __cnfn hadd(ushort2, ushort2);9133short3 __ovld __cnfn hadd(short3, short3);9134ushort3 __ovld __cnfn hadd(ushort3, ushort3);9135short4 __ovld __cnfn hadd(short4, short4);9136ushort4 __ovld __cnfn hadd(ushort4, ushort4);9137short8 __ovld __cnfn hadd(short8, short8);9138ushort8 __ovld __cnfn hadd(ushort8, ushort8);9139short16 __ovld __cnfn hadd(short16, short16);9140ushort16 __ovld __cnfn hadd(ushort16, ushort16);9141int __ovld __cnfn hadd(int, int);9142uint __ovld __cnfn hadd(uint, uint);9143int2 __ovld __cnfn hadd(int2, int2);9144uint2 __ovld __cnfn hadd(uint2, uint2);9145int3 __ovld __cnfn hadd(int3, int3);9146uint3 __ovld __cnfn hadd(uint3, uint3);9147int4 __ovld __cnfn hadd(int4, int4);9148uint4 __ovld __cnfn hadd(uint4, uint4);9149int8 __ovld __cnfn hadd(int8, int8);9150uint8 __ovld __cnfn hadd(uint8, uint8);9151int16 __ovld __cnfn hadd(int16, int16);9152uint16 __ovld __cnfn hadd(uint16, uint16);9153long __ovld __cnfn hadd(long, long);9154ulong __ovld __cnfn hadd(ulong, ulong);9155long2 __ovld __cnfn hadd(long2, long2);9156ulong2 __ovld __cnfn hadd(ulong2, ulong2);9157long3 __ovld __cnfn hadd(long3, long3);9158ulong3 __ovld __cnfn hadd(ulong3, ulong3);9159long4 __ovld __cnfn hadd(long4, long4);9160ulong4 __ovld __cnfn hadd(ulong4, ulong4);9161long8 __ovld __cnfn hadd(long8, long8);9162ulong8 __ovld __cnfn hadd(ulong8, ulong8);9163long16 __ovld __cnfn hadd(long16, long16);9164ulong16 __ovld __cnfn hadd(ulong16, ulong16);9165 9166/**9167 * Returns (x + y + 1) >> 1. The intermediate sum9168 * does not modulo overflow.9169 */9170char __ovld __cnfn rhadd(char, char);9171uchar __ovld __cnfn rhadd(uchar, uchar);9172char2 __ovld __cnfn rhadd(char2, char2);9173uchar2 __ovld __cnfn rhadd(uchar2, uchar2);9174char3 __ovld __cnfn rhadd(char3, char3);9175uchar3 __ovld __cnfn rhadd(uchar3, uchar3);9176char4 __ovld __cnfn rhadd(char4, char4);9177uchar4 __ovld __cnfn rhadd(uchar4, uchar4);9178char8 __ovld __cnfn rhadd(char8, char8);9179uchar8 __ovld __cnfn rhadd(uchar8, uchar8);9180char16 __ovld __cnfn rhadd(char16, char16);9181uchar16 __ovld __cnfn rhadd(uchar16, uchar16);9182short __ovld __cnfn rhadd(short, short);9183ushort __ovld __cnfn rhadd(ushort, ushort);9184short2 __ovld __cnfn rhadd(short2, short2);9185ushort2 __ovld __cnfn rhadd(ushort2, ushort2);9186short3 __ovld __cnfn rhadd(short3, short3);9187ushort3 __ovld __cnfn rhadd(ushort3, ushort3);9188short4 __ovld __cnfn rhadd(short4, short4);9189ushort4 __ovld __cnfn rhadd(ushort4, ushort4);9190short8 __ovld __cnfn rhadd(short8, short8);9191ushort8 __ovld __cnfn rhadd(ushort8, ushort8);9192short16 __ovld __cnfn rhadd(short16, short16);9193ushort16 __ovld __cnfn rhadd(ushort16, ushort16);9194int __ovld __cnfn rhadd(int, int);9195uint __ovld __cnfn rhadd(uint, uint);9196int2 __ovld __cnfn rhadd(int2, int2);9197uint2 __ovld __cnfn rhadd(uint2, uint2);9198int3 __ovld __cnfn rhadd(int3, int3);9199uint3 __ovld __cnfn rhadd(uint3, uint3);9200int4 __ovld __cnfn rhadd(int4, int4);9201uint4 __ovld __cnfn rhadd(uint4, uint4);9202int8 __ovld __cnfn rhadd(int8, int8);9203uint8 __ovld __cnfn rhadd(uint8, uint8);9204int16 __ovld __cnfn rhadd(int16, int16);9205uint16 __ovld __cnfn rhadd(uint16, uint16);9206long __ovld __cnfn rhadd(long, long);9207ulong __ovld __cnfn rhadd(ulong, ulong);9208long2 __ovld __cnfn rhadd(long2, long2);9209ulong2 __ovld __cnfn rhadd(ulong2, ulong2);9210long3 __ovld __cnfn rhadd(long3, long3);9211ulong3 __ovld __cnfn rhadd(ulong3, ulong3);9212long4 __ovld __cnfn rhadd(long4, long4);9213ulong4 __ovld __cnfn rhadd(ulong4, ulong4);9214long8 __ovld __cnfn rhadd(long8, long8);9215ulong8 __ovld __cnfn rhadd(ulong8, ulong8);9216long16 __ovld __cnfn rhadd(long16, long16);9217ulong16 __ovld __cnfn rhadd(ulong16, ulong16);9218 9219/**9220 * Returns min(max(x, minval), maxval).9221 * Results are undefined if minval > maxval.9222 */9223char __ovld __cnfn clamp(char, char, char);9224uchar __ovld __cnfn clamp(uchar, uchar, uchar);9225char2 __ovld __cnfn clamp(char2, char2, char2);9226uchar2 __ovld __cnfn clamp(uchar2, uchar2, uchar2);9227char3 __ovld __cnfn clamp(char3, char3, char3);9228uchar3 __ovld __cnfn clamp(uchar3, uchar3, uchar3);9229char4 __ovld __cnfn clamp(char4, char4, char4);9230uchar4 __ovld __cnfn clamp(uchar4, uchar4, uchar4);9231char8 __ovld __cnfn clamp(char8, char8, char8);9232uchar8 __ovld __cnfn clamp(uchar8, uchar8, uchar8);9233char16 __ovld __cnfn clamp(char16, char16, char16);9234uchar16 __ovld __cnfn clamp(uchar16, uchar16, uchar16);9235short __ovld __cnfn clamp(short, short, short);9236ushort __ovld __cnfn clamp(ushort, ushort, ushort);9237short2 __ovld __cnfn clamp(short2, short2, short2);9238ushort2 __ovld __cnfn clamp(ushort2, ushort2, ushort2);9239short3 __ovld __cnfn clamp(short3, short3, short3);9240ushort3 __ovld __cnfn clamp(ushort3, ushort3, ushort3);9241short4 __ovld __cnfn clamp(short4, short4, short4);9242ushort4 __ovld __cnfn clamp(ushort4, ushort4, ushort4);9243short8 __ovld __cnfn clamp(short8, short8, short8);9244ushort8 __ovld __cnfn clamp(ushort8, ushort8, ushort8);9245short16 __ovld __cnfn clamp(short16, short16, short16);9246ushort16 __ovld __cnfn clamp(ushort16, ushort16, ushort16);9247int __ovld __cnfn clamp(int, int, int);9248uint __ovld __cnfn clamp(uint, uint, uint);9249int2 __ovld __cnfn clamp(int2, int2, int2);9250uint2 __ovld __cnfn clamp(uint2, uint2, uint2);9251int3 __ovld __cnfn clamp(int3, int3, int3);9252uint3 __ovld __cnfn clamp(uint3, uint3, uint3);9253int4 __ovld __cnfn clamp(int4, int4, int4);9254uint4 __ovld __cnfn clamp(uint4, uint4, uint4);9255int8 __ovld __cnfn clamp(int8, int8, int8);9256uint8 __ovld __cnfn clamp(uint8, uint8, uint8);9257int16 __ovld __cnfn clamp(int16, int16, int16);9258uint16 __ovld __cnfn clamp(uint16, uint16, uint16);9259long __ovld __cnfn clamp(long, long, long);9260ulong __ovld __cnfn clamp(ulong, ulong, ulong);9261long2 __ovld __cnfn clamp(long2, long2, long2);9262ulong2 __ovld __cnfn clamp(ulong2, ulong2, ulong2);9263long3 __ovld __cnfn clamp(long3, long3, long3);9264ulong3 __ovld __cnfn clamp(ulong3, ulong3, ulong3);9265long4 __ovld __cnfn clamp(long4, long4, long4);9266ulong4 __ovld __cnfn clamp(ulong4, ulong4, ulong4);9267long8 __ovld __cnfn clamp(long8, long8, long8);9268ulong8 __ovld __cnfn clamp(ulong8, ulong8, ulong8);9269long16 __ovld __cnfn clamp(long16, long16, long16);9270ulong16 __ovld __cnfn clamp(ulong16, ulong16, ulong16);9271char2 __ovld __cnfn clamp(char2, char, char);9272uchar2 __ovld __cnfn clamp(uchar2, uchar, uchar);9273char3 __ovld __cnfn clamp(char3, char, char);9274uchar3 __ovld __cnfn clamp(uchar3, uchar, uchar);9275char4 __ovld __cnfn clamp(char4, char, char);9276uchar4 __ovld __cnfn clamp(uchar4, uchar, uchar);9277char8 __ovld __cnfn clamp(char8, char, char);9278uchar8 __ovld __cnfn clamp(uchar8, uchar, uchar);9279char16 __ovld __cnfn clamp(char16, char, char);9280uchar16 __ovld __cnfn clamp(uchar16, uchar, uchar);9281short2 __ovld __cnfn clamp(short2, short, short);9282ushort2 __ovld __cnfn clamp(ushort2, ushort, ushort);9283short3 __ovld __cnfn clamp(short3, short, short);9284ushort3 __ovld __cnfn clamp(ushort3, ushort, ushort);9285short4 __ovld __cnfn clamp(short4, short, short);9286ushort4 __ovld __cnfn clamp(ushort4, ushort, ushort);9287short8 __ovld __cnfn clamp(short8, short, short);9288ushort8 __ovld __cnfn clamp(ushort8, ushort, ushort);9289short16 __ovld __cnfn clamp(short16, short, short);9290ushort16 __ovld __cnfn clamp(ushort16, ushort, ushort);9291int2 __ovld __cnfn clamp(int2, int, int);9292uint2 __ovld __cnfn clamp(uint2, uint, uint);9293int3 __ovld __cnfn clamp(int3, int, int);9294uint3 __ovld __cnfn clamp(uint3, uint, uint);9295int4 __ovld __cnfn clamp(int4, int, int);9296uint4 __ovld __cnfn clamp(uint4, uint, uint);9297int8 __ovld __cnfn clamp(int8, int, int);9298uint8 __ovld __cnfn clamp(uint8, uint, uint);9299int16 __ovld __cnfn clamp(int16, int, int);9300uint16 __ovld __cnfn clamp(uint16, uint, uint);9301long2 __ovld __cnfn clamp(long2, long, long);9302ulong2 __ovld __cnfn clamp(ulong2, ulong, ulong);9303long3 __ovld __cnfn clamp(long3, long, long);9304ulong3 __ovld __cnfn clamp(ulong3, ulong, ulong);9305long4 __ovld __cnfn clamp(long4, long, long);9306ulong4 __ovld __cnfn clamp(ulong4, ulong, ulong);9307long8 __ovld __cnfn clamp(long8, long, long);9308ulong8 __ovld __cnfn clamp(ulong8, ulong, ulong);9309long16 __ovld __cnfn clamp(long16, long, long);9310ulong16 __ovld __cnfn clamp(ulong16, ulong, ulong);9311 9312/**9313 * Returns the number of leading 0-bits in x, starting9314 * at the most significant bit position.9315 */9316char __ovld __cnfn clz(char);9317uchar __ovld __cnfn clz(uchar);9318char2 __ovld __cnfn clz(char2);9319uchar2 __ovld __cnfn clz(uchar2);9320char3 __ovld __cnfn clz(char3);9321uchar3 __ovld __cnfn clz(uchar3);9322char4 __ovld __cnfn clz(char4);9323uchar4 __ovld __cnfn clz(uchar4);9324char8 __ovld __cnfn clz(char8);9325uchar8 __ovld __cnfn clz(uchar8);9326char16 __ovld __cnfn clz(char16);9327uchar16 __ovld __cnfn clz(uchar16);9328short __ovld __cnfn clz(short);9329ushort __ovld __cnfn clz(ushort);9330short2 __ovld __cnfn clz(short2);9331ushort2 __ovld __cnfn clz(ushort2);9332short3 __ovld __cnfn clz(short3);9333ushort3 __ovld __cnfn clz(ushort3);9334short4 __ovld __cnfn clz(short4);9335ushort4 __ovld __cnfn clz(ushort4);9336short8 __ovld __cnfn clz(short8);9337ushort8 __ovld __cnfn clz(ushort8);9338short16 __ovld __cnfn clz(short16);9339ushort16 __ovld __cnfn clz(ushort16);9340int __ovld __cnfn clz(int);9341uint __ovld __cnfn clz(uint);9342int2 __ovld __cnfn clz(int2);9343uint2 __ovld __cnfn clz(uint2);9344int3 __ovld __cnfn clz(int3);9345uint3 __ovld __cnfn clz(uint3);9346int4 __ovld __cnfn clz(int4);9347uint4 __ovld __cnfn clz(uint4);9348int8 __ovld __cnfn clz(int8);9349uint8 __ovld __cnfn clz(uint8);9350int16 __ovld __cnfn clz(int16);9351uint16 __ovld __cnfn clz(uint16);9352long __ovld __cnfn clz(long);9353ulong __ovld __cnfn clz(ulong);9354long2 __ovld __cnfn clz(long2);9355ulong2 __ovld __cnfn clz(ulong2);9356long3 __ovld __cnfn clz(long3);9357ulong3 __ovld __cnfn clz(ulong3);9358long4 __ovld __cnfn clz(long4);9359ulong4 __ovld __cnfn clz(ulong4);9360long8 __ovld __cnfn clz(long8);9361ulong8 __ovld __cnfn clz(ulong8);9362long16 __ovld __cnfn clz(long16);9363ulong16 __ovld __cnfn clz(ulong16);9364 9365/**9366 * Returns the count of trailing 0-bits in x. If x is 0,9367 * returns the size in bits of the type of x or9368 * component type of x, if x is a vector.9369 */9370#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)9371char __ovld __cnfn ctz(char);9372uchar __ovld __cnfn ctz(uchar);9373char2 __ovld __cnfn ctz(char2);9374uchar2 __ovld __cnfn ctz(uchar2);9375char3 __ovld __cnfn ctz(char3);9376uchar3 __ovld __cnfn ctz(uchar3);9377char4 __ovld __cnfn ctz(char4);9378uchar4 __ovld __cnfn ctz(uchar4);9379char8 __ovld __cnfn ctz(char8);9380uchar8 __ovld __cnfn ctz(uchar8);9381char16 __ovld __cnfn ctz(char16);9382uchar16 __ovld __cnfn ctz(uchar16);9383short __ovld __cnfn ctz(short);9384ushort __ovld __cnfn ctz(ushort);9385short2 __ovld __cnfn ctz(short2);9386ushort2 __ovld __cnfn ctz(ushort2);9387short3 __ovld __cnfn ctz(short3);9388ushort3 __ovld __cnfn ctz(ushort3);9389short4 __ovld __cnfn ctz(short4);9390ushort4 __ovld __cnfn ctz(ushort4);9391short8 __ovld __cnfn ctz(short8);9392ushort8 __ovld __cnfn ctz(ushort8);9393short16 __ovld __cnfn ctz(short16);9394ushort16 __ovld __cnfn ctz(ushort16);9395int __ovld __cnfn ctz(int);9396uint __ovld __cnfn ctz(uint);9397int2 __ovld __cnfn ctz(int2);9398uint2 __ovld __cnfn ctz(uint2);9399int3 __ovld __cnfn ctz(int3);9400uint3 __ovld __cnfn ctz(uint3);9401int4 __ovld __cnfn ctz(int4);9402uint4 __ovld __cnfn ctz(uint4);9403int8 __ovld __cnfn ctz(int8);9404uint8 __ovld __cnfn ctz(uint8);9405int16 __ovld __cnfn ctz(int16);9406uint16 __ovld __cnfn ctz(uint16);9407long __ovld __cnfn ctz(long);9408ulong __ovld __cnfn ctz(ulong);9409long2 __ovld __cnfn ctz(long2);9410ulong2 __ovld __cnfn ctz(ulong2);9411long3 __ovld __cnfn ctz(long3);9412ulong3 __ovld __cnfn ctz(ulong3);9413long4 __ovld __cnfn ctz(long4);9414ulong4 __ovld __cnfn ctz(ulong4);9415long8 __ovld __cnfn ctz(long8);9416ulong8 __ovld __cnfn ctz(ulong8);9417long16 __ovld __cnfn ctz(long16);9418ulong16 __ovld __cnfn ctz(ulong16);9419#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)9420 9421/**9422 * Returns mul_hi(a, b) + c.9423 */9424char __ovld __cnfn mad_hi(char, char, char);9425uchar __ovld __cnfn mad_hi(uchar, uchar, uchar);9426char2 __ovld __cnfn mad_hi(char2, char2, char2);9427uchar2 __ovld __cnfn mad_hi(uchar2, uchar2, uchar2);9428char3 __ovld __cnfn mad_hi(char3, char3, char3);9429uchar3 __ovld __cnfn mad_hi(uchar3, uchar3, uchar3);9430char4 __ovld __cnfn mad_hi(char4, char4, char4);9431uchar4 __ovld __cnfn mad_hi(uchar4, uchar4, uchar4);9432char8 __ovld __cnfn mad_hi(char8, char8, char8);9433uchar8 __ovld __cnfn mad_hi(uchar8, uchar8, uchar8);9434char16 __ovld __cnfn mad_hi(char16, char16, char16);9435uchar16 __ovld __cnfn mad_hi(uchar16, uchar16, uchar16);9436short __ovld __cnfn mad_hi(short, short, short);9437ushort __ovld __cnfn mad_hi(ushort, ushort, ushort);9438short2 __ovld __cnfn mad_hi(short2, short2, short2);9439ushort2 __ovld __cnfn mad_hi(ushort2, ushort2, ushort2);9440short3 __ovld __cnfn mad_hi(short3, short3, short3);9441ushort3 __ovld __cnfn mad_hi(ushort3, ushort3, ushort3);9442short4 __ovld __cnfn mad_hi(short4, short4, short4);9443ushort4 __ovld __cnfn mad_hi(ushort4, ushort4, ushort4);9444short8 __ovld __cnfn mad_hi(short8, short8, short8);9445ushort8 __ovld __cnfn mad_hi(ushort8, ushort8, ushort8);9446short16 __ovld __cnfn mad_hi(short16, short16, short16);9447ushort16 __ovld __cnfn mad_hi(ushort16, ushort16, ushort16);9448int __ovld __cnfn mad_hi(int, int, int);9449uint __ovld __cnfn mad_hi(uint, uint, uint);9450int2 __ovld __cnfn mad_hi(int2, int2, int2);9451uint2 __ovld __cnfn mad_hi(uint2, uint2, uint2);9452int3 __ovld __cnfn mad_hi(int3, int3, int3);9453uint3 __ovld __cnfn mad_hi(uint3, uint3, uint3);9454int4 __ovld __cnfn mad_hi(int4, int4, int4);9455uint4 __ovld __cnfn mad_hi(uint4, uint4, uint4);9456int8 __ovld __cnfn mad_hi(int8, int8, int8);9457uint8 __ovld __cnfn mad_hi(uint8, uint8, uint8);9458int16 __ovld __cnfn mad_hi(int16, int16, int16);9459uint16 __ovld __cnfn mad_hi(uint16, uint16, uint16);9460long __ovld __cnfn mad_hi(long, long, long);9461ulong __ovld __cnfn mad_hi(ulong, ulong, ulong);9462long2 __ovld __cnfn mad_hi(long2, long2, long2);9463ulong2 __ovld __cnfn mad_hi(ulong2, ulong2, ulong2);9464long3 __ovld __cnfn mad_hi(long3, long3, long3);9465ulong3 __ovld __cnfn mad_hi(ulong3, ulong3, ulong3);9466long4 __ovld __cnfn mad_hi(long4, long4, long4);9467ulong4 __ovld __cnfn mad_hi(ulong4, ulong4, ulong4);9468long8 __ovld __cnfn mad_hi(long8, long8, long8);9469ulong8 __ovld __cnfn mad_hi(ulong8, ulong8, ulong8);9470long16 __ovld __cnfn mad_hi(long16, long16, long16);9471ulong16 __ovld __cnfn mad_hi(ulong16, ulong16, ulong16);9472 9473/**9474 * Returns a * b + c and saturates the result.9475 */9476char __ovld __cnfn mad_sat(char, char, char);9477uchar __ovld __cnfn mad_sat(uchar, uchar, uchar);9478char2 __ovld __cnfn mad_sat(char2, char2, char2);9479uchar2 __ovld __cnfn mad_sat(uchar2, uchar2, uchar2);9480char3 __ovld __cnfn mad_sat(char3, char3, char3);9481uchar3 __ovld __cnfn mad_sat(uchar3, uchar3, uchar3);9482char4 __ovld __cnfn mad_sat(char4, char4, char4);9483uchar4 __ovld __cnfn mad_sat(uchar4, uchar4, uchar4);9484char8 __ovld __cnfn mad_sat(char8, char8, char8);9485uchar8 __ovld __cnfn mad_sat(uchar8, uchar8, uchar8);9486char16 __ovld __cnfn mad_sat(char16, char16, char16);9487uchar16 __ovld __cnfn mad_sat(uchar16, uchar16, uchar16);9488short __ovld __cnfn mad_sat(short, short, short);9489ushort __ovld __cnfn mad_sat(ushort, ushort, ushort);9490short2 __ovld __cnfn mad_sat(short2, short2, short2);9491ushort2 __ovld __cnfn mad_sat(ushort2, ushort2, ushort2);9492short3 __ovld __cnfn mad_sat(short3, short3, short3);9493ushort3 __ovld __cnfn mad_sat(ushort3, ushort3, ushort3);9494short4 __ovld __cnfn mad_sat(short4, short4, short4);9495ushort4 __ovld __cnfn mad_sat(ushort4, ushort4, ushort4);9496short8 __ovld __cnfn mad_sat(short8, short8, short8);9497ushort8 __ovld __cnfn mad_sat(ushort8, ushort8, ushort8);9498short16 __ovld __cnfn mad_sat(short16, short16, short16);9499ushort16 __ovld __cnfn mad_sat(ushort16, ushort16, ushort16);9500int __ovld __cnfn mad_sat(int, int, int);9501uint __ovld __cnfn mad_sat(uint, uint, uint);9502int2 __ovld __cnfn mad_sat(int2, int2, int2);9503uint2 __ovld __cnfn mad_sat(uint2, uint2, uint2);9504int3 __ovld __cnfn mad_sat(int3, int3, int3);9505uint3 __ovld __cnfn mad_sat(uint3, uint3, uint3);9506int4 __ovld __cnfn mad_sat(int4, int4, int4);9507uint4 __ovld __cnfn mad_sat(uint4, uint4, uint4);9508int8 __ovld __cnfn mad_sat(int8, int8, int8);9509uint8 __ovld __cnfn mad_sat(uint8, uint8, uint8);9510int16 __ovld __cnfn mad_sat(int16, int16, int16);9511uint16 __ovld __cnfn mad_sat(uint16, uint16, uint16);9512long __ovld __cnfn mad_sat(long, long, long);9513ulong __ovld __cnfn mad_sat(ulong, ulong, ulong);9514long2 __ovld __cnfn mad_sat(long2, long2, long2);9515ulong2 __ovld __cnfn mad_sat(ulong2, ulong2, ulong2);9516long3 __ovld __cnfn mad_sat(long3, long3, long3);9517ulong3 __ovld __cnfn mad_sat(ulong3, ulong3, ulong3);9518long4 __ovld __cnfn mad_sat(long4, long4, long4);9519ulong4 __ovld __cnfn mad_sat(ulong4, ulong4, ulong4);9520long8 __ovld __cnfn mad_sat(long8, long8, long8);9521ulong8 __ovld __cnfn mad_sat(ulong8, ulong8, ulong8);9522long16 __ovld __cnfn mad_sat(long16, long16, long16);9523ulong16 __ovld __cnfn mad_sat(ulong16, ulong16, ulong16);9524 9525/**9526 * Returns y if x < y, otherwise it returns x.9527 */9528char __ovld __cnfn max(char, char);9529uchar __ovld __cnfn max(uchar, uchar);9530char2 __ovld __cnfn max(char2, char2);9531uchar2 __ovld __cnfn max(uchar2, uchar2);9532char3 __ovld __cnfn max(char3, char3);9533uchar3 __ovld __cnfn max(uchar3, uchar3);9534char4 __ovld __cnfn max(char4, char4);9535uchar4 __ovld __cnfn max(uchar4, uchar4);9536char8 __ovld __cnfn max(char8, char8);9537uchar8 __ovld __cnfn max(uchar8, uchar8);9538char16 __ovld __cnfn max(char16, char16);9539uchar16 __ovld __cnfn max(uchar16, uchar16);9540short __ovld __cnfn max(short, short);9541ushort __ovld __cnfn max(ushort, ushort);9542short2 __ovld __cnfn max(short2, short2);9543ushort2 __ovld __cnfn max(ushort2, ushort2);9544short3 __ovld __cnfn max(short3, short3);9545ushort3 __ovld __cnfn max(ushort3, ushort3);9546short4 __ovld __cnfn max(short4, short4);9547ushort4 __ovld __cnfn max(ushort4, ushort4);9548short8 __ovld __cnfn max(short8, short8);9549ushort8 __ovld __cnfn max(ushort8, ushort8);9550short16 __ovld __cnfn max(short16, short16);9551ushort16 __ovld __cnfn max(ushort16, ushort16);9552int __ovld __cnfn max(int, int);9553uint __ovld __cnfn max(uint, uint);9554int2 __ovld __cnfn max(int2, int2);9555uint2 __ovld __cnfn max(uint2, uint2);9556int3 __ovld __cnfn max(int3, int3);9557uint3 __ovld __cnfn max(uint3, uint3);9558int4 __ovld __cnfn max(int4, int4);9559uint4 __ovld __cnfn max(uint4, uint4);9560int8 __ovld __cnfn max(int8, int8);9561uint8 __ovld __cnfn max(uint8, uint8);9562int16 __ovld __cnfn max(int16, int16);9563uint16 __ovld __cnfn max(uint16, uint16);9564long __ovld __cnfn max(long, long);9565ulong __ovld __cnfn max(ulong, ulong);9566long2 __ovld __cnfn max(long2, long2);9567ulong2 __ovld __cnfn max(ulong2, ulong2);9568long3 __ovld __cnfn max(long3, long3);9569ulong3 __ovld __cnfn max(ulong3, ulong3);9570long4 __ovld __cnfn max(long4, long4);9571ulong4 __ovld __cnfn max(ulong4, ulong4);9572long8 __ovld __cnfn max(long8, long8);9573ulong8 __ovld __cnfn max(ulong8, ulong8);9574long16 __ovld __cnfn max(long16, long16);9575ulong16 __ovld __cnfn max(ulong16, ulong16);9576char2 __ovld __cnfn max(char2, char);9577uchar2 __ovld __cnfn max(uchar2, uchar);9578char3 __ovld __cnfn max(char3, char);9579uchar3 __ovld __cnfn max(uchar3, uchar);9580char4 __ovld __cnfn max(char4, char);9581uchar4 __ovld __cnfn max(uchar4, uchar);9582char8 __ovld __cnfn max(char8, char);9583uchar8 __ovld __cnfn max(uchar8, uchar);9584char16 __ovld __cnfn max(char16, char);9585uchar16 __ovld __cnfn max(uchar16, uchar);9586short2 __ovld __cnfn max(short2, short);9587ushort2 __ovld __cnfn max(ushort2, ushort);9588short3 __ovld __cnfn max(short3, short);9589ushort3 __ovld __cnfn max(ushort3, ushort);9590short4 __ovld __cnfn max(short4, short);9591ushort4 __ovld __cnfn max(ushort4, ushort);9592short8 __ovld __cnfn max(short8, short);9593ushort8 __ovld __cnfn max(ushort8, ushort);9594short16 __ovld __cnfn max(short16, short);9595ushort16 __ovld __cnfn max(ushort16, ushort);9596int2 __ovld __cnfn max(int2, int);9597uint2 __ovld __cnfn max(uint2, uint);9598int3 __ovld __cnfn max(int3, int);9599uint3 __ovld __cnfn max(uint3, uint);9600int4 __ovld __cnfn max(int4, int);9601uint4 __ovld __cnfn max(uint4, uint);9602int8 __ovld __cnfn max(int8, int);9603uint8 __ovld __cnfn max(uint8, uint);9604int16 __ovld __cnfn max(int16, int);9605uint16 __ovld __cnfn max(uint16, uint);9606long2 __ovld __cnfn max(long2, long);9607ulong2 __ovld __cnfn max(ulong2, ulong);9608long3 __ovld __cnfn max(long3, long);9609ulong3 __ovld __cnfn max(ulong3, ulong);9610long4 __ovld __cnfn max(long4, long);9611ulong4 __ovld __cnfn max(ulong4, ulong);9612long8 __ovld __cnfn max(long8, long);9613ulong8 __ovld __cnfn max(ulong8, ulong);9614long16 __ovld __cnfn max(long16, long);9615ulong16 __ovld __cnfn max(ulong16, ulong);9616 9617/**9618 * Returns y if y < x, otherwise it returns x.9619 */9620char __ovld __cnfn min(char, char);9621uchar __ovld __cnfn min(uchar, uchar);9622char2 __ovld __cnfn min(char2, char2);9623uchar2 __ovld __cnfn min(uchar2, uchar2);9624char3 __ovld __cnfn min(char3, char3);9625uchar3 __ovld __cnfn min(uchar3, uchar3);9626char4 __ovld __cnfn min(char4, char4);9627uchar4 __ovld __cnfn min(uchar4, uchar4);9628char8 __ovld __cnfn min(char8, char8);9629uchar8 __ovld __cnfn min(uchar8, uchar8);9630char16 __ovld __cnfn min(char16, char16);9631uchar16 __ovld __cnfn min(uchar16, uchar16);9632short __ovld __cnfn min(short, short);9633ushort __ovld __cnfn min(ushort, ushort);9634short2 __ovld __cnfn min(short2, short2);9635ushort2 __ovld __cnfn min(ushort2, ushort2);9636short3 __ovld __cnfn min(short3, short3);9637ushort3 __ovld __cnfn min(ushort3, ushort3);9638short4 __ovld __cnfn min(short4, short4);9639ushort4 __ovld __cnfn min(ushort4, ushort4);9640short8 __ovld __cnfn min(short8, short8);9641ushort8 __ovld __cnfn min(ushort8, ushort8);9642short16 __ovld __cnfn min(short16, short16);9643ushort16 __ovld __cnfn min(ushort16, ushort16);9644int __ovld __cnfn min(int, int);9645uint __ovld __cnfn min(uint, uint);9646int2 __ovld __cnfn min(int2, int2);9647uint2 __ovld __cnfn min(uint2, uint2);9648int3 __ovld __cnfn min(int3, int3);9649uint3 __ovld __cnfn min(uint3, uint3);9650int4 __ovld __cnfn min(int4, int4);9651uint4 __ovld __cnfn min(uint4, uint4);9652int8 __ovld __cnfn min(int8, int8);9653uint8 __ovld __cnfn min(uint8, uint8);9654int16 __ovld __cnfn min(int16, int16);9655uint16 __ovld __cnfn min(uint16, uint16);9656long __ovld __cnfn min(long, long);9657ulong __ovld __cnfn min(ulong, ulong);9658long2 __ovld __cnfn min(long2, long2);9659ulong2 __ovld __cnfn min(ulong2, ulong2);9660long3 __ovld __cnfn min(long3, long3);9661ulong3 __ovld __cnfn min(ulong3, ulong3);9662long4 __ovld __cnfn min(long4, long4);9663ulong4 __ovld __cnfn min(ulong4, ulong4);9664long8 __ovld __cnfn min(long8, long8);9665ulong8 __ovld __cnfn min(ulong8, ulong8);9666long16 __ovld __cnfn min(long16, long16);9667ulong16 __ovld __cnfn min(ulong16, ulong16);9668char2 __ovld __cnfn min(char2, char);9669uchar2 __ovld __cnfn min(uchar2, uchar);9670char3 __ovld __cnfn min(char3, char);9671uchar3 __ovld __cnfn min(uchar3, uchar);9672char4 __ovld __cnfn min(char4, char);9673uchar4 __ovld __cnfn min(uchar4, uchar);9674char8 __ovld __cnfn min(char8, char);9675uchar8 __ovld __cnfn min(uchar8, uchar);9676char16 __ovld __cnfn min(char16, char);9677uchar16 __ovld __cnfn min(uchar16, uchar);9678short2 __ovld __cnfn min(short2, short);9679ushort2 __ovld __cnfn min(ushort2, ushort);9680short3 __ovld __cnfn min(short3, short);9681ushort3 __ovld __cnfn min(ushort3, ushort);9682short4 __ovld __cnfn min(short4, short);9683ushort4 __ovld __cnfn min(ushort4, ushort);9684short8 __ovld __cnfn min(short8, short);9685ushort8 __ovld __cnfn min(ushort8, ushort);9686short16 __ovld __cnfn min(short16, short);9687ushort16 __ovld __cnfn min(ushort16, ushort);9688int2 __ovld __cnfn min(int2, int);9689uint2 __ovld __cnfn min(uint2, uint);9690int3 __ovld __cnfn min(int3, int);9691uint3 __ovld __cnfn min(uint3, uint);9692int4 __ovld __cnfn min(int4, int);9693uint4 __ovld __cnfn min(uint4, uint);9694int8 __ovld __cnfn min(int8, int);9695uint8 __ovld __cnfn min(uint8, uint);9696int16 __ovld __cnfn min(int16, int);9697uint16 __ovld __cnfn min(uint16, uint);9698long2 __ovld __cnfn min(long2, long);9699ulong2 __ovld __cnfn min(ulong2, ulong);9700long3 __ovld __cnfn min(long3, long);9701ulong3 __ovld __cnfn min(ulong3, ulong);9702long4 __ovld __cnfn min(long4, long);9703ulong4 __ovld __cnfn min(ulong4, ulong);9704long8 __ovld __cnfn min(long8, long);9705ulong8 __ovld __cnfn min(ulong8, ulong);9706long16 __ovld __cnfn min(long16, long);9707ulong16 __ovld __cnfn min(ulong16, ulong);9708 9709/**9710 * Computes x * y and returns the high half of the9711 * product of x and y.9712 */9713char __ovld __cnfn mul_hi(char, char);9714uchar __ovld __cnfn mul_hi(uchar, uchar);9715char2 __ovld __cnfn mul_hi(char2, char2);9716uchar2 __ovld __cnfn mul_hi(uchar2, uchar2);9717char3 __ovld __cnfn mul_hi(char3, char3);9718uchar3 __ovld __cnfn mul_hi(uchar3, uchar3);9719char4 __ovld __cnfn mul_hi(char4, char4);9720uchar4 __ovld __cnfn mul_hi(uchar4, uchar4);9721char8 __ovld __cnfn mul_hi(char8, char8);9722uchar8 __ovld __cnfn mul_hi(uchar8, uchar8);9723char16 __ovld __cnfn mul_hi(char16, char16);9724uchar16 __ovld __cnfn mul_hi(uchar16, uchar16);9725short __ovld __cnfn mul_hi(short, short);9726ushort __ovld __cnfn mul_hi(ushort, ushort);9727short2 __ovld __cnfn mul_hi(short2, short2);9728ushort2 __ovld __cnfn mul_hi(ushort2, ushort2);9729short3 __ovld __cnfn mul_hi(short3, short3);9730ushort3 __ovld __cnfn mul_hi(ushort3, ushort3);9731short4 __ovld __cnfn mul_hi(short4, short4);9732ushort4 __ovld __cnfn mul_hi(ushort4, ushort4);9733short8 __ovld __cnfn mul_hi(short8, short8);9734ushort8 __ovld __cnfn mul_hi(ushort8, ushort8);9735short16 __ovld __cnfn mul_hi(short16, short16);9736ushort16 __ovld __cnfn mul_hi(ushort16, ushort16);9737int __ovld __cnfn mul_hi(int, int);9738uint __ovld __cnfn mul_hi(uint, uint);9739int2 __ovld __cnfn mul_hi(int2, int2);9740uint2 __ovld __cnfn mul_hi(uint2, uint2);9741int3 __ovld __cnfn mul_hi(int3, int3);9742uint3 __ovld __cnfn mul_hi(uint3, uint3);9743int4 __ovld __cnfn mul_hi(int4, int4);9744uint4 __ovld __cnfn mul_hi(uint4, uint4);9745int8 __ovld __cnfn mul_hi(int8, int8);9746uint8 __ovld __cnfn mul_hi(uint8, uint8);9747int16 __ovld __cnfn mul_hi(int16, int16);9748uint16 __ovld __cnfn mul_hi(uint16, uint16);9749long __ovld __cnfn mul_hi(long, long);9750ulong __ovld __cnfn mul_hi(ulong, ulong);9751long2 __ovld __cnfn mul_hi(long2, long2);9752ulong2 __ovld __cnfn mul_hi(ulong2, ulong2);9753long3 __ovld __cnfn mul_hi(long3, long3);9754ulong3 __ovld __cnfn mul_hi(ulong3, ulong3);9755long4 __ovld __cnfn mul_hi(long4, long4);9756ulong4 __ovld __cnfn mul_hi(ulong4, ulong4);9757long8 __ovld __cnfn mul_hi(long8, long8);9758ulong8 __ovld __cnfn mul_hi(ulong8, ulong8);9759long16 __ovld __cnfn mul_hi(long16, long16);9760ulong16 __ovld __cnfn mul_hi(ulong16, ulong16);9761 9762/**9763 * For each element in v, the bits are shifted left by9764 * the number of bits given by the corresponding9765 * element in i (subject to usual shift modulo rules9766 * described in section 6.3). Bits shifted off the left9767 * side of the element are shifted back in from the9768 * right.9769 */9770char __ovld __cnfn rotate(char, char);9771uchar __ovld __cnfn rotate(uchar, uchar);9772char2 __ovld __cnfn rotate(char2, char2);9773uchar2 __ovld __cnfn rotate(uchar2, uchar2);9774char3 __ovld __cnfn rotate(char3, char3);9775uchar3 __ovld __cnfn rotate(uchar3, uchar3);9776char4 __ovld __cnfn rotate(char4, char4);9777uchar4 __ovld __cnfn rotate(uchar4, uchar4);9778char8 __ovld __cnfn rotate(char8, char8);9779uchar8 __ovld __cnfn rotate(uchar8, uchar8);9780char16 __ovld __cnfn rotate(char16, char16);9781uchar16 __ovld __cnfn rotate(uchar16, uchar16);9782short __ovld __cnfn rotate(short, short);9783ushort __ovld __cnfn rotate(ushort, ushort);9784short2 __ovld __cnfn rotate(short2, short2);9785ushort2 __ovld __cnfn rotate(ushort2, ushort2);9786short3 __ovld __cnfn rotate(short3, short3);9787ushort3 __ovld __cnfn rotate(ushort3, ushort3);9788short4 __ovld __cnfn rotate(short4, short4);9789ushort4 __ovld __cnfn rotate(ushort4, ushort4);9790short8 __ovld __cnfn rotate(short8, short8);9791ushort8 __ovld __cnfn rotate(ushort8, ushort8);9792short16 __ovld __cnfn rotate(short16, short16);9793ushort16 __ovld __cnfn rotate(ushort16, ushort16);9794int __ovld __cnfn rotate(int, int);9795uint __ovld __cnfn rotate(uint, uint);9796int2 __ovld __cnfn rotate(int2, int2);9797uint2 __ovld __cnfn rotate(uint2, uint2);9798int3 __ovld __cnfn rotate(int3, int3);9799uint3 __ovld __cnfn rotate(uint3, uint3);9800int4 __ovld __cnfn rotate(int4, int4);9801uint4 __ovld __cnfn rotate(uint4, uint4);9802int8 __ovld __cnfn rotate(int8, int8);9803uint8 __ovld __cnfn rotate(uint8, uint8);9804int16 __ovld __cnfn rotate(int16, int16);9805uint16 __ovld __cnfn rotate(uint16, uint16);9806long __ovld __cnfn rotate(long, long);9807ulong __ovld __cnfn rotate(ulong, ulong);9808long2 __ovld __cnfn rotate(long2, long2);9809ulong2 __ovld __cnfn rotate(ulong2, ulong2);9810long3 __ovld __cnfn rotate(long3, long3);9811ulong3 __ovld __cnfn rotate(ulong3, ulong3);9812long4 __ovld __cnfn rotate(long4, long4);9813ulong4 __ovld __cnfn rotate(ulong4, ulong4);9814long8 __ovld __cnfn rotate(long8, long8);9815ulong8 __ovld __cnfn rotate(ulong8, ulong8);9816long16 __ovld __cnfn rotate(long16, long16);9817ulong16 __ovld __cnfn rotate(ulong16, ulong16);9818 9819/**9820 * Returns x - y and saturates the result.9821 */9822char __ovld __cnfn sub_sat(char, char);9823uchar __ovld __cnfn sub_sat(uchar, uchar);9824char2 __ovld __cnfn sub_sat(char2, char2);9825uchar2 __ovld __cnfn sub_sat(uchar2, uchar2);9826char3 __ovld __cnfn sub_sat(char3, char3);9827uchar3 __ovld __cnfn sub_sat(uchar3, uchar3);9828char4 __ovld __cnfn sub_sat(char4, char4);9829uchar4 __ovld __cnfn sub_sat(uchar4, uchar4);9830char8 __ovld __cnfn sub_sat(char8, char8);9831uchar8 __ovld __cnfn sub_sat(uchar8, uchar8);9832char16 __ovld __cnfn sub_sat(char16, char16);9833uchar16 __ovld __cnfn sub_sat(uchar16, uchar16);9834short __ovld __cnfn sub_sat(short, short);9835ushort __ovld __cnfn sub_sat(ushort, ushort);9836short2 __ovld __cnfn sub_sat(short2, short2);9837ushort2 __ovld __cnfn sub_sat(ushort2, ushort2);9838short3 __ovld __cnfn sub_sat(short3, short3);9839ushort3 __ovld __cnfn sub_sat(ushort3, ushort3);9840short4 __ovld __cnfn sub_sat(short4, short4);9841ushort4 __ovld __cnfn sub_sat(ushort4, ushort4);9842short8 __ovld __cnfn sub_sat(short8, short8);9843ushort8 __ovld __cnfn sub_sat(ushort8, ushort8);9844short16 __ovld __cnfn sub_sat(short16, short16);9845ushort16 __ovld __cnfn sub_sat(ushort16, ushort16);9846int __ovld __cnfn sub_sat(int, int);9847uint __ovld __cnfn sub_sat(uint, uint);9848int2 __ovld __cnfn sub_sat(int2, int2);9849uint2 __ovld __cnfn sub_sat(uint2, uint2);9850int3 __ovld __cnfn sub_sat(int3, int3);9851uint3 __ovld __cnfn sub_sat(uint3, uint3);9852int4 __ovld __cnfn sub_sat(int4, int4);9853uint4 __ovld __cnfn sub_sat(uint4, uint4);9854int8 __ovld __cnfn sub_sat(int8, int8);9855uint8 __ovld __cnfn sub_sat(uint8, uint8);9856int16 __ovld __cnfn sub_sat(int16, int16);9857uint16 __ovld __cnfn sub_sat(uint16, uint16);9858long __ovld __cnfn sub_sat(long, long);9859ulong __ovld __cnfn sub_sat(ulong, ulong);9860long2 __ovld __cnfn sub_sat(long2, long2);9861ulong2 __ovld __cnfn sub_sat(ulong2, ulong2);9862long3 __ovld __cnfn sub_sat(long3, long3);9863ulong3 __ovld __cnfn sub_sat(ulong3, ulong3);9864long4 __ovld __cnfn sub_sat(long4, long4);9865ulong4 __ovld __cnfn sub_sat(ulong4, ulong4);9866long8 __ovld __cnfn sub_sat(long8, long8);9867ulong8 __ovld __cnfn sub_sat(ulong8, ulong8);9868long16 __ovld __cnfn sub_sat(long16, long16);9869ulong16 __ovld __cnfn sub_sat(ulong16, ulong16);9870 9871/**9872 * result[i] = ((short)hi[i] << 8) | lo[i]9873 * result[i] = ((ushort)hi[i] << 8) | lo[i]9874 */9875short __ovld __cnfn upsample(char, uchar);9876ushort __ovld __cnfn upsample(uchar, uchar);9877short2 __ovld __cnfn upsample(char2, uchar2);9878short3 __ovld __cnfn upsample(char3, uchar3);9879short4 __ovld __cnfn upsample(char4, uchar4);9880short8 __ovld __cnfn upsample(char8, uchar8);9881short16 __ovld __cnfn upsample(char16, uchar16);9882ushort2 __ovld __cnfn upsample(uchar2, uchar2);9883ushort3 __ovld __cnfn upsample(uchar3, uchar3);9884ushort4 __ovld __cnfn upsample(uchar4, uchar4);9885ushort8 __ovld __cnfn upsample(uchar8, uchar8);9886ushort16 __ovld __cnfn upsample(uchar16, uchar16);9887 9888/**9889 * result[i] = ((int)hi[i] << 16) | lo[i]9890 * result[i] = ((uint)hi[i] << 16) | lo[i]9891 */9892int __ovld __cnfn upsample(short, ushort);9893uint __ovld __cnfn upsample(ushort, ushort);9894int2 __ovld __cnfn upsample(short2, ushort2);9895int3 __ovld __cnfn upsample(short3, ushort3);9896int4 __ovld __cnfn upsample(short4, ushort4);9897int8 __ovld __cnfn upsample(short8, ushort8);9898int16 __ovld __cnfn upsample(short16, ushort16);9899uint2 __ovld __cnfn upsample(ushort2, ushort2);9900uint3 __ovld __cnfn upsample(ushort3, ushort3);9901uint4 __ovld __cnfn upsample(ushort4, ushort4);9902uint8 __ovld __cnfn upsample(ushort8, ushort8);9903uint16 __ovld __cnfn upsample(ushort16, ushort16);9904/**9905 * result[i] = ((long)hi[i] << 32) | lo[i]9906 * result[i] = ((ulong)hi[i] << 32) | lo[i]9907 */9908long __ovld __cnfn upsample(int, uint);9909ulong __ovld __cnfn upsample(uint, uint);9910long2 __ovld __cnfn upsample(int2, uint2);9911long3 __ovld __cnfn upsample(int3, uint3);9912long4 __ovld __cnfn upsample(int4, uint4);9913long8 __ovld __cnfn upsample(int8, uint8);9914long16 __ovld __cnfn upsample(int16, uint16);9915ulong2 __ovld __cnfn upsample(uint2, uint2);9916ulong3 __ovld __cnfn upsample(uint3, uint3);9917ulong4 __ovld __cnfn upsample(uint4, uint4);9918ulong8 __ovld __cnfn upsample(uint8, uint8);9919ulong16 __ovld __cnfn upsample(uint16, uint16);9920 9921/*9922 * popcount(x): returns the number of set bit in x9923 */9924#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)9925char __ovld __cnfn popcount(char);9926uchar __ovld __cnfn popcount(uchar);9927char2 __ovld __cnfn popcount(char2);9928uchar2 __ovld __cnfn popcount(uchar2);9929char3 __ovld __cnfn popcount(char3);9930uchar3 __ovld __cnfn popcount(uchar3);9931char4 __ovld __cnfn popcount(char4);9932uchar4 __ovld __cnfn popcount(uchar4);9933char8 __ovld __cnfn popcount(char8);9934uchar8 __ovld __cnfn popcount(uchar8);9935char16 __ovld __cnfn popcount(char16);9936uchar16 __ovld __cnfn popcount(uchar16);9937short __ovld __cnfn popcount(short);9938ushort __ovld __cnfn popcount(ushort);9939short2 __ovld __cnfn popcount(short2);9940ushort2 __ovld __cnfn popcount(ushort2);9941short3 __ovld __cnfn popcount(short3);9942ushort3 __ovld __cnfn popcount(ushort3);9943short4 __ovld __cnfn popcount(short4);9944ushort4 __ovld __cnfn popcount(ushort4);9945short8 __ovld __cnfn popcount(short8);9946ushort8 __ovld __cnfn popcount(ushort8);9947short16 __ovld __cnfn popcount(short16);9948ushort16 __ovld __cnfn popcount(ushort16);9949int __ovld __cnfn popcount(int);9950uint __ovld __cnfn popcount(uint);9951int2 __ovld __cnfn popcount(int2);9952uint2 __ovld __cnfn popcount(uint2);9953int3 __ovld __cnfn popcount(int3);9954uint3 __ovld __cnfn popcount(uint3);9955int4 __ovld __cnfn popcount(int4);9956uint4 __ovld __cnfn popcount(uint4);9957int8 __ovld __cnfn popcount(int8);9958uint8 __ovld __cnfn popcount(uint8);9959int16 __ovld __cnfn popcount(int16);9960uint16 __ovld __cnfn popcount(uint16);9961long __ovld __cnfn popcount(long);9962ulong __ovld __cnfn popcount(ulong);9963long2 __ovld __cnfn popcount(long2);9964ulong2 __ovld __cnfn popcount(ulong2);9965long3 __ovld __cnfn popcount(long3);9966ulong3 __ovld __cnfn popcount(ulong3);9967long4 __ovld __cnfn popcount(long4);9968ulong4 __ovld __cnfn popcount(ulong4);9969long8 __ovld __cnfn popcount(long8);9970ulong8 __ovld __cnfn popcount(ulong8);9971long16 __ovld __cnfn popcount(long16);9972ulong16 __ovld __cnfn popcount(ulong16);9973#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)9974 9975/**9976 * Multiply two 24-bit integer values x and y and add9977 * the 32-bit integer result to the 32-bit integer z.9978 * Refer to definition of mul24 to see how the 24-bit9979 * integer multiplication is performed.9980 */9981int __ovld __cnfn mad24(int, int, int);9982uint __ovld __cnfn mad24(uint, uint, uint);9983int2 __ovld __cnfn mad24(int2, int2, int2);9984uint2 __ovld __cnfn mad24(uint2, uint2, uint2);9985int3 __ovld __cnfn mad24(int3, int3, int3);9986uint3 __ovld __cnfn mad24(uint3, uint3, uint3);9987int4 __ovld __cnfn mad24(int4, int4, int4);9988uint4 __ovld __cnfn mad24(uint4, uint4, uint4);9989int8 __ovld __cnfn mad24(int8, int8, int8);9990uint8 __ovld __cnfn mad24(uint8, uint8, uint8);9991int16 __ovld __cnfn mad24(int16, int16, int16);9992uint16 __ovld __cnfn mad24(uint16, uint16, uint16);9993 9994/**9995 * Multiply two 24-bit integer values x and y. x and y9996 * are 32-bit integers but only the low 24-bits are used9997 * to perform the multiplication. mul24 should only9998 * be used when values in x and y are in the range [-9999 * 2^23, 2^23-1] if x and y are signed integers and in the10000 * range [0, 2^24-1] if x and y are unsigned integers. If10001 * x and y are not in this range, the multiplication10002 * result is implementation-defined.10003 */10004int __ovld __cnfn mul24(int, int);10005uint __ovld __cnfn mul24(uint, uint);10006int2 __ovld __cnfn mul24(int2, int2);10007uint2 __ovld __cnfn mul24(uint2, uint2);10008int3 __ovld __cnfn mul24(int3, int3);10009uint3 __ovld __cnfn mul24(uint3, uint3);10010int4 __ovld __cnfn mul24(int4, int4);10011uint4 __ovld __cnfn mul24(uint4, uint4);10012int8 __ovld __cnfn mul24(int8, int8);10013uint8 __ovld __cnfn mul24(uint8, uint8);10014int16 __ovld __cnfn mul24(int16, int16);10015uint16 __ovld __cnfn mul24(uint16, uint16);10016 10017// OpenCL v1.1 s6.11.4, v1.2 s6.12.4, v2.0 s6.13.4 - Common Functions10018 10019/**10020 * Returns fmin(fmax(x, minval), maxval).10021 * Results are undefined if minval > maxval.10022 */10023float __ovld __cnfn clamp(float, float, float);10024float2 __ovld __cnfn clamp(float2, float2, float2);10025float3 __ovld __cnfn clamp(float3, float3, float3);10026float4 __ovld __cnfn clamp(float4, float4, float4);10027float8 __ovld __cnfn clamp(float8, float8, float8);10028float16 __ovld __cnfn clamp(float16, float16, float16);10029float2 __ovld __cnfn clamp(float2, float, float);10030float3 __ovld __cnfn clamp(float3, float, float);10031float4 __ovld __cnfn clamp(float4, float, float);10032float8 __ovld __cnfn clamp(float8, float, float);10033float16 __ovld __cnfn clamp(float16, float, float);10034#ifdef cl_khr_fp6410035double __ovld __cnfn clamp(double, double, double);10036double2 __ovld __cnfn clamp(double2, double2, double2);10037double3 __ovld __cnfn clamp(double3, double3, double3);10038double4 __ovld __cnfn clamp(double4, double4, double4);10039double8 __ovld __cnfn clamp(double8, double8, double8);10040double16 __ovld __cnfn clamp(double16, double16, double16);10041double2 __ovld __cnfn clamp(double2, double, double);10042double3 __ovld __cnfn clamp(double3, double, double);10043double4 __ovld __cnfn clamp(double4, double, double);10044double8 __ovld __cnfn clamp(double8, double, double);10045double16 __ovld __cnfn clamp(double16, double, double);10046#endif //cl_khr_fp6410047#ifdef cl_khr_fp1610048half __ovld __cnfn clamp(half, half, half);10049half2 __ovld __cnfn clamp(half2, half2, half2);10050half3 __ovld __cnfn clamp(half3, half3, half3);10051half4 __ovld __cnfn clamp(half4, half4, half4);10052half8 __ovld __cnfn clamp(half8, half8, half8);10053half16 __ovld __cnfn clamp(half16, half16, half16);10054half2 __ovld __cnfn clamp(half2, half, half);10055half3 __ovld __cnfn clamp(half3, half, half);10056half4 __ovld __cnfn clamp(half4, half, half);10057half8 __ovld __cnfn clamp(half8, half, half);10058half16 __ovld __cnfn clamp(half16, half, half);10059#endif //cl_khr_fp1610060 10061/**10062 * Converts radians to degrees, i.e. (180 / PI) *10063 * radians.10064 */10065float __ovld __cnfn degrees(float);10066float2 __ovld __cnfn degrees(float2);10067float3 __ovld __cnfn degrees(float3);10068float4 __ovld __cnfn degrees(float4);10069float8 __ovld __cnfn degrees(float8);10070float16 __ovld __cnfn degrees(float16);10071#ifdef cl_khr_fp6410072double __ovld __cnfn degrees(double);10073double2 __ovld __cnfn degrees(double2);10074double3 __ovld __cnfn degrees(double3);10075double4 __ovld __cnfn degrees(double4);10076double8 __ovld __cnfn degrees(double8);10077double16 __ovld __cnfn degrees(double16);10078#endif //cl_khr_fp6410079#ifdef cl_khr_fp1610080half __ovld __cnfn degrees(half);10081half2 __ovld __cnfn degrees(half2);10082half3 __ovld __cnfn degrees(half3);10083half4 __ovld __cnfn degrees(half4);10084half8 __ovld __cnfn degrees(half8);10085half16 __ovld __cnfn degrees(half16);10086#endif //cl_khr_fp1610087 10088/**10089 * Returns y if x < y, otherwise it returns x. If x and y10090 * are infinite or NaN, the return values are undefined.10091 */10092float __ovld __cnfn max(float, float);10093float2 __ovld __cnfn max(float2, float2);10094float3 __ovld __cnfn max(float3, float3);10095float4 __ovld __cnfn max(float4, float4);10096float8 __ovld __cnfn max(float8, float8);10097float16 __ovld __cnfn max(float16, float16);10098float2 __ovld __cnfn max(float2, float);10099float3 __ovld __cnfn max(float3, float);10100float4 __ovld __cnfn max(float4, float);10101float8 __ovld __cnfn max(float8, float);10102float16 __ovld __cnfn max(float16, float);10103#ifdef cl_khr_fp6410104double __ovld __cnfn max(double, double);10105double2 __ovld __cnfn max(double2, double2);10106double3 __ovld __cnfn max(double3, double3);10107double4 __ovld __cnfn max(double4, double4);10108double8 __ovld __cnfn max(double8, double8);10109double16 __ovld __cnfn max(double16, double16);10110double2 __ovld __cnfn max(double2, double);10111double3 __ovld __cnfn max(double3, double);10112double4 __ovld __cnfn max(double4, double);10113double8 __ovld __cnfn max(double8, double);10114double16 __ovld __cnfn max(double16, double);10115#endif //cl_khr_fp6410116#ifdef cl_khr_fp1610117half __ovld __cnfn max(half, half);10118half2 __ovld __cnfn max(half2, half2);10119half3 __ovld __cnfn max(half3, half3);10120half4 __ovld __cnfn max(half4, half4);10121half8 __ovld __cnfn max(half8, half8);10122half16 __ovld __cnfn max(half16, half16);10123half2 __ovld __cnfn max(half2, half);10124half3 __ovld __cnfn max(half3, half);10125half4 __ovld __cnfn max(half4, half);10126half8 __ovld __cnfn max(half8, half);10127half16 __ovld __cnfn max(half16, half);10128#endif //cl_khr_fp1610129 10130/**10131 * Returns y if y < x, otherwise it returns x. If x and y10132 * are infinite or NaN, the return values are undefined.10133 */10134float __ovld __cnfn min(float, float);10135float2 __ovld __cnfn min(float2, float2);10136float3 __ovld __cnfn min(float3, float3);10137float4 __ovld __cnfn min(float4, float4);10138float8 __ovld __cnfn min(float8, float8);10139float16 __ovld __cnfn min(float16, float16);10140float2 __ovld __cnfn min(float2, float);10141float3 __ovld __cnfn min(float3, float);10142float4 __ovld __cnfn min(float4, float);10143float8 __ovld __cnfn min(float8, float);10144float16 __ovld __cnfn min(float16, float);10145#ifdef cl_khr_fp6410146double __ovld __cnfn min(double, double);10147double2 __ovld __cnfn min(double2, double2);10148double3 __ovld __cnfn min(double3, double3);10149double4 __ovld __cnfn min(double4, double4);10150double8 __ovld __cnfn min(double8, double8);10151double16 __ovld __cnfn min(double16, double16);10152double2 __ovld __cnfn min(double2, double);10153double3 __ovld __cnfn min(double3, double);10154double4 __ovld __cnfn min(double4, double);10155double8 __ovld __cnfn min(double8, double);10156double16 __ovld __cnfn min(double16, double);10157#endif //cl_khr_fp6410158#ifdef cl_khr_fp1610159half __ovld __cnfn min(half, half);10160half2 __ovld __cnfn min(half2, half2);10161half3 __ovld __cnfn min(half3, half3);10162half4 __ovld __cnfn min(half4, half4);10163half8 __ovld __cnfn min(half8, half8);10164half16 __ovld __cnfn min(half16, half16);10165half2 __ovld __cnfn min(half2, half);10166half3 __ovld __cnfn min(half3, half);10167half4 __ovld __cnfn min(half4, half);10168half8 __ovld __cnfn min(half8, half);10169half16 __ovld __cnfn min(half16, half);10170#endif //cl_khr_fp1610171 10172/**10173 * Returns the linear blend of x & y implemented as:10174 * x + (y - x) * a10175 * a must be a value in the range 0.0 ... 1.0. If a is not10176 * in the range 0.0 ... 1.0, the return values are10177 * undefined.10178 */10179float __ovld __cnfn mix(float, float, float);10180float2 __ovld __cnfn mix(float2, float2, float2);10181float3 __ovld __cnfn mix(float3, float3, float3);10182float4 __ovld __cnfn mix(float4, float4, float4);10183float8 __ovld __cnfn mix(float8, float8, float8);10184float16 __ovld __cnfn mix(float16, float16, float16);10185float2 __ovld __cnfn mix(float2, float2, float);10186float3 __ovld __cnfn mix(float3, float3, float);10187float4 __ovld __cnfn mix(float4, float4, float);10188float8 __ovld __cnfn mix(float8, float8, float);10189float16 __ovld __cnfn mix(float16, float16, float);10190#ifdef cl_khr_fp6410191double __ovld __cnfn mix(double, double, double);10192double2 __ovld __cnfn mix(double2, double2, double2);10193double3 __ovld __cnfn mix(double3, double3, double3);10194double4 __ovld __cnfn mix(double4, double4, double4);10195double8 __ovld __cnfn mix(double8, double8, double8);10196double16 __ovld __cnfn mix(double16, double16, double16);10197double2 __ovld __cnfn mix(double2, double2, double);10198double3 __ovld __cnfn mix(double3, double3, double);10199double4 __ovld __cnfn mix(double4, double4, double);10200double8 __ovld __cnfn mix(double8, double8, double);10201double16 __ovld __cnfn mix(double16, double16, double);10202#endif //cl_khr_fp6410203#ifdef cl_khr_fp1610204half __ovld __cnfn mix(half, half, half);10205half2 __ovld __cnfn mix(half2, half2, half2);10206half3 __ovld __cnfn mix(half3, half3, half3);10207half4 __ovld __cnfn mix(half4, half4, half4);10208half8 __ovld __cnfn mix(half8, half8, half8);10209half16 __ovld __cnfn mix(half16, half16, half16);10210half2 __ovld __cnfn mix(half2, half2, half);10211half3 __ovld __cnfn mix(half3, half3, half);10212half4 __ovld __cnfn mix(half4, half4, half);10213half8 __ovld __cnfn mix(half8, half8, half);10214half16 __ovld __cnfn mix(half16, half16, half);10215#endif //cl_khr_fp1610216 10217/**10218 * Converts degrees to radians, i.e. (PI / 180) *10219 * degrees.10220 */10221float __ovld __cnfn radians(float);10222float2 __ovld __cnfn radians(float2);10223float3 __ovld __cnfn radians(float3);10224float4 __ovld __cnfn radians(float4);10225float8 __ovld __cnfn radians(float8);10226float16 __ovld __cnfn radians(float16);10227#ifdef cl_khr_fp6410228double __ovld __cnfn radians(double);10229double2 __ovld __cnfn radians(double2);10230double3 __ovld __cnfn radians(double3);10231double4 __ovld __cnfn radians(double4);10232double8 __ovld __cnfn radians(double8);10233double16 __ovld __cnfn radians(double16);10234#endif //cl_khr_fp6410235#ifdef cl_khr_fp1610236half __ovld __cnfn radians(half);10237half2 __ovld __cnfn radians(half2);10238half3 __ovld __cnfn radians(half3);10239half4 __ovld __cnfn radians(half4);10240half8 __ovld __cnfn radians(half8);10241half16 __ovld __cnfn radians(half16);10242#endif //cl_khr_fp1610243 10244/**10245 * Returns 0.0 if x < edge, otherwise it returns 1.0.10246 */10247float __ovld __cnfn step(float, float);10248float2 __ovld __cnfn step(float2, float2);10249float3 __ovld __cnfn step(float3, float3);10250float4 __ovld __cnfn step(float4, float4);10251float8 __ovld __cnfn step(float8, float8);10252float16 __ovld __cnfn step(float16, float16);10253float2 __ovld __cnfn step(float, float2);10254float3 __ovld __cnfn step(float, float3);10255float4 __ovld __cnfn step(float, float4);10256float8 __ovld __cnfn step(float, float8);10257float16 __ovld __cnfn step(float, float16);10258#ifdef cl_khr_fp6410259double __ovld __cnfn step(double, double);10260double2 __ovld __cnfn step(double2, double2);10261double3 __ovld __cnfn step(double3, double3);10262double4 __ovld __cnfn step(double4, double4);10263double8 __ovld __cnfn step(double8, double8);10264double16 __ovld __cnfn step(double16, double16);10265double2 __ovld __cnfn step(double, double2);10266double3 __ovld __cnfn step(double, double3);10267double4 __ovld __cnfn step(double, double4);10268double8 __ovld __cnfn step(double, double8);10269double16 __ovld __cnfn step(double, double16);10270#endif //cl_khr_fp6410271#ifdef cl_khr_fp1610272half __ovld __cnfn step(half, half);10273half2 __ovld __cnfn step(half2, half2);10274half3 __ovld __cnfn step(half3, half3);10275half4 __ovld __cnfn step(half4, half4);10276half8 __ovld __cnfn step(half8, half8);10277half16 __ovld __cnfn step(half16, half16);10278half2 __ovld __cnfn step(half, half2);10279half3 __ovld __cnfn step(half, half3);10280half4 __ovld __cnfn step(half, half4);10281half8 __ovld __cnfn step(half, half8);10282half16 __ovld __cnfn step(half, half16);10283#endif //cl_khr_fp1610284 10285/**10286 * Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and10287 * performs smooth Hermite interpolation between 010288 * and 1when edge0 < x < edge1. This is useful in10289 * cases where you would want a threshold function10290 * with a smooth transition.10291 * This is equivalent to:10292 * gentype t;10293 * t = clamp ((x - edge0) / (edge1 - edge0), 0, 1);10294 * return t * t * (3 - 2 * t);10295 * Results are undefined if edge0 >= edge1 or if x,10296 * edge0 or edge1 is a NaN.10297 */10298float __ovld __cnfn smoothstep(float, float, float);10299float2 __ovld __cnfn smoothstep(float2, float2, float2);10300float3 __ovld __cnfn smoothstep(float3, float3, float3);10301float4 __ovld __cnfn smoothstep(float4, float4, float4);10302float8 __ovld __cnfn smoothstep(float8, float8, float8);10303float16 __ovld __cnfn smoothstep(float16, float16, float16);10304float2 __ovld __cnfn smoothstep(float, float, float2);10305float3 __ovld __cnfn smoothstep(float, float, float3);10306float4 __ovld __cnfn smoothstep(float, float, float4);10307float8 __ovld __cnfn smoothstep(float, float, float8);10308float16 __ovld __cnfn smoothstep(float, float, float16);10309#ifdef cl_khr_fp6410310double __ovld __cnfn smoothstep(double, double, double);10311double2 __ovld __cnfn smoothstep(double2, double2, double2);10312double3 __ovld __cnfn smoothstep(double3, double3, double3);10313double4 __ovld __cnfn smoothstep(double4, double4, double4);10314double8 __ovld __cnfn smoothstep(double8, double8, double8);10315double16 __ovld __cnfn smoothstep(double16, double16, double16);10316double2 __ovld __cnfn smoothstep(double, double, double2);10317double3 __ovld __cnfn smoothstep(double, double, double3);10318double4 __ovld __cnfn smoothstep(double, double, double4);10319double8 __ovld __cnfn smoothstep(double, double, double8);10320double16 __ovld __cnfn smoothstep(double, double, double16);10321#endif //cl_khr_fp6410322#ifdef cl_khr_fp1610323half __ovld __cnfn smoothstep(half, half, half);10324half2 __ovld __cnfn smoothstep(half2, half2, half2);10325half3 __ovld __cnfn smoothstep(half3, half3, half3);10326half4 __ovld __cnfn smoothstep(half4, half4, half4);10327half8 __ovld __cnfn smoothstep(half8, half8, half8);10328half16 __ovld __cnfn smoothstep(half16, half16, half16);10329half2 __ovld __cnfn smoothstep(half, half, half2);10330half3 __ovld __cnfn smoothstep(half, half, half3);10331half4 __ovld __cnfn smoothstep(half, half, half4);10332half8 __ovld __cnfn smoothstep(half, half, half8);10333half16 __ovld __cnfn smoothstep(half, half, half16);10334#endif //cl_khr_fp1610335 10336/**10337 * Returns 1.0 if x > 0, -0.0 if x = -0.0, +0.0 if x =10338 * +0.0, or -1.0 if x < 0. Returns 0.0 if x is a NaN.10339 */10340float __ovld __cnfn sign(float);10341float2 __ovld __cnfn sign(float2);10342float3 __ovld __cnfn sign(float3);10343float4 __ovld __cnfn sign(float4);10344float8 __ovld __cnfn sign(float8);10345float16 __ovld __cnfn sign(float16);10346#ifdef cl_khr_fp6410347double __ovld __cnfn sign(double);10348double2 __ovld __cnfn sign(double2);10349double3 __ovld __cnfn sign(double3);10350double4 __ovld __cnfn sign(double4);10351double8 __ovld __cnfn sign(double8);10352double16 __ovld __cnfn sign(double16);10353#endif //cl_khr_fp6410354#ifdef cl_khr_fp1610355half __ovld __cnfn sign(half);10356half2 __ovld __cnfn sign(half2);10357half3 __ovld __cnfn sign(half3);10358half4 __ovld __cnfn sign(half4);10359half8 __ovld __cnfn sign(half8);10360half16 __ovld __cnfn sign(half16);10361#endif //cl_khr_fp1610362 10363// OpenCL v1.1 s6.11.5, v1.2 s6.12.5, v2.0 s6.13.5 - Geometric Functions10364 10365/**10366 * Returns the cross product of p0.xyz and p1.xyz. The10367 * w component of float4 result returned will be 0.0.10368 */10369float4 __ovld __cnfn cross(float4, float4);10370float3 __ovld __cnfn cross(float3, float3);10371#ifdef cl_khr_fp6410372double4 __ovld __cnfn cross(double4, double4);10373double3 __ovld __cnfn cross(double3, double3);10374#endif //cl_khr_fp6410375#ifdef cl_khr_fp1610376half4 __ovld __cnfn cross(half4, half4);10377half3 __ovld __cnfn cross(half3, half3);10378#endif //cl_khr_fp1610379 10380/**10381 * Compute dot product.10382 */10383float __ovld __cnfn dot(float, float);10384float __ovld __cnfn dot(float2, float2);10385float __ovld __cnfn dot(float3, float3);10386float __ovld __cnfn dot(float4, float4);10387#ifdef cl_khr_fp6410388double __ovld __cnfn dot(double, double);10389double __ovld __cnfn dot(double2, double2);10390double __ovld __cnfn dot(double3, double3);10391double __ovld __cnfn dot(double4, double4);10392#endif //cl_khr_fp6410393#ifdef cl_khr_fp1610394half __ovld __cnfn dot(half, half);10395half __ovld __cnfn dot(half2, half2);10396half __ovld __cnfn dot(half3, half3);10397half __ovld __cnfn dot(half4, half4);10398#endif //cl_khr_fp1610399 10400/**10401 * Returns the distance between p0 and p1. This is10402 * calculated as length(p0 - p1).10403 */10404float __ovld __cnfn distance(float, float);10405float __ovld __cnfn distance(float2, float2);10406float __ovld __cnfn distance(float3, float3);10407float __ovld __cnfn distance(float4, float4);10408#ifdef cl_khr_fp6410409double __ovld __cnfn distance(double, double);10410double __ovld __cnfn distance(double2, double2);10411double __ovld __cnfn distance(double3, double3);10412double __ovld __cnfn distance(double4, double4);10413#endif //cl_khr_fp6410414#ifdef cl_khr_fp1610415half __ovld __cnfn distance(half, half);10416half __ovld __cnfn distance(half2, half2);10417half __ovld __cnfn distance(half3, half3);10418half __ovld __cnfn distance(half4, half4);10419#endif //cl_khr_fp1610420 10421/**10422 * Return the length of vector p, i.e.,10423 * sqrt(p.x2 + p.y 2 + ...)10424 */10425float __ovld __cnfn length(float);10426float __ovld __cnfn length(float2);10427float __ovld __cnfn length(float3);10428float __ovld __cnfn length(float4);10429#ifdef cl_khr_fp6410430double __ovld __cnfn length(double);10431double __ovld __cnfn length(double2);10432double __ovld __cnfn length(double3);10433double __ovld __cnfn length(double4);10434#endif //cl_khr_fp6410435#ifdef cl_khr_fp1610436half __ovld __cnfn length(half);10437half __ovld __cnfn length(half2);10438half __ovld __cnfn length(half3);10439half __ovld __cnfn length(half4);10440#endif //cl_khr_fp1610441 10442/**10443 * Returns a vector in the same direction as p but with a10444 * length of 1.10445 */10446float __ovld __cnfn normalize(float);10447float2 __ovld __cnfn normalize(float2);10448float3 __ovld __cnfn normalize(float3);10449float4 __ovld __cnfn normalize(float4);10450#ifdef cl_khr_fp6410451double __ovld __cnfn normalize(double);10452double2 __ovld __cnfn normalize(double2);10453double3 __ovld __cnfn normalize(double3);10454double4 __ovld __cnfn normalize(double4);10455#endif //cl_khr_fp6410456#ifdef cl_khr_fp1610457half __ovld __cnfn normalize(half);10458half2 __ovld __cnfn normalize(half2);10459half3 __ovld __cnfn normalize(half3);10460half4 __ovld __cnfn normalize(half4);10461#endif //cl_khr_fp1610462 10463/**10464 * Returns fast_length(p0 - p1).10465 */10466float __ovld __cnfn fast_distance(float, float);10467float __ovld __cnfn fast_distance(float2, float2);10468float __ovld __cnfn fast_distance(float3, float3);10469float __ovld __cnfn fast_distance(float4, float4);10470 10471/**10472 * Returns the length of vector p computed as:10473 * half_sqrt(p.x2 + p.y2 + ...)10474 */10475float __ovld __cnfn fast_length(float);10476float __ovld __cnfn fast_length(float2);10477float __ovld __cnfn fast_length(float3);10478float __ovld __cnfn fast_length(float4);10479 10480/**10481 * Returns a vector in the same direction as p but with a10482 * length of 1. fast_normalize is computed as:10483 * p * half_rsqrt (p.x^2 + p.y^2 + ... )10484 * The result shall be within 8192 ulps error from the10485 * infinitely precise result of10486 * if (all(p == 0.0f))10487 * result = p;10488 * else10489 * result = p / sqrt (p.x^2 + p.y^2 + ...);10490 * with the following exceptions:10491 * 1) If the sum of squares is greater than FLT_MAX10492 * then the value of the floating-point values in the10493 * result vector are undefined.10494 * 2) If the sum of squares is less than FLT_MIN then10495 * the implementation may return back p.10496 * 3) If the device is in "denorms are flushed to zero"10497 * mode, individual operand elements with magnitude10498 * less than sqrt(FLT_MIN) may be flushed to zero10499 * before proceeding with the calculation.10500 */10501float __ovld __cnfn fast_normalize(float);10502float2 __ovld __cnfn fast_normalize(float2);10503float3 __ovld __cnfn fast_normalize(float3);10504float4 __ovld __cnfn fast_normalize(float4);10505 10506// OpenCL v1.1 s6.11.6, v1.2 s6.12.6, v2.0 s6.13.6 - Relational Functions10507 10508/**10509 * intn isequal (floatn x, floatn y)10510 * Returns the component-wise compare of x == y.10511 */10512int __ovld __cnfn isequal(float, float);10513int2 __ovld __cnfn isequal(float2, float2);10514int3 __ovld __cnfn isequal(float3, float3);10515int4 __ovld __cnfn isequal(float4, float4);10516int8 __ovld __cnfn isequal(float8, float8);10517int16 __ovld __cnfn isequal(float16, float16);10518#ifdef cl_khr_fp6410519int __ovld __cnfn isequal(double, double);10520long2 __ovld __cnfn isequal(double2, double2);10521long3 __ovld __cnfn isequal(double3, double3);10522long4 __ovld __cnfn isequal(double4, double4);10523long8 __ovld __cnfn isequal(double8, double8);10524long16 __ovld __cnfn isequal(double16, double16);10525#endif //cl_khr_fp6410526#ifdef cl_khr_fp1610527int __ovld __cnfn isequal(half, half);10528short2 __ovld __cnfn isequal(half2, half2);10529short3 __ovld __cnfn isequal(half3, half3);10530short4 __ovld __cnfn isequal(half4, half4);10531short8 __ovld __cnfn isequal(half8, half8);10532short16 __ovld __cnfn isequal(half16, half16);10533#endif //cl_khr_fp1610534 10535/**10536 * Returns the component-wise compare of x != y.10537 */10538int __ovld __cnfn isnotequal(float, float);10539int2 __ovld __cnfn isnotequal(float2, float2);10540int3 __ovld __cnfn isnotequal(float3, float3);10541int4 __ovld __cnfn isnotequal(float4, float4);10542int8 __ovld __cnfn isnotequal(float8, float8);10543int16 __ovld __cnfn isnotequal(float16, float16);10544#ifdef cl_khr_fp6410545int __ovld __cnfn isnotequal(double, double);10546long2 __ovld __cnfn isnotequal(double2, double2);10547long3 __ovld __cnfn isnotequal(double3, double3);10548long4 __ovld __cnfn isnotequal(double4, double4);10549long8 __ovld __cnfn isnotequal(double8, double8);10550long16 __ovld __cnfn isnotequal(double16, double16);10551#endif //cl_khr_fp6410552#ifdef cl_khr_fp1610553int __ovld __cnfn isnotequal(half, half);10554short2 __ovld __cnfn isnotequal(half2, half2);10555short3 __ovld __cnfn isnotequal(half3, half3);10556short4 __ovld __cnfn isnotequal(half4, half4);10557short8 __ovld __cnfn isnotequal(half8, half8);10558short16 __ovld __cnfn isnotequal(half16, half16);10559#endif //cl_khr_fp1610560 10561/**10562 * Returns the component-wise compare of x > y.10563 */10564int __ovld __cnfn isgreater(float, float);10565int2 __ovld __cnfn isgreater(float2, float2);10566int3 __ovld __cnfn isgreater(float3, float3);10567int4 __ovld __cnfn isgreater(float4, float4);10568int8 __ovld __cnfn isgreater(float8, float8);10569int16 __ovld __cnfn isgreater(float16, float16);10570#ifdef cl_khr_fp6410571int __ovld __cnfn isgreater(double, double);10572long2 __ovld __cnfn isgreater(double2, double2);10573long3 __ovld __cnfn isgreater(double3, double3);10574long4 __ovld __cnfn isgreater(double4, double4);10575long8 __ovld __cnfn isgreater(double8, double8);10576long16 __ovld __cnfn isgreater(double16, double16);10577#endif //cl_khr_fp6410578#ifdef cl_khr_fp1610579int __ovld __cnfn isgreater(half, half);10580short2 __ovld __cnfn isgreater(half2, half2);10581short3 __ovld __cnfn isgreater(half3, half3);10582short4 __ovld __cnfn isgreater(half4, half4);10583short8 __ovld __cnfn isgreater(half8, half8);10584short16 __ovld __cnfn isgreater(half16, half16);10585#endif //cl_khr_fp1610586 10587/**10588 * Returns the component-wise compare of x >= y.10589 */10590int __ovld __cnfn isgreaterequal(float, float);10591int2 __ovld __cnfn isgreaterequal(float2, float2);10592int3 __ovld __cnfn isgreaterequal(float3, float3);10593int4 __ovld __cnfn isgreaterequal(float4, float4);10594int8 __ovld __cnfn isgreaterequal(float8, float8);10595int16 __ovld __cnfn isgreaterequal(float16, float16);10596#ifdef cl_khr_fp6410597int __ovld __cnfn isgreaterequal(double, double);10598long2 __ovld __cnfn isgreaterequal(double2, double2);10599long3 __ovld __cnfn isgreaterequal(double3, double3);10600long4 __ovld __cnfn isgreaterequal(double4, double4);10601long8 __ovld __cnfn isgreaterequal(double8, double8);10602long16 __ovld __cnfn isgreaterequal(double16, double16);10603#endif //cl_khr_fp6410604#ifdef cl_khr_fp1610605int __ovld __cnfn isgreaterequal(half, half);10606short2 __ovld __cnfn isgreaterequal(half2, half2);10607short3 __ovld __cnfn isgreaterequal(half3, half3);10608short4 __ovld __cnfn isgreaterequal(half4, half4);10609short8 __ovld __cnfn isgreaterequal(half8, half8);10610short16 __ovld __cnfn isgreaterequal(half16, half16);10611#endif //cl_khr_fp1610612 10613/**10614 * Returns the component-wise compare of x < y.10615 */10616int __ovld __cnfn isless(float, float);10617int2 __ovld __cnfn isless(float2, float2);10618int3 __ovld __cnfn isless(float3, float3);10619int4 __ovld __cnfn isless(float4, float4);10620int8 __ovld __cnfn isless(float8, float8);10621int16 __ovld __cnfn isless(float16, float16);10622#ifdef cl_khr_fp6410623int __ovld __cnfn isless(double, double);10624long2 __ovld __cnfn isless(double2, double2);10625long3 __ovld __cnfn isless(double3, double3);10626long4 __ovld __cnfn isless(double4, double4);10627long8 __ovld __cnfn isless(double8, double8);10628long16 __ovld __cnfn isless(double16, double16);10629#endif //cl_khr_fp6410630#ifdef cl_khr_fp1610631int __ovld __cnfn isless(half, half);10632short2 __ovld __cnfn isless(half2, half2);10633short3 __ovld __cnfn isless(half3, half3);10634short4 __ovld __cnfn isless(half4, half4);10635short8 __ovld __cnfn isless(half8, half8);10636short16 __ovld __cnfn isless(half16, half16);10637#endif //cl_khr_fp1610638 10639/**10640 * Returns the component-wise compare of x <= y.10641 */10642int __ovld __cnfn islessequal(float, float);10643int2 __ovld __cnfn islessequal(float2, float2);10644int3 __ovld __cnfn islessequal(float3, float3);10645int4 __ovld __cnfn islessequal(float4, float4);10646int8 __ovld __cnfn islessequal(float8, float8);10647int16 __ovld __cnfn islessequal(float16, float16);10648#ifdef cl_khr_fp6410649int __ovld __cnfn islessequal(double, double);10650long2 __ovld __cnfn islessequal(double2, double2);10651long3 __ovld __cnfn islessequal(double3, double3);10652long4 __ovld __cnfn islessequal(double4, double4);10653long8 __ovld __cnfn islessequal(double8, double8);10654long16 __ovld __cnfn islessequal(double16, double16);10655#endif //cl_khr_fp6410656#ifdef cl_khr_fp1610657int __ovld __cnfn islessequal(half, half);10658short2 __ovld __cnfn islessequal(half2, half2);10659short3 __ovld __cnfn islessequal(half3, half3);10660short4 __ovld __cnfn islessequal(half4, half4);10661short8 __ovld __cnfn islessequal(half8, half8);10662short16 __ovld __cnfn islessequal(half16, half16);10663#endif //cl_khr_fp1610664 10665/**10666 * Returns the component-wise compare of10667 * (x < y) || (x > y) .10668 */10669int __ovld __cnfn islessgreater(float, float);10670int2 __ovld __cnfn islessgreater(float2, float2);10671int3 __ovld __cnfn islessgreater(float3, float3);10672int4 __ovld __cnfn islessgreater(float4, float4);10673int8 __ovld __cnfn islessgreater(float8, float8);10674int16 __ovld __cnfn islessgreater(float16, float16);10675#ifdef cl_khr_fp6410676int __ovld __cnfn islessgreater(double, double);10677long2 __ovld __cnfn islessgreater(double2, double2);10678long3 __ovld __cnfn islessgreater(double3, double3);10679long4 __ovld __cnfn islessgreater(double4, double4);10680long8 __ovld __cnfn islessgreater(double8, double8);10681long16 __ovld __cnfn islessgreater(double16, double16);10682#endif //cl_khr_fp6410683#ifdef cl_khr_fp1610684int __ovld __cnfn islessgreater(half, half);10685short2 __ovld __cnfn islessgreater(half2, half2);10686short3 __ovld __cnfn islessgreater(half3, half3);10687short4 __ovld __cnfn islessgreater(half4, half4);10688short8 __ovld __cnfn islessgreater(half8, half8);10689short16 __ovld __cnfn islessgreater(half16, half16);10690#endif //cl_khr_fp1610691 10692/**10693 * Test for finite value.10694 */10695int __ovld __cnfn isfinite(float);10696int2 __ovld __cnfn isfinite(float2);10697int3 __ovld __cnfn isfinite(float3);10698int4 __ovld __cnfn isfinite(float4);10699int8 __ovld __cnfn isfinite(float8);10700int16 __ovld __cnfn isfinite(float16);10701#ifdef cl_khr_fp6410702int __ovld __cnfn isfinite(double);10703long2 __ovld __cnfn isfinite(double2);10704long3 __ovld __cnfn isfinite(double3);10705long4 __ovld __cnfn isfinite(double4);10706long8 __ovld __cnfn isfinite(double8);10707long16 __ovld __cnfn isfinite(double16);10708#endif //cl_khr_fp6410709#ifdef cl_khr_fp1610710int __ovld __cnfn isfinite(half);10711short2 __ovld __cnfn isfinite(half2);10712short3 __ovld __cnfn isfinite(half3);10713short4 __ovld __cnfn isfinite(half4);10714short8 __ovld __cnfn isfinite(half8);10715short16 __ovld __cnfn isfinite(half16);10716#endif //cl_khr_fp1610717 10718/**10719 * Test for infinity value (+ve or -ve) .10720 */10721int __ovld __cnfn isinf(float);10722int2 __ovld __cnfn isinf(float2);10723int3 __ovld __cnfn isinf(float3);10724int4 __ovld __cnfn isinf(float4);10725int8 __ovld __cnfn isinf(float8);10726int16 __ovld __cnfn isinf(float16);10727#ifdef cl_khr_fp6410728int __ovld __cnfn isinf(double);10729long2 __ovld __cnfn isinf(double2);10730long3 __ovld __cnfn isinf(double3);10731long4 __ovld __cnfn isinf(double4);10732long8 __ovld __cnfn isinf(double8);10733long16 __ovld __cnfn isinf(double16);10734#endif //cl_khr_fp6410735#ifdef cl_khr_fp1610736int __ovld __cnfn isinf(half);10737short2 __ovld __cnfn isinf(half2);10738short3 __ovld __cnfn isinf(half3);10739short4 __ovld __cnfn isinf(half4);10740short8 __ovld __cnfn isinf(half8);10741short16 __ovld __cnfn isinf(half16);10742#endif //cl_khr_fp1610743 10744/**10745 * Test for a NaN.10746 */10747int __ovld __cnfn isnan(float);10748int2 __ovld __cnfn isnan(float2);10749int3 __ovld __cnfn isnan(float3);10750int4 __ovld __cnfn isnan(float4);10751int8 __ovld __cnfn isnan(float8);10752int16 __ovld __cnfn isnan(float16);10753#ifdef cl_khr_fp6410754int __ovld __cnfn isnan(double);10755long2 __ovld __cnfn isnan(double2);10756long3 __ovld __cnfn isnan(double3);10757long4 __ovld __cnfn isnan(double4);10758long8 __ovld __cnfn isnan(double8);10759long16 __ovld __cnfn isnan(double16);10760#endif //cl_khr_fp6410761#ifdef cl_khr_fp1610762int __ovld __cnfn isnan(half);10763short2 __ovld __cnfn isnan(half2);10764short3 __ovld __cnfn isnan(half3);10765short4 __ovld __cnfn isnan(half4);10766short8 __ovld __cnfn isnan(half8);10767short16 __ovld __cnfn isnan(half16);10768#endif //cl_khr_fp1610769 10770/**10771 * Test for a normal value.10772 */10773int __ovld __cnfn isnormal(float);10774int2 __ovld __cnfn isnormal(float2);10775int3 __ovld __cnfn isnormal(float3);10776int4 __ovld __cnfn isnormal(float4);10777int8 __ovld __cnfn isnormal(float8);10778int16 __ovld __cnfn isnormal(float16);10779#ifdef cl_khr_fp6410780int __ovld __cnfn isnormal(double);10781long2 __ovld __cnfn isnormal(double2);10782long3 __ovld __cnfn isnormal(double3);10783long4 __ovld __cnfn isnormal(double4);10784long8 __ovld __cnfn isnormal(double8);10785long16 __ovld __cnfn isnormal(double16);10786#endif //cl_khr_fp6410787#ifdef cl_khr_fp1610788int __ovld __cnfn isnormal(half);10789short2 __ovld __cnfn isnormal(half2);10790short3 __ovld __cnfn isnormal(half3);10791short4 __ovld __cnfn isnormal(half4);10792short8 __ovld __cnfn isnormal(half8);10793short16 __ovld __cnfn isnormal(half16);10794#endif //cl_khr_fp1610795 10796/**10797 * Test if arguments are ordered. isordered() takes10798 * arguments x and y, and returns the result10799 * isequal(x, x) && isequal(y, y).10800 */10801int __ovld __cnfn isordered(float, float);10802int2 __ovld __cnfn isordered(float2, float2);10803int3 __ovld __cnfn isordered(float3, float3);10804int4 __ovld __cnfn isordered(float4, float4);10805int8 __ovld __cnfn isordered(float8, float8);10806int16 __ovld __cnfn isordered(float16, float16);10807#ifdef cl_khr_fp6410808int __ovld __cnfn isordered(double, double);10809long2 __ovld __cnfn isordered(double2, double2);10810long3 __ovld __cnfn isordered(double3, double3);10811long4 __ovld __cnfn isordered(double4, double4);10812long8 __ovld __cnfn isordered(double8, double8);10813long16 __ovld __cnfn isordered(double16, double16);10814#endif //cl_khr_fp6410815#ifdef cl_khr_fp1610816int __ovld __cnfn isordered(half, half);10817short2 __ovld __cnfn isordered(half2, half2);10818short3 __ovld __cnfn isordered(half3, half3);10819short4 __ovld __cnfn isordered(half4, half4);10820short8 __ovld __cnfn isordered(half8, half8);10821short16 __ovld __cnfn isordered(half16, half16);10822#endif //cl_khr_fp1610823 10824/**10825 * Test if arguments are unordered. isunordered()10826 * takes arguments x and y, returning non-zero if x or y10827 * is NaN, and zero otherwise.10828 */10829int __ovld __cnfn isunordered(float, float);10830int2 __ovld __cnfn isunordered(float2, float2);10831int3 __ovld __cnfn isunordered(float3, float3);10832int4 __ovld __cnfn isunordered(float4, float4);10833int8 __ovld __cnfn isunordered(float8, float8);10834int16 __ovld __cnfn isunordered(float16, float16);10835#ifdef cl_khr_fp6410836int __ovld __cnfn isunordered(double, double);10837long2 __ovld __cnfn isunordered(double2, double2);10838long3 __ovld __cnfn isunordered(double3, double3);10839long4 __ovld __cnfn isunordered(double4, double4);10840long8 __ovld __cnfn isunordered(double8, double8);10841long16 __ovld __cnfn isunordered(double16, double16);10842#endif //cl_khr_fp6410843#ifdef cl_khr_fp1610844int __ovld __cnfn isunordered(half, half);10845short2 __ovld __cnfn isunordered(half2, half2);10846short3 __ovld __cnfn isunordered(half3, half3);10847short4 __ovld __cnfn isunordered(half4, half4);10848short8 __ovld __cnfn isunordered(half8, half8);10849short16 __ovld __cnfn isunordered(half16, half16);10850#endif //cl_khr_fp1610851 10852/**10853 * Test for sign bit. The scalar version of the function10854 * returns a 1 if the sign bit in the float is set else returns10855 * 0. The vector version of the function returns the10856 * following for each component in floatn: a -1 if the10857 * sign bit in the float is set else returns 0.10858 */10859int __ovld __cnfn signbit(float);10860int2 __ovld __cnfn signbit(float2);10861int3 __ovld __cnfn signbit(float3);10862int4 __ovld __cnfn signbit(float4);10863int8 __ovld __cnfn signbit(float8);10864int16 __ovld __cnfn signbit(float16);10865#ifdef cl_khr_fp6410866int __ovld __cnfn signbit(double);10867long2 __ovld __cnfn signbit(double2);10868long3 __ovld __cnfn signbit(double3);10869long4 __ovld __cnfn signbit(double4);10870long8 __ovld __cnfn signbit(double8);10871long16 __ovld __cnfn signbit(double16);10872#endif //cl_khr_fp6410873#ifdef cl_khr_fp1610874int __ovld __cnfn signbit(half);10875short2 __ovld __cnfn signbit(half2);10876short3 __ovld __cnfn signbit(half3);10877short4 __ovld __cnfn signbit(half4);10878short8 __ovld __cnfn signbit(half8);10879short16 __ovld __cnfn signbit(half16);10880#endif //cl_khr_fp1610881 10882/**10883 * Returns 1 if the most significant bit in any component10884 * of x is set; otherwise returns 0.10885 */10886int __ovld __cnfn any(char);10887int __ovld __cnfn any(char2);10888int __ovld __cnfn any(char3);10889int __ovld __cnfn any(char4);10890int __ovld __cnfn any(char8);10891int __ovld __cnfn any(char16);10892int __ovld __cnfn any(short);10893int __ovld __cnfn any(short2);10894int __ovld __cnfn any(short3);10895int __ovld __cnfn any(short4);10896int __ovld __cnfn any(short8);10897int __ovld __cnfn any(short16);10898int __ovld __cnfn any(int);10899int __ovld __cnfn any(int2);10900int __ovld __cnfn any(int3);10901int __ovld __cnfn any(int4);10902int __ovld __cnfn any(int8);10903int __ovld __cnfn any(int16);10904int __ovld __cnfn any(long);10905int __ovld __cnfn any(long2);10906int __ovld __cnfn any(long3);10907int __ovld __cnfn any(long4);10908int __ovld __cnfn any(long8);10909int __ovld __cnfn any(long16);10910 10911/**10912 * Returns 1 if the most significant bit in all components10913 * of x is set; otherwise returns 0.10914 */10915int __ovld __cnfn all(char);10916int __ovld __cnfn all(char2);10917int __ovld __cnfn all(char3);10918int __ovld __cnfn all(char4);10919int __ovld __cnfn all(char8);10920int __ovld __cnfn all(char16);10921int __ovld __cnfn all(short);10922int __ovld __cnfn all(short2);10923int __ovld __cnfn all(short3);10924int __ovld __cnfn all(short4);10925int __ovld __cnfn all(short8);10926int __ovld __cnfn all(short16);10927int __ovld __cnfn all(int);10928int __ovld __cnfn all(int2);10929int __ovld __cnfn all(int3);10930int __ovld __cnfn all(int4);10931int __ovld __cnfn all(int8);10932int __ovld __cnfn all(int16);10933int __ovld __cnfn all(long);10934int __ovld __cnfn all(long2);10935int __ovld __cnfn all(long3);10936int __ovld __cnfn all(long4);10937int __ovld __cnfn all(long8);10938int __ovld __cnfn all(long16);10939 10940/**10941 * Each bit of the result is the corresponding bit of a if10942 * the corresponding bit of c is 0. Otherwise it is the10943 * corresponding bit of b.10944 */10945char __ovld __cnfn bitselect(char, char, char);10946uchar __ovld __cnfn bitselect(uchar, uchar, uchar);10947char2 __ovld __cnfn bitselect(char2, char2, char2);10948uchar2 __ovld __cnfn bitselect(uchar2, uchar2, uchar2);10949char3 __ovld __cnfn bitselect(char3, char3, char3);10950uchar3 __ovld __cnfn bitselect(uchar3, uchar3, uchar3);10951char4 __ovld __cnfn bitselect(char4, char4, char4);10952uchar4 __ovld __cnfn bitselect(uchar4, uchar4, uchar4);10953char8 __ovld __cnfn bitselect(char8, char8, char8);10954uchar8 __ovld __cnfn bitselect(uchar8, uchar8, uchar8);10955char16 __ovld __cnfn bitselect(char16, char16, char16);10956uchar16 __ovld __cnfn bitselect(uchar16, uchar16, uchar16);10957short __ovld __cnfn bitselect(short, short, short);10958ushort __ovld __cnfn bitselect(ushort, ushort, ushort);10959short2 __ovld __cnfn bitselect(short2, short2, short2);10960ushort2 __ovld __cnfn bitselect(ushort2, ushort2, ushort2);10961short3 __ovld __cnfn bitselect(short3, short3, short3);10962ushort3 __ovld __cnfn bitselect(ushort3, ushort3, ushort3);10963short4 __ovld __cnfn bitselect(short4, short4, short4);10964ushort4 __ovld __cnfn bitselect(ushort4, ushort4, ushort4);10965short8 __ovld __cnfn bitselect(short8, short8, short8);10966ushort8 __ovld __cnfn bitselect(ushort8, ushort8, ushort8);10967short16 __ovld __cnfn bitselect(short16, short16, short16);10968ushort16 __ovld __cnfn bitselect(ushort16, ushort16, ushort16);10969int __ovld __cnfn bitselect(int, int, int);10970uint __ovld __cnfn bitselect(uint, uint, uint);10971int2 __ovld __cnfn bitselect(int2, int2, int2);10972uint2 __ovld __cnfn bitselect(uint2, uint2, uint2);10973int3 __ovld __cnfn bitselect(int3, int3, int3);10974uint3 __ovld __cnfn bitselect(uint3, uint3, uint3);10975int4 __ovld __cnfn bitselect(int4, int4, int4);10976uint4 __ovld __cnfn bitselect(uint4, uint4, uint4);10977int8 __ovld __cnfn bitselect(int8, int8, int8);10978uint8 __ovld __cnfn bitselect(uint8, uint8, uint8);10979int16 __ovld __cnfn bitselect(int16, int16, int16);10980uint16 __ovld __cnfn bitselect(uint16, uint16, uint16);10981long __ovld __cnfn bitselect(long, long, long);10982ulong __ovld __cnfn bitselect(ulong, ulong, ulong);10983long2 __ovld __cnfn bitselect(long2, long2, long2);10984ulong2 __ovld __cnfn bitselect(ulong2, ulong2, ulong2);10985long3 __ovld __cnfn bitselect(long3, long3, long3);10986ulong3 __ovld __cnfn bitselect(ulong3, ulong3, ulong3);10987long4 __ovld __cnfn bitselect(long4, long4, long4);10988ulong4 __ovld __cnfn bitselect(ulong4, ulong4, ulong4);10989long8 __ovld __cnfn bitselect(long8, long8, long8);10990ulong8 __ovld __cnfn bitselect(ulong8, ulong8, ulong8);10991long16 __ovld __cnfn bitselect(long16, long16, long16);10992ulong16 __ovld __cnfn bitselect(ulong16, ulong16, ulong16);10993float __ovld __cnfn bitselect(float, float, float);10994float2 __ovld __cnfn bitselect(float2, float2, float2);10995float3 __ovld __cnfn bitselect(float3, float3, float3);10996float4 __ovld __cnfn bitselect(float4, float4, float4);10997float8 __ovld __cnfn bitselect(float8, float8, float8);10998float16 __ovld __cnfn bitselect(float16, float16, float16);10999#ifdef cl_khr_fp6411000double __ovld __cnfn bitselect(double, double, double);11001double2 __ovld __cnfn bitselect(double2, double2, double2);11002double3 __ovld __cnfn bitselect(double3, double3, double3);11003double4 __ovld __cnfn bitselect(double4, double4, double4);11004double8 __ovld __cnfn bitselect(double8, double8, double8);11005double16 __ovld __cnfn bitselect(double16, double16, double16);11006#endif //cl_khr_fp6411007#ifdef cl_khr_fp1611008half __ovld __cnfn bitselect(half, half, half);11009half2 __ovld __cnfn bitselect(half2, half2, half2);11010half3 __ovld __cnfn bitselect(half3, half3, half3);11011half4 __ovld __cnfn bitselect(half4, half4, half4);11012half8 __ovld __cnfn bitselect(half8, half8, half8);11013half16 __ovld __cnfn bitselect(half16, half16, half16);11014#endif //cl_khr_fp1611015 11016/**11017 * For each component of a vector type,11018 * result[i] = if MSB of c[i] is set ? b[i] : a[i].11019 * For a scalar type, result = c ? b : a.11020 * b and a must have the same type.11021 * c must have the same number of elements and bits as a.11022 */11023char __ovld __cnfn select(char, char, char);11024uchar __ovld __cnfn select(uchar, uchar, char);11025char2 __ovld __cnfn select(char2, char2, char2);11026uchar2 __ovld __cnfn select(uchar2, uchar2, char2);11027char3 __ovld __cnfn select(char3, char3, char3);11028uchar3 __ovld __cnfn select(uchar3, uchar3, char3);11029char4 __ovld __cnfn select(char4, char4, char4);11030uchar4 __ovld __cnfn select(uchar4, uchar4, char4);11031char8 __ovld __cnfn select(char8, char8, char8);11032uchar8 __ovld __cnfn select(uchar8, uchar8, char8);11033char16 __ovld __cnfn select(char16, char16, char16);11034uchar16 __ovld __cnfn select(uchar16, uchar16, char16);11035 11036short __ovld __cnfn select(short, short, short);11037ushort __ovld __cnfn select(ushort, ushort, short);11038short2 __ovld __cnfn select(short2, short2, short2);11039ushort2 __ovld __cnfn select(ushort2, ushort2, short2);11040short3 __ovld __cnfn select(short3, short3, short3);11041ushort3 __ovld __cnfn select(ushort3, ushort3, short3);11042short4 __ovld __cnfn select(short4, short4, short4);11043ushort4 __ovld __cnfn select(ushort4, ushort4, short4);11044short8 __ovld __cnfn select(short8, short8, short8);11045ushort8 __ovld __cnfn select(ushort8, ushort8, short8);11046short16 __ovld __cnfn select(short16, short16, short16);11047ushort16 __ovld __cnfn select(ushort16, ushort16, short16);11048 11049int __ovld __cnfn select(int, int, int);11050uint __ovld __cnfn select(uint, uint, int);11051int2 __ovld __cnfn select(int2, int2, int2);11052uint2 __ovld __cnfn select(uint2, uint2, int2);11053int3 __ovld __cnfn select(int3, int3, int3);11054uint3 __ovld __cnfn select(uint3, uint3, int3);11055int4 __ovld __cnfn select(int4, int4, int4);11056uint4 __ovld __cnfn select(uint4, uint4, int4);11057int8 __ovld __cnfn select(int8, int8, int8);11058uint8 __ovld __cnfn select(uint8, uint8, int8);11059int16 __ovld __cnfn select(int16, int16, int16);11060uint16 __ovld __cnfn select(uint16, uint16, int16);11061float __ovld __cnfn select(float, float, int);11062float2 __ovld __cnfn select(float2, float2, int2);11063float3 __ovld __cnfn select(float3, float3, int3);11064float4 __ovld __cnfn select(float4, float4, int4);11065float8 __ovld __cnfn select(float8, float8, int8);11066float16 __ovld __cnfn select(float16, float16, int16);11067 11068long __ovld __cnfn select(long, long, long);11069ulong __ovld __cnfn select(ulong, ulong, long);11070long2 __ovld __cnfn select(long2, long2, long2);11071ulong2 __ovld __cnfn select(ulong2, ulong2, long2);11072long3 __ovld __cnfn select(long3, long3, long3);11073ulong3 __ovld __cnfn select(ulong3, ulong3, long3);11074long4 __ovld __cnfn select(long4, long4, long4);11075ulong4 __ovld __cnfn select(ulong4, ulong4, long4);11076long8 __ovld __cnfn select(long8, long8, long8);11077ulong8 __ovld __cnfn select(ulong8, ulong8, long8);11078long16 __ovld __cnfn select(long16, long16, long16);11079ulong16 __ovld __cnfn select(ulong16, ulong16, long16);11080 11081char __ovld __cnfn select(char, char, uchar);11082uchar __ovld __cnfn select(uchar, uchar, uchar);11083char2 __ovld __cnfn select(char2, char2, uchar2);11084uchar2 __ovld __cnfn select(uchar2, uchar2, uchar2);11085char3 __ovld __cnfn select(char3, char3, uchar3);11086uchar3 __ovld __cnfn select(uchar3, uchar3, uchar3);11087char4 __ovld __cnfn select(char4, char4, uchar4);11088uchar4 __ovld __cnfn select(uchar4, uchar4, uchar4);11089char8 __ovld __cnfn select(char8, char8, uchar8);11090uchar8 __ovld __cnfn select(uchar8, uchar8, uchar8);11091char16 __ovld __cnfn select(char16, char16, uchar16);11092uchar16 __ovld __cnfn select(uchar16, uchar16, uchar16);11093 11094short __ovld __cnfn select(short, short, ushort);11095ushort __ovld __cnfn select(ushort, ushort, ushort);11096short2 __ovld __cnfn select(short2, short2, ushort2);11097ushort2 __ovld __cnfn select(ushort2, ushort2, ushort2);11098short3 __ovld __cnfn select(short3, short3, ushort3);11099ushort3 __ovld __cnfn select(ushort3, ushort3, ushort3);11100short4 __ovld __cnfn select(short4, short4, ushort4);11101ushort4 __ovld __cnfn select(ushort4, ushort4, ushort4);11102short8 __ovld __cnfn select(short8, short8, ushort8);11103ushort8 __ovld __cnfn select(ushort8, ushort8, ushort8);11104short16 __ovld __cnfn select(short16, short16, ushort16);11105ushort16 __ovld __cnfn select(ushort16, ushort16, ushort16);11106 11107int __ovld __cnfn select(int, int, uint);11108uint __ovld __cnfn select(uint, uint, uint);11109int2 __ovld __cnfn select(int2, int2, uint2);11110uint2 __ovld __cnfn select(uint2, uint2, uint2);11111int3 __ovld __cnfn select(int3, int3, uint3);11112uint3 __ovld __cnfn select(uint3, uint3, uint3);11113int4 __ovld __cnfn select(int4, int4, uint4);11114uint4 __ovld __cnfn select(uint4, uint4, uint4);11115int8 __ovld __cnfn select(int8, int8, uint8);11116uint8 __ovld __cnfn select(uint8, uint8, uint8);11117int16 __ovld __cnfn select(int16, int16, uint16);11118uint16 __ovld __cnfn select(uint16, uint16, uint16);11119float __ovld __cnfn select(float, float, uint);11120float2 __ovld __cnfn select(float2, float2, uint2);11121float3 __ovld __cnfn select(float3, float3, uint3);11122float4 __ovld __cnfn select(float4, float4, uint4);11123float8 __ovld __cnfn select(float8, float8, uint8);11124float16 __ovld __cnfn select(float16, float16, uint16);11125 11126long __ovld __cnfn select(long, long, ulong);11127ulong __ovld __cnfn select(ulong, ulong, ulong);11128long2 __ovld __cnfn select(long2, long2, ulong2);11129ulong2 __ovld __cnfn select(ulong2, ulong2, ulong2);11130long3 __ovld __cnfn select(long3, long3, ulong3);11131ulong3 __ovld __cnfn select(ulong3, ulong3, ulong3);11132long4 __ovld __cnfn select(long4, long4, ulong4);11133ulong4 __ovld __cnfn select(ulong4, ulong4, ulong4);11134long8 __ovld __cnfn select(long8, long8, ulong8);11135ulong8 __ovld __cnfn select(ulong8, ulong8, ulong8);11136long16 __ovld __cnfn select(long16, long16, ulong16);11137ulong16 __ovld __cnfn select(ulong16, ulong16, ulong16);11138 11139#ifdef cl_khr_fp6411140double __ovld __cnfn select(double, double, long);11141double2 __ovld __cnfn select(double2, double2, long2);11142double3 __ovld __cnfn select(double3, double3, long3);11143double4 __ovld __cnfn select(double4, double4, long4);11144double8 __ovld __cnfn select(double8, double8, long8);11145double16 __ovld __cnfn select(double16, double16, long16);11146double __ovld __cnfn select(double, double, ulong);11147double2 __ovld __cnfn select(double2, double2, ulong2);11148double3 __ovld __cnfn select(double3, double3, ulong3);11149double4 __ovld __cnfn select(double4, double4, ulong4);11150double8 __ovld __cnfn select(double8, double8, ulong8);11151double16 __ovld __cnfn select(double16, double16, ulong16);11152#endif //cl_khr_fp6411153#ifdef cl_khr_fp1611154half __ovld __cnfn select(half, half, short);11155half2 __ovld __cnfn select(half2, half2, short2);11156half3 __ovld __cnfn select(half3, half3, short3);11157half4 __ovld __cnfn select(half4, half4, short4);11158half8 __ovld __cnfn select(half8, half8, short8);11159half16 __ovld __cnfn select(half16, half16, short16);11160half __ovld __cnfn select(half, half, ushort);11161half2 __ovld __cnfn select(half2, half2, ushort2);11162half3 __ovld __cnfn select(half3, half3, ushort3);11163half4 __ovld __cnfn select(half4, half4, ushort4);11164half8 __ovld __cnfn select(half8, half8, ushort8);11165half16 __ovld __cnfn select(half16, half16, ushort16);11166#endif //cl_khr_fp1611167 11168// OpenCL v1.1 s6.11.7, v1.2 s6.12.7, v2.0 s6.13.7 - Vector Data Load and Store Functions11169// 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 Type11170/**11171 * Use generic type gentype to indicate the built-in data types11172 * char, uchar, short, ushort, int, uint, long, ulong, float,11173 * double or half.11174 *11175 * vloadn return sizeof (gentypen) bytes of data read from address (p + (offset * n)).11176 *11177 * vstoren write sizeof (gentypen) bytes given by data to address (p + (offset * n)).11178 *11179 * The address computed as (p + (offset * n)) must be11180 * 8-bit aligned if gentype is char, uchar;11181 * 16-bit aligned if gentype is short, ushort, half;11182 * 32-bit aligned if gentype is int, uint, float;11183 * 64-bit aligned if gentype is long, ulong, double.11184 */11185 11186char2 __ovld __purefn vload2(size_t, const __constant char *);11187uchar2 __ovld __purefn vload2(size_t, const __constant uchar *);11188short2 __ovld __purefn vload2(size_t, const __constant short *);11189ushort2 __ovld __purefn vload2(size_t, const __constant ushort *);11190int2 __ovld __purefn vload2(size_t, const __constant int *);11191uint2 __ovld __purefn vload2(size_t, const __constant uint *);11192long2 __ovld __purefn vload2(size_t, const __constant long *);11193ulong2 __ovld __purefn vload2(size_t, const __constant ulong *);11194float2 __ovld __purefn vload2(size_t, const __constant float *);11195char3 __ovld __purefn vload3(size_t, const __constant char *);11196uchar3 __ovld __purefn vload3(size_t, const __constant uchar *);11197short3 __ovld __purefn vload3(size_t, const __constant short *);11198ushort3 __ovld __purefn vload3(size_t, const __constant ushort *);11199int3 __ovld __purefn vload3(size_t, const __constant int *);11200uint3 __ovld __purefn vload3(size_t, const __constant uint *);11201long3 __ovld __purefn vload3(size_t, const __constant long *);11202ulong3 __ovld __purefn vload3(size_t, const __constant ulong *);11203float3 __ovld __purefn vload3(size_t, const __constant float *);11204char4 __ovld __purefn vload4(size_t, const __constant char *);11205uchar4 __ovld __purefn vload4(size_t, const __constant uchar *);11206short4 __ovld __purefn vload4(size_t, const __constant short *);11207ushort4 __ovld __purefn vload4(size_t, const __constant ushort *);11208int4 __ovld __purefn vload4(size_t, const __constant int *);11209uint4 __ovld __purefn vload4(size_t, const __constant uint *);11210long4 __ovld __purefn vload4(size_t, const __constant long *);11211ulong4 __ovld __purefn vload4(size_t, const __constant ulong *);11212float4 __ovld __purefn vload4(size_t, const __constant float *);11213char8 __ovld __purefn vload8(size_t, const __constant char *);11214uchar8 __ovld __purefn vload8(size_t, const __constant uchar *);11215short8 __ovld __purefn vload8(size_t, const __constant short *);11216ushort8 __ovld __purefn vload8(size_t, const __constant ushort *);11217int8 __ovld __purefn vload8(size_t, const __constant int *);11218uint8 __ovld __purefn vload8(size_t, const __constant uint *);11219long8 __ovld __purefn vload8(size_t, const __constant long *);11220ulong8 __ovld __purefn vload8(size_t, const __constant ulong *);11221float8 __ovld __purefn vload8(size_t, const __constant float *);11222char16 __ovld __purefn vload16(size_t, const __constant char *);11223uchar16 __ovld __purefn vload16(size_t, const __constant uchar *);11224short16 __ovld __purefn vload16(size_t, const __constant short *);11225ushort16 __ovld __purefn vload16(size_t, const __constant ushort *);11226int16 __ovld __purefn vload16(size_t, const __constant int *);11227uint16 __ovld __purefn vload16(size_t, const __constant uint *);11228long16 __ovld __purefn vload16(size_t, const __constant long *);11229ulong16 __ovld __purefn vload16(size_t, const __constant ulong *);11230float16 __ovld __purefn vload16(size_t, const __constant float *);11231#ifdef cl_khr_fp6411232double2 __ovld __purefn vload2(size_t, const __constant double *);11233double3 __ovld __purefn vload3(size_t, const __constant double *);11234double4 __ovld __purefn vload4(size_t, const __constant double *);11235double8 __ovld __purefn vload8(size_t, const __constant double *);11236double16 __ovld __purefn vload16(size_t, const __constant double *);11237#endif //cl_khr_fp6411238 11239#ifdef cl_khr_fp1611240half2 __ovld __purefn vload2(size_t, const __constant half *);11241half3 __ovld __purefn vload3(size_t, const __constant half *);11242half4 __ovld __purefn vload4(size_t, const __constant half *);11243half8 __ovld __purefn vload8(size_t, const __constant half *);11244half16 __ovld __purefn vload16(size_t, const __constant half *);11245#endif //cl_khr_fp1611246 11247#if defined(__opencl_c_generic_address_space)11248char2 __ovld __purefn vload2(size_t, const char *);11249uchar2 __ovld __purefn vload2(size_t, const uchar *);11250short2 __ovld __purefn vload2(size_t, const short *);11251ushort2 __ovld __purefn vload2(size_t, const ushort *);11252int2 __ovld __purefn vload2(size_t, const int *);11253uint2 __ovld __purefn vload2(size_t, const uint *);11254long2 __ovld __purefn vload2(size_t, const long *);11255ulong2 __ovld __purefn vload2(size_t, const ulong *);11256float2 __ovld __purefn vload2(size_t, const float *);11257char3 __ovld __purefn vload3(size_t, const char *);11258uchar3 __ovld __purefn vload3(size_t, const uchar *);11259short3 __ovld __purefn vload3(size_t, const short *);11260ushort3 __ovld __purefn vload3(size_t, const ushort *);11261int3 __ovld __purefn vload3(size_t, const int *);11262uint3 __ovld __purefn vload3(size_t, const uint *);11263long3 __ovld __purefn vload3(size_t, const long *);11264ulong3 __ovld __purefn vload3(size_t, const ulong *);11265float3 __ovld __purefn vload3(size_t, const float *);11266char4 __ovld __purefn vload4(size_t, const char *);11267uchar4 __ovld __purefn vload4(size_t, const uchar *);11268short4 __ovld __purefn vload4(size_t, const short *);11269ushort4 __ovld __purefn vload4(size_t, const ushort *);11270int4 __ovld __purefn vload4(size_t, const int *);11271uint4 __ovld __purefn vload4(size_t, const uint *);11272long4 __ovld __purefn vload4(size_t, const long *);11273ulong4 __ovld __purefn vload4(size_t, const ulong *);11274float4 __ovld __purefn vload4(size_t, const float *);11275char8 __ovld __purefn vload8(size_t, const char *);11276uchar8 __ovld __purefn vload8(size_t, const uchar *);11277short8 __ovld __purefn vload8(size_t, const short *);11278ushort8 __ovld __purefn vload8(size_t, const ushort *);11279int8 __ovld __purefn vload8(size_t, const int *);11280uint8 __ovld __purefn vload8(size_t, const uint *);11281long8 __ovld __purefn vload8(size_t, const long *);11282ulong8 __ovld __purefn vload8(size_t, const ulong *);11283float8 __ovld __purefn vload8(size_t, const float *);11284char16 __ovld __purefn vload16(size_t, const char *);11285uchar16 __ovld __purefn vload16(size_t, const uchar *);11286short16 __ovld __purefn vload16(size_t, const short *);11287ushort16 __ovld __purefn vload16(size_t, const ushort *);11288int16 __ovld __purefn vload16(size_t, const int *);11289uint16 __ovld __purefn vload16(size_t, const uint *);11290long16 __ovld __purefn vload16(size_t, const long *);11291ulong16 __ovld __purefn vload16(size_t, const ulong *);11292float16 __ovld __purefn vload16(size_t, const float *);11293 11294#ifdef cl_khr_fp6411295double2 __ovld __purefn vload2(size_t, const double *);11296double3 __ovld __purefn vload3(size_t, const double *);11297double4 __ovld __purefn vload4(size_t, const double *);11298double8 __ovld __purefn vload8(size_t, const double *);11299double16 __ovld __purefn vload16(size_t, const double *);11300#endif //cl_khr_fp6411301 11302#ifdef cl_khr_fp1611303half2 __ovld __purefn vload2(size_t, const half *);11304half3 __ovld __purefn vload3(size_t, const half *);11305half4 __ovld __purefn vload4(size_t, const half *);11306half8 __ovld __purefn vload8(size_t, const half *);11307half16 __ovld __purefn vload16(size_t, const half *);11308#endif //cl_khr_fp1611309#endif //defined(__opencl_c_generic_address_space)11310 11311#if defined(__opencl_c_named_address_space_builtins)11312char2 __ovld __purefn vload2(size_t, const __global char *);11313uchar2 __ovld __purefn vload2(size_t, const __global uchar *);11314short2 __ovld __purefn vload2(size_t, const __global short *);11315ushort2 __ovld __purefn vload2(size_t, const __global ushort *);11316int2 __ovld __purefn vload2(size_t, const __global int *);11317uint2 __ovld __purefn vload2(size_t, const __global uint *);11318long2 __ovld __purefn vload2(size_t, const __global long *);11319ulong2 __ovld __purefn vload2(size_t, const __global ulong *);11320float2 __ovld __purefn vload2(size_t, const __global float *);11321char3 __ovld __purefn vload3(size_t, const __global char *);11322uchar3 __ovld __purefn vload3(size_t, const __global uchar *);11323short3 __ovld __purefn vload3(size_t, const __global short *);11324ushort3 __ovld __purefn vload3(size_t, const __global ushort *);11325int3 __ovld __purefn vload3(size_t, const __global int *);11326uint3 __ovld __purefn vload3(size_t, const __global uint *);11327long3 __ovld __purefn vload3(size_t, const __global long *);11328ulong3 __ovld __purefn vload3(size_t, const __global ulong *);11329float3 __ovld __purefn vload3(size_t, const __global float *);11330char4 __ovld __purefn vload4(size_t, const __global char *);11331uchar4 __ovld __purefn vload4(size_t, const __global uchar *);11332short4 __ovld __purefn vload4(size_t, const __global short *);11333ushort4 __ovld __purefn vload4(size_t, const __global ushort *);11334int4 __ovld __purefn vload4(size_t, const __global int *);11335uint4 __ovld __purefn vload4(size_t, const __global uint *);11336long4 __ovld __purefn vload4(size_t, const __global long *);11337ulong4 __ovld __purefn vload4(size_t, const __global ulong *);11338float4 __ovld __purefn vload4(size_t, const __global float *);11339char8 __ovld __purefn vload8(size_t, const __global char *);11340uchar8 __ovld __purefn vload8(size_t, const __global uchar *);11341short8 __ovld __purefn vload8(size_t, const __global short *);11342ushort8 __ovld __purefn vload8(size_t, const __global ushort *);11343int8 __ovld __purefn vload8(size_t, const __global int *);11344uint8 __ovld __purefn vload8(size_t, const __global uint *);11345long8 __ovld __purefn vload8(size_t, const __global long *);11346ulong8 __ovld __purefn vload8(size_t, const __global ulong *);11347float8 __ovld __purefn vload8(size_t, const __global float *);11348char16 __ovld __purefn vload16(size_t, const __global char *);11349uchar16 __ovld __purefn vload16(size_t, const __global uchar *);11350short16 __ovld __purefn vload16(size_t, const __global short *);11351ushort16 __ovld __purefn vload16(size_t, const __global ushort *);11352int16 __ovld __purefn vload16(size_t, const __global int *);11353uint16 __ovld __purefn vload16(size_t, const __global uint *);11354long16 __ovld __purefn vload16(size_t, const __global long *);11355ulong16 __ovld __purefn vload16(size_t, const __global ulong *);11356float16 __ovld __purefn vload16(size_t, const __global float *);11357char2 __ovld __purefn vload2(size_t, const __local char *);11358uchar2 __ovld __purefn vload2(size_t, const __local uchar *);11359short2 __ovld __purefn vload2(size_t, const __local short *);11360ushort2 __ovld __purefn vload2(size_t, const __local ushort *);11361int2 __ovld __purefn vload2(size_t, const __local int *);11362uint2 __ovld __purefn vload2(size_t, const __local uint *);11363long2 __ovld __purefn vload2(size_t, const __local long *);11364ulong2 __ovld __purefn vload2(size_t, const __local ulong *);11365float2 __ovld __purefn vload2(size_t, const __local float *);11366char3 __ovld __purefn vload3(size_t, const __local char *);11367uchar3 __ovld __purefn vload3(size_t, const __local uchar *);11368short3 __ovld __purefn vload3(size_t, const __local short *);11369ushort3 __ovld __purefn vload3(size_t, const __local ushort *);11370int3 __ovld __purefn vload3(size_t, const __local int *);11371uint3 __ovld __purefn vload3(size_t, const __local uint *);11372long3 __ovld __purefn vload3(size_t, const __local long *);11373ulong3 __ovld __purefn vload3(size_t, const __local ulong *);11374float3 __ovld __purefn vload3(size_t, const __local float *);11375char4 __ovld __purefn vload4(size_t, const __local char *);11376uchar4 __ovld __purefn vload4(size_t, const __local uchar *);11377short4 __ovld __purefn vload4(size_t, const __local short *);11378ushort4 __ovld __purefn vload4(size_t, const __local ushort *);11379int4 __ovld __purefn vload4(size_t, const __local int *);11380uint4 __ovld __purefn vload4(size_t, const __local uint *);11381long4 __ovld __purefn vload4(size_t, const __local long *);11382ulong4 __ovld __purefn vload4(size_t, const __local ulong *);11383float4 __ovld __purefn vload4(size_t, const __local float *);11384char8 __ovld __purefn vload8(size_t, const __local char *);11385uchar8 __ovld __purefn vload8(size_t, const __local uchar *);11386short8 __ovld __purefn vload8(size_t, const __local short *);11387ushort8 __ovld __purefn vload8(size_t, const __local ushort *);11388int8 __ovld __purefn vload8(size_t, const __local int *);11389uint8 __ovld __purefn vload8(size_t, const __local uint *);11390long8 __ovld __purefn vload8(size_t, const __local long *);11391ulong8 __ovld __purefn vload8(size_t, const __local ulong *);11392float8 __ovld __purefn vload8(size_t, const __local float *);11393char16 __ovld __purefn vload16(size_t, const __local char *);11394uchar16 __ovld __purefn vload16(size_t, const __local uchar *);11395short16 __ovld __purefn vload16(size_t, const __local short *);11396ushort16 __ovld __purefn vload16(size_t, const __local ushort *);11397int16 __ovld __purefn vload16(size_t, const __local int *);11398uint16 __ovld __purefn vload16(size_t, const __local uint *);11399long16 __ovld __purefn vload16(size_t, const __local long *);11400ulong16 __ovld __purefn vload16(size_t, const __local ulong *);11401float16 __ovld __purefn vload16(size_t, const __local float *);11402char2 __ovld __purefn vload2(size_t, const __private char *);11403uchar2 __ovld __purefn vload2(size_t, const __private uchar *);11404short2 __ovld __purefn vload2(size_t, const __private short *);11405ushort2 __ovld __purefn vload2(size_t, const __private ushort *);11406int2 __ovld __purefn vload2(size_t, const __private int *);11407uint2 __ovld __purefn vload2(size_t, const __private uint *);11408long2 __ovld __purefn vload2(size_t, const __private long *);11409ulong2 __ovld __purefn vload2(size_t, const __private ulong *);11410float2 __ovld __purefn vload2(size_t, const __private float *);11411char3 __ovld __purefn vload3(size_t, const __private char *);11412uchar3 __ovld __purefn vload3(size_t, const __private uchar *);11413short3 __ovld __purefn vload3(size_t, const __private short *);11414ushort3 __ovld __purefn vload3(size_t, const __private ushort *);11415int3 __ovld __purefn vload3(size_t, const __private int *);11416uint3 __ovld __purefn vload3(size_t, const __private uint *);11417long3 __ovld __purefn vload3(size_t, const __private long *);11418ulong3 __ovld __purefn vload3(size_t, const __private ulong *);11419float3 __ovld __purefn vload3(size_t, const __private float *);11420char4 __ovld __purefn vload4(size_t, const __private char *);11421uchar4 __ovld __purefn vload4(size_t, const __private uchar *);11422short4 __ovld __purefn vload4(size_t, const __private short *);11423ushort4 __ovld __purefn vload4(size_t, const __private ushort *);11424int4 __ovld __purefn vload4(size_t, const __private int *);11425uint4 __ovld __purefn vload4(size_t, const __private uint *);11426long4 __ovld __purefn vload4(size_t, const __private long *);11427ulong4 __ovld __purefn vload4(size_t, const __private ulong *);11428float4 __ovld __purefn vload4(size_t, const __private float *);11429char8 __ovld __purefn vload8(size_t, const __private char *);11430uchar8 __ovld __purefn vload8(size_t, const __private uchar *);11431short8 __ovld __purefn vload8(size_t, const __private short *);11432ushort8 __ovld __purefn vload8(size_t, const __private ushort *);11433int8 __ovld __purefn vload8(size_t, const __private int *);11434uint8 __ovld __purefn vload8(size_t, const __private uint *);11435long8 __ovld __purefn vload8(size_t, const __private long *);11436ulong8 __ovld __purefn vload8(size_t, const __private ulong *);11437float8 __ovld __purefn vload8(size_t, const __private float *);11438char16 __ovld __purefn vload16(size_t, const __private char *);11439uchar16 __ovld __purefn vload16(size_t, const __private uchar *);11440short16 __ovld __purefn vload16(size_t, const __private short *);11441ushort16 __ovld __purefn vload16(size_t, const __private ushort *);11442int16 __ovld __purefn vload16(size_t, const __private int *);11443uint16 __ovld __purefn vload16(size_t, const __private uint *);11444long16 __ovld __purefn vload16(size_t, const __private long *);11445ulong16 __ovld __purefn vload16(size_t, const __private ulong *);11446float16 __ovld __purefn vload16(size_t, const __private float *);11447 11448#ifdef cl_khr_fp6411449double2 __ovld __purefn vload2(size_t, const __global double *);11450double3 __ovld __purefn vload3(size_t, const __global double *);11451double4 __ovld __purefn vload4(size_t, const __global double *);11452double8 __ovld __purefn vload8(size_t, const __global double *);11453double16 __ovld __purefn vload16(size_t, const __global double *);11454double2 __ovld __purefn vload2(size_t, const __local double *);11455double3 __ovld __purefn vload3(size_t, const __local double *);11456double4 __ovld __purefn vload4(size_t, const __local double *);11457double8 __ovld __purefn vload8(size_t, const __local double *);11458double16 __ovld __purefn vload16(size_t, const __local double *);11459double2 __ovld __purefn vload2(size_t, const __private double *);11460double3 __ovld __purefn vload3(size_t, const __private double *);11461double4 __ovld __purefn vload4(size_t, const __private double *);11462double8 __ovld __purefn vload8(size_t, const __private double *);11463double16 __ovld __purefn vload16(size_t, const __private double *);11464#endif //cl_khr_fp6411465 11466#ifdef cl_khr_fp1611467half2 __ovld __purefn vload2(size_t, const __global half *);11468half3 __ovld __purefn vload3(size_t, const __global half *);11469half4 __ovld __purefn vload4(size_t, const __global half *);11470half8 __ovld __purefn vload8(size_t, const __global half *);11471half16 __ovld __purefn vload16(size_t, const __global half *);11472half2 __ovld __purefn vload2(size_t, const __local half *);11473half3 __ovld __purefn vload3(size_t, const __local half *);11474half4 __ovld __purefn vload4(size_t, const __local half *);11475half8 __ovld __purefn vload8(size_t, const __local half *);11476half16 __ovld __purefn vload16(size_t, const __local half *);11477half2 __ovld __purefn vload2(size_t, const __private half *);11478half3 __ovld __purefn vload3(size_t, const __private half *);11479half4 __ovld __purefn vload4(size_t, const __private half *);11480half8 __ovld __purefn vload8(size_t, const __private half *);11481half16 __ovld __purefn vload16(size_t, const __private half *);11482#endif //cl_khr_fp1611483#endif //defined(__opencl_c_named_address_space_builtins)11484 11485#if defined(__opencl_c_generic_address_space)11486void __ovld vstore2(char2, size_t, char *);11487void __ovld vstore2(uchar2, size_t, uchar *);11488void __ovld vstore2(short2, size_t, short *);11489void __ovld vstore2(ushort2, size_t, ushort *);11490void __ovld vstore2(int2, size_t, int *);11491void __ovld vstore2(uint2, size_t, uint *);11492void __ovld vstore2(long2, size_t, long *);11493void __ovld vstore2(ulong2, size_t, ulong *);11494void __ovld vstore2(float2, size_t, float *);11495void __ovld vstore3(char3, size_t, char *);11496void __ovld vstore3(uchar3, size_t, uchar *);11497void __ovld vstore3(short3, size_t, short *);11498void __ovld vstore3(ushort3, size_t, ushort *);11499void __ovld vstore3(int3, size_t, int *);11500void __ovld vstore3(uint3, size_t, uint *);11501void __ovld vstore3(long3, size_t, long *);11502void __ovld vstore3(ulong3, size_t, ulong *);11503void __ovld vstore3(float3, size_t, float *);11504void __ovld vstore4(char4, size_t, char *);11505void __ovld vstore4(uchar4, size_t, uchar *);11506void __ovld vstore4(short4, size_t, short *);11507void __ovld vstore4(ushort4, size_t, ushort *);11508void __ovld vstore4(int4, size_t, int *);11509void __ovld vstore4(uint4, size_t, uint *);11510void __ovld vstore4(long4, size_t, long *);11511void __ovld vstore4(ulong4, size_t, ulong *);11512void __ovld vstore4(float4, size_t, float *);11513void __ovld vstore8(char8, size_t, char *);11514void __ovld vstore8(uchar8, size_t, uchar *);11515void __ovld vstore8(short8, size_t, short *);11516void __ovld vstore8(ushort8, size_t, ushort *);11517void __ovld vstore8(int8, size_t, int *);11518void __ovld vstore8(uint8, size_t, uint *);11519void __ovld vstore8(long8, size_t, long *);11520void __ovld vstore8(ulong8, size_t, ulong *);11521void __ovld vstore8(float8, size_t, float *);11522void __ovld vstore16(char16, size_t, char *);11523void __ovld vstore16(uchar16, size_t, uchar *);11524void __ovld vstore16(short16, size_t, short *);11525void __ovld vstore16(ushort16, size_t, ushort *);11526void __ovld vstore16(int16, size_t, int *);11527void __ovld vstore16(uint16, size_t, uint *);11528void __ovld vstore16(long16, size_t, long *);11529void __ovld vstore16(ulong16, size_t, ulong *);11530void __ovld vstore16(float16, size_t, float *);11531#ifdef cl_khr_fp6411532void __ovld vstore2(double2, size_t, double *);11533void __ovld vstore3(double3, size_t, double *);11534void __ovld vstore4(double4, size_t, double *);11535void __ovld vstore8(double8, size_t, double *);11536void __ovld vstore16(double16, size_t, double *);11537#endif //cl_khr_fp6411538#ifdef cl_khr_fp1611539void __ovld vstore2(half2, size_t, half *);11540void __ovld vstore3(half3, size_t, half *);11541void __ovld vstore4(half4, size_t, half *);11542void __ovld vstore8(half8, size_t, half *);11543void __ovld vstore16(half16, size_t, half *);11544#endif //cl_khr_fp1611545#endif //defined(__opencl_c_generic_address_space)11546 11547#if defined(__opencl_c_named_address_space_builtins)11548void __ovld vstore2(char2, size_t, __global char *);11549void __ovld vstore2(uchar2, size_t, __global uchar *);11550void __ovld vstore2(short2, size_t, __global short *);11551void __ovld vstore2(ushort2, size_t, __global ushort *);11552void __ovld vstore2(int2, size_t, __global int *);11553void __ovld vstore2(uint2, size_t, __global uint *);11554void __ovld vstore2(long2, size_t, __global long *);11555void __ovld vstore2(ulong2, size_t, __global ulong *);11556void __ovld vstore2(float2, size_t, __global float *);11557void __ovld vstore3(char3, size_t, __global char *);11558void __ovld vstore3(uchar3, size_t, __global uchar *);11559void __ovld vstore3(short3, size_t, __global short *);11560void __ovld vstore3(ushort3, size_t, __global ushort *);11561void __ovld vstore3(int3, size_t, __global int *);11562void __ovld vstore3(uint3, size_t, __global uint *);11563void __ovld vstore3(long3, size_t, __global long *);11564void __ovld vstore3(ulong3, size_t, __global ulong *);11565void __ovld vstore3(float3, size_t, __global float *);11566void __ovld vstore4(char4, size_t, __global char *);11567void __ovld vstore4(uchar4, size_t, __global uchar *);11568void __ovld vstore4(short4, size_t, __global short *);11569void __ovld vstore4(ushort4, size_t, __global ushort *);11570void __ovld vstore4(int4, size_t, __global int *);11571void __ovld vstore4(uint4, size_t, __global uint *);11572void __ovld vstore4(long4, size_t, __global long *);11573void __ovld vstore4(ulong4, size_t, __global ulong *);11574void __ovld vstore4(float4, size_t, __global float *);11575void __ovld vstore8(char8, size_t, __global char *);11576void __ovld vstore8(uchar8, size_t, __global uchar *);11577void __ovld vstore8(short8, size_t, __global short *);11578void __ovld vstore8(ushort8, size_t, __global ushort *);11579void __ovld vstore8(int8, size_t, __global int *);11580void __ovld vstore8(uint8, size_t, __global uint *);11581void __ovld vstore8(long8, size_t, __global long *);11582void __ovld vstore8(ulong8, size_t, __global ulong *);11583void __ovld vstore8(float8, size_t, __global float *);11584void __ovld vstore16(char16, size_t, __global char *);11585void __ovld vstore16(uchar16, size_t, __global uchar *);11586void __ovld vstore16(short16, size_t, __global short *);11587void __ovld vstore16(ushort16, size_t, __global ushort *);11588void __ovld vstore16(int16, size_t, __global int *);11589void __ovld vstore16(uint16, size_t, __global uint *);11590void __ovld vstore16(long16, size_t, __global long *);11591void __ovld vstore16(ulong16, size_t, __global ulong *);11592void __ovld vstore16(float16, size_t, __global float *);11593void __ovld vstore2(char2, size_t, __local char *);11594void __ovld vstore2(uchar2, size_t, __local uchar *);11595void __ovld vstore2(short2, size_t, __local short *);11596void __ovld vstore2(ushort2, size_t, __local ushort *);11597void __ovld vstore2(int2, size_t, __local int *);11598void __ovld vstore2(uint2, size_t, __local uint *);11599void __ovld vstore2(long2, size_t, __local long *);11600void __ovld vstore2(ulong2, size_t, __local ulong *);11601void __ovld vstore2(float2, size_t, __local float *);11602void __ovld vstore3(char3, size_t, __local char *);11603void __ovld vstore3(uchar3, size_t, __local uchar *);11604void __ovld vstore3(short3, size_t, __local short *);11605void __ovld vstore3(ushort3, size_t, __local ushort *);11606void __ovld vstore3(int3, size_t, __local int *);11607void __ovld vstore3(uint3, size_t, __local uint *);11608void __ovld vstore3(long3, size_t, __local long *);11609void __ovld vstore3(ulong3, size_t, __local ulong *);11610void __ovld vstore3(float3, size_t, __local float *);11611void __ovld vstore4(char4, size_t, __local char *);11612void __ovld vstore4(uchar4, size_t, __local uchar *);11613void __ovld vstore4(short4, size_t, __local short *);11614void __ovld vstore4(ushort4, size_t, __local ushort *);11615void __ovld vstore4(int4, size_t, __local int *);11616void __ovld vstore4(uint4, size_t, __local uint *);11617void __ovld vstore4(long4, size_t, __local long *);11618void __ovld vstore4(ulong4, size_t, __local ulong *);11619void __ovld vstore4(float4, size_t, __local float *);11620void __ovld vstore8(char8, size_t, __local char *);11621void __ovld vstore8(uchar8, size_t, __local uchar *);11622void __ovld vstore8(short8, size_t, __local short *);11623void __ovld vstore8(ushort8, size_t, __local ushort *);11624void __ovld vstore8(int8, size_t, __local int *);11625void __ovld vstore8(uint8, size_t, __local uint *);11626void __ovld vstore8(long8, size_t, __local long *);11627void __ovld vstore8(ulong8, size_t, __local ulong *);11628void __ovld vstore8(float8, size_t, __local float *);11629void __ovld vstore16(char16, size_t, __local char *);11630void __ovld vstore16(uchar16, size_t, __local uchar *);11631void __ovld vstore16(short16, size_t, __local short *);11632void __ovld vstore16(ushort16, size_t, __local ushort *);11633void __ovld vstore16(int16, size_t, __local int *);11634void __ovld vstore16(uint16, size_t, __local uint *);11635void __ovld vstore16(long16, size_t, __local long *);11636void __ovld vstore16(ulong16, size_t, __local ulong *);11637void __ovld vstore16(float16, size_t, __local float *);11638void __ovld vstore2(char2, size_t, __private char *);11639void __ovld vstore2(uchar2, size_t, __private uchar *);11640void __ovld vstore2(short2, size_t, __private short *);11641void __ovld vstore2(ushort2, size_t, __private ushort *);11642void __ovld vstore2(int2, size_t, __private int *);11643void __ovld vstore2(uint2, size_t, __private uint *);11644void __ovld vstore2(long2, size_t, __private long *);11645void __ovld vstore2(ulong2, size_t, __private ulong *);11646void __ovld vstore2(float2, size_t, __private float *);11647void __ovld vstore3(char3, size_t, __private char *);11648void __ovld vstore3(uchar3, size_t, __private uchar *);11649void __ovld vstore3(short3, size_t, __private short *);11650void __ovld vstore3(ushort3, size_t, __private ushort *);11651void __ovld vstore3(int3, size_t, __private int *);11652void __ovld vstore3(uint3, size_t, __private uint *);11653void __ovld vstore3(long3, size_t, __private long *);11654void __ovld vstore3(ulong3, size_t, __private ulong *);11655void __ovld vstore3(float3, size_t, __private float *);11656void __ovld vstore4(char4, size_t, __private char *);11657void __ovld vstore4(uchar4, size_t, __private uchar *);11658void __ovld vstore4(short4, size_t, __private short *);11659void __ovld vstore4(ushort4, size_t, __private ushort *);11660void __ovld vstore4(int4, size_t, __private int *);11661void __ovld vstore4(uint4, size_t, __private uint *);11662void __ovld vstore4(long4, size_t, __private long *);11663void __ovld vstore4(ulong4, size_t, __private ulong *);11664void __ovld vstore4(float4, size_t, __private float *);11665void __ovld vstore8(char8, size_t, __private char *);11666void __ovld vstore8(uchar8, size_t, __private uchar *);11667void __ovld vstore8(short8, size_t, __private short *);11668void __ovld vstore8(ushort8, size_t, __private ushort *);11669void __ovld vstore8(int8, size_t, __private int *);11670void __ovld vstore8(uint8, size_t, __private uint *);11671void __ovld vstore8(long8, size_t, __private long *);11672void __ovld vstore8(ulong8, size_t, __private ulong *);11673void __ovld vstore8(float8, size_t, __private float *);11674void __ovld vstore16(char16, size_t, __private char *);11675void __ovld vstore16(uchar16, size_t, __private uchar *);11676void __ovld vstore16(short16, size_t, __private short *);11677void __ovld vstore16(ushort16, size_t, __private ushort *);11678void __ovld vstore16(int16, size_t, __private int *);11679void __ovld vstore16(uint16, size_t, __private uint *);11680void __ovld vstore16(long16, size_t, __private long *);11681void __ovld vstore16(ulong16, size_t, __private ulong *);11682void __ovld vstore16(float16, size_t, __private float *);11683#ifdef cl_khr_fp6411684void __ovld vstore2(double2, size_t, __global double *);11685void __ovld vstore3(double3, size_t, __global double *);11686void __ovld vstore4(double4, size_t, __global double *);11687void __ovld vstore8(double8, size_t, __global double *);11688void __ovld vstore16(double16, size_t, __global double *);11689void __ovld vstore2(double2, size_t, __local double *);11690void __ovld vstore3(double3, size_t, __local double *);11691void __ovld vstore4(double4, size_t, __local double *);11692void __ovld vstore8(double8, size_t, __local double *);11693void __ovld vstore16(double16, size_t, __local double *);11694void __ovld vstore2(double2, size_t, __private double *);11695void __ovld vstore3(double3, size_t, __private double *);11696void __ovld vstore4(double4, size_t, __private double *);11697void __ovld vstore8(double8, size_t, __private double *);11698void __ovld vstore16(double16, size_t, __private double *);11699#endif //cl_khr_fp6411700#ifdef cl_khr_fp1611701void __ovld vstore2(half2, size_t, __global half *);11702void __ovld vstore3(half3, size_t, __global half *);11703void __ovld vstore4(half4, size_t, __global half *);11704void __ovld vstore8(half8, size_t, __global half *);11705void __ovld vstore16(half16, size_t, __global half *);11706void __ovld vstore2(half2, size_t, __local half *);11707void __ovld vstore3(half3, size_t, __local half *);11708void __ovld vstore4(half4, size_t, __local half *);11709void __ovld vstore8(half8, size_t, __local half *);11710void __ovld vstore16(half16, size_t, __local half *);11711void __ovld vstore2(half2, size_t, __private half *);11712void __ovld vstore3(half3, size_t, __private half *);11713void __ovld vstore4(half4, size_t, __private half *);11714void __ovld vstore8(half8, size_t, __private half *);11715void __ovld vstore16(half16, size_t, __private half *);11716#endif //cl_khr_fp1611717#endif //defined(__opencl_c_named_address_space_builtins)11718 11719/**11720 * Read sizeof (half) bytes of data from address11721 * (p + offset). The data read is interpreted as a11722 * half value. The half value is converted to a11723 * float value and the float value is returned.11724 * The read address computed as (p + offset)11725 * must be 16-bit aligned.11726 */11727float __ovld __purefn vload_half(size_t, const __constant half *);11728#if defined(__opencl_c_generic_address_space)11729float __ovld __purefn vload_half(size_t, const half *);11730#endif //defined(__opencl_c_generic_address_space)11731 11732#if defined(__opencl_c_named_address_space_builtins)11733float __ovld __purefn vload_half(size_t, const __global half *);11734float __ovld __purefn vload_half(size_t, const __local half *);11735float __ovld __purefn vload_half(size_t, const __private half *);11736#endif //defined(__opencl_c_named_address_space_builtins)11737 11738/**11739 * Read sizeof (halfn) bytes of data from address11740 * (p + (offset * n)). The data read is interpreted11741 * as a halfn value. The halfn value read is11742 * converted to a floatn value and the floatn11743 * value is returned. The read address computed11744 * as (p + (offset * n)) must be 16-bit aligned.11745 */11746float2 __ovld __purefn vload_half2(size_t, const __constant half *);11747float3 __ovld __purefn vload_half3(size_t, const __constant half *);11748float4 __ovld __purefn vload_half4(size_t, const __constant half *);11749float8 __ovld __purefn vload_half8(size_t, const __constant half *);11750float16 __ovld __purefn vload_half16(size_t, const __constant half *);11751#if defined(__opencl_c_generic_address_space)11752float2 __ovld __purefn vload_half2(size_t, const half *);11753float3 __ovld __purefn vload_half3(size_t, const half *);11754float4 __ovld __purefn vload_half4(size_t, const half *);11755float8 __ovld __purefn vload_half8(size_t, const half *);11756float16 __ovld __purefn vload_half16(size_t, const half *);11757#endif //defined(__opencl_c_generic_address_space)11758 11759#if defined(__opencl_c_named_address_space_builtins)11760float2 __ovld __purefn vload_half2(size_t, const __global half *);11761float3 __ovld __purefn vload_half3(size_t, const __global half *);11762float4 __ovld __purefn vload_half4(size_t, const __global half *);11763float8 __ovld __purefn vload_half8(size_t, const __global half *);11764float16 __ovld __purefn vload_half16(size_t, const __global half *);11765float2 __ovld __purefn vload_half2(size_t, const __local half *);11766float3 __ovld __purefn vload_half3(size_t, const __local half *);11767float4 __ovld __purefn vload_half4(size_t, const __local half *);11768float8 __ovld __purefn vload_half8(size_t, const __local half *);11769float16 __ovld __purefn vload_half16(size_t, const __local half *);11770float2 __ovld __purefn vload_half2(size_t, const __private half *);11771float3 __ovld __purefn vload_half3(size_t, const __private half *);11772float4 __ovld __purefn vload_half4(size_t, const __private half *);11773float8 __ovld __purefn vload_half8(size_t, const __private half *);11774float16 __ovld __purefn vload_half16(size_t, const __private half *);11775#endif //defined(__opencl_c_named_address_space_builtins)11776 11777/**11778 * The float value given by data is first11779 * converted to a half value using the appropriate11780 * rounding mode. The half value is then written11781 * to address computed as (p + offset). The11782 * address computed as (p + offset) must be 16-11783 * bit aligned.11784 * vstore_half use the current rounding mode.11785 * The default current rounding mode is round to11786 * nearest even.11787 */11788#if defined(__opencl_c_generic_address_space)11789void __ovld vstore_half(float, size_t, half *);11790void __ovld vstore_half_rte(float, size_t, half *);11791void __ovld vstore_half_rtz(float, size_t, half *);11792void __ovld vstore_half_rtp(float, size_t, half *);11793void __ovld vstore_half_rtn(float, size_t, half *);11794#ifdef cl_khr_fp6411795void __ovld vstore_half(double, size_t, half *);11796void __ovld vstore_half_rte(double, size_t, half *);11797void __ovld vstore_half_rtz(double, size_t, half *);11798void __ovld vstore_half_rtp(double, size_t, half *);11799void __ovld vstore_half_rtn(double, size_t, half *);11800#endif //cl_khr_fp6411801#endif //defined(__opencl_c_generic_address_space)11802 11803#if defined(__opencl_c_named_address_space_builtins)11804void __ovld vstore_half(float, size_t, __global half *);11805void __ovld vstore_half_rte(float, size_t, __global half *);11806void __ovld vstore_half_rtz(float, size_t, __global half *);11807void __ovld vstore_half_rtp(float, size_t, __global half *);11808void __ovld vstore_half_rtn(float, size_t, __global half *);11809void __ovld vstore_half(float, size_t, __local half *);11810void __ovld vstore_half_rte(float, size_t, __local half *);11811void __ovld vstore_half_rtz(float, size_t, __local half *);11812void __ovld vstore_half_rtp(float, size_t, __local half *);11813void __ovld vstore_half_rtn(float, size_t, __local half *);11814void __ovld vstore_half(float, size_t, __private half *);11815void __ovld vstore_half_rte(float, size_t, __private half *);11816void __ovld vstore_half_rtz(float, size_t, __private half *);11817void __ovld vstore_half_rtp(float, size_t, __private half *);11818void __ovld vstore_half_rtn(float, size_t, __private half *);11819#ifdef cl_khr_fp6411820void __ovld vstore_half(double, size_t, __global half *);11821void __ovld vstore_half_rte(double, size_t, __global half *);11822void __ovld vstore_half_rtz(double, size_t, __global half *);11823void __ovld vstore_half_rtp(double, size_t, __global half *);11824void __ovld vstore_half_rtn(double, size_t, __global half *);11825void __ovld vstore_half(double, size_t, __local half *);11826void __ovld vstore_half_rte(double, size_t, __local half *);11827void __ovld vstore_half_rtz(double, size_t, __local half *);11828void __ovld vstore_half_rtp(double, size_t, __local half *);11829void __ovld vstore_half_rtn(double, size_t, __local half *);11830void __ovld vstore_half(double, size_t, __private half *);11831void __ovld vstore_half_rte(double, size_t, __private half *);11832void __ovld vstore_half_rtz(double, size_t, __private half *);11833void __ovld vstore_half_rtp(double, size_t, __private half *);11834void __ovld vstore_half_rtn(double, size_t, __private half *);11835#endif //cl_khr_fp6411836#endif //defined(__opencl_c_named_address_space_builtins)11837 11838/**11839 * The floatn value given by data is converted to11840 * a halfn value using the appropriate rounding11841 * mode. The halfn value is then written to11842 * address computed as (p + (offset * n)). The11843 * address computed as (p + (offset * n)) must be11844 * 16-bit aligned.11845 * vstore_halfn uses the current rounding mode.11846 * The default current rounding mode is round to11847 * nearest even.11848 */11849#if defined(__opencl_c_generic_address_space)11850void __ovld vstore_half2(float2, size_t, half *);11851void __ovld vstore_half3(float3, size_t, half *);11852void __ovld vstore_half4(float4, size_t, half *);11853void __ovld vstore_half8(float8, size_t, half *);11854void __ovld vstore_half16(float16, size_t, half *);11855void __ovld vstore_half2_rte(float2, size_t, half *);11856void __ovld vstore_half3_rte(float3, size_t, half *);11857void __ovld vstore_half4_rte(float4, size_t, half *);11858void __ovld vstore_half8_rte(float8, size_t, half *);11859void __ovld vstore_half16_rte(float16, size_t, half *);11860void __ovld vstore_half2_rtz(float2, size_t, half *);11861void __ovld vstore_half3_rtz(float3, size_t, half *);11862void __ovld vstore_half4_rtz(float4, size_t, half *);11863void __ovld vstore_half8_rtz(float8, size_t, half *);11864void __ovld vstore_half16_rtz(float16, size_t, half *);11865void __ovld vstore_half2_rtp(float2, size_t, half *);11866void __ovld vstore_half3_rtp(float3, size_t, half *);11867void __ovld vstore_half4_rtp(float4, size_t, half *);11868void __ovld vstore_half8_rtp(float8, size_t, half *);11869void __ovld vstore_half16_rtp(float16, size_t, half *);11870void __ovld vstore_half2_rtn(float2, size_t, half *);11871void __ovld vstore_half3_rtn(float3, size_t, half *);11872void __ovld vstore_half4_rtn(float4, size_t, half *);11873void __ovld vstore_half8_rtn(float8, size_t, half *);11874void __ovld vstore_half16_rtn(float16, size_t, half *);11875#ifdef cl_khr_fp6411876void __ovld vstore_half2(double2, size_t, half *);11877void __ovld vstore_half3(double3, size_t, half *);11878void __ovld vstore_half4(double4, size_t, half *);11879void __ovld vstore_half8(double8, size_t, half *);11880void __ovld vstore_half16(double16, size_t, half *);11881void __ovld vstore_half2_rte(double2, size_t, half *);11882void __ovld vstore_half3_rte(double3, size_t, half *);11883void __ovld vstore_half4_rte(double4, size_t, half *);11884void __ovld vstore_half8_rte(double8, size_t, half *);11885void __ovld vstore_half16_rte(double16, size_t, half *);11886void __ovld vstore_half2_rtz(double2, size_t, half *);11887void __ovld vstore_half3_rtz(double3, size_t, half *);11888void __ovld vstore_half4_rtz(double4, size_t, half *);11889void __ovld vstore_half8_rtz(double8, size_t, half *);11890void __ovld vstore_half16_rtz(double16, size_t, half *);11891void __ovld vstore_half2_rtp(double2, size_t, half *);11892void __ovld vstore_half3_rtp(double3, size_t, half *);11893void __ovld vstore_half4_rtp(double4, size_t, half *);11894void __ovld vstore_half8_rtp(double8, size_t, half *);11895void __ovld vstore_half16_rtp(double16, size_t, half *);11896void __ovld vstore_half2_rtn(double2, size_t, half *);11897void __ovld vstore_half3_rtn(double3, size_t, half *);11898void __ovld vstore_half4_rtn(double4, size_t, half *);11899void __ovld vstore_half8_rtn(double8, size_t, half *);11900void __ovld vstore_half16_rtn(double16, size_t, half *);11901#endif //cl_khr_fp6411902#endif //defined(__opencl_c_generic_address_space)11903 11904#if defined(__opencl_c_named_address_space_builtins)11905void __ovld vstore_half2(float2, size_t, __global half *);11906void __ovld vstore_half3(float3, size_t, __global half *);11907void __ovld vstore_half4(float4, size_t, __global half *);11908void __ovld vstore_half8(float8, size_t, __global half *);11909void __ovld vstore_half16(float16, size_t, __global half *);11910void __ovld vstore_half2_rte(float2, size_t, __global half *);11911void __ovld vstore_half3_rte(float3, size_t, __global half *);11912void __ovld vstore_half4_rte(float4, size_t, __global half *);11913void __ovld vstore_half8_rte(float8, size_t, __global half *);11914void __ovld vstore_half16_rte(float16, size_t, __global half *);11915void __ovld vstore_half2_rtz(float2, size_t, __global half *);11916void __ovld vstore_half3_rtz(float3, size_t, __global half *);11917void __ovld vstore_half4_rtz(float4, size_t, __global half *);11918void __ovld vstore_half8_rtz(float8, size_t, __global half *);11919void __ovld vstore_half16_rtz(float16, size_t, __global half *);11920void __ovld vstore_half2_rtp(float2, size_t, __global half *);11921void __ovld vstore_half3_rtp(float3, size_t, __global half *);11922void __ovld vstore_half4_rtp(float4, size_t, __global half *);11923void __ovld vstore_half8_rtp(float8, size_t, __global half *);11924void __ovld vstore_half16_rtp(float16, size_t, __global half *);11925void __ovld vstore_half2_rtn(float2, size_t, __global half *);11926void __ovld vstore_half3_rtn(float3, size_t, __global half *);11927void __ovld vstore_half4_rtn(float4, size_t, __global half *);11928void __ovld vstore_half8_rtn(float8, size_t, __global half *);11929void __ovld vstore_half16_rtn(float16, size_t, __global half *);11930void __ovld vstore_half2(float2, size_t, __local half *);11931void __ovld vstore_half3(float3, size_t, __local half *);11932void __ovld vstore_half4(float4, size_t, __local half *);11933void __ovld vstore_half8(float8, size_t, __local half *);11934void __ovld vstore_half16(float16, size_t, __local half *);11935void __ovld vstore_half2_rte(float2, size_t, __local half *);11936void __ovld vstore_half3_rte(float3, size_t, __local half *);11937void __ovld vstore_half4_rte(float4, size_t, __local half *);11938void __ovld vstore_half8_rte(float8, size_t, __local half *);11939void __ovld vstore_half16_rte(float16, size_t, __local half *);11940void __ovld vstore_half2_rtz(float2, size_t, __local half *);11941void __ovld vstore_half3_rtz(float3, size_t, __local half *);11942void __ovld vstore_half4_rtz(float4, size_t, __local half *);11943void __ovld vstore_half8_rtz(float8, size_t, __local half *);11944void __ovld vstore_half16_rtz(float16, size_t, __local half *);11945void __ovld vstore_half2_rtp(float2, size_t, __local half *);11946void __ovld vstore_half3_rtp(float3, size_t, __local half *);11947void __ovld vstore_half4_rtp(float4, size_t, __local half *);11948void __ovld vstore_half8_rtp(float8, size_t, __local half *);11949void __ovld vstore_half16_rtp(float16, size_t, __local half *);11950void __ovld vstore_half2_rtn(float2, size_t, __local half *);11951void __ovld vstore_half3_rtn(float3, size_t, __local half *);11952void __ovld vstore_half4_rtn(float4, size_t, __local half *);11953void __ovld vstore_half8_rtn(float8, size_t, __local half *);11954void __ovld vstore_half16_rtn(float16, size_t, __local half *);11955void __ovld vstore_half2(float2, size_t, __private half *);11956void __ovld vstore_half3(float3, size_t, __private half *);11957void __ovld vstore_half4(float4, size_t, __private half *);11958void __ovld vstore_half8(float8, size_t, __private half *);11959void __ovld vstore_half16(float16, size_t, __private half *);11960void __ovld vstore_half2_rte(float2, size_t, __private half *);11961void __ovld vstore_half3_rte(float3, size_t, __private half *);11962void __ovld vstore_half4_rte(float4, size_t, __private half *);11963void __ovld vstore_half8_rte(float8, size_t, __private half *);11964void __ovld vstore_half16_rte(float16, size_t, __private half *);11965void __ovld vstore_half2_rtz(float2, size_t, __private half *);11966void __ovld vstore_half3_rtz(float3, size_t, __private half *);11967void __ovld vstore_half4_rtz(float4, size_t, __private half *);11968void __ovld vstore_half8_rtz(float8, size_t, __private half *);11969void __ovld vstore_half16_rtz(float16, size_t, __private half *);11970void __ovld vstore_half2_rtp(float2, size_t, __private half *);11971void __ovld vstore_half3_rtp(float3, size_t, __private half *);11972void __ovld vstore_half4_rtp(float4, size_t, __private half *);11973void __ovld vstore_half8_rtp(float8, size_t, __private half *);11974void __ovld vstore_half16_rtp(float16, size_t, __private half *);11975void __ovld vstore_half2_rtn(float2, size_t, __private half *);11976void __ovld vstore_half3_rtn(float3, size_t, __private half *);11977void __ovld vstore_half4_rtn(float4, size_t, __private half *);11978void __ovld vstore_half8_rtn(float8, size_t, __private half *);11979void __ovld vstore_half16_rtn(float16, size_t, __private half *);11980#ifdef cl_khr_fp6411981void __ovld vstore_half2(double2, size_t, __global half *);11982void __ovld vstore_half3(double3, size_t, __global half *);11983void __ovld vstore_half4(double4, size_t, __global half *);11984void __ovld vstore_half8(double8, size_t, __global half *);11985void __ovld vstore_half16(double16, size_t, __global half *);11986void __ovld vstore_half2_rte(double2, size_t, __global half *);11987void __ovld vstore_half3_rte(double3, size_t, __global half *);11988void __ovld vstore_half4_rte(double4, size_t, __global half *);11989void __ovld vstore_half8_rte(double8, size_t, __global half *);11990void __ovld vstore_half16_rte(double16, size_t, __global half *);11991void __ovld vstore_half2_rtz(double2, size_t, __global half *);11992void __ovld vstore_half3_rtz(double3, size_t, __global half *);11993void __ovld vstore_half4_rtz(double4, size_t, __global half *);11994void __ovld vstore_half8_rtz(double8, size_t, __global half *);11995void __ovld vstore_half16_rtz(double16, size_t, __global half *);11996void __ovld vstore_half2_rtp(double2, size_t, __global half *);11997void __ovld vstore_half3_rtp(double3, size_t, __global half *);11998void __ovld vstore_half4_rtp(double4, size_t, __global half *);11999void __ovld vstore_half8_rtp(double8, size_t, __global half *);12000void __ovld vstore_half16_rtp(double16, size_t, __global half *);12001void __ovld vstore_half2_rtn(double2, size_t, __global half *);12002void __ovld vstore_half3_rtn(double3, size_t, __global half *);12003void __ovld vstore_half4_rtn(double4, size_t, __global half *);12004void __ovld vstore_half8_rtn(double8, size_t, __global half *);12005void __ovld vstore_half16_rtn(double16, size_t, __global half *);12006void __ovld vstore_half2(double2, size_t, __local half *);12007void __ovld vstore_half3(double3, size_t, __local half *);12008void __ovld vstore_half4(double4, size_t, __local half *);12009void __ovld vstore_half8(double8, size_t, __local half *);12010void __ovld vstore_half16(double16, size_t, __local half *);12011void __ovld vstore_half2_rte(double2, size_t, __local half *);12012void __ovld vstore_half3_rte(double3, size_t, __local half *);12013void __ovld vstore_half4_rte(double4, size_t, __local half *);12014void __ovld vstore_half8_rte(double8, size_t, __local half *);12015void __ovld vstore_half16_rte(double16, size_t, __local half *);12016void __ovld vstore_half2_rtz(double2, size_t, __local half *);12017void __ovld vstore_half3_rtz(double3, size_t, __local half *);12018void __ovld vstore_half4_rtz(double4, size_t, __local half *);12019void __ovld vstore_half8_rtz(double8, size_t, __local half *);12020void __ovld vstore_half16_rtz(double16, size_t, __local half *);12021void __ovld vstore_half2_rtp(double2, size_t, __local half *);12022void __ovld vstore_half3_rtp(double3, size_t, __local half *);12023void __ovld vstore_half4_rtp(double4, size_t, __local half *);12024void __ovld vstore_half8_rtp(double8, size_t, __local half *);12025void __ovld vstore_half16_rtp(double16, size_t, __local half *);12026void __ovld vstore_half2_rtn(double2, size_t, __local half *);12027void __ovld vstore_half3_rtn(double3, size_t, __local half *);12028void __ovld vstore_half4_rtn(double4, size_t, __local half *);12029void __ovld vstore_half8_rtn(double8, size_t, __local half *);12030void __ovld vstore_half16_rtn(double16, size_t, __local half *);12031void __ovld vstore_half2(double2, size_t, __private half *);12032void __ovld vstore_half3(double3, size_t, __private half *);12033void __ovld vstore_half4(double4, size_t, __private half *);12034void __ovld vstore_half8(double8, size_t, __private half *);12035void __ovld vstore_half16(double16, size_t, __private half *);12036void __ovld vstore_half2_rte(double2, size_t, __private half *);12037void __ovld vstore_half3_rte(double3, size_t, __private half *);12038void __ovld vstore_half4_rte(double4, size_t, __private half *);12039void __ovld vstore_half8_rte(double8, size_t, __private half *);12040void __ovld vstore_half16_rte(double16, size_t, __private half *);12041void __ovld vstore_half2_rtz(double2, size_t, __private half *);12042void __ovld vstore_half3_rtz(double3, size_t, __private half *);12043void __ovld vstore_half4_rtz(double4, size_t, __private half *);12044void __ovld vstore_half8_rtz(double8, size_t, __private half *);12045void __ovld vstore_half16_rtz(double16, size_t, __private half *);12046void __ovld vstore_half2_rtp(double2, size_t, __private half *);12047void __ovld vstore_half3_rtp(double3, size_t, __private half *);12048void __ovld vstore_half4_rtp(double4, size_t, __private half *);12049void __ovld vstore_half8_rtp(double8, size_t, __private half *);12050void __ovld vstore_half16_rtp(double16, size_t, __private half *);12051void __ovld vstore_half2_rtn(double2, size_t, __private half *);12052void __ovld vstore_half3_rtn(double3, size_t, __private half *);12053void __ovld vstore_half4_rtn(double4, size_t, __private half *);12054void __ovld vstore_half8_rtn(double8, size_t, __private half *);12055void __ovld vstore_half16_rtn(double16, size_t, __private half *);12056#endif //cl_khr_fp6412057#endif //defined(__opencl_c_named_address_space_builtins)12058 12059/**12060 * For n = 1, 2, 4, 8 and 16 read sizeof (halfn)12061 * bytes of data from address (p + (offset * n)).12062 * The data read is interpreted as a halfn value.12063 * The halfn value read is converted to a floatn12064 * value and the floatn value is returned.12065 * The address computed as (p + (offset * n))12066 * must be aligned to sizeof (halfn) bytes.12067 * For n = 3, vloada_half3 reads a half3 from12068 * address (p + (offset * 4)) and returns a float3.12069 * The address computed as (p + (offset * 4))12070 * must be aligned to sizeof (half) * 4 bytes.12071 */12072float2 __ovld __purefn vloada_half2(size_t, const __constant half *);12073float3 __ovld __purefn vloada_half3(size_t, const __constant half *);12074float4 __ovld __purefn vloada_half4(size_t, const __constant half *);12075float8 __ovld __purefn vloada_half8(size_t, const __constant half *);12076float16 __ovld __purefn vloada_half16(size_t, const __constant half *);12077#if defined(__opencl_c_generic_address_space)12078float2 __ovld __purefn vloada_half2(size_t, const half *);12079float3 __ovld __purefn vloada_half3(size_t, const half *);12080float4 __ovld __purefn vloada_half4(size_t, const half *);12081float8 __ovld __purefn vloada_half8(size_t, const half *);12082float16 __ovld __purefn vloada_half16(size_t, const half *);12083#endif //defined(__opencl_c_generic_address_space)12084 12085#if defined(__opencl_c_named_address_space_builtins)12086float2 __ovld __purefn vloada_half2(size_t, const __global half *);12087float3 __ovld __purefn vloada_half3(size_t, const __global half *);12088float4 __ovld __purefn vloada_half4(size_t, const __global half *);12089float8 __ovld __purefn vloada_half8(size_t, const __global half *);12090float16 __ovld __purefn vloada_half16(size_t, const __global half *);12091float2 __ovld __purefn vloada_half2(size_t, const __local half *);12092float3 __ovld __purefn vloada_half3(size_t, const __local half *);12093float4 __ovld __purefn vloada_half4(size_t, const __local half *);12094float8 __ovld __purefn vloada_half8(size_t, const __local half *);12095float16 __ovld __purefn vloada_half16(size_t, const __local half *);12096float2 __ovld __purefn vloada_half2(size_t, const __private half *);12097float3 __ovld __purefn vloada_half3(size_t, const __private half *);12098float4 __ovld __purefn vloada_half4(size_t, const __private half *);12099float8 __ovld __purefn vloada_half8(size_t, const __private half *);12100float16 __ovld __purefn vloada_half16(size_t, const __private half *);12101#endif //defined(__opencl_c_named_address_space_builtins)12102 12103/**12104 * The floatn value given by data is converted to12105 * a halfn value using the appropriate rounding12106 * mode.12107 * For n = 1, 2, 4, 8 and 16, the halfn value is12108 * written to the address computed as (p + (offset12109 * * n)). The address computed as (p + (offset *12110 * n)) must be aligned to sizeof (halfn) bytes.12111 * For n = 3, the half3 value is written to the12112 * address computed as (p + (offset * 4)). The12113 * address computed as (p + (offset * 4)) must be12114 * aligned to sizeof (half) * 4 bytes.12115 * vstorea_halfn uses the current rounding12116 * mode. The default current rounding mode is12117 * round to nearest even.12118 */12119#if defined(__opencl_c_generic_address_space)12120void __ovld vstorea_half2(float2, size_t, half *);12121void __ovld vstorea_half3(float3, size_t, half *);12122void __ovld vstorea_half4(float4, size_t, half *);12123void __ovld vstorea_half8(float8, size_t, half *);12124void __ovld vstorea_half16(float16, size_t, half *);12125 12126void __ovld vstorea_half2_rte(float2, size_t, half *);12127void __ovld vstorea_half3_rte(float3, size_t, half *);12128void __ovld vstorea_half4_rte(float4, size_t, half *);12129void __ovld vstorea_half8_rte(float8, size_t, half *);12130void __ovld vstorea_half16_rte(float16, size_t, half *);12131 12132void __ovld vstorea_half2_rtz(float2, size_t, half *);12133void __ovld vstorea_half3_rtz(float3, size_t, half *);12134void __ovld vstorea_half4_rtz(float4, size_t, half *);12135void __ovld vstorea_half8_rtz(float8, size_t, half *);12136void __ovld vstorea_half16_rtz(float16, size_t, half *);12137 12138void __ovld vstorea_half2_rtp(float2, size_t, half *);12139void __ovld vstorea_half3_rtp(float3, size_t, half *);12140void __ovld vstorea_half4_rtp(float4, size_t, half *);12141void __ovld vstorea_half8_rtp(float8, size_t, half *);12142void __ovld vstorea_half16_rtp(float16, size_t, half *);12143 12144void __ovld vstorea_half2_rtn(float2, size_t, half *);12145void __ovld vstorea_half3_rtn(float3, size_t, half *);12146void __ovld vstorea_half4_rtn(float4, size_t, half *);12147void __ovld vstorea_half8_rtn(float8, size_t, half *);12148void __ovld vstorea_half16_rtn(float16, size_t, half *);12149 12150#ifdef cl_khr_fp6412151void __ovld vstorea_half2(double2, size_t, half *);12152void __ovld vstorea_half3(double3, size_t, half *);12153void __ovld vstorea_half4(double4, size_t, half *);12154void __ovld vstorea_half8(double8, size_t, half *);12155void __ovld vstorea_half16(double16, size_t, half *);12156 12157void __ovld vstorea_half2_rte(double2, size_t, half *);12158void __ovld vstorea_half3_rte(double3, size_t, half *);12159void __ovld vstorea_half4_rte(double4, size_t, half *);12160void __ovld vstorea_half8_rte(double8, size_t, half *);12161void __ovld vstorea_half16_rte(double16, size_t, half *);12162 12163void __ovld vstorea_half2_rtz(double2, size_t, half *);12164void __ovld vstorea_half3_rtz(double3, size_t, half *);12165void __ovld vstorea_half4_rtz(double4, size_t, half *);12166void __ovld vstorea_half8_rtz(double8, size_t, half *);12167void __ovld vstorea_half16_rtz(double16, size_t, half *);12168 12169void __ovld vstorea_half2_rtp(double2, size_t, half *);12170void __ovld vstorea_half3_rtp(double3, size_t, half *);12171void __ovld vstorea_half4_rtp(double4, size_t, half *);12172void __ovld vstorea_half8_rtp(double8, size_t, half *);12173void __ovld vstorea_half16_rtp(double16, size_t, half *);12174 12175void __ovld vstorea_half2_rtn(double2, size_t, half *);12176void __ovld vstorea_half3_rtn(double3, size_t, half *);12177void __ovld vstorea_half4_rtn(double4, size_t, half *);12178void __ovld vstorea_half8_rtn(double8, size_t, half *);12179void __ovld vstorea_half16_rtn(double16, size_t, half *);12180#endif //cl_khr_fp6412181#endif //defined(__opencl_c_generic_address_space)12182 12183#if defined(__opencl_c_named_address_space_builtins)12184void __ovld vstorea_half2(float2, size_t, __global half *);12185void __ovld vstorea_half3(float3, size_t, __global half *);12186void __ovld vstorea_half4(float4, size_t, __global half *);12187void __ovld vstorea_half8(float8, size_t, __global half *);12188void __ovld vstorea_half16(float16, size_t, __global half *);12189 12190void __ovld vstorea_half2_rte(float2, size_t, __global half *);12191void __ovld vstorea_half3_rte(float3, size_t, __global half *);12192void __ovld vstorea_half4_rte(float4, size_t, __global half *);12193void __ovld vstorea_half8_rte(float8, size_t, __global half *);12194void __ovld vstorea_half16_rte(float16, size_t, __global half *);12195 12196void __ovld vstorea_half2_rtz(float2, size_t, __global half *);12197void __ovld vstorea_half3_rtz(float3, size_t, __global half *);12198void __ovld vstorea_half4_rtz(float4, size_t, __global half *);12199void __ovld vstorea_half8_rtz(float8, size_t, __global half *);12200void __ovld vstorea_half16_rtz(float16, size_t, __global half *);12201 12202void __ovld vstorea_half2_rtp(float2, size_t, __global half *);12203void __ovld vstorea_half3_rtp(float3, size_t, __global half *);12204void __ovld vstorea_half4_rtp(float4, size_t, __global half *);12205void __ovld vstorea_half8_rtp(float8, size_t, __global half *);12206void __ovld vstorea_half16_rtp(float16, size_t, __global half *);12207 12208void __ovld vstorea_half2_rtn(float2, size_t, __global half *);12209void __ovld vstorea_half3_rtn(float3, size_t, __global half *);12210void __ovld vstorea_half4_rtn(float4, size_t, __global half *);12211void __ovld vstorea_half8_rtn(float8, size_t, __global half *);12212void __ovld vstorea_half16_rtn(float16, size_t, __global half *);12213 12214void __ovld vstorea_half2(float2, size_t, __local half *);12215void __ovld vstorea_half3(float3, size_t, __local half *);12216void __ovld vstorea_half4(float4, size_t, __local half *);12217void __ovld vstorea_half8(float8, size_t, __local half *);12218void __ovld vstorea_half16(float16, size_t, __local half *);12219 12220void __ovld vstorea_half2_rte(float2, size_t, __local half *);12221void __ovld vstorea_half3_rte(float3, size_t, __local half *);12222void __ovld vstorea_half4_rte(float4, size_t, __local half *);12223void __ovld vstorea_half8_rte(float8, size_t, __local half *);12224void __ovld vstorea_half16_rte(float16, size_t, __local half *);12225 12226void __ovld vstorea_half2_rtz(float2, size_t, __local half *);12227void __ovld vstorea_half3_rtz(float3, size_t, __local half *);12228void __ovld vstorea_half4_rtz(float4, size_t, __local half *);12229void __ovld vstorea_half8_rtz(float8, size_t, __local half *);12230void __ovld vstorea_half16_rtz(float16, size_t, __local half *);12231 12232void __ovld vstorea_half2_rtp(float2, size_t, __local half *);12233void __ovld vstorea_half3_rtp(float3, size_t, __local half *);12234void __ovld vstorea_half4_rtp(float4, size_t, __local half *);12235void __ovld vstorea_half8_rtp(float8, size_t, __local half *);12236void __ovld vstorea_half16_rtp(float16, size_t, __local half *);12237 12238void __ovld vstorea_half2_rtn(float2, size_t, __local half *);12239void __ovld vstorea_half3_rtn(float3, size_t, __local half *);12240void __ovld vstorea_half4_rtn(float4, size_t, __local half *);12241void __ovld vstorea_half8_rtn(float8, size_t, __local half *);12242void __ovld vstorea_half16_rtn(float16, size_t, __local half *);12243 12244void __ovld vstorea_half2(float2, size_t, __private half *);12245void __ovld vstorea_half3(float3, size_t, __private half *);12246void __ovld vstorea_half4(float4, size_t, __private half *);12247void __ovld vstorea_half8(float8, size_t, __private half *);12248void __ovld vstorea_half16(float16, size_t, __private half *);12249 12250void __ovld vstorea_half2_rte(float2, size_t, __private half *);12251void __ovld vstorea_half3_rte(float3, size_t, __private half *);12252void __ovld vstorea_half4_rte(float4, size_t, __private half *);12253void __ovld vstorea_half8_rte(float8, size_t, __private half *);12254void __ovld vstorea_half16_rte(float16, size_t, __private half *);12255 12256void __ovld vstorea_half2_rtz(float2, size_t, __private half *);12257void __ovld vstorea_half3_rtz(float3, size_t, __private half *);12258void __ovld vstorea_half4_rtz(float4, size_t, __private half *);12259void __ovld vstorea_half8_rtz(float8, size_t, __private half *);12260void __ovld vstorea_half16_rtz(float16, size_t, __private half *);12261 12262void __ovld vstorea_half2_rtp(float2, size_t, __private half *);12263void __ovld vstorea_half3_rtp(float3, size_t, __private half *);12264void __ovld vstorea_half4_rtp(float4, size_t, __private half *);12265void __ovld vstorea_half8_rtp(float8, size_t, __private half *);12266void __ovld vstorea_half16_rtp(float16, size_t, __private half *);12267 12268void __ovld vstorea_half2_rtn(float2, size_t, __private half *);12269void __ovld vstorea_half3_rtn(float3, size_t, __private half *);12270void __ovld vstorea_half4_rtn(float4, size_t, __private half *);12271void __ovld vstorea_half8_rtn(float8, size_t, __private half *);12272void __ovld vstorea_half16_rtn(float16, size_t, __private half *);12273 12274#ifdef cl_khr_fp6412275void __ovld vstorea_half2(double2, size_t, __global half *);12276void __ovld vstorea_half3(double3, size_t, __global half *);12277void __ovld vstorea_half4(double4, size_t, __global half *);12278void __ovld vstorea_half8(double8, size_t, __global half *);12279void __ovld vstorea_half16(double16, size_t, __global half *);12280 12281void __ovld vstorea_half2_rte(double2, size_t, __global half *);12282void __ovld vstorea_half3_rte(double3, size_t, __global half *);12283void __ovld vstorea_half4_rte(double4, size_t, __global half *);12284void __ovld vstorea_half8_rte(double8, size_t, __global half *);12285void __ovld vstorea_half16_rte(double16, size_t, __global half *);12286 12287void __ovld vstorea_half2_rtz(double2, size_t, __global half *);12288void __ovld vstorea_half3_rtz(double3, size_t, __global half *);12289void __ovld vstorea_half4_rtz(double4, size_t, __global half *);12290void __ovld vstorea_half8_rtz(double8, size_t, __global half *);12291void __ovld vstorea_half16_rtz(double16, size_t, __global half *);12292 12293void __ovld vstorea_half2_rtp(double2, size_t, __global half *);12294void __ovld vstorea_half3_rtp(double3, size_t, __global half *);12295void __ovld vstorea_half4_rtp(double4, size_t, __global half *);12296void __ovld vstorea_half8_rtp(double8, size_t, __global half *);12297void __ovld vstorea_half16_rtp(double16, size_t, __global half *);12298 12299void __ovld vstorea_half2_rtn(double2, size_t, __global half *);12300void __ovld vstorea_half3_rtn(double3, size_t, __global half *);12301void __ovld vstorea_half4_rtn(double4, size_t, __global half *);12302void __ovld vstorea_half8_rtn(double8, size_t, __global half *);12303void __ovld vstorea_half16_rtn(double16, size_t, __global half *);12304 12305void __ovld vstorea_half2(double2, size_t, __local half *);12306void __ovld vstorea_half3(double3, size_t, __local half *);12307void __ovld vstorea_half4(double4, size_t, __local half *);12308void __ovld vstorea_half8(double8, size_t, __local half *);12309void __ovld vstorea_half16(double16, size_t, __local half *);12310 12311void __ovld vstorea_half2_rte(double2, size_t, __local half *);12312void __ovld vstorea_half3_rte(double3, size_t, __local half *);12313void __ovld vstorea_half4_rte(double4, size_t, __local half *);12314void __ovld vstorea_half8_rte(double8, size_t, __local half *);12315void __ovld vstorea_half16_rte(double16, size_t, __local half *);12316 12317void __ovld vstorea_half2_rtz(double2, size_t, __local half *);12318void __ovld vstorea_half3_rtz(double3, size_t, __local half *);12319void __ovld vstorea_half4_rtz(double4, size_t, __local half *);12320void __ovld vstorea_half8_rtz(double8, size_t, __local half *);12321void __ovld vstorea_half16_rtz(double16, size_t, __local half *);12322 12323void __ovld vstorea_half2_rtp(double2, size_t, __local half *);12324void __ovld vstorea_half3_rtp(double3, size_t, __local half *);12325void __ovld vstorea_half4_rtp(double4, size_t, __local half *);12326void __ovld vstorea_half8_rtp(double8, size_t, __local half *);12327void __ovld vstorea_half16_rtp(double16, size_t, __local half *);12328 12329void __ovld vstorea_half2_rtn(double2, size_t, __local half *);12330void __ovld vstorea_half3_rtn(double3, size_t, __local half *);12331void __ovld vstorea_half4_rtn(double4, size_t, __local half *);12332void __ovld vstorea_half8_rtn(double8, size_t, __local half *);12333void __ovld vstorea_half16_rtn(double16, size_t, __local half *);12334 12335void __ovld vstorea_half2(double2, size_t, __private half *);12336void __ovld vstorea_half3(double3, size_t, __private half *);12337void __ovld vstorea_half4(double4, size_t, __private half *);12338void __ovld vstorea_half8(double8, size_t, __private half *);12339void __ovld vstorea_half16(double16, size_t, __private half *);12340 12341void __ovld vstorea_half2_rte(double2, size_t, __private half *);12342void __ovld vstorea_half3_rte(double3, size_t, __private half *);12343void __ovld vstorea_half4_rte(double4, size_t, __private half *);12344void __ovld vstorea_half8_rte(double8, size_t, __private half *);12345void __ovld vstorea_half16_rte(double16, size_t, __private half *);12346 12347void __ovld vstorea_half2_rtz(double2, size_t, __private half *);12348void __ovld vstorea_half3_rtz(double3, size_t, __private half *);12349void __ovld vstorea_half4_rtz(double4, size_t, __private half *);12350void __ovld vstorea_half8_rtz(double8, size_t, __private half *);12351void __ovld vstorea_half16_rtz(double16, size_t, __private half *);12352 12353void __ovld vstorea_half2_rtp(double2, size_t, __private half *);12354void __ovld vstorea_half3_rtp(double3, size_t, __private half *);12355void __ovld vstorea_half4_rtp(double4, size_t, __private half *);12356void __ovld vstorea_half8_rtp(double8, size_t, __private half *);12357void __ovld vstorea_half16_rtp(double16, size_t, __private half *);12358 12359void __ovld vstorea_half2_rtn(double2, size_t, __private half *);12360void __ovld vstorea_half3_rtn(double3, size_t, __private half *);12361void __ovld vstorea_half4_rtn(double4, size_t, __private half *);12362void __ovld vstorea_half8_rtn(double8, size_t, __private half *);12363void __ovld vstorea_half16_rtn(double16, size_t, __private half *);12364#endif //cl_khr_fp6412365#endif //defined(__opencl_c_named_address_space_builtins)12366 12367// OpenCL v1.1 s6.11.8, v1.2 s6.12.8, v2.0 s6.13.8 - Synchronization Functions12368 12369/**12370 * All work-items in a work-group executing the kernel12371 * on a processor must execute this function before any12372 * are allowed to continue execution beyond the barrier.12373 * This function must be encountered by all work-items in12374 * a work-group executing the kernel.12375 * If barrier is inside a conditional statement, then all12376 * work-items must enter the conditional if any work-item12377 * enters the conditional statement and executes the12378 * barrier.12379 * If barrer is inside a loop, all work-items must execute12380 * the barrier for each iteration of the loop before any are12381 * allowed to continue execution beyond the barrier.12382 * The barrier function also queues a memory fence12383 * (reads and writes) to ensure correct ordering of12384 * memory operations to local or global memory.12385 * The flags argument specifies the memory address space12386 * and can be set to a combination of the following literal12387 * values.12388 * CLK_LOCAL_MEM_FENCE - The barrier function12389 * will either flush any variables stored in local memory12390 * or queue a memory fence to ensure correct ordering of12391 * memory operations to local memory.12392 * CLK_GLOBAL_MEM_FENCE - The barrier function12393 * will queue a memory fence to ensure correct ordering12394 * of memory operations to global memory. This can be12395 * useful when work-items, for example, write to buffer or12396 * image objects and then want to read the updated data.12397 */12398 12399void __ovld __conv barrier(cl_mem_fence_flags);12400 12401#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)12402void __ovld __conv work_group_barrier(cl_mem_fence_flags, memory_scope);12403void __ovld __conv work_group_barrier(cl_mem_fence_flags);12404#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)12405 12406// OpenCL v1.1 s6.11.9, v1.2 s6.12.9 - Explicit Memory Fence Functions12407 12408/**12409 * Orders loads and stores of a work-item12410 * executing a kernel. This means that loads12411 * and stores preceding the mem_fence will12412 * be committed to memory before any loads12413 * and stores following the mem_fence.12414 * The flags argument specifies the memory12415 * address space and can be set to a12416 * combination of the following literal12417 * values:12418 * CLK_LOCAL_MEM_FENCE12419 * CLK_GLOBAL_MEM_FENCE.12420 */12421void __ovld mem_fence(cl_mem_fence_flags);12422 12423/**12424 * Read memory barrier that orders only12425 * loads.12426 * The flags argument specifies the memory12427 * address space and can be set to a12428 * combination of the following literal12429 * values:12430 * CLK_LOCAL_MEM_FENCE12431 * CLK_GLOBAL_MEM_FENCE.12432 */12433void __ovld read_mem_fence(cl_mem_fence_flags);12434 12435/**12436 * Write memory barrier that orders only12437 * stores.12438 * The flags argument specifies the memory12439 * address space and can be set to a12440 * combination of the following literal12441 * values:12442 * CLK_LOCAL_MEM_FENCE12443 * CLK_GLOBAL_MEM_FENCE.12444 */12445void __ovld write_mem_fence(cl_mem_fence_flags);12446 12447// OpenCL v2.0 s6.13.9 - Address Space Qualifier Functions12448 12449#if defined(__opencl_c_generic_address_space)12450cl_mem_fence_flags __ovld get_fence(const void *ptr);12451cl_mem_fence_flags __ovld get_fence(void *ptr);12452 12453/**12454 * Builtin functions to_global, to_local, and to_private need to be declared as Clang builtin functions12455 * and checked in Sema since they should be declared as12456 * addr gentype* to_addr (gentype*);12457 * where gentype is builtin type or user defined type.12458 */12459 12460#endif //defined(__opencl_c_generic_address_space)12461 12462// 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 Prefetch12463 12464/**12465 * event_t async_work_group_copy (12466 * __global gentype *dst,12467 * const __local gentype *src,12468 * size_t num_elements,12469 * event_t event)12470 * Perform an async copy of num_elements12471 * gentype elements from src to dst. The async12472 * copy is performed by all work-items in a workgroup12473 * and this built-in function must therefore12474 * be encountered by all work-items in a workgroup12475 * executing the kernel with the same12476 * argument values; otherwise the results are12477 * undefined.12478 * Returns an event object that can be used by12479 * wait_group_events to wait for the async copy12480 * to finish. The event argument can also be used12481 * to associate the async_work_group_copy with12482 * a previous async copy allowing an event to be12483 * shared by multiple async copies; otherwise event12484 * should be zero.12485 * If event argument is non-zero, the event object12486 * supplied in event argument will be returned.12487 * This function does not perform any implicit12488 * synchronization of source data such as using a12489 * barrier before performing the copy.12490 */12491event_t __ovld async_work_group_copy(__local char *, const __global char *, size_t, event_t);12492event_t __ovld async_work_group_copy(__local uchar *, const __global uchar *, size_t, event_t);12493event_t __ovld async_work_group_copy(__local short *, const __global short *, size_t, event_t);12494event_t __ovld async_work_group_copy(__local ushort *, const __global ushort *, size_t, event_t);12495event_t __ovld async_work_group_copy(__local int *, const __global int *, size_t, event_t);12496event_t __ovld async_work_group_copy(__local uint *, const __global uint *, size_t, event_t);12497event_t __ovld async_work_group_copy(__local long *, const __global long *, size_t, event_t);12498event_t __ovld async_work_group_copy(__local ulong *, const __global ulong *, size_t, event_t);12499event_t __ovld async_work_group_copy(__local float *, const __global float *, size_t, event_t);12500event_t __ovld async_work_group_copy(__local char2 *, const __global char2 *, size_t, event_t);12501event_t __ovld async_work_group_copy(__local uchar2 *, const __global uchar2 *, size_t, event_t);12502event_t __ovld async_work_group_copy(__local short2 *, const __global short2 *, size_t, event_t);12503event_t __ovld async_work_group_copy(__local ushort2 *, const __global ushort2 *, size_t, event_t);12504event_t __ovld async_work_group_copy(__local int2 *, const __global int2 *, size_t, event_t);12505event_t __ovld async_work_group_copy(__local uint2 *, const __global uint2 *, size_t, event_t);12506event_t __ovld async_work_group_copy(__local long2 *, const __global long2 *, size_t, event_t);12507event_t __ovld async_work_group_copy(__local ulong2 *, const __global ulong2 *, size_t, event_t);12508event_t __ovld async_work_group_copy(__local float2 *, const __global float2 *, size_t, event_t);12509event_t __ovld async_work_group_copy(__local char3 *, const __global char3 *, size_t, event_t);12510event_t __ovld async_work_group_copy(__local uchar3 *, const __global uchar3 *, size_t, event_t);12511event_t __ovld async_work_group_copy(__local short3 *, const __global short3 *, size_t, event_t);12512event_t __ovld async_work_group_copy(__local ushort3 *, const __global ushort3 *, size_t, event_t);12513event_t __ovld async_work_group_copy(__local int3 *, const __global int3 *, size_t, event_t);12514event_t __ovld async_work_group_copy(__local uint3 *, const __global uint3 *, size_t, event_t);12515event_t __ovld async_work_group_copy(__local long3 *, const __global long3 *, size_t, event_t);12516event_t __ovld async_work_group_copy(__local ulong3 *, const __global ulong3 *, size_t, event_t);12517event_t __ovld async_work_group_copy(__local float3 *, const __global float3 *, size_t, event_t);12518event_t __ovld async_work_group_copy(__local char4 *, const __global char4 *, size_t, event_t);12519event_t __ovld async_work_group_copy(__local uchar4 *, const __global uchar4 *, size_t, event_t);12520event_t __ovld async_work_group_copy(__local short4 *, const __global short4 *, size_t, event_t);12521event_t __ovld async_work_group_copy(__local ushort4 *, const __global ushort4 *, size_t, event_t);12522event_t __ovld async_work_group_copy(__local int4 *, const __global int4 *, size_t, event_t);12523event_t __ovld async_work_group_copy(__local uint4 *, const __global uint4 *, size_t, event_t);12524event_t __ovld async_work_group_copy(__local long4 *, const __global long4 *, size_t, event_t);12525event_t __ovld async_work_group_copy(__local ulong4 *, const __global ulong4 *, size_t, event_t);12526event_t __ovld async_work_group_copy(__local float4 *, const __global float4 *, size_t, event_t);12527event_t __ovld async_work_group_copy(__local char8 *, const __global char8 *, size_t, event_t);12528event_t __ovld async_work_group_copy(__local uchar8 *, const __global uchar8 *, size_t, event_t);12529event_t __ovld async_work_group_copy(__local short8 *, const __global short8 *, size_t, event_t);12530event_t __ovld async_work_group_copy(__local ushort8 *, const __global ushort8 *, size_t, event_t);12531event_t __ovld async_work_group_copy(__local int8 *, const __global int8 *, size_t, event_t);12532event_t __ovld async_work_group_copy(__local uint8 *, const __global uint8 *, size_t, event_t);12533event_t __ovld async_work_group_copy(__local long8 *, const __global long8 *, size_t, event_t);12534event_t __ovld async_work_group_copy(__local ulong8 *, const __global ulong8 *, size_t, event_t);12535event_t __ovld async_work_group_copy(__local float8 *, const __global float8 *, size_t, event_t);12536event_t __ovld async_work_group_copy(__local char16 *, const __global char16 *, size_t, event_t);12537event_t __ovld async_work_group_copy(__local uchar16 *, const __global uchar16 *, size_t, event_t);12538event_t __ovld async_work_group_copy(__local short16 *, const __global short16 *, size_t, event_t);12539event_t __ovld async_work_group_copy(__local ushort16 *, const __global ushort16 *, size_t, event_t);12540event_t __ovld async_work_group_copy(__local int16 *, const __global int16 *, size_t, event_t);12541event_t __ovld async_work_group_copy(__local uint16 *, const __global uint16 *, size_t, event_t);12542event_t __ovld async_work_group_copy(__local long16 *, const __global long16 *, size_t, event_t);12543event_t __ovld async_work_group_copy(__local ulong16 *, const __global ulong16 *, size_t, event_t);12544event_t __ovld async_work_group_copy(__local float16 *, const __global float16 *, size_t, event_t);12545event_t __ovld async_work_group_copy(__global char *, const __local char *, size_t, event_t);12546event_t __ovld async_work_group_copy(__global uchar *, const __local uchar *, size_t, event_t);12547event_t __ovld async_work_group_copy(__global short *, const __local short *, size_t, event_t);12548event_t __ovld async_work_group_copy(__global ushort *, const __local ushort *, size_t, event_t);12549event_t __ovld async_work_group_copy(__global int *, const __local int *, size_t, event_t);12550event_t __ovld async_work_group_copy(__global uint *, const __local uint *, size_t, event_t);12551event_t __ovld async_work_group_copy(__global long *, const __local long *, size_t, event_t);12552event_t __ovld async_work_group_copy(__global ulong *, const __local ulong *, size_t, event_t);12553event_t __ovld async_work_group_copy(__global float *, const __local float *, size_t, event_t);12554event_t __ovld async_work_group_copy(__global char2 *, const __local char2 *, size_t, event_t);12555event_t __ovld async_work_group_copy(__global uchar2 *, const __local uchar2 *, size_t, event_t);12556event_t __ovld async_work_group_copy(__global short2 *, const __local short2 *, size_t, event_t);12557event_t __ovld async_work_group_copy(__global ushort2 *, const __local ushort2 *, size_t, event_t);12558event_t __ovld async_work_group_copy(__global int2 *, const __local int2 *, size_t, event_t);12559event_t __ovld async_work_group_copy(__global uint2 *, const __local uint2 *, size_t, event_t);12560event_t __ovld async_work_group_copy(__global long2 *, const __local long2 *, size_t, event_t);12561event_t __ovld async_work_group_copy(__global ulong2 *, const __local ulong2 *, size_t, event_t);12562event_t __ovld async_work_group_copy(__global float2 *, const __local float2 *, size_t, event_t);12563event_t __ovld async_work_group_copy(__global char3 *, const __local char3 *, size_t, event_t);12564event_t __ovld async_work_group_copy(__global uchar3 *, const __local uchar3 *, size_t, event_t);12565event_t __ovld async_work_group_copy(__global short3 *, const __local short3 *, size_t, event_t);12566event_t __ovld async_work_group_copy(__global ushort3 *, const __local ushort3 *, size_t, event_t);12567event_t __ovld async_work_group_copy(__global int3 *, const __local int3 *, size_t, event_t);12568event_t __ovld async_work_group_copy(__global uint3 *, const __local uint3 *, size_t, event_t);12569event_t __ovld async_work_group_copy(__global long3 *, const __local long3 *, size_t, event_t);12570event_t __ovld async_work_group_copy(__global ulong3 *, const __local ulong3 *, size_t, event_t);12571event_t __ovld async_work_group_copy(__global float3 *, const __local float3 *, size_t, event_t);12572event_t __ovld async_work_group_copy(__global char4 *, const __local char4 *, size_t, event_t);12573event_t __ovld async_work_group_copy(__global uchar4 *, const __local uchar4 *, size_t, event_t);12574event_t __ovld async_work_group_copy(__global short4 *, const __local short4 *, size_t, event_t);12575event_t __ovld async_work_group_copy(__global ushort4 *, const __local ushort4 *, size_t, event_t);12576event_t __ovld async_work_group_copy(__global int4 *, const __local int4 *, size_t, event_t);12577event_t __ovld async_work_group_copy(__global uint4 *, const __local uint4 *, size_t, event_t);12578event_t __ovld async_work_group_copy(__global long4 *, const __local long4 *, size_t, event_t);12579event_t __ovld async_work_group_copy(__global ulong4 *, const __local ulong4 *, size_t, event_t);12580event_t __ovld async_work_group_copy(__global float4 *, const __local float4 *, size_t, event_t);12581event_t __ovld async_work_group_copy(__global char8 *, const __local char8 *, size_t, event_t);12582event_t __ovld async_work_group_copy(__global uchar8 *, const __local uchar8 *, size_t, event_t);12583event_t __ovld async_work_group_copy(__global short8 *, const __local short8 *, size_t, event_t);12584event_t __ovld async_work_group_copy(__global ushort8 *, const __local ushort8 *, size_t, event_t);12585event_t __ovld async_work_group_copy(__global int8 *, const __local int8 *, size_t, event_t);12586event_t __ovld async_work_group_copy(__global uint8 *, const __local uint8 *, size_t, event_t);12587event_t __ovld async_work_group_copy(__global long8 *, const __local long8 *, size_t, event_t);12588event_t __ovld async_work_group_copy(__global ulong8 *, const __local ulong8 *, size_t, event_t);12589event_t __ovld async_work_group_copy(__global float8 *, const __local float8 *, size_t, event_t);12590event_t __ovld async_work_group_copy(__global char16 *, const __local char16 *, size_t, event_t);12591event_t __ovld async_work_group_copy(__global uchar16 *, const __local uchar16 *, size_t, event_t);12592event_t __ovld async_work_group_copy(__global short16 *, const __local short16 *, size_t, event_t);12593event_t __ovld async_work_group_copy(__global ushort16 *, const __local ushort16 *, size_t, event_t);12594event_t __ovld async_work_group_copy(__global int16 *, const __local int16 *, size_t, event_t);12595event_t __ovld async_work_group_copy(__global uint16 *, const __local uint16 *, size_t, event_t);12596event_t __ovld async_work_group_copy(__global long16 *, const __local long16 *, size_t, event_t);12597event_t __ovld async_work_group_copy(__global ulong16 *, const __local ulong16 *, size_t, event_t);12598event_t __ovld async_work_group_copy(__global float16 *, const __local float16 *, size_t, event_t);12599#ifdef cl_khr_fp6412600event_t __ovld async_work_group_copy(__local double *, const __global double *, size_t, event_t);12601event_t __ovld async_work_group_copy(__local double2 *, const __global double2 *, size_t, event_t);12602event_t __ovld async_work_group_copy(__local double3 *, const __global double3 *, size_t, event_t);12603event_t __ovld async_work_group_copy(__local double4 *, const __global double4 *, size_t, event_t);12604event_t __ovld async_work_group_copy(__local double8 *, const __global double8 *, size_t, event_t);12605event_t __ovld async_work_group_copy(__local double16 *, const __global double16 *, size_t, event_t);12606event_t __ovld async_work_group_copy(__global double *, const __local double *, size_t, event_t);12607event_t __ovld async_work_group_copy(__global double2 *, const __local double2 *, size_t, event_t);12608event_t __ovld async_work_group_copy(__global double3 *, const __local double3 *, size_t, event_t);12609event_t __ovld async_work_group_copy(__global double4 *, const __local double4 *, size_t, event_t);12610event_t __ovld async_work_group_copy(__global double8 *, const __local double8 *, size_t, event_t);12611event_t __ovld async_work_group_copy(__global double16 *, const __local double16 *, size_t, event_t);12612#endif //cl_khr_fp6412613#ifdef cl_khr_fp1612614event_t __ovld async_work_group_copy(__local half *, const __global half *, size_t, event_t);12615event_t __ovld async_work_group_copy(__local half2 *, const __global half2 *, size_t, event_t);12616event_t __ovld async_work_group_copy(__local half3 *, const __global half3 *, size_t, event_t);12617event_t __ovld async_work_group_copy(__local half4 *, const __global half4 *, size_t, event_t);12618event_t __ovld async_work_group_copy(__local half8 *, const __global half8 *, size_t, event_t);12619event_t __ovld async_work_group_copy(__local half16 *, const __global half16 *, size_t, event_t);12620event_t __ovld async_work_group_copy(__global half *, const __local half *, size_t, event_t);12621event_t __ovld async_work_group_copy(__global half2 *, const __local half2 *, size_t, event_t);12622event_t __ovld async_work_group_copy(__global half3 *, const __local half3 *, size_t, event_t);12623event_t __ovld async_work_group_copy(__global half4 *, const __local half4 *, size_t, event_t);12624event_t __ovld async_work_group_copy(__global half8 *, const __local half8 *, size_t, event_t);12625event_t __ovld async_work_group_copy(__global half16 *, const __local half16 *, size_t, event_t);12626#endif //cl_khr_fp1612627 12628/**12629 * Perform an async gather of num_elements12630 * gentype elements from src to dst. The12631 * src_stride is the stride in elements for each12632 * gentype element read from src. The dst_stride12633 * is the stride in elements for each gentype12634 * element written to dst. The async gather is12635 * performed by all work-items in a work-group.12636 * This built-in function must therefore be12637 * encountered by all work-items in a work-group12638 * executing the kernel with the same argument12639 * values; otherwise the results are undefined.12640 * Returns an event object that can be used by12641 * wait_group_events to wait for the async copy12642 * to finish. The event argument can also be used12643 * to associate the12644 * async_work_group_strided_copy with a12645 * previous async copy allowing an event to be12646 * shared by multiple async copies; otherwise event12647 * should be zero.12648 * If event argument is non-zero, the event object12649 * supplied in event argument will be returned.12650 * This function does not perform any implicit12651 * synchronization of source data such as using a12652 * barrier before performing the copy.12653 */12654event_t __ovld async_work_group_strided_copy(__local char *, const __global char *, size_t, size_t, event_t);12655event_t __ovld async_work_group_strided_copy(__local uchar *, const __global uchar *, size_t, size_t, event_t);12656event_t __ovld async_work_group_strided_copy(__local short *, const __global short *, size_t, size_t, event_t);12657event_t __ovld async_work_group_strided_copy(__local ushort *, const __global ushort *, size_t, size_t, event_t);12658event_t __ovld async_work_group_strided_copy(__local int *, const __global int *, size_t, size_t, event_t);12659event_t __ovld async_work_group_strided_copy(__local uint *, const __global uint *, size_t, size_t, event_t);12660event_t __ovld async_work_group_strided_copy(__local long *, const __global long *, size_t, size_t, event_t);12661event_t __ovld async_work_group_strided_copy(__local ulong *, const __global ulong *, size_t, size_t, event_t);12662event_t __ovld async_work_group_strided_copy(__local float *, const __global float *, size_t, size_t, event_t);12663event_t __ovld async_work_group_strided_copy(__local char2 *, const __global char2 *, size_t, size_t, event_t);12664event_t __ovld async_work_group_strided_copy(__local uchar2 *, const __global uchar2 *, size_t, size_t, event_t);12665event_t __ovld async_work_group_strided_copy(__local short2 *, const __global short2 *, size_t, size_t, event_t);12666event_t __ovld async_work_group_strided_copy(__local ushort2 *, const __global ushort2 *, size_t, size_t, event_t);12667event_t __ovld async_work_group_strided_copy(__local int2 *, const __global int2 *, size_t, size_t, event_t);12668event_t __ovld async_work_group_strided_copy(__local uint2 *, const __global uint2 *, size_t, size_t, event_t);12669event_t __ovld async_work_group_strided_copy(__local long2 *, const __global long2 *, size_t, size_t, event_t);12670event_t __ovld async_work_group_strided_copy(__local ulong2 *, const __global ulong2 *, size_t, size_t, event_t);12671event_t __ovld async_work_group_strided_copy(__local float2 *, const __global float2 *, size_t, size_t, event_t);12672event_t __ovld async_work_group_strided_copy(__local char3 *, const __global char3 *, size_t, size_t, event_t);12673event_t __ovld async_work_group_strided_copy(__local uchar3 *, const __global uchar3 *, size_t, size_t, event_t);12674event_t __ovld async_work_group_strided_copy(__local short3 *, const __global short3 *, size_t, size_t, event_t);12675event_t __ovld async_work_group_strided_copy(__local ushort3 *, const __global ushort3 *, size_t, size_t, event_t);12676event_t __ovld async_work_group_strided_copy(__local int3 *, const __global int3 *, size_t, size_t, event_t);12677event_t __ovld async_work_group_strided_copy(__local uint3 *, const __global uint3 *, size_t, size_t, event_t);12678event_t __ovld async_work_group_strided_copy(__local long3 *, const __global long3 *, size_t, size_t, event_t);12679event_t __ovld async_work_group_strided_copy(__local ulong3 *, const __global ulong3 *, size_t, size_t, event_t);12680event_t __ovld async_work_group_strided_copy(__local float3 *, const __global float3 *, size_t, size_t, event_t);12681event_t __ovld async_work_group_strided_copy(__local char4 *, const __global char4 *, size_t, size_t, event_t);12682event_t __ovld async_work_group_strided_copy(__local uchar4 *, const __global uchar4 *, size_t, size_t, event_t);12683event_t __ovld async_work_group_strided_copy(__local short4 *, const __global short4 *, size_t, size_t, event_t);12684event_t __ovld async_work_group_strided_copy(__local ushort4 *, const __global ushort4 *, size_t, size_t, event_t);12685event_t __ovld async_work_group_strided_copy(__local int4 *, const __global int4 *, size_t, size_t, event_t);12686event_t __ovld async_work_group_strided_copy(__local uint4 *, const __global uint4 *, size_t, size_t, event_t);12687event_t __ovld async_work_group_strided_copy(__local long4 *, const __global long4 *, size_t, size_t, event_t);12688event_t __ovld async_work_group_strided_copy(__local ulong4 *, const __global ulong4 *, size_t, size_t, event_t);12689event_t __ovld async_work_group_strided_copy(__local float4 *, const __global float4 *, size_t, size_t, event_t);12690event_t __ovld async_work_group_strided_copy(__local char8 *, const __global char8 *, size_t, size_t, event_t);12691event_t __ovld async_work_group_strided_copy(__local uchar8 *, const __global uchar8 *, size_t, size_t, event_t);12692event_t __ovld async_work_group_strided_copy(__local short8 *, const __global short8 *, size_t, size_t, event_t);12693event_t __ovld async_work_group_strided_copy(__local ushort8 *, const __global ushort8 *, size_t, size_t, event_t);12694event_t __ovld async_work_group_strided_copy(__local int8 *, const __global int8 *, size_t, size_t, event_t);12695event_t __ovld async_work_group_strided_copy(__local uint8 *, const __global uint8 *, size_t, size_t, event_t);12696event_t __ovld async_work_group_strided_copy(__local long8 *, const __global long8 *, size_t, size_t, event_t);12697event_t __ovld async_work_group_strided_copy(__local ulong8 *, const __global ulong8 *, size_t, size_t, event_t);12698event_t __ovld async_work_group_strided_copy(__local float8 *, const __global float8 *, size_t, size_t, event_t);12699event_t __ovld async_work_group_strided_copy(__local char16 *, const __global char16 *, size_t, size_t, event_t);12700event_t __ovld async_work_group_strided_copy(__local uchar16 *, const __global uchar16 *, size_t, size_t, event_t);12701event_t __ovld async_work_group_strided_copy(__local short16 *, const __global short16 *, size_t, size_t, event_t);12702event_t __ovld async_work_group_strided_copy(__local ushort16 *, const __global ushort16 *, size_t, size_t, event_t);12703event_t __ovld async_work_group_strided_copy(__local int16 *, const __global int16 *, size_t, size_t, event_t);12704event_t __ovld async_work_group_strided_copy(__local uint16 *, const __global uint16 *, size_t, size_t, event_t);12705event_t __ovld async_work_group_strided_copy(__local long16 *, const __global long16 *, size_t, size_t, event_t);12706event_t __ovld async_work_group_strided_copy(__local ulong16 *, const __global ulong16 *, size_t, size_t, event_t);12707event_t __ovld async_work_group_strided_copy(__local float16 *, const __global float16 *, size_t, size_t, event_t);12708event_t __ovld async_work_group_strided_copy(__global char *, const __local char *, size_t, size_t, event_t);12709event_t __ovld async_work_group_strided_copy(__global uchar *, const __local uchar *, size_t, size_t, event_t);12710event_t __ovld async_work_group_strided_copy(__global short *, const __local short *, size_t, size_t, event_t);12711event_t __ovld async_work_group_strided_copy(__global ushort *, const __local ushort *, size_t, size_t, event_t);12712event_t __ovld async_work_group_strided_copy(__global int *, const __local int *, size_t, size_t, event_t);12713event_t __ovld async_work_group_strided_copy(__global uint *, const __local uint *, size_t, size_t, event_t);12714event_t __ovld async_work_group_strided_copy(__global long *, const __local long *, size_t, size_t, event_t);12715event_t __ovld async_work_group_strided_copy(__global ulong *, const __local ulong *, size_t, size_t, event_t);12716event_t __ovld async_work_group_strided_copy(__global float *, const __local float *, size_t, size_t, event_t);12717event_t __ovld async_work_group_strided_copy(__global char2 *, const __local char2 *, size_t, size_t, event_t);12718event_t __ovld async_work_group_strided_copy(__global uchar2 *, const __local uchar2 *, size_t, size_t, event_t);12719event_t __ovld async_work_group_strided_copy(__global short2 *, const __local short2 *, size_t, size_t, event_t);12720event_t __ovld async_work_group_strided_copy(__global ushort2 *, const __local ushort2 *, size_t, size_t, event_t);12721event_t __ovld async_work_group_strided_copy(__global int2 *, const __local int2 *, size_t, size_t, event_t);12722event_t __ovld async_work_group_strided_copy(__global uint2 *, const __local uint2 *, size_t, size_t, event_t);12723event_t __ovld async_work_group_strided_copy(__global long2 *, const __local long2 *, size_t, size_t, event_t);12724event_t __ovld async_work_group_strided_copy(__global ulong2 *, const __local ulong2 *, size_t, size_t, event_t);12725event_t __ovld async_work_group_strided_copy(__global float2 *, const __local float2 *, size_t, size_t, event_t);12726event_t __ovld async_work_group_strided_copy(__global char3 *, const __local char3 *, size_t, size_t, event_t);12727event_t __ovld async_work_group_strided_copy(__global uchar3 *, const __local uchar3 *, size_t, size_t, event_t);12728event_t __ovld async_work_group_strided_copy(__global short3 *, const __local short3 *, size_t, size_t, event_t);12729event_t __ovld async_work_group_strided_copy(__global ushort3 *, const __local ushort3 *, size_t, size_t, event_t);12730event_t __ovld async_work_group_strided_copy(__global int3 *, const __local int3 *, size_t, size_t, event_t);12731event_t __ovld async_work_group_strided_copy(__global uint3 *, const __local uint3 *, size_t, size_t, event_t);12732event_t __ovld async_work_group_strided_copy(__global long3 *, const __local long3 *, size_t, size_t, event_t);12733event_t __ovld async_work_group_strided_copy(__global ulong3 *, const __local ulong3 *, size_t, size_t, event_t);12734event_t __ovld async_work_group_strided_copy(__global float3 *, const __local float3 *, size_t, size_t, event_t);12735event_t __ovld async_work_group_strided_copy(__global char4 *, const __local char4 *, size_t, size_t, event_t);12736event_t __ovld async_work_group_strided_copy(__global uchar4 *, const __local uchar4 *, size_t, size_t, event_t);12737event_t __ovld async_work_group_strided_copy(__global short4 *, const __local short4 *, size_t, size_t, event_t);12738event_t __ovld async_work_group_strided_copy(__global ushort4 *, const __local ushort4 *, size_t, size_t, event_t);12739event_t __ovld async_work_group_strided_copy(__global int4 *, const __local int4 *, size_t, size_t, event_t);12740event_t __ovld async_work_group_strided_copy(__global uint4 *, const __local uint4 *, size_t, size_t, event_t);12741event_t __ovld async_work_group_strided_copy(__global long4 *, const __local long4 *, size_t, size_t, event_t);12742event_t __ovld async_work_group_strided_copy(__global ulong4 *, const __local ulong4 *, size_t, size_t, event_t);12743event_t __ovld async_work_group_strided_copy(__global float4 *, const __local float4 *, size_t, size_t, event_t);12744event_t __ovld async_work_group_strided_copy(__global char8 *, const __local char8 *, size_t, size_t, event_t);12745event_t __ovld async_work_group_strided_copy(__global uchar8 *, const __local uchar8 *, size_t, size_t, event_t);12746event_t __ovld async_work_group_strided_copy(__global short8 *, const __local short8 *, size_t, size_t, event_t);12747event_t __ovld async_work_group_strided_copy(__global ushort8 *, const __local ushort8 *, size_t, size_t, event_t);12748event_t __ovld async_work_group_strided_copy(__global int8 *, const __local int8 *, size_t, size_t, event_t);12749event_t __ovld async_work_group_strided_copy(__global uint8 *, const __local uint8 *, size_t, size_t, event_t);12750event_t __ovld async_work_group_strided_copy(__global long8 *, const __local long8 *, size_t, size_t, event_t);12751event_t __ovld async_work_group_strided_copy(__global ulong8 *, const __local ulong8 *, size_t, size_t, event_t);12752event_t __ovld async_work_group_strided_copy(__global float8 *, const __local float8 *, size_t, size_t, event_t);12753event_t __ovld async_work_group_strided_copy(__global char16 *, const __local char16 *, size_t, size_t, event_t);12754event_t __ovld async_work_group_strided_copy(__global uchar16 *, const __local uchar16 *, size_t, size_t, event_t);12755event_t __ovld async_work_group_strided_copy(__global short16 *, const __local short16 *, size_t, size_t, event_t);12756event_t __ovld async_work_group_strided_copy(__global ushort16 *, const __local ushort16 *, size_t, size_t, event_t);12757event_t __ovld async_work_group_strided_copy(__global int16 *, const __local int16 *, size_t, size_t, event_t);12758event_t __ovld async_work_group_strided_copy(__global uint16 *, const __local uint16 *, size_t, size_t, event_t);12759event_t __ovld async_work_group_strided_copy(__global long16 *, const __local long16 *, size_t, size_t, event_t);12760event_t __ovld async_work_group_strided_copy(__global ulong16 *, const __local ulong16 *, size_t, size_t, event_t);12761event_t __ovld async_work_group_strided_copy(__global float16 *, const __local float16 *, size_t, size_t, event_t);12762#ifdef cl_khr_fp6412763event_t __ovld async_work_group_strided_copy(__local double *, const __global double *, size_t, size_t, event_t);12764event_t __ovld async_work_group_strided_copy(__local double2 *, const __global double2 *, size_t, size_t, event_t);12765event_t __ovld async_work_group_strided_copy(__local double3 *, const __global double3 *, size_t, size_t, event_t);12766event_t __ovld async_work_group_strided_copy(__local double4 *, const __global double4 *, size_t, size_t, event_t);12767event_t __ovld async_work_group_strided_copy(__local double8 *, const __global double8 *, size_t, size_t, event_t);12768event_t __ovld async_work_group_strided_copy(__local double16 *, const __global double16 *, size_t, size_t, event_t);12769event_t __ovld async_work_group_strided_copy(__global double *, const __local double *, size_t, size_t, event_t);12770event_t __ovld async_work_group_strided_copy(__global double2 *, const __local double2 *, size_t, size_t, event_t);12771event_t __ovld async_work_group_strided_copy(__global double3 *, const __local double3 *, size_t, size_t, event_t);12772event_t __ovld async_work_group_strided_copy(__global double4 *, const __local double4 *, size_t, size_t, event_t);12773event_t __ovld async_work_group_strided_copy(__global double8 *, const __local double8 *, size_t, size_t, event_t);12774event_t __ovld async_work_group_strided_copy(__global double16 *, const __local double16 *, size_t, size_t, event_t);12775#endif //cl_khr_fp6412776#ifdef cl_khr_fp1612777event_t __ovld async_work_group_strided_copy(__local half *, const __global half *, size_t, size_t, event_t);12778event_t __ovld async_work_group_strided_copy(__local half2 *, const __global half2 *, size_t, size_t, event_t);12779event_t __ovld async_work_group_strided_copy(__local half3 *, const __global half3 *, size_t, size_t, event_t);12780event_t __ovld async_work_group_strided_copy(__local half4 *, const __global half4 *, size_t, size_t, event_t);12781event_t __ovld async_work_group_strided_copy(__local half8 *, const __global half8 *, size_t, size_t, event_t);12782event_t __ovld async_work_group_strided_copy(__local half16 *, const __global half16 *, size_t, size_t, event_t);12783event_t __ovld async_work_group_strided_copy(__global half *, const __local half *, size_t, size_t, event_t);12784event_t __ovld async_work_group_strided_copy(__global half2 *, const __local half2 *, size_t, size_t, event_t);12785event_t __ovld async_work_group_strided_copy(__global half3 *, const __local half3 *, size_t, size_t, event_t);12786event_t __ovld async_work_group_strided_copy(__global half4 *, const __local half4 *, size_t, size_t, event_t);12787event_t __ovld async_work_group_strided_copy(__global half8 *, const __local half8 *, size_t, size_t, event_t);12788event_t __ovld async_work_group_strided_copy(__global half16 *, const __local half16 *, size_t, size_t, event_t);12789#endif //cl_khr_fp1612790 12791/**12792 * Wait for events that identify the12793 * async_work_group_copy operations to12794 * complete. The event objects specified in12795 * event_list will be released after the wait is12796 * performed.12797 * This function must be encountered by all workitems12798 * in a work-group executing the kernel with12799 * the same num_events and event objects specified12800 * in event_list; otherwise the results are undefined.12801 */12802void __ovld wait_group_events(int, event_t *);12803 12804/**12805 * Prefetch num_elements * sizeof(gentype)12806 * bytes into the global cache. The prefetch12807 * instruction is applied to a work-item in a workgroup12808 * and does not affect the functional12809 * behavior of the kernel.12810 */12811void __ovld prefetch(const __global char *, size_t);12812void __ovld prefetch(const __global uchar *, size_t);12813void __ovld prefetch(const __global short *, size_t);12814void __ovld prefetch(const __global ushort *, size_t);12815void __ovld prefetch(const __global int *, size_t);12816void __ovld prefetch(const __global uint *, size_t);12817void __ovld prefetch(const __global long *, size_t);12818void __ovld prefetch(const __global ulong *, size_t);12819void __ovld prefetch(const __global float *, size_t);12820void __ovld prefetch(const __global char2 *, size_t);12821void __ovld prefetch(const __global uchar2 *, size_t);12822void __ovld prefetch(const __global short2 *, size_t);12823void __ovld prefetch(const __global ushort2 *, size_t);12824void __ovld prefetch(const __global int2 *, size_t);12825void __ovld prefetch(const __global uint2 *, size_t);12826void __ovld prefetch(const __global long2 *, size_t);12827void __ovld prefetch(const __global ulong2 *, size_t);12828void __ovld prefetch(const __global float2 *, size_t);12829void __ovld prefetch(const __global char3 *, size_t);12830void __ovld prefetch(const __global uchar3 *, size_t);12831void __ovld prefetch(const __global short3 *, size_t);12832void __ovld prefetch(const __global ushort3 *, size_t);12833void __ovld prefetch(const __global int3 *, size_t);12834void __ovld prefetch(const __global uint3 *, size_t);12835void __ovld prefetch(const __global long3 *, size_t);12836void __ovld prefetch(const __global ulong3 *, size_t);12837void __ovld prefetch(const __global float3 *, size_t);12838void __ovld prefetch(const __global char4 *, size_t);12839void __ovld prefetch(const __global uchar4 *, size_t);12840void __ovld prefetch(const __global short4 *, size_t);12841void __ovld prefetch(const __global ushort4 *, size_t);12842void __ovld prefetch(const __global int4 *, size_t);12843void __ovld prefetch(const __global uint4 *, size_t);12844void __ovld prefetch(const __global long4 *, size_t);12845void __ovld prefetch(const __global ulong4 *, size_t);12846void __ovld prefetch(const __global float4 *, size_t);12847void __ovld prefetch(const __global char8 *, size_t);12848void __ovld prefetch(const __global uchar8 *, size_t);12849void __ovld prefetch(const __global short8 *, size_t);12850void __ovld prefetch(const __global ushort8 *, size_t);12851void __ovld prefetch(const __global int8 *, size_t);12852void __ovld prefetch(const __global uint8 *, size_t);12853void __ovld prefetch(const __global long8 *, size_t);12854void __ovld prefetch(const __global ulong8 *, size_t);12855void __ovld prefetch(const __global float8 *, size_t);12856void __ovld prefetch(const __global char16 *, size_t);12857void __ovld prefetch(const __global uchar16 *, size_t);12858void __ovld prefetch(const __global short16 *, size_t);12859void __ovld prefetch(const __global ushort16 *, size_t);12860void __ovld prefetch(const __global int16 *, size_t);12861void __ovld prefetch(const __global uint16 *, size_t);12862void __ovld prefetch(const __global long16 *, size_t);12863void __ovld prefetch(const __global ulong16 *, size_t);12864void __ovld prefetch(const __global float16 *, size_t);12865#ifdef cl_khr_fp6412866void __ovld prefetch(const __global double *, size_t);12867void __ovld prefetch(const __global double2 *, size_t);12868void __ovld prefetch(const __global double3 *, size_t);12869void __ovld prefetch(const __global double4 *, size_t);12870void __ovld prefetch(const __global double8 *, size_t);12871void __ovld prefetch(const __global double16 *, size_t);12872#endif //cl_khr_fp6412873#ifdef cl_khr_fp1612874void __ovld prefetch(const __global half *, size_t);12875void __ovld prefetch(const __global half2 *, size_t);12876void __ovld prefetch(const __global half3 *, size_t);12877void __ovld prefetch(const __global half4 *, size_t);12878void __ovld prefetch(const __global half8 *, size_t);12879void __ovld prefetch(const __global half16 *, size_t);12880#endif // cl_khr_fp1612881 12882// OpenCL v1.1 s6.11.1, v1.2 s6.12.11 - Atomic Functions12883 12884#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)12885#pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable12886#pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable12887#endif12888/**12889 * Read the 32-bit value (referred to as old)12890 * stored at location pointed by p. Compute12891 * (old + val) and store result at location12892 * pointed by p. The function returns old.12893 */12894int __ovld atomic_add(volatile __global int *, int);12895uint __ovld atomic_add(volatile __global uint *, uint);12896int __ovld atomic_add(volatile __local int *, int);12897uint __ovld atomic_add(volatile __local uint *, uint);12898#ifdef __OPENCL_CPP_VERSION__12899int __ovld atomic_add(volatile int *, int);12900uint __ovld atomic_add(volatile uint *, uint);12901#endif12902 12903#if defined(cl_khr_global_int32_base_atomics)12904int __ovld atom_add(volatile __global int *, int);12905uint __ovld atom_add(volatile __global uint *, uint);12906#endif12907#if defined(cl_khr_local_int32_base_atomics)12908int __ovld atom_add(volatile __local int *, int);12909uint __ovld atom_add(volatile __local uint *, uint);12910#endif12911 12912#if defined(cl_khr_int64_base_atomics)12913long __ovld atom_add(volatile __global long *, long);12914ulong __ovld atom_add(volatile __global ulong *, ulong);12915long __ovld atom_add(volatile __local long *, long);12916ulong __ovld atom_add(volatile __local ulong *, ulong);12917#endif12918 12919/**12920 * Read the 32-bit value (referred to as old) stored at location pointed by p.12921 * Compute (old - val) and store result at location pointed by p. The function12922 * returns old.12923 */12924int __ovld atomic_sub(volatile __global int *, int);12925uint __ovld atomic_sub(volatile __global uint *, uint);12926int __ovld atomic_sub(volatile __local int *, int);12927uint __ovld atomic_sub(volatile __local uint *, uint);12928#ifdef __OPENCL_CPP_VERSION__12929int __ovld atomic_sub(volatile int *, int);12930uint __ovld atomic_sub(volatile uint *, uint);12931#endif12932 12933#if defined(cl_khr_global_int32_base_atomics)12934int __ovld atom_sub(volatile __global int *, int);12935uint __ovld atom_sub(volatile __global uint *, uint);12936#endif12937#if defined(cl_khr_local_int32_base_atomics)12938int __ovld atom_sub(volatile __local int *, int);12939uint __ovld atom_sub(volatile __local uint *, uint);12940#endif12941 12942#if defined(cl_khr_int64_base_atomics)12943long __ovld atom_sub(volatile __global long *, long);12944ulong __ovld atom_sub(volatile __global ulong *, ulong);12945long __ovld atom_sub(volatile __local long *, long);12946ulong __ovld atom_sub(volatile __local ulong *, ulong);12947#endif12948 12949/**12950 * Swaps the old value stored at location p12951 * with new value given by val. Returns old12952 * value.12953 */12954int __ovld atomic_xchg(volatile __global int *, int);12955uint __ovld atomic_xchg(volatile __global uint *, uint);12956int __ovld atomic_xchg(volatile __local int *, int);12957uint __ovld atomic_xchg(volatile __local uint *, uint);12958float __ovld atomic_xchg(volatile __global float *, float);12959float __ovld atomic_xchg(volatile __local float *, float);12960#ifdef __OPENCL_CPP_VERSION__12961int __ovld atomic_xchg(volatile int *, int);12962uint __ovld atomic_xchg(volatile uint *, uint);12963float __ovld atomic_xchg(volatile float *, float);12964#endif12965 12966#if defined(cl_khr_global_int32_base_atomics)12967int __ovld atom_xchg(volatile __global int *, int);12968uint __ovld atom_xchg(volatile __global uint *, uint);12969#endif12970#if defined(cl_khr_local_int32_base_atomics)12971int __ovld atom_xchg(volatile __local int *, int);12972uint __ovld atom_xchg(volatile __local uint *, uint);12973#endif12974 12975#if defined(cl_khr_int64_base_atomics)12976long __ovld atom_xchg(volatile __global long *, long);12977long __ovld atom_xchg(volatile __local long *, long);12978ulong __ovld atom_xchg(volatile __global ulong *, ulong);12979ulong __ovld atom_xchg(volatile __local ulong *, ulong);12980#endif12981 12982/**12983 * Read the 32-bit value (referred to as old)12984 * stored at location pointed by p. Compute12985 * (old + 1) and store result at location12986 * pointed by p. The function returns old.12987 */12988int __ovld atomic_inc(volatile __global int *);12989uint __ovld atomic_inc(volatile __global uint *);12990int __ovld atomic_inc(volatile __local int *);12991uint __ovld atomic_inc(volatile __local uint *);12992#ifdef __OPENCL_CPP_VERSION__12993int __ovld atomic_inc(volatile int *);12994uint __ovld atomic_inc(volatile uint *);12995#endif12996 12997#if defined(cl_khr_global_int32_base_atomics)12998int __ovld atom_inc(volatile __global int *);12999uint __ovld atom_inc(volatile __global uint *);13000#endif13001#if defined(cl_khr_local_int32_base_atomics)13002int __ovld atom_inc(volatile __local int *);13003uint __ovld atom_inc(volatile __local uint *);13004#endif13005 13006#if defined(cl_khr_int64_base_atomics)13007long __ovld atom_inc(volatile __global long *);13008ulong __ovld atom_inc(volatile __global ulong *);13009long __ovld atom_inc(volatile __local long *);13010ulong __ovld atom_inc(volatile __local ulong *);13011#endif13012 13013/**13014 * Read the 32-bit value (referred to as old)13015 * stored at location pointed by p. Compute13016 * (old - 1) and store result at location13017 * pointed by p. The function returns old.13018 */13019int __ovld atomic_dec(volatile __global int *);13020uint __ovld atomic_dec(volatile __global uint *);13021int __ovld atomic_dec(volatile __local int *);13022uint __ovld atomic_dec(volatile __local uint *);13023#ifdef __OPENCL_CPP_VERSION__13024int __ovld atomic_dec(volatile int *);13025uint __ovld atomic_dec(volatile uint *);13026#endif13027 13028#if defined(cl_khr_global_int32_base_atomics)13029int __ovld atom_dec(volatile __global int *);13030uint __ovld atom_dec(volatile __global uint *);13031#endif13032#if defined(cl_khr_local_int32_base_atomics)13033int __ovld atom_dec(volatile __local int *);13034uint __ovld atom_dec(volatile __local uint *);13035#endif13036 13037#if defined(cl_khr_int64_base_atomics)13038long __ovld atom_dec(volatile __global long *);13039ulong __ovld atom_dec(volatile __global ulong *);13040long __ovld atom_dec(volatile __local long *);13041ulong __ovld atom_dec(volatile __local ulong *);13042#endif13043 13044/**13045 * Read the 32-bit value (referred to as old)13046 * stored at location pointed by p. Compute13047 * (old == cmp) ? val : old and store result at13048 * location pointed by p. The function13049 * returns old.13050 */13051int __ovld atomic_cmpxchg(volatile __global int *, int, int);13052uint __ovld atomic_cmpxchg(volatile __global uint *, uint, uint);13053int __ovld atomic_cmpxchg(volatile __local int *, int, int);13054uint __ovld atomic_cmpxchg(volatile __local uint *, uint, uint);13055#ifdef __OPENCL_CPP_VERSION__13056int __ovld atomic_cmpxchg(volatile int *, int, int);13057uint __ovld atomic_cmpxchg(volatile uint *, uint, uint);13058#endif13059 13060#if defined(cl_khr_global_int32_base_atomics)13061int __ovld atom_cmpxchg(volatile __global int *, int, int);13062uint __ovld atom_cmpxchg(volatile __global uint *, uint, uint);13063#endif13064#if defined(cl_khr_local_int32_base_atomics)13065int __ovld atom_cmpxchg(volatile __local int *, int, int);13066uint __ovld atom_cmpxchg(volatile __local uint *, uint, uint);13067#endif13068 13069#if defined(cl_khr_int64_base_atomics)13070long __ovld atom_cmpxchg(volatile __global long *, long, long);13071ulong __ovld atom_cmpxchg(volatile __global ulong *, ulong, ulong);13072long __ovld atom_cmpxchg(volatile __local long *, long, long);13073ulong __ovld atom_cmpxchg(volatile __local ulong *, ulong, ulong);13074#endif13075 13076/**13077 * Read the 32-bit value (referred to as old)13078 * stored at location pointed by p. Compute13079 * min(old, val) and store minimum value at13080 * location pointed by p. The function13081 * returns old.13082 */13083int __ovld atomic_min(volatile __global int *, int);13084uint __ovld atomic_min(volatile __global uint *, uint);13085int __ovld atomic_min(volatile __local int *, int);13086uint __ovld atomic_min(volatile __local uint *, uint);13087#ifdef __OPENCL_CPP_VERSION__13088int __ovld atomic_min(volatile int *, int);13089uint __ovld atomic_min(volatile uint *, uint);13090#endif13091 13092#if defined(cl_khr_global_int32_extended_atomics)13093int __ovld atom_min(volatile __global int *, int);13094uint __ovld atom_min(volatile __global uint *, uint);13095#endif13096#if defined(cl_khr_local_int32_extended_atomics)13097int __ovld atom_min(volatile __local int *, int);13098uint __ovld atom_min(volatile __local uint *, uint);13099#endif13100 13101#if defined(cl_khr_int64_extended_atomics)13102long __ovld atom_min(volatile __global long *, long);13103ulong __ovld atom_min(volatile __global ulong *, ulong);13104long __ovld atom_min(volatile __local long *, long);13105ulong __ovld atom_min(volatile __local ulong *, ulong);13106#endif13107 13108/**13109 * Read the 32-bit value (referred to as old)13110 * stored at location pointed by p. Compute13111 * max(old, val) and store maximum value at13112 * location pointed by p. The function13113 * returns old.13114 */13115int __ovld atomic_max(volatile __global int *, int);13116uint __ovld atomic_max(volatile __global uint *, uint);13117int __ovld atomic_max(volatile __local int *, int);13118uint __ovld atomic_max(volatile __local uint *, uint);13119#ifdef __OPENCL_CPP_VERSION__13120int __ovld atomic_max(volatile int *, int);13121uint __ovld atomic_max(volatile uint *, uint);13122#endif13123 13124#if defined(cl_khr_global_int32_extended_atomics)13125int __ovld atom_max(volatile __global int *, int);13126uint __ovld atom_max(volatile __global uint *, uint);13127#endif13128#if defined(cl_khr_local_int32_extended_atomics)13129int __ovld atom_max(volatile __local int *, int);13130uint __ovld atom_max(volatile __local uint *, uint);13131#endif13132 13133#if defined(cl_khr_int64_extended_atomics)13134long __ovld atom_max(volatile __global long *, long);13135ulong __ovld atom_max(volatile __global ulong *, ulong);13136long __ovld atom_max(volatile __local long *, long);13137ulong __ovld atom_max(volatile __local ulong *, ulong);13138#endif13139 13140/**13141 * Read the 32-bit value (referred to as old)13142 * stored at location pointed by p. Compute13143 * (old & val) and store result at location13144 * pointed by p. The function returns old.13145 */13146int __ovld atomic_and(volatile __global int *, int);13147uint __ovld atomic_and(volatile __global uint *, uint);13148int __ovld atomic_and(volatile __local int *, int);13149uint __ovld atomic_and(volatile __local uint *, uint);13150#ifdef __OPENCL_CPP_VERSION__13151int __ovld atomic_and(volatile int *, int);13152uint __ovld atomic_and(volatile uint *, uint);13153#endif13154 13155#if defined(cl_khr_global_int32_extended_atomics)13156int __ovld atom_and(volatile __global int *, int);13157uint __ovld atom_and(volatile __global uint *, uint);13158#endif13159#if defined(cl_khr_local_int32_extended_atomics)13160int __ovld atom_and(volatile __local int *, int);13161uint __ovld atom_and(volatile __local uint *, uint);13162#endif13163 13164#if defined(cl_khr_int64_extended_atomics)13165long __ovld atom_and(volatile __global long *, long);13166ulong __ovld atom_and(volatile __global ulong *, ulong);13167long __ovld atom_and(volatile __local long *, long);13168ulong __ovld atom_and(volatile __local ulong *, ulong);13169#endif13170 13171/**13172 * Read the 32-bit value (referred to as old)13173 * stored at location pointed by p. Compute13174 * (old | val) and store result at location13175 * pointed by p. The function returns old.13176 */13177int __ovld atomic_or(volatile __global int *, int);13178uint __ovld atomic_or(volatile __global uint *, uint);13179int __ovld atomic_or(volatile __local int *, int);13180uint __ovld atomic_or(volatile __local uint *, uint);13181#ifdef __OPENCL_CPP_VERSION__13182int __ovld atomic_or(volatile int *, int);13183uint __ovld atomic_or(volatile uint *, uint);13184#endif13185 13186#if defined(cl_khr_global_int32_extended_atomics)13187int __ovld atom_or(volatile __global int *, int);13188uint __ovld atom_or(volatile __global uint *, uint);13189#endif13190#if defined(cl_khr_local_int32_extended_atomics)13191int __ovld atom_or(volatile __local int *, int);13192uint __ovld atom_or(volatile __local uint *, uint);13193#endif13194 13195#if defined(cl_khr_int64_extended_atomics)13196long __ovld atom_or(volatile __global long *, long);13197ulong __ovld atom_or(volatile __global ulong *, ulong);13198long __ovld atom_or(volatile __local long *, long);13199ulong __ovld atom_or(volatile __local ulong *, ulong);13200#endif13201 13202/**13203 * Read the 32-bit value (referred to as old)13204 * stored at location pointed by p. Compute13205 * (old ^ val) and store result at location13206 * pointed by p. The function returns old.13207 */13208int __ovld atomic_xor(volatile __global int *, int);13209uint __ovld atomic_xor(volatile __global uint *, uint);13210int __ovld atomic_xor(volatile __local int *, int);13211uint __ovld atomic_xor(volatile __local uint *, uint);13212#ifdef __OPENCL_CPP_VERSION__13213int __ovld atomic_xor(volatile int *, int);13214uint __ovld atomic_xor(volatile uint *, uint);13215#endif13216 13217#if defined(cl_khr_global_int32_extended_atomics)13218int __ovld atom_xor(volatile __global int *, int);13219uint __ovld atom_xor(volatile __global uint *, uint);13220#endif13221#if defined(cl_khr_local_int32_extended_atomics)13222int __ovld atom_xor(volatile __local int *, int);13223uint __ovld atom_xor(volatile __local uint *, uint);13224#endif13225 13226#if defined(cl_khr_int64_extended_atomics)13227long __ovld atom_xor(volatile __global long *, long);13228ulong __ovld atom_xor(volatile __global ulong *, ulong);13229long __ovld atom_xor(volatile __local long *, long);13230ulong __ovld atom_xor(volatile __local ulong *, ulong);13231#endif13232 13233#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13234#pragma OPENCL EXTENSION cl_khr_int64_base_atomics : disable13235#pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : disable13236#endif13237 13238// OpenCL v2.0 s6.13.11 - Atomics Functions13239 13240#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)13241 13242// double atomics support requires extensions cl_khr_int64_base_atomics and cl_khr_int64_extended_atomics13243#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13244#pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable13245#pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable13246#endif13247 13248// atomic_init()13249#if defined(__opencl_c_generic_address_space)13250void __ovld atomic_init(volatile atomic_int *, int);13251void __ovld atomic_init(volatile atomic_uint *, uint);13252void __ovld atomic_init(volatile atomic_float *, float);13253#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13254void __ovld atomic_init(volatile atomic_long *, long);13255void __ovld atomic_init(volatile atomic_ulong *, ulong);13256#ifdef cl_khr_fp6413257void __ovld atomic_init(volatile atomic_double *, double);13258#endif //cl_khr_fp6413259#endif13260#endif //defined(__opencl_c_generic_address_space)13261#if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)13262void __ovld atomic_init(volatile __global atomic_int *, int);13263void __ovld atomic_init(volatile __local atomic_int *, int);13264void __ovld atomic_init(volatile __global atomic_uint *, uint);13265void __ovld atomic_init(volatile __local atomic_uint *, uint);13266void __ovld atomic_init(volatile __global atomic_float *, float);13267void __ovld atomic_init(volatile __local atomic_float *, float);13268#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13269void __ovld atomic_init(volatile __global atomic_long *, long);13270void __ovld atomic_init(volatile __local atomic_long *, long);13271void __ovld atomic_init(volatile __global atomic_ulong *, ulong);13272void __ovld atomic_init(volatile __local atomic_ulong *, ulong);13273#ifdef cl_khr_fp6413274void __ovld atomic_init(volatile __global atomic_double *, double);13275void __ovld atomic_init(volatile __local atomic_double *, double);13276#endif //cl_khr_fp6413277#endif13278#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)13279 13280// atomic_work_item_fence()13281void __ovld atomic_work_item_fence(cl_mem_fence_flags, memory_order, memory_scope);13282 13283// atomic_fetch()13284// OpenCL v2.0 s6.13.11.7.5:13285// add/sub: atomic type argument can be uintptr_t/intptr_t, value type argument can be ptrdiff_t.13286 13287#if defined(__opencl_c_atomic_order_seq_cst) && defined(__opencl_c_atomic_scope_device)13288#if defined(__opencl_c_generic_address_space)13289int __ovld atomic_fetch_add(volatile atomic_int *, int);13290uint __ovld atomic_fetch_add(volatile atomic_uint *, uint);13291int __ovld atomic_fetch_sub(volatile atomic_int *, int);13292uint __ovld atomic_fetch_sub(volatile atomic_uint *, uint);13293int __ovld atomic_fetch_or(volatile atomic_int *, int);13294uint __ovld atomic_fetch_or(volatile atomic_uint *, uint);13295int __ovld atomic_fetch_xor(volatile atomic_int *, int);13296uint __ovld atomic_fetch_xor(volatile atomic_uint *, uint);13297int __ovld atomic_fetch_and(volatile atomic_int *, int);13298uint __ovld atomic_fetch_and(volatile atomic_uint *, uint);13299int __ovld atomic_fetch_min(volatile atomic_int *, int);13300uint __ovld atomic_fetch_min(volatile atomic_uint *, uint);13301int __ovld atomic_fetch_max(volatile atomic_int *, int);13302uint __ovld atomic_fetch_max(volatile atomic_uint *, uint);13303#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13304long __ovld atomic_fetch_add(volatile atomic_long *, long);13305ulong __ovld atomic_fetch_add(volatile atomic_ulong *, ulong);13306long __ovld atomic_fetch_sub(volatile atomic_long *, long);13307ulong __ovld atomic_fetch_sub(volatile atomic_ulong *, ulong);13308long __ovld atomic_fetch_or(volatile atomic_long *, long);13309ulong __ovld atomic_fetch_or(volatile atomic_ulong *, ulong);13310long __ovld atomic_fetch_xor(volatile atomic_long *, long);13311ulong __ovld atomic_fetch_xor(volatile atomic_ulong *, ulong);13312long __ovld atomic_fetch_and(volatile atomic_long *, long);13313ulong __ovld atomic_fetch_and(volatile atomic_ulong *, ulong);13314long __ovld atomic_fetch_min(volatile atomic_long *, long);13315ulong __ovld atomic_fetch_min(volatile atomic_ulong *, ulong);13316long __ovld atomic_fetch_max(volatile atomic_long *, long);13317ulong __ovld atomic_fetch_max(volatile atomic_ulong *, ulong);13318uintptr_t __ovld atomic_fetch_add(volatile atomic_uintptr_t *, ptrdiff_t);13319uintptr_t __ovld atomic_fetch_sub(volatile atomic_uintptr_t *, ptrdiff_t);13320#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13321#endif //defined(__opencl_c_generic_address_space)13322#if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)13323int __ovld atomic_fetch_add(volatile __global atomic_int *, int);13324int __ovld atomic_fetch_add(volatile __local atomic_int *, int);13325uint __ovld atomic_fetch_add(volatile __global atomic_uint *, uint);13326uint __ovld atomic_fetch_add(volatile __local atomic_uint *, uint);13327int __ovld atomic_fetch_sub(volatile __global atomic_int *, int);13328int __ovld atomic_fetch_sub(volatile __local atomic_int *, int);13329uint __ovld atomic_fetch_sub(volatile __global atomic_uint *, uint);13330uint __ovld atomic_fetch_sub(volatile __local atomic_uint *, uint);13331int __ovld atomic_fetch_or(volatile __global atomic_int *, int);13332int __ovld atomic_fetch_or(volatile __local atomic_int *, int);13333uint __ovld atomic_fetch_or(volatile __global atomic_uint *, uint);13334uint __ovld atomic_fetch_or(volatile __local atomic_uint *, uint);13335int __ovld atomic_fetch_xor(volatile __global atomic_int *, int);13336int __ovld atomic_fetch_xor(volatile __local atomic_int *, int);13337uint __ovld atomic_fetch_xor(volatile __global atomic_uint *, uint);13338uint __ovld atomic_fetch_xor(volatile __local atomic_uint *, uint);13339int __ovld atomic_fetch_and(volatile __global atomic_int *, int);13340int __ovld atomic_fetch_and(volatile __local atomic_int *, int);13341uint __ovld atomic_fetch_and(volatile __global atomic_uint *, uint);13342uint __ovld atomic_fetch_and(volatile __local atomic_uint *, uint);13343int __ovld atomic_fetch_min(volatile __global atomic_int *, int);13344int __ovld atomic_fetch_min(volatile __local atomic_int *, int);13345uint __ovld atomic_fetch_min(volatile __global atomic_uint *, uint);13346uint __ovld atomic_fetch_min(volatile __local atomic_uint *, uint);13347int __ovld atomic_fetch_max(volatile __global atomic_int *, int);13348int __ovld atomic_fetch_max(volatile __local atomic_int *, int);13349uint __ovld atomic_fetch_max(volatile __global atomic_uint *, uint);13350uint __ovld atomic_fetch_max(volatile __local atomic_uint *, uint);13351#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13352long __ovld atomic_fetch_add(volatile __global atomic_long *, long);13353long __ovld atomic_fetch_add(volatile __local atomic_long *, long);13354ulong __ovld atomic_fetch_add(volatile __global atomic_ulong *, ulong);13355ulong __ovld atomic_fetch_add(volatile __local atomic_ulong *, ulong);13356uintptr_t __ovld atomic_fetch_add(volatile __global atomic_uintptr_t *, ptrdiff_t);13357uintptr_t __ovld atomic_fetch_add(volatile __local atomic_uintptr_t *, ptrdiff_t);13358long __ovld atomic_fetch_sub(volatile __global atomic_long *, long);13359long __ovld atomic_fetch_sub(volatile __local atomic_long *, long);13360ulong __ovld atomic_fetch_sub(volatile __global atomic_ulong *, ulong);13361ulong __ovld atomic_fetch_sub(volatile __local atomic_ulong *, ulong);13362uintptr_t __ovld atomic_fetch_sub(volatile __global atomic_uintptr_t *, ptrdiff_t);13363uintptr_t __ovld atomic_fetch_sub(volatile __local atomic_uintptr_t *, ptrdiff_t);13364long __ovld atomic_fetch_or(volatile __global atomic_long *, long);13365long __ovld atomic_fetch_or(volatile __local atomic_long *, long);13366ulong __ovld atomic_fetch_or(volatile __global atomic_ulong *, ulong);13367ulong __ovld atomic_fetch_or(volatile __local atomic_ulong *, ulong);13368uintptr_t __ovld atomic_fetch_or(volatile __global atomic_uintptr_t *, intptr_t);13369uintptr_t __ovld atomic_fetch_or(volatile __local atomic_uintptr_t *, intptr_t);13370intptr_t __ovld atomic_fetch_or(volatile __global atomic_intptr_t *, uintptr_t);13371intptr_t __ovld atomic_fetch_or(volatile __local atomic_intptr_t *, uintptr_t);13372long __ovld atomic_fetch_xor(volatile __global atomic_long *, long);13373long __ovld atomic_fetch_xor(volatile __local atomic_long *, long);13374ulong __ovld atomic_fetch_xor(volatile __global atomic_ulong *, ulong);13375ulong __ovld atomic_fetch_xor(volatile __local atomic_ulong *, ulong);13376uintptr_t __ovld atomic_fetch_xor(volatile __global atomic_uintptr_t *, intptr_t);13377uintptr_t __ovld atomic_fetch_xor(volatile __local atomic_uintptr_t *, intptr_t);13378intptr_t __ovld atomic_fetch_xor(volatile __global atomic_intptr_t *, uintptr_t);13379intptr_t __ovld atomic_fetch_xor(volatile __local atomic_intptr_t *, uintptr_t);13380long __ovld atomic_fetch_and(volatile __global atomic_long *, long);13381long __ovld atomic_fetch_and(volatile __local atomic_long *, long);13382ulong __ovld atomic_fetch_and(volatile __global atomic_ulong *, ulong);13383ulong __ovld atomic_fetch_and(volatile __local atomic_ulong *, ulong);13384uintptr_t __ovld atomic_fetch_and(volatile __global atomic_uintptr_t *, intptr_t);13385uintptr_t __ovld atomic_fetch_and(volatile __local atomic_uintptr_t *, intptr_t);13386intptr_t __ovld atomic_fetch_and(volatile __global atomic_intptr_t *, uintptr_t);13387intptr_t __ovld atomic_fetch_and(volatile __local atomic_intptr_t *, uintptr_t);13388long __ovld atomic_fetch_min(volatile __global atomic_long *, long);13389long __ovld atomic_fetch_min(volatile __local atomic_long *, long);13390ulong __ovld atomic_fetch_min(volatile __global atomic_ulong *, ulong);13391ulong __ovld atomic_fetch_min(volatile __local atomic_ulong *, ulong);13392uintptr_t __ovld atomic_fetch_min(volatile __global atomic_uintptr_t *, intptr_t);13393uintptr_t __ovld atomic_fetch_min(volatile __local atomic_uintptr_t *, intptr_t);13394intptr_t __ovld atomic_fetch_min(volatile __global atomic_intptr_t *, uintptr_t);13395intptr_t __ovld atomic_fetch_min(volatile __local atomic_intptr_t *, uintptr_t);13396long __ovld atomic_fetch_max(volatile __global atomic_long *, long);13397long __ovld atomic_fetch_max(volatile __local atomic_long *, long);13398ulong __ovld atomic_fetch_max(volatile __global atomic_ulong *, ulong);13399ulong __ovld atomic_fetch_max(volatile __local atomic_ulong *, ulong);13400uintptr_t __ovld atomic_fetch_max(volatile __global atomic_uintptr_t *, uintptr_t);13401uintptr_t __ovld atomic_fetch_max(volatile __local atomic_uintptr_t *, uintptr_t);13402#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13403#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)13404#endif13405 13406#if defined(__opencl_c_atomic_scope_device)13407#if defined(__opencl_c_generic_address_space)13408int __ovld atomic_fetch_add_explicit(volatile atomic_int *, int, memory_order);13409uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *, uint, memory_order);13410int __ovld atomic_fetch_sub_explicit(volatile atomic_int *, int, memory_order);13411uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *, uint, memory_order);13412int __ovld atomic_fetch_or_explicit(volatile atomic_int *, int, memory_order);13413uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *, uint, memory_order);13414int __ovld atomic_fetch_xor_explicit(volatile atomic_int *, int, memory_order);13415uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *, uint, memory_order);13416int __ovld atomic_fetch_and_explicit(volatile atomic_int *, int, memory_order);13417uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *, uint, memory_order);13418int __ovld atomic_fetch_min_explicit(volatile atomic_int *, int, memory_order);13419uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *, uint, memory_order);13420int __ovld atomic_fetch_max_explicit(volatile atomic_int *, int, memory_order);13421uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *, uint, memory_order);13422#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13423long __ovld atomic_fetch_add_explicit(volatile atomic_long *, long, memory_order);13424ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *, ulong, memory_order);13425long __ovld atomic_fetch_sub_explicit(volatile atomic_long *, long, memory_order);13426ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *, ulong, memory_order);13427long __ovld atomic_fetch_or_explicit(volatile atomic_long *, long, memory_order);13428ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *, ulong, memory_order);13429long __ovld atomic_fetch_xor_explicit(volatile atomic_long *, long, memory_order);13430ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *, ulong, memory_order);13431long __ovld atomic_fetch_and_explicit(volatile atomic_long *, long, memory_order);13432ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *, ulong, memory_order);13433long __ovld atomic_fetch_min_explicit(volatile atomic_long *, long, memory_order);13434ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *, ulong, memory_order);13435long __ovld atomic_fetch_max_explicit(volatile atomic_long *, long, memory_order);13436ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *, ulong, memory_order);13437uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *, ptrdiff_t, memory_order);13438uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *, ptrdiff_t, memory_order);13439#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13440#endif //defined(__opencl_c_generic_address_space)13441#if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)13442int __ovld atomic_fetch_add_explicit(volatile __global atomic_int *, int, memory_order);13443int __ovld atomic_fetch_add_explicit(volatile __local atomic_int *, int, memory_order);13444uint __ovld atomic_fetch_add_explicit(volatile __global atomic_uint *, uint, memory_order);13445uint __ovld atomic_fetch_add_explicit(volatile __local atomic_uint *, uint, memory_order);13446int __ovld atomic_fetch_sub_explicit(volatile __global atomic_int *, int, memory_order);13447int __ovld atomic_fetch_sub_explicit(volatile __local atomic_int *, int, memory_order);13448uint __ovld atomic_fetch_sub_explicit(volatile __global atomic_uint *, uint, memory_order);13449uint __ovld atomic_fetch_sub_explicit(volatile __local atomic_uint *, uint, memory_order);13450int __ovld atomic_fetch_or_explicit(volatile __global atomic_int *, int, memory_order);13451int __ovld atomic_fetch_or_explicit(volatile __local atomic_int *, int, memory_order);13452uint __ovld atomic_fetch_or_explicit(volatile __global atomic_uint *, uint, memory_order);13453uint __ovld atomic_fetch_or_explicit(volatile __local atomic_uint *, uint, memory_order);13454int __ovld atomic_fetch_xor_explicit(volatile __global atomic_int *, int, memory_order);13455int __ovld atomic_fetch_xor_explicit(volatile __local atomic_int *, int, memory_order);13456uint __ovld atomic_fetch_xor_explicit(volatile __global atomic_uint *, uint, memory_order);13457uint __ovld atomic_fetch_xor_explicit(volatile __local atomic_uint *, uint, memory_order);13458int __ovld atomic_fetch_and_explicit(volatile __global atomic_int *, int, memory_order);13459int __ovld atomic_fetch_and_explicit(volatile __local atomic_int *, int, memory_order);13460uint __ovld atomic_fetch_and_explicit(volatile __global atomic_uint *, uint, memory_order);13461uint __ovld atomic_fetch_and_explicit(volatile __local atomic_uint *, uint, memory_order);13462int __ovld atomic_fetch_min_explicit(volatile __global atomic_int *, int, memory_order);13463int __ovld atomic_fetch_min_explicit(volatile __local atomic_int *, int, memory_order);13464uint __ovld atomic_fetch_min_explicit(volatile __global atomic_uint *, uint, memory_order);13465uint __ovld atomic_fetch_min_explicit(volatile __local atomic_uint *, uint, memory_order);13466int __ovld atomic_fetch_max_explicit(volatile __global atomic_int *, int, memory_order);13467int __ovld atomic_fetch_max_explicit(volatile __local atomic_int *, int, memory_order);13468uint __ovld atomic_fetch_max_explicit(volatile __global atomic_uint *, uint, memory_order);13469uint __ovld atomic_fetch_max_explicit(volatile __local atomic_uint *, uint, memory_order);13470#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13471long __ovld atomic_fetch_add_explicit(volatile __global atomic_long *, long, memory_order);13472long __ovld atomic_fetch_add_explicit(volatile __local atomic_long *, long, memory_order);13473ulong __ovld atomic_fetch_add_explicit(volatile __global atomic_ulong *, ulong, memory_order);13474ulong __ovld atomic_fetch_add_explicit(volatile __local atomic_ulong *, ulong, memory_order);13475uintptr_t __ovld atomic_fetch_add_explicit(volatile __global atomic_uintptr_t *, ptrdiff_t, memory_order);13476uintptr_t __ovld atomic_fetch_add_explicit(volatile __local atomic_uintptr_t *, ptrdiff_t, memory_order);13477long __ovld atomic_fetch_sub_explicit(volatile __global atomic_long *, long, memory_order);13478long __ovld atomic_fetch_sub_explicit(volatile __local atomic_long *, long, memory_order);13479ulong __ovld atomic_fetch_sub_explicit(volatile __global atomic_ulong *, ulong, memory_order);13480ulong __ovld atomic_fetch_sub_explicit(volatile __local atomic_ulong *, ulong, memory_order);13481uintptr_t __ovld atomic_fetch_sub_explicit(volatile __global atomic_uintptr_t *, ptrdiff_t, memory_order);13482uintptr_t __ovld atomic_fetch_sub_explicit(volatile __local atomic_uintptr_t *, ptrdiff_t, memory_order);13483long __ovld atomic_fetch_or_explicit(volatile __global atomic_long *, long, memory_order);13484long __ovld atomic_fetch_or_explicit(volatile __local atomic_long *, long, memory_order);13485ulong __ovld atomic_fetch_or_explicit(volatile __global atomic_ulong *, ulong, memory_order);13486ulong __ovld atomic_fetch_or_explicit(volatile __local atomic_ulong *, ulong, memory_order);13487uintptr_t __ovld atomic_fetch_or_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order);13488uintptr_t __ovld atomic_fetch_or_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order);13489intptr_t __ovld atomic_fetch_or_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order);13490intptr_t __ovld atomic_fetch_or_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order);13491long __ovld atomic_fetch_xor_explicit(volatile __global atomic_long *, long, memory_order);13492long __ovld atomic_fetch_xor_explicit(volatile __local atomic_long *, long, memory_order);13493ulong __ovld atomic_fetch_xor_explicit(volatile __global atomic_ulong *, ulong, memory_order);13494ulong __ovld atomic_fetch_xor_explicit(volatile __local atomic_ulong *, ulong, memory_order);13495uintptr_t __ovld atomic_fetch_xor_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order);13496uintptr_t __ovld atomic_fetch_xor_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order);13497intptr_t __ovld atomic_fetch_xor_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order);13498intptr_t __ovld atomic_fetch_xor_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order);13499long __ovld atomic_fetch_and_explicit(volatile __global atomic_long *, long, memory_order);13500long __ovld atomic_fetch_and_explicit(volatile __local atomic_long *, long, memory_order);13501ulong __ovld atomic_fetch_and_explicit(volatile __global atomic_ulong *, ulong, memory_order);13502ulong __ovld atomic_fetch_and_explicit(volatile __local atomic_ulong *, ulong, memory_order);13503uintptr_t __ovld atomic_fetch_and_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order);13504uintptr_t __ovld atomic_fetch_and_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order);13505intptr_t __ovld atomic_fetch_and_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order);13506intptr_t __ovld atomic_fetch_and_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order);13507long __ovld atomic_fetch_min_explicit(volatile __global atomic_long *, long, memory_order);13508long __ovld atomic_fetch_min_explicit(volatile __local atomic_long *, long, memory_order);13509ulong __ovld atomic_fetch_min_explicit(volatile __global atomic_ulong *, ulong, memory_order);13510ulong __ovld atomic_fetch_min_explicit(volatile __local atomic_ulong *, ulong, memory_order);13511uintptr_t __ovld atomic_fetch_min_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order);13512uintptr_t __ovld atomic_fetch_min_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order);13513intptr_t __ovld atomic_fetch_min_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order);13514intptr_t __ovld atomic_fetch_min_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order);13515long __ovld atomic_fetch_max_explicit(volatile __global atomic_long *, long, memory_order);13516long __ovld atomic_fetch_max_explicit(volatile __local atomic_long *, long, memory_order);13517ulong __ovld atomic_fetch_max_explicit(volatile __global atomic_ulong *, ulong, memory_order);13518ulong __ovld atomic_fetch_max_explicit(volatile __local atomic_ulong *, ulong, memory_order);13519uintptr_t __ovld atomic_fetch_max_explicit(volatile __global atomic_uintptr_t *, uintptr_t, memory_order);13520uintptr_t __ovld atomic_fetch_max_explicit(volatile __local atomic_uintptr_t *, uintptr_t, memory_order);13521#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13522#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)13523#endif13524 13525#if defined(__opencl_c_generic_address_space)13526int __ovld atomic_fetch_add_explicit(volatile atomic_int *, int, memory_order, memory_scope);13527uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);13528int __ovld atomic_fetch_sub_explicit(volatile atomic_int *, int, memory_order, memory_scope);13529uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);13530int __ovld atomic_fetch_or_explicit(volatile atomic_int *, int, memory_order, memory_scope);13531uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);13532int __ovld atomic_fetch_xor_explicit(volatile atomic_int *, int, memory_order, memory_scope);13533uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);13534int __ovld atomic_fetch_and_explicit(volatile atomic_int *, int, memory_order, memory_scope);13535uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);13536int __ovld atomic_fetch_min_explicit(volatile atomic_int *, int, memory_order, memory_scope);13537uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);13538int __ovld atomic_fetch_max_explicit(volatile atomic_int *, int, memory_order, memory_scope);13539uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);13540#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13541long __ovld atomic_fetch_add_explicit(volatile atomic_long *, long, memory_order, memory_scope);13542ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);13543long __ovld atomic_fetch_sub_explicit(volatile atomic_long *, long, memory_order, memory_scope);13544ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);13545long __ovld atomic_fetch_or_explicit(volatile atomic_long *, long, memory_order, memory_scope);13546ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);13547long __ovld atomic_fetch_xor_explicit(volatile atomic_long *, long, memory_order, memory_scope);13548ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);13549long __ovld atomic_fetch_and_explicit(volatile atomic_long *, long, memory_order, memory_scope);13550ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);13551long __ovld atomic_fetch_min_explicit(volatile atomic_long *, long, memory_order, memory_scope);13552ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);13553long __ovld atomic_fetch_max_explicit(volatile atomic_long *, long, memory_order, memory_scope);13554ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);13555uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *, ptrdiff_t, memory_order, memory_scope);13556uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *, ptrdiff_t, memory_order, memory_scope);13557#endif13558#endif //defined(__opencl_c_generic_address_space)13559#if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)13560int __ovld atomic_fetch_add_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);13561int __ovld atomic_fetch_add_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);13562uint __ovld atomic_fetch_add_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);13563uint __ovld atomic_fetch_add_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);13564int __ovld atomic_fetch_sub_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);13565int __ovld atomic_fetch_sub_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);13566uint __ovld atomic_fetch_sub_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);13567uint __ovld atomic_fetch_sub_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);13568int __ovld atomic_fetch_or_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);13569int __ovld atomic_fetch_or_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);13570uint __ovld atomic_fetch_or_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);13571uint __ovld atomic_fetch_or_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);13572int __ovld atomic_fetch_xor_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);13573int __ovld atomic_fetch_xor_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);13574uint __ovld atomic_fetch_xor_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);13575uint __ovld atomic_fetch_xor_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);13576int __ovld atomic_fetch_and_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);13577int __ovld atomic_fetch_and_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);13578uint __ovld atomic_fetch_and_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);13579uint __ovld atomic_fetch_and_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);13580int __ovld atomic_fetch_min_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);13581int __ovld atomic_fetch_min_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);13582uint __ovld atomic_fetch_min_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);13583uint __ovld atomic_fetch_min_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);13584int __ovld atomic_fetch_max_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);13585int __ovld atomic_fetch_max_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);13586uint __ovld atomic_fetch_max_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);13587uint __ovld atomic_fetch_max_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);13588#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13589long __ovld atomic_fetch_add_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);13590long __ovld atomic_fetch_add_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);13591uintptr_t __ovld atomic_fetch_add_explicit(volatile __global atomic_uintptr_t *, ptrdiff_t, memory_order, memory_scope);13592uintptr_t __ovld atomic_fetch_add_explicit(volatile __local atomic_uintptr_t *, ptrdiff_t, memory_order, memory_scope);13593ulong __ovld atomic_fetch_add_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);13594ulong __ovld atomic_fetch_add_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);13595long __ovld atomic_fetch_sub_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);13596long __ovld atomic_fetch_sub_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);13597ulong __ovld atomic_fetch_sub_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);13598ulong __ovld atomic_fetch_sub_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);13599uintptr_t __ovld atomic_fetch_sub_explicit(volatile __global atomic_uintptr_t *, ptrdiff_t, memory_order, memory_scope);13600uintptr_t __ovld atomic_fetch_sub_explicit(volatile __local atomic_uintptr_t *, ptrdiff_t, memory_order, memory_scope);13601long __ovld atomic_fetch_or_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);13602long __ovld atomic_fetch_or_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);13603ulong __ovld atomic_fetch_or_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);13604ulong __ovld atomic_fetch_or_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);13605uintptr_t __ovld atomic_fetch_or_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order, memory_scope);13606uintptr_t __ovld atomic_fetch_or_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order, memory_scope);13607intptr_t __ovld atomic_fetch_or_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order, memory_scope);13608intptr_t __ovld atomic_fetch_or_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order, memory_scope);13609long __ovld atomic_fetch_xor_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);13610long __ovld atomic_fetch_xor_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);13611ulong __ovld atomic_fetch_xor_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);13612ulong __ovld atomic_fetch_xor_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);13613uintptr_t __ovld atomic_fetch_xor_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order, memory_scope);13614uintptr_t __ovld atomic_fetch_xor_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order, memory_scope);13615intptr_t __ovld atomic_fetch_xor_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order, memory_scope);13616intptr_t __ovld atomic_fetch_xor_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order, memory_scope);13617long __ovld atomic_fetch_and_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);13618long __ovld atomic_fetch_and_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);13619ulong __ovld atomic_fetch_and_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);13620ulong __ovld atomic_fetch_and_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);13621uintptr_t __ovld atomic_fetch_and_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order, memory_scope);13622uintptr_t __ovld atomic_fetch_and_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order, memory_scope);13623intptr_t __ovld atomic_fetch_and_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order, memory_scope);13624intptr_t __ovld atomic_fetch_and_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order, memory_scope);13625long __ovld atomic_fetch_min_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);13626long __ovld atomic_fetch_min_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);13627ulong __ovld atomic_fetch_min_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);13628ulong __ovld atomic_fetch_min_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);13629uintptr_t __ovld atomic_fetch_min_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order, memory_scope);13630uintptr_t __ovld atomic_fetch_min_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order, memory_scope);13631intptr_t __ovld atomic_fetch_min_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order, memory_scope);13632intptr_t __ovld atomic_fetch_min_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order, memory_scope);13633long __ovld atomic_fetch_max_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);13634long __ovld atomic_fetch_max_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);13635ulong __ovld atomic_fetch_max_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);13636ulong __ovld atomic_fetch_max_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);13637uintptr_t __ovld atomic_fetch_max_explicit(volatile __global atomic_uintptr_t *, uintptr_t, memory_order, memory_scope);13638uintptr_t __ovld atomic_fetch_max_explicit(volatile __local atomic_uintptr_t *, uintptr_t, memory_order, memory_scope);13639#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13640#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)13641 13642// The functionality added by cl_ext_float_atomics extension13643#if defined(cl_ext_float_atomics)13644 13645#if defined(__opencl_c_ext_fp16_global_atomic_load_store)13646void __ovld atomic_store(volatile __global atomic_half *, half);13647void __ovld atomic_store_explicit(volatile __global atomic_half *,13648 half, memory_order);13649void __ovld atomic_store_explicit(volatile __global atomic_half *,13650 half, memory_order, memory_scope);13651half __ovld atomic_load(volatile __global atomic_half *);13652half __ovld atomic_load_explicit(volatile __global atomic_half *,13653 memory_order);13654half __ovld atomic_load_explicit(volatile __global atomic_half *,13655 memory_order, memory_scope);13656half __ovld atomic_exchange(volatile __global atomic_half *, half);13657half __ovld atomic_exchange_explicit(volatile __global atomic_half *,13658 half, memory_order);13659half __ovld atomic_exchange_explicit(volatile __global atomic_half *,13660 half, memory_order, memory_scope);13661#endif // defined(__opencl_c_ext_fp16_global_atomic_load_store)13662 13663#if defined(__opencl_c_ext_fp16_local_atomic_load_store)13664void __ovld atomic_store(volatile __local atomic_half *, half);13665void __ovld atomic_store_explicit(volatile __local atomic_half *,13666 half, memory_order);13667void __ovld atomic_store_explicit(volatile __local atomic_half *,13668 half, memory_order, memory_scope);13669half __ovld atomic_load(volatile __local atomic_half *);13670half __ovld atomic_load_explicit(volatile __local atomic_half *,13671 memory_order);13672half __ovld atomic_load_explicit(volatile __local atomic_half *,13673 memory_order, memory_scope);13674half __ovld atomic_exchange(volatile __local atomic_half *, half);13675half __ovld atomic_exchange_explicit(volatile __local atomic_half *,13676 half, memory_order);13677half __ovld atomic_exchange_explicit(volatile __local atomic_half *,13678 half, memory_order, memory_scope);13679#endif // defined(__opencl_c_ext_fp16_local_atomic_load_store)13680 13681#if defined(__opencl_c_ext_fp16_global_atomic_load_store) && \13682 defined(__opencl_c_ext_fp16_local_atomic_load_store)13683void __ovld atomic_store(volatile atomic_half *, half);13684void __ovld atomic_store_explicit(volatile atomic_half *, half,13685 memory_order);13686void __ovld atomic_store_explicit(volatile atomic_half *, half,13687 memory_order, memory_scope);13688half __ovld atomic_load(volatile atomic_half *);13689half __ovld atomic_load_explicit(volatile atomic_half *,13690 memory_order);13691half __ovld atomic_load_explicit(volatile atomic_half *,13692 memory_order, memory_scope);13693half __ovld atomic_exchange(volatile atomic_half *, half);13694half __ovld atomic_exchange_explicit(volatile atomic_half *, half,13695 memory_order);13696half __ovld atomic_exchange_explicit(volatile atomic_half *, half,13697 memory_order, memory_scope);13698#endif // defined(__opencl_c_ext_fp16_global_atomic_load_store) &&13699 // defined(__opencl_c_ext_fp16_local_atomic_load_store)13700 13701#if defined(__opencl_c_ext_fp16_global_atomic_min_max)13702half __ovld atomic_fetch_min(volatile __global atomic_half *, half);13703half __ovld atomic_fetch_max(volatile __global atomic_half *, half);13704half __ovld atomic_fetch_min_explicit(volatile __global atomic_half *,13705 half, memory_order);13706half __ovld atomic_fetch_max_explicit(volatile __global atomic_half *,13707 half, memory_order);13708half __ovld atomic_fetch_min_explicit(volatile __global atomic_half *,13709 half, memory_order, memory_scope);13710half __ovld atomic_fetch_max_explicit(volatile __global atomic_half *,13711 half, memory_order, memory_scope);13712#endif // defined(__opencl_c_ext_fp16_global_atomic_min_max)13713 13714#if defined(__opencl_c_ext_fp16_local_atomic_min_max)13715half __ovld atomic_fetch_min(volatile __local atomic_half *, half);13716half __ovld atomic_fetch_max(volatile __local atomic_half *, half);13717half __ovld atomic_fetch_min_explicit(volatile __local atomic_half *,13718 half, memory_order);13719half __ovld atomic_fetch_max_explicit(volatile __local atomic_half *,13720 half, memory_order);13721half __ovld atomic_fetch_min_explicit(volatile __local atomic_half *,13722 half, memory_order, memory_scope);13723half __ovld atomic_fetch_max_explicit(volatile __local atomic_half *,13724 half, memory_order, memory_scope);13725#endif // defined(__opencl_c_ext_fp16_local_atomic_min_max)13726 13727#if defined(__opencl_c_ext_fp16_global_atomic_min_max) && \13728 defined(__opencl_c_ext_fp16_local_atomic_min_max)13729half __ovld atomic_fetch_min(volatile atomic_half *, half);13730half __ovld atomic_fetch_max(volatile atomic_half *, half);13731half __ovld atomic_fetch_min_explicit(volatile atomic_half *,13732 half, memory_order);13733half __ovld atomic_fetch_max_explicit(volatile atomic_half *,13734 half, memory_order);13735half __ovld atomic_fetch_min_explicit(volatile atomic_half *,13736 half, memory_order, memory_scope);13737half __ovld atomic_fetch_max_explicit(volatile atomic_half *,13738 half, memory_order, memory_scope);13739#endif // defined(__opencl_c_ext_fp16_global_atomic_min_max) && \13740 defined(__opencl_c_ext_fp16_local_atomic_min_max)13741 13742#if defined(__opencl_c_ext_fp32_global_atomic_min_max)13743float __ovld atomic_fetch_min(volatile __global atomic_float *, float);13744float __ovld atomic_fetch_max(volatile __global atomic_float *, float);13745float __ovld atomic_fetch_min_explicit(volatile __global atomic_float *,13746 float, memory_order);13747float __ovld atomic_fetch_max_explicit(volatile __global atomic_float *,13748 float, memory_order);13749float __ovld atomic_fetch_min_explicit(volatile __global atomic_float *,13750 float, memory_order, memory_scope);13751float __ovld atomic_fetch_max_explicit(volatile __global atomic_float *,13752 float, memory_order, memory_scope);13753#endif // defined(__opencl_c_ext_fp32_global_atomic_min_max)13754 13755#if defined(__opencl_c_ext_fp32_local_atomic_min_max)13756float __ovld atomic_fetch_min(volatile __local atomic_float *, float);13757float __ovld atomic_fetch_max(volatile __local atomic_float *, float);13758float __ovld atomic_fetch_min_explicit(volatile __local atomic_float *,13759 float, memory_order);13760float __ovld atomic_fetch_max_explicit(volatile __local atomic_float *,13761 float, memory_order);13762float __ovld atomic_fetch_min_explicit(volatile __local atomic_float *,13763 float, memory_order, memory_scope);13764float __ovld atomic_fetch_max_explicit(volatile __local atomic_float *,13765 float, memory_order, memory_scope);13766#endif // defined(__opencl_c_ext_fp32_local_atomic_min_max)13767 13768#if defined(__opencl_c_ext_fp32_global_atomic_min_max) && \13769 defined(__opencl_c_ext_fp32_local_atomic_min_max)13770float __ovld atomic_fetch_min(volatile atomic_float *, float);13771float __ovld atomic_fetch_max(volatile atomic_float *, float);13772float __ovld atomic_fetch_min_explicit(volatile atomic_float *,13773 float, memory_order);13774float __ovld atomic_fetch_max_explicit(volatile atomic_float *,13775 float, memory_order);13776float __ovld atomic_fetch_min_explicit(volatile atomic_float *,13777 float, memory_order, memory_scope);13778float __ovld atomic_fetch_max_explicit(volatile atomic_float *,13779 float, memory_order, memory_scope);13780#endif // defined(__opencl_c_ext_fp32_global_atomic_min_max) && \13781 defined(__opencl_c_ext_fp32_local_atomic_min_max)13782 13783#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13784#if defined(__opencl_c_ext_fp64_global_atomic_min_max)13785double __ovld atomic_fetch_min(volatile __global atomic_double *, double);13786double __ovld atomic_fetch_max(volatile __global atomic_double *, double);13787double __ovld atomic_fetch_min_explicit(volatile __global atomic_double *,13788 double, memory_order);13789double __ovld atomic_fetch_max_explicit(volatile __global atomic_double *,13790 double, memory_order);13791double __ovld atomic_fetch_min_explicit(volatile __global atomic_double *,13792 double, memory_order, memory_scope);13793double __ovld atomic_fetch_max_explicit(volatile __global atomic_double *,13794 double, memory_order, memory_scope);13795#endif // defined(__opencl_c_ext_fp64_global_atomic_min_max)13796 13797#if defined(__opencl_c_ext_fp64_local_atomic_min_max)13798double __ovld atomic_fetch_min(volatile __local atomic_double *, double);13799double __ovld atomic_fetch_max(volatile __local atomic_double *, double);13800double __ovld atomic_fetch_min_explicit(volatile __local atomic_double *,13801 double, memory_order);13802double __ovld atomic_fetch_max_explicit(volatile __local atomic_double *,13803 double, memory_order);13804double __ovld atomic_fetch_min_explicit(volatile __local atomic_double *,13805 double, memory_order, memory_scope);13806double __ovld atomic_fetch_max_explicit(volatile __local atomic_double *,13807 double, memory_order, memory_scope);13808#endif // defined(__opencl_c_ext_fp64_local_atomic_min_max)13809 13810#if defined(__opencl_c_ext_fp64_global_atomic_min_max) && \13811 defined(__opencl_c_ext_fp64_local_atomic_min_max)13812double __ovld atomic_fetch_min(volatile atomic_double *, double);13813double __ovld atomic_fetch_max(volatile atomic_double *, double);13814double __ovld atomic_fetch_min_explicit(volatile atomic_double *,13815 double, memory_order);13816double __ovld atomic_fetch_max_explicit(volatile atomic_double *,13817 double, memory_order);13818double __ovld atomic_fetch_min_explicit(volatile atomic_double *,13819 double, memory_order, memory_scope);13820double __ovld atomic_fetch_max_explicit(volatile atomic_double *,13821 double, memory_order, memory_scope);13822#endif // defined(__opencl_c_ext_fp64_global_atomic_min_max) && \13823 defined(__opencl_c_ext_fp64_local_atomic_min_max)13824#endif // defined(cl_khr_int64_base_atomics) && \13825 defined(cl_khr_int64_extended_atomics)13826 13827#if defined(__opencl_c_ext_fp16_global_atomic_add)13828half __ovld atomic_fetch_add(volatile __global atomic_half *, half);13829half __ovld atomic_fetch_sub(volatile __global atomic_half *, half);13830half __ovld atomic_fetch_add_explicit(volatile __global atomic_half *,13831 half, memory_order);13832half __ovld atomic_fetch_sub_explicit(volatile __global atomic_half *,13833 half, memory_order);13834half __ovld atomic_fetch_add_explicit(volatile __global atomic_half *,13835 half, memory_order, memory_scope);13836half __ovld atomic_fetch_sub_explicit(volatile __global atomic_half *,13837 half, memory_order, memory_scope);13838#endif // defined(__opencl_c_ext_fp16_global_atomic_add)13839 13840#if defined(__opencl_c_ext_fp16_local_atomic_add)13841half __ovld atomic_fetch_add(volatile __local atomic_half *, half);13842half __ovld atomic_fetch_sub(volatile __local atomic_half *, half);13843half __ovld atomic_fetch_add_explicit(volatile __local atomic_half *,13844 half, memory_order);13845half __ovld atomic_fetch_sub_explicit(volatile __local atomic_half *,13846 half, memory_order);13847half __ovld atomic_fetch_add_explicit(volatile __local atomic_half *,13848 half, memory_order, memory_scope);13849half __ovld atomic_fetch_sub_explicit(volatile __local atomic_half *,13850 half, memory_order, memory_scope);13851#endif // defined(__opencl_c_ext_fp16_local_atomic_add)13852 13853#if defined(__opencl_c_ext_fp16_global_atomic_add) && \13854 defined(__opencl_c_ext_fp16_local_atomic_add)13855half __ovld atomic_fetch_add(volatile atomic_half *, half);13856half __ovld atomic_fetch_sub(volatile atomic_half *, half);13857half __ovld atomic_fetch_add_explicit(volatile atomic_half *,13858 half, memory_order);13859half __ovld atomic_fetch_sub_explicit(volatile atomic_half *,13860 half, memory_order);13861half __ovld atomic_fetch_add_explicit(volatile atomic_half *,13862 half, memory_order, memory_scope);13863half __ovld atomic_fetch_sub_explicit(volatile atomic_half *,13864 half, memory_order, memory_scope);13865#endif // defined(__opencl_c_ext_fp16_global_atomic_add) && \13866 defined(__opencl_c_ext_fp16_local_atomic_add)13867 13868#if defined(__opencl_c_ext_fp32_global_atomic_add)13869float __ovld atomic_fetch_add(volatile __global atomic_float *, float);13870float __ovld atomic_fetch_sub(volatile __global atomic_float *, float);13871float __ovld atomic_fetch_add_explicit(volatile __global atomic_float *,13872 float, memory_order);13873float __ovld atomic_fetch_sub_explicit(volatile __global atomic_float *,13874 float, memory_order);13875float __ovld atomic_fetch_add_explicit(volatile __global atomic_float *,13876 float, memory_order, memory_scope);13877float __ovld atomic_fetch_sub_explicit(volatile __global atomic_float *,13878 float, memory_order, memory_scope);13879#endif // defined(__opencl_c_ext_fp32_global_atomic_add)13880 13881#if defined(__opencl_c_ext_fp32_local_atomic_add)13882float __ovld atomic_fetch_add(volatile __local atomic_float *, float);13883float __ovld atomic_fetch_sub(volatile __local atomic_float *, float);13884float __ovld atomic_fetch_add_explicit(volatile __local atomic_float *,13885 float, memory_order);13886float __ovld atomic_fetch_sub_explicit(volatile __local atomic_float *,13887 float, memory_order);13888float __ovld atomic_fetch_add_explicit(volatile __local atomic_float *,13889 float, memory_order, memory_scope);13890float __ovld atomic_fetch_sub_explicit(volatile __local atomic_float *,13891 float, memory_order, memory_scope);13892#endif // defined(__opencl_c_ext_fp32_local_atomic_add)13893 13894#if defined(__opencl_c_ext_fp32_global_atomic_add) && \13895 defined(__opencl_c_ext_fp32_local_atomic_add)13896float __ovld atomic_fetch_add(volatile atomic_float *, float);13897float __ovld atomic_fetch_sub(volatile atomic_float *, float);13898float __ovld atomic_fetch_add_explicit(volatile atomic_float *,13899 float, memory_order);13900float __ovld atomic_fetch_sub_explicit(volatile atomic_float *,13901 float, memory_order);13902float __ovld atomic_fetch_add_explicit(volatile atomic_float *,13903 float, memory_order, memory_scope);13904float __ovld atomic_fetch_sub_explicit(volatile atomic_float *,13905 float, memory_order, memory_scope);13906#endif // defined(__opencl_c_ext_fp32_global_atomic_add) && \13907 defined(__opencl_c_ext_fp32_local_atomic_add)13908 13909#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13910#if defined(__opencl_c_ext_fp64_global_atomic_add)13911double __ovld atomic_fetch_add(volatile __global atomic_double *, double);13912double __ovld atomic_fetch_sub(volatile __global atomic_double *, double);13913double __ovld atomic_fetch_add_explicit(volatile __global atomic_double *,13914 double, memory_order);13915double __ovld atomic_fetch_sub_explicit(volatile __global atomic_double *,13916 double, memory_order);13917double __ovld atomic_fetch_add_explicit(volatile __global atomic_double *,13918 double, memory_order, memory_scope);13919double __ovld atomic_fetch_sub_explicit(volatile __global atomic_double *,13920 double, memory_order, memory_scope);13921#endif // defined(__opencl_c_ext_fp64_global_atomic_add)13922 13923#if defined(__opencl_c_ext_fp64_local_atomic_add)13924double __ovld atomic_fetch_add(volatile __local atomic_double *, double);13925double __ovld atomic_fetch_sub(volatile __local atomic_double *, double);13926double __ovld atomic_fetch_add_explicit(volatile __local atomic_double *,13927 double, memory_order);13928double __ovld atomic_fetch_sub_explicit(volatile __local atomic_double *,13929 double, memory_order);13930double __ovld atomic_fetch_add_explicit(volatile __local atomic_double *,13931 double, memory_order, memory_scope);13932double __ovld atomic_fetch_sub_explicit(volatile __local atomic_double *,13933 double, memory_order, memory_scope);13934#endif // defined(__opencl_c_ext_fp64_local_atomic_add)13935 13936#if defined(__opencl_c_ext_fp64_global_atomic_add) && \13937 defined(__opencl_c_ext_fp64_local_atomic_add)13938double __ovld atomic_fetch_add(volatile atomic_double *, double);13939double __ovld atomic_fetch_sub(volatile atomic_double *, double);13940double __ovld atomic_fetch_add_explicit(volatile atomic_double *,13941 double, memory_order);13942double __ovld atomic_fetch_sub_explicit(volatile atomic_double *,13943 double, memory_order);13944double __ovld atomic_fetch_add_explicit(volatile atomic_double *,13945 double, memory_order, memory_scope);13946double __ovld atomic_fetch_sub_explicit(volatile atomic_double *,13947 double, memory_order, memory_scope);13948#endif // defined(__opencl_c_ext_fp64_global_atomic_add) && \13949 defined(__opencl_c_ext_fp64_local_atomic_add)13950#endif // defined(cl_khr_int64_base_atomics) && \13951 defined(cl_khr_int64_extended_atomics)13952 13953#endif // cl_ext_float_atomics13954 13955// atomic_store()13956 13957#if defined(__opencl_c_atomic_order_seq_cst) && defined(__opencl_c_atomic_scope_device)13958#if defined(__opencl_c_generic_address_space)13959void __ovld atomic_store(volatile atomic_int *, int);13960void __ovld atomic_store(volatile atomic_uint *, uint);13961void __ovld atomic_store(volatile atomic_float *, float);13962 13963#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13964#ifdef cl_khr_fp6413965void __ovld atomic_store(volatile atomic_double *, double);13966#endif //cl_khr_fp6413967void __ovld atomic_store(volatile atomic_long *, long);13968void __ovld atomic_store(volatile atomic_ulong *, ulong);13969#endif13970#endif //defined(__opencl_c_generic_address_space)13971#if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)13972void __ovld atomic_store(volatile __global atomic_int *, int);13973void __ovld atomic_store(volatile __local atomic_int *, int);13974void __ovld atomic_store(volatile __global atomic_uint *, uint);13975void __ovld atomic_store(volatile __local atomic_uint *, uint);13976void __ovld atomic_store(volatile __global atomic_float *, float);13977void __ovld atomic_store(volatile __local atomic_float *, float);13978#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13979#ifdef cl_khr_fp6413980void __ovld atomic_store(volatile __global atomic_double *, double);13981void __ovld atomic_store(volatile __local atomic_double *, double);13982#endif //cl_khr_fp6413983void __ovld atomic_store(volatile __global atomic_long *, long);13984void __ovld atomic_store(volatile __local atomic_long *, long);13985void __ovld atomic_store(volatile __global atomic_ulong *, ulong);13986void __ovld atomic_store(volatile __local atomic_ulong *, ulong);13987#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13988#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)13989#endif13990 13991#if defined(__opencl_c_atomic_scope_device)13992#if defined(__opencl_c_generic_address_space)13993void __ovld atomic_store_explicit(volatile atomic_int *, int, memory_order);13994void __ovld atomic_store_explicit(volatile atomic_uint *, uint, memory_order);13995void __ovld atomic_store_explicit(volatile atomic_float *, float, memory_order);13996#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)13997#ifdef cl_khr_fp6413998void __ovld atomic_store_explicit(volatile atomic_double *, double, memory_order);13999#endif //cl_khr_fp6414000void __ovld atomic_store_explicit(volatile atomic_long *, long, memory_order);14001void __ovld atomic_store_explicit(volatile atomic_ulong *, ulong, memory_order);14002#endif14003#endif //defined(__opencl_c_generic_address_space)14004#if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14005void __ovld atomic_store_explicit(volatile __global atomic_int *, int, memory_order);14006void __ovld atomic_store_explicit(volatile __local atomic_int *, int, memory_order);14007void __ovld atomic_store_explicit(volatile __global atomic_uint *, uint, memory_order);14008void __ovld atomic_store_explicit(volatile __local atomic_uint *, uint, memory_order);14009void __ovld atomic_store_explicit(volatile __global atomic_float *, float, memory_order);14010void __ovld atomic_store_explicit(volatile __local atomic_float *, float, memory_order);14011#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14012#ifdef cl_khr_fp6414013void __ovld atomic_store_explicit(volatile __global atomic_double *, double, memory_order);14014void __ovld atomic_store_explicit(volatile __local atomic_double *, double, memory_order);14015#endif14016void __ovld atomic_store_explicit(volatile __global atomic_long *, long, memory_order);14017void __ovld atomic_store_explicit(volatile __local atomic_long *, long, memory_order);14018void __ovld atomic_store_explicit(volatile __global atomic_ulong *, ulong, memory_order);14019void __ovld atomic_store_explicit(volatile __local atomic_ulong *, ulong, memory_order);14020#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14021#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14022#endif14023 14024#if defined(__opencl_c_generic_address_space)14025void __ovld atomic_store_explicit(volatile atomic_int *, int, memory_order, memory_scope);14026void __ovld atomic_store_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);14027void __ovld atomic_store_explicit(volatile atomic_float *, float, memory_order, memory_scope);14028#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14029#ifdef cl_khr_fp6414030void __ovld atomic_store_explicit(volatile atomic_double *, double, memory_order, memory_scope);14031#endif //cl_khr_fp6414032void __ovld atomic_store_explicit(volatile atomic_long *, long, memory_order, memory_scope);14033void __ovld atomic_store_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);14034#endif14035#endif //defined(__opencl_c_generic_address_space)14036#if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14037void __ovld atomic_store_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);14038void __ovld atomic_store_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);14039void __ovld atomic_store_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);14040void __ovld atomic_store_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);14041void __ovld atomic_store_explicit(volatile __global atomic_float *, float, memory_order, memory_scope);14042void __ovld atomic_store_explicit(volatile __local atomic_float *, float, memory_order, memory_scope);14043#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14044#ifdef cl_khr_fp6414045void __ovld atomic_store_explicit(volatile __global atomic_double *, double, memory_order, memory_scope);14046void __ovld atomic_store_explicit(volatile __local atomic_double *, double, memory_order, memory_scope);14047#endif //cl_khr_fp6414048void __ovld atomic_store_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);14049void __ovld atomic_store_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);14050void __ovld atomic_store_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);14051void __ovld atomic_store_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);14052#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14053#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14054 14055// atomic_load()14056#if defined(__opencl_c_atomic_order_seq_cst) && defined(__opencl_c_atomic_scope_device)14057#if defined(__opencl_c_generic_address_space)14058int __ovld atomic_load(volatile atomic_int *);14059uint __ovld atomic_load(volatile atomic_uint *);14060float __ovld atomic_load(volatile atomic_float *);14061#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14062#ifdef cl_khr_fp6414063double __ovld atomic_load(volatile atomic_double *);14064#endif //cl_khr_fp6414065long __ovld atomic_load(volatile atomic_long *);14066ulong __ovld atomic_load(volatile atomic_ulong *);14067#endif14068#endif //defined(__opencl_c_generic_address_space)14069#if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14070int __ovld atomic_load(volatile __global atomic_int *);14071int __ovld atomic_load(volatile __local atomic_int *);14072uint __ovld atomic_load(volatile __global atomic_uint *);14073uint __ovld atomic_load(volatile __local atomic_uint *);14074float __ovld atomic_load(volatile __global atomic_float *);14075float __ovld atomic_load(volatile __local atomic_float *);14076#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14077#ifdef cl_khr_fp6414078double __ovld atomic_load(volatile __global atomic_double *);14079double __ovld atomic_load(volatile __local atomic_double *);14080#endif //cl_khr_fp6414081long __ovld atomic_load(volatile __global atomic_long *);14082long __ovld atomic_load(volatile __local atomic_long *);14083ulong __ovld atomic_load(volatile __global atomic_ulong *);14084ulong __ovld atomic_load(volatile __local atomic_ulong *);14085#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14086#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14087#endif14088 14089#if defined(__opencl_c_atomic_scope_device)14090#if defined(__opencl_c_generic_address_space)14091int __ovld atomic_load_explicit(volatile atomic_int *, memory_order);14092uint __ovld atomic_load_explicit(volatile atomic_uint *, memory_order);14093float __ovld atomic_load_explicit(volatile atomic_float *, memory_order);14094#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14095#ifdef cl_khr_fp6414096double __ovld atomic_load_explicit(volatile atomic_double *, memory_order);14097#endif //cl_khr_fp6414098long __ovld atomic_load_explicit(volatile atomic_long *, memory_order);14099ulong __ovld atomic_load_explicit(volatile atomic_ulong *, memory_order);14100#endif14101#endif //defined(__opencl_c_generic_address_space)14102#if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14103int __ovld atomic_load_explicit(volatile __global atomic_int *, memory_order);14104int __ovld atomic_load_explicit(volatile __local atomic_int *, memory_order);14105uint __ovld atomic_load_explicit(volatile __global atomic_uint *, memory_order);14106uint __ovld atomic_load_explicit(volatile __local atomic_uint *, memory_order);14107float __ovld atomic_load_explicit(volatile __global atomic_float *, memory_order);14108float __ovld atomic_load_explicit(volatile __local atomic_float *, memory_order);14109#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14110#ifdef cl_khr_fp6414111double __ovld atomic_load_explicit(volatile __global atomic_double *, memory_order);14112double __ovld atomic_load_explicit(volatile __local atomic_double *, memory_order);14113#endif //cl_khr_fp6414114long __ovld atomic_load_explicit(volatile __global atomic_long *, memory_order);14115long __ovld atomic_load_explicit(volatile __local atomic_long *, memory_order);14116ulong __ovld atomic_load_explicit(volatile __global atomic_ulong *, memory_order);14117ulong __ovld atomic_load_explicit(volatile __local atomic_ulong *, memory_order);14118#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14119#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14120#endif14121 14122#if defined(__opencl_c_generic_address_space)14123int __ovld atomic_load_explicit(volatile atomic_int *, memory_order, memory_scope);14124uint __ovld atomic_load_explicit(volatile atomic_uint *, memory_order, memory_scope);14125float __ovld atomic_load_explicit(volatile atomic_float *, memory_order, memory_scope);14126#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14127#ifdef cl_khr_fp6414128double __ovld atomic_load_explicit(volatile atomic_double *, memory_order, memory_scope);14129#endif //cl_khr_fp6414130long __ovld atomic_load_explicit(volatile atomic_long *, memory_order, memory_scope);14131ulong __ovld atomic_load_explicit(volatile atomic_ulong *, memory_order, memory_scope);14132#endif14133#endif //defined(__opencl_c_generic_address_space)14134#if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14135int __ovld atomic_load_explicit(volatile __global atomic_int *, memory_order, memory_scope);14136int __ovld atomic_load_explicit(volatile __local atomic_int *, memory_order, memory_scope);14137uint __ovld atomic_load_explicit(volatile __global atomic_uint *, memory_order, memory_scope);14138uint __ovld atomic_load_explicit(volatile __local atomic_uint *, memory_order, memory_scope);14139float __ovld atomic_load_explicit(volatile __global atomic_float *, memory_order, memory_scope);14140float __ovld atomic_load_explicit(volatile __local atomic_float *, memory_order, memory_scope);14141#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14142#ifdef cl_khr_fp6414143double __ovld atomic_load_explicit(volatile __global atomic_double *, memory_order, memory_scope);14144double __ovld atomic_load_explicit(volatile __local atomic_double *, memory_order, memory_scope);14145#endif14146long __ovld atomic_load_explicit(volatile __global atomic_long *, memory_order, memory_scope);14147long __ovld atomic_load_explicit(volatile __local atomic_long *, memory_order, memory_scope);14148ulong __ovld atomic_load_explicit(volatile __global atomic_ulong *, memory_order, memory_scope);14149ulong __ovld atomic_load_explicit(volatile __local atomic_ulong *, memory_order, memory_scope);14150#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14151#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14152 14153// atomic_exchange()14154 14155#if defined(__opencl_c_atomic_order_seq_cst) && defined(__opencl_c_atomic_scope_device)14156#if defined(__opencl_c_generic_address_space)14157int __ovld atomic_exchange(volatile atomic_int *, int);14158uint __ovld atomic_exchange(volatile atomic_uint *, uint);14159float __ovld atomic_exchange(volatile atomic_float *, float);14160#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14161#ifdef cl_khr_fp6414162double __ovld atomic_exchange(volatile atomic_double *, double);14163#endif //cl_khr_fp6414164long __ovld atomic_exchange(volatile atomic_long *, long);14165ulong __ovld atomic_exchange(volatile atomic_ulong *, ulong);14166#endif14167#endif //defined(__opencl_c_generic_address_space)14168#if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14169int __ovld atomic_exchange(volatile __global atomic_int *, int);14170int __ovld atomic_exchange(volatile __local atomic_int *, int);14171uint __ovld atomic_exchange(volatile __global atomic_uint *, uint);14172uint __ovld atomic_exchange(volatile __local atomic_uint *, uint);14173float __ovld atomic_exchange(volatile __global atomic_float *, float);14174float __ovld atomic_exchange(volatile __local atomic_float *, float);14175#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14176#ifdef cl_khr_fp6414177double __ovld atomic_exchange(volatile __global atomic_double *, double);14178double __ovld atomic_exchange(volatile __local atomic_double *, double);14179#endif //cl_khr_fp6414180long __ovld atomic_exchange(volatile __global atomic_long *, long);14181long __ovld atomic_exchange(volatile __local atomic_long *, long);14182ulong __ovld atomic_exchange(volatile __global atomic_ulong *, ulong);14183ulong __ovld atomic_exchange(volatile __local atomic_ulong *, ulong);14184#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14185#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14186#endif14187 14188#if defined(__opencl_c_atomic_scope_device)14189#if defined(__opencl_c_generic_address_space)14190int __ovld atomic_exchange_explicit(volatile atomic_int *, int, memory_order);14191uint __ovld atomic_exchange_explicit(volatile atomic_uint *, uint, memory_order);14192float __ovld atomic_exchange_explicit(volatile atomic_float *, float, memory_order);14193#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14194#ifdef cl_khr_fp6414195double __ovld atomic_exchange_explicit(volatile atomic_double *, double, memory_order);14196#endif //cl_khr_fp6414197long __ovld atomic_exchange_explicit(volatile atomic_long *, long, memory_order);14198ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *, ulong, memory_order);14199#endif14200#endif //defined(__opencl_c_generic_address_space)14201#if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14202int __ovld atomic_exchange_explicit(volatile __global atomic_int *, int, memory_order);14203int __ovld atomic_exchange_explicit(volatile __local atomic_int *, int, memory_order);14204uint __ovld atomic_exchange_explicit(volatile __global atomic_uint *, uint, memory_order);14205uint __ovld atomic_exchange_explicit(volatile __local atomic_uint *, uint, memory_order);14206float __ovld atomic_exchange_explicit(volatile __global atomic_float *, float, memory_order);14207float __ovld atomic_exchange_explicit(volatile __local atomic_float *, float, memory_order);14208#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14209#ifdef cl_khr_fp6414210double __ovld atomic_exchange_explicit(volatile __global atomic_double *, double, memory_order);14211double __ovld atomic_exchange_explicit(volatile __local atomic_double *, double, memory_order);14212#endif //cl_khr_fp6414213long __ovld atomic_exchange_explicit(volatile __global atomic_long *, long, memory_order);14214long __ovld atomic_exchange_explicit(volatile __local atomic_long *, long, memory_order);14215ulong __ovld atomic_exchange_explicit(volatile __global atomic_ulong *, ulong, memory_order);14216ulong __ovld atomic_exchange_explicit(volatile __local atomic_ulong *, ulong, memory_order);14217#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)wi14218#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14219#endif14220 14221#if defined(__opencl_c_generic_address_space)14222int __ovld atomic_exchange_explicit(volatile atomic_int *, int, memory_order, memory_scope);14223uint __ovld atomic_exchange_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);14224float __ovld atomic_exchange_explicit(volatile atomic_float *, float, memory_order, memory_scope);14225#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14226#ifdef cl_khr_fp6414227double __ovld atomic_exchange_explicit(volatile atomic_double *, double, memory_order, memory_scope);14228#endif //cl_khr_fp6414229long __ovld atomic_exchange_explicit(volatile atomic_long *, long, memory_order, memory_scope);14230ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);14231#endif14232#endif //defined(__opencl_c_generic_address_space)14233#if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14234int __ovld atomic_exchange_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);14235int __ovld atomic_exchange_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);14236uint __ovld atomic_exchange_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);14237uint __ovld atomic_exchange_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);14238float __ovld atomic_exchange_explicit(volatile __global atomic_float *, float, memory_order, memory_scope);14239float __ovld atomic_exchange_explicit(volatile __local atomic_float *, float, memory_order, memory_scope);14240#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14241#ifdef cl_khr_fp6414242double __ovld atomic_exchange_explicit(volatile __global atomic_double *, double, memory_order, memory_scope);14243double __ovld atomic_exchange_explicit(volatile __local atomic_double *, double, memory_order, memory_scope);14244#endif //cl_khr_fp6414245long __ovld atomic_exchange_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);14246long __ovld atomic_exchange_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);14247ulong __ovld atomic_exchange_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);14248ulong __ovld atomic_exchange_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);14249#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14250#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14251 14252// atomic_compare_exchange_strong() and atomic_compare_exchange_weak()14253#if defined(__opencl_c_atomic_order_seq_cst) && defined(__opencl_c_atomic_scope_device)14254#if defined(__opencl_c_generic_address_space)14255bool __ovld atomic_compare_exchange_strong(volatile atomic_int *, int *, int);14256bool __ovld atomic_compare_exchange_strong(volatile atomic_uint *, uint *, uint);14257bool __ovld atomic_compare_exchange_weak(volatile atomic_int *, int *, int);14258bool __ovld atomic_compare_exchange_weak(volatile atomic_uint *, uint *, uint);14259bool __ovld atomic_compare_exchange_strong(volatile atomic_float *, float *, float);14260bool __ovld atomic_compare_exchange_weak(volatile atomic_float *, float *, float);14261#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14262#ifdef cl_khr_fp6414263bool __ovld atomic_compare_exchange_strong(volatile atomic_double *, double *, double);14264bool __ovld atomic_compare_exchange_weak(volatile atomic_double *, double *, double);14265#endif //cl_khr_fp6414266bool __ovld atomic_compare_exchange_strong(volatile atomic_long *, long *, long);14267bool __ovld atomic_compare_exchange_weak(volatile atomic_long *, long *, long);14268bool __ovld atomic_compare_exchange_strong(volatile atomic_ulong *, ulong *, ulong);14269bool __ovld atomic_compare_exchange_weak(volatile atomic_ulong *, ulong *, ulong);14270#endif14271#endif //defined(__opencl_c_generic_address_space)14272#if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14273bool __ovld atomic_compare_exchange_strong(volatile __global atomic_int *, __global int *, int);14274bool __ovld atomic_compare_exchange_strong(volatile __global atomic_int *, __local int *, int);14275bool __ovld atomic_compare_exchange_strong(volatile __global atomic_int *, __private int *, int);14276bool __ovld atomic_compare_exchange_strong(volatile __local atomic_int *, __global int *, int);14277bool __ovld atomic_compare_exchange_strong(volatile __local atomic_int *, __local int *, int);14278bool __ovld atomic_compare_exchange_strong(volatile __local atomic_int *, __private int *, int);14279bool __ovld atomic_compare_exchange_strong(volatile __global atomic_uint *, __global uint *, uint);14280bool __ovld atomic_compare_exchange_strong(volatile __global atomic_uint *, __local uint *, uint);14281bool __ovld atomic_compare_exchange_strong(volatile __global atomic_uint *, __private uint *, uint);14282bool __ovld atomic_compare_exchange_strong(volatile __local atomic_uint *, __global uint *, uint);14283bool __ovld atomic_compare_exchange_strong(volatile __local atomic_uint *, __local uint *, uint);14284bool __ovld atomic_compare_exchange_strong(volatile __local atomic_uint *, __private uint *, uint);14285bool __ovld atomic_compare_exchange_strong(volatile __global atomic_float *, __global float *, float);14286bool __ovld atomic_compare_exchange_strong(volatile __global atomic_float *, __local float *, float);14287bool __ovld atomic_compare_exchange_strong(volatile __global atomic_float *, __private float *, float);14288bool __ovld atomic_compare_exchange_strong(volatile __local atomic_float *, __global float *, float);14289bool __ovld atomic_compare_exchange_strong(volatile __local atomic_float *, __local float *, float);14290bool __ovld atomic_compare_exchange_strong(volatile __local atomic_float *, __private float *, float);14291bool __ovld atomic_compare_exchange_weak(volatile __global atomic_int *, __global int *, int);14292bool __ovld atomic_compare_exchange_weak(volatile __global atomic_int *, __local int *, int);14293bool __ovld atomic_compare_exchange_weak(volatile __global atomic_int *, __private int *, int);14294bool __ovld atomic_compare_exchange_weak(volatile __local atomic_int *, __global int *, int);14295bool __ovld atomic_compare_exchange_weak(volatile __local atomic_int *, __local int *, int);14296bool __ovld atomic_compare_exchange_weak(volatile __local atomic_int *, __private int *, int);14297bool __ovld atomic_compare_exchange_weak(volatile __global atomic_uint *, __global uint *, uint);14298bool __ovld atomic_compare_exchange_weak(volatile __global atomic_uint *, __local uint *, uint);14299bool __ovld atomic_compare_exchange_weak(volatile __global atomic_uint *, __private uint *, uint);14300bool __ovld atomic_compare_exchange_weak(volatile __local atomic_uint *, __global uint *, uint);14301bool __ovld atomic_compare_exchange_weak(volatile __local atomic_uint *, __local uint *, uint);14302bool __ovld atomic_compare_exchange_weak(volatile __local atomic_uint *, __private uint *, uint);14303bool __ovld atomic_compare_exchange_weak(volatile __global atomic_float *, __global float *, float);14304bool __ovld atomic_compare_exchange_weak(volatile __global atomic_float *, __local float *, float);14305bool __ovld atomic_compare_exchange_weak(volatile __global atomic_float *, __private float *, float);14306bool __ovld atomic_compare_exchange_weak(volatile __local atomic_float *, __global float *, float);14307bool __ovld atomic_compare_exchange_weak(volatile __local atomic_float *, __local float *, float);14308bool __ovld atomic_compare_exchange_weak(volatile __local atomic_float *, __private float *, float);14309#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14310#ifdef cl_khr_fp6414311bool __ovld atomic_compare_exchange_strong(volatile __global atomic_double *, __global double *, double);14312bool __ovld atomic_compare_exchange_strong(volatile __global atomic_double *, __local double *, double);14313bool __ovld atomic_compare_exchange_strong(volatile __global atomic_double *, __private double *, double);14314bool __ovld atomic_compare_exchange_strong(volatile __local atomic_double *, __global double *, double);14315bool __ovld atomic_compare_exchange_strong(volatile __local atomic_double *, __local double *, double);14316bool __ovld atomic_compare_exchange_strong(volatile __local atomic_double *, __private double *, double);14317bool __ovld atomic_compare_exchange_weak(volatile __global atomic_double *, __global double *, double);14318bool __ovld atomic_compare_exchange_weak(volatile __global atomic_double *, __local double *, double);14319bool __ovld atomic_compare_exchange_weak(volatile __global atomic_double *, __private double *, double);14320bool __ovld atomic_compare_exchange_weak(volatile __local atomic_double *, __global double *, double);14321bool __ovld atomic_compare_exchange_weak(volatile __local atomic_double *, __local double *, double);14322bool __ovld atomic_compare_exchange_weak(volatile __local atomic_double *, __private double *, double);14323#endif //cl_khr_fp6414324bool __ovld atomic_compare_exchange_strong(volatile __global atomic_long *, __global long *, long);14325bool __ovld atomic_compare_exchange_strong(volatile __global atomic_long *, __local long *, long);14326bool __ovld atomic_compare_exchange_strong(volatile __global atomic_long *, __private long *, long);14327bool __ovld atomic_compare_exchange_strong(volatile __local atomic_long *, __global long *, long);14328bool __ovld atomic_compare_exchange_strong(volatile __local atomic_long *, __local long *, long);14329bool __ovld atomic_compare_exchange_strong(volatile __local atomic_long *, __private long *, long);14330bool __ovld atomic_compare_exchange_strong(volatile __global atomic_ulong *, __global ulong *, ulong);14331bool __ovld atomic_compare_exchange_strong(volatile __global atomic_ulong *, __local ulong *, ulong);14332bool __ovld atomic_compare_exchange_strong(volatile __global atomic_ulong *, __private ulong *, ulong);14333bool __ovld atomic_compare_exchange_strong(volatile __local atomic_ulong *, __global ulong *, ulong);14334bool __ovld atomic_compare_exchange_strong(volatile __local atomic_ulong *, __local ulong *, ulong);14335bool __ovld atomic_compare_exchange_strong(volatile __local atomic_ulong *, __private ulong *, ulong);14336bool __ovld atomic_compare_exchange_weak(volatile __global atomic_long *, __global long *, long);14337bool __ovld atomic_compare_exchange_weak(volatile __global atomic_long *, __local long *, long);14338bool __ovld atomic_compare_exchange_weak(volatile __global atomic_long *, __private long *, long);14339bool __ovld atomic_compare_exchange_weak(volatile __local atomic_long *, __global long *, long);14340bool __ovld atomic_compare_exchange_weak(volatile __local atomic_long *, __local long *, long);14341bool __ovld atomic_compare_exchange_weak(volatile __local atomic_long *, __private long *, long);14342bool __ovld atomic_compare_exchange_weak(volatile __global atomic_ulong *, __global ulong *, ulong);14343bool __ovld atomic_compare_exchange_weak(volatile __global atomic_ulong *, __local ulong *, ulong);14344bool __ovld atomic_compare_exchange_weak(volatile __global atomic_ulong *, __private ulong *, ulong);14345bool __ovld atomic_compare_exchange_weak(volatile __local atomic_ulong *, __global ulong *, ulong);14346bool __ovld atomic_compare_exchange_weak(volatile __local atomic_ulong *, __local ulong *, ulong);14347bool __ovld atomic_compare_exchange_weak(volatile __local atomic_ulong *, __private ulong *, ulong);14348#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14349#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14350#endif14351 14352#if defined(__opencl_c_atomic_scope_device)14353#if defined(__opencl_c_generic_address_space)14354bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *, int *, int, memory_order, memory_order);14355bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *, uint *, uint, memory_order, memory_order);14356bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *, int *, int, memory_order, memory_order);14357bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *, uint *, uint, memory_order, memory_order);14358bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *, float *, float, memory_order, memory_order);14359bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *, float *, float, memory_order, memory_order);14360#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14361#ifdef cl_khr_fp6414362bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *, double *, double, memory_order, memory_order);14363bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *, double *, double, memory_order, memory_order);14364#endif //cl_khr_fp6414365bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *, long *, long, memory_order, memory_order);14366bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *, long *, long, memory_order, memory_order);14367bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *, ulong *, ulong, memory_order, memory_order);14368bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *, ulong *, ulong, memory_order, memory_order);14369#endif14370#endif //defined(__opencl_c_generic_address_space)14371#if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14372bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *, __global int *, int, memory_order, memory_order);14373bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *, __local int *, int, memory_order, memory_order);14374bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *, __private int *, int, memory_order, memory_order);14375bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_int *, __global int *, int, memory_order, memory_order);14376bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_int *, __local int *, int, memory_order, memory_order);14377bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_int *, __private int *, int, memory_order, memory_order);14378bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_uint *, __global uint *, uint, memory_order, memory_order);14379bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_uint *, __local uint *, uint, memory_order, memory_order);14380bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_uint *, __private uint *, uint, memory_order, memory_order);14381bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_uint *, __global uint *, uint, memory_order, memory_order);14382bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_uint *, __local uint *, uint, memory_order, memory_order);14383bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_uint *, __private uint *, uint, memory_order, memory_order);14384bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_float *, __global float *, float, memory_order, memory_order);14385bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_float *, __local float *, float, memory_order, memory_order);14386bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_float *, __private float *, float, memory_order, memory_order);14387bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_float *, __global float *, float, memory_order, memory_order);14388bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_float *, __local float *, float, memory_order, memory_order);14389bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_float *, __private float *, float, memory_order, memory_order);14390bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_int *, __global int *, int, memory_order, memory_order);14391bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_int *, __local int *, int, memory_order, memory_order);14392bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_int *, __private int *, int, memory_order, memory_order);14393bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_int *, __global int *, int, memory_order, memory_order);14394bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_int *, __local int *, int, memory_order, memory_order);14395bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_int *, __private int *, int, memory_order, memory_order);14396bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_uint *, __global uint *, uint, memory_order, memory_order);14397bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_uint *, __local uint *, uint, memory_order, memory_order);14398bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_uint *, __private uint *, uint, memory_order, memory_order);14399bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_uint *, __global uint *, uint, memory_order, memory_order);14400bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_uint *, __local uint *, uint, memory_order, memory_order);14401bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_uint *, __private uint *, uint, memory_order, memory_order);14402bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_float *, __global float *, float, memory_order, memory_order);14403bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_float *, __local float *, float, memory_order, memory_order);14404bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_float *, __private float *, float, memory_order, memory_order);14405bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_float *, __global float *, float, memory_order, memory_order);14406bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_float *, __local float *, float, memory_order, memory_order);14407bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_float *, __private float *, float, memory_order, memory_order);14408#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14409#ifdef cl_khr_fp6414410bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_double *, __global double *, double, memory_order, memory_order);14411bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_double *, __local double *, double, memory_order, memory_order);14412bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_double *, __private double *, double, memory_order, memory_order);14413bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_double *, __global double *, double, memory_order, memory_order);14414bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_double *, __local double *, double, memory_order, memory_order);14415bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_double *, __private double *, double, memory_order, memory_order);14416bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_double *, __global double *, double, memory_order, memory_order);14417bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_double *, __local double *, double, memory_order, memory_order);14418bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_double *, __private double *, double, memory_order, memory_order);14419bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_double *, __global double *, double, memory_order, memory_order);14420bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_double *, __local double *, double, memory_order, memory_order);14421bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_double *, __private double *, double, memory_order, memory_order);14422#endif //cl_khr_fp6414423bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_long *, __global long *, long, memory_order, memory_order);14424bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_long *, __local long *, long, memory_order, memory_order);14425bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_long *, __private long *, long, memory_order, memory_order);14426bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_long *, __global long *, long, memory_order, memory_order);14427bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_long *, __local long *, long, memory_order, memory_order);14428bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_long *, __private long *, long, memory_order, memory_order);14429bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_ulong *, __global ulong *, ulong, memory_order, memory_order);14430bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_ulong *, __local ulong *, ulong, memory_order, memory_order);14431bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_ulong *, __private ulong *, ulong, memory_order, memory_order);14432bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_ulong *, __global ulong *, ulong, memory_order, memory_order);14433bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_ulong *, __local ulong *, ulong, memory_order, memory_order);14434bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_ulong *, __private ulong *, ulong, memory_order, memory_order);14435bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_long *, __global long *, long, memory_order, memory_order);14436bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_long *, __local long *, long, memory_order, memory_order);14437bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_long *, __private long *, long, memory_order, memory_order);14438bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_long *, __global long *, long, memory_order, memory_order);14439bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_long *, __local long *, long, memory_order, memory_order);14440bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_long *, __private long *, long, memory_order, memory_order);14441bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_ulong *, __global ulong *, ulong, memory_order, memory_order);14442bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_ulong *, __local ulong *, ulong, memory_order, memory_order);14443bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_ulong *, __private ulong *, ulong, memory_order, memory_order);14444bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_ulong *, __global ulong *, ulong, memory_order, memory_order);14445bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_ulong *, __local ulong *, ulong, memory_order, memory_order);14446bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_ulong *, __private ulong *, ulong, memory_order, memory_order);14447#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14448#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14449#endif //defined(__opencl_c_atomic_scope_device)14450 14451#if defined(__opencl_c_generic_address_space)14452bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *, int *, int, memory_order, memory_order, memory_scope);14453bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *, uint *, uint, memory_order, memory_order, memory_scope);14454bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *, int *, int, memory_order, memory_order, memory_scope);14455bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *, uint *, uint, memory_order, memory_order, memory_scope);14456bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *, float *, float, memory_order, memory_order, memory_scope);14457bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *, float *, float, memory_order, memory_order, memory_scope);14458#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14459#ifdef cl_khr_fp6414460bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *, double *, double, memory_order, memory_order, memory_scope);14461bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *, double *, double, memory_order, memory_order, memory_scope);14462#endif //cl_khr_fp6414463bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *, long *, long, memory_order, memory_order, memory_scope);14464bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *, long *, long, memory_order, memory_order, memory_scope);14465bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *, ulong *, ulong, memory_order, memory_order, memory_scope);14466bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *, ulong *, ulong, memory_order, memory_order, memory_scope);14467#endif14468#endif //defined(__opencl_c_generic_address_space)14469#if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14470bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *, __global int *, int, memory_order, memory_order, memory_scope);14471bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *, __local int *, int, memory_order, memory_order, memory_scope);14472bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *, __private int *, int, memory_order, memory_order, memory_scope);14473bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_int *, __global int *, int, memory_order, memory_order, memory_scope);14474bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_int *, __local int *, int, memory_order, memory_order, memory_scope);14475bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_int *, __private int *, int, memory_order, memory_order, memory_scope);14476bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_uint *, __global uint *, uint, memory_order, memory_order, memory_scope);14477bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_uint *, __local uint *, uint, memory_order, memory_order, memory_scope);14478bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_uint *, __private uint *, uint, memory_order, memory_order, memory_scope);14479bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_uint *, __global uint *, uint, memory_order, memory_order, memory_scope);14480bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_uint *, __local uint *, uint, memory_order, memory_order, memory_scope);14481bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_uint *, __private uint *, uint, memory_order, memory_order, memory_scope);14482bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_float *, __global float *, float, memory_order, memory_order, memory_scope);14483bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_float *, __local float *, float, memory_order, memory_order, memory_scope);14484bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_float *, __private float *, float, memory_order, memory_order, memory_scope);14485bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_float *, __global float *, float, memory_order, memory_order, memory_scope);14486bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_float *, __local float *, float, memory_order, memory_order, memory_scope);14487bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_float *, __private float *, float, memory_order, memory_order, memory_scope);14488bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_int *, __global int *, int, memory_order, memory_order, memory_scope);14489bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_int *, __local int *, int, memory_order, memory_order, memory_scope);14490bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_int *, __private int *, int, memory_order, memory_order, memory_scope);14491bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_int *, __global int *, int, memory_order, memory_order, memory_scope);14492bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_int *, __local int *, int, memory_order, memory_order, memory_scope);14493bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_int *, __private int *, int, memory_order, memory_order, memory_scope);14494bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_uint *, __global uint *, uint, memory_order, memory_order, memory_scope);14495bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_uint *, __local uint *, uint, memory_order, memory_order, memory_scope);14496bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_uint *, __private uint *, uint, memory_order, memory_order, memory_scope);14497bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_uint *, __global uint *, uint, memory_order, memory_order, memory_scope);14498bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_uint *, __local uint *, uint, memory_order, memory_order, memory_scope);14499bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_uint *, __private uint *, uint, memory_order, memory_order, memory_scope);14500bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_float *, __global float *, float, memory_order, memory_order, memory_scope);14501bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_float *, __local float *, float, memory_order, memory_order, memory_scope);14502bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_float *, __private float *, float, memory_order, memory_order, memory_scope);14503bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_float *, __global float *, float, memory_order, memory_order, memory_scope);14504bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_float *, __local float *, float, memory_order, memory_order, memory_scope);14505bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_float *, __private float *, float, memory_order, memory_order, memory_scope);14506#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14507#ifdef cl_khr_fp6414508bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_double *, __global double *, double, memory_order, memory_order, memory_scope);14509bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_double *, __local double *, double, memory_order, memory_order, memory_scope);14510bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_double *, __private double *, double, memory_order, memory_order, memory_scope);14511bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_double *, __global double *, double, memory_order, memory_order, memory_scope);14512bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_double *, __local double *, double, memory_order, memory_order, memory_scope);14513bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_double *, __private double *, double, memory_order, memory_order, memory_scope);14514bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_double *, __global double *, double, memory_order, memory_order, memory_scope);14515bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_double *, __local double *, double, memory_order, memory_order, memory_scope);14516bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_double *, __private double *, double, memory_order, memory_order, memory_scope);14517bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_double *, __global double *, double, memory_order, memory_order, memory_scope);14518bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_double *, __local double *, double, memory_order, memory_order, memory_scope);14519bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_double *, __private double *, double, memory_order, memory_order, memory_scope);14520#endif //cl_khr_fp6414521bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_long *, __global long *, long, memory_order, memory_order, memory_scope);14522bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_long *, __local long *, long, memory_order, memory_order, memory_scope);14523bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_long *, __private long *, long, memory_order, memory_order, memory_scope);14524bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_long *, __global long *, long, memory_order, memory_order, memory_scope);14525bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_long *, __local long *, long, memory_order, memory_order, memory_scope);14526bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_long *, __private long *, long, memory_order, memory_order, memory_scope);14527bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_ulong *, __global ulong *, ulong, memory_order, memory_order, memory_scope);14528bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_ulong *, __local ulong *, ulong, memory_order, memory_order, memory_scope);14529bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_ulong *, __private ulong *, ulong, memory_order, memory_order, memory_scope);14530bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_ulong *, __global ulong *, ulong, memory_order, memory_order, memory_scope);14531bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_ulong *, __local ulong *, ulong, memory_order, memory_order, memory_scope);14532bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_ulong *, __private ulong *, ulong, memory_order, memory_order, memory_scope);14533bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_long *, __global long *, long, memory_order, memory_order, memory_scope);14534bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_long *, __local long *, long, memory_order, memory_order, memory_scope);14535bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_long *, __private long *, long, memory_order, memory_order, memory_scope);14536bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_long *, __global long *, long, memory_order, memory_order, memory_scope);14537bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_long *, __local long *, long, memory_order, memory_order, memory_scope);14538bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_long *, __private long *, long, memory_order, memory_order, memory_scope);14539bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_ulong *, __global ulong *, ulong, memory_order, memory_order, memory_scope);14540bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_ulong *, __local ulong *, ulong, memory_order, memory_order, memory_scope);14541bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_ulong *, __private ulong *, ulong, memory_order, memory_order, memory_scope);14542bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_ulong *, __global ulong *, ulong, memory_order, memory_order, memory_scope);14543bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_ulong *, __local ulong *, ulong, memory_order, memory_order, memory_scope);14544bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_ulong *, __private ulong *, ulong, memory_order, memory_order, memory_scope);14545#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)14546#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14547 14548// atomic_flag_test_and_set() and atomic_flag_clear()14549#if defined(__opencl_c_atomic_order_seq_cst) && defined(__opencl_c_atomic_scope_device)14550#if defined(__opencl_c_generic_address_space)14551bool __ovld atomic_flag_test_and_set(volatile atomic_flag *);14552void __ovld atomic_flag_clear(volatile atomic_flag *);14553#endif //defined(__opencl_c_generic_address_space)14554#if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14555bool __ovld atomic_flag_test_and_set(volatile __global atomic_flag *);14556bool __ovld atomic_flag_test_and_set(volatile __local atomic_flag *);14557void __ovld atomic_flag_clear(volatile __global atomic_flag *);14558void __ovld atomic_flag_clear(volatile __local atomic_flag *);14559#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14560#endif14561 14562#if defined(__opencl_c_atomic_scope_device)14563#if defined(__opencl_c_generic_address_space)14564bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *, memory_order);14565void __ovld atomic_flag_clear_explicit(volatile atomic_flag *, memory_order);14566#endif //defined(__opencl_c_generic_address_space)14567#if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14568bool __ovld atomic_flag_test_and_set_explicit(volatile __global atomic_flag *, memory_order);14569bool __ovld atomic_flag_test_and_set_explicit(volatile __local atomic_flag *, memory_order);14570void __ovld atomic_flag_clear_explicit(volatile __global atomic_flag *, memory_order);14571void __ovld atomic_flag_clear_explicit(volatile __local atomic_flag *, memory_order);14572#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14573#endif14574 14575#if defined(__opencl_c_generic_address_space)14576bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *, memory_order, memory_scope);14577void __ovld atomic_flag_clear_explicit(volatile atomic_flag *, memory_order, memory_scope);14578#endif //defined(__opencl_c_generic_address_space)14579#if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14580bool __ovld atomic_flag_test_and_set_explicit(volatile __global atomic_flag *, memory_order, memory_scope);14581bool __ovld atomic_flag_test_and_set_explicit(volatile __local atomic_flag *, memory_order, memory_scope);14582void __ovld atomic_flag_clear_explicit(volatile __global atomic_flag *, memory_order, memory_scope);14583void __ovld atomic_flag_clear_explicit(volatile __local atomic_flag *, memory_order, memory_scope);14584#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)14585#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)14586 14587// OpenCL v1.1 s6.11.12, v1.2 s6.12.12, v2.0 s6.13.12 - Miscellaneous Vector Functions14588 14589/**14590 * The shuffle and shuffle2 built-in functions construct14591 * a permutation of elements from one or two input14592 * vectors respectively that are of the same type,14593 * returning a vector with the same element type as the14594 * input and length that is the same as the shuffle mask.14595 * The size of each element in the mask must match the14596 * size of each element in the result. For shuffle, only14597 * the ilogb(2m-1) least significant bits of each mask14598 * element are considered. For shuffle2, only the14599 * ilogb(2m-1)+1 least significant bits of each mask14600 * element are considered. Other bits in the mask shall14601 * be ignored.14602 * The elements of the input vectors are numbered from14603 * left to right across one or both of the vectors. For this14604 * purpose, the number of elements in a vector is given14605 * by vec_step(gentypem). The shuffle mask operand14606 * specifies, for each element of the result vector, which14607 * element of the one or two input vectors the result14608 * element gets.14609 * Examples:14610 * uint4 mask = (uint4)(3, 2,14611 * 1, 0);14612 * float4 a;14613 * float4 r = shuffle(a, mask);14614 * // r.s0123 = a.wzyx14615 * uint8 mask = (uint8)(0, 1, 2, 3,14616 * 4, 5, 6, 7);14617 * float4 a, b;14618 * float8 r = shuffle2(a, b, mask);14619 * // r.s0123 = a.xyzw14620 * // r.s4567 = b.xyzw14621 * uint4 mask;14622 * float8 a;14623 * float4 b;14624 * b = shuffle(a, mask);14625 * Examples that are not valid are:14626 * uint8 mask;14627 * short16 a;14628 * short8 b;14629 * b = shuffle(a, mask); <- not valid14630 */14631char2 __ovld __cnfn shuffle(char2, uchar2);14632char2 __ovld __cnfn shuffle(char4, uchar2);14633char2 __ovld __cnfn shuffle(char8, uchar2);14634char2 __ovld __cnfn shuffle(char16, uchar2);14635 14636uchar2 __ovld __cnfn shuffle(uchar2, uchar2);14637uchar2 __ovld __cnfn shuffle(uchar4, uchar2);14638uchar2 __ovld __cnfn shuffle(uchar8, uchar2);14639uchar2 __ovld __cnfn shuffle(uchar16, uchar2);14640 14641short2 __ovld __cnfn shuffle(short2, ushort2);14642short2 __ovld __cnfn shuffle(short4, ushort2);14643short2 __ovld __cnfn shuffle(short8, ushort2);14644short2 __ovld __cnfn shuffle(short16, ushort2);14645 14646ushort2 __ovld __cnfn shuffle(ushort2, ushort2);14647ushort2 __ovld __cnfn shuffle(ushort4, ushort2);14648ushort2 __ovld __cnfn shuffle(ushort8, ushort2);14649ushort2 __ovld __cnfn shuffle(ushort16, ushort2);14650 14651int2 __ovld __cnfn shuffle(int2, uint2);14652int2 __ovld __cnfn shuffle(int4, uint2);14653int2 __ovld __cnfn shuffle(int8, uint2);14654int2 __ovld __cnfn shuffle(int16, uint2);14655 14656uint2 __ovld __cnfn shuffle(uint2, uint2);14657uint2 __ovld __cnfn shuffle(uint4, uint2);14658uint2 __ovld __cnfn shuffle(uint8, uint2);14659uint2 __ovld __cnfn shuffle(uint16, uint2);14660 14661long2 __ovld __cnfn shuffle(long2, ulong2);14662long2 __ovld __cnfn shuffle(long4, ulong2);14663long2 __ovld __cnfn shuffle(long8, ulong2);14664long2 __ovld __cnfn shuffle(long16, ulong2);14665 14666ulong2 __ovld __cnfn shuffle(ulong2, ulong2);14667ulong2 __ovld __cnfn shuffle(ulong4, ulong2);14668ulong2 __ovld __cnfn shuffle(ulong8, ulong2);14669ulong2 __ovld __cnfn shuffle(ulong16, ulong2);14670 14671float2 __ovld __cnfn shuffle(float2, uint2);14672float2 __ovld __cnfn shuffle(float4, uint2);14673float2 __ovld __cnfn shuffle(float8, uint2);14674float2 __ovld __cnfn shuffle(float16, uint2);14675 14676char4 __ovld __cnfn shuffle(char2, uchar4);14677char4 __ovld __cnfn shuffle(char4, uchar4);14678char4 __ovld __cnfn shuffle(char8, uchar4);14679char4 __ovld __cnfn shuffle(char16, uchar4);14680 14681uchar4 __ovld __cnfn shuffle(uchar2, uchar4);14682uchar4 __ovld __cnfn shuffle(uchar4, uchar4);14683uchar4 __ovld __cnfn shuffle(uchar8, uchar4);14684uchar4 __ovld __cnfn shuffle(uchar16, uchar4);14685 14686short4 __ovld __cnfn shuffle(short2, ushort4);14687short4 __ovld __cnfn shuffle(short4, ushort4);14688short4 __ovld __cnfn shuffle(short8, ushort4);14689short4 __ovld __cnfn shuffle(short16, ushort4);14690 14691ushort4 __ovld __cnfn shuffle(ushort2, ushort4);14692ushort4 __ovld __cnfn shuffle(ushort4, ushort4);14693ushort4 __ovld __cnfn shuffle(ushort8, ushort4);14694ushort4 __ovld __cnfn shuffle(ushort16, ushort4);14695 14696int4 __ovld __cnfn shuffle(int2, uint4);14697int4 __ovld __cnfn shuffle(int4, uint4);14698int4 __ovld __cnfn shuffle(int8, uint4);14699int4 __ovld __cnfn shuffle(int16, uint4);14700 14701uint4 __ovld __cnfn shuffle(uint2, uint4);14702uint4 __ovld __cnfn shuffle(uint4, uint4);14703uint4 __ovld __cnfn shuffle(uint8, uint4);14704uint4 __ovld __cnfn shuffle(uint16, uint4);14705 14706long4 __ovld __cnfn shuffle(long2, ulong4);14707long4 __ovld __cnfn shuffle(long4, ulong4);14708long4 __ovld __cnfn shuffle(long8, ulong4);14709long4 __ovld __cnfn shuffle(long16, ulong4);14710 14711ulong4 __ovld __cnfn shuffle(ulong2, ulong4);14712ulong4 __ovld __cnfn shuffle(ulong4, ulong4);14713ulong4 __ovld __cnfn shuffle(ulong8, ulong4);14714ulong4 __ovld __cnfn shuffle(ulong16, ulong4);14715 14716float4 __ovld __cnfn shuffle(float2, uint4);14717float4 __ovld __cnfn shuffle(float4, uint4);14718float4 __ovld __cnfn shuffle(float8, uint4);14719float4 __ovld __cnfn shuffle(float16, uint4);14720 14721char8 __ovld __cnfn shuffle(char2, uchar8);14722char8 __ovld __cnfn shuffle(char4, uchar8);14723char8 __ovld __cnfn shuffle(char8, uchar8);14724char8 __ovld __cnfn shuffle(char16, uchar8);14725 14726uchar8 __ovld __cnfn shuffle(uchar2, uchar8);14727uchar8 __ovld __cnfn shuffle(uchar4, uchar8);14728uchar8 __ovld __cnfn shuffle(uchar8, uchar8);14729uchar8 __ovld __cnfn shuffle(uchar16, uchar8);14730 14731short8 __ovld __cnfn shuffle(short2, ushort8);14732short8 __ovld __cnfn shuffle(short4, ushort8);14733short8 __ovld __cnfn shuffle(short8, ushort8);14734short8 __ovld __cnfn shuffle(short16, ushort8);14735 14736ushort8 __ovld __cnfn shuffle(ushort2, ushort8);14737ushort8 __ovld __cnfn shuffle(ushort4, ushort8);14738ushort8 __ovld __cnfn shuffle(ushort8, ushort8);14739ushort8 __ovld __cnfn shuffle(ushort16, ushort8);14740 14741int8 __ovld __cnfn shuffle(int2, uint8);14742int8 __ovld __cnfn shuffle(int4, uint8);14743int8 __ovld __cnfn shuffle(int8, uint8);14744int8 __ovld __cnfn shuffle(int16, uint8);14745 14746uint8 __ovld __cnfn shuffle(uint2, uint8);14747uint8 __ovld __cnfn shuffle(uint4, uint8);14748uint8 __ovld __cnfn shuffle(uint8, uint8);14749uint8 __ovld __cnfn shuffle(uint16, uint8);14750 14751long8 __ovld __cnfn shuffle(long2, ulong8);14752long8 __ovld __cnfn shuffle(long4, ulong8);14753long8 __ovld __cnfn shuffle(long8, ulong8);14754long8 __ovld __cnfn shuffle(long16, ulong8);14755 14756ulong8 __ovld __cnfn shuffle(ulong2, ulong8);14757ulong8 __ovld __cnfn shuffle(ulong4, ulong8);14758ulong8 __ovld __cnfn shuffle(ulong8, ulong8);14759ulong8 __ovld __cnfn shuffle(ulong16, ulong8);14760 14761float8 __ovld __cnfn shuffle(float2, uint8);14762float8 __ovld __cnfn shuffle(float4, uint8);14763float8 __ovld __cnfn shuffle(float8, uint8);14764float8 __ovld __cnfn shuffle(float16, uint8);14765 14766char16 __ovld __cnfn shuffle(char2, uchar16);14767char16 __ovld __cnfn shuffle(char4, uchar16);14768char16 __ovld __cnfn shuffle(char8, uchar16);14769char16 __ovld __cnfn shuffle(char16, uchar16);14770 14771uchar16 __ovld __cnfn shuffle(uchar2, uchar16);14772uchar16 __ovld __cnfn shuffle(uchar4, uchar16);14773uchar16 __ovld __cnfn shuffle(uchar8, uchar16);14774uchar16 __ovld __cnfn shuffle(uchar16, uchar16);14775 14776short16 __ovld __cnfn shuffle(short2, ushort16);14777short16 __ovld __cnfn shuffle(short4, ushort16);14778short16 __ovld __cnfn shuffle(short8, ushort16);14779short16 __ovld __cnfn shuffle(short16, ushort16);14780 14781ushort16 __ovld __cnfn shuffle(ushort2, ushort16);14782ushort16 __ovld __cnfn shuffle(ushort4, ushort16);14783ushort16 __ovld __cnfn shuffle(ushort8, ushort16);14784ushort16 __ovld __cnfn shuffle(ushort16, ushort16);14785 14786int16 __ovld __cnfn shuffle(int2, uint16);14787int16 __ovld __cnfn shuffle(int4, uint16);14788int16 __ovld __cnfn shuffle(int8, uint16);14789int16 __ovld __cnfn shuffle(int16, uint16);14790 14791uint16 __ovld __cnfn shuffle(uint2, uint16);14792uint16 __ovld __cnfn shuffle(uint4, uint16);14793uint16 __ovld __cnfn shuffle(uint8, uint16);14794uint16 __ovld __cnfn shuffle(uint16, uint16);14795 14796long16 __ovld __cnfn shuffle(long2, ulong16);14797long16 __ovld __cnfn shuffle(long4, ulong16);14798long16 __ovld __cnfn shuffle(long8, ulong16);14799long16 __ovld __cnfn shuffle(long16, ulong16);14800 14801ulong16 __ovld __cnfn shuffle(ulong2, ulong16);14802ulong16 __ovld __cnfn shuffle(ulong4, ulong16);14803ulong16 __ovld __cnfn shuffle(ulong8, ulong16);14804ulong16 __ovld __cnfn shuffle(ulong16, ulong16);14805 14806float16 __ovld __cnfn shuffle(float2, uint16);14807float16 __ovld __cnfn shuffle(float4, uint16);14808float16 __ovld __cnfn shuffle(float8, uint16);14809float16 __ovld __cnfn shuffle(float16, uint16);14810 14811#ifdef cl_khr_fp6414812double2 __ovld __cnfn shuffle(double2, ulong2);14813double2 __ovld __cnfn shuffle(double4, ulong2);14814double2 __ovld __cnfn shuffle(double8, ulong2);14815double2 __ovld __cnfn shuffle(double16, ulong2);14816 14817double4 __ovld __cnfn shuffle(double2, ulong4);14818double4 __ovld __cnfn shuffle(double4, ulong4);14819double4 __ovld __cnfn shuffle(double8, ulong4);14820double4 __ovld __cnfn shuffle(double16, ulong4);14821 14822double8 __ovld __cnfn shuffle(double2, ulong8);14823double8 __ovld __cnfn shuffle(double4, ulong8);14824double8 __ovld __cnfn shuffle(double8, ulong8);14825double8 __ovld __cnfn shuffle(double16, ulong8);14826 14827double16 __ovld __cnfn shuffle(double2, ulong16);14828double16 __ovld __cnfn shuffle(double4, ulong16);14829double16 __ovld __cnfn shuffle(double8, ulong16);14830double16 __ovld __cnfn shuffle(double16, ulong16);14831#endif //cl_khr_fp6414832 14833#ifdef cl_khr_fp1614834half2 __ovld __cnfn shuffle(half2, ushort2);14835half2 __ovld __cnfn shuffle(half4, ushort2);14836half2 __ovld __cnfn shuffle(half8, ushort2);14837half2 __ovld __cnfn shuffle(half16, ushort2);14838 14839half4 __ovld __cnfn shuffle(half2, ushort4);14840half4 __ovld __cnfn shuffle(half4, ushort4);14841half4 __ovld __cnfn shuffle(half8, ushort4);14842half4 __ovld __cnfn shuffle(half16, ushort4);14843 14844half8 __ovld __cnfn shuffle(half2, ushort8);14845half8 __ovld __cnfn shuffle(half4, ushort8);14846half8 __ovld __cnfn shuffle(half8, ushort8);14847half8 __ovld __cnfn shuffle(half16, ushort8);14848 14849half16 __ovld __cnfn shuffle(half2, ushort16);14850half16 __ovld __cnfn shuffle(half4, ushort16);14851half16 __ovld __cnfn shuffle(half8, ushort16);14852half16 __ovld __cnfn shuffle(half16, ushort16);14853#endif //cl_khr_fp1614854 14855char2 __ovld __cnfn shuffle2(char2, char2, uchar2);14856char2 __ovld __cnfn shuffle2(char4, char4, uchar2);14857char2 __ovld __cnfn shuffle2(char8, char8, uchar2);14858char2 __ovld __cnfn shuffle2(char16, char16, uchar2);14859 14860uchar2 __ovld __cnfn shuffle2(uchar2, uchar2, uchar2);14861uchar2 __ovld __cnfn shuffle2(uchar4, uchar4, uchar2);14862uchar2 __ovld __cnfn shuffle2(uchar8, uchar8, uchar2);14863uchar2 __ovld __cnfn shuffle2(uchar16, uchar16, uchar2);14864 14865short2 __ovld __cnfn shuffle2(short2, short2, ushort2);14866short2 __ovld __cnfn shuffle2(short4, short4, ushort2);14867short2 __ovld __cnfn shuffle2(short8, short8, ushort2);14868short2 __ovld __cnfn shuffle2(short16, short16, ushort2);14869 14870ushort2 __ovld __cnfn shuffle2(ushort2, ushort2, ushort2);14871ushort2 __ovld __cnfn shuffle2(ushort4, ushort4, ushort2);14872ushort2 __ovld __cnfn shuffle2(ushort8, ushort8, ushort2);14873ushort2 __ovld __cnfn shuffle2(ushort16, ushort16, ushort2);14874 14875int2 __ovld __cnfn shuffle2(int2, int2, uint2);14876int2 __ovld __cnfn shuffle2(int4, int4, uint2);14877int2 __ovld __cnfn shuffle2(int8, int8, uint2);14878int2 __ovld __cnfn shuffle2(int16, int16, uint2);14879 14880uint2 __ovld __cnfn shuffle2(uint2, uint2, uint2);14881uint2 __ovld __cnfn shuffle2(uint4, uint4, uint2);14882uint2 __ovld __cnfn shuffle2(uint8, uint8, uint2);14883uint2 __ovld __cnfn shuffle2(uint16, uint16, uint2);14884 14885long2 __ovld __cnfn shuffle2(long2, long2, ulong2);14886long2 __ovld __cnfn shuffle2(long4, long4, ulong2);14887long2 __ovld __cnfn shuffle2(long8, long8, ulong2);14888long2 __ovld __cnfn shuffle2(long16, long16, ulong2);14889 14890ulong2 __ovld __cnfn shuffle2(ulong2, ulong2, ulong2);14891ulong2 __ovld __cnfn shuffle2(ulong4, ulong4, ulong2);14892ulong2 __ovld __cnfn shuffle2(ulong8, ulong8, ulong2);14893ulong2 __ovld __cnfn shuffle2(ulong16, ulong16, ulong2);14894 14895float2 __ovld __cnfn shuffle2(float2, float2, uint2);14896float2 __ovld __cnfn shuffle2(float4, float4, uint2);14897float2 __ovld __cnfn shuffle2(float8, float8, uint2);14898float2 __ovld __cnfn shuffle2(float16, float16, uint2);14899 14900char4 __ovld __cnfn shuffle2(char2, char2, uchar4);14901char4 __ovld __cnfn shuffle2(char4, char4, uchar4);14902char4 __ovld __cnfn shuffle2(char8, char8, uchar4);14903char4 __ovld __cnfn shuffle2(char16, char16, uchar4);14904 14905uchar4 __ovld __cnfn shuffle2(uchar2, uchar2, uchar4);14906uchar4 __ovld __cnfn shuffle2(uchar4, uchar4, uchar4);14907uchar4 __ovld __cnfn shuffle2(uchar8, uchar8, uchar4);14908uchar4 __ovld __cnfn shuffle2(uchar16, uchar16, uchar4);14909 14910short4 __ovld __cnfn shuffle2(short2, short2, ushort4);14911short4 __ovld __cnfn shuffle2(short4, short4, ushort4);14912short4 __ovld __cnfn shuffle2(short8, short8, ushort4);14913short4 __ovld __cnfn shuffle2(short16, short16, ushort4);14914 14915ushort4 __ovld __cnfn shuffle2(ushort2, ushort2, ushort4);14916ushort4 __ovld __cnfn shuffle2(ushort4, ushort4, ushort4);14917ushort4 __ovld __cnfn shuffle2(ushort8, ushort8, ushort4);14918ushort4 __ovld __cnfn shuffle2(ushort16, ushort16, ushort4);14919 14920int4 __ovld __cnfn shuffle2(int2, int2, uint4);14921int4 __ovld __cnfn shuffle2(int4, int4, uint4);14922int4 __ovld __cnfn shuffle2(int8, int8, uint4);14923int4 __ovld __cnfn shuffle2(int16, int16, uint4);14924 14925uint4 __ovld __cnfn shuffle2(uint2, uint2, uint4);14926uint4 __ovld __cnfn shuffle2(uint4, uint4, uint4);14927uint4 __ovld __cnfn shuffle2(uint8, uint8, uint4);14928uint4 __ovld __cnfn shuffle2(uint16, uint16, uint4);14929 14930long4 __ovld __cnfn shuffle2(long2, long2, ulong4);14931long4 __ovld __cnfn shuffle2(long4, long4, ulong4);14932long4 __ovld __cnfn shuffle2(long8, long8, ulong4);14933long4 __ovld __cnfn shuffle2(long16, long16, ulong4);14934 14935ulong4 __ovld __cnfn shuffle2(ulong2, ulong2, ulong4);14936ulong4 __ovld __cnfn shuffle2(ulong4, ulong4, ulong4);14937ulong4 __ovld __cnfn shuffle2(ulong8, ulong8, ulong4);14938ulong4 __ovld __cnfn shuffle2(ulong16, ulong16, ulong4);14939 14940float4 __ovld __cnfn shuffle2(float2, float2, uint4);14941float4 __ovld __cnfn shuffle2(float4, float4, uint4);14942float4 __ovld __cnfn shuffle2(float8, float8, uint4);14943float4 __ovld __cnfn shuffle2(float16, float16, uint4);14944 14945char8 __ovld __cnfn shuffle2(char2, char2, uchar8);14946char8 __ovld __cnfn shuffle2(char4, char4, uchar8);14947char8 __ovld __cnfn shuffle2(char8, char8, uchar8);14948char8 __ovld __cnfn shuffle2(char16, char16, uchar8);14949 14950uchar8 __ovld __cnfn shuffle2(uchar2, uchar2, uchar8);14951uchar8 __ovld __cnfn shuffle2(uchar4, uchar4, uchar8);14952uchar8 __ovld __cnfn shuffle2(uchar8, uchar8, uchar8);14953uchar8 __ovld __cnfn shuffle2(uchar16, uchar16, uchar8);14954 14955short8 __ovld __cnfn shuffle2(short2, short2, ushort8);14956short8 __ovld __cnfn shuffle2(short4, short4, ushort8);14957short8 __ovld __cnfn shuffle2(short8, short8, ushort8);14958short8 __ovld __cnfn shuffle2(short16, short16, ushort8);14959 14960ushort8 __ovld __cnfn shuffle2(ushort2, ushort2, ushort8);14961ushort8 __ovld __cnfn shuffle2(ushort4, ushort4, ushort8);14962ushort8 __ovld __cnfn shuffle2(ushort8, ushort8, ushort8);14963ushort8 __ovld __cnfn shuffle2(ushort16, ushort16, ushort8);14964 14965int8 __ovld __cnfn shuffle2(int2, int2, uint8);14966int8 __ovld __cnfn shuffle2(int4, int4, uint8);14967int8 __ovld __cnfn shuffle2(int8, int8, uint8);14968int8 __ovld __cnfn shuffle2(int16, int16, uint8);14969 14970uint8 __ovld __cnfn shuffle2(uint2, uint2, uint8);14971uint8 __ovld __cnfn shuffle2(uint4, uint4, uint8);14972uint8 __ovld __cnfn shuffle2(uint8, uint8, uint8);14973uint8 __ovld __cnfn shuffle2(uint16, uint16, uint8);14974 14975long8 __ovld __cnfn shuffle2(long2, long2, ulong8);14976long8 __ovld __cnfn shuffle2(long4, long4, ulong8);14977long8 __ovld __cnfn shuffle2(long8, long8, ulong8);14978long8 __ovld __cnfn shuffle2(long16, long16, ulong8);14979 14980ulong8 __ovld __cnfn shuffle2(ulong2, ulong2, ulong8);14981ulong8 __ovld __cnfn shuffle2(ulong4, ulong4, ulong8);14982ulong8 __ovld __cnfn shuffle2(ulong8, ulong8, ulong8);14983ulong8 __ovld __cnfn shuffle2(ulong16, ulong16, ulong8);14984 14985float8 __ovld __cnfn shuffle2(float2, float2, uint8);14986float8 __ovld __cnfn shuffle2(float4, float4, uint8);14987float8 __ovld __cnfn shuffle2(float8, float8, uint8);14988float8 __ovld __cnfn shuffle2(float16, float16, uint8);14989 14990char16 __ovld __cnfn shuffle2(char2, char2, uchar16);14991char16 __ovld __cnfn shuffle2(char4, char4, uchar16);14992char16 __ovld __cnfn shuffle2(char8, char8, uchar16);14993char16 __ovld __cnfn shuffle2(char16, char16, uchar16);14994 14995uchar16 __ovld __cnfn shuffle2(uchar2, uchar2, uchar16);14996uchar16 __ovld __cnfn shuffle2(uchar4, uchar4, uchar16);14997uchar16 __ovld __cnfn shuffle2(uchar8, uchar8, uchar16);14998uchar16 __ovld __cnfn shuffle2(uchar16, uchar16, uchar16);14999 15000short16 __ovld __cnfn shuffle2(short2, short2, ushort16);15001short16 __ovld __cnfn shuffle2(short4, short4, ushort16);15002short16 __ovld __cnfn shuffle2(short8, short8, ushort16);15003short16 __ovld __cnfn shuffle2(short16, short16, ushort16);15004 15005ushort16 __ovld __cnfn shuffle2(ushort2, ushort2, ushort16);15006ushort16 __ovld __cnfn shuffle2(ushort4, ushort4, ushort16);15007ushort16 __ovld __cnfn shuffle2(ushort8, ushort8, ushort16);15008ushort16 __ovld __cnfn shuffle2(ushort16, ushort16, ushort16);15009 15010int16 __ovld __cnfn shuffle2(int2, int2, uint16);15011int16 __ovld __cnfn shuffle2(int4, int4, uint16);15012int16 __ovld __cnfn shuffle2(int8, int8, uint16);15013int16 __ovld __cnfn shuffle2(int16, int16, uint16);15014 15015uint16 __ovld __cnfn shuffle2(uint2, uint2, uint16);15016uint16 __ovld __cnfn shuffle2(uint4, uint4, uint16);15017uint16 __ovld __cnfn shuffle2(uint8, uint8, uint16);15018uint16 __ovld __cnfn shuffle2(uint16, uint16, uint16);15019 15020long16 __ovld __cnfn shuffle2(long2, long2, ulong16);15021long16 __ovld __cnfn shuffle2(long4, long4, ulong16);15022long16 __ovld __cnfn shuffle2(long8, long8, ulong16);15023long16 __ovld __cnfn shuffle2(long16, long16, ulong16);15024 15025ulong16 __ovld __cnfn shuffle2(ulong2, ulong2, ulong16);15026ulong16 __ovld __cnfn shuffle2(ulong4, ulong4, ulong16);15027ulong16 __ovld __cnfn shuffle2(ulong8, ulong8, ulong16);15028ulong16 __ovld __cnfn shuffle2(ulong16, ulong16, ulong16);15029 15030float16 __ovld __cnfn shuffle2(float2, float2, uint16);15031float16 __ovld __cnfn shuffle2(float4, float4, uint16);15032float16 __ovld __cnfn shuffle2(float8, float8, uint16);15033float16 __ovld __cnfn shuffle2(float16, float16, uint16);15034 15035#ifdef cl_khr_fp6415036double2 __ovld __cnfn shuffle2(double2, double2, ulong2);15037double2 __ovld __cnfn shuffle2(double4, double4, ulong2);15038double2 __ovld __cnfn shuffle2(double8, double8, ulong2);15039double2 __ovld __cnfn shuffle2(double16, double16, ulong2);15040 15041double4 __ovld __cnfn shuffle2(double2, double2, ulong4);15042double4 __ovld __cnfn shuffle2(double4, double4, ulong4);15043double4 __ovld __cnfn shuffle2(double8, double8, ulong4);15044double4 __ovld __cnfn shuffle2(double16, double16, ulong4);15045 15046double8 __ovld __cnfn shuffle2(double2, double2, ulong8);15047double8 __ovld __cnfn shuffle2(double4, double4, ulong8);15048double8 __ovld __cnfn shuffle2(double8, double8, ulong8);15049double8 __ovld __cnfn shuffle2(double16, double16, ulong8);15050 15051double16 __ovld __cnfn shuffle2(double2, double2, ulong16);15052double16 __ovld __cnfn shuffle2(double4, double4, ulong16);15053double16 __ovld __cnfn shuffle2(double8, double8, ulong16);15054double16 __ovld __cnfn shuffle2(double16, double16, ulong16);15055#endif //cl_khr_fp6415056 15057#ifdef cl_khr_fp1615058half2 __ovld __cnfn shuffle2(half2, half2, ushort2);15059half2 __ovld __cnfn shuffle2(half4, half4, ushort2);15060half2 __ovld __cnfn shuffle2(half8, half8, ushort2);15061half2 __ovld __cnfn shuffle2(half16, half16, ushort2);15062 15063half4 __ovld __cnfn shuffle2(half2, half2, ushort4);15064half4 __ovld __cnfn shuffle2(half4, half4, ushort4);15065half4 __ovld __cnfn shuffle2(half8, half8, ushort4);15066half4 __ovld __cnfn shuffle2(half16, half16, ushort4);15067 15068half8 __ovld __cnfn shuffle2(half2, half2, ushort8);15069half8 __ovld __cnfn shuffle2(half4, half4, ushort8);15070half8 __ovld __cnfn shuffle2(half8, half8, ushort8);15071half8 __ovld __cnfn shuffle2(half16, half16, ushort8);15072 15073half16 __ovld __cnfn shuffle2(half2, half2, ushort16);15074half16 __ovld __cnfn shuffle2(half4, half4, ushort16);15075half16 __ovld __cnfn shuffle2(half8, half8, ushort16);15076half16 __ovld __cnfn shuffle2(half16, half16, ushort16);15077#endif //cl_khr_fp1615078 15079// OpenCL v1.1 s6.11.3, v1.2 s6.12.14, v2.0 s6.13.14 - Image Read and Write Functions15080 15081#ifdef cl_khr_gl_msaa_sharing15082#pragma OPENCL EXTENSION cl_khr_gl_msaa_sharing : enable15083#endif //cl_khr_gl_msaa_sharing15084 15085#if (defined(__opencl_c_images) || defined(__IMAGE_SUPPORT__))15086/**15087 * Use the coordinate (coord.xy) to do an element lookup in15088 * the 2D image object specified by image.15089 *15090 * Use the coordinate (coord.x, coord.y, coord.z) to do15091 * an element lookup in the 3D image object specified15092 * by image. coord.w is ignored.15093 *15094 * Use the coordinate (coord.z) to index into the15095 * 2D image array object specified by image_array15096 * and (coord.x, coord.y) to do an element lookup in15097 * the 2D image object specified by image.15098 *15099 * Use the coordinate (x) to do an element lookup in15100 * the 1D image object specified by image.15101 *15102 * Use the coordinate (coord.y) to index into the15103 * 1D image array object specified by image_array15104 * and (coord.x) to do an element lookup in15105 * the 1D image object specified by image.15106 *15107 * Use the coordinate (cood.xy) and sample to do an15108 * element lookup in the 2D multi-sample image specified15109 * by image.15110 *15111 * Use coord.xy and sample to do an element15112 * lookup in the 2D multi-sample image layer15113 * identified by index coord.z in the 2D multi-sample15114 * image array specified by image.15115 *15116 * For mipmap images, use the mip-level specified by15117 * the Level-of-Detail (lod) or use gradients for LOD15118 * computation.15119 *15120 * read_imagef returns floating-point values in the15121 * range [0.0 ... 1.0] for image objects created with15122 * image_channel_data_type set to one of the predefined15123 * packed formats or CL_UNORM_INT8, or15124 * CL_UNORM_INT16.15125 *15126 * read_imagef returns floating-point values in the15127 * range [-1.0 ... 1.0] for image objects created with15128 * image_channel_data_type set to CL_SNORM_INT8,15129 * or CL_SNORM_INT16.15130 *15131 * read_imagef returns floating-point values for image15132 * objects created with image_channel_data_type set to15133 * CL_HALF_FLOAT or CL_FLOAT.15134 *15135 * read_imagei and read_imageui return15136 * unnormalized signed integer and unsigned integer15137 * values respectively. Each channel will be stored in a15138 * 32-bit integer.15139 *15140 * read_imagei can only be used with image objects15141 * created with image_channel_data_type set to one of15142 * the following values:15143 * CL_SIGNED_INT8,15144 * CL_SIGNED_INT16 and15145 * CL_SIGNED_INT32.15146 * If the image_channel_data_type is not one of the15147 * above values, the values returned by read_imagei15148 * are undefined.15149 *15150 * read_imageui can only be used with image objects15151 * created with image_channel_data_type set to one of15152 * the following values:15153 * CL_UNSIGNED_INT8,15154 * CL_UNSIGNED_INT16 and15155 * CL_UNSIGNED_INT32.15156 * If the image_channel_data_type is not one of the15157 * above values, the values returned by read_imageui15158 * are undefined.15159 *15160 * The read_image{i|ui} calls support a nearest filter15161 * only. The filter_mode specified in sampler15162 * must be set to CLK_FILTER_NEAREST; otherwise15163 * the values returned are undefined.15164 15165 * The read_image{f|i|ui} calls that take15166 * integer coordinates must use a sampler with15167 * normalized coordinates set to15168 * CLK_NORMALIZED_COORDS_FALSE and15169 * addressing mode set to15170 * CLK_ADDRESS_CLAMP_TO_EDGE,15171 * CLK_ADDRESS_CLAMP or CLK_ADDRESS_NONE;15172 * otherwise the values returned are undefined.15173 *15174 * Values returned by read_imagef for image objects15175 * with image_channel_data_type values not specified15176 * in the description above are undefined.15177 */15178 15179float4 __ovld __purefn read_imagef(read_only image2d_t, sampler_t, int2);15180float4 __ovld __purefn read_imagef(read_only image2d_t, sampler_t, float2);15181 15182int4 __ovld __purefn read_imagei(read_only image2d_t, sampler_t, int2);15183int4 __ovld __purefn read_imagei(read_only image2d_t, sampler_t, float2);15184uint4 __ovld __purefn read_imageui(read_only image2d_t, sampler_t, int2);15185uint4 __ovld __purefn read_imageui(read_only image2d_t, sampler_t, float2);15186 15187float4 __ovld __purefn read_imagef(read_only image3d_t, sampler_t, int4);15188float4 __ovld __purefn read_imagef(read_only image3d_t, sampler_t, float4);15189 15190int4 __ovld __purefn read_imagei(read_only image3d_t, sampler_t, int4);15191int4 __ovld __purefn read_imagei(read_only image3d_t, sampler_t, float4);15192uint4 __ovld __purefn read_imageui(read_only image3d_t, sampler_t, int4);15193uint4 __ovld __purefn read_imageui(read_only image3d_t, sampler_t, float4);15194 15195#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)15196float4 __ovld __purefn read_imagef(read_only image2d_array_t, sampler_t, int4);15197float4 __ovld __purefn read_imagef(read_only image2d_array_t, sampler_t, float4);15198 15199int4 __ovld __purefn read_imagei(read_only image2d_array_t, sampler_t, int4);15200int4 __ovld __purefn read_imagei(read_only image2d_array_t, sampler_t, float4);15201uint4 __ovld __purefn read_imageui(read_only image2d_array_t, sampler_t, int4);15202uint4 __ovld __purefn read_imageui(read_only image2d_array_t, sampler_t, float4);15203#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)15204 15205float4 __ovld __purefn read_imagef(read_only image1d_t, sampler_t, int);15206float4 __ovld __purefn read_imagef(read_only image1d_t, sampler_t, float);15207 15208int4 __ovld __purefn read_imagei(read_only image1d_t, sampler_t, int);15209int4 __ovld __purefn read_imagei(read_only image1d_t, sampler_t, float);15210uint4 __ovld __purefn read_imageui(read_only image1d_t, sampler_t, int);15211uint4 __ovld __purefn read_imageui(read_only image1d_t, sampler_t, float);15212 15213#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)15214float4 __ovld __purefn read_imagef(read_only image1d_array_t, sampler_t, int2);15215float4 __ovld __purefn read_imagef(read_only image1d_array_t, sampler_t, float2);15216 15217int4 __ovld __purefn read_imagei(read_only image1d_array_t, sampler_t, int2);15218int4 __ovld __purefn read_imagei(read_only image1d_array_t, sampler_t, float2);15219uint4 __ovld __purefn read_imageui(read_only image1d_array_t, sampler_t, int2);15220uint4 __ovld __purefn read_imageui(read_only image1d_array_t, sampler_t, float2);15221#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)15222 15223#ifdef cl_khr_depth_images15224float __ovld __purefn read_imagef(read_only image2d_depth_t, sampler_t, float2);15225float __ovld __purefn read_imagef(read_only image2d_depth_t, sampler_t, int2);15226 15227float __ovld __purefn read_imagef(read_only image2d_array_depth_t, sampler_t, float4);15228float __ovld __purefn read_imagef(read_only image2d_array_depth_t, sampler_t, int4);15229#endif //cl_khr_depth_images15230 15231#if defined(cl_khr_gl_msaa_sharing)15232float4 __ovld __purefn read_imagef(read_only image2d_msaa_t, int2, int);15233int4 __ovld __purefn read_imagei(read_only image2d_msaa_t, int2, int);15234uint4 __ovld __purefn read_imageui(read_only image2d_msaa_t, int2, int);15235 15236float __ovld __purefn read_imagef(read_only image2d_msaa_depth_t, int2, int);15237 15238float4 __ovld __purefn read_imagef(read_only image2d_array_msaa_t, int4, int);15239int4 __ovld __purefn read_imagei(read_only image2d_array_msaa_t, int4, int);15240uint4 __ovld __purefn read_imageui(read_only image2d_array_msaa_t, int4, int);15241 15242float __ovld __purefn read_imagef(read_only image2d_array_msaa_depth_t, int4, int);15243#endif //cl_khr_gl_msaa_sharing15244 15245// OpenCL Extension v2.0 s9.18 - Mipmaps15246#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)15247#ifdef cl_khr_mipmap_image15248 15249float4 __ovld __purefn read_imagef(read_only image1d_t, sampler_t, float, float);15250int4 __ovld __purefn read_imagei(read_only image1d_t, sampler_t, float, float);15251uint4 __ovld __purefn read_imageui(read_only image1d_t, sampler_t, float, float);15252 15253float4 __ovld __purefn read_imagef(read_only image1d_array_t, sampler_t, float2, float);15254int4 __ovld __purefn read_imagei(read_only image1d_array_t, sampler_t, float2, float);15255uint4 __ovld __purefn read_imageui(read_only image1d_array_t, sampler_t, float2, float);15256 15257float4 __ovld __purefn read_imagef(read_only image2d_t, sampler_t, float2, float);15258int4 __ovld __purefn read_imagei(read_only image2d_t, sampler_t, float2, float);15259uint4 __ovld __purefn read_imageui(read_only image2d_t, sampler_t, float2, float);15260 15261#ifdef cl_khr_depth_images15262float __ovld __purefn read_imagef(read_only image2d_depth_t, sampler_t, float2, float);15263#endif // cl_khr_depth_images15264 15265float4 __ovld __purefn read_imagef(read_only image2d_array_t, sampler_t, float4, float);15266int4 __ovld __purefn read_imagei(read_only image2d_array_t, sampler_t, float4, float);15267uint4 __ovld __purefn read_imageui(read_only image2d_array_t, sampler_t, float4, float);15268 15269#ifdef cl_khr_depth_images15270float __ovld __purefn read_imagef(read_only image2d_array_depth_t, sampler_t, float4, float);15271#endif // cl_khr_depth_images15272 15273float4 __ovld __purefn read_imagef(read_only image3d_t, sampler_t, float4, float);15274int4 __ovld __purefn read_imagei(read_only image3d_t, sampler_t, float4, float);15275uint4 __ovld __purefn read_imageui(read_only image3d_t, sampler_t, float4, float);15276 15277float4 __ovld __purefn read_imagef(read_only image1d_t, sampler_t, float, float, float);15278int4 __ovld __purefn read_imagei(read_only image1d_t, sampler_t, float, float, float);15279uint4 __ovld __purefn read_imageui(read_only image1d_t, sampler_t, float, float, float);15280 15281float4 __ovld __purefn read_imagef(read_only image1d_array_t, sampler_t, float2, float, float);15282int4 __ovld __purefn read_imagei(read_only image1d_array_t, sampler_t, float2, float, float);15283uint4 __ovld __purefn read_imageui(read_only image1d_array_t, sampler_t, float2, float, float);15284 15285float4 __ovld __purefn read_imagef(read_only image2d_t, sampler_t, float2, float2, float2);15286int4 __ovld __purefn read_imagei(read_only image2d_t, sampler_t, float2, float2, float2);15287uint4 __ovld __purefn read_imageui(read_only image2d_t, sampler_t, float2, float2, float2);15288 15289#ifdef cl_khr_depth_images15290float __ovld __purefn read_imagef(read_only image2d_depth_t, sampler_t, float2, float2, float2);15291#endif // cl_khr_depth_images15292 15293float4 __ovld __purefn read_imagef(read_only image2d_array_t, sampler_t, float4, float2, float2);15294int4 __ovld __purefn read_imagei(read_only image2d_array_t, sampler_t, float4, float2, float2);15295uint4 __ovld __purefn read_imageui(read_only image2d_array_t, sampler_t, float4, float2, float2);15296 15297#ifdef cl_khr_depth_images15298float __ovld __purefn read_imagef(read_only image2d_array_depth_t, sampler_t, float4, float2, float2);15299#endif // cl_khr_depth_images15300 15301float4 __ovld __purefn read_imagef(read_only image3d_t, sampler_t, float4, float4, float4);15302int4 __ovld __purefn read_imagei(read_only image3d_t, sampler_t, float4, float4, float4);15303uint4 __ovld __purefn read_imageui(read_only image3d_t, sampler_t, float4, float4, float4);15304 15305#endif //cl_khr_mipmap_image15306#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)15307 15308#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)15309 15310/**15311* Sampler-less Image Access15312*/15313 15314float4 __ovld __purefn read_imagef(read_only image1d_t, int);15315int4 __ovld __purefn read_imagei(read_only image1d_t, int);15316uint4 __ovld __purefn read_imageui(read_only image1d_t, int);15317 15318float4 __ovld __purefn read_imagef(read_only image1d_buffer_t, int);15319int4 __ovld __purefn read_imagei(read_only image1d_buffer_t, int);15320uint4 __ovld __purefn read_imageui(read_only image1d_buffer_t, int);15321 15322float4 __ovld __purefn read_imagef(read_only image1d_array_t, int2);15323int4 __ovld __purefn read_imagei(read_only image1d_array_t, int2);15324uint4 __ovld __purefn read_imageui(read_only image1d_array_t, int2);15325 15326float4 __ovld __purefn read_imagef(read_only image2d_t, int2);15327int4 __ovld __purefn read_imagei(read_only image2d_t, int2);15328uint4 __ovld __purefn read_imageui(read_only image2d_t, int2);15329 15330float4 __ovld __purefn read_imagef(read_only image2d_array_t, int4);15331int4 __ovld __purefn read_imagei(read_only image2d_array_t, int4);15332uint4 __ovld __purefn read_imageui(read_only image2d_array_t, int4);15333 15334#ifdef cl_khr_depth_images15335float __ovld __purefn read_imagef(read_only image2d_depth_t, int2);15336float __ovld __purefn read_imagef(read_only image2d_array_depth_t, int4);15337#endif //cl_khr_depth_images15338 15339float4 __ovld __purefn read_imagef(read_only image3d_t, int4);15340int4 __ovld __purefn read_imagei(read_only image3d_t, int4);15341uint4 __ovld __purefn read_imageui(read_only image3d_t, int4);15342 15343#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)15344 15345// Image read functions returning half4 type15346#ifdef cl_khr_fp1615347half4 __ovld __purefn read_imageh(read_only image1d_t, sampler_t, int);15348half4 __ovld __purefn read_imageh(read_only image1d_t, sampler_t, float);15349half4 __ovld __purefn read_imageh(read_only image2d_t, sampler_t, int2);15350half4 __ovld __purefn read_imageh(read_only image2d_t, sampler_t, float2);15351half4 __ovld __purefn read_imageh(read_only image3d_t, sampler_t, int4);15352half4 __ovld __purefn read_imageh(read_only image3d_t, sampler_t, float4);15353#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)15354half4 __ovld __purefn read_imageh(read_only image1d_array_t, sampler_t, int2);15355half4 __ovld __purefn read_imageh(read_only image1d_array_t, sampler_t, float2);15356half4 __ovld __purefn read_imageh(read_only image2d_array_t, sampler_t, int4);15357half4 __ovld __purefn read_imageh(read_only image2d_array_t, sampler_t, float4);15358/**15359 * Sampler-less Image Access15360 */15361half4 __ovld __purefn read_imageh(read_only image1d_t, int);15362half4 __ovld __purefn read_imageh(read_only image2d_t, int2);15363half4 __ovld __purefn read_imageh(read_only image3d_t, int4);15364half4 __ovld __purefn read_imageh(read_only image1d_array_t, int2);15365half4 __ovld __purefn read_imageh(read_only image2d_array_t, int4);15366half4 __ovld __purefn read_imageh(read_only image1d_buffer_t, int);15367#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)15368#endif //cl_khr_fp1615369 15370// Image read functions for read_write images15371#if defined(__opencl_c_read_write_images)15372float4 __ovld __purefn read_imagef(read_write image1d_t, int);15373int4 __ovld __purefn read_imagei(read_write image1d_t, int);15374uint4 __ovld __purefn read_imageui(read_write image1d_t, int);15375 15376float4 __ovld __purefn read_imagef(read_write image1d_buffer_t, int);15377int4 __ovld __purefn read_imagei(read_write image1d_buffer_t, int);15378uint4 __ovld __purefn read_imageui(read_write image1d_buffer_t, int);15379 15380float4 __ovld __purefn read_imagef(read_write image1d_array_t, int2);15381int4 __ovld __purefn read_imagei(read_write image1d_array_t, int2);15382uint4 __ovld __purefn read_imageui(read_write image1d_array_t, int2);15383 15384float4 __ovld __purefn read_imagef(read_write image2d_t, int2);15385int4 __ovld __purefn read_imagei(read_write image2d_t, int2);15386uint4 __ovld __purefn read_imageui(read_write image2d_t, int2);15387 15388float4 __ovld __purefn read_imagef(read_write image2d_array_t, int4);15389int4 __ovld __purefn read_imagei(read_write image2d_array_t, int4);15390uint4 __ovld __purefn read_imageui(read_write image2d_array_t, int4);15391 15392#ifdef cl_khr_3d_image_writes15393float4 __ovld __purefn read_imagef(read_write image3d_t, int4);15394int4 __ovld __purefn read_imagei(read_write image3d_t, int4);15395uint4 __ovld __purefn read_imageui(read_write image3d_t, int4);15396#endif // cl_khr_3d_image_writes15397 15398#ifdef cl_khr_depth_images15399float __ovld __purefn read_imagef(read_write image2d_depth_t, int2);15400float __ovld __purefn read_imagef(read_write image2d_array_depth_t, int4);15401#endif //cl_khr_depth_images15402 15403#if cl_khr_gl_msaa_sharing15404float4 __ovld __purefn read_imagef(read_write image2d_msaa_t, int2, int);15405int4 __ovld __purefn read_imagei(read_write image2d_msaa_t, int2, int);15406uint4 __ovld __purefn read_imageui(read_write image2d_msaa_t, int2, int);15407 15408float4 __ovld __purefn read_imagef(read_write image2d_array_msaa_t, int4, int);15409int4 __ovld __purefn read_imagei(read_write image2d_array_msaa_t, int4, int);15410uint4 __ovld __purefn read_imageui(read_write image2d_array_msaa_t, int4, int);15411 15412float __ovld __purefn read_imagef(read_write image2d_msaa_depth_t, int2, int);15413float __ovld __purefn read_imagef(read_write image2d_array_msaa_depth_t, int4, int);15414#endif //cl_khr_gl_msaa_sharing15415 15416#ifdef cl_khr_mipmap_image15417float4 __ovld __purefn read_imagef(read_write image1d_t, sampler_t, float, float);15418int4 __ovld __purefn read_imagei(read_write image1d_t, sampler_t, float, float);15419uint4 __ovld __purefn read_imageui(read_write image1d_t, sampler_t, float, float);15420 15421float4 __ovld __purefn read_imagef(read_write image1d_array_t, sampler_t, float2, float);15422int4 __ovld __purefn read_imagei(read_write image1d_array_t, sampler_t, float2, float);15423uint4 __ovld __purefn read_imageui(read_write image1d_array_t, sampler_t, float2, float);15424 15425float4 __ovld __purefn read_imagef(read_write image2d_t, sampler_t, float2, float);15426int4 __ovld __purefn read_imagei(read_write image2d_t, sampler_t, float2, float);15427uint4 __ovld __purefn read_imageui(read_write image2d_t, sampler_t, float2, float);15428 15429float __ovld __purefn read_imagef(read_write image2d_depth_t, sampler_t, float2, float);15430 15431float4 __ovld __purefn read_imagef(read_write image2d_array_t, sampler_t, float4, float);15432int4 __ovld __purefn read_imagei(read_write image2d_array_t, sampler_t, float4, float);15433uint4 __ovld __purefn read_imageui(read_write image2d_array_t, sampler_t, float4, float);15434 15435float __ovld __purefn read_imagef(read_write image2d_array_depth_t, sampler_t, float4, float);15436 15437#ifdef cl_khr_3d_image_writes15438float4 __ovld __purefn read_imagef(read_write image3d_t, sampler_t, float4, float);15439int4 __ovld __purefn read_imagei(read_write image3d_t, sampler_t, float4, float);15440uint4 __ovld __purefn read_imageui(read_write image3d_t, sampler_t, float4, float);15441#endif // cl_khr_3d_image_writes15442 15443float4 __ovld __purefn read_imagef(read_write image1d_t, sampler_t, float, float, float);15444int4 __ovld __purefn read_imagei(read_write image1d_t, sampler_t, float, float, float);15445uint4 __ovld __purefn read_imageui(read_write image1d_t, sampler_t, float, float, float);15446 15447float4 __ovld __purefn read_imagef(read_write image1d_array_t, sampler_t, float2, float, float);15448int4 __ovld __purefn read_imagei(read_write image1d_array_t, sampler_t, float2, float, float);15449uint4 __ovld __purefn read_imageui(read_write image1d_array_t, sampler_t, float2, float, float);15450 15451float4 __ovld __purefn read_imagef(read_write image2d_t, sampler_t, float2, float2, float2);15452int4 __ovld __purefn read_imagei(read_write image2d_t, sampler_t, float2, float2, float2);15453uint4 __ovld __purefn read_imageui(read_write image2d_t, sampler_t, float2, float2, float2);15454 15455float __ovld __purefn read_imagef(read_write image2d_depth_t, sampler_t, float2, float2, float2);15456 15457float4 __ovld __purefn read_imagef(read_write image2d_array_t, sampler_t, float4, float2, float2);15458int4 __ovld __purefn read_imagei(read_write image2d_array_t, sampler_t, float4, float2, float2);15459uint4 __ovld __purefn read_imageui(read_write image2d_array_t, sampler_t, float4, float2, float2);15460 15461float __ovld __purefn read_imagef(read_write image2d_array_depth_t, sampler_t, float4, float2, float2);15462 15463#ifdef cl_khr_3d_image_writes15464float4 __ovld __purefn read_imagef(read_write image3d_t, sampler_t, float4, float4, float4);15465int4 __ovld __purefn read_imagei(read_write image3d_t, sampler_t, float4, float4, float4);15466uint4 __ovld __purefn read_imageui(read_write image3d_t, sampler_t, float4, float4, float4);15467#endif // cl_khr_3d_image_writes15468 15469#endif //cl_khr_mipmap_image15470 15471// Image read functions returning half4 type15472#ifdef cl_khr_fp1615473half4 __ovld __purefn read_imageh(read_write image1d_t, int);15474half4 __ovld __purefn read_imageh(read_write image2d_t, int2);15475#ifdef cl_khr_3d_image_writes15476half4 __ovld __purefn read_imageh(read_write image3d_t, int4);15477#endif // cl_khr_3d_image_writes15478half4 __ovld __purefn read_imageh(read_write image1d_array_t, int2);15479half4 __ovld __purefn read_imageh(read_write image2d_array_t, int4);15480half4 __ovld __purefn read_imageh(read_write image1d_buffer_t, int);15481#endif //cl_khr_fp1615482#endif //defined(__opencl_c_read_write_images)15483 15484/**15485 * Write color value to location specified by coordinate15486 * (coord.x, coord.y) in the 2D image object specified by image.15487 * (coord.x, coord.y) are considered to be unnormalized coordinates15488 * and must be in the range 0 ... image width - 1, and 015489 * ... image height - 1.15490 15491 * Write color value to location specified by coordinate15492 * (coord.x, coord.y) in the 2D image object specified by index15493 * (coord.z) of the 2D image array object image_array.15494 * (coord.x, coord.y) are considered to be unnormalized15495 * coordinates and must be in the range 0 ... image width15496 * - 1.15497 *15498 * Write color value to location specified by coordinate15499 * (coord) in the 1D image (buffer) object specified by image.15500 * coord is considered to be unnormalized coordinates15501 * and must be in the range 0 ... image width - 1.15502 *15503 * Write color value to location specified by coordinate15504 * (coord.x) in the 1D image object specified by index15505 * (coord.y) of the 1D image array object image_array.15506 * x is considered to be unnormalized coordinates15507 * and must be in the range 0 ... image width - 1.15508 *15509 * Write color value to location specified by coordinate15510 * (coord.x, coord.y, coord.z) in the 3D image object specified by image.15511 * coord.x & coord.y are considered to be unnormalized coordinates15512 * and must be in the range 0 ... image width - 1, and 015513 * ... image height - 1.15514 *15515 * For mipmap images, use mip-level specified by lod.15516 *15517 * Appropriate data format conversion to the specified15518 * image format is done before writing the color value.15519 *15520 * write_imagef can only be used with image objects15521 * created with image_channel_data_type set to one of15522 * the pre-defined packed formats or set to15523 * CL_SNORM_INT8, CL_UNORM_INT8,15524 * CL_SNORM_INT16, CL_UNORM_INT16,15525 * CL_HALF_FLOAT or CL_FLOAT. Appropriate data15526 * format conversion will be done to convert channel15527 * data from a floating-point value to actual data format15528 * in which the channels are stored.15529 *15530 * write_imagei can only be used with image objects15531 * created with image_channel_data_type set to one of15532 * the following values:15533 * CL_SIGNED_INT8,15534 * CL_SIGNED_INT16 and15535 * CL_SIGNED_INT32.15536 *15537 * write_imageui can only be used with image objects15538 * created with image_channel_data_type set to one of15539 * the following values:15540 * CL_UNSIGNED_INT8,15541 * CL_UNSIGNED_INT16 and15542 * CL_UNSIGNED_INT32.15543 *15544 * The behavior of write_imagef, write_imagei and15545 * write_imageui for image objects created with15546 * image_channel_data_type values not specified in15547 * the description above or with (x, y) coordinate15548 * values that are not in the range (0 ... image width -1,15549 * 0 ... image height - 1), respectively, is undefined.15550 */15551void __ovld write_imagef(write_only image2d_t, int2, float4);15552void __ovld write_imagei(write_only image2d_t, int2, int4);15553void __ovld write_imageui(write_only image2d_t, int2, uint4);15554 15555void __ovld write_imagef(write_only image2d_array_t, int4, float4);15556void __ovld write_imagei(write_only image2d_array_t, int4, int4);15557void __ovld write_imageui(write_only image2d_array_t, int4, uint4);15558 15559void __ovld write_imagef(write_only image1d_t, int, float4);15560void __ovld write_imagei(write_only image1d_t, int, int4);15561void __ovld write_imageui(write_only image1d_t, int, uint4);15562 15563void __ovld write_imagef(write_only image1d_buffer_t, int, float4);15564void __ovld write_imagei(write_only image1d_buffer_t, int, int4);15565void __ovld write_imageui(write_only image1d_buffer_t, int, uint4);15566 15567void __ovld write_imagef(write_only image1d_array_t, int2, float4);15568void __ovld write_imagei(write_only image1d_array_t, int2, int4);15569void __ovld write_imageui(write_only image1d_array_t, int2, uint4);15570 15571#ifdef cl_khr_3d_image_writes15572void __ovld write_imagef(write_only image3d_t, int4, float4);15573void __ovld write_imagei(write_only image3d_t, int4, int4);15574void __ovld write_imageui(write_only image3d_t, int4, uint4);15575#endif15576 15577#ifdef cl_khr_depth_images15578void __ovld write_imagef(write_only image2d_depth_t, int2, float);15579void __ovld write_imagef(write_only image2d_array_depth_t, int4, float);15580#endif //cl_khr_depth_images15581 15582// OpenCL Extension v2.0 s9.18 - Mipmaps15583#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)15584#if defined(cl_khr_mipmap_image_writes)15585void __ovld write_imagef(write_only image1d_t, int, int, float4);15586void __ovld write_imagei(write_only image1d_t, int, int, int4);15587void __ovld write_imageui(write_only image1d_t, int, int, uint4);15588 15589void __ovld write_imagef(write_only image1d_array_t, int2, int, float4);15590void __ovld write_imagei(write_only image1d_array_t, int2, int, int4);15591void __ovld write_imageui(write_only image1d_array_t, int2, int, uint4);15592 15593void __ovld write_imagef(write_only image2d_t, int2, int, float4);15594void __ovld write_imagei(write_only image2d_t, int2, int, int4);15595void __ovld write_imageui(write_only image2d_t, int2, int, uint4);15596 15597void __ovld write_imagef(write_only image2d_array_t, int4, int, float4);15598void __ovld write_imagei(write_only image2d_array_t, int4, int, int4);15599void __ovld write_imageui(write_only image2d_array_t, int4, int, uint4);15600 15601void __ovld write_imagef(write_only image2d_depth_t, int2, int, float);15602void __ovld write_imagef(write_only image2d_array_depth_t, int4, int, float);15603 15604#ifdef cl_khr_3d_image_writes15605void __ovld write_imagef(write_only image3d_t, int4, int, float4);15606void __ovld write_imagei(write_only image3d_t, int4, int, int4);15607void __ovld write_imageui(write_only image3d_t, int4, int, uint4);15608#endif //cl_khr_3d_image_writes15609 15610#endif //defined(cl_khr_mipmap_image_writes)15611#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)15612 15613// Image write functions for half4 type15614#ifdef cl_khr_fp1615615void __ovld write_imageh(write_only image1d_t, int, half4);15616void __ovld write_imageh(write_only image2d_t, int2, half4);15617#ifdef cl_khr_3d_image_writes15618void __ovld write_imageh(write_only image3d_t, int4, half4);15619#endif15620void __ovld write_imageh(write_only image1d_array_t, int2, half4);15621void __ovld write_imageh(write_only image2d_array_t, int4, half4);15622void __ovld write_imageh(write_only image1d_buffer_t, int, half4);15623#endif //cl_khr_fp1615624 15625// Image write functions for read_write images15626#if defined(__opencl_c_read_write_images)15627void __ovld write_imagef(read_write image2d_t, int2, float4);15628void __ovld write_imagei(read_write image2d_t, int2, int4);15629void __ovld write_imageui(read_write image2d_t, int2, uint4);15630 15631void __ovld write_imagef(read_write image2d_array_t, int4, float4);15632void __ovld write_imagei(read_write image2d_array_t, int4, int4);15633void __ovld write_imageui(read_write image2d_array_t, int4, uint4);15634 15635void __ovld write_imagef(read_write image1d_t, int, float4);15636void __ovld write_imagei(read_write image1d_t, int, int4);15637void __ovld write_imageui(read_write image1d_t, int, uint4);15638 15639void __ovld write_imagef(read_write image1d_buffer_t, int, float4);15640void __ovld write_imagei(read_write image1d_buffer_t, int, int4);15641void __ovld write_imageui(read_write image1d_buffer_t, int, uint4);15642 15643void __ovld write_imagef(read_write image1d_array_t, int2, float4);15644void __ovld write_imagei(read_write image1d_array_t, int2, int4);15645void __ovld write_imageui(read_write image1d_array_t, int2, uint4);15646 15647#ifdef cl_khr_3d_image_writes15648void __ovld write_imagef(read_write image3d_t, int4, float4);15649void __ovld write_imagei(read_write image3d_t, int4, int4);15650void __ovld write_imageui(read_write image3d_t, int4, uint4);15651#endif15652 15653#ifdef cl_khr_depth_images15654void __ovld write_imagef(read_write image2d_depth_t, int2, float);15655void __ovld write_imagef(read_write image2d_array_depth_t, int4, float);15656#endif //cl_khr_depth_images15657 15658#if defined(cl_khr_mipmap_image_writes)15659void __ovld write_imagef(read_write image1d_t, int, int, float4);15660void __ovld write_imagei(read_write image1d_t, int, int, int4);15661void __ovld write_imageui(read_write image1d_t, int, int, uint4);15662 15663void __ovld write_imagef(read_write image1d_array_t, int2, int, float4);15664void __ovld write_imagei(read_write image1d_array_t, int2, int, int4);15665void __ovld write_imageui(read_write image1d_array_t, int2, int, uint4);15666 15667void __ovld write_imagef(read_write image2d_t, int2, int, float4);15668void __ovld write_imagei(read_write image2d_t, int2, int, int4);15669void __ovld write_imageui(read_write image2d_t, int2, int, uint4);15670 15671void __ovld write_imagef(read_write image2d_array_t, int4, int, float4);15672void __ovld write_imagei(read_write image2d_array_t, int4, int, int4);15673void __ovld write_imageui(read_write image2d_array_t, int4, int, uint4);15674 15675void __ovld write_imagef(read_write image2d_depth_t, int2, int, float);15676void __ovld write_imagef(read_write image2d_array_depth_t, int4, int, float);15677 15678#ifdef cl_khr_3d_image_writes15679void __ovld write_imagef(read_write image3d_t, int4, int, float4);15680void __ovld write_imagei(read_write image3d_t, int4, int, int4);15681void __ovld write_imageui(read_write image3d_t, int4, int, uint4);15682#endif //cl_khr_3d_image_writes15683 15684#endif //cl_khr_mipmap_image_writes15685 15686// Image write functions for half4 type15687#ifdef cl_khr_fp1615688void __ovld write_imageh(read_write image1d_t, int, half4);15689void __ovld write_imageh(read_write image2d_t, int2, half4);15690#ifdef cl_khr_3d_image_writes15691void __ovld write_imageh(read_write image3d_t, int4, half4);15692#endif15693void __ovld write_imageh(read_write image1d_array_t, int2, half4);15694void __ovld write_imageh(read_write image2d_array_t, int4, half4);15695void __ovld write_imageh(read_write image1d_buffer_t, int, half4);15696#endif //cl_khr_fp1615697#endif //defined(__opencl_c_read_write_images)15698 15699// Note: In OpenCL v1.0/1.1/1.2, image argument of image query builtin functions does not have15700// access qualifier, which by default assume read_only access qualifier. Image query builtin15701// functions with write_only image argument should also be declared.15702 15703/**15704 * Return the image width in pixels.15705 *15706 */15707int __ovld __cnfn get_image_width(read_only image1d_t);15708int __ovld __cnfn get_image_width(read_only image1d_buffer_t);15709int __ovld __cnfn get_image_width(read_only image2d_t);15710int __ovld __cnfn get_image_width(read_only image3d_t);15711int __ovld __cnfn get_image_width(read_only image1d_array_t);15712int __ovld __cnfn get_image_width(read_only image2d_array_t);15713#ifdef cl_khr_depth_images15714int __ovld __cnfn get_image_width(read_only image2d_depth_t);15715int __ovld __cnfn get_image_width(read_only image2d_array_depth_t);15716#endif //cl_khr_depth_images15717#if defined(cl_khr_gl_msaa_sharing)15718int __ovld __cnfn get_image_width(read_only image2d_msaa_t);15719int __ovld __cnfn get_image_width(read_only image2d_msaa_depth_t);15720int __ovld __cnfn get_image_width(read_only image2d_array_msaa_t);15721int __ovld __cnfn get_image_width(read_only image2d_array_msaa_depth_t);15722#endif //cl_khr_gl_msaa_sharing15723 15724int __ovld __cnfn get_image_width(write_only image1d_t);15725int __ovld __cnfn get_image_width(write_only image1d_buffer_t);15726int __ovld __cnfn get_image_width(write_only image2d_t);15727#ifdef cl_khr_3d_image_writes15728int __ovld __cnfn get_image_width(write_only image3d_t);15729#endif15730int __ovld __cnfn get_image_width(write_only image1d_array_t);15731int __ovld __cnfn get_image_width(write_only image2d_array_t);15732#ifdef cl_khr_depth_images15733int __ovld __cnfn get_image_width(write_only image2d_depth_t);15734int __ovld __cnfn get_image_width(write_only image2d_array_depth_t);15735#endif //cl_khr_depth_images15736#if defined(cl_khr_gl_msaa_sharing)15737int __ovld __cnfn get_image_width(write_only image2d_msaa_t);15738int __ovld __cnfn get_image_width(write_only image2d_msaa_depth_t);15739int __ovld __cnfn get_image_width(write_only image2d_array_msaa_t);15740int __ovld __cnfn get_image_width(write_only image2d_array_msaa_depth_t);15741#endif //cl_khr_gl_msaa_sharing15742 15743#if defined(__opencl_c_read_write_images)15744int __ovld __cnfn get_image_width(read_write image1d_t);15745int __ovld __cnfn get_image_width(read_write image1d_buffer_t);15746int __ovld __cnfn get_image_width(read_write image2d_t);15747#ifdef cl_khr_3d_image_writes15748int __ovld __cnfn get_image_width(read_write image3d_t);15749#endif // cl_khr_3d_image_writes15750int __ovld __cnfn get_image_width(read_write image1d_array_t);15751int __ovld __cnfn get_image_width(read_write image2d_array_t);15752#ifdef cl_khr_depth_images15753int __ovld __cnfn get_image_width(read_write image2d_depth_t);15754int __ovld __cnfn get_image_width(read_write image2d_array_depth_t);15755#endif //cl_khr_depth_images15756#if defined(cl_khr_gl_msaa_sharing)15757int __ovld __cnfn get_image_width(read_write image2d_msaa_t);15758int __ovld __cnfn get_image_width(read_write image2d_msaa_depth_t);15759int __ovld __cnfn get_image_width(read_write image2d_array_msaa_t);15760int __ovld __cnfn get_image_width(read_write image2d_array_msaa_depth_t);15761#endif //cl_khr_gl_msaa_sharing15762#endif //defined(__opencl_c_read_write_images)15763 15764/**15765 * Return the image height in pixels.15766 */15767int __ovld __cnfn get_image_height(read_only image2d_t);15768int __ovld __cnfn get_image_height(read_only image3d_t);15769int __ovld __cnfn get_image_height(read_only image2d_array_t);15770#ifdef cl_khr_depth_images15771int __ovld __cnfn get_image_height(read_only image2d_depth_t);15772int __ovld __cnfn get_image_height(read_only image2d_array_depth_t);15773#endif //cl_khr_depth_images15774#if defined(cl_khr_gl_msaa_sharing)15775int __ovld __cnfn get_image_height(read_only image2d_msaa_t);15776int __ovld __cnfn get_image_height(read_only image2d_msaa_depth_t);15777int __ovld __cnfn get_image_height(read_only image2d_array_msaa_t);15778int __ovld __cnfn get_image_height(read_only image2d_array_msaa_depth_t);15779#endif //cl_khr_gl_msaa_sharing15780 15781int __ovld __cnfn get_image_height(write_only image2d_t);15782#ifdef cl_khr_3d_image_writes15783int __ovld __cnfn get_image_height(write_only image3d_t);15784#endif15785int __ovld __cnfn get_image_height(write_only image2d_array_t);15786#ifdef cl_khr_depth_images15787int __ovld __cnfn get_image_height(write_only image2d_depth_t);15788int __ovld __cnfn get_image_height(write_only image2d_array_depth_t);15789#endif //cl_khr_depth_images15790#if defined(cl_khr_gl_msaa_sharing)15791int __ovld __cnfn get_image_height(write_only image2d_msaa_t);15792int __ovld __cnfn get_image_height(write_only image2d_msaa_depth_t);15793int __ovld __cnfn get_image_height(write_only image2d_array_msaa_t);15794int __ovld __cnfn get_image_height(write_only image2d_array_msaa_depth_t);15795#endif //cl_khr_gl_msaa_sharing15796 15797#if defined(__opencl_c_read_write_images)15798int __ovld __cnfn get_image_height(read_write image2d_t);15799#ifdef cl_khr_3d_image_writes15800int __ovld __cnfn get_image_height(read_write image3d_t);15801#endif // cl_khr_3d_image_writes15802int __ovld __cnfn get_image_height(read_write image2d_array_t);15803#ifdef cl_khr_depth_images15804int __ovld __cnfn get_image_height(read_write image2d_depth_t);15805int __ovld __cnfn get_image_height(read_write image2d_array_depth_t);15806#endif //cl_khr_depth_images15807#if defined(cl_khr_gl_msaa_sharing)15808int __ovld __cnfn get_image_height(read_write image2d_msaa_t);15809int __ovld __cnfn get_image_height(read_write image2d_msaa_depth_t);15810int __ovld __cnfn get_image_height(read_write image2d_array_msaa_t);15811int __ovld __cnfn get_image_height(read_write image2d_array_msaa_depth_t);15812#endif //cl_khr_gl_msaa_sharing15813#endif //defined(__opencl_c_read_write_images)15814 15815/**15816 * Return the image depth in pixels.15817 */15818int __ovld __cnfn get_image_depth(read_only image3d_t);15819 15820#ifdef cl_khr_3d_image_writes15821int __ovld __cnfn get_image_depth(write_only image3d_t);15822 15823#if defined(__opencl_c_read_write_images)15824int __ovld __cnfn get_image_depth(read_write image3d_t);15825#endif //defined(__opencl_c_read_write_images)15826#endif // cl_khr_3d_image_writes15827 15828// OpenCL Extension v2.0 s9.18 - Mipmaps15829#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)15830#ifdef cl_khr_mipmap_image15831/**15832 * Return the image miplevels.15833 */15834 15835int __ovld get_image_num_mip_levels(read_only image1d_t);15836int __ovld get_image_num_mip_levels(read_only image2d_t);15837int __ovld get_image_num_mip_levels(read_only image3d_t);15838 15839int __ovld get_image_num_mip_levels(write_only image1d_t);15840int __ovld get_image_num_mip_levels(write_only image2d_t);15841#ifdef cl_khr_3d_image_writes15842int __ovld get_image_num_mip_levels(write_only image3d_t);15843#endif15844 15845#if defined(__opencl_c_read_write_images)15846int __ovld get_image_num_mip_levels(read_write image1d_t);15847int __ovld get_image_num_mip_levels(read_write image2d_t);15848#ifdef cl_khr_3d_image_writes15849int __ovld get_image_num_mip_levels(read_write image3d_t);15850#endif // cl_khr_3d_image_writes15851#endif //defined(__opencl_c_read_write_images)15852 15853int __ovld get_image_num_mip_levels(read_only image1d_array_t);15854int __ovld get_image_num_mip_levels(read_only image2d_array_t);15855#ifdef cl_khr_depth_images15856int __ovld get_image_num_mip_levels(read_only image2d_array_depth_t);15857int __ovld get_image_num_mip_levels(read_only image2d_depth_t);15858#endif // cl_khr_depth_images15859 15860int __ovld get_image_num_mip_levels(write_only image1d_array_t);15861int __ovld get_image_num_mip_levels(write_only image2d_array_t);15862#ifdef cl_khr_depth_images15863int __ovld get_image_num_mip_levels(write_only image2d_array_depth_t);15864int __ovld get_image_num_mip_levels(write_only image2d_depth_t);15865#endif // cl_khr_depth_images15866 15867#if defined(__opencl_c_read_write_images)15868int __ovld get_image_num_mip_levels(read_write image1d_array_t);15869int __ovld get_image_num_mip_levels(read_write image2d_array_t);15870#ifdef cl_khr_depth_images15871int __ovld get_image_num_mip_levels(read_write image2d_array_depth_t);15872int __ovld get_image_num_mip_levels(read_write image2d_depth_t);15873#endif // cl_khr_depth_images15874#endif //defined(__opencl_c_read_write_images)15875 15876#endif //cl_khr_mipmap_image15877#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)15878 15879/**15880 * Return the channel data type. Valid values are:15881 * CLK_SNORM_INT815882 * CLK_SNORM_INT1615883 * CLK_UNORM_INT815884 * CLK_UNORM_INT1615885 * CLK_UNORM_SHORT_56515886 * CLK_UNORM_SHORT_55515887 * CLK_UNORM_SHORT_10101015888 * CLK_SIGNED_INT815889 * CLK_SIGNED_INT1615890 * CLK_SIGNED_INT3215891 * CLK_UNSIGNED_INT815892 * CLK_UNSIGNED_INT1615893 * CLK_UNSIGNED_INT3215894 * CLK_HALF_FLOAT15895 * CLK_FLOAT15896 */15897 15898int __ovld __cnfn get_image_channel_data_type(read_only image1d_t);15899int __ovld __cnfn get_image_channel_data_type(read_only image1d_buffer_t);15900int __ovld __cnfn get_image_channel_data_type(read_only image2d_t);15901int __ovld __cnfn get_image_channel_data_type(read_only image3d_t);15902int __ovld __cnfn get_image_channel_data_type(read_only image1d_array_t);15903int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_t);15904#ifdef cl_khr_depth_images15905int __ovld __cnfn get_image_channel_data_type(read_only image2d_depth_t);15906int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_depth_t);15907#endif //cl_khr_depth_images15908#if defined(cl_khr_gl_msaa_sharing)15909int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_t);15910int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_depth_t);15911int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_t);15912int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_depth_t);15913#endif //cl_khr_gl_msaa_sharing15914 15915int __ovld __cnfn get_image_channel_data_type(write_only image1d_t);15916int __ovld __cnfn get_image_channel_data_type(write_only image1d_buffer_t);15917int __ovld __cnfn get_image_channel_data_type(write_only image2d_t);15918#ifdef cl_khr_3d_image_writes15919int __ovld __cnfn get_image_channel_data_type(write_only image3d_t);15920#endif15921int __ovld __cnfn get_image_channel_data_type(write_only image1d_array_t);15922int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_t);15923#ifdef cl_khr_depth_images15924int __ovld __cnfn get_image_channel_data_type(write_only image2d_depth_t);15925int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_depth_t);15926#endif //cl_khr_depth_images15927#if defined(cl_khr_gl_msaa_sharing)15928int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_t);15929int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_depth_t);15930int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_t);15931int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_depth_t);15932#endif //cl_khr_gl_msaa_sharing15933 15934#if defined(__opencl_c_read_write_images)15935int __ovld __cnfn get_image_channel_data_type(read_write image1d_t);15936int __ovld __cnfn get_image_channel_data_type(read_write image1d_buffer_t);15937int __ovld __cnfn get_image_channel_data_type(read_write image2d_t);15938#ifdef cl_khr_3d_image_writes15939int __ovld __cnfn get_image_channel_data_type(read_write image3d_t);15940#endif // cl_khr_3d_image_writes15941int __ovld __cnfn get_image_channel_data_type(read_write image1d_array_t);15942int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_t);15943#ifdef cl_khr_depth_images15944int __ovld __cnfn get_image_channel_data_type(read_write image2d_depth_t);15945int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_depth_t);15946#endif //cl_khr_depth_images15947#if defined(cl_khr_gl_msaa_sharing)15948int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_t);15949int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_depth_t);15950int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_t);15951int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_depth_t);15952#endif //cl_khr_gl_msaa_sharing15953#endif //defined(__opencl_c_read_write_images)15954 15955/**15956 * Return the image channel order. Valid values are:15957 * CLK_A15958 * CLK_R15959 * CLK_Rx15960 * CLK_RG15961 * CLK_RGx15962 * CLK_RA15963 * CLK_RGB15964 * CLK_RGBx15965 * CLK_RGBA15966 * CLK_ARGB15967 * CLK_BGRA15968 * CLK_INTENSITY15969 * CLK_LUMINANCE15970 */15971 15972int __ovld __cnfn get_image_channel_order(read_only image1d_t);15973int __ovld __cnfn get_image_channel_order(read_only image1d_buffer_t);15974int __ovld __cnfn get_image_channel_order(read_only image2d_t);15975int __ovld __cnfn get_image_channel_order(read_only image3d_t);15976int __ovld __cnfn get_image_channel_order(read_only image1d_array_t);15977int __ovld __cnfn get_image_channel_order(read_only image2d_array_t);15978#ifdef cl_khr_depth_images15979int __ovld __cnfn get_image_channel_order(read_only image2d_depth_t);15980int __ovld __cnfn get_image_channel_order(read_only image2d_array_depth_t);15981#endif //cl_khr_depth_images15982#if defined(cl_khr_gl_msaa_sharing)15983int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_t);15984int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_depth_t);15985int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_t);15986int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_depth_t);15987#endif //cl_khr_gl_msaa_sharing15988 15989int __ovld __cnfn get_image_channel_order(write_only image1d_t);15990int __ovld __cnfn get_image_channel_order(write_only image1d_buffer_t);15991int __ovld __cnfn get_image_channel_order(write_only image2d_t);15992#ifdef cl_khr_3d_image_writes15993int __ovld __cnfn get_image_channel_order(write_only image3d_t);15994#endif15995int __ovld __cnfn get_image_channel_order(write_only image1d_array_t);15996int __ovld __cnfn get_image_channel_order(write_only image2d_array_t);15997#ifdef cl_khr_depth_images15998int __ovld __cnfn get_image_channel_order(write_only image2d_depth_t);15999int __ovld __cnfn get_image_channel_order(write_only image2d_array_depth_t);16000#endif //cl_khr_depth_images16001#if defined(cl_khr_gl_msaa_sharing)16002int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_t);16003int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_depth_t);16004int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_t);16005int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_depth_t);16006#endif //cl_khr_gl_msaa_sharing16007 16008#if defined(__opencl_c_read_write_images)16009int __ovld __cnfn get_image_channel_order(read_write image1d_t);16010int __ovld __cnfn get_image_channel_order(read_write image1d_buffer_t);16011int __ovld __cnfn get_image_channel_order(read_write image2d_t);16012#ifdef cl_khr_3d_image_writes16013int __ovld __cnfn get_image_channel_order(read_write image3d_t);16014#endif // cl_khr_3d_image_writes16015int __ovld __cnfn get_image_channel_order(read_write image1d_array_t);16016int __ovld __cnfn get_image_channel_order(read_write image2d_array_t);16017#ifdef cl_khr_depth_images16018int __ovld __cnfn get_image_channel_order(read_write image2d_depth_t);16019int __ovld __cnfn get_image_channel_order(read_write image2d_array_depth_t);16020#endif //cl_khr_depth_images16021#if defined(cl_khr_gl_msaa_sharing)16022int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_t);16023int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_depth_t);16024int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_t);16025int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_depth_t);16026#endif //cl_khr_gl_msaa_sharing16027#endif //defined(__opencl_c_read_write_images)16028 16029/**16030 * Return the 2D image width and height as an int216031 * type. The width is returned in the x component, and16032 * the height in the y component.16033 */16034int2 __ovld __cnfn get_image_dim(read_only image2d_t);16035int2 __ovld __cnfn get_image_dim(read_only image2d_array_t);16036#ifdef cl_khr_depth_images16037int2 __ovld __cnfn get_image_dim(read_only image2d_array_depth_t);16038int2 __ovld __cnfn get_image_dim(read_only image2d_depth_t);16039#endif //cl_khr_depth_images16040#if defined(cl_khr_gl_msaa_sharing)16041int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_t);16042int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_depth_t);16043int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_t);16044int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_depth_t);16045#endif //cl_khr_gl_msaa_sharing16046 16047int2 __ovld __cnfn get_image_dim(write_only image2d_t);16048int2 __ovld __cnfn get_image_dim(write_only image2d_array_t);16049#ifdef cl_khr_depth_images16050int2 __ovld __cnfn get_image_dim(write_only image2d_array_depth_t);16051int2 __ovld __cnfn get_image_dim(write_only image2d_depth_t);16052#endif //cl_khr_depth_images16053#if defined(cl_khr_gl_msaa_sharing)16054int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_t);16055int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_depth_t);16056int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_t);16057int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_depth_t);16058#endif //cl_khr_gl_msaa_sharing16059 16060#if defined(__opencl_c_read_write_images)16061int2 __ovld __cnfn get_image_dim(read_write image2d_t);16062int2 __ovld __cnfn get_image_dim(read_write image2d_array_t);16063#ifdef cl_khr_depth_images16064int2 __ovld __cnfn get_image_dim(read_write image2d_array_depth_t);16065int2 __ovld __cnfn get_image_dim(read_write image2d_depth_t);16066#endif //cl_khr_depth_images16067#if defined(cl_khr_gl_msaa_sharing)16068int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_t);16069int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_depth_t);16070int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_t);16071int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_depth_t);16072#endif //cl_khr_gl_msaa_sharing16073#endif //defined(__opencl_c_read_write_images)16074 16075/**16076 * Return the 3D image width, height, and depth as an16077 * int4 type. The width is returned in the x16078 * component, height in the y component, depth in the z16079 * component and the w component is 0.16080 */16081int4 __ovld __cnfn get_image_dim(read_only image3d_t);16082#ifdef cl_khr_3d_image_writes16083int4 __ovld __cnfn get_image_dim(write_only image3d_t);16084#if defined(__opencl_c_read_write_images)16085int4 __ovld __cnfn get_image_dim(read_write image3d_t);16086#endif //defined(__opencl_c_read_write_images)16087#endif // cl_khr_3d_image_writes16088 16089/**16090 * Return the image array size.16091 */16092 16093size_t __ovld __cnfn get_image_array_size(read_only image1d_array_t);16094size_t __ovld __cnfn get_image_array_size(read_only image2d_array_t);16095#ifdef cl_khr_depth_images16096size_t __ovld __cnfn get_image_array_size(read_only image2d_array_depth_t);16097#endif //cl_khr_depth_images16098#if defined(cl_khr_gl_msaa_sharing)16099size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_t);16100size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_depth_t);16101#endif //cl_khr_gl_msaa_sharing16102 16103size_t __ovld __cnfn get_image_array_size(write_only image1d_array_t);16104size_t __ovld __cnfn get_image_array_size(write_only image2d_array_t);16105#ifdef cl_khr_depth_images16106size_t __ovld __cnfn get_image_array_size(write_only image2d_array_depth_t);16107#endif //cl_khr_depth_images16108#if defined(cl_khr_gl_msaa_sharing)16109size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_t);16110size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_depth_t);16111#endif //cl_khr_gl_msaa_sharing16112 16113#if defined(__opencl_c_read_write_images)16114size_t __ovld __cnfn get_image_array_size(read_write image1d_array_t);16115size_t __ovld __cnfn get_image_array_size(read_write image2d_array_t);16116#ifdef cl_khr_depth_images16117size_t __ovld __cnfn get_image_array_size(read_write image2d_array_depth_t);16118#endif //cl_khr_depth_images16119#if defined(cl_khr_gl_msaa_sharing)16120size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_t);16121size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_depth_t);16122#endif //cl_khr_gl_msaa_sharing16123#endif //defined(__opencl_c_read_write_images)16124 16125/**16126* Return the number of samples associated with image16127*/16128#if defined(cl_khr_gl_msaa_sharing)16129int __ovld __cnfn get_image_num_samples(read_only image2d_msaa_t);16130int __ovld __cnfn get_image_num_samples(read_only image2d_msaa_depth_t);16131int __ovld __cnfn get_image_num_samples(read_only image2d_array_msaa_t);16132int __ovld __cnfn get_image_num_samples(read_only image2d_array_msaa_depth_t);16133 16134int __ovld __cnfn get_image_num_samples(write_only image2d_msaa_t);16135int __ovld __cnfn get_image_num_samples(write_only image2d_msaa_depth_t);16136int __ovld __cnfn get_image_num_samples(write_only image2d_array_msaa_t);16137int __ovld __cnfn get_image_num_samples(write_only image2d_array_msaa_depth_t);16138 16139#if defined(__opencl_c_read_write_images)16140int __ovld __cnfn get_image_num_samples(read_write image2d_msaa_t);16141int __ovld __cnfn get_image_num_samples(read_write image2d_msaa_depth_t);16142int __ovld __cnfn get_image_num_samples(read_write image2d_array_msaa_t);16143int __ovld __cnfn get_image_num_samples(read_write image2d_array_msaa_depth_t);16144#endif //defined(__opencl_c_read_write_images)16145#endif16146 16147#endif // (defined(__opencl_c_images) || defined(__IMAGE_SUPPORT__))16148 16149// OpenCL v2.0 s6.13.15 - Work-group Functions16150 16151#if defined(__opencl_c_work_group_collective_functions)16152int __ovld __conv work_group_all(int predicate);16153int __ovld __conv work_group_any(int predicate);16154 16155#ifdef cl_khr_fp1616156half __ovld __conv work_group_broadcast(half, size_t local_id);16157half __ovld __conv work_group_broadcast(half, size_t, size_t);16158half __ovld __conv work_group_broadcast(half, size_t, size_t, size_t);16159#endif16160int __ovld __conv work_group_broadcast(int, size_t local_id);16161int __ovld __conv work_group_broadcast(int, size_t, size_t);16162int __ovld __conv work_group_broadcast(int, size_t, size_t, size_t);16163uint __ovld __conv work_group_broadcast(uint, size_t local_id);16164uint __ovld __conv work_group_broadcast(uint, size_t, size_t);16165uint __ovld __conv work_group_broadcast(uint, size_t, size_t, size_t);16166long __ovld __conv work_group_broadcast(long, size_t local_id);16167long __ovld __conv work_group_broadcast(long, size_t, size_t);16168long __ovld __conv work_group_broadcast(long, size_t, size_t, size_t);16169ulong __ovld __conv work_group_broadcast(ulong, size_t local_id);16170ulong __ovld __conv work_group_broadcast(ulong, size_t, size_t);16171ulong __ovld __conv work_group_broadcast(ulong, size_t, size_t, size_t);16172float __ovld __conv work_group_broadcast(float, size_t local_id);16173float __ovld __conv work_group_broadcast(float, size_t, size_t);16174float __ovld __conv work_group_broadcast(float, size_t, size_t, size_t);16175#ifdef cl_khr_fp6416176double __ovld __conv work_group_broadcast(double, size_t local_id);16177double __ovld __conv work_group_broadcast(double, size_t, size_t);16178double __ovld __conv work_group_broadcast(double, size_t, size_t, size_t);16179#endif //cl_khr_fp6416180 16181#ifdef cl_khr_fp1616182half __ovld __conv work_group_reduce_add(half);16183half __ovld __conv work_group_reduce_min(half);16184half __ovld __conv work_group_reduce_max(half);16185half __ovld __conv work_group_scan_exclusive_add(half);16186half __ovld __conv work_group_scan_exclusive_min(half);16187half __ovld __conv work_group_scan_exclusive_max(half);16188half __ovld __conv work_group_scan_inclusive_add(half);16189half __ovld __conv work_group_scan_inclusive_min(half);16190half __ovld __conv work_group_scan_inclusive_max(half);16191#endif16192int __ovld __conv work_group_reduce_add(int);16193int __ovld __conv work_group_reduce_min(int);16194int __ovld __conv work_group_reduce_max(int);16195int __ovld __conv work_group_scan_exclusive_add(int);16196int __ovld __conv work_group_scan_exclusive_min(int);16197int __ovld __conv work_group_scan_exclusive_max(int);16198int __ovld __conv work_group_scan_inclusive_add(int);16199int __ovld __conv work_group_scan_inclusive_min(int);16200int __ovld __conv work_group_scan_inclusive_max(int);16201uint __ovld __conv work_group_reduce_add(uint);16202uint __ovld __conv work_group_reduce_min(uint);16203uint __ovld __conv work_group_reduce_max(uint);16204uint __ovld __conv work_group_scan_exclusive_add(uint);16205uint __ovld __conv work_group_scan_exclusive_min(uint);16206uint __ovld __conv work_group_scan_exclusive_max(uint);16207uint __ovld __conv work_group_scan_inclusive_add(uint);16208uint __ovld __conv work_group_scan_inclusive_min(uint);16209uint __ovld __conv work_group_scan_inclusive_max(uint);16210long __ovld __conv work_group_reduce_add(long);16211long __ovld __conv work_group_reduce_min(long);16212long __ovld __conv work_group_reduce_max(long);16213long __ovld __conv work_group_scan_exclusive_add(long);16214long __ovld __conv work_group_scan_exclusive_min(long);16215long __ovld __conv work_group_scan_exclusive_max(long);16216long __ovld __conv work_group_scan_inclusive_add(long);16217long __ovld __conv work_group_scan_inclusive_min(long);16218long __ovld __conv work_group_scan_inclusive_max(long);16219ulong __ovld __conv work_group_reduce_add(ulong);16220ulong __ovld __conv work_group_reduce_min(ulong);16221ulong __ovld __conv work_group_reduce_max(ulong);16222ulong __ovld __conv work_group_scan_exclusive_add(ulong);16223ulong __ovld __conv work_group_scan_exclusive_min(ulong);16224ulong __ovld __conv work_group_scan_exclusive_max(ulong);16225ulong __ovld __conv work_group_scan_inclusive_add(ulong);16226ulong __ovld __conv work_group_scan_inclusive_min(ulong);16227ulong __ovld __conv work_group_scan_inclusive_max(ulong);16228float __ovld __conv work_group_reduce_add(float);16229float __ovld __conv work_group_reduce_min(float);16230float __ovld __conv work_group_reduce_max(float);16231float __ovld __conv work_group_scan_exclusive_add(float);16232float __ovld __conv work_group_scan_exclusive_min(float);16233float __ovld __conv work_group_scan_exclusive_max(float);16234float __ovld __conv work_group_scan_inclusive_add(float);16235float __ovld __conv work_group_scan_inclusive_min(float);16236float __ovld __conv work_group_scan_inclusive_max(float);16237#ifdef cl_khr_fp6416238double __ovld __conv work_group_reduce_add(double);16239double __ovld __conv work_group_reduce_min(double);16240double __ovld __conv work_group_reduce_max(double);16241double __ovld __conv work_group_scan_exclusive_add(double);16242double __ovld __conv work_group_scan_exclusive_min(double);16243double __ovld __conv work_group_scan_exclusive_max(double);16244double __ovld __conv work_group_scan_inclusive_add(double);16245double __ovld __conv work_group_scan_inclusive_min(double);16246double __ovld __conv work_group_scan_inclusive_max(double);16247#endif //cl_khr_fp6416248 16249#endif //defined(__opencl_c_work_group_collective_functions)16250 16251// OpenCL v2.0 s6.13.16 - Pipe Functions16252#if defined(__opencl_c_pipes)16253bool __ovld is_valid_reserve_id(reserve_id_t reserve_id);16254#endif //defined(__opencl_c_pipes)16255 16256 16257// OpenCL v2.0 s6.13.17 - Enqueue Kernels16258#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)16259 16260#ifdef __opencl_c_device_enqueue16261ndrange_t __ovld ndrange_1D(size_t);16262ndrange_t __ovld ndrange_1D(size_t, size_t);16263ndrange_t __ovld ndrange_1D(size_t, size_t, size_t);16264 16265ndrange_t __ovld ndrange_2D(const size_t[2]);16266ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2]);16267ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2], const size_t[2]);16268 16269ndrange_t __ovld ndrange_3D(const size_t[3]);16270ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3]);16271ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3], const size_t[3]);16272 16273int __ovld enqueue_marker(queue_t, uint, const clk_event_t*, clk_event_t*);16274 16275void __ovld retain_event(clk_event_t);16276 16277void __ovld release_event(clk_event_t);16278 16279clk_event_t __ovld create_user_event(void);16280 16281void __ovld set_user_event_status(clk_event_t e, int state);16282 16283bool __ovld is_valid_event (clk_event_t event);16284 16285void __ovld capture_event_profiling_info(clk_event_t, clk_profiling_info, __global void*);16286 16287queue_t __ovld get_default_queue(void);16288#endif //__opencl_c_device_enqueue16289#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)16290 16291// OpenCL Extension v2.0 s9.17 - Sub-groups16292 16293#if defined(__opencl_subgroup_builtins)16294// Shared Sub Group Functions16295uint __ovld get_sub_group_size(void);16296uint __ovld get_max_sub_group_size(void);16297uint __ovld get_num_sub_groups(void);16298#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)16299uint __ovld get_enqueued_num_sub_groups(void);16300#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)16301uint __ovld get_sub_group_id(void);16302uint __ovld get_sub_group_local_id(void);16303 16304void __ovld __conv sub_group_barrier(cl_mem_fence_flags);16305#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)16306void __ovld __conv sub_group_barrier(cl_mem_fence_flags, memory_scope);16307#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)16308 16309int __ovld __conv sub_group_all(int predicate);16310int __ovld __conv sub_group_any(int predicate);16311 16312int __ovld __conv sub_group_broadcast(int , uint sub_group_local_id);16313uint __ovld __conv sub_group_broadcast(uint , uint sub_group_local_id);16314long __ovld __conv sub_group_broadcast(long , uint sub_group_local_id);16315ulong __ovld __conv sub_group_broadcast(ulong, uint sub_group_local_id);16316float __ovld __conv sub_group_broadcast(float, uint sub_group_local_id);16317 16318int __ovld __conv sub_group_reduce_add(int );16319uint __ovld __conv sub_group_reduce_add(uint );16320long __ovld __conv sub_group_reduce_add(long );16321ulong __ovld __conv sub_group_reduce_add(ulong);16322float __ovld __conv sub_group_reduce_add(float);16323int __ovld __conv sub_group_reduce_min(int );16324uint __ovld __conv sub_group_reduce_min(uint );16325long __ovld __conv sub_group_reduce_min(long );16326ulong __ovld __conv sub_group_reduce_min(ulong);16327float __ovld __conv sub_group_reduce_min(float);16328int __ovld __conv sub_group_reduce_max(int );16329uint __ovld __conv sub_group_reduce_max(uint );16330long __ovld __conv sub_group_reduce_max(long );16331ulong __ovld __conv sub_group_reduce_max(ulong);16332float __ovld __conv sub_group_reduce_max(float);16333 16334int __ovld __conv sub_group_scan_exclusive_add(int );16335uint __ovld __conv sub_group_scan_exclusive_add(uint );16336long __ovld __conv sub_group_scan_exclusive_add(long );16337ulong __ovld __conv sub_group_scan_exclusive_add(ulong);16338float __ovld __conv sub_group_scan_exclusive_add(float);16339int __ovld __conv sub_group_scan_exclusive_min(int );16340uint __ovld __conv sub_group_scan_exclusive_min(uint );16341long __ovld __conv sub_group_scan_exclusive_min(long );16342ulong __ovld __conv sub_group_scan_exclusive_min(ulong);16343float __ovld __conv sub_group_scan_exclusive_min(float);16344int __ovld __conv sub_group_scan_exclusive_max(int );16345uint __ovld __conv sub_group_scan_exclusive_max(uint );16346long __ovld __conv sub_group_scan_exclusive_max(long );16347ulong __ovld __conv sub_group_scan_exclusive_max(ulong);16348float __ovld __conv sub_group_scan_exclusive_max(float);16349 16350int __ovld __conv sub_group_scan_inclusive_add(int );16351uint __ovld __conv sub_group_scan_inclusive_add(uint );16352long __ovld __conv sub_group_scan_inclusive_add(long );16353ulong __ovld __conv sub_group_scan_inclusive_add(ulong);16354float __ovld __conv sub_group_scan_inclusive_add(float);16355int __ovld __conv sub_group_scan_inclusive_min(int );16356uint __ovld __conv sub_group_scan_inclusive_min(uint );16357long __ovld __conv sub_group_scan_inclusive_min(long );16358ulong __ovld __conv sub_group_scan_inclusive_min(ulong);16359float __ovld __conv sub_group_scan_inclusive_min(float);16360int __ovld __conv sub_group_scan_inclusive_max(int );16361uint __ovld __conv sub_group_scan_inclusive_max(uint );16362long __ovld __conv sub_group_scan_inclusive_max(long );16363ulong __ovld __conv sub_group_scan_inclusive_max(ulong);16364float __ovld __conv sub_group_scan_inclusive_max(float);16365 16366#ifdef cl_khr_fp1616367half __ovld __conv sub_group_broadcast(half, uint sub_group_local_id);16368half __ovld __conv sub_group_reduce_add(half);16369half __ovld __conv sub_group_reduce_min(half);16370half __ovld __conv sub_group_reduce_max(half);16371half __ovld __conv sub_group_scan_exclusive_add(half);16372half __ovld __conv sub_group_scan_exclusive_min(half);16373half __ovld __conv sub_group_scan_exclusive_max(half);16374half __ovld __conv sub_group_scan_inclusive_add(half);16375half __ovld __conv sub_group_scan_inclusive_min(half);16376half __ovld __conv sub_group_scan_inclusive_max(half);16377#endif //cl_khr_fp1616378 16379#ifdef cl_khr_fp6416380double __ovld __conv sub_group_broadcast(double, uint sub_group_local_id);16381double __ovld __conv sub_group_reduce_add(double);16382double __ovld __conv sub_group_reduce_min(double);16383double __ovld __conv sub_group_reduce_max(double);16384double __ovld __conv sub_group_scan_exclusive_add(double);16385double __ovld __conv sub_group_scan_exclusive_min(double);16386double __ovld __conv sub_group_scan_exclusive_max(double);16387double __ovld __conv sub_group_scan_inclusive_add(double);16388double __ovld __conv sub_group_scan_inclusive_min(double);16389double __ovld __conv sub_group_scan_inclusive_max(double);16390#endif //cl_khr_fp6416391 16392#endif // __opencl_subgroup_builtins16393 16394#if defined(cl_khr_subgroup_extended_types)16395char __ovld __conv sub_group_broadcast( char value, uint index );16396char2 __ovld __conv sub_group_broadcast( char2 value, uint index );16397char3 __ovld __conv sub_group_broadcast( char3 value, uint index );16398char4 __ovld __conv sub_group_broadcast( char4 value, uint index );16399char8 __ovld __conv sub_group_broadcast( char8 value, uint index );16400char16 __ovld __conv sub_group_broadcast( char16 value, uint index );16401 16402uchar __ovld __conv sub_group_broadcast( uchar value, uint index );16403uchar2 __ovld __conv sub_group_broadcast( uchar2 value, uint index );16404uchar3 __ovld __conv sub_group_broadcast( uchar3 value, uint index );16405uchar4 __ovld __conv sub_group_broadcast( uchar4 value, uint index );16406uchar8 __ovld __conv sub_group_broadcast( uchar8 value, uint index );16407uchar16 __ovld __conv sub_group_broadcast( uchar16 value, uint index );16408 16409short __ovld __conv sub_group_broadcast( short value, uint index );16410short2 __ovld __conv sub_group_broadcast( short2 value, uint index );16411short3 __ovld __conv sub_group_broadcast( short3 value, uint index );16412short4 __ovld __conv sub_group_broadcast( short4 value, uint index );16413short8 __ovld __conv sub_group_broadcast( short8 value, uint index );16414short16 __ovld __conv sub_group_broadcast( short16 value, uint index );16415 16416ushort __ovld __conv sub_group_broadcast( ushort value, uint index );16417ushort2 __ovld __conv sub_group_broadcast( ushort2 value, uint index );16418ushort3 __ovld __conv sub_group_broadcast( ushort3 value, uint index );16419ushort4 __ovld __conv sub_group_broadcast( ushort4 value, uint index );16420ushort8 __ovld __conv sub_group_broadcast( ushort8 value, uint index );16421ushort16 __ovld __conv sub_group_broadcast( ushort16 value, uint index );16422 16423// scalar int broadcast is part of cl_khr_subgroups16424int2 __ovld __conv sub_group_broadcast( int2 value, uint index );16425int3 __ovld __conv sub_group_broadcast( int3 value, uint index );16426int4 __ovld __conv sub_group_broadcast( int4 value, uint index );16427int8 __ovld __conv sub_group_broadcast( int8 value, uint index );16428int16 __ovld __conv sub_group_broadcast( int16 value, uint index );16429 16430// scalar uint broadcast is part of cl_khr_subgroups16431uint2 __ovld __conv sub_group_broadcast( uint2 value, uint index );16432uint3 __ovld __conv sub_group_broadcast( uint3 value, uint index );16433uint4 __ovld __conv sub_group_broadcast( uint4 value, uint index );16434uint8 __ovld __conv sub_group_broadcast( uint8 value, uint index );16435uint16 __ovld __conv sub_group_broadcast( uint16 value, uint index );16436 16437// scalar long broadcast is part of cl_khr_subgroups16438long2 __ovld __conv sub_group_broadcast( long2 value, uint index );16439long3 __ovld __conv sub_group_broadcast( long3 value, uint index );16440long4 __ovld __conv sub_group_broadcast( long4 value, uint index );16441long8 __ovld __conv sub_group_broadcast( long8 value, uint index );16442long16 __ovld __conv sub_group_broadcast( long16 value, uint index );16443 16444// scalar ulong broadcast is part of cl_khr_subgroups16445ulong2 __ovld __conv sub_group_broadcast( ulong2 value, uint index );16446ulong3 __ovld __conv sub_group_broadcast( ulong3 value, uint index );16447ulong4 __ovld __conv sub_group_broadcast( ulong4 value, uint index );16448ulong8 __ovld __conv sub_group_broadcast( ulong8 value, uint index );16449ulong16 __ovld __conv sub_group_broadcast( ulong16 value, uint index );16450 16451// scalar float broadcast is part of cl_khr_subgroups16452float2 __ovld __conv sub_group_broadcast( float2 value, uint index );16453float3 __ovld __conv sub_group_broadcast( float3 value, uint index );16454float4 __ovld __conv sub_group_broadcast( float4 value, uint index );16455float8 __ovld __conv sub_group_broadcast( float8 value, uint index );16456float16 __ovld __conv sub_group_broadcast( float16 value, uint index );16457 16458char __ovld __conv sub_group_reduce_add( char value );16459uchar __ovld __conv sub_group_reduce_add( uchar value );16460short __ovld __conv sub_group_reduce_add( short value );16461ushort __ovld __conv sub_group_reduce_add( ushort value );16462 16463char __ovld __conv sub_group_reduce_min( char value );16464uchar __ovld __conv sub_group_reduce_min( uchar value );16465short __ovld __conv sub_group_reduce_min( short value );16466ushort __ovld __conv sub_group_reduce_min( ushort value );16467 16468char __ovld __conv sub_group_reduce_max( char value );16469uchar __ovld __conv sub_group_reduce_max( uchar value );16470short __ovld __conv sub_group_reduce_max( short value );16471ushort __ovld __conv sub_group_reduce_max( ushort value );16472 16473char __ovld __conv sub_group_scan_inclusive_add( char value );16474uchar __ovld __conv sub_group_scan_inclusive_add( uchar value );16475short __ovld __conv sub_group_scan_inclusive_add( short value );16476ushort __ovld __conv sub_group_scan_inclusive_add( ushort value );16477 16478char __ovld __conv sub_group_scan_inclusive_min( char value );16479uchar __ovld __conv sub_group_scan_inclusive_min( uchar value );16480short __ovld __conv sub_group_scan_inclusive_min( short value );16481ushort __ovld __conv sub_group_scan_inclusive_min( ushort value );16482 16483char __ovld __conv sub_group_scan_inclusive_max( char value );16484uchar __ovld __conv sub_group_scan_inclusive_max( uchar value );16485short __ovld __conv sub_group_scan_inclusive_max( short value );16486ushort __ovld __conv sub_group_scan_inclusive_max( ushort value );16487 16488char __ovld __conv sub_group_scan_exclusive_add( char value );16489uchar __ovld __conv sub_group_scan_exclusive_add( uchar value );16490short __ovld __conv sub_group_scan_exclusive_add( short value );16491ushort __ovld __conv sub_group_scan_exclusive_add( ushort value );16492 16493char __ovld __conv sub_group_scan_exclusive_min( char value );16494uchar __ovld __conv sub_group_scan_exclusive_min( uchar value );16495short __ovld __conv sub_group_scan_exclusive_min( short value );16496ushort __ovld __conv sub_group_scan_exclusive_min( ushort value );16497 16498char __ovld __conv sub_group_scan_exclusive_max( char value );16499uchar __ovld __conv sub_group_scan_exclusive_max( uchar value );16500short __ovld __conv sub_group_scan_exclusive_max( short value );16501ushort __ovld __conv sub_group_scan_exclusive_max( ushort value );16502 16503#if defined(cl_khr_fp16)16504// scalar half broadcast is part of cl_khr_subgroups16505half2 __ovld __conv sub_group_broadcast( half2 value, uint index );16506half3 __ovld __conv sub_group_broadcast( half3 value, uint index );16507half4 __ovld __conv sub_group_broadcast( half4 value, uint index );16508half8 __ovld __conv sub_group_broadcast( half8 value, uint index );16509half16 __ovld __conv sub_group_broadcast( half16 value, uint index );16510#endif // cl_khr_fp1616511 16512#if defined(cl_khr_fp64)16513// scalar double broadcast is part of cl_khr_subgroups16514double2 __ovld __conv sub_group_broadcast( double2 value, uint index );16515double3 __ovld __conv sub_group_broadcast( double3 value, uint index );16516double4 __ovld __conv sub_group_broadcast( double4 value, uint index );16517double8 __ovld __conv sub_group_broadcast( double8 value, uint index );16518double16 __ovld __conv sub_group_broadcast( double16 value, uint index );16519#endif // cl_khr_fp6416520 16521#endif // cl_khr_subgroup_extended_types16522 16523#if defined(cl_khr_subgroup_non_uniform_vote)16524int __ovld sub_group_elect(void);16525int __ovld sub_group_non_uniform_all( int predicate );16526int __ovld sub_group_non_uniform_any( int predicate );16527 16528int __ovld sub_group_non_uniform_all_equal( char value );16529int __ovld sub_group_non_uniform_all_equal( uchar value );16530int __ovld sub_group_non_uniform_all_equal( short value );16531int __ovld sub_group_non_uniform_all_equal( ushort value );16532int __ovld sub_group_non_uniform_all_equal( int value );16533int __ovld sub_group_non_uniform_all_equal( uint value );16534int __ovld sub_group_non_uniform_all_equal( long value );16535int __ovld sub_group_non_uniform_all_equal( ulong value );16536int __ovld sub_group_non_uniform_all_equal( float value );16537 16538#if defined(cl_khr_fp16)16539int __ovld sub_group_non_uniform_all_equal( half value );16540#endif // cl_khr_fp1616541 16542#if defined(cl_khr_fp64)16543int __ovld sub_group_non_uniform_all_equal( double value );16544#endif // cl_khr_fp6416545 16546#endif // cl_khr_subgroup_non_uniform_vote16547 16548#if defined(cl_khr_subgroup_ballot)16549char __ovld sub_group_non_uniform_broadcast( char value, uint index );16550char2 __ovld sub_group_non_uniform_broadcast( char2 value, uint index );16551char3 __ovld sub_group_non_uniform_broadcast( char3 value, uint index );16552char4 __ovld sub_group_non_uniform_broadcast( char4 value, uint index );16553char8 __ovld sub_group_non_uniform_broadcast( char8 value, uint index );16554char16 __ovld sub_group_non_uniform_broadcast( char16 value, uint index );16555 16556uchar __ovld sub_group_non_uniform_broadcast( uchar value, uint index );16557uchar2 __ovld sub_group_non_uniform_broadcast( uchar2 value, uint index );16558uchar3 __ovld sub_group_non_uniform_broadcast( uchar3 value, uint index );16559uchar4 __ovld sub_group_non_uniform_broadcast( uchar4 value, uint index );16560uchar8 __ovld sub_group_non_uniform_broadcast( uchar8 value, uint index );16561uchar16 __ovld sub_group_non_uniform_broadcast( uchar16 value, uint index );16562 16563short __ovld sub_group_non_uniform_broadcast( short value, uint index );16564short2 __ovld sub_group_non_uniform_broadcast( short2 value, uint index );16565short3 __ovld sub_group_non_uniform_broadcast( short3 value, uint index );16566short4 __ovld sub_group_non_uniform_broadcast( short4 value, uint index );16567short8 __ovld sub_group_non_uniform_broadcast( short8 value, uint index );16568short16 __ovld sub_group_non_uniform_broadcast( short16 value, uint index );16569 16570ushort __ovld sub_group_non_uniform_broadcast( ushort value, uint index );16571ushort2 __ovld sub_group_non_uniform_broadcast( ushort2 value, uint index );16572ushort3 __ovld sub_group_non_uniform_broadcast( ushort3 value, uint index );16573ushort4 __ovld sub_group_non_uniform_broadcast( ushort4 value, uint index );16574ushort8 __ovld sub_group_non_uniform_broadcast( ushort8 value, uint index );16575ushort16 __ovld sub_group_non_uniform_broadcast( ushort16 value, uint index );16576 16577int __ovld sub_group_non_uniform_broadcast( int value, uint index );16578int2 __ovld sub_group_non_uniform_broadcast( int2 value, uint index );16579int3 __ovld sub_group_non_uniform_broadcast( int3 value, uint index );16580int4 __ovld sub_group_non_uniform_broadcast( int4 value, uint index );16581int8 __ovld sub_group_non_uniform_broadcast( int8 value, uint index );16582int16 __ovld sub_group_non_uniform_broadcast( int16 value, uint index );16583 16584uint __ovld sub_group_non_uniform_broadcast( uint value, uint index );16585uint2 __ovld sub_group_non_uniform_broadcast( uint2 value, uint index );16586uint3 __ovld sub_group_non_uniform_broadcast( uint3 value, uint index );16587uint4 __ovld sub_group_non_uniform_broadcast( uint4 value, uint index );16588uint8 __ovld sub_group_non_uniform_broadcast( uint8 value, uint index );16589uint16 __ovld sub_group_non_uniform_broadcast( uint16 value, uint index );16590 16591long __ovld sub_group_non_uniform_broadcast( long value, uint index );16592long2 __ovld sub_group_non_uniform_broadcast( long2 value, uint index );16593long3 __ovld sub_group_non_uniform_broadcast( long3 value, uint index );16594long4 __ovld sub_group_non_uniform_broadcast( long4 value, uint index );16595long8 __ovld sub_group_non_uniform_broadcast( long8 value, uint index );16596long16 __ovld sub_group_non_uniform_broadcast( long16 value, uint index );16597 16598ulong __ovld sub_group_non_uniform_broadcast( ulong value, uint index );16599ulong2 __ovld sub_group_non_uniform_broadcast( ulong2 value, uint index );16600ulong3 __ovld sub_group_non_uniform_broadcast( ulong3 value, uint index );16601ulong4 __ovld sub_group_non_uniform_broadcast( ulong4 value, uint index );16602ulong8 __ovld sub_group_non_uniform_broadcast( ulong8 value, uint index );16603ulong16 __ovld sub_group_non_uniform_broadcast( ulong16 value, uint index );16604 16605float __ovld sub_group_non_uniform_broadcast( float value, uint index );16606float2 __ovld sub_group_non_uniform_broadcast( float2 value, uint index );16607float3 __ovld sub_group_non_uniform_broadcast( float3 value, uint index );16608float4 __ovld sub_group_non_uniform_broadcast( float4 value, uint index );16609float8 __ovld sub_group_non_uniform_broadcast( float8 value, uint index );16610float16 __ovld sub_group_non_uniform_broadcast( float16 value, uint index );16611 16612char __ovld sub_group_broadcast_first( char value );16613uchar __ovld sub_group_broadcast_first( uchar value );16614short __ovld sub_group_broadcast_first( short value );16615ushort __ovld sub_group_broadcast_first( ushort value );16616int __ovld sub_group_broadcast_first( int value );16617uint __ovld sub_group_broadcast_first( uint value );16618long __ovld sub_group_broadcast_first( long value );16619ulong __ovld sub_group_broadcast_first( ulong value );16620float __ovld sub_group_broadcast_first( float value );16621 16622uint4 __ovld sub_group_ballot( int predicate );16623int __ovld __cnfn sub_group_inverse_ballot( uint4 value );16624int __ovld __cnfn sub_group_ballot_bit_extract( uint4 value, uint index );16625uint __ovld __cnfn sub_group_ballot_bit_count( uint4 value );16626 16627uint __ovld sub_group_ballot_inclusive_scan( uint4 value );16628uint __ovld sub_group_ballot_exclusive_scan( uint4 value );16629uint __ovld sub_group_ballot_find_lsb( uint4 value );16630uint __ovld sub_group_ballot_find_msb( uint4 value );16631 16632uint4 __ovld __cnfn get_sub_group_eq_mask(void);16633uint4 __ovld __cnfn get_sub_group_ge_mask(void);16634uint4 __ovld __cnfn get_sub_group_gt_mask(void);16635uint4 __ovld __cnfn get_sub_group_le_mask(void);16636uint4 __ovld __cnfn get_sub_group_lt_mask(void);16637 16638#if defined(cl_khr_fp16)16639half __ovld sub_group_non_uniform_broadcast( half value, uint index );16640half2 __ovld sub_group_non_uniform_broadcast( half2 value, uint index );16641half3 __ovld sub_group_non_uniform_broadcast( half3 value, uint index );16642half4 __ovld sub_group_non_uniform_broadcast( half4 value, uint index );16643half8 __ovld sub_group_non_uniform_broadcast( half8 value, uint index );16644half16 __ovld sub_group_non_uniform_broadcast( half16 value, uint index );16645 16646half __ovld sub_group_broadcast_first( half value );16647#endif // cl_khr_fp1616648 16649#if defined(cl_khr_fp64)16650double __ovld sub_group_non_uniform_broadcast( double value, uint index );16651double2 __ovld sub_group_non_uniform_broadcast( double2 value, uint index );16652double3 __ovld sub_group_non_uniform_broadcast( double3 value, uint index );16653double4 __ovld sub_group_non_uniform_broadcast( double4 value, uint index );16654double8 __ovld sub_group_non_uniform_broadcast( double8 value, uint index );16655double16 __ovld sub_group_non_uniform_broadcast( double16 value, uint index );16656 16657double __ovld sub_group_broadcast_first( double value );16658#endif // cl_khr_fp6416659 16660#endif // cl_khr_subgroup_ballot16661 16662#if defined(cl_khr_subgroup_non_uniform_arithmetic)16663char __ovld sub_group_non_uniform_reduce_add( char value );16664uchar __ovld sub_group_non_uniform_reduce_add( uchar value );16665short __ovld sub_group_non_uniform_reduce_add( short value );16666ushort __ovld sub_group_non_uniform_reduce_add( ushort value );16667int __ovld sub_group_non_uniform_reduce_add( int value );16668uint __ovld sub_group_non_uniform_reduce_add( uint value );16669long __ovld sub_group_non_uniform_reduce_add( long value );16670ulong __ovld sub_group_non_uniform_reduce_add( ulong value );16671float __ovld sub_group_non_uniform_reduce_add( float value );16672 16673char __ovld sub_group_non_uniform_reduce_mul( char value );16674uchar __ovld sub_group_non_uniform_reduce_mul( uchar value );16675short __ovld sub_group_non_uniform_reduce_mul( short value );16676ushort __ovld sub_group_non_uniform_reduce_mul( ushort value );16677int __ovld sub_group_non_uniform_reduce_mul( int value );16678uint __ovld sub_group_non_uniform_reduce_mul( uint value );16679long __ovld sub_group_non_uniform_reduce_mul( long value );16680ulong __ovld sub_group_non_uniform_reduce_mul( ulong value );16681float __ovld sub_group_non_uniform_reduce_mul( float value );16682 16683char __ovld sub_group_non_uniform_reduce_min( char value );16684uchar __ovld sub_group_non_uniform_reduce_min( uchar value );16685short __ovld sub_group_non_uniform_reduce_min( short value );16686ushort __ovld sub_group_non_uniform_reduce_min( ushort value );16687int __ovld sub_group_non_uniform_reduce_min( int value );16688uint __ovld sub_group_non_uniform_reduce_min( uint value );16689long __ovld sub_group_non_uniform_reduce_min( long value );16690ulong __ovld sub_group_non_uniform_reduce_min( ulong value );16691float __ovld sub_group_non_uniform_reduce_min( float value );16692 16693char __ovld sub_group_non_uniform_reduce_max( char value );16694uchar __ovld sub_group_non_uniform_reduce_max( uchar value );16695short __ovld sub_group_non_uniform_reduce_max( short value );16696ushort __ovld sub_group_non_uniform_reduce_max( ushort value );16697int __ovld sub_group_non_uniform_reduce_max( int value );16698uint __ovld sub_group_non_uniform_reduce_max( uint value );16699long __ovld sub_group_non_uniform_reduce_max( long value );16700ulong __ovld sub_group_non_uniform_reduce_max( ulong value );16701float __ovld sub_group_non_uniform_reduce_max( float value );16702 16703char __ovld sub_group_non_uniform_scan_inclusive_add( char value );16704uchar __ovld sub_group_non_uniform_scan_inclusive_add( uchar value );16705short __ovld sub_group_non_uniform_scan_inclusive_add( short value );16706ushort __ovld sub_group_non_uniform_scan_inclusive_add( ushort value );16707int __ovld sub_group_non_uniform_scan_inclusive_add( int value );16708uint __ovld sub_group_non_uniform_scan_inclusive_add( uint value );16709long __ovld sub_group_non_uniform_scan_inclusive_add( long value );16710ulong __ovld sub_group_non_uniform_scan_inclusive_add( ulong value );16711float __ovld sub_group_non_uniform_scan_inclusive_add( float value );16712 16713char __ovld sub_group_non_uniform_scan_inclusive_mul( char value );16714uchar __ovld sub_group_non_uniform_scan_inclusive_mul( uchar value );16715short __ovld sub_group_non_uniform_scan_inclusive_mul( short value );16716ushort __ovld sub_group_non_uniform_scan_inclusive_mul( ushort value );16717int __ovld sub_group_non_uniform_scan_inclusive_mul( int value );16718uint __ovld sub_group_non_uniform_scan_inclusive_mul( uint value );16719long __ovld sub_group_non_uniform_scan_inclusive_mul( long value );16720ulong __ovld sub_group_non_uniform_scan_inclusive_mul( ulong value );16721float __ovld sub_group_non_uniform_scan_inclusive_mul( float value );16722 16723char __ovld sub_group_non_uniform_scan_inclusive_min( char value );16724uchar __ovld sub_group_non_uniform_scan_inclusive_min( uchar value );16725short __ovld sub_group_non_uniform_scan_inclusive_min( short value );16726ushort __ovld sub_group_non_uniform_scan_inclusive_min( ushort value );16727int __ovld sub_group_non_uniform_scan_inclusive_min( int value );16728uint __ovld sub_group_non_uniform_scan_inclusive_min( uint value );16729long __ovld sub_group_non_uniform_scan_inclusive_min( long value );16730ulong __ovld sub_group_non_uniform_scan_inclusive_min( ulong value );16731float __ovld sub_group_non_uniform_scan_inclusive_min( float value );16732 16733char __ovld sub_group_non_uniform_scan_inclusive_max( char value );16734uchar __ovld sub_group_non_uniform_scan_inclusive_max( uchar value );16735short __ovld sub_group_non_uniform_scan_inclusive_max( short value );16736ushort __ovld sub_group_non_uniform_scan_inclusive_max( ushort value );16737int __ovld sub_group_non_uniform_scan_inclusive_max( int value );16738uint __ovld sub_group_non_uniform_scan_inclusive_max( uint value );16739long __ovld sub_group_non_uniform_scan_inclusive_max( long value );16740ulong __ovld sub_group_non_uniform_scan_inclusive_max( ulong value );16741float __ovld sub_group_non_uniform_scan_inclusive_max( float value );16742 16743char __ovld sub_group_non_uniform_scan_exclusive_add( char value );16744uchar __ovld sub_group_non_uniform_scan_exclusive_add( uchar value );16745short __ovld sub_group_non_uniform_scan_exclusive_add( short value );16746ushort __ovld sub_group_non_uniform_scan_exclusive_add( ushort value );16747int __ovld sub_group_non_uniform_scan_exclusive_add( int value );16748uint __ovld sub_group_non_uniform_scan_exclusive_add( uint value );16749long __ovld sub_group_non_uniform_scan_exclusive_add( long value );16750ulong __ovld sub_group_non_uniform_scan_exclusive_add( ulong value );16751float __ovld sub_group_non_uniform_scan_exclusive_add( float value );16752 16753char __ovld sub_group_non_uniform_scan_exclusive_mul( char value );16754uchar __ovld sub_group_non_uniform_scan_exclusive_mul( uchar value );16755short __ovld sub_group_non_uniform_scan_exclusive_mul( short value );16756ushort __ovld sub_group_non_uniform_scan_exclusive_mul( ushort value );16757int __ovld sub_group_non_uniform_scan_exclusive_mul( int value );16758uint __ovld sub_group_non_uniform_scan_exclusive_mul( uint value );16759long __ovld sub_group_non_uniform_scan_exclusive_mul( long value );16760ulong __ovld sub_group_non_uniform_scan_exclusive_mul( ulong value );16761float __ovld sub_group_non_uniform_scan_exclusive_mul( float value );16762 16763char __ovld sub_group_non_uniform_scan_exclusive_min( char value );16764uchar __ovld sub_group_non_uniform_scan_exclusive_min( uchar value );16765short __ovld sub_group_non_uniform_scan_exclusive_min( short value );16766ushort __ovld sub_group_non_uniform_scan_exclusive_min( ushort value );16767int __ovld sub_group_non_uniform_scan_exclusive_min( int value );16768uint __ovld sub_group_non_uniform_scan_exclusive_min( uint value );16769long __ovld sub_group_non_uniform_scan_exclusive_min( long value );16770ulong __ovld sub_group_non_uniform_scan_exclusive_min( ulong value );16771float __ovld sub_group_non_uniform_scan_exclusive_min( float value );16772 16773char __ovld sub_group_non_uniform_scan_exclusive_max( char value );16774uchar __ovld sub_group_non_uniform_scan_exclusive_max( uchar value );16775short __ovld sub_group_non_uniform_scan_exclusive_max( short value );16776ushort __ovld sub_group_non_uniform_scan_exclusive_max( ushort value );16777int __ovld sub_group_non_uniform_scan_exclusive_max( int value );16778uint __ovld sub_group_non_uniform_scan_exclusive_max( uint value );16779long __ovld sub_group_non_uniform_scan_exclusive_max( long value );16780ulong __ovld sub_group_non_uniform_scan_exclusive_max( ulong value );16781float __ovld sub_group_non_uniform_scan_exclusive_max( float value );16782 16783char __ovld sub_group_non_uniform_reduce_and( char value );16784uchar __ovld sub_group_non_uniform_reduce_and( uchar value );16785short __ovld sub_group_non_uniform_reduce_and( short value );16786ushort __ovld sub_group_non_uniform_reduce_and( ushort value );16787int __ovld sub_group_non_uniform_reduce_and( int value );16788uint __ovld sub_group_non_uniform_reduce_and( uint value );16789long __ovld sub_group_non_uniform_reduce_and( long value );16790ulong __ovld sub_group_non_uniform_reduce_and( ulong value );16791 16792char __ovld sub_group_non_uniform_reduce_or( char value );16793uchar __ovld sub_group_non_uniform_reduce_or( uchar value );16794short __ovld sub_group_non_uniform_reduce_or( short value );16795ushort __ovld sub_group_non_uniform_reduce_or( ushort value );16796int __ovld sub_group_non_uniform_reduce_or( int value );16797uint __ovld sub_group_non_uniform_reduce_or( uint value );16798long __ovld sub_group_non_uniform_reduce_or( long value );16799ulong __ovld sub_group_non_uniform_reduce_or( ulong value );16800 16801char __ovld sub_group_non_uniform_reduce_xor( char value );16802uchar __ovld sub_group_non_uniform_reduce_xor( uchar value );16803short __ovld sub_group_non_uniform_reduce_xor( short value );16804ushort __ovld sub_group_non_uniform_reduce_xor( ushort value );16805int __ovld sub_group_non_uniform_reduce_xor( int value );16806uint __ovld sub_group_non_uniform_reduce_xor( uint value );16807long __ovld sub_group_non_uniform_reduce_xor( long value );16808ulong __ovld sub_group_non_uniform_reduce_xor( ulong value );16809 16810char __ovld sub_group_non_uniform_scan_inclusive_and( char value );16811uchar __ovld sub_group_non_uniform_scan_inclusive_and( uchar value );16812short __ovld sub_group_non_uniform_scan_inclusive_and( short value );16813ushort __ovld sub_group_non_uniform_scan_inclusive_and( ushort value );16814int __ovld sub_group_non_uniform_scan_inclusive_and( int value );16815uint __ovld sub_group_non_uniform_scan_inclusive_and( uint value );16816long __ovld sub_group_non_uniform_scan_inclusive_and( long value );16817ulong __ovld sub_group_non_uniform_scan_inclusive_and( ulong value );16818 16819char __ovld sub_group_non_uniform_scan_inclusive_or( char value );16820uchar __ovld sub_group_non_uniform_scan_inclusive_or( uchar value );16821short __ovld sub_group_non_uniform_scan_inclusive_or( short value );16822ushort __ovld sub_group_non_uniform_scan_inclusive_or( ushort value );16823int __ovld sub_group_non_uniform_scan_inclusive_or( int value );16824uint __ovld sub_group_non_uniform_scan_inclusive_or( uint value );16825long __ovld sub_group_non_uniform_scan_inclusive_or( long value );16826ulong __ovld sub_group_non_uniform_scan_inclusive_or( ulong value );16827 16828char __ovld sub_group_non_uniform_scan_inclusive_xor( char value );16829uchar __ovld sub_group_non_uniform_scan_inclusive_xor( uchar value );16830short __ovld sub_group_non_uniform_scan_inclusive_xor( short value );16831ushort __ovld sub_group_non_uniform_scan_inclusive_xor( ushort value );16832int __ovld sub_group_non_uniform_scan_inclusive_xor( int value );16833uint __ovld sub_group_non_uniform_scan_inclusive_xor( uint value );16834long __ovld sub_group_non_uniform_scan_inclusive_xor( long value );16835ulong __ovld sub_group_non_uniform_scan_inclusive_xor( ulong value );16836 16837char __ovld sub_group_non_uniform_scan_exclusive_and( char value );16838uchar __ovld sub_group_non_uniform_scan_exclusive_and( uchar value );16839short __ovld sub_group_non_uniform_scan_exclusive_and( short value );16840ushort __ovld sub_group_non_uniform_scan_exclusive_and( ushort value );16841int __ovld sub_group_non_uniform_scan_exclusive_and( int value );16842uint __ovld sub_group_non_uniform_scan_exclusive_and( uint value );16843long __ovld sub_group_non_uniform_scan_exclusive_and( long value );16844ulong __ovld sub_group_non_uniform_scan_exclusive_and( ulong value );16845 16846char __ovld sub_group_non_uniform_scan_exclusive_or( char value );16847uchar __ovld sub_group_non_uniform_scan_exclusive_or( uchar value );16848short __ovld sub_group_non_uniform_scan_exclusive_or( short value );16849ushort __ovld sub_group_non_uniform_scan_exclusive_or( ushort value );16850int __ovld sub_group_non_uniform_scan_exclusive_or( int value );16851uint __ovld sub_group_non_uniform_scan_exclusive_or( uint value );16852long __ovld sub_group_non_uniform_scan_exclusive_or( long value );16853ulong __ovld sub_group_non_uniform_scan_exclusive_or( ulong value );16854 16855char __ovld sub_group_non_uniform_scan_exclusive_xor( char value );16856uchar __ovld sub_group_non_uniform_scan_exclusive_xor( uchar value );16857short __ovld sub_group_non_uniform_scan_exclusive_xor( short value );16858ushort __ovld sub_group_non_uniform_scan_exclusive_xor( ushort value );16859int __ovld sub_group_non_uniform_scan_exclusive_xor( int value );16860uint __ovld sub_group_non_uniform_scan_exclusive_xor( uint value );16861long __ovld sub_group_non_uniform_scan_exclusive_xor( long value );16862ulong __ovld sub_group_non_uniform_scan_exclusive_xor( ulong value );16863 16864int __ovld sub_group_non_uniform_reduce_logical_and( int predicate );16865int __ovld sub_group_non_uniform_reduce_logical_or( int predicate );16866int __ovld sub_group_non_uniform_reduce_logical_xor( int predicate );16867 16868int __ovld sub_group_non_uniform_scan_inclusive_logical_and( int predicate );16869int __ovld sub_group_non_uniform_scan_inclusive_logical_or( int predicate );16870int __ovld sub_group_non_uniform_scan_inclusive_logical_xor( int predicate );16871 16872int __ovld sub_group_non_uniform_scan_exclusive_logical_and( int predicate );16873int __ovld sub_group_non_uniform_scan_exclusive_logical_or( int predicate );16874int __ovld sub_group_non_uniform_scan_exclusive_logical_xor( int predicate );16875 16876#if defined(cl_khr_fp16)16877half __ovld sub_group_non_uniform_reduce_add( half value );16878half __ovld sub_group_non_uniform_reduce_mul( half value );16879half __ovld sub_group_non_uniform_reduce_min( half value );16880half __ovld sub_group_non_uniform_reduce_max( half value );16881half __ovld sub_group_non_uniform_scan_inclusive_add( half value );16882half __ovld sub_group_non_uniform_scan_inclusive_mul( half value );16883half __ovld sub_group_non_uniform_scan_inclusive_min( half value );16884half __ovld sub_group_non_uniform_scan_inclusive_max( half value );16885half __ovld sub_group_non_uniform_scan_exclusive_add( half value );16886half __ovld sub_group_non_uniform_scan_exclusive_mul( half value );16887half __ovld sub_group_non_uniform_scan_exclusive_min( half value );16888half __ovld sub_group_non_uniform_scan_exclusive_max( half value );16889#endif // cl_khr_fp1616890 16891#if defined(cl_khr_fp64)16892double __ovld sub_group_non_uniform_reduce_add( double value );16893double __ovld sub_group_non_uniform_reduce_mul( double value );16894double __ovld sub_group_non_uniform_reduce_min( double value );16895double __ovld sub_group_non_uniform_reduce_max( double value );16896double __ovld sub_group_non_uniform_scan_inclusive_add( double value );16897double __ovld sub_group_non_uniform_scan_inclusive_mul( double value );16898double __ovld sub_group_non_uniform_scan_inclusive_min( double value );16899double __ovld sub_group_non_uniform_scan_inclusive_max( double value );16900double __ovld sub_group_non_uniform_scan_exclusive_add( double value );16901double __ovld sub_group_non_uniform_scan_exclusive_mul( double value );16902double __ovld sub_group_non_uniform_scan_exclusive_min( double value );16903double __ovld sub_group_non_uniform_scan_exclusive_max( double value );16904#endif // cl_khr_fp6416905 16906#endif // cl_khr_subgroup_non_uniform_arithmetic16907 16908#if defined(cl_khr_subgroup_shuffle)16909char __ovld sub_group_shuffle( char value, uint index );16910uchar __ovld sub_group_shuffle( uchar value, uint index );16911short __ovld sub_group_shuffle( short value, uint index );16912ushort __ovld sub_group_shuffle( ushort value, uint index );16913int __ovld sub_group_shuffle( int value, uint index );16914uint __ovld sub_group_shuffle( uint value, uint index );16915long __ovld sub_group_shuffle( long value, uint index );16916ulong __ovld sub_group_shuffle( ulong value, uint index );16917float __ovld sub_group_shuffle( float value, uint index );16918 16919char __ovld sub_group_shuffle_xor( char value, uint mask );16920uchar __ovld sub_group_shuffle_xor( uchar value, uint mask );16921short __ovld sub_group_shuffle_xor( short value, uint mask );16922ushort __ovld sub_group_shuffle_xor( ushort value, uint mask );16923int __ovld sub_group_shuffle_xor( int value, uint mask );16924uint __ovld sub_group_shuffle_xor( uint value, uint mask );16925long __ovld sub_group_shuffle_xor( long value, uint mask );16926ulong __ovld sub_group_shuffle_xor( ulong value, uint mask );16927float __ovld sub_group_shuffle_xor( float value, uint mask );16928 16929#if defined(cl_khr_fp16)16930half __ovld sub_group_shuffle( half value, uint index );16931half __ovld sub_group_shuffle_xor( half value, uint mask );16932#endif // cl_khr_fp1616933 16934#if defined(cl_khr_fp64)16935double __ovld sub_group_shuffle( double value, uint index );16936double __ovld sub_group_shuffle_xor( double value, uint mask );16937#endif // cl_khr_fp6416938 16939#endif // cl_khr_subgroup_shuffle16940 16941#if defined(cl_khr_subgroup_shuffle_relative)16942char __ovld sub_group_shuffle_up( char value, uint delta );16943uchar __ovld sub_group_shuffle_up( uchar value, uint delta );16944short __ovld sub_group_shuffle_up( short value, uint delta );16945ushort __ovld sub_group_shuffle_up( ushort value, uint delta );16946int __ovld sub_group_shuffle_up( int value, uint delta );16947uint __ovld sub_group_shuffle_up( uint value, uint delta );16948long __ovld sub_group_shuffle_up( long value, uint delta );16949ulong __ovld sub_group_shuffle_up( ulong value, uint delta );16950float __ovld sub_group_shuffle_up( float value, uint delta );16951 16952char __ovld sub_group_shuffle_down( char value, uint delta );16953uchar __ovld sub_group_shuffle_down( uchar value, uint delta );16954short __ovld sub_group_shuffle_down( short value, uint delta );16955ushort __ovld sub_group_shuffle_down( ushort value, uint delta );16956int __ovld sub_group_shuffle_down( int value, uint delta );16957uint __ovld sub_group_shuffle_down( uint value, uint delta );16958long __ovld sub_group_shuffle_down( long value, uint delta );16959ulong __ovld sub_group_shuffle_down( ulong value, uint delta );16960float __ovld sub_group_shuffle_down( float value, uint delta );16961 16962#if defined(cl_khr_fp16)16963half __ovld sub_group_shuffle_up( half value, uint delta );16964half __ovld sub_group_shuffle_down( half value, uint delta );16965#endif // cl_khr_fp1616966 16967#if defined(cl_khr_fp64)16968double __ovld sub_group_shuffle_up( double value, uint delta );16969double __ovld sub_group_shuffle_down( double value, uint delta );16970#endif // cl_khr_fp6416971 16972#endif // cl_khr_subgroup_shuffle_relative16973 16974#if defined(cl_khr_subgroup_clustered_reduce)16975char __ovld sub_group_clustered_reduce_add( char value, uint clustersize );16976uchar __ovld sub_group_clustered_reduce_add( uchar value, uint clustersize );16977short __ovld sub_group_clustered_reduce_add( short value, uint clustersize );16978ushort __ovld sub_group_clustered_reduce_add( ushort value, uint clustersize );16979int __ovld sub_group_clustered_reduce_add( int value, uint clustersize );16980uint __ovld sub_group_clustered_reduce_add( uint value, uint clustersize );16981long __ovld sub_group_clustered_reduce_add( long value, uint clustersize );16982ulong __ovld sub_group_clustered_reduce_add( ulong value, uint clustersize );16983float __ovld sub_group_clustered_reduce_add( float value, uint clustersize );16984 16985char __ovld sub_group_clustered_reduce_mul( char value, uint clustersize );16986uchar __ovld sub_group_clustered_reduce_mul( uchar value, uint clustersize );16987short __ovld sub_group_clustered_reduce_mul( short value, uint clustersize );16988ushort __ovld sub_group_clustered_reduce_mul( ushort value, uint clustersize );16989int __ovld sub_group_clustered_reduce_mul( int value, uint clustersize );16990uint __ovld sub_group_clustered_reduce_mul( uint value, uint clustersize );16991long __ovld sub_group_clustered_reduce_mul( long value, uint clustersize );16992ulong __ovld sub_group_clustered_reduce_mul( ulong value, uint clustersize );16993float __ovld sub_group_clustered_reduce_mul( float value, uint clustersize );16994 16995char __ovld sub_group_clustered_reduce_min( char value, uint clustersize );16996uchar __ovld sub_group_clustered_reduce_min( uchar value, uint clustersize );16997short __ovld sub_group_clustered_reduce_min( short value, uint clustersize );16998ushort __ovld sub_group_clustered_reduce_min( ushort value, uint clustersize );16999int __ovld sub_group_clustered_reduce_min( int value, uint clustersize );17000uint __ovld sub_group_clustered_reduce_min( uint value, uint clustersize );17001long __ovld sub_group_clustered_reduce_min( long value, uint clustersize );17002ulong __ovld sub_group_clustered_reduce_min( ulong value, uint clustersize );17003float __ovld sub_group_clustered_reduce_min( float value, uint clustersize );17004 17005char __ovld sub_group_clustered_reduce_max( char value, uint clustersize );17006uchar __ovld sub_group_clustered_reduce_max( uchar value, uint clustersize );17007short __ovld sub_group_clustered_reduce_max( short value, uint clustersize );17008ushort __ovld sub_group_clustered_reduce_max( ushort value, uint clustersize );17009int __ovld sub_group_clustered_reduce_max( int value, uint clustersize );17010uint __ovld sub_group_clustered_reduce_max( uint value, uint clustersize );17011long __ovld sub_group_clustered_reduce_max( long value, uint clustersize );17012ulong __ovld sub_group_clustered_reduce_max( ulong value, uint clustersize );17013float __ovld sub_group_clustered_reduce_max( float value, uint clustersize );17014 17015char __ovld sub_group_clustered_reduce_and( char value, uint clustersize );17016uchar __ovld sub_group_clustered_reduce_and( uchar value, uint clustersize );17017short __ovld sub_group_clustered_reduce_and( short value, uint clustersize );17018ushort __ovld sub_group_clustered_reduce_and( ushort value, uint clustersize );17019int __ovld sub_group_clustered_reduce_and( int value, uint clustersize );17020uint __ovld sub_group_clustered_reduce_and( uint value, uint clustersize );17021long __ovld sub_group_clustered_reduce_and( long value, uint clustersize );17022ulong __ovld sub_group_clustered_reduce_and( ulong value, uint clustersize );17023 17024char __ovld sub_group_clustered_reduce_or( char value, uint clustersize );17025uchar __ovld sub_group_clustered_reduce_or( uchar value, uint clustersize );17026short __ovld sub_group_clustered_reduce_or( short value, uint clustersize );17027ushort __ovld sub_group_clustered_reduce_or( ushort value, uint clustersize );17028int __ovld sub_group_clustered_reduce_or( int value, uint clustersize );17029uint __ovld sub_group_clustered_reduce_or( uint value, uint clustersize );17030long __ovld sub_group_clustered_reduce_or( long value, uint clustersize );17031ulong __ovld sub_group_clustered_reduce_or( ulong value, uint clustersize );17032 17033char __ovld sub_group_clustered_reduce_xor( char value, uint clustersize );17034uchar __ovld sub_group_clustered_reduce_xor( uchar value, uint clustersize );17035short __ovld sub_group_clustered_reduce_xor( short value, uint clustersize );17036ushort __ovld sub_group_clustered_reduce_xor( ushort value, uint clustersize );17037int __ovld sub_group_clustered_reduce_xor( int value, uint clustersize );17038uint __ovld sub_group_clustered_reduce_xor( uint value, uint clustersize );17039long __ovld sub_group_clustered_reduce_xor( long value, uint clustersize );17040ulong __ovld sub_group_clustered_reduce_xor( ulong value, uint clustersize );17041 17042int __ovld sub_group_clustered_reduce_logical_and( int predicate, uint clustersize );17043int __ovld sub_group_clustered_reduce_logical_or( int predicate, uint clustersize );17044int __ovld sub_group_clustered_reduce_logical_xor( int predicate, uint clustersize );17045 17046#if defined(cl_khr_fp16)17047half __ovld sub_group_clustered_reduce_add( half value, uint clustersize );17048half __ovld sub_group_clustered_reduce_mul( half value, uint clustersize );17049half __ovld sub_group_clustered_reduce_min( half value, uint clustersize );17050half __ovld sub_group_clustered_reduce_max( half value, uint clustersize );17051#endif // cl_khr_fp1617052 17053#if defined(cl_khr_fp64)17054double __ovld sub_group_clustered_reduce_add( double value, uint clustersize );17055double __ovld sub_group_clustered_reduce_mul( double value, uint clustersize );17056double __ovld sub_group_clustered_reduce_min( double value, uint clustersize );17057double __ovld sub_group_clustered_reduce_max( double value, uint clustersize );17058#endif // cl_khr_fp6417059 17060#endif // cl_khr_subgroup_clustered_reduce17061 17062#if defined(cl_khr_extended_bit_ops)17063char __ovld __cnfn bitfield_insert(char, char, uint, uint);17064uchar __ovld __cnfn bitfield_insert(uchar, uchar, uint, uint);17065short __ovld __cnfn bitfield_insert(short, short, uint, uint);17066ushort __ovld __cnfn bitfield_insert(ushort, ushort, uint, uint);17067int __ovld __cnfn bitfield_insert(int, int, uint, uint);17068uint __ovld __cnfn bitfield_insert(uint, uint, uint, uint);17069long __ovld __cnfn bitfield_insert(long, long, uint, uint);17070ulong __ovld __cnfn bitfield_insert(ulong, ulong, uint, uint);17071char2 __ovld __cnfn bitfield_insert(char2, char2, uint, uint);17072uchar2 __ovld __cnfn bitfield_insert(uchar2, uchar2, uint, uint);17073short2 __ovld __cnfn bitfield_insert(short2, short2, uint, uint);17074ushort2 __ovld __cnfn bitfield_insert(ushort2, ushort2, uint, uint);17075int2 __ovld __cnfn bitfield_insert(int2, int2, uint, uint);17076uint2 __ovld __cnfn bitfield_insert(uint2, uint2, uint, uint);17077long2 __ovld __cnfn bitfield_insert(long2, long2, uint, uint);17078ulong2 __ovld __cnfn bitfield_insert(ulong2, ulong2, uint, uint);17079char3 __ovld __cnfn bitfield_insert(char3, char3, uint, uint);17080uchar3 __ovld __cnfn bitfield_insert(uchar3, uchar3, uint, uint);17081short3 __ovld __cnfn bitfield_insert(short3, short3, uint, uint);17082ushort3 __ovld __cnfn bitfield_insert(ushort3, ushort3, uint, uint);17083int3 __ovld __cnfn bitfield_insert(int3, int3, uint, uint);17084uint3 __ovld __cnfn bitfield_insert(uint3, uint3, uint, uint);17085long3 __ovld __cnfn bitfield_insert(long3, long3, uint, uint);17086ulong3 __ovld __cnfn bitfield_insert(ulong3, ulong3, uint, uint);17087char4 __ovld __cnfn bitfield_insert(char4, char4, uint, uint);17088uchar4 __ovld __cnfn bitfield_insert(uchar4, uchar4, uint, uint);17089short4 __ovld __cnfn bitfield_insert(short4, short4, uint, uint);17090ushort4 __ovld __cnfn bitfield_insert(ushort4, ushort4, uint, uint);17091int4 __ovld __cnfn bitfield_insert(int4, int4, uint, uint);17092uint4 __ovld __cnfn bitfield_insert(uint4, uint4, uint, uint);17093long4 __ovld __cnfn bitfield_insert(long4, long4, uint, uint);17094ulong4 __ovld __cnfn bitfield_insert(ulong4, ulong4, uint, uint);17095char8 __ovld __cnfn bitfield_insert(char8, char8, uint, uint);17096uchar8 __ovld __cnfn bitfield_insert(uchar8, uchar8, uint, uint);17097short8 __ovld __cnfn bitfield_insert(short8, short8, uint, uint);17098ushort8 __ovld __cnfn bitfield_insert(ushort8, ushort8, uint, uint);17099int8 __ovld __cnfn bitfield_insert(int8, int8, uint, uint);17100uint8 __ovld __cnfn bitfield_insert(uint8, uint8, uint, uint);17101long8 __ovld __cnfn bitfield_insert(long8, long8, uint, uint);17102ulong8 __ovld __cnfn bitfield_insert(ulong8, ulong8, uint, uint);17103char16 __ovld __cnfn bitfield_insert(char16, char16, uint, uint);17104uchar16 __ovld __cnfn bitfield_insert(uchar16, uchar16, uint, uint);17105short16 __ovld __cnfn bitfield_insert(short16, short16, uint, uint);17106ushort16 __ovld __cnfn bitfield_insert(ushort16, ushort16, uint, uint);17107int16 __ovld __cnfn bitfield_insert(int16, int16, uint, uint);17108uint16 __ovld __cnfn bitfield_insert(uint16, uint16, uint, uint);17109long16 __ovld __cnfn bitfield_insert(long16, long16, uint, uint);17110ulong16 __ovld __cnfn bitfield_insert(ulong16, ulong16, uint, uint);17111 17112char __ovld __cnfn bitfield_extract_signed(char, uint, uint);17113short __ovld __cnfn bitfield_extract_signed(short, uint, uint);17114int __ovld __cnfn bitfield_extract_signed(int, uint, uint);17115long __ovld __cnfn bitfield_extract_signed(long, uint, uint);17116char2 __ovld __cnfn bitfield_extract_signed(char2, uint, uint);17117short2 __ovld __cnfn bitfield_extract_signed(short2, uint, uint);17118int2 __ovld __cnfn bitfield_extract_signed(int2, uint, uint);17119long2 __ovld __cnfn bitfield_extract_signed(long2, uint, uint);17120char3 __ovld __cnfn bitfield_extract_signed(char3, uint, uint);17121short3 __ovld __cnfn bitfield_extract_signed(short3, uint, uint);17122int3 __ovld __cnfn bitfield_extract_signed(int3, uint, uint);17123long3 __ovld __cnfn bitfield_extract_signed(long3, uint, uint);17124char4 __ovld __cnfn bitfield_extract_signed(char4, uint, uint);17125short4 __ovld __cnfn bitfield_extract_signed(short4, uint, uint);17126int4 __ovld __cnfn bitfield_extract_signed(int4, uint, uint);17127long4 __ovld __cnfn bitfield_extract_signed(long4, uint, uint);17128char8 __ovld __cnfn bitfield_extract_signed(char8, uint, uint);17129short8 __ovld __cnfn bitfield_extract_signed(short8, uint, uint);17130int8 __ovld __cnfn bitfield_extract_signed(int8, uint, uint);17131long8 __ovld __cnfn bitfield_extract_signed(long8, uint, uint);17132char16 __ovld __cnfn bitfield_extract_signed(char16, uint, uint);17133short16 __ovld __cnfn bitfield_extract_signed(short16, uint, uint);17134int16 __ovld __cnfn bitfield_extract_signed(int16, uint, uint);17135long16 __ovld __cnfn bitfield_extract_signed(long16, uint, uint);17136 17137char __ovld __cnfn bitfield_extract_signed(uchar, uint, uint);17138short __ovld __cnfn bitfield_extract_signed(ushort, uint, uint);17139int __ovld __cnfn bitfield_extract_signed(uint, uint, uint);17140long __ovld __cnfn bitfield_extract_signed(ulong, uint, uint);17141char2 __ovld __cnfn bitfield_extract_signed(uchar2, uint, uint);17142short2 __ovld __cnfn bitfield_extract_signed(ushort2, uint, uint);17143int2 __ovld __cnfn bitfield_extract_signed(uint2, uint, uint);17144long2 __ovld __cnfn bitfield_extract_signed(ulong2, uint, uint);17145char3 __ovld __cnfn bitfield_extract_signed(uchar3, uint, uint);17146short3 __ovld __cnfn bitfield_extract_signed(ushort3, uint, uint);17147int3 __ovld __cnfn bitfield_extract_signed(uint3, uint, uint);17148long3 __ovld __cnfn bitfield_extract_signed(ulong3, uint, uint);17149char4 __ovld __cnfn bitfield_extract_signed(uchar4, uint, uint);17150short4 __ovld __cnfn bitfield_extract_signed(ushort4, uint, uint);17151int4 __ovld __cnfn bitfield_extract_signed(uint4, uint, uint);17152long4 __ovld __cnfn bitfield_extract_signed(ulong4, uint, uint);17153char8 __ovld __cnfn bitfield_extract_signed(uchar8, uint, uint);17154short8 __ovld __cnfn bitfield_extract_signed(ushort8, uint, uint);17155int8 __ovld __cnfn bitfield_extract_signed(uint8, uint, uint);17156long8 __ovld __cnfn bitfield_extract_signed(ulong8, uint, uint);17157char16 __ovld __cnfn bitfield_extract_signed(uchar16, uint, uint);17158short16 __ovld __cnfn bitfield_extract_signed(ushort16, uint, uint);17159int16 __ovld __cnfn bitfield_extract_signed(uint16, uint, uint);17160long16 __ovld __cnfn bitfield_extract_signed(ulong16, uint, uint);17161 17162uchar __ovld __cnfn bitfield_extract_unsigned(char, uint, uint);17163ushort __ovld __cnfn bitfield_extract_unsigned(short, uint, uint);17164uint __ovld __cnfn bitfield_extract_unsigned(int, uint, uint);17165ulong __ovld __cnfn bitfield_extract_unsigned(long, uint, uint);17166uchar2 __ovld __cnfn bitfield_extract_unsigned(char2, uint, uint);17167ushort2 __ovld __cnfn bitfield_extract_unsigned(short2, uint, uint);17168uint2 __ovld __cnfn bitfield_extract_unsigned(int2, uint, uint);17169ulong2 __ovld __cnfn bitfield_extract_unsigned(long2, uint, uint);17170uchar3 __ovld __cnfn bitfield_extract_unsigned(char3, uint, uint);17171ushort3 __ovld __cnfn bitfield_extract_unsigned(short3, uint, uint);17172uint3 __ovld __cnfn bitfield_extract_unsigned(int3, uint, uint);17173ulong3 __ovld __cnfn bitfield_extract_unsigned(long3, uint, uint);17174uchar4 __ovld __cnfn bitfield_extract_unsigned(char4, uint, uint);17175ushort4 __ovld __cnfn bitfield_extract_unsigned(short4, uint, uint);17176uint4 __ovld __cnfn bitfield_extract_unsigned(int4, uint, uint);17177ulong4 __ovld __cnfn bitfield_extract_unsigned(long4, uint, uint);17178uchar8 __ovld __cnfn bitfield_extract_unsigned(char8, uint, uint);17179ushort8 __ovld __cnfn bitfield_extract_unsigned(short8, uint, uint);17180uint8 __ovld __cnfn bitfield_extract_unsigned(int8, uint, uint);17181ulong8 __ovld __cnfn bitfield_extract_unsigned(long8, uint, uint);17182uchar16 __ovld __cnfn bitfield_extract_unsigned(char16, uint, uint);17183ushort16 __ovld __cnfn bitfield_extract_unsigned(short16, uint, uint);17184uint16 __ovld __cnfn bitfield_extract_unsigned(int16, uint, uint);17185ulong16 __ovld __cnfn bitfield_extract_unsigned(long16, uint, uint);17186 17187uchar __ovld __cnfn bitfield_extract_unsigned(uchar, uint, uint);17188ushort __ovld __cnfn bitfield_extract_unsigned(ushort, uint, uint);17189uint __ovld __cnfn bitfield_extract_unsigned(uint, uint, uint);17190ulong __ovld __cnfn bitfield_extract_unsigned(ulong, uint, uint);17191uchar2 __ovld __cnfn bitfield_extract_unsigned(uchar2, uint, uint);17192ushort2 __ovld __cnfn bitfield_extract_unsigned(ushort2, uint, uint);17193uint2 __ovld __cnfn bitfield_extract_unsigned(uint2, uint, uint);17194ulong2 __ovld __cnfn bitfield_extract_unsigned(ulong2, uint, uint);17195uchar3 __ovld __cnfn bitfield_extract_unsigned(uchar3, uint, uint);17196ushort3 __ovld __cnfn bitfield_extract_unsigned(ushort3, uint, uint);17197uint3 __ovld __cnfn bitfield_extract_unsigned(uint3, uint, uint);17198ulong3 __ovld __cnfn bitfield_extract_unsigned(ulong3, uint, uint);17199uchar4 __ovld __cnfn bitfield_extract_unsigned(uchar4, uint, uint);17200ushort4 __ovld __cnfn bitfield_extract_unsigned(ushort4, uint, uint);17201uint4 __ovld __cnfn bitfield_extract_unsigned(uint4, uint, uint);17202ulong4 __ovld __cnfn bitfield_extract_unsigned(ulong4, uint, uint);17203uchar8 __ovld __cnfn bitfield_extract_unsigned(uchar8, uint, uint);17204ushort8 __ovld __cnfn bitfield_extract_unsigned(ushort8, uint, uint);17205uint8 __ovld __cnfn bitfield_extract_unsigned(uint8, uint, uint);17206ulong8 __ovld __cnfn bitfield_extract_unsigned(ulong8, uint, uint);17207uchar16 __ovld __cnfn bitfield_extract_unsigned(uchar16, uint, uint);17208ushort16 __ovld __cnfn bitfield_extract_unsigned(ushort16, uint, uint);17209uint16 __ovld __cnfn bitfield_extract_unsigned(uint16, uint, uint);17210ulong16 __ovld __cnfn bitfield_extract_unsigned(ulong16, uint, uint);17211 17212char __ovld __cnfn bit_reverse(char);17213uchar __ovld __cnfn bit_reverse(uchar);17214short __ovld __cnfn bit_reverse(short);17215ushort __ovld __cnfn bit_reverse(ushort);17216int __ovld __cnfn bit_reverse(int);17217uint __ovld __cnfn bit_reverse(uint);17218long __ovld __cnfn bit_reverse(long);17219ulong __ovld __cnfn bit_reverse(ulong);17220char2 __ovld __cnfn bit_reverse(char2);17221uchar2 __ovld __cnfn bit_reverse(uchar2);17222short2 __ovld __cnfn bit_reverse(short2);17223ushort2 __ovld __cnfn bit_reverse(ushort2);17224int2 __ovld __cnfn bit_reverse(int2);17225uint2 __ovld __cnfn bit_reverse(uint2);17226long2 __ovld __cnfn bit_reverse(long2);17227ulong2 __ovld __cnfn bit_reverse(ulong2);17228char3 __ovld __cnfn bit_reverse(char3);17229uchar3 __ovld __cnfn bit_reverse(uchar3);17230short3 __ovld __cnfn bit_reverse(short3);17231ushort3 __ovld __cnfn bit_reverse(ushort3);17232int3 __ovld __cnfn bit_reverse(int3);17233uint3 __ovld __cnfn bit_reverse(uint3);17234long3 __ovld __cnfn bit_reverse(long3);17235ulong3 __ovld __cnfn bit_reverse(ulong3);17236char4 __ovld __cnfn bit_reverse(char4);17237uchar4 __ovld __cnfn bit_reverse(uchar4);17238short4 __ovld __cnfn bit_reverse(short4);17239ushort4 __ovld __cnfn bit_reverse(ushort4);17240int4 __ovld __cnfn bit_reverse(int4);17241uint4 __ovld __cnfn bit_reverse(uint4);17242long4 __ovld __cnfn bit_reverse(long4);17243ulong4 __ovld __cnfn bit_reverse(ulong4);17244char8 __ovld __cnfn bit_reverse(char8);17245uchar8 __ovld __cnfn bit_reverse(uchar8);17246short8 __ovld __cnfn bit_reverse(short8);17247ushort8 __ovld __cnfn bit_reverse(ushort8);17248int8 __ovld __cnfn bit_reverse(int8);17249uint8 __ovld __cnfn bit_reverse(uint8);17250long8 __ovld __cnfn bit_reverse(long8);17251ulong8 __ovld __cnfn bit_reverse(ulong8);17252char16 __ovld __cnfn bit_reverse(char16);17253uchar16 __ovld __cnfn bit_reverse(uchar16);17254short16 __ovld __cnfn bit_reverse(short16);17255ushort16 __ovld __cnfn bit_reverse(ushort16);17256int16 __ovld __cnfn bit_reverse(int16);17257uint16 __ovld __cnfn bit_reverse(uint16);17258long16 __ovld __cnfn bit_reverse(long16);17259ulong16 __ovld __cnfn bit_reverse(ulong16);17260#endif // cl_khr_extended_bit_ops17261 17262#if defined(__opencl_c_integer_dot_product_input_4x8bit)17263uint __ovld __cnfn dot(uchar4, uchar4);17264int __ovld __cnfn dot(char4, char4);17265int __ovld __cnfn dot(uchar4, char4);17266int __ovld __cnfn dot(char4, uchar4);17267 17268uint __ovld __cnfn dot_acc_sat(uchar4, uchar4, uint);17269int __ovld __cnfn dot_acc_sat(char4, char4, int);17270int __ovld __cnfn dot_acc_sat(uchar4, char4, int);17271int __ovld __cnfn dot_acc_sat(char4, uchar4, int);17272#endif // __opencl_c_integer_dot_product_input_4x8bit17273 17274#if defined(__opencl_c_integer_dot_product_input_4x8bit_packed)17275uint __ovld __cnfn dot_4x8packed_uu_uint(uint, uint);17276int __ovld __cnfn dot_4x8packed_ss_int(uint, uint);17277int __ovld __cnfn dot_4x8packed_us_int(uint, uint);17278int __ovld __cnfn dot_4x8packed_su_int(uint, uint);17279 17280uint __ovld __cnfn dot_acc_sat_4x8packed_uu_uint(uint, uint, uint);17281int __ovld __cnfn dot_acc_sat_4x8packed_ss_int(uint, uint, int);17282int __ovld __cnfn dot_acc_sat_4x8packed_us_int(uint, uint, int);17283int __ovld __cnfn dot_acc_sat_4x8packed_su_int(uint, uint, int);17284#endif // __opencl_c_integer_dot_product_input_4x8bit_packed17285 17286#if defined(cl_khr_subgroup_rotate)17287char __ovld __conv sub_group_rotate(char, int);17288uchar __ovld __conv sub_group_rotate(uchar, int);17289short __ovld __conv sub_group_rotate(short, int);17290ushort __ovld __conv sub_group_rotate(ushort, int);17291int __ovld __conv sub_group_rotate(int, int);17292uint __ovld __conv sub_group_rotate(uint, int);17293long __ovld __conv sub_group_rotate(long, int);17294ulong __ovld __conv sub_group_rotate(ulong, int);17295float __ovld __conv sub_group_rotate(float, int);17296#if defined(cl_khr_fp64)17297double __ovld __conv sub_group_rotate(double, int);17298#endif // cl_khr_fp6417299#if defined(cl_khr_fp16)17300half __ovld __conv sub_group_rotate(half, int);17301#endif // cl_khr_fp1617302 17303char __ovld __conv sub_group_clustered_rotate(char, int, uint);17304uchar __ovld __conv sub_group_clustered_rotate(uchar, int, uint);17305short __ovld __conv sub_group_clustered_rotate(short, int, uint);17306ushort __ovld __conv sub_group_clustered_rotate(ushort, int, uint);17307int __ovld __conv sub_group_clustered_rotate(int, int, uint);17308uint __ovld __conv sub_group_clustered_rotate(uint, int, uint);17309long __ovld __conv sub_group_clustered_rotate(long, int, uint);17310ulong __ovld __conv sub_group_clustered_rotate(ulong, int, uint);17311float __ovld __conv sub_group_clustered_rotate(float, int, uint);17312#if defined(cl_khr_fp64)17313double __ovld __conv sub_group_clustered_rotate(double, int, uint);17314#endif // cl_khr_fp6417315#if defined(cl_khr_fp16)17316half __ovld __conv sub_group_clustered_rotate(half, int, uint);17317#endif // cl_khr_fp1617318#endif // cl_khr_subgroup_rotate17319 17320#if defined(cl_khr_kernel_clock)17321#if defined(__opencl_c_kernel_clock_scope_device)17322ulong __ovld clock_read_device();17323uint2 __ovld clock_read_hilo_device();17324#endif // __opencl_c_kernel_clock_scope_device17325#if defined(__opencl_c_kernel_clock_scope_work_group)17326ulong __ovld clock_read_work_group();17327uint2 __ovld clock_read_hilo_work_group();17328#endif // __opencl_c_kernel_clock_scope_work_group17329#if defined(__opencl_c_kernel_clock_scope_sub_group)17330ulong __ovld clock_read_sub_group();17331uint2 __ovld clock_read_hilo_sub_group();17332#endif // __opencl_c_kernel_clock_scope_sub_group17333#endif // cl_khr_kernel_clock17334 17335#if defined(cl_intel_subgroups)17336// Intel-Specific Sub Group Functions17337float __ovld __conv intel_sub_group_shuffle( float , uint );17338float2 __ovld __conv intel_sub_group_shuffle( float2, uint );17339float3 __ovld __conv intel_sub_group_shuffle( float3, uint );17340float4 __ovld __conv intel_sub_group_shuffle( float4, uint );17341float8 __ovld __conv intel_sub_group_shuffle( float8, uint );17342float16 __ovld __conv intel_sub_group_shuffle( float16, uint );17343 17344int __ovld __conv intel_sub_group_shuffle( int , uint );17345int2 __ovld __conv intel_sub_group_shuffle( int2, uint );17346int3 __ovld __conv intel_sub_group_shuffle( int3, uint );17347int4 __ovld __conv intel_sub_group_shuffle( int4, uint );17348int8 __ovld __conv intel_sub_group_shuffle( int8, uint );17349int16 __ovld __conv intel_sub_group_shuffle( int16, uint );17350 17351uint __ovld __conv intel_sub_group_shuffle( uint , uint );17352uint2 __ovld __conv intel_sub_group_shuffle( uint2, uint );17353uint3 __ovld __conv intel_sub_group_shuffle( uint3, uint );17354uint4 __ovld __conv intel_sub_group_shuffle( uint4, uint );17355uint8 __ovld __conv intel_sub_group_shuffle( uint8, uint );17356uint16 __ovld __conv intel_sub_group_shuffle( uint16, uint );17357 17358long __ovld __conv intel_sub_group_shuffle( long, uint );17359ulong __ovld __conv intel_sub_group_shuffle( ulong, uint );17360 17361float __ovld __conv intel_sub_group_shuffle_down( float cur, float next, uint );17362float2 __ovld __conv intel_sub_group_shuffle_down( float2 cur, float2 next, uint );17363float3 __ovld __conv intel_sub_group_shuffle_down( float3 cur, float3 next, uint );17364float4 __ovld __conv intel_sub_group_shuffle_down( float4 cur, float4 next, uint );17365float8 __ovld __conv intel_sub_group_shuffle_down( float8 cur, float8 next, uint );17366float16 __ovld __conv intel_sub_group_shuffle_down( float16 cur, float16 next, uint );17367 17368int __ovld __conv intel_sub_group_shuffle_down( int cur, int next, uint );17369int2 __ovld __conv intel_sub_group_shuffle_down( int2 cur, int2 next, uint );17370int3 __ovld __conv intel_sub_group_shuffle_down( int3 cur, int3 next, uint );17371int4 __ovld __conv intel_sub_group_shuffle_down( int4 cur, int4 next, uint );17372int8 __ovld __conv intel_sub_group_shuffle_down( int8 cur, int8 next, uint );17373int16 __ovld __conv intel_sub_group_shuffle_down( int16 cur, int16 next, uint );17374 17375uint __ovld __conv intel_sub_group_shuffle_down( uint cur, uint next, uint );17376uint2 __ovld __conv intel_sub_group_shuffle_down( uint2 cur, uint2 next, uint );17377uint3 __ovld __conv intel_sub_group_shuffle_down( uint3 cur, uint3 next, uint );17378uint4 __ovld __conv intel_sub_group_shuffle_down( uint4 cur, uint4 next, uint );17379uint8 __ovld __conv intel_sub_group_shuffle_down( uint8 cur, uint8 next, uint );17380uint16 __ovld __conv intel_sub_group_shuffle_down( uint16 cur, uint16 next, uint );17381 17382long __ovld __conv intel_sub_group_shuffle_down( long prev, long cur, uint );17383ulong __ovld __conv intel_sub_group_shuffle_down( ulong prev, ulong cur, uint );17384 17385float __ovld __conv intel_sub_group_shuffle_up( float prev, float cur, uint );17386float2 __ovld __conv intel_sub_group_shuffle_up( float2 prev, float2 cur, uint );17387float3 __ovld __conv intel_sub_group_shuffle_up( float3 prev, float3 cur, uint );17388float4 __ovld __conv intel_sub_group_shuffle_up( float4 prev, float4 cur, uint );17389float8 __ovld __conv intel_sub_group_shuffle_up( float8 prev, float8 cur, uint );17390float16 __ovld __conv intel_sub_group_shuffle_up( float16 prev, float16 cur, uint );17391 17392int __ovld __conv intel_sub_group_shuffle_up( int prev, int cur, uint );17393int2 __ovld __conv intel_sub_group_shuffle_up( int2 prev, int2 cur, uint );17394int3 __ovld __conv intel_sub_group_shuffle_up( int3 prev, int3 cur, uint );17395int4 __ovld __conv intel_sub_group_shuffle_up( int4 prev, int4 cur, uint );17396int8 __ovld __conv intel_sub_group_shuffle_up( int8 prev, int8 cur, uint );17397int16 __ovld __conv intel_sub_group_shuffle_up( int16 prev, int16 cur, uint );17398 17399uint __ovld __conv intel_sub_group_shuffle_up( uint prev, uint cur, uint );17400uint2 __ovld __conv intel_sub_group_shuffle_up( uint2 prev, uint2 cur, uint );17401uint3 __ovld __conv intel_sub_group_shuffle_up( uint3 prev, uint3 cur, uint );17402uint4 __ovld __conv intel_sub_group_shuffle_up( uint4 prev, uint4 cur, uint );17403uint8 __ovld __conv intel_sub_group_shuffle_up( uint8 prev, uint8 cur, uint );17404uint16 __ovld __conv intel_sub_group_shuffle_up( uint16 prev, uint16 cur, uint );17405 17406long __ovld __conv intel_sub_group_shuffle_up( long prev, long cur, uint );17407ulong __ovld __conv intel_sub_group_shuffle_up( ulong prev, ulong cur, uint );17408 17409float __ovld __conv intel_sub_group_shuffle_xor( float , uint );17410float2 __ovld __conv intel_sub_group_shuffle_xor( float2, uint );17411float3 __ovld __conv intel_sub_group_shuffle_xor( float3, uint );17412float4 __ovld __conv intel_sub_group_shuffle_xor( float4, uint );17413float8 __ovld __conv intel_sub_group_shuffle_xor( float8, uint );17414float16 __ovld __conv intel_sub_group_shuffle_xor( float16, uint );17415 17416int __ovld __conv intel_sub_group_shuffle_xor( int , uint );17417int2 __ovld __conv intel_sub_group_shuffle_xor( int2, uint );17418int3 __ovld __conv intel_sub_group_shuffle_xor( int3, uint );17419int4 __ovld __conv intel_sub_group_shuffle_xor( int4, uint );17420int8 __ovld __conv intel_sub_group_shuffle_xor( int8, uint );17421int16 __ovld __conv intel_sub_group_shuffle_xor( int16, uint );17422 17423uint __ovld __conv intel_sub_group_shuffle_xor( uint , uint );17424uint2 __ovld __conv intel_sub_group_shuffle_xor( uint2, uint );17425uint3 __ovld __conv intel_sub_group_shuffle_xor( uint3, uint );17426uint4 __ovld __conv intel_sub_group_shuffle_xor( uint4, uint );17427uint8 __ovld __conv intel_sub_group_shuffle_xor( uint8, uint );17428uint16 __ovld __conv intel_sub_group_shuffle_xor( uint16, uint );17429 17430long __ovld __conv intel_sub_group_shuffle_xor( long, uint );17431ulong __ovld __conv intel_sub_group_shuffle_xor( ulong, uint );17432 17433#if defined(__opencl_c_images)17434uint __ovld __conv intel_sub_group_block_read(read_only image2d_t, int2);17435uint2 __ovld __conv intel_sub_group_block_read2(read_only image2d_t, int2);17436uint4 __ovld __conv intel_sub_group_block_read4(read_only image2d_t, int2);17437uint8 __ovld __conv intel_sub_group_block_read8(read_only image2d_t, int2);17438#endif17439 17440#if defined(__opencl_c_read_write_images)17441uint __ovld __conv intel_sub_group_block_read(read_write image2d_t, int2);17442uint2 __ovld __conv intel_sub_group_block_read2(read_write image2d_t, int2);17443uint4 __ovld __conv intel_sub_group_block_read4(read_write image2d_t, int2);17444uint8 __ovld __conv intel_sub_group_block_read8(read_write image2d_t, int2);17445#endif // defined(__opencl_c_read_write_images)17446 17447uint __ovld __conv intel_sub_group_block_read( const __global uint* p );17448uint2 __ovld __conv intel_sub_group_block_read2( const __global uint* p );17449uint4 __ovld __conv intel_sub_group_block_read4( const __global uint* p );17450uint8 __ovld __conv intel_sub_group_block_read8( const __global uint* p );17451 17452#if defined(__opencl_c_images)17453void __ovld __conv intel_sub_group_block_write(write_only image2d_t, int2, uint);17454void __ovld __conv intel_sub_group_block_write2(write_only image2d_t, int2, uint2);17455void __ovld __conv intel_sub_group_block_write4(write_only image2d_t, int2, uint4);17456void __ovld __conv intel_sub_group_block_write8(write_only image2d_t, int2, uint8);17457#endif // defined(__opencl_c_images)17458 17459#if defined(__opencl_c_read_write_images)17460void __ovld __conv intel_sub_group_block_write(read_write image2d_t, int2, uint);17461void __ovld __conv intel_sub_group_block_write2(read_write image2d_t, int2, uint2);17462void __ovld __conv intel_sub_group_block_write4(read_write image2d_t, int2, uint4);17463void __ovld __conv intel_sub_group_block_write8(read_write image2d_t, int2, uint8);17464#endif // defined(__opencl_c_read_write_images)17465 17466void __ovld __conv intel_sub_group_block_write( __global uint* p, uint data );17467void __ovld __conv intel_sub_group_block_write2( __global uint* p, uint2 data );17468void __ovld __conv intel_sub_group_block_write4( __global uint* p, uint4 data );17469void __ovld __conv intel_sub_group_block_write8( __global uint* p, uint8 data );17470 17471#ifdef cl_khr_fp1617472half __ovld __conv intel_sub_group_shuffle( half, uint );17473half __ovld __conv intel_sub_group_shuffle_down( half prev, half cur, uint );17474half __ovld __conv intel_sub_group_shuffle_up( half prev, half cur, uint );17475half __ovld __conv intel_sub_group_shuffle_xor( half, uint );17476#endif17477 17478#if defined(cl_khr_fp64)17479double __ovld __conv intel_sub_group_shuffle( double, uint );17480double __ovld __conv intel_sub_group_shuffle_down( double prev, double cur, uint );17481double __ovld __conv intel_sub_group_shuffle_up( double prev, double cur, uint );17482double __ovld __conv intel_sub_group_shuffle_xor( double, uint );17483#endif17484 17485#if defined(cl_intel_subgroups_char) || defined(cl_intel_subgroups_short) || \17486 defined(cl_intel_subgroups_long)17487 17488#if defined(__opencl_c_images)17489uint __ovld __conv intel_sub_group_block_read_ui(read_only image2d_t, int2);17490uint2 __ovld __conv intel_sub_group_block_read_ui2(read_only image2d_t, int2);17491uint4 __ovld __conv intel_sub_group_block_read_ui4(read_only image2d_t, int2);17492uint8 __ovld __conv intel_sub_group_block_read_ui8(read_only image2d_t, int2);17493#endif // defined(__opencl_c_images)17494 17495#if defined(__opencl_c_read_write_images)17496uint __ovld __conv intel_sub_group_block_read_ui(read_write image2d_t, int2);17497uint2 __ovld __conv intel_sub_group_block_read_ui2(read_write image2d_t, int2);17498uint4 __ovld __conv intel_sub_group_block_read_ui4(read_write image2d_t, int2);17499uint8 __ovld __conv intel_sub_group_block_read_ui8(read_write image2d_t, int2);17500#endif // defined(__opencl_c_read_write_images)17501 17502uint __ovld __conv intel_sub_group_block_read_ui( const __global uint* p );17503uint2 __ovld __conv intel_sub_group_block_read_ui2( const __global uint* p );17504uint4 __ovld __conv intel_sub_group_block_read_ui4( const __global uint* p );17505uint8 __ovld __conv intel_sub_group_block_read_ui8( const __global uint* p );17506 17507#if defined(__opencl_c_images)17508void __ovld __conv intel_sub_group_block_write_ui(read_only image2d_t, int2, uint);17509void __ovld __conv intel_sub_group_block_write_ui2(read_only image2d_t, int2, uint2);17510void __ovld __conv intel_sub_group_block_write_ui4(read_only image2d_t, int2, uint4);17511void __ovld __conv intel_sub_group_block_write_ui8(read_only image2d_t, int2, uint8);17512#endif // defined(__opencl_c_images)17513 17514#if defined(__opencl_c_read_write_images)17515void __ovld __conv intel_sub_group_block_write_ui(read_write image2d_t, int2, uint);17516void __ovld __conv intel_sub_group_block_write_ui2(read_write image2d_t, int2, uint2);17517void __ovld __conv intel_sub_group_block_write_ui4(read_write image2d_t, int2, uint4);17518void __ovld __conv intel_sub_group_block_write_ui8(read_write image2d_t, int2, uint8);17519#endif // defined(__opencl_c_read_write_images)17520 17521void __ovld __conv intel_sub_group_block_write_ui( __global uint* p, uint data );17522void __ovld __conv intel_sub_group_block_write_ui2( __global uint* p, uint2 data );17523void __ovld __conv intel_sub_group_block_write_ui4( __global uint* p, uint4 data );17524void __ovld __conv intel_sub_group_block_write_ui8( __global uint* p, uint8 data );17525 17526#endif // defined(cl_intel_subgroups_char) || defined(cl_intel_subgroups_short) ||17527 // defined(cl_intel_subgroups_long)17528#endif // cl_intel_subgroups17529 17530#if defined(cl_intel_subgroups_short)17531short __ovld __conv intel_sub_group_broadcast( short , uint sub_group_local_id );17532short2 __ovld __conv intel_sub_group_broadcast( short2, uint sub_group_local_id );17533short3 __ovld __conv intel_sub_group_broadcast( short3, uint sub_group_local_id );17534short4 __ovld __conv intel_sub_group_broadcast( short4, uint sub_group_local_id );17535short8 __ovld __conv intel_sub_group_broadcast( short8, uint sub_group_local_id );17536 17537ushort __ovld __conv intel_sub_group_broadcast( ushort , uint sub_group_local_id );17538ushort2 __ovld __conv intel_sub_group_broadcast( ushort2, uint sub_group_local_id );17539ushort3 __ovld __conv intel_sub_group_broadcast( ushort3, uint sub_group_local_id );17540ushort4 __ovld __conv intel_sub_group_broadcast( ushort4, uint sub_group_local_id );17541ushort8 __ovld __conv intel_sub_group_broadcast( ushort8, uint sub_group_local_id );17542 17543short __ovld __conv intel_sub_group_shuffle( short , uint );17544short2 __ovld __conv intel_sub_group_shuffle( short2 , uint );17545short3 __ovld __conv intel_sub_group_shuffle( short3 , uint );17546short4 __ovld __conv intel_sub_group_shuffle( short4 , uint );17547short8 __ovld __conv intel_sub_group_shuffle( short8 , uint );17548short16 __ovld __conv intel_sub_group_shuffle( short16, uint);17549 17550ushort __ovld __conv intel_sub_group_shuffle( ushort , uint );17551ushort2 __ovld __conv intel_sub_group_shuffle( ushort2 , uint );17552ushort3 __ovld __conv intel_sub_group_shuffle( ushort3 , uint );17553ushort4 __ovld __conv intel_sub_group_shuffle( ushort4 , uint );17554ushort8 __ovld __conv intel_sub_group_shuffle( ushort8 , uint );17555ushort16 __ovld __conv intel_sub_group_shuffle( ushort16, uint );17556 17557short __ovld __conv intel_sub_group_shuffle_down( short cur, short next, uint );17558short2 __ovld __conv intel_sub_group_shuffle_down( short2 cur, short2 next, uint );17559short3 __ovld __conv intel_sub_group_shuffle_down( short3 cur, short3 next, uint );17560short4 __ovld __conv intel_sub_group_shuffle_down( short4 cur, short4 next, uint );17561short8 __ovld __conv intel_sub_group_shuffle_down( short8 cur, short8 next, uint );17562short16 __ovld __conv intel_sub_group_shuffle_down( short16 cur, short16 next, uint );17563 17564ushort __ovld __conv intel_sub_group_shuffle_down( ushort cur, ushort next, uint );17565ushort2 __ovld __conv intel_sub_group_shuffle_down( ushort2 cur, ushort2 next, uint );17566ushort3 __ovld __conv intel_sub_group_shuffle_down( ushort3 cur, ushort3 next, uint );17567ushort4 __ovld __conv intel_sub_group_shuffle_down( ushort4 cur, ushort4 next, uint );17568ushort8 __ovld __conv intel_sub_group_shuffle_down( ushort8 cur, ushort8 next, uint );17569ushort16 __ovld __conv intel_sub_group_shuffle_down( ushort16 cur, ushort16 next, uint );17570 17571short __ovld __conv intel_sub_group_shuffle_up( short cur, short next, uint );17572short2 __ovld __conv intel_sub_group_shuffle_up( short2 cur, short2 next, uint );17573short3 __ovld __conv intel_sub_group_shuffle_up( short3 cur, short3 next, uint );17574short4 __ovld __conv intel_sub_group_shuffle_up( short4 cur, short4 next, uint );17575short8 __ovld __conv intel_sub_group_shuffle_up( short8 cur, short8 next, uint );17576short16 __ovld __conv intel_sub_group_shuffle_up( short16 cur, short16 next, uint );17577 17578ushort __ovld __conv intel_sub_group_shuffle_up( ushort cur, ushort next, uint );17579ushort2 __ovld __conv intel_sub_group_shuffle_up( ushort2 cur, ushort2 next, uint );17580ushort3 __ovld __conv intel_sub_group_shuffle_up( ushort3 cur, ushort3 next, uint );17581ushort4 __ovld __conv intel_sub_group_shuffle_up( ushort4 cur, ushort4 next, uint );17582ushort8 __ovld __conv intel_sub_group_shuffle_up( ushort8 cur, ushort8 next, uint );17583ushort16 __ovld __conv intel_sub_group_shuffle_up( ushort16 cur, ushort16 next, uint );17584 17585short __ovld __conv intel_sub_group_shuffle_xor( short , uint );17586short2 __ovld __conv intel_sub_group_shuffle_xor( short2 , uint );17587short3 __ovld __conv intel_sub_group_shuffle_xor( short3 , uint );17588short4 __ovld __conv intel_sub_group_shuffle_xor( short4 , uint );17589short8 __ovld __conv intel_sub_group_shuffle_xor( short8 , uint );17590short16 __ovld __conv intel_sub_group_shuffle_xor( short16, uint );17591 17592ushort __ovld __conv intel_sub_group_shuffle_xor( ushort , uint );17593ushort2 __ovld __conv intel_sub_group_shuffle_xor( ushort2 , uint );17594ushort3 __ovld __conv intel_sub_group_shuffle_xor( ushort3 , uint );17595ushort4 __ovld __conv intel_sub_group_shuffle_xor( ushort4 , uint );17596ushort8 __ovld __conv intel_sub_group_shuffle_xor( ushort8 , uint );17597ushort16 __ovld __conv intel_sub_group_shuffle_xor( ushort16, uint );17598 17599short __ovld __conv intel_sub_group_reduce_add( short x );17600ushort __ovld __conv intel_sub_group_reduce_add( ushort x );17601short __ovld __conv intel_sub_group_reduce_min( short x );17602ushort __ovld __conv intel_sub_group_reduce_min( ushort x );17603short __ovld __conv intel_sub_group_reduce_max( short x );17604ushort __ovld __conv intel_sub_group_reduce_max( ushort x );17605 17606short __ovld __conv intel_sub_group_scan_exclusive_add( short x );17607ushort __ovld __conv intel_sub_group_scan_exclusive_add( ushort x );17608short __ovld __conv intel_sub_group_scan_exclusive_min( short x );17609ushort __ovld __conv intel_sub_group_scan_exclusive_min( ushort x );17610short __ovld __conv intel_sub_group_scan_exclusive_max( short x );17611ushort __ovld __conv intel_sub_group_scan_exclusive_max( ushort x );17612 17613short __ovld __conv intel_sub_group_scan_inclusive_add( short x );17614ushort __ovld __conv intel_sub_group_scan_inclusive_add( ushort x );17615short __ovld __conv intel_sub_group_scan_inclusive_min( short x );17616ushort __ovld __conv intel_sub_group_scan_inclusive_min( ushort x );17617short __ovld __conv intel_sub_group_scan_inclusive_max( short x );17618ushort __ovld __conv intel_sub_group_scan_inclusive_max( ushort x );17619 17620#if defined(__opencl_c_images)17621ushort __ovld __conv intel_sub_group_block_read_us(read_only image2d_t, int2);17622ushort2 __ovld __conv intel_sub_group_block_read_us2(read_only image2d_t, int2);17623ushort4 __ovld __conv intel_sub_group_block_read_us4(read_only image2d_t, int2);17624ushort8 __ovld __conv intel_sub_group_block_read_us8(read_only image2d_t, int2);17625ushort16 __ovld __conv intel_sub_group_block_read_us16(read_only image2d_t, int2);17626#endif // defined(__opencl_c_images)17627 17628#if defined(__opencl_c_read_write_images)17629ushort __ovld __conv intel_sub_group_block_read_us(read_write image2d_t, int2);17630ushort2 __ovld __conv intel_sub_group_block_read_us2(read_write image2d_t, int2);17631ushort4 __ovld __conv intel_sub_group_block_read_us4(read_write image2d_t, int2);17632ushort8 __ovld __conv intel_sub_group_block_read_us8(read_write image2d_t, int2);17633ushort16 __ovld __conv intel_sub_group_block_read_us16(read_write image2d_t, int2);17634#endif // defined(__opencl_c_read_write_images)17635 17636ushort __ovld __conv intel_sub_group_block_read_us( const __global ushort* p );17637ushort2 __ovld __conv intel_sub_group_block_read_us2( const __global ushort* p );17638ushort4 __ovld __conv intel_sub_group_block_read_us4( const __global ushort* p );17639ushort8 __ovld __conv intel_sub_group_block_read_us8( const __global ushort* p );17640ushort16 __ovld __conv intel_sub_group_block_read_us16(const __global ushort* p);17641 17642#if defined(__opencl_c_images)17643void __ovld __conv intel_sub_group_block_write_us(write_only image2d_t, int2, ushort);17644void __ovld __conv intel_sub_group_block_write_us2(write_only image2d_t, int2, ushort2);17645void __ovld __conv intel_sub_group_block_write_us4(write_only image2d_t, int2, ushort4);17646void __ovld __conv intel_sub_group_block_write_us8(write_only image2d_t, int2, ushort8);17647void __ovld __conv intel_sub_group_block_write_us16(write_only image2d_t, int2, ushort16);17648#endif // defined(__opencl_c_images)17649 17650#if defined(__opencl_c_read_write_images)17651void __ovld __conv intel_sub_group_block_write_us(read_write image2d_t, int2, ushort);17652void __ovld __conv intel_sub_group_block_write_us2(read_write image2d_t, int2, ushort2);17653void __ovld __conv intel_sub_group_block_write_us4(read_write image2d_t, int2, ushort4);17654void __ovld __conv intel_sub_group_block_write_us8(read_write image2d_t, int2, ushort8);17655void __ovld __conv intel_sub_group_block_write_us16(read_write image2d_t, int2, ushort16);17656#endif // defined(__opencl_c_read_write_images)17657 17658void __ovld __conv intel_sub_group_block_write_us( __global ushort* p, ushort data );17659void __ovld __conv intel_sub_group_block_write_us2( __global ushort* p, ushort2 data );17660void __ovld __conv intel_sub_group_block_write_us4( __global ushort* p, ushort4 data );17661void __ovld __conv intel_sub_group_block_write_us8( __global ushort* p, ushort8 data );17662void __ovld __conv intel_sub_group_block_write_us16( __global ushort* p, ushort16 data );17663#endif // cl_intel_subgroups_short17664 17665#if defined(cl_intel_subgroups_char)17666char __ovld __conv intel_sub_group_broadcast( char , uint sub_group_local_id );17667char2 __ovld __conv intel_sub_group_broadcast( char2, uint sub_group_local_id );17668char3 __ovld __conv intel_sub_group_broadcast( char3, uint sub_group_local_id );17669char4 __ovld __conv intel_sub_group_broadcast( char4, uint sub_group_local_id );17670char8 __ovld __conv intel_sub_group_broadcast( char8, uint sub_group_local_id );17671 17672uchar __ovld __conv intel_sub_group_broadcast( uchar , uint sub_group_local_id );17673uchar2 __ovld __conv intel_sub_group_broadcast( uchar2, uint sub_group_local_id );17674uchar3 __ovld __conv intel_sub_group_broadcast( uchar3, uint sub_group_local_id );17675uchar4 __ovld __conv intel_sub_group_broadcast( uchar4, uint sub_group_local_id );17676uchar8 __ovld __conv intel_sub_group_broadcast( uchar8, uint sub_group_local_id );17677 17678char __ovld __conv intel_sub_group_shuffle( char , uint );17679char2 __ovld __conv intel_sub_group_shuffle( char2 , uint );17680char3 __ovld __conv intel_sub_group_shuffle( char3 , uint );17681char4 __ovld __conv intel_sub_group_shuffle( char4 , uint );17682char8 __ovld __conv intel_sub_group_shuffle( char8 , uint );17683char16 __ovld __conv intel_sub_group_shuffle( char16, uint);17684 17685uchar __ovld __conv intel_sub_group_shuffle( uchar , uint );17686uchar2 __ovld __conv intel_sub_group_shuffle( uchar2 , uint );17687uchar3 __ovld __conv intel_sub_group_shuffle( uchar3 , uint );17688uchar4 __ovld __conv intel_sub_group_shuffle( uchar4 , uint );17689uchar8 __ovld __conv intel_sub_group_shuffle( uchar8 , uint );17690uchar16 __ovld __conv intel_sub_group_shuffle( uchar16, uint );17691 17692char __ovld __conv intel_sub_group_shuffle_down( char cur, char next, uint );17693char2 __ovld __conv intel_sub_group_shuffle_down( char2 cur, char2 next, uint );17694char3 __ovld __conv intel_sub_group_shuffle_down( char3 cur, char3 next, uint );17695char4 __ovld __conv intel_sub_group_shuffle_down( char4 cur, char4 next, uint );17696char8 __ovld __conv intel_sub_group_shuffle_down( char8 cur, char8 next, uint );17697char16 __ovld __conv intel_sub_group_shuffle_down( char16 cur, char16 next, uint );17698 17699uchar __ovld __conv intel_sub_group_shuffle_down( uchar cur, uchar next, uint );17700uchar2 __ovld __conv intel_sub_group_shuffle_down( uchar2 cur, uchar2 next, uint );17701uchar3 __ovld __conv intel_sub_group_shuffle_down( uchar3 cur, uchar3 next, uint );17702uchar4 __ovld __conv intel_sub_group_shuffle_down( uchar4 cur, uchar4 next, uint );17703uchar8 __ovld __conv intel_sub_group_shuffle_down( uchar8 cur, uchar8 next, uint );17704uchar16 __ovld __conv intel_sub_group_shuffle_down( uchar16 cur, uchar16 next, uint );17705 17706char __ovld __conv intel_sub_group_shuffle_up( char cur, char next, uint );17707char2 __ovld __conv intel_sub_group_shuffle_up( char2 cur, char2 next, uint );17708char3 __ovld __conv intel_sub_group_shuffle_up( char3 cur, char3 next, uint );17709char4 __ovld __conv intel_sub_group_shuffle_up( char4 cur, char4 next, uint );17710char8 __ovld __conv intel_sub_group_shuffle_up( char8 cur, char8 next, uint );17711char16 __ovld __conv intel_sub_group_shuffle_up( char16 cur, char16 next, uint );17712 17713uchar __ovld __conv intel_sub_group_shuffle_up( uchar cur, uchar next, uint );17714uchar2 __ovld __conv intel_sub_group_shuffle_up( uchar2 cur, uchar2 next, uint );17715uchar3 __ovld __conv intel_sub_group_shuffle_up( uchar3 cur, uchar3 next, uint );17716uchar4 __ovld __conv intel_sub_group_shuffle_up( uchar4 cur, uchar4 next, uint );17717uchar8 __ovld __conv intel_sub_group_shuffle_up( uchar8 cur, uchar8 next, uint );17718uchar16 __ovld __conv intel_sub_group_shuffle_up( uchar16 cur, uchar16 next, uint );17719 17720char __ovld __conv intel_sub_group_shuffle_xor( char , uint );17721char2 __ovld __conv intel_sub_group_shuffle_xor( char2 , uint );17722char3 __ovld __conv intel_sub_group_shuffle_xor( char3 , uint );17723char4 __ovld __conv intel_sub_group_shuffle_xor( char4 , uint );17724char8 __ovld __conv intel_sub_group_shuffle_xor( char8 , uint );17725char16 __ovld __conv intel_sub_group_shuffle_xor( char16, uint );17726 17727uchar __ovld __conv intel_sub_group_shuffle_xor( uchar , uint );17728uchar2 __ovld __conv intel_sub_group_shuffle_xor( uchar2 , uint );17729uchar3 __ovld __conv intel_sub_group_shuffle_xor( uchar3 , uint );17730uchar4 __ovld __conv intel_sub_group_shuffle_xor( uchar4 , uint );17731uchar8 __ovld __conv intel_sub_group_shuffle_xor( uchar8 , uint );17732uchar16 __ovld __conv intel_sub_group_shuffle_xor( uchar16, uint );17733 17734char __ovld __conv intel_sub_group_reduce_add( char x );17735uchar __ovld __conv intel_sub_group_reduce_add( uchar x );17736char __ovld __conv intel_sub_group_reduce_min( char x );17737uchar __ovld __conv intel_sub_group_reduce_min( uchar x );17738char __ovld __conv intel_sub_group_reduce_max( char x );17739uchar __ovld __conv intel_sub_group_reduce_max( uchar x );17740 17741char __ovld __conv intel_sub_group_scan_exclusive_add( char x );17742uchar __ovld __conv intel_sub_group_scan_exclusive_add( uchar x );17743char __ovld __conv intel_sub_group_scan_exclusive_min( char x );17744uchar __ovld __conv intel_sub_group_scan_exclusive_min( uchar x );17745char __ovld __conv intel_sub_group_scan_exclusive_max( char x );17746uchar __ovld __conv intel_sub_group_scan_exclusive_max( uchar x );17747 17748char __ovld __conv intel_sub_group_scan_inclusive_add( char x );17749uchar __ovld __conv intel_sub_group_scan_inclusive_add( uchar x );17750char __ovld __conv intel_sub_group_scan_inclusive_min( char x );17751uchar __ovld __conv intel_sub_group_scan_inclusive_min( uchar x );17752char __ovld __conv intel_sub_group_scan_inclusive_max( char x );17753uchar __ovld __conv intel_sub_group_scan_inclusive_max( uchar x );17754 17755#if defined(__opencl_c_images)17756uchar __ovld __conv intel_sub_group_block_read_uc(read_only image2d_t, int2);17757uchar2 __ovld __conv intel_sub_group_block_read_uc2(read_only image2d_t, int2);17758uchar4 __ovld __conv intel_sub_group_block_read_uc4(read_only image2d_t, int2);17759uchar8 __ovld __conv intel_sub_group_block_read_uc8(read_only image2d_t, int2);17760uchar16 __ovld __conv intel_sub_group_block_read_uc16(read_only image2d_t, int2);17761#endif // defined(__opencl_c_images)17762 17763#if defined(__opencl_c_read_write_images)17764uchar __ovld __conv intel_sub_group_block_read_uc(read_write image2d_t, int2);17765uchar2 __ovld __conv intel_sub_group_block_read_uc2(read_write image2d_t, int2);17766uchar4 __ovld __conv intel_sub_group_block_read_uc4(read_write image2d_t, int2);17767uchar8 __ovld __conv intel_sub_group_block_read_uc8(read_write image2d_t, int2);17768uchar16 __ovld __conv intel_sub_group_block_read_uc16(read_write image2d_t, int2);17769#endif // defined(__opencl_c_read_write_images)17770 17771uchar __ovld __conv intel_sub_group_block_read_uc( const __global uchar* p );17772uchar2 __ovld __conv intel_sub_group_block_read_uc2( const __global uchar* p );17773uchar4 __ovld __conv intel_sub_group_block_read_uc4( const __global uchar* p );17774uchar8 __ovld __conv intel_sub_group_block_read_uc8( const __global uchar* p );17775uchar16 __ovld __conv intel_sub_group_block_read_uc16( const __global uchar* p );17776 17777#if defined(__opencl_c_images)17778void __ovld __conv intel_sub_group_block_write_uc(write_only image2d_t, int2, uchar);17779void __ovld __conv intel_sub_group_block_write_uc2(write_only image2d_t, int2, uchar2);17780void __ovld __conv intel_sub_group_block_write_uc4(write_only image2d_t, int2, uchar4);17781void __ovld __conv intel_sub_group_block_write_uc8(write_only image2d_t, int2, uchar8);17782void __ovld __conv intel_sub_group_block_write_uc16(write_only image2d_t, int2, uchar16);17783#endif // defined(__opencl_c_images)17784 17785#if defined(__opencl_c_read_write_images)17786void __ovld __conv intel_sub_group_block_write_uc(read_write image2d_t, int2, uchar);17787void __ovld __conv intel_sub_group_block_write_uc2(read_write image2d_t, int2, uchar2);17788void __ovld __conv intel_sub_group_block_write_uc4(read_write image2d_t, int2, uchar4);17789void __ovld __conv intel_sub_group_block_write_uc8(read_write image2d_t, int2, uchar8);17790void __ovld __conv intel_sub_group_block_write_uc16(read_write image2d_t, int2, uchar16);17791#endif // defined(__opencl_c_read_write_images)17792 17793void __ovld __conv intel_sub_group_block_write_uc( __global uchar* p, uchar data );17794void __ovld __conv intel_sub_group_block_write_uc2( __global uchar* p, uchar2 data );17795void __ovld __conv intel_sub_group_block_write_uc4( __global uchar* p, uchar4 data );17796void __ovld __conv intel_sub_group_block_write_uc8( __global uchar* p, uchar8 data );17797void __ovld __conv intel_sub_group_block_write_uc16( __global uchar* p, uchar16 data );17798#endif // cl_intel_subgroups_char17799 17800#if defined(cl_intel_subgroups_long)17801#if defined(__opencl_c_images)17802ulong __ovld __conv intel_sub_group_block_read_ul(read_only image2d_t, int2);17803ulong2 __ovld __conv intel_sub_group_block_read_ul2(read_only image2d_t, int2);17804ulong4 __ovld __conv intel_sub_group_block_read_ul4(read_only image2d_t, int2);17805ulong8 __ovld __conv intel_sub_group_block_read_ul8(read_only image2d_t, int2);17806ulong16 __ovld __conv intel_sub_group_block_read_ul16(read_only image2d_t, int2);17807#endif // defined(__opencl_c_images)17808 17809#if defined(__opencl_c_read_write_images)17810ulong __ovld __conv intel_sub_group_block_read_ul(read_write image2d_t, int2);17811ulong2 __ovld __conv intel_sub_group_block_read_ul2(read_write image2d_t, int2);17812ulong4 __ovld __conv intel_sub_group_block_read_ul4(read_write image2d_t, int2);17813ulong8 __ovld __conv intel_sub_group_block_read_ul8(read_write image2d_t, int2);17814ulong16 __ovld __conv intel_sub_group_block_read_ul16(read_write image2d_t, int2);17815#endif // defined(__opencl_c_read_write_images)17816 17817ulong __ovld __conv intel_sub_group_block_read_ul( const __global ulong* p );17818ulong2 __ovld __conv intel_sub_group_block_read_ul2( const __global ulong* p );17819ulong4 __ovld __conv intel_sub_group_block_read_ul4( const __global ulong* p );17820ulong8 __ovld __conv intel_sub_group_block_read_ul8( const __global ulong* p );17821 17822#if defined(__opencl_c_images)17823void __ovld __conv intel_sub_group_block_write_ul(write_only image2d_t, int2, ulong);17824void __ovld __conv intel_sub_group_block_write_ul2(write_only image2d_t, int2, ulong2);17825void __ovld __conv intel_sub_group_block_write_ul4(write_only image2d_t, int2, ulong4);17826void __ovld __conv intel_sub_group_block_write_ul8(write_only image2d_t, int2, ulong8);17827void __ovld __conv intel_sub_group_block_write_ul16(write_only image2d_t, int2, ulong16);17828#endif // defined(__opencl_c_images)17829 17830#if defined(__opencl_c_read_write_images)17831void __ovld __conv intel_sub_group_block_write_ul(read_write image2d_t, int2, ulong);17832void __ovld __conv intel_sub_group_block_write_ul2(read_write image2d_t, int2, ulong2);17833void __ovld __conv intel_sub_group_block_write_ul4(read_write image2d_t, int2, ulong4);17834void __ovld __conv intel_sub_group_block_write_ul8(read_write image2d_t, int2, ulong8);17835void __ovld __conv intel_sub_group_block_write_ul16(read_write image2d_t, int2, ulong16);17836#endif // defined(__opencl_c_read_write_images)17837 17838void __ovld __conv intel_sub_group_block_write_ul( __global ulong* p, ulong data );17839void __ovld __conv intel_sub_group_block_write_ul2( __global ulong* p, ulong2 data );17840void __ovld __conv intel_sub_group_block_write_ul4( __global ulong* p, ulong4 data );17841void __ovld __conv intel_sub_group_block_write_ul8( __global ulong* p, ulong8 data);17842#endif // cl_intel_subgroups_long17843 17844#if defined(cl_intel_subgroup_local_block_io)17845uint __ovld __conv intel_sub_group_block_read( const __local uint* p );17846uint2 __ovld __conv intel_sub_group_block_read2( const __local uint* p );17847uint4 __ovld __conv intel_sub_group_block_read4( const __local uint* p );17848uint8 __ovld __conv intel_sub_group_block_read8( const __local uint* p );17849 17850void __ovld __conv intel_sub_group_block_write( __local uint* p, uint data );17851void __ovld __conv intel_sub_group_block_write2( __local uint* p, uint2 data );17852void __ovld __conv intel_sub_group_block_write4( __local uint* p, uint4 data );17853void __ovld __conv intel_sub_group_block_write8( __local uint* p, uint8 data );17854 17855#if defined(cl_intel_subgroups_char) || defined(cl_intel_subgroups_short) || \17856 defined(cl_intel_subgroups_long)17857uint __ovld __conv intel_sub_group_block_read_ui( const __local uint* p );17858uint2 __ovld __conv intel_sub_group_block_read_ui2( const __local uint* p );17859uint4 __ovld __conv intel_sub_group_block_read_ui4( const __local uint* p );17860uint8 __ovld __conv intel_sub_group_block_read_ui8( const __local uint* p );17861 17862void __ovld __conv intel_sub_group_block_write_ui( __local uint* p, uint data );17863void __ovld __conv intel_sub_group_block_write_ui2( __local uint* p, uint2 data );17864void __ovld __conv intel_sub_group_block_write_ui4( __local uint* p, uint4 data );17865void __ovld __conv intel_sub_group_block_write_ui8( __local uint* p, uint8 data );17866#endif // defined(cl_intel_subgroups_char) || defined(cl_intel_subgroups_short) ||17867 // defined(cl_intel_subgroups_long)17868 17869#if defined(cl_intel_subgroups_char)17870uchar __ovld __conv intel_sub_group_block_read_uc( const __local uchar* p );17871uchar2 __ovld __conv intel_sub_group_block_read_uc2( const __local uchar* p );17872uchar4 __ovld __conv intel_sub_group_block_read_uc4( const __local uchar* p );17873uchar8 __ovld __conv intel_sub_group_block_read_uc8( const __local uchar* p );17874uchar16 __ovld __conv intel_sub_group_block_read_uc16( const __local uchar* p );17875 17876void __ovld __conv intel_sub_group_block_write_uc( __local uchar* p, uchar data );17877void __ovld __conv intel_sub_group_block_write_uc2( __local uchar* p, uchar2 data );17878void __ovld __conv intel_sub_group_block_write_uc4( __local uchar* p, uchar4 data );17879void __ovld __conv intel_sub_group_block_write_uc8( __local uchar* p, uchar8 data );17880void __ovld __conv intel_sub_group_block_write_uc16( __local uchar* p, uchar16 data );17881#endif // defined(cl_intel_subgroups_char)17882 17883#if defined(cl_intel_subgroups_short)17884ushort __ovld __conv intel_sub_group_block_read_us( const __local ushort* p );17885ushort2 __ovld __conv intel_sub_group_block_read_us2( const __local ushort* p );17886ushort4 __ovld __conv intel_sub_group_block_read_us4( const __local ushort* p );17887ushort8 __ovld __conv intel_sub_group_block_read_us8( const __local ushort* p );17888ushort16 __ovld __conv intel_sub_group_block_read_us16( const __local ushort* p );17889 17890void __ovld __conv intel_sub_group_block_write_us( __local ushort* p, ushort data );17891void __ovld __conv intel_sub_group_block_write_us2( __local ushort* p, ushort2 data );17892void __ovld __conv intel_sub_group_block_write_us4( __local ushort* p, ushort4 data );17893void __ovld __conv intel_sub_group_block_write_us8( __local ushort* p, ushort8 data );17894void __ovld __conv intel_sub_group_block_write_us16( __local ushort* p, ushort16 data );17895#endif // defined(cl_intel_subgroups_short)17896 17897#if defined(cl_intel_subgroups_long)17898ulong __ovld __conv intel_sub_group_block_read_ul( const __local ulong* p );17899ulong2 __ovld __conv intel_sub_group_block_read_ul2( const __local ulong* p );17900ulong4 __ovld __conv intel_sub_group_block_read_ul4( const __local ulong* p );17901ulong8 __ovld __conv intel_sub_group_block_read_ul8( const __local ulong* p );17902 17903void __ovld __conv intel_sub_group_block_write_ul( __local ulong* p, ulong data );17904void __ovld __conv intel_sub_group_block_write_ul2( __local ulong* p, ulong2 data );17905void __ovld __conv intel_sub_group_block_write_ul4( __local ulong* p, ulong4 data );17906void __ovld __conv intel_sub_group_block_write_ul8( __local ulong* p, ulong8 data );17907#endif // defined(cl_intel_subgroups_long)17908#endif // cl_intel_subgroup_local_block_io17909 17910#ifdef cl_intel_device_side_avc_motion_estimation17911#pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : begin17912 17913// MCE built-in functions17914uchar __ovld17915intel_sub_group_avc_mce_get_default_inter_base_multi_reference_penalty(17916 uchar slice_type, uchar qp);17917ulong __ovld intel_sub_group_avc_mce_get_default_inter_shape_penalty(17918 uchar slice_type, uchar qp);17919uchar __ovld intel_sub_group_avc_mce_get_default_inter_direction_penalty(17920 uchar slice_type, uchar qp);17921uint __ovld intel_sub_group_avc_mce_get_default_intra_luma_shape_penalty(17922 uchar slice_type, uchar qp);17923uint2 __ovld17924intel_sub_group_avc_mce_get_default_inter_motion_vector_cost_table(17925 uchar slice_type, uchar qp);17926uchar __ovld intel_sub_group_avc_mce_get_default_intra_luma_mode_penalty(17927 uchar slice_type, uchar qp);17928 17929uint2 __ovld intel_sub_group_avc_mce_get_default_high_penalty_cost_table();17930uint2 __ovld intel_sub_group_avc_mce_get_default_medium_penalty_cost_table();17931uint2 __ovld intel_sub_group_avc_mce_get_default_low_penalty_cost_table();17932uint __ovld intel_sub_group_avc_mce_get_default_non_dc_luma_intra_penalty();17933uchar __ovld17934intel_sub_group_avc_mce_get_default_intra_chroma_mode_base_penalty();17935 17936intel_sub_group_avc_mce_payload_t __ovld17937intel_sub_group_avc_mce_set_inter_base_multi_reference_penalty(17938 uchar reference_base_penalty, intel_sub_group_avc_mce_payload_t payload);17939intel_sub_group_avc_mce_payload_t __ovld17940intel_sub_group_avc_mce_set_inter_shape_penalty(17941 ulong packed_shape_penalty, intel_sub_group_avc_mce_payload_t payload);17942intel_sub_group_avc_mce_payload_t __ovld17943intel_sub_group_avc_mce_set_inter_direction_penalty(17944 uchar direction_cost, intel_sub_group_avc_mce_payload_t payload);17945intel_sub_group_avc_mce_payload_t __ovld17946intel_sub_group_avc_mce_set_motion_vector_cost_function(17947 ulong packed_cost_center_delta, uint2 packed_cost_table,17948 uchar cost_precision, intel_sub_group_avc_mce_payload_t payload);17949intel_sub_group_avc_mce_payload_t __ovld17950intel_sub_group_avc_mce_set_ac_only_haar(17951 intel_sub_group_avc_mce_payload_t payload);17952intel_sub_group_avc_mce_payload_t __ovld17953intel_sub_group_avc_mce_set_source_interlaced_field_polarity(17954 uchar src_field_polarity, intel_sub_group_avc_mce_payload_t payload);17955intel_sub_group_avc_mce_payload_t __ovld17956intel_sub_group_avc_mce_set_single_reference_interlaced_field_polarity(17957 uchar ref_field_polarity, intel_sub_group_avc_mce_payload_t payload);17958intel_sub_group_avc_mce_payload_t __ovld17959intel_sub_group_avc_mce_set_dual_reference_interlaced_field_polarities(17960 uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,17961 intel_sub_group_avc_mce_payload_t payload);17962 17963ulong __ovld intel_sub_group_avc_mce_get_motion_vectors(17964 intel_sub_group_avc_mce_result_t result);17965ushort __ovld intel_sub_group_avc_mce_get_inter_distortions(17966 intel_sub_group_avc_mce_result_t result);17967ushort __ovld intel_sub_group_avc_mce_get_best_inter_distortion(17968 intel_sub_group_avc_mce_result_t result);17969uchar __ovld intel_sub_group_avc_mce_get_inter_major_shape(17970 intel_sub_group_avc_mce_result_t result);17971uchar __ovld intel_sub_group_avc_mce_get_inter_minor_shapes(17972 intel_sub_group_avc_mce_result_t result);17973uchar __ovld intel_sub_group_avc_mce_get_inter_directions(17974 intel_sub_group_avc_mce_result_t result);17975uchar __ovld intel_sub_group_avc_mce_get_inter_motion_vector_count(17976 intel_sub_group_avc_mce_result_t result);17977uint __ovld intel_sub_group_avc_mce_get_inter_reference_ids(17978 intel_sub_group_avc_mce_result_t result);17979uchar __ovld17980intel_sub_group_avc_mce_get_inter_reference_interlaced_field_polarities(17981 uint packed_reference_ids, uint packed_reference_parameter_field_polarities,17982 intel_sub_group_avc_mce_result_t result);17983 17984// IME built-in functions17985intel_sub_group_avc_ime_payload_t __ovld17986intel_sub_group_avc_ime_initialize(17987 ushort2 src_coord, uchar partition_mask, uchar sad_adjustment);17988intel_sub_group_avc_ime_payload_t __ovld17989intel_sub_group_avc_ime_set_single_reference(17990 short2 ref_offset, uchar search_window_config,17991 intel_sub_group_avc_ime_payload_t payload);17992intel_sub_group_avc_ime_payload_t __ovld17993intel_sub_group_avc_ime_set_dual_reference(17994 short2 fwd_ref_offset, short2 bwd_ref_offset, uchar search_window_config,17995 intel_sub_group_avc_ime_payload_t payload);17996intel_sub_group_avc_ime_payload_t __ovld17997intel_sub_group_avc_ime_set_max_motion_vector_count(17998 uchar max_motion_vector_count, intel_sub_group_avc_ime_payload_t payload);17999intel_sub_group_avc_ime_payload_t __ovld18000intel_sub_group_avc_ime_set_unidirectional_mix_disable(18001 intel_sub_group_avc_ime_payload_t payload);18002intel_sub_group_avc_ime_payload_t __ovld18003intel_sub_group_avc_ime_set_early_search_termination_threshold(18004 uchar threshold, intel_sub_group_avc_ime_payload_t payload);18005intel_sub_group_avc_ime_payload_t __ovld18006intel_sub_group_avc_ime_set_weighted_sad(18007 uint packed_sad_weights, intel_sub_group_avc_ime_payload_t payload);18008 18009__attribute__((deprecated("If you use the latest Intel driver, please use "18010 "intel_sub_group_avc_ime_ref_window_size instead",18011 "intel_sub_group_avc_ime_ref_window_size")))18012ushort2 __ovld18013intel_sub_group_ime_ref_window_size(uchar search_window_config, char dual_ref);18014ushort2 __ovld intel_sub_group_avc_ime_ref_window_size(18015 uchar search_window_config, char dual_ref);18016short2 __ovld intel_sub_group_avc_ime_adjust_ref_offset(18017 short2 ref_offset, ushort2 src_coord, ushort2 ref_window_size,18018 ushort2 image_size);18019 18020#if defined(__opencl_c_images)18021intel_sub_group_avc_ime_result_t __ovld18022intel_sub_group_avc_ime_evaluate_with_single_reference(18023 read_only image2d_t src_image, read_only image2d_t ref_image,18024 sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload);18025intel_sub_group_avc_ime_result_t __ovld18026intel_sub_group_avc_ime_evaluate_with_dual_reference(18027 read_only image2d_t src_image, read_only image2d_t fwd_ref_image,18028 read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,18029 intel_sub_group_avc_ime_payload_t payload);18030intel_sub_group_avc_ime_result_single_reference_streamout_t __ovld18031intel_sub_group_avc_ime_evaluate_with_single_reference_streamout(18032 read_only image2d_t src_image, read_only image2d_t ref_image,18033 sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload);18034intel_sub_group_avc_ime_result_dual_reference_streamout_t __ovld18035intel_sub_group_avc_ime_evaluate_with_dual_reference_streamout(18036 read_only image2d_t src_image, read_only image2d_t fwd_ref_image,18037 read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,18038 intel_sub_group_avc_ime_payload_t payload);18039intel_sub_group_avc_ime_result_t __ovld18040intel_sub_group_avc_ime_evaluate_with_single_reference_streamin(18041 read_only image2d_t src_image, read_only image2d_t ref_image,18042 sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload,18043 intel_sub_group_avc_ime_single_reference_streamin_t streamin_components);18044intel_sub_group_avc_ime_result_t __ovld18045intel_sub_group_avc_ime_evaluate_with_dual_reference_streamin(18046 read_only image2d_t src_image, read_only image2d_t fwd_ref_image,18047 read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,18048 intel_sub_group_avc_ime_payload_t payload,18049 intel_sub_group_avc_ime_dual_reference_streamin_t streamin_components);18050intel_sub_group_avc_ime_result_single_reference_streamout_t __ovld18051intel_sub_group_avc_ime_evaluate_with_single_reference_streaminout(18052 read_only image2d_t src_image, read_only image2d_t ref_image,18053 sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload,18054 intel_sub_group_avc_ime_single_reference_streamin_t streamin_components);18055intel_sub_group_avc_ime_result_dual_reference_streamout_t __ovld18056intel_sub_group_avc_ime_evaluate_with_dual_reference_streaminout(18057 read_only image2d_t src_image, read_only image2d_t fwd_ref_image,18058 read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,18059 intel_sub_group_avc_ime_payload_t payload,18060 intel_sub_group_avc_ime_dual_reference_streamin_t streamin_components);18061#endif18062 18063intel_sub_group_avc_ime_single_reference_streamin_t __ovld18064intel_sub_group_avc_ime_get_single_reference_streamin(18065 intel_sub_group_avc_ime_result_single_reference_streamout_t result);18066intel_sub_group_avc_ime_dual_reference_streamin_t __ovld18067intel_sub_group_avc_ime_get_dual_reference_streamin(18068 intel_sub_group_avc_ime_result_dual_reference_streamout_t result);18069intel_sub_group_avc_ime_result_t __ovld18070intel_sub_group_avc_ime_strip_single_reference_streamout(18071 intel_sub_group_avc_ime_result_single_reference_streamout_t result);18072intel_sub_group_avc_ime_result_t __ovld18073intel_sub_group_avc_ime_strip_dual_reference_streamout(18074 intel_sub_group_avc_ime_result_dual_reference_streamout_t result);18075 18076uint __ovld intel_sub_group_avc_ime_get_streamout_major_shape_motion_vectors(18077 intel_sub_group_avc_ime_result_single_reference_streamout_t result,18078 uchar major_shape);18079ushort __ovld intel_sub_group_avc_ime_get_streamout_major_shape_distortions(18080 intel_sub_group_avc_ime_result_single_reference_streamout_t result,18081 uchar major_shape);18082uchar __ovld intel_sub_group_avc_ime_get_streamout_major_shape_reference_ids(18083 intel_sub_group_avc_ime_result_single_reference_streamout_t result,18084 uchar major_shape);18085uint __ovld intel_sub_group_avc_ime_get_streamout_major_shape_motion_vectors(18086 intel_sub_group_avc_ime_result_dual_reference_streamout_t result,18087 uchar major_shape, uchar direction);18088ushort __ovld intel_sub_group_avc_ime_get_streamout_major_shape_distortions(18089 intel_sub_group_avc_ime_result_dual_reference_streamout_t result,18090 uchar major_shape, uchar direction);18091uchar __ovld intel_sub_group_avc_ime_get_streamout_major_shape_reference_ids(18092 intel_sub_group_avc_ime_result_dual_reference_streamout_t result,18093 uchar major_shape, uchar direction);18094 18095uchar __ovld intel_sub_group_avc_ime_get_border_reached(18096 uchar image_select, intel_sub_group_avc_ime_result_t result);18097uchar __ovld intel_sub_group_avc_ime_get_truncated_search_indication(18098 intel_sub_group_avc_ime_result_t result);18099uchar __ovld18100intel_sub_group_avc_ime_get_unidirectional_early_search_termination(18101 intel_sub_group_avc_ime_result_t result);18102uint __ovld intel_sub_group_avc_ime_get_weighting_pattern_minimum_motion_vector(18103 intel_sub_group_avc_ime_result_t result);18104ushort __ovld intel_sub_group_avc_ime_get_weighting_pattern_minimum_distortion(18105 intel_sub_group_avc_ime_result_t result);18106 18107// REF built-in functions18108intel_sub_group_avc_ref_payload_t __ovld18109intel_sub_group_avc_fme_initialize(18110 ushort2 src_coord, ulong motion_vectors, uchar major_shapes,18111 uchar minor_shapes, uchar directions, uchar pixel_resolution,18112 uchar sad_adjustment);18113intel_sub_group_avc_ref_payload_t __ovld18114intel_sub_group_avc_bme_initialize(18115 ushort2 src_coord, ulong motion_vectors, uchar major_shapes,18116 uchar minor_shapes, uchar directions, uchar pixel_resolution,18117 uchar bidirectional_weight, uchar sad_adjustment);18118 18119intel_sub_group_avc_ref_payload_t __ovld18120intel_sub_group_avc_ref_set_bidirectional_mix_disable(18121 intel_sub_group_avc_ref_payload_t payload);18122intel_sub_group_avc_ref_payload_t __ovld18123intel_sub_group_avc_ref_set_bilinear_filter_enable(18124 intel_sub_group_avc_ref_payload_t payload);18125 18126#if defined(__opencl_c_images)18127intel_sub_group_avc_ref_result_t __ovld18128intel_sub_group_avc_ref_evaluate_with_single_reference(18129 read_only image2d_t src_image, read_only image2d_t ref_image,18130 sampler_t vme_media_sampler, intel_sub_group_avc_ref_payload_t payload);18131intel_sub_group_avc_ref_result_t __ovld18132intel_sub_group_avc_ref_evaluate_with_dual_reference(18133 read_only image2d_t src_image, read_only image2d_t fwd_ref_image,18134 read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,18135 intel_sub_group_avc_ref_payload_t payload);18136intel_sub_group_avc_ref_result_t __ovld18137intel_sub_group_avc_ref_evaluate_with_multi_reference(18138 read_only image2d_t src_image, uint packed_reference_ids,18139 sampler_t vme_media_sampler, intel_sub_group_avc_ref_payload_t payload);18140intel_sub_group_avc_ref_result_t __ovld18141intel_sub_group_avc_ref_evaluate_with_multi_reference(18142 read_only image2d_t src_image, uint packed_reference_ids,18143 uchar packed_reference_field_polarities, sampler_t vme_media_sampler,18144 intel_sub_group_avc_ref_payload_t payload);18145#endif //defined(__opencl_c_images)18146 18147// SIC built-in functions18148intel_sub_group_avc_sic_payload_t __ovld18149intel_sub_group_avc_sic_initialize(18150 ushort2 src_coord);18151intel_sub_group_avc_sic_payload_t __ovld18152intel_sub_group_avc_sic_configure_skc(18153 uint skip_block_partition_type, uint skip_motion_vector_mask,18154 ulong motion_vectors, uchar bidirectional_weight, uchar skip_sad_adjustment,18155 intel_sub_group_avc_sic_payload_t payload);18156intel_sub_group_avc_sic_payload_t __ovld intel_sub_group_avc_sic_configure_ipe(18157 uchar luma_intra_partition_mask, uchar intra_neighbour_availability,18158 uchar left_edge_luma_pixels, uchar upper_left_corner_luma_pixel,18159 uchar upper_edge_luma_pixels, uchar upper_right_edge_luma_pixels,18160 uchar intra_sad_adjustment, intel_sub_group_avc_sic_payload_t payload);18161intel_sub_group_avc_sic_payload_t __ovld intel_sub_group_avc_sic_configure_ipe(18162 uchar luma_intra_partition_mask, uchar intra_neighbour_availability,18163 uchar left_edge_luma_pixels, uchar upper_left_corner_luma_pixel,18164 uchar upper_edge_luma_pixels, uchar upper_right_edge_luma_pixels,18165 ushort left_edge_chroma_pixels, ushort upper_left_corner_chroma_pixel,18166 ushort upper_edge_chroma_pixels, uchar intra_sad_adjustment,18167 intel_sub_group_avc_sic_payload_t payload);18168uint __ovld18169intel_sub_group_avc_sic_get_motion_vector_mask(18170 uint skip_block_partition_type, uchar direction);18171 18172intel_sub_group_avc_sic_payload_t __ovld18173intel_sub_group_avc_sic_set_intra_luma_shape_penalty(18174 uint packed_shape_cost, intel_sub_group_avc_sic_payload_t payload);18175intel_sub_group_avc_sic_payload_t __ovld18176intel_sub_group_avc_sic_set_intra_luma_mode_cost_function(18177 uchar luma_mode_penalty, uint luma_packed_neighbor_modes,18178 uint luma_packed_non_dc_penalty, intel_sub_group_avc_sic_payload_t payload);18179intel_sub_group_avc_sic_payload_t __ovld18180intel_sub_group_avc_sic_set_intra_chroma_mode_cost_function(18181 uchar chroma_mode_penalty, intel_sub_group_avc_sic_payload_t payload);18182 18183intel_sub_group_avc_sic_payload_t __ovld18184intel_sub_group_avc_sic_set_skc_bilinear_filter_enable(18185 intel_sub_group_avc_sic_payload_t payload);18186intel_sub_group_avc_sic_payload_t __ovld18187intel_sub_group_avc_sic_set_skc_forward_transform_enable(18188 ulong packed_sad_coefficients, intel_sub_group_avc_sic_payload_t payload);18189intel_sub_group_avc_sic_payload_t __ovld18190intel_sub_group_avc_sic_set_block_based_raw_skip_sad(18191 uchar block_based_skip_type,18192 intel_sub_group_avc_sic_payload_t payload);18193 18194#if defined(__opencl_c_images)18195intel_sub_group_avc_sic_result_t __ovld18196intel_sub_group_avc_sic_evaluate_ipe(18197 read_only image2d_t src_image, sampler_t vme_media_sampler,18198 intel_sub_group_avc_sic_payload_t payload);18199intel_sub_group_avc_sic_result_t __ovld18200intel_sub_group_avc_sic_evaluate_with_single_reference(18201 read_only image2d_t src_image, read_only image2d_t ref_image,18202 sampler_t vme_media_sampler, intel_sub_group_avc_sic_payload_t payload);18203intel_sub_group_avc_sic_result_t __ovld18204intel_sub_group_avc_sic_evaluate_with_dual_reference(18205 read_only image2d_t src_image, read_only image2d_t fwd_ref_image,18206 read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,18207 intel_sub_group_avc_sic_payload_t payload);18208intel_sub_group_avc_sic_result_t __ovld18209intel_sub_group_avc_sic_evaluate_with_multi_reference(18210 read_only image2d_t src_image, uint packed_reference_ids,18211 sampler_t vme_media_sampler, intel_sub_group_avc_sic_payload_t payload);18212intel_sub_group_avc_sic_result_t __ovld18213intel_sub_group_avc_sic_evaluate_with_multi_reference(18214 read_only image2d_t src_image, uint packed_reference_ids,18215 uchar packed_reference_field_polarities, sampler_t vme_media_sampler,18216 intel_sub_group_avc_sic_payload_t payload);18217#endif //defined(__opencl_c_images)18218 18219uchar __ovld intel_sub_group_avc_sic_get_ipe_luma_shape(18220 intel_sub_group_avc_sic_result_t result);18221ushort __ovld intel_sub_group_avc_sic_get_best_ipe_luma_distortion(18222 intel_sub_group_avc_sic_result_t result);18223ushort __ovld intel_sub_group_avc_sic_get_best_ipe_chroma_distortion(18224 intel_sub_group_avc_sic_result_t result);18225ulong __ovld intel_sub_group_avc_sic_get_packed_ipe_luma_modes(18226 intel_sub_group_avc_sic_result_t result);18227uchar __ovld intel_sub_group_avc_sic_get_ipe_chroma_mode(18228 intel_sub_group_avc_sic_result_t result);18229uint __ovld intel_sub_group_avc_sic_get_packed_skc_luma_count_threshold(18230 intel_sub_group_avc_sic_result_t result);18231ulong __ovld intel_sub_group_avc_sic_get_packed_skc_luma_sum_threshold(18232 intel_sub_group_avc_sic_result_t result);18233ushort __ovld intel_sub_group_avc_sic_get_inter_raw_sads(18234 intel_sub_group_avc_sic_result_t result);18235 18236// Wrappers18237intel_sub_group_avc_ime_payload_t __ovld18238intel_sub_group_avc_ime_set_inter_base_multi_reference_penalty(18239 uchar reference_base_penalty, intel_sub_group_avc_ime_payload_t payload);18240intel_sub_group_avc_ref_payload_t __ovld18241intel_sub_group_avc_ref_set_inter_base_multi_reference_penalty(18242 uchar reference_base_penalty, intel_sub_group_avc_ref_payload_t payload);18243intel_sub_group_avc_sic_payload_t __ovld18244intel_sub_group_avc_sic_set_inter_base_multi_reference_penalty(18245 uchar reference_base_penalty, intel_sub_group_avc_sic_payload_t payload);18246 18247intel_sub_group_avc_ime_payload_t __ovld18248intel_sub_group_avc_ime_set_inter_shape_penalty(18249 ulong packed_shape_cost, intel_sub_group_avc_ime_payload_t payload);18250intel_sub_group_avc_ref_payload_t __ovld18251intel_sub_group_avc_ref_set_inter_shape_penalty(18252 ulong packed_shape_cost, intel_sub_group_avc_ref_payload_t payload);18253intel_sub_group_avc_sic_payload_t __ovld18254intel_sub_group_avc_sic_set_inter_shape_penalty(18255 ulong packed_shape_cost, intel_sub_group_avc_sic_payload_t payload);18256 18257intel_sub_group_avc_ime_payload_t __ovld18258intel_sub_group_avc_ime_set_inter_direction_penalty(18259 uchar direction_cost, intel_sub_group_avc_ime_payload_t payload);18260intel_sub_group_avc_ref_payload_t __ovld18261intel_sub_group_avc_ref_set_inter_direction_penalty(18262 uchar direction_cost, intel_sub_group_avc_ref_payload_t payload);18263intel_sub_group_avc_sic_payload_t __ovld18264intel_sub_group_avc_sic_set_inter_direction_penalty(18265 uchar direction_cost, intel_sub_group_avc_sic_payload_t payload);18266 18267intel_sub_group_avc_ime_payload_t __ovld18268intel_sub_group_avc_ime_set_motion_vector_cost_function(18269 ulong packed_cost_center_delta, uint2 packed_cost_table,18270 uchar cost_precision, intel_sub_group_avc_ime_payload_t payload);18271intel_sub_group_avc_ref_payload_t __ovld18272intel_sub_group_avc_ref_set_motion_vector_cost_function(18273 ulong packed_cost_center_delta, uint2 packed_cost_table,18274 uchar cost_precision, intel_sub_group_avc_ref_payload_t payload);18275intel_sub_group_avc_sic_payload_t __ovld18276intel_sub_group_avc_sic_set_motion_vector_cost_function(18277 ulong packed_cost_center_delta, uint2 packed_cost_table,18278 uchar cost_precision, intel_sub_group_avc_sic_payload_t payload);18279 18280intel_sub_group_avc_ime_payload_t __ovld18281intel_sub_group_avc_ime_set_source_interlaced_field_polarity(18282 uchar src_field_polarity, intel_sub_group_avc_ime_payload_t payload);18283intel_sub_group_avc_ref_payload_t __ovld18284intel_sub_group_avc_ref_set_source_interlaced_field_polarity(18285 uchar src_field_polarity, intel_sub_group_avc_ref_payload_t payload);18286intel_sub_group_avc_sic_payload_t __ovld18287intel_sub_group_avc_sic_set_source_interlaced_field_polarity(18288 uchar src_field_polarity, intel_sub_group_avc_sic_payload_t payload);18289 18290intel_sub_group_avc_ime_payload_t __ovld18291intel_sub_group_avc_ime_set_single_reference_interlaced_field_polarity(18292 uchar ref_field_polarity, intel_sub_group_avc_ime_payload_t payload);18293intel_sub_group_avc_ref_payload_t __ovld18294intel_sub_group_avc_ref_set_single_reference_interlaced_field_polarity(18295 uchar ref_field_polarity, intel_sub_group_avc_ref_payload_t payload);18296intel_sub_group_avc_sic_payload_t __ovld18297intel_sub_group_avc_sic_set_single_reference_interlaced_field_polarity(18298 uchar ref_field_polarity, intel_sub_group_avc_sic_payload_t payload);18299intel_sub_group_avc_ime_payload_t __ovld18300intel_sub_group_avc_ime_set_dual_reference_interlaced_field_polarities(18301 uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,18302 intel_sub_group_avc_ime_payload_t payload);18303intel_sub_group_avc_ref_payload_t __ovld18304intel_sub_group_avc_ref_set_dual_reference_interlaced_field_polarities(18305 uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,18306 intel_sub_group_avc_ref_payload_t payload);18307intel_sub_group_avc_sic_payload_t __ovld18308intel_sub_group_avc_sic_set_dual_reference_interlaced_field_polarities(18309 uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,18310 intel_sub_group_avc_sic_payload_t payload);18311 18312intel_sub_group_avc_ime_payload_t __ovld18313intel_sub_group_avc_ime_set_ac_only_haar(18314 intel_sub_group_avc_ime_payload_t payload);18315intel_sub_group_avc_ref_payload_t __ovld18316intel_sub_group_avc_ref_set_ac_only_haar(18317 intel_sub_group_avc_ref_payload_t payload);18318intel_sub_group_avc_sic_payload_t __ovld18319intel_sub_group_avc_sic_set_ac_only_haar(18320 intel_sub_group_avc_sic_payload_t payload);18321 18322ulong __ovld intel_sub_group_avc_ime_get_motion_vectors(18323 intel_sub_group_avc_ime_result_t result);18324ulong __ovld intel_sub_group_avc_ref_get_motion_vectors(18325 intel_sub_group_avc_ref_result_t result);18326 18327ushort __ovld intel_sub_group_avc_ime_get_inter_distortions(18328 intel_sub_group_avc_ime_result_t result);18329ushort __ovld intel_sub_group_avc_ref_get_inter_distortions(18330 intel_sub_group_avc_ref_result_t result);18331ushort __ovld intel_sub_group_avc_sic_get_inter_distortions(18332 intel_sub_group_avc_sic_result_t result);18333 18334ushort __ovld intel_sub_group_avc_ime_get_best_inter_distortion(18335 intel_sub_group_avc_ime_result_t result);18336ushort __ovld intel_sub_group_avc_ref_get_best_inter_distortion(18337 intel_sub_group_avc_ref_result_t result);18338 18339uchar __ovld intel_sub_group_avc_ime_get_inter_major_shape(18340 intel_sub_group_avc_ime_result_t result);18341uchar __ovld intel_sub_group_avc_ref_get_inter_major_shape(18342 intel_sub_group_avc_ref_result_t result);18343uchar __ovld intel_sub_group_avc_ime_get_inter_minor_shapes(18344 intel_sub_group_avc_ime_result_t result);18345uchar __ovld intel_sub_group_avc_ref_get_inter_minor_shapes(18346 intel_sub_group_avc_ref_result_t result);18347 18348uchar __ovld intel_sub_group_avc_ime_get_inter_directions(18349 intel_sub_group_avc_ime_result_t result);18350uchar __ovld intel_sub_group_avc_ref_get_inter_directions(18351 intel_sub_group_avc_ref_result_t result);18352 18353uchar __ovld intel_sub_group_avc_ime_get_inter_motion_vector_count(18354 intel_sub_group_avc_ime_result_t result);18355uchar __ovld intel_sub_group_avc_ref_get_inter_motion_vector_count(18356 intel_sub_group_avc_ref_result_t result);18357 18358uint __ovld intel_sub_group_avc_ime_get_inter_reference_ids(18359 intel_sub_group_avc_ime_result_t result);18360uint __ovld intel_sub_group_avc_ref_get_inter_reference_ids(18361 intel_sub_group_avc_ref_result_t result);18362 18363uchar __ovld18364intel_sub_group_avc_ime_get_inter_reference_interlaced_field_polarities(18365 uint packed_reference_ids, uint packed_reference_parameter_field_polarities,18366 intel_sub_group_avc_ime_result_t result);18367uchar __ovld18368intel_sub_group_avc_ref_get_inter_reference_interlaced_field_polarities(18369 uint packed_reference_ids, uint packed_reference_parameter_field_polarities,18370 intel_sub_group_avc_ref_result_t result);18371 18372// Type conversion functions18373intel_sub_group_avc_mce_payload_t __ovld18374intel_sub_group_avc_ime_convert_to_mce_payload(18375 intel_sub_group_avc_ime_payload_t payload);18376intel_sub_group_avc_ime_payload_t __ovld18377intel_sub_group_avc_mce_convert_to_ime_payload(18378 intel_sub_group_avc_mce_payload_t payload);18379intel_sub_group_avc_mce_payload_t __ovld18380intel_sub_group_avc_ref_convert_to_mce_payload(18381 intel_sub_group_avc_ref_payload_t payload);18382intel_sub_group_avc_ref_payload_t __ovld18383intel_sub_group_avc_mce_convert_to_ref_payload(18384 intel_sub_group_avc_mce_payload_t payload);18385intel_sub_group_avc_mce_payload_t __ovld18386intel_sub_group_avc_sic_convert_to_mce_payload(18387 intel_sub_group_avc_sic_payload_t payload);18388intel_sub_group_avc_sic_payload_t __ovld18389intel_sub_group_avc_mce_convert_to_sic_payload(18390 intel_sub_group_avc_mce_payload_t payload);18391 18392intel_sub_group_avc_mce_result_t __ovld18393intel_sub_group_avc_ime_convert_to_mce_result(18394 intel_sub_group_avc_ime_result_t result);18395intel_sub_group_avc_ime_result_t __ovld18396intel_sub_group_avc_mce_convert_to_ime_result(18397 intel_sub_group_avc_mce_result_t result);18398intel_sub_group_avc_mce_result_t __ovld18399intel_sub_group_avc_ref_convert_to_mce_result(18400 intel_sub_group_avc_ref_result_t result);18401intel_sub_group_avc_ref_result_t __ovld18402intel_sub_group_avc_mce_convert_to_ref_result(18403 intel_sub_group_avc_mce_result_t result);18404intel_sub_group_avc_mce_result_t __ovld18405intel_sub_group_avc_sic_convert_to_mce_result(18406 intel_sub_group_avc_sic_result_t result);18407intel_sub_group_avc_sic_result_t __ovld18408intel_sub_group_avc_mce_convert_to_sic_result(18409 intel_sub_group_avc_mce_result_t result);18410#pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : end18411#endif // cl_intel_device_side_avc_motion_estimation18412 18413#if defined(cl_intel_bfloat16_conversions)18414ushort __ovld intel_convert_bfloat16_as_ushort(float source);18415ushort2 __ovld intel_convert_bfloat162_as_ushort2(float2 source);18416ushort3 __ovld intel_convert_bfloat163_as_ushort3(float3 source);18417ushort4 __ovld intel_convert_bfloat164_as_ushort4(float4 source);18418ushort8 __ovld intel_convert_bfloat168_as_ushort8(float8 source);18419ushort16 __ovld intel_convert_bfloat1616_as_ushort16(float16 source);18420 18421float __ovld intel_convert_as_bfloat16_float(ushort source);18422float2 __ovld intel_convert_as_bfloat162_float2(ushort2 source);18423float3 __ovld intel_convert_as_bfloat163_float3(ushort3 source);18424float4 __ovld intel_convert_as_bfloat164_float4(ushort4 source);18425float8 __ovld intel_convert_as_bfloat168_float8(ushort8 source);18426float16 __ovld intel_convert_as_bfloat1616_float16(ushort16 source);18427#endif // cl_intel_bfloat16_conversions18428 18429#ifdef cl_amd_media_ops18430uint __ovld amd_bitalign(uint, uint, uint);18431uint2 __ovld amd_bitalign(uint2, uint2, uint2);18432uint3 __ovld amd_bitalign(uint3, uint3, uint3);18433uint4 __ovld amd_bitalign(uint4, uint4, uint4);18434uint8 __ovld amd_bitalign(uint8, uint8, uint8);18435uint16 __ovld amd_bitalign(uint16, uint16, uint16);18436 18437uint __ovld amd_bytealign(uint, uint, uint);18438uint2 __ovld amd_bytealign(uint2, uint2, uint2);18439uint3 __ovld amd_bytealign(uint3, uint3, uint3);18440uint4 __ovld amd_bytealign(uint4, uint4, uint4);18441uint8 __ovld amd_bytealign(uint8, uint8, uint8);18442uint16 __ovld amd_bytealign(uint16, uint16, uint16);18443 18444uint __ovld amd_lerp(uint, uint, uint);18445uint2 __ovld amd_lerp(uint2, uint2, uint2);18446uint3 __ovld amd_lerp(uint3, uint3, uint3);18447uint4 __ovld amd_lerp(uint4, uint4, uint4);18448uint8 __ovld amd_lerp(uint8, uint8, uint8);18449uint16 __ovld amd_lerp(uint16, uint16, uint16);18450 18451uint __ovld amd_pack(float4 v);18452 18453uint __ovld amd_sad4(uint4, uint4, uint);18454 18455uint __ovld amd_sadhi(uint, uint, uint);18456uint2 __ovld amd_sadhi(uint2, uint2, uint2);18457uint3 __ovld amd_sadhi(uint3, uint3, uint3);18458uint4 __ovld amd_sadhi(uint4, uint4, uint4);18459uint8 __ovld amd_sadhi(uint8, uint8, uint8);18460uint16 __ovld amd_sadhi(uint16, uint16, uint16);18461 18462uint __ovld amd_sad(uint, uint, uint);18463uint2 __ovld amd_sad(uint2, uint2, uint2);18464uint3 __ovld amd_sad(uint3, uint3, uint3);18465uint4 __ovld amd_sad(uint4, uint4, uint4);18466uint8 __ovld amd_sad(uint8, uint8, uint8);18467uint16 __ovld amd_sad(uint16, uint16, uint16);18468 18469float __ovld amd_unpack0(uint);18470float2 __ovld amd_unpack0(uint2);18471float3 __ovld amd_unpack0(uint3);18472float4 __ovld amd_unpack0(uint4);18473float8 __ovld amd_unpack0(uint8);18474float16 __ovld amd_unpack0(uint16);18475 18476float __ovld amd_unpack1(uint);18477float2 __ovld amd_unpack1(uint2);18478float3 __ovld amd_unpack1(uint3);18479float4 __ovld amd_unpack1(uint4);18480float8 __ovld amd_unpack1(uint8);18481float16 __ovld amd_unpack1(uint16);18482 18483float __ovld amd_unpack2(uint);18484float2 __ovld amd_unpack2(uint2);18485float3 __ovld amd_unpack2(uint3);18486float4 __ovld amd_unpack2(uint4);18487float8 __ovld amd_unpack2(uint8);18488float16 __ovld amd_unpack2(uint16);18489 18490float __ovld amd_unpack3(uint);18491float2 __ovld amd_unpack3(uint2);18492float3 __ovld amd_unpack3(uint3);18493float4 __ovld amd_unpack3(uint4);18494float8 __ovld amd_unpack3(uint8);18495float16 __ovld amd_unpack3(uint16);18496#endif // cl_amd_media_ops18497 18498#ifdef cl_amd_media_ops218499int __ovld amd_bfe(int src0, uint src1, uint src2);18500int2 __ovld amd_bfe(int2 src0, uint2 src1, uint2 src2);18501int3 __ovld amd_bfe(int3 src0, uint3 src1, uint3 src2);18502int4 __ovld amd_bfe(int4 src0, uint4 src1, uint4 src2);18503int8 __ovld amd_bfe(int8 src0, uint8 src1, uint8 src2);18504int16 __ovld amd_bfe(int16 src0, uint16 src1, uint16 src2);18505 18506uint __ovld amd_bfe(uint src0, uint src1, uint src2);18507uint2 __ovld amd_bfe(uint2 src0, uint2 src1, uint2 src2);18508uint3 __ovld amd_bfe(uint3 src0, uint3 src1, uint3 src2);18509uint4 __ovld amd_bfe(uint4 src0, uint4 src1, uint4 src2);18510uint8 __ovld amd_bfe(uint8 src0, uint8 src1, uint8 src2);18511uint16 __ovld amd_bfe(uint16 src0, uint16 src1, uint16 src2);18512 18513uint __ovld amd_bfm(uint src0, uint src1);18514uint2 __ovld amd_bfm(uint2 src0, uint2 src1);18515uint3 __ovld amd_bfm(uint3 src0, uint3 src1);18516uint4 __ovld amd_bfm(uint4 src0, uint4 src1);18517uint8 __ovld amd_bfm(uint8 src0, uint8 src1);18518uint16 __ovld amd_bfm(uint16 src0, uint16 src1);18519 18520float __ovld amd_max3(float src0, float src1, float src2);18521float2 __ovld amd_max3(float2 src0, float2 src1, float2 src2);18522float3 __ovld amd_max3(float3 src0, float3 src1, float3 src2);18523float4 __ovld amd_max3(float4 src0, float4 src1, float4 src2);18524float8 __ovld amd_max3(float8 src0, float8 src1, float8 src2);18525float16 __ovld amd_max3(float16 src0, float16 src1, float16 src2);18526 18527int __ovld amd_max3(int src0, int src1, int src2);18528int2 __ovld amd_max3(int2 src0, int2 src1, int2 src2);18529int3 __ovld amd_max3(int3 src0, int3 src1, int3 src2);18530int4 __ovld amd_max3(int4 src0, int4 src1, int4 src2);18531int8 __ovld amd_max3(int8 src0, int8 src1, int8 src2);18532int16 __ovld amd_max3(int16 src0, int16 src1, int16 src2);18533 18534uint __ovld amd_max3(uint src0, uint src1, uint src2);18535uint2 __ovld amd_max3(uint2 src0, uint2 src1, uint2 src2);18536uint3 __ovld amd_max3(uint3 src0, uint3 src1, uint3 src2);18537uint4 __ovld amd_max3(uint4 src0, uint4 src1, uint4 src2);18538uint8 __ovld amd_max3(uint8 src0, uint8 src1, uint8 src2);18539uint16 __ovld amd_max3(uint16 src0, uint16 src1, uint16 src2);18540 18541float __ovld amd_median3(float src0, float src1, float src2);18542float2 __ovld amd_median3(float2 src0, float2 src1, float2 src2);18543float3 __ovld amd_median3(float3 src0, float3 src1, float3 src2);18544float4 __ovld amd_median3(float4 src0, float4 src1, float4 src2);18545float8 __ovld amd_median3(float8 src0, float8 src1, float8 src2);18546float16 __ovld amd_median3(float16 src0, float16 src1, float16 src2);18547 18548int __ovld amd_median3(int src0, int src1, int src2);18549int2 __ovld amd_median3(int2 src0, int2 src1, int2 src2);18550int3 __ovld amd_median3(int3 src0, int3 src1, int3 src2);18551int4 __ovld amd_median3(int4 src0, int4 src1, int4 src2);18552int8 __ovld amd_median3(int8 src0, int8 src1, int8 src2);18553int16 __ovld amd_median3(int16 src0, int16 src1, int16 src2);18554 18555uint __ovld amd_median3(uint src0, uint src1, uint src2);18556uint2 __ovld amd_median3(uint2 src0, uint2 src1, uint2 src2);18557uint3 __ovld amd_median3(uint3 src0, uint3 src1, uint3 src2);18558uint4 __ovld amd_median3(uint4 src0, uint4 src1, uint4 src2);18559uint8 __ovld amd_median3(uint8 src0, uint8 src1, uint8 src2);18560uint16 __ovld amd_median3(uint16 src0, uint16 src1, uint16 src2);18561 18562float __ovld amd_min3(float src0, float src1, float src);18563float2 __ovld amd_min3(float2 src0, float2 src1, float2 src);18564float3 __ovld amd_min3(float3 src0, float3 src1, float3 src);18565float4 __ovld amd_min3(float4 src0, float4 src1, float4 src);18566float8 __ovld amd_min3(float8 src0, float8 src1, float8 src);18567float16 __ovld amd_min3(float16 src0, float16 src1, float16 src);18568 18569int __ovld amd_min3(int src0, int src1, int src2);18570int2 __ovld amd_min3(int2 src0, int2 src1, int2 src2);18571int3 __ovld amd_min3(int3 src0, int3 src1, int3 src2);18572int4 __ovld amd_min3(int4 src0, int4 src1, int4 src2);18573int8 __ovld amd_min3(int8 src0, int8 src1, int8 src2);18574int16 __ovld amd_min3(int16 src0, int16 src1, int16 src2);18575 18576uint __ovld amd_min3(uint src0, uint src1, uint src2);18577uint2 __ovld amd_min3(uint2 src0, uint2 src1, uint2 src2);18578uint3 __ovld amd_min3(uint3 src0, uint3 src1, uint3 src2);18579uint4 __ovld amd_min3(uint4 src0, uint4 src1, uint4 src2);18580uint8 __ovld amd_min3(uint8 src0, uint8 src1, uint8 src2);18581uint16 __ovld amd_min3(uint16 src0, uint16 src1, uint16 src2);18582 18583ulong __ovld amd_mqsad(ulong src0, uint src1, ulong src2);18584ulong2 __ovld amd_mqsad(ulong2 src0, uint2 src1, ulong2 src2);18585ulong3 __ovld amd_mqsad(ulong3 src0, uint3 src1, ulong3 src2);18586ulong4 __ovld amd_mqsad(ulong4 src0, uint4 src1, ulong4 src2);18587ulong8 __ovld amd_mqsad(ulong8 src0, uint8 src1, ulong8 src2);18588ulong16 __ovld amd_mqsad(ulong16 src0, uint16 src1, ulong16 src2);18589 18590ulong __ovld amd_qsad(ulong src0, uint src1, ulong src2);18591ulong2 __ovld amd_qsad(ulong2 src0, uint2 src1, ulong2 src2);18592ulong3 __ovld amd_qsad(ulong3 src0, uint3 src1, ulong3 src2);18593ulong4 __ovld amd_qsad(ulong4 src0, uint4 src1, ulong4 src2);18594ulong8 __ovld amd_qsad(ulong8 src0, uint8 src1, ulong8 src2);18595ulong16 __ovld amd_qsad(ulong16 src0, uint16 src1, ulong16 src2);18596 18597uint __ovld amd_msad(uint src0, uint src1, uint src2);18598uint2 __ovld amd_msad(uint2 src0, uint2 src1, uint2 src2);18599uint3 __ovld amd_msad(uint3 src0, uint3 src1, uint3 src2);18600uint4 __ovld amd_msad(uint4 src0, uint4 src1, uint4 src2);18601uint8 __ovld amd_msad(uint8 src0, uint8 src1, uint8 src2);18602uint16 __ovld amd_msad(uint16 src0, uint16 src1, uint16 src2);18603 18604uint __ovld amd_sadd(uint src0, uint src1, uint src2);18605uint2 __ovld amd_sadd(uint2 src0, uint2 src1, uint2 src2);18606uint3 __ovld amd_sadd(uint3 src0, uint3 src1, uint3 src2);18607uint4 __ovld amd_sadd(uint4 src0, uint4 src1, uint4 src2);18608uint8 __ovld amd_sadd(uint8 src0, uint8 src1, uint8 src2);18609uint16 __ovld amd_sadd(uint16 src0, uint16 src1, uint16 src2);18610 18611uint __ovld amd_sadw(uint src0, uint src1, uint src2);18612uint2 __ovld amd_sadw(uint2 src0, uint2 src1, uint2 src2);18613uint3 __ovld amd_sadw(uint3 src0, uint3 src1, uint3 src2);18614uint4 __ovld amd_sadw(uint4 src0, uint4 src1, uint4 src2);18615uint8 __ovld amd_sadw(uint8 src0, uint8 src1, uint8 src2);18616uint16 __ovld amd_sadw(uint16 src0, uint16 src1, uint16 src2);18617#endif // cl_amd_media_ops218618 18619#if defined(cl_arm_integer_dot_product_int8)18620uint __ovld arm_dot(uchar4, uchar4);18621int __ovld arm_dot(char4, char4);18622#endif // defined(cl_arm_integer_dot_product_int8)18623 18624#if defined(cl_arm_integer_dot_product_accumulate_int8)18625uint __ovld arm_dot_acc(uchar4, uchar4, uint);18626int __ovld arm_dot_acc(char4, char4, int);18627#endif // defined(cl_arm_integer_dot_product_accumulate_int8)18628 18629#if defined(cl_arm_integer_dot_product_accumulate_int16)18630uint __ovld arm_dot_acc(ushort2, ushort2, uint);18631int __ovld arm_dot_acc(short2, short2, int);18632#endif // defined(cl_arm_integer_dot_product_accumulate_int16)18633 18634#if defined(cl_arm_integer_dot_product_accumulate_saturate_int8)18635uint __ovld arm_dot_acc_sat(uchar4, uchar4, uint);18636int __ovld arm_dot_acc_sat(char4, char4, int);18637#endif // defined(cl_arm_integer_dot_product_accumulate_saturate_int8)18638 18639// Disable any extensions we may have enabled previously.18640#pragma OPENCL EXTENSION all : disable18641 18642#undef __opencl_c_named_address_space_builtins18643 18644#undef __cnfn18645#undef __ovld18646#endif //_OPENCL_H_18647