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-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef _OPENCL_H_
10#define _OPENCL_H_
11
12#include "opencl-c-base.h"
13
14#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15#ifndef cl_khr_depth_images
16#define cl_khr_depth_images
17#endif //cl_khr_depth_images
18#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
19
20#if __OPENCL_C_VERSION__ < CL_VERSION_2_0
21#ifdef cl_khr_3d_image_writes
22#pragma OPENCL EXTENSION cl_khr_3d_image_writes : enable
23#endif //cl_khr_3d_image_writes
24#endif //__OPENCL_C_VERSION__ < CL_VERSION_2_0
25
26#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
27#pragma OPENCL EXTENSION cl_intel_planar_yuv : begin
28#pragma OPENCL EXTENSION cl_intel_planar_yuv : end
29#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
30
31#define __ovld __attribute__((overloadable))
32#define __conv __attribute__((convergent))
33
34// Optimizations
35#define __purefn __attribute__((pure))
36#define __cnfn __attribute__((const))
37
38
39// OpenCL v1.1/1.2/2.0 s6.2.3 - Explicit conversions
40
41char __ovld __cnfn convert_char_rte(char);
42char __ovld __cnfn convert_char_sat_rte(char);
43char __ovld __cnfn convert_char_rtz(char);
44char __ovld __cnfn convert_char_sat_rtz(char);
45char __ovld __cnfn convert_char_rtp(char);
46char __ovld __cnfn convert_char_sat_rtp(char);
47char __ovld __cnfn convert_char_rtn(char);
48char __ovld __cnfn convert_char_sat_rtn(char);
49char __ovld __cnfn convert_char(char);
50char __ovld __cnfn convert_char_sat(char);
51char __ovld __cnfn convert_char_rte(uchar);
52char __ovld __cnfn convert_char_sat_rte(uchar);
53char __ovld __cnfn convert_char_rtz(uchar);
54char __ovld __cnfn convert_char_sat_rtz(uchar);
55char __ovld __cnfn convert_char_rtp(uchar);
56char __ovld __cnfn convert_char_sat_rtp(uchar);
57char __ovld __cnfn convert_char_rtn(uchar);
58char __ovld __cnfn convert_char_sat_rtn(uchar);
59char __ovld __cnfn convert_char(uchar);
60char __ovld __cnfn convert_char_sat(uchar);
61char __ovld __cnfn convert_char_rte(short);
62char __ovld __cnfn convert_char_sat_rte(short);
63char __ovld __cnfn convert_char_rtz(short);
64char __ovld __cnfn convert_char_sat_rtz(short);
65char __ovld __cnfn convert_char_rtp(short);
66char __ovld __cnfn convert_char_sat_rtp(short);
67char __ovld __cnfn convert_char_rtn(short);
68char __ovld __cnfn convert_char_sat_rtn(short);
69char __ovld __cnfn convert_char(short);
70char __ovld __cnfn convert_char_sat(short);
71char __ovld __cnfn convert_char_rte(ushort);
72char __ovld __cnfn convert_char_sat_rte(ushort);
73char __ovld __cnfn convert_char_rtz(ushort);
74char __ovld __cnfn convert_char_sat_rtz(ushort);
75char __ovld __cnfn convert_char_rtp(ushort);
76char __ovld __cnfn convert_char_sat_rtp(ushort);
77char __ovld __cnfn convert_char_rtn(ushort);
78char __ovld __cnfn convert_char_sat_rtn(ushort);
79char __ovld __cnfn convert_char(ushort);
80char __ovld __cnfn convert_char_sat(ushort);
81char __ovld __cnfn convert_char_rte(int);
82char __ovld __cnfn convert_char_sat_rte(int);
83char __ovld __cnfn convert_char_rtz(int);
84char __ovld __cnfn convert_char_sat_rtz(int);
85char __ovld __cnfn convert_char_rtp(int);
86char __ovld __cnfn convert_char_sat_rtp(int);
87char __ovld __cnfn convert_char_rtn(int);
88char __ovld __cnfn convert_char_sat_rtn(int);
89char __ovld __cnfn convert_char(int);
90char __ovld __cnfn convert_char_sat(int);
91char __ovld __cnfn convert_char_rte(uint);
92char __ovld __cnfn convert_char_sat_rte(uint);
93char __ovld __cnfn convert_char_rtz(uint);
94char __ovld __cnfn convert_char_sat_rtz(uint);
95char __ovld __cnfn convert_char_rtp(uint);
96char __ovld __cnfn convert_char_sat_rtp(uint);
97char __ovld __cnfn convert_char_rtn(uint);
98char __ovld __cnfn convert_char_sat_rtn(uint);
99char __ovld __cnfn convert_char(uint);
100char __ovld __cnfn convert_char_sat(uint);
101char __ovld __cnfn convert_char_rte(long);
102char __ovld __cnfn convert_char_sat_rte(long);
103char __ovld __cnfn convert_char_rtz(long);
104char __ovld __cnfn convert_char_sat_rtz(long);
105char __ovld __cnfn convert_char_rtp(long);
106char __ovld __cnfn convert_char_sat_rtp(long);
107char __ovld __cnfn convert_char_rtn(long);
108char __ovld __cnfn convert_char_sat_rtn(long);
109char __ovld __cnfn convert_char(long);
110char __ovld __cnfn convert_char_sat(long);
111char __ovld __cnfn convert_char_rte(ulong);
112char __ovld __cnfn convert_char_sat_rte(ulong);
113char __ovld __cnfn convert_char_rtz(ulong);
114char __ovld __cnfn convert_char_sat_rtz(ulong);
115char __ovld __cnfn convert_char_rtp(ulong);
116char __ovld __cnfn convert_char_sat_rtp(ulong);
117char __ovld __cnfn convert_char_rtn(ulong);
118char __ovld __cnfn convert_char_sat_rtn(ulong);
119char __ovld __cnfn convert_char(ulong);
120char __ovld __cnfn convert_char_sat(ulong);
121char __ovld __cnfn convert_char_rte(float);
122char __ovld __cnfn convert_char_sat_rte(float);
123char __ovld __cnfn convert_char_rtz(float);
124char __ovld __cnfn convert_char_sat_rtz(float);
125char __ovld __cnfn convert_char_rtp(float);
126char __ovld __cnfn convert_char_sat_rtp(float);
127char __ovld __cnfn convert_char_rtn(float);
128char __ovld __cnfn convert_char_sat_rtn(float);
129char __ovld __cnfn convert_char(float);
130char __ovld __cnfn convert_char_sat(float);
131uchar __ovld __cnfn convert_uchar_rte(char);
132uchar __ovld __cnfn convert_uchar_sat_rte(char);
133uchar __ovld __cnfn convert_uchar_rtz(char);
134uchar __ovld __cnfn convert_uchar_sat_rtz(char);
135uchar __ovld __cnfn convert_uchar_rtp(char);
136uchar __ovld __cnfn convert_uchar_sat_rtp(char);
137uchar __ovld __cnfn convert_uchar_rtn(char);
138uchar __ovld __cnfn convert_uchar_sat_rtn(char);
139uchar __ovld __cnfn convert_uchar(char);
140uchar __ovld __cnfn convert_uchar_sat(char);
141uchar __ovld __cnfn convert_uchar_rte(uchar);
142uchar __ovld __cnfn convert_uchar_sat_rte(uchar);
143uchar __ovld __cnfn convert_uchar_rtz(uchar);
144uchar __ovld __cnfn convert_uchar_sat_rtz(uchar);
145uchar __ovld __cnfn convert_uchar_rtp(uchar);
146uchar __ovld __cnfn convert_uchar_sat_rtp(uchar);
147uchar __ovld __cnfn convert_uchar_rtn(uchar);
148uchar __ovld __cnfn convert_uchar_sat_rtn(uchar);
149uchar __ovld __cnfn convert_uchar(uchar);
150uchar __ovld __cnfn convert_uchar_sat(uchar);
151uchar __ovld __cnfn convert_uchar_rte(short);
152uchar __ovld __cnfn convert_uchar_sat_rte(short);
153uchar __ovld __cnfn convert_uchar_rtz(short);
154uchar __ovld __cnfn convert_uchar_sat_rtz(short);
155uchar __ovld __cnfn convert_uchar_rtp(short);
156uchar __ovld __cnfn convert_uchar_sat_rtp(short);
157uchar __ovld __cnfn convert_uchar_rtn(short);
158uchar __ovld __cnfn convert_uchar_sat_rtn(short);
159uchar __ovld __cnfn convert_uchar(short);
160uchar __ovld __cnfn convert_uchar_sat(short);
161uchar __ovld __cnfn convert_uchar_rte(ushort);
162uchar __ovld __cnfn convert_uchar_sat_rte(ushort);
163uchar __ovld __cnfn convert_uchar_rtz(ushort);
164uchar __ovld __cnfn convert_uchar_sat_rtz(ushort);
165uchar __ovld __cnfn convert_uchar_rtp(ushort);
166uchar __ovld __cnfn convert_uchar_sat_rtp(ushort);
167uchar __ovld __cnfn convert_uchar_rtn(ushort);
168uchar __ovld __cnfn convert_uchar_sat_rtn(ushort);
169uchar __ovld __cnfn convert_uchar(ushort);
170uchar __ovld __cnfn convert_uchar_sat(ushort);
171uchar __ovld __cnfn convert_uchar_rte(int);
172uchar __ovld __cnfn convert_uchar_sat_rte(int);
173uchar __ovld __cnfn convert_uchar_rtz(int);
174uchar __ovld __cnfn convert_uchar_sat_rtz(int);
175uchar __ovld __cnfn convert_uchar_rtp(int);
176uchar __ovld __cnfn convert_uchar_sat_rtp(int);
177uchar __ovld __cnfn convert_uchar_rtn(int);
178uchar __ovld __cnfn convert_uchar_sat_rtn(int);
179uchar __ovld __cnfn convert_uchar(int);
180uchar __ovld __cnfn convert_uchar_sat(int);
181uchar __ovld __cnfn convert_uchar_rte(uint);
182uchar __ovld __cnfn convert_uchar_sat_rte(uint);
183uchar __ovld __cnfn convert_uchar_rtz(uint);
184uchar __ovld __cnfn convert_uchar_sat_rtz(uint);
185uchar __ovld __cnfn convert_uchar_rtp(uint);
186uchar __ovld __cnfn convert_uchar_sat_rtp(uint);
187uchar __ovld __cnfn convert_uchar_rtn(uint);
188uchar __ovld __cnfn convert_uchar_sat_rtn(uint);
189uchar __ovld __cnfn convert_uchar(uint);
190uchar __ovld __cnfn convert_uchar_sat(uint);
191uchar __ovld __cnfn convert_uchar_rte(long);
192uchar __ovld __cnfn convert_uchar_sat_rte(long);
193uchar __ovld __cnfn convert_uchar_rtz(long);
194uchar __ovld __cnfn convert_uchar_sat_rtz(long);
195uchar __ovld __cnfn convert_uchar_rtp(long);
196uchar __ovld __cnfn convert_uchar_sat_rtp(long);
197uchar __ovld __cnfn convert_uchar_rtn(long);
198uchar __ovld __cnfn convert_uchar_sat_rtn(long);
199uchar __ovld __cnfn convert_uchar(long);
200uchar __ovld __cnfn convert_uchar_sat(long);
201uchar __ovld __cnfn convert_uchar_rte(ulong);
202uchar __ovld __cnfn convert_uchar_sat_rte(ulong);
203uchar __ovld __cnfn convert_uchar_rtz(ulong);
204uchar __ovld __cnfn convert_uchar_sat_rtz(ulong);
205uchar __ovld __cnfn convert_uchar_rtp(ulong);
206uchar __ovld __cnfn convert_uchar_sat_rtp(ulong);
207uchar __ovld __cnfn convert_uchar_rtn(ulong);
208uchar __ovld __cnfn convert_uchar_sat_rtn(ulong);
209uchar __ovld __cnfn convert_uchar(ulong);
210uchar __ovld __cnfn convert_uchar_sat(ulong);
211uchar __ovld __cnfn convert_uchar_rte(float);
212uchar __ovld __cnfn convert_uchar_sat_rte(float);
213uchar __ovld __cnfn convert_uchar_rtz(float);
214uchar __ovld __cnfn convert_uchar_sat_rtz(float);
215uchar __ovld __cnfn convert_uchar_rtp(float);
216uchar __ovld __cnfn convert_uchar_sat_rtp(float);
217uchar __ovld __cnfn convert_uchar_rtn(float);
218uchar __ovld __cnfn convert_uchar_sat_rtn(float);
219uchar __ovld __cnfn convert_uchar(float);
220uchar __ovld __cnfn convert_uchar_sat(float);
221
222short __ovld __cnfn convert_short_rte(char);
223short __ovld __cnfn convert_short_sat_rte(char);
224short __ovld __cnfn convert_short_rtz(char);
225short __ovld __cnfn convert_short_sat_rtz(char);
226short __ovld __cnfn convert_short_rtp(char);
227short __ovld __cnfn convert_short_sat_rtp(char);
228short __ovld __cnfn convert_short_rtn(char);
229short __ovld __cnfn convert_short_sat_rtn(char);
230short __ovld __cnfn convert_short(char);
231short __ovld __cnfn convert_short_sat(char);
232short __ovld __cnfn convert_short_rte(uchar);
233short __ovld __cnfn convert_short_sat_rte(uchar);
234short __ovld __cnfn convert_short_rtz(uchar);
235short __ovld __cnfn convert_short_sat_rtz(uchar);
236short __ovld __cnfn convert_short_rtp(uchar);
237short __ovld __cnfn convert_short_sat_rtp(uchar);
238short __ovld __cnfn convert_short_rtn(uchar);
239short __ovld __cnfn convert_short_sat_rtn(uchar);
240short __ovld __cnfn convert_short(uchar);
241short __ovld __cnfn convert_short_sat(uchar);
242short __ovld __cnfn convert_short_rte(short);
243short __ovld __cnfn convert_short_sat_rte(short);
244short __ovld __cnfn convert_short_rtz(short);
245short __ovld __cnfn convert_short_sat_rtz(short);
246short __ovld __cnfn convert_short_rtp(short);
247short __ovld __cnfn convert_short_sat_rtp(short);
248short __ovld __cnfn convert_short_rtn(short);
249short __ovld __cnfn convert_short_sat_rtn(short);
250short __ovld __cnfn convert_short(short);
251short __ovld __cnfn convert_short_sat(short);
252short __ovld __cnfn convert_short_rte(ushort);
253short __ovld __cnfn convert_short_sat_rte(ushort);
254short __ovld __cnfn convert_short_rtz(ushort);
255short __ovld __cnfn convert_short_sat_rtz(ushort);
256short __ovld __cnfn convert_short_rtp(ushort);
257short __ovld __cnfn convert_short_sat_rtp(ushort);
258short __ovld __cnfn convert_short_rtn(ushort);
259short __ovld __cnfn convert_short_sat_rtn(ushort);
260short __ovld __cnfn convert_short(ushort);
261short __ovld __cnfn convert_short_sat(ushort);
262short __ovld __cnfn convert_short_rte(int);
263short __ovld __cnfn convert_short_sat_rte(int);
264short __ovld __cnfn convert_short_rtz(int);
265short __ovld __cnfn convert_short_sat_rtz(int);
266short __ovld __cnfn convert_short_rtp(int);
267short __ovld __cnfn convert_short_sat_rtp(int);
268short __ovld __cnfn convert_short_rtn(int);
269short __ovld __cnfn convert_short_sat_rtn(int);
270short __ovld __cnfn convert_short(int);
271short __ovld __cnfn convert_short_sat(int);
272short __ovld __cnfn convert_short_rte(uint);
273short __ovld __cnfn convert_short_sat_rte(uint);
274short __ovld __cnfn convert_short_rtz(uint);
275short __ovld __cnfn convert_short_sat_rtz(uint);
276short __ovld __cnfn convert_short_rtp(uint);
277short __ovld __cnfn convert_short_sat_rtp(uint);
278short __ovld __cnfn convert_short_rtn(uint);
279short __ovld __cnfn convert_short_sat_rtn(uint);
280short __ovld __cnfn convert_short(uint);
281short __ovld __cnfn convert_short_sat(uint);
282short __ovld __cnfn convert_short_rte(long);
283short __ovld __cnfn convert_short_sat_rte(long);
284short __ovld __cnfn convert_short_rtz(long);
285short __ovld __cnfn convert_short_sat_rtz(long);
286short __ovld __cnfn convert_short_rtp(long);
287short __ovld __cnfn convert_short_sat_rtp(long);
288short __ovld __cnfn convert_short_rtn(long);
289short __ovld __cnfn convert_short_sat_rtn(long);
290short __ovld __cnfn convert_short(long);
291short __ovld __cnfn convert_short_sat(long);
292short __ovld __cnfn convert_short_rte(ulong);
293short __ovld __cnfn convert_short_sat_rte(ulong);
294short __ovld __cnfn convert_short_rtz(ulong);
295short __ovld __cnfn convert_short_sat_rtz(ulong);
296short __ovld __cnfn convert_short_rtp(ulong);
297short __ovld __cnfn convert_short_sat_rtp(ulong);
298short __ovld __cnfn convert_short_rtn(ulong);
299short __ovld __cnfn convert_short_sat_rtn(ulong);
300short __ovld __cnfn convert_short(ulong);
301short __ovld __cnfn convert_short_sat(ulong);
302short __ovld __cnfn convert_short_rte(float);
303short __ovld __cnfn convert_short_sat_rte(float);
304short __ovld __cnfn convert_short_rtz(float);
305short __ovld __cnfn convert_short_sat_rtz(float);
306short __ovld __cnfn convert_short_rtp(float);
307short __ovld __cnfn convert_short_sat_rtp(float);
308short __ovld __cnfn convert_short_rtn(float);
309short __ovld __cnfn convert_short_sat_rtn(float);
310short __ovld __cnfn convert_short(float);
311short __ovld __cnfn convert_short_sat(float);
312ushort __ovld __cnfn convert_ushort_rte(char);
313ushort __ovld __cnfn convert_ushort_sat_rte(char);
314ushort __ovld __cnfn convert_ushort_rtz(char);
315ushort __ovld __cnfn convert_ushort_sat_rtz(char);
316ushort __ovld __cnfn convert_ushort_rtp(char);
317ushort __ovld __cnfn convert_ushort_sat_rtp(char);
318ushort __ovld __cnfn convert_ushort_rtn(char);
319ushort __ovld __cnfn convert_ushort_sat_rtn(char);
320ushort __ovld __cnfn convert_ushort(char);
321ushort __ovld __cnfn convert_ushort_sat(char);
322ushort __ovld __cnfn convert_ushort_rte(uchar);
323ushort __ovld __cnfn convert_ushort_sat_rte(uchar);
324ushort __ovld __cnfn convert_ushort_rtz(uchar);
325ushort __ovld __cnfn convert_ushort_sat_rtz(uchar);
326ushort __ovld __cnfn convert_ushort_rtp(uchar);
327ushort __ovld __cnfn convert_ushort_sat_rtp(uchar);
328ushort __ovld __cnfn convert_ushort_rtn(uchar);
329ushort __ovld __cnfn convert_ushort_sat_rtn(uchar);
330ushort __ovld __cnfn convert_ushort(uchar);
331ushort __ovld __cnfn convert_ushort_sat(uchar);
332ushort __ovld __cnfn convert_ushort_rte(short);
333ushort __ovld __cnfn convert_ushort_sat_rte(short);
334ushort __ovld __cnfn convert_ushort_rtz(short);
335ushort __ovld __cnfn convert_ushort_sat_rtz(short);
336ushort __ovld __cnfn convert_ushort_rtp(short);
337ushort __ovld __cnfn convert_ushort_sat_rtp(short);
338ushort __ovld __cnfn convert_ushort_rtn(short);
339ushort __ovld __cnfn convert_ushort_sat_rtn(short);
340ushort __ovld __cnfn convert_ushort(short);
341ushort __ovld __cnfn convert_ushort_sat(short);
342ushort __ovld __cnfn convert_ushort_rte(ushort);
343ushort __ovld __cnfn convert_ushort_sat_rte(ushort);
344ushort __ovld __cnfn convert_ushort_rtz(ushort);
345ushort __ovld __cnfn convert_ushort_sat_rtz(ushort);
346ushort __ovld __cnfn convert_ushort_rtp(ushort);
347ushort __ovld __cnfn convert_ushort_sat_rtp(ushort);
348ushort __ovld __cnfn convert_ushort_rtn(ushort);
349ushort __ovld __cnfn convert_ushort_sat_rtn(ushort);
350ushort __ovld __cnfn convert_ushort(ushort);
351ushort __ovld __cnfn convert_ushort_sat(ushort);
352ushort __ovld __cnfn convert_ushort_rte(int);
353ushort __ovld __cnfn convert_ushort_sat_rte(int);
354ushort __ovld __cnfn convert_ushort_rtz(int);
355ushort __ovld __cnfn convert_ushort_sat_rtz(int);
356ushort __ovld __cnfn convert_ushort_rtp(int);
357ushort __ovld __cnfn convert_ushort_sat_rtp(int);
358ushort __ovld __cnfn convert_ushort_rtn(int);
359ushort __ovld __cnfn convert_ushort_sat_rtn(int);
360ushort __ovld __cnfn convert_ushort(int);
361ushort __ovld __cnfn convert_ushort_sat(int);
362ushort __ovld __cnfn convert_ushort_rte(uint);
363ushort __ovld __cnfn convert_ushort_sat_rte(uint);
364ushort __ovld __cnfn convert_ushort_rtz(uint);
365ushort __ovld __cnfn convert_ushort_sat_rtz(uint);
366ushort __ovld __cnfn convert_ushort_rtp(uint);
367ushort __ovld __cnfn convert_ushort_sat_rtp(uint);
368ushort __ovld __cnfn convert_ushort_rtn(uint);
369ushort __ovld __cnfn convert_ushort_sat_rtn(uint);
370ushort __ovld __cnfn convert_ushort(uint);
371ushort __ovld __cnfn convert_ushort_sat(uint);
372ushort __ovld __cnfn convert_ushort_rte(long);
373ushort __ovld __cnfn convert_ushort_sat_rte(long);
374ushort __ovld __cnfn convert_ushort_rtz(long);
375ushort __ovld __cnfn convert_ushort_sat_rtz(long);
376ushort __ovld __cnfn convert_ushort_rtp(long);
377ushort __ovld __cnfn convert_ushort_sat_rtp(long);
378ushort __ovld __cnfn convert_ushort_rtn(long);
379ushort __ovld __cnfn convert_ushort_sat_rtn(long);
380ushort __ovld __cnfn convert_ushort(long);
381ushort __ovld __cnfn convert_ushort_sat(long);
382ushort __ovld __cnfn convert_ushort_rte(ulong);
383ushort __ovld __cnfn convert_ushort_sat_rte(ulong);
384ushort __ovld __cnfn convert_ushort_rtz(ulong);
385ushort __ovld __cnfn convert_ushort_sat_rtz(ulong);
386ushort __ovld __cnfn convert_ushort_rtp(ulong);
387ushort __ovld __cnfn convert_ushort_sat_rtp(ulong);
388ushort __ovld __cnfn convert_ushort_rtn(ulong);
389ushort __ovld __cnfn convert_ushort_sat_rtn(ulong);
390ushort __ovld __cnfn convert_ushort(ulong);
391ushort __ovld __cnfn convert_ushort_sat(ulong);
392ushort __ovld __cnfn convert_ushort_rte(float);
393ushort __ovld __cnfn convert_ushort_sat_rte(float);
394ushort __ovld __cnfn convert_ushort_rtz(float);
395ushort __ovld __cnfn convert_ushort_sat_rtz(float);
396ushort __ovld __cnfn convert_ushort_rtp(float);
397ushort __ovld __cnfn convert_ushort_sat_rtp(float);
398ushort __ovld __cnfn convert_ushort_rtn(float);
399ushort __ovld __cnfn convert_ushort_sat_rtn(float);
400ushort __ovld __cnfn convert_ushort(float);
401ushort __ovld __cnfn convert_ushort_sat(float);
402int __ovld __cnfn convert_int_rte(char);
403int __ovld __cnfn convert_int_sat_rte(char);
404int __ovld __cnfn convert_int_rtz(char);
405int __ovld __cnfn convert_int_sat_rtz(char);
406int __ovld __cnfn convert_int_rtp(char);
407int __ovld __cnfn convert_int_sat_rtp(char);
408int __ovld __cnfn convert_int_rtn(char);
409int __ovld __cnfn convert_int_sat_rtn(char);
410int __ovld __cnfn convert_int(char);
411int __ovld __cnfn convert_int_sat(char);
412int __ovld __cnfn convert_int_rte(uchar);
413int __ovld __cnfn convert_int_sat_rte(uchar);
414int __ovld __cnfn convert_int_rtz(uchar);
415int __ovld __cnfn convert_int_sat_rtz(uchar);
416int __ovld __cnfn convert_int_rtp(uchar);
417int __ovld __cnfn convert_int_sat_rtp(uchar);
418int __ovld __cnfn convert_int_rtn(uchar);
419int __ovld __cnfn convert_int_sat_rtn(uchar);
420int __ovld __cnfn convert_int(uchar);
421int __ovld __cnfn convert_int_sat(uchar);
422int __ovld __cnfn convert_int_rte(short);
423int __ovld __cnfn convert_int_sat_rte(short);
424int __ovld __cnfn convert_int_rtz(short);
425int __ovld __cnfn convert_int_sat_rtz(short);
426int __ovld __cnfn convert_int_rtp(short);
427int __ovld __cnfn convert_int_sat_rtp(short);
428int __ovld __cnfn convert_int_rtn(short);
429int __ovld __cnfn convert_int_sat_rtn(short);
430int __ovld __cnfn convert_int(short);
431int __ovld __cnfn convert_int_sat(short);
432int __ovld __cnfn convert_int_rte(ushort);
433int __ovld __cnfn convert_int_sat_rte(ushort);
434int __ovld __cnfn convert_int_rtz(ushort);
435int __ovld __cnfn convert_int_sat_rtz(ushort);
436int __ovld __cnfn convert_int_rtp(ushort);
437int __ovld __cnfn convert_int_sat_rtp(ushort);
438int __ovld __cnfn convert_int_rtn(ushort);
439int __ovld __cnfn convert_int_sat_rtn(ushort);
440int __ovld __cnfn convert_int(ushort);
441int __ovld __cnfn convert_int_sat(ushort);
442int __ovld __cnfn convert_int_rte(int);
443int __ovld __cnfn convert_int_sat_rte(int);
444int __ovld __cnfn convert_int_rtz(int);
445int __ovld __cnfn convert_int_sat_rtz(int);
446int __ovld __cnfn convert_int_rtp(int);
447int __ovld __cnfn convert_int_sat_rtp(int);
448int __ovld __cnfn convert_int_rtn(int);
449int __ovld __cnfn convert_int_sat_rtn(int);
450int __ovld __cnfn convert_int(int);
451int __ovld __cnfn convert_int_sat(int);
452int __ovld __cnfn convert_int_rte(uint);
453int __ovld __cnfn convert_int_sat_rte(uint);
454int __ovld __cnfn convert_int_rtz(uint);
455int __ovld __cnfn convert_int_sat_rtz(uint);
456int __ovld __cnfn convert_int_rtp(uint);
457int __ovld __cnfn convert_int_sat_rtp(uint);
458int __ovld __cnfn convert_int_rtn(uint);
459int __ovld __cnfn convert_int_sat_rtn(uint);
460int __ovld __cnfn convert_int(uint);
461int __ovld __cnfn convert_int_sat(uint);
462int __ovld __cnfn convert_int_rte(long);
463int __ovld __cnfn convert_int_sat_rte(long);
464int __ovld __cnfn convert_int_rtz(long);
465int __ovld __cnfn convert_int_sat_rtz(long);
466int __ovld __cnfn convert_int_rtp(long);
467int __ovld __cnfn convert_int_sat_rtp(long);
468int __ovld __cnfn convert_int_rtn(long);
469int __ovld __cnfn convert_int_sat_rtn(long);
470int __ovld __cnfn convert_int(long);
471int __ovld __cnfn convert_int_sat(long);
472int __ovld __cnfn convert_int_rte(ulong);
473int __ovld __cnfn convert_int_sat_rte(ulong);
474int __ovld __cnfn convert_int_rtz(ulong);
475int __ovld __cnfn convert_int_sat_rtz(ulong);
476int __ovld __cnfn convert_int_rtp(ulong);
477int __ovld __cnfn convert_int_sat_rtp(ulong);
478int __ovld __cnfn convert_int_rtn(ulong);
479int __ovld __cnfn convert_int_sat_rtn(ulong);
480int __ovld __cnfn convert_int(ulong);
481int __ovld __cnfn convert_int_sat(ulong);
482int __ovld __cnfn convert_int_rte(float);
483int __ovld __cnfn convert_int_sat_rte(float);
484int __ovld __cnfn convert_int_rtz(float);
485int __ovld __cnfn convert_int_sat_rtz(float);
486int __ovld __cnfn convert_int_rtp(float);
487int __ovld __cnfn convert_int_sat_rtp(float);
488int __ovld __cnfn convert_int_rtn(float);
489int __ovld __cnfn convert_int_sat_rtn(float);
490int __ovld __cnfn convert_int(float);
491int __ovld __cnfn convert_int_sat(float);
492uint __ovld __cnfn convert_uint_rte(char);
493uint __ovld __cnfn convert_uint_sat_rte(char);
494uint __ovld __cnfn convert_uint_rtz(char);
495uint __ovld __cnfn convert_uint_sat_rtz(char);
496uint __ovld __cnfn convert_uint_rtp(char);
497uint __ovld __cnfn convert_uint_sat_rtp(char);
498uint __ovld __cnfn convert_uint_rtn(char);
499uint __ovld __cnfn convert_uint_sat_rtn(char);
500uint __ovld __cnfn convert_uint(char);
501uint __ovld __cnfn convert_uint_sat(char);
502uint __ovld __cnfn convert_uint_rte(uchar);
503uint __ovld __cnfn convert_uint_sat_rte(uchar);
504uint __ovld __cnfn convert_uint_rtz(uchar);
505uint __ovld __cnfn convert_uint_sat_rtz(uchar);
506uint __ovld __cnfn convert_uint_rtp(uchar);
507uint __ovld __cnfn convert_uint_sat_rtp(uchar);
508uint __ovld __cnfn convert_uint_rtn(uchar);
509uint __ovld __cnfn convert_uint_sat_rtn(uchar);
510uint __ovld __cnfn convert_uint(uchar);
511uint __ovld __cnfn convert_uint_sat(uchar);
512uint __ovld __cnfn convert_uint_rte(short);
513uint __ovld __cnfn convert_uint_sat_rte(short);
514uint __ovld __cnfn convert_uint_rtz(short);
515uint __ovld __cnfn convert_uint_sat_rtz(short);
516uint __ovld __cnfn convert_uint_rtp(short);
517uint __ovld __cnfn convert_uint_sat_rtp(short);
518uint __ovld __cnfn convert_uint_rtn(short);
519uint __ovld __cnfn convert_uint_sat_rtn(short);
520uint __ovld __cnfn convert_uint(short);
521uint __ovld __cnfn convert_uint_sat(short);
522uint __ovld __cnfn convert_uint_rte(ushort);
523uint __ovld __cnfn convert_uint_sat_rte(ushort);
524uint __ovld __cnfn convert_uint_rtz(ushort);
525uint __ovld __cnfn convert_uint_sat_rtz(ushort);
526uint __ovld __cnfn convert_uint_rtp(ushort);
527uint __ovld __cnfn convert_uint_sat_rtp(ushort);
528uint __ovld __cnfn convert_uint_rtn(ushort);
529uint __ovld __cnfn convert_uint_sat_rtn(ushort);
530uint __ovld __cnfn convert_uint(ushort);
531uint __ovld __cnfn convert_uint_sat(ushort);
532uint __ovld __cnfn convert_uint_rte(int);
533uint __ovld __cnfn convert_uint_sat_rte(int);
534uint __ovld __cnfn convert_uint_rtz(int);
535uint __ovld __cnfn convert_uint_sat_rtz(int);
536uint __ovld __cnfn convert_uint_rtp(int);
537uint __ovld __cnfn convert_uint_sat_rtp(int);
538uint __ovld __cnfn convert_uint_rtn(int);
539uint __ovld __cnfn convert_uint_sat_rtn(int);
540uint __ovld __cnfn convert_uint(int);
541uint __ovld __cnfn convert_uint_sat(int);
542uint __ovld __cnfn convert_uint_rte(uint);
543uint __ovld __cnfn convert_uint_sat_rte(uint);
544uint __ovld __cnfn convert_uint_rtz(uint);
545uint __ovld __cnfn convert_uint_sat_rtz(uint);
546uint __ovld __cnfn convert_uint_rtp(uint);
547uint __ovld __cnfn convert_uint_sat_rtp(uint);
548uint __ovld __cnfn convert_uint_rtn(uint);
549uint __ovld __cnfn convert_uint_sat_rtn(uint);
550uint __ovld __cnfn convert_uint(uint);
551uint __ovld __cnfn convert_uint_sat(uint);
552uint __ovld __cnfn convert_uint_rte(long);
553uint __ovld __cnfn convert_uint_sat_rte(long);
554uint __ovld __cnfn convert_uint_rtz(long);
555uint __ovld __cnfn convert_uint_sat_rtz(long);
556uint __ovld __cnfn convert_uint_rtp(long);
557uint __ovld __cnfn convert_uint_sat_rtp(long);
558uint __ovld __cnfn convert_uint_rtn(long);
559uint __ovld __cnfn convert_uint_sat_rtn(long);
560uint __ovld __cnfn convert_uint(long);
561uint __ovld __cnfn convert_uint_sat(long);
562uint __ovld __cnfn convert_uint_rte(ulong);
563uint __ovld __cnfn convert_uint_sat_rte(ulong);
564uint __ovld __cnfn convert_uint_rtz(ulong);
565uint __ovld __cnfn convert_uint_sat_rtz(ulong);
566uint __ovld __cnfn convert_uint_rtp(ulong);
567uint __ovld __cnfn convert_uint_sat_rtp(ulong);
568uint __ovld __cnfn convert_uint_rtn(ulong);
569uint __ovld __cnfn convert_uint_sat_rtn(ulong);
570uint __ovld __cnfn convert_uint(ulong);
571uint __ovld __cnfn convert_uint_sat(ulong);
572uint __ovld __cnfn convert_uint_rte(float);
573uint __ovld __cnfn convert_uint_sat_rte(float);
574uint __ovld __cnfn convert_uint_rtz(float);
575uint __ovld __cnfn convert_uint_sat_rtz(float);
576uint __ovld __cnfn convert_uint_rtp(float);
577uint __ovld __cnfn convert_uint_sat_rtp(float);
578uint __ovld __cnfn convert_uint_rtn(float);
579uint __ovld __cnfn convert_uint_sat_rtn(float);
580uint __ovld __cnfn convert_uint(float);
581uint __ovld __cnfn convert_uint_sat(float);
582long __ovld __cnfn convert_long_rte(char);
583long __ovld __cnfn convert_long_sat_rte(char);
584long __ovld __cnfn convert_long_rtz(char);
585long __ovld __cnfn convert_long_sat_rtz(char);
586long __ovld __cnfn convert_long_rtp(char);
587long __ovld __cnfn convert_long_sat_rtp(char);
588long __ovld __cnfn convert_long_rtn(char);
589long __ovld __cnfn convert_long_sat_rtn(char);
590long __ovld __cnfn convert_long(char);
591long __ovld __cnfn convert_long_sat(char);
592long __ovld __cnfn convert_long_rte(uchar);
593long __ovld __cnfn convert_long_sat_rte(uchar);
594long __ovld __cnfn convert_long_rtz(uchar);
595long __ovld __cnfn convert_long_sat_rtz(uchar);
596long __ovld __cnfn convert_long_rtp(uchar);
597long __ovld __cnfn convert_long_sat_rtp(uchar);
598long __ovld __cnfn convert_long_rtn(uchar);
599long __ovld __cnfn convert_long_sat_rtn(uchar);
600long __ovld __cnfn convert_long(uchar);
601long __ovld __cnfn convert_long_sat(uchar);
602long __ovld __cnfn convert_long_rte(short);
603long __ovld __cnfn convert_long_sat_rte(short);
604long __ovld __cnfn convert_long_rtz(short);
605long __ovld __cnfn convert_long_sat_rtz(short);
606long __ovld __cnfn convert_long_rtp(short);
607long __ovld __cnfn convert_long_sat_rtp(short);
608long __ovld __cnfn convert_long_rtn(short);
609long __ovld __cnfn convert_long_sat_rtn(short);
610long __ovld __cnfn convert_long(short);
611long __ovld __cnfn convert_long_sat(short);
612long __ovld __cnfn convert_long_rte(ushort);
613long __ovld __cnfn convert_long_sat_rte(ushort);
614long __ovld __cnfn convert_long_rtz(ushort);
615long __ovld __cnfn convert_long_sat_rtz(ushort);
616long __ovld __cnfn convert_long_rtp(ushort);
617long __ovld __cnfn convert_long_sat_rtp(ushort);
618long __ovld __cnfn convert_long_rtn(ushort);
619long __ovld __cnfn convert_long_sat_rtn(ushort);
620long __ovld __cnfn convert_long(ushort);
621long __ovld __cnfn convert_long_sat(ushort);
622long __ovld __cnfn convert_long_rte(int);
623long __ovld __cnfn convert_long_sat_rte(int);
624long __ovld __cnfn convert_long_rtz(int);
625long __ovld __cnfn convert_long_sat_rtz(int);
626long __ovld __cnfn convert_long_rtp(int);
627long __ovld __cnfn convert_long_sat_rtp(int);
628long __ovld __cnfn convert_long_rtn(int);
629long __ovld __cnfn convert_long_sat_rtn(int);
630long __ovld __cnfn convert_long(int);
631long __ovld __cnfn convert_long_sat(int);
632long __ovld __cnfn convert_long_rte(uint);
633long __ovld __cnfn convert_long_sat_rte(uint);
634long __ovld __cnfn convert_long_rtz(uint);
635long __ovld __cnfn convert_long_sat_rtz(uint);
636long __ovld __cnfn convert_long_rtp(uint);
637long __ovld __cnfn convert_long_sat_rtp(uint);
638long __ovld __cnfn convert_long_rtn(uint);
639long __ovld __cnfn convert_long_sat_rtn(uint);
640long __ovld __cnfn convert_long(uint);
641long __ovld __cnfn convert_long_sat(uint);
642long __ovld __cnfn convert_long_rte(long);
643long __ovld __cnfn convert_long_sat_rte(long);
644long __ovld __cnfn convert_long_rtz(long);
645long __ovld __cnfn convert_long_sat_rtz(long);
646long __ovld __cnfn convert_long_rtp(long);
647long __ovld __cnfn convert_long_sat_rtp(long);
648long __ovld __cnfn convert_long_rtn(long);
649long __ovld __cnfn convert_long_sat_rtn(long);
650long __ovld __cnfn convert_long(long);
651long __ovld __cnfn convert_long_sat(long);
652long __ovld __cnfn convert_long_rte(ulong);
653long __ovld __cnfn convert_long_sat_rte(ulong);
654long __ovld __cnfn convert_long_rtz(ulong);
655long __ovld __cnfn convert_long_sat_rtz(ulong);
656long __ovld __cnfn convert_long_rtp(ulong);
657long __ovld __cnfn convert_long_sat_rtp(ulong);
658long __ovld __cnfn convert_long_rtn(ulong);
659long __ovld __cnfn convert_long_sat_rtn(ulong);
660long __ovld __cnfn convert_long(ulong);
661long __ovld __cnfn convert_long_sat(ulong);
662long __ovld __cnfn convert_long_rte(float);
663long __ovld __cnfn convert_long_sat_rte(float);
664long __ovld __cnfn convert_long_rtz(float);
665long __ovld __cnfn convert_long_sat_rtz(float);
666long __ovld __cnfn convert_long_rtp(float);
667long __ovld __cnfn convert_long_sat_rtp(float);
668long __ovld __cnfn convert_long_rtn(float);
669long __ovld __cnfn convert_long_sat_rtn(float);
670long __ovld __cnfn convert_long(float);
671long __ovld __cnfn convert_long_sat(float);
672ulong __ovld __cnfn convert_ulong_rte(char);
673ulong __ovld __cnfn convert_ulong_sat_rte(char);
674ulong __ovld __cnfn convert_ulong_rtz(char);
675ulong __ovld __cnfn convert_ulong_sat_rtz(char);
676ulong __ovld __cnfn convert_ulong_rtp(char);
677ulong __ovld __cnfn convert_ulong_sat_rtp(char);
678ulong __ovld __cnfn convert_ulong_rtn(char);
679ulong __ovld __cnfn convert_ulong_sat_rtn(char);
680ulong __ovld __cnfn convert_ulong(char);
681ulong __ovld __cnfn convert_ulong_sat(char);
682ulong __ovld __cnfn convert_ulong_rte(uchar);
683ulong __ovld __cnfn convert_ulong_sat_rte(uchar);
684ulong __ovld __cnfn convert_ulong_rtz(uchar);
685ulong __ovld __cnfn convert_ulong_sat_rtz(uchar);
686ulong __ovld __cnfn convert_ulong_rtp(uchar);
687ulong __ovld __cnfn convert_ulong_sat_rtp(uchar);
688ulong __ovld __cnfn convert_ulong_rtn(uchar);
689ulong __ovld __cnfn convert_ulong_sat_rtn(uchar);
690ulong __ovld __cnfn convert_ulong(uchar);
691ulong __ovld __cnfn convert_ulong_sat(uchar);
692ulong __ovld __cnfn convert_ulong_rte(short);
693ulong __ovld __cnfn convert_ulong_sat_rte(short);
694ulong __ovld __cnfn convert_ulong_rtz(short);
695ulong __ovld __cnfn convert_ulong_sat_rtz(short);
696ulong __ovld __cnfn convert_ulong_rtp(short);
697ulong __ovld __cnfn convert_ulong_sat_rtp(short);
698ulong __ovld __cnfn convert_ulong_rtn(short);
699ulong __ovld __cnfn convert_ulong_sat_rtn(short);
700ulong __ovld __cnfn convert_ulong(short);
701ulong __ovld __cnfn convert_ulong_sat(short);
702ulong __ovld __cnfn convert_ulong_rte(ushort);
703ulong __ovld __cnfn convert_ulong_sat_rte(ushort);
704ulong __ovld __cnfn convert_ulong_rtz(ushort);
705ulong __ovld __cnfn convert_ulong_sat_rtz(ushort);
706ulong __ovld __cnfn convert_ulong_rtp(ushort);
707ulong __ovld __cnfn convert_ulong_sat_rtp(ushort);
708ulong __ovld __cnfn convert_ulong_rtn(ushort);
709ulong __ovld __cnfn convert_ulong_sat_rtn(ushort);
710ulong __ovld __cnfn convert_ulong(ushort);
711ulong __ovld __cnfn convert_ulong_sat(ushort);
712ulong __ovld __cnfn convert_ulong_rte(int);
713ulong __ovld __cnfn convert_ulong_sat_rte(int);
714ulong __ovld __cnfn convert_ulong_rtz(int);
715ulong __ovld __cnfn convert_ulong_sat_rtz(int);
716ulong __ovld __cnfn convert_ulong_rtp(int);
717ulong __ovld __cnfn convert_ulong_sat_rtp(int);
718ulong __ovld __cnfn convert_ulong_rtn(int);
719ulong __ovld __cnfn convert_ulong_sat_rtn(int);
720ulong __ovld __cnfn convert_ulong(int);
721ulong __ovld __cnfn convert_ulong_sat(int);
722ulong __ovld __cnfn convert_ulong_rte(uint);
723ulong __ovld __cnfn convert_ulong_sat_rte(uint);
724ulong __ovld __cnfn convert_ulong_rtz(uint);
725ulong __ovld __cnfn convert_ulong_sat_rtz(uint);
726ulong __ovld __cnfn convert_ulong_rtp(uint);
727ulong __ovld __cnfn convert_ulong_sat_rtp(uint);
728ulong __ovld __cnfn convert_ulong_rtn(uint);
729ulong __ovld __cnfn convert_ulong_sat_rtn(uint);
730ulong __ovld __cnfn convert_ulong(uint);
731ulong __ovld __cnfn convert_ulong_sat(uint);
732ulong __ovld __cnfn convert_ulong_rte(long);
733ulong __ovld __cnfn convert_ulong_sat_rte(long);
734ulong __ovld __cnfn convert_ulong_rtz(long);
735ulong __ovld __cnfn convert_ulong_sat_rtz(long);
736ulong __ovld __cnfn convert_ulong_rtp(long);
737ulong __ovld __cnfn convert_ulong_sat_rtp(long);
738ulong __ovld __cnfn convert_ulong_rtn(long);
739ulong __ovld __cnfn convert_ulong_sat_rtn(long);
740ulong __ovld __cnfn convert_ulong(long);
741ulong __ovld __cnfn convert_ulong_sat(long);
742ulong __ovld __cnfn convert_ulong_rte(ulong);
743ulong __ovld __cnfn convert_ulong_sat_rte(ulong);
744ulong __ovld __cnfn convert_ulong_rtz(ulong);
745ulong __ovld __cnfn convert_ulong_sat_rtz(ulong);
746ulong __ovld __cnfn convert_ulong_rtp(ulong);
747ulong __ovld __cnfn convert_ulong_sat_rtp(ulong);
748ulong __ovld __cnfn convert_ulong_rtn(ulong);
749ulong __ovld __cnfn convert_ulong_sat_rtn(ulong);
750ulong __ovld __cnfn convert_ulong(ulong);
751ulong __ovld __cnfn convert_ulong_sat(ulong);
752ulong __ovld __cnfn convert_ulong_rte(float);
753ulong __ovld __cnfn convert_ulong_sat_rte(float);
754ulong __ovld __cnfn convert_ulong_rtz(float);
755ulong __ovld __cnfn convert_ulong_sat_rtz(float);
756ulong __ovld __cnfn convert_ulong_rtp(float);
757ulong __ovld __cnfn convert_ulong_sat_rtp(float);
758ulong __ovld __cnfn convert_ulong_rtn(float);
759ulong __ovld __cnfn convert_ulong_sat_rtn(float);
760ulong __ovld __cnfn convert_ulong(float);
761ulong __ovld __cnfn convert_ulong_sat(float);
762float __ovld __cnfn convert_float_rte(char);
763float __ovld __cnfn convert_float_rtz(char);
764float __ovld __cnfn convert_float_rtp(char);
765float __ovld __cnfn convert_float_rtn(char);
766float __ovld __cnfn convert_float(char);
767float __ovld __cnfn convert_float_rte(uchar);
768float __ovld __cnfn convert_float_rtz(uchar);
769float __ovld __cnfn convert_float_rtp(uchar);
770float __ovld __cnfn convert_float_rtn(uchar);
771float __ovld __cnfn convert_float(uchar);
772float __ovld __cnfn convert_float_rte(short);
773float __ovld __cnfn convert_float_rtz(short);
774float __ovld __cnfn convert_float_rtp(short);
775float __ovld __cnfn convert_float_rtn(short);
776float __ovld __cnfn convert_float(short);
777float __ovld __cnfn convert_float_rte(ushort);
778float __ovld __cnfn convert_float_rtz(ushort);
779float __ovld __cnfn convert_float_rtp(ushort);
780float __ovld __cnfn convert_float_rtn(ushort);
781float __ovld __cnfn convert_float(ushort);
782float __ovld __cnfn convert_float_rte(int);
783float __ovld __cnfn convert_float_rtz(int);
784float __ovld __cnfn convert_float_rtp(int);
785float __ovld __cnfn convert_float_rtn(int);
786float __ovld __cnfn convert_float(int);
787float __ovld __cnfn convert_float_rte(uint);
788float __ovld __cnfn convert_float_rtz(uint);
789float __ovld __cnfn convert_float_rtp(uint);
790float __ovld __cnfn convert_float_rtn(uint);
791float __ovld __cnfn convert_float(uint);
792float __ovld __cnfn convert_float_rte(long);
793float __ovld __cnfn convert_float_rtz(long);
794float __ovld __cnfn convert_float_rtp(long);
795float __ovld __cnfn convert_float_rtn(long);
796float __ovld __cnfn convert_float(long);
797float __ovld __cnfn convert_float_rte(ulong);
798float __ovld __cnfn convert_float_rtz(ulong);
799float __ovld __cnfn convert_float_rtp(ulong);
800float __ovld __cnfn convert_float_rtn(ulong);
801float __ovld __cnfn convert_float(ulong);
802float __ovld __cnfn convert_float_rte(float);
803float __ovld __cnfn convert_float_rtz(float);
804float __ovld __cnfn convert_float_rtp(float);
805float __ovld __cnfn convert_float_rtn(float);
806float __ovld __cnfn convert_float(float);
807char2 __ovld __cnfn convert_char2_rte(char2);
808char2 __ovld __cnfn convert_char2_sat_rte(char2);
809char2 __ovld __cnfn convert_char2_rtz(char2);
810char2 __ovld __cnfn convert_char2_sat_rtz(char2);
811char2 __ovld __cnfn convert_char2_rtp(char2);
812char2 __ovld __cnfn convert_char2_sat_rtp(char2);
813char2 __ovld __cnfn convert_char2_rtn(char2);
814char2 __ovld __cnfn convert_char2_sat_rtn(char2);
815char2 __ovld __cnfn convert_char2(char2);
816char2 __ovld __cnfn convert_char2_sat(char2);
817char2 __ovld __cnfn convert_char2_rte(uchar2);
818char2 __ovld __cnfn convert_char2_sat_rte(uchar2);
819char2 __ovld __cnfn convert_char2_rtz(uchar2);
820char2 __ovld __cnfn convert_char2_sat_rtz(uchar2);
821char2 __ovld __cnfn convert_char2_rtp(uchar2);
822char2 __ovld __cnfn convert_char2_sat_rtp(uchar2);
823char2 __ovld __cnfn convert_char2_rtn(uchar2);
824char2 __ovld __cnfn convert_char2_sat_rtn(uchar2);
825char2 __ovld __cnfn convert_char2(uchar2);
826char2 __ovld __cnfn convert_char2_sat(uchar2);
827char2 __ovld __cnfn convert_char2_rte(short2);
828char2 __ovld __cnfn convert_char2_sat_rte(short2);
829char2 __ovld __cnfn convert_char2_rtz(short2);
830char2 __ovld __cnfn convert_char2_sat_rtz(short2);
831char2 __ovld __cnfn convert_char2_rtp(short2);
832char2 __ovld __cnfn convert_char2_sat_rtp(short2);
833char2 __ovld __cnfn convert_char2_rtn(short2);
834char2 __ovld __cnfn convert_char2_sat_rtn(short2);
835char2 __ovld __cnfn convert_char2(short2);
836char2 __ovld __cnfn convert_char2_sat(short2);
837char2 __ovld __cnfn convert_char2_rte(ushort2);
838char2 __ovld __cnfn convert_char2_sat_rte(ushort2);
839char2 __ovld __cnfn convert_char2_rtz(ushort2);
840char2 __ovld __cnfn convert_char2_sat_rtz(ushort2);
841char2 __ovld __cnfn convert_char2_rtp(ushort2);
842char2 __ovld __cnfn convert_char2_sat_rtp(ushort2);
843char2 __ovld __cnfn convert_char2_rtn(ushort2);
844char2 __ovld __cnfn convert_char2_sat_rtn(ushort2);
845char2 __ovld __cnfn convert_char2(ushort2);
846char2 __ovld __cnfn convert_char2_sat(ushort2);
847char2 __ovld __cnfn convert_char2_rte(int2);
848char2 __ovld __cnfn convert_char2_sat_rte(int2);
849char2 __ovld __cnfn convert_char2_rtz(int2);
850char2 __ovld __cnfn convert_char2_sat_rtz(int2);
851char2 __ovld __cnfn convert_char2_rtp(int2);
852char2 __ovld __cnfn convert_char2_sat_rtp(int2);
853char2 __ovld __cnfn convert_char2_rtn(int2);
854char2 __ovld __cnfn convert_char2_sat_rtn(int2);
855char2 __ovld __cnfn convert_char2(int2);
856char2 __ovld __cnfn convert_char2_sat(int2);
857char2 __ovld __cnfn convert_char2_rte(uint2);
858char2 __ovld __cnfn convert_char2_sat_rte(uint2);
859char2 __ovld __cnfn convert_char2_rtz(uint2);
860char2 __ovld __cnfn convert_char2_sat_rtz(uint2);
861char2 __ovld __cnfn convert_char2_rtp(uint2);
862char2 __ovld __cnfn convert_char2_sat_rtp(uint2);
863char2 __ovld __cnfn convert_char2_rtn(uint2);
864char2 __ovld __cnfn convert_char2_sat_rtn(uint2);
865char2 __ovld __cnfn convert_char2(uint2);
866char2 __ovld __cnfn convert_char2_sat(uint2);
867char2 __ovld __cnfn convert_char2_rte(long2);
868char2 __ovld __cnfn convert_char2_sat_rte(long2);
869char2 __ovld __cnfn convert_char2_rtz(long2);
870char2 __ovld __cnfn convert_char2_sat_rtz(long2);
871char2 __ovld __cnfn convert_char2_rtp(long2);
872char2 __ovld __cnfn convert_char2_sat_rtp(long2);
873char2 __ovld __cnfn convert_char2_rtn(long2);
874char2 __ovld __cnfn convert_char2_sat_rtn(long2);
875char2 __ovld __cnfn convert_char2(long2);
876char2 __ovld __cnfn convert_char2_sat(long2);
877char2 __ovld __cnfn convert_char2_rte(ulong2);
878char2 __ovld __cnfn convert_char2_sat_rte(ulong2);
879char2 __ovld __cnfn convert_char2_rtz(ulong2);
880char2 __ovld __cnfn convert_char2_sat_rtz(ulong2);
881char2 __ovld __cnfn convert_char2_rtp(ulong2);
882char2 __ovld __cnfn convert_char2_sat_rtp(ulong2);
883char2 __ovld __cnfn convert_char2_rtn(ulong2);
884char2 __ovld __cnfn convert_char2_sat_rtn(ulong2);
885char2 __ovld __cnfn convert_char2(ulong2);
886char2 __ovld __cnfn convert_char2_sat(ulong2);
887char2 __ovld __cnfn convert_char2_rte(float2);
888char2 __ovld __cnfn convert_char2_sat_rte(float2);
889char2 __ovld __cnfn convert_char2_rtz(float2);
890char2 __ovld __cnfn convert_char2_sat_rtz(float2);
891char2 __ovld __cnfn convert_char2_rtp(float2);
892char2 __ovld __cnfn convert_char2_sat_rtp(float2);
893char2 __ovld __cnfn convert_char2_rtn(float2);
894char2 __ovld __cnfn convert_char2_sat_rtn(float2);
895char2 __ovld __cnfn convert_char2(float2);
896char2 __ovld __cnfn convert_char2_sat(float2);
897uchar2 __ovld __cnfn convert_uchar2_rte(char2);
898uchar2 __ovld __cnfn convert_uchar2_sat_rte(char2);
899uchar2 __ovld __cnfn convert_uchar2_rtz(char2);
900uchar2 __ovld __cnfn convert_uchar2_sat_rtz(char2);
901uchar2 __ovld __cnfn convert_uchar2_rtp(char2);
902uchar2 __ovld __cnfn convert_uchar2_sat_rtp(char2);
903uchar2 __ovld __cnfn convert_uchar2_rtn(char2);
904uchar2 __ovld __cnfn convert_uchar2_sat_rtn(char2);
905uchar2 __ovld __cnfn convert_uchar2(char2);
906uchar2 __ovld __cnfn convert_uchar2_sat(char2);
907uchar2 __ovld __cnfn convert_uchar2_rte(uchar2);
908uchar2 __ovld __cnfn convert_uchar2_sat_rte(uchar2);
909uchar2 __ovld __cnfn convert_uchar2_rtz(uchar2);
910uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uchar2);
911uchar2 __ovld __cnfn convert_uchar2_rtp(uchar2);
912uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uchar2);
913uchar2 __ovld __cnfn convert_uchar2_rtn(uchar2);
914uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uchar2);
915uchar2 __ovld __cnfn convert_uchar2(uchar2);
916uchar2 __ovld __cnfn convert_uchar2_sat(uchar2);
917uchar2 __ovld __cnfn convert_uchar2_rte(short2);
918uchar2 __ovld __cnfn convert_uchar2_sat_rte(short2);
919uchar2 __ovld __cnfn convert_uchar2_rtz(short2);
920uchar2 __ovld __cnfn convert_uchar2_sat_rtz(short2);
921uchar2 __ovld __cnfn convert_uchar2_rtp(short2);
922uchar2 __ovld __cnfn convert_uchar2_sat_rtp(short2);
923uchar2 __ovld __cnfn convert_uchar2_rtn(short2);
924uchar2 __ovld __cnfn convert_uchar2_sat_rtn(short2);
925uchar2 __ovld __cnfn convert_uchar2(short2);
926uchar2 __ovld __cnfn convert_uchar2_sat(short2);
927uchar2 __ovld __cnfn convert_uchar2_rte(ushort2);
928uchar2 __ovld __cnfn convert_uchar2_sat_rte(ushort2);
929uchar2 __ovld __cnfn convert_uchar2_rtz(ushort2);
930uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ushort2);
931uchar2 __ovld __cnfn convert_uchar2_rtp(ushort2);
932uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ushort2);
933uchar2 __ovld __cnfn convert_uchar2_rtn(ushort2);
934uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ushort2);
935uchar2 __ovld __cnfn convert_uchar2(ushort2);
936uchar2 __ovld __cnfn convert_uchar2_sat(ushort2);
937uchar2 __ovld __cnfn convert_uchar2_rte(int2);
938uchar2 __ovld __cnfn convert_uchar2_sat_rte(int2);
939uchar2 __ovld __cnfn convert_uchar2_rtz(int2);
940uchar2 __ovld __cnfn convert_uchar2_sat_rtz(int2);
941uchar2 __ovld __cnfn convert_uchar2_rtp(int2);
942uchar2 __ovld __cnfn convert_uchar2_sat_rtp(int2);
943uchar2 __ovld __cnfn convert_uchar2_rtn(int2);
944uchar2 __ovld __cnfn convert_uchar2_sat_rtn(int2);
945uchar2 __ovld __cnfn convert_uchar2(int2);
946uchar2 __ovld __cnfn convert_uchar2_sat(int2);
947uchar2 __ovld __cnfn convert_uchar2_rte(uint2);
948uchar2 __ovld __cnfn convert_uchar2_sat_rte(uint2);
949uchar2 __ovld __cnfn convert_uchar2_rtz(uint2);
950uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uint2);
951uchar2 __ovld __cnfn convert_uchar2_rtp(uint2);
952uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uint2);
953uchar2 __ovld __cnfn convert_uchar2_rtn(uint2);
954uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uint2);
955uchar2 __ovld __cnfn convert_uchar2(uint2);
956uchar2 __ovld __cnfn convert_uchar2_sat(uint2);
957uchar2 __ovld __cnfn convert_uchar2_rte(long2);
958uchar2 __ovld __cnfn convert_uchar2_sat_rte(long2);
959uchar2 __ovld __cnfn convert_uchar2_rtz(long2);
960uchar2 __ovld __cnfn convert_uchar2_sat_rtz(long2);
961uchar2 __ovld __cnfn convert_uchar2_rtp(long2);
962uchar2 __ovld __cnfn convert_uchar2_sat_rtp(long2);
963uchar2 __ovld __cnfn convert_uchar2_rtn(long2);
964uchar2 __ovld __cnfn convert_uchar2_sat_rtn(long2);
965uchar2 __ovld __cnfn convert_uchar2(long2);
966uchar2 __ovld __cnfn convert_uchar2_sat(long2);
967uchar2 __ovld __cnfn convert_uchar2_rte(ulong2);
968uchar2 __ovld __cnfn convert_uchar2_sat_rte(ulong2);
969uchar2 __ovld __cnfn convert_uchar2_rtz(ulong2);
970uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ulong2);
971uchar2 __ovld __cnfn convert_uchar2_rtp(ulong2);
972uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ulong2);
973uchar2 __ovld __cnfn convert_uchar2_rtn(ulong2);
974uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ulong2);
975uchar2 __ovld __cnfn convert_uchar2(ulong2);
976uchar2 __ovld __cnfn convert_uchar2_sat(ulong2);
977uchar2 __ovld __cnfn convert_uchar2_rte(float2);
978uchar2 __ovld __cnfn convert_uchar2_sat_rte(float2);
979uchar2 __ovld __cnfn convert_uchar2_rtz(float2);
980uchar2 __ovld __cnfn convert_uchar2_sat_rtz(float2);
981uchar2 __ovld __cnfn convert_uchar2_rtp(float2);
982uchar2 __ovld __cnfn convert_uchar2_sat_rtp(float2);
983uchar2 __ovld __cnfn convert_uchar2_rtn(float2);
984uchar2 __ovld __cnfn convert_uchar2_sat_rtn(float2);
985uchar2 __ovld __cnfn convert_uchar2(float2);
986uchar2 __ovld __cnfn convert_uchar2_sat(float2);
987short2 __ovld __cnfn convert_short2_rte(char2);
988short2 __ovld __cnfn convert_short2_sat_rte(char2);
989short2 __ovld __cnfn convert_short2_rtz(char2);
990short2 __ovld __cnfn convert_short2_sat_rtz(char2);
991short2 __ovld __cnfn convert_short2_rtp(char2);
992short2 __ovld __cnfn convert_short2_sat_rtp(char2);
993short2 __ovld __cnfn convert_short2_rtn(char2);
994short2 __ovld __cnfn convert_short2_sat_rtn(char2);
995short2 __ovld __cnfn convert_short2(char2);
996short2 __ovld __cnfn convert_short2_sat(char2);
997short2 __ovld __cnfn convert_short2_rte(uchar2);
998short2 __ovld __cnfn convert_short2_sat_rte(uchar2);
999short2 __ovld __cnfn convert_short2_rtz(uchar2);
1000short2 __ovld __cnfn convert_short2_sat_rtz(uchar2);
1001short2 __ovld __cnfn convert_short2_rtp(uchar2);
1002short2 __ovld __cnfn convert_short2_sat_rtp(uchar2);
1003short2 __ovld __cnfn convert_short2_rtn(uchar2);
1004short2 __ovld __cnfn convert_short2_sat_rtn(uchar2);
1005short2 __ovld __cnfn convert_short2(uchar2);
1006short2 __ovld __cnfn convert_short2_sat(uchar2);
1007short2 __ovld __cnfn convert_short2_rte(short2);
1008short2 __ovld __cnfn convert_short2_sat_rte(short2);
1009short2 __ovld __cnfn convert_short2_rtz(short2);
1010short2 __ovld __cnfn convert_short2_sat_rtz(short2);
1011short2 __ovld __cnfn convert_short2_rtp(short2);
1012short2 __ovld __cnfn convert_short2_sat_rtp(short2);
1013short2 __ovld __cnfn convert_short2_rtn(short2);
1014short2 __ovld __cnfn convert_short2_sat_rtn(short2);
1015short2 __ovld __cnfn convert_short2(short2);
1016short2 __ovld __cnfn convert_short2_sat(short2);
1017short2 __ovld __cnfn convert_short2_rte(ushort2);
1018short2 __ovld __cnfn convert_short2_sat_rte(ushort2);
1019short2 __ovld __cnfn convert_short2_rtz(ushort2);
1020short2 __ovld __cnfn convert_short2_sat_rtz(ushort2);
1021short2 __ovld __cnfn convert_short2_rtp(ushort2);
1022short2 __ovld __cnfn convert_short2_sat_rtp(ushort2);
1023short2 __ovld __cnfn convert_short2_rtn(ushort2);
1024short2 __ovld __cnfn convert_short2_sat_rtn(ushort2);
1025short2 __ovld __cnfn convert_short2(ushort2);
1026short2 __ovld __cnfn convert_short2_sat(ushort2);
1027short2 __ovld __cnfn convert_short2_rte(int2);
1028short2 __ovld __cnfn convert_short2_sat_rte(int2);
1029short2 __ovld __cnfn convert_short2_rtz(int2);
1030short2 __ovld __cnfn convert_short2_sat_rtz(int2);
1031short2 __ovld __cnfn convert_short2_rtp(int2);
1032short2 __ovld __cnfn convert_short2_sat_rtp(int2);
1033short2 __ovld __cnfn convert_short2_rtn(int2);
1034short2 __ovld __cnfn convert_short2_sat_rtn(int2);
1035short2 __ovld __cnfn convert_short2(int2);
1036short2 __ovld __cnfn convert_short2_sat(int2);
1037short2 __ovld __cnfn convert_short2_rte(uint2);
1038short2 __ovld __cnfn convert_short2_sat_rte(uint2);
1039short2 __ovld __cnfn convert_short2_rtz(uint2);
1040short2 __ovld __cnfn convert_short2_sat_rtz(uint2);
1041short2 __ovld __cnfn convert_short2_rtp(uint2);
1042short2 __ovld __cnfn convert_short2_sat_rtp(uint2);
1043short2 __ovld __cnfn convert_short2_rtn(uint2);
1044short2 __ovld __cnfn convert_short2_sat_rtn(uint2);
1045short2 __ovld __cnfn convert_short2(uint2);
1046short2 __ovld __cnfn convert_short2_sat(uint2);
1047short2 __ovld __cnfn convert_short2_rte(long2);
1048short2 __ovld __cnfn convert_short2_sat_rte(long2);
1049short2 __ovld __cnfn convert_short2_rtz(long2);
1050short2 __ovld __cnfn convert_short2_sat_rtz(long2);
1051short2 __ovld __cnfn convert_short2_rtp(long2);
1052short2 __ovld __cnfn convert_short2_sat_rtp(long2);
1053short2 __ovld __cnfn convert_short2_rtn(long2);
1054short2 __ovld __cnfn convert_short2_sat_rtn(long2);
1055short2 __ovld __cnfn convert_short2(long2);
1056short2 __ovld __cnfn convert_short2_sat(long2);
1057short2 __ovld __cnfn convert_short2_rte(ulong2);
1058short2 __ovld __cnfn convert_short2_sat_rte(ulong2);
1059short2 __ovld __cnfn convert_short2_rtz(ulong2);
1060short2 __ovld __cnfn convert_short2_sat_rtz(ulong2);
1061short2 __ovld __cnfn convert_short2_rtp(ulong2);
1062short2 __ovld __cnfn convert_short2_sat_rtp(ulong2);
1063short2 __ovld __cnfn convert_short2_rtn(ulong2);
1064short2 __ovld __cnfn convert_short2_sat_rtn(ulong2);
1065short2 __ovld __cnfn convert_short2(ulong2);
1066short2 __ovld __cnfn convert_short2_sat(ulong2);
1067short2 __ovld __cnfn convert_short2_rte(float2);
1068short2 __ovld __cnfn convert_short2_sat_rte(float2);
1069short2 __ovld __cnfn convert_short2_rtz(float2);
1070short2 __ovld __cnfn convert_short2_sat_rtz(float2);
1071short2 __ovld __cnfn convert_short2_rtp(float2);
1072short2 __ovld __cnfn convert_short2_sat_rtp(float2);
1073short2 __ovld __cnfn convert_short2_rtn(float2);
1074short2 __ovld __cnfn convert_short2_sat_rtn(float2);
1075short2 __ovld __cnfn convert_short2(float2);
1076short2 __ovld __cnfn convert_short2_sat(float2);
1077ushort2 __ovld __cnfn convert_ushort2_rte(char2);
1078ushort2 __ovld __cnfn convert_ushort2_sat_rte(char2);
1079ushort2 __ovld __cnfn convert_ushort2_rtz(char2);
1080ushort2 __ovld __cnfn convert_ushort2_sat_rtz(char2);
1081ushort2 __ovld __cnfn convert_ushort2_rtp(char2);
1082ushort2 __ovld __cnfn convert_ushort2_sat_rtp(char2);
1083ushort2 __ovld __cnfn convert_ushort2_rtn(char2);
1084ushort2 __ovld __cnfn convert_ushort2_sat_rtn(char2);
1085ushort2 __ovld __cnfn convert_ushort2(char2);
1086ushort2 __ovld __cnfn convert_ushort2_sat(char2);
1087ushort2 __ovld __cnfn convert_ushort2_rte(uchar2);
1088ushort2 __ovld __cnfn convert_ushort2_sat_rte(uchar2);
1089ushort2 __ovld __cnfn convert_ushort2_rtz(uchar2);
1090ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uchar2);
1091ushort2 __ovld __cnfn convert_ushort2_rtp(uchar2);
1092ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uchar2);
1093ushort2 __ovld __cnfn convert_ushort2_rtn(uchar2);
1094ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uchar2);
1095ushort2 __ovld __cnfn convert_ushort2(uchar2);
1096ushort2 __ovld __cnfn convert_ushort2_sat(uchar2);
1097ushort2 __ovld __cnfn convert_ushort2_rte(short2);
1098ushort2 __ovld __cnfn convert_ushort2_sat_rte(short2);
1099ushort2 __ovld __cnfn convert_ushort2_rtz(short2);
1100ushort2 __ovld __cnfn convert_ushort2_sat_rtz(short2);
1101ushort2 __ovld __cnfn convert_ushort2_rtp(short2);
1102ushort2 __ovld __cnfn convert_ushort2_sat_rtp(short2);
1103ushort2 __ovld __cnfn convert_ushort2_rtn(short2);
1104ushort2 __ovld __cnfn convert_ushort2_sat_rtn(short2);
1105ushort2 __ovld __cnfn convert_ushort2(short2);
1106ushort2 __ovld __cnfn convert_ushort2_sat(short2);
1107ushort2 __ovld __cnfn convert_ushort2_rte(ushort2);
1108ushort2 __ovld __cnfn convert_ushort2_sat_rte(ushort2);
1109ushort2 __ovld __cnfn convert_ushort2_rtz(ushort2);
1110ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ushort2);
1111ushort2 __ovld __cnfn convert_ushort2_rtp(ushort2);
1112ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ushort2);
1113ushort2 __ovld __cnfn convert_ushort2_rtn(ushort2);
1114ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ushort2);
1115ushort2 __ovld __cnfn convert_ushort2(ushort2);
1116ushort2 __ovld __cnfn convert_ushort2_sat(ushort2);
1117ushort2 __ovld __cnfn convert_ushort2_rte(int2);
1118ushort2 __ovld __cnfn convert_ushort2_sat_rte(int2);
1119ushort2 __ovld __cnfn convert_ushort2_rtz(int2);
1120ushort2 __ovld __cnfn convert_ushort2_sat_rtz(int2);
1121ushort2 __ovld __cnfn convert_ushort2_rtp(int2);
1122ushort2 __ovld __cnfn convert_ushort2_sat_rtp(int2);
1123ushort2 __ovld __cnfn convert_ushort2_rtn(int2);
1124ushort2 __ovld __cnfn convert_ushort2_sat_rtn(int2);
1125ushort2 __ovld __cnfn convert_ushort2(int2);
1126ushort2 __ovld __cnfn convert_ushort2_sat(int2);
1127ushort2 __ovld __cnfn convert_ushort2_rte(uint2);
1128ushort2 __ovld __cnfn convert_ushort2_sat_rte(uint2);
1129ushort2 __ovld __cnfn convert_ushort2_rtz(uint2);
1130ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uint2);
1131ushort2 __ovld __cnfn convert_ushort2_rtp(uint2);
1132ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uint2);
1133ushort2 __ovld __cnfn convert_ushort2_rtn(uint2);
1134ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uint2);
1135ushort2 __ovld __cnfn convert_ushort2(uint2);
1136ushort2 __ovld __cnfn convert_ushort2_sat(uint2);
1137ushort2 __ovld __cnfn convert_ushort2_rte(long2);
1138ushort2 __ovld __cnfn convert_ushort2_sat_rte(long2);
1139ushort2 __ovld __cnfn convert_ushort2_rtz(long2);
1140ushort2 __ovld __cnfn convert_ushort2_sat_rtz(long2);
1141ushort2 __ovld __cnfn convert_ushort2_rtp(long2);
1142ushort2 __ovld __cnfn convert_ushort2_sat_rtp(long2);
1143ushort2 __ovld __cnfn convert_ushort2_rtn(long2);
1144ushort2 __ovld __cnfn convert_ushort2_sat_rtn(long2);
1145ushort2 __ovld __cnfn convert_ushort2(long2);
1146ushort2 __ovld __cnfn convert_ushort2_sat(long2);
1147ushort2 __ovld __cnfn convert_ushort2_rte(ulong2);
1148ushort2 __ovld __cnfn convert_ushort2_sat_rte(ulong2);
1149ushort2 __ovld __cnfn convert_ushort2_rtz(ulong2);
1150ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ulong2);
1151ushort2 __ovld __cnfn convert_ushort2_rtp(ulong2);
1152ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ulong2);
1153ushort2 __ovld __cnfn convert_ushort2_rtn(ulong2);
1154ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ulong2);
1155ushort2 __ovld __cnfn convert_ushort2(ulong2);
1156ushort2 __ovld __cnfn convert_ushort2_sat(ulong2);
1157ushort2 __ovld __cnfn convert_ushort2_rte(float2);
1158ushort2 __ovld __cnfn convert_ushort2_sat_rte(float2);
1159ushort2 __ovld __cnfn convert_ushort2_rtz(float2);
1160ushort2 __ovld __cnfn convert_ushort2_sat_rtz(float2);
1161ushort2 __ovld __cnfn convert_ushort2_rtp(float2);
1162ushort2 __ovld __cnfn convert_ushort2_sat_rtp(float2);
1163ushort2 __ovld __cnfn convert_ushort2_rtn(float2);
1164ushort2 __ovld __cnfn convert_ushort2_sat_rtn(float2);
1165ushort2 __ovld __cnfn convert_ushort2(float2);
1166ushort2 __ovld __cnfn convert_ushort2_sat(float2);
1167int2 __ovld __cnfn convert_int2_rte(char2);
1168int2 __ovld __cnfn convert_int2_sat_rte(char2);
1169int2 __ovld __cnfn convert_int2_rtz(char2);
1170int2 __ovld __cnfn convert_int2_sat_rtz(char2);
1171int2 __ovld __cnfn convert_int2_rtp(char2);
1172int2 __ovld __cnfn convert_int2_sat_rtp(char2);
1173int2 __ovld __cnfn convert_int2_rtn(char2);
1174int2 __ovld __cnfn convert_int2_sat_rtn(char2);
1175int2 __ovld __cnfn convert_int2(char2);
1176int2 __ovld __cnfn convert_int2_sat(char2);
1177int2 __ovld __cnfn convert_int2_rte(uchar2);
1178int2 __ovld __cnfn convert_int2_sat_rte(uchar2);
1179int2 __ovld __cnfn convert_int2_rtz(uchar2);
1180int2 __ovld __cnfn convert_int2_sat_rtz(uchar2);
1181int2 __ovld __cnfn convert_int2_rtp(uchar2);
1182int2 __ovld __cnfn convert_int2_sat_rtp(uchar2);
1183int2 __ovld __cnfn convert_int2_rtn(uchar2);
1184int2 __ovld __cnfn convert_int2_sat_rtn(uchar2);
1185int2 __ovld __cnfn convert_int2(uchar2);
1186int2 __ovld __cnfn convert_int2_sat(uchar2);
1187int2 __ovld __cnfn convert_int2_rte(short2);
1188int2 __ovld __cnfn convert_int2_sat_rte(short2);
1189int2 __ovld __cnfn convert_int2_rtz(short2);
1190int2 __ovld __cnfn convert_int2_sat_rtz(short2);
1191int2 __ovld __cnfn convert_int2_rtp(short2);
1192int2 __ovld __cnfn convert_int2_sat_rtp(short2);
1193int2 __ovld __cnfn convert_int2_rtn(short2);
1194int2 __ovld __cnfn convert_int2_sat_rtn(short2);
1195int2 __ovld __cnfn convert_int2(short2);
1196int2 __ovld __cnfn convert_int2_sat(short2);
1197int2 __ovld __cnfn convert_int2_rte(ushort2);
1198int2 __ovld __cnfn convert_int2_sat_rte(ushort2);
1199int2 __ovld __cnfn convert_int2_rtz(ushort2);
1200int2 __ovld __cnfn convert_int2_sat_rtz(ushort2);
1201int2 __ovld __cnfn convert_int2_rtp(ushort2);
1202int2 __ovld __cnfn convert_int2_sat_rtp(ushort2);
1203int2 __ovld __cnfn convert_int2_rtn(ushort2);
1204int2 __ovld __cnfn convert_int2_sat_rtn(ushort2);
1205int2 __ovld __cnfn convert_int2(ushort2);
1206int2 __ovld __cnfn convert_int2_sat(ushort2);
1207int2 __ovld __cnfn convert_int2_rte(int2);
1208int2 __ovld __cnfn convert_int2_sat_rte(int2);
1209int2 __ovld __cnfn convert_int2_rtz(int2);
1210int2 __ovld __cnfn convert_int2_sat_rtz(int2);
1211int2 __ovld __cnfn convert_int2_rtp(int2);
1212int2 __ovld __cnfn convert_int2_sat_rtp(int2);
1213int2 __ovld __cnfn convert_int2_rtn(int2);
1214int2 __ovld __cnfn convert_int2_sat_rtn(int2);
1215int2 __ovld __cnfn convert_int2(int2);
1216int2 __ovld __cnfn convert_int2_sat(int2);
1217int2 __ovld __cnfn convert_int2_rte(uint2);
1218int2 __ovld __cnfn convert_int2_sat_rte(uint2);
1219int2 __ovld __cnfn convert_int2_rtz(uint2);
1220int2 __ovld __cnfn convert_int2_sat_rtz(uint2);
1221int2 __ovld __cnfn convert_int2_rtp(uint2);
1222int2 __ovld __cnfn convert_int2_sat_rtp(uint2);
1223int2 __ovld __cnfn convert_int2_rtn(uint2);
1224int2 __ovld __cnfn convert_int2_sat_rtn(uint2);
1225int2 __ovld __cnfn convert_int2(uint2);
1226int2 __ovld __cnfn convert_int2_sat(uint2);
1227int2 __ovld __cnfn convert_int2_rte(long2);
1228int2 __ovld __cnfn convert_int2_sat_rte(long2);
1229int2 __ovld __cnfn convert_int2_rtz(long2);
1230int2 __ovld __cnfn convert_int2_sat_rtz(long2);
1231int2 __ovld __cnfn convert_int2_rtp(long2);
1232int2 __ovld __cnfn convert_int2_sat_rtp(long2);
1233int2 __ovld __cnfn convert_int2_rtn(long2);
1234int2 __ovld __cnfn convert_int2_sat_rtn(long2);
1235int2 __ovld __cnfn convert_int2(long2);
1236int2 __ovld __cnfn convert_int2_sat(long2);
1237int2 __ovld __cnfn convert_int2_rte(ulong2);
1238int2 __ovld __cnfn convert_int2_sat_rte(ulong2);
1239int2 __ovld __cnfn convert_int2_rtz(ulong2);
1240int2 __ovld __cnfn convert_int2_sat_rtz(ulong2);
1241int2 __ovld __cnfn convert_int2_rtp(ulong2);
1242int2 __ovld __cnfn convert_int2_sat_rtp(ulong2);
1243int2 __ovld __cnfn convert_int2_rtn(ulong2);
1244int2 __ovld __cnfn convert_int2_sat_rtn(ulong2);
1245int2 __ovld __cnfn convert_int2(ulong2);
1246int2 __ovld __cnfn convert_int2_sat(ulong2);
1247int2 __ovld __cnfn convert_int2_rte(float2);
1248int2 __ovld __cnfn convert_int2_sat_rte(float2);
1249int2 __ovld __cnfn convert_int2_rtz(float2);
1250int2 __ovld __cnfn convert_int2_sat_rtz(float2);
1251int2 __ovld __cnfn convert_int2_rtp(float2);
1252int2 __ovld __cnfn convert_int2_sat_rtp(float2);
1253int2 __ovld __cnfn convert_int2_rtn(float2);
1254int2 __ovld __cnfn convert_int2_sat_rtn(float2);
1255int2 __ovld __cnfn convert_int2(float2);
1256int2 __ovld __cnfn convert_int2_sat(float2);
1257uint2 __ovld __cnfn convert_uint2_rte(char2);
1258uint2 __ovld __cnfn convert_uint2_sat_rte(char2);
1259uint2 __ovld __cnfn convert_uint2_rtz(char2);
1260uint2 __ovld __cnfn convert_uint2_sat_rtz(char2);
1261uint2 __ovld __cnfn convert_uint2_rtp(char2);
1262uint2 __ovld __cnfn convert_uint2_sat_rtp(char2);
1263uint2 __ovld __cnfn convert_uint2_rtn(char2);
1264uint2 __ovld __cnfn convert_uint2_sat_rtn(char2);
1265uint2 __ovld __cnfn convert_uint2(char2);
1266uint2 __ovld __cnfn convert_uint2_sat(char2);
1267uint2 __ovld __cnfn convert_uint2_rte(uchar2);
1268uint2 __ovld __cnfn convert_uint2_sat_rte(uchar2);
1269uint2 __ovld __cnfn convert_uint2_rtz(uchar2);
1270uint2 __ovld __cnfn convert_uint2_sat_rtz(uchar2);
1271uint2 __ovld __cnfn convert_uint2_rtp(uchar2);
1272uint2 __ovld __cnfn convert_uint2_sat_rtp(uchar2);
1273uint2 __ovld __cnfn convert_uint2_rtn(uchar2);
1274uint2 __ovld __cnfn convert_uint2_sat_rtn(uchar2);
1275uint2 __ovld __cnfn convert_uint2(uchar2);
1276uint2 __ovld __cnfn convert_uint2_sat(uchar2);
1277uint2 __ovld __cnfn convert_uint2_rte(short2);
1278uint2 __ovld __cnfn convert_uint2_sat_rte(short2);
1279uint2 __ovld __cnfn convert_uint2_rtz(short2);
1280uint2 __ovld __cnfn convert_uint2_sat_rtz(short2);
1281uint2 __ovld __cnfn convert_uint2_rtp(short2);
1282uint2 __ovld __cnfn convert_uint2_sat_rtp(short2);
1283uint2 __ovld __cnfn convert_uint2_rtn(short2);
1284uint2 __ovld __cnfn convert_uint2_sat_rtn(short2);
1285uint2 __ovld __cnfn convert_uint2(short2);
1286uint2 __ovld __cnfn convert_uint2_sat(short2);
1287uint2 __ovld __cnfn convert_uint2_rte(ushort2);
1288uint2 __ovld __cnfn convert_uint2_sat_rte(ushort2);
1289uint2 __ovld __cnfn convert_uint2_rtz(ushort2);
1290uint2 __ovld __cnfn convert_uint2_sat_rtz(ushort2);
1291uint2 __ovld __cnfn convert_uint2_rtp(ushort2);
1292uint2 __ovld __cnfn convert_uint2_sat_rtp(ushort2);
1293uint2 __ovld __cnfn convert_uint2_rtn(ushort2);
1294uint2 __ovld __cnfn convert_uint2_sat_rtn(ushort2);
1295uint2 __ovld __cnfn convert_uint2(ushort2);
1296uint2 __ovld __cnfn convert_uint2_sat(ushort2);
1297uint2 __ovld __cnfn convert_uint2_rte(int2);
1298uint2 __ovld __cnfn convert_uint2_sat_rte(int2);
1299uint2 __ovld __cnfn convert_uint2_rtz(int2);
1300uint2 __ovld __cnfn convert_uint2_sat_rtz(int2);
1301uint2 __ovld __cnfn convert_uint2_rtp(int2);
1302uint2 __ovld __cnfn convert_uint2_sat_rtp(int2);
1303uint2 __ovld __cnfn convert_uint2_rtn(int2);
1304uint2 __ovld __cnfn convert_uint2_sat_rtn(int2);
1305uint2 __ovld __cnfn convert_uint2(int2);
1306uint2 __ovld __cnfn convert_uint2_sat(int2);
1307uint2 __ovld __cnfn convert_uint2_rte(uint2);
1308uint2 __ovld __cnfn convert_uint2_sat_rte(uint2);
1309uint2 __ovld __cnfn convert_uint2_rtz(uint2);
1310uint2 __ovld __cnfn convert_uint2_sat_rtz(uint2);
1311uint2 __ovld __cnfn convert_uint2_rtp(uint2);
1312uint2 __ovld __cnfn convert_uint2_sat_rtp(uint2);
1313uint2 __ovld __cnfn convert_uint2_rtn(uint2);
1314uint2 __ovld __cnfn convert_uint2_sat_rtn(uint2);
1315uint2 __ovld __cnfn convert_uint2(uint2);
1316uint2 __ovld __cnfn convert_uint2_sat(uint2);
1317uint2 __ovld __cnfn convert_uint2_rte(long2);
1318uint2 __ovld __cnfn convert_uint2_sat_rte(long2);
1319uint2 __ovld __cnfn convert_uint2_rtz(long2);
1320uint2 __ovld __cnfn convert_uint2_sat_rtz(long2);
1321uint2 __ovld __cnfn convert_uint2_rtp(long2);
1322uint2 __ovld __cnfn convert_uint2_sat_rtp(long2);
1323uint2 __ovld __cnfn convert_uint2_rtn(long2);
1324uint2 __ovld __cnfn convert_uint2_sat_rtn(long2);
1325uint2 __ovld __cnfn convert_uint2(long2);
1326uint2 __ovld __cnfn convert_uint2_sat(long2);
1327uint2 __ovld __cnfn convert_uint2_rte(ulong2);
1328uint2 __ovld __cnfn convert_uint2_sat_rte(ulong2);
1329uint2 __ovld __cnfn convert_uint2_rtz(ulong2);
1330uint2 __ovld __cnfn convert_uint2_sat_rtz(ulong2);
1331uint2 __ovld __cnfn convert_uint2_rtp(ulong2);
1332uint2 __ovld __cnfn convert_uint2_sat_rtp(ulong2);
1333uint2 __ovld __cnfn convert_uint2_rtn(ulong2);
1334uint2 __ovld __cnfn convert_uint2_sat_rtn(ulong2);
1335uint2 __ovld __cnfn convert_uint2(ulong2);
1336uint2 __ovld __cnfn convert_uint2_sat(ulong2);
1337uint2 __ovld __cnfn convert_uint2_rte(float2);
1338uint2 __ovld __cnfn convert_uint2_sat_rte(float2);
1339uint2 __ovld __cnfn convert_uint2_rtz(float2);
1340uint2 __ovld __cnfn convert_uint2_sat_rtz(float2);
1341uint2 __ovld __cnfn convert_uint2_rtp(float2);
1342uint2 __ovld __cnfn convert_uint2_sat_rtp(float2);
1343uint2 __ovld __cnfn convert_uint2_rtn(float2);
1344uint2 __ovld __cnfn convert_uint2_sat_rtn(float2);
1345uint2 __ovld __cnfn convert_uint2(float2);
1346uint2 __ovld __cnfn convert_uint2_sat(float2);
1347long2 __ovld __cnfn convert_long2_rte(char2);
1348long2 __ovld __cnfn convert_long2_sat_rte(char2);
1349long2 __ovld __cnfn convert_long2_rtz(char2);
1350long2 __ovld __cnfn convert_long2_sat_rtz(char2);
1351long2 __ovld __cnfn convert_long2_rtp(char2);
1352long2 __ovld __cnfn convert_long2_sat_rtp(char2);
1353long2 __ovld __cnfn convert_long2_rtn(char2);
1354long2 __ovld __cnfn convert_long2_sat_rtn(char2);
1355long2 __ovld __cnfn convert_long2(char2);
1356long2 __ovld __cnfn convert_long2_sat(char2);
1357long2 __ovld __cnfn convert_long2_rte(uchar2);
1358long2 __ovld __cnfn convert_long2_sat_rte(uchar2);
1359long2 __ovld __cnfn convert_long2_rtz(uchar2);
1360long2 __ovld __cnfn convert_long2_sat_rtz(uchar2);
1361long2 __ovld __cnfn convert_long2_rtp(uchar2);
1362long2 __ovld __cnfn convert_long2_sat_rtp(uchar2);
1363long2 __ovld __cnfn convert_long2_rtn(uchar2);
1364long2 __ovld __cnfn convert_long2_sat_rtn(uchar2);
1365long2 __ovld __cnfn convert_long2(uchar2);
1366long2 __ovld __cnfn convert_long2_sat(uchar2);
1367long2 __ovld __cnfn convert_long2_rte(short2);
1368long2 __ovld __cnfn convert_long2_sat_rte(short2);
1369long2 __ovld __cnfn convert_long2_rtz(short2);
1370long2 __ovld __cnfn convert_long2_sat_rtz(short2);
1371long2 __ovld __cnfn convert_long2_rtp(short2);
1372long2 __ovld __cnfn convert_long2_sat_rtp(short2);
1373long2 __ovld __cnfn convert_long2_rtn(short2);
1374long2 __ovld __cnfn convert_long2_sat_rtn(short2);
1375long2 __ovld __cnfn convert_long2(short2);
1376long2 __ovld __cnfn convert_long2_sat(short2);
1377long2 __ovld __cnfn convert_long2_rte(ushort2);
1378long2 __ovld __cnfn convert_long2_sat_rte(ushort2);
1379long2 __ovld __cnfn convert_long2_rtz(ushort2);
1380long2 __ovld __cnfn convert_long2_sat_rtz(ushort2);
1381long2 __ovld __cnfn convert_long2_rtp(ushort2);
1382long2 __ovld __cnfn convert_long2_sat_rtp(ushort2);
1383long2 __ovld __cnfn convert_long2_rtn(ushort2);
1384long2 __ovld __cnfn convert_long2_sat_rtn(ushort2);
1385long2 __ovld __cnfn convert_long2(ushort2);
1386long2 __ovld __cnfn convert_long2_sat(ushort2);
1387long2 __ovld __cnfn convert_long2_rte(int2);
1388long2 __ovld __cnfn convert_long2_sat_rte(int2);
1389long2 __ovld __cnfn convert_long2_rtz(int2);
1390long2 __ovld __cnfn convert_long2_sat_rtz(int2);
1391long2 __ovld __cnfn convert_long2_rtp(int2);
1392long2 __ovld __cnfn convert_long2_sat_rtp(int2);
1393long2 __ovld __cnfn convert_long2_rtn(int2);
1394long2 __ovld __cnfn convert_long2_sat_rtn(int2);
1395long2 __ovld __cnfn convert_long2(int2);
1396long2 __ovld __cnfn convert_long2_sat(int2);
1397long2 __ovld __cnfn convert_long2_rte(uint2);
1398long2 __ovld __cnfn convert_long2_sat_rte(uint2);
1399long2 __ovld __cnfn convert_long2_rtz(uint2);
1400long2 __ovld __cnfn convert_long2_sat_rtz(uint2);
1401long2 __ovld __cnfn convert_long2_rtp(uint2);
1402long2 __ovld __cnfn convert_long2_sat_rtp(uint2);
1403long2 __ovld __cnfn convert_long2_rtn(uint2);
1404long2 __ovld __cnfn convert_long2_sat_rtn(uint2);
1405long2 __ovld __cnfn convert_long2(uint2);
1406long2 __ovld __cnfn convert_long2_sat(uint2);
1407long2 __ovld __cnfn convert_long2_rte(long2);
1408long2 __ovld __cnfn convert_long2_sat_rte(long2);
1409long2 __ovld __cnfn convert_long2_rtz(long2);
1410long2 __ovld __cnfn convert_long2_sat_rtz(long2);
1411long2 __ovld __cnfn convert_long2_rtp(long2);
1412long2 __ovld __cnfn convert_long2_sat_rtp(long2);
1413long2 __ovld __cnfn convert_long2_rtn(long2);
1414long2 __ovld __cnfn convert_long2_sat_rtn(long2);
1415long2 __ovld __cnfn convert_long2(long2);
1416long2 __ovld __cnfn convert_long2_sat(long2);
1417long2 __ovld __cnfn convert_long2_rte(ulong2);
1418long2 __ovld __cnfn convert_long2_sat_rte(ulong2);
1419long2 __ovld __cnfn convert_long2_rtz(ulong2);
1420long2 __ovld __cnfn convert_long2_sat_rtz(ulong2);
1421long2 __ovld __cnfn convert_long2_rtp(ulong2);
1422long2 __ovld __cnfn convert_long2_sat_rtp(ulong2);
1423long2 __ovld __cnfn convert_long2_rtn(ulong2);
1424long2 __ovld __cnfn convert_long2_sat_rtn(ulong2);
1425long2 __ovld __cnfn convert_long2(ulong2);
1426long2 __ovld __cnfn convert_long2_sat(ulong2);
1427long2 __ovld __cnfn convert_long2_rte(float2);
1428long2 __ovld __cnfn convert_long2_sat_rte(float2);
1429long2 __ovld __cnfn convert_long2_rtz(float2);
1430long2 __ovld __cnfn convert_long2_sat_rtz(float2);
1431long2 __ovld __cnfn convert_long2_rtp(float2);
1432long2 __ovld __cnfn convert_long2_sat_rtp(float2);
1433long2 __ovld __cnfn convert_long2_rtn(float2);
1434long2 __ovld __cnfn convert_long2_sat_rtn(float2);
1435long2 __ovld __cnfn convert_long2(float2);
1436long2 __ovld __cnfn convert_long2_sat(float2);
1437ulong2 __ovld __cnfn convert_ulong2_rte(char2);
1438ulong2 __ovld __cnfn convert_ulong2_sat_rte(char2);
1439ulong2 __ovld __cnfn convert_ulong2_rtz(char2);
1440ulong2 __ovld __cnfn convert_ulong2_sat_rtz(char2);
1441ulong2 __ovld __cnfn convert_ulong2_rtp(char2);
1442ulong2 __ovld __cnfn convert_ulong2_sat_rtp(char2);
1443ulong2 __ovld __cnfn convert_ulong2_rtn(char2);
1444ulong2 __ovld __cnfn convert_ulong2_sat_rtn(char2);
1445ulong2 __ovld __cnfn convert_ulong2(char2);
1446ulong2 __ovld __cnfn convert_ulong2_sat(char2);
1447ulong2 __ovld __cnfn convert_ulong2_rte(uchar2);
1448ulong2 __ovld __cnfn convert_ulong2_sat_rte(uchar2);
1449ulong2 __ovld __cnfn convert_ulong2_rtz(uchar2);
1450ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uchar2);
1451ulong2 __ovld __cnfn convert_ulong2_rtp(uchar2);
1452ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uchar2);
1453ulong2 __ovld __cnfn convert_ulong2_rtn(uchar2);
1454ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uchar2);
1455ulong2 __ovld __cnfn convert_ulong2(uchar2);
1456ulong2 __ovld __cnfn convert_ulong2_sat(uchar2);
1457ulong2 __ovld __cnfn convert_ulong2_rte(short2);
1458ulong2 __ovld __cnfn convert_ulong2_sat_rte(short2);
1459ulong2 __ovld __cnfn convert_ulong2_rtz(short2);
1460ulong2 __ovld __cnfn convert_ulong2_sat_rtz(short2);
1461ulong2 __ovld __cnfn convert_ulong2_rtp(short2);
1462ulong2 __ovld __cnfn convert_ulong2_sat_rtp(short2);
1463ulong2 __ovld __cnfn convert_ulong2_rtn(short2);
1464ulong2 __ovld __cnfn convert_ulong2_sat_rtn(short2);
1465ulong2 __ovld __cnfn convert_ulong2(short2);
1466ulong2 __ovld __cnfn convert_ulong2_sat(short2);
1467ulong2 __ovld __cnfn convert_ulong2_rte(ushort2);
1468ulong2 __ovld __cnfn convert_ulong2_sat_rte(ushort2);
1469ulong2 __ovld __cnfn convert_ulong2_rtz(ushort2);
1470ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ushort2);
1471ulong2 __ovld __cnfn convert_ulong2_rtp(ushort2);
1472ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ushort2);
1473ulong2 __ovld __cnfn convert_ulong2_rtn(ushort2);
1474ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ushort2);
1475ulong2 __ovld __cnfn convert_ulong2(ushort2);
1476ulong2 __ovld __cnfn convert_ulong2_sat(ushort2);
1477ulong2 __ovld __cnfn convert_ulong2_rte(int2);
1478ulong2 __ovld __cnfn convert_ulong2_sat_rte(int2);
1479ulong2 __ovld __cnfn convert_ulong2_rtz(int2);
1480ulong2 __ovld __cnfn convert_ulong2_sat_rtz(int2);
1481ulong2 __ovld __cnfn convert_ulong2_rtp(int2);
1482ulong2 __ovld __cnfn convert_ulong2_sat_rtp(int2);
1483ulong2 __ovld __cnfn convert_ulong2_rtn(int2);
1484ulong2 __ovld __cnfn convert_ulong2_sat_rtn(int2);
1485ulong2 __ovld __cnfn convert_ulong2(int2);
1486ulong2 __ovld __cnfn convert_ulong2_sat(int2);
1487ulong2 __ovld __cnfn convert_ulong2_rte(uint2);
1488ulong2 __ovld __cnfn convert_ulong2_sat_rte(uint2);
1489ulong2 __ovld __cnfn convert_ulong2_rtz(uint2);
1490ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uint2);
1491ulong2 __ovld __cnfn convert_ulong2_rtp(uint2);
1492ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uint2);
1493ulong2 __ovld __cnfn convert_ulong2_rtn(uint2);
1494ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uint2);
1495ulong2 __ovld __cnfn convert_ulong2(uint2);
1496ulong2 __ovld __cnfn convert_ulong2_sat(uint2);
1497ulong2 __ovld __cnfn convert_ulong2_rte(long2);
1498ulong2 __ovld __cnfn convert_ulong2_sat_rte(long2);
1499ulong2 __ovld __cnfn convert_ulong2_rtz(long2);
1500ulong2 __ovld __cnfn convert_ulong2_sat_rtz(long2);
1501ulong2 __ovld __cnfn convert_ulong2_rtp(long2);
1502ulong2 __ovld __cnfn convert_ulong2_sat_rtp(long2);
1503ulong2 __ovld __cnfn convert_ulong2_rtn(long2);
1504ulong2 __ovld __cnfn convert_ulong2_sat_rtn(long2);
1505ulong2 __ovld __cnfn convert_ulong2(long2);
1506ulong2 __ovld __cnfn convert_ulong2_sat(long2);
1507ulong2 __ovld __cnfn convert_ulong2_rte(ulong2);
1508ulong2 __ovld __cnfn convert_ulong2_sat_rte(ulong2);
1509ulong2 __ovld __cnfn convert_ulong2_rtz(ulong2);
1510ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ulong2);
1511ulong2 __ovld __cnfn convert_ulong2_rtp(ulong2);
1512ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ulong2);
1513ulong2 __ovld __cnfn convert_ulong2_rtn(ulong2);
1514ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ulong2);
1515ulong2 __ovld __cnfn convert_ulong2(ulong2);
1516ulong2 __ovld __cnfn convert_ulong2_sat(ulong2);
1517ulong2 __ovld __cnfn convert_ulong2_rte(float2);
1518ulong2 __ovld __cnfn convert_ulong2_sat_rte(float2);
1519ulong2 __ovld __cnfn convert_ulong2_rtz(float2);
1520ulong2 __ovld __cnfn convert_ulong2_sat_rtz(float2);
1521ulong2 __ovld __cnfn convert_ulong2_rtp(float2);
1522ulong2 __ovld __cnfn convert_ulong2_sat_rtp(float2);
1523ulong2 __ovld __cnfn convert_ulong2_rtn(float2);
1524ulong2 __ovld __cnfn convert_ulong2_sat_rtn(float2);
1525ulong2 __ovld __cnfn convert_ulong2(float2);
1526ulong2 __ovld __cnfn convert_ulong2_sat(float2);
1527float2 __ovld __cnfn convert_float2_rte(char2);
1528float2 __ovld __cnfn convert_float2_rtz(char2);
1529float2 __ovld __cnfn convert_float2_rtp(char2);
1530float2 __ovld __cnfn convert_float2_rtn(char2);
1531float2 __ovld __cnfn convert_float2(char2);
1532float2 __ovld __cnfn convert_float2_rte(uchar2);
1533float2 __ovld __cnfn convert_float2_rtz(uchar2);
1534float2 __ovld __cnfn convert_float2_rtp(uchar2);
1535float2 __ovld __cnfn convert_float2_rtn(uchar2);
1536float2 __ovld __cnfn convert_float2(uchar2);
1537float2 __ovld __cnfn convert_float2_rte(short2);
1538float2 __ovld __cnfn convert_float2_rtz(short2);
1539float2 __ovld __cnfn convert_float2_rtp(short2);
1540float2 __ovld __cnfn convert_float2_rtn(short2);
1541float2 __ovld __cnfn convert_float2(short2);
1542float2 __ovld __cnfn convert_float2_rte(ushort2);
1543float2 __ovld __cnfn convert_float2_rtz(ushort2);
1544float2 __ovld __cnfn convert_float2_rtp(ushort2);
1545float2 __ovld __cnfn convert_float2_rtn(ushort2);
1546float2 __ovld __cnfn convert_float2(ushort2);
1547float2 __ovld __cnfn convert_float2_rte(int2);
1548float2 __ovld __cnfn convert_float2_rtz(int2);
1549float2 __ovld __cnfn convert_float2_rtp(int2);
1550float2 __ovld __cnfn convert_float2_rtn(int2);
1551float2 __ovld __cnfn convert_float2(int2);
1552float2 __ovld __cnfn convert_float2_rte(uint2);
1553float2 __ovld __cnfn convert_float2_rtz(uint2);
1554float2 __ovld __cnfn convert_float2_rtp(uint2);
1555float2 __ovld __cnfn convert_float2_rtn(uint2);
1556float2 __ovld __cnfn convert_float2(uint2);
1557float2 __ovld __cnfn convert_float2_rte(long2);
1558float2 __ovld __cnfn convert_float2_rtz(long2);
1559float2 __ovld __cnfn convert_float2_rtp(long2);
1560float2 __ovld __cnfn convert_float2_rtn(long2);
1561float2 __ovld __cnfn convert_float2(long2);
1562float2 __ovld __cnfn convert_float2_rte(ulong2);
1563float2 __ovld __cnfn convert_float2_rtz(ulong2);
1564float2 __ovld __cnfn convert_float2_rtp(ulong2);
1565float2 __ovld __cnfn convert_float2_rtn(ulong2);
1566float2 __ovld __cnfn convert_float2(ulong2);
1567float2 __ovld __cnfn convert_float2_rte(float2);
1568float2 __ovld __cnfn convert_float2_rtz(float2);
1569float2 __ovld __cnfn convert_float2_rtp(float2);
1570float2 __ovld __cnfn convert_float2_rtn(float2);
1571float2 __ovld __cnfn convert_float2(float2);
1572char3 __ovld __cnfn convert_char3_rte(char3);
1573char3 __ovld __cnfn convert_char3_sat_rte(char3);
1574char3 __ovld __cnfn convert_char3_rtz(char3);
1575char3 __ovld __cnfn convert_char3_sat_rtz(char3);
1576char3 __ovld __cnfn convert_char3_rtp(char3);
1577char3 __ovld __cnfn convert_char3_sat_rtp(char3);
1578char3 __ovld __cnfn convert_char3_rtn(char3);
1579char3 __ovld __cnfn convert_char3_sat_rtn(char3);
1580char3 __ovld __cnfn convert_char3(char3);
1581char3 __ovld __cnfn convert_char3_sat(char3);
1582char3 __ovld __cnfn convert_char3_rte(uchar3);
1583char3 __ovld __cnfn convert_char3_sat_rte(uchar3);
1584char3 __ovld __cnfn convert_char3_rtz(uchar3);
1585char3 __ovld __cnfn convert_char3_sat_rtz(uchar3);
1586char3 __ovld __cnfn convert_char3_rtp(uchar3);
1587char3 __ovld __cnfn convert_char3_sat_rtp(uchar3);
1588char3 __ovld __cnfn convert_char3_rtn(uchar3);
1589char3 __ovld __cnfn convert_char3_sat_rtn(uchar3);
1590char3 __ovld __cnfn convert_char3(uchar3);
1591char3 __ovld __cnfn convert_char3_sat(uchar3);
1592char3 __ovld __cnfn convert_char3_rte(short3);
1593char3 __ovld __cnfn convert_char3_sat_rte(short3);
1594char3 __ovld __cnfn convert_char3_rtz(short3);
1595char3 __ovld __cnfn convert_char3_sat_rtz(short3);
1596char3 __ovld __cnfn convert_char3_rtp(short3);
1597char3 __ovld __cnfn convert_char3_sat_rtp(short3);
1598char3 __ovld __cnfn convert_char3_rtn(short3);
1599char3 __ovld __cnfn convert_char3_sat_rtn(short3);
1600char3 __ovld __cnfn convert_char3(short3);
1601char3 __ovld __cnfn convert_char3_sat(short3);
1602char3 __ovld __cnfn convert_char3_rte(ushort3);
1603char3 __ovld __cnfn convert_char3_sat_rte(ushort3);
1604char3 __ovld __cnfn convert_char3_rtz(ushort3);
1605char3 __ovld __cnfn convert_char3_sat_rtz(ushort3);
1606char3 __ovld __cnfn convert_char3_rtp(ushort3);
1607char3 __ovld __cnfn convert_char3_sat_rtp(ushort3);
1608char3 __ovld __cnfn convert_char3_rtn(ushort3);
1609char3 __ovld __cnfn convert_char3_sat_rtn(ushort3);
1610char3 __ovld __cnfn convert_char3(ushort3);
1611char3 __ovld __cnfn convert_char3_sat(ushort3);
1612char3 __ovld __cnfn convert_char3_rte(int3);
1613char3 __ovld __cnfn convert_char3_sat_rte(int3);
1614char3 __ovld __cnfn convert_char3_rtz(int3);
1615char3 __ovld __cnfn convert_char3_sat_rtz(int3);
1616char3 __ovld __cnfn convert_char3_rtp(int3);
1617char3 __ovld __cnfn convert_char3_sat_rtp(int3);
1618char3 __ovld __cnfn convert_char3_rtn(int3);
1619char3 __ovld __cnfn convert_char3_sat_rtn(int3);
1620char3 __ovld __cnfn convert_char3(int3);
1621char3 __ovld __cnfn convert_char3_sat(int3);
1622char3 __ovld __cnfn convert_char3_rte(uint3);
1623char3 __ovld __cnfn convert_char3_sat_rte(uint3);
1624char3 __ovld __cnfn convert_char3_rtz(uint3);
1625char3 __ovld __cnfn convert_char3_sat_rtz(uint3);
1626char3 __ovld __cnfn convert_char3_rtp(uint3);
1627char3 __ovld __cnfn convert_char3_sat_rtp(uint3);
1628char3 __ovld __cnfn convert_char3_rtn(uint3);
1629char3 __ovld __cnfn convert_char3_sat_rtn(uint3);
1630char3 __ovld __cnfn convert_char3(uint3);
1631char3 __ovld __cnfn convert_char3_sat(uint3);
1632char3 __ovld __cnfn convert_char3_rte(long3);
1633char3 __ovld __cnfn convert_char3_sat_rte(long3);
1634char3 __ovld __cnfn convert_char3_rtz(long3);
1635char3 __ovld __cnfn convert_char3_sat_rtz(long3);
1636char3 __ovld __cnfn convert_char3_rtp(long3);
1637char3 __ovld __cnfn convert_char3_sat_rtp(long3);
1638char3 __ovld __cnfn convert_char3_rtn(long3);
1639char3 __ovld __cnfn convert_char3_sat_rtn(long3);
1640char3 __ovld __cnfn convert_char3(long3);
1641char3 __ovld __cnfn convert_char3_sat(long3);
1642char3 __ovld __cnfn convert_char3_rte(ulong3);
1643char3 __ovld __cnfn convert_char3_sat_rte(ulong3);
1644char3 __ovld __cnfn convert_char3_rtz(ulong3);
1645char3 __ovld __cnfn convert_char3_sat_rtz(ulong3);
1646char3 __ovld __cnfn convert_char3_rtp(ulong3);
1647char3 __ovld __cnfn convert_char3_sat_rtp(ulong3);
1648char3 __ovld __cnfn convert_char3_rtn(ulong3);
1649char3 __ovld __cnfn convert_char3_sat_rtn(ulong3);
1650char3 __ovld __cnfn convert_char3(ulong3);
1651char3 __ovld __cnfn convert_char3_sat(ulong3);
1652char3 __ovld __cnfn convert_char3_rte(float3);
1653char3 __ovld __cnfn convert_char3_sat_rte(float3);
1654char3 __ovld __cnfn convert_char3_rtz(float3);
1655char3 __ovld __cnfn convert_char3_sat_rtz(float3);
1656char3 __ovld __cnfn convert_char3_rtp(float3);
1657char3 __ovld __cnfn convert_char3_sat_rtp(float3);
1658char3 __ovld __cnfn convert_char3_rtn(float3);
1659char3 __ovld __cnfn convert_char3_sat_rtn(float3);
1660char3 __ovld __cnfn convert_char3(float3);
1661char3 __ovld __cnfn convert_char3_sat(float3);
1662uchar3 __ovld __cnfn convert_uchar3_rte(char3);
1663uchar3 __ovld __cnfn convert_uchar3_sat_rte(char3);
1664uchar3 __ovld __cnfn convert_uchar3_rtz(char3);
1665uchar3 __ovld __cnfn convert_uchar3_sat_rtz(char3);
1666uchar3 __ovld __cnfn convert_uchar3_rtp(char3);
1667uchar3 __ovld __cnfn convert_uchar3_sat_rtp(char3);
1668uchar3 __ovld __cnfn convert_uchar3_rtn(char3);
1669uchar3 __ovld __cnfn convert_uchar3_sat_rtn(char3);
1670uchar3 __ovld __cnfn convert_uchar3(char3);
1671uchar3 __ovld __cnfn convert_uchar3_sat(char3);
1672uchar3 __ovld __cnfn convert_uchar3_rte(uchar3);
1673uchar3 __ovld __cnfn convert_uchar3_sat_rte(uchar3);
1674uchar3 __ovld __cnfn convert_uchar3_rtz(uchar3);
1675uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uchar3);
1676uchar3 __ovld __cnfn convert_uchar3_rtp(uchar3);
1677uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uchar3);
1678uchar3 __ovld __cnfn convert_uchar3_rtn(uchar3);
1679uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uchar3);
1680uchar3 __ovld __cnfn convert_uchar3(uchar3);
1681uchar3 __ovld __cnfn convert_uchar3_sat(uchar3);
1682uchar3 __ovld __cnfn convert_uchar3_rte(short3);
1683uchar3 __ovld __cnfn convert_uchar3_sat_rte(short3);
1684uchar3 __ovld __cnfn convert_uchar3_rtz(short3);
1685uchar3 __ovld __cnfn convert_uchar3_sat_rtz(short3);
1686uchar3 __ovld __cnfn convert_uchar3_rtp(short3);
1687uchar3 __ovld __cnfn convert_uchar3_sat_rtp(short3);
1688uchar3 __ovld __cnfn convert_uchar3_rtn(short3);
1689uchar3 __ovld __cnfn convert_uchar3_sat_rtn(short3);
1690uchar3 __ovld __cnfn convert_uchar3(short3);
1691uchar3 __ovld __cnfn convert_uchar3_sat(short3);
1692uchar3 __ovld __cnfn convert_uchar3_rte(ushort3);
1693uchar3 __ovld __cnfn convert_uchar3_sat_rte(ushort3);
1694uchar3 __ovld __cnfn convert_uchar3_rtz(ushort3);
1695uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ushort3);
1696uchar3 __ovld __cnfn convert_uchar3_rtp(ushort3);
1697uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ushort3);
1698uchar3 __ovld __cnfn convert_uchar3_rtn(ushort3);
1699uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ushort3);
1700uchar3 __ovld __cnfn convert_uchar3(ushort3);
1701uchar3 __ovld __cnfn convert_uchar3_sat(ushort3);
1702uchar3 __ovld __cnfn convert_uchar3_rte(int3);
1703uchar3 __ovld __cnfn convert_uchar3_sat_rte(int3);
1704uchar3 __ovld __cnfn convert_uchar3_rtz(int3);
1705uchar3 __ovld __cnfn convert_uchar3_sat_rtz(int3);
1706uchar3 __ovld __cnfn convert_uchar3_rtp(int3);
1707uchar3 __ovld __cnfn convert_uchar3_sat_rtp(int3);
1708uchar3 __ovld __cnfn convert_uchar3_rtn(int3);
1709uchar3 __ovld __cnfn convert_uchar3_sat_rtn(int3);
1710uchar3 __ovld __cnfn convert_uchar3(int3);
1711uchar3 __ovld __cnfn convert_uchar3_sat(int3);
1712uchar3 __ovld __cnfn convert_uchar3_rte(uint3);
1713uchar3 __ovld __cnfn convert_uchar3_sat_rte(uint3);
1714uchar3 __ovld __cnfn convert_uchar3_rtz(uint3);
1715uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uint3);
1716uchar3 __ovld __cnfn convert_uchar3_rtp(uint3);
1717uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uint3);
1718uchar3 __ovld __cnfn convert_uchar3_rtn(uint3);
1719uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uint3);
1720uchar3 __ovld __cnfn convert_uchar3(uint3);
1721uchar3 __ovld __cnfn convert_uchar3_sat(uint3);
1722uchar3 __ovld __cnfn convert_uchar3_rte(long3);
1723uchar3 __ovld __cnfn convert_uchar3_sat_rte(long3);
1724uchar3 __ovld __cnfn convert_uchar3_rtz(long3);
1725uchar3 __ovld __cnfn convert_uchar3_sat_rtz(long3);
1726uchar3 __ovld __cnfn convert_uchar3_rtp(long3);
1727uchar3 __ovld __cnfn convert_uchar3_sat_rtp(long3);
1728uchar3 __ovld __cnfn convert_uchar3_rtn(long3);
1729uchar3 __ovld __cnfn convert_uchar3_sat_rtn(long3);
1730uchar3 __ovld __cnfn convert_uchar3(long3);
1731uchar3 __ovld __cnfn convert_uchar3_sat(long3);
1732uchar3 __ovld __cnfn convert_uchar3_rte(ulong3);
1733uchar3 __ovld __cnfn convert_uchar3_sat_rte(ulong3);
1734uchar3 __ovld __cnfn convert_uchar3_rtz(ulong3);
1735uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ulong3);
1736uchar3 __ovld __cnfn convert_uchar3_rtp(ulong3);
1737uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ulong3);
1738uchar3 __ovld __cnfn convert_uchar3_rtn(ulong3);
1739uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ulong3);
1740uchar3 __ovld __cnfn convert_uchar3(ulong3);
1741uchar3 __ovld __cnfn convert_uchar3_sat(ulong3);
1742uchar3 __ovld __cnfn convert_uchar3_rte(float3);
1743uchar3 __ovld __cnfn convert_uchar3_sat_rte(float3);
1744uchar3 __ovld __cnfn convert_uchar3_rtz(float3);
1745uchar3 __ovld __cnfn convert_uchar3_sat_rtz(float3);
1746uchar3 __ovld __cnfn convert_uchar3_rtp(float3);
1747uchar3 __ovld __cnfn convert_uchar3_sat_rtp(float3);
1748uchar3 __ovld __cnfn convert_uchar3_rtn(float3);
1749uchar3 __ovld __cnfn convert_uchar3_sat_rtn(float3);
1750uchar3 __ovld __cnfn convert_uchar3(float3);
1751uchar3 __ovld __cnfn convert_uchar3_sat(float3);
1752short3 __ovld __cnfn convert_short3_rte(char3);
1753short3 __ovld __cnfn convert_short3_sat_rte(char3);
1754short3 __ovld __cnfn convert_short3_rtz(char3);
1755short3 __ovld __cnfn convert_short3_sat_rtz(char3);
1756short3 __ovld __cnfn convert_short3_rtp(char3);
1757short3 __ovld __cnfn convert_short3_sat_rtp(char3);
1758short3 __ovld __cnfn convert_short3_rtn(char3);
1759short3 __ovld __cnfn convert_short3_sat_rtn(char3);
1760short3 __ovld __cnfn convert_short3(char3);
1761short3 __ovld __cnfn convert_short3_sat(char3);
1762short3 __ovld __cnfn convert_short3_rte(uchar3);
1763short3 __ovld __cnfn convert_short3_sat_rte(uchar3);
1764short3 __ovld __cnfn convert_short3_rtz(uchar3);
1765short3 __ovld __cnfn convert_short3_sat_rtz(uchar3);
1766short3 __ovld __cnfn convert_short3_rtp(uchar3);
1767short3 __ovld __cnfn convert_short3_sat_rtp(uchar3);
1768short3 __ovld __cnfn convert_short3_rtn(uchar3);
1769short3 __ovld __cnfn convert_short3_sat_rtn(uchar3);
1770short3 __ovld __cnfn convert_short3(uchar3);
1771short3 __ovld __cnfn convert_short3_sat(uchar3);
1772short3 __ovld __cnfn convert_short3_rte(short3);
1773short3 __ovld __cnfn convert_short3_sat_rte(short3);
1774short3 __ovld __cnfn convert_short3_rtz(short3);
1775short3 __ovld __cnfn convert_short3_sat_rtz(short3);
1776short3 __ovld __cnfn convert_short3_rtp(short3);
1777short3 __ovld __cnfn convert_short3_sat_rtp(short3);
1778short3 __ovld __cnfn convert_short3_rtn(short3);
1779short3 __ovld __cnfn convert_short3_sat_rtn(short3);
1780short3 __ovld __cnfn convert_short3(short3);
1781short3 __ovld __cnfn convert_short3_sat(short3);
1782short3 __ovld __cnfn convert_short3_rte(ushort3);
1783short3 __ovld __cnfn convert_short3_sat_rte(ushort3);
1784short3 __ovld __cnfn convert_short3_rtz(ushort3);
1785short3 __ovld __cnfn convert_short3_sat_rtz(ushort3);
1786short3 __ovld __cnfn convert_short3_rtp(ushort3);
1787short3 __ovld __cnfn convert_short3_sat_rtp(ushort3);
1788short3 __ovld __cnfn convert_short3_rtn(ushort3);
1789short3 __ovld __cnfn convert_short3_sat_rtn(ushort3);
1790short3 __ovld __cnfn convert_short3(ushort3);
1791short3 __ovld __cnfn convert_short3_sat(ushort3);
1792short3 __ovld __cnfn convert_short3_rte(int3);
1793short3 __ovld __cnfn convert_short3_sat_rte(int3);
1794short3 __ovld __cnfn convert_short3_rtz(int3);
1795short3 __ovld __cnfn convert_short3_sat_rtz(int3);
1796short3 __ovld __cnfn convert_short3_rtp(int3);
1797short3 __ovld __cnfn convert_short3_sat_rtp(int3);
1798short3 __ovld __cnfn convert_short3_rtn(int3);
1799short3 __ovld __cnfn convert_short3_sat_rtn(int3);
1800short3 __ovld __cnfn convert_short3(int3);
1801short3 __ovld __cnfn convert_short3_sat(int3);
1802short3 __ovld __cnfn convert_short3_rte(uint3);
1803short3 __ovld __cnfn convert_short3_sat_rte(uint3);
1804short3 __ovld __cnfn convert_short3_rtz(uint3);
1805short3 __ovld __cnfn convert_short3_sat_rtz(uint3);
1806short3 __ovld __cnfn convert_short3_rtp(uint3);
1807short3 __ovld __cnfn convert_short3_sat_rtp(uint3);
1808short3 __ovld __cnfn convert_short3_rtn(uint3);
1809short3 __ovld __cnfn convert_short3_sat_rtn(uint3);
1810short3 __ovld __cnfn convert_short3(uint3);
1811short3 __ovld __cnfn convert_short3_sat(uint3);
1812short3 __ovld __cnfn convert_short3_rte(long3);
1813short3 __ovld __cnfn convert_short3_sat_rte(long3);
1814short3 __ovld __cnfn convert_short3_rtz(long3);
1815short3 __ovld __cnfn convert_short3_sat_rtz(long3);
1816short3 __ovld __cnfn convert_short3_rtp(long3);
1817short3 __ovld __cnfn convert_short3_sat_rtp(long3);
1818short3 __ovld __cnfn convert_short3_rtn(long3);
1819short3 __ovld __cnfn convert_short3_sat_rtn(long3);
1820short3 __ovld __cnfn convert_short3(long3);
1821short3 __ovld __cnfn convert_short3_sat(long3);
1822short3 __ovld __cnfn convert_short3_rte(ulong3);
1823short3 __ovld __cnfn convert_short3_sat_rte(ulong3);
1824short3 __ovld __cnfn convert_short3_rtz(ulong3);
1825short3 __ovld __cnfn convert_short3_sat_rtz(ulong3);
1826short3 __ovld __cnfn convert_short3_rtp(ulong3);
1827short3 __ovld __cnfn convert_short3_sat_rtp(ulong3);
1828short3 __ovld __cnfn convert_short3_rtn(ulong3);
1829short3 __ovld __cnfn convert_short3_sat_rtn(ulong3);
1830short3 __ovld __cnfn convert_short3(ulong3);
1831short3 __ovld __cnfn convert_short3_sat(ulong3);
1832short3 __ovld __cnfn convert_short3_rte(float3);
1833short3 __ovld __cnfn convert_short3_sat_rte(float3);
1834short3 __ovld __cnfn convert_short3_rtz(float3);
1835short3 __ovld __cnfn convert_short3_sat_rtz(float3);
1836short3 __ovld __cnfn convert_short3_rtp(float3);
1837short3 __ovld __cnfn convert_short3_sat_rtp(float3);
1838short3 __ovld __cnfn convert_short3_rtn(float3);
1839short3 __ovld __cnfn convert_short3_sat_rtn(float3);
1840short3 __ovld __cnfn convert_short3(float3);
1841short3 __ovld __cnfn convert_short3_sat(float3);
1842ushort3 __ovld __cnfn convert_ushort3_rte(char3);
1843ushort3 __ovld __cnfn convert_ushort3_sat_rte(char3);
1844ushort3 __ovld __cnfn convert_ushort3_rtz(char3);
1845ushort3 __ovld __cnfn convert_ushort3_sat_rtz(char3);
1846ushort3 __ovld __cnfn convert_ushort3_rtp(char3);
1847ushort3 __ovld __cnfn convert_ushort3_sat_rtp(char3);
1848ushort3 __ovld __cnfn convert_ushort3_rtn(char3);
1849ushort3 __ovld __cnfn convert_ushort3_sat_rtn(char3);
1850ushort3 __ovld __cnfn convert_ushort3(char3);
1851ushort3 __ovld __cnfn convert_ushort3_sat(char3);
1852ushort3 __ovld __cnfn convert_ushort3_rte(uchar3);
1853ushort3 __ovld __cnfn convert_ushort3_sat_rte(uchar3);
1854ushort3 __ovld __cnfn convert_ushort3_rtz(uchar3);
1855ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uchar3);
1856ushort3 __ovld __cnfn convert_ushort3_rtp(uchar3);
1857ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uchar3);
1858ushort3 __ovld __cnfn convert_ushort3_rtn(uchar3);
1859ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uchar3);
1860ushort3 __ovld __cnfn convert_ushort3(uchar3);
1861ushort3 __ovld __cnfn convert_ushort3_sat(uchar3);
1862ushort3 __ovld __cnfn convert_ushort3_rte(short3);
1863ushort3 __ovld __cnfn convert_ushort3_sat_rte(short3);
1864ushort3 __ovld __cnfn convert_ushort3_rtz(short3);
1865ushort3 __ovld __cnfn convert_ushort3_sat_rtz(short3);
1866ushort3 __ovld __cnfn convert_ushort3_rtp(short3);
1867ushort3 __ovld __cnfn convert_ushort3_sat_rtp(short3);
1868ushort3 __ovld __cnfn convert_ushort3_rtn(short3);
1869ushort3 __ovld __cnfn convert_ushort3_sat_rtn(short3);
1870ushort3 __ovld __cnfn convert_ushort3(short3);
1871ushort3 __ovld __cnfn convert_ushort3_sat(short3);
1872ushort3 __ovld __cnfn convert_ushort3_rte(ushort3);
1873ushort3 __ovld __cnfn convert_ushort3_sat_rte(ushort3);
1874ushort3 __ovld __cnfn convert_ushort3_rtz(ushort3);
1875ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ushort3);
1876ushort3 __ovld __cnfn convert_ushort3_rtp(ushort3);
1877ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ushort3);
1878ushort3 __ovld __cnfn convert_ushort3_rtn(ushort3);
1879ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ushort3);
1880ushort3 __ovld __cnfn convert_ushort3(ushort3);
1881ushort3 __ovld __cnfn convert_ushort3_sat(ushort3);
1882ushort3 __ovld __cnfn convert_ushort3_rte(int3);
1883ushort3 __ovld __cnfn convert_ushort3_sat_rte(int3);
1884ushort3 __ovld __cnfn convert_ushort3_rtz(int3);
1885ushort3 __ovld __cnfn convert_ushort3_sat_rtz(int3);
1886ushort3 __ovld __cnfn convert_ushort3_rtp(int3);
1887ushort3 __ovld __cnfn convert_ushort3_sat_rtp(int3);
1888ushort3 __ovld __cnfn convert_ushort3_rtn(int3);
1889ushort3 __ovld __cnfn convert_ushort3_sat_rtn(int3);
1890ushort3 __ovld __cnfn convert_ushort3(int3);
1891ushort3 __ovld __cnfn convert_ushort3_sat(int3);
1892ushort3 __ovld __cnfn convert_ushort3_rte(uint3);
1893ushort3 __ovld __cnfn convert_ushort3_sat_rte(uint3);
1894ushort3 __ovld __cnfn convert_ushort3_rtz(uint3);
1895ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uint3);
1896ushort3 __ovld __cnfn convert_ushort3_rtp(uint3);
1897ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uint3);
1898ushort3 __ovld __cnfn convert_ushort3_rtn(uint3);
1899ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uint3);
1900ushort3 __ovld __cnfn convert_ushort3(uint3);
1901ushort3 __ovld __cnfn convert_ushort3_sat(uint3);
1902ushort3 __ovld __cnfn convert_ushort3_rte(long3);
1903ushort3 __ovld __cnfn convert_ushort3_sat_rte(long3);
1904ushort3 __ovld __cnfn convert_ushort3_rtz(long3);
1905ushort3 __ovld __cnfn convert_ushort3_sat_rtz(long3);
1906ushort3 __ovld __cnfn convert_ushort3_rtp(long3);
1907ushort3 __ovld __cnfn convert_ushort3_sat_rtp(long3);
1908ushort3 __ovld __cnfn convert_ushort3_rtn(long3);
1909ushort3 __ovld __cnfn convert_ushort3_sat_rtn(long3);
1910ushort3 __ovld __cnfn convert_ushort3(long3);
1911ushort3 __ovld __cnfn convert_ushort3_sat(long3);
1912ushort3 __ovld __cnfn convert_ushort3_rte(ulong3);
1913ushort3 __ovld __cnfn convert_ushort3_sat_rte(ulong3);
1914ushort3 __ovld __cnfn convert_ushort3_rtz(ulong3);
1915ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ulong3);
1916ushort3 __ovld __cnfn convert_ushort3_rtp(ulong3);
1917ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ulong3);
1918ushort3 __ovld __cnfn convert_ushort3_rtn(ulong3);
1919ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ulong3);
1920ushort3 __ovld __cnfn convert_ushort3(ulong3);
1921ushort3 __ovld __cnfn convert_ushort3_sat(ulong3);
1922ushort3 __ovld __cnfn convert_ushort3_rte(float3);
1923ushort3 __ovld __cnfn convert_ushort3_sat_rte(float3);
1924ushort3 __ovld __cnfn convert_ushort3_rtz(float3);
1925ushort3 __ovld __cnfn convert_ushort3_sat_rtz(float3);
1926ushort3 __ovld __cnfn convert_ushort3_rtp(float3);
1927ushort3 __ovld __cnfn convert_ushort3_sat_rtp(float3);
1928ushort3 __ovld __cnfn convert_ushort3_rtn(float3);
1929ushort3 __ovld __cnfn convert_ushort3_sat_rtn(float3);
1930ushort3 __ovld __cnfn convert_ushort3(float3);
1931ushort3 __ovld __cnfn convert_ushort3_sat(float3);
1932int3 __ovld __cnfn convert_int3_rte(char3);
1933int3 __ovld __cnfn convert_int3_sat_rte(char3);
1934int3 __ovld __cnfn convert_int3_rtz(char3);
1935int3 __ovld __cnfn convert_int3_sat_rtz(char3);
1936int3 __ovld __cnfn convert_int3_rtp(char3);
1937int3 __ovld __cnfn convert_int3_sat_rtp(char3);
1938int3 __ovld __cnfn convert_int3_rtn(char3);
1939int3 __ovld __cnfn convert_int3_sat_rtn(char3);
1940int3 __ovld __cnfn convert_int3(char3);
1941int3 __ovld __cnfn convert_int3_sat(char3);
1942int3 __ovld __cnfn convert_int3_rte(uchar3);
1943int3 __ovld __cnfn convert_int3_sat_rte(uchar3);
1944int3 __ovld __cnfn convert_int3_rtz(uchar3);
1945int3 __ovld __cnfn convert_int3_sat_rtz(uchar3);
1946int3 __ovld __cnfn convert_int3_rtp(uchar3);
1947int3 __ovld __cnfn convert_int3_sat_rtp(uchar3);
1948int3 __ovld __cnfn convert_int3_rtn(uchar3);
1949int3 __ovld __cnfn convert_int3_sat_rtn(uchar3);
1950int3 __ovld __cnfn convert_int3(uchar3);
1951int3 __ovld __cnfn convert_int3_sat(uchar3);
1952int3 __ovld __cnfn convert_int3_rte(short3);
1953int3 __ovld __cnfn convert_int3_sat_rte(short3);
1954int3 __ovld __cnfn convert_int3_rtz(short3);
1955int3 __ovld __cnfn convert_int3_sat_rtz(short3);
1956int3 __ovld __cnfn convert_int3_rtp(short3);
1957int3 __ovld __cnfn convert_int3_sat_rtp(short3);
1958int3 __ovld __cnfn convert_int3_rtn(short3);
1959int3 __ovld __cnfn convert_int3_sat_rtn(short3);
1960int3 __ovld __cnfn convert_int3(short3);
1961int3 __ovld __cnfn convert_int3_sat(short3);
1962int3 __ovld __cnfn convert_int3_rte(ushort3);
1963int3 __ovld __cnfn convert_int3_sat_rte(ushort3);
1964int3 __ovld __cnfn convert_int3_rtz(ushort3);
1965int3 __ovld __cnfn convert_int3_sat_rtz(ushort3);
1966int3 __ovld __cnfn convert_int3_rtp(ushort3);
1967int3 __ovld __cnfn convert_int3_sat_rtp(ushort3);
1968int3 __ovld __cnfn convert_int3_rtn(ushort3);
1969int3 __ovld __cnfn convert_int3_sat_rtn(ushort3);
1970int3 __ovld __cnfn convert_int3(ushort3);
1971int3 __ovld __cnfn convert_int3_sat(ushort3);
1972int3 __ovld __cnfn convert_int3_rte(int3);
1973int3 __ovld __cnfn convert_int3_sat_rte(int3);
1974int3 __ovld __cnfn convert_int3_rtz(int3);
1975int3 __ovld __cnfn convert_int3_sat_rtz(int3);
1976int3 __ovld __cnfn convert_int3_rtp(int3);
1977int3 __ovld __cnfn convert_int3_sat_rtp(int3);
1978int3 __ovld __cnfn convert_int3_rtn(int3);
1979int3 __ovld __cnfn convert_int3_sat_rtn(int3);
1980int3 __ovld __cnfn convert_int3(int3);
1981int3 __ovld __cnfn convert_int3_sat(int3);
1982int3 __ovld __cnfn convert_int3_rte(uint3);
1983int3 __ovld __cnfn convert_int3_sat_rte(uint3);
1984int3 __ovld __cnfn convert_int3_rtz(uint3);
1985int3 __ovld __cnfn convert_int3_sat_rtz(uint3);
1986int3 __ovld __cnfn convert_int3_rtp(uint3);
1987int3 __ovld __cnfn convert_int3_sat_rtp(uint3);
1988int3 __ovld __cnfn convert_int3_rtn(uint3);
1989int3 __ovld __cnfn convert_int3_sat_rtn(uint3);
1990int3 __ovld __cnfn convert_int3(uint3);
1991int3 __ovld __cnfn convert_int3_sat(uint3);
1992int3 __ovld __cnfn convert_int3_rte(long3);
1993int3 __ovld __cnfn convert_int3_sat_rte(long3);
1994int3 __ovld __cnfn convert_int3_rtz(long3);
1995int3 __ovld __cnfn convert_int3_sat_rtz(long3);
1996int3 __ovld __cnfn convert_int3_rtp(long3);
1997int3 __ovld __cnfn convert_int3_sat_rtp(long3);
1998int3 __ovld __cnfn convert_int3_rtn(long3);
1999int3 __ovld __cnfn convert_int3_sat_rtn(long3);
2000int3 __ovld __cnfn convert_int3(long3);
2001int3 __ovld __cnfn convert_int3_sat(long3);
2002int3 __ovld __cnfn convert_int3_rte(ulong3);
2003int3 __ovld __cnfn convert_int3_sat_rte(ulong3);
2004int3 __ovld __cnfn convert_int3_rtz(ulong3);
2005int3 __ovld __cnfn convert_int3_sat_rtz(ulong3);
2006int3 __ovld __cnfn convert_int3_rtp(ulong3);
2007int3 __ovld __cnfn convert_int3_sat_rtp(ulong3);
2008int3 __ovld __cnfn convert_int3_rtn(ulong3);
2009int3 __ovld __cnfn convert_int3_sat_rtn(ulong3);
2010int3 __ovld __cnfn convert_int3(ulong3);
2011int3 __ovld __cnfn convert_int3_sat(ulong3);
2012int3 __ovld __cnfn convert_int3_rte(float3);
2013int3 __ovld __cnfn convert_int3_sat_rte(float3);
2014int3 __ovld __cnfn convert_int3_rtz(float3);
2015int3 __ovld __cnfn convert_int3_sat_rtz(float3);
2016int3 __ovld __cnfn convert_int3_rtp(float3);
2017int3 __ovld __cnfn convert_int3_sat_rtp(float3);
2018int3 __ovld __cnfn convert_int3_rtn(float3);
2019int3 __ovld __cnfn convert_int3_sat_rtn(float3);
2020int3 __ovld __cnfn convert_int3(float3);
2021int3 __ovld __cnfn convert_int3_sat(float3);
2022uint3 __ovld __cnfn convert_uint3_rte(char3);
2023uint3 __ovld __cnfn convert_uint3_sat_rte(char3);
2024uint3 __ovld __cnfn convert_uint3_rtz(char3);
2025uint3 __ovld __cnfn convert_uint3_sat_rtz(char3);
2026uint3 __ovld __cnfn convert_uint3_rtp(char3);
2027uint3 __ovld __cnfn convert_uint3_sat_rtp(char3);
2028uint3 __ovld __cnfn convert_uint3_rtn(char3);
2029uint3 __ovld __cnfn convert_uint3_sat_rtn(char3);
2030uint3 __ovld __cnfn convert_uint3(char3);
2031uint3 __ovld __cnfn convert_uint3_sat(char3);
2032uint3 __ovld __cnfn convert_uint3_rte(uchar3);
2033uint3 __ovld __cnfn convert_uint3_sat_rte(uchar3);
2034uint3 __ovld __cnfn convert_uint3_rtz(uchar3);
2035uint3 __ovld __cnfn convert_uint3_sat_rtz(uchar3);
2036uint3 __ovld __cnfn convert_uint3_rtp(uchar3);
2037uint3 __ovld __cnfn convert_uint3_sat_rtp(uchar3);
2038uint3 __ovld __cnfn convert_uint3_rtn(uchar3);
2039uint3 __ovld __cnfn convert_uint3_sat_rtn(uchar3);
2040uint3 __ovld __cnfn convert_uint3(uchar3);
2041uint3 __ovld __cnfn convert_uint3_sat(uchar3);
2042uint3 __ovld __cnfn convert_uint3_rte(short3);
2043uint3 __ovld __cnfn convert_uint3_sat_rte(short3);
2044uint3 __ovld __cnfn convert_uint3_rtz(short3);
2045uint3 __ovld __cnfn convert_uint3_sat_rtz(short3);
2046uint3 __ovld __cnfn convert_uint3_rtp(short3);
2047uint3 __ovld __cnfn convert_uint3_sat_rtp(short3);
2048uint3 __ovld __cnfn convert_uint3_rtn(short3);
2049uint3 __ovld __cnfn convert_uint3_sat_rtn(short3);
2050uint3 __ovld __cnfn convert_uint3(short3);
2051uint3 __ovld __cnfn convert_uint3_sat(short3);
2052uint3 __ovld __cnfn convert_uint3_rte(ushort3);
2053uint3 __ovld __cnfn convert_uint3_sat_rte(ushort3);
2054uint3 __ovld __cnfn convert_uint3_rtz(ushort3);
2055uint3 __ovld __cnfn convert_uint3_sat_rtz(ushort3);
2056uint3 __ovld __cnfn convert_uint3_rtp(ushort3);
2057uint3 __ovld __cnfn convert_uint3_sat_rtp(ushort3);
2058uint3 __ovld __cnfn convert_uint3_rtn(ushort3);
2059uint3 __ovld __cnfn convert_uint3_sat_rtn(ushort3);
2060uint3 __ovld __cnfn convert_uint3(ushort3);
2061uint3 __ovld __cnfn convert_uint3_sat(ushort3);
2062uint3 __ovld __cnfn convert_uint3_rte(int3);
2063uint3 __ovld __cnfn convert_uint3_sat_rte(int3);
2064uint3 __ovld __cnfn convert_uint3_rtz(int3);
2065uint3 __ovld __cnfn convert_uint3_sat_rtz(int3);
2066uint3 __ovld __cnfn convert_uint3_rtp(int3);
2067uint3 __ovld __cnfn convert_uint3_sat_rtp(int3);
2068uint3 __ovld __cnfn convert_uint3_rtn(int3);
2069uint3 __ovld __cnfn convert_uint3_sat_rtn(int3);
2070uint3 __ovld __cnfn convert_uint3(int3);
2071uint3 __ovld __cnfn convert_uint3_sat(int3);
2072uint3 __ovld __cnfn convert_uint3_rte(uint3);
2073uint3 __ovld __cnfn convert_uint3_sat_rte(uint3);
2074uint3 __ovld __cnfn convert_uint3_rtz(uint3);
2075uint3 __ovld __cnfn convert_uint3_sat_rtz(uint3);
2076uint3 __ovld __cnfn convert_uint3_rtp(uint3);
2077uint3 __ovld __cnfn convert_uint3_sat_rtp(uint3);
2078uint3 __ovld __cnfn convert_uint3_rtn(uint3);
2079uint3 __ovld __cnfn convert_uint3_sat_rtn(uint3);
2080uint3 __ovld __cnfn convert_uint3(uint3);
2081uint3 __ovld __cnfn convert_uint3_sat(uint3);
2082uint3 __ovld __cnfn convert_uint3_rte(long3);
2083uint3 __ovld __cnfn convert_uint3_sat_rte(long3);
2084uint3 __ovld __cnfn convert_uint3_rtz(long3);
2085uint3 __ovld __cnfn convert_uint3_sat_rtz(long3);
2086uint3 __ovld __cnfn convert_uint3_rtp(long3);
2087uint3 __ovld __cnfn convert_uint3_sat_rtp(long3);
2088uint3 __ovld __cnfn convert_uint3_rtn(long3);
2089uint3 __ovld __cnfn convert_uint3_sat_rtn(long3);
2090uint3 __ovld __cnfn convert_uint3(long3);
2091uint3 __ovld __cnfn convert_uint3_sat(long3);
2092uint3 __ovld __cnfn convert_uint3_rte(ulong3);
2093uint3 __ovld __cnfn convert_uint3_sat_rte(ulong3);
2094uint3 __ovld __cnfn convert_uint3_rtz(ulong3);
2095uint3 __ovld __cnfn convert_uint3_sat_rtz(ulong3);
2096uint3 __ovld __cnfn convert_uint3_rtp(ulong3);
2097uint3 __ovld __cnfn convert_uint3_sat_rtp(ulong3);
2098uint3 __ovld __cnfn convert_uint3_rtn(ulong3);
2099uint3 __ovld __cnfn convert_uint3_sat_rtn(ulong3);
2100uint3 __ovld __cnfn convert_uint3(ulong3);
2101uint3 __ovld __cnfn convert_uint3_sat(ulong3);
2102uint3 __ovld __cnfn convert_uint3_rte(float3);
2103uint3 __ovld __cnfn convert_uint3_sat_rte(float3);
2104uint3 __ovld __cnfn convert_uint3_rtz(float3);
2105uint3 __ovld __cnfn convert_uint3_sat_rtz(float3);
2106uint3 __ovld __cnfn convert_uint3_rtp(float3);
2107uint3 __ovld __cnfn convert_uint3_sat_rtp(float3);
2108uint3 __ovld __cnfn convert_uint3_rtn(float3);
2109uint3 __ovld __cnfn convert_uint3_sat_rtn(float3);
2110uint3 __ovld __cnfn convert_uint3(float3);
2111uint3 __ovld __cnfn convert_uint3_sat(float3);
2112long3 __ovld __cnfn convert_long3_rte(char3);
2113long3 __ovld __cnfn convert_long3_sat_rte(char3);
2114long3 __ovld __cnfn convert_long3_rtz(char3);
2115long3 __ovld __cnfn convert_long3_sat_rtz(char3);
2116long3 __ovld __cnfn convert_long3_rtp(char3);
2117long3 __ovld __cnfn convert_long3_sat_rtp(char3);
2118long3 __ovld __cnfn convert_long3_rtn(char3);
2119long3 __ovld __cnfn convert_long3_sat_rtn(char3);
2120long3 __ovld __cnfn convert_long3(char3);
2121long3 __ovld __cnfn convert_long3_sat(char3);
2122long3 __ovld __cnfn convert_long3_rte(uchar3);
2123long3 __ovld __cnfn convert_long3_sat_rte(uchar3);
2124long3 __ovld __cnfn convert_long3_rtz(uchar3);
2125long3 __ovld __cnfn convert_long3_sat_rtz(uchar3);
2126long3 __ovld __cnfn convert_long3_rtp(uchar3);
2127long3 __ovld __cnfn convert_long3_sat_rtp(uchar3);
2128long3 __ovld __cnfn convert_long3_rtn(uchar3);
2129long3 __ovld __cnfn convert_long3_sat_rtn(uchar3);
2130long3 __ovld __cnfn convert_long3(uchar3);
2131long3 __ovld __cnfn convert_long3_sat(uchar3);
2132long3 __ovld __cnfn convert_long3_rte(short3);
2133long3 __ovld __cnfn convert_long3_sat_rte(short3);
2134long3 __ovld __cnfn convert_long3_rtz(short3);
2135long3 __ovld __cnfn convert_long3_sat_rtz(short3);
2136long3 __ovld __cnfn convert_long3_rtp(short3);
2137long3 __ovld __cnfn convert_long3_sat_rtp(short3);
2138long3 __ovld __cnfn convert_long3_rtn(short3);
2139long3 __ovld __cnfn convert_long3_sat_rtn(short3);
2140long3 __ovld __cnfn convert_long3(short3);
2141long3 __ovld __cnfn convert_long3_sat(short3);
2142long3 __ovld __cnfn convert_long3_rte(ushort3);
2143long3 __ovld __cnfn convert_long3_sat_rte(ushort3);
2144long3 __ovld __cnfn convert_long3_rtz(ushort3);
2145long3 __ovld __cnfn convert_long3_sat_rtz(ushort3);
2146long3 __ovld __cnfn convert_long3_rtp(ushort3);
2147long3 __ovld __cnfn convert_long3_sat_rtp(ushort3);
2148long3 __ovld __cnfn convert_long3_rtn(ushort3);
2149long3 __ovld __cnfn convert_long3_sat_rtn(ushort3);
2150long3 __ovld __cnfn convert_long3(ushort3);
2151long3 __ovld __cnfn convert_long3_sat(ushort3);
2152long3 __ovld __cnfn convert_long3_rte(int3);
2153long3 __ovld __cnfn convert_long3_sat_rte(int3);
2154long3 __ovld __cnfn convert_long3_rtz(int3);
2155long3 __ovld __cnfn convert_long3_sat_rtz(int3);
2156long3 __ovld __cnfn convert_long3_rtp(int3);
2157long3 __ovld __cnfn convert_long3_sat_rtp(int3);
2158long3 __ovld __cnfn convert_long3_rtn(int3);
2159long3 __ovld __cnfn convert_long3_sat_rtn(int3);
2160long3 __ovld __cnfn convert_long3(int3);
2161long3 __ovld __cnfn convert_long3_sat(int3);
2162long3 __ovld __cnfn convert_long3_rte(uint3);
2163long3 __ovld __cnfn convert_long3_sat_rte(uint3);
2164long3 __ovld __cnfn convert_long3_rtz(uint3);
2165long3 __ovld __cnfn convert_long3_sat_rtz(uint3);
2166long3 __ovld __cnfn convert_long3_rtp(uint3);
2167long3 __ovld __cnfn convert_long3_sat_rtp(uint3);
2168long3 __ovld __cnfn convert_long3_rtn(uint3);
2169long3 __ovld __cnfn convert_long3_sat_rtn(uint3);
2170long3 __ovld __cnfn convert_long3(uint3);
2171long3 __ovld __cnfn convert_long3_sat(uint3);
2172long3 __ovld __cnfn convert_long3_rte(long3);
2173long3 __ovld __cnfn convert_long3_sat_rte(long3);
2174long3 __ovld __cnfn convert_long3_rtz(long3);
2175long3 __ovld __cnfn convert_long3_sat_rtz(long3);
2176long3 __ovld __cnfn convert_long3_rtp(long3);
2177long3 __ovld __cnfn convert_long3_sat_rtp(long3);
2178long3 __ovld __cnfn convert_long3_rtn(long3);
2179long3 __ovld __cnfn convert_long3_sat_rtn(long3);
2180long3 __ovld __cnfn convert_long3(long3);
2181long3 __ovld __cnfn convert_long3_sat(long3);
2182long3 __ovld __cnfn convert_long3_rte(ulong3);
2183long3 __ovld __cnfn convert_long3_sat_rte(ulong3);
2184long3 __ovld __cnfn convert_long3_rtz(ulong3);
2185long3 __ovld __cnfn convert_long3_sat_rtz(ulong3);
2186long3 __ovld __cnfn convert_long3_rtp(ulong3);
2187long3 __ovld __cnfn convert_long3_sat_rtp(ulong3);
2188long3 __ovld __cnfn convert_long3_rtn(ulong3);
2189long3 __ovld __cnfn convert_long3_sat_rtn(ulong3);
2190long3 __ovld __cnfn convert_long3(ulong3);
2191long3 __ovld __cnfn convert_long3_sat(ulong3);
2192long3 __ovld __cnfn convert_long3_rte(float3);
2193long3 __ovld __cnfn convert_long3_sat_rte(float3);
2194long3 __ovld __cnfn convert_long3_rtz(float3);
2195long3 __ovld __cnfn convert_long3_sat_rtz(float3);
2196long3 __ovld __cnfn convert_long3_rtp(float3);
2197long3 __ovld __cnfn convert_long3_sat_rtp(float3);
2198long3 __ovld __cnfn convert_long3_rtn(float3);
2199long3 __ovld __cnfn convert_long3_sat_rtn(float3);
2200long3 __ovld __cnfn convert_long3(float3);
2201long3 __ovld __cnfn convert_long3_sat(float3);
2202ulong3 __ovld __cnfn convert_ulong3_rte(char3);
2203ulong3 __ovld __cnfn convert_ulong3_sat_rte(char3);
2204ulong3 __ovld __cnfn convert_ulong3_rtz(char3);
2205ulong3 __ovld __cnfn convert_ulong3_sat_rtz(char3);
2206ulong3 __ovld __cnfn convert_ulong3_rtp(char3);
2207ulong3 __ovld __cnfn convert_ulong3_sat_rtp(char3);
2208ulong3 __ovld __cnfn convert_ulong3_rtn(char3);
2209ulong3 __ovld __cnfn convert_ulong3_sat_rtn(char3);
2210ulong3 __ovld __cnfn convert_ulong3(char3);
2211ulong3 __ovld __cnfn convert_ulong3_sat(char3);
2212ulong3 __ovld __cnfn convert_ulong3_rte(uchar3);
2213ulong3 __ovld __cnfn convert_ulong3_sat_rte(uchar3);
2214ulong3 __ovld __cnfn convert_ulong3_rtz(uchar3);
2215ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uchar3);
2216ulong3 __ovld __cnfn convert_ulong3_rtp(uchar3);
2217ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uchar3);
2218ulong3 __ovld __cnfn convert_ulong3_rtn(uchar3);
2219ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uchar3);
2220ulong3 __ovld __cnfn convert_ulong3(uchar3);
2221ulong3 __ovld __cnfn convert_ulong3_sat(uchar3);
2222ulong3 __ovld __cnfn convert_ulong3_rte(short3);
2223ulong3 __ovld __cnfn convert_ulong3_sat_rte(short3);
2224ulong3 __ovld __cnfn convert_ulong3_rtz(short3);
2225ulong3 __ovld __cnfn convert_ulong3_sat_rtz(short3);
2226ulong3 __ovld __cnfn convert_ulong3_rtp(short3);
2227ulong3 __ovld __cnfn convert_ulong3_sat_rtp(short3);
2228ulong3 __ovld __cnfn convert_ulong3_rtn(short3);
2229ulong3 __ovld __cnfn convert_ulong3_sat_rtn(short3);
2230ulong3 __ovld __cnfn convert_ulong3(short3);
2231ulong3 __ovld __cnfn convert_ulong3_sat(short3);
2232ulong3 __ovld __cnfn convert_ulong3_rte(ushort3);
2233ulong3 __ovld __cnfn convert_ulong3_sat_rte(ushort3);
2234ulong3 __ovld __cnfn convert_ulong3_rtz(ushort3);
2235ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ushort3);
2236ulong3 __ovld __cnfn convert_ulong3_rtp(ushort3);
2237ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ushort3);
2238ulong3 __ovld __cnfn convert_ulong3_rtn(ushort3);
2239ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ushort3);
2240ulong3 __ovld __cnfn convert_ulong3(ushort3);
2241ulong3 __ovld __cnfn convert_ulong3_sat(ushort3);
2242ulong3 __ovld __cnfn convert_ulong3_rte(int3);
2243ulong3 __ovld __cnfn convert_ulong3_sat_rte(int3);
2244ulong3 __ovld __cnfn convert_ulong3_rtz(int3);
2245ulong3 __ovld __cnfn convert_ulong3_sat_rtz(int3);
2246ulong3 __ovld __cnfn convert_ulong3_rtp(int3);
2247ulong3 __ovld __cnfn convert_ulong3_sat_rtp(int3);
2248ulong3 __ovld __cnfn convert_ulong3_rtn(int3);
2249ulong3 __ovld __cnfn convert_ulong3_sat_rtn(int3);
2250ulong3 __ovld __cnfn convert_ulong3(int3);
2251ulong3 __ovld __cnfn convert_ulong3_sat(int3);
2252ulong3 __ovld __cnfn convert_ulong3_rte(uint3);
2253ulong3 __ovld __cnfn convert_ulong3_sat_rte(uint3);
2254ulong3 __ovld __cnfn convert_ulong3_rtz(uint3);
2255ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uint3);
2256ulong3 __ovld __cnfn convert_ulong3_rtp(uint3);
2257ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uint3);
2258ulong3 __ovld __cnfn convert_ulong3_rtn(uint3);
2259ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uint3);
2260ulong3 __ovld __cnfn convert_ulong3(uint3);
2261ulong3 __ovld __cnfn convert_ulong3_sat(uint3);
2262ulong3 __ovld __cnfn convert_ulong3_rte(long3);
2263ulong3 __ovld __cnfn convert_ulong3_sat_rte(long3);
2264ulong3 __ovld __cnfn convert_ulong3_rtz(long3);
2265ulong3 __ovld __cnfn convert_ulong3_sat_rtz(long3);
2266ulong3 __ovld __cnfn convert_ulong3_rtp(long3);
2267ulong3 __ovld __cnfn convert_ulong3_sat_rtp(long3);
2268ulong3 __ovld __cnfn convert_ulong3_rtn(long3);
2269ulong3 __ovld __cnfn convert_ulong3_sat_rtn(long3);
2270ulong3 __ovld __cnfn convert_ulong3(long3);
2271ulong3 __ovld __cnfn convert_ulong3_sat(long3);
2272ulong3 __ovld __cnfn convert_ulong3_rte(ulong3);
2273ulong3 __ovld __cnfn convert_ulong3_sat_rte(ulong3);
2274ulong3 __ovld __cnfn convert_ulong3_rtz(ulong3);
2275ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ulong3);
2276ulong3 __ovld __cnfn convert_ulong3_rtp(ulong3);
2277ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ulong3);
2278ulong3 __ovld __cnfn convert_ulong3_rtn(ulong3);
2279ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ulong3);
2280ulong3 __ovld __cnfn convert_ulong3(ulong3);
2281ulong3 __ovld __cnfn convert_ulong3_sat(ulong3);
2282ulong3 __ovld __cnfn convert_ulong3_rte(float3);
2283ulong3 __ovld __cnfn convert_ulong3_sat_rte(float3);
2284ulong3 __ovld __cnfn convert_ulong3_rtz(float3);
2285ulong3 __ovld __cnfn convert_ulong3_sat_rtz(float3);
2286ulong3 __ovld __cnfn convert_ulong3_rtp(float3);
2287ulong3 __ovld __cnfn convert_ulong3_sat_rtp(float3);
2288ulong3 __ovld __cnfn convert_ulong3_rtn(float3);
2289ulong3 __ovld __cnfn convert_ulong3_sat_rtn(float3);
2290ulong3 __ovld __cnfn convert_ulong3(float3);
2291ulong3 __ovld __cnfn convert_ulong3_sat(float3);
2292float3 __ovld __cnfn convert_float3_rte(char3);
2293float3 __ovld __cnfn convert_float3_rtz(char3);
2294float3 __ovld __cnfn convert_float3_rtp(char3);
2295float3 __ovld __cnfn convert_float3_rtn(char3);
2296float3 __ovld __cnfn convert_float3(char3);
2297float3 __ovld __cnfn convert_float3_rte(uchar3);
2298float3 __ovld __cnfn convert_float3_rtz(uchar3);
2299float3 __ovld __cnfn convert_float3_rtp(uchar3);
2300float3 __ovld __cnfn convert_float3_rtn(uchar3);
2301float3 __ovld __cnfn convert_float3(uchar3);
2302float3 __ovld __cnfn convert_float3_rte(short3);
2303float3 __ovld __cnfn convert_float3_rtz(short3);
2304float3 __ovld __cnfn convert_float3_rtp(short3);
2305float3 __ovld __cnfn convert_float3_rtn(short3);
2306float3 __ovld __cnfn convert_float3(short3);
2307float3 __ovld __cnfn convert_float3_rte(ushort3);
2308float3 __ovld __cnfn convert_float3_rtz(ushort3);
2309float3 __ovld __cnfn convert_float3_rtp(ushort3);
2310float3 __ovld __cnfn convert_float3_rtn(ushort3);
2311float3 __ovld __cnfn convert_float3(ushort3);
2312float3 __ovld __cnfn convert_float3_rte(int3);
2313float3 __ovld __cnfn convert_float3_rtz(int3);
2314float3 __ovld __cnfn convert_float3_rtp(int3);
2315float3 __ovld __cnfn convert_float3_rtn(int3);
2316float3 __ovld __cnfn convert_float3(int3);
2317float3 __ovld __cnfn convert_float3_rte(uint3);
2318float3 __ovld __cnfn convert_float3_rtz(uint3);
2319float3 __ovld __cnfn convert_float3_rtp(uint3);
2320float3 __ovld __cnfn convert_float3_rtn(uint3);
2321float3 __ovld __cnfn convert_float3(uint3);
2322float3 __ovld __cnfn convert_float3_rte(long3);
2323float3 __ovld __cnfn convert_float3_rtz(long3);
2324float3 __ovld __cnfn convert_float3_rtp(long3);
2325float3 __ovld __cnfn convert_float3_rtn(long3);
2326float3 __ovld __cnfn convert_float3(long3);
2327float3 __ovld __cnfn convert_float3_rte(ulong3);
2328float3 __ovld __cnfn convert_float3_rtz(ulong3);
2329float3 __ovld __cnfn convert_float3_rtp(ulong3);
2330float3 __ovld __cnfn convert_float3_rtn(ulong3);
2331float3 __ovld __cnfn convert_float3(ulong3);
2332float3 __ovld __cnfn convert_float3_rte(float3);
2333float3 __ovld __cnfn convert_float3_rtz(float3);
2334float3 __ovld __cnfn convert_float3_rtp(float3);
2335float3 __ovld __cnfn convert_float3_rtn(float3);
2336float3 __ovld __cnfn convert_float3(float3);
2337char4 __ovld __cnfn convert_char4_rte(char4);
2338char4 __ovld __cnfn convert_char4_sat_rte(char4);
2339char4 __ovld __cnfn convert_char4_rtz(char4);
2340char4 __ovld __cnfn convert_char4_sat_rtz(char4);
2341char4 __ovld __cnfn convert_char4_rtp(char4);
2342char4 __ovld __cnfn convert_char4_sat_rtp(char4);
2343char4 __ovld __cnfn convert_char4_rtn(char4);
2344char4 __ovld __cnfn convert_char4_sat_rtn(char4);
2345char4 __ovld __cnfn convert_char4(char4);
2346char4 __ovld __cnfn convert_char4_sat(char4);
2347char4 __ovld __cnfn convert_char4_rte(uchar4);
2348char4 __ovld __cnfn convert_char4_sat_rte(uchar4);
2349char4 __ovld __cnfn convert_char4_rtz(uchar4);
2350char4 __ovld __cnfn convert_char4_sat_rtz(uchar4);
2351char4 __ovld __cnfn convert_char4_rtp(uchar4);
2352char4 __ovld __cnfn convert_char4_sat_rtp(uchar4);
2353char4 __ovld __cnfn convert_char4_rtn(uchar4);
2354char4 __ovld __cnfn convert_char4_sat_rtn(uchar4);
2355char4 __ovld __cnfn convert_char4(uchar4);
2356char4 __ovld __cnfn convert_char4_sat(uchar4);
2357char4 __ovld __cnfn convert_char4_rte(short4);
2358char4 __ovld __cnfn convert_char4_sat_rte(short4);
2359char4 __ovld __cnfn convert_char4_rtz(short4);
2360char4 __ovld __cnfn convert_char4_sat_rtz(short4);
2361char4 __ovld __cnfn convert_char4_rtp(short4);
2362char4 __ovld __cnfn convert_char4_sat_rtp(short4);
2363char4 __ovld __cnfn convert_char4_rtn(short4);
2364char4 __ovld __cnfn convert_char4_sat_rtn(short4);
2365char4 __ovld __cnfn convert_char4(short4);
2366char4 __ovld __cnfn convert_char4_sat(short4);
2367char4 __ovld __cnfn convert_char4_rte(ushort4);
2368char4 __ovld __cnfn convert_char4_sat_rte(ushort4);
2369char4 __ovld __cnfn convert_char4_rtz(ushort4);
2370char4 __ovld __cnfn convert_char4_sat_rtz(ushort4);
2371char4 __ovld __cnfn convert_char4_rtp(ushort4);
2372char4 __ovld __cnfn convert_char4_sat_rtp(ushort4);
2373char4 __ovld __cnfn convert_char4_rtn(ushort4);
2374char4 __ovld __cnfn convert_char4_sat_rtn(ushort4);
2375char4 __ovld __cnfn convert_char4(ushort4);
2376char4 __ovld __cnfn convert_char4_sat(ushort4);
2377char4 __ovld __cnfn convert_char4_rte(int4);
2378char4 __ovld __cnfn convert_char4_sat_rte(int4);
2379char4 __ovld __cnfn convert_char4_rtz(int4);
2380char4 __ovld __cnfn convert_char4_sat_rtz(int4);
2381char4 __ovld __cnfn convert_char4_rtp(int4);
2382char4 __ovld __cnfn convert_char4_sat_rtp(int4);
2383char4 __ovld __cnfn convert_char4_rtn(int4);
2384char4 __ovld __cnfn convert_char4_sat_rtn(int4);
2385char4 __ovld __cnfn convert_char4(int4);
2386char4 __ovld __cnfn convert_char4_sat(int4);
2387char4 __ovld __cnfn convert_char4_rte(uint4);
2388char4 __ovld __cnfn convert_char4_sat_rte(uint4);
2389char4 __ovld __cnfn convert_char4_rtz(uint4);
2390char4 __ovld __cnfn convert_char4_sat_rtz(uint4);
2391char4 __ovld __cnfn convert_char4_rtp(uint4);
2392char4 __ovld __cnfn convert_char4_sat_rtp(uint4);
2393char4 __ovld __cnfn convert_char4_rtn(uint4);
2394char4 __ovld __cnfn convert_char4_sat_rtn(uint4);
2395char4 __ovld __cnfn convert_char4(uint4);
2396char4 __ovld __cnfn convert_char4_sat(uint4);
2397char4 __ovld __cnfn convert_char4_rte(long4);
2398char4 __ovld __cnfn convert_char4_sat_rte(long4);
2399char4 __ovld __cnfn convert_char4_rtz(long4);
2400char4 __ovld __cnfn convert_char4_sat_rtz(long4);
2401char4 __ovld __cnfn convert_char4_rtp(long4);
2402char4 __ovld __cnfn convert_char4_sat_rtp(long4);
2403char4 __ovld __cnfn convert_char4_rtn(long4);
2404char4 __ovld __cnfn convert_char4_sat_rtn(long4);
2405char4 __ovld __cnfn convert_char4(long4);
2406char4 __ovld __cnfn convert_char4_sat(long4);
2407char4 __ovld __cnfn convert_char4_rte(ulong4);
2408char4 __ovld __cnfn convert_char4_sat_rte(ulong4);
2409char4 __ovld __cnfn convert_char4_rtz(ulong4);
2410char4 __ovld __cnfn convert_char4_sat_rtz(ulong4);
2411char4 __ovld __cnfn convert_char4_rtp(ulong4);
2412char4 __ovld __cnfn convert_char4_sat_rtp(ulong4);
2413char4 __ovld __cnfn convert_char4_rtn(ulong4);
2414char4 __ovld __cnfn convert_char4_sat_rtn(ulong4);
2415char4 __ovld __cnfn convert_char4(ulong4);
2416char4 __ovld __cnfn convert_char4_sat(ulong4);
2417char4 __ovld __cnfn convert_char4_rte(float4);
2418char4 __ovld __cnfn convert_char4_sat_rte(float4);
2419char4 __ovld __cnfn convert_char4_rtz(float4);
2420char4 __ovld __cnfn convert_char4_sat_rtz(float4);
2421char4 __ovld __cnfn convert_char4_rtp(float4);
2422char4 __ovld __cnfn convert_char4_sat_rtp(float4);
2423char4 __ovld __cnfn convert_char4_rtn(float4);
2424char4 __ovld __cnfn convert_char4_sat_rtn(float4);
2425char4 __ovld __cnfn convert_char4(float4);
2426char4 __ovld __cnfn convert_char4_sat(float4);
2427uchar4 __ovld __cnfn convert_uchar4_rte(char4);
2428uchar4 __ovld __cnfn convert_uchar4_sat_rte(char4);
2429uchar4 __ovld __cnfn convert_uchar4_rtz(char4);
2430uchar4 __ovld __cnfn convert_uchar4_sat_rtz(char4);
2431uchar4 __ovld __cnfn convert_uchar4_rtp(char4);
2432uchar4 __ovld __cnfn convert_uchar4_sat_rtp(char4);
2433uchar4 __ovld __cnfn convert_uchar4_rtn(char4);
2434uchar4 __ovld __cnfn convert_uchar4_sat_rtn(char4);
2435uchar4 __ovld __cnfn convert_uchar4(char4);
2436uchar4 __ovld __cnfn convert_uchar4_sat(char4);
2437uchar4 __ovld __cnfn convert_uchar4_rte(uchar4);
2438uchar4 __ovld __cnfn convert_uchar4_sat_rte(uchar4);
2439uchar4 __ovld __cnfn convert_uchar4_rtz(uchar4);
2440uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uchar4);
2441uchar4 __ovld __cnfn convert_uchar4_rtp(uchar4);
2442uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uchar4);
2443uchar4 __ovld __cnfn convert_uchar4_rtn(uchar4);
2444uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uchar4);
2445uchar4 __ovld __cnfn convert_uchar4(uchar4);
2446uchar4 __ovld __cnfn convert_uchar4_sat(uchar4);
2447uchar4 __ovld __cnfn convert_uchar4_rte(short4);
2448uchar4 __ovld __cnfn convert_uchar4_sat_rte(short4);
2449uchar4 __ovld __cnfn convert_uchar4_rtz(short4);
2450uchar4 __ovld __cnfn convert_uchar4_sat_rtz(short4);
2451uchar4 __ovld __cnfn convert_uchar4_rtp(short4);
2452uchar4 __ovld __cnfn convert_uchar4_sat_rtp(short4);
2453uchar4 __ovld __cnfn convert_uchar4_rtn(short4);
2454uchar4 __ovld __cnfn convert_uchar4_sat_rtn(short4);
2455uchar4 __ovld __cnfn convert_uchar4(short4);
2456uchar4 __ovld __cnfn convert_uchar4_sat(short4);
2457uchar4 __ovld __cnfn convert_uchar4_rte(ushort4);
2458uchar4 __ovld __cnfn convert_uchar4_sat_rte(ushort4);
2459uchar4 __ovld __cnfn convert_uchar4_rtz(ushort4);
2460uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ushort4);
2461uchar4 __ovld __cnfn convert_uchar4_rtp(ushort4);
2462uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ushort4);
2463uchar4 __ovld __cnfn convert_uchar4_rtn(ushort4);
2464uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ushort4);
2465uchar4 __ovld __cnfn convert_uchar4(ushort4);
2466uchar4 __ovld __cnfn convert_uchar4_sat(ushort4);
2467uchar4 __ovld __cnfn convert_uchar4_rte(int4);
2468uchar4 __ovld __cnfn convert_uchar4_sat_rte(int4);
2469uchar4 __ovld __cnfn convert_uchar4_rtz(int4);
2470uchar4 __ovld __cnfn convert_uchar4_sat_rtz(int4);
2471uchar4 __ovld __cnfn convert_uchar4_rtp(int4);
2472uchar4 __ovld __cnfn convert_uchar4_sat_rtp(int4);
2473uchar4 __ovld __cnfn convert_uchar4_rtn(int4);
2474uchar4 __ovld __cnfn convert_uchar4_sat_rtn(int4);
2475uchar4 __ovld __cnfn convert_uchar4(int4);
2476uchar4 __ovld __cnfn convert_uchar4_sat(int4);
2477uchar4 __ovld __cnfn convert_uchar4_rte(uint4);
2478uchar4 __ovld __cnfn convert_uchar4_sat_rte(uint4);
2479uchar4 __ovld __cnfn convert_uchar4_rtz(uint4);
2480uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uint4);
2481uchar4 __ovld __cnfn convert_uchar4_rtp(uint4);
2482uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uint4);
2483uchar4 __ovld __cnfn convert_uchar4_rtn(uint4);
2484uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uint4);
2485uchar4 __ovld __cnfn convert_uchar4(uint4);
2486uchar4 __ovld __cnfn convert_uchar4_sat(uint4);
2487uchar4 __ovld __cnfn convert_uchar4_rte(long4);
2488uchar4 __ovld __cnfn convert_uchar4_sat_rte(long4);
2489uchar4 __ovld __cnfn convert_uchar4_rtz(long4);
2490uchar4 __ovld __cnfn convert_uchar4_sat_rtz(long4);
2491uchar4 __ovld __cnfn convert_uchar4_rtp(long4);
2492uchar4 __ovld __cnfn convert_uchar4_sat_rtp(long4);
2493uchar4 __ovld __cnfn convert_uchar4_rtn(long4);
2494uchar4 __ovld __cnfn convert_uchar4_sat_rtn(long4);
2495uchar4 __ovld __cnfn convert_uchar4(long4);
2496uchar4 __ovld __cnfn convert_uchar4_sat(long4);
2497uchar4 __ovld __cnfn convert_uchar4_rte(ulong4);
2498uchar4 __ovld __cnfn convert_uchar4_sat_rte(ulong4);
2499uchar4 __ovld __cnfn convert_uchar4_rtz(ulong4);
2500uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ulong4);
2501uchar4 __ovld __cnfn convert_uchar4_rtp(ulong4);
2502uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ulong4);
2503uchar4 __ovld __cnfn convert_uchar4_rtn(ulong4);
2504uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ulong4);
2505uchar4 __ovld __cnfn convert_uchar4(ulong4);
2506uchar4 __ovld __cnfn convert_uchar4_sat(ulong4);
2507uchar4 __ovld __cnfn convert_uchar4_rte(float4);
2508uchar4 __ovld __cnfn convert_uchar4_sat_rte(float4);
2509uchar4 __ovld __cnfn convert_uchar4_rtz(float4);
2510uchar4 __ovld __cnfn convert_uchar4_sat_rtz(float4);
2511uchar4 __ovld __cnfn convert_uchar4_rtp(float4);
2512uchar4 __ovld __cnfn convert_uchar4_sat_rtp(float4);
2513uchar4 __ovld __cnfn convert_uchar4_rtn(float4);
2514uchar4 __ovld __cnfn convert_uchar4_sat_rtn(float4);
2515uchar4 __ovld __cnfn convert_uchar4(float4);
2516uchar4 __ovld __cnfn convert_uchar4_sat(float4);
2517short4 __ovld __cnfn convert_short4_rte(char4);
2518short4 __ovld __cnfn convert_short4_sat_rte(char4);
2519short4 __ovld __cnfn convert_short4_rtz(char4);
2520short4 __ovld __cnfn convert_short4_sat_rtz(char4);
2521short4 __ovld __cnfn convert_short4_rtp(char4);
2522short4 __ovld __cnfn convert_short4_sat_rtp(char4);
2523short4 __ovld __cnfn convert_short4_rtn(char4);
2524short4 __ovld __cnfn convert_short4_sat_rtn(char4);
2525short4 __ovld __cnfn convert_short4(char4);
2526short4 __ovld __cnfn convert_short4_sat(char4);
2527short4 __ovld __cnfn convert_short4_rte(uchar4);
2528short4 __ovld __cnfn convert_short4_sat_rte(uchar4);
2529short4 __ovld __cnfn convert_short4_rtz(uchar4);
2530short4 __ovld __cnfn convert_short4_sat_rtz(uchar4);
2531short4 __ovld __cnfn convert_short4_rtp(uchar4);
2532short4 __ovld __cnfn convert_short4_sat_rtp(uchar4);
2533short4 __ovld __cnfn convert_short4_rtn(uchar4);
2534short4 __ovld __cnfn convert_short4_sat_rtn(uchar4);
2535short4 __ovld __cnfn convert_short4(uchar4);
2536short4 __ovld __cnfn convert_short4_sat(uchar4);
2537short4 __ovld __cnfn convert_short4_rte(short4);
2538short4 __ovld __cnfn convert_short4_sat_rte(short4);
2539short4 __ovld __cnfn convert_short4_rtz(short4);
2540short4 __ovld __cnfn convert_short4_sat_rtz(short4);
2541short4 __ovld __cnfn convert_short4_rtp(short4);
2542short4 __ovld __cnfn convert_short4_sat_rtp(short4);
2543short4 __ovld __cnfn convert_short4_rtn(short4);
2544short4 __ovld __cnfn convert_short4_sat_rtn(short4);
2545short4 __ovld __cnfn convert_short4(short4);
2546short4 __ovld __cnfn convert_short4_sat(short4);
2547short4 __ovld __cnfn convert_short4_rte(ushort4);
2548short4 __ovld __cnfn convert_short4_sat_rte(ushort4);
2549short4 __ovld __cnfn convert_short4_rtz(ushort4);
2550short4 __ovld __cnfn convert_short4_sat_rtz(ushort4);
2551short4 __ovld __cnfn convert_short4_rtp(ushort4);
2552short4 __ovld __cnfn convert_short4_sat_rtp(ushort4);
2553short4 __ovld __cnfn convert_short4_rtn(ushort4);
2554short4 __ovld __cnfn convert_short4_sat_rtn(ushort4);
2555short4 __ovld __cnfn convert_short4(ushort4);
2556short4 __ovld __cnfn convert_short4_sat(ushort4);
2557short4 __ovld __cnfn convert_short4_rte(int4);
2558short4 __ovld __cnfn convert_short4_sat_rte(int4);
2559short4 __ovld __cnfn convert_short4_rtz(int4);
2560short4 __ovld __cnfn convert_short4_sat_rtz(int4);
2561short4 __ovld __cnfn convert_short4_rtp(int4);
2562short4 __ovld __cnfn convert_short4_sat_rtp(int4);
2563short4 __ovld __cnfn convert_short4_rtn(int4);
2564short4 __ovld __cnfn convert_short4_sat_rtn(int4);
2565short4 __ovld __cnfn convert_short4(int4);
2566short4 __ovld __cnfn convert_short4_sat(int4);
2567short4 __ovld __cnfn convert_short4_rte(uint4);
2568short4 __ovld __cnfn convert_short4_sat_rte(uint4);
2569short4 __ovld __cnfn convert_short4_rtz(uint4);
2570short4 __ovld __cnfn convert_short4_sat_rtz(uint4);
2571short4 __ovld __cnfn convert_short4_rtp(uint4);
2572short4 __ovld __cnfn convert_short4_sat_rtp(uint4);
2573short4 __ovld __cnfn convert_short4_rtn(uint4);
2574short4 __ovld __cnfn convert_short4_sat_rtn(uint4);
2575short4 __ovld __cnfn convert_short4(uint4);
2576short4 __ovld __cnfn convert_short4_sat(uint4);
2577short4 __ovld __cnfn convert_short4_rte(long4);
2578short4 __ovld __cnfn convert_short4_sat_rte(long4);
2579short4 __ovld __cnfn convert_short4_rtz(long4);
2580short4 __ovld __cnfn convert_short4_sat_rtz(long4);
2581short4 __ovld __cnfn convert_short4_rtp(long4);
2582short4 __ovld __cnfn convert_short4_sat_rtp(long4);
2583short4 __ovld __cnfn convert_short4_rtn(long4);
2584short4 __ovld __cnfn convert_short4_sat_rtn(long4);
2585short4 __ovld __cnfn convert_short4(long4);
2586short4 __ovld __cnfn convert_short4_sat(long4);
2587short4 __ovld __cnfn convert_short4_rte(ulong4);
2588short4 __ovld __cnfn convert_short4_sat_rte(ulong4);
2589short4 __ovld __cnfn convert_short4_rtz(ulong4);
2590short4 __ovld __cnfn convert_short4_sat_rtz(ulong4);
2591short4 __ovld __cnfn convert_short4_rtp(ulong4);
2592short4 __ovld __cnfn convert_short4_sat_rtp(ulong4);
2593short4 __ovld __cnfn convert_short4_rtn(ulong4);
2594short4 __ovld __cnfn convert_short4_sat_rtn(ulong4);
2595short4 __ovld __cnfn convert_short4(ulong4);
2596short4 __ovld __cnfn convert_short4_sat(ulong4);
2597short4 __ovld __cnfn convert_short4_rte(float4);
2598short4 __ovld __cnfn convert_short4_sat_rte(float4);
2599short4 __ovld __cnfn convert_short4_rtz(float4);
2600short4 __ovld __cnfn convert_short4_sat_rtz(float4);
2601short4 __ovld __cnfn convert_short4_rtp(float4);
2602short4 __ovld __cnfn convert_short4_sat_rtp(float4);
2603short4 __ovld __cnfn convert_short4_rtn(float4);
2604short4 __ovld __cnfn convert_short4_sat_rtn(float4);
2605short4 __ovld __cnfn convert_short4(float4);
2606short4 __ovld __cnfn convert_short4_sat(float4);
2607ushort4 __ovld __cnfn convert_ushort4_rte(char4);
2608ushort4 __ovld __cnfn convert_ushort4_sat_rte(char4);
2609ushort4 __ovld __cnfn convert_ushort4_rtz(char4);
2610ushort4 __ovld __cnfn convert_ushort4_sat_rtz(char4);
2611ushort4 __ovld __cnfn convert_ushort4_rtp(char4);
2612ushort4 __ovld __cnfn convert_ushort4_sat_rtp(char4);
2613ushort4 __ovld __cnfn convert_ushort4_rtn(char4);
2614ushort4 __ovld __cnfn convert_ushort4_sat_rtn(char4);
2615ushort4 __ovld __cnfn convert_ushort4(char4);
2616ushort4 __ovld __cnfn convert_ushort4_sat(char4);
2617ushort4 __ovld __cnfn convert_ushort4_rte(uchar4);
2618ushort4 __ovld __cnfn convert_ushort4_sat_rte(uchar4);
2619ushort4 __ovld __cnfn convert_ushort4_rtz(uchar4);
2620ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uchar4);
2621ushort4 __ovld __cnfn convert_ushort4_rtp(uchar4);
2622ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uchar4);
2623ushort4 __ovld __cnfn convert_ushort4_rtn(uchar4);
2624ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uchar4);
2625ushort4 __ovld __cnfn convert_ushort4(uchar4);
2626ushort4 __ovld __cnfn convert_ushort4_sat(uchar4);
2627ushort4 __ovld __cnfn convert_ushort4_rte(short4);
2628ushort4 __ovld __cnfn convert_ushort4_sat_rte(short4);
2629ushort4 __ovld __cnfn convert_ushort4_rtz(short4);
2630ushort4 __ovld __cnfn convert_ushort4_sat_rtz(short4);
2631ushort4 __ovld __cnfn convert_ushort4_rtp(short4);
2632ushort4 __ovld __cnfn convert_ushort4_sat_rtp(short4);
2633ushort4 __ovld __cnfn convert_ushort4_rtn(short4);
2634ushort4 __ovld __cnfn convert_ushort4_sat_rtn(short4);
2635ushort4 __ovld __cnfn convert_ushort4(short4);
2636ushort4 __ovld __cnfn convert_ushort4_sat(short4);
2637ushort4 __ovld __cnfn convert_ushort4_rte(ushort4);
2638ushort4 __ovld __cnfn convert_ushort4_sat_rte(ushort4);
2639ushort4 __ovld __cnfn convert_ushort4_rtz(ushort4);
2640ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ushort4);
2641ushort4 __ovld __cnfn convert_ushort4_rtp(ushort4);
2642ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ushort4);
2643ushort4 __ovld __cnfn convert_ushort4_rtn(ushort4);
2644ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ushort4);
2645ushort4 __ovld __cnfn convert_ushort4(ushort4);
2646ushort4 __ovld __cnfn convert_ushort4_sat(ushort4);
2647ushort4 __ovld __cnfn convert_ushort4_rte(int4);
2648ushort4 __ovld __cnfn convert_ushort4_sat_rte(int4);
2649ushort4 __ovld __cnfn convert_ushort4_rtz(int4);
2650ushort4 __ovld __cnfn convert_ushort4_sat_rtz(int4);
2651ushort4 __ovld __cnfn convert_ushort4_rtp(int4);
2652ushort4 __ovld __cnfn convert_ushort4_sat_rtp(int4);
2653ushort4 __ovld __cnfn convert_ushort4_rtn(int4);
2654ushort4 __ovld __cnfn convert_ushort4_sat_rtn(int4);
2655ushort4 __ovld __cnfn convert_ushort4(int4);
2656ushort4 __ovld __cnfn convert_ushort4_sat(int4);
2657ushort4 __ovld __cnfn convert_ushort4_rte(uint4);
2658ushort4 __ovld __cnfn convert_ushort4_sat_rte(uint4);
2659ushort4 __ovld __cnfn convert_ushort4_rtz(uint4);
2660ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uint4);
2661ushort4 __ovld __cnfn convert_ushort4_rtp(uint4);
2662ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uint4);
2663ushort4 __ovld __cnfn convert_ushort4_rtn(uint4);
2664ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uint4);
2665ushort4 __ovld __cnfn convert_ushort4(uint4);
2666ushort4 __ovld __cnfn convert_ushort4_sat(uint4);
2667ushort4 __ovld __cnfn convert_ushort4_rte(long4);
2668ushort4 __ovld __cnfn convert_ushort4_sat_rte(long4);
2669ushort4 __ovld __cnfn convert_ushort4_rtz(long4);
2670ushort4 __ovld __cnfn convert_ushort4_sat_rtz(long4);
2671ushort4 __ovld __cnfn convert_ushort4_rtp(long4);
2672ushort4 __ovld __cnfn convert_ushort4_sat_rtp(long4);
2673ushort4 __ovld __cnfn convert_ushort4_rtn(long4);
2674ushort4 __ovld __cnfn convert_ushort4_sat_rtn(long4);
2675ushort4 __ovld __cnfn convert_ushort4(long4);
2676ushort4 __ovld __cnfn convert_ushort4_sat(long4);
2677ushort4 __ovld __cnfn convert_ushort4_rte(ulong4);
2678ushort4 __ovld __cnfn convert_ushort4_sat_rte(ulong4);
2679ushort4 __ovld __cnfn convert_ushort4_rtz(ulong4);
2680ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ulong4);
2681ushort4 __ovld __cnfn convert_ushort4_rtp(ulong4);
2682ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ulong4);
2683ushort4 __ovld __cnfn convert_ushort4_rtn(ulong4);
2684ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ulong4);
2685ushort4 __ovld __cnfn convert_ushort4(ulong4);
2686ushort4 __ovld __cnfn convert_ushort4_sat(ulong4);
2687ushort4 __ovld __cnfn convert_ushort4_rte(float4);
2688ushort4 __ovld __cnfn convert_ushort4_sat_rte(float4);
2689ushort4 __ovld __cnfn convert_ushort4_rtz(float4);
2690ushort4 __ovld __cnfn convert_ushort4_sat_rtz(float4);
2691ushort4 __ovld __cnfn convert_ushort4_rtp(float4);
2692ushort4 __ovld __cnfn convert_ushort4_sat_rtp(float4);
2693ushort4 __ovld __cnfn convert_ushort4_rtn(float4);
2694ushort4 __ovld __cnfn convert_ushort4_sat_rtn(float4);
2695ushort4 __ovld __cnfn convert_ushort4(float4);
2696ushort4 __ovld __cnfn convert_ushort4_sat(float4);
2697int4 __ovld __cnfn convert_int4_rte(char4);
2698int4 __ovld __cnfn convert_int4_sat_rte(char4);
2699int4 __ovld __cnfn convert_int4_rtz(char4);
2700int4 __ovld __cnfn convert_int4_sat_rtz(char4);
2701int4 __ovld __cnfn convert_int4_rtp(char4);
2702int4 __ovld __cnfn convert_int4_sat_rtp(char4);
2703int4 __ovld __cnfn convert_int4_rtn(char4);
2704int4 __ovld __cnfn convert_int4_sat_rtn(char4);
2705int4 __ovld __cnfn convert_int4(char4);
2706int4 __ovld __cnfn convert_int4_sat(char4);
2707int4 __ovld __cnfn convert_int4_rte(uchar4);
2708int4 __ovld __cnfn convert_int4_sat_rte(uchar4);
2709int4 __ovld __cnfn convert_int4_rtz(uchar4);
2710int4 __ovld __cnfn convert_int4_sat_rtz(uchar4);
2711int4 __ovld __cnfn convert_int4_rtp(uchar4);
2712int4 __ovld __cnfn convert_int4_sat_rtp(uchar4);
2713int4 __ovld __cnfn convert_int4_rtn(uchar4);
2714int4 __ovld __cnfn convert_int4_sat_rtn(uchar4);
2715int4 __ovld __cnfn convert_int4(uchar4);
2716int4 __ovld __cnfn convert_int4_sat(uchar4);
2717int4 __ovld __cnfn convert_int4_rte(short4);
2718int4 __ovld __cnfn convert_int4_sat_rte(short4);
2719int4 __ovld __cnfn convert_int4_rtz(short4);
2720int4 __ovld __cnfn convert_int4_sat_rtz(short4);
2721int4 __ovld __cnfn convert_int4_rtp(short4);
2722int4 __ovld __cnfn convert_int4_sat_rtp(short4);
2723int4 __ovld __cnfn convert_int4_rtn(short4);
2724int4 __ovld __cnfn convert_int4_sat_rtn(short4);
2725int4 __ovld __cnfn convert_int4(short4);
2726int4 __ovld __cnfn convert_int4_sat(short4);
2727int4 __ovld __cnfn convert_int4_rte(ushort4);
2728int4 __ovld __cnfn convert_int4_sat_rte(ushort4);
2729int4 __ovld __cnfn convert_int4_rtz(ushort4);
2730int4 __ovld __cnfn convert_int4_sat_rtz(ushort4);
2731int4 __ovld __cnfn convert_int4_rtp(ushort4);
2732int4 __ovld __cnfn convert_int4_sat_rtp(ushort4);
2733int4 __ovld __cnfn convert_int4_rtn(ushort4);
2734int4 __ovld __cnfn convert_int4_sat_rtn(ushort4);
2735int4 __ovld __cnfn convert_int4(ushort4);
2736int4 __ovld __cnfn convert_int4_sat(ushort4);
2737int4 __ovld __cnfn convert_int4_rte(int4);
2738int4 __ovld __cnfn convert_int4_sat_rte(int4);
2739int4 __ovld __cnfn convert_int4_rtz(int4);
2740int4 __ovld __cnfn convert_int4_sat_rtz(int4);
2741int4 __ovld __cnfn convert_int4_rtp(int4);
2742int4 __ovld __cnfn convert_int4_sat_rtp(int4);
2743int4 __ovld __cnfn convert_int4_rtn(int4);
2744int4 __ovld __cnfn convert_int4_sat_rtn(int4);
2745int4 __ovld __cnfn convert_int4(int4);
2746int4 __ovld __cnfn convert_int4_sat(int4);
2747int4 __ovld __cnfn convert_int4_rte(uint4);
2748int4 __ovld __cnfn convert_int4_sat_rte(uint4);
2749int4 __ovld __cnfn convert_int4_rtz(uint4);
2750int4 __ovld __cnfn convert_int4_sat_rtz(uint4);
2751int4 __ovld __cnfn convert_int4_rtp(uint4);
2752int4 __ovld __cnfn convert_int4_sat_rtp(uint4);
2753int4 __ovld __cnfn convert_int4_rtn(uint4);
2754int4 __ovld __cnfn convert_int4_sat_rtn(uint4);
2755int4 __ovld __cnfn convert_int4(uint4);
2756int4 __ovld __cnfn convert_int4_sat(uint4);
2757int4 __ovld __cnfn convert_int4_rte(long4);
2758int4 __ovld __cnfn convert_int4_sat_rte(long4);
2759int4 __ovld __cnfn convert_int4_rtz(long4);
2760int4 __ovld __cnfn convert_int4_sat_rtz(long4);
2761int4 __ovld __cnfn convert_int4_rtp(long4);
2762int4 __ovld __cnfn convert_int4_sat_rtp(long4);
2763int4 __ovld __cnfn convert_int4_rtn(long4);
2764int4 __ovld __cnfn convert_int4_sat_rtn(long4);
2765int4 __ovld __cnfn convert_int4(long4);
2766int4 __ovld __cnfn convert_int4_sat(long4);
2767int4 __ovld __cnfn convert_int4_rte(ulong4);
2768int4 __ovld __cnfn convert_int4_sat_rte(ulong4);
2769int4 __ovld __cnfn convert_int4_rtz(ulong4);
2770int4 __ovld __cnfn convert_int4_sat_rtz(ulong4);
2771int4 __ovld __cnfn convert_int4_rtp(ulong4);
2772int4 __ovld __cnfn convert_int4_sat_rtp(ulong4);
2773int4 __ovld __cnfn convert_int4_rtn(ulong4);
2774int4 __ovld __cnfn convert_int4_sat_rtn(ulong4);
2775int4 __ovld __cnfn convert_int4(ulong4);
2776int4 __ovld __cnfn convert_int4_sat(ulong4);
2777int4 __ovld __cnfn convert_int4_rte(float4);
2778int4 __ovld __cnfn convert_int4_sat_rte(float4);
2779int4 __ovld __cnfn convert_int4_rtz(float4);
2780int4 __ovld __cnfn convert_int4_sat_rtz(float4);
2781int4 __ovld __cnfn convert_int4_rtp(float4);
2782int4 __ovld __cnfn convert_int4_sat_rtp(float4);
2783int4 __ovld __cnfn convert_int4_rtn(float4);
2784int4 __ovld __cnfn convert_int4_sat_rtn(float4);
2785int4 __ovld __cnfn convert_int4(float4);
2786int4 __ovld __cnfn convert_int4_sat(float4);
2787uint4 __ovld __cnfn convert_uint4_rte(char4);
2788uint4 __ovld __cnfn convert_uint4_sat_rte(char4);
2789uint4 __ovld __cnfn convert_uint4_rtz(char4);
2790uint4 __ovld __cnfn convert_uint4_sat_rtz(char4);
2791uint4 __ovld __cnfn convert_uint4_rtp(char4);
2792uint4 __ovld __cnfn convert_uint4_sat_rtp(char4);
2793uint4 __ovld __cnfn convert_uint4_rtn(char4);
2794uint4 __ovld __cnfn convert_uint4_sat_rtn(char4);
2795uint4 __ovld __cnfn convert_uint4(char4);
2796uint4 __ovld __cnfn convert_uint4_sat(char4);
2797uint4 __ovld __cnfn convert_uint4_rte(uchar4);
2798uint4 __ovld __cnfn convert_uint4_sat_rte(uchar4);
2799uint4 __ovld __cnfn convert_uint4_rtz(uchar4);
2800uint4 __ovld __cnfn convert_uint4_sat_rtz(uchar4);
2801uint4 __ovld __cnfn convert_uint4_rtp(uchar4);
2802uint4 __ovld __cnfn convert_uint4_sat_rtp(uchar4);
2803uint4 __ovld __cnfn convert_uint4_rtn(uchar4);
2804uint4 __ovld __cnfn convert_uint4_sat_rtn(uchar4);
2805uint4 __ovld __cnfn convert_uint4(uchar4);
2806uint4 __ovld __cnfn convert_uint4_sat(uchar4);
2807uint4 __ovld __cnfn convert_uint4_rte(short4);
2808uint4 __ovld __cnfn convert_uint4_sat_rte(short4);
2809uint4 __ovld __cnfn convert_uint4_rtz(short4);
2810uint4 __ovld __cnfn convert_uint4_sat_rtz(short4);
2811uint4 __ovld __cnfn convert_uint4_rtp(short4);
2812uint4 __ovld __cnfn convert_uint4_sat_rtp(short4);
2813uint4 __ovld __cnfn convert_uint4_rtn(short4);
2814uint4 __ovld __cnfn convert_uint4_sat_rtn(short4);
2815uint4 __ovld __cnfn convert_uint4(short4);
2816uint4 __ovld __cnfn convert_uint4_sat(short4);
2817uint4 __ovld __cnfn convert_uint4_rte(ushort4);
2818uint4 __ovld __cnfn convert_uint4_sat_rte(ushort4);
2819uint4 __ovld __cnfn convert_uint4_rtz(ushort4);
2820uint4 __ovld __cnfn convert_uint4_sat_rtz(ushort4);
2821uint4 __ovld __cnfn convert_uint4_rtp(ushort4);
2822uint4 __ovld __cnfn convert_uint4_sat_rtp(ushort4);
2823uint4 __ovld __cnfn convert_uint4_rtn(ushort4);
2824uint4 __ovld __cnfn convert_uint4_sat_rtn(ushort4);
2825uint4 __ovld __cnfn convert_uint4(ushort4);
2826uint4 __ovld __cnfn convert_uint4_sat(ushort4);
2827uint4 __ovld __cnfn convert_uint4_rte(int4);
2828uint4 __ovld __cnfn convert_uint4_sat_rte(int4);
2829uint4 __ovld __cnfn convert_uint4_rtz(int4);
2830uint4 __ovld __cnfn convert_uint4_sat_rtz(int4);
2831uint4 __ovld __cnfn convert_uint4_rtp(int4);
2832uint4 __ovld __cnfn convert_uint4_sat_rtp(int4);
2833uint4 __ovld __cnfn convert_uint4_rtn(int4);
2834uint4 __ovld __cnfn convert_uint4_sat_rtn(int4);
2835uint4 __ovld __cnfn convert_uint4(int4);
2836uint4 __ovld __cnfn convert_uint4_sat(int4);
2837uint4 __ovld __cnfn convert_uint4_rte(uint4);
2838uint4 __ovld __cnfn convert_uint4_sat_rte(uint4);
2839uint4 __ovld __cnfn convert_uint4_rtz(uint4);
2840uint4 __ovld __cnfn convert_uint4_sat_rtz(uint4);
2841uint4 __ovld __cnfn convert_uint4_rtp(uint4);
2842uint4 __ovld __cnfn convert_uint4_sat_rtp(uint4);
2843uint4 __ovld __cnfn convert_uint4_rtn(uint4);
2844uint4 __ovld __cnfn convert_uint4_sat_rtn(uint4);
2845uint4 __ovld __cnfn convert_uint4(uint4);
2846uint4 __ovld __cnfn convert_uint4_sat(uint4);
2847uint4 __ovld __cnfn convert_uint4_rte(long4);
2848uint4 __ovld __cnfn convert_uint4_sat_rte(long4);
2849uint4 __ovld __cnfn convert_uint4_rtz(long4);
2850uint4 __ovld __cnfn convert_uint4_sat_rtz(long4);
2851uint4 __ovld __cnfn convert_uint4_rtp(long4);
2852uint4 __ovld __cnfn convert_uint4_sat_rtp(long4);
2853uint4 __ovld __cnfn convert_uint4_rtn(long4);
2854uint4 __ovld __cnfn convert_uint4_sat_rtn(long4);
2855uint4 __ovld __cnfn convert_uint4(long4);
2856uint4 __ovld __cnfn convert_uint4_sat(long4);
2857uint4 __ovld __cnfn convert_uint4_rte(ulong4);
2858uint4 __ovld __cnfn convert_uint4_sat_rte(ulong4);
2859uint4 __ovld __cnfn convert_uint4_rtz(ulong4);
2860uint4 __ovld __cnfn convert_uint4_sat_rtz(ulong4);
2861uint4 __ovld __cnfn convert_uint4_rtp(ulong4);
2862uint4 __ovld __cnfn convert_uint4_sat_rtp(ulong4);
2863uint4 __ovld __cnfn convert_uint4_rtn(ulong4);
2864uint4 __ovld __cnfn convert_uint4_sat_rtn(ulong4);
2865uint4 __ovld __cnfn convert_uint4(ulong4);
2866uint4 __ovld __cnfn convert_uint4_sat(ulong4);
2867uint4 __ovld __cnfn convert_uint4_rte(float4);
2868uint4 __ovld __cnfn convert_uint4_sat_rte(float4);
2869uint4 __ovld __cnfn convert_uint4_rtz(float4);
2870uint4 __ovld __cnfn convert_uint4_sat_rtz(float4);
2871uint4 __ovld __cnfn convert_uint4_rtp(float4);
2872uint4 __ovld __cnfn convert_uint4_sat_rtp(float4);
2873uint4 __ovld __cnfn convert_uint4_rtn(float4);
2874uint4 __ovld __cnfn convert_uint4_sat_rtn(float4);
2875uint4 __ovld __cnfn convert_uint4(float4);
2876uint4 __ovld __cnfn convert_uint4_sat(float4);
2877long4 __ovld __cnfn convert_long4_rte(char4);
2878long4 __ovld __cnfn convert_long4_sat_rte(char4);
2879long4 __ovld __cnfn convert_long4_rtz(char4);
2880long4 __ovld __cnfn convert_long4_sat_rtz(char4);
2881long4 __ovld __cnfn convert_long4_rtp(char4);
2882long4 __ovld __cnfn convert_long4_sat_rtp(char4);
2883long4 __ovld __cnfn convert_long4_rtn(char4);
2884long4 __ovld __cnfn convert_long4_sat_rtn(char4);
2885long4 __ovld __cnfn convert_long4(char4);
2886long4 __ovld __cnfn convert_long4_sat(char4);
2887long4 __ovld __cnfn convert_long4_rte(uchar4);
2888long4 __ovld __cnfn convert_long4_sat_rte(uchar4);
2889long4 __ovld __cnfn convert_long4_rtz(uchar4);
2890long4 __ovld __cnfn convert_long4_sat_rtz(uchar4);
2891long4 __ovld __cnfn convert_long4_rtp(uchar4);
2892long4 __ovld __cnfn convert_long4_sat_rtp(uchar4);
2893long4 __ovld __cnfn convert_long4_rtn(uchar4);
2894long4 __ovld __cnfn convert_long4_sat_rtn(uchar4);
2895long4 __ovld __cnfn convert_long4(uchar4);
2896long4 __ovld __cnfn convert_long4_sat(uchar4);
2897long4 __ovld __cnfn convert_long4_rte(short4);
2898long4 __ovld __cnfn convert_long4_sat_rte(short4);
2899long4 __ovld __cnfn convert_long4_rtz(short4);
2900long4 __ovld __cnfn convert_long4_sat_rtz(short4);
2901long4 __ovld __cnfn convert_long4_rtp(short4);
2902long4 __ovld __cnfn convert_long4_sat_rtp(short4);
2903long4 __ovld __cnfn convert_long4_rtn(short4);
2904long4 __ovld __cnfn convert_long4_sat_rtn(short4);
2905long4 __ovld __cnfn convert_long4(short4);
2906long4 __ovld __cnfn convert_long4_sat(short4);
2907long4 __ovld __cnfn convert_long4_rte(ushort4);
2908long4 __ovld __cnfn convert_long4_sat_rte(ushort4);
2909long4 __ovld __cnfn convert_long4_rtz(ushort4);
2910long4 __ovld __cnfn convert_long4_sat_rtz(ushort4);
2911long4 __ovld __cnfn convert_long4_rtp(ushort4);
2912long4 __ovld __cnfn convert_long4_sat_rtp(ushort4);
2913long4 __ovld __cnfn convert_long4_rtn(ushort4);
2914long4 __ovld __cnfn convert_long4_sat_rtn(ushort4);
2915long4 __ovld __cnfn convert_long4(ushort4);
2916long4 __ovld __cnfn convert_long4_sat(ushort4);
2917long4 __ovld __cnfn convert_long4_rte(int4);
2918long4 __ovld __cnfn convert_long4_sat_rte(int4);
2919long4 __ovld __cnfn convert_long4_rtz(int4);
2920long4 __ovld __cnfn convert_long4_sat_rtz(int4);
2921long4 __ovld __cnfn convert_long4_rtp(int4);
2922long4 __ovld __cnfn convert_long4_sat_rtp(int4);
2923long4 __ovld __cnfn convert_long4_rtn(int4);
2924long4 __ovld __cnfn convert_long4_sat_rtn(int4);
2925long4 __ovld __cnfn convert_long4(int4);
2926long4 __ovld __cnfn convert_long4_sat(int4);
2927long4 __ovld __cnfn convert_long4_rte(uint4);
2928long4 __ovld __cnfn convert_long4_sat_rte(uint4);
2929long4 __ovld __cnfn convert_long4_rtz(uint4);
2930long4 __ovld __cnfn convert_long4_sat_rtz(uint4);
2931long4 __ovld __cnfn convert_long4_rtp(uint4);
2932long4 __ovld __cnfn convert_long4_sat_rtp(uint4);
2933long4 __ovld __cnfn convert_long4_rtn(uint4);
2934long4 __ovld __cnfn convert_long4_sat_rtn(uint4);
2935long4 __ovld __cnfn convert_long4(uint4);
2936long4 __ovld __cnfn convert_long4_sat(uint4);
2937long4 __ovld __cnfn convert_long4_rte(long4);
2938long4 __ovld __cnfn convert_long4_sat_rte(long4);
2939long4 __ovld __cnfn convert_long4_rtz(long4);
2940long4 __ovld __cnfn convert_long4_sat_rtz(long4);
2941long4 __ovld __cnfn convert_long4_rtp(long4);
2942long4 __ovld __cnfn convert_long4_sat_rtp(long4);
2943long4 __ovld __cnfn convert_long4_rtn(long4);
2944long4 __ovld __cnfn convert_long4_sat_rtn(long4);
2945long4 __ovld __cnfn convert_long4(long4);
2946long4 __ovld __cnfn convert_long4_sat(long4);
2947long4 __ovld __cnfn convert_long4_rte(ulong4);
2948long4 __ovld __cnfn convert_long4_sat_rte(ulong4);
2949long4 __ovld __cnfn convert_long4_rtz(ulong4);
2950long4 __ovld __cnfn convert_long4_sat_rtz(ulong4);
2951long4 __ovld __cnfn convert_long4_rtp(ulong4);
2952long4 __ovld __cnfn convert_long4_sat_rtp(ulong4);
2953long4 __ovld __cnfn convert_long4_rtn(ulong4);
2954long4 __ovld __cnfn convert_long4_sat_rtn(ulong4);
2955long4 __ovld __cnfn convert_long4(ulong4);
2956long4 __ovld __cnfn convert_long4_sat(ulong4);
2957long4 __ovld __cnfn convert_long4_rte(float4);
2958long4 __ovld __cnfn convert_long4_sat_rte(float4);
2959long4 __ovld __cnfn convert_long4_rtz(float4);
2960long4 __ovld __cnfn convert_long4_sat_rtz(float4);
2961long4 __ovld __cnfn convert_long4_rtp(float4);
2962long4 __ovld __cnfn convert_long4_sat_rtp(float4);
2963long4 __ovld __cnfn convert_long4_rtn(float4);
2964long4 __ovld __cnfn convert_long4_sat_rtn(float4);
2965long4 __ovld __cnfn convert_long4(float4);
2966long4 __ovld __cnfn convert_long4_sat(float4);
2967ulong4 __ovld __cnfn convert_ulong4_rte(char4);
2968ulong4 __ovld __cnfn convert_ulong4_sat_rte(char4);
2969ulong4 __ovld __cnfn convert_ulong4_rtz(char4);
2970ulong4 __ovld __cnfn convert_ulong4_sat_rtz(char4);
2971ulong4 __ovld __cnfn convert_ulong4_rtp(char4);
2972ulong4 __ovld __cnfn convert_ulong4_sat_rtp(char4);
2973ulong4 __ovld __cnfn convert_ulong4_rtn(char4);
2974ulong4 __ovld __cnfn convert_ulong4_sat_rtn(char4);
2975ulong4 __ovld __cnfn convert_ulong4(char4);
2976ulong4 __ovld __cnfn convert_ulong4_sat(char4);
2977ulong4 __ovld __cnfn convert_ulong4_rte(uchar4);
2978ulong4 __ovld __cnfn convert_ulong4_sat_rte(uchar4);
2979ulong4 __ovld __cnfn convert_ulong4_rtz(uchar4);
2980ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uchar4);
2981ulong4 __ovld __cnfn convert_ulong4_rtp(uchar4);
2982ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uchar4);
2983ulong4 __ovld __cnfn convert_ulong4_rtn(uchar4);
2984ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uchar4);
2985ulong4 __ovld __cnfn convert_ulong4(uchar4);
2986ulong4 __ovld __cnfn convert_ulong4_sat(uchar4);
2987ulong4 __ovld __cnfn convert_ulong4_rte(short4);
2988ulong4 __ovld __cnfn convert_ulong4_sat_rte(short4);
2989ulong4 __ovld __cnfn convert_ulong4_rtz(short4);
2990ulong4 __ovld __cnfn convert_ulong4_sat_rtz(short4);
2991ulong4 __ovld __cnfn convert_ulong4_rtp(short4);
2992ulong4 __ovld __cnfn convert_ulong4_sat_rtp(short4);
2993ulong4 __ovld __cnfn convert_ulong4_rtn(short4);
2994ulong4 __ovld __cnfn convert_ulong4_sat_rtn(short4);
2995ulong4 __ovld __cnfn convert_ulong4(short4);
2996ulong4 __ovld __cnfn convert_ulong4_sat(short4);
2997ulong4 __ovld __cnfn convert_ulong4_rte(ushort4);
2998ulong4 __ovld __cnfn convert_ulong4_sat_rte(ushort4);
2999ulong4 __ovld __cnfn convert_ulong4_rtz(ushort4);
3000ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ushort4);
3001ulong4 __ovld __cnfn convert_ulong4_rtp(ushort4);
3002ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ushort4);
3003ulong4 __ovld __cnfn convert_ulong4_rtn(ushort4);
3004ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ushort4);
3005ulong4 __ovld __cnfn convert_ulong4(ushort4);
3006ulong4 __ovld __cnfn convert_ulong4_sat(ushort4);
3007ulong4 __ovld __cnfn convert_ulong4_rte(int4);
3008ulong4 __ovld __cnfn convert_ulong4_sat_rte(int4);
3009ulong4 __ovld __cnfn convert_ulong4_rtz(int4);
3010ulong4 __ovld __cnfn convert_ulong4_sat_rtz(int4);
3011ulong4 __ovld __cnfn convert_ulong4_rtp(int4);
3012ulong4 __ovld __cnfn convert_ulong4_sat_rtp(int4);
3013ulong4 __ovld __cnfn convert_ulong4_rtn(int4);
3014ulong4 __ovld __cnfn convert_ulong4_sat_rtn(int4);
3015ulong4 __ovld __cnfn convert_ulong4(int4);
3016ulong4 __ovld __cnfn convert_ulong4_sat(int4);
3017ulong4 __ovld __cnfn convert_ulong4_rte(uint4);
3018ulong4 __ovld __cnfn convert_ulong4_sat_rte(uint4);
3019ulong4 __ovld __cnfn convert_ulong4_rtz(uint4);
3020ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uint4);
3021ulong4 __ovld __cnfn convert_ulong4_rtp(uint4);
3022ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uint4);
3023ulong4 __ovld __cnfn convert_ulong4_rtn(uint4);
3024ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uint4);
3025ulong4 __ovld __cnfn convert_ulong4(uint4);
3026ulong4 __ovld __cnfn convert_ulong4_sat(uint4);
3027ulong4 __ovld __cnfn convert_ulong4_rte(long4);
3028ulong4 __ovld __cnfn convert_ulong4_sat_rte(long4);
3029ulong4 __ovld __cnfn convert_ulong4_rtz(long4);
3030ulong4 __ovld __cnfn convert_ulong4_sat_rtz(long4);
3031ulong4 __ovld __cnfn convert_ulong4_rtp(long4);
3032ulong4 __ovld __cnfn convert_ulong4_sat_rtp(long4);
3033ulong4 __ovld __cnfn convert_ulong4_rtn(long4);
3034ulong4 __ovld __cnfn convert_ulong4_sat_rtn(long4);
3035ulong4 __ovld __cnfn convert_ulong4(long4);
3036ulong4 __ovld __cnfn convert_ulong4_sat(long4);
3037ulong4 __ovld __cnfn convert_ulong4_rte(ulong4);
3038ulong4 __ovld __cnfn convert_ulong4_sat_rte(ulong4);
3039ulong4 __ovld __cnfn convert_ulong4_rtz(ulong4);
3040ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ulong4);
3041ulong4 __ovld __cnfn convert_ulong4_rtp(ulong4);
3042ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ulong4);
3043ulong4 __ovld __cnfn convert_ulong4_rtn(ulong4);
3044ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ulong4);
3045ulong4 __ovld __cnfn convert_ulong4(ulong4);
3046ulong4 __ovld __cnfn convert_ulong4_sat(ulong4);
3047ulong4 __ovld __cnfn convert_ulong4_rte(float4);
3048ulong4 __ovld __cnfn convert_ulong4_sat_rte(float4);
3049ulong4 __ovld __cnfn convert_ulong4_rtz(float4);
3050ulong4 __ovld __cnfn convert_ulong4_sat_rtz(float4);
3051ulong4 __ovld __cnfn convert_ulong4_rtp(float4);
3052ulong4 __ovld __cnfn convert_ulong4_sat_rtp(float4);
3053ulong4 __ovld __cnfn convert_ulong4_rtn(float4);
3054ulong4 __ovld __cnfn convert_ulong4_sat_rtn(float4);
3055ulong4 __ovld __cnfn convert_ulong4(float4);
3056ulong4 __ovld __cnfn convert_ulong4_sat(float4);
3057float4 __ovld __cnfn convert_float4_rte(char4);
3058float4 __ovld __cnfn convert_float4_rtz(char4);
3059float4 __ovld __cnfn convert_float4_rtp(char4);
3060float4 __ovld __cnfn convert_float4_rtn(char4);
3061float4 __ovld __cnfn convert_float4(char4);
3062float4 __ovld __cnfn convert_float4_rte(uchar4);
3063float4 __ovld __cnfn convert_float4_rtz(uchar4);
3064float4 __ovld __cnfn convert_float4_rtp(uchar4);
3065float4 __ovld __cnfn convert_float4_rtn(uchar4);
3066float4 __ovld __cnfn convert_float4(uchar4);
3067float4 __ovld __cnfn convert_float4_rte(short4);
3068float4 __ovld __cnfn convert_float4_rtz(short4);
3069float4 __ovld __cnfn convert_float4_rtp(short4);
3070float4 __ovld __cnfn convert_float4_rtn(short4);
3071float4 __ovld __cnfn convert_float4(short4);
3072float4 __ovld __cnfn convert_float4_rte(ushort4);
3073float4 __ovld __cnfn convert_float4_rtz(ushort4);
3074float4 __ovld __cnfn convert_float4_rtp(ushort4);
3075float4 __ovld __cnfn convert_float4_rtn(ushort4);
3076float4 __ovld __cnfn convert_float4(ushort4);
3077float4 __ovld __cnfn convert_float4_rte(int4);
3078float4 __ovld __cnfn convert_float4_rtz(int4);
3079float4 __ovld __cnfn convert_float4_rtp(int4);
3080float4 __ovld __cnfn convert_float4_rtn(int4);
3081float4 __ovld __cnfn convert_float4(int4);
3082float4 __ovld __cnfn convert_float4_rte(uint4);
3083float4 __ovld __cnfn convert_float4_rtz(uint4);
3084float4 __ovld __cnfn convert_float4_rtp(uint4);
3085float4 __ovld __cnfn convert_float4_rtn(uint4);
3086float4 __ovld __cnfn convert_float4(uint4);
3087float4 __ovld __cnfn convert_float4_rte(long4);
3088float4 __ovld __cnfn convert_float4_rtz(long4);
3089float4 __ovld __cnfn convert_float4_rtp(long4);
3090float4 __ovld __cnfn convert_float4_rtn(long4);
3091float4 __ovld __cnfn convert_float4(long4);
3092float4 __ovld __cnfn convert_float4_rte(ulong4);
3093float4 __ovld __cnfn convert_float4_rtz(ulong4);
3094float4 __ovld __cnfn convert_float4_rtp(ulong4);
3095float4 __ovld __cnfn convert_float4_rtn(ulong4);
3096float4 __ovld __cnfn convert_float4(ulong4);
3097float4 __ovld __cnfn convert_float4_rte(float4);
3098float4 __ovld __cnfn convert_float4_rtz(float4);
3099float4 __ovld __cnfn convert_float4_rtp(float4);
3100float4 __ovld __cnfn convert_float4_rtn(float4);
3101float4 __ovld __cnfn convert_float4(float4);
3102char8 __ovld __cnfn convert_char8_rte(char8);
3103char8 __ovld __cnfn convert_char8_sat_rte(char8);
3104char8 __ovld __cnfn convert_char8_rtz(char8);
3105char8 __ovld __cnfn convert_char8_sat_rtz(char8);
3106char8 __ovld __cnfn convert_char8_rtp(char8);
3107char8 __ovld __cnfn convert_char8_sat_rtp(char8);
3108char8 __ovld __cnfn convert_char8_rtn(char8);
3109char8 __ovld __cnfn convert_char8_sat_rtn(char8);
3110char8 __ovld __cnfn convert_char8(char8);
3111char8 __ovld __cnfn convert_char8_sat(char8);
3112char8 __ovld __cnfn convert_char8_rte(uchar8);
3113char8 __ovld __cnfn convert_char8_sat_rte(uchar8);
3114char8 __ovld __cnfn convert_char8_rtz(uchar8);
3115char8 __ovld __cnfn convert_char8_sat_rtz(uchar8);
3116char8 __ovld __cnfn convert_char8_rtp(uchar8);
3117char8 __ovld __cnfn convert_char8_sat_rtp(uchar8);
3118char8 __ovld __cnfn convert_char8_rtn(uchar8);
3119char8 __ovld __cnfn convert_char8_sat_rtn(uchar8);
3120char8 __ovld __cnfn convert_char8(uchar8);
3121char8 __ovld __cnfn convert_char8_sat(uchar8);
3122char8 __ovld __cnfn convert_char8_rte(short8);
3123char8 __ovld __cnfn convert_char8_sat_rte(short8);
3124char8 __ovld __cnfn convert_char8_rtz(short8);
3125char8 __ovld __cnfn convert_char8_sat_rtz(short8);
3126char8 __ovld __cnfn convert_char8_rtp(short8);
3127char8 __ovld __cnfn convert_char8_sat_rtp(short8);
3128char8 __ovld __cnfn convert_char8_rtn(short8);
3129char8 __ovld __cnfn convert_char8_sat_rtn(short8);
3130char8 __ovld __cnfn convert_char8(short8);
3131char8 __ovld __cnfn convert_char8_sat(short8);
3132char8 __ovld __cnfn convert_char8_rte(ushort8);
3133char8 __ovld __cnfn convert_char8_sat_rte(ushort8);
3134char8 __ovld __cnfn convert_char8_rtz(ushort8);
3135char8 __ovld __cnfn convert_char8_sat_rtz(ushort8);
3136char8 __ovld __cnfn convert_char8_rtp(ushort8);
3137char8 __ovld __cnfn convert_char8_sat_rtp(ushort8);
3138char8 __ovld __cnfn convert_char8_rtn(ushort8);
3139char8 __ovld __cnfn convert_char8_sat_rtn(ushort8);
3140char8 __ovld __cnfn convert_char8(ushort8);
3141char8 __ovld __cnfn convert_char8_sat(ushort8);
3142char8 __ovld __cnfn convert_char8_rte(int8);
3143char8 __ovld __cnfn convert_char8_sat_rte(int8);
3144char8 __ovld __cnfn convert_char8_rtz(int8);
3145char8 __ovld __cnfn convert_char8_sat_rtz(int8);
3146char8 __ovld __cnfn convert_char8_rtp(int8);
3147char8 __ovld __cnfn convert_char8_sat_rtp(int8);
3148char8 __ovld __cnfn convert_char8_rtn(int8);
3149char8 __ovld __cnfn convert_char8_sat_rtn(int8);
3150char8 __ovld __cnfn convert_char8(int8);
3151char8 __ovld __cnfn convert_char8_sat(int8);
3152char8 __ovld __cnfn convert_char8_rte(uint8);
3153char8 __ovld __cnfn convert_char8_sat_rte(uint8);
3154char8 __ovld __cnfn convert_char8_rtz(uint8);
3155char8 __ovld __cnfn convert_char8_sat_rtz(uint8);
3156char8 __ovld __cnfn convert_char8_rtp(uint8);
3157char8 __ovld __cnfn convert_char8_sat_rtp(uint8);
3158char8 __ovld __cnfn convert_char8_rtn(uint8);
3159char8 __ovld __cnfn convert_char8_sat_rtn(uint8);
3160char8 __ovld __cnfn convert_char8(uint8);
3161char8 __ovld __cnfn convert_char8_sat(uint8);
3162char8 __ovld __cnfn convert_char8_rte(long8);
3163char8 __ovld __cnfn convert_char8_sat_rte(long8);
3164char8 __ovld __cnfn convert_char8_rtz(long8);
3165char8 __ovld __cnfn convert_char8_sat_rtz(long8);
3166char8 __ovld __cnfn convert_char8_rtp(long8);
3167char8 __ovld __cnfn convert_char8_sat_rtp(long8);
3168char8 __ovld __cnfn convert_char8_rtn(long8);
3169char8 __ovld __cnfn convert_char8_sat_rtn(long8);
3170char8 __ovld __cnfn convert_char8(long8);
3171char8 __ovld __cnfn convert_char8_sat(long8);
3172char8 __ovld __cnfn convert_char8_rte(ulong8);
3173char8 __ovld __cnfn convert_char8_sat_rte(ulong8);
3174char8 __ovld __cnfn convert_char8_rtz(ulong8);
3175char8 __ovld __cnfn convert_char8_sat_rtz(ulong8);
3176char8 __ovld __cnfn convert_char8_rtp(ulong8);
3177char8 __ovld __cnfn convert_char8_sat_rtp(ulong8);
3178char8 __ovld __cnfn convert_char8_rtn(ulong8);
3179char8 __ovld __cnfn convert_char8_sat_rtn(ulong8);
3180char8 __ovld __cnfn convert_char8(ulong8);
3181char8 __ovld __cnfn convert_char8_sat(ulong8);
3182char8 __ovld __cnfn convert_char8_rte(float8);
3183char8 __ovld __cnfn convert_char8_sat_rte(float8);
3184char8 __ovld __cnfn convert_char8_rtz(float8);
3185char8 __ovld __cnfn convert_char8_sat_rtz(float8);
3186char8 __ovld __cnfn convert_char8_rtp(float8);
3187char8 __ovld __cnfn convert_char8_sat_rtp(float8);
3188char8 __ovld __cnfn convert_char8_rtn(float8);
3189char8 __ovld __cnfn convert_char8_sat_rtn(float8);
3190char8 __ovld __cnfn convert_char8(float8);
3191char8 __ovld __cnfn convert_char8_sat(float8);
3192uchar8 __ovld __cnfn convert_uchar8_rte(char8);
3193uchar8 __ovld __cnfn convert_uchar8_sat_rte(char8);
3194uchar8 __ovld __cnfn convert_uchar8_rtz(char8);
3195uchar8 __ovld __cnfn convert_uchar8_sat_rtz(char8);
3196uchar8 __ovld __cnfn convert_uchar8_rtp(char8);
3197uchar8 __ovld __cnfn convert_uchar8_sat_rtp(char8);
3198uchar8 __ovld __cnfn convert_uchar8_rtn(char8);
3199uchar8 __ovld __cnfn convert_uchar8_sat_rtn(char8);
3200uchar8 __ovld __cnfn convert_uchar8(char8);
3201uchar8 __ovld __cnfn convert_uchar8_sat(char8);
3202uchar8 __ovld __cnfn convert_uchar8_rte(uchar8);
3203uchar8 __ovld __cnfn convert_uchar8_sat_rte(uchar8);
3204uchar8 __ovld __cnfn convert_uchar8_rtz(uchar8);
3205uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uchar8);
3206uchar8 __ovld __cnfn convert_uchar8_rtp(uchar8);
3207uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uchar8);
3208uchar8 __ovld __cnfn convert_uchar8_rtn(uchar8);
3209uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uchar8);
3210uchar8 __ovld __cnfn convert_uchar8(uchar8);
3211uchar8 __ovld __cnfn convert_uchar8_sat(uchar8);
3212uchar8 __ovld __cnfn convert_uchar8_rte(short8);
3213uchar8 __ovld __cnfn convert_uchar8_sat_rte(short8);
3214uchar8 __ovld __cnfn convert_uchar8_rtz(short8);
3215uchar8 __ovld __cnfn convert_uchar8_sat_rtz(short8);
3216uchar8 __ovld __cnfn convert_uchar8_rtp(short8);
3217uchar8 __ovld __cnfn convert_uchar8_sat_rtp(short8);
3218uchar8 __ovld __cnfn convert_uchar8_rtn(short8);
3219uchar8 __ovld __cnfn convert_uchar8_sat_rtn(short8);
3220uchar8 __ovld __cnfn convert_uchar8(short8);
3221uchar8 __ovld __cnfn convert_uchar8_sat(short8);
3222uchar8 __ovld __cnfn convert_uchar8_rte(ushort8);
3223uchar8 __ovld __cnfn convert_uchar8_sat_rte(ushort8);
3224uchar8 __ovld __cnfn convert_uchar8_rtz(ushort8);
3225uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ushort8);
3226uchar8 __ovld __cnfn convert_uchar8_rtp(ushort8);
3227uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ushort8);
3228uchar8 __ovld __cnfn convert_uchar8_rtn(ushort8);
3229uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ushort8);
3230uchar8 __ovld __cnfn convert_uchar8(ushort8);
3231uchar8 __ovld __cnfn convert_uchar8_sat(ushort8);
3232uchar8 __ovld __cnfn convert_uchar8_rte(int8);
3233uchar8 __ovld __cnfn convert_uchar8_sat_rte(int8);
3234uchar8 __ovld __cnfn convert_uchar8_rtz(int8);
3235uchar8 __ovld __cnfn convert_uchar8_sat_rtz(int8);
3236uchar8 __ovld __cnfn convert_uchar8_rtp(int8);
3237uchar8 __ovld __cnfn convert_uchar8_sat_rtp(int8);
3238uchar8 __ovld __cnfn convert_uchar8_rtn(int8);
3239uchar8 __ovld __cnfn convert_uchar8_sat_rtn(int8);
3240uchar8 __ovld __cnfn convert_uchar8(int8);
3241uchar8 __ovld __cnfn convert_uchar8_sat(int8);
3242uchar8 __ovld __cnfn convert_uchar8_rte(uint8);
3243uchar8 __ovld __cnfn convert_uchar8_sat_rte(uint8);
3244uchar8 __ovld __cnfn convert_uchar8_rtz(uint8);
3245uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uint8);
3246uchar8 __ovld __cnfn convert_uchar8_rtp(uint8);
3247uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uint8);
3248uchar8 __ovld __cnfn convert_uchar8_rtn(uint8);
3249uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uint8);
3250uchar8 __ovld __cnfn convert_uchar8(uint8);
3251uchar8 __ovld __cnfn convert_uchar8_sat(uint8);
3252uchar8 __ovld __cnfn convert_uchar8_rte(long8);
3253uchar8 __ovld __cnfn convert_uchar8_sat_rte(long8);
3254uchar8 __ovld __cnfn convert_uchar8_rtz(long8);
3255uchar8 __ovld __cnfn convert_uchar8_sat_rtz(long8);
3256uchar8 __ovld __cnfn convert_uchar8_rtp(long8);
3257uchar8 __ovld __cnfn convert_uchar8_sat_rtp(long8);
3258uchar8 __ovld __cnfn convert_uchar8_rtn(long8);
3259uchar8 __ovld __cnfn convert_uchar8_sat_rtn(long8);
3260uchar8 __ovld __cnfn convert_uchar8(long8);
3261uchar8 __ovld __cnfn convert_uchar8_sat(long8);
3262uchar8 __ovld __cnfn convert_uchar8_rte(ulong8);
3263uchar8 __ovld __cnfn convert_uchar8_sat_rte(ulong8);
3264uchar8 __ovld __cnfn convert_uchar8_rtz(ulong8);
3265uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ulong8);
3266uchar8 __ovld __cnfn convert_uchar8_rtp(ulong8);
3267uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ulong8);
3268uchar8 __ovld __cnfn convert_uchar8_rtn(ulong8);
3269uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ulong8);
3270uchar8 __ovld __cnfn convert_uchar8(ulong8);
3271uchar8 __ovld __cnfn convert_uchar8_sat(ulong8);
3272uchar8 __ovld __cnfn convert_uchar8_rte(float8);
3273uchar8 __ovld __cnfn convert_uchar8_sat_rte(float8);
3274uchar8 __ovld __cnfn convert_uchar8_rtz(float8);
3275uchar8 __ovld __cnfn convert_uchar8_sat_rtz(float8);
3276uchar8 __ovld __cnfn convert_uchar8_rtp(float8);
3277uchar8 __ovld __cnfn convert_uchar8_sat_rtp(float8);
3278uchar8 __ovld __cnfn convert_uchar8_rtn(float8);
3279uchar8 __ovld __cnfn convert_uchar8_sat_rtn(float8);
3280uchar8 __ovld __cnfn convert_uchar8(float8);
3281uchar8 __ovld __cnfn convert_uchar8_sat(float8);
3282short8 __ovld __cnfn convert_short8_rte(char8);
3283short8 __ovld __cnfn convert_short8_sat_rte(char8);
3284short8 __ovld __cnfn convert_short8_rtz(char8);
3285short8 __ovld __cnfn convert_short8_sat_rtz(char8);
3286short8 __ovld __cnfn convert_short8_rtp(char8);
3287short8 __ovld __cnfn convert_short8_sat_rtp(char8);
3288short8 __ovld __cnfn convert_short8_rtn(char8);
3289short8 __ovld __cnfn convert_short8_sat_rtn(char8);
3290short8 __ovld __cnfn convert_short8(char8);
3291short8 __ovld __cnfn convert_short8_sat(char8);
3292short8 __ovld __cnfn convert_short8_rte(uchar8);
3293short8 __ovld __cnfn convert_short8_sat_rte(uchar8);
3294short8 __ovld __cnfn convert_short8_rtz(uchar8);
3295short8 __ovld __cnfn convert_short8_sat_rtz(uchar8);
3296short8 __ovld __cnfn convert_short8_rtp(uchar8);
3297short8 __ovld __cnfn convert_short8_sat_rtp(uchar8);
3298short8 __ovld __cnfn convert_short8_rtn(uchar8);
3299short8 __ovld __cnfn convert_short8_sat_rtn(uchar8);
3300short8 __ovld __cnfn convert_short8(uchar8);
3301short8 __ovld __cnfn convert_short8_sat(uchar8);
3302short8 __ovld __cnfn convert_short8_rte(short8);
3303short8 __ovld __cnfn convert_short8_sat_rte(short8);
3304short8 __ovld __cnfn convert_short8_rtz(short8);
3305short8 __ovld __cnfn convert_short8_sat_rtz(short8);
3306short8 __ovld __cnfn convert_short8_rtp(short8);
3307short8 __ovld __cnfn convert_short8_sat_rtp(short8);
3308short8 __ovld __cnfn convert_short8_rtn(short8);
3309short8 __ovld __cnfn convert_short8_sat_rtn(short8);
3310short8 __ovld __cnfn convert_short8(short8);
3311short8 __ovld __cnfn convert_short8_sat(short8);
3312short8 __ovld __cnfn convert_short8_rte(ushort8);
3313short8 __ovld __cnfn convert_short8_sat_rte(ushort8);
3314short8 __ovld __cnfn convert_short8_rtz(ushort8);
3315short8 __ovld __cnfn convert_short8_sat_rtz(ushort8);
3316short8 __ovld __cnfn convert_short8_rtp(ushort8);
3317short8 __ovld __cnfn convert_short8_sat_rtp(ushort8);
3318short8 __ovld __cnfn convert_short8_rtn(ushort8);
3319short8 __ovld __cnfn convert_short8_sat_rtn(ushort8);
3320short8 __ovld __cnfn convert_short8(ushort8);
3321short8 __ovld __cnfn convert_short8_sat(ushort8);
3322short8 __ovld __cnfn convert_short8_rte(int8);
3323short8 __ovld __cnfn convert_short8_sat_rte(int8);
3324short8 __ovld __cnfn convert_short8_rtz(int8);
3325short8 __ovld __cnfn convert_short8_sat_rtz(int8);
3326short8 __ovld __cnfn convert_short8_rtp(int8);
3327short8 __ovld __cnfn convert_short8_sat_rtp(int8);
3328short8 __ovld __cnfn convert_short8_rtn(int8);
3329short8 __ovld __cnfn convert_short8_sat_rtn(int8);
3330short8 __ovld __cnfn convert_short8(int8);
3331short8 __ovld __cnfn convert_short8_sat(int8);
3332short8 __ovld __cnfn convert_short8_rte(uint8);
3333short8 __ovld __cnfn convert_short8_sat_rte(uint8);
3334short8 __ovld __cnfn convert_short8_rtz(uint8);
3335short8 __ovld __cnfn convert_short8_sat_rtz(uint8);
3336short8 __ovld __cnfn convert_short8_rtp(uint8);
3337short8 __ovld __cnfn convert_short8_sat_rtp(uint8);
3338short8 __ovld __cnfn convert_short8_rtn(uint8);
3339short8 __ovld __cnfn convert_short8_sat_rtn(uint8);
3340short8 __ovld __cnfn convert_short8(uint8);
3341short8 __ovld __cnfn convert_short8_sat(uint8);
3342short8 __ovld __cnfn convert_short8_rte(long8);
3343short8 __ovld __cnfn convert_short8_sat_rte(long8);
3344short8 __ovld __cnfn convert_short8_rtz(long8);
3345short8 __ovld __cnfn convert_short8_sat_rtz(long8);
3346short8 __ovld __cnfn convert_short8_rtp(long8);
3347short8 __ovld __cnfn convert_short8_sat_rtp(long8);
3348short8 __ovld __cnfn convert_short8_rtn(long8);
3349short8 __ovld __cnfn convert_short8_sat_rtn(long8);
3350short8 __ovld __cnfn convert_short8(long8);
3351short8 __ovld __cnfn convert_short8_sat(long8);
3352short8 __ovld __cnfn convert_short8_rte(ulong8);
3353short8 __ovld __cnfn convert_short8_sat_rte(ulong8);
3354short8 __ovld __cnfn convert_short8_rtz(ulong8);
3355short8 __ovld __cnfn convert_short8_sat_rtz(ulong8);
3356short8 __ovld __cnfn convert_short8_rtp(ulong8);
3357short8 __ovld __cnfn convert_short8_sat_rtp(ulong8);
3358short8 __ovld __cnfn convert_short8_rtn(ulong8);
3359short8 __ovld __cnfn convert_short8_sat_rtn(ulong8);
3360short8 __ovld __cnfn convert_short8(ulong8);
3361short8 __ovld __cnfn convert_short8_sat(ulong8);
3362short8 __ovld __cnfn convert_short8_rte(float8);
3363short8 __ovld __cnfn convert_short8_sat_rte(float8);
3364short8 __ovld __cnfn convert_short8_rtz(float8);
3365short8 __ovld __cnfn convert_short8_sat_rtz(float8);
3366short8 __ovld __cnfn convert_short8_rtp(float8);
3367short8 __ovld __cnfn convert_short8_sat_rtp(float8);
3368short8 __ovld __cnfn convert_short8_rtn(float8);
3369short8 __ovld __cnfn convert_short8_sat_rtn(float8);
3370short8 __ovld __cnfn convert_short8(float8);
3371short8 __ovld __cnfn convert_short8_sat(float8);
3372ushort8 __ovld __cnfn convert_ushort8_rte(char8);
3373ushort8 __ovld __cnfn convert_ushort8_sat_rte(char8);
3374ushort8 __ovld __cnfn convert_ushort8_rtz(char8);
3375ushort8 __ovld __cnfn convert_ushort8_sat_rtz(char8);
3376ushort8 __ovld __cnfn convert_ushort8_rtp(char8);
3377ushort8 __ovld __cnfn convert_ushort8_sat_rtp(char8);
3378ushort8 __ovld __cnfn convert_ushort8_rtn(char8);
3379ushort8 __ovld __cnfn convert_ushort8_sat_rtn(char8);
3380ushort8 __ovld __cnfn convert_ushort8(char8);
3381ushort8 __ovld __cnfn convert_ushort8_sat(char8);
3382ushort8 __ovld __cnfn convert_ushort8_rte(uchar8);
3383ushort8 __ovld __cnfn convert_ushort8_sat_rte(uchar8);
3384ushort8 __ovld __cnfn convert_ushort8_rtz(uchar8);
3385ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uchar8);
3386ushort8 __ovld __cnfn convert_ushort8_rtp(uchar8);
3387ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uchar8);
3388ushort8 __ovld __cnfn convert_ushort8_rtn(uchar8);
3389ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uchar8);
3390ushort8 __ovld __cnfn convert_ushort8(uchar8);
3391ushort8 __ovld __cnfn convert_ushort8_sat(uchar8);
3392ushort8 __ovld __cnfn convert_ushort8_rte(short8);
3393ushort8 __ovld __cnfn convert_ushort8_sat_rte(short8);
3394ushort8 __ovld __cnfn convert_ushort8_rtz(short8);
3395ushort8 __ovld __cnfn convert_ushort8_sat_rtz(short8);
3396ushort8 __ovld __cnfn convert_ushort8_rtp(short8);
3397ushort8 __ovld __cnfn convert_ushort8_sat_rtp(short8);
3398ushort8 __ovld __cnfn convert_ushort8_rtn(short8);
3399ushort8 __ovld __cnfn convert_ushort8_sat_rtn(short8);
3400ushort8 __ovld __cnfn convert_ushort8(short8);
3401ushort8 __ovld __cnfn convert_ushort8_sat(short8);
3402ushort8 __ovld __cnfn convert_ushort8_rte(ushort8);
3403ushort8 __ovld __cnfn convert_ushort8_sat_rte(ushort8);
3404ushort8 __ovld __cnfn convert_ushort8_rtz(ushort8);
3405ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ushort8);
3406ushort8 __ovld __cnfn convert_ushort8_rtp(ushort8);
3407ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ushort8);
3408ushort8 __ovld __cnfn convert_ushort8_rtn(ushort8);
3409ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ushort8);
3410ushort8 __ovld __cnfn convert_ushort8(ushort8);
3411ushort8 __ovld __cnfn convert_ushort8_sat(ushort8);
3412ushort8 __ovld __cnfn convert_ushort8_rte(int8);
3413ushort8 __ovld __cnfn convert_ushort8_sat_rte(int8);
3414ushort8 __ovld __cnfn convert_ushort8_rtz(int8);
3415ushort8 __ovld __cnfn convert_ushort8_sat_rtz(int8);
3416ushort8 __ovld __cnfn convert_ushort8_rtp(int8);
3417ushort8 __ovld __cnfn convert_ushort8_sat_rtp(int8);
3418ushort8 __ovld __cnfn convert_ushort8_rtn(int8);
3419ushort8 __ovld __cnfn convert_ushort8_sat_rtn(int8);
3420ushort8 __ovld __cnfn convert_ushort8(int8);
3421ushort8 __ovld __cnfn convert_ushort8_sat(int8);
3422ushort8 __ovld __cnfn convert_ushort8_rte(uint8);
3423ushort8 __ovld __cnfn convert_ushort8_sat_rte(uint8);
3424ushort8 __ovld __cnfn convert_ushort8_rtz(uint8);
3425ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uint8);
3426ushort8 __ovld __cnfn convert_ushort8_rtp(uint8);
3427ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uint8);
3428ushort8 __ovld __cnfn convert_ushort8_rtn(uint8);
3429ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uint8);
3430ushort8 __ovld __cnfn convert_ushort8(uint8);
3431ushort8 __ovld __cnfn convert_ushort8_sat(uint8);
3432ushort8 __ovld __cnfn convert_ushort8_rte(long8);
3433ushort8 __ovld __cnfn convert_ushort8_sat_rte(long8);
3434ushort8 __ovld __cnfn convert_ushort8_rtz(long8);
3435ushort8 __ovld __cnfn convert_ushort8_sat_rtz(long8);
3436ushort8 __ovld __cnfn convert_ushort8_rtp(long8);
3437ushort8 __ovld __cnfn convert_ushort8_sat_rtp(long8);
3438ushort8 __ovld __cnfn convert_ushort8_rtn(long8);
3439ushort8 __ovld __cnfn convert_ushort8_sat_rtn(long8);
3440ushort8 __ovld __cnfn convert_ushort8(long8);
3441ushort8 __ovld __cnfn convert_ushort8_sat(long8);
3442ushort8 __ovld __cnfn convert_ushort8_rte(ulong8);
3443ushort8 __ovld __cnfn convert_ushort8_sat_rte(ulong8);
3444ushort8 __ovld __cnfn convert_ushort8_rtz(ulong8);
3445ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ulong8);
3446ushort8 __ovld __cnfn convert_ushort8_rtp(ulong8);
3447ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ulong8);
3448ushort8 __ovld __cnfn convert_ushort8_rtn(ulong8);
3449ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ulong8);
3450ushort8 __ovld __cnfn convert_ushort8(ulong8);
3451ushort8 __ovld __cnfn convert_ushort8_sat(ulong8);
3452ushort8 __ovld __cnfn convert_ushort8_rte(float8);
3453ushort8 __ovld __cnfn convert_ushort8_sat_rte(float8);
3454ushort8 __ovld __cnfn convert_ushort8_rtz(float8);
3455ushort8 __ovld __cnfn convert_ushort8_sat_rtz(float8);
3456ushort8 __ovld __cnfn convert_ushort8_rtp(float8);
3457ushort8 __ovld __cnfn convert_ushort8_sat_rtp(float8);
3458ushort8 __ovld __cnfn convert_ushort8_rtn(float8);
3459ushort8 __ovld __cnfn convert_ushort8_sat_rtn(float8);
3460ushort8 __ovld __cnfn convert_ushort8(float8);
3461ushort8 __ovld __cnfn convert_ushort8_sat(float8);
3462int8 __ovld __cnfn convert_int8_rte(char8);
3463int8 __ovld __cnfn convert_int8_sat_rte(char8);
3464int8 __ovld __cnfn convert_int8_rtz(char8);
3465int8 __ovld __cnfn convert_int8_sat_rtz(char8);
3466int8 __ovld __cnfn convert_int8_rtp(char8);
3467int8 __ovld __cnfn convert_int8_sat_rtp(char8);
3468int8 __ovld __cnfn convert_int8_rtn(char8);
3469int8 __ovld __cnfn convert_int8_sat_rtn(char8);
3470int8 __ovld __cnfn convert_int8(char8);
3471int8 __ovld __cnfn convert_int8_sat(char8);
3472int8 __ovld __cnfn convert_int8_rte(uchar8);
3473int8 __ovld __cnfn convert_int8_sat_rte(uchar8);
3474int8 __ovld __cnfn convert_int8_rtz(uchar8);
3475int8 __ovld __cnfn convert_int8_sat_rtz(uchar8);
3476int8 __ovld __cnfn convert_int8_rtp(uchar8);
3477int8 __ovld __cnfn convert_int8_sat_rtp(uchar8);
3478int8 __ovld __cnfn convert_int8_rtn(uchar8);
3479int8 __ovld __cnfn convert_int8_sat_rtn(uchar8);
3480int8 __ovld __cnfn convert_int8(uchar8);
3481int8 __ovld __cnfn convert_int8_sat(uchar8);
3482int8 __ovld __cnfn convert_int8_rte(short8);
3483int8 __ovld __cnfn convert_int8_sat_rte(short8);
3484int8 __ovld __cnfn convert_int8_rtz(short8);
3485int8 __ovld __cnfn convert_int8_sat_rtz(short8);
3486int8 __ovld __cnfn convert_int8_rtp(short8);
3487int8 __ovld __cnfn convert_int8_sat_rtp(short8);
3488int8 __ovld __cnfn convert_int8_rtn(short8);
3489int8 __ovld __cnfn convert_int8_sat_rtn(short8);
3490int8 __ovld __cnfn convert_int8(short8);
3491int8 __ovld __cnfn convert_int8_sat(short8);
3492int8 __ovld __cnfn convert_int8_rte(ushort8);
3493int8 __ovld __cnfn convert_int8_sat_rte(ushort8);
3494int8 __ovld __cnfn convert_int8_rtz(ushort8);
3495int8 __ovld __cnfn convert_int8_sat_rtz(ushort8);
3496int8 __ovld __cnfn convert_int8_rtp(ushort8);
3497int8 __ovld __cnfn convert_int8_sat_rtp(ushort8);
3498int8 __ovld __cnfn convert_int8_rtn(ushort8);
3499int8 __ovld __cnfn convert_int8_sat_rtn(ushort8);
3500int8 __ovld __cnfn convert_int8(ushort8);
3501int8 __ovld __cnfn convert_int8_sat(ushort8);
3502int8 __ovld __cnfn convert_int8_rte(int8);
3503int8 __ovld __cnfn convert_int8_sat_rte(int8);
3504int8 __ovld __cnfn convert_int8_rtz(int8);
3505int8 __ovld __cnfn convert_int8_sat_rtz(int8);
3506int8 __ovld __cnfn convert_int8_rtp(int8);
3507int8 __ovld __cnfn convert_int8_sat_rtp(int8);
3508int8 __ovld __cnfn convert_int8_rtn(int8);
3509int8 __ovld __cnfn convert_int8_sat_rtn(int8);
3510int8 __ovld __cnfn convert_int8(int8);
3511int8 __ovld __cnfn convert_int8_sat(int8);
3512int8 __ovld __cnfn convert_int8_rte(uint8);
3513int8 __ovld __cnfn convert_int8_sat_rte(uint8);
3514int8 __ovld __cnfn convert_int8_rtz(uint8);
3515int8 __ovld __cnfn convert_int8_sat_rtz(uint8);
3516int8 __ovld __cnfn convert_int8_rtp(uint8);
3517int8 __ovld __cnfn convert_int8_sat_rtp(uint8);
3518int8 __ovld __cnfn convert_int8_rtn(uint8);
3519int8 __ovld __cnfn convert_int8_sat_rtn(uint8);
3520int8 __ovld __cnfn convert_int8(uint8);
3521int8 __ovld __cnfn convert_int8_sat(uint8);
3522int8 __ovld __cnfn convert_int8_rte(long8);
3523int8 __ovld __cnfn convert_int8_sat_rte(long8);
3524int8 __ovld __cnfn convert_int8_rtz(long8);
3525int8 __ovld __cnfn convert_int8_sat_rtz(long8);
3526int8 __ovld __cnfn convert_int8_rtp(long8);
3527int8 __ovld __cnfn convert_int8_sat_rtp(long8);
3528int8 __ovld __cnfn convert_int8_rtn(long8);
3529int8 __ovld __cnfn convert_int8_sat_rtn(long8);
3530int8 __ovld __cnfn convert_int8(long8);
3531int8 __ovld __cnfn convert_int8_sat(long8);
3532int8 __ovld __cnfn convert_int8_rte(ulong8);
3533int8 __ovld __cnfn convert_int8_sat_rte(ulong8);
3534int8 __ovld __cnfn convert_int8_rtz(ulong8);
3535int8 __ovld __cnfn convert_int8_sat_rtz(ulong8);
3536int8 __ovld __cnfn convert_int8_rtp(ulong8);
3537int8 __ovld __cnfn convert_int8_sat_rtp(ulong8);
3538int8 __ovld __cnfn convert_int8_rtn(ulong8);
3539int8 __ovld __cnfn convert_int8_sat_rtn(ulong8);
3540int8 __ovld __cnfn convert_int8(ulong8);
3541int8 __ovld __cnfn convert_int8_sat(ulong8);
3542int8 __ovld __cnfn convert_int8_rte(float8);
3543int8 __ovld __cnfn convert_int8_sat_rte(float8);
3544int8 __ovld __cnfn convert_int8_rtz(float8);
3545int8 __ovld __cnfn convert_int8_sat_rtz(float8);
3546int8 __ovld __cnfn convert_int8_rtp(float8);
3547int8 __ovld __cnfn convert_int8_sat_rtp(float8);
3548int8 __ovld __cnfn convert_int8_rtn(float8);
3549int8 __ovld __cnfn convert_int8_sat_rtn(float8);
3550int8 __ovld __cnfn convert_int8(float8);
3551int8 __ovld __cnfn convert_int8_sat(float8);
3552uint8 __ovld __cnfn convert_uint8_rte(char8);
3553uint8 __ovld __cnfn convert_uint8_sat_rte(char8);
3554uint8 __ovld __cnfn convert_uint8_rtz(char8);
3555uint8 __ovld __cnfn convert_uint8_sat_rtz(char8);
3556uint8 __ovld __cnfn convert_uint8_rtp(char8);
3557uint8 __ovld __cnfn convert_uint8_sat_rtp(char8);
3558uint8 __ovld __cnfn convert_uint8_rtn(char8);
3559uint8 __ovld __cnfn convert_uint8_sat_rtn(char8);
3560uint8 __ovld __cnfn convert_uint8(char8);
3561uint8 __ovld __cnfn convert_uint8_sat(char8);
3562uint8 __ovld __cnfn convert_uint8_rte(uchar8);
3563uint8 __ovld __cnfn convert_uint8_sat_rte(uchar8);
3564uint8 __ovld __cnfn convert_uint8_rtz(uchar8);
3565uint8 __ovld __cnfn convert_uint8_sat_rtz(uchar8);
3566uint8 __ovld __cnfn convert_uint8_rtp(uchar8);
3567uint8 __ovld __cnfn convert_uint8_sat_rtp(uchar8);
3568uint8 __ovld __cnfn convert_uint8_rtn(uchar8);
3569uint8 __ovld __cnfn convert_uint8_sat_rtn(uchar8);
3570uint8 __ovld __cnfn convert_uint8(uchar8);
3571uint8 __ovld __cnfn convert_uint8_sat(uchar8);
3572uint8 __ovld __cnfn convert_uint8_rte(short8);
3573uint8 __ovld __cnfn convert_uint8_sat_rte(short8);
3574uint8 __ovld __cnfn convert_uint8_rtz(short8);
3575uint8 __ovld __cnfn convert_uint8_sat_rtz(short8);
3576uint8 __ovld __cnfn convert_uint8_rtp(short8);
3577uint8 __ovld __cnfn convert_uint8_sat_rtp(short8);
3578uint8 __ovld __cnfn convert_uint8_rtn(short8);
3579uint8 __ovld __cnfn convert_uint8_sat_rtn(short8);
3580uint8 __ovld __cnfn convert_uint8(short8);
3581uint8 __ovld __cnfn convert_uint8_sat(short8);
3582uint8 __ovld __cnfn convert_uint8_rte(ushort8);
3583uint8 __ovld __cnfn convert_uint8_sat_rte(ushort8);
3584uint8 __ovld __cnfn convert_uint8_rtz(ushort8);
3585uint8 __ovld __cnfn convert_uint8_sat_rtz(ushort8);
3586uint8 __ovld __cnfn convert_uint8_rtp(ushort8);
3587uint8 __ovld __cnfn convert_uint8_sat_rtp(ushort8);
3588uint8 __ovld __cnfn convert_uint8_rtn(ushort8);
3589uint8 __ovld __cnfn convert_uint8_sat_rtn(ushort8);
3590uint8 __ovld __cnfn convert_uint8(ushort8);
3591uint8 __ovld __cnfn convert_uint8_sat(ushort8);
3592uint8 __ovld __cnfn convert_uint8_rte(int8);
3593uint8 __ovld __cnfn convert_uint8_sat_rte(int8);
3594uint8 __ovld __cnfn convert_uint8_rtz(int8);
3595uint8 __ovld __cnfn convert_uint8_sat_rtz(int8);
3596uint8 __ovld __cnfn convert_uint8_rtp(int8);
3597uint8 __ovld __cnfn convert_uint8_sat_rtp(int8);
3598uint8 __ovld __cnfn convert_uint8_rtn(int8);
3599uint8 __ovld __cnfn convert_uint8_sat_rtn(int8);
3600uint8 __ovld __cnfn convert_uint8(int8);
3601uint8 __ovld __cnfn convert_uint8_sat(int8);
3602uint8 __ovld __cnfn convert_uint8_rte(uint8);
3603uint8 __ovld __cnfn convert_uint8_sat_rte(uint8);
3604uint8 __ovld __cnfn convert_uint8_rtz(uint8);
3605uint8 __ovld __cnfn convert_uint8_sat_rtz(uint8);
3606uint8 __ovld __cnfn convert_uint8_rtp(uint8);
3607uint8 __ovld __cnfn convert_uint8_sat_rtp(uint8);
3608uint8 __ovld __cnfn convert_uint8_rtn(uint8);
3609uint8 __ovld __cnfn convert_uint8_sat_rtn(uint8);
3610uint8 __ovld __cnfn convert_uint8(uint8);
3611uint8 __ovld __cnfn convert_uint8_sat(uint8);
3612uint8 __ovld __cnfn convert_uint8_rte(long8);
3613uint8 __ovld __cnfn convert_uint8_sat_rte(long8);
3614uint8 __ovld __cnfn convert_uint8_rtz(long8);
3615uint8 __ovld __cnfn convert_uint8_sat_rtz(long8);
3616uint8 __ovld __cnfn convert_uint8_rtp(long8);
3617uint8 __ovld __cnfn convert_uint8_sat_rtp(long8);
3618uint8 __ovld __cnfn convert_uint8_rtn(long8);
3619uint8 __ovld __cnfn convert_uint8_sat_rtn(long8);
3620uint8 __ovld __cnfn convert_uint8(long8);
3621uint8 __ovld __cnfn convert_uint8_sat(long8);
3622uint8 __ovld __cnfn convert_uint8_rte(ulong8);
3623uint8 __ovld __cnfn convert_uint8_sat_rte(ulong8);
3624uint8 __ovld __cnfn convert_uint8_rtz(ulong8);
3625uint8 __ovld __cnfn convert_uint8_sat_rtz(ulong8);
3626uint8 __ovld __cnfn convert_uint8_rtp(ulong8);
3627uint8 __ovld __cnfn convert_uint8_sat_rtp(ulong8);
3628uint8 __ovld __cnfn convert_uint8_rtn(ulong8);
3629uint8 __ovld __cnfn convert_uint8_sat_rtn(ulong8);
3630uint8 __ovld __cnfn convert_uint8(ulong8);
3631uint8 __ovld __cnfn convert_uint8_sat(ulong8);
3632uint8 __ovld __cnfn convert_uint8_rte(float8);
3633uint8 __ovld __cnfn convert_uint8_sat_rte(float8);
3634uint8 __ovld __cnfn convert_uint8_rtz(float8);
3635uint8 __ovld __cnfn convert_uint8_sat_rtz(float8);
3636uint8 __ovld __cnfn convert_uint8_rtp(float8);
3637uint8 __ovld __cnfn convert_uint8_sat_rtp(float8);
3638uint8 __ovld __cnfn convert_uint8_rtn(float8);
3639uint8 __ovld __cnfn convert_uint8_sat_rtn(float8);
3640uint8 __ovld __cnfn convert_uint8(float8);
3641uint8 __ovld __cnfn convert_uint8_sat(float8);
3642long8 __ovld __cnfn convert_long8_rte(char8);
3643long8 __ovld __cnfn convert_long8_sat_rte(char8);
3644long8 __ovld __cnfn convert_long8_rtz(char8);
3645long8 __ovld __cnfn convert_long8_sat_rtz(char8);
3646long8 __ovld __cnfn convert_long8_rtp(char8);
3647long8 __ovld __cnfn convert_long8_sat_rtp(char8);
3648long8 __ovld __cnfn convert_long8_rtn(char8);
3649long8 __ovld __cnfn convert_long8_sat_rtn(char8);
3650long8 __ovld __cnfn convert_long8(char8);
3651long8 __ovld __cnfn convert_long8_sat(char8);
3652long8 __ovld __cnfn convert_long8_rte(uchar8);
3653long8 __ovld __cnfn convert_long8_sat_rte(uchar8);
3654long8 __ovld __cnfn convert_long8_rtz(uchar8);
3655long8 __ovld __cnfn convert_long8_sat_rtz(uchar8);
3656long8 __ovld __cnfn convert_long8_rtp(uchar8);
3657long8 __ovld __cnfn convert_long8_sat_rtp(uchar8);
3658long8 __ovld __cnfn convert_long8_rtn(uchar8);
3659long8 __ovld __cnfn convert_long8_sat_rtn(uchar8);
3660long8 __ovld __cnfn convert_long8(uchar8);
3661long8 __ovld __cnfn convert_long8_sat(uchar8);
3662long8 __ovld __cnfn convert_long8_rte(short8);
3663long8 __ovld __cnfn convert_long8_sat_rte(short8);
3664long8 __ovld __cnfn convert_long8_rtz(short8);
3665long8 __ovld __cnfn convert_long8_sat_rtz(short8);
3666long8 __ovld __cnfn convert_long8_rtp(short8);
3667long8 __ovld __cnfn convert_long8_sat_rtp(short8);
3668long8 __ovld __cnfn convert_long8_rtn(short8);
3669long8 __ovld __cnfn convert_long8_sat_rtn(short8);
3670long8 __ovld __cnfn convert_long8(short8);
3671long8 __ovld __cnfn convert_long8_sat(short8);
3672long8 __ovld __cnfn convert_long8_rte(ushort8);
3673long8 __ovld __cnfn convert_long8_sat_rte(ushort8);
3674long8 __ovld __cnfn convert_long8_rtz(ushort8);
3675long8 __ovld __cnfn convert_long8_sat_rtz(ushort8);
3676long8 __ovld __cnfn convert_long8_rtp(ushort8);
3677long8 __ovld __cnfn convert_long8_sat_rtp(ushort8);
3678long8 __ovld __cnfn convert_long8_rtn(ushort8);
3679long8 __ovld __cnfn convert_long8_sat_rtn(ushort8);
3680long8 __ovld __cnfn convert_long8(ushort8);
3681long8 __ovld __cnfn convert_long8_sat(ushort8);
3682long8 __ovld __cnfn convert_long8_rte(int8);
3683long8 __ovld __cnfn convert_long8_sat_rte(int8);
3684long8 __ovld __cnfn convert_long8_rtz(int8);
3685long8 __ovld __cnfn convert_long8_sat_rtz(int8);
3686long8 __ovld __cnfn convert_long8_rtp(int8);
3687long8 __ovld __cnfn convert_long8_sat_rtp(int8);
3688long8 __ovld __cnfn convert_long8_rtn(int8);
3689long8 __ovld __cnfn convert_long8_sat_rtn(int8);
3690long8 __ovld __cnfn convert_long8(int8);
3691long8 __ovld __cnfn convert_long8_sat(int8);
3692long8 __ovld __cnfn convert_long8_rte(uint8);
3693long8 __ovld __cnfn convert_long8_sat_rte(uint8);
3694long8 __ovld __cnfn convert_long8_rtz(uint8);
3695long8 __ovld __cnfn convert_long8_sat_rtz(uint8);
3696long8 __ovld __cnfn convert_long8_rtp(uint8);
3697long8 __ovld __cnfn convert_long8_sat_rtp(uint8);
3698long8 __ovld __cnfn convert_long8_rtn(uint8);
3699long8 __ovld __cnfn convert_long8_sat_rtn(uint8);
3700long8 __ovld __cnfn convert_long8(uint8);
3701long8 __ovld __cnfn convert_long8_sat(uint8);
3702long8 __ovld __cnfn convert_long8_rte(long8);
3703long8 __ovld __cnfn convert_long8_sat_rte(long8);
3704long8 __ovld __cnfn convert_long8_rtz(long8);
3705long8 __ovld __cnfn convert_long8_sat_rtz(long8);
3706long8 __ovld __cnfn convert_long8_rtp(long8);
3707long8 __ovld __cnfn convert_long8_sat_rtp(long8);
3708long8 __ovld __cnfn convert_long8_rtn(long8);
3709long8 __ovld __cnfn convert_long8_sat_rtn(long8);
3710long8 __ovld __cnfn convert_long8(long8);
3711long8 __ovld __cnfn convert_long8_sat(long8);
3712long8 __ovld __cnfn convert_long8_rte(ulong8);
3713long8 __ovld __cnfn convert_long8_sat_rte(ulong8);
3714long8 __ovld __cnfn convert_long8_rtz(ulong8);
3715long8 __ovld __cnfn convert_long8_sat_rtz(ulong8);
3716long8 __ovld __cnfn convert_long8_rtp(ulong8);
3717long8 __ovld __cnfn convert_long8_sat_rtp(ulong8);
3718long8 __ovld __cnfn convert_long8_rtn(ulong8);
3719long8 __ovld __cnfn convert_long8_sat_rtn(ulong8);
3720long8 __ovld __cnfn convert_long8(ulong8);
3721long8 __ovld __cnfn convert_long8_sat(ulong8);
3722long8 __ovld __cnfn convert_long8_rte(float8);
3723long8 __ovld __cnfn convert_long8_sat_rte(float8);
3724long8 __ovld __cnfn convert_long8_rtz(float8);
3725long8 __ovld __cnfn convert_long8_sat_rtz(float8);
3726long8 __ovld __cnfn convert_long8_rtp(float8);
3727long8 __ovld __cnfn convert_long8_sat_rtp(float8);
3728long8 __ovld __cnfn convert_long8_rtn(float8);
3729long8 __ovld __cnfn convert_long8_sat_rtn(float8);
3730long8 __ovld __cnfn convert_long8(float8);
3731long8 __ovld __cnfn convert_long8_sat(float8);
3732ulong8 __ovld __cnfn convert_ulong8_rte(char8);
3733ulong8 __ovld __cnfn convert_ulong8_sat_rte(char8);
3734ulong8 __ovld __cnfn convert_ulong8_rtz(char8);
3735ulong8 __ovld __cnfn convert_ulong8_sat_rtz(char8);
3736ulong8 __ovld __cnfn convert_ulong8_rtp(char8);
3737ulong8 __ovld __cnfn convert_ulong8_sat_rtp(char8);
3738ulong8 __ovld __cnfn convert_ulong8_rtn(char8);
3739ulong8 __ovld __cnfn convert_ulong8_sat_rtn(char8);
3740ulong8 __ovld __cnfn convert_ulong8(char8);
3741ulong8 __ovld __cnfn convert_ulong8_sat(char8);
3742ulong8 __ovld __cnfn convert_ulong8_rte(uchar8);
3743ulong8 __ovld __cnfn convert_ulong8_sat_rte(uchar8);
3744ulong8 __ovld __cnfn convert_ulong8_rtz(uchar8);
3745ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uchar8);
3746ulong8 __ovld __cnfn convert_ulong8_rtp(uchar8);
3747ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uchar8);
3748ulong8 __ovld __cnfn convert_ulong8_rtn(uchar8);
3749ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uchar8);
3750ulong8 __ovld __cnfn convert_ulong8(uchar8);
3751ulong8 __ovld __cnfn convert_ulong8_sat(uchar8);
3752ulong8 __ovld __cnfn convert_ulong8_rte(short8);
3753ulong8 __ovld __cnfn convert_ulong8_sat_rte(short8);
3754ulong8 __ovld __cnfn convert_ulong8_rtz(short8);
3755ulong8 __ovld __cnfn convert_ulong8_sat_rtz(short8);
3756ulong8 __ovld __cnfn convert_ulong8_rtp(short8);
3757ulong8 __ovld __cnfn convert_ulong8_sat_rtp(short8);
3758ulong8 __ovld __cnfn convert_ulong8_rtn(short8);
3759ulong8 __ovld __cnfn convert_ulong8_sat_rtn(short8);
3760ulong8 __ovld __cnfn convert_ulong8(short8);
3761ulong8 __ovld __cnfn convert_ulong8_sat(short8);
3762ulong8 __ovld __cnfn convert_ulong8_rte(ushort8);
3763ulong8 __ovld __cnfn convert_ulong8_sat_rte(ushort8);
3764ulong8 __ovld __cnfn convert_ulong8_rtz(ushort8);
3765ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ushort8);
3766ulong8 __ovld __cnfn convert_ulong8_rtp(ushort8);
3767ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ushort8);
3768ulong8 __ovld __cnfn convert_ulong8_rtn(ushort8);
3769ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ushort8);
3770ulong8 __ovld __cnfn convert_ulong8(ushort8);
3771ulong8 __ovld __cnfn convert_ulong8_sat(ushort8);
3772ulong8 __ovld __cnfn convert_ulong8_rte(int8);
3773ulong8 __ovld __cnfn convert_ulong8_sat_rte(int8);
3774ulong8 __ovld __cnfn convert_ulong8_rtz(int8);
3775ulong8 __ovld __cnfn convert_ulong8_sat_rtz(int8);
3776ulong8 __ovld __cnfn convert_ulong8_rtp(int8);
3777ulong8 __ovld __cnfn convert_ulong8_sat_rtp(int8);
3778ulong8 __ovld __cnfn convert_ulong8_rtn(int8);
3779ulong8 __ovld __cnfn convert_ulong8_sat_rtn(int8);
3780ulong8 __ovld __cnfn convert_ulong8(int8);
3781ulong8 __ovld __cnfn convert_ulong8_sat(int8);
3782ulong8 __ovld __cnfn convert_ulong8_rte(uint8);
3783ulong8 __ovld __cnfn convert_ulong8_sat_rte(uint8);
3784ulong8 __ovld __cnfn convert_ulong8_rtz(uint8);
3785ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uint8);
3786ulong8 __ovld __cnfn convert_ulong8_rtp(uint8);
3787ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uint8);
3788ulong8 __ovld __cnfn convert_ulong8_rtn(uint8);
3789ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uint8);
3790ulong8 __ovld __cnfn convert_ulong8(uint8);
3791ulong8 __ovld __cnfn convert_ulong8_sat(uint8);
3792ulong8 __ovld __cnfn convert_ulong8_rte(long8);
3793ulong8 __ovld __cnfn convert_ulong8_sat_rte(long8);
3794ulong8 __ovld __cnfn convert_ulong8_rtz(long8);
3795ulong8 __ovld __cnfn convert_ulong8_sat_rtz(long8);
3796ulong8 __ovld __cnfn convert_ulong8_rtp(long8);
3797ulong8 __ovld __cnfn convert_ulong8_sat_rtp(long8);
3798ulong8 __ovld __cnfn convert_ulong8_rtn(long8);
3799ulong8 __ovld __cnfn convert_ulong8_sat_rtn(long8);
3800ulong8 __ovld __cnfn convert_ulong8(long8);
3801ulong8 __ovld __cnfn convert_ulong8_sat(long8);
3802ulong8 __ovld __cnfn convert_ulong8_rte(ulong8);
3803ulong8 __ovld __cnfn convert_ulong8_sat_rte(ulong8);
3804ulong8 __ovld __cnfn convert_ulong8_rtz(ulong8);
3805ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ulong8);
3806ulong8 __ovld __cnfn convert_ulong8_rtp(ulong8);
3807ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ulong8);
3808ulong8 __ovld __cnfn convert_ulong8_rtn(ulong8);
3809ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ulong8);
3810ulong8 __ovld __cnfn convert_ulong8(ulong8);
3811ulong8 __ovld __cnfn convert_ulong8_sat(ulong8);
3812ulong8 __ovld __cnfn convert_ulong8_rte(float8);
3813ulong8 __ovld __cnfn convert_ulong8_sat_rte(float8);
3814ulong8 __ovld __cnfn convert_ulong8_rtz(float8);
3815ulong8 __ovld __cnfn convert_ulong8_sat_rtz(float8);
3816ulong8 __ovld __cnfn convert_ulong8_rtp(float8);
3817ulong8 __ovld __cnfn convert_ulong8_sat_rtp(float8);
3818ulong8 __ovld __cnfn convert_ulong8_rtn(float8);
3819ulong8 __ovld __cnfn convert_ulong8_sat_rtn(float8);
3820ulong8 __ovld __cnfn convert_ulong8(float8);
3821ulong8 __ovld __cnfn convert_ulong8_sat(float8);
3822float8 __ovld __cnfn convert_float8_rte(char8);
3823float8 __ovld __cnfn convert_float8_rtz(char8);
3824float8 __ovld __cnfn convert_float8_rtp(char8);
3825float8 __ovld __cnfn convert_float8_rtn(char8);
3826float8 __ovld __cnfn convert_float8(char8);
3827float8 __ovld __cnfn convert_float8_rte(uchar8);
3828float8 __ovld __cnfn convert_float8_rtz(uchar8);
3829float8 __ovld __cnfn convert_float8_rtp(uchar8);
3830float8 __ovld __cnfn convert_float8_rtn(uchar8);
3831float8 __ovld __cnfn convert_float8(uchar8);
3832float8 __ovld __cnfn convert_float8_rte(short8);
3833float8 __ovld __cnfn convert_float8_rtz(short8);
3834float8 __ovld __cnfn convert_float8_rtp(short8);
3835float8 __ovld __cnfn convert_float8_rtn(short8);
3836float8 __ovld __cnfn convert_float8(short8);
3837float8 __ovld __cnfn convert_float8_rte(ushort8);
3838float8 __ovld __cnfn convert_float8_rtz(ushort8);
3839float8 __ovld __cnfn convert_float8_rtp(ushort8);
3840float8 __ovld __cnfn convert_float8_rtn(ushort8);
3841float8 __ovld __cnfn convert_float8(ushort8);
3842float8 __ovld __cnfn convert_float8_rte(int8);
3843float8 __ovld __cnfn convert_float8_rtz(int8);
3844float8 __ovld __cnfn convert_float8_rtp(int8);
3845float8 __ovld __cnfn convert_float8_rtn(int8);
3846float8 __ovld __cnfn convert_float8(int8);
3847float8 __ovld __cnfn convert_float8_rte(uint8);
3848float8 __ovld __cnfn convert_float8_rtz(uint8);
3849float8 __ovld __cnfn convert_float8_rtp(uint8);
3850float8 __ovld __cnfn convert_float8_rtn(uint8);
3851float8 __ovld __cnfn convert_float8(uint8);
3852float8 __ovld __cnfn convert_float8_rte(long8);
3853float8 __ovld __cnfn convert_float8_rtz(long8);
3854float8 __ovld __cnfn convert_float8_rtp(long8);
3855float8 __ovld __cnfn convert_float8_rtn(long8);
3856float8 __ovld __cnfn convert_float8(long8);
3857float8 __ovld __cnfn convert_float8_rte(ulong8);
3858float8 __ovld __cnfn convert_float8_rtz(ulong8);
3859float8 __ovld __cnfn convert_float8_rtp(ulong8);
3860float8 __ovld __cnfn convert_float8_rtn(ulong8);
3861float8 __ovld __cnfn convert_float8(ulong8);
3862float8 __ovld __cnfn convert_float8_rte(float8);
3863float8 __ovld __cnfn convert_float8_rtz(float8);
3864float8 __ovld __cnfn convert_float8_rtp(float8);
3865float8 __ovld __cnfn convert_float8_rtn(float8);
3866float8 __ovld __cnfn convert_float8(float8);
3867char16 __ovld __cnfn convert_char16_rte(char16);
3868char16 __ovld __cnfn convert_char16_sat_rte(char16);
3869char16 __ovld __cnfn convert_char16_rtz(char16);
3870char16 __ovld __cnfn convert_char16_sat_rtz(char16);
3871char16 __ovld __cnfn convert_char16_rtp(char16);
3872char16 __ovld __cnfn convert_char16_sat_rtp(char16);
3873char16 __ovld __cnfn convert_char16_rtn(char16);
3874char16 __ovld __cnfn convert_char16_sat_rtn(char16);
3875char16 __ovld __cnfn convert_char16(char16);
3876char16 __ovld __cnfn convert_char16_sat(char16);
3877char16 __ovld __cnfn convert_char16_rte(uchar16);
3878char16 __ovld __cnfn convert_char16_sat_rte(uchar16);
3879char16 __ovld __cnfn convert_char16_rtz(uchar16);
3880char16 __ovld __cnfn convert_char16_sat_rtz(uchar16);
3881char16 __ovld __cnfn convert_char16_rtp(uchar16);
3882char16 __ovld __cnfn convert_char16_sat_rtp(uchar16);
3883char16 __ovld __cnfn convert_char16_rtn(uchar16);
3884char16 __ovld __cnfn convert_char16_sat_rtn(uchar16);
3885char16 __ovld __cnfn convert_char16(uchar16);
3886char16 __ovld __cnfn convert_char16_sat(uchar16);
3887char16 __ovld __cnfn convert_char16_rte(short16);
3888char16 __ovld __cnfn convert_char16_sat_rte(short16);
3889char16 __ovld __cnfn convert_char16_rtz(short16);
3890char16 __ovld __cnfn convert_char16_sat_rtz(short16);
3891char16 __ovld __cnfn convert_char16_rtp(short16);
3892char16 __ovld __cnfn convert_char16_sat_rtp(short16);
3893char16 __ovld __cnfn convert_char16_rtn(short16);
3894char16 __ovld __cnfn convert_char16_sat_rtn(short16);
3895char16 __ovld __cnfn convert_char16(short16);
3896char16 __ovld __cnfn convert_char16_sat(short16);
3897char16 __ovld __cnfn convert_char16_rte(ushort16);
3898char16 __ovld __cnfn convert_char16_sat_rte(ushort16);
3899char16 __ovld __cnfn convert_char16_rtz(ushort16);
3900char16 __ovld __cnfn convert_char16_sat_rtz(ushort16);
3901char16 __ovld __cnfn convert_char16_rtp(ushort16);
3902char16 __ovld __cnfn convert_char16_sat_rtp(ushort16);
3903char16 __ovld __cnfn convert_char16_rtn(ushort16);
3904char16 __ovld __cnfn convert_char16_sat_rtn(ushort16);
3905char16 __ovld __cnfn convert_char16(ushort16);
3906char16 __ovld __cnfn convert_char16_sat(ushort16);
3907char16 __ovld __cnfn convert_char16_rte(int16);
3908char16 __ovld __cnfn convert_char16_sat_rte(int16);
3909char16 __ovld __cnfn convert_char16_rtz(int16);
3910char16 __ovld __cnfn convert_char16_sat_rtz(int16);
3911char16 __ovld __cnfn convert_char16_rtp(int16);
3912char16 __ovld __cnfn convert_char16_sat_rtp(int16);
3913char16 __ovld __cnfn convert_char16_rtn(int16);
3914char16 __ovld __cnfn convert_char16_sat_rtn(int16);
3915char16 __ovld __cnfn convert_char16(int16);
3916char16 __ovld __cnfn convert_char16_sat(int16);
3917char16 __ovld __cnfn convert_char16_rte(uint16);
3918char16 __ovld __cnfn convert_char16_sat_rte(uint16);
3919char16 __ovld __cnfn convert_char16_rtz(uint16);
3920char16 __ovld __cnfn convert_char16_sat_rtz(uint16);
3921char16 __ovld __cnfn convert_char16_rtp(uint16);
3922char16 __ovld __cnfn convert_char16_sat_rtp(uint16);
3923char16 __ovld __cnfn convert_char16_rtn(uint16);
3924char16 __ovld __cnfn convert_char16_sat_rtn(uint16);
3925char16 __ovld __cnfn convert_char16(uint16);
3926char16 __ovld __cnfn convert_char16_sat(uint16);
3927char16 __ovld __cnfn convert_char16_rte(long16);
3928char16 __ovld __cnfn convert_char16_sat_rte(long16);
3929char16 __ovld __cnfn convert_char16_rtz(long16);
3930char16 __ovld __cnfn convert_char16_sat_rtz(long16);
3931char16 __ovld __cnfn convert_char16_rtp(long16);
3932char16 __ovld __cnfn convert_char16_sat_rtp(long16);
3933char16 __ovld __cnfn convert_char16_rtn(long16);
3934char16 __ovld __cnfn convert_char16_sat_rtn(long16);
3935char16 __ovld __cnfn convert_char16(long16);
3936char16 __ovld __cnfn convert_char16_sat(long16);
3937char16 __ovld __cnfn convert_char16_rte(ulong16);
3938char16 __ovld __cnfn convert_char16_sat_rte(ulong16);
3939char16 __ovld __cnfn convert_char16_rtz(ulong16);
3940char16 __ovld __cnfn convert_char16_sat_rtz(ulong16);
3941char16 __ovld __cnfn convert_char16_rtp(ulong16);
3942char16 __ovld __cnfn convert_char16_sat_rtp(ulong16);
3943char16 __ovld __cnfn convert_char16_rtn(ulong16);
3944char16 __ovld __cnfn convert_char16_sat_rtn(ulong16);
3945char16 __ovld __cnfn convert_char16(ulong16);
3946char16 __ovld __cnfn convert_char16_sat(ulong16);
3947char16 __ovld __cnfn convert_char16_rte(float16);
3948char16 __ovld __cnfn convert_char16_sat_rte(float16);
3949char16 __ovld __cnfn convert_char16_rtz(float16);
3950char16 __ovld __cnfn convert_char16_sat_rtz(float16);
3951char16 __ovld __cnfn convert_char16_rtp(float16);
3952char16 __ovld __cnfn convert_char16_sat_rtp(float16);
3953char16 __ovld __cnfn convert_char16_rtn(float16);
3954char16 __ovld __cnfn convert_char16_sat_rtn(float16);
3955char16 __ovld __cnfn convert_char16(float16);
3956char16 __ovld __cnfn convert_char16_sat(float16);
3957uchar16 __ovld __cnfn convert_uchar16_rte(char16);
3958uchar16 __ovld __cnfn convert_uchar16_sat_rte(char16);
3959uchar16 __ovld __cnfn convert_uchar16_rtz(char16);
3960uchar16 __ovld __cnfn convert_uchar16_sat_rtz(char16);
3961uchar16 __ovld __cnfn convert_uchar16_rtp(char16);
3962uchar16 __ovld __cnfn convert_uchar16_sat_rtp(char16);
3963uchar16 __ovld __cnfn convert_uchar16_rtn(char16);
3964uchar16 __ovld __cnfn convert_uchar16_sat_rtn(char16);
3965uchar16 __ovld __cnfn convert_uchar16(char16);
3966uchar16 __ovld __cnfn convert_uchar16_sat(char16);
3967uchar16 __ovld __cnfn convert_uchar16_rte(uchar16);
3968uchar16 __ovld __cnfn convert_uchar16_sat_rte(uchar16);
3969uchar16 __ovld __cnfn convert_uchar16_rtz(uchar16);
3970uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uchar16);
3971uchar16 __ovld __cnfn convert_uchar16_rtp(uchar16);
3972uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uchar16);
3973uchar16 __ovld __cnfn convert_uchar16_rtn(uchar16);
3974uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uchar16);
3975uchar16 __ovld __cnfn convert_uchar16(uchar16);
3976uchar16 __ovld __cnfn convert_uchar16_sat(uchar16);
3977uchar16 __ovld __cnfn convert_uchar16_rte(short16);
3978uchar16 __ovld __cnfn convert_uchar16_sat_rte(short16);
3979uchar16 __ovld __cnfn convert_uchar16_rtz(short16);
3980uchar16 __ovld __cnfn convert_uchar16_sat_rtz(short16);
3981uchar16 __ovld __cnfn convert_uchar16_rtp(short16);
3982uchar16 __ovld __cnfn convert_uchar16_sat_rtp(short16);
3983uchar16 __ovld __cnfn convert_uchar16_rtn(short16);
3984uchar16 __ovld __cnfn convert_uchar16_sat_rtn(short16);
3985uchar16 __ovld __cnfn convert_uchar16(short16);
3986uchar16 __ovld __cnfn convert_uchar16_sat(short16);
3987uchar16 __ovld __cnfn convert_uchar16_rte(ushort16);
3988uchar16 __ovld __cnfn convert_uchar16_sat_rte(ushort16);
3989uchar16 __ovld __cnfn convert_uchar16_rtz(ushort16);
3990uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ushort16);
3991uchar16 __ovld __cnfn convert_uchar16_rtp(ushort16);
3992uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ushort16);
3993uchar16 __ovld __cnfn convert_uchar16_rtn(ushort16);
3994uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ushort16);
3995uchar16 __ovld __cnfn convert_uchar16(ushort16);
3996uchar16 __ovld __cnfn convert_uchar16_sat(ushort16);
3997uchar16 __ovld __cnfn convert_uchar16_rte(int16);
3998uchar16 __ovld __cnfn convert_uchar16_sat_rte(int16);
3999uchar16 __ovld __cnfn convert_uchar16_rtz(int16);
4000uchar16 __ovld __cnfn convert_uchar16_sat_rtz(int16);
4001uchar16 __ovld __cnfn convert_uchar16_rtp(int16);
4002uchar16 __ovld __cnfn convert_uchar16_sat_rtp(int16);
4003uchar16 __ovld __cnfn convert_uchar16_rtn(int16);
4004uchar16 __ovld __cnfn convert_uchar16_sat_rtn(int16);
4005uchar16 __ovld __cnfn convert_uchar16(int16);
4006uchar16 __ovld __cnfn convert_uchar16_sat(int16);
4007uchar16 __ovld __cnfn convert_uchar16_rte(uint16);
4008uchar16 __ovld __cnfn convert_uchar16_sat_rte(uint16);
4009uchar16 __ovld __cnfn convert_uchar16_rtz(uint16);
4010uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uint16);
4011uchar16 __ovld __cnfn convert_uchar16_rtp(uint16);
4012uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uint16);
4013uchar16 __ovld __cnfn convert_uchar16_rtn(uint16);
4014uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uint16);
4015uchar16 __ovld __cnfn convert_uchar16(uint16);
4016uchar16 __ovld __cnfn convert_uchar16_sat(uint16);
4017uchar16 __ovld __cnfn convert_uchar16_rte(long16);
4018uchar16 __ovld __cnfn convert_uchar16_sat_rte(long16);
4019uchar16 __ovld __cnfn convert_uchar16_rtz(long16);
4020uchar16 __ovld __cnfn convert_uchar16_sat_rtz(long16);
4021uchar16 __ovld __cnfn convert_uchar16_rtp(long16);
4022uchar16 __ovld __cnfn convert_uchar16_sat_rtp(long16);
4023uchar16 __ovld __cnfn convert_uchar16_rtn(long16);
4024uchar16 __ovld __cnfn convert_uchar16_sat_rtn(long16);
4025uchar16 __ovld __cnfn convert_uchar16(long16);
4026uchar16 __ovld __cnfn convert_uchar16_sat(long16);
4027uchar16 __ovld __cnfn convert_uchar16_rte(ulong16);
4028uchar16 __ovld __cnfn convert_uchar16_sat_rte(ulong16);
4029uchar16 __ovld __cnfn convert_uchar16_rtz(ulong16);
4030uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ulong16);
4031uchar16 __ovld __cnfn convert_uchar16_rtp(ulong16);
4032uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ulong16);
4033uchar16 __ovld __cnfn convert_uchar16_rtn(ulong16);
4034uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ulong16);
4035uchar16 __ovld __cnfn convert_uchar16(ulong16);
4036uchar16 __ovld __cnfn convert_uchar16_sat(ulong16);
4037uchar16 __ovld __cnfn convert_uchar16_rte(float16);
4038uchar16 __ovld __cnfn convert_uchar16_sat_rte(float16);
4039uchar16 __ovld __cnfn convert_uchar16_rtz(float16);
4040uchar16 __ovld __cnfn convert_uchar16_sat_rtz(float16);
4041uchar16 __ovld __cnfn convert_uchar16_rtp(float16);
4042uchar16 __ovld __cnfn convert_uchar16_sat_rtp(float16);
4043uchar16 __ovld __cnfn convert_uchar16_rtn(float16);
4044uchar16 __ovld __cnfn convert_uchar16_sat_rtn(float16);
4045uchar16 __ovld __cnfn convert_uchar16(float16);
4046uchar16 __ovld __cnfn convert_uchar16_sat(float16);
4047short16 __ovld __cnfn convert_short16_rte(char16);
4048short16 __ovld __cnfn convert_short16_sat_rte(char16);
4049short16 __ovld __cnfn convert_short16_rtz(char16);
4050short16 __ovld __cnfn convert_short16_sat_rtz(char16);
4051short16 __ovld __cnfn convert_short16_rtp(char16);
4052short16 __ovld __cnfn convert_short16_sat_rtp(char16);
4053short16 __ovld __cnfn convert_short16_rtn(char16);
4054short16 __ovld __cnfn convert_short16_sat_rtn(char16);
4055short16 __ovld __cnfn convert_short16(char16);
4056short16 __ovld __cnfn convert_short16_sat(char16);
4057short16 __ovld __cnfn convert_short16_rte(uchar16);
4058short16 __ovld __cnfn convert_short16_sat_rte(uchar16);
4059short16 __ovld __cnfn convert_short16_rtz(uchar16);
4060short16 __ovld __cnfn convert_short16_sat_rtz(uchar16);
4061short16 __ovld __cnfn convert_short16_rtp(uchar16);
4062short16 __ovld __cnfn convert_short16_sat_rtp(uchar16);
4063short16 __ovld __cnfn convert_short16_rtn(uchar16);
4064short16 __ovld __cnfn convert_short16_sat_rtn(uchar16);
4065short16 __ovld __cnfn convert_short16(uchar16);
4066short16 __ovld __cnfn convert_short16_sat(uchar16);
4067short16 __ovld __cnfn convert_short16_rte(short16);
4068short16 __ovld __cnfn convert_short16_sat_rte(short16);
4069short16 __ovld __cnfn convert_short16_rtz(short16);
4070short16 __ovld __cnfn convert_short16_sat_rtz(short16);
4071short16 __ovld __cnfn convert_short16_rtp(short16);
4072short16 __ovld __cnfn convert_short16_sat_rtp(short16);
4073short16 __ovld __cnfn convert_short16_rtn(short16);
4074short16 __ovld __cnfn convert_short16_sat_rtn(short16);
4075short16 __ovld __cnfn convert_short16(short16);
4076short16 __ovld __cnfn convert_short16_sat(short16);
4077short16 __ovld __cnfn convert_short16_rte(ushort16);
4078short16 __ovld __cnfn convert_short16_sat_rte(ushort16);
4079short16 __ovld __cnfn convert_short16_rtz(ushort16);
4080short16 __ovld __cnfn convert_short16_sat_rtz(ushort16);
4081short16 __ovld __cnfn convert_short16_rtp(ushort16);
4082short16 __ovld __cnfn convert_short16_sat_rtp(ushort16);
4083short16 __ovld __cnfn convert_short16_rtn(ushort16);
4084short16 __ovld __cnfn convert_short16_sat_rtn(ushort16);
4085short16 __ovld __cnfn convert_short16(ushort16);
4086short16 __ovld __cnfn convert_short16_sat(ushort16);
4087short16 __ovld __cnfn convert_short16_rte(int16);
4088short16 __ovld __cnfn convert_short16_sat_rte(int16);
4089short16 __ovld __cnfn convert_short16_rtz(int16);
4090short16 __ovld __cnfn convert_short16_sat_rtz(int16);
4091short16 __ovld __cnfn convert_short16_rtp(int16);
4092short16 __ovld __cnfn convert_short16_sat_rtp(int16);
4093short16 __ovld __cnfn convert_short16_rtn(int16);
4094short16 __ovld __cnfn convert_short16_sat_rtn(int16);
4095short16 __ovld __cnfn convert_short16(int16);
4096short16 __ovld __cnfn convert_short16_sat(int16);
4097short16 __ovld __cnfn convert_short16_rte(uint16);
4098short16 __ovld __cnfn convert_short16_sat_rte(uint16);
4099short16 __ovld __cnfn convert_short16_rtz(uint16);
4100short16 __ovld __cnfn convert_short16_sat_rtz(uint16);
4101short16 __ovld __cnfn convert_short16_rtp(uint16);
4102short16 __ovld __cnfn convert_short16_sat_rtp(uint16);
4103short16 __ovld __cnfn convert_short16_rtn(uint16);
4104short16 __ovld __cnfn convert_short16_sat_rtn(uint16);
4105short16 __ovld __cnfn convert_short16(uint16);
4106short16 __ovld __cnfn convert_short16_sat(uint16);
4107short16 __ovld __cnfn convert_short16_rte(long16);
4108short16 __ovld __cnfn convert_short16_sat_rte(long16);
4109short16 __ovld __cnfn convert_short16_rtz(long16);
4110short16 __ovld __cnfn convert_short16_sat_rtz(long16);
4111short16 __ovld __cnfn convert_short16_rtp(long16);
4112short16 __ovld __cnfn convert_short16_sat_rtp(long16);
4113short16 __ovld __cnfn convert_short16_rtn(long16);
4114short16 __ovld __cnfn convert_short16_sat_rtn(long16);
4115short16 __ovld __cnfn convert_short16(long16);
4116short16 __ovld __cnfn convert_short16_sat(long16);
4117short16 __ovld __cnfn convert_short16_rte(ulong16);
4118short16 __ovld __cnfn convert_short16_sat_rte(ulong16);
4119short16 __ovld __cnfn convert_short16_rtz(ulong16);
4120short16 __ovld __cnfn convert_short16_sat_rtz(ulong16);
4121short16 __ovld __cnfn convert_short16_rtp(ulong16);
4122short16 __ovld __cnfn convert_short16_sat_rtp(ulong16);
4123short16 __ovld __cnfn convert_short16_rtn(ulong16);
4124short16 __ovld __cnfn convert_short16_sat_rtn(ulong16);
4125short16 __ovld __cnfn convert_short16(ulong16);
4126short16 __ovld __cnfn convert_short16_sat(ulong16);
4127short16 __ovld __cnfn convert_short16_rte(float16);
4128short16 __ovld __cnfn convert_short16_sat_rte(float16);
4129short16 __ovld __cnfn convert_short16_rtz(float16);
4130short16 __ovld __cnfn convert_short16_sat_rtz(float16);
4131short16 __ovld __cnfn convert_short16_rtp(float16);
4132short16 __ovld __cnfn convert_short16_sat_rtp(float16);
4133short16 __ovld __cnfn convert_short16_rtn(float16);
4134short16 __ovld __cnfn convert_short16_sat_rtn(float16);
4135short16 __ovld __cnfn convert_short16(float16);
4136short16 __ovld __cnfn convert_short16_sat(float16);
4137ushort16 __ovld __cnfn convert_ushort16_rte(char16);
4138ushort16 __ovld __cnfn convert_ushort16_sat_rte(char16);
4139ushort16 __ovld __cnfn convert_ushort16_rtz(char16);
4140ushort16 __ovld __cnfn convert_ushort16_sat_rtz(char16);
4141ushort16 __ovld __cnfn convert_ushort16_rtp(char16);
4142ushort16 __ovld __cnfn convert_ushort16_sat_rtp(char16);
4143ushort16 __ovld __cnfn convert_ushort16_rtn(char16);
4144ushort16 __ovld __cnfn convert_ushort16_sat_rtn(char16);
4145ushort16 __ovld __cnfn convert_ushort16(char16);
4146ushort16 __ovld __cnfn convert_ushort16_sat(char16);
4147ushort16 __ovld __cnfn convert_ushort16_rte(uchar16);
4148ushort16 __ovld __cnfn convert_ushort16_sat_rte(uchar16);
4149ushort16 __ovld __cnfn convert_ushort16_rtz(uchar16);
4150ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uchar16);
4151ushort16 __ovld __cnfn convert_ushort16_rtp(uchar16);
4152ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uchar16);
4153ushort16 __ovld __cnfn convert_ushort16_rtn(uchar16);
4154ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uchar16);
4155ushort16 __ovld __cnfn convert_ushort16(uchar16);
4156ushort16 __ovld __cnfn convert_ushort16_sat(uchar16);
4157ushort16 __ovld __cnfn convert_ushort16_rte(short16);
4158ushort16 __ovld __cnfn convert_ushort16_sat_rte(short16);
4159ushort16 __ovld __cnfn convert_ushort16_rtz(short16);
4160ushort16 __ovld __cnfn convert_ushort16_sat_rtz(short16);
4161ushort16 __ovld __cnfn convert_ushort16_rtp(short16);
4162ushort16 __ovld __cnfn convert_ushort16_sat_rtp(short16);
4163ushort16 __ovld __cnfn convert_ushort16_rtn(short16);
4164ushort16 __ovld __cnfn convert_ushort16_sat_rtn(short16);
4165ushort16 __ovld __cnfn convert_ushort16(short16);
4166ushort16 __ovld __cnfn convert_ushort16_sat(short16);
4167ushort16 __ovld __cnfn convert_ushort16_rte(ushort16);
4168ushort16 __ovld __cnfn convert_ushort16_sat_rte(ushort16);
4169ushort16 __ovld __cnfn convert_ushort16_rtz(ushort16);
4170ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ushort16);
4171ushort16 __ovld __cnfn convert_ushort16_rtp(ushort16);
4172ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ushort16);
4173ushort16 __ovld __cnfn convert_ushort16_rtn(ushort16);
4174ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ushort16);
4175ushort16 __ovld __cnfn convert_ushort16(ushort16);
4176ushort16 __ovld __cnfn convert_ushort16_sat(ushort16);
4177ushort16 __ovld __cnfn convert_ushort16_rte(int16);
4178ushort16 __ovld __cnfn convert_ushort16_sat_rte(int16);
4179ushort16 __ovld __cnfn convert_ushort16_rtz(int16);
4180ushort16 __ovld __cnfn convert_ushort16_sat_rtz(int16);
4181ushort16 __ovld __cnfn convert_ushort16_rtp(int16);
4182ushort16 __ovld __cnfn convert_ushort16_sat_rtp(int16);
4183ushort16 __ovld __cnfn convert_ushort16_rtn(int16);
4184ushort16 __ovld __cnfn convert_ushort16_sat_rtn(int16);
4185ushort16 __ovld __cnfn convert_ushort16(int16);
4186ushort16 __ovld __cnfn convert_ushort16_sat(int16);
4187ushort16 __ovld __cnfn convert_ushort16_rte(uint16);
4188ushort16 __ovld __cnfn convert_ushort16_sat_rte(uint16);
4189ushort16 __ovld __cnfn convert_ushort16_rtz(uint16);
4190ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uint16);
4191ushort16 __ovld __cnfn convert_ushort16_rtp(uint16);
4192ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uint16);
4193ushort16 __ovld __cnfn convert_ushort16_rtn(uint16);
4194ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uint16);
4195ushort16 __ovld __cnfn convert_ushort16(uint16);
4196ushort16 __ovld __cnfn convert_ushort16_sat(uint16);
4197ushort16 __ovld __cnfn convert_ushort16_rte(long16);
4198ushort16 __ovld __cnfn convert_ushort16_sat_rte(long16);
4199ushort16 __ovld __cnfn convert_ushort16_rtz(long16);
4200ushort16 __ovld __cnfn convert_ushort16_sat_rtz(long16);
4201ushort16 __ovld __cnfn convert_ushort16_rtp(long16);
4202ushort16 __ovld __cnfn convert_ushort16_sat_rtp(long16);
4203ushort16 __ovld __cnfn convert_ushort16_rtn(long16);
4204ushort16 __ovld __cnfn convert_ushort16_sat_rtn(long16);
4205ushort16 __ovld __cnfn convert_ushort16(long16);
4206ushort16 __ovld __cnfn convert_ushort16_sat(long16);
4207ushort16 __ovld __cnfn convert_ushort16_rte(ulong16);
4208ushort16 __ovld __cnfn convert_ushort16_sat_rte(ulong16);
4209ushort16 __ovld __cnfn convert_ushort16_rtz(ulong16);
4210ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ulong16);
4211ushort16 __ovld __cnfn convert_ushort16_rtp(ulong16);
4212ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ulong16);
4213ushort16 __ovld __cnfn convert_ushort16_rtn(ulong16);
4214ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ulong16);
4215ushort16 __ovld __cnfn convert_ushort16(ulong16);
4216ushort16 __ovld __cnfn convert_ushort16_sat(ulong16);
4217ushort16 __ovld __cnfn convert_ushort16_rte(float16);
4218ushort16 __ovld __cnfn convert_ushort16_sat_rte(float16);
4219ushort16 __ovld __cnfn convert_ushort16_rtz(float16);
4220ushort16 __ovld __cnfn convert_ushort16_sat_rtz(float16);
4221ushort16 __ovld __cnfn convert_ushort16_rtp(float16);
4222ushort16 __ovld __cnfn convert_ushort16_sat_rtp(float16);
4223ushort16 __ovld __cnfn convert_ushort16_rtn(float16);
4224ushort16 __ovld __cnfn convert_ushort16_sat_rtn(float16);
4225ushort16 __ovld __cnfn convert_ushort16(float16);
4226ushort16 __ovld __cnfn convert_ushort16_sat(float16);
4227int16 __ovld __cnfn convert_int16_rte(char16);
4228int16 __ovld __cnfn convert_int16_sat_rte(char16);
4229int16 __ovld __cnfn convert_int16_rtz(char16);
4230int16 __ovld __cnfn convert_int16_sat_rtz(char16);
4231int16 __ovld __cnfn convert_int16_rtp(char16);
4232int16 __ovld __cnfn convert_int16_sat_rtp(char16);
4233int16 __ovld __cnfn convert_int16_rtn(char16);
4234int16 __ovld __cnfn convert_int16_sat_rtn(char16);
4235int16 __ovld __cnfn convert_int16(char16);
4236int16 __ovld __cnfn convert_int16_sat(char16);
4237int16 __ovld __cnfn convert_int16_rte(uchar16);
4238int16 __ovld __cnfn convert_int16_sat_rte(uchar16);
4239int16 __ovld __cnfn convert_int16_rtz(uchar16);
4240int16 __ovld __cnfn convert_int16_sat_rtz(uchar16);
4241int16 __ovld __cnfn convert_int16_rtp(uchar16);
4242int16 __ovld __cnfn convert_int16_sat_rtp(uchar16);
4243int16 __ovld __cnfn convert_int16_rtn(uchar16);
4244int16 __ovld __cnfn convert_int16_sat_rtn(uchar16);
4245int16 __ovld __cnfn convert_int16(uchar16);
4246int16 __ovld __cnfn convert_int16_sat(uchar16);
4247int16 __ovld __cnfn convert_int16_rte(short16);
4248int16 __ovld __cnfn convert_int16_sat_rte(short16);
4249int16 __ovld __cnfn convert_int16_rtz(short16);
4250int16 __ovld __cnfn convert_int16_sat_rtz(short16);
4251int16 __ovld __cnfn convert_int16_rtp(short16);
4252int16 __ovld __cnfn convert_int16_sat_rtp(short16);
4253int16 __ovld __cnfn convert_int16_rtn(short16);
4254int16 __ovld __cnfn convert_int16_sat_rtn(short16);
4255int16 __ovld __cnfn convert_int16(short16);
4256int16 __ovld __cnfn convert_int16_sat(short16);
4257int16 __ovld __cnfn convert_int16_rte(ushort16);
4258int16 __ovld __cnfn convert_int16_sat_rte(ushort16);
4259int16 __ovld __cnfn convert_int16_rtz(ushort16);
4260int16 __ovld __cnfn convert_int16_sat_rtz(ushort16);
4261int16 __ovld __cnfn convert_int16_rtp(ushort16);
4262int16 __ovld __cnfn convert_int16_sat_rtp(ushort16);
4263int16 __ovld __cnfn convert_int16_rtn(ushort16);
4264int16 __ovld __cnfn convert_int16_sat_rtn(ushort16);
4265int16 __ovld __cnfn convert_int16(ushort16);
4266int16 __ovld __cnfn convert_int16_sat(ushort16);
4267int16 __ovld __cnfn convert_int16_rte(int16);
4268int16 __ovld __cnfn convert_int16_sat_rte(int16);
4269int16 __ovld __cnfn convert_int16_rtz(int16);
4270int16 __ovld __cnfn convert_int16_sat_rtz(int16);
4271int16 __ovld __cnfn convert_int16_rtp(int16);
4272int16 __ovld __cnfn convert_int16_sat_rtp(int16);
4273int16 __ovld __cnfn convert_int16_rtn(int16);
4274int16 __ovld __cnfn convert_int16_sat_rtn(int16);
4275int16 __ovld __cnfn convert_int16(int16);
4276int16 __ovld __cnfn convert_int16_sat(int16);
4277int16 __ovld __cnfn convert_int16_rte(uint16);
4278int16 __ovld __cnfn convert_int16_sat_rte(uint16);
4279int16 __ovld __cnfn convert_int16_rtz(uint16);
4280int16 __ovld __cnfn convert_int16_sat_rtz(uint16);
4281int16 __ovld __cnfn convert_int16_rtp(uint16);
4282int16 __ovld __cnfn convert_int16_sat_rtp(uint16);
4283int16 __ovld __cnfn convert_int16_rtn(uint16);
4284int16 __ovld __cnfn convert_int16_sat_rtn(uint16);
4285int16 __ovld __cnfn convert_int16(uint16);
4286int16 __ovld __cnfn convert_int16_sat(uint16);
4287int16 __ovld __cnfn convert_int16_rte(long16);
4288int16 __ovld __cnfn convert_int16_sat_rte(long16);
4289int16 __ovld __cnfn convert_int16_rtz(long16);
4290int16 __ovld __cnfn convert_int16_sat_rtz(long16);
4291int16 __ovld __cnfn convert_int16_rtp(long16);
4292int16 __ovld __cnfn convert_int16_sat_rtp(long16);
4293int16 __ovld __cnfn convert_int16_rtn(long16);
4294int16 __ovld __cnfn convert_int16_sat_rtn(long16);
4295int16 __ovld __cnfn convert_int16(long16);
4296int16 __ovld __cnfn convert_int16_sat(long16);
4297int16 __ovld __cnfn convert_int16_rte(ulong16);
4298int16 __ovld __cnfn convert_int16_sat_rte(ulong16);
4299int16 __ovld __cnfn convert_int16_rtz(ulong16);
4300int16 __ovld __cnfn convert_int16_sat_rtz(ulong16);
4301int16 __ovld __cnfn convert_int16_rtp(ulong16);
4302int16 __ovld __cnfn convert_int16_sat_rtp(ulong16);
4303int16 __ovld __cnfn convert_int16_rtn(ulong16);
4304int16 __ovld __cnfn convert_int16_sat_rtn(ulong16);
4305int16 __ovld __cnfn convert_int16(ulong16);
4306int16 __ovld __cnfn convert_int16_sat(ulong16);
4307int16 __ovld __cnfn convert_int16_rte(float16);
4308int16 __ovld __cnfn convert_int16_sat_rte(float16);
4309int16 __ovld __cnfn convert_int16_rtz(float16);
4310int16 __ovld __cnfn convert_int16_sat_rtz(float16);
4311int16 __ovld __cnfn convert_int16_rtp(float16);
4312int16 __ovld __cnfn convert_int16_sat_rtp(float16);
4313int16 __ovld __cnfn convert_int16_rtn(float16);
4314int16 __ovld __cnfn convert_int16_sat_rtn(float16);
4315int16 __ovld __cnfn convert_int16(float16);
4316int16 __ovld __cnfn convert_int16_sat(float16);
4317uint16 __ovld __cnfn convert_uint16_rte(char16);
4318uint16 __ovld __cnfn convert_uint16_sat_rte(char16);
4319uint16 __ovld __cnfn convert_uint16_rtz(char16);
4320uint16 __ovld __cnfn convert_uint16_sat_rtz(char16);
4321uint16 __ovld __cnfn convert_uint16_rtp(char16);
4322uint16 __ovld __cnfn convert_uint16_sat_rtp(char16);
4323uint16 __ovld __cnfn convert_uint16_rtn(char16);
4324uint16 __ovld __cnfn convert_uint16_sat_rtn(char16);
4325uint16 __ovld __cnfn convert_uint16(char16);
4326uint16 __ovld __cnfn convert_uint16_sat(char16);
4327uint16 __ovld __cnfn convert_uint16_rte(uchar16);
4328uint16 __ovld __cnfn convert_uint16_sat_rte(uchar16);
4329uint16 __ovld __cnfn convert_uint16_rtz(uchar16);
4330uint16 __ovld __cnfn convert_uint16_sat_rtz(uchar16);
4331uint16 __ovld __cnfn convert_uint16_rtp(uchar16);
4332uint16 __ovld __cnfn convert_uint16_sat_rtp(uchar16);
4333uint16 __ovld __cnfn convert_uint16_rtn(uchar16);
4334uint16 __ovld __cnfn convert_uint16_sat_rtn(uchar16);
4335uint16 __ovld __cnfn convert_uint16(uchar16);
4336uint16 __ovld __cnfn convert_uint16_sat(uchar16);
4337uint16 __ovld __cnfn convert_uint16_rte(short16);
4338uint16 __ovld __cnfn convert_uint16_sat_rte(short16);
4339uint16 __ovld __cnfn convert_uint16_rtz(short16);
4340uint16 __ovld __cnfn convert_uint16_sat_rtz(short16);
4341uint16 __ovld __cnfn convert_uint16_rtp(short16);
4342uint16 __ovld __cnfn convert_uint16_sat_rtp(short16);
4343uint16 __ovld __cnfn convert_uint16_rtn(short16);
4344uint16 __ovld __cnfn convert_uint16_sat_rtn(short16);
4345uint16 __ovld __cnfn convert_uint16(short16);
4346uint16 __ovld __cnfn convert_uint16_sat(short16);
4347uint16 __ovld __cnfn convert_uint16_rte(ushort16);
4348uint16 __ovld __cnfn convert_uint16_sat_rte(ushort16);
4349uint16 __ovld __cnfn convert_uint16_rtz(ushort16);
4350uint16 __ovld __cnfn convert_uint16_sat_rtz(ushort16);
4351uint16 __ovld __cnfn convert_uint16_rtp(ushort16);
4352uint16 __ovld __cnfn convert_uint16_sat_rtp(ushort16);
4353uint16 __ovld __cnfn convert_uint16_rtn(ushort16);
4354uint16 __ovld __cnfn convert_uint16_sat_rtn(ushort16);
4355uint16 __ovld __cnfn convert_uint16(ushort16);
4356uint16 __ovld __cnfn convert_uint16_sat(ushort16);
4357uint16 __ovld __cnfn convert_uint16_rte(int16);
4358uint16 __ovld __cnfn convert_uint16_sat_rte(int16);
4359uint16 __ovld __cnfn convert_uint16_rtz(int16);
4360uint16 __ovld __cnfn convert_uint16_sat_rtz(int16);
4361uint16 __ovld __cnfn convert_uint16_rtp(int16);
4362uint16 __ovld __cnfn convert_uint16_sat_rtp(int16);
4363uint16 __ovld __cnfn convert_uint16_rtn(int16);
4364uint16 __ovld __cnfn convert_uint16_sat_rtn(int16);
4365uint16 __ovld __cnfn convert_uint16(int16);
4366uint16 __ovld __cnfn convert_uint16_sat(int16);
4367uint16 __ovld __cnfn convert_uint16_rte(uint16);
4368uint16 __ovld __cnfn convert_uint16_sat_rte(uint16);
4369uint16 __ovld __cnfn convert_uint16_rtz(uint16);
4370uint16 __ovld __cnfn convert_uint16_sat_rtz(uint16);
4371uint16 __ovld __cnfn convert_uint16_rtp(uint16);
4372uint16 __ovld __cnfn convert_uint16_sat_rtp(uint16);
4373uint16 __ovld __cnfn convert_uint16_rtn(uint16);
4374uint16 __ovld __cnfn convert_uint16_sat_rtn(uint16);
4375uint16 __ovld __cnfn convert_uint16(uint16);
4376uint16 __ovld __cnfn convert_uint16_sat(uint16);
4377uint16 __ovld __cnfn convert_uint16_rte(long16);
4378uint16 __ovld __cnfn convert_uint16_sat_rte(long16);
4379uint16 __ovld __cnfn convert_uint16_rtz(long16);
4380uint16 __ovld __cnfn convert_uint16_sat_rtz(long16);
4381uint16 __ovld __cnfn convert_uint16_rtp(long16);
4382uint16 __ovld __cnfn convert_uint16_sat_rtp(long16);
4383uint16 __ovld __cnfn convert_uint16_rtn(long16);
4384uint16 __ovld __cnfn convert_uint16_sat_rtn(long16);
4385uint16 __ovld __cnfn convert_uint16(long16);
4386uint16 __ovld __cnfn convert_uint16_sat(long16);
4387uint16 __ovld __cnfn convert_uint16_rte(ulong16);
4388uint16 __ovld __cnfn convert_uint16_sat_rte(ulong16);
4389uint16 __ovld __cnfn convert_uint16_rtz(ulong16);
4390uint16 __ovld __cnfn convert_uint16_sat_rtz(ulong16);
4391uint16 __ovld __cnfn convert_uint16_rtp(ulong16);
4392uint16 __ovld __cnfn convert_uint16_sat_rtp(ulong16);
4393uint16 __ovld __cnfn convert_uint16_rtn(ulong16);
4394uint16 __ovld __cnfn convert_uint16_sat_rtn(ulong16);
4395uint16 __ovld __cnfn convert_uint16(ulong16);
4396uint16 __ovld __cnfn convert_uint16_sat(ulong16);
4397uint16 __ovld __cnfn convert_uint16_rte(float16);
4398uint16 __ovld __cnfn convert_uint16_sat_rte(float16);
4399uint16 __ovld __cnfn convert_uint16_rtz(float16);
4400uint16 __ovld __cnfn convert_uint16_sat_rtz(float16);
4401uint16 __ovld __cnfn convert_uint16_rtp(float16);
4402uint16 __ovld __cnfn convert_uint16_sat_rtp(float16);
4403uint16 __ovld __cnfn convert_uint16_rtn(float16);
4404uint16 __ovld __cnfn convert_uint16_sat_rtn(float16);
4405uint16 __ovld __cnfn convert_uint16(float16);
4406uint16 __ovld __cnfn convert_uint16_sat(float16);
4407long16 __ovld __cnfn convert_long16_rte(char16);
4408long16 __ovld __cnfn convert_long16_sat_rte(char16);
4409long16 __ovld __cnfn convert_long16_rtz(char16);
4410long16 __ovld __cnfn convert_long16_sat_rtz(char16);
4411long16 __ovld __cnfn convert_long16_rtp(char16);
4412long16 __ovld __cnfn convert_long16_sat_rtp(char16);
4413long16 __ovld __cnfn convert_long16_rtn(char16);
4414long16 __ovld __cnfn convert_long16_sat_rtn(char16);
4415long16 __ovld __cnfn convert_long16(char16);
4416long16 __ovld __cnfn convert_long16_sat(char16);
4417long16 __ovld __cnfn convert_long16_rte(uchar16);
4418long16 __ovld __cnfn convert_long16_sat_rte(uchar16);
4419long16 __ovld __cnfn convert_long16_rtz(uchar16);
4420long16 __ovld __cnfn convert_long16_sat_rtz(uchar16);
4421long16 __ovld __cnfn convert_long16_rtp(uchar16);
4422long16 __ovld __cnfn convert_long16_sat_rtp(uchar16);
4423long16 __ovld __cnfn convert_long16_rtn(uchar16);
4424long16 __ovld __cnfn convert_long16_sat_rtn(uchar16);
4425long16 __ovld __cnfn convert_long16(uchar16);
4426long16 __ovld __cnfn convert_long16_sat(uchar16);
4427long16 __ovld __cnfn convert_long16_rte(short16);
4428long16 __ovld __cnfn convert_long16_sat_rte(short16);
4429long16 __ovld __cnfn convert_long16_rtz(short16);
4430long16 __ovld __cnfn convert_long16_sat_rtz(short16);
4431long16 __ovld __cnfn convert_long16_rtp(short16);
4432long16 __ovld __cnfn convert_long16_sat_rtp(short16);
4433long16 __ovld __cnfn convert_long16_rtn(short16);
4434long16 __ovld __cnfn convert_long16_sat_rtn(short16);
4435long16 __ovld __cnfn convert_long16(short16);
4436long16 __ovld __cnfn convert_long16_sat(short16);
4437long16 __ovld __cnfn convert_long16_rte(ushort16);
4438long16 __ovld __cnfn convert_long16_sat_rte(ushort16);
4439long16 __ovld __cnfn convert_long16_rtz(ushort16);
4440long16 __ovld __cnfn convert_long16_sat_rtz(ushort16);
4441long16 __ovld __cnfn convert_long16_rtp(ushort16);
4442long16 __ovld __cnfn convert_long16_sat_rtp(ushort16);
4443long16 __ovld __cnfn convert_long16_rtn(ushort16);
4444long16 __ovld __cnfn convert_long16_sat_rtn(ushort16);
4445long16 __ovld __cnfn convert_long16(ushort16);
4446long16 __ovld __cnfn convert_long16_sat(ushort16);
4447long16 __ovld __cnfn convert_long16_rte(int16);
4448long16 __ovld __cnfn convert_long16_sat_rte(int16);
4449long16 __ovld __cnfn convert_long16_rtz(int16);
4450long16 __ovld __cnfn convert_long16_sat_rtz(int16);
4451long16 __ovld __cnfn convert_long16_rtp(int16);
4452long16 __ovld __cnfn convert_long16_sat_rtp(int16);
4453long16 __ovld __cnfn convert_long16_rtn(int16);
4454long16 __ovld __cnfn convert_long16_sat_rtn(int16);
4455long16 __ovld __cnfn convert_long16(int16);
4456long16 __ovld __cnfn convert_long16_sat(int16);
4457long16 __ovld __cnfn convert_long16_rte(uint16);
4458long16 __ovld __cnfn convert_long16_sat_rte(uint16);
4459long16 __ovld __cnfn convert_long16_rtz(uint16);
4460long16 __ovld __cnfn convert_long16_sat_rtz(uint16);
4461long16 __ovld __cnfn convert_long16_rtp(uint16);
4462long16 __ovld __cnfn convert_long16_sat_rtp(uint16);
4463long16 __ovld __cnfn convert_long16_rtn(uint16);
4464long16 __ovld __cnfn convert_long16_sat_rtn(uint16);
4465long16 __ovld __cnfn convert_long16(uint16);
4466long16 __ovld __cnfn convert_long16_sat(uint16);
4467long16 __ovld __cnfn convert_long16_rte(long16);
4468long16 __ovld __cnfn convert_long16_sat_rte(long16);
4469long16 __ovld __cnfn convert_long16_rtz(long16);
4470long16 __ovld __cnfn convert_long16_sat_rtz(long16);
4471long16 __ovld __cnfn convert_long16_rtp(long16);
4472long16 __ovld __cnfn convert_long16_sat_rtp(long16);
4473long16 __ovld __cnfn convert_long16_rtn(long16);
4474long16 __ovld __cnfn convert_long16_sat_rtn(long16);
4475long16 __ovld __cnfn convert_long16(long16);
4476long16 __ovld __cnfn convert_long16_sat(long16);
4477long16 __ovld __cnfn convert_long16_rte(ulong16);
4478long16 __ovld __cnfn convert_long16_sat_rte(ulong16);
4479long16 __ovld __cnfn convert_long16_rtz(ulong16);
4480long16 __ovld __cnfn convert_long16_sat_rtz(ulong16);
4481long16 __ovld __cnfn convert_long16_rtp(ulong16);
4482long16 __ovld __cnfn convert_long16_sat_rtp(ulong16);
4483long16 __ovld __cnfn convert_long16_rtn(ulong16);
4484long16 __ovld __cnfn convert_long16_sat_rtn(ulong16);
4485long16 __ovld __cnfn convert_long16(ulong16);
4486long16 __ovld __cnfn convert_long16_sat(ulong16);
4487long16 __ovld __cnfn convert_long16_rte(float16);
4488long16 __ovld __cnfn convert_long16_sat_rte(float16);
4489long16 __ovld __cnfn convert_long16_rtz(float16);
4490long16 __ovld __cnfn convert_long16_sat_rtz(float16);
4491long16 __ovld __cnfn convert_long16_rtp(float16);
4492long16 __ovld __cnfn convert_long16_sat_rtp(float16);
4493long16 __ovld __cnfn convert_long16_rtn(float16);
4494long16 __ovld __cnfn convert_long16_sat_rtn(float16);
4495long16 __ovld __cnfn convert_long16(float16);
4496long16 __ovld __cnfn convert_long16_sat(float16);
4497ulong16 __ovld __cnfn convert_ulong16_rte(char16);
4498ulong16 __ovld __cnfn convert_ulong16_sat_rte(char16);
4499ulong16 __ovld __cnfn convert_ulong16_rtz(char16);
4500ulong16 __ovld __cnfn convert_ulong16_sat_rtz(char16);
4501ulong16 __ovld __cnfn convert_ulong16_rtp(char16);
4502ulong16 __ovld __cnfn convert_ulong16_sat_rtp(char16);
4503ulong16 __ovld __cnfn convert_ulong16_rtn(char16);
4504ulong16 __ovld __cnfn convert_ulong16_sat_rtn(char16);
4505ulong16 __ovld __cnfn convert_ulong16(char16);
4506ulong16 __ovld __cnfn convert_ulong16_sat(char16);
4507ulong16 __ovld __cnfn convert_ulong16_rte(uchar16);
4508ulong16 __ovld __cnfn convert_ulong16_sat_rte(uchar16);
4509ulong16 __ovld __cnfn convert_ulong16_rtz(uchar16);
4510ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uchar16);
4511ulong16 __ovld __cnfn convert_ulong16_rtp(uchar16);
4512ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uchar16);
4513ulong16 __ovld __cnfn convert_ulong16_rtn(uchar16);
4514ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uchar16);
4515ulong16 __ovld __cnfn convert_ulong16(uchar16);
4516ulong16 __ovld __cnfn convert_ulong16_sat(uchar16);
4517ulong16 __ovld __cnfn convert_ulong16_rte(short16);
4518ulong16 __ovld __cnfn convert_ulong16_sat_rte(short16);
4519ulong16 __ovld __cnfn convert_ulong16_rtz(short16);
4520ulong16 __ovld __cnfn convert_ulong16_sat_rtz(short16);
4521ulong16 __ovld __cnfn convert_ulong16_rtp(short16);
4522ulong16 __ovld __cnfn convert_ulong16_sat_rtp(short16);
4523ulong16 __ovld __cnfn convert_ulong16_rtn(short16);
4524ulong16 __ovld __cnfn convert_ulong16_sat_rtn(short16);
4525ulong16 __ovld __cnfn convert_ulong16(short16);
4526ulong16 __ovld __cnfn convert_ulong16_sat(short16);
4527ulong16 __ovld __cnfn convert_ulong16_rte(ushort16);
4528ulong16 __ovld __cnfn convert_ulong16_sat_rte(ushort16);
4529ulong16 __ovld __cnfn convert_ulong16_rtz(ushort16);
4530ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ushort16);
4531ulong16 __ovld __cnfn convert_ulong16_rtp(ushort16);
4532ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ushort16);
4533ulong16 __ovld __cnfn convert_ulong16_rtn(ushort16);
4534ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ushort16);
4535ulong16 __ovld __cnfn convert_ulong16(ushort16);
4536ulong16 __ovld __cnfn convert_ulong16_sat(ushort16);
4537ulong16 __ovld __cnfn convert_ulong16_rte(int16);
4538ulong16 __ovld __cnfn convert_ulong16_sat_rte(int16);
4539ulong16 __ovld __cnfn convert_ulong16_rtz(int16);
4540ulong16 __ovld __cnfn convert_ulong16_sat_rtz(int16);
4541ulong16 __ovld __cnfn convert_ulong16_rtp(int16);
4542ulong16 __ovld __cnfn convert_ulong16_sat_rtp(int16);
4543ulong16 __ovld __cnfn convert_ulong16_rtn(int16);
4544ulong16 __ovld __cnfn convert_ulong16_sat_rtn(int16);
4545ulong16 __ovld __cnfn convert_ulong16(int16);
4546ulong16 __ovld __cnfn convert_ulong16_sat(int16);
4547ulong16 __ovld __cnfn convert_ulong16_rte(uint16);
4548ulong16 __ovld __cnfn convert_ulong16_sat_rte(uint16);
4549ulong16 __ovld __cnfn convert_ulong16_rtz(uint16);
4550ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uint16);
4551ulong16 __ovld __cnfn convert_ulong16_rtp(uint16);
4552ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uint16);
4553ulong16 __ovld __cnfn convert_ulong16_rtn(uint16);
4554ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uint16);
4555ulong16 __ovld __cnfn convert_ulong16(uint16);
4556ulong16 __ovld __cnfn convert_ulong16_sat(uint16);
4557ulong16 __ovld __cnfn convert_ulong16_rte(long16);
4558ulong16 __ovld __cnfn convert_ulong16_sat_rte(long16);
4559ulong16 __ovld __cnfn convert_ulong16_rtz(long16);
4560ulong16 __ovld __cnfn convert_ulong16_sat_rtz(long16);
4561ulong16 __ovld __cnfn convert_ulong16_rtp(long16);
4562ulong16 __ovld __cnfn convert_ulong16_sat_rtp(long16);
4563ulong16 __ovld __cnfn convert_ulong16_rtn(long16);
4564ulong16 __ovld __cnfn convert_ulong16_sat_rtn(long16);
4565ulong16 __ovld __cnfn convert_ulong16(long16);
4566ulong16 __ovld __cnfn convert_ulong16_sat(long16);
4567ulong16 __ovld __cnfn convert_ulong16_rte(ulong16);
4568ulong16 __ovld __cnfn convert_ulong16_sat_rte(ulong16);
4569ulong16 __ovld __cnfn convert_ulong16_rtz(ulong16);
4570ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ulong16);
4571ulong16 __ovld __cnfn convert_ulong16_rtp(ulong16);
4572ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ulong16);
4573ulong16 __ovld __cnfn convert_ulong16_rtn(ulong16);
4574ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ulong16);
4575ulong16 __ovld __cnfn convert_ulong16(ulong16);
4576ulong16 __ovld __cnfn convert_ulong16_sat(ulong16);
4577ulong16 __ovld __cnfn convert_ulong16_rte(float16);
4578ulong16 __ovld __cnfn convert_ulong16_sat_rte(float16);
4579ulong16 __ovld __cnfn convert_ulong16_rtz(float16);
4580ulong16 __ovld __cnfn convert_ulong16_sat_rtz(float16);
4581ulong16 __ovld __cnfn convert_ulong16_rtp(float16);
4582ulong16 __ovld __cnfn convert_ulong16_sat_rtp(float16);
4583ulong16 __ovld __cnfn convert_ulong16_rtn(float16);
4584ulong16 __ovld __cnfn convert_ulong16_sat_rtn(float16);
4585ulong16 __ovld __cnfn convert_ulong16(float16);
4586ulong16 __ovld __cnfn convert_ulong16_sat(float16);
4587float16 __ovld __cnfn convert_float16_rte(char16);
4588float16 __ovld __cnfn convert_float16_rtz(char16);
4589float16 __ovld __cnfn convert_float16_rtp(char16);
4590float16 __ovld __cnfn convert_float16_rtn(char16);
4591float16 __ovld __cnfn convert_float16(char16);
4592float16 __ovld __cnfn convert_float16_rte(uchar16);
4593float16 __ovld __cnfn convert_float16_rtz(uchar16);
4594float16 __ovld __cnfn convert_float16_rtp(uchar16);
4595float16 __ovld __cnfn convert_float16_rtn(uchar16);
4596float16 __ovld __cnfn convert_float16(uchar16);
4597float16 __ovld __cnfn convert_float16_rte(short16);
4598float16 __ovld __cnfn convert_float16_rtz(short16);
4599float16 __ovld __cnfn convert_float16_rtp(short16);
4600float16 __ovld __cnfn convert_float16_rtn(short16);
4601float16 __ovld __cnfn convert_float16(short16);
4602float16 __ovld __cnfn convert_float16_rte(ushort16);
4603float16 __ovld __cnfn convert_float16_rtz(ushort16);
4604float16 __ovld __cnfn convert_float16_rtp(ushort16);
4605float16 __ovld __cnfn convert_float16_rtn(ushort16);
4606float16 __ovld __cnfn convert_float16(ushort16);
4607float16 __ovld __cnfn convert_float16_rte(int16);
4608float16 __ovld __cnfn convert_float16_rtz(int16);
4609float16 __ovld __cnfn convert_float16_rtp(int16);
4610float16 __ovld __cnfn convert_float16_rtn(int16);
4611float16 __ovld __cnfn convert_float16(int16);
4612float16 __ovld __cnfn convert_float16_rte(uint16);
4613float16 __ovld __cnfn convert_float16_rtz(uint16);
4614float16 __ovld __cnfn convert_float16_rtp(uint16);
4615float16 __ovld __cnfn convert_float16_rtn(uint16);
4616float16 __ovld __cnfn convert_float16(uint16);
4617float16 __ovld __cnfn convert_float16_rte(long16);
4618float16 __ovld __cnfn convert_float16_rtz(long16);
4619float16 __ovld __cnfn convert_float16_rtp(long16);
4620float16 __ovld __cnfn convert_float16_rtn(long16);
4621float16 __ovld __cnfn convert_float16(long16);
4622float16 __ovld __cnfn convert_float16_rte(ulong16);
4623float16 __ovld __cnfn convert_float16_rtz(ulong16);
4624float16 __ovld __cnfn convert_float16_rtp(ulong16);
4625float16 __ovld __cnfn convert_float16_rtn(ulong16);
4626float16 __ovld __cnfn convert_float16(ulong16);
4627float16 __ovld __cnfn convert_float16_rte(float16);
4628float16 __ovld __cnfn convert_float16_rtz(float16);
4629float16 __ovld __cnfn convert_float16_rtp(float16);
4630float16 __ovld __cnfn convert_float16_rtn(float16);
4631float16 __ovld __cnfn convert_float16(float16);
4632
4633// Conversions with double data type parameters or return value.
4634
4635#ifdef cl_khr_fp64
4636char __ovld __cnfn convert_char(double);
4637char __ovld __cnfn convert_char_rte(double);
4638char __ovld __cnfn convert_char_rtn(double);
4639char __ovld __cnfn convert_char_rtp(double);
4640char __ovld __cnfn convert_char_rtz(double);
4641char __ovld __cnfn convert_char_sat(double);
4642char __ovld __cnfn convert_char_sat_rte(double);
4643char __ovld __cnfn convert_char_sat_rtn(double);
4644char __ovld __cnfn convert_char_sat_rtp(double);
4645char __ovld __cnfn convert_char_sat_rtz(double);
4646char2 __ovld __cnfn convert_char2(double2);
4647char2 __ovld __cnfn convert_char2_rte(double2);
4648char2 __ovld __cnfn convert_char2_rtn(double2);
4649char2 __ovld __cnfn convert_char2_rtp(double2);
4650char2 __ovld __cnfn convert_char2_rtz(double2);
4651char2 __ovld __cnfn convert_char2_sat(double2);
4652char2 __ovld __cnfn convert_char2_sat_rte(double2);
4653char2 __ovld __cnfn convert_char2_sat_rtn(double2);
4654char2 __ovld __cnfn convert_char2_sat_rtp(double2);
4655char2 __ovld __cnfn convert_char2_sat_rtz(double2);
4656char3 __ovld __cnfn convert_char3(double3);
4657char3 __ovld __cnfn convert_char3_rte(double3);
4658char3 __ovld __cnfn convert_char3_rtn(double3);
4659char3 __ovld __cnfn convert_char3_rtp(double3);
4660char3 __ovld __cnfn convert_char3_rtz(double3);
4661char3 __ovld __cnfn convert_char3_sat(double3);
4662char3 __ovld __cnfn convert_char3_sat_rte(double3);
4663char3 __ovld __cnfn convert_char3_sat_rtn(double3);
4664char3 __ovld __cnfn convert_char3_sat_rtp(double3);
4665char3 __ovld __cnfn convert_char3_sat_rtz(double3);
4666char4 __ovld __cnfn convert_char4(double4);
4667char4 __ovld __cnfn convert_char4_rte(double4);
4668char4 __ovld __cnfn convert_char4_rtn(double4);
4669char4 __ovld __cnfn convert_char4_rtp(double4);
4670char4 __ovld __cnfn convert_char4_rtz(double4);
4671char4 __ovld __cnfn convert_char4_sat(double4);
4672char4 __ovld __cnfn convert_char4_sat_rte(double4);
4673char4 __ovld __cnfn convert_char4_sat_rtn(double4);
4674char4 __ovld __cnfn convert_char4_sat_rtp(double4);
4675char4 __ovld __cnfn convert_char4_sat_rtz(double4);
4676char8 __ovld __cnfn convert_char8(double8);
4677char8 __ovld __cnfn convert_char8_rte(double8);
4678char8 __ovld __cnfn convert_char8_rtn(double8);
4679char8 __ovld __cnfn convert_char8_rtp(double8);
4680char8 __ovld __cnfn convert_char8_rtz(double8);
4681char8 __ovld __cnfn convert_char8_sat(double8);
4682char8 __ovld __cnfn convert_char8_sat_rte(double8);
4683char8 __ovld __cnfn convert_char8_sat_rtn(double8);
4684char8 __ovld __cnfn convert_char8_sat_rtp(double8);
4685char8 __ovld __cnfn convert_char8_sat_rtz(double8);
4686char16 __ovld __cnfn convert_char16(double16);
4687char16 __ovld __cnfn convert_char16_rte(double16);
4688char16 __ovld __cnfn convert_char16_rtn(double16);
4689char16 __ovld __cnfn convert_char16_rtp(double16);
4690char16 __ovld __cnfn convert_char16_rtz(double16);
4691char16 __ovld __cnfn convert_char16_sat(double16);
4692char16 __ovld __cnfn convert_char16_sat_rte(double16);
4693char16 __ovld __cnfn convert_char16_sat_rtn(double16);
4694char16 __ovld __cnfn convert_char16_sat_rtp(double16);
4695char16 __ovld __cnfn convert_char16_sat_rtz(double16);
4696
4697uchar __ovld __cnfn convert_uchar(double);
4698uchar __ovld __cnfn convert_uchar_rte(double);
4699uchar __ovld __cnfn convert_uchar_rtn(double);
4700uchar __ovld __cnfn convert_uchar_rtp(double);
4701uchar __ovld __cnfn convert_uchar_rtz(double);
4702uchar __ovld __cnfn convert_uchar_sat(double);
4703uchar __ovld __cnfn convert_uchar_sat_rte(double);
4704uchar __ovld __cnfn convert_uchar_sat_rtn(double);
4705uchar __ovld __cnfn convert_uchar_sat_rtp(double);
4706uchar __ovld __cnfn convert_uchar_sat_rtz(double);
4707uchar2 __ovld __cnfn convert_uchar2(double2);
4708uchar2 __ovld __cnfn convert_uchar2_rte(double2);
4709uchar2 __ovld __cnfn convert_uchar2_rtn(double2);
4710uchar2 __ovld __cnfn convert_uchar2_rtp(double2);
4711uchar2 __ovld __cnfn convert_uchar2_rtz(double2);
4712uchar2 __ovld __cnfn convert_uchar2_sat(double2);
4713uchar2 __ovld __cnfn convert_uchar2_sat_rte(double2);
4714uchar2 __ovld __cnfn convert_uchar2_sat_rtn(double2);
4715uchar2 __ovld __cnfn convert_uchar2_sat_rtp(double2);
4716uchar2 __ovld __cnfn convert_uchar2_sat_rtz(double2);
4717uchar3 __ovld __cnfn convert_uchar3(double3);
4718uchar3 __ovld __cnfn convert_uchar3_rte(double3);
4719uchar3 __ovld __cnfn convert_uchar3_rtn(double3);
4720uchar3 __ovld __cnfn convert_uchar3_rtp(double3);
4721uchar3 __ovld __cnfn convert_uchar3_rtz(double3);
4722uchar3 __ovld __cnfn convert_uchar3_sat(double3);
4723uchar3 __ovld __cnfn convert_uchar3_sat_rte(double3);
4724uchar3 __ovld __cnfn convert_uchar3_sat_rtn(double3);
4725uchar3 __ovld __cnfn convert_uchar3_sat_rtp(double3);
4726uchar3 __ovld __cnfn convert_uchar3_sat_rtz(double3);
4727uchar4 __ovld __cnfn convert_uchar4(double4);
4728uchar4 __ovld __cnfn convert_uchar4_rte(double4);
4729uchar4 __ovld __cnfn convert_uchar4_rtn(double4);
4730uchar4 __ovld __cnfn convert_uchar4_rtp(double4);
4731uchar4 __ovld __cnfn convert_uchar4_rtz(double4);
4732uchar4 __ovld __cnfn convert_uchar4_sat(double4);
4733uchar4 __ovld __cnfn convert_uchar4_sat_rte(double4);
4734uchar4 __ovld __cnfn convert_uchar4_sat_rtn(double4);
4735uchar4 __ovld __cnfn convert_uchar4_sat_rtp(double4);
4736uchar4 __ovld __cnfn convert_uchar4_sat_rtz(double4);
4737uchar8 __ovld __cnfn convert_uchar8(double8);
4738uchar8 __ovld __cnfn convert_uchar8_rte(double8);
4739uchar8 __ovld __cnfn convert_uchar8_rtn(double8);
4740uchar8 __ovld __cnfn convert_uchar8_rtp(double8);
4741uchar8 __ovld __cnfn convert_uchar8_rtz(double8);
4742uchar8 __ovld __cnfn convert_uchar8_sat(double8);
4743uchar8 __ovld __cnfn convert_uchar8_sat_rte(double8);
4744uchar8 __ovld __cnfn convert_uchar8_sat_rtn(double8);
4745uchar8 __ovld __cnfn convert_uchar8_sat_rtp(double8);
4746uchar8 __ovld __cnfn convert_uchar8_sat_rtz(double8);
4747uchar16 __ovld __cnfn convert_uchar16(double16);
4748uchar16 __ovld __cnfn convert_uchar16_rte(double16);
4749uchar16 __ovld __cnfn convert_uchar16_rtn(double16);
4750uchar16 __ovld __cnfn convert_uchar16_rtp(double16);
4751uchar16 __ovld __cnfn convert_uchar16_rtz(double16);
4752uchar16 __ovld __cnfn convert_uchar16_sat(double16);
4753uchar16 __ovld __cnfn convert_uchar16_sat_rte(double16);
4754uchar16 __ovld __cnfn convert_uchar16_sat_rtn(double16);
4755uchar16 __ovld __cnfn convert_uchar16_sat_rtp(double16);
4756uchar16 __ovld __cnfn convert_uchar16_sat_rtz(double16);
4757
4758short __ovld __cnfn convert_short(double);
4759short __ovld __cnfn convert_short_rte(double);
4760short __ovld __cnfn convert_short_rtn(double);
4761short __ovld __cnfn convert_short_rtp(double);
4762short __ovld __cnfn convert_short_rtz(double);
4763short __ovld __cnfn convert_short_sat(double);
4764short __ovld __cnfn convert_short_sat_rte(double);
4765short __ovld __cnfn convert_short_sat_rtn(double);
4766short __ovld __cnfn convert_short_sat_rtp(double);
4767short __ovld __cnfn convert_short_sat_rtz(double);
4768short2 __ovld __cnfn convert_short2(double2);
4769short2 __ovld __cnfn convert_short2_rte(double2);
4770short2 __ovld __cnfn convert_short2_rtn(double2);
4771short2 __ovld __cnfn convert_short2_rtp(double2);
4772short2 __ovld __cnfn convert_short2_rtz(double2);
4773short2 __ovld __cnfn convert_short2_sat(double2);
4774short2 __ovld __cnfn convert_short2_sat_rte(double2);
4775short2 __ovld __cnfn convert_short2_sat_rtn(double2);
4776short2 __ovld __cnfn convert_short2_sat_rtp(double2);
4777short2 __ovld __cnfn convert_short2_sat_rtz(double2);
4778short3 __ovld __cnfn convert_short3(double3);
4779short3 __ovld __cnfn convert_short3_rte(double3);
4780short3 __ovld __cnfn convert_short3_rtn(double3);
4781short3 __ovld __cnfn convert_short3_rtp(double3);
4782short3 __ovld __cnfn convert_short3_rtz(double3);
4783short3 __ovld __cnfn convert_short3_sat(double3);
4784short3 __ovld __cnfn convert_short3_sat_rte(double3);
4785short3 __ovld __cnfn convert_short3_sat_rtn(double3);
4786short3 __ovld __cnfn convert_short3_sat_rtp(double3);
4787short3 __ovld __cnfn convert_short3_sat_rtz(double3);
4788short4 __ovld __cnfn convert_short4(double4);
4789short4 __ovld __cnfn convert_short4_rte(double4);
4790short4 __ovld __cnfn convert_short4_rtn(double4);
4791short4 __ovld __cnfn convert_short4_rtp(double4);
4792short4 __ovld __cnfn convert_short4_rtz(double4);
4793short4 __ovld __cnfn convert_short4_sat(double4);
4794short4 __ovld __cnfn convert_short4_sat_rte(double4);
4795short4 __ovld __cnfn convert_short4_sat_rtn(double4);
4796short4 __ovld __cnfn convert_short4_sat_rtp(double4);
4797short4 __ovld __cnfn convert_short4_sat_rtz(double4);
4798short8 __ovld __cnfn convert_short8(double8);
4799short8 __ovld __cnfn convert_short8_rte(double8);
4800short8 __ovld __cnfn convert_short8_rtn(double8);
4801short8 __ovld __cnfn convert_short8_rtp(double8);
4802short8 __ovld __cnfn convert_short8_rtz(double8);
4803short8 __ovld __cnfn convert_short8_sat(double8);
4804short8 __ovld __cnfn convert_short8_sat_rte(double8);
4805short8 __ovld __cnfn convert_short8_sat_rtn(double8);
4806short8 __ovld __cnfn convert_short8_sat_rtp(double8);
4807short8 __ovld __cnfn convert_short8_sat_rtz(double8);
4808short16 __ovld __cnfn convert_short16(double16);
4809short16 __ovld __cnfn convert_short16_rte(double16);
4810short16 __ovld __cnfn convert_short16_rtn(double16);
4811short16 __ovld __cnfn convert_short16_rtp(double16);
4812short16 __ovld __cnfn convert_short16_rtz(double16);
4813short16 __ovld __cnfn convert_short16_sat(double16);
4814short16 __ovld __cnfn convert_short16_sat_rte(double16);
4815short16 __ovld __cnfn convert_short16_sat_rtn(double16);
4816short16 __ovld __cnfn convert_short16_sat_rtp(double16);
4817short16 __ovld __cnfn convert_short16_sat_rtz(double16);
4818
4819ushort __ovld __cnfn convert_ushort(double);
4820ushort __ovld __cnfn convert_ushort_rte(double);
4821ushort __ovld __cnfn convert_ushort_rtn(double);
4822ushort __ovld __cnfn convert_ushort_rtp(double);
4823ushort __ovld __cnfn convert_ushort_rtz(double);
4824ushort __ovld __cnfn convert_ushort_sat(double);
4825ushort __ovld __cnfn convert_ushort_sat_rte(double);
4826ushort __ovld __cnfn convert_ushort_sat_rtn(double);
4827ushort __ovld __cnfn convert_ushort_sat_rtp(double);
4828ushort __ovld __cnfn convert_ushort_sat_rtz(double);
4829ushort2 __ovld __cnfn convert_ushort2(double2);
4830ushort2 __ovld __cnfn convert_ushort2_rte(double2);
4831ushort2 __ovld __cnfn convert_ushort2_rtn(double2);
4832ushort2 __ovld __cnfn convert_ushort2_rtp(double2);
4833ushort2 __ovld __cnfn convert_ushort2_rtz(double2);
4834ushort2 __ovld __cnfn convert_ushort2_sat(double2);
4835ushort2 __ovld __cnfn convert_ushort2_sat_rte(double2);
4836ushort2 __ovld __cnfn convert_ushort2_sat_rtn(double2);
4837ushort2 __ovld __cnfn convert_ushort2_sat_rtp(double2);
4838ushort2 __ovld __cnfn convert_ushort2_sat_rtz(double2);
4839ushort3 __ovld __cnfn convert_ushort3(double3);
4840ushort3 __ovld __cnfn convert_ushort3_rte(double3);
4841ushort3 __ovld __cnfn convert_ushort3_rtn(double3);
4842ushort3 __ovld __cnfn convert_ushort3_rtp(double3);
4843ushort3 __ovld __cnfn convert_ushort3_rtz(double3);
4844ushort3 __ovld __cnfn convert_ushort3_sat(double3);
4845ushort3 __ovld __cnfn convert_ushort3_sat_rte(double3);
4846ushort3 __ovld __cnfn convert_ushort3_sat_rtn(double3);
4847ushort3 __ovld __cnfn convert_ushort3_sat_rtp(double3);
4848ushort3 __ovld __cnfn convert_ushort3_sat_rtz(double3);
4849ushort4 __ovld __cnfn convert_ushort4(double4);
4850ushort4 __ovld __cnfn convert_ushort4_rte(double4);
4851ushort4 __ovld __cnfn convert_ushort4_rtn(double4);
4852ushort4 __ovld __cnfn convert_ushort4_rtp(double4);
4853ushort4 __ovld __cnfn convert_ushort4_rtz(double4);
4854ushort4 __ovld __cnfn convert_ushort4_sat(double4);
4855ushort4 __ovld __cnfn convert_ushort4_sat_rte(double4);
4856ushort4 __ovld __cnfn convert_ushort4_sat_rtn(double4);
4857ushort4 __ovld __cnfn convert_ushort4_sat_rtp(double4);
4858ushort4 __ovld __cnfn convert_ushort4_sat_rtz(double4);
4859ushort8 __ovld __cnfn convert_ushort8(double8);
4860ushort8 __ovld __cnfn convert_ushort8_rte(double8);
4861ushort8 __ovld __cnfn convert_ushort8_rtn(double8);
4862ushort8 __ovld __cnfn convert_ushort8_rtp(double8);
4863ushort8 __ovld __cnfn convert_ushort8_rtz(double8);
4864ushort8 __ovld __cnfn convert_ushort8_sat(double8);
4865ushort8 __ovld __cnfn convert_ushort8_sat_rte(double8);
4866ushort8 __ovld __cnfn convert_ushort8_sat_rtn(double8);
4867ushort8 __ovld __cnfn convert_ushort8_sat_rtp(double8);
4868ushort8 __ovld __cnfn convert_ushort8_sat_rtz(double8);
4869ushort16 __ovld __cnfn convert_ushort16(double16);
4870ushort16 __ovld __cnfn convert_ushort16_rte(double16);
4871ushort16 __ovld __cnfn convert_ushort16_rtn(double16);
4872ushort16 __ovld __cnfn convert_ushort16_rtp(double16);
4873ushort16 __ovld __cnfn convert_ushort16_rtz(double16);
4874ushort16 __ovld __cnfn convert_ushort16_sat(double16);
4875ushort16 __ovld __cnfn convert_ushort16_sat_rte(double16);
4876ushort16 __ovld __cnfn convert_ushort16_sat_rtn(double16);
4877ushort16 __ovld __cnfn convert_ushort16_sat_rtp(double16);
4878ushort16 __ovld __cnfn convert_ushort16_sat_rtz(double16);
4879
4880int __ovld __cnfn convert_int(double);
4881int __ovld __cnfn convert_int_rte(double);
4882int __ovld __cnfn convert_int_rtn(double);
4883int __ovld __cnfn convert_int_rtp(double);
4884int __ovld __cnfn convert_int_rtz(double);
4885int __ovld __cnfn convert_int_sat(double);
4886int __ovld __cnfn convert_int_sat_rte(double);
4887int __ovld __cnfn convert_int_sat_rtn(double);
4888int __ovld __cnfn convert_int_sat_rtp(double);
4889int __ovld __cnfn convert_int_sat_rtz(double);
4890int2 __ovld __cnfn convert_int2(double2);
4891int2 __ovld __cnfn convert_int2_rte(double2);
4892int2 __ovld __cnfn convert_int2_rtn(double2);
4893int2 __ovld __cnfn convert_int2_rtp(double2);
4894int2 __ovld __cnfn convert_int2_rtz(double2);
4895int2 __ovld __cnfn convert_int2_sat(double2);
4896int2 __ovld __cnfn convert_int2_sat_rte(double2);
4897int2 __ovld __cnfn convert_int2_sat_rtn(double2);
4898int2 __ovld __cnfn convert_int2_sat_rtp(double2);
4899int2 __ovld __cnfn convert_int2_sat_rtz(double2);
4900int3 __ovld __cnfn convert_int3(double3);
4901int3 __ovld __cnfn convert_int3_rte(double3);
4902int3 __ovld __cnfn convert_int3_rtn(double3);
4903int3 __ovld __cnfn convert_int3_rtp(double3);
4904int3 __ovld __cnfn convert_int3_rtz(double3);
4905int3 __ovld __cnfn convert_int3_sat(double3);
4906int3 __ovld __cnfn convert_int3_sat_rte(double3);
4907int3 __ovld __cnfn convert_int3_sat_rtn(double3);
4908int3 __ovld __cnfn convert_int3_sat_rtp(double3);
4909int3 __ovld __cnfn convert_int3_sat_rtz(double3);
4910int4 __ovld __cnfn convert_int4(double4);
4911int4 __ovld __cnfn convert_int4_rte(double4);
4912int4 __ovld __cnfn convert_int4_rtn(double4);
4913int4 __ovld __cnfn convert_int4_rtp(double4);
4914int4 __ovld __cnfn convert_int4_rtz(double4);
4915int4 __ovld __cnfn convert_int4_sat(double4);
4916int4 __ovld __cnfn convert_int4_sat_rte(double4);
4917int4 __ovld __cnfn convert_int4_sat_rtn(double4);
4918int4 __ovld __cnfn convert_int4_sat_rtp(double4);
4919int4 __ovld __cnfn convert_int4_sat_rtz(double4);
4920int8 __ovld __cnfn convert_int8(double8);
4921int8 __ovld __cnfn convert_int8_rte(double8);
4922int8 __ovld __cnfn convert_int8_rtn(double8);
4923int8 __ovld __cnfn convert_int8_rtp(double8);
4924int8 __ovld __cnfn convert_int8_rtz(double8);
4925int8 __ovld __cnfn convert_int8_sat(double8);
4926int8 __ovld __cnfn convert_int8_sat_rte(double8);
4927int8 __ovld __cnfn convert_int8_sat_rtn(double8);
4928int8 __ovld __cnfn convert_int8_sat_rtp(double8);
4929int8 __ovld __cnfn convert_int8_sat_rtz(double8);
4930int16 __ovld __cnfn convert_int16(double16);
4931int16 __ovld __cnfn convert_int16_rte(double16);
4932int16 __ovld __cnfn convert_int16_rtn(double16);
4933int16 __ovld __cnfn convert_int16_rtp(double16);
4934int16 __ovld __cnfn convert_int16_rtz(double16);
4935int16 __ovld __cnfn convert_int16_sat(double16);
4936int16 __ovld __cnfn convert_int16_sat_rte(double16);
4937int16 __ovld __cnfn convert_int16_sat_rtn(double16);
4938int16 __ovld __cnfn convert_int16_sat_rtp(double16);
4939int16 __ovld __cnfn convert_int16_sat_rtz(double16);
4940
4941uint __ovld __cnfn convert_uint(double);
4942uint __ovld __cnfn convert_uint_rte(double);
4943uint __ovld __cnfn convert_uint_rtn(double);
4944uint __ovld __cnfn convert_uint_rtp(double);
4945uint __ovld __cnfn convert_uint_rtz(double);
4946uint __ovld __cnfn convert_uint_sat(double);
4947uint __ovld __cnfn convert_uint_sat_rte(double);
4948uint __ovld __cnfn convert_uint_sat_rtn(double);
4949uint __ovld __cnfn convert_uint_sat_rtp(double);
4950uint __ovld __cnfn convert_uint_sat_rtz(double);
4951uint2 __ovld __cnfn convert_uint2(double2);
4952uint2 __ovld __cnfn convert_uint2_rte(double2);
4953uint2 __ovld __cnfn convert_uint2_rtn(double2);
4954uint2 __ovld __cnfn convert_uint2_rtp(double2);
4955uint2 __ovld __cnfn convert_uint2_rtz(double2);
4956uint2 __ovld __cnfn convert_uint2_sat(double2);
4957uint2 __ovld __cnfn convert_uint2_sat_rte(double2);
4958uint2 __ovld __cnfn convert_uint2_sat_rtn(double2);
4959uint2 __ovld __cnfn convert_uint2_sat_rtp(double2);
4960uint2 __ovld __cnfn convert_uint2_sat_rtz(double2);
4961uint3 __ovld __cnfn convert_uint3(double3);
4962uint3 __ovld __cnfn convert_uint3_rte(double3);
4963uint3 __ovld __cnfn convert_uint3_rtn(double3);
4964uint3 __ovld __cnfn convert_uint3_rtp(double3);
4965uint3 __ovld __cnfn convert_uint3_rtz(double3);
4966uint3 __ovld __cnfn convert_uint3_sat(double3);
4967uint3 __ovld __cnfn convert_uint3_sat_rte(double3);
4968uint3 __ovld __cnfn convert_uint3_sat_rtn(double3);
4969uint3 __ovld __cnfn convert_uint3_sat_rtp(double3);
4970uint3 __ovld __cnfn convert_uint3_sat_rtz(double3);
4971uint4 __ovld __cnfn convert_uint4(double4);
4972uint4 __ovld __cnfn convert_uint4_rte(double4);
4973uint4 __ovld __cnfn convert_uint4_rtn(double4);
4974uint4 __ovld __cnfn convert_uint4_rtp(double4);
4975uint4 __ovld __cnfn convert_uint4_rtz(double4);
4976uint4 __ovld __cnfn convert_uint4_sat(double4);
4977uint4 __ovld __cnfn convert_uint4_sat_rte(double4);
4978uint4 __ovld __cnfn convert_uint4_sat_rtn(double4);
4979uint4 __ovld __cnfn convert_uint4_sat_rtp(double4);
4980uint4 __ovld __cnfn convert_uint4_sat_rtz(double4);
4981uint8 __ovld __cnfn convert_uint8(double8);
4982uint8 __ovld __cnfn convert_uint8_rte(double8);
4983uint8 __ovld __cnfn convert_uint8_rtn(double8);
4984uint8 __ovld __cnfn convert_uint8_rtp(double8);
4985uint8 __ovld __cnfn convert_uint8_rtz(double8);
4986uint8 __ovld __cnfn convert_uint8_sat(double8);
4987uint8 __ovld __cnfn convert_uint8_sat_rte(double8);
4988uint8 __ovld __cnfn convert_uint8_sat_rtn(double8);
4989uint8 __ovld __cnfn convert_uint8_sat_rtp(double8);
4990uint8 __ovld __cnfn convert_uint8_sat_rtz(double8);
4991uint16 __ovld __cnfn convert_uint16(double16);
4992uint16 __ovld __cnfn convert_uint16_rte(double16);
4993uint16 __ovld __cnfn convert_uint16_rtn(double16);
4994uint16 __ovld __cnfn convert_uint16_rtp(double16);
4995uint16 __ovld __cnfn convert_uint16_rtz(double16);
4996uint16 __ovld __cnfn convert_uint16_sat(double16);
4997uint16 __ovld __cnfn convert_uint16_sat_rte(double16);
4998uint16 __ovld __cnfn convert_uint16_sat_rtn(double16);
4999uint16 __ovld __cnfn convert_uint16_sat_rtp(double16);
5000uint16 __ovld __cnfn convert_uint16_sat_rtz(double16);
5001
5002long __ovld __cnfn convert_long(double);
5003long __ovld __cnfn convert_long_rte(double);
5004long __ovld __cnfn convert_long_rtn(double);
5005long __ovld __cnfn convert_long_rtp(double);
5006long __ovld __cnfn convert_long_rtz(double);
5007long __ovld __cnfn convert_long_sat(double);
5008long __ovld __cnfn convert_long_sat_rte(double);
5009long __ovld __cnfn convert_long_sat_rtn(double);
5010long __ovld __cnfn convert_long_sat_rtp(double);
5011long __ovld __cnfn convert_long_sat_rtz(double);
5012long2 __ovld __cnfn convert_long2(double2);
5013long2 __ovld __cnfn convert_long2_rte(double2);
5014long2 __ovld __cnfn convert_long2_rtn(double2);
5015long2 __ovld __cnfn convert_long2_rtp(double2);
5016long2 __ovld __cnfn convert_long2_rtz(double2);
5017long2 __ovld __cnfn convert_long2_sat(double2);
5018long2 __ovld __cnfn convert_long2_sat_rte(double2);
5019long2 __ovld __cnfn convert_long2_sat_rtn(double2);
5020long2 __ovld __cnfn convert_long2_sat_rtp(double2);
5021long2 __ovld __cnfn convert_long2_sat_rtz(double2);
5022long3 __ovld __cnfn convert_long3(double3);
5023long3 __ovld __cnfn convert_long3_rte(double3);
5024long3 __ovld __cnfn convert_long3_rtn(double3);
5025long3 __ovld __cnfn convert_long3_rtp(double3);
5026long3 __ovld __cnfn convert_long3_rtz(double3);
5027long3 __ovld __cnfn convert_long3_sat(double3);
5028long3 __ovld __cnfn convert_long3_sat_rte(double3);
5029long3 __ovld __cnfn convert_long3_sat_rtn(double3);
5030long3 __ovld __cnfn convert_long3_sat_rtp(double3);
5031long3 __ovld __cnfn convert_long3_sat_rtz(double3);
5032long4 __ovld __cnfn convert_long4(double4);
5033long4 __ovld __cnfn convert_long4_rte(double4);
5034long4 __ovld __cnfn convert_long4_rtn(double4);
5035long4 __ovld __cnfn convert_long4_rtp(double4);
5036long4 __ovld __cnfn convert_long4_rtz(double4);
5037long4 __ovld __cnfn convert_long4_sat(double4);
5038long4 __ovld __cnfn convert_long4_sat_rte(double4);
5039long4 __ovld __cnfn convert_long4_sat_rtn(double4);
5040long4 __ovld __cnfn convert_long4_sat_rtp(double4);
5041long4 __ovld __cnfn convert_long4_sat_rtz(double4);
5042long8 __ovld __cnfn convert_long8(double8);
5043long8 __ovld __cnfn convert_long8_rte(double8);
5044long8 __ovld __cnfn convert_long8_rtn(double8);
5045long8 __ovld __cnfn convert_long8_rtp(double8);
5046long8 __ovld __cnfn convert_long8_rtz(double8);
5047long8 __ovld __cnfn convert_long8_sat(double8);
5048long8 __ovld __cnfn convert_long8_sat_rte(double8);
5049long8 __ovld __cnfn convert_long8_sat_rtn(double8);
5050long8 __ovld __cnfn convert_long8_sat_rtp(double8);
5051long8 __ovld __cnfn convert_long8_sat_rtz(double8);
5052long16 __ovld __cnfn convert_long16(double16);
5053long16 __ovld __cnfn convert_long16_rte(double16);
5054long16 __ovld __cnfn convert_long16_rtn(double16);
5055long16 __ovld __cnfn convert_long16_rtp(double16);
5056long16 __ovld __cnfn convert_long16_rtz(double16);
5057long16 __ovld __cnfn convert_long16_sat(double16);
5058long16 __ovld __cnfn convert_long16_sat_rte(double16);
5059long16 __ovld __cnfn convert_long16_sat_rtn(double16);
5060long16 __ovld __cnfn convert_long16_sat_rtp(double16);
5061long16 __ovld __cnfn convert_long16_sat_rtz(double16);
5062
5063ulong __ovld __cnfn convert_ulong(double);
5064ulong __ovld __cnfn convert_ulong_rte(double);
5065ulong __ovld __cnfn convert_ulong_rtn(double);
5066ulong __ovld __cnfn convert_ulong_rtp(double);
5067ulong __ovld __cnfn convert_ulong_rtz(double);
5068ulong __ovld __cnfn convert_ulong_sat(double);
5069ulong __ovld __cnfn convert_ulong_sat_rte(double);
5070ulong __ovld __cnfn convert_ulong_sat_rtn(double);
5071ulong __ovld __cnfn convert_ulong_sat_rtp(double);
5072ulong __ovld __cnfn convert_ulong_sat_rtz(double);
5073ulong2 __ovld __cnfn convert_ulong2(double2);
5074ulong2 __ovld __cnfn convert_ulong2_rte(double2);
5075ulong2 __ovld __cnfn convert_ulong2_rtn(double2);
5076ulong2 __ovld __cnfn convert_ulong2_rtp(double2);
5077ulong2 __ovld __cnfn convert_ulong2_rtz(double2);
5078ulong2 __ovld __cnfn convert_ulong2_sat(double2);
5079ulong2 __ovld __cnfn convert_ulong2_sat_rte(double2);
5080ulong2 __ovld __cnfn convert_ulong2_sat_rtn(double2);
5081ulong2 __ovld __cnfn convert_ulong2_sat_rtp(double2);
5082ulong2 __ovld __cnfn convert_ulong2_sat_rtz(double2);
5083ulong3 __ovld __cnfn convert_ulong3(double3);
5084ulong3 __ovld __cnfn convert_ulong3_rte(double3);
5085ulong3 __ovld __cnfn convert_ulong3_rtn(double3);
5086ulong3 __ovld __cnfn convert_ulong3_rtp(double3);
5087ulong3 __ovld __cnfn convert_ulong3_rtz(double3);
5088ulong3 __ovld __cnfn convert_ulong3_sat(double3);
5089ulong3 __ovld __cnfn convert_ulong3_sat_rte(double3);
5090ulong3 __ovld __cnfn convert_ulong3_sat_rtn(double3);
5091ulong3 __ovld __cnfn convert_ulong3_sat_rtp(double3);
5092ulong3 __ovld __cnfn convert_ulong3_sat_rtz(double3);
5093ulong4 __ovld __cnfn convert_ulong4(double4);
5094ulong4 __ovld __cnfn convert_ulong4_rte(double4);
5095ulong4 __ovld __cnfn convert_ulong4_rtn(double4);
5096ulong4 __ovld __cnfn convert_ulong4_rtp(double4);
5097ulong4 __ovld __cnfn convert_ulong4_rtz(double4);
5098ulong4 __ovld __cnfn convert_ulong4_sat(double4);
5099ulong4 __ovld __cnfn convert_ulong4_sat_rte(double4);
5100ulong4 __ovld __cnfn convert_ulong4_sat_rtn(double4);
5101ulong4 __ovld __cnfn convert_ulong4_sat_rtp(double4);
5102ulong4 __ovld __cnfn convert_ulong4_sat_rtz(double4);
5103ulong8 __ovld __cnfn convert_ulong8(double8);
5104ulong8 __ovld __cnfn convert_ulong8_rte(double8);
5105ulong8 __ovld __cnfn convert_ulong8_rtn(double8);
5106ulong8 __ovld __cnfn convert_ulong8_rtp(double8);
5107ulong8 __ovld __cnfn convert_ulong8_rtz(double8);
5108ulong8 __ovld __cnfn convert_ulong8_sat(double8);
5109ulong8 __ovld __cnfn convert_ulong8_sat_rte(double8);
5110ulong8 __ovld __cnfn convert_ulong8_sat_rtn(double8);
5111ulong8 __ovld __cnfn convert_ulong8_sat_rtp(double8);
5112ulong8 __ovld __cnfn convert_ulong8_sat_rtz(double8);
5113ulong16 __ovld __cnfn convert_ulong16(double16);
5114ulong16 __ovld __cnfn convert_ulong16_rte(double16);
5115ulong16 __ovld __cnfn convert_ulong16_rtn(double16);
5116ulong16 __ovld __cnfn convert_ulong16_rtp(double16);
5117ulong16 __ovld __cnfn convert_ulong16_rtz(double16);
5118ulong16 __ovld __cnfn convert_ulong16_sat(double16);
5119ulong16 __ovld __cnfn convert_ulong16_sat_rte(double16);
5120ulong16 __ovld __cnfn convert_ulong16_sat_rtn(double16);
5121ulong16 __ovld __cnfn convert_ulong16_sat_rtp(double16);
5122ulong16 __ovld __cnfn convert_ulong16_sat_rtz(double16);
5123
5124float __ovld __cnfn convert_float(double);
5125float __ovld __cnfn convert_float_rte(double);
5126float __ovld __cnfn convert_float_rtn(double);
5127float __ovld __cnfn convert_float_rtp(double);
5128float __ovld __cnfn convert_float_rtz(double);
5129float2 __ovld __cnfn convert_float2(double2);
5130float2 __ovld __cnfn convert_float2_rte(double2);
5131float2 __ovld __cnfn convert_float2_rtn(double2);
5132float2 __ovld __cnfn convert_float2_rtp(double2);
5133float2 __ovld __cnfn convert_float2_rtz(double2);
5134float3 __ovld __cnfn convert_float3(double3);
5135float3 __ovld __cnfn convert_float3_rte(double3);
5136float3 __ovld __cnfn convert_float3_rtn(double3);
5137float3 __ovld __cnfn convert_float3_rtp(double3);
5138float3 __ovld __cnfn convert_float3_rtz(double3);
5139float4 __ovld __cnfn convert_float4(double4);
5140float4 __ovld __cnfn convert_float4_rte(double4);
5141float4 __ovld __cnfn convert_float4_rtn(double4);
5142float4 __ovld __cnfn convert_float4_rtp(double4);
5143float4 __ovld __cnfn convert_float4_rtz(double4);
5144float8 __ovld __cnfn convert_float8(double8);
5145float8 __ovld __cnfn convert_float8_rte(double8);
5146float8 __ovld __cnfn convert_float8_rtn(double8);
5147float8 __ovld __cnfn convert_float8_rtp(double8);
5148float8 __ovld __cnfn convert_float8_rtz(double8);
5149float16 __ovld __cnfn convert_float16(double16);
5150float16 __ovld __cnfn convert_float16_rte(double16);
5151float16 __ovld __cnfn convert_float16_rtn(double16);
5152float16 __ovld __cnfn convert_float16_rtp(double16);
5153float16 __ovld __cnfn convert_float16_rtz(double16);
5154
5155double __ovld __cnfn convert_double(char);
5156double __ovld __cnfn convert_double(double);
5157double __ovld __cnfn convert_double(float);
5158double __ovld __cnfn convert_double(int);
5159double __ovld __cnfn convert_double(long);
5160double __ovld __cnfn convert_double(short);
5161double __ovld __cnfn convert_double(uchar);
5162double __ovld __cnfn convert_double(uint);
5163double __ovld __cnfn convert_double(ulong);
5164double __ovld __cnfn convert_double(ushort);
5165double __ovld __cnfn convert_double_rte(char);
5166double __ovld __cnfn convert_double_rte(double);
5167double __ovld __cnfn convert_double_rte(float);
5168double __ovld __cnfn convert_double_rte(int);
5169double __ovld __cnfn convert_double_rte(long);
5170double __ovld __cnfn convert_double_rte(short);
5171double __ovld __cnfn convert_double_rte(uchar);
5172double __ovld __cnfn convert_double_rte(uint);
5173double __ovld __cnfn convert_double_rte(ulong);
5174double __ovld __cnfn convert_double_rte(ushort);
5175double __ovld __cnfn convert_double_rtn(char);
5176double __ovld __cnfn convert_double_rtn(double);
5177double __ovld __cnfn convert_double_rtn(float);
5178double __ovld __cnfn convert_double_rtn(int);
5179double __ovld __cnfn convert_double_rtn(long);
5180double __ovld __cnfn convert_double_rtn(short);
5181double __ovld __cnfn convert_double_rtn(uchar);
5182double __ovld __cnfn convert_double_rtn(uint);
5183double __ovld __cnfn convert_double_rtn(ulong);
5184double __ovld __cnfn convert_double_rtn(ushort);
5185double __ovld __cnfn convert_double_rtp(char);
5186double __ovld __cnfn convert_double_rtp(double);
5187double __ovld __cnfn convert_double_rtp(float);
5188double __ovld __cnfn convert_double_rtp(int);
5189double __ovld __cnfn convert_double_rtp(long);
5190double __ovld __cnfn convert_double_rtp(short);
5191double __ovld __cnfn convert_double_rtp(uchar);
5192double __ovld __cnfn convert_double_rtp(uint);
5193double __ovld __cnfn convert_double_rtp(ulong);
5194double __ovld __cnfn convert_double_rtp(ushort);
5195double __ovld __cnfn convert_double_rtz(char);
5196double __ovld __cnfn convert_double_rtz(double);
5197double __ovld __cnfn convert_double_rtz(float);
5198double __ovld __cnfn convert_double_rtz(int);
5199double __ovld __cnfn convert_double_rtz(long);
5200double __ovld __cnfn convert_double_rtz(short);
5201double __ovld __cnfn convert_double_rtz(uchar);
5202double __ovld __cnfn convert_double_rtz(uint);
5203double __ovld __cnfn convert_double_rtz(ulong);
5204double __ovld __cnfn convert_double_rtz(ushort);
5205double2 __ovld __cnfn convert_double2(char2);
5206double2 __ovld __cnfn convert_double2(double2);
5207double2 __ovld __cnfn convert_double2(float2);
5208double2 __ovld __cnfn convert_double2(int2);
5209double2 __ovld __cnfn convert_double2(long2);
5210double2 __ovld __cnfn convert_double2(short2);
5211double2 __ovld __cnfn convert_double2(uchar2);
5212double2 __ovld __cnfn convert_double2(uint2);
5213double2 __ovld __cnfn convert_double2(ulong2);
5214double2 __ovld __cnfn convert_double2(ushort2);
5215double2 __ovld __cnfn convert_double2_rte(char2);
5216double2 __ovld __cnfn convert_double2_rte(double2);
5217double2 __ovld __cnfn convert_double2_rte(float2);
5218double2 __ovld __cnfn convert_double2_rte(int2);
5219double2 __ovld __cnfn convert_double2_rte(long2);
5220double2 __ovld __cnfn convert_double2_rte(short2);
5221double2 __ovld __cnfn convert_double2_rte(uchar2);
5222double2 __ovld __cnfn convert_double2_rte(uint2);
5223double2 __ovld __cnfn convert_double2_rte(ulong2);
5224double2 __ovld __cnfn convert_double2_rte(ushort2);
5225double2 __ovld __cnfn convert_double2_rtn(char2);
5226double2 __ovld __cnfn convert_double2_rtn(double2);
5227double2 __ovld __cnfn convert_double2_rtn(float2);
5228double2 __ovld __cnfn convert_double2_rtn(int2);
5229double2 __ovld __cnfn convert_double2_rtn(long2);
5230double2 __ovld __cnfn convert_double2_rtn(short2);
5231double2 __ovld __cnfn convert_double2_rtn(uchar2);
5232double2 __ovld __cnfn convert_double2_rtn(uint2);
5233double2 __ovld __cnfn convert_double2_rtn(ulong2);
5234double2 __ovld __cnfn convert_double2_rtn(ushort2);
5235double2 __ovld __cnfn convert_double2_rtp(char2);
5236double2 __ovld __cnfn convert_double2_rtp(double2);
5237double2 __ovld __cnfn convert_double2_rtp(float2);
5238double2 __ovld __cnfn convert_double2_rtp(int2);
5239double2 __ovld __cnfn convert_double2_rtp(long2);
5240double2 __ovld __cnfn convert_double2_rtp(short2);
5241double2 __ovld __cnfn convert_double2_rtp(uchar2);
5242double2 __ovld __cnfn convert_double2_rtp(uint2);
5243double2 __ovld __cnfn convert_double2_rtp(ulong2);
5244double2 __ovld __cnfn convert_double2_rtp(ushort2);
5245double2 __ovld __cnfn convert_double2_rtz(char2);
5246double2 __ovld __cnfn convert_double2_rtz(double2);
5247double2 __ovld __cnfn convert_double2_rtz(float2);
5248double2 __ovld __cnfn convert_double2_rtz(int2);
5249double2 __ovld __cnfn convert_double2_rtz(long2);
5250double2 __ovld __cnfn convert_double2_rtz(short2);
5251double2 __ovld __cnfn convert_double2_rtz(uchar2);
5252double2 __ovld __cnfn convert_double2_rtz(uint2);
5253double2 __ovld __cnfn convert_double2_rtz(ulong2);
5254double2 __ovld __cnfn convert_double2_rtz(ushort2);
5255double3 __ovld __cnfn convert_double3(char3);
5256double3 __ovld __cnfn convert_double3(double3);
5257double3 __ovld __cnfn convert_double3(float3);
5258double3 __ovld __cnfn convert_double3(int3);
5259double3 __ovld __cnfn convert_double3(long3);
5260double3 __ovld __cnfn convert_double3(short3);
5261double3 __ovld __cnfn convert_double3(uchar3);
5262double3 __ovld __cnfn convert_double3(uint3);
5263double3 __ovld __cnfn convert_double3(ulong3);
5264double3 __ovld __cnfn convert_double3(ushort3);
5265double3 __ovld __cnfn convert_double3_rte(char3);
5266double3 __ovld __cnfn convert_double3_rte(double3);
5267double3 __ovld __cnfn convert_double3_rte(float3);
5268double3 __ovld __cnfn convert_double3_rte(int3);
5269double3 __ovld __cnfn convert_double3_rte(long3);
5270double3 __ovld __cnfn convert_double3_rte(short3);
5271double3 __ovld __cnfn convert_double3_rte(uchar3);
5272double3 __ovld __cnfn convert_double3_rte(uint3);
5273double3 __ovld __cnfn convert_double3_rte(ulong3);
5274double3 __ovld __cnfn convert_double3_rte(ushort3);
5275double3 __ovld __cnfn convert_double3_rtn(char3);
5276double3 __ovld __cnfn convert_double3_rtn(double3);
5277double3 __ovld __cnfn convert_double3_rtn(float3);
5278double3 __ovld __cnfn convert_double3_rtn(int3);
5279double3 __ovld __cnfn convert_double3_rtn(long3);
5280double3 __ovld __cnfn convert_double3_rtn(short3);
5281double3 __ovld __cnfn convert_double3_rtn(uchar3);
5282double3 __ovld __cnfn convert_double3_rtn(uint3);
5283double3 __ovld __cnfn convert_double3_rtn(ulong3);
5284double3 __ovld __cnfn convert_double3_rtn(ushort3);
5285double3 __ovld __cnfn convert_double3_rtp(char3);
5286double3 __ovld __cnfn convert_double3_rtp(double3);
5287double3 __ovld __cnfn convert_double3_rtp(float3);
5288double3 __ovld __cnfn convert_double3_rtp(int3);
5289double3 __ovld __cnfn convert_double3_rtp(long3);
5290double3 __ovld __cnfn convert_double3_rtp(short3);
5291double3 __ovld __cnfn convert_double3_rtp(uchar3);
5292double3 __ovld __cnfn convert_double3_rtp(uint3);
5293double3 __ovld __cnfn convert_double3_rtp(ulong3);
5294double3 __ovld __cnfn convert_double3_rtp(ushort3);
5295double3 __ovld __cnfn convert_double3_rtz(char3);
5296double3 __ovld __cnfn convert_double3_rtz(double3);
5297double3 __ovld __cnfn convert_double3_rtz(float3);
5298double3 __ovld __cnfn convert_double3_rtz(int3);
5299double3 __ovld __cnfn convert_double3_rtz(long3);
5300double3 __ovld __cnfn convert_double3_rtz(short3);
5301double3 __ovld __cnfn convert_double3_rtz(uchar3);
5302double3 __ovld __cnfn convert_double3_rtz(uint3);
5303double3 __ovld __cnfn convert_double3_rtz(ulong3);
5304double3 __ovld __cnfn convert_double3_rtz(ushort3);
5305double4 __ovld __cnfn convert_double4(char4);
5306double4 __ovld __cnfn convert_double4(double4);
5307double4 __ovld __cnfn convert_double4(float4);
5308double4 __ovld __cnfn convert_double4(int4);
5309double4 __ovld __cnfn convert_double4(long4);
5310double4 __ovld __cnfn convert_double4(short4);
5311double4 __ovld __cnfn convert_double4(uchar4);
5312double4 __ovld __cnfn convert_double4(uint4);
5313double4 __ovld __cnfn convert_double4(ulong4);
5314double4 __ovld __cnfn convert_double4(ushort4);
5315double4 __ovld __cnfn convert_double4_rte(char4);
5316double4 __ovld __cnfn convert_double4_rte(double4);
5317double4 __ovld __cnfn convert_double4_rte(float4);
5318double4 __ovld __cnfn convert_double4_rte(int4);
5319double4 __ovld __cnfn convert_double4_rte(long4);
5320double4 __ovld __cnfn convert_double4_rte(short4);
5321double4 __ovld __cnfn convert_double4_rte(uchar4);
5322double4 __ovld __cnfn convert_double4_rte(uint4);
5323double4 __ovld __cnfn convert_double4_rte(ulong4);
5324double4 __ovld __cnfn convert_double4_rte(ushort4);
5325double4 __ovld __cnfn convert_double4_rtn(char4);
5326double4 __ovld __cnfn convert_double4_rtn(double4);
5327double4 __ovld __cnfn convert_double4_rtn(float4);
5328double4 __ovld __cnfn convert_double4_rtn(int4);
5329double4 __ovld __cnfn convert_double4_rtn(long4);
5330double4 __ovld __cnfn convert_double4_rtn(short4);
5331double4 __ovld __cnfn convert_double4_rtn(uchar4);
5332double4 __ovld __cnfn convert_double4_rtn(uint4);
5333double4 __ovld __cnfn convert_double4_rtn(ulong4);
5334double4 __ovld __cnfn convert_double4_rtn(ushort4);
5335double4 __ovld __cnfn convert_double4_rtp(char4);
5336double4 __ovld __cnfn convert_double4_rtp(double4);
5337double4 __ovld __cnfn convert_double4_rtp(float4);
5338double4 __ovld __cnfn convert_double4_rtp(int4);
5339double4 __ovld __cnfn convert_double4_rtp(long4);
5340double4 __ovld __cnfn convert_double4_rtp(short4);
5341double4 __ovld __cnfn convert_double4_rtp(uchar4);
5342double4 __ovld __cnfn convert_double4_rtp(uint4);
5343double4 __ovld __cnfn convert_double4_rtp(ulong4);
5344double4 __ovld __cnfn convert_double4_rtp(ushort4);
5345double4 __ovld __cnfn convert_double4_rtz(char4);
5346double4 __ovld __cnfn convert_double4_rtz(double4);
5347double4 __ovld __cnfn convert_double4_rtz(float4);
5348double4 __ovld __cnfn convert_double4_rtz(int4);
5349double4 __ovld __cnfn convert_double4_rtz(long4);
5350double4 __ovld __cnfn convert_double4_rtz(short4);
5351double4 __ovld __cnfn convert_double4_rtz(uchar4);
5352double4 __ovld __cnfn convert_double4_rtz(uint4);
5353double4 __ovld __cnfn convert_double4_rtz(ulong4);
5354double4 __ovld __cnfn convert_double4_rtz(ushort4);
5355double8 __ovld __cnfn convert_double8(char8);
5356double8 __ovld __cnfn convert_double8(double8);
5357double8 __ovld __cnfn convert_double8(float8);
5358double8 __ovld __cnfn convert_double8(int8);
5359double8 __ovld __cnfn convert_double8(long8);
5360double8 __ovld __cnfn convert_double8(short8);
5361double8 __ovld __cnfn convert_double8(uchar8);
5362double8 __ovld __cnfn convert_double8(uint8);
5363double8 __ovld __cnfn convert_double8(ulong8);
5364double8 __ovld __cnfn convert_double8(ushort8);
5365double8 __ovld __cnfn convert_double8_rte(char8);
5366double8 __ovld __cnfn convert_double8_rte(double8);
5367double8 __ovld __cnfn convert_double8_rte(float8);
5368double8 __ovld __cnfn convert_double8_rte(int8);
5369double8 __ovld __cnfn convert_double8_rte(long8);
5370double8 __ovld __cnfn convert_double8_rte(short8);
5371double8 __ovld __cnfn convert_double8_rte(uchar8);
5372double8 __ovld __cnfn convert_double8_rte(uint8);
5373double8 __ovld __cnfn convert_double8_rte(ulong8);
5374double8 __ovld __cnfn convert_double8_rte(ushort8);
5375double8 __ovld __cnfn convert_double8_rtn(char8);
5376double8 __ovld __cnfn convert_double8_rtn(double8);
5377double8 __ovld __cnfn convert_double8_rtn(float8);
5378double8 __ovld __cnfn convert_double8_rtn(int8);
5379double8 __ovld __cnfn convert_double8_rtn(long8);
5380double8 __ovld __cnfn convert_double8_rtn(short8);
5381double8 __ovld __cnfn convert_double8_rtn(uchar8);
5382double8 __ovld __cnfn convert_double8_rtn(uint8);
5383double8 __ovld __cnfn convert_double8_rtn(ulong8);
5384double8 __ovld __cnfn convert_double8_rtn(ushort8);
5385double8 __ovld __cnfn convert_double8_rtp(char8);
5386double8 __ovld __cnfn convert_double8_rtp(double8);
5387double8 __ovld __cnfn convert_double8_rtp(float8);
5388double8 __ovld __cnfn convert_double8_rtp(int8);
5389double8 __ovld __cnfn convert_double8_rtp(long8);
5390double8 __ovld __cnfn convert_double8_rtp(short8);
5391double8 __ovld __cnfn convert_double8_rtp(uchar8);
5392double8 __ovld __cnfn convert_double8_rtp(uint8);
5393double8 __ovld __cnfn convert_double8_rtp(ulong8);
5394double8 __ovld __cnfn convert_double8_rtp(ushort8);
5395double8 __ovld __cnfn convert_double8_rtz(char8);
5396double8 __ovld __cnfn convert_double8_rtz(double8);
5397double8 __ovld __cnfn convert_double8_rtz(float8);
5398double8 __ovld __cnfn convert_double8_rtz(int8);
5399double8 __ovld __cnfn convert_double8_rtz(long8);
5400double8 __ovld __cnfn convert_double8_rtz(short8);
5401double8 __ovld __cnfn convert_double8_rtz(uchar8);
5402double8 __ovld __cnfn convert_double8_rtz(uint8);
5403double8 __ovld __cnfn convert_double8_rtz(ulong8);
5404double8 __ovld __cnfn convert_double8_rtz(ushort8);
5405double16 __ovld __cnfn convert_double16(char16);
5406double16 __ovld __cnfn convert_double16(double16);
5407double16 __ovld __cnfn convert_double16(float16);
5408double16 __ovld __cnfn convert_double16(int16);
5409double16 __ovld __cnfn convert_double16(long16);
5410double16 __ovld __cnfn convert_double16(short16);
5411double16 __ovld __cnfn convert_double16(uchar16);
5412double16 __ovld __cnfn convert_double16(uint16);
5413double16 __ovld __cnfn convert_double16(ulong16);
5414double16 __ovld __cnfn convert_double16(ushort16);
5415double16 __ovld __cnfn convert_double16_rte(char16);
5416double16 __ovld __cnfn convert_double16_rte(double16);
5417double16 __ovld __cnfn convert_double16_rte(float16);
5418double16 __ovld __cnfn convert_double16_rte(int16);
5419double16 __ovld __cnfn convert_double16_rte(long16);
5420double16 __ovld __cnfn convert_double16_rte(short16);
5421double16 __ovld __cnfn convert_double16_rte(uchar16);
5422double16 __ovld __cnfn convert_double16_rte(uint16);
5423double16 __ovld __cnfn convert_double16_rte(ulong16);
5424double16 __ovld __cnfn convert_double16_rte(ushort16);
5425double16 __ovld __cnfn convert_double16_rtn(char16);
5426double16 __ovld __cnfn convert_double16_rtn(double16);
5427double16 __ovld __cnfn convert_double16_rtn(float16);
5428double16 __ovld __cnfn convert_double16_rtn(int16);
5429double16 __ovld __cnfn convert_double16_rtn(long16);
5430double16 __ovld __cnfn convert_double16_rtn(short16);
5431double16 __ovld __cnfn convert_double16_rtn(uchar16);
5432double16 __ovld __cnfn convert_double16_rtn(uint16);
5433double16 __ovld __cnfn convert_double16_rtn(ulong16);
5434double16 __ovld __cnfn convert_double16_rtn(ushort16);
5435double16 __ovld __cnfn convert_double16_rtp(char16);
5436double16 __ovld __cnfn convert_double16_rtp(double16);
5437double16 __ovld __cnfn convert_double16_rtp(float16);
5438double16 __ovld __cnfn convert_double16_rtp(int16);
5439double16 __ovld __cnfn convert_double16_rtp(long16);
5440double16 __ovld __cnfn convert_double16_rtp(short16);
5441double16 __ovld __cnfn convert_double16_rtp(uchar16);
5442double16 __ovld __cnfn convert_double16_rtp(uint16);
5443double16 __ovld __cnfn convert_double16_rtp(ulong16);
5444double16 __ovld __cnfn convert_double16_rtp(ushort16);
5445double16 __ovld __cnfn convert_double16_rtz(char16);
5446double16 __ovld __cnfn convert_double16_rtz(double16);
5447double16 __ovld __cnfn convert_double16_rtz(float16);
5448double16 __ovld __cnfn convert_double16_rtz(int16);
5449double16 __ovld __cnfn convert_double16_rtz(long16);
5450double16 __ovld __cnfn convert_double16_rtz(short16);
5451double16 __ovld __cnfn convert_double16_rtz(uchar16);
5452double16 __ovld __cnfn convert_double16_rtz(uint16);
5453double16 __ovld __cnfn convert_double16_rtz(ulong16);
5454double16 __ovld __cnfn convert_double16_rtz(ushort16);
5455#endif //cl_khr_fp64
5456
5457#ifdef cl_khr_fp16
5458// Convert half types to non-double types.
5459uchar __ovld __cnfn convert_uchar(half);
5460uchar __ovld __cnfn convert_uchar_rte(half);
5461uchar __ovld __cnfn convert_uchar_rtp(half);
5462uchar __ovld __cnfn convert_uchar_rtn(half);
5463uchar __ovld __cnfn convert_uchar_rtz(half);
5464uchar __ovld __cnfn convert_uchar_sat(half);
5465uchar __ovld __cnfn convert_uchar_sat_rte(half);
5466uchar __ovld __cnfn convert_uchar_sat_rtp(half);
5467uchar __ovld __cnfn convert_uchar_sat_rtn(half);
5468uchar __ovld __cnfn convert_uchar_sat_rtz(half);
5469uchar2 __ovld __cnfn convert_uchar2(half2);
5470uchar2 __ovld __cnfn convert_uchar2_rte(half2);
5471uchar2 __ovld __cnfn convert_uchar2_rtp(half2);
5472uchar2 __ovld __cnfn convert_uchar2_rtn(half2);
5473uchar2 __ovld __cnfn convert_uchar2_rtz(half2);
5474uchar2 __ovld __cnfn convert_uchar2_sat(half2);
5475uchar2 __ovld __cnfn convert_uchar2_sat_rte(half2);
5476uchar2 __ovld __cnfn convert_uchar2_sat_rtp(half2);
5477uchar2 __ovld __cnfn convert_uchar2_sat_rtn(half2);
5478uchar2 __ovld __cnfn convert_uchar2_sat_rtz(half2);
5479uchar3 __ovld __cnfn convert_uchar3(half3);
5480uchar3 __ovld __cnfn convert_uchar3_rte(half3);
5481uchar3 __ovld __cnfn convert_uchar3_rtp(half3);
5482uchar3 __ovld __cnfn convert_uchar3_rtn(half3);
5483uchar3 __ovld __cnfn convert_uchar3_rtz(half3);
5484uchar3 __ovld __cnfn convert_uchar3_sat(half3);
5485uchar3 __ovld __cnfn convert_uchar3_sat_rte(half3);
5486uchar3 __ovld __cnfn convert_uchar3_sat_rtp(half3);
5487uchar3 __ovld __cnfn convert_uchar3_sat_rtn(half3);
5488uchar3 __ovld __cnfn convert_uchar3_sat_rtz(half3);
5489uchar4 __ovld __cnfn convert_uchar4(half4);
5490uchar4 __ovld __cnfn convert_uchar4_rte(half4);
5491uchar4 __ovld __cnfn convert_uchar4_rtp(half4);
5492uchar4 __ovld __cnfn convert_uchar4_rtn(half4);
5493uchar4 __ovld __cnfn convert_uchar4_rtz(half4);
5494uchar4 __ovld __cnfn convert_uchar4_sat(half4);
5495uchar4 __ovld __cnfn convert_uchar4_sat_rte(half4);
5496uchar4 __ovld __cnfn convert_uchar4_sat_rtp(half4);
5497uchar4 __ovld __cnfn convert_uchar4_sat_rtn(half4);
5498uchar4 __ovld __cnfn convert_uchar4_sat_rtz(half4);
5499uchar8 __ovld __cnfn convert_uchar8(half8);
5500uchar8 __ovld __cnfn convert_uchar8_rte(half8);
5501uchar8 __ovld __cnfn convert_uchar8_rtp(half8);
5502uchar8 __ovld __cnfn convert_uchar8_rtn(half8);
5503uchar8 __ovld __cnfn convert_uchar8_rtz(half8);
5504uchar8 __ovld __cnfn convert_uchar8_sat(half8);
5505uchar8 __ovld __cnfn convert_uchar8_sat_rte(half8);
5506uchar8 __ovld __cnfn convert_uchar8_sat_rtp(half8);
5507uchar8 __ovld __cnfn convert_uchar8_sat_rtn(half8);
5508uchar8 __ovld __cnfn convert_uchar8_sat_rtz(half8);
5509uchar16 __ovld __cnfn convert_uchar16(half16);
5510uchar16 __ovld __cnfn convert_uchar16_rte(half16);
5511uchar16 __ovld __cnfn convert_uchar16_rtp(half16);
5512uchar16 __ovld __cnfn convert_uchar16_rtn(half16);
5513uchar16 __ovld __cnfn convert_uchar16_rtz(half16);
5514uchar16 __ovld __cnfn convert_uchar16_sat(half16);
5515uchar16 __ovld __cnfn convert_uchar16_sat_rte(half16);
5516uchar16 __ovld __cnfn convert_uchar16_sat_rtp(half16);
5517uchar16 __ovld __cnfn convert_uchar16_sat_rtn(half16);
5518uchar16 __ovld __cnfn convert_uchar16_sat_rtz(half16);
5519ushort __ovld __cnfn convert_ushort(half);
5520ushort __ovld __cnfn convert_ushort_rte(half);
5521ushort __ovld __cnfn convert_ushort_rtp(half);
5522ushort __ovld __cnfn convert_ushort_rtn(half);
5523ushort __ovld __cnfn convert_ushort_rtz(half);
5524ushort __ovld __cnfn convert_ushort_sat(half);
5525ushort __ovld __cnfn convert_ushort_sat_rte(half);
5526ushort __ovld __cnfn convert_ushort_sat_rtp(half);
5527ushort __ovld __cnfn convert_ushort_sat_rtn(half);
5528ushort __ovld __cnfn convert_ushort_sat_rtz(half);
5529ushort2 __ovld __cnfn convert_ushort2(half2);
5530ushort2 __ovld __cnfn convert_ushort2_rte(half2);
5531ushort2 __ovld __cnfn convert_ushort2_rtp(half2);
5532ushort2 __ovld __cnfn convert_ushort2_rtn(half2);
5533ushort2 __ovld __cnfn convert_ushort2_rtz(half2);
5534ushort2 __ovld __cnfn convert_ushort2_sat(half2);
5535ushort2 __ovld __cnfn convert_ushort2_sat_rte(half2);
5536ushort2 __ovld __cnfn convert_ushort2_sat_rtp(half2);
5537ushort2 __ovld __cnfn convert_ushort2_sat_rtn(half2);
5538ushort2 __ovld __cnfn convert_ushort2_sat_rtz(half2);
5539ushort3 __ovld __cnfn convert_ushort3(half3);
5540ushort3 __ovld __cnfn convert_ushort3_rte(half3);
5541ushort3 __ovld __cnfn convert_ushort3_rtp(half3);
5542ushort3 __ovld __cnfn convert_ushort3_rtn(half3);
5543ushort3 __ovld __cnfn convert_ushort3_rtz(half3);
5544ushort3 __ovld __cnfn convert_ushort3_sat(half3);
5545ushort3 __ovld __cnfn convert_ushort3_sat_rte(half3);
5546ushort3 __ovld __cnfn convert_ushort3_sat_rtp(half3);
5547ushort3 __ovld __cnfn convert_ushort3_sat_rtn(half3);
5548ushort3 __ovld __cnfn convert_ushort3_sat_rtz(half3);
5549ushort4 __ovld __cnfn convert_ushort4(half4);
5550ushort4 __ovld __cnfn convert_ushort4_rte(half4);
5551ushort4 __ovld __cnfn convert_ushort4_rtp(half4);
5552ushort4 __ovld __cnfn convert_ushort4_rtn(half4);
5553ushort4 __ovld __cnfn convert_ushort4_rtz(half4);
5554ushort4 __ovld __cnfn convert_ushort4_sat(half4);
5555ushort4 __ovld __cnfn convert_ushort4_sat_rte(half4);
5556ushort4 __ovld __cnfn convert_ushort4_sat_rtp(half4);
5557ushort4 __ovld __cnfn convert_ushort4_sat_rtn(half4);
5558ushort4 __ovld __cnfn convert_ushort4_sat_rtz(half4);
5559ushort8 __ovld __cnfn convert_ushort8(half8);
5560ushort8 __ovld __cnfn convert_ushort8_rte(half8);
5561ushort8 __ovld __cnfn convert_ushort8_rtp(half8);
5562ushort8 __ovld __cnfn convert_ushort8_rtn(half8);
5563ushort8 __ovld __cnfn convert_ushort8_rtz(half8);
5564ushort8 __ovld __cnfn convert_ushort8_sat(half8);
5565ushort8 __ovld __cnfn convert_ushort8_sat_rte(half8);
5566ushort8 __ovld __cnfn convert_ushort8_sat_rtp(half8);
5567ushort8 __ovld __cnfn convert_ushort8_sat_rtn(half8);
5568ushort8 __ovld __cnfn convert_ushort8_sat_rtz(half8);
5569ushort16 __ovld __cnfn convert_ushort16(half16);
5570ushort16 __ovld __cnfn convert_ushort16_rte(half16);
5571ushort16 __ovld __cnfn convert_ushort16_rtp(half16);
5572ushort16 __ovld __cnfn convert_ushort16_rtn(half16);
5573ushort16 __ovld __cnfn convert_ushort16_rtz(half16);
5574ushort16 __ovld __cnfn convert_ushort16_sat(half16);
5575ushort16 __ovld __cnfn convert_ushort16_sat_rte(half16);
5576ushort16 __ovld __cnfn convert_ushort16_sat_rtp(half16);
5577ushort16 __ovld __cnfn convert_ushort16_sat_rtn(half16);
5578ushort16 __ovld __cnfn convert_ushort16_sat_rtz(half16);
5579uint __ovld __cnfn convert_uint(half);
5580uint __ovld __cnfn convert_uint_rte(half);
5581uint __ovld __cnfn convert_uint_rtp(half);
5582uint __ovld __cnfn convert_uint_rtn(half);
5583uint __ovld __cnfn convert_uint_rtz(half);
5584uint __ovld __cnfn convert_uint_sat(half);
5585uint __ovld __cnfn convert_uint_sat_rte(half);
5586uint __ovld __cnfn convert_uint_sat_rtp(half);
5587uint __ovld __cnfn convert_uint_sat_rtn(half);
5588uint __ovld __cnfn convert_uint_sat_rtz(half);
5589uint2 __ovld __cnfn convert_uint2(half2);
5590uint2 __ovld __cnfn convert_uint2_rte(half2);
5591uint2 __ovld __cnfn convert_uint2_rtp(half2);
5592uint2 __ovld __cnfn convert_uint2_rtn(half2);
5593uint2 __ovld __cnfn convert_uint2_rtz(half2);
5594uint2 __ovld __cnfn convert_uint2_sat(half2);
5595uint2 __ovld __cnfn convert_uint2_sat_rte(half2);
5596uint2 __ovld __cnfn convert_uint2_sat_rtp(half2);
5597uint2 __ovld __cnfn convert_uint2_sat_rtn(half2);
5598uint2 __ovld __cnfn convert_uint2_sat_rtz(half2);
5599uint3 __ovld __cnfn convert_uint3(half3);
5600uint3 __ovld __cnfn convert_uint3_rte(half3);
5601uint3 __ovld __cnfn convert_uint3_rtp(half3);
5602uint3 __ovld __cnfn convert_uint3_rtn(half3);
5603uint3 __ovld __cnfn convert_uint3_rtz(half3);
5604uint3 __ovld __cnfn convert_uint3_sat(half3);
5605uint3 __ovld __cnfn convert_uint3_sat_rte(half3);
5606uint3 __ovld __cnfn convert_uint3_sat_rtp(half3);
5607uint3 __ovld __cnfn convert_uint3_sat_rtn(half3);
5608uint3 __ovld __cnfn convert_uint3_sat_rtz(half3);
5609uint4 __ovld __cnfn convert_uint4(half4);
5610uint4 __ovld __cnfn convert_uint4_rte(half4);
5611uint4 __ovld __cnfn convert_uint4_rtp(half4);
5612uint4 __ovld __cnfn convert_uint4_rtn(half4);
5613uint4 __ovld __cnfn convert_uint4_rtz(half4);
5614uint4 __ovld __cnfn convert_uint4_sat(half4);
5615uint4 __ovld __cnfn convert_uint4_sat_rte(half4);
5616uint4 __ovld __cnfn convert_uint4_sat_rtp(half4);
5617uint4 __ovld __cnfn convert_uint4_sat_rtn(half4);
5618uint4 __ovld __cnfn convert_uint4_sat_rtz(half4);
5619uint8 __ovld __cnfn convert_uint8(half8);
5620uint8 __ovld __cnfn convert_uint8_rte(half8);
5621uint8 __ovld __cnfn convert_uint8_rtp(half8);
5622uint8 __ovld __cnfn convert_uint8_rtn(half8);
5623uint8 __ovld __cnfn convert_uint8_rtz(half8);
5624uint8 __ovld __cnfn convert_uint8_sat(half8);
5625uint8 __ovld __cnfn convert_uint8_sat_rte(half8);
5626uint8 __ovld __cnfn convert_uint8_sat_rtp(half8);
5627uint8 __ovld __cnfn convert_uint8_sat_rtn(half8);
5628uint8 __ovld __cnfn convert_uint8_sat_rtz(half8);
5629uint16 __ovld __cnfn convert_uint16(half16);
5630uint16 __ovld __cnfn convert_uint16_rte(half16);
5631uint16 __ovld __cnfn convert_uint16_rtp(half16);
5632uint16 __ovld __cnfn convert_uint16_rtn(half16);
5633uint16 __ovld __cnfn convert_uint16_rtz(half16);
5634uint16 __ovld __cnfn convert_uint16_sat(half16);
5635uint16 __ovld __cnfn convert_uint16_sat_rte(half16);
5636uint16 __ovld __cnfn convert_uint16_sat_rtp(half16);
5637uint16 __ovld __cnfn convert_uint16_sat_rtn(half16);
5638uint16 __ovld __cnfn convert_uint16_sat_rtz(half16);
5639ulong __ovld __cnfn convert_ulong(half);
5640ulong __ovld __cnfn convert_ulong_rte(half);
5641ulong __ovld __cnfn convert_ulong_rtp(half);
5642ulong __ovld __cnfn convert_ulong_rtn(half);
5643ulong __ovld __cnfn convert_ulong_rtz(half);
5644ulong __ovld __cnfn convert_ulong_sat(half);
5645ulong __ovld __cnfn convert_ulong_sat_rte(half);
5646ulong __ovld __cnfn convert_ulong_sat_rtp(half);
5647ulong __ovld __cnfn convert_ulong_sat_rtn(half);
5648ulong __ovld __cnfn convert_ulong_sat_rtz(half);
5649ulong2 __ovld __cnfn convert_ulong2(half2);
5650ulong2 __ovld __cnfn convert_ulong2_rte(half2);
5651ulong2 __ovld __cnfn convert_ulong2_rtp(half2);
5652ulong2 __ovld __cnfn convert_ulong2_rtn(half2);
5653ulong2 __ovld __cnfn convert_ulong2_rtz(half2);
5654ulong2 __ovld __cnfn convert_ulong2_sat(half2);
5655ulong2 __ovld __cnfn convert_ulong2_sat_rte(half2);
5656ulong2 __ovld __cnfn convert_ulong2_sat_rtp(half2);
5657ulong2 __ovld __cnfn convert_ulong2_sat_rtn(half2);
5658ulong2 __ovld __cnfn convert_ulong2_sat_rtz(half2);
5659ulong3 __ovld __cnfn convert_ulong3(half3);
5660ulong3 __ovld __cnfn convert_ulong3_rte(half3);
5661ulong3 __ovld __cnfn convert_ulong3_rtp(half3);
5662ulong3 __ovld __cnfn convert_ulong3_rtn(half3);
5663ulong3 __ovld __cnfn convert_ulong3_rtz(half3);
5664ulong3 __ovld __cnfn convert_ulong3_sat(half3);
5665ulong3 __ovld __cnfn convert_ulong3_sat_rte(half3);
5666ulong3 __ovld __cnfn convert_ulong3_sat_rtp(half3);
5667ulong3 __ovld __cnfn convert_ulong3_sat_rtn(half3);
5668ulong3 __ovld __cnfn convert_ulong3_sat_rtz(half3);
5669ulong4 __ovld __cnfn convert_ulong4(half4);
5670ulong4 __ovld __cnfn convert_ulong4_rte(half4);
5671ulong4 __ovld __cnfn convert_ulong4_rtp(half4);
5672ulong4 __ovld __cnfn convert_ulong4_rtn(half4);
5673ulong4 __ovld __cnfn convert_ulong4_rtz(half4);
5674ulong4 __ovld __cnfn convert_ulong4_sat(half4);
5675ulong4 __ovld __cnfn convert_ulong4_sat_rte(half4);
5676ulong4 __ovld __cnfn convert_ulong4_sat_rtp(half4);
5677ulong4 __ovld __cnfn convert_ulong4_sat_rtn(half4);
5678ulong4 __ovld __cnfn convert_ulong4_sat_rtz(half4);
5679ulong8 __ovld __cnfn convert_ulong8(half8);
5680ulong8 __ovld __cnfn convert_ulong8_rte(half8);
5681ulong8 __ovld __cnfn convert_ulong8_rtp(half8);
5682ulong8 __ovld __cnfn convert_ulong8_rtn(half8);
5683ulong8 __ovld __cnfn convert_ulong8_rtz(half8);
5684ulong8 __ovld __cnfn convert_ulong8_sat(half8);
5685ulong8 __ovld __cnfn convert_ulong8_sat_rte(half8);
5686ulong8 __ovld __cnfn convert_ulong8_sat_rtp(half8);
5687ulong8 __ovld __cnfn convert_ulong8_sat_rtn(half8);
5688ulong8 __ovld __cnfn convert_ulong8_sat_rtz(half8);
5689ulong16 __ovld __cnfn convert_ulong16(half16);
5690ulong16 __ovld __cnfn convert_ulong16_rte(half16);
5691ulong16 __ovld __cnfn convert_ulong16_rtp(half16);
5692ulong16 __ovld __cnfn convert_ulong16_rtn(half16);
5693ulong16 __ovld __cnfn convert_ulong16_rtz(half16);
5694ulong16 __ovld __cnfn convert_ulong16_sat(half16);
5695ulong16 __ovld __cnfn convert_ulong16_sat_rte(half16);
5696ulong16 __ovld __cnfn convert_ulong16_sat_rtp(half16);
5697ulong16 __ovld __cnfn convert_ulong16_sat_rtn(half16);
5698ulong16 __ovld __cnfn convert_ulong16_sat_rtz(half16);
5699char __ovld __cnfn convert_char(half);
5700char __ovld __cnfn convert_char_rte(half);
5701char __ovld __cnfn convert_char_rtp(half);
5702char __ovld __cnfn convert_char_rtn(half);
5703char __ovld __cnfn convert_char_rtz(half);
5704char __ovld __cnfn convert_char_sat(half);
5705char __ovld __cnfn convert_char_sat_rte(half);
5706char __ovld __cnfn convert_char_sat_rtp(half);
5707char __ovld __cnfn convert_char_sat_rtn(half);
5708char __ovld __cnfn convert_char_sat_rtz(half);
5709char2 __ovld __cnfn convert_char2(half2);
5710char2 __ovld __cnfn convert_char2_rte(half2);
5711char2 __ovld __cnfn convert_char2_rtp(half2);
5712char2 __ovld __cnfn convert_char2_rtn(half2);
5713char2 __ovld __cnfn convert_char2_rtz(half2);
5714char2 __ovld __cnfn convert_char2_sat(half2);
5715char2 __ovld __cnfn convert_char2_sat_rte(half2);
5716char2 __ovld __cnfn convert_char2_sat_rtp(half2);
5717char2 __ovld __cnfn convert_char2_sat_rtn(half2);
5718char2 __ovld __cnfn convert_char2_sat_rtz(half2);
5719char3 __ovld __cnfn convert_char3(half3);
5720char3 __ovld __cnfn convert_char3_rte(half3);
5721char3 __ovld __cnfn convert_char3_rtp(half3);
5722char3 __ovld __cnfn convert_char3_rtn(half3);
5723char3 __ovld __cnfn convert_char3_rtz(half3);
5724char3 __ovld __cnfn convert_char3_sat(half3);
5725char3 __ovld __cnfn convert_char3_sat_rte(half3);
5726char3 __ovld __cnfn convert_char3_sat_rtp(half3);
5727char3 __ovld __cnfn convert_char3_sat_rtn(half3);
5728char3 __ovld __cnfn convert_char3_sat_rtz(half3);
5729char4 __ovld __cnfn convert_char4(half4);
5730char4 __ovld __cnfn convert_char4_rte(half4);
5731char4 __ovld __cnfn convert_char4_rtp(half4);
5732char4 __ovld __cnfn convert_char4_rtn(half4);
5733char4 __ovld __cnfn convert_char4_rtz(half4);
5734char4 __ovld __cnfn convert_char4_sat(half4);
5735char4 __ovld __cnfn convert_char4_sat_rte(half4);
5736char4 __ovld __cnfn convert_char4_sat_rtp(half4);
5737char4 __ovld __cnfn convert_char4_sat_rtn(half4);
5738char4 __ovld __cnfn convert_char4_sat_rtz(half4);
5739char8 __ovld __cnfn convert_char8(half8);
5740char8 __ovld __cnfn convert_char8_rte(half8);
5741char8 __ovld __cnfn convert_char8_rtp(half8);
5742char8 __ovld __cnfn convert_char8_rtn(half8);
5743char8 __ovld __cnfn convert_char8_rtz(half8);
5744char8 __ovld __cnfn convert_char8_sat(half8);
5745char8 __ovld __cnfn convert_char8_sat_rte(half8);
5746char8 __ovld __cnfn convert_char8_sat_rtp(half8);
5747char8 __ovld __cnfn convert_char8_sat_rtn(half8);
5748char8 __ovld __cnfn convert_char8_sat_rtz(half8);
5749char16 __ovld __cnfn convert_char16(half16);
5750char16 __ovld __cnfn convert_char16_rte(half16);
5751char16 __ovld __cnfn convert_char16_rtp(half16);
5752char16 __ovld __cnfn convert_char16_rtn(half16);
5753char16 __ovld __cnfn convert_char16_rtz(half16);
5754char16 __ovld __cnfn convert_char16_sat(half16);
5755char16 __ovld __cnfn convert_char16_sat_rte(half16);
5756char16 __ovld __cnfn convert_char16_sat_rtp(half16);
5757char16 __ovld __cnfn convert_char16_sat_rtn(half16);
5758char16 __ovld __cnfn convert_char16_sat_rtz(half16);
5759short __ovld __cnfn convert_short(half);
5760short __ovld __cnfn convert_short_rte(half);
5761short __ovld __cnfn convert_short_rtp(half);
5762short __ovld __cnfn convert_short_rtn(half);
5763short __ovld __cnfn convert_short_rtz(half);
5764short __ovld __cnfn convert_short_sat(half);
5765short __ovld __cnfn convert_short_sat_rte(half);
5766short __ovld __cnfn convert_short_sat_rtp(half);
5767short __ovld __cnfn convert_short_sat_rtn(half);
5768short __ovld __cnfn convert_short_sat_rtz(half);
5769short2 __ovld __cnfn convert_short2(half2);
5770short2 __ovld __cnfn convert_short2_rte(half2);
5771short2 __ovld __cnfn convert_short2_rtp(half2);
5772short2 __ovld __cnfn convert_short2_rtn(half2);
5773short2 __ovld __cnfn convert_short2_rtz(half2);
5774short2 __ovld __cnfn convert_short2_sat(half2);
5775short2 __ovld __cnfn convert_short2_sat_rte(half2);
5776short2 __ovld __cnfn convert_short2_sat_rtp(half2);
5777short2 __ovld __cnfn convert_short2_sat_rtn(half2);
5778short2 __ovld __cnfn convert_short2_sat_rtz(half2);
5779short3 __ovld __cnfn convert_short3(half3);
5780short3 __ovld __cnfn convert_short3_rte(half3);
5781short3 __ovld __cnfn convert_short3_rtp(half3);
5782short3 __ovld __cnfn convert_short3_rtn(half3);
5783short3 __ovld __cnfn convert_short3_rtz(half3);
5784short3 __ovld __cnfn convert_short3_sat(half3);
5785short3 __ovld __cnfn convert_short3_sat_rte(half3);
5786short3 __ovld __cnfn convert_short3_sat_rtp(half3);
5787short3 __ovld __cnfn convert_short3_sat_rtn(half3);
5788short3 __ovld __cnfn convert_short3_sat_rtz(half3);
5789short4 __ovld __cnfn convert_short4(half4);
5790short4 __ovld __cnfn convert_short4_rte(half4);
5791short4 __ovld __cnfn convert_short4_rtp(half4);
5792short4 __ovld __cnfn convert_short4_rtn(half4);
5793short4 __ovld __cnfn convert_short4_rtz(half4);
5794short4 __ovld __cnfn convert_short4_sat(half4);
5795short4 __ovld __cnfn convert_short4_sat_rte(half4);
5796short4 __ovld __cnfn convert_short4_sat_rtp(half4);
5797short4 __ovld __cnfn convert_short4_sat_rtn(half4);
5798short4 __ovld __cnfn convert_short4_sat_rtz(half4);
5799short8 __ovld __cnfn convert_short8(half8);
5800short8 __ovld __cnfn convert_short8_rte(half8);
5801short8 __ovld __cnfn convert_short8_rtp(half8);
5802short8 __ovld __cnfn convert_short8_rtn(half8);
5803short8 __ovld __cnfn convert_short8_rtz(half8);
5804short8 __ovld __cnfn convert_short8_sat(half8);
5805short8 __ovld __cnfn convert_short8_sat_rte(half8);
5806short8 __ovld __cnfn convert_short8_sat_rtp(half8);
5807short8 __ovld __cnfn convert_short8_sat_rtn(half8);
5808short8 __ovld __cnfn convert_short8_sat_rtz(half8);
5809short16 __ovld __cnfn convert_short16(half16);
5810short16 __ovld __cnfn convert_short16_rte(half16);
5811short16 __ovld __cnfn convert_short16_rtp(half16);
5812short16 __ovld __cnfn convert_short16_rtn(half16);
5813short16 __ovld __cnfn convert_short16_rtz(half16);
5814short16 __ovld __cnfn convert_short16_sat(half16);
5815short16 __ovld __cnfn convert_short16_sat_rte(half16);
5816short16 __ovld __cnfn convert_short16_sat_rtp(half16);
5817short16 __ovld __cnfn convert_short16_sat_rtn(half16);
5818short16 __ovld __cnfn convert_short16_sat_rtz(half16);
5819int __ovld __cnfn convert_int(half);
5820int __ovld __cnfn convert_int_rte(half);
5821int __ovld __cnfn convert_int_rtp(half);
5822int __ovld __cnfn convert_int_rtn(half);
5823int __ovld __cnfn convert_int_rtz(half);
5824int __ovld __cnfn convert_int_sat(half);
5825int __ovld __cnfn convert_int_sat_rte(half);
5826int __ovld __cnfn convert_int_sat_rtp(half);
5827int __ovld __cnfn convert_int_sat_rtn(half);
5828int __ovld __cnfn convert_int_sat_rtz(half);
5829int2 __ovld __cnfn convert_int2(half2);
5830int2 __ovld __cnfn convert_int2_rte(half2);
5831int2 __ovld __cnfn convert_int2_rtp(half2);
5832int2 __ovld __cnfn convert_int2_rtn(half2);
5833int2 __ovld __cnfn convert_int2_rtz(half2);
5834int2 __ovld __cnfn convert_int2_sat(half2);
5835int2 __ovld __cnfn convert_int2_sat_rte(half2);
5836int2 __ovld __cnfn convert_int2_sat_rtp(half2);
5837int2 __ovld __cnfn convert_int2_sat_rtn(half2);
5838int2 __ovld __cnfn convert_int2_sat_rtz(half2);
5839int3 __ovld __cnfn convert_int3(half3);
5840int3 __ovld __cnfn convert_int3_rte(half3);
5841int3 __ovld __cnfn convert_int3_rtp(half3);
5842int3 __ovld __cnfn convert_int3_rtn(half3);
5843int3 __ovld __cnfn convert_int3_rtz(half3);
5844int3 __ovld __cnfn convert_int3_sat(half3);
5845int3 __ovld __cnfn convert_int3_sat_rte(half3);
5846int3 __ovld __cnfn convert_int3_sat_rtp(half3);
5847int3 __ovld __cnfn convert_int3_sat_rtn(half3);
5848int3 __ovld __cnfn convert_int3_sat_rtz(half3);
5849int4 __ovld __cnfn convert_int4(half4);
5850int4 __ovld __cnfn convert_int4_rte(half4);
5851int4 __ovld __cnfn convert_int4_rtp(half4);
5852int4 __ovld __cnfn convert_int4_rtn(half4);
5853int4 __ovld __cnfn convert_int4_rtz(half4);
5854int4 __ovld __cnfn convert_int4_sat(half4);
5855int4 __ovld __cnfn convert_int4_sat_rte(half4);
5856int4 __ovld __cnfn convert_int4_sat_rtp(half4);
5857int4 __ovld __cnfn convert_int4_sat_rtn(half4);
5858int4 __ovld __cnfn convert_int4_sat_rtz(half4);
5859int8 __ovld __cnfn convert_int8(half8);
5860int8 __ovld __cnfn convert_int8_rte(half8);
5861int8 __ovld __cnfn convert_int8_rtp(half8);
5862int8 __ovld __cnfn convert_int8_rtn(half8);
5863int8 __ovld __cnfn convert_int8_rtz(half8);
5864int8 __ovld __cnfn convert_int8_sat(half8);
5865int8 __ovld __cnfn convert_int8_sat_rte(half8);
5866int8 __ovld __cnfn convert_int8_sat_rtp(half8);
5867int8 __ovld __cnfn convert_int8_sat_rtn(half8);
5868int8 __ovld __cnfn convert_int8_sat_rtz(half8);
5869int16 __ovld __cnfn convert_int16(half16);
5870int16 __ovld __cnfn convert_int16_rte(half16);
5871int16 __ovld __cnfn convert_int16_rtp(half16);
5872int16 __ovld __cnfn convert_int16_rtn(half16);
5873int16 __ovld __cnfn convert_int16_rtz(half16);
5874int16 __ovld __cnfn convert_int16_sat(half16);
5875int16 __ovld __cnfn convert_int16_sat_rte(half16);
5876int16 __ovld __cnfn convert_int16_sat_rtp(half16);
5877int16 __ovld __cnfn convert_int16_sat_rtn(half16);
5878int16 __ovld __cnfn convert_int16_sat_rtz(half16);
5879long __ovld __cnfn convert_long(half);
5880long __ovld __cnfn convert_long_rte(half);
5881long __ovld __cnfn convert_long_rtp(half);
5882long __ovld __cnfn convert_long_rtn(half);
5883long __ovld __cnfn convert_long_rtz(half);
5884long __ovld __cnfn convert_long_sat(half);
5885long __ovld __cnfn convert_long_sat_rte(half);
5886long __ovld __cnfn convert_long_sat_rtp(half);
5887long __ovld __cnfn convert_long_sat_rtn(half);
5888long __ovld __cnfn convert_long_sat_rtz(half);
5889long2 __ovld __cnfn convert_long2(half2);
5890long2 __ovld __cnfn convert_long2_rte(half2);
5891long2 __ovld __cnfn convert_long2_rtp(half2);
5892long2 __ovld __cnfn convert_long2_rtn(half2);
5893long2 __ovld __cnfn convert_long2_rtz(half2);
5894long2 __ovld __cnfn convert_long2_sat(half2);
5895long2 __ovld __cnfn convert_long2_sat_rte(half2);
5896long2 __ovld __cnfn convert_long2_sat_rtp(half2);
5897long2 __ovld __cnfn convert_long2_sat_rtn(half2);
5898long2 __ovld __cnfn convert_long2_sat_rtz(half2);
5899long3 __ovld __cnfn convert_long3(half3);
5900long3 __ovld __cnfn convert_long3_rte(half3);
5901long3 __ovld __cnfn convert_long3_rtp(half3);
5902long3 __ovld __cnfn convert_long3_rtn(half3);
5903long3 __ovld __cnfn convert_long3_rtz(half3);
5904long3 __ovld __cnfn convert_long3_sat(half3);
5905long3 __ovld __cnfn convert_long3_sat_rte(half3);
5906long3 __ovld __cnfn convert_long3_sat_rtp(half3);
5907long3 __ovld __cnfn convert_long3_sat_rtn(half3);
5908long3 __ovld __cnfn convert_long3_sat_rtz(half3);
5909long4 __ovld __cnfn convert_long4(half4);
5910long4 __ovld __cnfn convert_long4_rte(half4);
5911long4 __ovld __cnfn convert_long4_rtp(half4);
5912long4 __ovld __cnfn convert_long4_rtn(half4);
5913long4 __ovld __cnfn convert_long4_rtz(half4);
5914long4 __ovld __cnfn convert_long4_sat(half4);
5915long4 __ovld __cnfn convert_long4_sat_rte(half4);
5916long4 __ovld __cnfn convert_long4_sat_rtp(half4);
5917long4 __ovld __cnfn convert_long4_sat_rtn(half4);
5918long4 __ovld __cnfn convert_long4_sat_rtz(half4);
5919long8 __ovld __cnfn convert_long8(half8);
5920long8 __ovld __cnfn convert_long8_rte(half8);
5921long8 __ovld __cnfn convert_long8_rtp(half8);
5922long8 __ovld __cnfn convert_long8_rtn(half8);
5923long8 __ovld __cnfn convert_long8_rtz(half8);
5924long8 __ovld __cnfn convert_long8_sat(half8);
5925long8 __ovld __cnfn convert_long8_sat_rte(half8);
5926long8 __ovld __cnfn convert_long8_sat_rtp(half8);
5927long8 __ovld __cnfn convert_long8_sat_rtn(half8);
5928long8 __ovld __cnfn convert_long8_sat_rtz(half8);
5929long16 __ovld __cnfn convert_long16(half16);
5930long16 __ovld __cnfn convert_long16_rte(half16);
5931long16 __ovld __cnfn convert_long16_rtp(half16);
5932long16 __ovld __cnfn convert_long16_rtn(half16);
5933long16 __ovld __cnfn convert_long16_rtz(half16);
5934long16 __ovld __cnfn convert_long16_sat(half16);
5935long16 __ovld __cnfn convert_long16_sat_rte(half16);
5936long16 __ovld __cnfn convert_long16_sat_rtp(half16);
5937long16 __ovld __cnfn convert_long16_sat_rtn(half16);
5938long16 __ovld __cnfn convert_long16_sat_rtz(half16);
5939float __ovld __cnfn convert_float(half);
5940float __ovld __cnfn convert_float_rte(half);
5941float __ovld __cnfn convert_float_rtp(half);
5942float __ovld __cnfn convert_float_rtn(half);
5943float __ovld __cnfn convert_float_rtz(half);
5944float2 __ovld __cnfn convert_float2(half2);
5945float2 __ovld __cnfn convert_float2_rte(half2);
5946float2 __ovld __cnfn convert_float2_rtp(half2);
5947float2 __ovld __cnfn convert_float2_rtn(half2);
5948float2 __ovld __cnfn convert_float2_rtz(half2);
5949float3 __ovld __cnfn convert_float3(half3);
5950float3 __ovld __cnfn convert_float3_rte(half3);
5951float3 __ovld __cnfn convert_float3_rtp(half3);
5952float3 __ovld __cnfn convert_float3_rtn(half3);
5953float3 __ovld __cnfn convert_float3_rtz(half3);
5954float4 __ovld __cnfn convert_float4(half4);
5955float4 __ovld __cnfn convert_float4_rte(half4);
5956float4 __ovld __cnfn convert_float4_rtp(half4);
5957float4 __ovld __cnfn convert_float4_rtn(half4);
5958float4 __ovld __cnfn convert_float4_rtz(half4);
5959float8 __ovld __cnfn convert_float8(half8);
5960float8 __ovld __cnfn convert_float8_rte(half8);
5961float8 __ovld __cnfn convert_float8_rtp(half8);
5962float8 __ovld __cnfn convert_float8_rtn(half8);
5963float8 __ovld __cnfn convert_float8_rtz(half8);
5964float16 __ovld __cnfn convert_float16(half16);
5965float16 __ovld __cnfn convert_float16_rte(half16);
5966float16 __ovld __cnfn convert_float16_rtp(half16);
5967float16 __ovld __cnfn convert_float16_rtn(half16);
5968float16 __ovld __cnfn convert_float16_rtz(half16);
5969
5970// Convert non-double types to half types.
5971half __ovld __cnfn convert_half(uchar);
5972half __ovld __cnfn convert_half(ushort);
5973half __ovld __cnfn convert_half(uint);
5974half __ovld __cnfn convert_half(ulong);
5975half __ovld __cnfn convert_half(char);
5976half __ovld __cnfn convert_half(short);
5977half __ovld __cnfn convert_half(int);
5978half __ovld __cnfn convert_half(long);
5979half __ovld __cnfn convert_half(float);
5980half __ovld __cnfn convert_half(half);
5981half __ovld __cnfn convert_half_rte(uchar);
5982half __ovld __cnfn convert_half_rte(ushort);
5983half __ovld __cnfn convert_half_rte(uint);
5984half __ovld __cnfn convert_half_rte(ulong);
5985half __ovld __cnfn convert_half_rte(char);
5986half __ovld __cnfn convert_half_rte(short);
5987half __ovld __cnfn convert_half_rte(int);
5988half __ovld __cnfn convert_half_rte(long);
5989half __ovld __cnfn convert_half_rte(float);
5990half __ovld __cnfn convert_half_rte(half);
5991half __ovld __cnfn convert_half_rtp(uchar);
5992half __ovld __cnfn convert_half_rtp(ushort);
5993half __ovld __cnfn convert_half_rtp(uint);
5994half __ovld __cnfn convert_half_rtp(ulong);
5995half __ovld __cnfn convert_half_rtp(char);
5996half __ovld __cnfn convert_half_rtp(short);
5997half __ovld __cnfn convert_half_rtp(int);
5998half __ovld __cnfn convert_half_rtp(long);
5999half __ovld __cnfn convert_half_rtp(float);
6000half __ovld __cnfn convert_half_rtp(half);
6001half __ovld __cnfn convert_half_rtn(uchar);
6002half __ovld __cnfn convert_half_rtn(ushort);
6003half __ovld __cnfn convert_half_rtn(uint);
6004half __ovld __cnfn convert_half_rtn(ulong);
6005half __ovld __cnfn convert_half_rtn(char);
6006half __ovld __cnfn convert_half_rtn(short);
6007half __ovld __cnfn convert_half_rtn(int);
6008half __ovld __cnfn convert_half_rtn(long);
6009half __ovld __cnfn convert_half_rtn(float);
6010half __ovld __cnfn convert_half_rtn(half);
6011half __ovld __cnfn convert_half_rtz(uchar);
6012half __ovld __cnfn convert_half_rtz(ushort);
6013half __ovld __cnfn convert_half_rtz(uint);
6014half __ovld __cnfn convert_half_rtz(ulong);
6015half __ovld __cnfn convert_half_rtz(char);
6016half __ovld __cnfn convert_half_rtz(short);
6017half __ovld __cnfn convert_half_rtz(int);
6018half __ovld __cnfn convert_half_rtz(long);
6019half __ovld __cnfn convert_half_rtz(float);
6020half __ovld __cnfn convert_half_rtz(half);
6021half2 __ovld __cnfn convert_half2(char2);
6022half2 __ovld __cnfn convert_half2(uchar2);
6023half2 __ovld __cnfn convert_half2(short2);
6024half2 __ovld __cnfn convert_half2(ushort2);
6025half2 __ovld __cnfn convert_half2(int2);
6026half2 __ovld __cnfn convert_half2(uint2);
6027half2 __ovld __cnfn convert_half2(long2);
6028half2 __ovld __cnfn convert_half2(ulong2);
6029half2 __ovld __cnfn convert_half2(float2);
6030half2 __ovld __cnfn convert_half2(half2);
6031half2 __ovld __cnfn convert_half2_rte(char2);
6032half2 __ovld __cnfn convert_half2_rte(uchar2);
6033half2 __ovld __cnfn convert_half2_rte(short2);
6034half2 __ovld __cnfn convert_half2_rte(ushort2);
6035half2 __ovld __cnfn convert_half2_rte(int2);
6036half2 __ovld __cnfn convert_half2_rte(uint2);
6037half2 __ovld __cnfn convert_half2_rte(long2);
6038half2 __ovld __cnfn convert_half2_rte(ulong2);
6039half2 __ovld __cnfn convert_half2_rte(float2);
6040half2 __ovld __cnfn convert_half2_rte(half2);
6041half2 __ovld __cnfn convert_half2_rtp(char2);
6042half2 __ovld __cnfn convert_half2_rtp(uchar2);
6043half2 __ovld __cnfn convert_half2_rtp(short2);
6044half2 __ovld __cnfn convert_half2_rtp(ushort2);
6045half2 __ovld __cnfn convert_half2_rtp(int2);
6046half2 __ovld __cnfn convert_half2_rtp(uint2);
6047half2 __ovld __cnfn convert_half2_rtp(long2);
6048half2 __ovld __cnfn convert_half2_rtp(ulong2);
6049half2 __ovld __cnfn convert_half2_rtp(float2);
6050half2 __ovld __cnfn convert_half2_rtp(half2);
6051half2 __ovld __cnfn convert_half2_rtn(char2);
6052half2 __ovld __cnfn convert_half2_rtn(uchar2);
6053half2 __ovld __cnfn convert_half2_rtn(short2);
6054half2 __ovld __cnfn convert_half2_rtn(ushort2);
6055half2 __ovld __cnfn convert_half2_rtn(int2);
6056half2 __ovld __cnfn convert_half2_rtn(uint2);
6057half2 __ovld __cnfn convert_half2_rtn(long2);
6058half2 __ovld __cnfn convert_half2_rtn(ulong2);
6059half2 __ovld __cnfn convert_half2_rtn(float2);
6060half2 __ovld __cnfn convert_half2_rtn(half2);
6061half2 __ovld __cnfn convert_half2_rtz(char2);
6062half2 __ovld __cnfn convert_half2_rtz(uchar2);
6063half2 __ovld __cnfn convert_half2_rtz(short2);
6064half2 __ovld __cnfn convert_half2_rtz(ushort2);
6065half2 __ovld __cnfn convert_half2_rtz(int2);
6066half2 __ovld __cnfn convert_half2_rtz(uint2);
6067half2 __ovld __cnfn convert_half2_rtz(long2);
6068half2 __ovld __cnfn convert_half2_rtz(ulong2);
6069half2 __ovld __cnfn convert_half2_rtz(float2);
6070half2 __ovld __cnfn convert_half2_rtz(half2);
6071half3 __ovld __cnfn convert_half3(char3);
6072half3 __ovld __cnfn convert_half3(uchar3);
6073half3 __ovld __cnfn convert_half3(short3);
6074half3 __ovld __cnfn convert_half3(ushort3);
6075half3 __ovld __cnfn convert_half3(int3);
6076half3 __ovld __cnfn convert_half3(uint3);
6077half3 __ovld __cnfn convert_half3(long3);
6078half3 __ovld __cnfn convert_half3(ulong3);
6079half3 __ovld __cnfn convert_half3(float3);
6080half3 __ovld __cnfn convert_half3(half3);
6081half3 __ovld __cnfn convert_half3_rte(char3);
6082half3 __ovld __cnfn convert_half3_rte(uchar3);
6083half3 __ovld __cnfn convert_half3_rte(short3);
6084half3 __ovld __cnfn convert_half3_rte(ushort3);
6085half3 __ovld __cnfn convert_half3_rte(int3);
6086half3 __ovld __cnfn convert_half3_rte(uint3);
6087half3 __ovld __cnfn convert_half3_rte(long3);
6088half3 __ovld __cnfn convert_half3_rte(ulong3);
6089half3 __ovld __cnfn convert_half3_rte(float3);
6090half3 __ovld __cnfn convert_half3_rte(half3);
6091half3 __ovld __cnfn convert_half3_rtp(char3);
6092half3 __ovld __cnfn convert_half3_rtp(uchar3);
6093half3 __ovld __cnfn convert_half3_rtp(short3);
6094half3 __ovld __cnfn convert_half3_rtp(ushort3);
6095half3 __ovld __cnfn convert_half3_rtp(int3);
6096half3 __ovld __cnfn convert_half3_rtp(uint3);
6097half3 __ovld __cnfn convert_half3_rtp(long3);
6098half3 __ovld __cnfn convert_half3_rtp(ulong3);
6099half3 __ovld __cnfn convert_half3_rtp(float3);
6100half3 __ovld __cnfn convert_half3_rtp(half3);
6101half3 __ovld __cnfn convert_half3_rtn(char3);
6102half3 __ovld __cnfn convert_half3_rtn(uchar3);
6103half3 __ovld __cnfn convert_half3_rtn(short3);
6104half3 __ovld __cnfn convert_half3_rtn(ushort3);
6105half3 __ovld __cnfn convert_half3_rtn(int3);
6106half3 __ovld __cnfn convert_half3_rtn(uint3);
6107half3 __ovld __cnfn convert_half3_rtn(long3);
6108half3 __ovld __cnfn convert_half3_rtn(ulong3);
6109half3 __ovld __cnfn convert_half3_rtn(float3);
6110half3 __ovld __cnfn convert_half3_rtn(half3);
6111half3 __ovld __cnfn convert_half3_rtz(char3);
6112half3 __ovld __cnfn convert_half3_rtz(uchar3);
6113half3 __ovld __cnfn convert_half3_rtz(short3);
6114half3 __ovld __cnfn convert_half3_rtz(ushort3);
6115half3 __ovld __cnfn convert_half3_rtz(int3);
6116half3 __ovld __cnfn convert_half3_rtz(uint3);
6117half3 __ovld __cnfn convert_half3_rtz(long3);
6118half3 __ovld __cnfn convert_half3_rtz(ulong3);
6119half3 __ovld __cnfn convert_half3_rtz(float3);
6120half3 __ovld __cnfn convert_half3_rtz(half3);
6121half4 __ovld __cnfn convert_half4(char4);
6122half4 __ovld __cnfn convert_half4(uchar4);
6123half4 __ovld __cnfn convert_half4(short4);
6124half4 __ovld __cnfn convert_half4(ushort4);
6125half4 __ovld __cnfn convert_half4(int4);
6126half4 __ovld __cnfn convert_half4(uint4);
6127half4 __ovld __cnfn convert_half4(long4);
6128half4 __ovld __cnfn convert_half4(ulong4);
6129half4 __ovld __cnfn convert_half4(float4);
6130half4 __ovld __cnfn convert_half4(half4);
6131half4 __ovld __cnfn convert_half4_rte(char4);
6132half4 __ovld __cnfn convert_half4_rte(uchar4);
6133half4 __ovld __cnfn convert_half4_rte(short4);
6134half4 __ovld __cnfn convert_half4_rte(ushort4);
6135half4 __ovld __cnfn convert_half4_rte(int4);
6136half4 __ovld __cnfn convert_half4_rte(uint4);
6137half4 __ovld __cnfn convert_half4_rte(long4);
6138half4 __ovld __cnfn convert_half4_rte(ulong4);
6139half4 __ovld __cnfn convert_half4_rte(float4);
6140half4 __ovld __cnfn convert_half4_rte(half4);
6141half4 __ovld __cnfn convert_half4_rtp(char4);
6142half4 __ovld __cnfn convert_half4_rtp(uchar4);
6143half4 __ovld __cnfn convert_half4_rtp(short4);
6144half4 __ovld __cnfn convert_half4_rtp(ushort4);
6145half4 __ovld __cnfn convert_half4_rtp(int4);
6146half4 __ovld __cnfn convert_half4_rtp(uint4);
6147half4 __ovld __cnfn convert_half4_rtp(long4);
6148half4 __ovld __cnfn convert_half4_rtp(ulong4);
6149half4 __ovld __cnfn convert_half4_rtp(float4);
6150half4 __ovld __cnfn convert_half4_rtp(half4);
6151half4 __ovld __cnfn convert_half4_rtn(char4);
6152half4 __ovld __cnfn convert_half4_rtn(uchar4);
6153half4 __ovld __cnfn convert_half4_rtn(short4);
6154half4 __ovld __cnfn convert_half4_rtn(ushort4);
6155half4 __ovld __cnfn convert_half4_rtn(int4);
6156half4 __ovld __cnfn convert_half4_rtn(uint4);
6157half4 __ovld __cnfn convert_half4_rtn(long4);
6158half4 __ovld __cnfn convert_half4_rtn(ulong4);
6159half4 __ovld __cnfn convert_half4_rtn(float4);
6160half4 __ovld __cnfn convert_half4_rtn(half4);
6161half4 __ovld __cnfn convert_half4_rtz(char4);
6162half4 __ovld __cnfn convert_half4_rtz(uchar4);
6163half4 __ovld __cnfn convert_half4_rtz(short4);
6164half4 __ovld __cnfn convert_half4_rtz(ushort4);
6165half4 __ovld __cnfn convert_half4_rtz(int4);
6166half4 __ovld __cnfn convert_half4_rtz(uint4);
6167half4 __ovld __cnfn convert_half4_rtz(long4);
6168half4 __ovld __cnfn convert_half4_rtz(ulong4);
6169half4 __ovld __cnfn convert_half4_rtz(float4);
6170half4 __ovld __cnfn convert_half4_rtz(half4);
6171half8 __ovld __cnfn convert_half8(char8);
6172half8 __ovld __cnfn convert_half8(uchar8);
6173half8 __ovld __cnfn convert_half8(short8);
6174half8 __ovld __cnfn convert_half8(ushort8);
6175half8 __ovld __cnfn convert_half8(int8);
6176half8 __ovld __cnfn convert_half8(uint8);
6177half8 __ovld __cnfn convert_half8(long8);
6178half8 __ovld __cnfn convert_half8(ulong8);
6179half8 __ovld __cnfn convert_half8(float8);
6180half8 __ovld __cnfn convert_half8(half8);
6181half8 __ovld __cnfn convert_half8_rte(char8);
6182half8 __ovld __cnfn convert_half8_rte(uchar8);
6183half8 __ovld __cnfn convert_half8_rte(short8);
6184half8 __ovld __cnfn convert_half8_rte(ushort8);
6185half8 __ovld __cnfn convert_half8_rte(int8);
6186half8 __ovld __cnfn convert_half8_rte(uint8);
6187half8 __ovld __cnfn convert_half8_rte(long8);
6188half8 __ovld __cnfn convert_half8_rte(ulong8);
6189half8 __ovld __cnfn convert_half8_rte(float8);
6190half8 __ovld __cnfn convert_half8_rte(half8);
6191half8 __ovld __cnfn convert_half8_rtp(char8);
6192half8 __ovld __cnfn convert_half8_rtp(uchar8);
6193half8 __ovld __cnfn convert_half8_rtp(short8);
6194half8 __ovld __cnfn convert_half8_rtp(ushort8);
6195half8 __ovld __cnfn convert_half8_rtp(int8);
6196half8 __ovld __cnfn convert_half8_rtp(uint8);
6197half8 __ovld __cnfn convert_half8_rtp(long8);
6198half8 __ovld __cnfn convert_half8_rtp(ulong8);
6199half8 __ovld __cnfn convert_half8_rtp(float8);
6200half8 __ovld __cnfn convert_half8_rtp(half8);
6201half8 __ovld __cnfn convert_half8_rtn(char8);
6202half8 __ovld __cnfn convert_half8_rtn(uchar8);
6203half8 __ovld __cnfn convert_half8_rtn(short8);
6204half8 __ovld __cnfn convert_half8_rtn(ushort8);
6205half8 __ovld __cnfn convert_half8_rtn(int8);
6206half8 __ovld __cnfn convert_half8_rtn(uint8);
6207half8 __ovld __cnfn convert_half8_rtn(long8);
6208half8 __ovld __cnfn convert_half8_rtn(ulong8);
6209half8 __ovld __cnfn convert_half8_rtn(float8);
6210half8 __ovld __cnfn convert_half8_rtn(half8);
6211half8 __ovld __cnfn convert_half8_rtz(char8);
6212half8 __ovld __cnfn convert_half8_rtz(uchar8);
6213half8 __ovld __cnfn convert_half8_rtz(short8);
6214half8 __ovld __cnfn convert_half8_rtz(ushort8);
6215half8 __ovld __cnfn convert_half8_rtz(int8);
6216half8 __ovld __cnfn convert_half8_rtz(uint8);
6217half8 __ovld __cnfn convert_half8_rtz(long8);
6218half8 __ovld __cnfn convert_half8_rtz(ulong8);
6219half8 __ovld __cnfn convert_half8_rtz(float8);
6220half8 __ovld __cnfn convert_half8_rtz(half8);
6221half16 __ovld __cnfn convert_half16(char16);
6222half16 __ovld __cnfn convert_half16(uchar16);
6223half16 __ovld __cnfn convert_half16(short16);
6224half16 __ovld __cnfn convert_half16(ushort16);
6225half16 __ovld __cnfn convert_half16(int16);
6226half16 __ovld __cnfn convert_half16(uint16);
6227half16 __ovld __cnfn convert_half16(long16);
6228half16 __ovld __cnfn convert_half16(ulong16);
6229half16 __ovld __cnfn convert_half16(float16);
6230half16 __ovld __cnfn convert_half16(half16);
6231half16 __ovld __cnfn convert_half16_rte(char16);
6232half16 __ovld __cnfn convert_half16_rte(uchar16);
6233half16 __ovld __cnfn convert_half16_rte(short16);
6234half16 __ovld __cnfn convert_half16_rte(ushort16);
6235half16 __ovld __cnfn convert_half16_rte(int16);
6236half16 __ovld __cnfn convert_half16_rte(uint16);
6237half16 __ovld __cnfn convert_half16_rte(long16);
6238half16 __ovld __cnfn convert_half16_rte(ulong16);
6239half16 __ovld __cnfn convert_half16_rte(float16);
6240half16 __ovld __cnfn convert_half16_rte(half16);
6241half16 __ovld __cnfn convert_half16_rtp(char16);
6242half16 __ovld __cnfn convert_half16_rtp(uchar16);
6243half16 __ovld __cnfn convert_half16_rtp(short16);
6244half16 __ovld __cnfn convert_half16_rtp(ushort16);
6245half16 __ovld __cnfn convert_half16_rtp(int16);
6246half16 __ovld __cnfn convert_half16_rtp(uint16);
6247half16 __ovld __cnfn convert_half16_rtp(long16);
6248half16 __ovld __cnfn convert_half16_rtp(ulong16);
6249half16 __ovld __cnfn convert_half16_rtp(float16);
6250half16 __ovld __cnfn convert_half16_rtp(half16);
6251half16 __ovld __cnfn convert_half16_rtn(char16);
6252half16 __ovld __cnfn convert_half16_rtn(uchar16);
6253half16 __ovld __cnfn convert_half16_rtn(short16);
6254half16 __ovld __cnfn convert_half16_rtn(ushort16);
6255half16 __ovld __cnfn convert_half16_rtn(int16);
6256half16 __ovld __cnfn convert_half16_rtn(uint16);
6257half16 __ovld __cnfn convert_half16_rtn(long16);
6258half16 __ovld __cnfn convert_half16_rtn(ulong16);
6259half16 __ovld __cnfn convert_half16_rtn(float16);
6260half16 __ovld __cnfn convert_half16_rtn(half16);
6261half16 __ovld __cnfn convert_half16_rtz(char16);
6262half16 __ovld __cnfn convert_half16_rtz(uchar16);
6263half16 __ovld __cnfn convert_half16_rtz(short16);
6264half16 __ovld __cnfn convert_half16_rtz(ushort16);
6265half16 __ovld __cnfn convert_half16_rtz(int16);
6266half16 __ovld __cnfn convert_half16_rtz(uint16);
6267half16 __ovld __cnfn convert_half16_rtz(long16);
6268half16 __ovld __cnfn convert_half16_rtz(ulong16);
6269half16 __ovld __cnfn convert_half16_rtz(float16);
6270half16 __ovld __cnfn convert_half16_rtz(half16);
6271
6272// Convert half types to double types.
6273#ifdef cl_khr_fp64
6274double __ovld __cnfn convert_double(half);
6275double __ovld __cnfn convert_double_rte(half);
6276double __ovld __cnfn convert_double_rtp(half);
6277double __ovld __cnfn convert_double_rtn(half);
6278double __ovld __cnfn convert_double_rtz(half);
6279double2 __ovld __cnfn convert_double2(half2);
6280double2 __ovld __cnfn convert_double2_rte(half2);
6281double2 __ovld __cnfn convert_double2_rtp(half2);
6282double2 __ovld __cnfn convert_double2_rtn(half2);
6283double2 __ovld __cnfn convert_double2_rtz(half2);
6284double3 __ovld __cnfn convert_double3(half3);
6285double3 __ovld __cnfn convert_double3_rte(half3);
6286double3 __ovld __cnfn convert_double3_rtp(half3);
6287double3 __ovld __cnfn convert_double3_rtn(half3);
6288double3 __ovld __cnfn convert_double3_rtz(half3);
6289double4 __ovld __cnfn convert_double4(half4);
6290double4 __ovld __cnfn convert_double4_rte(half4);
6291double4 __ovld __cnfn convert_double4_rtp(half4);
6292double4 __ovld __cnfn convert_double4_rtn(half4);
6293double4 __ovld __cnfn convert_double4_rtz(half4);
6294double8 __ovld __cnfn convert_double8(half8);
6295double8 __ovld __cnfn convert_double8_rte(half8);
6296double8 __ovld __cnfn convert_double8_rtp(half8);
6297double8 __ovld __cnfn convert_double8_rtn(half8);
6298double8 __ovld __cnfn convert_double8_rtz(half8);
6299double16 __ovld __cnfn convert_double16(half16);
6300double16 __ovld __cnfn convert_double16_rte(half16);
6301double16 __ovld __cnfn convert_double16_rtp(half16);
6302double16 __ovld __cnfn convert_double16_rtn(half16);
6303double16 __ovld __cnfn convert_double16_rtz(half16);
6304
6305// Convert double types to half types.
6306half __ovld __cnfn convert_half(double);
6307half __ovld __cnfn convert_half_rte(double);
6308half __ovld __cnfn convert_half_rtp(double);
6309half __ovld __cnfn convert_half_rtn(double);
6310half __ovld __cnfn convert_half_rtz(double);
6311half2 __ovld __cnfn convert_half2(double2);
6312half2 __ovld __cnfn convert_half2_rte(double2);
6313half2 __ovld __cnfn convert_half2_rtp(double2);
6314half2 __ovld __cnfn convert_half2_rtn(double2);
6315half2 __ovld __cnfn convert_half2_rtz(double2);
6316half3 __ovld __cnfn convert_half3(double3);
6317half3 __ovld __cnfn convert_half3_rte(double3);
6318half3 __ovld __cnfn convert_half3_rtp(double3);
6319half3 __ovld __cnfn convert_half3_rtn(double3);
6320half3 __ovld __cnfn convert_half3_rtz(double3);
6321half4 __ovld __cnfn convert_half4(double4);
6322half4 __ovld __cnfn convert_half4_rte(double4);
6323half4 __ovld __cnfn convert_half4_rtp(double4);
6324half4 __ovld __cnfn convert_half4_rtn(double4);
6325half4 __ovld __cnfn convert_half4_rtz(double4);
6326half8 __ovld __cnfn convert_half8(double8);
6327half8 __ovld __cnfn convert_half8_rte(double8);
6328half8 __ovld __cnfn convert_half8_rtp(double8);
6329half8 __ovld __cnfn convert_half8_rtn(double8);
6330half8 __ovld __cnfn convert_half8_rtz(double8);
6331half16 __ovld __cnfn convert_half16(double16);
6332half16 __ovld __cnfn convert_half16_rte(double16);
6333half16 __ovld __cnfn convert_half16_rtp(double16);
6334half16 __ovld __cnfn convert_half16_rtn(double16);
6335half16 __ovld __cnfn convert_half16_rtz(double16);
6336#endif //cl_khr_fp64
6337
6338#endif // cl_khr_fp16
6339
6340/**
6341 * OpenCL v1.1/1.2/2.0 s6.2.4.2 - as_type operators
6342 * Reinterprets a data type as another data type of the same size
6343 */
6344#define as_char(x) __builtin_astype((x),   char)
6345#define as_char2(x) __builtin_astype((x),  char2)
6346#define as_char3(x) __builtin_astype((x),  char3)
6347#define as_char4(x) __builtin_astype((x),  char4)
6348#define as_char8(x) __builtin_astype((x),  char8)
6349#define as_char16(x) __builtin_astype((x), char16)
6350
6351#define as_uchar(x) __builtin_astype((x),   uchar)
6352#define as_uchar2(x) __builtin_astype((x),  uchar2)
6353#define as_uchar3(x) __builtin_astype((x),  uchar3)
6354#define as_uchar4(x) __builtin_astype((x),  uchar4)
6355#define as_uchar8(x) __builtin_astype((x),  uchar8)
6356#define as_uchar16(x) __builtin_astype((x), uchar16)
6357
6358#define as_short(x) __builtin_astype((x),   short)
6359#define as_short2(x) __builtin_astype((x),  short2)
6360#define as_short3(x) __builtin_astype((x),  short3)
6361#define as_short4(x) __builtin_astype((x),  short4)
6362#define as_short8(x) __builtin_astype((x),  short8)
6363#define as_short16(x) __builtin_astype((x), short16)
6364
6365#define as_ushort(x) __builtin_astype((x),   ushort)
6366#define as_ushort2(x) __builtin_astype((x),  ushort2)
6367#define as_ushort3(x) __builtin_astype((x),  ushort3)
6368#define as_ushort4(x) __builtin_astype((x),  ushort4)
6369#define as_ushort8(x) __builtin_astype((x),  ushort8)
6370#define as_ushort16(x) __builtin_astype((x), ushort16)
6371
6372#define as_int(x) __builtin_astype((x),   int)
6373#define as_int2(x) __builtin_astype((x),  int2)
6374#define as_int3(x) __builtin_astype((x),  int3)
6375#define as_int4(x) __builtin_astype((x),  int4)
6376#define as_int8(x) __builtin_astype((x),  int8)
6377#define as_int16(x) __builtin_astype((x), int16)
6378
6379#define as_uint(x) __builtin_astype((x),   uint)
6380#define as_uint2(x) __builtin_astype((x),  uint2)
6381#define as_uint3(x) __builtin_astype((x),  uint3)
6382#define as_uint4(x) __builtin_astype((x),  uint4)
6383#define as_uint8(x) __builtin_astype((x),  uint8)
6384#define as_uint16(x) __builtin_astype((x), uint16)
6385
6386#define as_long(x) __builtin_astype((x),   long)
6387#define as_long2(x) __builtin_astype((x),  long2)
6388#define as_long3(x) __builtin_astype((x),  long3)
6389#define as_long4(x) __builtin_astype((x),  long4)
6390#define as_long8(x) __builtin_astype((x),  long8)
6391#define as_long16(x) __builtin_astype((x), long16)
6392
6393#define as_ulong(x) __builtin_astype((x),   ulong)
6394#define as_ulong2(x) __builtin_astype((x),  ulong2)
6395#define as_ulong3(x) __builtin_astype((x),  ulong3)
6396#define as_ulong4(x) __builtin_astype((x),  ulong4)
6397#define as_ulong8(x) __builtin_astype((x),  ulong8)
6398#define as_ulong16(x) __builtin_astype((x), ulong16)
6399
6400#define as_float(x) __builtin_astype((x),   float)
6401#define as_float2(x) __builtin_astype((x),  float2)
6402#define as_float3(x) __builtin_astype((x),  float3)
6403#define as_float4(x) __builtin_astype((x),  float4)
6404#define as_float8(x) __builtin_astype((x),  float8)
6405#define as_float16(x) __builtin_astype((x), float16)
6406
6407#ifdef cl_khr_fp64
6408#define as_double(x) __builtin_astype((x),   double)
6409#define as_double2(x) __builtin_astype((x),  double2)
6410#define as_double3(x) __builtin_astype((x),  double3)
6411#define as_double4(x) __builtin_astype((x),  double4)
6412#define as_double8(x) __builtin_astype((x),  double8)
6413#define as_double16(x) __builtin_astype((x), double16)
6414#endif //cl_khr_fp64
6415
6416#ifdef cl_khr_fp16
6417#define as_half(x) __builtin_astype((x),   half)
6418#define as_half2(x) __builtin_astype((x),  half2)
6419#define as_half3(x) __builtin_astype((x),  half3)
6420#define as_half4(x) __builtin_astype((x),  half4)
6421#define as_half8(x) __builtin_astype((x),  half8)
6422#define as_half16(x) __builtin_astype((x), half16)
6423#endif //cl_khr_fp16
6424
6425// OpenCL v1.1 s6.9, v1.2/2.0 s6.10 - Function qualifiers
6426
6427#define __kernel_exec(X, typen) __kernel \
6428	__attribute__((work_group_size_hint(X, 1, 1))) \
6429	__attribute__((vec_type_hint(typen)))
6430
6431#define kernel_exec(X, typen) __kernel \
6432	__attribute__((work_group_size_hint(X, 1, 1))) \
6433	__attribute__((vec_type_hint(typen)))
6434
6435// OpenCL v1.1 s6.11.1, v1.2 s6.12.1, v2.0 s6.13.1 - Work-item Functions
6436
6437/**
6438 * Returns the number of dimensions in use. This is the
6439 * value given to the work_dim argument specified in
6440 * clEnqueueNDRangeKernel.
6441 * For clEnqueueTask, this returns 1.
6442 */
6443uint __ovld __cnfn get_work_dim(void);
6444
6445/**
6446 * Returns the number of global work-items specified for
6447 * dimension identified by dimindx. This value is given by
6448 * the global_work_size argument to
6449 * clEnqueueNDRangeKernel. Valid values of dimindx
6450 * are 0 to get_work_dim() - 1. For other values of
6451 * dimindx, get_global_size() returns 1.
6452 * For clEnqueueTask, this always returns 1.
6453 */
6454size_t __ovld __cnfn get_global_size(uint dimindx);
6455
6456/**
6457 * Returns the unique global work-item ID value for
6458 * dimension identified by dimindx. The global work-item
6459 * ID specifies the work-item ID based on the number of
6460 * global work-items specified to execute the kernel. Valid
6461 * values of dimindx are 0 to get_work_dim() - 1. For
6462 * other values of dimindx, get_global_id() returns 0.
6463 * For clEnqueueTask, this returns 0.
6464 */
6465size_t __ovld __cnfn get_global_id(uint dimindx);
6466
6467/**
6468 * Returns the number of local work-items specified in
6469 * dimension identified by dimindx. This value is given by
6470 * the local_work_size argument to
6471 * clEnqueueNDRangeKernel if local_work_size is not
6472 * NULL; otherwise the OpenCL implementation chooses
6473 * an appropriate local_work_size value which is returned
6474 * by this function. Valid values of dimindx are 0 to
6475 * get_work_dim() - 1. For other values of dimindx,
6476 * get_local_size() returns 1.
6477 * For clEnqueueTask, this always returns 1.
6478 */
6479size_t __ovld __cnfn get_local_size(uint dimindx);
6480
6481/**
6482 * Returns the unique local work-item ID i.e. a work-item
6483 * within a specific work-group for dimension identified by
6484 * dimindx. Valid values of dimindx are 0 to
6485 * get_work_dim() - 1. For other values of dimindx,
6486 * get_local_id() returns 0.
6487 * For clEnqueueTask, this returns 0.
6488 */
6489size_t __ovld __cnfn get_local_id(uint dimindx);
6490
6491/**
6492 * Returns the number of work-groups that will execute a
6493 * kernel for dimension identified by dimindx.
6494 * Valid values of dimindx are 0 to get_work_dim() - 1.
6495 * For other values of dimindx, get_num_groups () returns
6496 * 1.
6497 * For clEnqueueTask, this always returns 1.
6498 */
6499size_t __ovld __cnfn get_num_groups(uint dimindx);
6500
6501/**
6502 * get_group_id returns the work-group ID which is a
6503 * number from 0 .. get_num_groups(dimindx) - 1.
6504 * Valid values of dimindx are 0 to get_work_dim() - 1.
6505 * For other values, get_group_id() returns 0.
6506 * For clEnqueueTask, this returns 0.
6507 */
6508size_t __ovld __cnfn get_group_id(uint dimindx);
6509
6510/**
6511 * get_global_offset returns the offset values specified in
6512 * global_work_offset argument to
6513 * clEnqueueNDRangeKernel.
6514 * Valid values of dimindx are 0 to get_work_dim() - 1.
6515 * For other values, get_global_offset() returns 0.
6516 * For clEnqueueTask, this returns 0.
6517 */
6518size_t __ovld __cnfn get_global_offset(uint dimindx);
6519
6520#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
6521size_t __ovld get_enqueued_local_size(uint dimindx);
6522size_t __ovld get_global_linear_id(void);
6523size_t __ovld get_local_linear_id(void);
6524#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
6525
6526// OpenCL v1.1 s6.11.2, v1.2 s6.12.2, v2.0 s6.13.2 - Math functions
6527
6528/**
6529 * Arc cosine function.
6530 */
6531float __ovld __cnfn acos(float);
6532float2 __ovld __cnfn acos(float2);
6533float3 __ovld __cnfn acos(float3);
6534float4 __ovld __cnfn acos(float4);
6535float8 __ovld __cnfn acos(float8);
6536float16 __ovld __cnfn acos(float16);
6537#ifdef cl_khr_fp64
6538double __ovld __cnfn acos(double);
6539double2 __ovld __cnfn acos(double2);
6540double3 __ovld __cnfn acos(double3);
6541double4 __ovld __cnfn acos(double4);
6542double8 __ovld __cnfn acos(double8);
6543double16 __ovld __cnfn acos(double16);
6544#endif //cl_khr_fp64
6545#ifdef cl_khr_fp16
6546half __ovld __cnfn acos(half);
6547half2 __ovld __cnfn acos(half2);
6548half3 __ovld __cnfn acos(half3);
6549half4 __ovld __cnfn acos(half4);
6550half8 __ovld __cnfn acos(half8);
6551half16 __ovld __cnfn acos(half16);
6552#endif //cl_khr_fp16
6553
6554/**
6555 * Inverse hyperbolic cosine.
6556 */
6557float __ovld __cnfn acosh(float);
6558float2 __ovld __cnfn acosh(float2);
6559float3 __ovld __cnfn acosh(float3);
6560float4 __ovld __cnfn acosh(float4);
6561float8 __ovld __cnfn acosh(float8);
6562float16 __ovld __cnfn acosh(float16);
6563#ifdef cl_khr_fp64
6564double __ovld __cnfn acosh(double);
6565double2 __ovld __cnfn acosh(double2);
6566double3 __ovld __cnfn acosh(double3);
6567double4 __ovld __cnfn acosh(double4);
6568double8 __ovld __cnfn acosh(double8);
6569double16 __ovld __cnfn acosh(double16);
6570#endif //cl_khr_fp64
6571#ifdef cl_khr_fp16
6572half __ovld __cnfn acosh(half);
6573half2 __ovld __cnfn acosh(half2);
6574half3 __ovld __cnfn acosh(half3);
6575half4 __ovld __cnfn acosh(half4);
6576half8 __ovld __cnfn acosh(half8);
6577half16 __ovld __cnfn acosh(half16);
6578#endif //cl_khr_fp16
6579
6580/**
6581 * Compute acos (x) / PI.
6582 */
6583float __ovld __cnfn acospi(float x);
6584float2 __ovld __cnfn acospi(float2 x);
6585float3 __ovld __cnfn acospi(float3 x);
6586float4 __ovld __cnfn acospi(float4 x);
6587float8 __ovld __cnfn acospi(float8 x);
6588float16 __ovld __cnfn acospi(float16 x);
6589#ifdef cl_khr_fp64
6590double __ovld __cnfn acospi(double x);
6591double2 __ovld __cnfn acospi(double2 x);
6592double3 __ovld __cnfn acospi(double3 x);
6593double4 __ovld __cnfn acospi(double4 x);
6594double8 __ovld __cnfn acospi(double8 x);
6595double16 __ovld __cnfn acospi(double16 x);
6596#endif //cl_khr_fp64
6597#ifdef cl_khr_fp16
6598half __ovld __cnfn acospi(half x);
6599half2 __ovld __cnfn acospi(half2 x);
6600half3 __ovld __cnfn acospi(half3 x);
6601half4 __ovld __cnfn acospi(half4 x);
6602half8 __ovld __cnfn acospi(half8 x);
6603half16 __ovld __cnfn acospi(half16 x);
6604#endif //cl_khr_fp16
6605
6606/**
6607 * Arc sine function.
6608 */
6609float __ovld __cnfn asin(float);
6610float2 __ovld __cnfn asin(float2);
6611float3 __ovld __cnfn asin(float3);
6612float4 __ovld __cnfn asin(float4);
6613float8 __ovld __cnfn asin(float8);
6614float16 __ovld __cnfn asin(float16);
6615#ifdef cl_khr_fp64
6616double __ovld __cnfn asin(double);
6617double2 __ovld __cnfn asin(double2);
6618double3 __ovld __cnfn asin(double3);
6619double4 __ovld __cnfn asin(double4);
6620double8 __ovld __cnfn asin(double8);
6621double16 __ovld __cnfn asin(double16);
6622#endif //cl_khr_fp64
6623#ifdef cl_khr_fp16
6624half __ovld __cnfn asin(half);
6625half2 __ovld __cnfn asin(half2);
6626half3 __ovld __cnfn asin(half3);
6627half4 __ovld __cnfn asin(half4);
6628half8 __ovld __cnfn asin(half8);
6629half16 __ovld __cnfn asin(half16);
6630#endif //cl_khr_fp16
6631
6632/**
6633 * Inverse hyperbolic sine.
6634 */
6635float __ovld __cnfn asinh(float);
6636float2 __ovld __cnfn asinh(float2);
6637float3 __ovld __cnfn asinh(float3);
6638float4 __ovld __cnfn asinh(float4);
6639float8 __ovld __cnfn asinh(float8);
6640float16 __ovld __cnfn asinh(float16);
6641#ifdef cl_khr_fp64
6642double __ovld __cnfn asinh(double);
6643double2 __ovld __cnfn asinh(double2);
6644double3 __ovld __cnfn asinh(double3);
6645double4 __ovld __cnfn asinh(double4);
6646double8 __ovld __cnfn asinh(double8);
6647double16 __ovld __cnfn asinh(double16);
6648#endif //cl_khr_fp64
6649#ifdef cl_khr_fp16
6650half __ovld __cnfn asinh(half);
6651half2 __ovld __cnfn asinh(half2);
6652half3 __ovld __cnfn asinh(half3);
6653half4 __ovld __cnfn asinh(half4);
6654half8 __ovld __cnfn asinh(half8);
6655half16 __ovld __cnfn asinh(half16);
6656#endif //cl_khr_fp16
6657
6658/**
6659 * Compute asin (x) / PI.
6660 */
6661float __ovld __cnfn asinpi(float x);
6662float2 __ovld __cnfn asinpi(float2 x);
6663float3 __ovld __cnfn asinpi(float3 x);
6664float4 __ovld __cnfn asinpi(float4 x);
6665float8 __ovld __cnfn asinpi(float8 x);
6666float16 __ovld __cnfn asinpi(float16 x);
6667#ifdef cl_khr_fp64
6668double __ovld __cnfn asinpi(double x);
6669double2 __ovld __cnfn asinpi(double2 x);
6670double3 __ovld __cnfn asinpi(double3 x);
6671double4 __ovld __cnfn asinpi(double4 x);
6672double8 __ovld __cnfn asinpi(double8 x);
6673double16 __ovld __cnfn asinpi(double16 x);
6674#endif //cl_khr_fp64
6675#ifdef cl_khr_fp16
6676half __ovld __cnfn asinpi(half x);
6677half2 __ovld __cnfn asinpi(half2 x);
6678half3 __ovld __cnfn asinpi(half3 x);
6679half4 __ovld __cnfn asinpi(half4 x);
6680half8 __ovld __cnfn asinpi(half8 x);
6681half16 __ovld __cnfn asinpi(half16 x);
6682#endif //cl_khr_fp16
6683
6684/**
6685 * Arc tangent function.
6686 */
6687float __ovld __cnfn atan(float y_over_x);
6688float2 __ovld __cnfn atan(float2 y_over_x);
6689float3 __ovld __cnfn atan(float3 y_over_x);
6690float4 __ovld __cnfn atan(float4 y_over_x);
6691float8 __ovld __cnfn atan(float8 y_over_x);
6692float16 __ovld __cnfn atan(float16 y_over_x);
6693#ifdef cl_khr_fp64
6694double __ovld __cnfn atan(double y_over_x);
6695double2 __ovld __cnfn atan(double2 y_over_x);
6696double3 __ovld __cnfn atan(double3 y_over_x);
6697double4 __ovld __cnfn atan(double4 y_over_x);
6698double8 __ovld __cnfn atan(double8 y_over_x);
6699double16 __ovld __cnfn atan(double16 y_over_x);
6700#endif //cl_khr_fp64
6701#ifdef cl_khr_fp16
6702half __ovld __cnfn atan(half y_over_x);
6703half2 __ovld __cnfn atan(half2 y_over_x);
6704half3 __ovld __cnfn atan(half3 y_over_x);
6705half4 __ovld __cnfn atan(half4 y_over_x);
6706half8 __ovld __cnfn atan(half8 y_over_x);
6707half16 __ovld __cnfn atan(half16 y_over_x);
6708#endif //cl_khr_fp16
6709
6710/**
6711 * Arc tangent of y / x.
6712 */
6713float __ovld __cnfn atan2(float y, float x);
6714float2 __ovld __cnfn atan2(float2 y, float2 x);
6715float3 __ovld __cnfn atan2(float3 y, float3 x);
6716float4 __ovld __cnfn atan2(float4 y, float4 x);
6717float8 __ovld __cnfn atan2(float8 y, float8 x);
6718float16 __ovld __cnfn atan2(float16 y, float16 x);
6719#ifdef cl_khr_fp64
6720double __ovld __cnfn atan2(double y, double x);
6721double2 __ovld __cnfn atan2(double2 y, double2 x);
6722double3 __ovld __cnfn atan2(double3 y, double3 x);
6723double4 __ovld __cnfn atan2(double4 y, double4 x);
6724double8 __ovld __cnfn atan2(double8 y, double8 x);
6725double16 __ovld __cnfn atan2(double16 y, double16 x);
6726#endif //cl_khr_fp64
6727#ifdef cl_khr_fp16
6728half __ovld __cnfn atan2(half y, half x);
6729half2 __ovld __cnfn atan2(half2 y, half2 x);
6730half3 __ovld __cnfn atan2(half3 y, half3 x);
6731half4 __ovld __cnfn atan2(half4 y, half4 x);
6732half8 __ovld __cnfn atan2(half8 y, half8 x);
6733half16 __ovld __cnfn atan2(half16 y, half16 x);
6734#endif //cl_khr_fp16
6735
6736/**
6737 * Hyperbolic arc tangent.
6738 */
6739float __ovld __cnfn atanh(float);
6740float2 __ovld __cnfn atanh(float2);
6741float3 __ovld __cnfn atanh(float3);
6742float4 __ovld __cnfn atanh(float4);
6743float8 __ovld __cnfn atanh(float8);
6744float16 __ovld __cnfn atanh(float16);
6745#ifdef cl_khr_fp64
6746double __ovld __cnfn atanh(double);
6747double2 __ovld __cnfn atanh(double2);
6748double3 __ovld __cnfn atanh(double3);
6749double4 __ovld __cnfn atanh(double4);
6750double8 __ovld __cnfn atanh(double8);
6751double16 __ovld __cnfn atanh(double16);
6752#endif //cl_khr_fp64
6753#ifdef cl_khr_fp16
6754half __ovld __cnfn atanh(half);
6755half2 __ovld __cnfn atanh(half2);
6756half3 __ovld __cnfn atanh(half3);
6757half4 __ovld __cnfn atanh(half4);
6758half8 __ovld __cnfn atanh(half8);
6759half16 __ovld __cnfn atanh(half16);
6760#endif //cl_khr_fp16
6761
6762/**
6763 * Compute atan (x) / PI.
6764 */
6765float __ovld __cnfn atanpi(float x);
6766float2 __ovld __cnfn atanpi(float2 x);
6767float3 __ovld __cnfn atanpi(float3 x);
6768float4 __ovld __cnfn atanpi(float4 x);
6769float8 __ovld __cnfn atanpi(float8 x);
6770float16 __ovld __cnfn atanpi(float16 x);
6771#ifdef cl_khr_fp64
6772double __ovld __cnfn atanpi(double x);
6773double2 __ovld __cnfn atanpi(double2 x);
6774double3 __ovld __cnfn atanpi(double3 x);
6775double4 __ovld __cnfn atanpi(double4 x);
6776double8 __ovld __cnfn atanpi(double8 x);
6777double16 __ovld __cnfn atanpi(double16 x);
6778#endif //cl_khr_fp64
6779#ifdef cl_khr_fp16
6780half __ovld __cnfn atanpi(half x);
6781half2 __ovld __cnfn atanpi(half2 x);
6782half3 __ovld __cnfn atanpi(half3 x);
6783half4 __ovld __cnfn atanpi(half4 x);
6784half8 __ovld __cnfn atanpi(half8 x);
6785half16 __ovld __cnfn atanpi(half16 x);
6786#endif //cl_khr_fp16
6787
6788/**
6789 * Compute atan2 (y, x) / PI.
6790 */
6791float __ovld __cnfn atan2pi(float y, float x);
6792float2 __ovld __cnfn atan2pi(float2 y, float2 x);
6793float3 __ovld __cnfn atan2pi(float3 y, float3 x);
6794float4 __ovld __cnfn atan2pi(float4 y, float4 x);
6795float8 __ovld __cnfn atan2pi(float8 y, float8 x);
6796float16 __ovld __cnfn atan2pi(float16 y, float16 x);
6797#ifdef cl_khr_fp64
6798double __ovld __cnfn atan2pi(double y, double x);
6799double2 __ovld __cnfn atan2pi(double2 y, double2 x);
6800double3 __ovld __cnfn atan2pi(double3 y, double3 x);
6801double4 __ovld __cnfn atan2pi(double4 y, double4 x);
6802double8 __ovld __cnfn atan2pi(double8 y, double8 x);
6803double16 __ovld __cnfn atan2pi(double16 y, double16 x);
6804#endif //cl_khr_fp64
6805#ifdef cl_khr_fp16
6806half __ovld __cnfn atan2pi(half y, half x);
6807half2 __ovld __cnfn atan2pi(half2 y, half2 x);
6808half3 __ovld __cnfn atan2pi(half3 y, half3 x);
6809half4 __ovld __cnfn atan2pi(half4 y, half4 x);
6810half8 __ovld __cnfn atan2pi(half8 y, half8 x);
6811half16 __ovld __cnfn atan2pi(half16 y, half16 x);
6812#endif //cl_khr_fp16
6813
6814/**
6815 * Compute cube-root.
6816 */
6817float __ovld __cnfn cbrt(float);
6818float2 __ovld __cnfn cbrt(float2);
6819float3 __ovld __cnfn cbrt(float3);
6820float4 __ovld __cnfn cbrt(float4);
6821float8 __ovld __cnfn cbrt(float8);
6822float16 __ovld __cnfn cbrt(float16);
6823#ifdef cl_khr_fp64
6824double __ovld __cnfn cbrt(double);
6825double2 __ovld __cnfn cbrt(double2);
6826double3 __ovld __cnfn cbrt(double3);
6827double4 __ovld __cnfn cbrt(double4);
6828double8 __ovld __cnfn cbrt(double8);
6829double16 __ovld __cnfn cbrt(double16);
6830#endif //cl_khr_fp64
6831#ifdef cl_khr_fp16
6832half __ovld __cnfn cbrt(half);
6833half2 __ovld __cnfn cbrt(half2);
6834half3 __ovld __cnfn cbrt(half3);
6835half4 __ovld __cnfn cbrt(half4);
6836half8 __ovld __cnfn cbrt(half8);
6837half16 __ovld __cnfn cbrt(half16);
6838#endif //cl_khr_fp16
6839
6840/**
6841 * Round to integral value using the round to positive
6842 * infinity rounding mode.
6843 */
6844float __ovld __cnfn ceil(float);
6845float2 __ovld __cnfn ceil(float2);
6846float3 __ovld __cnfn ceil(float3);
6847float4 __ovld __cnfn ceil(float4);
6848float8 __ovld __cnfn ceil(float8);
6849float16 __ovld __cnfn ceil(float16);
6850#ifdef cl_khr_fp64
6851double __ovld __cnfn ceil(double);
6852double2 __ovld __cnfn ceil(double2);
6853double3 __ovld __cnfn ceil(double3);
6854double4 __ovld __cnfn ceil(double4);
6855double8 __ovld __cnfn ceil(double8);
6856double16 __ovld __cnfn ceil(double16);
6857#endif //cl_khr_fp64
6858#ifdef cl_khr_fp16
6859half __ovld __cnfn ceil(half);
6860half2 __ovld __cnfn ceil(half2);
6861half3 __ovld __cnfn ceil(half3);
6862half4 __ovld __cnfn ceil(half4);
6863half8 __ovld __cnfn ceil(half8);
6864half16 __ovld __cnfn ceil(half16);
6865#endif //cl_khr_fp16
6866
6867/**
6868 * Returns x with its sign changed to match the sign of y.
6869 */
6870float __ovld __cnfn copysign(float x, float y);
6871float2 __ovld __cnfn copysign(float2 x, float2 y);
6872float3 __ovld __cnfn copysign(float3 x, float3 y);
6873float4 __ovld __cnfn copysign(float4 x, float4 y);
6874float8 __ovld __cnfn copysign(float8 x, float8 y);
6875float16 __ovld __cnfn copysign(float16 x, float16 y);
6876#ifdef cl_khr_fp64
6877double __ovld __cnfn copysign(double x, double y);
6878double2 __ovld __cnfn copysign(double2 x, double2 y);
6879double3 __ovld __cnfn copysign(double3 x, double3 y);
6880double4 __ovld __cnfn copysign(double4 x, double4 y);
6881double8 __ovld __cnfn copysign(double8 x, double8 y);
6882double16 __ovld __cnfn copysign(double16 x, double16 y);
6883#endif //cl_khr_fp64
6884#ifdef cl_khr_fp16
6885half __ovld __cnfn copysign(half x, half y);
6886half2 __ovld __cnfn copysign(half2 x, half2 y);
6887half3 __ovld __cnfn copysign(half3 x, half3 y);
6888half4 __ovld __cnfn copysign(half4 x, half4 y);
6889half8 __ovld __cnfn copysign(half8 x, half8 y);
6890half16 __ovld __cnfn copysign(half16 x, half16 y);
6891#endif //cl_khr_fp16
6892
6893/**
6894 * Compute cosine.
6895 */
6896float __ovld __cnfn cos(float);
6897float2 __ovld __cnfn cos(float2);
6898float3 __ovld __cnfn cos(float3);
6899float4 __ovld __cnfn cos(float4);
6900float8 __ovld __cnfn cos(float8);
6901float16 __ovld __cnfn cos(float16);
6902#ifdef cl_khr_fp64
6903double __ovld __cnfn cos(double);
6904double2 __ovld __cnfn cos(double2);
6905double3 __ovld __cnfn cos(double3);
6906double4 __ovld __cnfn cos(double4);
6907double8 __ovld __cnfn cos(double8);
6908double16 __ovld __cnfn cos(double16);
6909#endif //cl_khr_fp64
6910#ifdef cl_khr_fp16
6911half __ovld __cnfn cos(half);
6912half2 __ovld __cnfn cos(half2);
6913half3 __ovld __cnfn cos(half3);
6914half4 __ovld __cnfn cos(half4);
6915half8 __ovld __cnfn cos(half8);
6916half16 __ovld __cnfn cos(half16);
6917#endif //cl_khr_fp16
6918
6919/**
6920 * Compute hyperbolic cosine.
6921 */
6922float __ovld __cnfn cosh(float);
6923float2 __ovld __cnfn cosh(float2);
6924float3 __ovld __cnfn cosh(float3);
6925float4 __ovld __cnfn cosh(float4);
6926float8 __ovld __cnfn cosh(float8);
6927float16 __ovld __cnfn cosh(float16);
6928#ifdef cl_khr_fp64
6929double __ovld __cnfn cosh(double);
6930double2 __ovld __cnfn cosh(double2);
6931double3 __ovld __cnfn cosh(double3);
6932double4 __ovld __cnfn cosh(double4);
6933double8 __ovld __cnfn cosh(double8);
6934double16 __ovld __cnfn cosh(double16);
6935#endif //cl_khr_fp64
6936#ifdef cl_khr_fp16
6937half __ovld __cnfn cosh(half);
6938half2 __ovld __cnfn cosh(half2);
6939half3 __ovld __cnfn cosh(half3);
6940half4 __ovld __cnfn cosh(half4);
6941half8 __ovld __cnfn cosh(half8);
6942half16 __ovld __cnfn cosh(half16);
6943#endif //cl_khr_fp16
6944
6945/**
6946 * Compute cos (PI * x).
6947 */
6948float __ovld __cnfn cospi(float x);
6949float2 __ovld __cnfn cospi(float2 x);
6950float3 __ovld __cnfn cospi(float3 x);
6951float4 __ovld __cnfn cospi(float4 x);
6952float8 __ovld __cnfn cospi(float8 x);
6953float16 __ovld __cnfn cospi(float16 x);
6954#ifdef cl_khr_fp64
6955double __ovld __cnfn cospi(double x);
6956double2 __ovld __cnfn cospi(double2 x);
6957double3 __ovld __cnfn cospi(double3 x);
6958double4 __ovld __cnfn cospi(double4 x);
6959double8 __ovld __cnfn cospi(double8 x);
6960double16 __ovld __cnfn cospi(double16 x);
6961#endif //cl_khr_fp64
6962#ifdef cl_khr_fp16
6963half __ovld __cnfn cospi(half x);
6964half2 __ovld __cnfn cospi(half2 x);
6965half3 __ovld __cnfn cospi(half3 x);
6966half4 __ovld __cnfn cospi(half4 x);
6967half8 __ovld __cnfn cospi(half8 x);
6968half16 __ovld __cnfn cospi(half16 x);
6969#endif //cl_khr_fp16
6970
6971/**
6972 * Complementary error function.
6973 */
6974float __ovld __cnfn erfc(float);
6975float2 __ovld __cnfn erfc(float2);
6976float3 __ovld __cnfn erfc(float3);
6977float4 __ovld __cnfn erfc(float4);
6978float8 __ovld __cnfn erfc(float8);
6979float16 __ovld __cnfn erfc(float16);
6980#ifdef cl_khr_fp64
6981double __ovld __cnfn erfc(double);
6982double2 __ovld __cnfn erfc(double2);
6983double3 __ovld __cnfn erfc(double3);
6984double4 __ovld __cnfn erfc(double4);
6985double8 __ovld __cnfn erfc(double8);
6986double16 __ovld __cnfn erfc(double16);
6987#endif //cl_khr_fp64
6988#ifdef cl_khr_fp16
6989half __ovld __cnfn erfc(half);
6990half2 __ovld __cnfn erfc(half2);
6991half3 __ovld __cnfn erfc(half3);
6992half4 __ovld __cnfn erfc(half4);
6993half8 __ovld __cnfn erfc(half8);
6994half16 __ovld __cnfn erfc(half16);
6995#endif //cl_khr_fp16
6996
6997/**
6998 * Error function encountered in integrating the
6999 * normal distribution.
7000 */
7001float __ovld __cnfn erf(float);
7002float2 __ovld __cnfn erf(float2);
7003float3 __ovld __cnfn erf(float3);
7004float4 __ovld __cnfn erf(float4);
7005float8 __ovld __cnfn erf(float8);
7006float16 __ovld __cnfn erf(float16);
7007#ifdef cl_khr_fp64
7008double __ovld __cnfn erf(double);
7009double2 __ovld __cnfn erf(double2);
7010double3 __ovld __cnfn erf(double3);
7011double4 __ovld __cnfn erf(double4);
7012double8 __ovld __cnfn erf(double8);
7013double16 __ovld __cnfn erf(double16);
7014#endif //cl_khr_fp64
7015#ifdef cl_khr_fp16
7016half __ovld __cnfn erf(half);
7017half2 __ovld __cnfn erf(half2);
7018half3 __ovld __cnfn erf(half3);
7019half4 __ovld __cnfn erf(half4);
7020half8 __ovld __cnfn erf(half8);
7021half16 __ovld __cnfn erf(half16);
7022#endif //cl_khr_fp16
7023
7024/**
7025 * Compute the base e exponential function of x.
7026 */
7027float __ovld __cnfn exp(float x);
7028float2 __ovld __cnfn exp(float2 x);
7029float3 __ovld __cnfn exp(float3 x);
7030float4 __ovld __cnfn exp(float4 x);
7031float8 __ovld __cnfn exp(float8 x);
7032float16 __ovld __cnfn exp(float16 x);
7033#ifdef cl_khr_fp64
7034double __ovld __cnfn exp(double x);
7035double2 __ovld __cnfn exp(double2 x);
7036double3 __ovld __cnfn exp(double3 x);
7037double4 __ovld __cnfn exp(double4 x);
7038double8 __ovld __cnfn exp(double8 x);
7039double16 __ovld __cnfn exp(double16 x);
7040#endif //cl_khr_fp64
7041#ifdef cl_khr_fp16
7042half __ovld __cnfn exp(half x);
7043half2 __ovld __cnfn exp(half2 x);
7044half3 __ovld __cnfn exp(half3 x);
7045half4 __ovld __cnfn exp(half4 x);
7046half8 __ovld __cnfn exp(half8 x);
7047half16 __ovld __cnfn exp(half16 x);
7048#endif //cl_khr_fp16
7049
7050/**
7051 * Exponential base 2 function.
7052 */
7053float __ovld __cnfn exp2(float);
7054float2 __ovld __cnfn exp2(float2);
7055float3 __ovld __cnfn exp2(float3);
7056float4 __ovld __cnfn exp2(float4);
7057float8 __ovld __cnfn exp2(float8);
7058float16 __ovld __cnfn exp2(float16);
7059#ifdef cl_khr_fp64
7060double __ovld __cnfn exp2(double);
7061double2 __ovld __cnfn exp2(double2);
7062double3 __ovld __cnfn exp2(double3);
7063double4 __ovld __cnfn exp2(double4);
7064double8 __ovld __cnfn exp2(double8);
7065double16 __ovld __cnfn exp2(double16);
7066#endif //cl_khr_fp64
7067#ifdef cl_khr_fp16
7068half __ovld __cnfn exp2(half);
7069half2 __ovld __cnfn exp2(half2);
7070half3 __ovld __cnfn exp2(half3);
7071half4 __ovld __cnfn exp2(half4);
7072half8 __ovld __cnfn exp2(half8);
7073half16 __ovld __cnfn exp2(half16);
7074#endif //cl_khr_fp16
7075
7076/**
7077 * Exponential base 10 function.
7078 */
7079float __ovld __cnfn exp10(float);
7080float2 __ovld __cnfn exp10(float2);
7081float3 __ovld __cnfn exp10(float3);
7082float4 __ovld __cnfn exp10(float4);
7083float8 __ovld __cnfn exp10(float8);
7084float16 __ovld __cnfn exp10(float16);
7085#ifdef cl_khr_fp64
7086double __ovld __cnfn exp10(double);
7087double2 __ovld __cnfn exp10(double2);
7088double3 __ovld __cnfn exp10(double3);
7089double4 __ovld __cnfn exp10(double4);
7090double8 __ovld __cnfn exp10(double8);
7091double16 __ovld __cnfn exp10(double16);
7092#endif //cl_khr_fp64
7093#ifdef cl_khr_fp16
7094half __ovld __cnfn exp10(half);
7095half2 __ovld __cnfn exp10(half2);
7096half3 __ovld __cnfn exp10(half3);
7097half4 __ovld __cnfn exp10(half4);
7098half8 __ovld __cnfn exp10(half8);
7099half16 __ovld __cnfn exp10(half16);
7100#endif //cl_khr_fp16
7101
7102/**
7103 * Compute e^x- 1.0.
7104 */
7105float __ovld __cnfn expm1(float x);
7106float2 __ovld __cnfn expm1(float2 x);
7107float3 __ovld __cnfn expm1(float3 x);
7108float4 __ovld __cnfn expm1(float4 x);
7109float8 __ovld __cnfn expm1(float8 x);
7110float16 __ovld __cnfn expm1(float16 x);
7111#ifdef cl_khr_fp64
7112double __ovld __cnfn expm1(double x);
7113double2 __ovld __cnfn expm1(double2 x);
7114double3 __ovld __cnfn expm1(double3 x);
7115double4 __ovld __cnfn expm1(double4 x);
7116double8 __ovld __cnfn expm1(double8 x);
7117double16 __ovld __cnfn expm1(double16 x);
7118#endif //cl_khr_fp64
7119#ifdef cl_khr_fp16
7120half __ovld __cnfn expm1(half x);
7121half2 __ovld __cnfn expm1(half2 x);
7122half3 __ovld __cnfn expm1(half3 x);
7123half4 __ovld __cnfn expm1(half4 x);
7124half8 __ovld __cnfn expm1(half8 x);
7125half16 __ovld __cnfn expm1(half16 x);
7126#endif //cl_khr_fp16
7127
7128/**
7129 * Compute absolute value of a floating-point number.
7130 */
7131float __ovld __cnfn fabs(float);
7132float2 __ovld __cnfn fabs(float2);
7133float3 __ovld __cnfn fabs(float3);
7134float4 __ovld __cnfn fabs(float4);
7135float8 __ovld __cnfn fabs(float8);
7136float16 __ovld __cnfn fabs(float16);
7137#ifdef cl_khr_fp64
7138double __ovld __cnfn fabs(double);
7139double2 __ovld __cnfn fabs(double2);
7140double3 __ovld __cnfn fabs(double3);
7141double4 __ovld __cnfn fabs(double4);
7142double8 __ovld __cnfn fabs(double8);
7143double16 __ovld __cnfn fabs(double16);
7144#endif //cl_khr_fp64
7145#ifdef cl_khr_fp16
7146half __ovld __cnfn fabs(half);
7147half2 __ovld __cnfn fabs(half2);
7148half3 __ovld __cnfn fabs(half3);
7149half4 __ovld __cnfn fabs(half4);
7150half8 __ovld __cnfn fabs(half8);
7151half16 __ovld __cnfn fabs(half16);
7152#endif //cl_khr_fp16
7153
7154/**
7155 * x - y if x > y, +0 if x is less than or equal to y.
7156 */
7157float __ovld __cnfn fdim(float x, float y);
7158float2 __ovld __cnfn fdim(float2 x, float2 y);
7159float3 __ovld __cnfn fdim(float3 x, float3 y);
7160float4 __ovld __cnfn fdim(float4 x, float4 y);
7161float8 __ovld __cnfn fdim(float8 x, float8 y);
7162float16 __ovld __cnfn fdim(float16 x, float16 y);
7163#ifdef cl_khr_fp64
7164double __ovld __cnfn fdim(double x, double y);
7165double2 __ovld __cnfn fdim(double2 x, double2 y);
7166double3 __ovld __cnfn fdim(double3 x, double3 y);
7167double4 __ovld __cnfn fdim(double4 x, double4 y);
7168double8 __ovld __cnfn fdim(double8 x, double8 y);
7169double16 __ovld __cnfn fdim(double16 x, double16 y);
7170#endif //cl_khr_fp64
7171#ifdef cl_khr_fp16
7172half __ovld __cnfn fdim(half x, half y);
7173half2 __ovld __cnfn fdim(half2 x, half2 y);
7174half3 __ovld __cnfn fdim(half3 x, half3 y);
7175half4 __ovld __cnfn fdim(half4 x, half4 y);
7176half8 __ovld __cnfn fdim(half8 x, half8 y);
7177half16 __ovld __cnfn fdim(half16 x, half16 y);
7178#endif //cl_khr_fp16
7179
7180/**
7181 * Round to integral value using the round to -ve
7182 * infinity rounding mode.
7183 */
7184float __ovld __cnfn floor(float);
7185float2 __ovld __cnfn floor(float2);
7186float3 __ovld __cnfn floor(float3);
7187float4 __ovld __cnfn floor(float4);
7188float8 __ovld __cnfn floor(float8);
7189float16 __ovld __cnfn floor(float16);
7190#ifdef cl_khr_fp64
7191double __ovld __cnfn floor(double);
7192double2 __ovld __cnfn floor(double2);
7193double3 __ovld __cnfn floor(double3);
7194double4 __ovld __cnfn floor(double4);
7195double8 __ovld __cnfn floor(double8);
7196double16 __ovld __cnfn floor(double16);
7197#endif //cl_khr_fp64
7198#ifdef cl_khr_fp16
7199half __ovld __cnfn floor(half);
7200half2 __ovld __cnfn floor(half2);
7201half3 __ovld __cnfn floor(half3);
7202half4 __ovld __cnfn floor(half4);
7203half8 __ovld __cnfn floor(half8);
7204half16 __ovld __cnfn floor(half16);
7205#endif //cl_khr_fp16
7206
7207/**
7208 * Returns the correctly rounded floating-point
7209 * representation of the sum of c with the infinitely
7210 * precise product of a and b. Rounding of
7211 * intermediate products shall not occur. Edge case
7212 * behavior is per the IEEE 754-2008 standard.
7213 */
7214float __ovld __cnfn fma(float a, float b, float c);
7215float2 __ovld __cnfn fma(float2 a, float2 b, float2 c);
7216float3 __ovld __cnfn fma(float3 a, float3 b, float3 c);
7217float4 __ovld __cnfn fma(float4 a, float4 b, float4 c);
7218float8 __ovld __cnfn fma(float8 a, float8 b, float8 c);
7219float16 __ovld __cnfn fma(float16 a, float16 b, float16 c);
7220#ifdef cl_khr_fp64
7221double __ovld __cnfn fma(double a, double b, double c);
7222double2 __ovld __cnfn fma(double2 a, double2 b, double2 c);
7223double3 __ovld __cnfn fma(double3 a, double3 b, double3 c);
7224double4 __ovld __cnfn fma(double4 a, double4 b, double4 c);
7225double8 __ovld __cnfn fma(double8 a, double8 b, double8 c);
7226double16 __ovld __cnfn fma(double16 a, double16 b, double16 c);
7227#endif //cl_khr_fp64
7228#ifdef cl_khr_fp16
7229half __ovld __cnfn fma(half a, half b, half c);
7230half2 __ovld __cnfn fma(half2 a, half2 b, half2 c);
7231half3 __ovld __cnfn fma(half3 a, half3 b, half3 c);
7232half4 __ovld __cnfn fma(half4 a, half4 b, half4 c);
7233half8 __ovld __cnfn fma(half8 a, half8 b, half8 c);
7234half16 __ovld __cnfn fma(half16 a, half16 b, half16 c);
7235#endif //cl_khr_fp16
7236
7237/**
7238 * Returns y if x < y, otherwise it returns x. If one
7239 * argument is a NaN, fmax() returns the other
7240 * argument. If both arguments are NaNs, fmax()
7241 * returns a NaN.
7242 */
7243float __ovld __cnfn fmax(float x, float y);
7244float2 __ovld __cnfn fmax(float2 x, float2 y);
7245float3 __ovld __cnfn fmax(float3 x, float3 y);
7246float4 __ovld __cnfn fmax(float4 x, float4 y);
7247float8 __ovld __cnfn fmax(float8 x, float8 y);
7248float16 __ovld __cnfn fmax(float16 x, float16 y);
7249float2 __ovld __cnfn fmax(float2 x, float y);
7250float3 __ovld __cnfn fmax(float3 x, float y);
7251float4 __ovld __cnfn fmax(float4 x, float y);
7252float8 __ovld __cnfn fmax(float8 x, float y);
7253float16 __ovld __cnfn fmax(float16 x, float y);
7254#ifdef cl_khr_fp64
7255double __ovld __cnfn fmax(double x, double y);
7256double2 __ovld __cnfn fmax(double2 x, double2 y);
7257double3 __ovld __cnfn fmax(double3 x, double3 y);
7258double4 __ovld __cnfn fmax(double4 x, double4 y);
7259double8 __ovld __cnfn fmax(double8 x, double8 y);
7260double16 __ovld __cnfn fmax(double16 x, double16 y);
7261double2 __ovld __cnfn fmax(double2 x, double y);
7262double3 __ovld __cnfn fmax(double3 x, double y);
7263double4 __ovld __cnfn fmax(double4 x, double y);
7264double8 __ovld __cnfn fmax(double8 x, double y);
7265double16 __ovld __cnfn fmax(double16 x, double y);
7266#endif //cl_khr_fp64
7267#ifdef cl_khr_fp16
7268half __ovld __cnfn fmax(half x, half y);
7269half2 __ovld __cnfn fmax(half2 x, half2 y);
7270half3 __ovld __cnfn fmax(half3 x, half3 y);
7271half4 __ovld __cnfn fmax(half4 x, half4 y);
7272half8 __ovld __cnfn fmax(half8 x, half8 y);
7273half16 __ovld __cnfn fmax(half16 x, half16 y);
7274half2 __ovld __cnfn fmax(half2 x, half y);
7275half3 __ovld __cnfn fmax(half3 x, half y);
7276half4 __ovld __cnfn fmax(half4 x, half y);
7277half8 __ovld __cnfn fmax(half8 x, half y);
7278half16 __ovld __cnfn fmax(half16 x, half y);
7279#endif //cl_khr_fp16
7280
7281/**
7282 * Returns y if y < x, otherwise it returns x. If one
7283 * argument is a NaN, fmin() returns the other
7284 * argument. If both arguments are NaNs, fmin()
7285 * returns a NaN.
7286 */
7287float __ovld __cnfn fmin(float x, float y);
7288float2 __ovld __cnfn fmin(float2 x, float2 y);
7289float3 __ovld __cnfn fmin(float3 x, float3 y);
7290float4 __ovld __cnfn fmin(float4 x, float4 y);
7291float8 __ovld __cnfn fmin(float8 x, float8 y);
7292float16 __ovld __cnfn fmin(float16 x, float16 y);
7293float2 __ovld __cnfn fmin(float2 x, float y);
7294float3 __ovld __cnfn fmin(float3 x, float y);
7295float4 __ovld __cnfn fmin(float4 x, float y);
7296float8 __ovld __cnfn fmin(float8 x, float y);
7297float16 __ovld __cnfn fmin(float16 x, float y);
7298#ifdef cl_khr_fp64
7299double __ovld __cnfn fmin(double x, double y);
7300double2 __ovld __cnfn fmin(double2 x, double2 y);
7301double3 __ovld __cnfn fmin(double3 x, double3 y);
7302double4 __ovld __cnfn fmin(double4 x, double4 y);
7303double8 __ovld __cnfn fmin(double8 x, double8 y);
7304double16 __ovld __cnfn fmin(double16 x, double16 y);
7305double2 __ovld __cnfn fmin(double2 x, double y);
7306double3 __ovld __cnfn fmin(double3 x, double y);
7307double4 __ovld __cnfn fmin(double4 x, double y);
7308double8 __ovld __cnfn fmin(double8 x, double y);
7309double16 __ovld __cnfn fmin(double16 x, double y);
7310#endif //cl_khr_fp64
7311#ifdef cl_khr_fp16
7312half __ovld __cnfn fmin(half x, half y);
7313half2 __ovld __cnfn fmin(half2 x, half2 y);
7314half3 __ovld __cnfn fmin(half3 x, half3 y);
7315half4 __ovld __cnfn fmin(half4 x, half4 y);
7316half8 __ovld __cnfn fmin(half8 x, half8 y);
7317half16 __ovld __cnfn fmin(half16 x, half16 y);
7318half2 __ovld __cnfn fmin(half2 x, half y);
7319half3 __ovld __cnfn fmin(half3 x, half y);
7320half4 __ovld __cnfn fmin(half4 x, half y);
7321half8 __ovld __cnfn fmin(half8 x, half y);
7322half16 __ovld __cnfn fmin(half16 x, half y);
7323#endif //cl_khr_fp16
7324
7325/**
7326 * Modulus. Returns x - y * trunc (x/y).
7327 */
7328float __ovld __cnfn fmod(float x, float y);
7329float2 __ovld __cnfn fmod(float2 x, float2 y);
7330float3 __ovld __cnfn fmod(float3 x, float3 y);
7331float4 __ovld __cnfn fmod(float4 x, float4 y);
7332float8 __ovld __cnfn fmod(float8 x, float8 y);
7333float16 __ovld __cnfn fmod(float16 x, float16 y);
7334#ifdef cl_khr_fp64
7335double __ovld __cnfn fmod(double x, double y);
7336double2 __ovld __cnfn fmod(double2 x, double2 y);
7337double3 __ovld __cnfn fmod(double3 x, double3 y);
7338double4 __ovld __cnfn fmod(double4 x, double4 y);
7339double8 __ovld __cnfn fmod(double8 x, double8 y);
7340double16 __ovld __cnfn fmod(double16 x, double16 y);
7341#endif //cl_khr_fp64
7342#ifdef cl_khr_fp16
7343half __ovld __cnfn fmod(half x, half y);
7344half2 __ovld __cnfn fmod(half2 x, half2 y);
7345half3 __ovld __cnfn fmod(half3 x, half3 y);
7346half4 __ovld __cnfn fmod(half4 x, half4 y);
7347half8 __ovld __cnfn fmod(half8 x, half8 y);
7348half16 __ovld __cnfn fmod(half16 x, half16 y);
7349#endif //cl_khr_fp16
7350
7351/**
7352 * Returns fmin(x - floor (x), 0x1.fffffep-1f ).
7353 * floor(x) is returned in iptr.
7354 */
7355#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7356float __ovld fract(float x, float *iptr);
7357float2 __ovld fract(float2 x, float2 *iptr);
7358float3 __ovld fract(float3 x, float3 *iptr);
7359float4 __ovld fract(float4 x, float4 *iptr);
7360float8 __ovld fract(float8 x, float8 *iptr);
7361float16 __ovld fract(float16 x, float16 *iptr);
7362#ifdef cl_khr_fp64
7363double __ovld fract(double x, double *iptr);
7364double2 __ovld fract(double2 x, double2 *iptr);
7365double3 __ovld fract(double3 x, double3 *iptr);
7366double4 __ovld fract(double4 x, double4 *iptr);
7367double8 __ovld fract(double8 x, double8 *iptr);
7368double16 __ovld fract(double16 x, double16 *iptr);
7369#endif //cl_khr_fp64
7370#ifdef cl_khr_fp16
7371half __ovld fract(half x, half *iptr);
7372half2 __ovld fract(half2 x, half2 *iptr);
7373half3 __ovld fract(half3 x, half3 *iptr);
7374half4 __ovld fract(half4 x, half4 *iptr);
7375half8 __ovld fract(half8 x, half8 *iptr);
7376half16 __ovld fract(half16 x, half16 *iptr);
7377#endif //cl_khr_fp16
7378#else
7379float __ovld fract(float x, __global float *iptr);
7380float2 __ovld fract(float2 x, __global float2 *iptr);
7381float3 __ovld fract(float3 x, __global float3 *iptr);
7382float4 __ovld fract(float4 x, __global float4 *iptr);
7383float8 __ovld fract(float8 x, __global float8 *iptr);
7384float16 __ovld fract(float16 x, __global float16 *iptr);
7385float __ovld fract(float x, __local float *iptr);
7386float2 __ovld fract(float2 x, __local float2 *iptr);
7387float3 __ovld fract(float3 x, __local float3 *iptr);
7388float4 __ovld fract(float4 x, __local float4 *iptr);
7389float8 __ovld fract(float8 x, __local float8 *iptr);
7390float16 __ovld fract(float16 x, __local float16 *iptr);
7391float __ovld fract(float x, __private float *iptr);
7392float2 __ovld fract(float2 x, __private float2 *iptr);
7393float3 __ovld fract(float3 x, __private float3 *iptr);
7394float4 __ovld fract(float4 x, __private float4 *iptr);
7395float8 __ovld fract(float8 x, __private float8 *iptr);
7396float16 __ovld fract(float16 x, __private float16 *iptr);
7397#ifdef cl_khr_fp64
7398double __ovld fract(double x, __global double *iptr);
7399double2 __ovld fract(double2 x, __global double2 *iptr);
7400double3 __ovld fract(double3 x, __global double3 *iptr);
7401double4 __ovld fract(double4 x, __global double4 *iptr);
7402double8 __ovld fract(double8 x, __global double8 *iptr);
7403double16 __ovld fract(double16 x, __global double16 *iptr);
7404double __ovld fract(double x, __local double *iptr);
7405double2 __ovld fract(double2 x, __local double2 *iptr);
7406double3 __ovld fract(double3 x, __local double3 *iptr);
7407double4 __ovld fract(double4 x, __local double4 *iptr);
7408double8 __ovld fract(double8 x, __local double8 *iptr);
7409double16 __ovld fract(double16 x, __local double16 *iptr);
7410double __ovld fract(double x, __private double *iptr);
7411double2 __ovld fract(double2 x, __private double2 *iptr);
7412double3 __ovld fract(double3 x, __private double3 *iptr);
7413double4 __ovld fract(double4 x, __private double4 *iptr);
7414double8 __ovld fract(double8 x, __private double8 *iptr);
7415double16 __ovld fract(double16 x, __private double16 *iptr);
7416#endif //cl_khr_fp64
7417#ifdef cl_khr_fp16
7418half __ovld fract(half x, __global half *iptr);
7419half2 __ovld fract(half2 x, __global half2 *iptr);
7420half3 __ovld fract(half3 x, __global half3 *iptr);
7421half4 __ovld fract(half4 x, __global half4 *iptr);
7422half8 __ovld fract(half8 x, __global half8 *iptr);
7423half16 __ovld fract(half16 x, __global half16 *iptr);
7424half __ovld fract(half x, __local half *iptr);
7425half2 __ovld fract(half2 x, __local half2 *iptr);
7426half3 __ovld fract(half3 x, __local half3 *iptr);
7427half4 __ovld fract(half4 x, __local half4 *iptr);
7428half8 __ovld fract(half8 x, __local half8 *iptr);
7429half16 __ovld fract(half16 x, __local half16 *iptr);
7430half __ovld fract(half x, __private half *iptr);
7431half2 __ovld fract(half2 x, __private half2 *iptr);
7432half3 __ovld fract(half3 x, __private half3 *iptr);
7433half4 __ovld fract(half4 x, __private half4 *iptr);
7434half8 __ovld fract(half8 x, __private half8 *iptr);
7435half16 __ovld fract(half16 x, __private half16 *iptr);
7436#endif //cl_khr_fp16
7437#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7438
7439/**
7440 * Extract mantissa and exponent from x. For each
7441 * component the mantissa returned is a float with
7442 * magnitude in the interval [1/2, 1) or 0. Each
7443 * component of x equals mantissa returned * 2^exp.
7444 */
7445#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7446float __ovld frexp(float x, int *exp);
7447float2 __ovld frexp(float2 x, int2 *exp);
7448float3 __ovld frexp(float3 x, int3 *exp);
7449float4 __ovld frexp(float4 x, int4 *exp);
7450float8 __ovld frexp(float8 x, int8 *exp);
7451float16 __ovld frexp(float16 x, int16 *exp);
7452#ifdef cl_khr_fp64
7453double __ovld frexp(double x, int *exp);
7454double2 __ovld frexp(double2 x, int2 *exp);
7455double3 __ovld frexp(double3 x, int3 *exp);
7456double4 __ovld frexp(double4 x, int4 *exp);
7457double8 __ovld frexp(double8 x, int8 *exp);
7458double16 __ovld frexp(double16 x, int16 *exp);
7459#endif //cl_khr_fp64
7460#ifdef cl_khr_fp16
7461half __ovld frexp(half x, int *exp);
7462half2 __ovld frexp(half2 x, int2 *exp);
7463half3 __ovld frexp(half3 x, int3 *exp);
7464half4 __ovld frexp(half4 x, int4 *exp);
7465half8 __ovld frexp(half8 x, int8 *exp);
7466half16 __ovld frexp(half16 x, int16 *exp);
7467#endif //cl_khr_fp16
7468#else
7469float __ovld frexp(float x, __global int *exp);
7470float2 __ovld frexp(float2 x, __global int2 *exp);
7471float3 __ovld frexp(float3 x, __global int3 *exp);
7472float4 __ovld frexp(float4 x, __global int4 *exp);
7473float8 __ovld frexp(float8 x, __global int8 *exp);
7474float16 __ovld frexp(float16 x, __global int16 *exp);
7475float __ovld frexp(float x, __local int *exp);
7476float2 __ovld frexp(float2 x, __local int2 *exp);
7477float3 __ovld frexp(float3 x, __local int3 *exp);
7478float4 __ovld frexp(float4 x, __local int4 *exp);
7479float8 __ovld frexp(float8 x, __local int8 *exp);
7480float16 __ovld frexp(float16 x, __local int16 *exp);
7481float __ovld frexp(float x, __private int *exp);
7482float2 __ovld frexp(float2 x, __private int2 *exp);
7483float3 __ovld frexp(float3 x, __private int3 *exp);
7484float4 __ovld frexp(float4 x, __private int4 *exp);
7485float8 __ovld frexp(float8 x, __private int8 *exp);
7486float16 __ovld frexp(float16 x, __private int16 *exp);
7487#ifdef cl_khr_fp64
7488double __ovld frexp(double x, __global int *exp);
7489double2 __ovld frexp(double2 x, __global int2 *exp);
7490double3 __ovld frexp(double3 x, __global int3 *exp);
7491double4 __ovld frexp(double4 x, __global int4 *exp);
7492double8 __ovld frexp(double8 x, __global int8 *exp);
7493double16 __ovld frexp(double16 x, __global int16 *exp);
7494double __ovld frexp(double x, __local int *exp);
7495double2 __ovld frexp(double2 x, __local int2 *exp);
7496double3 __ovld frexp(double3 x, __local int3 *exp);
7497double4 __ovld frexp(double4 x, __local int4 *exp);
7498double8 __ovld frexp(double8 x, __local int8 *exp);
7499double16 __ovld frexp(double16 x, __local int16 *exp);
7500double __ovld frexp(double x, __private int *exp);
7501double2 __ovld frexp(double2 x, __private int2 *exp);
7502double3 __ovld frexp(double3 x, __private int3 *exp);
7503double4 __ovld frexp(double4 x, __private int4 *exp);
7504double8 __ovld frexp(double8 x, __private int8 *exp);
7505double16 __ovld frexp(double16 x, __private int16 *exp);
7506#endif //cl_khr_fp64
7507#ifdef cl_khr_fp16
7508half __ovld frexp(half x, __global int *exp);
7509half2 __ovld frexp(half2 x, __global int2 *exp);
7510half3 __ovld frexp(half3 x, __global int3 *exp);
7511half4 __ovld frexp(half4 x, __global int4 *exp);
7512half8 __ovld frexp(half8 x, __global int8 *exp);
7513half16 __ovld frexp(half16 x, __global int16 *exp);
7514half __ovld frexp(half x, __local int *exp);
7515half2 __ovld frexp(half2 x, __local int2 *exp);
7516half3 __ovld frexp(half3 x, __local int3 *exp);
7517half4 __ovld frexp(half4 x, __local int4 *exp);
7518half8 __ovld frexp(half8 x, __local int8 *exp);
7519half16 __ovld frexp(half16 x, __local int16 *exp);
7520half __ovld frexp(half x, __private int *exp);
7521half2 __ovld frexp(half2 x, __private int2 *exp);
7522half3 __ovld frexp(half3 x, __private int3 *exp);
7523half4 __ovld frexp(half4 x, __private int4 *exp);
7524half8 __ovld frexp(half8 x, __private int8 *exp);
7525half16 __ovld frexp(half16 x, __private int16 *exp);
7526#endif //cl_khr_fp16
7527#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7528
7529/**
7530 * Compute the value of the square root of x^2 + y^2
7531 * without undue overflow or underflow.
7532 */
7533float __ovld __cnfn hypot(float x, float y);
7534float2 __ovld __cnfn hypot(float2 x, float2 y);
7535float3 __ovld __cnfn hypot(float3 x, float3 y);
7536float4 __ovld __cnfn hypot(float4 x, float4 y);
7537float8 __ovld __cnfn hypot(float8 x, float8 y);
7538float16 __ovld __cnfn hypot(float16 x, float16 y);
7539#ifdef cl_khr_fp64
7540double __ovld __cnfn hypot(double x, double y);
7541double2 __ovld __cnfn hypot(double2 x, double2 y);
7542double3 __ovld __cnfn hypot(double3 x, double3 y);
7543double4 __ovld __cnfn hypot(double4 x, double4 y);
7544double8 __ovld __cnfn hypot(double8 x, double8 y);
7545double16 __ovld __cnfn hypot(double16 x, double16 y);
7546#endif //cl_khr_fp64
7547#ifdef cl_khr_fp16
7548half __ovld __cnfn hypot(half x, half y);
7549half2 __ovld __cnfn hypot(half2 x, half2 y);
7550half3 __ovld __cnfn hypot(half3 x, half3 y);
7551half4 __ovld __cnfn hypot(half4 x, half4 y);
7552half8 __ovld __cnfn hypot(half8 x, half8 y);
7553half16 __ovld __cnfn hypot(half16 x, half16 y);
7554#endif //cl_khr_fp16
7555
7556/**
7557 * Return the exponent as an integer value.
7558 */
7559int __ovld __cnfn ilogb(float x);
7560int2 __ovld __cnfn ilogb(float2 x);
7561int3 __ovld __cnfn ilogb(float3 x);
7562int4 __ovld __cnfn ilogb(float4 x);
7563int8 __ovld __cnfn ilogb(float8 x);
7564int16 __ovld __cnfn ilogb(float16 x);
7565#ifdef cl_khr_fp64
7566int __ovld __cnfn ilogb(double x);
7567int2 __ovld __cnfn ilogb(double2 x);
7568int3 __ovld __cnfn ilogb(double3 x);
7569int4 __ovld __cnfn ilogb(double4 x);
7570int8 __ovld __cnfn ilogb(double8 x);
7571int16 __ovld __cnfn ilogb(double16 x);
7572#endif //cl_khr_fp64
7573#ifdef cl_khr_fp16
7574int __ovld __cnfn ilogb(half x);
7575int2 __ovld __cnfn ilogb(half2 x);
7576int3 __ovld __cnfn ilogb(half3 x);
7577int4 __ovld __cnfn ilogb(half4 x);
7578int8 __ovld __cnfn ilogb(half8 x);
7579int16 __ovld __cnfn ilogb(half16 x);
7580#endif //cl_khr_fp16
7581
7582/**
7583 * Multiply x by 2 to the power n.
7584 */
7585float __ovld __cnfn ldexp(float x, int n);
7586float2 __ovld __cnfn ldexp(float2 x, int2 n);
7587float3 __ovld __cnfn ldexp(float3 x, int3 n);
7588float4 __ovld __cnfn ldexp(float4 x, int4 n);
7589float8 __ovld __cnfn ldexp(float8 x, int8 n);
7590float16 __ovld __cnfn ldexp(float16 x, int16 n);
7591float2 __ovld __cnfn ldexp(float2 x, int n);
7592float3 __ovld __cnfn ldexp(float3 x, int n);
7593float4 __ovld __cnfn ldexp(float4 x, int n);
7594float8 __ovld __cnfn ldexp(float8 x, int n);
7595float16 __ovld __cnfn ldexp(float16 x, int n);
7596#ifdef cl_khr_fp64
7597double __ovld __cnfn ldexp(double x, int n);
7598double2 __ovld __cnfn ldexp(double2 x, int2 n);
7599double3 __ovld __cnfn ldexp(double3 x, int3 n);
7600double4 __ovld __cnfn ldexp(double4 x, int4 n);
7601double8 __ovld __cnfn ldexp(double8 x, int8 n);
7602double16 __ovld __cnfn ldexp(double16 x, int16 n);
7603double2 __ovld __cnfn ldexp(double2 x, int n);
7604double3 __ovld __cnfn ldexp(double3 x, int n);
7605double4 __ovld __cnfn ldexp(double4 x, int n);
7606double8 __ovld __cnfn ldexp(double8 x, int n);
7607double16 __ovld __cnfn ldexp(double16 x, int n);
7608#endif //cl_khr_fp64
7609#ifdef cl_khr_fp16
7610half __ovld __cnfn ldexp(half x, int n);
7611half2 __ovld __cnfn ldexp(half2 x, int2 n);
7612half3 __ovld __cnfn ldexp(half3 x, int3 n);
7613half4 __ovld __cnfn ldexp(half4 x, int4 n);
7614half8 __ovld __cnfn ldexp(half8 x, int8 n);
7615half16 __ovld __cnfn ldexp(half16 x, int16 n);
7616half2 __ovld __cnfn ldexp(half2 x, int n);
7617half3 __ovld __cnfn ldexp(half3 x, int n);
7618half4 __ovld __cnfn ldexp(half4 x, int n);
7619half8 __ovld __cnfn ldexp(half8 x, int n);
7620half16 __ovld __cnfn ldexp(half16 x, int n);
7621#endif //cl_khr_fp16
7622
7623/**
7624 * Log gamma function. Returns the natural
7625 * logarithm of the absolute value of the gamma
7626 * function. The sign of the gamma function is
7627 * returned in the signp argument of lgamma_r.
7628 */
7629float __ovld __cnfn lgamma(float x);
7630float2 __ovld __cnfn lgamma(float2 x);
7631float3 __ovld __cnfn lgamma(float3 x);
7632float4 __ovld __cnfn lgamma(float4 x);
7633float8 __ovld __cnfn lgamma(float8 x);
7634float16 __ovld __cnfn lgamma(float16 x);
7635#ifdef cl_khr_fp64
7636double __ovld __cnfn lgamma(double x);
7637double2 __ovld __cnfn lgamma(double2 x);
7638double3 __ovld __cnfn lgamma(double3 x);
7639double4 __ovld __cnfn lgamma(double4 x);
7640double8 __ovld __cnfn lgamma(double8 x);
7641double16 __ovld __cnfn lgamma(double16 x);
7642#endif //cl_khr_fp64
7643#ifdef cl_khr_fp16
7644half __ovld __cnfn lgamma(half x);
7645half2 __ovld __cnfn lgamma(half2 x);
7646half3 __ovld __cnfn lgamma(half3 x);
7647half4 __ovld __cnfn lgamma(half4 x);
7648half8 __ovld __cnfn lgamma(half8 x);
7649half16 __ovld __cnfn lgamma(half16 x);
7650#endif //cl_khr_fp16
7651
7652#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7653float __ovld lgamma_r(float x, int *signp);
7654float2 __ovld lgamma_r(float2 x, int2 *signp);
7655float3 __ovld lgamma_r(float3 x, int3 *signp);
7656float4 __ovld lgamma_r(float4 x, int4 *signp);
7657float8 __ovld lgamma_r(float8 x, int8 *signp);
7658float16 __ovld lgamma_r(float16 x, int16 *signp);
7659#ifdef cl_khr_fp64
7660double __ovld lgamma_r(double x, int *signp);
7661double2 __ovld lgamma_r(double2 x, int2 *signp);
7662double3 __ovld lgamma_r(double3 x, int3 *signp);
7663double4 __ovld lgamma_r(double4 x, int4 *signp);
7664double8 __ovld lgamma_r(double8 x, int8 *signp);
7665double16 __ovld lgamma_r(double16 x, int16 *signp);
7666#endif //cl_khr_fp64
7667#ifdef cl_khr_fp16
7668half __ovld lgamma_r(half x, int *signp);
7669half2 __ovld lgamma_r(half2 x, int2 *signp);
7670half3 __ovld lgamma_r(half3 x, int3 *signp);
7671half4 __ovld lgamma_r(half4 x, int4 *signp);
7672half8 __ovld lgamma_r(half8 x, int8 *signp);
7673half16 __ovld lgamma_r(half16 x, int16 *signp);
7674#endif //cl_khr_fp16
7675#else
7676float __ovld lgamma_r(float x, __global int *signp);
7677float2 __ovld lgamma_r(float2 x, __global int2 *signp);
7678float3 __ovld lgamma_r(float3 x, __global int3 *signp);
7679float4 __ovld lgamma_r(float4 x, __global int4 *signp);
7680float8 __ovld lgamma_r(float8 x, __global int8 *signp);
7681float16 __ovld lgamma_r(float16 x, __global int16 *signp);
7682float __ovld lgamma_r(float x, __local int *signp);
7683float2 __ovld lgamma_r(float2 x, __local int2 *signp);
7684float3 __ovld lgamma_r(float3 x, __local int3 *signp);
7685float4 __ovld lgamma_r(float4 x, __local int4 *signp);
7686float8 __ovld lgamma_r(float8 x, __local int8 *signp);
7687float16 __ovld lgamma_r(float16 x, __local int16 *signp);
7688float __ovld lgamma_r(float x, __private int *signp);
7689float2 __ovld lgamma_r(float2 x, __private int2 *signp);
7690float3 __ovld lgamma_r(float3 x, __private int3 *signp);
7691float4 __ovld lgamma_r(float4 x, __private int4 *signp);
7692float8 __ovld lgamma_r(float8 x, __private int8 *signp);
7693float16 __ovld lgamma_r(float16 x, __private int16 *signp);
7694#ifdef cl_khr_fp64
7695double __ovld lgamma_r(double x, __global int *signp);
7696double2 __ovld lgamma_r(double2 x, __global int2 *signp);
7697double3 __ovld lgamma_r(double3 x, __global int3 *signp);
7698double4 __ovld lgamma_r(double4 x, __global int4 *signp);
7699double8 __ovld lgamma_r(double8 x, __global int8 *signp);
7700double16 __ovld lgamma_r(double16 x, __global int16 *signp);
7701double __ovld lgamma_r(double x, __local int *signp);
7702double2 __ovld lgamma_r(double2 x, __local int2 *signp);
7703double3 __ovld lgamma_r(double3 x, __local int3 *signp);
7704double4 __ovld lgamma_r(double4 x, __local int4 *signp);
7705double8 __ovld lgamma_r(double8 x, __local int8 *signp);
7706double16 __ovld lgamma_r(double16 x, __local int16 *signp);
7707double __ovld lgamma_r(double x, __private int *signp);
7708double2 __ovld lgamma_r(double2 x, __private int2 *signp);
7709double3 __ovld lgamma_r(double3 x, __private int3 *signp);
7710double4 __ovld lgamma_r(double4 x, __private int4 *signp);
7711double8 __ovld lgamma_r(double8 x, __private int8 *signp);
7712double16 __ovld lgamma_r(double16 x, __private int16 *signp);
7713#endif //cl_khr_fp64
7714#ifdef cl_khr_fp16
7715half __ovld lgamma_r(half x, __global int *signp);
7716half2 __ovld lgamma_r(half2 x, __global int2 *signp);
7717half3 __ovld lgamma_r(half3 x, __global int3 *signp);
7718half4 __ovld lgamma_r(half4 x, __global int4 *signp);
7719half8 __ovld lgamma_r(half8 x, __global int8 *signp);
7720half16 __ovld lgamma_r(half16 x, __global int16 *signp);
7721half __ovld lgamma_r(half x, __local int *signp);
7722half2 __ovld lgamma_r(half2 x, __local int2 *signp);
7723half3 __ovld lgamma_r(half3 x, __local int3 *signp);
7724half4 __ovld lgamma_r(half4 x, __local int4 *signp);
7725half8 __ovld lgamma_r(half8 x, __local int8 *signp);
7726half16 __ovld lgamma_r(half16 x, __local int16 *signp);
7727half __ovld lgamma_r(half x, __private int *signp);
7728half2 __ovld lgamma_r(half2 x, __private int2 *signp);
7729half3 __ovld lgamma_r(half3 x, __private int3 *signp);
7730half4 __ovld lgamma_r(half4 x, __private int4 *signp);
7731half8 __ovld lgamma_r(half8 x, __private int8 *signp);
7732half16 __ovld lgamma_r(half16 x, __private int16 *signp);
7733#endif //cl_khr_fp16
7734#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7735
7736/**
7737 * Compute natural logarithm.
7738 */
7739float __ovld __cnfn log(float);
7740float2 __ovld __cnfn log(float2);
7741float3 __ovld __cnfn log(float3);
7742float4 __ovld __cnfn log(float4);
7743float8 __ovld __cnfn log(float8);
7744float16 __ovld __cnfn log(float16);
7745#ifdef cl_khr_fp64
7746double __ovld __cnfn log(double);
7747double2 __ovld __cnfn log(double2);
7748double3 __ovld __cnfn log(double3);
7749double4 __ovld __cnfn log(double4);
7750double8 __ovld __cnfn log(double8);
7751double16 __ovld __cnfn log(double16);
7752#endif //cl_khr_fp64
7753#ifdef cl_khr_fp16
7754half __ovld __cnfn log(half);
7755half2 __ovld __cnfn log(half2);
7756half3 __ovld __cnfn log(half3);
7757half4 __ovld __cnfn log(half4);
7758half8 __ovld __cnfn log(half8);
7759half16 __ovld __cnfn log(half16);
7760#endif //cl_khr_fp16
7761
7762/**
7763 * Compute a base 2 logarithm.
7764 */
7765float __ovld __cnfn log2(float);
7766float2 __ovld __cnfn log2(float2);
7767float3 __ovld __cnfn log2(float3);
7768float4 __ovld __cnfn log2(float4);
7769float8 __ovld __cnfn log2(float8);
7770float16 __ovld __cnfn log2(float16);
7771#ifdef cl_khr_fp64
7772double __ovld __cnfn log2(double);
7773double2 __ovld __cnfn log2(double2);
7774double3 __ovld __cnfn log2(double3);
7775double4 __ovld __cnfn log2(double4);
7776double8 __ovld __cnfn log2(double8);
7777double16 __ovld __cnfn log2(double16);
7778#endif //cl_khr_fp64
7779#ifdef cl_khr_fp16
7780half __ovld __cnfn log2(half);
7781half2 __ovld __cnfn log2(half2);
7782half3 __ovld __cnfn log2(half3);
7783half4 __ovld __cnfn log2(half4);
7784half8 __ovld __cnfn log2(half8);
7785half16 __ovld __cnfn log2(half16);
7786#endif //cl_khr_fp16
7787
7788/**
7789 * Compute a base 10 logarithm.
7790 */
7791float __ovld __cnfn log10(float);
7792float2 __ovld __cnfn log10(float2);
7793float3 __ovld __cnfn log10(float3);
7794float4 __ovld __cnfn log10(float4);
7795float8 __ovld __cnfn log10(float8);
7796float16 __ovld __cnfn log10(float16);
7797#ifdef cl_khr_fp64
7798double __ovld __cnfn log10(double);
7799double2 __ovld __cnfn log10(double2);
7800double3 __ovld __cnfn log10(double3);
7801double4 __ovld __cnfn log10(double4);
7802double8 __ovld __cnfn log10(double8);
7803double16 __ovld __cnfn log10(double16);
7804#endif //cl_khr_fp64
7805#ifdef cl_khr_fp16
7806half __ovld __cnfn log10(half);
7807half2 __ovld __cnfn log10(half2);
7808half3 __ovld __cnfn log10(half3);
7809half4 __ovld __cnfn log10(half4);
7810half8 __ovld __cnfn log10(half8);
7811half16 __ovld __cnfn log10(half16);
7812#endif //cl_khr_fp16
7813
7814/**
7815 * Compute a base e logarithm of (1.0 + x).
7816 */
7817float __ovld __cnfn log1p(float x);
7818float2 __ovld __cnfn log1p(float2 x);
7819float3 __ovld __cnfn log1p(float3 x);
7820float4 __ovld __cnfn log1p(float4 x);
7821float8 __ovld __cnfn log1p(float8 x);
7822float16 __ovld __cnfn log1p(float16 x);
7823#ifdef cl_khr_fp64
7824double __ovld __cnfn log1p(double x);
7825double2 __ovld __cnfn log1p(double2 x);
7826double3 __ovld __cnfn log1p(double3 x);
7827double4 __ovld __cnfn log1p(double4 x);
7828double8 __ovld __cnfn log1p(double8 x);
7829double16 __ovld __cnfn log1p(double16 x);
7830#endif //cl_khr_fp64
7831#ifdef cl_khr_fp16
7832half __ovld __cnfn log1p(half x);
7833half2 __ovld __cnfn log1p(half2 x);
7834half3 __ovld __cnfn log1p(half3 x);
7835half4 __ovld __cnfn log1p(half4 x);
7836half8 __ovld __cnfn log1p(half8 x);
7837half16 __ovld __cnfn log1p(half16 x);
7838#endif //cl_khr_fp16
7839
7840/**
7841 * Compute the exponent of x, which is the integral
7842 * part of logr | x |.
7843 */
7844float __ovld __cnfn logb(float x);
7845float2 __ovld __cnfn logb(float2 x);
7846float3 __ovld __cnfn logb(float3 x);
7847float4 __ovld __cnfn logb(float4 x);
7848float8 __ovld __cnfn logb(float8 x);
7849float16 __ovld __cnfn logb(float16 x);
7850#ifdef cl_khr_fp64
7851double __ovld __cnfn logb(double x);
7852double2 __ovld __cnfn logb(double2 x);
7853double3 __ovld __cnfn logb(double3 x);
7854double4 __ovld __cnfn logb(double4 x);
7855double8 __ovld __cnfn logb(double8 x);
7856double16 __ovld __cnfn logb(double16 x);
7857#endif //cl_khr_fp64
7858#ifdef cl_khr_fp16
7859half __ovld __cnfn logb(half x);
7860half2 __ovld __cnfn logb(half2 x);
7861half3 __ovld __cnfn logb(half3 x);
7862half4 __ovld __cnfn logb(half4 x);
7863half8 __ovld __cnfn logb(half8 x);
7864half16 __ovld __cnfn logb(half16 x);
7865#endif //cl_khr_fp16
7866
7867/**
7868 * mad approximates a * b + c. Whether or how the
7869 * product of a * b is rounded and how supernormal or
7870 * subnormal intermediate products are handled is not
7871 * defined. mad is intended to be used where speed is
7872 * preferred over accuracy.
7873 */
7874float __ovld __cnfn mad(float a, float b, float c);
7875float2 __ovld __cnfn mad(float2 a, float2 b, float2 c);
7876float3 __ovld __cnfn mad(float3 a, float3 b, float3 c);
7877float4 __ovld __cnfn mad(float4 a, float4 b, float4 c);
7878float8 __ovld __cnfn mad(float8 a, float8 b, float8 c);
7879float16 __ovld __cnfn mad(float16 a, float16 b, float16 c);
7880#ifdef cl_khr_fp64
7881double __ovld __cnfn mad(double a, double b, double c);
7882double2 __ovld __cnfn mad(double2 a, double2 b, double2 c);
7883double3 __ovld __cnfn mad(double3 a, double3 b, double3 c);
7884double4 __ovld __cnfn mad(double4 a, double4 b, double4 c);
7885double8 __ovld __cnfn mad(double8 a, double8 b, double8 c);
7886double16 __ovld __cnfn mad(double16 a, double16 b, double16 c);
7887#endif //cl_khr_fp64
7888#ifdef cl_khr_fp16
7889half __ovld __cnfn mad(half a, half b, half c);
7890half2 __ovld __cnfn mad(half2 a, half2 b, half2 c);
7891half3 __ovld __cnfn mad(half3 a, half3 b, half3 c);
7892half4 __ovld __cnfn mad(half4 a, half4 b, half4 c);
7893half8 __ovld __cnfn mad(half8 a, half8 b, half8 c);
7894half16 __ovld __cnfn mad(half16 a, half16 b, half16 c);
7895#endif //cl_khr_fp16
7896
7897/**
7898 * Returns x if | x | > | y |, y if | y | > | x |, otherwise
7899 * fmax(x, y).
7900 */
7901float __ovld __cnfn maxmag(float x, float y);
7902float2 __ovld __cnfn maxmag(float2 x, float2 y);
7903float3 __ovld __cnfn maxmag(float3 x, float3 y);
7904float4 __ovld __cnfn maxmag(float4 x, float4 y);
7905float8 __ovld __cnfn maxmag(float8 x, float8 y);
7906float16 __ovld __cnfn maxmag(float16 x, float16 y);
7907#ifdef cl_khr_fp64
7908double __ovld __cnfn maxmag(double x, double y);
7909double2 __ovld __cnfn maxmag(double2 x, double2 y);
7910double3 __ovld __cnfn maxmag(double3 x, double3 y);
7911double4 __ovld __cnfn maxmag(double4 x, double4 y);
7912double8 __ovld __cnfn maxmag(double8 x, double8 y);
7913double16 __ovld __cnfn maxmag(double16 x, double16 y);
7914#endif //cl_khr_fp64
7915#ifdef cl_khr_fp16
7916half __ovld __cnfn maxmag(half x, half y);
7917half2 __ovld __cnfn maxmag(half2 x, half2 y);
7918half3 __ovld __cnfn maxmag(half3 x, half3 y);
7919half4 __ovld __cnfn maxmag(half4 x, half4 y);
7920half8 __ovld __cnfn maxmag(half8 x, half8 y);
7921half16 __ovld __cnfn maxmag(half16 x, half16 y);
7922#endif //cl_khr_fp16
7923
7924/**
7925 * Returns x if | x | < | y |, y if | y | < | x |, otherwise
7926 * fmin(x, y).
7927 */
7928float __ovld __cnfn minmag(float x, float y);
7929float2 __ovld __cnfn minmag(float2 x, float2 y);
7930float3 __ovld __cnfn minmag(float3 x, float3 y);
7931float4 __ovld __cnfn minmag(float4 x, float4 y);
7932float8 __ovld __cnfn minmag(float8 x, float8 y);
7933float16 __ovld __cnfn minmag(float16 x, float16 y);
7934#ifdef cl_khr_fp64
7935double __ovld __cnfn minmag(double x, double y);
7936double2 __ovld __cnfn minmag(double2 x, double2 y);
7937double3 __ovld __cnfn minmag(double3 x, double3 y);
7938double4 __ovld __cnfn minmag(double4 x, double4 y);
7939double8 __ovld __cnfn minmag(double8 x, double8 y);
7940double16 __ovld __cnfn minmag(double16 x, double16 y);
7941#endif //cl_khr_fp64
7942#ifdef cl_khr_fp16
7943half __ovld __cnfn minmag(half x, half y);
7944half2 __ovld __cnfn minmag(half2 x, half2 y);
7945half3 __ovld __cnfn minmag(half3 x, half3 y);
7946half4 __ovld __cnfn minmag(half4 x, half4 y);
7947half8 __ovld __cnfn minmag(half8 x, half8 y);
7948half16 __ovld __cnfn minmag(half16 x, half16 y);
7949#endif //cl_khr_fp16
7950
7951/**
7952 * Decompose a floating-point number. The modf
7953 * function breaks the argument x into integral and
7954 * fractional parts, each of which has the same sign as
7955 * the argument. It stores the integral part in the object
7956 * pointed to by iptr.
7957 */
7958#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7959float __ovld modf(float x, float *iptr);
7960float2 __ovld modf(float2 x, float2 *iptr);
7961float3 __ovld modf(float3 x, float3 *iptr);
7962float4 __ovld modf(float4 x, float4 *iptr);
7963float8 __ovld modf(float8 x, float8 *iptr);
7964float16 __ovld modf(float16 x, float16 *iptr);
7965#ifdef cl_khr_fp64
7966double __ovld modf(double x, double *iptr);
7967double2 __ovld modf(double2 x, double2 *iptr);
7968double3 __ovld modf(double3 x, double3 *iptr);
7969double4 __ovld modf(double4 x, double4 *iptr);
7970double8 __ovld modf(double8 x, double8 *iptr);
7971double16 __ovld modf(double16 x, double16 *iptr);
7972#endif //cl_khr_fp64
7973#ifdef cl_khr_fp16
7974half __ovld modf(half x, half *iptr);
7975half2 __ovld modf(half2 x, half2 *iptr);
7976half3 __ovld modf(half3 x, half3 *iptr);
7977half4 __ovld modf(half4 x, half4 *iptr);
7978half8 __ovld modf(half8 x, half8 *iptr);
7979half16 __ovld modf(half16 x, half16 *iptr);
7980#endif //cl_khr_fp16
7981#else
7982float __ovld modf(float x, __global float *iptr);
7983float2 __ovld modf(float2 x, __global float2 *iptr);
7984float3 __ovld modf(float3 x, __global float3 *iptr);
7985float4 __ovld modf(float4 x, __global float4 *iptr);
7986float8 __ovld modf(float8 x, __global float8 *iptr);
7987float16 __ovld modf(float16 x, __global float16 *iptr);
7988float __ovld modf(float x, __local float *iptr);
7989float2 __ovld modf(float2 x, __local float2 *iptr);
7990float3 __ovld modf(float3 x, __local float3 *iptr);
7991float4 __ovld modf(float4 x, __local float4 *iptr);
7992float8 __ovld modf(float8 x, __local float8 *iptr);
7993float16 __ovld modf(float16 x, __local float16 *iptr);
7994float __ovld modf(float x, __private float *iptr);
7995float2 __ovld modf(float2 x, __private float2 *iptr);
7996float3 __ovld modf(float3 x, __private float3 *iptr);
7997float4 __ovld modf(float4 x, __private float4 *iptr);
7998float8 __ovld modf(float8 x, __private float8 *iptr);
7999float16 __ovld modf(float16 x, __private float16 *iptr);
8000#ifdef cl_khr_fp64
8001double __ovld modf(double x, __global double *iptr);
8002double2 __ovld modf(double2 x, __global double2 *iptr);
8003double3 __ovld modf(double3 x, __global double3 *iptr);
8004double4 __ovld modf(double4 x, __global double4 *iptr);
8005double8 __ovld modf(double8 x, __global double8 *iptr);
8006double16 __ovld modf(double16 x, __global double16 *iptr);
8007double __ovld modf(double x, __local double *iptr);
8008double2 __ovld modf(double2 x, __local double2 *iptr);
8009double3 __ovld modf(double3 x, __local double3 *iptr);
8010double4 __ovld modf(double4 x, __local double4 *iptr);
8011double8 __ovld modf(double8 x, __local double8 *iptr);
8012double16 __ovld modf(double16 x, __local double16 *iptr);
8013double __ovld modf(double x, __private double *iptr);
8014double2 __ovld modf(double2 x, __private double2 *iptr);
8015double3 __ovld modf(double3 x, __private double3 *iptr);
8016double4 __ovld modf(double4 x, __private double4 *iptr);
8017double8 __ovld modf(double8 x, __private double8 *iptr);
8018double16 __ovld modf(double16 x, __private double16 *iptr);
8019#endif //cl_khr_fp64
8020#ifdef cl_khr_fp16
8021half __ovld modf(half x, __global half *iptr);
8022half2 __ovld modf(half2 x, __global half2 *iptr);
8023half3 __ovld modf(half3 x, __global half3 *iptr);
8024half4 __ovld modf(half4 x, __global half4 *iptr);
8025half8 __ovld modf(half8 x, __global half8 *iptr);
8026half16 __ovld modf(half16 x, __global half16 *iptr);
8027half __ovld modf(half x, __local half *iptr);
8028half2 __ovld modf(half2 x, __local half2 *iptr);
8029half3 __ovld modf(half3 x, __local half3 *iptr);
8030half4 __ovld modf(half4 x, __local half4 *iptr);
8031half8 __ovld modf(half8 x, __local half8 *iptr);
8032half16 __ovld modf(half16 x, __local half16 *iptr);
8033half __ovld modf(half x, __private half *iptr);
8034half2 __ovld modf(half2 x, __private half2 *iptr);
8035half3 __ovld modf(half3 x, __private half3 *iptr);
8036half4 __ovld modf(half4 x, __private half4 *iptr);
8037half8 __ovld modf(half8 x, __private half8 *iptr);
8038half16 __ovld modf(half16 x, __private half16 *iptr);
8039#endif //cl_khr_fp16
8040#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
8041
8042/**
8043 * Returns a quiet NaN. The nancode may be placed
8044 * in the significand of the resulting NaN.
8045 */
8046float __ovld __cnfn nan(uint nancode);
8047float2 __ovld __cnfn nan(uint2 nancode);
8048float3 __ovld __cnfn nan(uint3 nancode);
8049float4 __ovld __cnfn nan(uint4 nancode);
8050float8 __ovld __cnfn nan(uint8 nancode);
8051float16 __ovld __cnfn nan(uint16 nancode);
8052#ifdef cl_khr_fp64
8053double __ovld __cnfn nan(ulong nancode);
8054double2 __ovld __cnfn nan(ulong2 nancode);
8055double3 __ovld __cnfn nan(ulong3 nancode);
8056double4 __ovld __cnfn nan(ulong4 nancode);
8057double8 __ovld __cnfn nan(ulong8 nancode);
8058double16 __ovld __cnfn nan(ulong16 nancode);
8059#endif //cl_khr_fp64
8060#ifdef cl_khr_fp16
8061half __ovld __cnfn nan(ushort nancode);
8062half2 __ovld __cnfn nan(ushort2 nancode);
8063half3 __ovld __cnfn nan(ushort3 nancode);
8064half4 __ovld __cnfn nan(ushort4 nancode);
8065half8 __ovld __cnfn nan(ushort8 nancode);
8066half16 __ovld __cnfn nan(ushort16 nancode);
8067#endif //cl_khr_fp16
8068
8069/**
8070 * Computes the next representable single-precision
8071 * floating-point value following x in the direction of
8072 * y. Thus, if y is less than x, nextafter() returns the
8073 * largest representable floating-point number less
8074 * than x.
8075 */
8076float __ovld __cnfn nextafter(float x, float y);
8077float2 __ovld __cnfn nextafter(float2 x, float2 y);
8078float3 __ovld __cnfn nextafter(float3 x, float3 y);
8079float4 __ovld __cnfn nextafter(float4 x, float4 y);
8080float8 __ovld __cnfn nextafter(float8 x, float8 y);
8081float16 __ovld __cnfn nextafter(float16 x, float16 y);
8082#ifdef cl_khr_fp64
8083double __ovld __cnfn nextafter(double x, double y);
8084double2 __ovld __cnfn nextafter(double2 x, double2 y);
8085double3 __ovld __cnfn nextafter(double3 x, double3 y);
8086double4 __ovld __cnfn nextafter(double4 x, double4 y);
8087double8 __ovld __cnfn nextafter(double8 x, double8 y);
8088double16 __ovld __cnfn nextafter(double16 x, double16 y);
8089#endif //cl_khr_fp64
8090#ifdef cl_khr_fp16
8091half __ovld __cnfn nextafter(half x, half y);
8092half2 __ovld __cnfn nextafter(half2 x, half2 y);
8093half3 __ovld __cnfn nextafter(half3 x, half3 y);
8094half4 __ovld __cnfn nextafter(half4 x, half4 y);
8095half8 __ovld __cnfn nextafter(half8 x, half8 y);
8096half16 __ovld __cnfn nextafter(half16 x, half16 y);
8097#endif //cl_khr_fp16
8098
8099/**
8100 * Compute x to the power y.
8101 */
8102float __ovld __cnfn pow(float x, float y);
8103float2 __ovld __cnfn pow(float2 x, float2 y);
8104float3 __ovld __cnfn pow(float3 x, float3 y);
8105float4 __ovld __cnfn pow(float4 x, float4 y);
8106float8 __ovld __cnfn pow(float8 x, float8 y);
8107float16 __ovld __cnfn pow(float16 x, float16 y);
8108#ifdef cl_khr_fp64
8109double __ovld __cnfn pow(double x, double y);
8110double2 __ovld __cnfn pow(double2 x, double2 y);
8111double3 __ovld __cnfn pow(double3 x, double3 y);
8112double4 __ovld __cnfn pow(double4 x, double4 y);
8113double8 __ovld __cnfn pow(double8 x, double8 y);
8114double16 __ovld __cnfn pow(double16 x, double16 y);
8115#endif //cl_khr_fp64
8116#ifdef cl_khr_fp16
8117half __ovld __cnfn pow(half x, half y);
8118half2 __ovld __cnfn pow(half2 x, half2 y);
8119half3 __ovld __cnfn pow(half3 x, half3 y);
8120half4 __ovld __cnfn pow(half4 x, half4 y);
8121half8 __ovld __cnfn pow(half8 x, half8 y);
8122half16 __ovld __cnfn pow(half16 x, half16 y);
8123#endif //cl_khr_fp16
8124
8125/**
8126 * Compute x to the power y, where y is an integer.
8127 */
8128float __ovld __cnfn pown(float x, int y);
8129float2 __ovld __cnfn pown(float2 x, int2 y);
8130float3 __ovld __cnfn pown(float3 x, int3 y);
8131float4 __ovld __cnfn pown(float4 x, int4 y);
8132float8 __ovld __cnfn pown(float8 x, int8 y);
8133float16 __ovld __cnfn pown(float16 x, int16 y);
8134#ifdef cl_khr_fp64
8135double __ovld __cnfn pown(double x, int y);
8136double2 __ovld __cnfn pown(double2 x, int2 y);
8137double3 __ovld __cnfn pown(double3 x, int3 y);
8138double4 __ovld __cnfn pown(double4 x, int4 y);
8139double8 __ovld __cnfn pown(double8 x, int8 y);
8140double16 __ovld __cnfn pown(double16 x, int16 y);
8141#endif //cl_khr_fp64
8142#ifdef cl_khr_fp16
8143half __ovld __cnfn pown(half x, int y);
8144half2 __ovld __cnfn pown(half2 x, int2 y);
8145half3 __ovld __cnfn pown(half3 x, int3 y);
8146half4 __ovld __cnfn pown(half4 x, int4 y);
8147half8 __ovld __cnfn pown(half8 x, int8 y);
8148half16 __ovld __cnfn pown(half16 x, int16 y);
8149#endif //cl_khr_fp16
8150
8151/**
8152 * Compute x to the power y, where x is >= 0.
8153 */
8154float __ovld __cnfn powr(float x, float y);
8155float2 __ovld __cnfn powr(float2 x, float2 y);
8156float3 __ovld __cnfn powr(float3 x, float3 y);
8157float4 __ovld __cnfn powr(float4 x, float4 y);
8158float8 __ovld __cnfn powr(float8 x, float8 y);
8159float16 __ovld __cnfn powr(float16 x, float16 y);
8160#ifdef cl_khr_fp64
8161double __ovld __cnfn powr(double x, double y);
8162double2 __ovld __cnfn powr(double2 x, double2 y);
8163double3 __ovld __cnfn powr(double3 x, double3 y);
8164double4 __ovld __cnfn powr(double4 x, double4 y);
8165double8 __ovld __cnfn powr(double8 x, double8 y);
8166double16 __ovld __cnfn powr(double16 x, double16 y);
8167#endif //cl_khr_fp64
8168#ifdef cl_khr_fp16
8169half __ovld __cnfn powr(half x, half y);
8170half2 __ovld __cnfn powr(half2 x, half2 y);
8171half3 __ovld __cnfn powr(half3 x, half3 y);
8172half4 __ovld __cnfn powr(half4 x, half4 y);
8173half8 __ovld __cnfn powr(half8 x, half8 y);
8174half16 __ovld __cnfn powr(half16 x, half16 y);
8175#endif //cl_khr_fp16
8176
8177/**
8178 * Compute the value r such that r = x - n*y, where n
8179 * is the integer nearest the exact value of x/y. If there
8180 * are two integers closest to x/y, n shall be the even
8181 * one. If r is zero, it is given the same sign as x.
8182 */
8183float __ovld __cnfn remainder(float x, float y);
8184float2 __ovld __cnfn remainder(float2 x, float2 y);
8185float3 __ovld __cnfn remainder(float3 x, float3 y);
8186float4 __ovld __cnfn remainder(float4 x, float4 y);
8187float8 __ovld __cnfn remainder(float8 x, float8 y);
8188float16 __ovld __cnfn remainder(float16 x, float16 y);
8189#ifdef cl_khr_fp64
8190double __ovld __cnfn remainder(double x, double y);
8191double2 __ovld __cnfn remainder(double2 x, double2 y);
8192double3 __ovld __cnfn remainder(double3 x, double3 y);
8193double4 __ovld __cnfn remainder(double4 x, double4 y);
8194double8 __ovld __cnfn remainder(double8 x, double8 y);
8195double16 __ovld __cnfn remainder(double16 x, double16 y);
8196#endif //cl_khr_fp64
8197#ifdef cl_khr_fp16
8198half __ovld __cnfn remainder(half x, half y);
8199half2 __ovld __cnfn remainder(half2 x, half2 y);
8200half3 __ovld __cnfn remainder(half3 x, half3 y);
8201half4 __ovld __cnfn remainder(half4 x, half4 y);
8202half8 __ovld __cnfn remainder(half8 x, half8 y);
8203half16 __ovld __cnfn remainder(half16 x, half16 y);
8204#endif //cl_khr_fp16
8205
8206/**
8207 * The remquo function computes the value r such
8208 * that r = x - n*y, where n is the integer nearest the
8209 * exact value of x/y. If there are two integers closest
8210 * to x/y, n shall be the even one. If r is zero, it is
8211 * given the same sign as x. This is the same value
8212 * that is returned by the remainder function.
8213 * remquo also calculates the lower seven bits of the
8214 * integral quotient x/y, and gives that value the same
8215 * sign as x/y. It stores this signed value in the object
8216 * pointed to by quo.
8217 */
8218#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
8219float __ovld remquo(float x, float y, int *quo);
8220float2 __ovld remquo(float2 x, float2 y, int2 *quo);
8221float3 __ovld remquo(float3 x, float3 y, int3 *quo);
8222float4 __ovld remquo(float4 x, float4 y, int4 *quo);
8223float8 __ovld remquo(float8 x, float8 y, int8 *quo);
8224float16 __ovld remquo(float16 x, float16 y, int16 *quo);
8225#ifdef cl_khr_fp64
8226double __ovld remquo(double x, double y, int *quo);
8227double2 __ovld remquo(double2 x, double2 y, int2 *quo);
8228double3 __ovld remquo(double3 x, double3 y, int3 *quo);
8229double4 __ovld remquo(double4 x, double4 y, int4 *quo);
8230double8 __ovld remquo(double8 x, double8 y, int8 *quo);
8231double16 __ovld remquo(double16 x, double16 y, int16 *quo);
8232#endif //cl_khr_fp64
8233#ifdef cl_khr_fp16
8234half __ovld remquo(half x, half y, int *quo);
8235half2 __ovld remquo(half2 x, half2 y, int2 *quo);
8236half3 __ovld remquo(half3 x, half3 y, int3 *quo);
8237half4 __ovld remquo(half4 x, half4 y, int4 *quo);
8238half8 __ovld remquo(half8 x, half8 y, int8 *quo);
8239half16 __ovld remquo(half16 x, half16 y, int16 *quo);
8240
8241#endif //cl_khr_fp16
8242#else
8243float __ovld remquo(float x, float y, __global int *quo);
8244float2 __ovld remquo(float2 x, float2 y, __global int2 *quo);
8245float3 __ovld remquo(float3 x, float3 y, __global int3 *quo);
8246float4 __ovld remquo(float4 x, float4 y, __global int4 *quo);
8247float8 __ovld remquo(float8 x, float8 y, __global int8 *quo);
8248float16 __ovld remquo(float16 x, float16 y, __global int16 *quo);
8249float __ovld remquo(float x, float y, __local int *quo);
8250float2 __ovld remquo(float2 x, float2 y, __local int2 *quo);
8251float3 __ovld remquo(float3 x, float3 y, __local int3 *quo);
8252float4 __ovld remquo(float4 x, float4 y, __local int4 *quo);
8253float8 __ovld remquo(float8 x, float8 y, __local int8 *quo);
8254float16 __ovld remquo(float16 x, float16 y, __local int16 *quo);
8255float __ovld remquo(float x, float y, __private int *quo);
8256float2 __ovld remquo(float2 x, float2 y, __private int2 *quo);
8257float3 __ovld remquo(float3 x, float3 y, __private int3 *quo);
8258float4 __ovld remquo(float4 x, float4 y, __private int4 *quo);
8259float8 __ovld remquo(float8 x, float8 y, __private int8 *quo);
8260float16 __ovld remquo(float16 x, float16 y, __private int16 *quo);
8261#ifdef cl_khr_fp64
8262double __ovld remquo(double x, double y, __global int *quo);
8263double2 __ovld remquo(double2 x, double2 y, __global int2 *quo);
8264double3 __ovld remquo(double3 x, double3 y, __global int3 *quo);
8265double4 __ovld remquo(double4 x, double4 y, __global int4 *quo);
8266double8 __ovld remquo(double8 x, double8 y, __global int8 *quo);
8267double16 __ovld remquo(double16 x, double16 y, __global int16 *quo);
8268double __ovld remquo(double x, double y, __local int *quo);
8269double2 __ovld remquo(double2 x, double2 y, __local int2 *quo);
8270double3 __ovld remquo(double3 x, double3 y, __local int3 *quo);
8271double4 __ovld remquo(double4 x, double4 y, __local int4 *quo);
8272double8 __ovld remquo(double8 x, double8 y, __local int8 *quo);
8273double16 __ovld remquo(double16 x, double16 y, __local int16 *quo);
8274double __ovld remquo(double x, double y, __private int *quo);
8275double2 __ovld remquo(double2 x, double2 y, __private int2 *quo);
8276double3 __ovld remquo(double3 x, double3 y, __private int3 *quo);
8277double4 __ovld remquo(double4 x, double4 y, __private int4 *quo);
8278double8 __ovld remquo(double8 x, double8 y, __private int8 *quo);
8279double16 __ovld remquo(double16 x, double16 y, __private int16 *quo);
8280#endif //cl_khr_fp64
8281#ifdef cl_khr_fp16
8282half __ovld remquo(half x, half y, __global int *quo);
8283half2 __ovld remquo(half2 x, half2 y, __global int2 *quo);
8284half3 __ovld remquo(half3 x, half3 y, __global int3 *quo);
8285half4 __ovld remquo(half4 x, half4 y, __global int4 *quo);
8286half8 __ovld remquo(half8 x, half8 y, __global int8 *quo);
8287half16 __ovld remquo(half16 x, half16 y, __global int16 *quo);
8288half __ovld remquo(half x, half y, __local int *quo);
8289half2 __ovld remquo(half2 x, half2 y, __local int2 *quo);
8290half3 __ovld remquo(half3 x, half3 y, __local int3 *quo);
8291half4 __ovld remquo(half4 x, half4 y, __local int4 *quo);
8292half8 __ovld remquo(half8 x, half8 y, __local int8 *quo);
8293half16 __ovld remquo(half16 x, half16 y, __local int16 *quo);
8294half __ovld remquo(half x, half y, __private int *quo);
8295half2 __ovld remquo(half2 x, half2 y, __private int2 *quo);
8296half3 __ovld remquo(half3 x, half3 y, __private int3 *quo);
8297half4 __ovld remquo(half4 x, half4 y, __private int4 *quo);
8298half8 __ovld remquo(half8 x, half8 y, __private int8 *quo);
8299half16 __ovld remquo(half16 x, half16 y, __private int16 *quo);
8300#endif //cl_khr_fp16
8301#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
8302/**
8303 * Round to integral value (using round to nearest
8304 * even rounding mode) in floating-point format.
8305 * Refer to section 7.1 for description of rounding
8306 * modes.
8307 */
8308float __ovld __cnfn rint(float);
8309float2 __ovld __cnfn rint(float2);
8310float3 __ovld __cnfn rint(float3);
8311float4 __ovld __cnfn rint(float4);
8312float8 __ovld __cnfn rint(float8);
8313float16 __ovld __cnfn rint(float16);
8314#ifdef cl_khr_fp64
8315double __ovld __cnfn rint(double);
8316double2 __ovld __cnfn rint(double2);
8317double3 __ovld __cnfn rint(double3);
8318double4 __ovld __cnfn rint(double4);
8319double8 __ovld __cnfn rint(double8);
8320double16 __ovld __cnfn rint(double16);
8321#endif //cl_khr_fp64
8322#ifdef cl_khr_fp16
8323half __ovld __cnfn rint(half);
8324half2 __ovld __cnfn rint(half2);
8325half3 __ovld __cnfn rint(half3);
8326half4 __ovld __cnfn rint(half4);
8327half8 __ovld __cnfn rint(half8);
8328half16 __ovld __cnfn rint(half16);
8329#endif //cl_khr_fp16
8330
8331/**
8332 * Compute x to the power 1/y.
8333 */
8334float __ovld __cnfn rootn(float x, int y);
8335float2 __ovld __cnfn rootn(float2 x, int2 y);
8336float3 __ovld __cnfn rootn(float3 x, int3 y);
8337float4 __ovld __cnfn rootn(float4 x, int4 y);
8338float8 __ovld __cnfn rootn(float8 x, int8 y);
8339float16 __ovld __cnfn rootn(float16 x, int16 y);
8340#ifdef cl_khr_fp64
8341double __ovld __cnfn rootn(double x, int y);
8342double2 __ovld __cnfn rootn(double2 x, int2 y);
8343double3 __ovld __cnfn rootn(double3 x, int3 y);
8344double4 __ovld __cnfn rootn(double4 x, int4 y);
8345double8 __ovld __cnfn rootn(double8 x, int8 y);
8346double16 __ovld __cnfn rootn(double16 x, int16 y);
8347#endif //cl_khr_fp64
8348#ifdef cl_khr_fp16
8349half __ovld __cnfn rootn(half x, int y);
8350half2 __ovld __cnfn rootn(half2 x, int2 y);
8351half3 __ovld __cnfn rootn(half3 x, int3 y);
8352half4 __ovld __cnfn rootn(half4 x, int4 y);
8353half8 __ovld __cnfn rootn(half8 x, int8 y);
8354half16 __ovld __cnfn rootn(half16 x, int16 y);
8355#endif //cl_khr_fp16
8356
8357/**
8358 * Return the integral value nearest to x rounding
8359 * halfway cases away from zero, regardless of the
8360 * current rounding direction.
8361 */
8362float __ovld __cnfn round(float x);
8363float2 __ovld __cnfn round(float2 x);
8364float3 __ovld __cnfn round(float3 x);
8365float4 __ovld __cnfn round(float4 x);
8366float8 __ovld __cnfn round(float8 x);
8367float16 __ovld __cnfn round(float16 x);
8368#ifdef cl_khr_fp64
8369double __ovld __cnfn round(double x);
8370double2 __ovld __cnfn round(double2 x);
8371double3 __ovld __cnfn round(double3 x);
8372double4 __ovld __cnfn round(double4 x);
8373double8 __ovld __cnfn round(double8 x);
8374double16 __ovld __cnfn round(double16 x);
8375#endif //cl_khr_fp64
8376#ifdef cl_khr_fp16
8377half __ovld __cnfn round(half x);
8378half2 __ovld __cnfn round(half2 x);
8379half3 __ovld __cnfn round(half3 x);
8380half4 __ovld __cnfn round(half4 x);
8381half8 __ovld __cnfn round(half8 x);
8382half16 __ovld __cnfn round(half16 x);
8383#endif //cl_khr_fp16
8384
8385/**
8386 * Compute inverse square root.
8387 */
8388float __ovld __cnfn rsqrt(float);
8389float2 __ovld __cnfn rsqrt(float2);
8390float3 __ovld __cnfn rsqrt(float3);
8391float4 __ovld __cnfn rsqrt(float4);
8392float8 __ovld __cnfn rsqrt(float8);
8393float16 __ovld __cnfn rsqrt(float16);
8394#ifdef cl_khr_fp64
8395double __ovld __cnfn rsqrt(double);
8396double2 __ovld __cnfn rsqrt(double2);
8397double3 __ovld __cnfn rsqrt(double3);
8398double4 __ovld __cnfn rsqrt(double4);
8399double8 __ovld __cnfn rsqrt(double8);
8400double16 __ovld __cnfn rsqrt(double16);
8401#endif //cl_khr_fp64
8402#ifdef cl_khr_fp16
8403half __ovld __cnfn rsqrt(half);
8404half2 __ovld __cnfn rsqrt(half2);
8405half3 __ovld __cnfn rsqrt(half3);
8406half4 __ovld __cnfn rsqrt(half4);
8407half8 __ovld __cnfn rsqrt(half8);
8408half16 __ovld __cnfn rsqrt(half16);
8409#endif //cl_khr_fp16
8410
8411/**
8412 * Compute sine.
8413 */
8414float __ovld __cnfn sin(float);
8415float2 __ovld __cnfn sin(float2);
8416float3 __ovld __cnfn sin(float3);
8417float4 __ovld __cnfn sin(float4);
8418float8 __ovld __cnfn sin(float8);
8419float16 __ovld __cnfn sin(float16);
8420#ifdef cl_khr_fp64
8421double __ovld __cnfn sin(double);
8422double2 __ovld __cnfn sin(double2);
8423double3 __ovld __cnfn sin(double3);
8424double4 __ovld __cnfn sin(double4);
8425double8 __ovld __cnfn sin(double8);
8426double16 __ovld __cnfn sin(double16);
8427#endif //cl_khr_fp64
8428#ifdef cl_khr_fp16
8429half __ovld __cnfn sin(half);
8430half2 __ovld __cnfn sin(half2);
8431half3 __ovld __cnfn sin(half3);
8432half4 __ovld __cnfn sin(half4);
8433half8 __ovld __cnfn sin(half8);
8434half16 __ovld __cnfn sin(half16);
8435#endif //cl_khr_fp16
8436
8437/**
8438 * Compute sine and cosine of x. The computed sine
8439 * is the return value and computed cosine is returned
8440 * in cosval.
8441 */
8442#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
8443float __ovld sincos(float x, float *cosval);
8444float2 __ovld sincos(float2 x, float2 *cosval);
8445float3 __ovld sincos(float3 x, float3 *cosval);
8446float4 __ovld sincos(float4 x, float4 *cosval);
8447float8 __ovld sincos(float8 x, float8 *cosval);
8448float16 __ovld sincos(float16 x, float16 *cosval);
8449#ifdef cl_khr_fp64
8450double __ovld sincos(double x, double *cosval);
8451double2 __ovld sincos(double2 x, double2 *cosval);
8452double3 __ovld sincos(double3 x, double3 *cosval);
8453double4 __ovld sincos(double4 x, double4 *cosval);
8454double8 __ovld sincos(double8 x, double8 *cosval);
8455double16 __ovld sincos(double16 x, double16 *cosval);
8456#endif //cl_khr_fp64
8457#ifdef cl_khr_fp16
8458half __ovld sincos(half x, half *cosval);
8459half2 __ovld sincos(half2 x, half2 *cosval);
8460half3 __ovld sincos(half3 x, half3 *cosval);
8461half4 __ovld sincos(half4 x, half4 *cosval);
8462half8 __ovld sincos(half8 x, half8 *cosval);
8463half16 __ovld sincos(half16 x, half16 *cosval);
8464#endif //cl_khr_fp16
8465#else
8466float __ovld sincos(float x, __global float *cosval);
8467float2 __ovld sincos(float2 x, __global float2 *cosval);
8468float3 __ovld sincos(float3 x, __global float3 *cosval);
8469float4 __ovld sincos(float4 x, __global float4 *cosval);
8470float8 __ovld sincos(float8 x, __global float8 *cosval);
8471float16 __ovld sincos(float16 x, __global float16 *cosval);
8472float __ovld sincos(float x, __local float *cosval);
8473float2 __ovld sincos(float2 x, __local float2 *cosval);
8474float3 __ovld sincos(float3 x, __local float3 *cosval);
8475float4 __ovld sincos(float4 x, __local float4 *cosval);
8476float8 __ovld sincos(float8 x, __local float8 *cosval);
8477float16 __ovld sincos(float16 x, __local float16 *cosval);
8478float __ovld sincos(float x, __private float *cosval);
8479float2 __ovld sincos(float2 x, __private float2 *cosval);
8480float3 __ovld sincos(float3 x, __private float3 *cosval);
8481float4 __ovld sincos(float4 x, __private float4 *cosval);
8482float8 __ovld sincos(float8 x, __private float8 *cosval);
8483float16 __ovld sincos(float16 x, __private float16 *cosval);
8484#ifdef cl_khr_fp64
8485double __ovld sincos(double x, __global double *cosval);
8486double2 __ovld sincos(double2 x, __global double2 *cosval);
8487double3 __ovld sincos(double3 x, __global double3 *cosval);
8488double4 __ovld sincos(double4 x, __global double4 *cosval);
8489double8 __ovld sincos(double8 x, __global double8 *cosval);
8490double16 __ovld sincos(double16 x, __global double16 *cosval);
8491double __ovld sincos(double x, __local double *cosval);
8492double2 __ovld sincos(double2 x, __local double2 *cosval);
8493double3 __ovld sincos(double3 x, __local double3 *cosval);
8494double4 __ovld sincos(double4 x, __local double4 *cosval);
8495double8 __ovld sincos(double8 x, __local double8 *cosval);
8496double16 __ovld sincos(double16 x, __local double16 *cosval);
8497double __ovld sincos(double x, __private double *cosval);
8498double2 __ovld sincos(double2 x, __private double2 *cosval);
8499double3 __ovld sincos(double3 x, __private double3 *cosval);
8500double4 __ovld sincos(double4 x, __private double4 *cosval);
8501double8 __ovld sincos(double8 x, __private double8 *cosval);
8502double16 __ovld sincos(double16 x, __private double16 *cosval);
8503#endif //cl_khr_fp64
8504#ifdef cl_khr_fp16
8505half __ovld sincos(half x, __global half *cosval);
8506half2 __ovld sincos(half2 x, __global half2 *cosval);
8507half3 __ovld sincos(half3 x, __global half3 *cosval);
8508half4 __ovld sincos(half4 x, __global half4 *cosval);
8509half8 __ovld sincos(half8 x, __global half8 *cosval);
8510half16 __ovld sincos(half16 x, __global half16 *cosval);
8511half __ovld sincos(half x, __local half *cosval);
8512half2 __ovld sincos(half2 x, __local half2 *cosval);
8513half3 __ovld sincos(half3 x, __local half3 *cosval);
8514half4 __ovld sincos(half4 x, __local half4 *cosval);
8515half8 __ovld sincos(half8 x, __local half8 *cosval);
8516half16 __ovld sincos(half16 x, __local half16 *cosval);
8517half __ovld sincos(half x, __private half *cosval);
8518half2 __ovld sincos(half2 x, __private half2 *cosval);
8519half3 __ovld sincos(half3 x, __private half3 *cosval);
8520half4 __ovld sincos(half4 x, __private half4 *cosval);
8521half8 __ovld sincos(half8 x, __private half8 *cosval);
8522half16 __ovld sincos(half16 x, __private half16 *cosval);
8523#endif //cl_khr_fp16
8524#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
8525
8526/**
8527 * Compute hyperbolic sine.
8528 */
8529float __ovld __cnfn sinh(float);
8530float2 __ovld __cnfn sinh(float2);
8531float3 __ovld __cnfn sinh(float3);
8532float4 __ovld __cnfn sinh(float4);
8533float8 __ovld __cnfn sinh(float8);
8534float16 __ovld __cnfn sinh(float16);
8535#ifdef cl_khr_fp64
8536double __ovld __cnfn sinh(double);
8537double2 __ovld __cnfn sinh(double2);
8538double3 __ovld __cnfn sinh(double3);
8539double4 __ovld __cnfn sinh(double4);
8540double8 __ovld __cnfn sinh(double8);
8541double16 __ovld __cnfn sinh(double16);
8542#endif //cl_khr_fp64
8543#ifdef cl_khr_fp16
8544half __ovld __cnfn sinh(half);
8545half2 __ovld __cnfn sinh(half2);
8546half3 __ovld __cnfn sinh(half3);
8547half4 __ovld __cnfn sinh(half4);
8548half8 __ovld __cnfn sinh(half8);
8549half16 __ovld __cnfn sinh(half16);
8550#endif //cl_khr_fp16
8551
8552/**
8553 * Compute sin (PI * x).
8554 */
8555float __ovld __cnfn sinpi(float x);
8556float2 __ovld __cnfn sinpi(float2 x);
8557float3 __ovld __cnfn sinpi(float3 x);
8558float4 __ovld __cnfn sinpi(float4 x);
8559float8 __ovld __cnfn sinpi(float8 x);
8560float16 __ovld __cnfn sinpi(float16 x);
8561#ifdef cl_khr_fp64
8562double __ovld __cnfn sinpi(double x);
8563double2 __ovld __cnfn sinpi(double2 x);
8564double3 __ovld __cnfn sinpi(double3 x);
8565double4 __ovld __cnfn sinpi(double4 x);
8566double8 __ovld __cnfn sinpi(double8 x);
8567double16 __ovld __cnfn sinpi(double16 x);
8568#endif //cl_khr_fp64
8569#ifdef cl_khr_fp16
8570half __ovld __cnfn sinpi(half x);
8571half2 __ovld __cnfn sinpi(half2 x);
8572half3 __ovld __cnfn sinpi(half3 x);
8573half4 __ovld __cnfn sinpi(half4 x);
8574half8 __ovld __cnfn sinpi(half8 x);
8575half16 __ovld __cnfn sinpi(half16 x);
8576#endif //cl_khr_fp16
8577
8578/**
8579 * Compute square root.
8580 */
8581float __ovld __cnfn sqrt(float);
8582float2 __ovld __cnfn sqrt(float2);
8583float3 __ovld __cnfn sqrt(float3);
8584float4 __ovld __cnfn sqrt(float4);
8585float8 __ovld __cnfn sqrt(float8);
8586float16 __ovld __cnfn sqrt(float16);
8587#ifdef cl_khr_fp64
8588double __ovld __cnfn sqrt(double);
8589double2 __ovld __cnfn sqrt(double2);
8590double3 __ovld __cnfn sqrt(double3);
8591double4 __ovld __cnfn sqrt(double4);
8592double8 __ovld __cnfn sqrt(double8);
8593double16 __ovld __cnfn sqrt(double16);
8594#endif //cl_khr_fp64
8595#ifdef cl_khr_fp16
8596half __ovld __cnfn sqrt(half);
8597half2 __ovld __cnfn sqrt(half2);
8598half3 __ovld __cnfn sqrt(half3);
8599half4 __ovld __cnfn sqrt(half4);
8600half8 __ovld __cnfn sqrt(half8);
8601half16 __ovld __cnfn sqrt(half16);
8602#endif //cl_khr_fp16
8603
8604/**
8605 * Compute tangent.
8606 */
8607float __ovld __cnfn tan(float);
8608float2 __ovld __cnfn tan(float2);
8609float3 __ovld __cnfn tan(float3);
8610float4 __ovld __cnfn tan(float4);
8611float8 __ovld __cnfn tan(float8);
8612float16 __ovld __cnfn tan(float16);
8613#ifdef cl_khr_fp64
8614double __ovld __cnfn tan(double);
8615double2 __ovld __cnfn tan(double2);
8616double3 __ovld __cnfn tan(double3);
8617double4 __ovld __cnfn tan(double4);
8618double8 __ovld __cnfn tan(double8);
8619double16 __ovld __cnfn tan(double16);
8620#endif //cl_khr_fp64
8621#ifdef cl_khr_fp16
8622half __ovld __cnfn tan(half);
8623half2 __ovld __cnfn tan(half2);
8624half3 __ovld __cnfn tan(half3);
8625half4 __ovld __cnfn tan(half4);
8626half8 __ovld __cnfn tan(half8);
8627half16 __ovld __cnfn tan(half16);
8628#endif //cl_khr_fp16
8629
8630/**
8631 * Compute hyperbolic tangent.
8632 */
8633float __ovld __cnfn tanh(float);
8634float2 __ovld __cnfn tanh(float2);
8635float3 __ovld __cnfn tanh(float3);
8636float4 __ovld __cnfn tanh(float4);
8637float8 __ovld __cnfn tanh(float8);
8638float16 __ovld __cnfn tanh(float16);
8639#ifdef cl_khr_fp64
8640double __ovld __cnfn tanh(double);
8641double2 __ovld __cnfn tanh(double2);
8642double3 __ovld __cnfn tanh(double3);
8643double4 __ovld __cnfn tanh(double4);
8644double8 __ovld __cnfn tanh(double8);
8645double16 __ovld __cnfn tanh(double16);
8646#endif //cl_khr_fp64
8647#ifdef cl_khr_fp16
8648half __ovld __cnfn tanh(half);
8649half2 __ovld __cnfn tanh(half2);
8650half3 __ovld __cnfn tanh(half3);
8651half4 __ovld __cnfn tanh(half4);
8652half8 __ovld __cnfn tanh(half8);
8653half16 __ovld __cnfn tanh(half16);
8654#endif //cl_khr_fp16
8655
8656/**
8657 * Compute tan (PI * x).
8658 */
8659float __ovld __cnfn tanpi(float x);
8660float2 __ovld __cnfn tanpi(float2 x);
8661float3 __ovld __cnfn tanpi(float3 x);
8662float4 __ovld __cnfn tanpi(float4 x);
8663float8 __ovld __cnfn tanpi(float8 x);
8664float16 __ovld __cnfn tanpi(float16 x);
8665#ifdef cl_khr_fp64
8666double __ovld __cnfn tanpi(double x);
8667double2 __ovld __cnfn tanpi(double2 x);
8668double3 __ovld __cnfn tanpi(double3 x);
8669double4 __ovld __cnfn tanpi(double4 x);
8670double8 __ovld __cnfn tanpi(double8 x);
8671double16 __ovld __cnfn tanpi(double16 x);
8672#endif //cl_khr_fp64
8673#ifdef cl_khr_fp16
8674half __ovld __cnfn tanpi(half x);
8675half2 __ovld __cnfn tanpi(half2 x);
8676half3 __ovld __cnfn tanpi(half3 x);
8677half4 __ovld __cnfn tanpi(half4 x);
8678half8 __ovld __cnfn tanpi(half8 x);
8679half16 __ovld __cnfn tanpi(half16 x);
8680#endif //cl_khr_fp16
8681
8682/**
8683 * Compute the gamma function.
8684 */
8685float __ovld __cnfn tgamma(float);
8686float2 __ovld __cnfn tgamma(float2);
8687float3 __ovld __cnfn tgamma(float3);
8688float4 __ovld __cnfn tgamma(float4);
8689float8 __ovld __cnfn tgamma(float8);
8690float16 __ovld __cnfn tgamma(float16);
8691#ifdef cl_khr_fp64
8692double __ovld __cnfn tgamma(double);
8693double2 __ovld __cnfn tgamma(double2);
8694double3 __ovld __cnfn tgamma(double3);
8695double4 __ovld __cnfn tgamma(double4);
8696double8 __ovld __cnfn tgamma(double8);
8697double16 __ovld __cnfn tgamma(double16);
8698#endif //cl_khr_fp64
8699#ifdef cl_khr_fp16
8700half __ovld __cnfn tgamma(half);
8701half2 __ovld __cnfn tgamma(half2);
8702half3 __ovld __cnfn tgamma(half3);
8703half4 __ovld __cnfn tgamma(half4);
8704half8 __ovld __cnfn tgamma(half8);
8705half16 __ovld __cnfn tgamma(half16);
8706#endif //cl_khr_fp16
8707
8708/**
8709 * Round to integral value using the round to zero
8710 * rounding mode.
8711 */
8712float __ovld __cnfn trunc(float);
8713float2 __ovld __cnfn trunc(float2);
8714float3 __ovld __cnfn trunc(float3);
8715float4 __ovld __cnfn trunc(float4);
8716float8 __ovld __cnfn trunc(float8);
8717float16 __ovld __cnfn trunc(float16);
8718#ifdef cl_khr_fp64
8719double __ovld __cnfn trunc(double);
8720double2 __ovld __cnfn trunc(double2);
8721double3 __ovld __cnfn trunc(double3);
8722double4 __ovld __cnfn trunc(double4);
8723double8 __ovld __cnfn trunc(double8);
8724double16 __ovld __cnfn trunc(double16);
8725#endif //cl_khr_fp64
8726#ifdef cl_khr_fp16
8727half __ovld __cnfn trunc(half);
8728half2 __ovld __cnfn trunc(half2);
8729half3 __ovld __cnfn trunc(half3);
8730half4 __ovld __cnfn trunc(half4);
8731half8 __ovld __cnfn trunc(half8);
8732half16 __ovld __cnfn trunc(half16);
8733#endif //cl_khr_fp16
8734
8735/**
8736 * Compute cosine. x must be in the range -2^16 ... +2^16.
8737 */
8738float __ovld __cnfn half_cos(float x);
8739float2 __ovld __cnfn half_cos(float2 x);
8740float3 __ovld __cnfn half_cos(float3 x);
8741float4 __ovld __cnfn half_cos(float4 x);
8742float8 __ovld __cnfn half_cos(float8 x);
8743float16 __ovld __cnfn half_cos(float16 x);
8744
8745/**
8746 * Compute x / y.
8747 */
8748float __ovld __cnfn half_divide(float x, float y);
8749float2 __ovld __cnfn half_divide(float2 x, float2 y);
8750float3 __ovld __cnfn half_divide(float3 x, float3 y);
8751float4 __ovld __cnfn half_divide(float4 x, float4 y);
8752float8 __ovld __cnfn half_divide(float8 x, float8 y);
8753float16 __ovld __cnfn half_divide(float16 x, float16 y);
8754
8755/**
8756 * Compute the base- e exponential of x.
8757 */
8758float __ovld __cnfn half_exp(float x);
8759float2 __ovld __cnfn half_exp(float2 x);
8760float3 __ovld __cnfn half_exp(float3 x);
8761float4 __ovld __cnfn half_exp(float4 x);
8762float8 __ovld __cnfn half_exp(float8 x);
8763float16 __ovld __cnfn half_exp(float16 x);
8764
8765/**
8766 * Compute the base- 2 exponential of x.
8767 */
8768float __ovld __cnfn half_exp2(float x);
8769float2 __ovld __cnfn half_exp2(float2 x);
8770float3 __ovld __cnfn half_exp2(float3 x);
8771float4 __ovld __cnfn half_exp2(float4 x);
8772float8 __ovld __cnfn half_exp2(float8 x);
8773float16 __ovld __cnfn half_exp2(float16 x);
8774
8775/**
8776 * Compute the base- 10 exponential of x.
8777 */
8778float __ovld __cnfn half_exp10(float x);
8779float2 __ovld __cnfn half_exp10(float2 x);
8780float3 __ovld __cnfn half_exp10(float3 x);
8781float4 __ovld __cnfn half_exp10(float4 x);
8782float8 __ovld __cnfn half_exp10(float8 x);
8783float16 __ovld __cnfn half_exp10(float16 x);
8784
8785/**
8786 * Compute natural logarithm.
8787 */
8788float __ovld __cnfn half_log(float x);
8789float2 __ovld __cnfn half_log(float2 x);
8790float3 __ovld __cnfn half_log(float3 x);
8791float4 __ovld __cnfn half_log(float4 x);
8792float8 __ovld __cnfn half_log(float8 x);
8793float16 __ovld __cnfn half_log(float16 x);
8794
8795/**
8796 * Compute a base 2 logarithm.
8797 */
8798float __ovld __cnfn half_log2(float x);
8799float2 __ovld __cnfn half_log2(float2 x);
8800float3 __ovld __cnfn half_log2(float3 x);
8801float4 __ovld __cnfn half_log2(float4 x);
8802float8 __ovld __cnfn half_log2(float8 x);
8803float16 __ovld __cnfn half_log2(float16 x);
8804
8805/**
8806 * Compute a base 10 logarithm.
8807 */
8808float __ovld __cnfn half_log10(float x);
8809float2 __ovld __cnfn half_log10(float2 x);
8810float3 __ovld __cnfn half_log10(float3 x);
8811float4 __ovld __cnfn half_log10(float4 x);
8812float8 __ovld __cnfn half_log10(float8 x);
8813float16 __ovld __cnfn half_log10(float16 x);
8814
8815/**
8816 * Compute x to the power y, where x is >= 0.
8817 */
8818float __ovld __cnfn half_powr(float x, float y);
8819float2 __ovld __cnfn half_powr(float2 x, float2 y);
8820float3 __ovld __cnfn half_powr(float3 x, float3 y);
8821float4 __ovld __cnfn half_powr(float4 x, float4 y);
8822float8 __ovld __cnfn half_powr(float8 x, float8 y);
8823float16 __ovld __cnfn half_powr(float16 x, float16 y);
8824
8825/**
8826 * Compute reciprocal.
8827 */
8828float __ovld __cnfn half_recip(float x);
8829float2 __ovld __cnfn half_recip(float2 x);
8830float3 __ovld __cnfn half_recip(float3 x);
8831float4 __ovld __cnfn half_recip(float4 x);
8832float8 __ovld __cnfn half_recip(float8 x);
8833float16 __ovld __cnfn half_recip(float16 x);
8834
8835/**
8836 * Compute inverse square root.
8837 */
8838float __ovld __cnfn half_rsqrt(float x);
8839float2 __ovld __cnfn half_rsqrt(float2 x);
8840float3 __ovld __cnfn half_rsqrt(float3 x);
8841float4 __ovld __cnfn half_rsqrt(float4 x);
8842float8 __ovld __cnfn half_rsqrt(float8 x);
8843float16 __ovld __cnfn half_rsqrt(float16 x);
8844
8845/**
8846 * Compute sine. x must be in the range -2^16 ... +2^16.
8847 */
8848float __ovld __cnfn half_sin(float x);
8849float2 __ovld __cnfn half_sin(float2 x);
8850float3 __ovld __cnfn half_sin(float3 x);
8851float4 __ovld __cnfn half_sin(float4 x);
8852float8 __ovld __cnfn half_sin(float8 x);
8853float16 __ovld __cnfn half_sin(float16 x);
8854
8855/**
8856 * Compute square root.
8857 */
8858float __ovld __cnfn half_sqrt(float x);
8859float2 __ovld __cnfn half_sqrt(float2 x);
8860float3 __ovld __cnfn half_sqrt(float3 x);
8861float4 __ovld __cnfn half_sqrt(float4 x);
8862float8 __ovld __cnfn half_sqrt(float8 x);
8863float16 __ovld __cnfn half_sqrt(float16 x);
8864
8865/**
8866 * Compute tangent. x must be in the range -216 ... +216.
8867 */
8868float __ovld __cnfn half_tan(float x);
8869float2 __ovld __cnfn half_tan(float2 x);
8870float3 __ovld __cnfn half_tan(float3 x);
8871float4 __ovld __cnfn half_tan(float4 x);
8872float8 __ovld __cnfn half_tan(float8 x);
8873float16 __ovld __cnfn half_tan(float16 x);
8874
8875/**
8876 * Compute cosine over an implementation-defined range.
8877 * The maximum error is implementation-defined.
8878 */
8879float __ovld __cnfn native_cos(float x);
8880float2 __ovld __cnfn native_cos(float2 x);
8881float3 __ovld __cnfn native_cos(float3 x);
8882float4 __ovld __cnfn native_cos(float4 x);
8883float8 __ovld __cnfn native_cos(float8 x);
8884float16 __ovld __cnfn native_cos(float16 x);
8885
8886/**
8887 * Compute x / y over an implementation-defined range.
8888 * The maximum error is implementation-defined.
8889 */
8890float __ovld __cnfn native_divide(float x, float y);
8891float2 __ovld __cnfn native_divide(float2 x, float2 y);
8892float3 __ovld __cnfn native_divide(float3 x, float3 y);
8893float4 __ovld __cnfn native_divide(float4 x, float4 y);
8894float8 __ovld __cnfn native_divide(float8 x, float8 y);
8895float16 __ovld __cnfn native_divide(float16 x, float16 y);
8896
8897/**
8898 * Compute the base- e exponential of x over an
8899 * implementation-defined range. The maximum error is
8900 * implementation-defined.
8901 */
8902float __ovld __cnfn native_exp(float x);
8903float2 __ovld __cnfn native_exp(float2 x);
8904float3 __ovld __cnfn native_exp(float3 x);
8905float4 __ovld __cnfn native_exp(float4 x);
8906float8 __ovld __cnfn native_exp(float8 x);
8907float16 __ovld __cnfn native_exp(float16 x);
8908
8909/**
8910 * Compute the base- 2 exponential of x over an
8911 * implementation-defined range. The maximum error is
8912 * implementation-defined.
8913 */
8914float __ovld __cnfn native_exp2(float x);
8915float2 __ovld __cnfn native_exp2(float2 x);
8916float3 __ovld __cnfn native_exp2(float3 x);
8917float4 __ovld __cnfn native_exp2(float4 x);
8918float8 __ovld __cnfn native_exp2(float8 x);
8919float16 __ovld __cnfn native_exp2(float16 x);
8920
8921/**
8922 * Compute the base- 10 exponential of x over an
8923 * implementation-defined range. The maximum error is
8924 * implementation-defined.
8925 */
8926float __ovld __cnfn native_exp10(float x);
8927float2 __ovld __cnfn native_exp10(float2 x);
8928float3 __ovld __cnfn native_exp10(float3 x);
8929float4 __ovld __cnfn native_exp10(float4 x);
8930float8 __ovld __cnfn native_exp10(float8 x);
8931float16 __ovld __cnfn native_exp10(float16 x);
8932
8933/**
8934 * Compute natural logarithm over an implementationdefined
8935 * range. The maximum error is implementation
8936 * defined.
8937 */
8938float __ovld __cnfn native_log(float x);
8939float2 __ovld __cnfn native_log(float2 x);
8940float3 __ovld __cnfn native_log(float3 x);
8941float4 __ovld __cnfn native_log(float4 x);
8942float8 __ovld __cnfn native_log(float8 x);
8943float16 __ovld __cnfn native_log(float16 x);
8944
8945/**
8946 * Compute a base 2 logarithm over an implementationdefined
8947 * range. The maximum error is implementationdefined.
8948 */
8949float __ovld __cnfn native_log2(float x);
8950float2 __ovld __cnfn native_log2(float2 x);
8951float3 __ovld __cnfn native_log2(float3 x);
8952float4 __ovld __cnfn native_log2(float4 x);
8953float8 __ovld __cnfn native_log2(float8 x);
8954float16 __ovld __cnfn native_log2(float16 x);
8955
8956/**
8957 * Compute a base 10 logarithm over an implementationdefined
8958 * range. The maximum error is implementationdefined.
8959 */
8960float __ovld __cnfn native_log10(float x);
8961float2 __ovld __cnfn native_log10(float2 x);
8962float3 __ovld __cnfn native_log10(float3 x);
8963float4 __ovld __cnfn native_log10(float4 x);
8964float8 __ovld __cnfn native_log10(float8 x);
8965float16 __ovld __cnfn native_log10(float16 x);
8966
8967/**
8968 * Compute x to the power y, where x is >= 0. The range of
8969 * x and y are implementation-defined. The maximum error
8970 * is implementation-defined.
8971 */
8972float __ovld __cnfn native_powr(float x, float y);
8973float2 __ovld __cnfn native_powr(float2 x, float2 y);
8974float3 __ovld __cnfn native_powr(float3 x, float3 y);
8975float4 __ovld __cnfn native_powr(float4 x, float4 y);
8976float8 __ovld __cnfn native_powr(float8 x, float8 y);
8977float16 __ovld __cnfn native_powr(float16 x, float16 y);
8978
8979/**
8980 * Compute reciprocal over an implementation-defined
8981 * range. The maximum error is implementation-defined.
8982 */
8983float __ovld __cnfn native_recip(float x);
8984float2 __ovld __cnfn native_recip(float2 x);
8985float3 __ovld __cnfn native_recip(float3 x);
8986float4 __ovld __cnfn native_recip(float4 x);
8987float8 __ovld __cnfn native_recip(float8 x);
8988float16 __ovld __cnfn native_recip(float16 x);
8989
8990/**
8991 * Compute inverse square root over an implementationdefined
8992 * range. The maximum error is implementationdefined.
8993 */
8994float __ovld __cnfn native_rsqrt(float x);
8995float2 __ovld __cnfn native_rsqrt(float2 x);
8996float3 __ovld __cnfn native_rsqrt(float3 x);
8997float4 __ovld __cnfn native_rsqrt(float4 x);
8998float8 __ovld __cnfn native_rsqrt(float8 x);
8999float16 __ovld __cnfn native_rsqrt(float16 x);
9000
9001/**
9002 * Compute sine over an implementation-defined range.
9003 * The maximum error is implementation-defined.
9004 */
9005float __ovld __cnfn native_sin(float x);
9006float2 __ovld __cnfn native_sin(float2 x);
9007float3 __ovld __cnfn native_sin(float3 x);
9008float4 __ovld __cnfn native_sin(float4 x);
9009float8 __ovld __cnfn native_sin(float8 x);
9010float16 __ovld __cnfn native_sin(float16 x);
9011
9012/**
9013 * Compute square root over an implementation-defined
9014 * range. The maximum error is implementation-defined.
9015 */
9016float __ovld __cnfn native_sqrt(float x);
9017float2 __ovld __cnfn native_sqrt(float2 x);
9018float3 __ovld __cnfn native_sqrt(float3 x);
9019float4 __ovld __cnfn native_sqrt(float4 x);
9020float8 __ovld __cnfn native_sqrt(float8 x);
9021float16 __ovld __cnfn native_sqrt(float16 x);
9022
9023/**
9024 * Compute tangent over an implementation-defined range.
9025 * The maximum error is implementation-defined.
9026 */
9027float __ovld __cnfn native_tan(float x);
9028float2 __ovld __cnfn native_tan(float2 x);
9029float3 __ovld __cnfn native_tan(float3 x);
9030float4 __ovld __cnfn native_tan(float4 x);
9031float8 __ovld __cnfn native_tan(float8 x);
9032float16 __ovld __cnfn native_tan(float16 x);
9033
9034// OpenCL v1.1 s6.11.3, v1.2 s6.12.3, v2.0 s6.13.3 - Integer Functions
9035
9036/**
9037 * Returns | x |.
9038 */
9039uchar __ovld __cnfn abs(char x);
9040uchar __ovld __cnfn abs(uchar x);
9041uchar2 __ovld __cnfn abs(char2 x);
9042uchar2 __ovld __cnfn abs(uchar2 x);
9043uchar3 __ovld __cnfn abs(char3 x);
9044uchar3 __ovld __cnfn abs(uchar3 x);
9045uchar4 __ovld __cnfn abs(char4 x);
9046uchar4 __ovld __cnfn abs(uchar4 x);
9047uchar8 __ovld __cnfn abs(char8 x);
9048uchar8 __ovld __cnfn abs(uchar8 x);
9049uchar16 __ovld __cnfn abs(char16 x);
9050uchar16 __ovld __cnfn abs(uchar16 x);
9051ushort __ovld __cnfn abs(short x);
9052ushort __ovld __cnfn abs(ushort x);
9053ushort2 __ovld __cnfn abs(short2 x);
9054ushort2 __ovld __cnfn abs(ushort2 x);
9055ushort3 __ovld __cnfn abs(short3 x);
9056ushort3 __ovld __cnfn abs(ushort3 x);
9057ushort4 __ovld __cnfn abs(short4 x);
9058ushort4 __ovld __cnfn abs(ushort4 x);
9059ushort8 __ovld __cnfn abs(short8 x);
9060ushort8 __ovld __cnfn abs(ushort8 x);
9061ushort16 __ovld __cnfn abs(short16 x);
9062ushort16 __ovld __cnfn abs(ushort16 x);
9063uint __ovld __cnfn abs(int x);
9064uint __ovld __cnfn abs(uint x);
9065uint2 __ovld __cnfn abs(int2 x);
9066uint2 __ovld __cnfn abs(uint2 x);
9067uint3 __ovld __cnfn abs(int3 x);
9068uint3 __ovld __cnfn abs(uint3 x);
9069uint4 __ovld __cnfn abs(int4 x);
9070uint4 __ovld __cnfn abs(uint4 x);
9071uint8 __ovld __cnfn abs(int8 x);
9072uint8 __ovld __cnfn abs(uint8 x);
9073uint16 __ovld __cnfn abs(int16 x);
9074uint16 __ovld __cnfn abs(uint16 x);
9075ulong __ovld __cnfn abs(long x);
9076ulong __ovld __cnfn abs(ulong x);
9077ulong2 __ovld __cnfn abs(long2 x);
9078ulong2 __ovld __cnfn abs(ulong2 x);
9079ulong3 __ovld __cnfn abs(long3 x);
9080ulong3 __ovld __cnfn abs(ulong3 x);
9081ulong4 __ovld __cnfn abs(long4 x);
9082ulong4 __ovld __cnfn abs(ulong4 x);
9083ulong8 __ovld __cnfn abs(long8 x);
9084ulong8 __ovld __cnfn abs(ulong8 x);
9085ulong16 __ovld __cnfn abs(long16 x);
9086ulong16 __ovld __cnfn abs(ulong16 x);
9087
9088/**
9089 * Returns | x - y | without modulo overflow.
9090 */
9091uchar __ovld __cnfn abs_diff(char x, char y);
9092uchar __ovld __cnfn abs_diff(uchar x, uchar y);
9093uchar2 __ovld __cnfn abs_diff(char2 x, char2 y);
9094uchar2 __ovld __cnfn abs_diff(uchar2 x, uchar2 y);
9095uchar3 __ovld __cnfn abs_diff(char3 x, char3 y);
9096uchar3 __ovld __cnfn abs_diff(uchar3 x, uchar3 y);
9097uchar4 __ovld __cnfn abs_diff(char4 x, char4 y);
9098uchar4 __ovld __cnfn abs_diff(uchar4 x, uchar4 y);
9099uchar8 __ovld __cnfn abs_diff(char8 x, char8 y);
9100uchar8 __ovld __cnfn abs_diff(uchar8 x, uchar8 y);
9101uchar16 __ovld __cnfn abs_diff(char16 x, char16 y);
9102uchar16 __ovld __cnfn abs_diff(uchar16 x, uchar16 y);
9103ushort __ovld __cnfn abs_diff(short x, short y);
9104ushort __ovld __cnfn abs_diff(ushort x, ushort y);
9105ushort2 __ovld __cnfn abs_diff(short2 x, short2 y);
9106ushort2 __ovld __cnfn abs_diff(ushort2 x, ushort2 y);
9107ushort3 __ovld __cnfn abs_diff(short3 x, short3 y);
9108ushort3 __ovld __cnfn abs_diff(ushort3 x, ushort3 y);
9109ushort4 __ovld __cnfn abs_diff(short4 x, short4 y);
9110ushort4 __ovld __cnfn abs_diff(ushort4 x, ushort4 y);
9111ushort8 __ovld __cnfn abs_diff(short8 x, short8 y);
9112ushort8 __ovld __cnfn abs_diff(ushort8 x, ushort8 y);
9113ushort16 __ovld __cnfn abs_diff(short16 x, short16 y);
9114ushort16 __ovld __cnfn abs_diff(ushort16 x, ushort16 y);
9115uint __ovld __cnfn abs_diff(int x, int y);
9116uint __ovld __cnfn abs_diff(uint x, uint y);
9117uint2 __ovld __cnfn abs_diff(int2 x, int2 y);
9118uint2 __ovld __cnfn abs_diff(uint2 x, uint2 y);
9119uint3 __ovld __cnfn abs_diff(int3 x, int3 y);
9120uint3 __ovld __cnfn abs_diff(uint3 x, uint3 y);
9121uint4 __ovld __cnfn abs_diff(int4 x, int4 y);
9122uint4 __ovld __cnfn abs_diff(uint4 x, uint4 y);
9123uint8 __ovld __cnfn abs_diff(int8 x, int8 y);
9124uint8 __ovld __cnfn abs_diff(uint8 x, uint8 y);
9125uint16 __ovld __cnfn abs_diff(int16 x, int16 y);
9126uint16 __ovld __cnfn abs_diff(uint16 x, uint16 y);
9127ulong __ovld __cnfn abs_diff(long x, long y);
9128ulong __ovld __cnfn abs_diff(ulong x, ulong y);
9129ulong2 __ovld __cnfn abs_diff(long2 x, long2 y);
9130ulong2 __ovld __cnfn abs_diff(ulong2 x, ulong2 y);
9131ulong3 __ovld __cnfn abs_diff(long3 x, long3 y);
9132ulong3 __ovld __cnfn abs_diff(ulong3 x, ulong3 y);
9133ulong4 __ovld __cnfn abs_diff(long4 x, long4 y);
9134ulong4 __ovld __cnfn abs_diff(ulong4 x, ulong4 y);
9135ulong8 __ovld __cnfn abs_diff(long8 x, long8 y);
9136ulong8 __ovld __cnfn abs_diff(ulong8 x, ulong8 y);
9137ulong16 __ovld __cnfn abs_diff(long16 x, long16 y);
9138ulong16 __ovld __cnfn abs_diff(ulong16 x, ulong16 y);
9139
9140/**
9141 * Returns x + y and saturates the result.
9142 */
9143char __ovld __cnfn add_sat(char x, char y);
9144uchar __ovld __cnfn add_sat(uchar x, uchar y);
9145char2 __ovld __cnfn add_sat(char2 x, char2 y);
9146uchar2 __ovld __cnfn add_sat(uchar2 x, uchar2 y);
9147char3 __ovld __cnfn add_sat(char3 x, char3 y);
9148uchar3 __ovld __cnfn add_sat(uchar3 x, uchar3 y);
9149char4 __ovld __cnfn add_sat(char4 x, char4 y);
9150uchar4 __ovld __cnfn add_sat(uchar4 x, uchar4 y);
9151char8 __ovld __cnfn add_sat(char8 x, char8 y);
9152uchar8 __ovld __cnfn add_sat(uchar8 x, uchar8 y);
9153char16 __ovld __cnfn add_sat(char16 x, char16 y);
9154uchar16 __ovld __cnfn add_sat(uchar16 x, uchar16 y);
9155short __ovld __cnfn add_sat(short x, short y);
9156ushort __ovld __cnfn add_sat(ushort x, ushort y);
9157short2 __ovld __cnfn add_sat(short2 x, short2 y);
9158ushort2 __ovld __cnfn add_sat(ushort2 x, ushort2 y);
9159short3 __ovld __cnfn add_sat(short3 x, short3 y);
9160ushort3 __ovld __cnfn add_sat(ushort3 x, ushort3 y);
9161short4 __ovld __cnfn add_sat(short4 x, short4 y);
9162ushort4 __ovld __cnfn add_sat(ushort4 x, ushort4 y);
9163short8 __ovld __cnfn add_sat(short8 x, short8 y);
9164ushort8 __ovld __cnfn add_sat(ushort8 x, ushort8 y);
9165short16 __ovld __cnfn add_sat(short16 x, short16 y);
9166ushort16 __ovld __cnfn add_sat(ushort16 x, ushort16 y);
9167int __ovld __cnfn add_sat(int x, int y);
9168uint __ovld __cnfn add_sat(uint x, uint y);
9169int2 __ovld __cnfn add_sat(int2 x, int2 y);
9170uint2 __ovld __cnfn add_sat(uint2 x, uint2 y);
9171int3 __ovld __cnfn add_sat(int3 x, int3 y);
9172uint3 __ovld __cnfn add_sat(uint3 x, uint3 y);
9173int4 __ovld __cnfn add_sat(int4 x, int4 y);
9174uint4 __ovld __cnfn add_sat(uint4 x, uint4 y);
9175int8 __ovld __cnfn add_sat(int8 x, int8 y);
9176uint8 __ovld __cnfn add_sat(uint8 x, uint8 y);
9177int16 __ovld __cnfn add_sat(int16 x, int16 y);
9178uint16 __ovld __cnfn add_sat(uint16 x, uint16 y);
9179long __ovld __cnfn add_sat(long x, long y);
9180ulong __ovld __cnfn add_sat(ulong x, ulong y);
9181long2 __ovld __cnfn add_sat(long2 x, long2 y);
9182ulong2 __ovld __cnfn add_sat(ulong2 x, ulong2 y);
9183long3 __ovld __cnfn add_sat(long3 x, long3 y);
9184ulong3 __ovld __cnfn add_sat(ulong3 x, ulong3 y);
9185long4 __ovld __cnfn add_sat(long4 x, long4 y);
9186ulong4 __ovld __cnfn add_sat(ulong4 x, ulong4 y);
9187long8 __ovld __cnfn add_sat(long8 x, long8 y);
9188ulong8 __ovld __cnfn add_sat(ulong8 x, ulong8 y);
9189long16 __ovld __cnfn add_sat(long16 x, long16 y);
9190ulong16 __ovld __cnfn add_sat(ulong16 x, ulong16 y);
9191
9192/**
9193 * Returns (x + y) >> 1. The intermediate sum does
9194 * not modulo overflow.
9195 */
9196char __ovld __cnfn hadd(char x, char y);
9197uchar __ovld __cnfn hadd(uchar x, uchar y);
9198char2 __ovld __cnfn hadd(char2 x, char2 y);
9199uchar2 __ovld __cnfn hadd(uchar2 x, uchar2 y);
9200char3 __ovld __cnfn hadd(char3 x, char3 y);
9201uchar3 __ovld __cnfn hadd(uchar3 x, uchar3 y);
9202char4 __ovld __cnfn hadd(char4 x, char4 y);
9203uchar4 __ovld __cnfn hadd(uchar4 x, uchar4 y);
9204char8 __ovld __cnfn hadd(char8 x, char8 y);
9205uchar8 __ovld __cnfn hadd(uchar8 x, uchar8 y);
9206char16 __ovld __cnfn hadd(char16 x, char16 y);
9207uchar16 __ovld __cnfn hadd(uchar16 x, uchar16 y);
9208short __ovld __cnfn hadd(short x, short y);
9209ushort __ovld __cnfn hadd(ushort x, ushort y);
9210short2 __ovld __cnfn hadd(short2 x, short2 y);
9211ushort2 __ovld __cnfn hadd(ushort2 x, ushort2 y);
9212short3 __ovld __cnfn hadd(short3 x, short3 y);
9213ushort3 __ovld __cnfn hadd(ushort3 x, ushort3 y);
9214short4 __ovld __cnfn hadd(short4 x, short4 y);
9215ushort4 __ovld __cnfn hadd(ushort4 x, ushort4 y);
9216short8 __ovld __cnfn hadd(short8 x, short8 y);
9217ushort8 __ovld __cnfn hadd(ushort8 x, ushort8 y);
9218short16 __ovld __cnfn hadd(short16 x, short16 y);
9219ushort16 __ovld __cnfn hadd(ushort16 x, ushort16 y);
9220int __ovld __cnfn hadd(int x, int y);
9221uint __ovld __cnfn hadd(uint x, uint y);
9222int2 __ovld __cnfn hadd(int2 x, int2 y);
9223uint2 __ovld __cnfn hadd(uint2 x, uint2 y);
9224int3 __ovld __cnfn hadd(int3 x, int3 y);
9225uint3 __ovld __cnfn hadd(uint3 x, uint3 y);
9226int4 __ovld __cnfn hadd(int4 x, int4 y);
9227uint4 __ovld __cnfn hadd(uint4 x, uint4 y);
9228int8 __ovld __cnfn hadd(int8 x, int8 y);
9229uint8 __ovld __cnfn hadd(uint8 x, uint8 y);
9230int16 __ovld __cnfn hadd(int16 x, int16 y);
9231uint16 __ovld __cnfn hadd(uint16 x, uint16 y);
9232long __ovld __cnfn hadd(long x, long y);
9233ulong __ovld __cnfn hadd(ulong x, ulong y);
9234long2 __ovld __cnfn hadd(long2 x, long2 y);
9235ulong2 __ovld __cnfn hadd(ulong2 x, ulong2 y);
9236long3 __ovld __cnfn hadd(long3 x, long3 y);
9237ulong3 __ovld __cnfn hadd(ulong3 x, ulong3 y);
9238long4 __ovld __cnfn hadd(long4 x, long4 y);
9239ulong4 __ovld __cnfn hadd(ulong4 x, ulong4 y);
9240long8 __ovld __cnfn hadd(long8 x, long8 y);
9241ulong8 __ovld __cnfn hadd(ulong8 x, ulong8 y);
9242long16 __ovld __cnfn hadd(long16 x, long16 y);
9243ulong16 __ovld __cnfn hadd(ulong16 x, ulong16 y);
9244
9245/**
9246 * Returns (x + y + 1) >> 1. The intermediate sum
9247 * does not modulo overflow.
9248 */
9249char __ovld __cnfn rhadd(char x, char y);
9250uchar __ovld __cnfn rhadd(uchar x, uchar y);
9251char2 __ovld __cnfn rhadd(char2 x, char2 y);
9252uchar2 __ovld __cnfn rhadd(uchar2 x, uchar2 y);
9253char3 __ovld __cnfn rhadd(char3 x, char3 y);
9254uchar3 __ovld __cnfn rhadd(uchar3 x, uchar3 y);
9255char4 __ovld __cnfn rhadd(char4 x, char4 y);
9256uchar4 __ovld __cnfn rhadd(uchar4 x, uchar4 y);
9257char8 __ovld __cnfn rhadd(char8 x, char8 y);
9258uchar8 __ovld __cnfn rhadd(uchar8 x, uchar8 y);
9259char16 __ovld __cnfn rhadd(char16 x, char16 y);
9260uchar16 __ovld __cnfn rhadd(uchar16 x, uchar16 y);
9261short __ovld __cnfn rhadd(short x, short y);
9262ushort __ovld __cnfn rhadd(ushort x, ushort y);
9263short2 __ovld __cnfn rhadd(short2 x, short2 y);
9264ushort2 __ovld __cnfn rhadd(ushort2 x, ushort2 y);
9265short3 __ovld __cnfn rhadd(short3 x, short3 y);
9266ushort3 __ovld __cnfn rhadd(ushort3 x, ushort3 y);
9267short4 __ovld __cnfn rhadd(short4 x, short4 y);
9268ushort4 __ovld __cnfn rhadd(ushort4 x, ushort4 y);
9269short8 __ovld __cnfn rhadd(short8 x, short8 y);
9270ushort8 __ovld __cnfn rhadd(ushort8 x, ushort8 y);
9271short16 __ovld __cnfn rhadd(short16 x, short16 y);
9272ushort16 __ovld __cnfn rhadd(ushort16 x, ushort16 y);
9273int __ovld __cnfn rhadd(int x, int y);
9274uint __ovld __cnfn rhadd(uint x, uint y);
9275int2 __ovld __cnfn rhadd(int2 x, int2 y);
9276uint2 __ovld __cnfn rhadd(uint2 x, uint2 y);
9277int3 __ovld __cnfn rhadd(int3 x, int3 y);
9278uint3 __ovld __cnfn rhadd(uint3 x, uint3 y);
9279int4 __ovld __cnfn rhadd(int4 x, int4 y);
9280uint4 __ovld __cnfn rhadd(uint4 x, uint4 y);
9281int8 __ovld __cnfn rhadd(int8 x, int8 y);
9282uint8 __ovld __cnfn rhadd(uint8 x, uint8 y);
9283int16 __ovld __cnfn rhadd(int16 x, int16 y);
9284uint16 __ovld __cnfn rhadd(uint16 x, uint16 y);
9285long __ovld __cnfn rhadd(long x, long y);
9286ulong __ovld __cnfn rhadd(ulong x, ulong y);
9287long2 __ovld __cnfn rhadd(long2 x, long2 y);
9288ulong2 __ovld __cnfn rhadd(ulong2 x, ulong2 y);
9289long3 __ovld __cnfn rhadd(long3 x, long3 y);
9290ulong3 __ovld __cnfn rhadd(ulong3 x, ulong3 y);
9291long4 __ovld __cnfn rhadd(long4 x, long4 y);
9292ulong4 __ovld __cnfn rhadd(ulong4 x, ulong4 y);
9293long8 __ovld __cnfn rhadd(long8 x, long8 y);
9294ulong8 __ovld __cnfn rhadd(ulong8 x, ulong8 y);
9295long16 __ovld __cnfn rhadd(long16 x, long16 y);
9296ulong16 __ovld __cnfn rhadd(ulong16 x, ulong16 y);
9297
9298/**
9299 * Returns min(max(x, minval), maxval).
9300 * Results are undefined if minval > maxval.
9301 */
9302char __ovld __cnfn clamp(char x, char minval, char maxval);
9303uchar __ovld __cnfn clamp(uchar x, uchar minval, uchar maxval);
9304char2 __ovld __cnfn clamp(char2 x, char2 minval, char2 maxval);
9305uchar2 __ovld __cnfn clamp(uchar2 x, uchar2 minval, uchar2 maxval);
9306char3 __ovld __cnfn clamp(char3 x, char3 minval, char3 maxval);
9307uchar3 __ovld __cnfn clamp(uchar3 x, uchar3 minval, uchar3 maxval);
9308char4 __ovld __cnfn clamp(char4 x, char4 minval, char4 maxval);
9309uchar4 __ovld __cnfn clamp(uchar4 x, uchar4 minval, uchar4 maxval);
9310char8 __ovld __cnfn clamp(char8 x, char8 minval, char8 maxval);
9311uchar8 __ovld __cnfn clamp(uchar8 x, uchar8 minval, uchar8 maxval);
9312char16 __ovld __cnfn clamp(char16 x, char16 minval, char16 maxval);
9313uchar16 __ovld __cnfn clamp(uchar16 x, uchar16 minval, uchar16 maxval);
9314short __ovld __cnfn clamp(short x, short minval, short maxval);
9315ushort __ovld __cnfn clamp(ushort x, ushort minval, ushort maxval);
9316short2 __ovld __cnfn clamp(short2 x, short2 minval, short2 maxval);
9317ushort2 __ovld __cnfn clamp(ushort2 x, ushort2 minval, ushort2 maxval);
9318short3 __ovld __cnfn clamp(short3 x, short3 minval, short3 maxval);
9319ushort3 __ovld __cnfn clamp(ushort3 x, ushort3 minval, ushort3 maxval);
9320short4 __ovld __cnfn clamp(short4 x, short4 minval, short4 maxval);
9321ushort4 __ovld __cnfn clamp(ushort4 x, ushort4 minval, ushort4 maxval);
9322short8 __ovld __cnfn clamp(short8 x, short8 minval, short8 maxval);
9323ushort8 __ovld __cnfn clamp(ushort8 x, ushort8 minval, ushort8 maxval);
9324short16 __ovld __cnfn clamp(short16 x, short16 minval, short16 maxval);
9325ushort16 __ovld __cnfn clamp(ushort16 x, ushort16 minval, ushort16 maxval);
9326int __ovld __cnfn clamp(int x, int minval, int maxval);
9327uint __ovld __cnfn clamp(uint x, uint minval, uint maxval);
9328int2 __ovld __cnfn clamp(int2 x, int2 minval, int2 maxval);
9329uint2 __ovld __cnfn clamp(uint2 x, uint2 minval, uint2 maxval);
9330int3 __ovld __cnfn clamp(int3 x, int3 minval, int3 maxval);
9331uint3 __ovld __cnfn clamp(uint3 x, uint3 minval, uint3 maxval);
9332int4 __ovld __cnfn clamp(int4 x, int4 minval, int4 maxval);
9333uint4 __ovld __cnfn clamp(uint4 x, uint4 minval, uint4 maxval);
9334int8 __ovld __cnfn clamp(int8 x, int8 minval, int8 maxval);
9335uint8 __ovld __cnfn clamp(uint8 x, uint8 minval, uint8 maxval);
9336int16 __ovld __cnfn clamp(int16 x, int16 minval, int16 maxval);
9337uint16 __ovld __cnfn clamp(uint16 x, uint16 minval, uint16 maxval);
9338long __ovld __cnfn clamp(long x, long minval, long maxval);
9339ulong __ovld __cnfn clamp(ulong x, ulong minval, ulong maxval);
9340long2 __ovld __cnfn clamp(long2 x, long2 minval, long2 maxval);
9341ulong2 __ovld __cnfn clamp(ulong2 x, ulong2 minval, ulong2 maxval);
9342long3 __ovld __cnfn clamp(long3 x, long3 minval, long3 maxval);
9343ulong3 __ovld __cnfn clamp(ulong3 x, ulong3 minval, ulong3 maxval);
9344long4 __ovld __cnfn clamp(long4 x, long4 minval, long4 maxval);
9345ulong4 __ovld __cnfn clamp(ulong4 x, ulong4 minval, ulong4 maxval);
9346long8 __ovld __cnfn clamp(long8 x, long8 minval, long8 maxval);
9347ulong8 __ovld __cnfn clamp(ulong8 x, ulong8 minval, ulong8 maxval);
9348long16 __ovld __cnfn clamp(long16 x, long16 minval, long16 maxval);
9349ulong16 __ovld __cnfn clamp(ulong16 x, ulong16 minval, ulong16 maxval);
9350char2 __ovld __cnfn clamp(char2 x, char minval, char maxval);
9351uchar2 __ovld __cnfn clamp(uchar2 x, uchar minval, uchar maxval);
9352char3 __ovld __cnfn clamp(char3 x, char minval, char maxval);
9353uchar3 __ovld __cnfn clamp(uchar3 x, uchar minval, uchar maxval);
9354char4 __ovld __cnfn clamp(char4 x, char minval, char maxval);
9355uchar4 __ovld __cnfn clamp(uchar4 x, uchar minval, uchar maxval);
9356char8 __ovld __cnfn clamp(char8 x, char minval, char maxval);
9357uchar8 __ovld __cnfn clamp(uchar8 x, uchar minval, uchar maxval);
9358char16 __ovld __cnfn clamp(char16 x, char minval, char maxval);
9359uchar16 __ovld __cnfn clamp(uchar16 x, uchar minval, uchar maxval);
9360short2 __ovld __cnfn clamp(short2 x, short minval, short maxval);
9361ushort2 __ovld __cnfn clamp(ushort2 x, ushort minval, ushort maxval);
9362short3 __ovld __cnfn clamp(short3 x, short minval, short maxval);
9363ushort3 __ovld __cnfn clamp(ushort3 x, ushort minval, ushort maxval);
9364short4 __ovld __cnfn clamp(short4 x, short minval, short maxval);
9365ushort4 __ovld __cnfn clamp(ushort4 x, ushort minval, ushort maxval);
9366short8 __ovld __cnfn clamp(short8 x, short minval, short maxval);
9367ushort8 __ovld __cnfn clamp(ushort8 x, ushort minval, ushort maxval);
9368short16 __ovld __cnfn clamp(short16 x, short minval, short maxval);
9369ushort16 __ovld __cnfn clamp(ushort16 x, ushort minval, ushort maxval);
9370int2 __ovld __cnfn clamp(int2 x, int minval, int maxval);
9371uint2 __ovld __cnfn clamp(uint2 x, uint minval, uint maxval);
9372int3 __ovld __cnfn clamp(int3 x, int minval, int maxval);
9373uint3 __ovld __cnfn clamp(uint3 x, uint minval, uint maxval);
9374int4 __ovld __cnfn clamp(int4 x, int minval, int maxval);
9375uint4 __ovld __cnfn clamp(uint4 x, uint minval, uint maxval);
9376int8 __ovld __cnfn clamp(int8 x, int minval, int maxval);
9377uint8 __ovld __cnfn clamp(uint8 x, uint minval, uint maxval);
9378int16 __ovld __cnfn clamp(int16 x, int minval, int maxval);
9379uint16 __ovld __cnfn clamp(uint16 x, uint minval, uint maxval);
9380long2 __ovld __cnfn clamp(long2 x, long minval, long maxval);
9381ulong2 __ovld __cnfn clamp(ulong2 x, ulong minval, ulong maxval);
9382long3 __ovld __cnfn clamp(long3 x, long minval, long maxval);
9383ulong3 __ovld __cnfn clamp(ulong3 x, ulong minval, ulong maxval);
9384long4 __ovld __cnfn clamp(long4 x, long minval, long maxval);
9385ulong4 __ovld __cnfn clamp(ulong4 x, ulong minval, ulong maxval);
9386long8 __ovld __cnfn clamp(long8 x, long minval, long maxval);
9387ulong8 __ovld __cnfn clamp(ulong8 x, ulong minval, ulong maxval);
9388long16 __ovld __cnfn clamp(long16 x, long minval, long maxval);
9389ulong16 __ovld __cnfn clamp(ulong16 x, ulong minval, ulong maxval);
9390
9391/**
9392 * Returns the number of leading 0-bits in x, starting
9393 * at the most significant bit position.
9394 */
9395char __ovld __cnfn clz(char x);
9396uchar __ovld __cnfn clz(uchar x);
9397char2 __ovld __cnfn clz(char2 x);
9398uchar2 __ovld __cnfn clz(uchar2 x);
9399char3 __ovld __cnfn clz(char3 x);
9400uchar3 __ovld __cnfn clz(uchar3 x);
9401char4 __ovld __cnfn clz(char4 x);
9402uchar4 __ovld __cnfn clz(uchar4 x);
9403char8 __ovld __cnfn clz(char8 x);
9404uchar8 __ovld __cnfn clz(uchar8 x);
9405char16 __ovld __cnfn clz(char16 x);
9406uchar16 __ovld __cnfn clz(uchar16 x);
9407short __ovld __cnfn clz(short x);
9408ushort __ovld __cnfn clz(ushort x);
9409short2 __ovld __cnfn clz(short2 x);
9410ushort2 __ovld __cnfn clz(ushort2 x);
9411short3 __ovld __cnfn clz(short3 x);
9412ushort3 __ovld __cnfn clz(ushort3 x);
9413short4 __ovld __cnfn clz(short4 x);
9414ushort4 __ovld __cnfn clz(ushort4 x);
9415short8 __ovld __cnfn clz(short8 x);
9416ushort8 __ovld __cnfn clz(ushort8 x);
9417short16 __ovld __cnfn clz(short16 x);
9418ushort16 __ovld __cnfn clz(ushort16 x);
9419int __ovld __cnfn clz(int x);
9420uint __ovld __cnfn clz(uint x);
9421int2 __ovld __cnfn clz(int2 x);
9422uint2 __ovld __cnfn clz(uint2 x);
9423int3 __ovld __cnfn clz(int3 x);
9424uint3 __ovld __cnfn clz(uint3 x);
9425int4 __ovld __cnfn clz(int4 x);
9426uint4 __ovld __cnfn clz(uint4 x);
9427int8 __ovld __cnfn clz(int8 x);
9428uint8 __ovld __cnfn clz(uint8 x);
9429int16 __ovld __cnfn clz(int16 x);
9430uint16 __ovld __cnfn clz(uint16 x);
9431long __ovld __cnfn clz(long x);
9432ulong __ovld __cnfn clz(ulong x);
9433long2 __ovld __cnfn clz(long2 x);
9434ulong2 __ovld __cnfn clz(ulong2 x);
9435long3 __ovld __cnfn clz(long3 x);
9436ulong3 __ovld __cnfn clz(ulong3 x);
9437long4 __ovld __cnfn clz(long4 x);
9438ulong4 __ovld __cnfn clz(ulong4 x);
9439long8 __ovld __cnfn clz(long8 x);
9440ulong8 __ovld __cnfn clz(ulong8 x);
9441long16 __ovld __cnfn clz(long16 x);
9442ulong16 __ovld __cnfn clz(ulong16 x);
9443
9444/**
9445 * Returns the count of trailing 0-bits in x. If x is 0,
9446 * returns the size in bits of the type of x or
9447 * component type of x, if x is a vector.
9448 */
9449#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
9450char __ovld ctz(char x);
9451uchar __ovld ctz(uchar x);
9452char2 __ovld ctz(char2 x);
9453uchar2 __ovld ctz(uchar2 x);
9454char3 __ovld ctz(char3 x);
9455uchar3 __ovld ctz(uchar3 x);
9456char4 __ovld ctz(char4 x);
9457uchar4 __ovld ctz(uchar4 x);
9458char8 __ovld ctz(char8 x);
9459uchar8 __ovld ctz(uchar8 x);
9460char16 __ovld ctz(char16 x);
9461uchar16 __ovld ctz(uchar16 x);
9462short __ovld ctz(short x);
9463ushort __ovld ctz(ushort x);
9464short2 __ovld ctz(short2 x);
9465ushort2 __ovld ctz(ushort2 x);
9466short3 __ovld ctz(short3 x);
9467ushort3 __ovld ctz(ushort3 x);
9468short4 __ovld ctz(short4 x);
9469ushort4 __ovld ctz(ushort4 x);
9470short8 __ovld ctz(short8 x);
9471ushort8 __ovld ctz(ushort8 x);
9472short16 __ovld ctz(short16 x);
9473ushort16 __ovld ctz(ushort16 x);
9474int __ovld ctz(int x);
9475uint __ovld ctz(uint x);
9476int2 __ovld ctz(int2 x);
9477uint2 __ovld ctz(uint2 x);
9478int3 __ovld ctz(int3 x);
9479uint3 __ovld ctz(uint3 x);
9480int4 __ovld ctz(int4 x);
9481uint4 __ovld ctz(uint4 x);
9482int8 __ovld ctz(int8 x);
9483uint8 __ovld ctz(uint8 x);
9484int16 __ovld ctz(int16 x);
9485uint16 __ovld ctz(uint16 x);
9486long __ovld ctz(long x);
9487ulong __ovld ctz(ulong x);
9488long2 __ovld ctz(long2 x);
9489ulong2 __ovld ctz(ulong2 x);
9490long3 __ovld ctz(long3 x);
9491ulong3 __ovld ctz(ulong3 x);
9492long4 __ovld ctz(long4 x);
9493ulong4 __ovld ctz(ulong4 x);
9494long8 __ovld ctz(long8 x);
9495ulong8 __ovld ctz(ulong8 x);
9496long16 __ovld ctz(long16 x);
9497ulong16 __ovld ctz(ulong16 x);
9498#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
9499
9500/**
9501 * Returns mul_hi(a, b) + c.
9502 */
9503char __ovld __cnfn mad_hi(char a, char b, char c);
9504uchar __ovld __cnfn mad_hi(uchar a, uchar b, uchar c);
9505char2 __ovld __cnfn mad_hi(char2 a, char2 b, char2 c);
9506uchar2 __ovld __cnfn mad_hi(uchar2 a, uchar2 b, uchar2 c);
9507char3 __ovld __cnfn mad_hi(char3 a, char3 b, char3 c);
9508uchar3 __ovld __cnfn mad_hi(uchar3 a, uchar3 b, uchar3 c);
9509char4 __ovld __cnfn mad_hi(char4 a, char4 b, char4 c);
9510uchar4 __ovld __cnfn mad_hi(uchar4 a, uchar4 b, uchar4 c);
9511char8 __ovld __cnfn mad_hi(char8 a, char8 b, char8 c);
9512uchar8 __ovld __cnfn mad_hi(uchar8 a, uchar8 b, uchar8 c);
9513char16 __ovld __cnfn mad_hi(char16 a, char16 b, char16 c);
9514uchar16 __ovld __cnfn mad_hi(uchar16 a, uchar16 b, uchar16 c);
9515short __ovld __cnfn mad_hi(short a, short b, short c);
9516ushort __ovld __cnfn mad_hi(ushort a, ushort b, ushort c);
9517short2 __ovld __cnfn mad_hi(short2 a, short2 b, short2 c);
9518ushort2 __ovld __cnfn mad_hi(ushort2 a, ushort2 b, ushort2 c);
9519short3 __ovld __cnfn mad_hi(short3 a, short3 b, short3 c);
9520ushort3 __ovld __cnfn mad_hi(ushort3 a, ushort3 b, ushort3 c);
9521short4 __ovld __cnfn mad_hi(short4 a, short4 b, short4 c);
9522ushort4 __ovld __cnfn mad_hi(ushort4 a, ushort4 b, ushort4 c);
9523short8 __ovld __cnfn mad_hi(short8 a, short8 b, short8 c);
9524ushort8 __ovld __cnfn mad_hi(ushort8 a, ushort8 b, ushort8 c);
9525short16 __ovld __cnfn mad_hi(short16 a, short16 b, short16 c);
9526ushort16 __ovld __cnfn mad_hi(ushort16 a, ushort16 b, ushort16 c);
9527int __ovld __cnfn mad_hi(int a, int b, int c);
9528uint __ovld __cnfn mad_hi(uint a, uint b, uint c);
9529int2 __ovld __cnfn mad_hi(int2 a, int2 b, int2 c);
9530uint2 __ovld __cnfn mad_hi(uint2 a, uint2 b, uint2 c);
9531int3 __ovld __cnfn mad_hi(int3 a, int3 b, int3 c);
9532uint3 __ovld __cnfn mad_hi(uint3 a, uint3 b, uint3 c);
9533int4 __ovld __cnfn mad_hi(int4 a, int4 b, int4 c);
9534uint4 __ovld __cnfn mad_hi(uint4 a, uint4 b, uint4 c);
9535int8 __ovld __cnfn mad_hi(int8 a, int8 b, int8 c);
9536uint8 __ovld __cnfn mad_hi(uint8 a, uint8 b, uint8 c);
9537int16 __ovld __cnfn mad_hi(int16 a, int16 b, int16 c);
9538uint16 __ovld __cnfn mad_hi(uint16 a, uint16 b, uint16 c);
9539long __ovld __cnfn mad_hi(long a, long b, long c);
9540ulong __ovld __cnfn mad_hi(ulong a, ulong b, ulong c);
9541long2 __ovld __cnfn mad_hi(long2 a, long2 b, long2 c);
9542ulong2 __ovld __cnfn mad_hi(ulong2 a, ulong2 b, ulong2 c);
9543long3 __ovld __cnfn mad_hi(long3 a, long3 b, long3 c);
9544ulong3 __ovld __cnfn mad_hi(ulong3 a, ulong3 b, ulong3 c);
9545long4 __ovld __cnfn mad_hi(long4 a, long4 b, long4 c);
9546ulong4 __ovld __cnfn mad_hi(ulong4 a, ulong4 b, ulong4 c);
9547long8 __ovld __cnfn mad_hi(long8 a, long8 b, long8 c);
9548ulong8 __ovld __cnfn mad_hi(ulong8 a, ulong8 b, ulong8 c);
9549long16 __ovld __cnfn mad_hi(long16 a, long16 b, long16 c);
9550ulong16 __ovld __cnfn mad_hi(ulong16 a, ulong16 b, ulong16 c);
9551
9552/**
9553 * Returns a * b + c and saturates the result.
9554 */
9555char __ovld __cnfn mad_sat(char a, char b, char c);
9556uchar __ovld __cnfn mad_sat(uchar a, uchar b, uchar c);
9557char2 __ovld __cnfn mad_sat(char2 a, char2 b, char2 c);
9558uchar2 __ovld __cnfn mad_sat(uchar2 a, uchar2 b, uchar2 c);
9559char3 __ovld __cnfn mad_sat(char3 a, char3 b, char3 c);
9560uchar3 __ovld __cnfn mad_sat(uchar3 a, uchar3 b, uchar3 c);
9561char4 __ovld __cnfn mad_sat(char4 a, char4 b, char4 c);
9562uchar4 __ovld __cnfn mad_sat(uchar4 a, uchar4 b, uchar4 c);
9563char8 __ovld __cnfn mad_sat(char8 a, char8 b, char8 c);
9564uchar8 __ovld __cnfn mad_sat(uchar8 a, uchar8 b, uchar8 c);
9565char16 __ovld __cnfn mad_sat(char16 a, char16 b, char16 c);
9566uchar16 __ovld __cnfn mad_sat(uchar16 a, uchar16 b, uchar16 c);
9567short __ovld __cnfn mad_sat(short a, short b, short c);
9568ushort __ovld __cnfn mad_sat(ushort a, ushort b, ushort c);
9569short2 __ovld __cnfn mad_sat(short2 a, short2 b, short2 c);
9570ushort2 __ovld __cnfn mad_sat(ushort2 a, ushort2 b, ushort2 c);
9571short3 __ovld __cnfn mad_sat(short3 a, short3 b, short3 c);
9572ushort3 __ovld __cnfn mad_sat(ushort3 a, ushort3 b, ushort3 c);
9573short4 __ovld __cnfn mad_sat(short4 a, short4 b, short4 c);
9574ushort4 __ovld __cnfn mad_sat(ushort4 a, ushort4 b, ushort4 c);
9575short8 __ovld __cnfn mad_sat(short8 a, short8 b, short8 c);
9576ushort8 __ovld __cnfn mad_sat(ushort8 a, ushort8 b, ushort8 c);
9577short16 __ovld __cnfn mad_sat(short16 a, short16 b, short16 c);
9578ushort16 __ovld __cnfn mad_sat(ushort16 a, ushort16 b, ushort16 c);
9579int __ovld __cnfn mad_sat(int a, int b, int c);
9580uint __ovld __cnfn mad_sat(uint a, uint b, uint c);
9581int2 __ovld __cnfn mad_sat(int2 a, int2 b, int2 c);
9582uint2 __ovld __cnfn mad_sat(uint2 a, uint2 b, uint2 c);
9583int3 __ovld __cnfn mad_sat(int3 a, int3 b, int3 c);
9584uint3 __ovld __cnfn mad_sat(uint3 a, uint3 b, uint3 c);
9585int4 __ovld __cnfn mad_sat(int4 a, int4 b, int4 c);
9586uint4 __ovld __cnfn mad_sat(uint4 a, uint4 b, uint4 c);
9587int8 __ovld __cnfn mad_sat(int8 a, int8 b, int8 c);
9588uint8 __ovld __cnfn mad_sat(uint8 a, uint8 b, uint8 c);
9589int16 __ovld __cnfn mad_sat(int16 a, int16 b, int16 c);
9590uint16 __ovld __cnfn mad_sat(uint16 a, uint16 b, uint16 c);
9591long __ovld __cnfn mad_sat(long a, long b, long c);
9592ulong __ovld __cnfn mad_sat(ulong a, ulong b, ulong c);
9593long2 __ovld __cnfn mad_sat(long2 a, long2 b, long2 c);
9594ulong2 __ovld __cnfn mad_sat(ulong2 a, ulong2 b, ulong2 c);
9595long3 __ovld __cnfn mad_sat(long3 a, long3 b, long3 c);
9596ulong3 __ovld __cnfn mad_sat(ulong3 a, ulong3 b, ulong3 c);
9597long4 __ovld __cnfn mad_sat(long4 a, long4 b, long4 c);
9598ulong4 __ovld __cnfn mad_sat(ulong4 a, ulong4 b, ulong4 c);
9599long8 __ovld __cnfn mad_sat(long8 a, long8 b, long8 c);
9600ulong8 __ovld __cnfn mad_sat(ulong8 a, ulong8 b, ulong8 c);
9601long16 __ovld __cnfn mad_sat(long16 a, long16 b, long16 c);
9602ulong16 __ovld __cnfn mad_sat(ulong16 a, ulong16 b, ulong16 c);
9603
9604/**
9605 * Returns y if x < y, otherwise it returns x.
9606 */
9607char __ovld __cnfn max(char x, char y);
9608uchar __ovld __cnfn max(uchar x, uchar y);
9609char2 __ovld __cnfn max(char2 x, char2 y);
9610uchar2 __ovld __cnfn max(uchar2 x, uchar2 y);
9611char3 __ovld __cnfn max(char3 x, char3 y);
9612uchar3 __ovld __cnfn max(uchar3 x, uchar3 y);
9613char4 __ovld __cnfn max(char4 x, char4 y);
9614uchar4 __ovld __cnfn max(uchar4 x, uchar4 y);
9615char8 __ovld __cnfn max(char8 x, char8 y);
9616uchar8 __ovld __cnfn max(uchar8 x, uchar8 y);
9617char16 __ovld __cnfn max(char16 x, char16 y);
9618uchar16 __ovld __cnfn max(uchar16 x, uchar16 y);
9619short __ovld __cnfn max(short x, short y);
9620ushort __ovld __cnfn max(ushort x, ushort y);
9621short2 __ovld __cnfn max(short2 x, short2 y);
9622ushort2 __ovld __cnfn max(ushort2 x, ushort2 y);
9623short3 __ovld __cnfn max(short3 x, short3 y);
9624ushort3 __ovld __cnfn max(ushort3 x, ushort3 y);
9625short4 __ovld __cnfn max(short4 x, short4 y);
9626ushort4 __ovld __cnfn max(ushort4 x, ushort4 y);
9627short8 __ovld __cnfn max(short8 x, short8 y);
9628ushort8 __ovld __cnfn max(ushort8 x, ushort8 y);
9629short16 __ovld __cnfn max(short16 x, short16 y);
9630ushort16 __ovld __cnfn max(ushort16 x, ushort16 y);
9631int __ovld __cnfn max(int x, int y);
9632uint __ovld __cnfn max(uint x, uint y);
9633int2 __ovld __cnfn max(int2 x, int2 y);
9634uint2 __ovld __cnfn max(uint2 x, uint2 y);
9635int3 __ovld __cnfn max(int3 x, int3 y);
9636uint3 __ovld __cnfn max(uint3 x, uint3 y);
9637int4 __ovld __cnfn max(int4 x, int4 y);
9638uint4 __ovld __cnfn max(uint4 x, uint4 y);
9639int8 __ovld __cnfn max(int8 x, int8 y);
9640uint8 __ovld __cnfn max(uint8 x, uint8 y);
9641int16 __ovld __cnfn max(int16 x, int16 y);
9642uint16 __ovld __cnfn max(uint16 x, uint16 y);
9643long __ovld __cnfn max(long x, long y);
9644ulong __ovld __cnfn max(ulong x, ulong y);
9645long2 __ovld __cnfn max(long2 x, long2 y);
9646ulong2 __ovld __cnfn max(ulong2 x, ulong2 y);
9647long3 __ovld __cnfn max(long3 x, long3 y);
9648ulong3 __ovld __cnfn max(ulong3 x, ulong3 y);
9649long4 __ovld __cnfn max(long4 x, long4 y);
9650ulong4 __ovld __cnfn max(ulong4 x, ulong4 y);
9651long8 __ovld __cnfn max(long8 x, long8 y);
9652ulong8 __ovld __cnfn max(ulong8 x, ulong8 y);
9653long16 __ovld __cnfn max(long16 x, long16 y);
9654ulong16 __ovld __cnfn max(ulong16 x, ulong16 y);
9655char2 __ovld __cnfn max(char2 x, char y);
9656uchar2 __ovld __cnfn max(uchar2 x, uchar y);
9657char3 __ovld __cnfn max(char3 x, char y);
9658uchar3 __ovld __cnfn max(uchar3 x, uchar y);
9659char4 __ovld __cnfn max(char4 x, char y);
9660uchar4 __ovld __cnfn max(uchar4 x, uchar y);
9661char8 __ovld __cnfn max(char8 x, char y);
9662uchar8 __ovld __cnfn max(uchar8 x, uchar y);
9663char16 __ovld __cnfn max(char16 x, char y);
9664uchar16 __ovld __cnfn max(uchar16 x, uchar y);
9665short2 __ovld __cnfn max(short2 x, short y);
9666ushort2 __ovld __cnfn max(ushort2 x, ushort y);
9667short3 __ovld __cnfn max(short3 x, short y);
9668ushort3 __ovld __cnfn max(ushort3 x, ushort y);
9669short4 __ovld __cnfn max(short4 x, short y);
9670ushort4 __ovld __cnfn max(ushort4 x, ushort y);
9671short8 __ovld __cnfn max(short8 x, short y);
9672ushort8 __ovld __cnfn max(ushort8 x, ushort y);
9673short16 __ovld __cnfn max(short16 x, short y);
9674ushort16 __ovld __cnfn max(ushort16 x, ushort y);
9675int2 __ovld __cnfn max(int2 x, int y);
9676uint2 __ovld __cnfn max(uint2 x, uint y);
9677int3 __ovld __cnfn max(int3 x, int y);
9678uint3 __ovld __cnfn max(uint3 x, uint y);
9679int4 __ovld __cnfn max(int4 x, int y);
9680uint4 __ovld __cnfn max(uint4 x, uint y);
9681int8 __ovld __cnfn max(int8 x, int y);
9682uint8 __ovld __cnfn max(uint8 x, uint y);
9683int16 __ovld __cnfn max(int16 x, int y);
9684uint16 __ovld __cnfn max(uint16 x, uint y);
9685long2 __ovld __cnfn max(long2 x, long y);
9686ulong2 __ovld __cnfn max(ulong2 x, ulong y);
9687long3 __ovld __cnfn max(long3 x, long y);
9688ulong3 __ovld __cnfn max(ulong3 x, ulong y);
9689long4 __ovld __cnfn max(long4 x, long y);
9690ulong4 __ovld __cnfn max(ulong4 x, ulong y);
9691long8 __ovld __cnfn max(long8 x, long y);
9692ulong8 __ovld __cnfn max(ulong8 x, ulong y);
9693long16 __ovld __cnfn max(long16 x, long y);
9694ulong16 __ovld __cnfn max(ulong16 x, ulong y);
9695
9696/**
9697 * Returns y if y < x, otherwise it returns x.
9698 */
9699char __ovld __cnfn min(char x, char y);
9700uchar __ovld __cnfn min(uchar x, uchar y);
9701char2 __ovld __cnfn min(char2 x, char2 y);
9702uchar2 __ovld __cnfn min(uchar2 x, uchar2 y);
9703char3 __ovld __cnfn min(char3 x, char3 y);
9704uchar3 __ovld __cnfn min(uchar3 x, uchar3 y);
9705char4 __ovld __cnfn min(char4 x, char4 y);
9706uchar4 __ovld __cnfn min(uchar4 x, uchar4 y);
9707char8 __ovld __cnfn min(char8 x, char8 y);
9708uchar8 __ovld __cnfn min(uchar8 x, uchar8 y);
9709char16 __ovld __cnfn min(char16 x, char16 y);
9710uchar16 __ovld __cnfn min(uchar16 x, uchar16 y);
9711short __ovld __cnfn min(short x, short y);
9712ushort __ovld __cnfn min(ushort x, ushort y);
9713short2 __ovld __cnfn min(short2 x, short2 y);
9714ushort2 __ovld __cnfn min(ushort2 x, ushort2 y);
9715short3 __ovld __cnfn min(short3 x, short3 y);
9716ushort3 __ovld __cnfn min(ushort3 x, ushort3 y);
9717short4 __ovld __cnfn min(short4 x, short4 y);
9718ushort4 __ovld __cnfn min(ushort4 x, ushort4 y);
9719short8 __ovld __cnfn min(short8 x, short8 y);
9720ushort8 __ovld __cnfn min(ushort8 x, ushort8 y);
9721short16 __ovld __cnfn min(short16 x, short16 y);
9722ushort16 __ovld __cnfn min(ushort16 x, ushort16 y);
9723int __ovld __cnfn min(int x, int y);
9724uint __ovld __cnfn min(uint x, uint y);
9725int2 __ovld __cnfn min(int2 x, int2 y);
9726uint2 __ovld __cnfn min(uint2 x, uint2 y);
9727int3 __ovld __cnfn min(int3 x, int3 y);
9728uint3 __ovld __cnfn min(uint3 x, uint3 y);
9729int4 __ovld __cnfn min(int4 x, int4 y);
9730uint4 __ovld __cnfn min(uint4 x, uint4 y);
9731int8 __ovld __cnfn min(int8 x, int8 y);
9732uint8 __ovld __cnfn min(uint8 x, uint8 y);
9733int16 __ovld __cnfn min(int16 x, int16 y);
9734uint16 __ovld __cnfn min(uint16 x, uint16 y);
9735long __ovld __cnfn min(long x, long y);
9736ulong __ovld __cnfn min(ulong x, ulong y);
9737long2 __ovld __cnfn min(long2 x, long2 y);
9738ulong2 __ovld __cnfn min(ulong2 x, ulong2 y);
9739long3 __ovld __cnfn min(long3 x, long3 y);
9740ulong3 __ovld __cnfn min(ulong3 x, ulong3 y);
9741long4 __ovld __cnfn min(long4 x, long4 y);
9742ulong4 __ovld __cnfn min(ulong4 x, ulong4 y);
9743long8 __ovld __cnfn min(long8 x, long8 y);
9744ulong8 __ovld __cnfn min(ulong8 x, ulong8 y);
9745long16 __ovld __cnfn min(long16 x, long16 y);
9746ulong16 __ovld __cnfn min(ulong16 x, ulong16 y);
9747char2 __ovld __cnfn min(char2 x, char y);
9748uchar2 __ovld __cnfn min(uchar2 x, uchar y);
9749char3 __ovld __cnfn min(char3 x, char y);
9750uchar3 __ovld __cnfn min(uchar3 x, uchar y);
9751char4 __ovld __cnfn min(char4 x, char y);
9752uchar4 __ovld __cnfn min(uchar4 x, uchar y);
9753char8 __ovld __cnfn min(char8 x, char y);
9754uchar8 __ovld __cnfn min(uchar8 x, uchar y);
9755char16 __ovld __cnfn min(char16 x, char y);
9756uchar16 __ovld __cnfn min(uchar16 x, uchar y);
9757short2 __ovld __cnfn min(short2 x, short y);
9758ushort2 __ovld __cnfn min(ushort2 x, ushort y);
9759short3 __ovld __cnfn min(short3 x, short y);
9760ushort3 __ovld __cnfn min(ushort3 x, ushort y);
9761short4 __ovld __cnfn min(short4 x, short y);
9762ushort4 __ovld __cnfn min(ushort4 x, ushort y);
9763short8 __ovld __cnfn min(short8 x, short y);
9764ushort8 __ovld __cnfn min(ushort8 x, ushort y);
9765short16 __ovld __cnfn min(short16 x, short y);
9766ushort16 __ovld __cnfn min(ushort16 x, ushort y);
9767int2 __ovld __cnfn min(int2 x, int y);
9768uint2 __ovld __cnfn min(uint2 x, uint y);
9769int3 __ovld __cnfn min(int3 x, int y);
9770uint3 __ovld __cnfn min(uint3 x, uint y);
9771int4 __ovld __cnfn min(int4 x, int y);
9772uint4 __ovld __cnfn min(uint4 x, uint y);
9773int8 __ovld __cnfn min(int8 x, int y);
9774uint8 __ovld __cnfn min(uint8 x, uint y);
9775int16 __ovld __cnfn min(int16 x, int y);
9776uint16 __ovld __cnfn min(uint16 x, uint y);
9777long2 __ovld __cnfn min(long2 x, long y);
9778ulong2 __ovld __cnfn min(ulong2 x, ulong y);
9779long3 __ovld __cnfn min(long3 x, long y);
9780ulong3 __ovld __cnfn min(ulong3 x, ulong y);
9781long4 __ovld __cnfn min(long4 x, long y);
9782ulong4 __ovld __cnfn min(ulong4 x, ulong y);
9783long8 __ovld __cnfn min(long8 x, long y);
9784ulong8 __ovld __cnfn min(ulong8 x, ulong y);
9785long16 __ovld __cnfn min(long16 x, long y);
9786ulong16 __ovld __cnfn min(ulong16 x, ulong y);
9787
9788/**
9789 * Computes x * y and returns the high half of the
9790 * product of x and y.
9791 */
9792char __ovld __cnfn mul_hi(char x, char y);
9793uchar __ovld __cnfn mul_hi(uchar x, uchar y);
9794char2 __ovld __cnfn mul_hi(char2 x, char2 y);
9795uchar2 __ovld __cnfn mul_hi(uchar2 x, uchar2 y);
9796char3 __ovld __cnfn mul_hi(char3 x, char3 y);
9797uchar3 __ovld __cnfn mul_hi(uchar3 x, uchar3 y);
9798char4 __ovld __cnfn mul_hi(char4 x, char4 y);
9799uchar4 __ovld __cnfn mul_hi(uchar4 x, uchar4 y);
9800char8 __ovld __cnfn mul_hi(char8 x, char8 y);
9801uchar8 __ovld __cnfn mul_hi(uchar8 x, uchar8 y);
9802char16 __ovld __cnfn mul_hi(char16 x, char16 y);
9803uchar16 __ovld __cnfn mul_hi(uchar16 x, uchar16 y);
9804short __ovld __cnfn mul_hi(short x, short y);
9805ushort __ovld __cnfn mul_hi(ushort x, ushort y);
9806short2 __ovld __cnfn mul_hi(short2 x, short2 y);
9807ushort2 __ovld __cnfn mul_hi(ushort2 x, ushort2 y);
9808short3 __ovld __cnfn mul_hi(short3 x, short3 y);
9809ushort3 __ovld __cnfn mul_hi(ushort3 x, ushort3 y);
9810short4 __ovld __cnfn mul_hi(short4 x, short4 y);
9811ushort4 __ovld __cnfn mul_hi(ushort4 x, ushort4 y);
9812short8 __ovld __cnfn mul_hi(short8 x, short8 y);
9813ushort8 __ovld __cnfn mul_hi(ushort8 x, ushort8 y);
9814short16 __ovld __cnfn mul_hi(short16 x, short16 y);
9815ushort16 __ovld __cnfn mul_hi(ushort16 x, ushort16 y);
9816int __ovld __cnfn mul_hi(int x, int y);
9817uint __ovld __cnfn mul_hi(uint x, uint y);
9818int2 __ovld __cnfn mul_hi(int2 x, int2 y);
9819uint2 __ovld __cnfn mul_hi(uint2 x, uint2 y);
9820int3 __ovld __cnfn mul_hi(int3 x, int3 y);
9821uint3 __ovld __cnfn mul_hi(uint3 x, uint3 y);
9822int4 __ovld __cnfn mul_hi(int4 x, int4 y);
9823uint4 __ovld __cnfn mul_hi(uint4 x, uint4 y);
9824int8 __ovld __cnfn mul_hi(int8 x, int8 y);
9825uint8 __ovld __cnfn mul_hi(uint8 x, uint8 y);
9826int16 __ovld __cnfn mul_hi(int16 x, int16 y);
9827uint16 __ovld __cnfn mul_hi(uint16 x, uint16 y);
9828long __ovld __cnfn mul_hi(long x, long y);
9829ulong __ovld __cnfn mul_hi(ulong x, ulong y);
9830long2 __ovld __cnfn mul_hi(long2 x, long2 y);
9831ulong2 __ovld __cnfn mul_hi(ulong2 x, ulong2 y);
9832long3 __ovld __cnfn mul_hi(long3 x, long3 y);
9833ulong3 __ovld __cnfn mul_hi(ulong3 x, ulong3 y);
9834long4 __ovld __cnfn mul_hi(long4 x, long4 y);
9835ulong4 __ovld __cnfn mul_hi(ulong4 x, ulong4 y);
9836long8 __ovld __cnfn mul_hi(long8 x, long8 y);
9837ulong8 __ovld __cnfn mul_hi(ulong8 x, ulong8 y);
9838long16 __ovld __cnfn mul_hi(long16 x, long16 y);
9839ulong16 __ovld __cnfn mul_hi(ulong16 x, ulong16 y);
9840
9841/**
9842 * For each element in v, the bits are shifted left by
9843 * the number of bits given by the corresponding
9844 * element in i (subject to usual shift modulo rules
9845 * described in section 6.3). Bits shifted off the left
9846 * side of the element are shifted back in from the
9847 * right.
9848 */
9849char __ovld __cnfn rotate(char v, char i);
9850uchar __ovld __cnfn rotate(uchar v, uchar i);
9851char2 __ovld __cnfn rotate(char2 v, char2 i);
9852uchar2 __ovld __cnfn rotate(uchar2 v, uchar2 i);
9853char3 __ovld __cnfn rotate(char3 v, char3 i);
9854uchar3 __ovld __cnfn rotate(uchar3 v, uchar3 i);
9855char4 __ovld __cnfn rotate(char4 v, char4 i);
9856uchar4 __ovld __cnfn rotate(uchar4 v, uchar4 i);
9857char8 __ovld __cnfn rotate(char8 v, char8 i);
9858uchar8 __ovld __cnfn rotate(uchar8 v, uchar8 i);
9859char16 __ovld __cnfn rotate(char16 v, char16 i);
9860uchar16 __ovld __cnfn rotate(uchar16 v, uchar16 i);
9861short __ovld __cnfn rotate(short v, short i);
9862ushort __ovld __cnfn rotate(ushort v, ushort i);
9863short2 __ovld __cnfn rotate(short2 v, short2 i);
9864ushort2 __ovld __cnfn rotate(ushort2 v, ushort2 i);
9865short3 __ovld __cnfn rotate(short3 v, short3 i);
9866ushort3 __ovld __cnfn rotate(ushort3 v, ushort3 i);
9867short4 __ovld __cnfn rotate(short4 v, short4 i);
9868ushort4 __ovld __cnfn rotate(ushort4 v, ushort4 i);
9869short8 __ovld __cnfn rotate(short8 v, short8 i);
9870ushort8 __ovld __cnfn rotate(ushort8 v, ushort8 i);
9871short16 __ovld __cnfn rotate(short16 v, short16 i);
9872ushort16 __ovld __cnfn rotate(ushort16 v, ushort16 i);
9873int __ovld __cnfn rotate(int v, int i);
9874uint __ovld __cnfn rotate(uint v, uint i);
9875int2 __ovld __cnfn rotate(int2 v, int2 i);
9876uint2 __ovld __cnfn rotate(uint2 v, uint2 i);
9877int3 __ovld __cnfn rotate(int3 v, int3 i);
9878uint3 __ovld __cnfn rotate(uint3 v, uint3 i);
9879int4 __ovld __cnfn rotate(int4 v, int4 i);
9880uint4 __ovld __cnfn rotate(uint4 v, uint4 i);
9881int8 __ovld __cnfn rotate(int8 v, int8 i);
9882uint8 __ovld __cnfn rotate(uint8 v, uint8 i);
9883int16 __ovld __cnfn rotate(int16 v, int16 i);
9884uint16 __ovld __cnfn rotate(uint16 v, uint16 i);
9885long __ovld __cnfn rotate(long v, long i);
9886ulong __ovld __cnfn rotate(ulong v, ulong i);
9887long2 __ovld __cnfn rotate(long2 v, long2 i);
9888ulong2 __ovld __cnfn rotate(ulong2 v, ulong2 i);
9889long3 __ovld __cnfn rotate(long3 v, long3 i);
9890ulong3 __ovld __cnfn rotate(ulong3 v, ulong3 i);
9891long4 __ovld __cnfn rotate(long4 v, long4 i);
9892ulong4 __ovld __cnfn rotate(ulong4 v, ulong4 i);
9893long8 __ovld __cnfn rotate(long8 v, long8 i);
9894ulong8 __ovld __cnfn rotate(ulong8 v, ulong8 i);
9895long16 __ovld __cnfn rotate(long16 v, long16 i);
9896ulong16 __ovld __cnfn rotate(ulong16 v, ulong16 i);
9897
9898/**
9899 * Returns x - y and saturates the result.
9900 */
9901char __ovld __cnfn sub_sat(char x, char y);
9902uchar __ovld __cnfn sub_sat(uchar x, uchar y);
9903char2 __ovld __cnfn sub_sat(char2 x, char2 y);
9904uchar2 __ovld __cnfn sub_sat(uchar2 x, uchar2 y);
9905char3 __ovld __cnfn sub_sat(char3 x, char3 y);
9906uchar3 __ovld __cnfn sub_sat(uchar3 x, uchar3 y);
9907char4 __ovld __cnfn sub_sat(char4 x, char4 y);
9908uchar4 __ovld __cnfn sub_sat(uchar4 x, uchar4 y);
9909char8 __ovld __cnfn sub_sat(char8 x, char8 y);
9910uchar8 __ovld __cnfn sub_sat(uchar8 x, uchar8 y);
9911char16 __ovld __cnfn sub_sat(char16 x, char16 y);
9912uchar16 __ovld __cnfn sub_sat(uchar16 x, uchar16 y);
9913short __ovld __cnfn sub_sat(short x, short y);
9914ushort __ovld __cnfn sub_sat(ushort x, ushort y);
9915short2 __ovld __cnfn sub_sat(short2 x, short2 y);
9916ushort2 __ovld __cnfn sub_sat(ushort2 x, ushort2 y);
9917short3 __ovld __cnfn sub_sat(short3 x, short3 y);
9918ushort3 __ovld __cnfn sub_sat(ushort3 x, ushort3 y);
9919short4 __ovld __cnfn sub_sat(short4 x, short4 y);
9920ushort4 __ovld __cnfn sub_sat(ushort4 x, ushort4 y);
9921short8 __ovld __cnfn sub_sat(short8 x, short8 y);
9922ushort8 __ovld __cnfn sub_sat(ushort8 x, ushort8 y);
9923short16 __ovld __cnfn sub_sat(short16 x, short16 y);
9924ushort16 __ovld __cnfn sub_sat(ushort16 x, ushort16 y);
9925int __ovld __cnfn sub_sat(int x, int y);
9926uint __ovld __cnfn sub_sat(uint x, uint y);
9927int2 __ovld __cnfn sub_sat(int2 x, int2 y);
9928uint2 __ovld __cnfn sub_sat(uint2 x, uint2 y);
9929int3 __ovld __cnfn sub_sat(int3 x, int3 y);
9930uint3 __ovld __cnfn sub_sat(uint3 x, uint3 y);
9931int4 __ovld __cnfn sub_sat(int4 x, int4 y);
9932uint4 __ovld __cnfn sub_sat(uint4 x, uint4 y);
9933int8 __ovld __cnfn sub_sat(int8 x, int8 y);
9934uint8 __ovld __cnfn sub_sat(uint8 x, uint8 y);
9935int16 __ovld __cnfn sub_sat(int16 x, int16 y);
9936uint16 __ovld __cnfn sub_sat(uint16 x, uint16 y);
9937long __ovld __cnfn sub_sat(long x, long y);
9938ulong __ovld __cnfn sub_sat(ulong x, ulong y);
9939long2 __ovld __cnfn sub_sat(long2 x, long2 y);
9940ulong2 __ovld __cnfn sub_sat(ulong2 x, ulong2 y);
9941long3 __ovld __cnfn sub_sat(long3 x, long3 y);
9942ulong3 __ovld __cnfn sub_sat(ulong3 x, ulong3 y);
9943long4 __ovld __cnfn sub_sat(long4 x, long4 y);
9944ulong4 __ovld __cnfn sub_sat(ulong4 x, ulong4 y);
9945long8 __ovld __cnfn sub_sat(long8 x, long8 y);
9946ulong8 __ovld __cnfn sub_sat(ulong8 x, ulong8 y);
9947long16 __ovld __cnfn sub_sat(long16 x, long16 y);
9948ulong16 __ovld __cnfn sub_sat(ulong16 x, ulong16 y);
9949
9950/**
9951 * result[i] = ((short)hi[i] << 8) | lo[i]
9952 * result[i] = ((ushort)hi[i] << 8) | lo[i]
9953 */
9954short __ovld __cnfn upsample(char hi, uchar lo);
9955ushort __ovld __cnfn upsample(uchar hi, uchar lo);
9956short2 __ovld __cnfn upsample(char2 hi, uchar2 lo);
9957short3 __ovld __cnfn upsample(char3 hi, uchar3 lo);
9958short4 __ovld __cnfn upsample(char4 hi, uchar4 lo);
9959short8 __ovld __cnfn upsample(char8 hi, uchar8 lo);
9960short16 __ovld __cnfn upsample(char16 hi, uchar16 lo);
9961ushort2 __ovld __cnfn upsample(uchar2 hi, uchar2 lo);
9962ushort3 __ovld __cnfn upsample(uchar3 hi, uchar3 lo);
9963ushort4 __ovld __cnfn upsample(uchar4 hi, uchar4 lo);
9964ushort8 __ovld __cnfn upsample(uchar8 hi, uchar8 lo);
9965ushort16 __ovld __cnfn upsample(uchar16 hi, uchar16 lo);
9966
9967/**
9968 * result[i] = ((int)hi[i] << 16) | lo[i]
9969 * result[i] = ((uint)hi[i] << 16) | lo[i]
9970 */
9971int __ovld __cnfn upsample(short hi, ushort lo);
9972uint __ovld __cnfn upsample(ushort hi, ushort lo);
9973int2 __ovld __cnfn upsample(short2 hi, ushort2 lo);
9974int3 __ovld __cnfn upsample(short3 hi, ushort3 lo);
9975int4 __ovld __cnfn upsample(short4 hi, ushort4 lo);
9976int8 __ovld __cnfn upsample(short8 hi, ushort8 lo);
9977int16 __ovld __cnfn upsample(short16 hi, ushort16 lo);
9978uint2 __ovld __cnfn upsample(ushort2 hi, ushort2 lo);
9979uint3 __ovld __cnfn upsample(ushort3 hi, ushort3 lo);
9980uint4 __ovld __cnfn upsample(ushort4 hi, ushort4 lo);
9981uint8 __ovld __cnfn upsample(ushort8 hi, ushort8 lo);
9982uint16 __ovld __cnfn upsample(ushort16 hi, ushort16 lo);
9983/**
9984 * result[i] = ((long)hi[i] << 32) | lo[i]
9985 * result[i] = ((ulong)hi[i] << 32) | lo[i]
9986 */
9987long __ovld __cnfn upsample(int hi, uint lo);
9988ulong __ovld __cnfn upsample(uint hi, uint lo);
9989long2 __ovld __cnfn upsample(int2 hi, uint2 lo);
9990long3 __ovld __cnfn upsample(int3 hi, uint3 lo);
9991long4 __ovld __cnfn upsample(int4 hi, uint4 lo);
9992long8 __ovld __cnfn upsample(int8 hi, uint8 lo);
9993long16 __ovld __cnfn upsample(int16 hi, uint16 lo);
9994ulong2 __ovld __cnfn upsample(uint2 hi, uint2 lo);
9995ulong3 __ovld __cnfn upsample(uint3 hi, uint3 lo);
9996ulong4 __ovld __cnfn upsample(uint4 hi, uint4 lo);
9997ulong8 __ovld __cnfn upsample(uint8 hi, uint8 lo);
9998ulong16 __ovld __cnfn upsample(uint16 hi, uint16 lo);
9999
10000/*
10001 * popcount(x): returns the number of set bit in x
10002 */
10003char __ovld __cnfn popcount(char x);
10004uchar __ovld __cnfn popcount(uchar x);
10005char2 __ovld __cnfn popcount(char2 x);
10006uchar2 __ovld __cnfn popcount(uchar2 x);
10007char3 __ovld __cnfn popcount(char3 x);
10008uchar3 __ovld __cnfn popcount(uchar3 x);
10009char4 __ovld __cnfn popcount(char4 x);
10010uchar4 __ovld __cnfn popcount(uchar4 x);
10011char8 __ovld __cnfn popcount(char8 x);
10012uchar8 __ovld __cnfn popcount(uchar8 x);
10013char16 __ovld __cnfn popcount(char16 x);
10014uchar16 __ovld __cnfn popcount(uchar16 x);
10015short __ovld __cnfn popcount(short x);
10016ushort __ovld __cnfn popcount(ushort x);
10017short2 __ovld __cnfn popcount(short2 x);
10018ushort2 __ovld __cnfn popcount(ushort2 x);
10019short3 __ovld __cnfn popcount(short3 x);
10020ushort3 __ovld __cnfn popcount(ushort3 x);
10021short4 __ovld __cnfn popcount(short4 x);
10022ushort4 __ovld __cnfn popcount(ushort4 x);
10023short8 __ovld __cnfn popcount(short8 x);
10024ushort8 __ovld __cnfn popcount(ushort8 x);
10025short16 __ovld __cnfn popcount(short16 x);
10026ushort16 __ovld __cnfn popcount(ushort16 x);
10027int __ovld __cnfn popcount(int x);
10028uint __ovld __cnfn popcount(uint x);
10029int2 __ovld __cnfn popcount(int2 x);
10030uint2 __ovld __cnfn popcount(uint2 x);
10031int3 __ovld __cnfn popcount(int3 x);
10032uint3 __ovld __cnfn popcount(uint3 x);
10033int4 __ovld __cnfn popcount(int4 x);
10034uint4 __ovld __cnfn popcount(uint4 x);
10035int8 __ovld __cnfn popcount(int8 x);
10036uint8 __ovld __cnfn popcount(uint8 x);
10037int16 __ovld __cnfn popcount(int16 x);
10038uint16 __ovld __cnfn popcount(uint16 x);
10039long __ovld __cnfn popcount(long x);
10040ulong __ovld __cnfn popcount(ulong x);
10041long2 __ovld __cnfn popcount(long2 x);
10042ulong2 __ovld __cnfn popcount(ulong2 x);
10043long3 __ovld __cnfn popcount(long3 x);
10044ulong3 __ovld __cnfn popcount(ulong3 x);
10045long4 __ovld __cnfn popcount(long4 x);
10046ulong4 __ovld __cnfn popcount(ulong4 x);
10047long8 __ovld __cnfn popcount(long8 x);
10048ulong8 __ovld __cnfn popcount(ulong8 x);
10049long16 __ovld __cnfn popcount(long16 x);
10050ulong16 __ovld __cnfn popcount(ulong16 x);
10051
10052/**
10053 * Multiply two 24-bit integer values x and y and add
10054 * the 32-bit integer result to the 32-bit integer z.
10055 * Refer to definition of mul24 to see how the 24-bit
10056 * integer multiplication is performed.
10057 */
10058int __ovld __cnfn mad24(int x, int y, int z);
10059uint __ovld __cnfn mad24(uint x, uint y, uint z);
10060int2 __ovld __cnfn mad24(int2 x, int2 y, int2 z);
10061uint2 __ovld __cnfn mad24(uint2 x, uint2 y, uint2 z);
10062int3 __ovld __cnfn mad24(int3 x, int3 y, int3 z);
10063uint3 __ovld __cnfn mad24(uint3 x, uint3 y, uint3 z);
10064int4 __ovld __cnfn mad24(int4 x, int4 y, int4 z);
10065uint4 __ovld __cnfn mad24(uint4 x, uint4 y, uint4 z);
10066int8 __ovld __cnfn mad24(int8 x, int8 y, int8 z);
10067uint8 __ovld __cnfn mad24(uint8 x, uint8 y, uint8 z);
10068int16 __ovld __cnfn mad24(int16 x, int16 y, int16 z);
10069uint16 __ovld __cnfn mad24(uint16 x, uint16 y, uint16 z);
10070
10071/**
10072 * Multiply two 24-bit integer values x and y. x and y
10073 * are 32-bit integers but only the low 24-bits are used
10074 * to perform the multiplication. mul24 should only
10075 * be used when values in x and y are in the range [-
10076 * 2^23, 2^23-1] if x and y are signed integers and in the
10077 * range [0, 2^24-1] if x and y are unsigned integers. If
10078 * x and y are not in this range, the multiplication
10079 * result is implementation-defined.
10080 */
10081int __ovld __cnfn mul24(int x, int y);
10082uint __ovld __cnfn mul24(uint x, uint y);
10083int2 __ovld __cnfn mul24(int2 x, int2 y);
10084uint2 __ovld __cnfn mul24(uint2 x, uint2 y);
10085int3 __ovld __cnfn mul24(int3 x, int3 y);
10086uint3 __ovld __cnfn mul24(uint3 x, uint3 y);
10087int4 __ovld __cnfn mul24(int4 x, int4 y);
10088uint4 __ovld __cnfn mul24(uint4 x, uint4 y);
10089int8 __ovld __cnfn mul24(int8 x, int8 y);
10090uint8 __ovld __cnfn mul24(uint8 x, uint8 y);
10091int16 __ovld __cnfn mul24(int16 x, int16 y);
10092uint16 __ovld __cnfn mul24(uint16 x, uint16 y);
10093
10094// OpenCL v1.1 s6.11.4, v1.2 s6.12.4, v2.0 s6.13.4 - Common Functions
10095
10096/**
10097 * Returns fmin(fmax(x, minval), maxval).
10098 * Results are undefined if minval > maxval.
10099 */
10100float __ovld __cnfn clamp(float x, float minval, float maxval);
10101float2 __ovld __cnfn clamp(float2 x, float2 minval, float2 maxval);
10102float3 __ovld __cnfn clamp(float3 x, float3 minval, float3 maxval);
10103float4 __ovld __cnfn clamp(float4 x, float4 minval, float4 maxval);
10104float8 __ovld __cnfn clamp(float8 x, float8 minval, float8 maxval);
10105float16 __ovld __cnfn clamp(float16 x, float16 minval, float16 maxval);
10106float2 __ovld __cnfn clamp(float2 x, float minval, float maxval);
10107float3 __ovld __cnfn clamp(float3 x, float minval, float maxval);
10108float4 __ovld __cnfn clamp(float4 x, float minval, float maxval);
10109float8 __ovld __cnfn clamp(float8 x, float minval, float maxval);
10110float16 __ovld __cnfn clamp(float16 x, float minval, float maxval);
10111#ifdef cl_khr_fp64
10112double __ovld __cnfn clamp(double x, double minval, double maxval);
10113double2 __ovld __cnfn clamp(double2 x, double2 minval, double2 maxval);
10114double3 __ovld __cnfn clamp(double3 x, double3 minval, double3 maxval);
10115double4 __ovld __cnfn clamp(double4 x, double4 minval, double4 maxval);
10116double8 __ovld __cnfn clamp(double8 x, double8 minval, double8 maxval);
10117double16 __ovld __cnfn clamp(double16 x, double16 minval, double16 maxval);
10118double2 __ovld __cnfn clamp(double2 x, double minval, double maxval);
10119double3 __ovld __cnfn clamp(double3 x, double minval, double maxval);
10120double4 __ovld __cnfn clamp(double4 x, double minval, double maxval);
10121double8 __ovld __cnfn clamp(double8 x, double minval, double maxval);
10122double16 __ovld __cnfn clamp(double16 x, double minval, double maxval);
10123#endif //cl_khr_fp64
10124#ifdef cl_khr_fp16
10125half __ovld __cnfn clamp(half x, half minval, half maxval);
10126half2 __ovld __cnfn clamp(half2 x, half2 minval, half2 maxval);
10127half3 __ovld __cnfn clamp(half3 x, half3 minval, half3 maxval);
10128half4 __ovld __cnfn clamp(half4 x, half4 minval, half4 maxval);
10129half8 __ovld __cnfn clamp(half8 x, half8 minval, half8 maxval);
10130half16 __ovld __cnfn clamp(half16 x, half16 minval, half16 maxval);
10131half2 __ovld __cnfn clamp(half2 x, half minval, half maxval);
10132half3 __ovld __cnfn clamp(half3 x, half minval, half maxval);
10133half4 __ovld __cnfn clamp(half4 x, half minval, half maxval);
10134half8 __ovld __cnfn clamp(half8 x, half minval, half maxval);
10135half16 __ovld __cnfn clamp(half16 x, half minval, half maxval);
10136#endif //cl_khr_fp16
10137
10138/**
10139 * Converts radians to degrees, i.e. (180 / PI) *
10140 * radians.
10141 */
10142float __ovld __cnfn degrees(float radians);
10143float2 __ovld __cnfn degrees(float2 radians);
10144float3 __ovld __cnfn degrees(float3 radians);
10145float4 __ovld __cnfn degrees(float4 radians);
10146float8 __ovld __cnfn degrees(float8 radians);
10147float16 __ovld __cnfn degrees(float16 radians);
10148#ifdef cl_khr_fp64
10149double __ovld __cnfn degrees(double radians);
10150double2 __ovld __cnfn degrees(double2 radians);
10151double3 __ovld __cnfn degrees(double3 radians);
10152double4 __ovld __cnfn degrees(double4 radians);
10153double8 __ovld __cnfn degrees(double8 radians);
10154double16 __ovld __cnfn degrees(double16 radians);
10155#endif //cl_khr_fp64
10156#ifdef cl_khr_fp16
10157half __ovld __cnfn degrees(half radians);
10158half2 __ovld __cnfn degrees(half2 radians);
10159half3 __ovld __cnfn degrees(half3 radians);
10160half4 __ovld __cnfn degrees(half4 radians);
10161half8 __ovld __cnfn degrees(half8 radians);
10162half16 __ovld __cnfn degrees(half16 radians);
10163#endif //cl_khr_fp16
10164
10165/**
10166 * Returns y if x < y, otherwise it returns x. If x and y
10167 * are infinite or NaN, the return values are undefined.
10168 */
10169float __ovld __cnfn max(float x, float y);
10170float2 __ovld __cnfn max(float2 x, float2 y);
10171float3 __ovld __cnfn max(float3 x, float3 y);
10172float4 __ovld __cnfn max(float4 x, float4 y);
10173float8 __ovld __cnfn max(float8 x, float8 y);
10174float16 __ovld __cnfn max(float16 x, float16 y);
10175float2 __ovld __cnfn max(float2 x, float y);
10176float3 __ovld __cnfn max(float3 x, float y);
10177float4 __ovld __cnfn max(float4 x, float y);
10178float8 __ovld __cnfn max(float8 x, float y);
10179float16 __ovld __cnfn max(float16 x, float y);
10180#ifdef cl_khr_fp64
10181double __ovld __cnfn max(double x, double y);
10182double2 __ovld __cnfn max(double2 x, double2 y);
10183double3 __ovld __cnfn max(double3 x, double3 y);
10184double4 __ovld __cnfn max(double4 x, double4 y);
10185double8 __ovld __cnfn max(double8 x, double8 y);
10186double16 __ovld __cnfn max(double16 x, double16 y);
10187double2 __ovld __cnfn max(double2 x, double y);
10188double3 __ovld __cnfn max(double3 x, double y);
10189double4 __ovld __cnfn max(double4 x, double y);
10190double8 __ovld __cnfn max(double8 x, double y);
10191double16 __ovld __cnfn max(double16 x, double y);
10192#endif //cl_khr_fp64
10193#ifdef cl_khr_fp16
10194half __ovld __cnfn max(half x, half y);
10195half2 __ovld __cnfn max(half2 x, half2 y);
10196half3 __ovld __cnfn max(half3 x, half3 y);
10197half4 __ovld __cnfn max(half4 x, half4 y);
10198half8 __ovld __cnfn max(half8 x, half8 y);
10199half16 __ovld __cnfn max(half16 x, half16 y);
10200half2 __ovld __cnfn max(half2 x, half y);
10201half3 __ovld __cnfn max(half3 x, half y);
10202half4 __ovld __cnfn max(half4 x, half y);
10203half8 __ovld __cnfn max(half8 x, half y);
10204half16 __ovld __cnfn max(half16 x, half y);
10205#endif //cl_khr_fp16
10206
10207/**
10208 * Returns y if y < x, otherwise it returns x. If x and y
10209 * are infinite or NaN, the return values are undefined.
10210 */
10211float __ovld __cnfn min(float x, float y);
10212float2 __ovld __cnfn min(float2 x, float2 y);
10213float3 __ovld __cnfn min(float3 x, float3 y);
10214float4 __ovld __cnfn min(float4 x, float4 y);
10215float8 __ovld __cnfn min(float8 x, float8 y);
10216float16 __ovld __cnfn min(float16 x, float16 y);
10217float2 __ovld __cnfn min(float2 x, float y);
10218float3 __ovld __cnfn min(float3 x, float y);
10219float4 __ovld __cnfn min(float4 x, float y);
10220float8 __ovld __cnfn min(float8 x, float y);
10221float16 __ovld __cnfn min(float16 x, float y);
10222#ifdef cl_khr_fp64
10223double __ovld __cnfn min(double x, double y);
10224double2 __ovld __cnfn min(double2 x, double2 y);
10225double3 __ovld __cnfn min(double3 x, double3 y);
10226double4 __ovld __cnfn min(double4 x, double4 y);
10227double8 __ovld __cnfn min(double8 x, double8 y);
10228double16 __ovld __cnfn min(double16 x, double16 y);
10229double2 __ovld __cnfn min(double2 x, double y);
10230double3 __ovld __cnfn min(double3 x, double y);
10231double4 __ovld __cnfn min(double4 x, double y);
10232double8 __ovld __cnfn min(double8 x, double y);
10233double16 __ovld __cnfn min(double16 x, double y);
10234#endif //cl_khr_fp64
10235#ifdef cl_khr_fp16
10236half __ovld __cnfn min(half x, half y);
10237half2 __ovld __cnfn min(half2 x, half2 y);
10238half3 __ovld __cnfn min(half3 x, half3 y);
10239half4 __ovld __cnfn min(half4 x, half4 y);
10240half8 __ovld __cnfn min(half8 x, half8 y);
10241half16 __ovld __cnfn min(half16 x, half16 y);
10242half2 __ovld __cnfn min(half2 x, half y);
10243half3 __ovld __cnfn min(half3 x, half y);
10244half4 __ovld __cnfn min(half4 x, half y);
10245half8 __ovld __cnfn min(half8 x, half y);
10246half16 __ovld __cnfn min(half16 x, half y);
10247#endif //cl_khr_fp16
10248
10249/**
10250 * Returns the linear blend of x & y implemented as:
10251 * x + (y - x) * a
10252 * a must be a value in the range 0.0 ... 1.0. If a is not
10253 * in the range 0.0 ... 1.0, the return values are
10254 * undefined.
10255 */
10256float __ovld __cnfn mix(float x, float y, float a);
10257float2 __ovld __cnfn mix(float2 x, float2 y, float2 a);
10258float3 __ovld __cnfn mix(float3 x, float3 y, float3 a);
10259float4 __ovld __cnfn mix(float4 x, float4 y, float4 a);
10260float8 __ovld __cnfn mix(float8 x, float8 y, float8 a);
10261float16 __ovld __cnfn mix(float16 x, float16 y, float16 a);
10262float2 __ovld __cnfn mix(float2 x, float2 y, float a);
10263float3 __ovld __cnfn mix(float3 x, float3 y, float a);
10264float4 __ovld __cnfn mix(float4 x, float4 y, float a);
10265float8 __ovld __cnfn mix(float8 x, float8 y, float a);
10266float16 __ovld __cnfn mix(float16 x, float16 y, float a);
10267#ifdef cl_khr_fp64
10268double __ovld __cnfn mix(double x, double y, double a);
10269double2 __ovld __cnfn mix(double2 x, double2 y, double2 a);
10270double3 __ovld __cnfn mix(double3 x, double3 y, double3 a);
10271double4 __ovld __cnfn mix(double4 x, double4 y, double4 a);
10272double8 __ovld __cnfn mix(double8 x, double8 y, double8 a);
10273double16 __ovld __cnfn mix(double16 x, double16 y, double16 a);
10274double2 __ovld __cnfn mix(double2 x, double2 y, double a);
10275double3 __ovld __cnfn mix(double3 x, double3 y, double a);
10276double4 __ovld __cnfn mix(double4 x, double4 y, double a);
10277double8 __ovld __cnfn mix(double8 x, double8 y, double a);
10278double16 __ovld __cnfn mix(double16 x, double16 y, double a);
10279#endif //cl_khr_fp64
10280#ifdef cl_khr_fp16
10281half __ovld __cnfn mix(half x, half y, half a);
10282half2 __ovld __cnfn mix(half2 x, half2 y, half2 a);
10283half3 __ovld __cnfn mix(half3 x, half3 y, half3 a);
10284half4 __ovld __cnfn mix(half4 x, half4 y, half4 a);
10285half8 __ovld __cnfn mix(half8 x, half8 y, half8 a);
10286half16 __ovld __cnfn mix(half16 x, half16 y, half16 a);
10287half2 __ovld __cnfn mix(half2 x, half2 y, half a);
10288half3 __ovld __cnfn mix(half3 x, half3 y, half a);
10289half4 __ovld __cnfn mix(half4 x, half4 y, half a);
10290half8 __ovld __cnfn mix(half8 x, half8 y, half a);
10291half16 __ovld __cnfn mix(half16 x, half16 y, half a);
10292#endif //cl_khr_fp16
10293
10294/**
10295 * Converts degrees to radians, i.e. (PI / 180) *
10296 * degrees.
10297 */
10298float __ovld __cnfn radians(float degrees);
10299float2 __ovld __cnfn radians(float2 degrees);
10300float3 __ovld __cnfn radians(float3 degrees);
10301float4 __ovld __cnfn radians(float4 degrees);
10302float8 __ovld __cnfn radians(float8 degrees);
10303float16 __ovld __cnfn radians(float16 degrees);
10304#ifdef cl_khr_fp64
10305double __ovld __cnfn radians(double degrees);
10306double2 __ovld __cnfn radians(double2 degrees);
10307double3 __ovld __cnfn radians(double3 degrees);
10308double4 __ovld __cnfn radians(double4 degrees);
10309double8 __ovld __cnfn radians(double8 degrees);
10310double16 __ovld __cnfn radians(double16 degrees);
10311#endif //cl_khr_fp64
10312#ifdef cl_khr_fp16
10313half __ovld __cnfn radians(half degrees);
10314half2 __ovld __cnfn radians(half2 degrees);
10315half3 __ovld __cnfn radians(half3 degrees);
10316half4 __ovld __cnfn radians(half4 degrees);
10317half8 __ovld __cnfn radians(half8 degrees);
10318half16 __ovld __cnfn radians(half16 degrees);
10319#endif //cl_khr_fp16
10320
10321/**
10322 * Returns 0.0 if x < edge, otherwise it returns 1.0.
10323 */
10324float __ovld __cnfn step(float edge, float x);
10325float2 __ovld __cnfn step(float2 edge, float2 x);
10326float3 __ovld __cnfn step(float3 edge, float3 x);
10327float4 __ovld __cnfn step(float4 edge, float4 x);
10328float8 __ovld __cnfn step(float8 edge, float8 x);
10329float16 __ovld __cnfn step(float16 edge, float16 x);
10330float2 __ovld __cnfn step(float edge, float2 x);
10331float3 __ovld __cnfn step(float edge, float3 x);
10332float4 __ovld __cnfn step(float edge, float4 x);
10333float8 __ovld __cnfn step(float edge, float8 x);
10334float16 __ovld __cnfn step(float edge, float16 x);
10335#ifdef cl_khr_fp64
10336double __ovld __cnfn step(double edge, double x);
10337double2 __ovld __cnfn step(double2 edge, double2 x);
10338double3 __ovld __cnfn step(double3 edge, double3 x);
10339double4 __ovld __cnfn step(double4 edge, double4 x);
10340double8 __ovld __cnfn step(double8 edge, double8 x);
10341double16 __ovld __cnfn step(double16 edge, double16 x);
10342double2 __ovld __cnfn step(double edge, double2 x);
10343double3 __ovld __cnfn step(double edge, double3 x);
10344double4 __ovld __cnfn step(double edge, double4 x);
10345double8 __ovld __cnfn step(double edge, double8 x);
10346double16 __ovld __cnfn step(double edge, double16 x);
10347#endif //cl_khr_fp64
10348#ifdef cl_khr_fp16
10349half __ovld __cnfn step(half edge, half x);
10350half2 __ovld __cnfn step(half2 edge, half2 x);
10351half3 __ovld __cnfn step(half3 edge, half3 x);
10352half4 __ovld __cnfn step(half4 edge, half4 x);
10353half8 __ovld __cnfn step(half8 edge, half8 x);
10354half16 __ovld __cnfn step(half16 edge, half16 x);
10355half2 __ovld __cnfn step(half edge, half2 x);
10356half3 __ovld __cnfn step(half edge, half3 x);
10357half4 __ovld __cnfn step(half edge, half4 x);
10358half8 __ovld __cnfn step(half edge, half8 x);
10359half16 __ovld __cnfn step(half edge, half16 x);
10360#endif //cl_khr_fp16
10361
10362/**
10363 * Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and
10364 * performs smooth Hermite interpolation between 0
10365 * and 1when edge0 < x < edge1. This is useful in
10366 * cases where you would want a threshold function
10367 * with a smooth transition.
10368 * This is equivalent to:
10369 * gentype t;
10370 * t = clamp ((x - edge0) / (edge1 - edge0), 0, 1);
10371 * return t * t * (3 - 2 * t);
10372 * Results are undefined if edge0 >= edge1 or if x,
10373 * edge0 or edge1 is a NaN.
10374 */
10375float __ovld __cnfn smoothstep(float edge0, float edge1, float x);
10376float2 __ovld __cnfn smoothstep(float2 edge0, float2 edge1, float2 x);
10377float3 __ovld __cnfn smoothstep(float3 edge0, float3 edge1, float3 x);
10378float4 __ovld __cnfn smoothstep(float4 edge0, float4 edge1, float4 x);
10379float8 __ovld __cnfn smoothstep(float8 edge0, float8 edge1, float8 x);
10380float16 __ovld __cnfn smoothstep(float16 edge0, float16 edge1, float16 x);
10381float2 __ovld __cnfn smoothstep(float edge0, float edge1, float2 x);
10382float3 __ovld __cnfn smoothstep(float edge0, float edge1, float3 x);
10383float4 __ovld __cnfn smoothstep(float edge0, float edge1, float4 x);
10384float8 __ovld __cnfn smoothstep(float edge0, float edge1, float8 x);
10385float16 __ovld __cnfn smoothstep(float edge0, float edge1, float16 x);
10386#ifdef cl_khr_fp64
10387double __ovld __cnfn smoothstep(double edge0, double edge1, double x);
10388double2 __ovld __cnfn smoothstep(double2 edge0, double2 edge1, double2 x);
10389double3 __ovld __cnfn smoothstep(double3 edge0, double3 edge1, double3 x);
10390double4 __ovld __cnfn smoothstep(double4 edge0, double4 edge1, double4 x);
10391double8 __ovld __cnfn smoothstep(double8 edge0, double8 edge1, double8 x);
10392double16 __ovld __cnfn smoothstep(double16 edge0, double16 edge1, double16 x);
10393double2 __ovld __cnfn smoothstep(double edge0, double edge1, double2 x);
10394double3 __ovld __cnfn smoothstep(double edge0, double edge1, double3 x);
10395double4 __ovld __cnfn smoothstep(double edge0, double edge1, double4 x);
10396double8 __ovld __cnfn smoothstep(double edge0, double edge1, double8 x);
10397double16 __ovld __cnfn smoothstep(double edge0, double edge1, double16 x);
10398#endif //cl_khr_fp64
10399#ifdef cl_khr_fp16
10400half __ovld __cnfn smoothstep(half edge0, half edge1, half x);
10401half2 __ovld __cnfn smoothstep(half2 edge0, half2 edge1, half2 x);
10402half3 __ovld __cnfn smoothstep(half3 edge0, half3 edge1, half3 x);
10403half4 __ovld __cnfn smoothstep(half4 edge0, half4 edge1, half4 x);
10404half8 __ovld __cnfn smoothstep(half8 edge0, half8 edge1, half8 x);
10405half16 __ovld __cnfn smoothstep(half16 edge0, half16 edge1, half16 x);
10406half2 __ovld __cnfn smoothstep(half edge0, half edge1, half2 x);
10407half3 __ovld __cnfn smoothstep(half edge0, half edge1, half3 x);
10408half4 __ovld __cnfn smoothstep(half edge0, half edge1, half4 x);
10409half8 __ovld __cnfn smoothstep(half edge0, half edge1, half8 x);
10410half16 __ovld __cnfn smoothstep(half edge0, half edge1, half16 x);
10411#endif //cl_khr_fp16
10412
10413/**
10414 * Returns 1.0 if x > 0, -0.0 if x = -0.0, +0.0 if x =
10415 * +0.0, or -1.0 if x < 0. Returns 0.0 if x is a NaN.
10416 */
10417float __ovld __cnfn sign(float x);
10418float2 __ovld __cnfn sign(float2 x);
10419float3 __ovld __cnfn sign(float3 x);
10420float4 __ovld __cnfn sign(float4 x);
10421float8 __ovld __cnfn sign(float8 x);
10422float16 __ovld __cnfn sign(float16 x);
10423#ifdef cl_khr_fp64
10424double __ovld __cnfn sign(double x);
10425double2 __ovld __cnfn sign(double2 x);
10426double3 __ovld __cnfn sign(double3 x);
10427double4 __ovld __cnfn sign(double4 x);
10428double8 __ovld __cnfn sign(double8 x);
10429double16 __ovld __cnfn sign(double16 x);
10430#endif //cl_khr_fp64
10431#ifdef cl_khr_fp16
10432half __ovld __cnfn sign(half x);
10433half2 __ovld __cnfn sign(half2 x);
10434half3 __ovld __cnfn sign(half3 x);
10435half4 __ovld __cnfn sign(half4 x);
10436half8 __ovld __cnfn sign(half8 x);
10437half16 __ovld __cnfn sign(half16 x);
10438#endif //cl_khr_fp16
10439
10440// OpenCL v1.1 s6.11.5, v1.2 s6.12.5, v2.0 s6.13.5 - Geometric Functions
10441
10442/**
10443 * Returns the cross product of p0.xyz and p1.xyz. The
10444 * w component of float4 result returned will be 0.0.
10445 */
10446float4 __ovld __cnfn cross(float4 p0, float4 p1);
10447float3 __ovld __cnfn cross(float3 p0, float3 p1);
10448#ifdef cl_khr_fp64
10449double4 __ovld __cnfn cross(double4 p0, double4 p1);
10450double3 __ovld __cnfn cross(double3 p0, double3 p1);
10451#endif //cl_khr_fp64
10452#ifdef cl_khr_fp16
10453half4 __ovld __cnfn cross(half4 p0, half4 p1);
10454half3 __ovld __cnfn cross(half3 p0, half3 p1);
10455#endif //cl_khr_fp16
10456
10457/**
10458 * Compute dot product.
10459 */
10460float __ovld __cnfn dot(float p0, float p1);
10461float __ovld __cnfn dot(float2 p0, float2 p1);
10462float __ovld __cnfn dot(float3 p0, float3 p1);
10463float __ovld __cnfn dot(float4 p0, float4 p1);
10464#ifdef cl_khr_fp64
10465double __ovld __cnfn dot(double p0, double p1);
10466double __ovld __cnfn dot(double2 p0, double2 p1);
10467double __ovld __cnfn dot(double3 p0, double3 p1);
10468double __ovld __cnfn dot(double4 p0, double4 p1);
10469#endif //cl_khr_fp64
10470#ifdef cl_khr_fp16
10471half __ovld __cnfn dot(half p0, half p1);
10472half __ovld __cnfn dot(half2 p0, half2 p1);
10473half __ovld __cnfn dot(half3 p0, half3 p1);
10474half __ovld __cnfn dot(half4 p0, half4 p1);
10475#endif //cl_khr_fp16
10476
10477/**
10478 * Returns the distance between p0 and p1. This is
10479 * calculated as length(p0 - p1).
10480 */
10481float __ovld __cnfn distance(float p0, float p1);
10482float __ovld __cnfn distance(float2 p0, float2 p1);
10483float __ovld __cnfn distance(float3 p0, float3 p1);
10484float __ovld __cnfn distance(float4 p0, float4 p1);
10485#ifdef cl_khr_fp64
10486double __ovld __cnfn distance(double p0, double p1);
10487double __ovld __cnfn distance(double2 p0, double2 p1);
10488double __ovld __cnfn distance(double3 p0, double3 p1);
10489double __ovld __cnfn distance(double4 p0, double4 p1);
10490#endif //cl_khr_fp64
10491#ifdef cl_khr_fp16
10492half __ovld __cnfn distance(half p0, half p1);
10493half __ovld __cnfn distance(half2 p0, half2 p1);
10494half __ovld __cnfn distance(half3 p0, half3 p1);
10495half __ovld __cnfn distance(half4 p0, half4 p1);
10496#endif //cl_khr_fp16
10497
10498/**
10499 * Return the length of vector p, i.e.,
10500 * sqrt(p.x2 + p.y 2 + ...)
10501 */
10502float __ovld __cnfn length(float p);
10503float __ovld __cnfn length(float2 p);
10504float __ovld __cnfn length(float3 p);
10505float __ovld __cnfn length(float4 p);
10506#ifdef cl_khr_fp64
10507double __ovld __cnfn length(double p);
10508double __ovld __cnfn length(double2 p);
10509double __ovld __cnfn length(double3 p);
10510double __ovld __cnfn length(double4 p);
10511#endif //cl_khr_fp64
10512#ifdef cl_khr_fp16
10513half __ovld __cnfn length(half p);
10514half __ovld __cnfn length(half2 p);
10515half __ovld __cnfn length(half3 p);
10516half __ovld __cnfn length(half4 p);
10517#endif //cl_khr_fp16
10518
10519/**
10520 * Returns a vector in the same direction as p but with a
10521 * length of 1.
10522 */
10523float __ovld __cnfn normalize(float p);
10524float2 __ovld __cnfn normalize(float2 p);
10525float3 __ovld __cnfn normalize(float3 p);
10526float4 __ovld __cnfn normalize(float4 p);
10527#ifdef cl_khr_fp64
10528double __ovld __cnfn normalize(double p);
10529double2 __ovld __cnfn normalize(double2 p);
10530double3 __ovld __cnfn normalize(double3 p);
10531double4 __ovld __cnfn normalize(double4 p);
10532#endif //cl_khr_fp64
10533#ifdef cl_khr_fp16
10534half __ovld __cnfn normalize(half p);
10535half2 __ovld __cnfn normalize(half2 p);
10536half3 __ovld __cnfn normalize(half3 p);
10537half4 __ovld __cnfn normalize(half4 p);
10538#endif //cl_khr_fp16
10539
10540/**
10541 * Returns fast_length(p0 - p1).
10542 */
10543float __ovld __cnfn fast_distance(float p0, float p1);
10544float __ovld __cnfn fast_distance(float2 p0, float2 p1);
10545float __ovld __cnfn fast_distance(float3 p0, float3 p1);
10546float __ovld __cnfn fast_distance(float4 p0, float4 p1);
10547#ifdef cl_khr_fp16
10548half __ovld __cnfn fast_distance(half p0, half p1);
10549half __ovld __cnfn fast_distance(half2 p0, half2 p1);
10550half __ovld __cnfn fast_distance(half3 p0, half3 p1);
10551half __ovld __cnfn fast_distance(half4 p0, half4 p1);
10552#endif //cl_khr_fp16
10553
10554/**
10555 * Returns the length of vector p computed as:
10556 * half_sqrt(p.x2 + p.y2 + ...)
10557 */
10558float __ovld __cnfn fast_length(float p);
10559float __ovld __cnfn fast_length(float2 p);
10560float __ovld __cnfn fast_length(float3 p);
10561float __ovld __cnfn fast_length(float4 p);
10562#ifdef cl_khr_fp16
10563half __ovld __cnfn fast_length(half p);
10564half __ovld __cnfn fast_length(half2 p);
10565half __ovld __cnfn fast_length(half3 p);
10566half __ovld __cnfn fast_length(half4 p);
10567#endif //cl_khr_fp16
10568
10569/**
10570 * Returns a vector in the same direction as p but with a
10571 * length of 1. fast_normalize is computed as:
10572 * p * half_rsqrt (p.x^2 + p.y^2 + ... )
10573 * The result shall be within 8192 ulps error from the
10574 * infinitely precise result of
10575 * if (all(p == 0.0f))
10576 * result = p;
10577 * else
10578 * result = p / sqrt (p.x^2 + p.y^2 + ...);
10579 * with the following exceptions:
10580 * 1) If the sum of squares is greater than FLT_MAX
10581 * then the value of the floating-point values in the
10582 * result vector are undefined.
10583 * 2) If the sum of squares is less than FLT_MIN then
10584 * the implementation may return back p.
10585 * 3) If the device is in "denorms are flushed to zero"
10586 * mode, individual operand elements with magnitude
10587 * less than sqrt(FLT_MIN) may be flushed to zero
10588 * before proceeding with the calculation.
10589 */
10590float __ovld __cnfn fast_normalize(float p);
10591float2 __ovld __cnfn fast_normalize(float2 p);
10592float3 __ovld __cnfn fast_normalize(float3 p);
10593float4 __ovld __cnfn fast_normalize(float4 p);
10594#ifdef cl_khr_fp16
10595half __ovld __cnfn fast_normalize(half p);
10596half2 __ovld __cnfn fast_normalize(half2 p);
10597half3 __ovld __cnfn fast_normalize(half3 p);
10598half4 __ovld __cnfn fast_normalize(half4 p);
10599#endif //cl_khr_fp16
10600
10601// OpenCL v1.1 s6.11.6, v1.2 s6.12.6, v2.0 s6.13.6 - Relational Functions
10602
10603/**
10604 * intn isequal (floatn x, floatn y)
10605 * Returns the component-wise compare of x == y.
10606 */
10607int __ovld __cnfn isequal(float x, float y);
10608int2 __ovld __cnfn isequal(float2 x, float2 y);
10609int3 __ovld __cnfn isequal(float3 x, float3 y);
10610int4 __ovld __cnfn isequal(float4 x, float4 y);
10611int8 __ovld __cnfn isequal(float8 x, float8 y);
10612int16 __ovld __cnfn isequal(float16 x, float16 y);
10613#ifdef cl_khr_fp64
10614int __ovld __cnfn isequal(double x, double y);
10615long2 __ovld __cnfn isequal(double2 x, double2 y);
10616long3 __ovld __cnfn isequal(double3 x, double3 y);
10617long4 __ovld __cnfn isequal(double4 x, double4 y);
10618long8 __ovld __cnfn isequal(double8 x, double8 y);
10619long16 __ovld __cnfn isequal(double16 x, double16 y);
10620#endif //cl_khr_fp64
10621#ifdef cl_khr_fp16
10622int __ovld __cnfn isequal(half x, half y);
10623short2 __ovld __cnfn isequal(half2 x, half2 y);
10624short3 __ovld __cnfn isequal(half3 x, half3 y);
10625short4 __ovld __cnfn isequal(half4 x, half4 y);
10626short8 __ovld __cnfn isequal(half8 x, half8 y);
10627short16 __ovld __cnfn isequal(half16 x, half16 y);
10628#endif //cl_khr_fp16
10629
10630/**
10631 * Returns the component-wise compare of x != y.
10632 */
10633int __ovld __cnfn isnotequal(float x, float y);
10634int2 __ovld __cnfn isnotequal(float2 x, float2 y);
10635int3 __ovld __cnfn isnotequal(float3 x, float3 y);
10636int4 __ovld __cnfn isnotequal(float4 x, float4 y);
10637int8 __ovld __cnfn isnotequal(float8 x, float8 y);
10638int16 __ovld __cnfn isnotequal(float16 x, float16 y);
10639#ifdef cl_khr_fp64
10640int __ovld __cnfn isnotequal(double x, double y);
10641long2 __ovld __cnfn isnotequal(double2 x, double2 y);
10642long3 __ovld __cnfn isnotequal(double3 x, double3 y);
10643long4 __ovld __cnfn isnotequal(double4 x, double4 y);
10644long8 __ovld __cnfn isnotequal(double8 x, double8 y);
10645long16 __ovld __cnfn isnotequal(double16 x, double16 y);
10646#endif //cl_khr_fp64
10647#ifdef cl_khr_fp16
10648int __ovld __cnfn isnotequal(half x, half y);
10649short2 __ovld __cnfn isnotequal(half2 x, half2 y);
10650short3 __ovld __cnfn isnotequal(half3 x, half3 y);
10651short4 __ovld __cnfn isnotequal(half4 x, half4 y);
10652short8 __ovld __cnfn isnotequal(half8 x, half8 y);
10653short16 __ovld __cnfn isnotequal(half16 x, half16 y);
10654#endif //cl_khr_fp16
10655
10656/**
10657 * Returns the component-wise compare of x > y.
10658 */
10659int __ovld __cnfn isgreater(float x, float y);
10660int2 __ovld __cnfn isgreater(float2 x, float2 y);
10661int3 __ovld __cnfn isgreater(float3 x, float3 y);
10662int4 __ovld __cnfn isgreater(float4 x, float4 y);
10663int8 __ovld __cnfn isgreater(float8 x, float8 y);
10664int16 __ovld __cnfn isgreater(float16 x, float16 y);
10665#ifdef cl_khr_fp64
10666int __ovld __cnfn isgreater(double x, double y);
10667long2 __ovld __cnfn isgreater(double2 x, double2 y);
10668long3 __ovld __cnfn isgreater(double3 x, double3 y);
10669long4 __ovld __cnfn isgreater(double4 x, double4 y);
10670long8 __ovld __cnfn isgreater(double8 x, double8 y);
10671long16 __ovld __cnfn isgreater(double16 x, double16 y);
10672#endif //cl_khr_fp64
10673#ifdef cl_khr_fp16
10674int __ovld __cnfn isgreater(half x, half y);
10675short2 __ovld __cnfn isgreater(half2 x, half2 y);
10676short3 __ovld __cnfn isgreater(half3 x, half3 y);
10677short4 __ovld __cnfn isgreater(half4 x, half4 y);
10678short8 __ovld __cnfn isgreater(half8 x, half8 y);
10679short16 __ovld __cnfn isgreater(half16 x, half16 y);
10680#endif //cl_khr_fp16
10681
10682/**
10683 * Returns the component-wise compare of x >= y.
10684 */
10685int __ovld __cnfn isgreaterequal(float x, float y);
10686int2 __ovld __cnfn isgreaterequal(float2 x, float2 y);
10687int3 __ovld __cnfn isgreaterequal(float3 x, float3 y);
10688int4 __ovld __cnfn isgreaterequal(float4 x, float4 y);
10689int8 __ovld __cnfn isgreaterequal(float8 x, float8 y);
10690int16 __ovld __cnfn isgreaterequal(float16 x, float16 y);
10691#ifdef cl_khr_fp64
10692int __ovld __cnfn isgreaterequal(double x, double y);
10693long2 __ovld __cnfn isgreaterequal(double2 x, double2 y);
10694long3 __ovld __cnfn isgreaterequal(double3 x, double3 y);
10695long4 __ovld __cnfn isgreaterequal(double4 x, double4 y);
10696long8 __ovld __cnfn isgreaterequal(double8 x, double8 y);
10697long16 __ovld __cnfn isgreaterequal(double16 x, double16 y);
10698#endif //cl_khr_fp64
10699#ifdef cl_khr_fp16
10700int __ovld __cnfn isgreaterequal(half x, half y);
10701short2 __ovld __cnfn isgreaterequal(half2 x, half2 y);
10702short3 __ovld __cnfn isgreaterequal(half3 x, half3 y);
10703short4 __ovld __cnfn isgreaterequal(half4 x, half4 y);
10704short8 __ovld __cnfn isgreaterequal(half8 x, half8 y);
10705short16 __ovld __cnfn isgreaterequal(half16 x, half16 y);
10706#endif //cl_khr_fp16
10707
10708/**
10709 * Returns the component-wise compare of x < y.
10710 */
10711int __ovld __cnfn isless(float x, float y);
10712int2 __ovld __cnfn isless(float2 x, float2 y);
10713int3 __ovld __cnfn isless(float3 x, float3 y);
10714int4 __ovld __cnfn isless(float4 x, float4 y);
10715int8 __ovld __cnfn isless(float8 x, float8 y);
10716int16 __ovld __cnfn isless(float16 x, float16 y);
10717#ifdef cl_khr_fp64
10718int __ovld __cnfn isless(double x, double y);
10719long2 __ovld __cnfn isless(double2 x, double2 y);
10720long3 __ovld __cnfn isless(double3 x, double3 y);
10721long4 __ovld __cnfn isless(double4 x, double4 y);
10722long8 __ovld __cnfn isless(double8 x, double8 y);
10723long16 __ovld __cnfn isless(double16 x, double16 y);
10724#endif //cl_khr_fp64
10725#ifdef cl_khr_fp16
10726int __ovld __cnfn isless(half x, half y);
10727short2 __ovld __cnfn isless(half2 x, half2 y);
10728short3 __ovld __cnfn isless(half3 x, half3 y);
10729short4 __ovld __cnfn isless(half4 x, half4 y);
10730short8 __ovld __cnfn isless(half8 x, half8 y);
10731short16 __ovld __cnfn isless(half16 x, half16 y);
10732#endif //cl_khr_fp16
10733
10734/**
10735 * Returns the component-wise compare of x <= y.
10736 */
10737int __ovld __cnfn islessequal(float x, float y);
10738int2 __ovld __cnfn islessequal(float2 x, float2 y);
10739int3 __ovld __cnfn islessequal(float3 x, float3 y);
10740int4 __ovld __cnfn islessequal(float4 x, float4 y);
10741int8 __ovld __cnfn islessequal(float8 x, float8 y);
10742int16 __ovld __cnfn islessequal(float16 x, float16 y);
10743#ifdef cl_khr_fp64
10744int __ovld __cnfn islessequal(double x, double y);
10745long2 __ovld __cnfn islessequal(double2 x, double2 y);
10746long3 __ovld __cnfn islessequal(double3 x, double3 y);
10747long4 __ovld __cnfn islessequal(double4 x, double4 y);
10748long8 __ovld __cnfn islessequal(double8 x, double8 y);
10749long16 __ovld __cnfn islessequal(double16 x, double16 y);
10750#endif //cl_khr_fp64
10751#ifdef cl_khr_fp16
10752int __ovld __cnfn islessequal(half x, half y);
10753short2 __ovld __cnfn islessequal(half2 x, half2 y);
10754short3 __ovld __cnfn islessequal(half3 x, half3 y);
10755short4 __ovld __cnfn islessequal(half4 x, half4 y);
10756short8 __ovld __cnfn islessequal(half8 x, half8 y);
10757short16 __ovld __cnfn islessequal(half16 x, half16 y);
10758#endif //cl_khr_fp16
10759
10760/**
10761 * Returns the component-wise compare of
10762 * (x < y) || (x > y) .
10763 */
10764int __ovld __cnfn islessgreater(float x, float y);
10765int2 __ovld __cnfn islessgreater(float2 x, float2 y);
10766int3 __ovld __cnfn islessgreater(float3 x, float3 y);
10767int4 __ovld __cnfn islessgreater(float4 x, float4 y);
10768int8 __ovld __cnfn islessgreater(float8 x, float8 y);
10769int16 __ovld __cnfn islessgreater(float16 x, float16 y);
10770#ifdef cl_khr_fp64
10771int __ovld __cnfn islessgreater(double x, double y);
10772long2 __ovld __cnfn islessgreater(double2 x, double2 y);
10773long3 __ovld __cnfn islessgreater(double3 x, double3 y);
10774long4 __ovld __cnfn islessgreater(double4 x, double4 y);
10775long8 __ovld __cnfn islessgreater(double8 x, double8 y);
10776long16 __ovld __cnfn islessgreater(double16 x, double16 y);
10777#endif //cl_khr_fp64
10778#ifdef cl_khr_fp16
10779int __ovld __cnfn islessgreater(half x, half y);
10780short2 __ovld __cnfn islessgreater(half2 x, half2 y);
10781short3 __ovld __cnfn islessgreater(half3 x, half3 y);
10782short4 __ovld __cnfn islessgreater(half4 x, half4 y);
10783short8 __ovld __cnfn islessgreater(half8 x, half8 y);
10784short16 __ovld __cnfn islessgreater(half16 x, half16 y);
10785#endif //cl_khr_fp16
10786
10787/**
10788 * Test for finite value.
10789 */
10790int __ovld __cnfn isfinite(float);
10791int2 __ovld __cnfn isfinite(float2);
10792int3 __ovld __cnfn isfinite(float3);
10793int4 __ovld __cnfn isfinite(float4);
10794int8 __ovld __cnfn isfinite(float8);
10795int16 __ovld __cnfn isfinite(float16);
10796#ifdef cl_khr_fp64
10797int __ovld __cnfn isfinite(double);
10798long2 __ovld __cnfn isfinite(double2);
10799long3 __ovld __cnfn isfinite(double3);
10800long4 __ovld __cnfn isfinite(double4);
10801long8 __ovld __cnfn isfinite(double8);
10802long16 __ovld __cnfn isfinite(double16);
10803#endif //cl_khr_fp64
10804#ifdef cl_khr_fp16
10805int __ovld __cnfn isfinite(half);
10806short2 __ovld __cnfn isfinite(half2);
10807short3 __ovld __cnfn isfinite(half3);
10808short4 __ovld __cnfn isfinite(half4);
10809short8 __ovld __cnfn isfinite(half8);
10810short16 __ovld __cnfn isfinite(half16);
10811#endif //cl_khr_fp16
10812
10813/**
10814 * Test for infinity value (+ve or -ve) .
10815 */
10816int __ovld __cnfn isinf(float);
10817int2 __ovld __cnfn isinf(float2);
10818int3 __ovld __cnfn isinf(float3);
10819int4 __ovld __cnfn isinf(float4);
10820int8 __ovld __cnfn isinf(float8);
10821int16 __ovld __cnfn isinf(float16);
10822#ifdef cl_khr_fp64
10823int __ovld __cnfn isinf(double);
10824long2 __ovld __cnfn isinf(double2);
10825long3 __ovld __cnfn isinf(double3);
10826long4 __ovld __cnfn isinf(double4);
10827long8 __ovld __cnfn isinf(double8);
10828long16 __ovld __cnfn isinf(double16);
10829#endif //cl_khr_fp64
10830#ifdef cl_khr_fp16
10831int __ovld __cnfn isinf(half);
10832short2 __ovld __cnfn isinf(half2);
10833short3 __ovld __cnfn isinf(half3);
10834short4 __ovld __cnfn isinf(half4);
10835short8 __ovld __cnfn isinf(half8);
10836short16 __ovld __cnfn isinf(half16);
10837#endif //cl_khr_fp16
10838
10839/**
10840 * Test for a NaN.
10841 */
10842int __ovld __cnfn isnan(float);
10843int2 __ovld __cnfn isnan(float2);
10844int3 __ovld __cnfn isnan(float3);
10845int4 __ovld __cnfn isnan(float4);
10846int8 __ovld __cnfn isnan(float8);
10847int16 __ovld __cnfn isnan(float16);
10848#ifdef cl_khr_fp64
10849int __ovld __cnfn isnan(double);
10850long2 __ovld __cnfn isnan(double2);
10851long3 __ovld __cnfn isnan(double3);
10852long4 __ovld __cnfn isnan(double4);
10853long8 __ovld __cnfn isnan(double8);
10854long16 __ovld __cnfn isnan(double16);
10855#endif //cl_khr_fp64
10856#ifdef cl_khr_fp16
10857int __ovld __cnfn isnan(half);
10858short2 __ovld __cnfn isnan(half2);
10859short3 __ovld __cnfn isnan(half3);
10860short4 __ovld __cnfn isnan(half4);
10861short8 __ovld __cnfn isnan(half8);
10862short16 __ovld __cnfn isnan(half16);
10863#endif //cl_khr_fp16
10864
10865/**
10866 * Test for a normal value.
10867 */
10868int __ovld __cnfn isnormal(float);
10869int2 __ovld __cnfn isnormal(float2);
10870int3 __ovld __cnfn isnormal(float3);
10871int4 __ovld __cnfn isnormal(float4);
10872int8 __ovld __cnfn isnormal(float8);
10873int16 __ovld __cnfn isnormal(float16);
10874#ifdef cl_khr_fp64
10875int __ovld __cnfn isnormal(double);
10876long2 __ovld __cnfn isnormal(double2);
10877long3 __ovld __cnfn isnormal(double3);
10878long4 __ovld __cnfn isnormal(double4);
10879long8 __ovld __cnfn isnormal(double8);
10880long16 __ovld __cnfn isnormal(double16);
10881#endif //cl_khr_fp64
10882#ifdef cl_khr_fp16
10883int __ovld __cnfn isnormal(half);
10884short2 __ovld __cnfn isnormal(half2);
10885short3 __ovld __cnfn isnormal(half3);
10886short4 __ovld __cnfn isnormal(half4);
10887short8 __ovld __cnfn isnormal(half8);
10888short16 __ovld __cnfn isnormal(half16);
10889#endif //cl_khr_fp16
10890
10891/**
10892 * Test if arguments are ordered. isordered() takes
10893 * arguments x and y, and returns the result
10894 * isequal(x, x) && isequal(y, y).
10895 */
10896int __ovld __cnfn isordered(float x, float y);
10897int2 __ovld __cnfn isordered(float2 x, float2 y);
10898int3 __ovld __cnfn isordered(float3 x, float3 y);
10899int4 __ovld __cnfn isordered(float4 x, float4 y);
10900int8 __ovld __cnfn isordered(float8 x, float8 y);
10901int16 __ovld __cnfn isordered(float16 x, float16 y);
10902#ifdef cl_khr_fp64
10903int __ovld __cnfn isordered(double x, double y);
10904long2 __ovld __cnfn isordered(double2 x, double2 y);
10905long3 __ovld __cnfn isordered(double3 x, double3 y);
10906long4 __ovld __cnfn isordered(double4 x, double4 y);
10907long8 __ovld __cnfn isordered(double8 x, double8 y);
10908long16 __ovld __cnfn isordered(double16 x, double16 y);
10909#endif //cl_khr_fp64
10910#ifdef cl_khr_fp16
10911int __ovld __cnfn isordered(half x, half y);
10912short2 __ovld __cnfn isordered(half2 x, half2 y);
10913short3 __ovld __cnfn isordered(half3 x, half3 y);
10914short4 __ovld __cnfn isordered(half4 x, half4 y);
10915short8 __ovld __cnfn isordered(half8 x, half8 y);
10916short16 __ovld __cnfn isordered(half16 x, half16 y);
10917#endif //cl_khr_fp16
10918
10919/**
10920 * Test if arguments are unordered. isunordered()
10921 * takes arguments x and y, returning non-zero if x or y
10922 * is NaN, and zero otherwise.
10923 */
10924int __ovld __cnfn isunordered(float x, float y);
10925int2 __ovld __cnfn isunordered(float2 x, float2 y);
10926int3 __ovld __cnfn isunordered(float3 x, float3 y);
10927int4 __ovld __cnfn isunordered(float4 x, float4 y);
10928int8 __ovld __cnfn isunordered(float8 x, float8 y);
10929int16 __ovld __cnfn isunordered(float16 x, float16 y);
10930#ifdef cl_khr_fp64
10931int __ovld __cnfn isunordered(double x, double y);
10932long2 __ovld __cnfn isunordered(double2 x, double2 y);
10933long3 __ovld __cnfn isunordered(double3 x, double3 y);
10934long4 __ovld __cnfn isunordered(double4 x, double4 y);
10935long8 __ovld __cnfn isunordered(double8 x, double8 y);
10936long16 __ovld __cnfn isunordered(double16 x, double16 y);
10937#endif //cl_khr_fp64
10938#ifdef cl_khr_fp16
10939int __ovld __cnfn isunordered(half x, half y);
10940short2 __ovld __cnfn isunordered(half2 x, half2 y);
10941short3 __ovld __cnfn isunordered(half3 x, half3 y);
10942short4 __ovld __cnfn isunordered(half4 x, half4 y);
10943short8 __ovld __cnfn isunordered(half8 x, half8 y);
10944short16 __ovld __cnfn isunordered(half16 x, half16 y);
10945#endif //cl_khr_fp16
10946
10947/**
10948 * Test for sign bit. The scalar version of the function
10949 * returns a 1 if the sign bit in the float is set else returns
10950 * 0. The vector version of the function returns the
10951 * following for each component in floatn: a -1 if the
10952 * sign bit in the float is set else returns 0.
10953 */
10954int __ovld __cnfn signbit(float);
10955int2 __ovld __cnfn signbit(float2);
10956int3 __ovld __cnfn signbit(float3);
10957int4 __ovld __cnfn signbit(float4);
10958int8 __ovld __cnfn signbit(float8);
10959int16 __ovld __cnfn signbit(float16);
10960#ifdef cl_khr_fp64
10961int __ovld __cnfn signbit(double);
10962long2 __ovld __cnfn signbit(double2);
10963long3 __ovld __cnfn signbit(double3);
10964long4 __ovld __cnfn signbit(double4);
10965long8 __ovld __cnfn signbit(double8);
10966long16 __ovld __cnfn signbit(double16);
10967#endif //cl_khr_fp64
10968#ifdef cl_khr_fp16
10969int __ovld __cnfn signbit(half);
10970short2 __ovld __cnfn signbit(half2);
10971short3 __ovld __cnfn signbit(half3);
10972short4 __ovld __cnfn signbit(half4);
10973short8 __ovld __cnfn signbit(half8);
10974short16 __ovld __cnfn signbit(half16);
10975#endif //cl_khr_fp16
10976
10977/**
10978 * Returns 1 if the most significant bit in any component
10979 * of x is set; otherwise returns 0.
10980 */
10981int __ovld __cnfn any(char x);
10982int __ovld __cnfn any(char2 x);
10983int __ovld __cnfn any(char3 x);
10984int __ovld __cnfn any(char4 x);
10985int __ovld __cnfn any(char8 x);
10986int __ovld __cnfn any(char16 x);
10987int __ovld __cnfn any(short x);
10988int __ovld __cnfn any(short2 x);
10989int __ovld __cnfn any(short3 x);
10990int __ovld __cnfn any(short4 x);
10991int __ovld __cnfn any(short8 x);
10992int __ovld __cnfn any(short16 x);
10993int __ovld __cnfn any(int x);
10994int __ovld __cnfn any(int2 x);
10995int __ovld __cnfn any(int3 x);
10996int __ovld __cnfn any(int4 x);
10997int __ovld __cnfn any(int8 x);
10998int __ovld __cnfn any(int16 x);
10999int __ovld __cnfn any(long x);
11000int __ovld __cnfn any(long2 x);
11001int __ovld __cnfn any(long3 x);
11002int __ovld __cnfn any(long4 x);
11003int __ovld __cnfn any(long8 x);
11004int __ovld __cnfn any(long16 x);
11005
11006/**
11007 * Returns 1 if the most significant bit in all components
11008 * of x is set; otherwise returns 0.
11009 */
11010int __ovld __cnfn all(char x);
11011int __ovld __cnfn all(char2 x);
11012int __ovld __cnfn all(char3 x);
11013int __ovld __cnfn all(char4 x);
11014int __ovld __cnfn all(char8 x);
11015int __ovld __cnfn all(char16 x);
11016int __ovld __cnfn all(short x);
11017int __ovld __cnfn all(short2 x);
11018int __ovld __cnfn all(short3 x);
11019int __ovld __cnfn all(short4 x);
11020int __ovld __cnfn all(short8 x);
11021int __ovld __cnfn all(short16 x);
11022int __ovld __cnfn all(int x);
11023int __ovld __cnfn all(int2 x);
11024int __ovld __cnfn all(int3 x);
11025int __ovld __cnfn all(int4 x);
11026int __ovld __cnfn all(int8 x);
11027int __ovld __cnfn all(int16 x);
11028int __ovld __cnfn all(long x);
11029int __ovld __cnfn all(long2 x);
11030int __ovld __cnfn all(long3 x);
11031int __ovld __cnfn all(long4 x);
11032int __ovld __cnfn all(long8 x);
11033int __ovld __cnfn all(long16 x);
11034
11035/**
11036 * Each bit of the result is the corresponding bit of a if
11037 * the corresponding bit of c is 0. Otherwise it is the
11038 * corresponding bit of b.
11039 */
11040char __ovld __cnfn bitselect(char a, char b, char c);
11041uchar __ovld __cnfn bitselect(uchar a, uchar b, uchar c);
11042char2 __ovld __cnfn bitselect(char2 a, char2 b, char2 c);
11043uchar2 __ovld __cnfn bitselect(uchar2 a, uchar2 b, uchar2 c);
11044char3 __ovld __cnfn bitselect(char3 a, char3 b, char3 c);
11045uchar3 __ovld __cnfn bitselect(uchar3 a, uchar3 b, uchar3 c);
11046char4 __ovld __cnfn bitselect(char4 a, char4 b, char4 c);
11047uchar4 __ovld __cnfn bitselect(uchar4 a, uchar4 b, uchar4 c);
11048char8 __ovld __cnfn bitselect(char8 a, char8 b, char8 c);
11049uchar8 __ovld __cnfn bitselect(uchar8 a, uchar8 b, uchar8 c);
11050char16 __ovld __cnfn bitselect(char16 a, char16 b, char16 c);
11051uchar16 __ovld __cnfn bitselect(uchar16 a, uchar16 b, uchar16 c);
11052short __ovld __cnfn bitselect(short a, short b, short c);
11053ushort __ovld __cnfn bitselect(ushort a, ushort b, ushort c);
11054short2 __ovld __cnfn bitselect(short2 a, short2 b, short2 c);
11055ushort2 __ovld __cnfn bitselect(ushort2 a, ushort2 b, ushort2 c);
11056short3 __ovld __cnfn bitselect(short3 a, short3 b, short3 c);
11057ushort3 __ovld __cnfn bitselect(ushort3 a, ushort3 b, ushort3 c);
11058short4 __ovld __cnfn bitselect(short4 a, short4 b, short4 c);
11059ushort4 __ovld __cnfn bitselect(ushort4 a, ushort4 b, ushort4 c);
11060short8 __ovld __cnfn bitselect(short8 a, short8 b, short8 c);
11061ushort8 __ovld __cnfn bitselect(ushort8 a, ushort8 b, ushort8 c);
11062short16 __ovld __cnfn bitselect(short16 a, short16 b, short16 c);
11063ushort16 __ovld __cnfn bitselect(ushort16 a, ushort16 b, ushort16 c);
11064int __ovld __cnfn bitselect(int a, int b, int c);
11065uint __ovld __cnfn bitselect(uint a, uint b, uint c);
11066int2 __ovld __cnfn bitselect(int2 a, int2 b, int2 c);
11067uint2 __ovld __cnfn bitselect(uint2 a, uint2 b, uint2 c);
11068int3 __ovld __cnfn bitselect(int3 a, int3 b, int3 c);
11069uint3 __ovld __cnfn bitselect(uint3 a, uint3 b, uint3 c);
11070int4 __ovld __cnfn bitselect(int4 a, int4 b, int4 c);
11071uint4 __ovld __cnfn bitselect(uint4 a, uint4 b, uint4 c);
11072int8 __ovld __cnfn bitselect(int8 a, int8 b, int8 c);
11073uint8 __ovld __cnfn bitselect(uint8 a, uint8 b, uint8 c);
11074int16 __ovld __cnfn bitselect(int16 a, int16 b, int16 c);
11075uint16 __ovld __cnfn bitselect(uint16 a, uint16 b, uint16 c);
11076long __ovld __cnfn bitselect(long a, long b, long c);
11077ulong __ovld __cnfn bitselect(ulong a, ulong b, ulong c);
11078long2 __ovld __cnfn bitselect(long2 a, long2 b, long2 c);
11079ulong2 __ovld __cnfn bitselect(ulong2 a, ulong2 b, ulong2 c);
11080long3 __ovld __cnfn bitselect(long3 a, long3 b, long3 c);
11081ulong3 __ovld __cnfn bitselect(ulong3 a, ulong3 b, ulong3 c);
11082long4 __ovld __cnfn bitselect(long4 a, long4 b, long4 c);
11083ulong4 __ovld __cnfn bitselect(ulong4 a, ulong4 b, ulong4 c);
11084long8 __ovld __cnfn bitselect(long8 a, long8 b, long8 c);
11085ulong8 __ovld __cnfn bitselect(ulong8 a, ulong8 b, ulong8 c);
11086long16 __ovld __cnfn bitselect(long16 a, long16 b, long16 c);
11087ulong16 __ovld __cnfn bitselect(ulong16 a, ulong16 b, ulong16 c);
11088float __ovld __cnfn bitselect(float a, float b, float c);
11089float2 __ovld __cnfn bitselect(float2 a, float2 b, float2 c);
11090float3 __ovld __cnfn bitselect(float3 a, float3 b, float3 c);
11091float4 __ovld __cnfn bitselect(float4 a, float4 b, float4 c);
11092float8 __ovld __cnfn bitselect(float8 a, float8 b, float8 c);
11093float16 __ovld __cnfn bitselect(float16 a, float16 b, float16 c);
11094#ifdef cl_khr_fp64
11095double __ovld __cnfn bitselect(double a, double b, double c);
11096double2 __ovld __cnfn bitselect(double2 a, double2 b, double2 c);
11097double3 __ovld __cnfn bitselect(double3 a, double3 b, double3 c);
11098double4 __ovld __cnfn bitselect(double4 a, double4 b, double4 c);
11099double8 __ovld __cnfn bitselect(double8 a, double8 b, double8 c);
11100double16 __ovld __cnfn bitselect(double16 a, double16 b, double16 c);
11101#endif //cl_khr_fp64
11102#ifdef cl_khr_fp16
11103half __ovld __cnfn bitselect(half a, half b, half c);
11104half2 __ovld __cnfn bitselect(half2 a, half2 b, half2 c);
11105half3 __ovld __cnfn bitselect(half3 a, half3 b, half3 c);
11106half4 __ovld __cnfn bitselect(half4 a, half4 b, half4 c);
11107half8 __ovld __cnfn bitselect(half8 a, half8 b, half8 c);
11108half16 __ovld __cnfn bitselect(half16 a, half16 b, half16 c);
11109#endif //cl_khr_fp16
11110
11111/**
11112 * For each component of a vector type,
11113 * result[i] = if MSB of c[i] is set ? b[i] : a[i].
11114 * For a scalar type, result = c ? b : a.
11115 * b and a must have the same type.
11116 * c must have the same number of elements and bits as a.
11117 */
11118char __ovld __cnfn select(char a, char b, char c);
11119uchar __ovld __cnfn select(uchar a, uchar b, char c);
11120char2 __ovld __cnfn select(char2 a, char2 b, char2 c);
11121uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, char2 c);
11122char3 __ovld __cnfn select(char3 a, char3 b, char3 c);
11123uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, char3 c);
11124char4 __ovld __cnfn select(char4 a, char4 b, char4 c);
11125uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, char4 c);
11126char8 __ovld __cnfn select(char8 a, char8 b, char8 c);
11127uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, char8 c);
11128char16 __ovld __cnfn select(char16 a, char16 b, char16 c);
11129uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, char16 c);
11130
11131short __ovld __cnfn select(short a, short b, short c);
11132ushort __ovld __cnfn select(ushort a, ushort b, short c);
11133short2 __ovld __cnfn select(short2 a, short2 b, short2 c);
11134ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, short2 c);
11135short3 __ovld __cnfn select(short3 a, short3 b, short3 c);
11136ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, short3 c);
11137short4 __ovld __cnfn select(short4 a, short4 b, short4 c);
11138ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, short4 c);
11139short8 __ovld __cnfn select(short8 a, short8 b, short8 c);
11140ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, short8 c);
11141short16 __ovld __cnfn select(short16 a, short16 b, short16 c);
11142ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, short16 c);
11143
11144int __ovld __cnfn select(int a, int b, int c);
11145uint __ovld __cnfn select(uint a, uint b, int c);
11146int2 __ovld __cnfn select(int2 a, int2 b, int2 c);
11147uint2 __ovld __cnfn select(uint2 a, uint2 b, int2 c);
11148int3 __ovld __cnfn select(int3 a, int3 b, int3 c);
11149uint3 __ovld __cnfn select(uint3 a, uint3 b, int3 c);
11150int4 __ovld __cnfn select(int4 a, int4 b, int4 c);
11151uint4 __ovld __cnfn select(uint4 a, uint4 b, int4 c);
11152int8 __ovld __cnfn select(int8 a, int8 b, int8 c);
11153uint8 __ovld __cnfn select(uint8 a, uint8 b, int8 c);
11154int16 __ovld __cnfn select(int16 a, int16 b, int16 c);
11155uint16 __ovld __cnfn select(uint16 a, uint16 b, int16 c);
11156float __ovld __cnfn select(float a, float b, int c);
11157float2 __ovld __cnfn select(float2 a, float2 b, int2 c);
11158float3 __ovld __cnfn select(float3 a, float3 b, int3 c);
11159float4 __ovld __cnfn select(float4 a, float4 b, int4 c);
11160float8 __ovld __cnfn select(float8 a, float8 b, int8 c);
11161float16 __ovld __cnfn select(float16 a, float16 b, int16 c);
11162
11163long __ovld __cnfn select(long a, long b, long c);
11164ulong __ovld __cnfn select(ulong a, ulong b, long c);
11165long2 __ovld __cnfn select(long2 a, long2 b, long2 c);
11166ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, long2 c);
11167long3 __ovld __cnfn select(long3 a, long3 b, long3 c);
11168ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, long3 c);
11169long4 __ovld __cnfn select(long4 a, long4 b, long4 c);
11170ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, long4 c);
11171long8 __ovld __cnfn select(long8 a, long8 b, long8 c);
11172ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, long8 c);
11173long16 __ovld __cnfn select(long16 a, long16 b, long16 c);
11174ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, long16 c);
11175
11176char __ovld __cnfn select(char a, char b, uchar c);
11177uchar __ovld __cnfn select(uchar a, uchar b, uchar c);
11178char2 __ovld __cnfn select(char2 a, char2 b, uchar2 c);
11179uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, uchar2 c);
11180char3 __ovld __cnfn select(char3 a, char3 b, uchar3 c);
11181uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, uchar3 c);
11182char4 __ovld __cnfn select(char4 a, char4 b, uchar4 c);
11183uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, uchar4 c);
11184char8 __ovld __cnfn select(char8 a, char8 b, uchar8 c);
11185uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, uchar8 c);
11186char16 __ovld __cnfn select(char16 a, char16 b, uchar16 c);
11187uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, uchar16 c);
11188
11189short __ovld __cnfn select(short a, short b, ushort c);
11190ushort __ovld __cnfn select(ushort a, ushort b, ushort c);
11191short2 __ovld __cnfn select(short2 a, short2 b, ushort2 c);
11192ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, ushort2 c);
11193short3 __ovld __cnfn select(short3 a, short3 b, ushort3 c);
11194ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, ushort3 c);
11195short4 __ovld __cnfn select(short4 a, short4 b, ushort4 c);
11196ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, ushort4 c);
11197short8 __ovld __cnfn select(short8 a, short8 b, ushort8 c);
11198ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, ushort8 c);
11199short16 __ovld __cnfn select(short16 a, short16 b, ushort16 c);
11200ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, ushort16 c);
11201
11202int __ovld __cnfn select(int a, int b, uint c);
11203uint __ovld __cnfn select(uint a, uint b, uint c);
11204int2 __ovld __cnfn select(int2 a, int2 b, uint2 c);
11205uint2 __ovld __cnfn select(uint2 a, uint2 b, uint2 c);
11206int3 __ovld __cnfn select(int3 a, int3 b, uint3 c);
11207uint3 __ovld __cnfn select(uint3 a, uint3 b, uint3 c);
11208int4 __ovld __cnfn select(int4 a, int4 b, uint4 c);
11209uint4 __ovld __cnfn select(uint4 a, uint4 b, uint4 c);
11210int8 __ovld __cnfn select(int8 a, int8 b, uint8 c);
11211uint8 __ovld __cnfn select(uint8 a, uint8 b, uint8 c);
11212int16 __ovld __cnfn select(int16 a, int16 b, uint16 c);
11213uint16 __ovld __cnfn select(uint16 a, uint16 b, uint16 c);
11214float __ovld __cnfn select(float a, float b, uint c);
11215float2 __ovld __cnfn select(float2 a, float2 b, uint2 c);
11216float3 __ovld __cnfn select(float3 a, float3 b, uint3 c);
11217float4 __ovld __cnfn select(float4 a, float4 b, uint4 c);
11218float8 __ovld __cnfn select(float8 a, float8 b, uint8 c);
11219float16 __ovld __cnfn select(float16 a, float16 b, uint16 c);
11220
11221long __ovld __cnfn select(long a, long b, ulong c);
11222ulong __ovld __cnfn select(ulong a, ulong b, ulong c);
11223long2 __ovld __cnfn select(long2 a, long2 b, ulong2 c);
11224ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, ulong2 c);
11225long3 __ovld __cnfn select(long3 a, long3 b, ulong3 c);
11226ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, ulong3 c);
11227long4 __ovld __cnfn select(long4 a, long4 b, ulong4 c);
11228ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, ulong4 c);
11229long8 __ovld __cnfn select(long8 a, long8 b, ulong8 c);
11230ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, ulong8 c);
11231long16 __ovld __cnfn select(long16 a, long16 b, ulong16 c);
11232ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, ulong16 c);
11233
11234#ifdef cl_khr_fp64
11235double __ovld __cnfn select(double a, double b, long c);
11236double2 __ovld __cnfn select(double2 a, double2 b, long2 c);
11237double3 __ovld __cnfn select(double3 a, double3 b, long3 c);
11238double4 __ovld __cnfn select(double4 a, double4 b, long4 c);
11239double8 __ovld __cnfn select(double8 a, double8 b, long8 c);
11240double16 __ovld __cnfn select(double16 a, double16 b, long16 c);
11241double __ovld __cnfn select(double a, double b, ulong c);
11242double2 __ovld __cnfn select(double2 a, double2 b, ulong2 c);
11243double3 __ovld __cnfn select(double3 a, double3 b, ulong3 c);
11244double4 __ovld __cnfn select(double4 a, double4 b, ulong4 c);
11245double8 __ovld __cnfn select(double8 a, double8 b, ulong8 c);
11246double16 __ovld __cnfn select(double16 a, double16 b, ulong16 c);
11247#endif //cl_khr_fp64
11248#ifdef cl_khr_fp16
11249half __ovld __cnfn select(half a, half b, short c);
11250half2 __ovld __cnfn select(half2 a, half2 b, short2 c);
11251half3 __ovld __cnfn select(half3 a, half3 b, short3 c);
11252half4 __ovld __cnfn select(half4 a, half4 b, short4 c);
11253half8 __ovld __cnfn select(half8 a, half8 b, short8 c);
11254half16 __ovld __cnfn select(half16 a, half16 b, short16 c);
11255half __ovld __cnfn select(half a, half b, ushort c);
11256half2 __ovld __cnfn select(half2 a, half2 b, ushort2 c);
11257half3 __ovld __cnfn select(half3 a, half3 b, ushort3 c);
11258half4 __ovld __cnfn select(half4 a, half4 b, ushort4 c);
11259half8 __ovld __cnfn select(half8 a, half8 b, ushort8 c);
11260half16 __ovld __cnfn select(half16 a, half16 b, ushort16 c);
11261#endif //cl_khr_fp16
11262
11263// OpenCL v1.1 s6.11.7, v1.2 s6.12.7, v2.0 s6.13.7 - Vector Data Load and Store Functions
11264// OpenCL extensions v1.1 s9.6.6, v1.2 s9.5.6, v2.0 s9.4.6 - Vector Data Load and Store Functions for Half Type
11265/**
11266 * Use generic type gentype to indicate the built-in data types
11267 * char, uchar, short, ushort, int, uint, long, ulong, float,
11268 * double or half.
11269 *
11270 * vloadn return sizeof (gentypen) bytes of data read from address (p + (offset * n)).
11271 *
11272 * vstoren write sizeof (gentypen) bytes given by data to address (p + (offset * n)).
11273 *
11274 * The address computed as (p + (offset * n)) must be
11275 * 8-bit aligned if gentype is char, uchar;
11276 * 16-bit aligned if gentype is short, ushort, half;
11277 * 32-bit aligned if gentype is int, uint, float;
11278 * 64-bit aligned if gentype is long, ulong, double.
11279 */
11280
11281char2 __ovld vload2(size_t offset, const __constant char *p);
11282uchar2 __ovld vload2(size_t offset, const __constant uchar *p);
11283short2 __ovld vload2(size_t offset, const __constant short *p);
11284ushort2 __ovld vload2(size_t offset, const __constant ushort *p);
11285int2 __ovld vload2(size_t offset, const __constant int *p);
11286uint2 __ovld vload2(size_t offset, const __constant uint *p);
11287long2 __ovld vload2(size_t offset, const __constant long *p);
11288ulong2 __ovld vload2(size_t offset, const __constant ulong *p);
11289float2 __ovld vload2(size_t offset, const __constant float *p);
11290char3 __ovld vload3(size_t offset, const __constant char *p);
11291uchar3 __ovld vload3(size_t offset, const __constant uchar *p);
11292short3 __ovld vload3(size_t offset, const __constant short *p);
11293ushort3 __ovld vload3(size_t offset, const __constant ushort *p);
11294int3 __ovld vload3(size_t offset, const __constant int *p);
11295uint3 __ovld vload3(size_t offset, const __constant uint *p);
11296long3 __ovld vload3(size_t offset, const __constant long *p);
11297ulong3 __ovld vload3(size_t offset, const __constant ulong *p);
11298float3 __ovld vload3(size_t offset, const __constant float *p);
11299char4 __ovld vload4(size_t offset, const __constant char *p);
11300uchar4 __ovld vload4(size_t offset, const __constant uchar *p);
11301short4 __ovld vload4(size_t offset, const __constant short *p);
11302ushort4 __ovld vload4(size_t offset, const __constant ushort *p);
11303int4 __ovld vload4(size_t offset, const __constant int *p);
11304uint4 __ovld vload4(size_t offset, const __constant uint *p);
11305long4 __ovld vload4(size_t offset, const __constant long *p);
11306ulong4 __ovld vload4(size_t offset, const __constant ulong *p);
11307float4 __ovld vload4(size_t offset, const __constant float *p);
11308char8 __ovld vload8(size_t offset, const __constant char *p);
11309uchar8 __ovld vload8(size_t offset, const __constant uchar *p);
11310short8 __ovld vload8(size_t offset, const __constant short *p);
11311ushort8 __ovld vload8(size_t offset, const __constant ushort *p);
11312int8 __ovld vload8(size_t offset, const __constant int *p);
11313uint8 __ovld vload8(size_t offset, const __constant uint *p);
11314long8 __ovld vload8(size_t offset, const __constant long *p);
11315ulong8 __ovld vload8(size_t offset, const __constant ulong *p);
11316float8 __ovld vload8(size_t offset, const __constant float *p);
11317char16 __ovld vload16(size_t offset, const __constant char *p);
11318uchar16 __ovld vload16(size_t offset, const __constant uchar *p);
11319short16 __ovld vload16(size_t offset, const __constant short *p);
11320ushort16 __ovld vload16(size_t offset, const __constant ushort *p);
11321int16 __ovld vload16(size_t offset, const __constant int *p);
11322uint16 __ovld vload16(size_t offset, const __constant uint *p);
11323long16 __ovld vload16(size_t offset, const __constant long *p);
11324ulong16 __ovld vload16(size_t offset, const __constant ulong *p);
11325float16 __ovld vload16(size_t offset, const __constant float *p);
11326#ifdef cl_khr_fp64
11327double2 __ovld vload2(size_t offset, const __constant double *p);
11328double3 __ovld vload3(size_t offset, const __constant double *p);
11329double4 __ovld vload4(size_t offset, const __constant double *p);
11330double8 __ovld vload8(size_t offset, const __constant double *p);
11331double16 __ovld vload16(size_t offset, const __constant double *p);
11332#endif //cl_khr_fp64
11333
11334#ifdef cl_khr_fp16
11335half __ovld vload(size_t offset, const __constant half *p);
11336half2 __ovld vload2(size_t offset, const __constant half *p);
11337half3 __ovld vload3(size_t offset, const __constant half *p);
11338half4 __ovld vload4(size_t offset, const __constant half *p);
11339half8 __ovld vload8(size_t offset, const __constant half *p);
11340half16 __ovld vload16(size_t offset, const __constant half *p);
11341#endif //cl_khr_fp16
11342
11343#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11344char2 __ovld vload2(size_t offset, const char *p);
11345uchar2 __ovld vload2(size_t offset, const uchar *p);
11346short2 __ovld vload2(size_t offset, const short *p);
11347ushort2 __ovld vload2(size_t offset, const ushort *p);
11348int2 __ovld vload2(size_t offset, const int *p);
11349uint2 __ovld vload2(size_t offset, const uint *p);
11350long2 __ovld vload2(size_t offset, const long *p);
11351ulong2 __ovld vload2(size_t offset, const ulong *p);
11352float2 __ovld vload2(size_t offset, const float *p);
11353char3 __ovld vload3(size_t offset, const char *p);
11354uchar3 __ovld vload3(size_t offset, const uchar *p);
11355short3 __ovld vload3(size_t offset, const short *p);
11356ushort3 __ovld vload3(size_t offset, const ushort *p);
11357int3 __ovld vload3(size_t offset, const int *p);
11358uint3 __ovld vload3(size_t offset, const uint *p);
11359long3 __ovld vload3(size_t offset, const long *p);
11360ulong3 __ovld vload3(size_t offset, const ulong *p);
11361float3 __ovld vload3(size_t offset, const float *p);
11362char4 __ovld vload4(size_t offset, const char *p);
11363uchar4 __ovld vload4(size_t offset, const uchar *p);
11364short4 __ovld vload4(size_t offset, const short *p);
11365ushort4 __ovld vload4(size_t offset, const ushort *p);
11366int4 __ovld vload4(size_t offset, const int *p);
11367uint4 __ovld vload4(size_t offset, const uint *p);
11368long4 __ovld vload4(size_t offset, const long *p);
11369ulong4 __ovld vload4(size_t offset, const ulong *p);
11370float4 __ovld vload4(size_t offset, const float *p);
11371char8 __ovld vload8(size_t offset, const char *p);
11372uchar8 __ovld vload8(size_t offset, const uchar *p);
11373short8 __ovld vload8(size_t offset, const short *p);
11374ushort8 __ovld vload8(size_t offset, const ushort *p);
11375int8 __ovld vload8(size_t offset, const int *p);
11376uint8 __ovld vload8(size_t offset, const uint *p);
11377long8 __ovld vload8(size_t offset, const long *p);
11378ulong8 __ovld vload8(size_t offset, const ulong *p);
11379float8 __ovld vload8(size_t offset, const float *p);
11380char16 __ovld vload16(size_t offset, const char *p);
11381uchar16 __ovld vload16(size_t offset, const uchar *p);
11382short16 __ovld vload16(size_t offset, const short *p);
11383ushort16 __ovld vload16(size_t offset, const ushort *p);
11384int16 __ovld vload16(size_t offset, const int *p);
11385uint16 __ovld vload16(size_t offset, const uint *p);
11386long16 __ovld vload16(size_t offset, const long *p);
11387ulong16 __ovld vload16(size_t offset, const ulong *p);
11388float16 __ovld vload16(size_t offset, const float *p);
11389
11390#ifdef cl_khr_fp64
11391double2 __ovld vload2(size_t offset, const double *p);
11392double3 __ovld vload3(size_t offset, const double *p);
11393double4 __ovld vload4(size_t offset, const double *p);
11394double8 __ovld vload8(size_t offset, const double *p);
11395double16 __ovld vload16(size_t offset, const double *p);
11396#endif //cl_khr_fp64
11397
11398#ifdef cl_khr_fp16
11399half __ovld vload(size_t offset, const half *p);
11400half2 __ovld vload2(size_t offset, const half *p);
11401half3 __ovld vload3(size_t offset, const half *p);
11402half4 __ovld vload4(size_t offset, const half *p);
11403half8 __ovld vload8(size_t offset, const half *p);
11404half16 __ovld vload16(size_t offset, const half *p);
11405#endif //cl_khr_fp16
11406#else
11407char2 __ovld vload2(size_t offset, const __global char *p);
11408uchar2 __ovld vload2(size_t offset, const __global uchar *p);
11409short2 __ovld vload2(size_t offset, const __global short *p);
11410ushort2 __ovld vload2(size_t offset, const __global ushort *p);
11411int2 __ovld vload2(size_t offset, const __global int *p);
11412uint2 __ovld vload2(size_t offset, const __global uint *p);
11413long2 __ovld vload2(size_t offset, const __global long *p);
11414ulong2 __ovld vload2(size_t offset, const __global ulong *p);
11415float2 __ovld vload2(size_t offset, const __global float *p);
11416char3 __ovld vload3(size_t offset, const __global char *p);
11417uchar3 __ovld vload3(size_t offset, const __global uchar *p);
11418short3 __ovld vload3(size_t offset, const __global short *p);
11419ushort3 __ovld vload3(size_t offset, const __global ushort *p);
11420int3 __ovld vload3(size_t offset, const __global int *p);
11421uint3 __ovld vload3(size_t offset, const __global uint *p);
11422long3 __ovld vload3(size_t offset, const __global long *p);
11423ulong3 __ovld vload3(size_t offset, const __global ulong *p);
11424float3 __ovld vload3(size_t offset, const __global float *p);
11425char4 __ovld vload4(size_t offset, const __global char *p);
11426uchar4 __ovld vload4(size_t offset, const __global uchar *p);
11427short4 __ovld vload4(size_t offset, const __global short *p);
11428ushort4 __ovld vload4(size_t offset, const __global ushort *p);
11429int4 __ovld vload4(size_t offset, const __global int *p);
11430uint4 __ovld vload4(size_t offset, const __global uint *p);
11431long4 __ovld vload4(size_t offset, const __global long *p);
11432ulong4 __ovld vload4(size_t offset, const __global ulong *p);
11433float4 __ovld vload4(size_t offset, const __global float *p);
11434char8 __ovld vload8(size_t offset, const __global char *p);
11435uchar8 __ovld vload8(size_t offset, const __global uchar *p);
11436short8 __ovld vload8(size_t offset, const __global short *p);
11437ushort8 __ovld vload8(size_t offset, const __global ushort *p);
11438int8 __ovld vload8(size_t offset, const __global int *p);
11439uint8 __ovld vload8(size_t offset, const __global uint *p);
11440long8 __ovld vload8(size_t offset, const __global long *p);
11441ulong8 __ovld vload8(size_t offset, const __global ulong *p);
11442float8 __ovld vload8(size_t offset, const __global float *p);
11443char16 __ovld vload16(size_t offset, const __global char *p);
11444uchar16 __ovld vload16(size_t offset, const __global uchar *p);
11445short16 __ovld vload16(size_t offset, const __global short *p);
11446ushort16 __ovld vload16(size_t offset, const __global ushort *p);
11447int16 __ovld vload16(size_t offset, const __global int *p);
11448uint16 __ovld vload16(size_t offset, const __global uint *p);
11449long16 __ovld vload16(size_t offset, const __global long *p);
11450ulong16 __ovld vload16(size_t offset, const __global ulong *p);
11451float16 __ovld vload16(size_t offset, const __global float *p);
11452char2 __ovld vload2(size_t offset, const __local char *p);
11453uchar2 __ovld vload2(size_t offset, const __local uchar *p);
11454short2 __ovld vload2(size_t offset, const __local short *p);
11455ushort2 __ovld vload2(size_t offset, const __local ushort *p);
11456int2 __ovld vload2(size_t offset, const __local int *p);
11457uint2 __ovld vload2(size_t offset, const __local uint *p);
11458long2 __ovld vload2(size_t offset, const __local long *p);
11459ulong2 __ovld vload2(size_t offset, const __local ulong *p);
11460float2 __ovld vload2(size_t offset, const __local float *p);
11461char3 __ovld vload3(size_t offset, const __local char *p);
11462uchar3 __ovld vload3(size_t offset, const __local uchar *p);
11463short3 __ovld vload3(size_t offset, const __local short *p);
11464ushort3 __ovld vload3(size_t offset, const __local ushort *p);
11465int3 __ovld vload3(size_t offset, const __local int *p);
11466uint3 __ovld vload3(size_t offset, const __local uint *p);
11467long3 __ovld vload3(size_t offset, const __local long *p);
11468ulong3 __ovld vload3(size_t offset, const __local ulong *p);
11469float3 __ovld vload3(size_t offset, const __local float *p);
11470char4 __ovld vload4(size_t offset, const __local char *p);
11471uchar4 __ovld vload4(size_t offset, const __local uchar *p);
11472short4 __ovld vload4(size_t offset, const __local short *p);
11473ushort4 __ovld vload4(size_t offset, const __local ushort *p);
11474int4 __ovld vload4(size_t offset, const __local int *p);
11475uint4 __ovld vload4(size_t offset, const __local uint *p);
11476long4 __ovld vload4(size_t offset, const __local long *p);
11477ulong4 __ovld vload4(size_t offset, const __local ulong *p);
11478float4 __ovld vload4(size_t offset, const __local float *p);
11479char8 __ovld vload8(size_t offset, const __local char *p);
11480uchar8 __ovld vload8(size_t offset, const __local uchar *p);
11481short8 __ovld vload8(size_t offset, const __local short *p);
11482ushort8 __ovld vload8(size_t offset, const __local ushort *p);
11483int8 __ovld vload8(size_t offset, const __local int *p);
11484uint8 __ovld vload8(size_t offset, const __local uint *p);
11485long8 __ovld vload8(size_t offset, const __local long *p);
11486ulong8 __ovld vload8(size_t offset, const __local ulong *p);
11487float8 __ovld vload8(size_t offset, const __local float *p);
11488char16 __ovld vload16(size_t offset, const __local char *p);
11489uchar16 __ovld vload16(size_t offset, const __local uchar *p);
11490short16 __ovld vload16(size_t offset, const __local short *p);
11491ushort16 __ovld vload16(size_t offset, const __local ushort *p);
11492int16 __ovld vload16(size_t offset, const __local int *p);
11493uint16 __ovld vload16(size_t offset, const __local uint *p);
11494long16 __ovld vload16(size_t offset, const __local long *p);
11495ulong16 __ovld vload16(size_t offset, const __local ulong *p);
11496float16 __ovld vload16(size_t offset, const __local float *p);
11497char2 __ovld vload2(size_t offset, const __private char *p);
11498uchar2 __ovld vload2(size_t offset, const __private uchar *p);
11499short2 __ovld vload2(size_t offset, const __private short *p);
11500ushort2 __ovld vload2(size_t offset, const __private ushort *p);
11501int2 __ovld vload2(size_t offset, const __private int *p);
11502uint2 __ovld vload2(size_t offset, const __private uint *p);
11503long2 __ovld vload2(size_t offset, const __private long *p);
11504ulong2 __ovld vload2(size_t offset, const __private ulong *p);
11505float2 __ovld vload2(size_t offset, const __private float *p);
11506char3 __ovld vload3(size_t offset, const __private char *p);
11507uchar3 __ovld vload3(size_t offset, const __private uchar *p);
11508short3 __ovld vload3(size_t offset, const __private short *p);
11509ushort3 __ovld vload3(size_t offset, const __private ushort *p);
11510int3 __ovld vload3(size_t offset, const __private int *p);
11511uint3 __ovld vload3(size_t offset, const __private uint *p);
11512long3 __ovld vload3(size_t offset, const __private long *p);
11513ulong3 __ovld vload3(size_t offset, const __private ulong *p);
11514float3 __ovld vload3(size_t offset, const __private float *p);
11515char4 __ovld vload4(size_t offset, const __private char *p);
11516uchar4 __ovld vload4(size_t offset, const __private uchar *p);
11517short4 __ovld vload4(size_t offset, const __private short *p);
11518ushort4 __ovld vload4(size_t offset, const __private ushort *p);
11519int4 __ovld vload4(size_t offset, const __private int *p);
11520uint4 __ovld vload4(size_t offset, const __private uint *p);
11521long4 __ovld vload4(size_t offset, const __private long *p);
11522ulong4 __ovld vload4(size_t offset, const __private ulong *p);
11523float4 __ovld vload4(size_t offset, const __private float *p);
11524char8 __ovld vload8(size_t offset, const __private char *p);
11525uchar8 __ovld vload8(size_t offset, const __private uchar *p);
11526short8 __ovld vload8(size_t offset, const __private short *p);
11527ushort8 __ovld vload8(size_t offset, const __private ushort *p);
11528int8 __ovld vload8(size_t offset, const __private int *p);
11529uint8 __ovld vload8(size_t offset, const __private uint *p);
11530long8 __ovld vload8(size_t offset, const __private long *p);
11531ulong8 __ovld vload8(size_t offset, const __private ulong *p);
11532float8 __ovld vload8(size_t offset, const __private float *p);
11533char16 __ovld vload16(size_t offset, const __private char *p);
11534uchar16 __ovld vload16(size_t offset, const __private uchar *p);
11535short16 __ovld vload16(size_t offset, const __private short *p);
11536ushort16 __ovld vload16(size_t offset, const __private ushort *p);
11537int16 __ovld vload16(size_t offset, const __private int *p);
11538uint16 __ovld vload16(size_t offset, const __private uint *p);
11539long16 __ovld vload16(size_t offset, const __private long *p);
11540ulong16 __ovld vload16(size_t offset, const __private ulong *p);
11541float16 __ovld vload16(size_t offset, const __private float *p);
11542
11543#ifdef cl_khr_fp64
11544double2 __ovld vload2(size_t offset, const __global double *p);
11545double3 __ovld vload3(size_t offset, const __global double *p);
11546double4 __ovld vload4(size_t offset, const __global double *p);
11547double8 __ovld vload8(size_t offset, const __global double *p);
11548double16 __ovld vload16(size_t offset, const __global double *p);
11549double2 __ovld vload2(size_t offset, const __local double *p);
11550double3 __ovld vload3(size_t offset, const __local double *p);
11551double4 __ovld vload4(size_t offset, const __local double *p);
11552double8 __ovld vload8(size_t offset, const __local double *p);
11553double16 __ovld vload16(size_t offset, const __local double *p);
11554double2 __ovld vload2(size_t offset, const __private double *p);
11555double3 __ovld vload3(size_t offset, const __private double *p);
11556double4 __ovld vload4(size_t offset, const __private double *p);
11557double8 __ovld vload8(size_t offset, const __private double *p);
11558double16 __ovld vload16(size_t offset, const __private double *p);
11559#endif //cl_khr_fp64
11560
11561#ifdef cl_khr_fp16
11562half __ovld vload(size_t offset, const __global half *p);
11563half2 __ovld vload2(size_t offset, const __global half *p);
11564half3 __ovld vload3(size_t offset, const __global half *p);
11565half4 __ovld vload4(size_t offset, const __global half *p);
11566half8 __ovld vload8(size_t offset, const __global half *p);
11567half16 __ovld vload16(size_t offset, const __global half *p);
11568half __ovld vload(size_t offset, const __local half *p);
11569half2 __ovld vload2(size_t offset, const __local half *p);
11570half3 __ovld vload3(size_t offset, const __local half *p);
11571half4 __ovld vload4(size_t offset, const __local half *p);
11572half8 __ovld vload8(size_t offset, const __local half *p);
11573half16 __ovld vload16(size_t offset, const __local half *p);
11574half __ovld vload(size_t offset, const __private half *p);
11575half2 __ovld vload2(size_t offset, const __private half *p);
11576half3 __ovld vload3(size_t offset, const __private half *p);
11577half4 __ovld vload4(size_t offset, const __private half *p);
11578half8 __ovld vload8(size_t offset, const __private half *p);
11579half16 __ovld vload16(size_t offset, const __private half *p);
11580#endif //cl_khr_fp16
11581#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11582
11583#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11584void __ovld vstore2(char2 data, size_t offset, char *p);
11585void __ovld vstore2(uchar2 data, size_t offset, uchar *p);
11586void __ovld vstore2(short2 data, size_t offset, short *p);
11587void __ovld vstore2(ushort2 data, size_t offset, ushort *p);
11588void __ovld vstore2(int2 data, size_t offset, int *p);
11589void __ovld vstore2(uint2 data, size_t offset, uint *p);
11590void __ovld vstore2(long2 data, size_t offset, long *p);
11591void __ovld vstore2(ulong2 data, size_t offset, ulong *p);
11592void __ovld vstore2(float2 data, size_t offset, float *p);
11593void __ovld vstore3(char3 data, size_t offset, char *p);
11594void __ovld vstore3(uchar3 data, size_t offset, uchar *p);
11595void __ovld vstore3(short3 data, size_t offset, short *p);
11596void __ovld vstore3(ushort3 data, size_t offset, ushort *p);
11597void __ovld vstore3(int3 data, size_t offset, int *p);
11598void __ovld vstore3(uint3 data, size_t offset, uint *p);
11599void __ovld vstore3(long3 data, size_t offset, long *p);
11600void __ovld vstore3(ulong3 data, size_t offset, ulong *p);
11601void __ovld vstore3(float3 data, size_t offset, float *p);
11602void __ovld vstore4(char4 data, size_t offset, char *p);
11603void __ovld vstore4(uchar4 data, size_t offset, uchar *p);
11604void __ovld vstore4(short4 data, size_t offset, short *p);
11605void __ovld vstore4(ushort4 data, size_t offset, ushort *p);
11606void __ovld vstore4(int4 data, size_t offset, int *p);
11607void __ovld vstore4(uint4 data, size_t offset, uint *p);
11608void __ovld vstore4(long4 data, size_t offset, long *p);
11609void __ovld vstore4(ulong4 data, size_t offset, ulong *p);
11610void __ovld vstore4(float4 data, size_t offset, float *p);
11611void __ovld vstore8(char8 data, size_t offset, char *p);
11612void __ovld vstore8(uchar8 data, size_t offset, uchar *p);
11613void __ovld vstore8(short8 data, size_t offset, short *p);
11614void __ovld vstore8(ushort8 data, size_t offset, ushort *p);
11615void __ovld vstore8(int8 data, size_t offset, int *p);
11616void __ovld vstore8(uint8 data, size_t offset, uint *p);
11617void __ovld vstore8(long8 data, size_t offset, long *p);
11618void __ovld vstore8(ulong8 data, size_t offset, ulong *p);
11619void __ovld vstore8(float8 data, size_t offset, float *p);
11620void __ovld vstore16(char16 data, size_t offset, char *p);
11621void __ovld vstore16(uchar16 data, size_t offset, uchar *p);
11622void __ovld vstore16(short16 data, size_t offset, short *p);
11623void __ovld vstore16(ushort16 data, size_t offset, ushort *p);
11624void __ovld vstore16(int16 data, size_t offset, int *p);
11625void __ovld vstore16(uint16 data, size_t offset, uint *p);
11626void __ovld vstore16(long16 data, size_t offset, long *p);
11627void __ovld vstore16(ulong16 data, size_t offset, ulong *p);
11628void __ovld vstore16(float16 data, size_t offset, float *p);
11629#ifdef cl_khr_fp64
11630void __ovld vstore2(double2 data, size_t offset, double *p);
11631void __ovld vstore3(double3 data, size_t offset, double *p);
11632void __ovld vstore4(double4 data, size_t offset, double *p);
11633void __ovld vstore8(double8 data, size_t offset, double *p);
11634void __ovld vstore16(double16 data, size_t offset, double *p);
11635#endif //cl_khr_fp64
11636#ifdef cl_khr_fp16
11637void __ovld vstore(half data, size_t offset, half *p);
11638void __ovld vstore2(half2 data, size_t offset, half *p);
11639void __ovld vstore3(half3 data, size_t offset, half *p);
11640void __ovld vstore4(half4 data, size_t offset, half *p);
11641void __ovld vstore8(half8 data, size_t offset, half *p);
11642void __ovld vstore16(half16 data, size_t offset, half *p);
11643#endif //cl_khr_fp16
11644#else
11645void __ovld vstore2(char2 data, size_t offset, __global char *p);
11646void __ovld vstore2(uchar2 data, size_t offset, __global uchar *p);
11647void __ovld vstore2(short2 data, size_t offset, __global short *p);
11648void __ovld vstore2(ushort2 data, size_t offset, __global ushort *p);
11649void __ovld vstore2(int2 data, size_t offset, __global int *p);
11650void __ovld vstore2(uint2 data, size_t offset, __global uint *p);
11651void __ovld vstore2(long2 data, size_t offset, __global long *p);
11652void __ovld vstore2(ulong2 data, size_t offset, __global ulong *p);
11653void __ovld vstore2(float2 data, size_t offset, __global float *p);
11654void __ovld vstore3(char3 data, size_t offset, __global char *p);
11655void __ovld vstore3(uchar3 data, size_t offset, __global uchar *p);
11656void __ovld vstore3(short3 data, size_t offset, __global short *p);
11657void __ovld vstore3(ushort3 data, size_t offset, __global ushort *p);
11658void __ovld vstore3(int3 data, size_t offset, __global int *p);
11659void __ovld vstore3(uint3 data, size_t offset, __global uint *p);
11660void __ovld vstore3(long3 data, size_t offset, __global long *p);
11661void __ovld vstore3(ulong3 data, size_t offset, __global ulong *p);
11662void __ovld vstore3(float3 data, size_t offset, __global float *p);
11663void __ovld vstore4(char4 data, size_t offset, __global char *p);
11664void __ovld vstore4(uchar4 data, size_t offset, __global uchar *p);
11665void __ovld vstore4(short4 data, size_t offset, __global short *p);
11666void __ovld vstore4(ushort4 data, size_t offset, __global ushort *p);
11667void __ovld vstore4(int4 data, size_t offset, __global int *p);
11668void __ovld vstore4(uint4 data, size_t offset, __global uint *p);
11669void __ovld vstore4(long4 data, size_t offset, __global long *p);
11670void __ovld vstore4(ulong4 data, size_t offset, __global ulong *p);
11671void __ovld vstore4(float4 data, size_t offset, __global float *p);
11672void __ovld vstore8(char8 data, size_t offset, __global char *p);
11673void __ovld vstore8(uchar8 data, size_t offset, __global uchar *p);
11674void __ovld vstore8(short8 data, size_t offset, __global short *p);
11675void __ovld vstore8(ushort8 data, size_t offset, __global ushort *p);
11676void __ovld vstore8(int8 data, size_t offset, __global int *p);
11677void __ovld vstore8(uint8 data, size_t offset, __global uint *p);
11678void __ovld vstore8(long8 data, size_t offset, __global long *p);
11679void __ovld vstore8(ulong8 data, size_t offset, __global ulong *p);
11680void __ovld vstore8(float8 data, size_t offset, __global float *p);
11681void __ovld vstore16(char16 data, size_t offset, __global char *p);
11682void __ovld vstore16(uchar16 data, size_t offset, __global uchar *p);
11683void __ovld vstore16(short16 data, size_t offset, __global short *p);
11684void __ovld vstore16(ushort16 data, size_t offset, __global ushort *p);
11685void __ovld vstore16(int16 data, size_t offset, __global int *p);
11686void __ovld vstore16(uint16 data, size_t offset, __global uint *p);
11687void __ovld vstore16(long16 data, size_t offset, __global long *p);
11688void __ovld vstore16(ulong16 data, size_t offset, __global ulong *p);
11689void __ovld vstore16(float16 data, size_t offset, __global float *p);
11690void __ovld vstore2(char2 data, size_t offset, __local char *p);
11691void __ovld vstore2(uchar2 data, size_t offset, __local uchar *p);
11692void __ovld vstore2(short2 data, size_t offset, __local short *p);
11693void __ovld vstore2(ushort2 data, size_t offset, __local ushort *p);
11694void __ovld vstore2(int2 data, size_t offset, __local int *p);
11695void __ovld vstore2(uint2 data, size_t offset, __local uint *p);
11696void __ovld vstore2(long2 data, size_t offset, __local long *p);
11697void __ovld vstore2(ulong2 data, size_t offset, __local ulong *p);
11698void __ovld vstore2(float2 data, size_t offset, __local float *p);
11699void __ovld vstore3(char3 data, size_t offset, __local char *p);
11700void __ovld vstore3(uchar3 data, size_t offset, __local uchar *p);
11701void __ovld vstore3(short3 data, size_t offset, __local short *p);
11702void __ovld vstore3(ushort3 data, size_t offset, __local ushort *p);
11703void __ovld vstore3(int3 data, size_t offset, __local int *p);
11704void __ovld vstore3(uint3 data, size_t offset, __local uint *p);
11705void __ovld vstore3(long3 data, size_t offset, __local long *p);
11706void __ovld vstore3(ulong3 data, size_t offset, __local ulong *p);
11707void __ovld vstore3(float3 data, size_t offset, __local float *p);
11708void __ovld vstore4(char4 data, size_t offset, __local char *p);
11709void __ovld vstore4(uchar4 data, size_t offset, __local uchar *p);
11710void __ovld vstore4(short4 data, size_t offset, __local short *p);
11711void __ovld vstore4(ushort4 data, size_t offset, __local ushort *p);
11712void __ovld vstore4(int4 data, size_t offset, __local int *p);
11713void __ovld vstore4(uint4 data, size_t offset, __local uint *p);
11714void __ovld vstore4(long4 data, size_t offset, __local long *p);
11715void __ovld vstore4(ulong4 data, size_t offset, __local ulong *p);
11716void __ovld vstore4(float4 data, size_t offset, __local float *p);
11717void __ovld vstore8(char8 data, size_t offset, __local char *p);
11718void __ovld vstore8(uchar8 data, size_t offset, __local uchar *p);
11719void __ovld vstore8(short8 data, size_t offset, __local short *p);
11720void __ovld vstore8(ushort8 data, size_t offset, __local ushort *p);
11721void __ovld vstore8(int8 data, size_t offset, __local int *p);
11722void __ovld vstore8(uint8 data, size_t offset, __local uint *p);
11723void __ovld vstore8(long8 data, size_t offset, __local long *p);
11724void __ovld vstore8(ulong8 data, size_t offset, __local ulong *p);
11725void __ovld vstore8(float8 data, size_t offset, __local float *p);
11726void __ovld vstore16(char16 data, size_t offset, __local char *p);
11727void __ovld vstore16(uchar16 data, size_t offset, __local uchar *p);
11728void __ovld vstore16(short16 data, size_t offset, __local short *p);
11729void __ovld vstore16(ushort16 data, size_t offset, __local ushort *p);
11730void __ovld vstore16(int16 data, size_t offset, __local int *p);
11731void __ovld vstore16(uint16 data, size_t offset, __local uint *p);
11732void __ovld vstore16(long16 data, size_t offset, __local long *p);
11733void __ovld vstore16(ulong16 data, size_t offset, __local ulong *p);
11734void __ovld vstore16(float16 data, size_t offset, __local float *p);
11735void __ovld vstore2(char2 data, size_t offset, __private char *p);
11736void __ovld vstore2(uchar2 data, size_t offset, __private uchar *p);
11737void __ovld vstore2(short2 data, size_t offset, __private short *p);
11738void __ovld vstore2(ushort2 data, size_t offset, __private ushort *p);
11739void __ovld vstore2(int2 data, size_t offset, __private int *p);
11740void __ovld vstore2(uint2 data, size_t offset, __private uint *p);
11741void __ovld vstore2(long2 data, size_t offset, __private long *p);
11742void __ovld vstore2(ulong2 data, size_t offset, __private ulong *p);
11743void __ovld vstore2(float2 data, size_t offset, __private float *p);
11744void __ovld vstore3(char3 data, size_t offset, __private char *p);
11745void __ovld vstore3(uchar3 data, size_t offset, __private uchar *p);
11746void __ovld vstore3(short3 data, size_t offset, __private short *p);
11747void __ovld vstore3(ushort3 data, size_t offset, __private ushort *p);
11748void __ovld vstore3(int3 data, size_t offset, __private int *p);
11749void __ovld vstore3(uint3 data, size_t offset, __private uint *p);
11750void __ovld vstore3(long3 data, size_t offset, __private long *p);
11751void __ovld vstore3(ulong3 data, size_t offset, __private ulong *p);
11752void __ovld vstore3(float3 data, size_t offset, __private float *p);
11753void __ovld vstore4(char4 data, size_t offset, __private char *p);
11754void __ovld vstore4(uchar4 data, size_t offset, __private uchar *p);
11755void __ovld vstore4(short4 data, size_t offset, __private short *p);
11756void __ovld vstore4(ushort4 data, size_t offset, __private ushort *p);
11757void __ovld vstore4(int4 data, size_t offset, __private int *p);
11758void __ovld vstore4(uint4 data, size_t offset, __private uint *p);
11759void __ovld vstore4(long4 data, size_t offset, __private long *p);
11760void __ovld vstore4(ulong4 data, size_t offset, __private ulong *p);
11761void __ovld vstore4(float4 data, size_t offset, __private float *p);
11762void __ovld vstore8(char8 data, size_t offset, __private char *p);
11763void __ovld vstore8(uchar8 data, size_t offset, __private uchar *p);
11764void __ovld vstore8(short8 data, size_t offset, __private short *p);
11765void __ovld vstore8(ushort8 data, size_t offset, __private ushort *p);
11766void __ovld vstore8(int8 data, size_t offset, __private int *p);
11767void __ovld vstore8(uint8 data, size_t offset, __private uint *p);
11768void __ovld vstore8(long8 data, size_t offset, __private long *p);
11769void __ovld vstore8(ulong8 data, size_t offset, __private ulong *p);
11770void __ovld vstore8(float8 data, size_t offset, __private float *p);
11771void __ovld vstore16(char16 data, size_t offset, __private char *p);
11772void __ovld vstore16(uchar16 data, size_t offset, __private uchar *p);
11773void __ovld vstore16(short16 data, size_t offset, __private short *p);
11774void __ovld vstore16(ushort16 data, size_t offset, __private ushort *p);
11775void __ovld vstore16(int16 data, size_t offset, __private int *p);
11776void __ovld vstore16(uint16 data, size_t offset, __private uint *p);
11777void __ovld vstore16(long16 data, size_t offset, __private long *p);
11778void __ovld vstore16(ulong16 data, size_t offset, __private ulong *p);
11779void __ovld vstore16(float16 data, size_t offset, __private float *p);
11780#ifdef cl_khr_fp64
11781void __ovld vstore2(double2 data, size_t offset, __global double *p);
11782void __ovld vstore3(double3 data, size_t offset, __global double *p);
11783void __ovld vstore4(double4 data, size_t offset, __global double *p);
11784void __ovld vstore8(double8 data, size_t offset, __global double *p);
11785void __ovld vstore16(double16 data, size_t offset, __global double *p);
11786void __ovld vstore2(double2 data, size_t offset, __local double *p);
11787void __ovld vstore3(double3 data, size_t offset, __local double *p);
11788void __ovld vstore4(double4 data, size_t offset, __local double *p);
11789void __ovld vstore8(double8 data, size_t offset, __local double *p);
11790void __ovld vstore16(double16 data, size_t offset, __local double *p);
11791void __ovld vstore2(double2 data, size_t offset, __private double *p);
11792void __ovld vstore3(double3 data, size_t offset, __private double *p);
11793void __ovld vstore4(double4 data, size_t offset, __private double *p);
11794void __ovld vstore8(double8 data, size_t offset, __private double *p);
11795void __ovld vstore16(double16 data, size_t offset, __private double *p);
11796#endif //cl_khr_fp64
11797#ifdef cl_khr_fp16
11798void __ovld vstore(half data, size_t offset, __global half *p);
11799void __ovld vstore2(half2 data, size_t offset, __global half *p);
11800void __ovld vstore3(half3 data, size_t offset, __global half *p);
11801void __ovld vstore4(half4 data, size_t offset, __global half *p);
11802void __ovld vstore8(half8 data, size_t offset, __global half *p);
11803void __ovld vstore16(half16 data, size_t offset, __global half *p);
11804void __ovld vstore(half data, size_t offset, __local half *p);
11805void __ovld vstore2(half2 data, size_t offset, __local half *p);
11806void __ovld vstore3(half3 data, size_t offset, __local half *p);
11807void __ovld vstore4(half4 data, size_t offset, __local half *p);
11808void __ovld vstore8(half8 data, size_t offset, __local half *p);
11809void __ovld vstore16(half16 data, size_t offset, __local half *p);
11810void __ovld vstore(half data, size_t offset, __private half *p);
11811void __ovld vstore2(half2 data, size_t offset, __private half *p);
11812void __ovld vstore3(half3 data, size_t offset, __private half *p);
11813void __ovld vstore4(half4 data, size_t offset, __private half *p);
11814void __ovld vstore8(half8 data, size_t offset, __private half *p);
11815void __ovld vstore16(half16 data, size_t offset, __private half *p);
11816#endif //cl_khr_fp16
11817#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11818
11819/**
11820 * Read sizeof (half) bytes of data from address
11821 * (p + offset). The data read is interpreted as a
11822 * half value. The half value is converted to a
11823 * float value and the float value is returned.
11824 * The read address computed as (p + offset)
11825 * must be 16-bit aligned.
11826 */
11827float __ovld vload_half(size_t offset, const __constant half *p);
11828#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11829float __ovld vload_half(size_t offset, const half *p);
11830#else
11831float __ovld vload_half(size_t offset, const __global half *p);
11832float __ovld vload_half(size_t offset, const __local half *p);
11833float __ovld vload_half(size_t offset, const __private half *p);
11834#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11835
11836/**
11837 * Read sizeof (halfn) bytes of data from address
11838 * (p + (offset * n)). The data read is interpreted
11839 * as a halfn value. The halfn value read is
11840 * converted to a floatn value and the floatn
11841 * value is returned. The read address computed
11842 * as (p + (offset * n)) must be 16-bit aligned.
11843 */
11844float2 __ovld vload_half2(size_t offset, const __constant half *p);
11845float3 __ovld vload_half3(size_t offset, const __constant half *p);
11846float4 __ovld vload_half4(size_t offset, const __constant half *p);
11847float8 __ovld vload_half8(size_t offset, const __constant half *p);
11848float16 __ovld vload_half16(size_t offset, const __constant half *p);
11849#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11850float2 __ovld vload_half2(size_t offset, const half *p);
11851float3 __ovld vload_half3(size_t offset, const half *p);
11852float4 __ovld vload_half4(size_t offset, const half *p);
11853float8 __ovld vload_half8(size_t offset, const half *p);
11854float16 __ovld vload_half16(size_t offset, const half *p);
11855#else
11856float2 __ovld vload_half2(size_t offset, const __global half *p);
11857float3 __ovld vload_half3(size_t offset, const __global half *p);
11858float4 __ovld vload_half4(size_t offset, const __global half *p);
11859float8 __ovld vload_half8(size_t offset, const __global half *p);
11860float16 __ovld vload_half16(size_t offset, const __global half *p);
11861float2 __ovld vload_half2(size_t offset, const __local half *p);
11862float3 __ovld vload_half3(size_t offset, const __local half *p);
11863float4 __ovld vload_half4(size_t offset, const __local half *p);
11864float8 __ovld vload_half8(size_t offset, const __local half *p);
11865float16 __ovld vload_half16(size_t offset, const __local half *p);
11866float2 __ovld vload_half2(size_t offset, const __private half *p);
11867float3 __ovld vload_half3(size_t offset, const __private half *p);
11868float4 __ovld vload_half4(size_t offset, const __private half *p);
11869float8 __ovld vload_half8(size_t offset, const __private half *p);
11870float16 __ovld vload_half16(size_t offset, const __private half *p);
11871#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11872
11873/**
11874 * The float value given by data is first
11875 * converted to a half value using the appropriate
11876 * rounding mode. The half value is then written
11877 * to address computed as (p + offset). The
11878 * address computed as (p + offset) must be 16-
11879 * bit aligned.
11880 * vstore_half use the current rounding mode.
11881 * The default current rounding mode is round to
11882 * nearest even.
11883 */
11884#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11885void __ovld vstore_half(float data, size_t offset, half *p);
11886void __ovld vstore_half_rte(float data, size_t offset, half *p);
11887void __ovld vstore_half_rtz(float data, size_t offset, half *p);
11888void __ovld vstore_half_rtp(float data, size_t offset, half *p);
11889void __ovld vstore_half_rtn(float data, size_t offset, half *p);
11890#ifdef cl_khr_fp64
11891void __ovld vstore_half(double data, size_t offset, half *p);
11892void __ovld vstore_half_rte(double data, size_t offset, half *p);
11893void __ovld vstore_half_rtz(double data, size_t offset, half *p);
11894void __ovld vstore_half_rtp(double data, size_t offset, half *p);
11895void __ovld vstore_half_rtn(double data, size_t offset, half *p);
11896#endif //cl_khr_fp64
11897#else
11898void __ovld vstore_half(float data, size_t offset, __global half *p);
11899void __ovld vstore_half_rte(float data, size_t offset, __global half *p);
11900void __ovld vstore_half_rtz(float data, size_t offset, __global half *p);
11901void __ovld vstore_half_rtp(float data, size_t offset, __global half *p);
11902void __ovld vstore_half_rtn(float data, size_t offset, __global half *p);
11903void __ovld vstore_half(float data, size_t offset, __local half *p);
11904void __ovld vstore_half_rte(float data, size_t offset, __local half *p);
11905void __ovld vstore_half_rtz(float data, size_t offset, __local half *p);
11906void __ovld vstore_half_rtp(float data, size_t offset, __local half *p);
11907void __ovld vstore_half_rtn(float data, size_t offset, __local half *p);
11908void __ovld vstore_half(float data, size_t offset, __private half *p);
11909void __ovld vstore_half_rte(float data, size_t offset, __private half *p);
11910void __ovld vstore_half_rtz(float data, size_t offset, __private half *p);
11911void __ovld vstore_half_rtp(float data, size_t offset, __private half *p);
11912void __ovld vstore_half_rtn(float data, size_t offset, __private half *p);
11913#ifdef cl_khr_fp64
11914void __ovld vstore_half(double data, size_t offset, __global half *p);
11915void __ovld vstore_half_rte(double data, size_t offset, __global half *p);
11916void __ovld vstore_half_rtz(double data, size_t offset, __global half *p);
11917void __ovld vstore_half_rtp(double data, size_t offset, __global half *p);
11918void __ovld vstore_half_rtn(double data, size_t offset, __global half *p);
11919void __ovld vstore_half(double data, size_t offset, __local half *p);
11920void __ovld vstore_half_rte(double data, size_t offset, __local half *p);
11921void __ovld vstore_half_rtz(double data, size_t offset, __local half *p);
11922void __ovld vstore_half_rtp(double data, size_t offset, __local half *p);
11923void __ovld vstore_half_rtn(double data, size_t offset, __local half *p);
11924void __ovld vstore_half(double data, size_t offset, __private half *p);
11925void __ovld vstore_half_rte(double data, size_t offset, __private half *p);
11926void __ovld vstore_half_rtz(double data, size_t offset, __private half *p);
11927void __ovld vstore_half_rtp(double data, size_t offset, __private half *p);
11928void __ovld vstore_half_rtn(double data, size_t offset, __private half *p);
11929#endif //cl_khr_fp64
11930#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11931
11932/**
11933 * The floatn value given by data is converted to
11934 * a halfn value using the appropriate rounding
11935 * mode. The halfn value is then written to
11936 * address computed as (p + (offset * n)). The
11937 * address computed as (p + (offset * n)) must be
11938 * 16-bit aligned.
11939 * vstore_halfn uses the current rounding mode.
11940 * The default current rounding mode is round to
11941 * nearest even.
11942 */
11943#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11944void __ovld vstore_half2(float2 data, size_t offset, half *p);
11945void __ovld vstore_half3(float3 data, size_t offset, half *p);
11946void __ovld vstore_half4(float4 data, size_t offset, half *p);
11947void __ovld vstore_half8(float8 data, size_t offset, half *p);
11948void __ovld vstore_half16(float16 data, size_t offset, half *p);
11949void __ovld vstore_half2_rte(float2 data, size_t offset, half *p);
11950void __ovld vstore_half3_rte(float3 data, size_t offset, half *p);
11951void __ovld vstore_half4_rte(float4 data, size_t offset, half *p);
11952void __ovld vstore_half8_rte(float8 data, size_t offset, half *p);
11953void __ovld vstore_half16_rte(float16 data, size_t offset, half *p);
11954void __ovld vstore_half2_rtz(float2 data, size_t offset, half *p);
11955void __ovld vstore_half3_rtz(float3 data, size_t offset, half *p);
11956void __ovld vstore_half4_rtz(float4 data, size_t offset, half *p);
11957void __ovld vstore_half8_rtz(float8 data, size_t offset, half *p);
11958void __ovld vstore_half16_rtz(float16 data, size_t offset, half *p);
11959void __ovld vstore_half2_rtp(float2 data, size_t offset, half *p);
11960void __ovld vstore_half3_rtp(float3 data, size_t offset, half *p);
11961void __ovld vstore_half4_rtp(float4 data, size_t offset, half *p);
11962void __ovld vstore_half8_rtp(float8 data, size_t offset, half *p);
11963void __ovld vstore_half16_rtp(float16 data, size_t offset, half *p);
11964void __ovld vstore_half2_rtn(float2 data, size_t offset, half *p);
11965void __ovld vstore_half3_rtn(float3 data, size_t offset, half *p);
11966void __ovld vstore_half4_rtn(float4 data, size_t offset, half *p);
11967void __ovld vstore_half8_rtn(float8 data, size_t offset, half *p);
11968void __ovld vstore_half16_rtn(float16 data, size_t offset, half *p);
11969#ifdef cl_khr_fp64
11970void __ovld vstore_half2(double2 data, size_t offset, half *p);
11971void __ovld vstore_half3(double3 data, size_t offset, half *p);
11972void __ovld vstore_half4(double4 data, size_t offset, half *p);
11973void __ovld vstore_half8(double8 data, size_t offset, half *p);
11974void __ovld vstore_half16(double16 data, size_t offset, half *p);
11975void __ovld vstore_half2_rte(double2 data, size_t offset, half *p);
11976void __ovld vstore_half3_rte(double3 data, size_t offset, half *p);
11977void __ovld vstore_half4_rte(double4 data, size_t offset, half *p);
11978void __ovld vstore_half8_rte(double8 data, size_t offset, half *p);
11979void __ovld vstore_half16_rte(double16 data, size_t offset, half *p);
11980void __ovld vstore_half2_rtz(double2 data, size_t offset, half *p);
11981void __ovld vstore_half3_rtz(double3 data, size_t offset, half *p);
11982void __ovld vstore_half4_rtz(double4 data, size_t offset, half *p);
11983void __ovld vstore_half8_rtz(double8 data, size_t offset, half *p);
11984void __ovld vstore_half16_rtz(double16 data, size_t offset, half *p);
11985void __ovld vstore_half2_rtp(double2 data, size_t offset, half *p);
11986void __ovld vstore_half3_rtp(double3 data, size_t offset, half *p);
11987void __ovld vstore_half4_rtp(double4 data, size_t offset, half *p);
11988void __ovld vstore_half8_rtp(double8 data, size_t offset, half *p);
11989void __ovld vstore_half16_rtp(double16 data, size_t offset, half *p);
11990void __ovld vstore_half2_rtn(double2 data, size_t offset, half *p);
11991void __ovld vstore_half3_rtn(double3 data, size_t offset, half *p);
11992void __ovld vstore_half4_rtn(double4 data, size_t offset, half *p);
11993void __ovld vstore_half8_rtn(double8 data, size_t offset, half *p);
11994void __ovld vstore_half16_rtn(double16 data, size_t offset, half *p);
11995#endif //cl_khr_fp64
11996#else
11997void __ovld vstore_half2(float2 data, size_t offset, __global half *p);
11998void __ovld vstore_half3(float3 data, size_t offset, __global half *p);
11999void __ovld vstore_half4(float4 data, size_t offset, __global half *p);
12000void __ovld vstore_half8(float8 data, size_t offset, __global half *p);
12001void __ovld vstore_half16(float16 data, size_t offset, __global half *p);
12002void __ovld vstore_half2_rte(float2 data, size_t offset, __global half *p);
12003void __ovld vstore_half3_rte(float3 data, size_t offset, __global half *p);
12004void __ovld vstore_half4_rte(float4 data, size_t offset, __global half *p);
12005void __ovld vstore_half8_rte(float8 data, size_t offset, __global half *p);
12006void __ovld vstore_half16_rte(float16 data, size_t offset, __global half *p);
12007void __ovld vstore_half2_rtz(float2 data, size_t offset, __global half *p);
12008void __ovld vstore_half3_rtz(float3 data, size_t offset, __global half *p);
12009void __ovld vstore_half4_rtz(float4 data, size_t offset, __global half *p);
12010void __ovld vstore_half8_rtz(float8 data, size_t offset, __global half *p);
12011void __ovld vstore_half16_rtz(float16 data, size_t offset, __global half *p);
12012void __ovld vstore_half2_rtp(float2 data, size_t offset, __global half *p);
12013void __ovld vstore_half3_rtp(float3 data, size_t offset, __global half *p);
12014void __ovld vstore_half4_rtp(float4 data, size_t offset, __global half *p);
12015void __ovld vstore_half8_rtp(float8 data, size_t offset, __global half *p);
12016void __ovld vstore_half16_rtp(float16 data, size_t offset, __global half *p);
12017void __ovld vstore_half2_rtn(float2 data, size_t offset, __global half *p);
12018void __ovld vstore_half3_rtn(float3 data, size_t offset, __global half *p);
12019void __ovld vstore_half4_rtn(float4 data, size_t offset, __global half *p);
12020void __ovld vstore_half8_rtn(float8 data, size_t offset, __global half *p);
12021void __ovld vstore_half16_rtn(float16 data, size_t offset, __global half *p);
12022void __ovld vstore_half2(float2 data, size_t offset, __local half *p);
12023void __ovld vstore_half3(float3 data, size_t offset, __local half *p);
12024void __ovld vstore_half4(float4 data, size_t offset, __local half *p);
12025void __ovld vstore_half8(float8 data, size_t offset, __local half *p);
12026void __ovld vstore_half16(float16 data, size_t offset, __local half *p);
12027void __ovld vstore_half2_rte(float2 data, size_t offset, __local half *p);
12028void __ovld vstore_half3_rte(float3 data, size_t offset, __local half *p);
12029void __ovld vstore_half4_rte(float4 data, size_t offset, __local half *p);
12030void __ovld vstore_half8_rte(float8 data, size_t offset, __local half *p);
12031void __ovld vstore_half16_rte(float16 data, size_t offset, __local half *p);
12032void __ovld vstore_half2_rtz(float2 data, size_t offset, __local half *p);
12033void __ovld vstore_half3_rtz(float3 data, size_t offset, __local half *p);
12034void __ovld vstore_half4_rtz(float4 data, size_t offset, __local half *p);
12035void __ovld vstore_half8_rtz(float8 data, size_t offset, __local half *p);
12036void __ovld vstore_half16_rtz(float16 data, size_t offset, __local half *p);
12037void __ovld vstore_half2_rtp(float2 data, size_t offset, __local half *p);
12038void __ovld vstore_half3_rtp(float3 data, size_t offset, __local half *p);
12039void __ovld vstore_half4_rtp(float4 data, size_t offset, __local half *p);
12040void __ovld vstore_half8_rtp(float8 data, size_t offset, __local half *p);
12041void __ovld vstore_half16_rtp(float16 data, size_t offset, __local half *p);
12042void __ovld vstore_half2_rtn(float2 data, size_t offset, __local half *p);
12043void __ovld vstore_half3_rtn(float3 data, size_t offset, __local half *p);
12044void __ovld vstore_half4_rtn(float4 data, size_t offset, __local half *p);
12045void __ovld vstore_half8_rtn(float8 data, size_t offset, __local half *p);
12046void __ovld vstore_half16_rtn(float16 data, size_t offset, __local half *p);
12047void __ovld vstore_half2(float2 data, size_t offset, __private half *p);
12048void __ovld vstore_half3(float3 data, size_t offset, __private half *p);
12049void __ovld vstore_half4(float4 data, size_t offset, __private half *p);
12050void __ovld vstore_half8(float8 data, size_t offset, __private half *p);
12051void __ovld vstore_half16(float16 data, size_t offset, __private half *p);
12052void __ovld vstore_half2_rte(float2 data, size_t offset, __private half *p);
12053void __ovld vstore_half3_rte(float3 data, size_t offset, __private half *p);
12054void __ovld vstore_half4_rte(float4 data, size_t offset, __private half *p);
12055void __ovld vstore_half8_rte(float8 data, size_t offset, __private half *p);
12056void __ovld vstore_half16_rte(float16 data, size_t offset, __private half *p);
12057void __ovld vstore_half2_rtz(float2 data, size_t offset, __private half *p);
12058void __ovld vstore_half3_rtz(float3 data, size_t offset, __private half *p);
12059void __ovld vstore_half4_rtz(float4 data, size_t offset, __private half *p);
12060void __ovld vstore_half8_rtz(float8 data, size_t offset, __private half *p);
12061void __ovld vstore_half16_rtz(float16 data, size_t offset, __private half *p);
12062void __ovld vstore_half2_rtp(float2 data, size_t offset, __private half *p);
12063void __ovld vstore_half3_rtp(float3 data, size_t offset, __private half *p);
12064void __ovld vstore_half4_rtp(float4 data, size_t offset, __private half *p);
12065void __ovld vstore_half8_rtp(float8 data, size_t offset, __private half *p);
12066void __ovld vstore_half16_rtp(float16 data, size_t offset, __private half *p);
12067void __ovld vstore_half2_rtn(float2 data, size_t offset, __private half *p);
12068void __ovld vstore_half3_rtn(float3 data, size_t offset, __private half *p);
12069void __ovld vstore_half4_rtn(float4 data, size_t offset, __private half *p);
12070void __ovld vstore_half8_rtn(float8 data, size_t offset, __private half *p);
12071void __ovld vstore_half16_rtn(float16 data, size_t offset, __private half *p);
12072#ifdef cl_khr_fp64
12073void __ovld vstore_half2(double2 data, size_t offset, __global half *p);
12074void __ovld vstore_half3(double3 data, size_t offset, __global half *p);
12075void __ovld vstore_half4(double4 data, size_t offset, __global half *p);
12076void __ovld vstore_half8(double8 data, size_t offset, __global half *p);
12077void __ovld vstore_half16(double16 data, size_t offset, __global half *p);
12078void __ovld vstore_half2_rte(double2 data, size_t offset, __global half *p);
12079void __ovld vstore_half3_rte(double3 data, size_t offset, __global half *p);
12080void __ovld vstore_half4_rte(double4 data, size_t offset, __global half *p);
12081void __ovld vstore_half8_rte(double8 data, size_t offset, __global half *p);
12082void __ovld vstore_half16_rte(double16 data, size_t offset, __global half *p);
12083void __ovld vstore_half2_rtz(double2 data, size_t offset, __global half *p);
12084void __ovld vstore_half3_rtz(double3 data, size_t offset, __global half *p);
12085void __ovld vstore_half4_rtz(double4 data, size_t offset, __global half *p);
12086void __ovld vstore_half8_rtz(double8 data, size_t offset, __global half *p);
12087void __ovld vstore_half16_rtz(double16 data, size_t offset, __global half *p);
12088void __ovld vstore_half2_rtp(double2 data, size_t offset, __global half *p);
12089void __ovld vstore_half3_rtp(double3 data, size_t offset, __global half *p);
12090void __ovld vstore_half4_rtp(double4 data, size_t offset, __global half *p);
12091void __ovld vstore_half8_rtp(double8 data, size_t offset, __global half *p);
12092void __ovld vstore_half16_rtp(double16 data, size_t offset, __global half *p);
12093void __ovld vstore_half2_rtn(double2 data, size_t offset, __global half *p);
12094void __ovld vstore_half3_rtn(double3 data, size_t offset, __global half *p);
12095void __ovld vstore_half4_rtn(double4 data, size_t offset, __global half *p);
12096void __ovld vstore_half8_rtn(double8 data, size_t offset, __global half *p);
12097void __ovld vstore_half16_rtn(double16 data, size_t offset, __global half *p);
12098void __ovld vstore_half2(double2 data, size_t offset, __local half *p);
12099void __ovld vstore_half3(double3 data, size_t offset, __local half *p);
12100void __ovld vstore_half4(double4 data, size_t offset, __local half *p);
12101void __ovld vstore_half8(double8 data, size_t offset, __local half *p);
12102void __ovld vstore_half16(double16 data, size_t offset, __local half *p);
12103void __ovld vstore_half2_rte(double2 data, size_t offset, __local half *p);
12104void __ovld vstore_half3_rte(double3 data, size_t offset, __local half *p);
12105void __ovld vstore_half4_rte(double4 data, size_t offset, __local half *p);
12106void __ovld vstore_half8_rte(double8 data, size_t offset, __local half *p);
12107void __ovld vstore_half16_rte(double16 data, size_t offset, __local half *p);
12108void __ovld vstore_half2_rtz(double2 data, size_t offset, __local half *p);
12109void __ovld vstore_half3_rtz(double3 data, size_t offset, __local half *p);
12110void __ovld vstore_half4_rtz(double4 data, size_t offset, __local half *p);
12111void __ovld vstore_half8_rtz(double8 data, size_t offset, __local half *p);
12112void __ovld vstore_half16_rtz(double16 data, size_t offset, __local half *p);
12113void __ovld vstore_half2_rtp(double2 data, size_t offset, __local half *p);
12114void __ovld vstore_half3_rtp(double3 data, size_t offset, __local half *p);
12115void __ovld vstore_half4_rtp(double4 data, size_t offset, __local half *p);
12116void __ovld vstore_half8_rtp(double8 data, size_t offset, __local half *p);
12117void __ovld vstore_half16_rtp(double16 data, size_t offset, __local half *p);
12118void __ovld vstore_half2_rtn(double2 data, size_t offset, __local half *p);
12119void __ovld vstore_half3_rtn(double3 data, size_t offset, __local half *p);
12120void __ovld vstore_half4_rtn(double4 data, size_t offset, __local half *p);
12121void __ovld vstore_half8_rtn(double8 data, size_t offset, __local half *p);
12122void __ovld vstore_half16_rtn(double16 data, size_t offset, __local half *p);
12123void __ovld vstore_half2(double2 data, size_t offset, __private half *p);
12124void __ovld vstore_half3(double3 data, size_t offset, __private half *p);
12125void __ovld vstore_half4(double4 data, size_t offset, __private half *p);
12126void __ovld vstore_half8(double8 data, size_t offset, __private half *p);
12127void __ovld vstore_half16(double16 data, size_t offset, __private half *p);
12128void __ovld vstore_half2_rte(double2 data, size_t offset, __private half *p);
12129void __ovld vstore_half3_rte(double3 data, size_t offset, __private half *p);
12130void __ovld vstore_half4_rte(double4 data, size_t offset, __private half *p);
12131void __ovld vstore_half8_rte(double8 data, size_t offset, __private half *p);
12132void __ovld vstore_half16_rte(double16 data, size_t offset, __private half *p);
12133void __ovld vstore_half2_rtz(double2 data, size_t offset, __private half *p);
12134void __ovld vstore_half3_rtz(double3 data, size_t offset, __private half *p);
12135void __ovld vstore_half4_rtz(double4 data, size_t offset, __private half *p);
12136void __ovld vstore_half8_rtz(double8 data, size_t offset, __private half *p);
12137void __ovld vstore_half16_rtz(double16 data, size_t offset, __private half *p);
12138void __ovld vstore_half2_rtp(double2 data, size_t offset, __private half *p);
12139void __ovld vstore_half3_rtp(double3 data, size_t offset, __private half *p);
12140void __ovld vstore_half4_rtp(double4 data, size_t offset, __private half *p);
12141void __ovld vstore_half8_rtp(double8 data, size_t offset, __private half *p);
12142void __ovld vstore_half16_rtp(double16 data, size_t offset, __private half *p);
12143void __ovld vstore_half2_rtn(double2 data, size_t offset, __private half *p);
12144void __ovld vstore_half3_rtn(double3 data, size_t offset, __private half *p);
12145void __ovld vstore_half4_rtn(double4 data, size_t offset, __private half *p);
12146void __ovld vstore_half8_rtn(double8 data, size_t offset, __private half *p);
12147void __ovld vstore_half16_rtn(double16 data, size_t offset, __private half *p);
12148#endif //cl_khr_fp64
12149#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12150
12151/**
12152 * For n = 1, 2, 4, 8 and 16 read sizeof (halfn)
12153 * bytes of data from address (p + (offset * n)).
12154 * The data read is interpreted as a halfn value.
12155 * The halfn value read is converted to a floatn
12156 * value and the floatn value is returned.
12157 * The address computed as (p + (offset * n))
12158 * must be aligned to sizeof (halfn) bytes.
12159 * For n = 3, vloada_half3 reads a half3 from
12160 * address (p + (offset * 4)) and returns a float3.
12161 * The address computed as (p + (offset * 4))
12162 * must be aligned to sizeof (half) * 4 bytes.
12163 */
12164float __ovld vloada_half(size_t offset, const __constant half *p);
12165float2 __ovld vloada_half2(size_t offset, const __constant half *p);
12166float3 __ovld vloada_half3(size_t offset, const __constant half *p);
12167float4 __ovld vloada_half4(size_t offset, const __constant half *p);
12168float8 __ovld vloada_half8(size_t offset, const __constant half *p);
12169float16 __ovld vloada_half16(size_t offset, const __constant half *p);
12170#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12171float __ovld vloada_half(size_t offset, const half *p);
12172float2 __ovld vloada_half2(size_t offset, const half *p);
12173float3 __ovld vloada_half3(size_t offset, const half *p);
12174float4 __ovld vloada_half4(size_t offset, const half *p);
12175float8 __ovld vloada_half8(size_t offset, const half *p);
12176float16 __ovld vloada_half16(size_t offset, const half *p);
12177#else
12178float __ovld vloada_half(size_t offset, const __global half *p);
12179float2 __ovld vloada_half2(size_t offset, const __global half *p);
12180float3 __ovld vloada_half3(size_t offset, const __global half *p);
12181float4 __ovld vloada_half4(size_t offset, const __global half *p);
12182float8 __ovld vloada_half8(size_t offset, const __global half *p);
12183float16 __ovld vloada_half16(size_t offset, const __global half *p);
12184float __ovld vloada_half(size_t offset, const __local half *p);
12185float2 __ovld vloada_half2(size_t offset, const __local half *p);
12186float3 __ovld vloada_half3(size_t offset, const __local half *p);
12187float4 __ovld vloada_half4(size_t offset, const __local half *p);
12188float8 __ovld vloada_half8(size_t offset, const __local half *p);
12189float16 __ovld vloada_half16(size_t offset, const __local half *p);
12190float __ovld vloada_half(size_t offset, const __private half *p);
12191float2 __ovld vloada_half2(size_t offset, const __private half *p);
12192float3 __ovld vloada_half3(size_t offset, const __private half *p);
12193float4 __ovld vloada_half4(size_t offset, const __private half *p);
12194float8 __ovld vloada_half8(size_t offset, const __private half *p);
12195float16 __ovld vloada_half16(size_t offset, const __private half *p);
12196#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12197
12198/**
12199 * The floatn value given by data is converted to
12200 * a halfn value using the appropriate rounding
12201 * mode.
12202 * For n = 1, 2, 4, 8 and 16, the halfn value is
12203 * written to the address computed as (p + (offset
12204 * * n)). The address computed as (p + (offset *
12205 * n)) must be aligned to sizeof (halfn) bytes.
12206 * For n = 3, the half3 value is written to the
12207 * address computed as (p + (offset * 4)). The
12208 * address computed as (p + (offset * 4)) must be
12209 * aligned to sizeof (half) * 4 bytes.
12210 * vstorea_halfn uses the current rounding
12211 * mode. The default current rounding mode is
12212 * round to nearest even.
12213 */
12214#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12215void __ovld vstorea_half(float data, size_t offset, half *p);
12216void __ovld vstorea_half2(float2 data, size_t offset, half *p);
12217void __ovld vstorea_half3(float3 data, size_t offset, half *p);
12218void __ovld vstorea_half4(float4 data, size_t offset, half *p);
12219void __ovld vstorea_half8(float8 data, size_t offset, half *p);
12220void __ovld vstorea_half16(float16 data, size_t offset, half *p);
12221
12222void __ovld vstorea_half_rte(float data, size_t offset, half *p);
12223void __ovld vstorea_half2_rte(float2 data, size_t offset, half *p);
12224void __ovld vstorea_half3_rte(float3 data, size_t offset, half *p);
12225void __ovld vstorea_half4_rte(float4 data, size_t offset, half *p);
12226void __ovld vstorea_half8_rte(float8 data, size_t offset, half *p);
12227void __ovld vstorea_half16_rte(float16 data, size_t offset, half *p);
12228
12229void __ovld vstorea_half_rtz(float data, size_t offset, half *p);
12230void __ovld vstorea_half2_rtz(float2 data, size_t offset, half *p);
12231void __ovld vstorea_half3_rtz(float3 data, size_t offset, half *p);
12232void __ovld vstorea_half4_rtz(float4 data, size_t offset, half *p);
12233void __ovld vstorea_half8_rtz(float8 data, size_t offset, half *p);
12234void __ovld vstorea_half16_rtz(float16 data, size_t offset, half *p);
12235
12236void __ovld vstorea_half_rtp(float data, size_t offset, half *p);
12237void __ovld vstorea_half2_rtp(float2 data, size_t offset, half *p);
12238void __ovld vstorea_half3_rtp(float3 data, size_t offset, half *p);
12239void __ovld vstorea_half4_rtp(float4 data, size_t offset, half *p);
12240void __ovld vstorea_half8_rtp(float8 data, size_t offset, half *p);
12241void __ovld vstorea_half16_rtp(float16 data, size_t offset, half *p);
12242
12243void __ovld vstorea_half_rtn(float data, size_t offset, half *p);
12244void __ovld vstorea_half2_rtn(float2 data, size_t offset, half *p);
12245void __ovld vstorea_half3_rtn(float3 data, size_t offset, half *p);
12246void __ovld vstorea_half4_rtn(float4 data, size_t offset, half *p);
12247void __ovld vstorea_half8_rtn(float8 data, size_t offset, half *p);
12248void __ovld vstorea_half16_rtn(float16 data, size_t offset, half *p);
12249
12250#ifdef cl_khr_fp64
12251void __ovld vstorea_half(double data, size_t offset, half *p);
12252void __ovld vstorea_half2(double2 data, size_t offset, half *p);
12253void __ovld vstorea_half3(double3 data, size_t offset, half *p);
12254void __ovld vstorea_half4(double4 data, size_t offset, half *p);
12255void __ovld vstorea_half8(double8 data, size_t offset, half *p);
12256void __ovld vstorea_half16(double16 data, size_t offset, half *p);
12257
12258void __ovld vstorea_half_rte(double data, size_t offset, half *p);
12259void __ovld vstorea_half2_rte(double2 data, size_t offset, half *p);
12260void __ovld vstorea_half3_rte(double3 data, size_t offset, half *p);
12261void __ovld vstorea_half4_rte(double4 data, size_t offset, half *p);
12262void __ovld vstorea_half8_rte(double8 data, size_t offset, half *p);
12263void __ovld vstorea_half16_rte(double16 data, size_t offset, half *p);
12264
12265void __ovld vstorea_half_rtz(double data, size_t offset, half *p);
12266void __ovld vstorea_half2_rtz(double2 data, size_t offset, half *p);
12267void __ovld vstorea_half3_rtz(double3 data, size_t offset, half *p);
12268void __ovld vstorea_half4_rtz(double4 data, size_t offset, half *p);
12269void __ovld vstorea_half8_rtz(double8 data, size_t offset, half *p);
12270void __ovld vstorea_half16_rtz(double16 data, size_t offset, half *p);
12271
12272void __ovld vstorea_half_rtp(double data, size_t offset, half *p);
12273void __ovld vstorea_half2_rtp(double2 data, size_t offset, half *p);
12274void __ovld vstorea_half3_rtp(double3 data, size_t offset, half *p);
12275void __ovld vstorea_half4_rtp(double4 data, size_t offset, half *p);
12276void __ovld vstorea_half8_rtp(double8 data, size_t offset, half *p);
12277void __ovld vstorea_half16_rtp(double16 data, size_t offset, half *p);
12278
12279void __ovld vstorea_half_rtn(double data, size_t offset, half *p);
12280void __ovld vstorea_half2_rtn(double2 data, size_t offset, half *p);
12281void __ovld vstorea_half3_rtn(double3 data, size_t offset, half *p);
12282void __ovld vstorea_half4_rtn(double4 data, size_t offset, half *p);
12283void __ovld vstorea_half8_rtn(double8 data, size_t offset, half *p);
12284void __ovld vstorea_half16_rtn(double16 data, size_t offset, half *p);
12285#endif //cl_khr_fp64
12286
12287#else
12288void __ovld vstorea_half(float data, size_t offset, __global half *p);
12289void __ovld vstorea_half2(float2 data, size_t offset, __global half *p);
12290void __ovld vstorea_half3(float3 data, size_t offset, __global half *p);
12291void __ovld vstorea_half4(float4 data, size_t offset, __global half *p);
12292void __ovld vstorea_half8(float8 data, size_t offset, __global half *p);
12293void __ovld vstorea_half16(float16 data, size_t offset, __global half *p);
12294
12295void __ovld vstorea_half_rte(float data, size_t offset, __global half *p);
12296void __ovld vstorea_half2_rte(float2 data, size_t offset, __global half *p);
12297void __ovld vstorea_half3_rte(float3 data, size_t offset, __global half *p);
12298void __ovld vstorea_half4_rte(float4 data, size_t offset, __global half *p);
12299void __ovld vstorea_half8_rte(float8 data, size_t offset, __global half *p);
12300void __ovld vstorea_half16_rte(float16 data, size_t offset, __global half *p);
12301
12302void __ovld vstorea_half_rtz(float data, size_t offset, __global half *p);
12303void __ovld vstorea_half2_rtz(float2 data, size_t offset, __global half *p);
12304void __ovld vstorea_half3_rtz(float3 data, size_t offset, __global half *p);
12305void __ovld vstorea_half4_rtz(float4 data, size_t offset, __global half *p);
12306void __ovld vstorea_half8_rtz(float8 data, size_t offset, __global half *p);
12307void __ovld vstorea_half16_rtz(float16 data, size_t offset, __global half *p);
12308
12309void __ovld vstorea_half_rtp(float data, size_t offset, __global half *p);
12310void __ovld vstorea_half2_rtp(float2 data, size_t offset, __global half *p);
12311void __ovld vstorea_half3_rtp(float3 data, size_t offset, __global half *p);
12312void __ovld vstorea_half4_rtp(float4 data, size_t offset, __global half *p);
12313void __ovld vstorea_half8_rtp(float8 data, size_t offset, __global half *p);
12314void __ovld vstorea_half16_rtp(float16 data, size_t offset, __global half *p);
12315
12316void __ovld vstorea_half_rtn(float data, size_t offset, __global half *p);
12317void __ovld vstorea_half2_rtn(float2 data, size_t offset, __global half *p);
12318void __ovld vstorea_half3_rtn(float3 data, size_t offset, __global half *p);
12319void __ovld vstorea_half4_rtn(float4 data, size_t offset, __global half *p);
12320void __ovld vstorea_half8_rtn(float8 data, size_t offset, __global half *p);
12321void __ovld vstorea_half16_rtn(float16 data, size_t offset, __global half *p);
12322
12323void __ovld vstorea_half(float data, size_t offset, __local half *p);
12324void __ovld vstorea_half2(float2 data, size_t offset, __local half *p);
12325void __ovld vstorea_half3(float3 data, size_t offset, __local half *p);
12326void __ovld vstorea_half4(float4 data, size_t offset, __local half *p);
12327void __ovld vstorea_half8(float8 data, size_t offset, __local half *p);
12328void __ovld vstorea_half16(float16 data, size_t offset, __local half *p);
12329
12330void __ovld vstorea_half_rte(float data, size_t offset, __local half *p);
12331void __ovld vstorea_half2_rte(float2 data, size_t offset, __local half *p);
12332void __ovld vstorea_half3_rte(float3 data, size_t offset, __local half *p);
12333void __ovld vstorea_half4_rte(float4 data, size_t offset, __local half *p);
12334void __ovld vstorea_half8_rte(float8 data, size_t offset, __local half *p);
12335void __ovld vstorea_half16_rte(float16 data, size_t offset, __local half *p);
12336
12337void __ovld vstorea_half_rtz(float data, size_t offset, __local half *p);
12338void __ovld vstorea_half2_rtz(float2 data, size_t offset, __local half *p);
12339void __ovld vstorea_half3_rtz(float3 data, size_t offset, __local half *p);
12340void __ovld vstorea_half4_rtz(float4 data, size_t offset, __local half *p);
12341void __ovld vstorea_half8_rtz(float8 data, size_t offset, __local half *p);
12342void __ovld vstorea_half16_rtz(float16 data, size_t offset, __local half *p);
12343
12344void __ovld vstorea_half_rtp(float data, size_t offset, __local half *p);
12345void __ovld vstorea_half2_rtp(float2 data, size_t offset, __local half *p);
12346void __ovld vstorea_half3_rtp(float3 data, size_t offset, __local half *p);
12347void __ovld vstorea_half4_rtp(float4 data, size_t offset, __local half *p);
12348void __ovld vstorea_half8_rtp(float8 data, size_t offset, __local half *p);
12349void __ovld vstorea_half16_rtp(float16 data, size_t offset, __local half *p);
12350
12351void __ovld vstorea_half_rtn(float data, size_t offset, __local half *p);
12352void __ovld vstorea_half2_rtn(float2 data, size_t offset, __local half *p);
12353void __ovld vstorea_half3_rtn(float3 data, size_t offset, __local half *p);
12354void __ovld vstorea_half4_rtn(float4 data, size_t offset, __local half *p);
12355void __ovld vstorea_half8_rtn(float8 data, size_t offset, __local half *p);
12356void __ovld vstorea_half16_rtn(float16 data, size_t offset, __local half *p);
12357
12358void __ovld vstorea_half(float data, size_t offset, __private half *p);
12359void __ovld vstorea_half2(float2 data, size_t offset, __private half *p);
12360void __ovld vstorea_half3(float3 data, size_t offset, __private half *p);
12361void __ovld vstorea_half4(float4 data, size_t offset, __private half *p);
12362void __ovld vstorea_half8(float8 data, size_t offset, __private half *p);
12363void __ovld vstorea_half16(float16 data, size_t offset, __private half *p);
12364
12365void __ovld vstorea_half_rte(float data, size_t offset, __private half *p);
12366void __ovld vstorea_half2_rte(float2 data, size_t offset, __private half *p);
12367void __ovld vstorea_half3_rte(float3 data, size_t offset, __private half *p);
12368void __ovld vstorea_half4_rte(float4 data, size_t offset, __private half *p);
12369void __ovld vstorea_half8_rte(float8 data, size_t offset, __private half *p);
12370void __ovld vstorea_half16_rte(float16 data, size_t offset, __private half *p);
12371
12372void __ovld vstorea_half_rtz(float data, size_t offset, __private half *p);
12373void __ovld vstorea_half2_rtz(float2 data, size_t offset, __private half *p);
12374void __ovld vstorea_half3_rtz(float3 data, size_t offset, __private half *p);
12375void __ovld vstorea_half4_rtz(float4 data, size_t offset, __private half *p);
12376void __ovld vstorea_half8_rtz(float8 data, size_t offset, __private half *p);
12377void __ovld vstorea_half16_rtz(float16 data, size_t offset, __private half *p);
12378
12379void __ovld vstorea_half_rtp(float data, size_t offset, __private half *p);
12380void __ovld vstorea_half2_rtp(float2 data, size_t offset, __private half *p);
12381void __ovld vstorea_half3_rtp(float3 data, size_t offset, __private half *p);
12382void __ovld vstorea_half4_rtp(float4 data, size_t offset, __private half *p);
12383void __ovld vstorea_half8_rtp(float8 data, size_t offset, __private half *p);
12384void __ovld vstorea_half16_rtp(float16 data, size_t offset, __private half *p);
12385
12386void __ovld vstorea_half_rtn(float data, size_t offset, __private half *p);
12387void __ovld vstorea_half2_rtn(float2 data, size_t offset, __private half *p);
12388void __ovld vstorea_half3_rtn(float3 data, size_t offset, __private half *p);
12389void __ovld vstorea_half4_rtn(float4 data, size_t offset, __private half *p);
12390void __ovld vstorea_half8_rtn(float8 data, size_t offset, __private half *p);
12391void __ovld vstorea_half16_rtn(float16 data, size_t offset, __private half *p);
12392
12393#ifdef cl_khr_fp64
12394void __ovld vstorea_half(double data, size_t offset, __global half *p);
12395void __ovld vstorea_half2(double2 data, size_t offset, __global half *p);
12396void __ovld vstorea_half3(double3 data, size_t offset, __global half *p);
12397void __ovld vstorea_half4(double4 data, size_t offset, __global half *p);
12398void __ovld vstorea_half8(double8 data, size_t offset, __global half *p);
12399void __ovld vstorea_half16(double16 data, size_t offset, __global half *p);
12400
12401void __ovld vstorea_half_rte(double data, size_t offset, __global half *p);
12402void __ovld vstorea_half2_rte(double2 data, size_t offset, __global half *p);
12403void __ovld vstorea_half3_rte(double3 data, size_t offset, __global half *p);
12404void __ovld vstorea_half4_rte(double4 data, size_t offset, __global half *p);
12405void __ovld vstorea_half8_rte(double8 data, size_t offset, __global half *p);
12406void __ovld vstorea_half16_rte(double16 data, size_t offset, __global half *p);
12407
12408void __ovld vstorea_half_rtz(double data, size_t offset, __global half *p);
12409void __ovld vstorea_half2_rtz(double2 data, size_t offset, __global half *p);
12410void __ovld vstorea_half3_rtz(double3 data, size_t offset, __global half *p);
12411void __ovld vstorea_half4_rtz(double4 data, size_t offset, __global half *p);
12412void __ovld vstorea_half8_rtz(double8 data, size_t offset, __global half *p);
12413void __ovld vstorea_half16_rtz(double16 data, size_t offset, __global half *p);
12414
12415void __ovld vstorea_half_rtp(double data, size_t offset, __global half *p);
12416void __ovld vstorea_half2_rtp(double2 data, size_t offset, __global half *p);
12417void __ovld vstorea_half3_rtp(double3 data, size_t offset, __global half *p);
12418void __ovld vstorea_half4_rtp(double4 data, size_t offset, __global half *p);
12419void __ovld vstorea_half8_rtp(double8 data, size_t offset, __global half *p);
12420void __ovld vstorea_half16_rtp(double16 data, size_t offset, __global half *p);
12421
12422void __ovld vstorea_half_rtn(double data, size_t offset, __global half *p);
12423void __ovld vstorea_half2_rtn(double2 data, size_t offset, __global half *p);
12424void __ovld vstorea_half3_rtn(double3 data, size_t offset, __global half *p);
12425void __ovld vstorea_half4_rtn(double4 data, size_t offset, __global half *p);
12426void __ovld vstorea_half8_rtn(double8 data, size_t offset, __global half *p);
12427void __ovld vstorea_half16_rtn(double16 data, size_t offset, __global half *p);
12428
12429void __ovld vstorea_half(double data, size_t offset, __local half *p);
12430void __ovld vstorea_half2(double2 data, size_t offset, __local half *p);
12431void __ovld vstorea_half3(double3 data, size_t offset, __local half *p);
12432void __ovld vstorea_half4(double4 data, size_t offset, __local half *p);
12433void __ovld vstorea_half8(double8 data, size_t offset, __local half *p);
12434void __ovld vstorea_half16(double16 data, size_t offset, __local half *p);
12435
12436void __ovld vstorea_half_rte(double data, size_t offset, __local half *p);
12437void __ovld vstorea_half2_rte(double2 data, size_t offset, __local half *p);
12438void __ovld vstorea_half3_rte(double3 data, size_t offset, __local half *p);
12439void __ovld vstorea_half4_rte(double4 data, size_t offset, __local half *p);
12440void __ovld vstorea_half8_rte(double8 data, size_t offset, __local half *p);
12441void __ovld vstorea_half16_rte(double16 data, size_t offset, __local half *p);
12442
12443void __ovld vstorea_half_rtz(double data, size_t offset, __local half *p);
12444void __ovld vstorea_half2_rtz(double2 data, size_t offset, __local half *p);
12445void __ovld vstorea_half3_rtz(double3 data, size_t offset, __local half *p);
12446void __ovld vstorea_half4_rtz(double4 data, size_t offset, __local half *p);
12447void __ovld vstorea_half8_rtz(double8 data, size_t offset, __local half *p);
12448void __ovld vstorea_half16_rtz(double16 data, size_t offset, __local half *p);
12449
12450void __ovld vstorea_half_rtp(double data, size_t offset, __local half *p);
12451void __ovld vstorea_half2_rtp(double2 data, size_t offset, __local half *p);
12452void __ovld vstorea_half3_rtp(double3 data, size_t offset, __local half *p);
12453void __ovld vstorea_half4_rtp(double4 data, size_t offset, __local half *p);
12454void __ovld vstorea_half8_rtp(double8 data, size_t offset, __local half *p);
12455void __ovld vstorea_half16_rtp(double16 data, size_t offset, __local half *p);
12456
12457void __ovld vstorea_half_rtn(double data, size_t offset, __local half *p);
12458void __ovld vstorea_half2_rtn(double2 data, size_t offset, __local half *p);
12459void __ovld vstorea_half3_rtn(double3 data, size_t offset, __local half *p);
12460void __ovld vstorea_half4_rtn(double4 data, size_t offset, __local half *p);
12461void __ovld vstorea_half8_rtn(double8 data, size_t offset, __local half *p);
12462void __ovld vstorea_half16_rtn(double16 data, size_t offset, __local half *p);
12463
12464void __ovld vstorea_half(double data, size_t offset, __private half *p);
12465void __ovld vstorea_half2(double2 data, size_t offset, __private half *p);
12466void __ovld vstorea_half3(double3 data, size_t offset, __private half *p);
12467void __ovld vstorea_half4(double4 data, size_t offset, __private half *p);
12468void __ovld vstorea_half8(double8 data, size_t offset, __private half *p);
12469void __ovld vstorea_half16(double16 data, size_t offset, __private half *p);
12470
12471void __ovld vstorea_half_rte(double data, size_t offset, __private half *p);
12472void __ovld vstorea_half2_rte(double2 data, size_t offset, __private half *p);
12473void __ovld vstorea_half3_rte(double3 data, size_t offset, __private half *p);
12474void __ovld vstorea_half4_rte(double4 data, size_t offset, __private half *p);
12475void __ovld vstorea_half8_rte(double8 data, size_t offset, __private half *p);
12476void __ovld vstorea_half16_rte(double16 data, size_t offset, __private half *p);
12477
12478void __ovld vstorea_half_rtz(double data, size_t offset, __private half *p);
12479void __ovld vstorea_half2_rtz(double2 data, size_t offset, __private half *p);
12480void __ovld vstorea_half3_rtz(double3 data, size_t offset, __private half *p);
12481void __ovld vstorea_half4_rtz(double4 data, size_t offset, __private half *p);
12482void __ovld vstorea_half8_rtz(double8 data, size_t offset, __private half *p);
12483void __ovld vstorea_half16_rtz(double16 data, size_t offset, __private half *p);
12484
12485void __ovld vstorea_half_rtp(double data, size_t offset, __private half *p);
12486void __ovld vstorea_half2_rtp(double2 data, size_t offset, __private half *p);
12487void __ovld vstorea_half3_rtp(double3 data, size_t offset, __private half *p);
12488void __ovld vstorea_half4_rtp(double4 data, size_t offset, __private half *p);
12489void __ovld vstorea_half8_rtp(double8 data, size_t offset, __private half *p);
12490void __ovld vstorea_half16_rtp(double16 data, size_t offset, __private half *p);
12491
12492void __ovld vstorea_half_rtn(double data, size_t offset, __private half *p);
12493void __ovld vstorea_half2_rtn(double2 data,size_t offset, __private half *p);
12494void __ovld vstorea_half3_rtn(double3 data,size_t offset, __private half *p);
12495void __ovld vstorea_half4_rtn(double4 data,size_t offset, __private half *p);
12496void __ovld vstorea_half8_rtn(double8 data,size_t offset, __private half *p);
12497void __ovld vstorea_half16_rtn(double16 data,size_t offset, __private half *p);
12498#endif //cl_khr_fp64
12499#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12500
12501// OpenCL v1.1 s6.11.8, v1.2 s6.12.8, v2.0 s6.13.8 - Synchronization Functions
12502
12503/**
12504 * All work-items in a work-group executing the kernel
12505 * on a processor must execute this function before any
12506 * are allowed to continue execution beyond the barrier.
12507 * This function must be encountered by all work-items in
12508 * a work-group executing the kernel.
12509 * If barrier is inside a conditional statement, then all
12510 * work-items must enter the conditional if any work-item
12511 * enters the conditional statement and executes the
12512 * barrier.
12513 * If barrer is inside a loop, all work-items must execute
12514 * the barrier for each iteration of the loop before any are
12515 * allowed to continue execution beyond the barrier.
12516 * The barrier function also queues a memory fence
12517 * (reads and writes) to ensure correct ordering of
12518 * memory operations to local or global memory.
12519 * The flags argument specifies the memory address space
12520 * and can be set to a combination of the following literal
12521 * values.
12522 * CLK_LOCAL_MEM_FENCE - The barrier function
12523 * will either flush any variables stored in local memory
12524 * or queue a memory fence to ensure correct ordering of
12525 * memory operations to local memory.
12526 * CLK_GLOBAL_MEM_FENCE - The barrier function
12527 * will queue a memory fence to ensure correct ordering
12528 * of memory operations to global memory. This can be
12529 * useful when work-items, for example, write to buffer or
12530 * image objects and then want to read the updated data.
12531 */
12532
12533void __ovld __conv barrier(cl_mem_fence_flags flags);
12534
12535#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12536void __ovld __conv work_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
12537void __ovld __conv work_group_barrier(cl_mem_fence_flags flags);
12538#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12539
12540// OpenCL v1.1 s6.11.9, v1.2 s6.12.9 - Explicit Memory Fence Functions
12541
12542/**
12543 * Orders loads and stores of a work-item
12544 * executing a kernel. This means that loads
12545 * and stores preceding the mem_fence will
12546 * be committed to memory before any loads
12547 * and stores following the mem_fence.
12548 * The flags argument specifies the memory
12549 * address space and can be set to a
12550 * combination of the following literal
12551 * values:
12552 * CLK_LOCAL_MEM_FENCE
12553 * CLK_GLOBAL_MEM_FENCE.
12554 */
12555void __ovld mem_fence(cl_mem_fence_flags flags);
12556
12557/**
12558 * Read memory barrier that orders only
12559 * loads.
12560 * The flags argument specifies the memory
12561 * address space and can be set to a
12562 * combination of the following literal
12563 * values:
12564 * CLK_LOCAL_MEM_FENCE
12565 * CLK_GLOBAL_MEM_FENCE.
12566 */
12567void __ovld read_mem_fence(cl_mem_fence_flags flags);
12568
12569/**
12570 * Write memory barrier that orders only
12571 * stores.
12572 * The flags argument specifies the memory
12573 * address space and can be set to a
12574 * combination of the following literal
12575 * values:
12576 * CLK_LOCAL_MEM_FENCE
12577 * CLK_GLOBAL_MEM_FENCE.
12578 */
12579void __ovld write_mem_fence(cl_mem_fence_flags flags);
12580
12581// OpenCL v2.0 s6.13.9 - Address Space Qualifier Functions
12582
12583#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12584cl_mem_fence_flags __ovld get_fence(const void *ptr);
12585cl_mem_fence_flags __ovld get_fence(void *ptr);
12586
12587/**
12588 * Builtin functions to_global, to_local, and to_private need to be declared as Clang builtin functions
12589 * and checked in Sema since they should be declared as
12590 *   addr gentype* to_addr (gentype*);
12591 * where gentype is builtin type or user defined type.
12592 */
12593
12594#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12595
12596// OpenCL v1.1 s6.11.10, v1.2 s6.12.10, v2.0 s6.13.10 - Async Copies from Global to Local Memory, Local to Global Memory, and Prefetch
12597
12598/**
12599 * event_t async_work_group_copy (
12600 * __global gentype *dst,
12601 * const __local gentype *src,
12602 * size_t num_elements,
12603 * event_t event)
12604 * Perform an async copy of num_elements
12605 * gentype elements from src to dst. The async
12606 * copy is performed by all work-items in a workgroup
12607 * and this built-in function must therefore
12608 * be encountered by all work-items in a workgroup
12609 * executing the kernel with the same
12610 * argument values; otherwise the results are
12611 * undefined.
12612 * Returns an event object that can be used by
12613 * wait_group_events to wait for the async copy
12614 * to finish. The event argument can also be used
12615 * to associate the async_work_group_copy with
12616 * a previous async copy allowing an event to be
12617 * shared by multiple async copies; otherwise event
12618 * should be zero.
12619 * If event argument is non-zero, the event object
12620 * supplied in event argument will be returned.
12621 * This function does not perform any implicit
12622 * synchronization of source data such as using a
12623 * barrier before performing the copy.
12624 */
12625event_t __ovld async_work_group_copy(__local char *dst, const __global char *src, size_t num_elements, event_t event);
12626event_t __ovld async_work_group_copy(__local uchar *dst, const __global uchar *src, size_t num_elements, event_t event);
12627event_t __ovld async_work_group_copy(__local short *dst, const __global short *src, size_t num_elements, event_t event);
12628event_t __ovld async_work_group_copy(__local ushort *dst, const __global ushort *src, size_t num_elements, event_t event);
12629event_t __ovld async_work_group_copy(__local int *dst, const __global int *src, size_t num_elements, event_t event);
12630event_t __ovld async_work_group_copy(__local uint *dst, const __global uint *src, size_t num_elements, event_t event);
12631event_t __ovld async_work_group_copy(__local long *dst, const __global long *src, size_t num_elements, event_t event);
12632event_t __ovld async_work_group_copy(__local ulong *dst, const __global ulong *src, size_t num_elements, event_t event);
12633event_t __ovld async_work_group_copy(__local float *dst, const __global float *src, size_t num_elements, event_t event);
12634event_t __ovld async_work_group_copy(__local char2 *dst, const __global char2 *src, size_t num_elements, event_t event);
12635event_t __ovld async_work_group_copy(__local uchar2 *dst, const __global uchar2 *src, size_t num_elements, event_t event);
12636event_t __ovld async_work_group_copy(__local short2 *dst, const __global short2 *src, size_t num_elements, event_t event);
12637event_t __ovld async_work_group_copy(__local ushort2 *dst, const __global ushort2 *src, size_t num_elements, event_t event);
12638event_t __ovld async_work_group_copy(__local int2 *dst, const __global int2 *src, size_t num_elements, event_t event);
12639event_t __ovld async_work_group_copy(__local uint2 *dst, const __global uint2 *src, size_t num_elements, event_t event);
12640event_t __ovld async_work_group_copy(__local long2 *dst, const __global long2 *src, size_t num_elements, event_t event);
12641event_t __ovld async_work_group_copy(__local ulong2 *dst, const __global ulong2 *src, size_t num_elements, event_t event);
12642event_t __ovld async_work_group_copy(__local float2 *dst, const __global float2 *src, size_t num_elements, event_t event);
12643event_t __ovld async_work_group_copy(__local char3 *dst, const __global char3 *src, size_t num_elements, event_t event);
12644event_t __ovld async_work_group_copy(__local uchar3 *dst, const __global uchar3 *src, size_t num_elements, event_t event);
12645event_t __ovld async_work_group_copy(__local short3 *dst, const __global short3 *src, size_t num_elements, event_t event);
12646event_t __ovld async_work_group_copy(__local ushort3 *dst, const __global ushort3 *src, size_t num_elements, event_t event);
12647event_t __ovld async_work_group_copy(__local int3 *dst, const __global int3 *src, size_t num_elements, event_t event);
12648event_t __ovld async_work_group_copy(__local uint3 *dst, const __global uint3 *src, size_t num_elements, event_t event);
12649event_t __ovld async_work_group_copy(__local long3 *dst, const __global long3 *src, size_t num_elements, event_t event);
12650event_t __ovld async_work_group_copy(__local ulong3 *dst, const __global ulong3 *src, size_t num_elements, event_t event);
12651event_t __ovld async_work_group_copy(__local float3 *dst, const __global float3 *src, size_t num_elements, event_t event);
12652event_t __ovld async_work_group_copy(__local char4 *dst, const __global char4 *src, size_t num_elements, event_t event);
12653event_t __ovld async_work_group_copy(__local uchar4 *dst, const __global uchar4 *src, size_t num_elements, event_t event);
12654event_t __ovld async_work_group_copy(__local short4 *dst, const __global short4 *src, size_t num_elements, event_t event);
12655event_t __ovld async_work_group_copy(__local ushort4 *dst, const __global ushort4 *src, size_t num_elements, event_t event);
12656event_t __ovld async_work_group_copy(__local int4 *dst, const __global int4 *src, size_t num_elements, event_t event);
12657event_t __ovld async_work_group_copy(__local uint4 *dst, const __global uint4 *src, size_t num_elements, event_t event);
12658event_t __ovld async_work_group_copy(__local long4 *dst, const __global long4 *src, size_t num_elements, event_t event);
12659event_t __ovld async_work_group_copy(__local ulong4 *dst, const __global ulong4 *src, size_t num_elements, event_t event);
12660event_t __ovld async_work_group_copy(__local float4 *dst, const __global float4 *src, size_t num_elements, event_t event);
12661event_t __ovld async_work_group_copy(__local char8 *dst, const __global char8 *src, size_t num_elements, event_t event);
12662event_t __ovld async_work_group_copy(__local uchar8 *dst, const __global uchar8 *src, size_t num_elements, event_t event);
12663event_t __ovld async_work_group_copy(__local short8 *dst, const __global short8 *src, size_t num_elements, event_t event);
12664event_t __ovld async_work_group_copy(__local ushort8 *dst, const __global ushort8 *src, size_t num_elements, event_t event);
12665event_t __ovld async_work_group_copy(__local int8 *dst, const __global int8 *src, size_t num_elements, event_t event);
12666event_t __ovld async_work_group_copy(__local uint8 *dst, const __global uint8 *src, size_t num_elements, event_t event);
12667event_t __ovld async_work_group_copy(__local long8 *dst, const __global long8 *src, size_t num_elements, event_t event);
12668event_t __ovld async_work_group_copy(__local ulong8 *dst, const __global ulong8 *src, size_t num_elements, event_t event);
12669event_t __ovld async_work_group_copy(__local float8 *dst, const __global float8 *src, size_t num_elements, event_t event);
12670event_t __ovld async_work_group_copy(__local char16 *dst, const __global char16 *src, size_t num_elements, event_t event);
12671event_t __ovld async_work_group_copy(__local uchar16 *dst, const __global uchar16 *src, size_t num_elements, event_t event);
12672event_t __ovld async_work_group_copy(__local short16 *dst, const __global short16 *src, size_t num_elements, event_t event);
12673event_t __ovld async_work_group_copy(__local ushort16 *dst, const __global ushort16 *src, size_t num_elements, event_t event);
12674event_t __ovld async_work_group_copy(__local int16 *dst, const __global int16 *src, size_t num_elements, event_t event);
12675event_t __ovld async_work_group_copy(__local uint16 *dst, const __global uint16 *src, size_t num_elements, event_t event);
12676event_t __ovld async_work_group_copy(__local long16 *dst, const __global long16 *src, size_t num_elements, event_t event);
12677event_t __ovld async_work_group_copy(__local ulong16 *dst, const __global ulong16 *src, size_t num_elements, event_t event);
12678event_t __ovld async_work_group_copy(__local float16 *dst, const __global float16 *src, size_t num_elements, event_t event);
12679event_t __ovld async_work_group_copy(__global char *dst, const __local char *src, size_t num_elements, event_t event);
12680event_t __ovld async_work_group_copy(__global uchar *dst, const __local uchar *src, size_t num_elements, event_t event);
12681event_t __ovld async_work_group_copy(__global short *dst, const __local short *src, size_t num_elements, event_t event);
12682event_t __ovld async_work_group_copy(__global ushort *dst, const __local ushort *src, size_t num_elements, event_t event);
12683event_t __ovld async_work_group_copy(__global int *dst, const __local int *src, size_t num_elements, event_t event);
12684event_t __ovld async_work_group_copy(__global uint *dst, const __local uint *src, size_t num_elements, event_t event);
12685event_t __ovld async_work_group_copy(__global long *dst, const __local long *src, size_t num_elements, event_t event);
12686event_t __ovld async_work_group_copy(__global ulong *dst, const __local ulong *src, size_t num_elements, event_t event);
12687event_t __ovld async_work_group_copy(__global float *dst, const __local float *src, size_t num_elements, event_t event);
12688event_t __ovld async_work_group_copy(__global char2 *dst, const __local char2 *src, size_t num_elements, event_t event);
12689event_t __ovld async_work_group_copy(__global uchar2 *dst, const __local uchar2 *src, size_t num_elements, event_t event);
12690event_t __ovld async_work_group_copy(__global short2 *dst, const __local short2 *src, size_t num_elements, event_t event);
12691event_t __ovld async_work_group_copy(__global ushort2 *dst, const __local ushort2 *src, size_t num_elements, event_t event);
12692event_t __ovld async_work_group_copy(__global int2 *dst, const __local int2 *src, size_t num_elements, event_t event);
12693event_t __ovld async_work_group_copy(__global uint2 *dst, const __local uint2 *src, size_t num_elements, event_t event);
12694event_t __ovld async_work_group_copy(__global long2 *dst, const __local long2 *src, size_t num_elements, event_t event);
12695event_t __ovld async_work_group_copy(__global ulong2 *dst, const __local ulong2 *src, size_t num_elements, event_t event);
12696event_t __ovld async_work_group_copy(__global float2 *dst, const __local float2 *src, size_t num_elements, event_t event);
12697event_t __ovld async_work_group_copy(__global char3 *dst, const __local char3 *src, size_t num_elements, event_t event);
12698event_t __ovld async_work_group_copy(__global uchar3 *dst, const __local uchar3 *src, size_t num_elements, event_t event);
12699event_t __ovld async_work_group_copy(__global short3 *dst, const __local short3 *src, size_t num_elements, event_t event);
12700event_t __ovld async_work_group_copy(__global ushort3 *dst, const __local ushort3 *src, size_t num_elements, event_t event);
12701event_t __ovld async_work_group_copy(__global int3 *dst, const __local int3 *src, size_t num_elements, event_t event);
12702event_t __ovld async_work_group_copy(__global uint3 *dst, const __local uint3 *src, size_t num_elements, event_t event);
12703event_t __ovld async_work_group_copy(__global long3 *dst, const __local long3 *src, size_t num_elements, event_t event);
12704event_t __ovld async_work_group_copy(__global ulong3 *dst, const __local ulong3 *src, size_t num_elements, event_t event);
12705event_t __ovld async_work_group_copy(__global float3 *dst, const __local float3 *src, size_t num_elements, event_t event);
12706event_t __ovld async_work_group_copy(__global char4 *dst, const __local char4 *src, size_t num_elements, event_t event);
12707event_t __ovld async_work_group_copy(__global uchar4 *dst, const __local uchar4 *src, size_t num_elements, event_t event);
12708event_t __ovld async_work_group_copy(__global short4 *dst, const __local short4 *src, size_t num_elements, event_t event);
12709event_t __ovld async_work_group_copy(__global ushort4 *dst, const __local ushort4 *src, size_t num_elements, event_t event);
12710event_t __ovld async_work_group_copy(__global int4 *dst, const __local int4 *src, size_t num_elements, event_t event);
12711event_t __ovld async_work_group_copy(__global uint4 *dst, const __local uint4 *src, size_t num_elements, event_t event);
12712event_t __ovld async_work_group_copy(__global long4 *dst, const __local long4 *src, size_t num_elements, event_t event);
12713event_t __ovld async_work_group_copy(__global ulong4 *dst, const __local ulong4 *src, size_t num_elements, event_t event);
12714event_t __ovld async_work_group_copy(__global float4 *dst, const __local float4 *src, size_t num_elements, event_t event);
12715event_t __ovld async_work_group_copy(__global char8 *dst, const __local char8 *src, size_t num_elements, event_t event);
12716event_t __ovld async_work_group_copy(__global uchar8 *dst, const __local uchar8 *src, size_t num_elements, event_t event);
12717event_t __ovld async_work_group_copy(__global short8 *dst, const __local short8 *src, size_t num_elements, event_t event);
12718event_t __ovld async_work_group_copy(__global ushort8 *dst, const __local ushort8 *src, size_t num_elements, event_t event);
12719event_t __ovld async_work_group_copy(__global int8 *dst, const __local int8 *src, size_t num_elements, event_t event);
12720event_t __ovld async_work_group_copy(__global uint8 *dst, const __local uint8 *src, size_t num_elements, event_t event);
12721event_t __ovld async_work_group_copy(__global long8 *dst, const __local long8 *src, size_t num_elements, event_t event);
12722event_t __ovld async_work_group_copy(__global ulong8 *dst, const __local ulong8 *src, size_t num_elements, event_t event);
12723event_t __ovld async_work_group_copy(__global float8 *dst, const __local float8 *src, size_t num_elements, event_t event);
12724event_t __ovld async_work_group_copy(__global char16 *dst, const __local char16 *src, size_t num_elements, event_t event);
12725event_t __ovld async_work_group_copy(__global uchar16 *dst, const __local uchar16 *src, size_t num_elements, event_t event);
12726event_t __ovld async_work_group_copy(__global short16 *dst, const __local short16 *src, size_t num_elements, event_t event);
12727event_t __ovld async_work_group_copy(__global ushort16 *dst, const __local ushort16 *src, size_t num_elements, event_t event);
12728event_t __ovld async_work_group_copy(__global int16 *dst, const __local int16 *src, size_t num_elements, event_t event);
12729event_t __ovld async_work_group_copy(__global uint16 *dst, const __local uint16 *src, size_t num_elements, event_t event);
12730event_t __ovld async_work_group_copy(__global long16 *dst, const __local long16 *src, size_t num_elements, event_t event);
12731event_t __ovld async_work_group_copy(__global ulong16 *dst, const __local ulong16 *src, size_t num_elements, event_t event);
12732event_t __ovld async_work_group_copy(__global float16 *dst, const __local float16 *src, size_t num_elements, event_t event);
12733#ifdef cl_khr_fp64
12734event_t __ovld async_work_group_copy(__local double *dst, const __global double *src, size_t num_elements, event_t event);
12735event_t __ovld async_work_group_copy(__local double2 *dst, const __global double2 *src, size_t num_elements, event_t event);
12736event_t __ovld async_work_group_copy(__local double3 *dst, const __global double3 *src, size_t num_elements, event_t event);
12737event_t __ovld async_work_group_copy(__local double4 *dst, const __global double4 *src, size_t num_elements, event_t event);
12738event_t __ovld async_work_group_copy(__local double8 *dst, const __global double8 *src, size_t num_elements, event_t event);
12739event_t __ovld async_work_group_copy(__local double16 *dst, const __global double16 *src, size_t num_elements, event_t event);
12740event_t __ovld async_work_group_copy(__global double *dst, const __local double *src, size_t num_elements, event_t event);
12741event_t __ovld async_work_group_copy(__global double2 *dst, const __local double2 *src, size_t num_elements, event_t event);
12742event_t __ovld async_work_group_copy(__global double3 *dst, const __local double3 *src, size_t num_elements, event_t event);
12743event_t __ovld async_work_group_copy(__global double4 *dst, const __local double4 *src, size_t num_elements, event_t event);
12744event_t __ovld async_work_group_copy(__global double8 *dst, const __local double8 *src, size_t num_elements, event_t event);
12745event_t __ovld async_work_group_copy(__global double16 *dst, const __local double16 *src, size_t num_elements, event_t event);
12746#endif //cl_khr_fp64
12747#ifdef cl_khr_fp16
12748event_t __ovld async_work_group_copy(__local half *dst, const __global half *src, size_t num_elements, event_t event);
12749event_t __ovld async_work_group_copy(__local half2 *dst, const __global half2 *src, size_t num_elements, event_t event);
12750event_t __ovld async_work_group_copy(__local half3 *dst, const __global half3 *src, size_t num_elements, event_t event);
12751event_t __ovld async_work_group_copy(__local half4 *dst, const __global half4 *src, size_t num_elements, event_t event);
12752event_t __ovld async_work_group_copy(__local half8 *dst, const __global half8 *src, size_t num_elements, event_t event);
12753event_t __ovld async_work_group_copy(__local half16 *dst, const __global half16 *src, size_t num_elements, event_t event);
12754event_t __ovld async_work_group_copy(__global half *dst, const __local half *src, size_t num_elements, event_t event);
12755event_t __ovld async_work_group_copy(__global half2 *dst, const __local half2 *src, size_t num_elements, event_t event);
12756event_t __ovld async_work_group_copy(__global half3 *dst, const __local half3 *src, size_t num_elements, event_t event);
12757event_t __ovld async_work_group_copy(__global half4 *dst, const __local half4 *src, size_t num_elements, event_t event);
12758event_t __ovld async_work_group_copy(__global half8 *dst, const __local half8 *src, size_t num_elements, event_t event);
12759event_t __ovld async_work_group_copy(__global half16 *dst, const __local half16 *src, size_t num_elements, event_t event);
12760#endif //cl_khr_fp16
12761
12762/**
12763 * Perform an async gather of num_elements
12764 * gentype elements from src to dst. The
12765 * src_stride is the stride in elements for each
12766 * gentype element read from src. The dst_stride
12767 * is the stride in elements for each gentype
12768 * element written to dst. The async gather is
12769 * performed by all work-items in a work-group.
12770 * This built-in function must therefore be
12771 * encountered by all work-items in a work-group
12772 * executing the kernel with the same argument
12773 * values; otherwise the results are undefined.
12774 * Returns an event object that can be used by
12775 * wait_group_events to wait for the async copy
12776 * to finish. The event argument can also be used
12777 * to associate the
12778 * async_work_group_strided_copy with a
12779 * previous async copy allowing an event to be
12780 * shared by multiple async copies; otherwise event
12781 * should be zero.
12782 * If event argument is non-zero, the event object
12783 * supplied in event argument will be returned.
12784 * This function does not perform any implicit
12785 * synchronization of source data such as using a
12786 * barrier before performing the copy.
12787 */
12788event_t __ovld async_work_group_strided_copy(__local char *dst, const __global char *src, size_t num_elements, size_t src_stride, event_t event);
12789event_t __ovld async_work_group_strided_copy(__local uchar *dst, const __global uchar *src, size_t num_elements, size_t src_stride, event_t event);
12790event_t __ovld async_work_group_strided_copy(__local short *dst, const __global short *src, size_t num_elements, size_t src_stride, event_t event);
12791event_t __ovld async_work_group_strided_copy(__local ushort *dst, const __global ushort *src, size_t num_elements, size_t src_stride, event_t event);
12792event_t __ovld async_work_group_strided_copy(__local int *dst, const __global int *src, size_t num_elements, size_t src_stride, event_t event);
12793event_t __ovld async_work_group_strided_copy(__local uint *dst, const __global uint *src, size_t num_elements, size_t src_stride, event_t event);
12794event_t __ovld async_work_group_strided_copy(__local long *dst, const __global long *src, size_t num_elements, size_t src_stride, event_t event);
12795event_t __ovld async_work_group_strided_copy(__local ulong *dst, const __global ulong *src, size_t num_elements, size_t src_stride, event_t event);
12796event_t __ovld async_work_group_strided_copy(__local float *dst, const __global float *src, size_t num_elements, size_t src_stride, event_t event);
12797event_t __ovld async_work_group_strided_copy(__local char2 *dst, const __global char2 *src, size_t num_elements, size_t src_stride, event_t event);
12798event_t __ovld async_work_group_strided_copy(__local uchar2 *dst, const __global uchar2 *src, size_t num_elements, size_t src_stride, event_t event);
12799event_t __ovld async_work_group_strided_copy(__local short2 *dst, const __global short2 *src, size_t num_elements, size_t src_stride, event_t event);
12800event_t __ovld async_work_group_strided_copy(__local ushort2 *dst, const __global ushort2 *src, size_t num_elements, size_t src_stride, event_t event);
12801event_t __ovld async_work_group_strided_copy(__local int2 *dst, const __global int2 *src, size_t num_elements, size_t src_stride, event_t event);
12802event_t __ovld async_work_group_strided_copy(__local uint2 *dst, const __global uint2 *src, size_t num_elements, size_t src_stride, event_t event);
12803event_t __ovld async_work_group_strided_copy(__local long2 *dst, const __global long2 *src, size_t num_elements, size_t src_stride, event_t event);
12804event_t __ovld async_work_group_strided_copy(__local ulong2 *dst, const __global ulong2 *src, size_t num_elements, size_t src_stride, event_t event);
12805event_t __ovld async_work_group_strided_copy(__local float2 *dst, const __global float2 *src, size_t num_elements, size_t src_stride, event_t event);
12806event_t __ovld async_work_group_strided_copy(__local char3 *dst, const __global char3 *src, size_t num_elements, size_t src_stride, event_t event);
12807event_t __ovld async_work_group_strided_copy(__local uchar3 *dst, const __global uchar3 *src, size_t num_elements, size_t src_stride, event_t event);
12808event_t __ovld async_work_group_strided_copy(__local short3 *dst, const __global short3 *src, size_t num_elements, size_t src_stride, event_t event);
12809event_t __ovld async_work_group_strided_copy(__local ushort3 *dst, const __global ushort3 *src, size_t num_elements, size_t src_stride, event_t event);
12810event_t __ovld async_work_group_strided_copy(__local int3 *dst, const __global int3 *src, size_t num_elements, size_t src_stride, event_t event);
12811event_t __ovld async_work_group_strided_copy(__local uint3 *dst, const __global uint3 *src, size_t num_elements, size_t src_stride, event_t event);
12812event_t __ovld async_work_group_strided_copy(__local long3 *dst, const __global long3 *src, size_t num_elements, size_t src_stride, event_t event);
12813event_t __ovld async_work_group_strided_copy(__local ulong3 *dst, const __global ulong3 *src, size_t num_elements, size_t src_stride, event_t event);
12814event_t __ovld async_work_group_strided_copy(__local float3 *dst, const __global float3 *src, size_t num_elements, size_t src_stride, event_t event);
12815event_t __ovld async_work_group_strided_copy(__local char4 *dst, const __global char4 *src, size_t num_elements, size_t src_stride, event_t event);
12816event_t __ovld async_work_group_strided_copy(__local uchar4 *dst, const __global uchar4 *src, size_t num_elements, size_t src_stride, event_t event);
12817event_t __ovld async_work_group_strided_copy(__local short4 *dst, const __global short4 *src, size_t num_elements, size_t src_stride, event_t event);
12818event_t __ovld async_work_group_strided_copy(__local ushort4 *dst, const __global ushort4 *src, size_t num_elements, size_t src_stride, event_t event);
12819event_t __ovld async_work_group_strided_copy(__local int4 *dst, const __global int4 *src, size_t num_elements, size_t src_stride, event_t event);
12820event_t __ovld async_work_group_strided_copy(__local uint4 *dst, const __global uint4 *src, size_t num_elements, size_t src_stride, event_t event);
12821event_t __ovld async_work_group_strided_copy(__local long4 *dst, const __global long4 *src, size_t num_elements, size_t src_stride, event_t event);
12822event_t __ovld async_work_group_strided_copy(__local ulong4 *dst, const __global ulong4 *src, size_t num_elements, size_t src_stride, event_t event);
12823event_t __ovld async_work_group_strided_copy(__local float4 *dst, const __global float4 *src, size_t num_elements, size_t src_stride, event_t event);
12824event_t __ovld async_work_group_strided_copy(__local char8 *dst, const __global char8 *src, size_t num_elements, size_t src_stride, event_t event);
12825event_t __ovld async_work_group_strided_copy(__local uchar8 *dst, const __global uchar8 *src, size_t num_elements, size_t src_stride, event_t event);
12826event_t __ovld async_work_group_strided_copy(__local short8 *dst, const __global short8 *src, size_t num_elements, size_t src_stride, event_t event);
12827event_t __ovld async_work_group_strided_copy(__local ushort8 *dst, const __global ushort8 *src, size_t num_elements, size_t src_stride, event_t event);
12828event_t __ovld async_work_group_strided_copy(__local int8 *dst, const __global int8 *src, size_t num_elements, size_t src_stride, event_t event);
12829event_t __ovld async_work_group_strided_copy(__local uint8 *dst, const __global uint8 *src, size_t num_elements, size_t src_stride, event_t event);
12830event_t __ovld async_work_group_strided_copy(__local long8 *dst, const __global long8 *src, size_t num_elements, size_t src_stride, event_t event);
12831event_t __ovld async_work_group_strided_copy(__local ulong8 *dst, const __global ulong8 *src, size_t num_elements, size_t src_stride, event_t event);
12832event_t __ovld async_work_group_strided_copy(__local float8 *dst, const __global float8 *src, size_t num_elements, size_t src_stride, event_t event);
12833event_t __ovld async_work_group_strided_copy(__local char16 *dst, const __global char16 *src, size_t num_elements, size_t src_stride, event_t event);
12834event_t __ovld async_work_group_strided_copy(__local uchar16 *dst, const __global uchar16 *src, size_t num_elements, size_t src_stride, event_t event);
12835event_t __ovld async_work_group_strided_copy(__local short16 *dst, const __global short16 *src, size_t num_elements, size_t src_stride, event_t event);
12836event_t __ovld async_work_group_strided_copy(__local ushort16 *dst, const __global ushort16 *src, size_t num_elements, size_t src_stride, event_t event);
12837event_t __ovld async_work_group_strided_copy(__local int16 *dst, const __global int16 *src, size_t num_elements, size_t src_stride, event_t event);
12838event_t __ovld async_work_group_strided_copy(__local uint16 *dst, const __global uint16 *src, size_t num_elements, size_t src_stride, event_t event);
12839event_t __ovld async_work_group_strided_copy(__local long16 *dst, const __global long16 *src, size_t num_elements, size_t src_stride, event_t event);
12840event_t __ovld async_work_group_strided_copy(__local ulong16 *dst, const __global ulong16 *src, size_t num_elements, size_t src_stride, event_t event);
12841event_t __ovld async_work_group_strided_copy(__local float16 *dst, const __global float16 *src, size_t num_elements, size_t src_stride, event_t event);
12842event_t __ovld async_work_group_strided_copy(__global char *dst, const __local char *src, size_t num_elements, size_t dst_stride, event_t event);
12843event_t __ovld async_work_group_strided_copy(__global uchar *dst, const __local uchar *src, size_t num_elements, size_t dst_stride, event_t event);
12844event_t __ovld async_work_group_strided_copy(__global short *dst, const __local short *src, size_t num_elements, size_t dst_stride, event_t event);
12845event_t __ovld async_work_group_strided_copy(__global ushort *dst, const __local ushort *src, size_t num_elements, size_t dst_stride, event_t event);
12846event_t __ovld async_work_group_strided_copy(__global int *dst, const __local int *src, size_t num_elements, size_t dst_stride, event_t event);
12847event_t __ovld async_work_group_strided_copy(__global uint *dst, const __local uint *src, size_t num_elements, size_t dst_stride, event_t event);
12848event_t __ovld async_work_group_strided_copy(__global long *dst, const __local long *src, size_t num_elements, size_t dst_stride, event_t event);
12849event_t __ovld async_work_group_strided_copy(__global ulong *dst, const __local ulong *src, size_t num_elements, size_t dst_stride, event_t event);
12850event_t __ovld async_work_group_strided_copy(__global float *dst, const __local float *src, size_t num_elements, size_t dst_stride, event_t event);
12851event_t __ovld async_work_group_strided_copy(__global char2 *dst, const __local char2 *src, size_t num_elements, size_t dst_stride, event_t event);
12852event_t __ovld async_work_group_strided_copy(__global uchar2 *dst, const __local uchar2 *src, size_t num_elements, size_t dst_stride, event_t event);
12853event_t __ovld async_work_group_strided_copy(__global short2 *dst, const __local short2 *src, size_t num_elements, size_t dst_stride, event_t event);
12854event_t __ovld async_work_group_strided_copy(__global ushort2 *dst, const __local ushort2 *src, size_t num_elements, size_t dst_stride, event_t event);
12855event_t __ovld async_work_group_strided_copy(__global int2 *dst, const __local int2 *src, size_t num_elements, size_t dst_stride, event_t event);
12856event_t __ovld async_work_group_strided_copy(__global uint2 *dst, const __local uint2 *src, size_t num_elements, size_t dst_stride, event_t event);
12857event_t __ovld async_work_group_strided_copy(__global long2 *dst, const __local long2 *src, size_t num_elements, size_t dst_stride, event_t event);
12858event_t __ovld async_work_group_strided_copy(__global ulong2 *dst, const __local ulong2 *src, size_t num_elements, size_t dst_stride, event_t event);
12859event_t __ovld async_work_group_strided_copy(__global float2 *dst, const __local float2 *src, size_t num_elements, size_t dst_stride, event_t event);
12860event_t __ovld async_work_group_strided_copy(__global char3 *dst, const __local char3 *src, size_t num_elements, size_t dst_stride, event_t event);
12861event_t __ovld async_work_group_strided_copy(__global uchar3 *dst, const __local uchar3 *src, size_t num_elements, size_t dst_stride, event_t event);
12862event_t __ovld async_work_group_strided_copy(__global short3 *dst, const __local short3 *src, size_t num_elements, size_t dst_stride, event_t event);
12863event_t __ovld async_work_group_strided_copy(__global ushort3 *dst, const __local ushort3 *src, size_t num_elements, size_t dst_stride, event_t event);
12864event_t __ovld async_work_group_strided_copy(__global int3 *dst, const __local int3 *src, size_t num_elements, size_t dst_stride, event_t event);
12865event_t __ovld async_work_group_strided_copy(__global uint3 *dst, const __local uint3 *src, size_t num_elements, size_t dst_stride, event_t event);
12866event_t __ovld async_work_group_strided_copy(__global long3 *dst, const __local long3 *src, size_t num_elements, size_t dst_stride, event_t event);
12867event_t __ovld async_work_group_strided_copy(__global ulong3 *dst, const __local ulong3 *src, size_t num_elements, size_t dst_stride, event_t event);
12868event_t __ovld async_work_group_strided_copy(__global float3 *dst, const __local float3 *src, size_t num_elements, size_t dst_stride, event_t event);
12869event_t __ovld async_work_group_strided_copy(__global char4 *dst, const __local char4 *src, size_t num_elements, size_t dst_stride, event_t event);
12870event_t __ovld async_work_group_strided_copy(__global uchar4 *dst, const __local uchar4 *src, size_t num_elements, size_t dst_stride, event_t event);
12871event_t __ovld async_work_group_strided_copy(__global short4 *dst, const __local short4 *src, size_t num_elements, size_t dst_stride, event_t event);
12872event_t __ovld async_work_group_strided_copy(__global ushort4 *dst, const __local ushort4 *src, size_t num_elements, size_t dst_stride, event_t event);
12873event_t __ovld async_work_group_strided_copy(__global int4 *dst, const __local int4 *src, size_t num_elements, size_t dst_stride, event_t event);
12874event_t __ovld async_work_group_strided_copy(__global uint4 *dst, const __local uint4 *src, size_t num_elements, size_t dst_stride, event_t event);
12875event_t __ovld async_work_group_strided_copy(__global long4 *dst, const __local long4 *src, size_t num_elements, size_t dst_stride, event_t event);
12876event_t __ovld async_work_group_strided_copy(__global ulong4 *dst, const __local ulong4 *src, size_t num_elements, size_t dst_stride, event_t event);
12877event_t __ovld async_work_group_strided_copy(__global float4 *dst, const __local float4 *src, size_t num_elements, size_t dst_stride, event_t event);
12878event_t __ovld async_work_group_strided_copy(__global char8 *dst, const __local char8 *src, size_t num_elements, size_t dst_stride, event_t event);
12879event_t __ovld async_work_group_strided_copy(__global uchar8 *dst, const __local uchar8 *src, size_t num_elements, size_t dst_stride, event_t event);
12880event_t __ovld async_work_group_strided_copy(__global short8 *dst, const __local short8 *src, size_t num_elements, size_t dst_stride, event_t event);
12881event_t __ovld async_work_group_strided_copy(__global ushort8 *dst, const __local ushort8 *src, size_t num_elements, size_t dst_stride, event_t event);
12882event_t __ovld async_work_group_strided_copy(__global int8 *dst, const __local int8 *src, size_t num_elements, size_t dst_stride, event_t event);
12883event_t __ovld async_work_group_strided_copy(__global uint8 *dst, const __local uint8 *src, size_t num_elements, size_t dst_stride, event_t event);
12884event_t __ovld async_work_group_strided_copy(__global long8 *dst, const __local long8 *src, size_t num_elements, size_t dst_stride, event_t event);
12885event_t __ovld async_work_group_strided_copy(__global ulong8 *dst, const __local ulong8 *src, size_t num_elements, size_t dst_stride, event_t event);
12886event_t __ovld async_work_group_strided_copy(__global float8 *dst, const __local float8 *src, size_t num_elements, size_t dst_stride, event_t event);
12887event_t __ovld async_work_group_strided_copy(__global char16 *dst, const __local char16 *src, size_t num_elements, size_t dst_stride, event_t event);
12888event_t __ovld async_work_group_strided_copy(__global uchar16 *dst, const __local uchar16 *src, size_t num_elements, size_t dst_stride, event_t event);
12889event_t __ovld async_work_group_strided_copy(__global short16 *dst, const __local short16 *src, size_t num_elements, size_t dst_stride, event_t event);
12890event_t __ovld async_work_group_strided_copy(__global ushort16 *dst, const __local ushort16 *src, size_t num_elements, size_t dst_stride, event_t event);
12891event_t __ovld async_work_group_strided_copy(__global int16 *dst, const __local int16 *src, size_t num_elements, size_t dst_stride, event_t event);
12892event_t __ovld async_work_group_strided_copy(__global uint16 *dst, const __local uint16 *src, size_t num_elements, size_t dst_stride, event_t event);
12893event_t __ovld async_work_group_strided_copy(__global long16 *dst, const __local long16 *src, size_t num_elements, size_t dst_stride, event_t event);
12894event_t __ovld async_work_group_strided_copy(__global ulong16 *dst, const __local ulong16 *src, size_t num_elements, size_t dst_stride, event_t event);
12895event_t __ovld async_work_group_strided_copy(__global float16 *dst, const __local float16 *src, size_t num_elements, size_t dst_stride, event_t event);
12896#ifdef cl_khr_fp64
12897event_t __ovld async_work_group_strided_copy(__local double *dst, const __global double *src, size_t num_elements, size_t src_stride, event_t event);
12898event_t __ovld async_work_group_strided_copy(__local double2 *dst, const __global double2 *src, size_t num_elements, size_t src_stride, event_t event);
12899event_t __ovld async_work_group_strided_copy(__local double3 *dst, const __global double3 *src, size_t num_elements, size_t src_stride, event_t event);
12900event_t __ovld async_work_group_strided_copy(__local double4 *dst, const __global double4 *src, size_t num_elements, size_t src_stride, event_t event);
12901event_t __ovld async_work_group_strided_copy(__local double8 *dst, const __global double8 *src, size_t num_elements, size_t src_stride, event_t event);
12902event_t __ovld async_work_group_strided_copy(__local double16 *dst, const __global double16 *src, size_t num_elements, size_t src_stride, event_t event);
12903event_t __ovld async_work_group_strided_copy(__global double *dst, const __local double *src, size_t num_elements, size_t dst_stride, event_t event);
12904event_t __ovld async_work_group_strided_copy(__global double2 *dst, const __local double2 *src, size_t num_elements, size_t dst_stride, event_t event);
12905event_t __ovld async_work_group_strided_copy(__global double3 *dst, const __local double3 *src, size_t num_elements, size_t dst_stride, event_t event);
12906event_t __ovld async_work_group_strided_copy(__global double4 *dst, const __local double4 *src, size_t num_elements, size_t dst_stride, event_t event);
12907event_t __ovld async_work_group_strided_copy(__global double8 *dst, const __local double8 *src, size_t num_elements, size_t dst_stride, event_t event);
12908event_t __ovld async_work_group_strided_copy(__global double16 *dst, const __local double16 *src, size_t num_elements, size_t dst_stride, event_t event);
12909#endif //cl_khr_fp64
12910#ifdef cl_khr_fp16
12911event_t __ovld async_work_group_strided_copy(__local half *dst, const __global half *src, size_t num_elements, size_t src_stride, event_t event);
12912event_t __ovld async_work_group_strided_copy(__local half2 *dst, const __global half2 *src, size_t num_elements, size_t src_stride, event_t event);
12913event_t __ovld async_work_group_strided_copy(__local half3 *dst, const __global half3 *src, size_t num_elements, size_t src_stride, event_t event);
12914event_t __ovld async_work_group_strided_copy(__local half4 *dst, const __global half4 *src, size_t num_elements, size_t src_stride, event_t event);
12915event_t __ovld async_work_group_strided_copy(__local half8 *dst, const __global half8 *src, size_t num_elements, size_t src_stride, event_t event);
12916event_t __ovld async_work_group_strided_copy(__local half16 *dst, const __global half16 *src, size_t num_elements, size_t src_stride, event_t event);
12917event_t __ovld async_work_group_strided_copy(__global half *dst, const __local half *src, size_t num_elements, size_t dst_stride, event_t event);
12918event_t __ovld async_work_group_strided_copy(__global half2 *dst, const __local half2 *src, size_t num_elements, size_t dst_stride, event_t event);
12919event_t __ovld async_work_group_strided_copy(__global half3 *dst, const __local half3 *src, size_t num_elements, size_t dst_stride, event_t event);
12920event_t __ovld async_work_group_strided_copy(__global half4 *dst, const __local half4 *src, size_t num_elements, size_t dst_stride, event_t event);
12921event_t __ovld async_work_group_strided_copy(__global half8 *dst, const __local half8 *src, size_t num_elements, size_t dst_stride, event_t event);
12922event_t __ovld async_work_group_strided_copy(__global half16 *dst, const __local half16 *src, size_t num_elements, size_t dst_stride, event_t event);
12923#endif //cl_khr_fp16
12924
12925/**
12926 * Wait for events that identify the
12927 * async_work_group_copy operations to
12928 * complete. The event objects specified in
12929 * event_list will be released after the wait is
12930 * performed.
12931 * This function must be encountered by all workitems
12932 * in a work-group executing the kernel with
12933 * the same num_events and event objects specified
12934 * in event_list; otherwise the results are undefined.
12935 */
12936void __ovld wait_group_events(int num_events, event_t *event_list);
12937
12938/**
12939 * Prefetch num_elements * sizeof(gentype)
12940 * bytes into the global cache. The prefetch
12941 * instruction is applied to a work-item in a workgroup
12942 * and does not affect the functional
12943 * behavior of the kernel.
12944 */
12945void __ovld prefetch(const __global char *p, size_t num_elements);
12946void __ovld prefetch(const __global uchar *p, size_t num_elements);
12947void __ovld prefetch(const __global short *p, size_t num_elements);
12948void __ovld prefetch(const __global ushort *p, size_t num_elements);
12949void __ovld prefetch(const __global int *p, size_t num_elements);
12950void __ovld prefetch(const __global uint *p, size_t num_elements);
12951void __ovld prefetch(const __global long *p, size_t num_elements);
12952void __ovld prefetch(const __global ulong *p, size_t num_elements);
12953void __ovld prefetch(const __global float *p, size_t num_elements);
12954void __ovld prefetch(const __global char2 *p, size_t num_elements);
12955void __ovld prefetch(const __global uchar2 *p, size_t num_elements);
12956void __ovld prefetch(const __global short2 *p, size_t num_elements);
12957void __ovld prefetch(const __global ushort2 *p, size_t num_elements);
12958void __ovld prefetch(const __global int2 *p, size_t num_elements);
12959void __ovld prefetch(const __global uint2 *p, size_t num_elements);
12960void __ovld prefetch(const __global long2 *p, size_t num_elements);
12961void __ovld prefetch(const __global ulong2 *p, size_t num_elements);
12962void __ovld prefetch(const __global float2 *p, size_t num_elements);
12963void __ovld prefetch(const __global char3 *p, size_t num_elements);
12964void __ovld prefetch(const __global uchar3 *p, size_t num_elements);
12965void __ovld prefetch(const __global short3 *p, size_t num_elements);
12966void __ovld prefetch(const __global ushort3 *p, size_t num_elements);
12967void __ovld prefetch(const __global int3 *p, size_t num_elements);
12968void __ovld prefetch(const __global uint3 *p, size_t num_elements);
12969void __ovld prefetch(const __global long3 *p, size_t num_elements);
12970void __ovld prefetch(const __global ulong3 *p, size_t num_elements);
12971void __ovld prefetch(const __global float3 *p, size_t num_elements);
12972void __ovld prefetch(const __global char4 *p, size_t num_elements);
12973void __ovld prefetch(const __global uchar4 *p, size_t num_elements);
12974void __ovld prefetch(const __global short4 *p, size_t num_elements);
12975void __ovld prefetch(const __global ushort4 *p, size_t num_elements);
12976void __ovld prefetch(const __global int4 *p, size_t num_elements);
12977void __ovld prefetch(const __global uint4 *p, size_t num_elements);
12978void __ovld prefetch(const __global long4 *p, size_t num_elements);
12979void __ovld prefetch(const __global ulong4 *p, size_t num_elements);
12980void __ovld prefetch(const __global float4 *p, size_t num_elements);
12981void __ovld prefetch(const __global char8 *p, size_t num_elements);
12982void __ovld prefetch(const __global uchar8 *p, size_t num_elements);
12983void __ovld prefetch(const __global short8 *p, size_t num_elements);
12984void __ovld prefetch(const __global ushort8 *p, size_t num_elements);
12985void __ovld prefetch(const __global int8 *p, size_t num_elements);
12986void __ovld prefetch(const __global uint8 *p, size_t num_elements);
12987void __ovld prefetch(const __global long8 *p, size_t num_elements);
12988void __ovld prefetch(const __global ulong8 *p, size_t num_elements);
12989void __ovld prefetch(const __global float8 *p, size_t num_elements);
12990void __ovld prefetch(const __global char16 *p, size_t num_elements);
12991void __ovld prefetch(const __global uchar16 *p, size_t num_elements);
12992void __ovld prefetch(const __global short16 *p, size_t num_elements);
12993void __ovld prefetch(const __global ushort16 *p, size_t num_elements);
12994void __ovld prefetch(const __global int16 *p, size_t num_elements);
12995void __ovld prefetch(const __global uint16 *p, size_t num_elements);
12996void __ovld prefetch(const __global long16 *p, size_t num_elements);
12997void __ovld prefetch(const __global ulong16 *p, size_t num_elements);
12998void __ovld prefetch(const __global float16 *p, size_t num_elements);
12999#ifdef cl_khr_fp64
13000void __ovld prefetch(const __global double *p, size_t num_elements);
13001void __ovld prefetch(const __global double2 *p, size_t num_elements);
13002void __ovld prefetch(const __global double3 *p, size_t num_elements);
13003void __ovld prefetch(const __global double4 *p, size_t num_elements);
13004void __ovld prefetch(const __global double8 *p, size_t num_elements);
13005void __ovld prefetch(const __global double16 *p, size_t num_elements);
13006#endif //cl_khr_fp64
13007#ifdef cl_khr_fp16
13008void __ovld prefetch(const __global half *p, size_t num_elements);
13009void __ovld prefetch(const __global half2 *p, size_t num_elements);
13010void __ovld prefetch(const __global half3 *p, size_t num_elements);
13011void __ovld prefetch(const __global half4 *p, size_t num_elements);
13012void __ovld prefetch(const __global half8 *p, size_t num_elements);
13013void __ovld prefetch(const __global half16 *p, size_t num_elements);
13014#endif // cl_khr_fp16
13015
13016// OpenCL v1.1 s6.11.1, v1.2 s6.12.11 - Atomic Functions
13017
13018#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13019#pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
13020#pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
13021#endif
13022/**
13023 * Read the 32-bit value (referred to as old)
13024 * stored at location pointed by p. Compute
13025 * (old + val) and store result at location
13026 * pointed by p. The function returns old.
13027 */
13028int __ovld atomic_add(volatile __global int *p, int val);
13029unsigned int __ovld atomic_add(volatile __global unsigned int *p, unsigned int val);
13030int __ovld atomic_add(volatile __local int *p, int val);
13031unsigned int __ovld atomic_add(volatile __local unsigned int *p, unsigned int val);
13032#ifdef __OPENCL_CPP_VERSION__
13033int __ovld atomic_add(volatile int *p, int val);
13034unsigned int __ovld atomic_add(volatile unsigned int *p, unsigned int val);
13035#endif
13036
13037#if defined(cl_khr_global_int32_base_atomics)
13038int __ovld atom_add(volatile __global int *p, int val);
13039unsigned int __ovld atom_add(volatile __global unsigned int *p, unsigned int val);
13040#endif
13041#if defined(cl_khr_local_int32_base_atomics)
13042int __ovld atom_add(volatile __local int *p, int val);
13043unsigned int __ovld atom_add(volatile __local unsigned int *p, unsigned int val);
13044#endif
13045
13046#if defined(cl_khr_int64_base_atomics)
13047long __ovld atom_add(volatile __global long *p, long val);
13048unsigned long __ovld atom_add(volatile __global unsigned long *p, unsigned long val);
13049long __ovld atom_add(volatile __local long *p, long val);
13050unsigned long __ovld atom_add(volatile __local unsigned long *p, unsigned long val);
13051#endif
13052
13053/**
13054 * Read the 32-bit value (referred to as old) stored at location pointed by p.
13055 * Compute (old - val) and store result at location pointed by p. The function
13056 * returns old.
13057 */
13058int __ovld atomic_sub(volatile __global int *p, int val);
13059unsigned int __ovld atomic_sub(volatile __global unsigned int *p, unsigned int val);
13060int __ovld atomic_sub(volatile __local int *p, int val);
13061unsigned int __ovld atomic_sub(volatile __local unsigned int *p, unsigned int val);
13062#ifdef __OPENCL_CPP_VERSION__
13063int __ovld atomic_sub(volatile int *p, int val);
13064unsigned int __ovld atomic_sub(volatile unsigned int *p, unsigned int val);
13065#endif
13066
13067#if defined(cl_khr_global_int32_base_atomics)
13068int __ovld atom_sub(volatile __global int *p, int val);
13069unsigned int __ovld atom_sub(volatile __global unsigned int *p, unsigned int val);
13070#endif
13071#if defined(cl_khr_local_int32_base_atomics)
13072int __ovld atom_sub(volatile __local int *p, int val);
13073unsigned int __ovld atom_sub(volatile __local unsigned int *p, unsigned int val);
13074#endif
13075
13076#if defined(cl_khr_int64_base_atomics)
13077long __ovld atom_sub(volatile __global long *p, long val);
13078unsigned long __ovld atom_sub(volatile __global unsigned long *p, unsigned long val);
13079long __ovld atom_sub(volatile __local long *p, long val);
13080unsigned long __ovld atom_sub(volatile __local unsigned long *p, unsigned long val);
13081#endif
13082
13083/**
13084 * Swaps the old value stored at location p
13085 * with new value given by val. Returns old
13086 * value.
13087 */
13088int __ovld atomic_xchg(volatile __global int *p, int val);
13089unsigned int __ovld atomic_xchg(volatile __global unsigned int *p, unsigned int val);
13090int __ovld atomic_xchg(volatile __local int *p, int val);
13091unsigned int __ovld atomic_xchg(volatile __local unsigned int *p, unsigned int val);
13092float __ovld atomic_xchg(volatile __global float *p, float val);
13093float __ovld atomic_xchg(volatile __local float *p, float val);
13094#ifdef __OPENCL_CPP_VERSION__
13095int __ovld atomic_xchg(volatile int *p, int val);
13096unsigned int __ovld atomic_xchg(volatile unsigned int *p, unsigned int val);
13097float __ovld atomic_xchg(volatile float *p, float val);
13098#endif
13099
13100#if defined(cl_khr_global_int32_base_atomics)
13101int __ovld atom_xchg(volatile __global int *p, int val);
13102unsigned int __ovld atom_xchg(volatile __global unsigned int *p, unsigned int val);
13103#endif
13104#if defined(cl_khr_local_int32_base_atomics)
13105int __ovld atom_xchg(volatile __local int *p, int val);
13106unsigned int __ovld atom_xchg(volatile __local unsigned int *p, unsigned int val);
13107#endif
13108
13109#if defined(cl_khr_int64_base_atomics)
13110long __ovld atom_xchg(volatile __global long *p, long val);
13111long __ovld atom_xchg(volatile __local long *p, long val);
13112unsigned long __ovld atom_xchg(volatile __global unsigned long *p, unsigned long val);
13113unsigned long __ovld atom_xchg(volatile __local unsigned long *p, unsigned long val);
13114#endif
13115
13116/**
13117 * Read the 32-bit value (referred to as old)
13118 * stored at location pointed by p. Compute
13119 * (old + 1) and store result at location
13120 * pointed by p. The function returns old.
13121 */
13122int __ovld atomic_inc(volatile __global int *p);
13123unsigned int __ovld atomic_inc(volatile __global unsigned int *p);
13124int __ovld atomic_inc(volatile __local int *p);
13125unsigned int __ovld atomic_inc(volatile __local unsigned int *p);
13126#ifdef __OPENCL_CPP_VERSION__
13127int __ovld atomic_inc(volatile int *p);
13128unsigned int __ovld atomic_inc(volatile unsigned int *p);
13129#endif
13130
13131#if defined(cl_khr_global_int32_base_atomics)
13132int __ovld atom_inc(volatile __global int *p);
13133unsigned int __ovld atom_inc(volatile __global unsigned int *p);
13134#endif
13135#if defined(cl_khr_local_int32_base_atomics)
13136int __ovld atom_inc(volatile __local int *p);
13137unsigned int __ovld atom_inc(volatile __local unsigned int *p);
13138#endif
13139
13140#if defined(cl_khr_int64_base_atomics)
13141long __ovld atom_inc(volatile __global long *p);
13142unsigned long __ovld atom_inc(volatile __global unsigned long *p);
13143long __ovld atom_inc(volatile __local long *p);
13144unsigned long __ovld atom_inc(volatile __local unsigned long *p);
13145#endif
13146
13147/**
13148 * Read the 32-bit value (referred to as old)
13149 * stored at location pointed by p. Compute
13150 * (old - 1) and store result at location
13151 * pointed by p. The function returns old.
13152 */
13153int __ovld atomic_dec(volatile __global int *p);
13154unsigned int __ovld atomic_dec(volatile __global unsigned int *p);
13155int __ovld atomic_dec(volatile __local int *p);
13156unsigned int __ovld atomic_dec(volatile __local unsigned int *p);
13157#ifdef __OPENCL_CPP_VERSION__
13158int __ovld atomic_dec(volatile int *p);
13159unsigned int __ovld atomic_dec(volatile unsigned int *p);
13160#endif
13161
13162#if defined(cl_khr_global_int32_base_atomics)
13163int __ovld atom_dec(volatile __global int *p);
13164unsigned int __ovld atom_dec(volatile __global unsigned int *p);
13165#endif
13166#if defined(cl_khr_local_int32_base_atomics)
13167int __ovld atom_dec(volatile __local int *p);
13168unsigned int __ovld atom_dec(volatile __local unsigned int *p);
13169#endif
13170
13171#if defined(cl_khr_int64_base_atomics)
13172long __ovld atom_dec(volatile __global long *p);
13173unsigned long __ovld atom_dec(volatile __global unsigned long *p);
13174long __ovld atom_dec(volatile __local long *p);
13175unsigned long __ovld atom_dec(volatile __local unsigned long *p);
13176#endif
13177
13178/**
13179 * Read the 32-bit value (referred to as old)
13180 * stored at location pointed by p. Compute
13181 * (old == cmp) ? val : old and store result at
13182 * location pointed by p. The function
13183 * returns old.
13184 */
13185int __ovld atomic_cmpxchg(volatile __global int *p, int cmp, int val);
13186unsigned int __ovld atomic_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
13187int __ovld atomic_cmpxchg(volatile __local int *p, int cmp, int val);
13188unsigned int __ovld atomic_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
13189#ifdef __OPENCL_CPP_VERSION__
13190int __ovld atomic_cmpxchg(volatile int *p, int cmp, int val);
13191unsigned int __ovld atomic_cmpxchg(volatile unsigned int *p, unsigned int cmp, unsigned int val);
13192#endif
13193
13194#if defined(cl_khr_global_int32_base_atomics)
13195int __ovld atom_cmpxchg(volatile __global int *p, int cmp, int val);
13196unsigned int __ovld atom_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
13197#endif
13198#if defined(cl_khr_local_int32_base_atomics)
13199int __ovld atom_cmpxchg(volatile __local int *p, int cmp, int val);
13200unsigned int __ovld atom_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
13201#endif
13202
13203#if defined(cl_khr_int64_base_atomics)
13204long __ovld atom_cmpxchg(volatile __global long *p, long cmp, long val);
13205unsigned long __ovld atom_cmpxchg(volatile __global unsigned long *p, unsigned long cmp, unsigned long val);
13206long __ovld atom_cmpxchg(volatile __local long *p, long cmp, long val);
13207unsigned long __ovld atom_cmpxchg(volatile __local unsigned long *p, unsigned long cmp, unsigned long val);
13208#endif
13209
13210/**
13211 * Read the 32-bit value (referred to as old)
13212 * stored at location pointed by p. Compute
13213 * min(old, val) and store minimum value at
13214 * location pointed by p. The function
13215 * returns old.
13216 */
13217int __ovld atomic_min(volatile __global int *p, int val);
13218unsigned int __ovld atomic_min(volatile __global unsigned int *p, unsigned int val);
13219int __ovld atomic_min(volatile __local int *p, int val);
13220unsigned int __ovld atomic_min(volatile __local unsigned int *p, unsigned int val);
13221#ifdef __OPENCL_CPP_VERSION__
13222int __ovld atomic_min(volatile int *p, int val);
13223unsigned int __ovld atomic_min(volatile unsigned int *p, unsigned int val);
13224#endif
13225
13226#if defined(cl_khr_global_int32_extended_atomics)
13227int __ovld atom_min(volatile __global int *p, int val);
13228unsigned int __ovld atom_min(volatile __global unsigned int *p, unsigned int val);
13229#endif
13230#if defined(cl_khr_local_int32_extended_atomics)
13231int __ovld atom_min(volatile __local int *p, int val);
13232unsigned int __ovld atom_min(volatile __local unsigned int *p, unsigned int val);
13233#endif
13234
13235#if defined(cl_khr_int64_extended_atomics)
13236long __ovld atom_min(volatile __global long *p, long val);
13237unsigned long __ovld atom_min(volatile __global unsigned long *p, unsigned long val);
13238long __ovld atom_min(volatile __local long *p, long val);
13239unsigned long __ovld atom_min(volatile __local unsigned long *p, unsigned long val);
13240#endif
13241
13242/**
13243 * Read the 32-bit value (referred to as old)
13244 * stored at location pointed by p. Compute
13245 * max(old, val) and store maximum value at
13246 * location pointed by p. The function
13247 * returns old.
13248 */
13249int __ovld atomic_max(volatile __global int *p, int val);
13250unsigned int __ovld atomic_max(volatile __global unsigned int *p, unsigned int val);
13251int __ovld atomic_max(volatile __local int *p, int val);
13252unsigned int __ovld atomic_max(volatile __local unsigned int *p, unsigned int val);
13253#ifdef __OPENCL_CPP_VERSION__
13254int __ovld atomic_max(volatile int *p, int val);
13255unsigned int __ovld atomic_max(volatile unsigned int *p, unsigned int val);
13256#endif
13257
13258#if defined(cl_khr_global_int32_extended_atomics)
13259int __ovld atom_max(volatile __global int *p, int val);
13260unsigned int __ovld atom_max(volatile __global unsigned int *p, unsigned int val);
13261#endif
13262#if defined(cl_khr_local_int32_extended_atomics)
13263int __ovld atom_max(volatile __local int *p, int val);
13264unsigned int __ovld atom_max(volatile __local unsigned int *p, unsigned int val);
13265#endif
13266
13267#if defined(cl_khr_int64_extended_atomics)
13268long __ovld atom_max(volatile __global long *p, long val);
13269unsigned long __ovld atom_max(volatile __global unsigned long *p, unsigned long val);
13270long __ovld atom_max(volatile __local long *p, long val);
13271unsigned long __ovld atom_max(volatile __local unsigned long *p, unsigned long val);
13272#endif
13273
13274/**
13275 * Read the 32-bit value (referred to as old)
13276 * stored at location pointed by p. Compute
13277 * (old & val) and store result at location
13278 * pointed by p. The function returns old.
13279 */
13280int __ovld atomic_and(volatile __global int *p, int val);
13281unsigned int __ovld atomic_and(volatile __global unsigned int *p, unsigned int val);
13282int __ovld atomic_and(volatile __local int *p, int val);
13283unsigned int __ovld atomic_and(volatile __local unsigned int *p, unsigned int val);
13284#ifdef __OPENCL_CPP_VERSION__
13285int __ovld atomic_and(volatile int *p, int val);
13286unsigned int __ovld atomic_and(volatile unsigned int *p, unsigned int val);
13287#endif
13288
13289#if defined(cl_khr_global_int32_extended_atomics)
13290int __ovld atom_and(volatile __global int *p, int val);
13291unsigned int __ovld atom_and(volatile __global unsigned int *p, unsigned int val);
13292#endif
13293#if defined(cl_khr_local_int32_extended_atomics)
13294int __ovld atom_and(volatile __local int *p, int val);
13295unsigned int __ovld atom_and(volatile __local unsigned int *p, unsigned int val);
13296#endif
13297
13298#if defined(cl_khr_int64_extended_atomics)
13299long __ovld atom_and(volatile __global long *p, long val);
13300unsigned long __ovld atom_and(volatile __global unsigned long *p, unsigned long val);
13301long __ovld atom_and(volatile __local long *p, long val);
13302unsigned long __ovld atom_and(volatile __local unsigned long *p, unsigned long val);
13303#endif
13304
13305/**
13306 * Read the 32-bit value (referred to as old)
13307 * stored at location pointed by p. Compute
13308 * (old | val) and store result at location
13309 * pointed by p. The function returns old.
13310 */
13311int __ovld atomic_or(volatile __global int *p, int val);
13312unsigned int __ovld atomic_or(volatile __global unsigned int *p, unsigned int val);
13313int __ovld atomic_or(volatile __local int *p, int val);
13314unsigned int __ovld atomic_or(volatile __local unsigned int *p, unsigned int val);
13315#ifdef __OPENCL_CPP_VERSION__
13316int __ovld atomic_or(volatile int *p, int val);
13317unsigned int __ovld atomic_or(volatile unsigned int *p, unsigned int val);
13318#endif
13319
13320#if defined(cl_khr_global_int32_extended_atomics)
13321int __ovld atom_or(volatile __global int *p, int val);
13322unsigned int __ovld atom_or(volatile __global unsigned int *p, unsigned int val);
13323#endif
13324#if defined(cl_khr_local_int32_extended_atomics)
13325int __ovld atom_or(volatile __local int *p, int val);
13326unsigned int __ovld atom_or(volatile __local unsigned int *p, unsigned int val);
13327#endif
13328
13329#if defined(cl_khr_int64_extended_atomics)
13330long __ovld atom_or(volatile __global long *p, long val);
13331unsigned long __ovld atom_or(volatile __global unsigned long *p, unsigned long val);
13332long __ovld atom_or(volatile __local long *p, long val);
13333unsigned long __ovld atom_or(volatile __local unsigned long *p, unsigned long val);
13334#endif
13335
13336/**
13337 * Read the 32-bit value (referred to as old)
13338 * stored at location pointed by p. Compute
13339 * (old ^ val) and store result at location
13340 * pointed by p. The function returns old.
13341 */
13342int __ovld atomic_xor(volatile __global int *p, int val);
13343unsigned int __ovld atomic_xor(volatile __global unsigned int *p, unsigned int val);
13344int __ovld atomic_xor(volatile __local int *p, int val);
13345unsigned int __ovld atomic_xor(volatile __local unsigned int *p, unsigned int val);
13346#ifdef __OPENCL_CPP_VERSION__
13347int __ovld atomic_xor(volatile int *p, int val);
13348unsigned int __ovld atomic_xor(volatile unsigned int *p, unsigned int val);
13349#endif
13350
13351#if defined(cl_khr_global_int32_extended_atomics)
13352int __ovld atom_xor(volatile __global int *p, int val);
13353unsigned int __ovld atom_xor(volatile __global unsigned int *p, unsigned int val);
13354#endif
13355#if defined(cl_khr_local_int32_extended_atomics)
13356int __ovld atom_xor(volatile __local int *p, int val);
13357unsigned int __ovld atom_xor(volatile __local unsigned int *p, unsigned int val);
13358#endif
13359
13360#if defined(cl_khr_int64_extended_atomics)
13361long __ovld atom_xor(volatile __global long *p, long val);
13362unsigned long __ovld atom_xor(volatile __global unsigned long *p, unsigned long val);
13363long __ovld atom_xor(volatile __local long *p, long val);
13364unsigned long __ovld atom_xor(volatile __local unsigned long *p, unsigned long val);
13365#endif
13366
13367#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13368#pragma OPENCL EXTENSION cl_khr_int64_base_atomics : disable
13369#pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : disable
13370#endif
13371
13372// OpenCL v2.0 s6.13.11 - Atomics Functions
13373
13374#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
13375
13376// double atomics support requires extensions cl_khr_int64_base_atomics and cl_khr_int64_extended_atomics
13377#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13378#pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
13379#pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
13380#endif
13381
13382// atomic_init()
13383void __ovld atomic_init(volatile atomic_int *object, int value);
13384void __ovld atomic_init(volatile atomic_uint *object, uint value);
13385void __ovld atomic_init(volatile atomic_float *object, float value);
13386#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13387void __ovld atomic_init(volatile atomic_long *object, long value);
13388void __ovld atomic_init(volatile atomic_ulong *object, ulong value);
13389#ifdef cl_khr_fp64
13390void __ovld atomic_init(volatile atomic_double *object, double value);
13391#endif //cl_khr_fp64
13392#endif
13393
13394// atomic_work_item_fence()
13395void __ovld atomic_work_item_fence(cl_mem_fence_flags flags, memory_order order, memory_scope scope);
13396
13397// atomic_fetch()
13398
13399int __ovld atomic_fetch_add(volatile atomic_int *object, int operand);
13400int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order);
13401int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13402uint __ovld atomic_fetch_add(volatile atomic_uint *object, uint operand);
13403uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13404uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13405int __ovld atomic_fetch_sub(volatile atomic_int *object, int operand);
13406int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order);
13407int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13408uint __ovld atomic_fetch_sub(volatile atomic_uint *object, uint operand);
13409uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13410uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13411int __ovld atomic_fetch_or(volatile atomic_int *object, int operand);
13412int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order);
13413int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13414uint __ovld atomic_fetch_or(volatile atomic_uint *object, uint operand);
13415uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13416uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13417int __ovld atomic_fetch_xor(volatile atomic_int *object, int operand);
13418int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order);
13419int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13420uint __ovld atomic_fetch_xor(volatile atomic_uint *object, uint operand);
13421uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13422uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13423int __ovld atomic_fetch_and(volatile atomic_int *object, int operand);
13424int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order);
13425int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13426uint __ovld atomic_fetch_and(volatile atomic_uint *object, uint operand);
13427uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13428uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13429int __ovld atomic_fetch_min(volatile atomic_int *object, int operand);
13430int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order);
13431int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13432uint __ovld atomic_fetch_min(volatile atomic_uint *object, uint operand);
13433uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13434uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13435uint __ovld atomic_fetch_min(volatile atomic_uint *object, int operand);
13436uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, int operand, memory_order order);
13437uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, int operand, memory_order order, memory_scope scope);
13438int __ovld atomic_fetch_max(volatile atomic_int *object, int operand);
13439int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order);
13440int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13441uint __ovld atomic_fetch_max(volatile atomic_uint *object, uint operand);
13442uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13443uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13444uint __ovld atomic_fetch_max(volatile atomic_uint *object, int operand);
13445uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, int operand, memory_order order);
13446uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, int operand, memory_order order, memory_scope scope);
13447
13448#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13449long __ovld atomic_fetch_add(volatile atomic_long *object, long operand);
13450long __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order);
13451long __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13452ulong __ovld atomic_fetch_add(volatile atomic_ulong *object, ulong operand);
13453ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13454ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13455long __ovld atomic_fetch_sub(volatile atomic_long *object, long operand);
13456long __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order);
13457long __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13458ulong __ovld atomic_fetch_sub(volatile atomic_ulong *object, ulong operand);
13459ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13460ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13461long __ovld atomic_fetch_or(volatile atomic_long *object, long operand);
13462long __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order);
13463long __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13464ulong __ovld atomic_fetch_or(volatile atomic_ulong *object, ulong operand);
13465ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13466ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13467long __ovld atomic_fetch_xor(volatile atomic_long *object, long operand);
13468long __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order);
13469long __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13470ulong __ovld atomic_fetch_xor(volatile atomic_ulong *object, ulong operand);
13471ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13472ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13473long __ovld atomic_fetch_and(volatile atomic_long *object, long operand);
13474long __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order);
13475long __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13476ulong __ovld atomic_fetch_and(volatile atomic_ulong *object, ulong operand);
13477ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13478ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13479long __ovld atomic_fetch_min(volatile atomic_long *object, long operand);
13480long __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order);
13481long __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13482ulong __ovld atomic_fetch_min(volatile atomic_ulong *object, ulong operand);
13483ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13484ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13485ulong __ovld atomic_fetch_min(volatile atomic_ulong *object, long operand);
13486ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, long operand, memory_order order);
13487ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, long operand, memory_order order, memory_scope scope);
13488long __ovld atomic_fetch_max(volatile atomic_long *object, long operand);
13489long __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order);
13490long __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13491ulong __ovld atomic_fetch_max(volatile atomic_ulong *object, ulong operand);
13492ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13493ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13494ulong __ovld atomic_fetch_max(volatile atomic_ulong *object, long operand);
13495ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, long operand, memory_order order);
13496ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, long operand, memory_order order, memory_scope scope);
13497#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13498
13499// OpenCL v2.0 s6.13.11.7.5:
13500// add/sub: atomic type argument can be uintptr_t/intptr_t, value type argument can be ptrdiff_t.
13501// or/xor/and/min/max: atomic type argument can be intptr_t/uintptr_t, value type argument can be intptr_t/uintptr_t.
13502
13503#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13504uintptr_t __ovld atomic_fetch_add(volatile atomic_uintptr_t *object, ptrdiff_t operand);
13505uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
13506uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
13507uintptr_t __ovld atomic_fetch_sub(volatile atomic_uintptr_t *object, ptrdiff_t operand);
13508uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
13509uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
13510
13511uintptr_t __ovld atomic_fetch_or(volatile atomic_uintptr_t *object, intptr_t operand);
13512uintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
13513uintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
13514uintptr_t __ovld atomic_fetch_xor(volatile atomic_uintptr_t *object, intptr_t operand);
13515uintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
13516uintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
13517uintptr_t __ovld atomic_fetch_and(volatile atomic_uintptr_t *object, intptr_t operand);
13518uintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
13519uintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
13520uintptr_t __ovld atomic_fetch_min(volatile atomic_uintptr_t *object, intptr_t opermax);
13521uintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
13522uintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
13523uintptr_t __ovld atomic_fetch_max(volatile atomic_uintptr_t *object, intptr_t opermax);
13524uintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
13525uintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
13526
13527intptr_t __ovld atomic_fetch_or(volatile atomic_intptr_t *object, uintptr_t operand);
13528intptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
13529intptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
13530intptr_t __ovld atomic_fetch_xor(volatile atomic_intptr_t *object, uintptr_t operand);
13531intptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
13532intptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
13533intptr_t __ovld atomic_fetch_and(volatile atomic_intptr_t *object, uintptr_t operand);
13534intptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
13535intptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
13536intptr_t __ovld atomic_fetch_min(volatile atomic_intptr_t *object, uintptr_t opermax);
13537intptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
13538intptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
13539intptr_t __ovld atomic_fetch_max(volatile atomic_intptr_t *object, uintptr_t opermax);
13540intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
13541intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
13542#endif
13543
13544// atomic_store()
13545
13546void __ovld atomic_store(volatile atomic_int *object, int desired);
13547void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order);
13548void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
13549void __ovld atomic_store(volatile atomic_uint *object, uint desired);
13550void __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order);
13551void __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
13552void __ovld atomic_store(volatile atomic_float *object, float desired);
13553void __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order);
13554void __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
13555#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13556#ifdef cl_khr_fp64
13557void __ovld atomic_store(volatile atomic_double *object, double desired);
13558void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order);
13559void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
13560#endif //cl_khr_fp64
13561void __ovld atomic_store(volatile atomic_long *object, long desired);
13562void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order);
13563void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
13564void __ovld atomic_store(volatile atomic_ulong *object, ulong desired);
13565void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
13566void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
13567#endif
13568
13569// atomic_load()
13570
13571int __ovld atomic_load(volatile atomic_int *object);
13572int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order);
13573int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order, memory_scope scope);
13574uint __ovld atomic_load(volatile atomic_uint *object);
13575uint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order);
13576uint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order, memory_scope scope);
13577float __ovld atomic_load(volatile atomic_float *object);
13578float __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order);
13579float __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order, memory_scope scope);
13580#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13581#ifdef cl_khr_fp64
13582double __ovld atomic_load(volatile atomic_double *object);
13583double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order);
13584double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order, memory_scope scope);
13585#endif //cl_khr_fp64
13586long __ovld atomic_load(volatile atomic_long *object);
13587long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order);
13588long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order, memory_scope scope);
13589ulong __ovld atomic_load(volatile atomic_ulong *object);
13590ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order);
13591ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order, memory_scope scope);
13592#endif
13593
13594// atomic_exchange()
13595
13596int __ovld atomic_exchange(volatile atomic_int *object, int desired);
13597int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order);
13598int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
13599uint __ovld atomic_exchange(volatile atomic_uint *object, uint desired);
13600uint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order);
13601uint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
13602float __ovld atomic_exchange(volatile atomic_float *object, float desired);
13603float __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order);
13604float __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
13605#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13606#ifdef cl_khr_fp64
13607double __ovld atomic_exchange(volatile atomic_double *object, double desired);
13608double __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order);
13609double __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
13610#endif //cl_khr_fp64
13611long __ovld atomic_exchange(volatile atomic_long *object, long desired);
13612long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order);
13613long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
13614ulong __ovld atomic_exchange(volatile atomic_ulong *object, ulong desired);
13615ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
13616ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
13617#endif
13618
13619// atomic_compare_exchange_strong() and atomic_compare_exchange_weak()
13620
13621bool __ovld atomic_compare_exchange_strong(volatile atomic_int *object, int *expected, int desired);
13622bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
13623                                                                                 int desired, memory_order success, memory_order failure);
13624bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
13625                                                                                 int desired, memory_order success, memory_order failure, memory_scope scope);
13626bool __ovld atomic_compare_exchange_strong(volatile atomic_uint *object, uint *expected, uint desired);
13627bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
13628                                                                                 uint desired, memory_order success, memory_order failure);
13629bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
13630                                                                                 uint desired, memory_order success, memory_order failure, memory_scope scope);
13631bool __ovld atomic_compare_exchange_weak(volatile atomic_int *object, int *expected, int desired);
13632bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
13633                                                                                 int desired, memory_order success, memory_order failure);
13634bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
13635                                                                                 int desired, memory_order success, memory_order failure, memory_scope scope);
13636bool __ovld atomic_compare_exchange_weak(volatile atomic_uint *object, uint *expected, uint desired);
13637bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
13638                                                                                 uint desired, memory_order success, memory_order failure);
13639bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
13640                                                                                 uint desired, memory_order success, memory_order failure, memory_scope scope);
13641bool __ovld atomic_compare_exchange_strong(volatile atomic_float *object, float *expected, float desired);
13642bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
13643                                                                                 float desired, memory_order success, memory_order failure);
13644bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
13645                                                                                 float desired, memory_order success, memory_order failure, memory_scope scope);
13646bool __ovld atomic_compare_exchange_weak(volatile atomic_float *object, float *expected, float desired);
13647bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
13648                                                                                 float desired, memory_order success, memory_order failure);
13649bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
13650                                                                                 float desired, memory_order success, memory_order failure, memory_scope scope);
13651#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13652#ifdef cl_khr_fp64
13653bool __ovld atomic_compare_exchange_strong(volatile atomic_double *object, double *expected, double desired);
13654bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
13655                                                                                 double desired, memory_order success, memory_order failure);
13656bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
13657                                                                                 double desired, memory_order success, memory_order failure, memory_scope scope);
13658bool __ovld atomic_compare_exchange_weak(volatile atomic_double *object, double *expected, double desired);
13659bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
13660                                                                                 double desired, memory_order success, memory_order failure);
13661bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
13662                                                                                 double desired, memory_order success, memory_order failure, memory_scope scope);
13663#endif //cl_khr_fp64
13664bool __ovld atomic_compare_exchange_strong(volatile atomic_long *object, long *expected, long desired);
13665bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
13666                                                                                 long desired, memory_order success, memory_order failure);
13667bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
13668                                                                                 long desired, memory_order success, memory_order failure, memory_scope scope);
13669bool __ovld atomic_compare_exchange_weak(volatile atomic_long *object, long *expected, long desired);
13670bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
13671                                                                                 long desired, memory_order success, memory_order failure);
13672bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
13673                                                                                 long desired, memory_order success, memory_order failure, memory_scope scope);
13674bool __ovld atomic_compare_exchange_strong(volatile atomic_ulong *object, ulong *expected, ulong desired);
13675bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
13676                                                                                 ulong desired, memory_order success, memory_order failure);
13677bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
13678                                                                                 ulong desired, memory_order success, memory_order failure, memory_scope scope);
13679bool __ovld atomic_compare_exchange_weak(volatile atomic_ulong *object, ulong *expected, ulong desired);
13680bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
13681                                                                                 ulong desired, memory_order success, memory_order failure);
13682bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
13683                                                                                 ulong desired, memory_order success, memory_order failure, memory_scope scope);
13684#endif
13685
13686// atomic_flag_test_and_set() and atomic_flag_clear()
13687
13688bool __ovld atomic_flag_test_and_set(volatile atomic_flag *object);
13689bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order);
13690bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
13691void __ovld atomic_flag_clear(volatile atomic_flag *object);
13692void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order);
13693void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
13694
13695#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
13696
13697// OpenCL v1.1 s6.11.12, v1.2 s6.12.12, v2.0 s6.13.12 - Miscellaneous Vector Functions
13698
13699/**
13700 * The shuffle and shuffle2 built-in functions construct
13701 * a permutation of elements from one or two input
13702 * vectors respectively that are of the same type,
13703 * returning a vector with the same element type as the
13704 * input and length that is the same as the shuffle mask.
13705 * The size of each element in the mask must match the
13706 * size of each element in the result. For shuffle, only
13707 * the ilogb(2m-1) least significant bits of each mask
13708 * element are considered. For shuffle2, only the
13709 * ilogb(2m-1)+1 least significant bits of each mask
13710 * element are considered. Other bits in the mask shall
13711 * be ignored.
13712 * The elements of the input vectors are numbered from
13713 * left to right across one or both of the vectors. For this
13714 * purpose, the number of elements in a vector is given
13715 * by vec_step(gentypem). The shuffle mask operand
13716 * specifies, for each element of the result vector, which
13717 * element of the one or two input vectors the result
13718 * element gets.
13719 * Examples:
13720 * uint4 mask = (uint4)(3, 2,
13721 * 1, 0);
13722 * float4 a;
13723 * float4 r = shuffle(a, mask);
13724 * // r.s0123 = a.wzyx
13725 * uint8 mask = (uint8)(0, 1, 2, 3,
13726 * 4, 5, 6, 7);
13727 * float4 a, b;
13728 * float8 r = shuffle2(a, b, mask);
13729 * // r.s0123 = a.xyzw
13730 * // r.s4567 = b.xyzw
13731 * uint4 mask;
13732 * float8 a;
13733 * float4 b;
13734 * b = shuffle(a, mask);
13735 * Examples that are not valid are:
13736 * uint8 mask;
13737 * short16 a;
13738 * short8 b;
13739 * b = shuffle(a, mask); <- not valid
13740 */
13741char2 __ovld __cnfn shuffle(char2 x, uchar2 mask);
13742char2 __ovld __cnfn shuffle(char4 x, uchar2 mask);
13743char2 __ovld __cnfn shuffle(char8 x, uchar2 mask);
13744char2 __ovld __cnfn shuffle(char16 x, uchar2 mask);
13745
13746uchar2 __ovld __cnfn shuffle(uchar2 x, uchar2 mask);
13747uchar2 __ovld __cnfn shuffle(uchar4 x, uchar2 mask);
13748uchar2 __ovld __cnfn shuffle(uchar8 x, uchar2 mask);
13749uchar2 __ovld __cnfn shuffle(uchar16 x, uchar2 mask);
13750
13751short2 __ovld __cnfn shuffle(short2 x, ushort2 mask);
13752short2 __ovld __cnfn shuffle(short4 x, ushort2 mask);
13753short2 __ovld __cnfn shuffle(short8 x, ushort2 mask);
13754short2 __ovld __cnfn shuffle(short16 x, ushort2 mask);
13755
13756ushort2 __ovld __cnfn shuffle(ushort2 x, ushort2 mask);
13757ushort2 __ovld __cnfn shuffle(ushort4 x, ushort2 mask);
13758ushort2 __ovld __cnfn shuffle(ushort8 x, ushort2 mask);
13759ushort2 __ovld __cnfn shuffle(ushort16 x, ushort2 mask);
13760
13761int2 __ovld __cnfn shuffle(int2 x, uint2 mask);
13762int2 __ovld __cnfn shuffle(int4 x, uint2 mask);
13763int2 __ovld __cnfn shuffle(int8 x, uint2 mask);
13764int2 __ovld __cnfn shuffle(int16 x, uint2 mask);
13765
13766uint2 __ovld __cnfn shuffle(uint2 x, uint2 mask);
13767uint2 __ovld __cnfn shuffle(uint4 x, uint2 mask);
13768uint2 __ovld __cnfn shuffle(uint8 x, uint2 mask);
13769uint2 __ovld __cnfn shuffle(uint16 x, uint2 mask);
13770
13771long2 __ovld __cnfn shuffle(long2 x, ulong2 mask);
13772long2 __ovld __cnfn shuffle(long4 x, ulong2 mask);
13773long2 __ovld __cnfn shuffle(long8 x, ulong2 mask);
13774long2 __ovld __cnfn shuffle(long16 x, ulong2 mask);
13775
13776ulong2 __ovld __cnfn shuffle(ulong2 x, ulong2 mask);
13777ulong2 __ovld __cnfn shuffle(ulong4 x, ulong2 mask);
13778ulong2 __ovld __cnfn shuffle(ulong8 x, ulong2 mask);
13779ulong2 __ovld __cnfn shuffle(ulong16 x, ulong2 mask);
13780
13781float2 __ovld __cnfn shuffle(float2 x, uint2 mask);
13782float2 __ovld __cnfn shuffle(float4 x, uint2 mask);
13783float2 __ovld __cnfn shuffle(float8 x, uint2 mask);
13784float2 __ovld __cnfn shuffle(float16 x, uint2 mask);
13785
13786char4 __ovld __cnfn shuffle(char2 x, uchar4 mask);
13787char4 __ovld __cnfn shuffle(char4 x, uchar4 mask);
13788char4 __ovld __cnfn shuffle(char8 x, uchar4 mask);
13789char4 __ovld __cnfn shuffle(char16 x, uchar4 mask);
13790
13791uchar4 __ovld __cnfn shuffle(uchar2 x, uchar4 mask);
13792uchar4 __ovld __cnfn shuffle(uchar4 x, uchar4 mask);
13793uchar4 __ovld __cnfn shuffle(uchar8 x, uchar4 mask);
13794uchar4 __ovld __cnfn shuffle(uchar16 x, uchar4 mask);
13795
13796short4 __ovld __cnfn shuffle(short2 x, ushort4 mask);
13797short4 __ovld __cnfn shuffle(short4 x, ushort4 mask);
13798short4 __ovld __cnfn shuffle(short8 x, ushort4 mask);
13799short4 __ovld __cnfn shuffle(short16 x, ushort4 mask);
13800
13801ushort4 __ovld __cnfn shuffle(ushort2 x, ushort4 mask);
13802ushort4 __ovld __cnfn shuffle(ushort4 x, ushort4 mask);
13803ushort4 __ovld __cnfn shuffle(ushort8 x, ushort4 mask);
13804ushort4 __ovld __cnfn shuffle(ushort16 x, ushort4 mask);
13805
13806int4 __ovld __cnfn shuffle(int2 x, uint4 mask);
13807int4 __ovld __cnfn shuffle(int4 x, uint4 mask);
13808int4 __ovld __cnfn shuffle(int8 x, uint4 mask);
13809int4 __ovld __cnfn shuffle(int16 x, uint4 mask);
13810
13811uint4 __ovld __cnfn shuffle(uint2 x, uint4 mask);
13812uint4 __ovld __cnfn shuffle(uint4 x, uint4 mask);
13813uint4 __ovld __cnfn shuffle(uint8 x, uint4 mask);
13814uint4 __ovld __cnfn shuffle(uint16 x, uint4 mask);
13815
13816long4 __ovld __cnfn shuffle(long2 x, ulong4 mask);
13817long4 __ovld __cnfn shuffle(long4 x, ulong4 mask);
13818long4 __ovld __cnfn shuffle(long8 x, ulong4 mask);
13819long4 __ovld __cnfn shuffle(long16 x, ulong4 mask);
13820
13821ulong4 __ovld __cnfn shuffle(ulong2 x, ulong4 mask);
13822ulong4 __ovld __cnfn shuffle(ulong4 x, ulong4 mask);
13823ulong4 __ovld __cnfn shuffle(ulong8 x, ulong4 mask);
13824ulong4 __ovld __cnfn shuffle(ulong16 x, ulong4 mask);
13825
13826float4 __ovld __cnfn shuffle(float2 x, uint4 mask);
13827float4 __ovld __cnfn shuffle(float4 x, uint4 mask);
13828float4 __ovld __cnfn shuffle(float8 x, uint4 mask);
13829float4 __ovld __cnfn shuffle(float16 x, uint4 mask);
13830
13831char8 __ovld __cnfn shuffle(char2 x, uchar8 mask);
13832char8 __ovld __cnfn shuffle(char4 x, uchar8 mask);
13833char8 __ovld __cnfn shuffle(char8 x, uchar8 mask);
13834char8 __ovld __cnfn shuffle(char16 x, uchar8 mask);
13835
13836uchar8 __ovld __cnfn shuffle(uchar2 x, uchar8 mask);
13837uchar8 __ovld __cnfn shuffle(uchar4 x, uchar8 mask);
13838uchar8 __ovld __cnfn shuffle(uchar8 x, uchar8 mask);
13839uchar8 __ovld __cnfn shuffle(uchar16 x, uchar8 mask);
13840
13841short8 __ovld __cnfn shuffle(short2 x, ushort8 mask);
13842short8 __ovld __cnfn shuffle(short4 x, ushort8 mask);
13843short8 __ovld __cnfn shuffle(short8 x, ushort8 mask);
13844short8 __ovld __cnfn shuffle(short16 x, ushort8 mask);
13845
13846ushort8 __ovld __cnfn shuffle(ushort2 x, ushort8 mask);
13847ushort8 __ovld __cnfn shuffle(ushort4 x, ushort8 mask);
13848ushort8 __ovld __cnfn shuffle(ushort8 x, ushort8 mask);
13849ushort8 __ovld __cnfn shuffle(ushort16 x, ushort8 mask);
13850
13851int8 __ovld __cnfn shuffle(int2 x, uint8 mask);
13852int8 __ovld __cnfn shuffle(int4 x, uint8 mask);
13853int8 __ovld __cnfn shuffle(int8 x, uint8 mask);
13854int8 __ovld __cnfn shuffle(int16 x, uint8 mask);
13855
13856uint8 __ovld __cnfn shuffle(uint2 x, uint8 mask);
13857uint8 __ovld __cnfn shuffle(uint4 x, uint8 mask);
13858uint8 __ovld __cnfn shuffle(uint8 x, uint8 mask);
13859uint8 __ovld __cnfn shuffle(uint16 x, uint8 mask);
13860
13861long8 __ovld __cnfn shuffle(long2 x, ulong8 mask);
13862long8 __ovld __cnfn shuffle(long4 x, ulong8 mask);
13863long8 __ovld __cnfn shuffle(long8 x, ulong8 mask);
13864long8 __ovld __cnfn shuffle(long16 x, ulong8 mask);
13865
13866ulong8 __ovld __cnfn shuffle(ulong2 x, ulong8 mask);
13867ulong8 __ovld __cnfn shuffle(ulong4 x, ulong8 mask);
13868ulong8 __ovld __cnfn shuffle(ulong8 x, ulong8 mask);
13869ulong8 __ovld __cnfn shuffle(ulong16 x, ulong8 mask);
13870
13871float8 __ovld __cnfn shuffle(float2 x, uint8 mask);
13872float8 __ovld __cnfn shuffle(float4 x, uint8 mask);
13873float8 __ovld __cnfn shuffle(float8 x, uint8 mask);
13874float8 __ovld __cnfn shuffle(float16 x, uint8 mask);
13875
13876char16 __ovld __cnfn shuffle(char2 x, uchar16 mask);
13877char16 __ovld __cnfn shuffle(char4 x, uchar16 mask);
13878char16 __ovld __cnfn shuffle(char8 x, uchar16 mask);
13879char16 __ovld __cnfn shuffle(char16 x, uchar16 mask);
13880
13881uchar16 __ovld __cnfn shuffle(uchar2 x, uchar16 mask);
13882uchar16 __ovld __cnfn shuffle(uchar4 x, uchar16 mask);
13883uchar16 __ovld __cnfn shuffle(uchar8 x, uchar16 mask);
13884uchar16 __ovld __cnfn shuffle(uchar16 x, uchar16 mask);
13885
13886short16 __ovld __cnfn shuffle(short2 x, ushort16 mask);
13887short16 __ovld __cnfn shuffle(short4 x, ushort16 mask);
13888short16 __ovld __cnfn shuffle(short8 x, ushort16 mask);
13889short16 __ovld __cnfn shuffle(short16 x, ushort16 mask);
13890
13891ushort16 __ovld __cnfn shuffle(ushort2 x, ushort16 mask);
13892ushort16 __ovld __cnfn shuffle(ushort4 x, ushort16 mask);
13893ushort16 __ovld __cnfn shuffle(ushort8 x, ushort16 mask);
13894ushort16 __ovld __cnfn shuffle(ushort16 x, ushort16 mask);
13895
13896int16 __ovld __cnfn shuffle(int2 x, uint16 mask);
13897int16 __ovld __cnfn shuffle(int4 x, uint16 mask);
13898int16 __ovld __cnfn shuffle(int8 x, uint16 mask);
13899int16 __ovld __cnfn shuffle(int16 x, uint16 mask);
13900
13901uint16 __ovld __cnfn shuffle(uint2 x, uint16 mask);
13902uint16 __ovld __cnfn shuffle(uint4 x, uint16 mask);
13903uint16 __ovld __cnfn shuffle(uint8 x, uint16 mask);
13904uint16 __ovld __cnfn shuffle(uint16 x, uint16 mask);
13905
13906long16 __ovld __cnfn shuffle(long2 x, ulong16 mask);
13907long16 __ovld __cnfn shuffle(long4 x, ulong16 mask);
13908long16 __ovld __cnfn shuffle(long8 x, ulong16 mask);
13909long16 __ovld __cnfn shuffle(long16 x, ulong16 mask);
13910
13911ulong16 __ovld __cnfn shuffle(ulong2 x, ulong16 mask);
13912ulong16 __ovld __cnfn shuffle(ulong4 x, ulong16 mask);
13913ulong16 __ovld __cnfn shuffle(ulong8 x, ulong16 mask);
13914ulong16 __ovld __cnfn shuffle(ulong16 x, ulong16 mask);
13915
13916float16 __ovld __cnfn shuffle(float2 x, uint16 mask);
13917float16 __ovld __cnfn shuffle(float4 x, uint16 mask);
13918float16 __ovld __cnfn shuffle(float8 x, uint16 mask);
13919float16 __ovld __cnfn shuffle(float16 x, uint16 mask);
13920
13921#ifdef cl_khr_fp64
13922double2 __ovld __cnfn shuffle(double2 x, ulong2 mask);
13923double2 __ovld __cnfn shuffle(double4 x, ulong2 mask);
13924double2 __ovld __cnfn shuffle(double8 x, ulong2 mask);
13925double2 __ovld __cnfn shuffle(double16 x, ulong2 mask);
13926
13927double4 __ovld __cnfn shuffle(double2 x, ulong4 mask);
13928double4 __ovld __cnfn shuffle(double4 x, ulong4 mask);
13929double4 __ovld __cnfn shuffle(double8 x, ulong4 mask);
13930double4 __ovld __cnfn shuffle(double16 x, ulong4 mask);
13931
13932double8 __ovld __cnfn shuffle(double2 x, ulong8 mask);
13933double8 __ovld __cnfn shuffle(double4 x, ulong8 mask);
13934double8 __ovld __cnfn shuffle(double8 x, ulong8 mask);
13935double8 __ovld __cnfn shuffle(double16 x, ulong8 mask);
13936
13937double16 __ovld __cnfn shuffle(double2 x, ulong16 mask);
13938double16 __ovld __cnfn shuffle(double4 x, ulong16 mask);
13939double16 __ovld __cnfn shuffle(double8 x, ulong16 mask);
13940double16 __ovld __cnfn shuffle(double16 x, ulong16 mask);
13941#endif //cl_khr_fp64
13942
13943#ifdef cl_khr_fp16
13944half2 __ovld __cnfn shuffle(half2 x, ushort2 mask);
13945half2 __ovld __cnfn shuffle(half4 x, ushort2 mask);
13946half2 __ovld __cnfn shuffle(half8 x, ushort2 mask);
13947half2 __ovld __cnfn shuffle(half16 x, ushort2 mask);
13948
13949half4 __ovld __cnfn shuffle(half2 x, ushort4 mask);
13950half4 __ovld __cnfn shuffle(half4 x, ushort4 mask);
13951half4 __ovld __cnfn shuffle(half8 x, ushort4 mask);
13952half4 __ovld __cnfn shuffle(half16 x, ushort4 mask);
13953
13954half8 __ovld __cnfn shuffle(half2 x, ushort8 mask);
13955half8 __ovld __cnfn shuffle(half4 x, ushort8 mask);
13956half8 __ovld __cnfn shuffle(half8 x, ushort8 mask);
13957half8 __ovld __cnfn shuffle(half16 x, ushort8 mask);
13958
13959half16 __ovld __cnfn shuffle(half2 x, ushort16 mask);
13960half16 __ovld __cnfn shuffle(half4 x, ushort16 mask);
13961half16 __ovld __cnfn shuffle(half8 x, ushort16 mask);
13962half16 __ovld __cnfn shuffle(half16 x, ushort16 mask);
13963#endif //cl_khr_fp16
13964
13965char2 __ovld __cnfn shuffle2(char2 x, char2 y, uchar2 mask);
13966char2 __ovld __cnfn shuffle2(char4 x, char4 y, uchar2 mask);
13967char2 __ovld __cnfn shuffle2(char8 x, char8 y, uchar2 mask);
13968char2 __ovld __cnfn shuffle2(char16 x, char16 y, uchar2 mask);
13969
13970uchar2 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar2 mask);
13971uchar2 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar2 mask);
13972uchar2 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar2 mask);
13973uchar2 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar2 mask);
13974
13975short2 __ovld __cnfn shuffle2(short2 x, short2 y, ushort2 mask);
13976short2 __ovld __cnfn shuffle2(short4 x, short4 y, ushort2 mask);
13977short2 __ovld __cnfn shuffle2(short8 x, short8 y, ushort2 mask);
13978short2 __ovld __cnfn shuffle2(short16 x, short16 y, ushort2 mask);
13979
13980ushort2 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort2 mask);
13981ushort2 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort2 mask);
13982ushort2 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort2 mask);
13983ushort2 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort2 mask);
13984
13985int2 __ovld __cnfn shuffle2(int2 x, int2 y, uint2 mask);
13986int2 __ovld __cnfn shuffle2(int4 x, int4 y, uint2 mask);
13987int2 __ovld __cnfn shuffle2(int8 x, int8 y, uint2 mask);
13988int2 __ovld __cnfn shuffle2(int16 x, int16 y, uint2 mask);
13989
13990uint2 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint2 mask);
13991uint2 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint2 mask);
13992uint2 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint2 mask);
13993uint2 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint2 mask);
13994
13995long2 __ovld __cnfn shuffle2(long2 x, long2 y, ulong2 mask);
13996long2 __ovld __cnfn shuffle2(long4 x, long4 y, ulong2 mask);
13997long2 __ovld __cnfn shuffle2(long8 x, long8 y, ulong2 mask);
13998long2 __ovld __cnfn shuffle2(long16 x, long16 y, ulong2 mask);
13999
14000ulong2 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong2 mask);
14001ulong2 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong2 mask);
14002ulong2 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong2 mask);
14003ulong2 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong2 mask);
14004
14005float2 __ovld __cnfn shuffle2(float2 x, float2 y, uint2 mask);
14006float2 __ovld __cnfn shuffle2(float4 x, float4 y, uint2 mask);
14007float2 __ovld __cnfn shuffle2(float8 x, float8 y, uint2 mask);
14008float2 __ovld __cnfn shuffle2(float16 x, float16 y, uint2 mask);
14009
14010char4 __ovld __cnfn shuffle2(char2 x, char2 y, uchar4 mask);
14011char4 __ovld __cnfn shuffle2(char4 x, char4 y, uchar4 mask);
14012char4 __ovld __cnfn shuffle2(char8 x, char8 y, uchar4 mask);
14013char4 __ovld __cnfn shuffle2(char16 x, char16 y, uchar4 mask);
14014
14015uchar4 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar4 mask);
14016uchar4 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar4 mask);
14017uchar4 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar4 mask);
14018uchar4 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar4 mask);
14019
14020short4 __ovld __cnfn shuffle2(short2 x, short2 y, ushort4 mask);
14021short4 __ovld __cnfn shuffle2(short4 x, short4 y, ushort4 mask);
14022short4 __ovld __cnfn shuffle2(short8 x, short8 y, ushort4 mask);
14023short4 __ovld __cnfn shuffle2(short16 x, short16 y, ushort4 mask);
14024
14025ushort4 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort4 mask);
14026ushort4 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort4 mask);
14027ushort4 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort4 mask);
14028ushort4 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort4 mask);
14029
14030int4 __ovld __cnfn shuffle2(int2 x, int2 y, uint4 mask);
14031int4 __ovld __cnfn shuffle2(int4 x, int4 y, uint4 mask);
14032int4 __ovld __cnfn shuffle2(int8 x, int8 y, uint4 mask);
14033int4 __ovld __cnfn shuffle2(int16 x, int16 y, uint4 mask);
14034
14035uint4 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint4 mask);
14036uint4 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint4 mask);
14037uint4 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint4 mask);
14038uint4 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint4 mask);
14039
14040long4 __ovld __cnfn shuffle2(long2 x, long2 y, ulong4 mask);
14041long4 __ovld __cnfn shuffle2(long4 x, long4 y, ulong4 mask);
14042long4 __ovld __cnfn shuffle2(long8 x, long8 y, ulong4 mask);
14043long4 __ovld __cnfn shuffle2(long16 x, long16 y, ulong4 mask);
14044
14045ulong4 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong4 mask);
14046ulong4 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong4 mask);
14047ulong4 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong4 mask);
14048ulong4 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong4 mask);
14049
14050float4 __ovld __cnfn shuffle2(float2 x, float2 y, uint4 mask);
14051float4 __ovld __cnfn shuffle2(float4 x, float4 y, uint4 mask);
14052float4 __ovld __cnfn shuffle2(float8 x, float8 y, uint4 mask);
14053float4 __ovld __cnfn shuffle2(float16 x, float16 y, uint4 mask);
14054
14055char8 __ovld __cnfn shuffle2(char2 x, char2 y, uchar8 mask);
14056char8 __ovld __cnfn shuffle2(char4 x, char4 y, uchar8 mask);
14057char8 __ovld __cnfn shuffle2(char8 x, char8 y, uchar8 mask);
14058char8 __ovld __cnfn shuffle2(char16 x, char16 y, uchar8 mask);
14059
14060uchar8 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar8 mask);
14061uchar8 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar8 mask);
14062uchar8 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar8 mask);
14063uchar8 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar8 mask);
14064
14065short8 __ovld __cnfn shuffle2(short2 x, short2 y, ushort8 mask);
14066short8 __ovld __cnfn shuffle2(short4 x, short4 y, ushort8 mask);
14067short8 __ovld __cnfn shuffle2(short8 x, short8 y, ushort8 mask);
14068short8 __ovld __cnfn shuffle2(short16 x, short16 y, ushort8 mask);
14069
14070ushort8 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort8 mask);
14071ushort8 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort8 mask);
14072ushort8 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort8 mask);
14073ushort8 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort8 mask);
14074
14075int8 __ovld __cnfn shuffle2(int2 x, int2 y, uint8 mask);
14076int8 __ovld __cnfn shuffle2(int4 x, int4 y, uint8 mask);
14077int8 __ovld __cnfn shuffle2(int8 x, int8 y, uint8 mask);
14078int8 __ovld __cnfn shuffle2(int16 x, int16 y, uint8 mask);
14079
14080uint8 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint8 mask);
14081uint8 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint8 mask);
14082uint8 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint8 mask);
14083uint8 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint8 mask);
14084
14085long8 __ovld __cnfn shuffle2(long2 x, long2 y, ulong8 mask);
14086long8 __ovld __cnfn shuffle2(long4 x, long4 y, ulong8 mask);
14087long8 __ovld __cnfn shuffle2(long8 x, long8 y, ulong8 mask);
14088long8 __ovld __cnfn shuffle2(long16 x, long16 y, ulong8 mask);
14089
14090ulong8 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong8 mask);
14091ulong8 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong8 mask);
14092ulong8 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong8 mask);
14093ulong8 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong8 mask);
14094
14095float8 __ovld __cnfn shuffle2(float2 x, float2 y, uint8 mask);
14096float8 __ovld __cnfn shuffle2(float4 x, float4 y, uint8 mask);
14097float8 __ovld __cnfn shuffle2(float8 x, float8 y, uint8 mask);
14098float8 __ovld __cnfn shuffle2(float16 x, float16 y, uint8 mask);
14099
14100char16 __ovld __cnfn shuffle2(char2 x, char2 y, uchar16 mask);
14101char16 __ovld __cnfn shuffle2(char4 x, char4 y, uchar16 mask);
14102char16 __ovld __cnfn shuffle2(char8 x, char8 y, uchar16 mask);
14103char16 __ovld __cnfn shuffle2(char16 x, char16 y, uchar16 mask);
14104
14105uchar16 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar16 mask);
14106uchar16 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar16 mask);
14107uchar16 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar16 mask);
14108uchar16 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar16 mask);
14109
14110short16 __ovld __cnfn shuffle2(short2 x, short2 y, ushort16 mask);
14111short16 __ovld __cnfn shuffle2(short4 x, short4 y, ushort16 mask);
14112short16 __ovld __cnfn shuffle2(short8 x, short8 y, ushort16 mask);
14113short16 __ovld __cnfn shuffle2(short16 x, short16 y, ushort16 mask);
14114
14115ushort16 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort16 mask);
14116ushort16 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort16 mask);
14117ushort16 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort16 mask);
14118ushort16 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort16 mask);
14119
14120int16 __ovld __cnfn shuffle2(int2 x, int2 y, uint16 mask);
14121int16 __ovld __cnfn shuffle2(int4 x, int4 y, uint16 mask);
14122int16 __ovld __cnfn shuffle2(int8 x, int8 y, uint16 mask);
14123int16 __ovld __cnfn shuffle2(int16 x, int16 y, uint16 mask);
14124
14125uint16 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint16 mask);
14126uint16 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint16 mask);
14127uint16 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint16 mask);
14128uint16 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint16 mask);
14129
14130long16 __ovld __cnfn shuffle2(long2 x, long2 y, ulong16 mask);
14131long16 __ovld __cnfn shuffle2(long4 x, long4 y, ulong16 mask);
14132long16 __ovld __cnfn shuffle2(long8 x, long8 y, ulong16 mask);
14133long16 __ovld __cnfn shuffle2(long16 x, long16 y, ulong16 mask);
14134
14135ulong16 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong16 mask);
14136ulong16 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong16 mask);
14137ulong16 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong16 mask);
14138ulong16 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong16 mask);
14139
14140float16 __ovld __cnfn shuffle2(float2 x, float2 y, uint16 mask);
14141float16 __ovld __cnfn shuffle2(float4 x, float4 y, uint16 mask);
14142float16 __ovld __cnfn shuffle2(float8 x, float8 y, uint16 mask);
14143float16 __ovld __cnfn shuffle2(float16 x, float16 y, uint16 mask);
14144
14145#ifdef cl_khr_fp64
14146double2 __ovld __cnfn shuffle2(double2 x, double2 y, ulong2 mask);
14147double2 __ovld __cnfn shuffle2(double4 x, double4 y, ulong2 mask);
14148double2 __ovld __cnfn shuffle2(double8 x, double8 y, ulong2 mask);
14149double2 __ovld __cnfn shuffle2(double16 x, double16 y, ulong2 mask);
14150
14151double4 __ovld __cnfn shuffle2(double2 x, double2 y, ulong4 mask);
14152double4 __ovld __cnfn shuffle2(double4 x, double4 y, ulong4 mask);
14153double4 __ovld __cnfn shuffle2(double8 x, double8 y, ulong4 mask);
14154double4 __ovld __cnfn shuffle2(double16 x, double16 y, ulong4 mask);
14155
14156double8 __ovld __cnfn shuffle2(double2 x, double2 y, ulong8 mask);
14157double8 __ovld __cnfn shuffle2(double4 x, double4 y, ulong8 mask);
14158double8 __ovld __cnfn shuffle2(double8 x, double8 y, ulong8 mask);
14159double8 __ovld __cnfn shuffle2(double16 x, double16 y, ulong8 mask);
14160
14161double16 __ovld __cnfn shuffle2(double2 x, double2 y, ulong16 mask);
14162double16 __ovld __cnfn shuffle2(double4 x, double4 y, ulong16 mask);
14163double16 __ovld __cnfn shuffle2(double8 x, double8 y, ulong16 mask);
14164double16 __ovld __cnfn shuffle2(double16 x, double16 y, ulong16 mask);
14165#endif //cl_khr_fp64
14166
14167#ifdef cl_khr_fp16
14168half2 __ovld __cnfn shuffle2(half2 x, half2 y, ushort2 mask);
14169half2 __ovld __cnfn shuffle2(half4 x, half4 y, ushort2 mask);
14170half2 __ovld __cnfn shuffle2(half8 x, half8 y, ushort2 mask);
14171half2 __ovld __cnfn shuffle2(half16 x, half16 y, ushort2 mask);
14172
14173half4 __ovld __cnfn shuffle2(half2 x, half2 y, ushort4 mask);
14174half4 __ovld __cnfn shuffle2(half4 x, half4 y, ushort4 mask);
14175half4 __ovld __cnfn shuffle2(half8 x, half8 y, ushort4 mask);
14176half4 __ovld __cnfn shuffle2(half16 x, half16 y, ushort4 mask);
14177
14178half8 __ovld __cnfn shuffle2(half2 x, half2 y, ushort8 mask);
14179half8 __ovld __cnfn shuffle2(half4 x, half4 y, ushort8 mask);
14180half8 __ovld __cnfn shuffle2(half8 x, half8 y, ushort8 mask);
14181half8 __ovld __cnfn shuffle2(half16 x, half16 y, ushort8 mask);
14182
14183half16 __ovld __cnfn shuffle2(half2 x, half2 y, ushort16 mask);
14184half16 __ovld __cnfn shuffle2(half4 x, half4 y, ushort16 mask);
14185half16 __ovld __cnfn shuffle2(half8 x, half8 y, ushort16 mask);
14186half16 __ovld __cnfn shuffle2(half16 x, half16 y, ushort16 mask);
14187#endif //cl_khr_fp16
14188
14189#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14190// OpenCL v1.2 s6.12.13, v2.0 s6.13.13 - printf
14191
14192int printf(__constant const char* st, ...) __attribute__((format(printf, 1, 2)));
14193#endif
14194
14195// OpenCL v1.1 s6.11.3, v1.2 s6.12.14, v2.0 s6.13.14 - Image Read and Write Functions
14196
14197#ifdef cl_khr_gl_msaa_sharing
14198#pragma OPENCL EXTENSION cl_khr_gl_msaa_sharing : enable
14199#endif //cl_khr_gl_msaa_sharing
14200
14201/**
14202 * Use the coordinate (coord.xy) to do an element lookup in
14203 * the 2D image object specified by image.
14204 *
14205 * Use the coordinate (coord.x, coord.y, coord.z) to do
14206 * an element lookup in the 3D image object specified
14207 * by image. coord.w is ignored.
14208 *
14209 * Use the coordinate (coord.z) to index into the
14210 * 2D image array object specified by image_array
14211 * and (coord.x, coord.y) to do an element lookup in
14212 * the 2D image object specified by image.
14213 *
14214 * Use the coordinate (x) to do an element lookup in
14215 * the 1D image object specified by image.
14216 *
14217 * Use the coordinate (coord.y) to index into the
14218 * 1D image array object specified by image_array
14219 * and (coord.x) to do an element lookup in
14220 * the 1D image object specified by image.
14221 *
14222 * Use the coordinate (cood.xy) and sample to do an
14223 * element lookup in the 2D multi-sample image specified
14224 * by image.
14225 *
14226 * Use coord.xy and sample to do an element
14227 * lookup in the 2D multi-sample image layer
14228 * identified by index coord.z in the 2D multi-sample
14229 * image array specified by image.
14230 *
14231 * For mipmap images, use the mip-level specified by
14232 * the Level-of-Detail (lod) or use gradients for LOD
14233 * computation.
14234 *
14235 * read_imagef returns floating-point values in the
14236 * range [0.0 ... 1.0] for image objects created with
14237 * image_channel_data_type set to one of the predefined
14238 * packed formats or CL_UNORM_INT8, or
14239 * CL_UNORM_INT16.
14240 *
14241 * read_imagef returns floating-point values in the
14242 * range [-1.0 ... 1.0] for image objects created with
14243 * image_channel_data_type set to CL_SNORM_INT8,
14244 * or CL_SNORM_INT16.
14245 *
14246 * read_imagef returns floating-point values for image
14247 * objects created with image_channel_data_type set to
14248 * CL_HALF_FLOAT or CL_FLOAT.
14249 *
14250 * read_imagei and read_imageui return
14251 * unnormalized signed integer and unsigned integer
14252 * values respectively. Each channel will be stored in a
14253 * 32-bit integer.
14254 *
14255 * read_imagei can only be used with image objects
14256 * created with image_channel_data_type set to one of
14257 * the following values:
14258 * CL_SIGNED_INT8,
14259 * CL_SIGNED_INT16 and
14260 * CL_SIGNED_INT32.
14261 * If the image_channel_data_type is not one of the
14262 * above values, the values returned by read_imagei
14263 * are undefined.
14264 *
14265 * read_imageui can only be used with image objects
14266 * created with image_channel_data_type set to one of
14267 * the following values:
14268 * CL_UNSIGNED_INT8,
14269 * CL_UNSIGNED_INT16 and
14270 * CL_UNSIGNED_INT32.
14271 * If the image_channel_data_type is not one of the
14272 * above values, the values returned by read_imageui
14273 * are undefined.
14274 *
14275 * The read_image{i|ui} calls support a nearest filter
14276 * only. The filter_mode specified in sampler
14277 * must be set to CLK_FILTER_NEAREST; otherwise
14278 * the values returned are undefined.
14279
14280 * The read_image{f|i|ui} calls that take
14281 * integer coordinates must use a sampler with
14282 * normalized coordinates set to
14283 * CLK_NORMALIZED_COORDS_FALSE and
14284 * addressing mode set to
14285 * CLK_ADDRESS_CLAMP_TO_EDGE,
14286 * CLK_ADDRESS_CLAMP or CLK_ADDRESS_NONE;
14287 * otherwise the values returned are undefined.
14288 *
14289 * Values returned by read_imagef for image objects
14290 * with image_channel_data_type values not specified
14291 * in the description above are undefined.
14292 */
14293
14294float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, int2 coord);
14295float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord);
14296
14297int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, int2 coord);
14298int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord);
14299uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, int2 coord);
14300uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord);
14301
14302float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, int4 coord);
14303float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord);
14304
14305int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, int4 coord);
14306int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord);
14307uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, int4 coord);
14308uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord);
14309
14310#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14311float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
14312float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
14313
14314int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
14315int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
14316uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
14317uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
14318#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14319
14320float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, int coord);
14321float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord);
14322
14323int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, int coord);
14324int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord);
14325uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, int coord);
14326uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord);
14327
14328#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14329float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
14330float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
14331
14332int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
14333int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
14334uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
14335uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
14336#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14337
14338#ifdef cl_khr_depth_images
14339float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord);
14340float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, int2 coord);
14341
14342float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord);
14343float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, int4 coord);
14344#endif //cl_khr_depth_images
14345
14346#if defined(cl_khr_gl_msaa_sharing)
14347float4 __purefn __ovld read_imagef(read_only image2d_msaa_t image, int2 coord, int sample);
14348int4 __purefn __ovld read_imagei(read_only image2d_msaa_t image, int2 coord, int sample);
14349uint4 __purefn __ovld read_imageui(read_only image2d_msaa_t image, int2 coord, int sample);
14350
14351float __purefn __ovld read_imagef(read_only image2d_msaa_depth_t image, int2 coord, int sample);
14352
14353float4 __purefn __ovld read_imagef(read_only image2d_array_msaa_t image, int4 coord, int sample);
14354int4 __purefn __ovld read_imagei(read_only image2d_array_msaa_t image, int4 coord, int sample);
14355uint4 __purefn __ovld read_imageui(read_only image2d_array_msaa_t image, int4 coord, int sample);
14356
14357float __purefn __ovld read_imagef(read_only image2d_array_msaa_depth_t image, int4 coord, int sample);
14358#endif //cl_khr_gl_msaa_sharing
14359
14360// OpenCL Extension v2.0 s9.18 - Mipmaps
14361#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14362#ifdef cl_khr_mipmap_image
14363
14364float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float lod);
14365int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float lod);
14366uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float lod);
14367
14368float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14369int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14370uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14371
14372float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
14373int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
14374uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
14375
14376float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
14377
14378float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14379int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14380uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14381
14382float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
14383
14384float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
14385int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
14386uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
14387
14388float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14389int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14390uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14391
14392float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14393int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14394uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14395
14396float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14397int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14398uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14399
14400float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14401
14402float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14403int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14404uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14405
14406float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14407
14408float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14409int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14410uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14411
14412#endif //cl_khr_mipmap_image
14413#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14414
14415#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14416
14417/**
14418* Sampler-less Image Access
14419*/
14420
14421float4 __purefn __ovld read_imagef(read_only image1d_t image, int coord);
14422int4 __purefn __ovld read_imagei(read_only image1d_t image, int coord);
14423uint4 __purefn __ovld read_imageui(read_only image1d_t image, int coord);
14424
14425float4 __purefn __ovld read_imagef(read_only image1d_buffer_t image, int coord);
14426int4 __purefn __ovld read_imagei(read_only image1d_buffer_t image, int coord);
14427uint4 __purefn __ovld read_imageui(read_only image1d_buffer_t image, int coord);
14428
14429float4 __purefn __ovld read_imagef(read_only image1d_array_t image, int2 coord);
14430int4 __purefn __ovld read_imagei(read_only image1d_array_t image, int2 coord);
14431uint4 __purefn __ovld read_imageui(read_only image1d_array_t image, int2 coord);
14432
14433float4 __purefn __ovld read_imagef(read_only image2d_t image, int2 coord);
14434int4 __purefn __ovld read_imagei(read_only image2d_t image, int2 coord);
14435uint4 __purefn __ovld read_imageui(read_only image2d_t image, int2 coord);
14436
14437float4 __purefn __ovld read_imagef(read_only image2d_array_t image, int4 coord);
14438int4 __purefn __ovld read_imagei(read_only image2d_array_t image, int4 coord);
14439uint4 __purefn __ovld read_imageui(read_only image2d_array_t image, int4 coord);
14440
14441#ifdef cl_khr_depth_images
14442float __purefn __ovld read_imagef(read_only image2d_depth_t image, int2 coord);
14443float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, int4 coord);
14444#endif //cl_khr_depth_images
14445
14446float4 __purefn __ovld read_imagef(read_only image3d_t image, int4 coord);
14447int4 __purefn __ovld read_imagei(read_only image3d_t image, int4 coord);
14448uint4 __purefn __ovld read_imageui(read_only image3d_t image, int4 coord);
14449
14450#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14451
14452// Image read functions returning half4 type
14453#ifdef cl_khr_fp16
14454half4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, int coord);
14455half4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, float coord);
14456half4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, int2 coord);
14457half4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, float2 coord);
14458half4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, int4 coord);
14459half4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, float4 coord);
14460#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14461half4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, int2 coord);
14462half4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, float2 coord);
14463half4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, int4 coord);
14464half4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, float4 coord);
14465/**
14466 * Sampler-less Image Access
14467 */
14468half4 __purefn __ovld read_imageh(read_only image1d_t image, int coord);
14469half4 __purefn __ovld read_imageh(read_only image2d_t image, int2 coord);
14470half4 __purefn __ovld read_imageh(read_only image3d_t image, int4 coord);
14471half4 __purefn __ovld read_imageh(read_only image1d_array_t image, int2 coord);
14472half4 __purefn __ovld read_imageh(read_only image2d_array_t image, int4 coord);
14473half4 __purefn __ovld read_imageh(read_only image1d_buffer_t image, int coord);
14474#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14475#endif //cl_khr_fp16
14476
14477// Image read functions for read_write images
14478#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14479float4 __purefn __ovld read_imagef(read_write image1d_t image, int coord);
14480int4 __purefn __ovld read_imagei(read_write image1d_t image, int coord);
14481uint4 __purefn __ovld read_imageui(read_write image1d_t image, int coord);
14482
14483float4 __purefn __ovld read_imagef(read_write image1d_buffer_t image, int coord);
14484int4 __purefn __ovld read_imagei(read_write image1d_buffer_t image, int coord);
14485uint4 __purefn __ovld read_imageui(read_write image1d_buffer_t image, int coord);
14486
14487float4 __purefn __ovld read_imagef(read_write image1d_array_t image, int2 coord);
14488int4 __purefn __ovld read_imagei(read_write image1d_array_t image, int2 coord);
14489uint4 __purefn __ovld read_imageui(read_write image1d_array_t image, int2 coord);
14490
14491float4 __purefn __ovld read_imagef(read_write image2d_t image, int2 coord);
14492int4 __purefn __ovld read_imagei(read_write image2d_t image, int2 coord);
14493uint4 __purefn __ovld read_imageui(read_write image2d_t image, int2 coord);
14494
14495float4 __purefn __ovld read_imagef(read_write image2d_array_t image, int4 coord);
14496int4 __purefn __ovld read_imagei(read_write image2d_array_t image, int4 coord);
14497uint4 __purefn __ovld read_imageui(read_write image2d_array_t image, int4 coord);
14498
14499float4 __purefn __ovld read_imagef(read_write image3d_t image, int4 coord);
14500int4 __purefn __ovld read_imagei(read_write image3d_t image, int4 coord);
14501uint4 __purefn __ovld read_imageui(read_write image3d_t image, int4 coord);
14502
14503#ifdef cl_khr_depth_images
14504float __purefn __ovld read_imagef(read_write image2d_depth_t image, int2 coord);
14505float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, int4 coord);
14506#endif //cl_khr_depth_images
14507
14508#if cl_khr_gl_msaa_sharing
14509float4 __purefn __ovld read_imagef(read_write image2d_msaa_t image, int2 coord, int sample);
14510int4 __purefn __ovld read_imagei(read_write image2d_msaa_t image, int2 coord, int sample);
14511uint4 __purefn __ovld read_imageui(read_write image2d_msaa_t image, int2 coord, int sample);
14512
14513float4 __purefn __ovld read_imagef(read_write image2d_array_msaa_t image, int4 coord, int sample);
14514int4 __purefn __ovld read_imagei(read_write image2d_array_msaa_t image, int4 coord, int sample);
14515uint4 __purefn __ovld read_imageui(read_write image2d_array_msaa_t image, int4 coord, int sample);
14516
14517float __purefn __ovld read_imagef(read_write image2d_msaa_depth_t image, int2 coord, int sample);
14518float __purefn __ovld read_imagef(read_write image2d_array_msaa_depth_t image, int4 coord, int sample);
14519#endif //cl_khr_gl_msaa_sharing
14520
14521#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14522#ifdef cl_khr_mipmap_image
14523float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float lod);
14524int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float lod);
14525uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float lod);
14526
14527float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14528int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14529uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14530
14531float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
14532int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
14533uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
14534
14535float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
14536
14537float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14538int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14539uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14540
14541float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
14542
14543float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
14544int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
14545uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
14546
14547float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14548int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14549uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14550
14551float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14552int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14553uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14554
14555float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14556int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14557uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14558
14559float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14560
14561float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14562int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14563uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14564
14565float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14566
14567float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14568int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14569uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14570
14571#endif //cl_khr_mipmap_image
14572#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14573
14574// Image read functions returning half4 type
14575#ifdef cl_khr_fp16
14576half4 __purefn __ovld read_imageh(read_write image1d_t image, int coord);
14577half4 __purefn __ovld read_imageh(read_write image2d_t image, int2 coord);
14578half4 __purefn __ovld read_imageh(read_write image3d_t image, int4 coord);
14579half4 __purefn __ovld read_imageh(read_write image1d_array_t image, int2 coord);
14580half4 __purefn __ovld read_imageh(read_write image2d_array_t image, int4 coord);
14581half4 __purefn __ovld read_imageh(read_write image1d_buffer_t image, int coord);
14582#endif //cl_khr_fp16
14583#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14584
14585/**
14586 * Write color value to location specified by coordinate
14587 * (coord.x, coord.y) in the 2D image object specified by image.
14588 * (coord.x, coord.y) are considered to be unnormalized coordinates
14589 * and must be in the range 0 ... image width - 1, and 0
14590 * ... image height - 1.
14591
14592 * Write color value to location specified by coordinate
14593 * (coord.x, coord.y) in the 2D image object specified by index
14594 * (coord.z) of the 2D image array object image_array.
14595 * (coord.x, coord.y) are considered to be unnormalized
14596 * coordinates and must be in the range 0 ... image width
14597 * - 1.
14598 *
14599 * Write color value to location specified by coordinate
14600 * (coord) in the 1D image (buffer) object specified by image.
14601 * coord is considered to be unnormalized coordinates
14602 * and must be in the range 0 ... image width - 1.
14603 *
14604 * Write color value to location specified by coordinate
14605 * (coord.x) in the 1D image object specified by index
14606 * (coord.y) of the 1D image array object image_array.
14607 * x is considered to be unnormalized coordinates
14608 * and must be in the range 0 ... image width - 1.
14609 *
14610 * Write color value to location specified by coordinate
14611 * (coord.x, coord.y, coord.z) in the 3D image object specified by image.
14612 * coord.x & coord.y are considered to be unnormalized coordinates
14613 * and must be in the range 0 ... image width - 1, and 0
14614 * ... image height - 1.
14615 *
14616 * For mipmap images, use mip-level specified by lod.
14617 *
14618 * Appropriate data format conversion to the specified
14619 * image format is done before writing the color value.
14620 *
14621 * write_imagef can only be used with image objects
14622 * created with image_channel_data_type set to one of
14623 * the pre-defined packed formats or set to
14624 * CL_SNORM_INT8, CL_UNORM_INT8,
14625 * CL_SNORM_INT16, CL_UNORM_INT16,
14626 * CL_HALF_FLOAT or CL_FLOAT. Appropriate data
14627 * format conversion will be done to convert channel
14628 * data from a floating-point value to actual data format
14629 * in which the channels are stored.
14630 *
14631 * write_imagei can only be used with image objects
14632 * created with image_channel_data_type set to one of
14633 * the following values:
14634 * CL_SIGNED_INT8,
14635 * CL_SIGNED_INT16 and
14636 * CL_SIGNED_INT32.
14637 *
14638 * write_imageui can only be used with image objects
14639 * created with image_channel_data_type set to one of
14640 * the following values:
14641 * CL_UNSIGNED_INT8,
14642 * CL_UNSIGNED_INT16 and
14643 * CL_UNSIGNED_INT32.
14644 *
14645 * The behavior of write_imagef, write_imagei and
14646 * write_imageui for image objects created with
14647 * image_channel_data_type values not specified in
14648 * the description above or with (x, y) coordinate
14649 * values that are not in the range (0 ... image width -1,
14650 * 0 ... image height - 1), respectively, is undefined.
14651 */
14652void __ovld write_imagef(write_only image2d_t image, int2 coord, float4 color);
14653void __ovld write_imagei(write_only image2d_t image, int2 coord, int4 color);
14654void __ovld write_imageui(write_only image2d_t image, int2 coord, uint4 color);
14655
14656void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, float4 color);
14657void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int4 color);
14658void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, uint4 color);
14659
14660void __ovld write_imagef(write_only image1d_t image, int coord, float4 color);
14661void __ovld write_imagei(write_only image1d_t image, int coord, int4 color);
14662void __ovld write_imageui(write_only image1d_t image, int coord, uint4 color);
14663
14664void __ovld write_imagef(write_only image1d_buffer_t image, int coord, float4 color);
14665void __ovld write_imagei(write_only image1d_buffer_t image, int coord, int4 color);
14666void __ovld write_imageui(write_only image1d_buffer_t image, int coord, uint4 color);
14667
14668void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, float4 color);
14669void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int4 color);
14670void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, uint4 color);
14671
14672#ifdef cl_khr_3d_image_writes
14673void __ovld write_imagef(write_only image3d_t image, int4 coord, float4 color);
14674void __ovld write_imagei(write_only image3d_t image, int4 coord, int4 color);
14675void __ovld write_imageui(write_only image3d_t image, int4 coord, uint4 color);
14676#endif
14677
14678#ifdef cl_khr_depth_images
14679void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, float color);
14680void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, float color);
14681#endif //cl_khr_depth_images
14682
14683// OpenCL Extension v2.0 s9.18 - Mipmaps
14684#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14685#ifdef cl_khr_mipmap_image
14686void __ovld write_imagef(write_only image1d_t image, int coord, int lod, float4 color);
14687void __ovld write_imagei(write_only image1d_t image, int coord, int lod, int4 color);
14688void __ovld write_imageui(write_only image1d_t image, int coord, int lod, uint4 color);
14689
14690void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, int lod, float4 color);
14691void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int lod, int4 color);
14692void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, int lod, uint4 color);
14693
14694void __ovld write_imagef(write_only image2d_t image, int2 coord, int lod, float4 color);
14695void __ovld write_imagei(write_only image2d_t image, int2 coord, int lod, int4 color);
14696void __ovld write_imageui(write_only image2d_t image, int2 coord, int lod, uint4 color);
14697
14698void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, int lod, float4 color);
14699void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int lod, int4 color);
14700void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, int lod, uint4 color);
14701
14702void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, int lod, float color);
14703void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, int lod, float color);
14704
14705#ifdef cl_khr_3d_image_writes
14706void __ovld write_imagef(write_only image3d_t image, int4 coord, int lod, float4 color);
14707void __ovld write_imagei(write_only image3d_t image, int4 coord, int lod, int4 color);
14708void __ovld write_imageui(write_only image3d_t image, int4 coord, int lod, uint4 color);
14709#endif
14710#endif //cl_khr_mipmap_image
14711#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14712
14713// Image write functions for half4 type
14714#ifdef cl_khr_fp16
14715void __ovld write_imageh(write_only image1d_t image, int coord, half4 color);
14716void __ovld write_imageh(write_only image2d_t image, int2 coord, half4 color);
14717#ifdef cl_khr_3d_image_writes
14718void __ovld write_imageh(write_only image3d_t image, int4 coord, half4 color);
14719#endif
14720void __ovld write_imageh(write_only image1d_array_t image, int2 coord, half4 color);
14721void __ovld write_imageh(write_only image2d_array_t image, int4 coord, half4 color);
14722void __ovld write_imageh(write_only image1d_buffer_t image, int coord, half4 color);
14723#endif //cl_khr_fp16
14724
14725// Image write functions for read_write images
14726#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14727void __ovld write_imagef(read_write image2d_t image, int2 coord, float4 color);
14728void __ovld write_imagei(read_write image2d_t image, int2 coord, int4 color);
14729void __ovld write_imageui(read_write image2d_t image, int2 coord, uint4 color);
14730
14731void __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, float4 color);
14732void __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int4 color);
14733void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, uint4 color);
14734
14735void __ovld write_imagef(read_write image1d_t image, int coord, float4 color);
14736void __ovld write_imagei(read_write image1d_t image, int coord, int4 color);
14737void __ovld write_imageui(read_write image1d_t image, int coord, uint4 color);
14738
14739void __ovld write_imagef(read_write image1d_buffer_t image, int coord, float4 color);
14740void __ovld write_imagei(read_write image1d_buffer_t image, int coord, int4 color);
14741void __ovld write_imageui(read_write image1d_buffer_t image, int coord, uint4 color);
14742
14743void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, float4 color);
14744void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int4 color);
14745void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, uint4 color);
14746
14747#ifdef cl_khr_3d_image_writes
14748void __ovld write_imagef(read_write image3d_t image, int4 coord, float4 color);
14749void __ovld write_imagei(read_write image3d_t image, int4 coord, int4 color);
14750void __ovld write_imageui(read_write image3d_t image, int4 coord, uint4 color);
14751#endif
14752
14753#ifdef cl_khr_depth_images
14754void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, float color);
14755void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, float color);
14756#endif //cl_khr_depth_images
14757
14758#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14759#ifdef cl_khr_mipmap_image
14760void __ovld write_imagef(read_write image1d_t image, int coord, int lod, float4 color);
14761void __ovld write_imagei(read_write image1d_t image, int coord, int lod, int4 color);
14762void __ovld write_imageui(read_write image1d_t image, int coord, int lod, uint4 color);
14763
14764void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, int lod, float4 color);
14765void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int lod, int4 color);
14766void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, int lod, uint4 color);
14767
14768void __ovld write_imagef(read_write image2d_t image, int2 coord, int lod, float4 color);
14769void __ovld write_imagei(read_write image2d_t image, int2 coord, int lod, int4 color);
14770void __ovld write_imageui(read_write image2d_t image, int2 coord, int lod, uint4 color);
14771
14772void __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, int lod, float4 color);
14773void __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int lod, int4 color);
14774void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, int lod, uint4 color);
14775
14776void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, int lod, float color);
14777void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, int lod, float color);
14778
14779#ifdef cl_khr_3d_image_writes
14780void __ovld write_imagef(read_write image3d_t image, int4 coord, int lod, float4 color);
14781void __ovld write_imagei(read_write image3d_t image, int4 coord, int lod, int4 color);
14782void __ovld write_imageui(read_write image3d_t image, int4 coord, int lod, uint4 color);
14783#endif
14784#endif //cl_khr_mipmap_image
14785#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14786
14787// Image write functions for half4 type
14788#ifdef cl_khr_fp16
14789void __ovld write_imageh(read_write image1d_t image, int coord, half4 color);
14790void __ovld write_imageh(read_write image2d_t image, int2 coord, half4 color);
14791#ifdef cl_khr_3d_image_writes
14792void __ovld write_imageh(read_write image3d_t image, int4 coord, half4 color);
14793#endif
14794void __ovld write_imageh(read_write image1d_array_t image, int2 coord, half4 color);
14795void __ovld write_imageh(read_write image2d_array_t image, int4 coord, half4 color);
14796void __ovld write_imageh(read_write image1d_buffer_t image, int coord, half4 color);
14797#endif //cl_khr_fp16
14798#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14799
14800// Note: In OpenCL v1.0/1.1/1.2, image argument of image query builtin functions does not have
14801// access qualifier, which by default assume read_only access qualifier. Image query builtin
14802// functions with write_only image argument should also be declared.
14803
14804/**
14805 * Return the image width in pixels.
14806 *
14807  */
14808int __ovld __cnfn get_image_width(read_only image1d_t image);
14809int __ovld __cnfn get_image_width(read_only image1d_buffer_t image);
14810int __ovld __cnfn get_image_width(read_only image2d_t image);
14811#ifdef cl_khr_3d_image_writes
14812int __ovld __cnfn get_image_width(read_only image3d_t image);
14813#endif
14814int __ovld __cnfn get_image_width(read_only image1d_array_t image);
14815int __ovld __cnfn get_image_width(read_only image2d_array_t image);
14816#ifdef cl_khr_depth_images
14817int __ovld __cnfn get_image_width(read_only image2d_depth_t image);
14818int __ovld __cnfn get_image_width(read_only image2d_array_depth_t image);
14819#endif //cl_khr_depth_images
14820#if defined(cl_khr_gl_msaa_sharing)
14821int __ovld __cnfn get_image_width(read_only image2d_msaa_t image);
14822int __ovld __cnfn get_image_width(read_only image2d_msaa_depth_t image);
14823int __ovld __cnfn get_image_width(read_only image2d_array_msaa_t image);
14824int __ovld __cnfn get_image_width(read_only image2d_array_msaa_depth_t image);
14825#endif //cl_khr_gl_msaa_sharing
14826
14827int __ovld __cnfn get_image_width(write_only image1d_t image);
14828int __ovld __cnfn get_image_width(write_only image1d_buffer_t image);
14829int __ovld __cnfn get_image_width(write_only image2d_t image);
14830#ifdef cl_khr_3d_image_writes
14831int __ovld __cnfn get_image_width(write_only image3d_t image);
14832#endif
14833int __ovld __cnfn get_image_width(write_only image1d_array_t image);
14834int __ovld __cnfn get_image_width(write_only image2d_array_t image);
14835#ifdef cl_khr_depth_images
14836int __ovld __cnfn get_image_width(write_only image2d_depth_t image);
14837int __ovld __cnfn get_image_width(write_only image2d_array_depth_t image);
14838#endif //cl_khr_depth_images
14839#if defined(cl_khr_gl_msaa_sharing)
14840int __ovld __cnfn get_image_width(write_only image2d_msaa_t image);
14841int __ovld __cnfn get_image_width(write_only image2d_msaa_depth_t image);
14842int __ovld __cnfn get_image_width(write_only image2d_array_msaa_t image);
14843int __ovld __cnfn get_image_width(write_only image2d_array_msaa_depth_t image);
14844#endif //cl_khr_gl_msaa_sharing
14845
14846#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14847int __ovld __cnfn get_image_width(read_write image1d_t image);
14848int __ovld __cnfn get_image_width(read_write image1d_buffer_t image);
14849int __ovld __cnfn get_image_width(read_write image2d_t image);
14850int __ovld __cnfn get_image_width(read_write image3d_t image);
14851int __ovld __cnfn get_image_width(read_write image1d_array_t image);
14852int __ovld __cnfn get_image_width(read_write image2d_array_t image);
14853#ifdef cl_khr_depth_images
14854int __ovld __cnfn get_image_width(read_write image2d_depth_t image);
14855int __ovld __cnfn get_image_width(read_write image2d_array_depth_t image);
14856#endif //cl_khr_depth_images
14857#if defined(cl_khr_gl_msaa_sharing)
14858int __ovld __cnfn get_image_width(read_write image2d_msaa_t image);
14859int __ovld __cnfn get_image_width(read_write image2d_msaa_depth_t image);
14860int __ovld __cnfn get_image_width(read_write image2d_array_msaa_t image);
14861int __ovld __cnfn get_image_width(read_write image2d_array_msaa_depth_t image);
14862#endif //cl_khr_gl_msaa_sharing
14863#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14864
14865/**
14866 * Return the image height in pixels.
14867 */
14868int __ovld __cnfn get_image_height(read_only image2d_t image);
14869int __ovld __cnfn get_image_height(read_only image3d_t image);
14870int __ovld __cnfn get_image_height(read_only image2d_array_t image);
14871#ifdef cl_khr_depth_images
14872int __ovld __cnfn get_image_height(read_only image2d_depth_t image);
14873int __ovld __cnfn get_image_height(read_only image2d_array_depth_t image);
14874#endif //cl_khr_depth_images
14875#if defined(cl_khr_gl_msaa_sharing)
14876int __ovld __cnfn get_image_height(read_only image2d_msaa_t image);
14877int __ovld __cnfn get_image_height(read_only image2d_msaa_depth_t image);
14878int __ovld __cnfn get_image_height(read_only image2d_array_msaa_t image);
14879int __ovld __cnfn get_image_height(read_only image2d_array_msaa_depth_t image);
14880#endif //cl_khr_gl_msaa_sharing
14881
14882int __ovld __cnfn get_image_height(write_only image2d_t image);
14883#ifdef cl_khr_3d_image_writes
14884int __ovld __cnfn get_image_height(write_only image3d_t image);
14885#endif
14886int __ovld __cnfn get_image_height(write_only image2d_array_t image);
14887#ifdef cl_khr_depth_images
14888int __ovld __cnfn get_image_height(write_only image2d_depth_t image);
14889int __ovld __cnfn get_image_height(write_only image2d_array_depth_t image);
14890#endif //cl_khr_depth_images
14891#if defined(cl_khr_gl_msaa_sharing)
14892int __ovld __cnfn get_image_height(write_only image2d_msaa_t image);
14893int __ovld __cnfn get_image_height(write_only image2d_msaa_depth_t image);
14894int __ovld __cnfn get_image_height(write_only image2d_array_msaa_t image);
14895int __ovld __cnfn get_image_height(write_only image2d_array_msaa_depth_t image);
14896#endif //cl_khr_gl_msaa_sharing
14897
14898#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14899int __ovld __cnfn get_image_height(read_write image2d_t image);
14900int __ovld __cnfn get_image_height(read_write image3d_t image);
14901int __ovld __cnfn get_image_height(read_write image2d_array_t image);
14902#ifdef cl_khr_depth_images
14903int __ovld __cnfn get_image_height(read_write image2d_depth_t image);
14904int __ovld __cnfn get_image_height(read_write image2d_array_depth_t image);
14905#endif //cl_khr_depth_images
14906#if defined(cl_khr_gl_msaa_sharing)
14907int __ovld __cnfn get_image_height(read_write image2d_msaa_t image);
14908int __ovld __cnfn get_image_height(read_write image2d_msaa_depth_t image);
14909int __ovld __cnfn get_image_height(read_write image2d_array_msaa_t image);
14910int __ovld __cnfn get_image_height(read_write image2d_array_msaa_depth_t image);
14911#endif //cl_khr_gl_msaa_sharing
14912#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14913
14914/**
14915 * Return the image depth in pixels.
14916 */
14917int __ovld __cnfn get_image_depth(read_only image3d_t image);
14918
14919#ifdef cl_khr_3d_image_writes
14920int __ovld __cnfn get_image_depth(write_only image3d_t image);
14921#endif
14922
14923#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14924int __ovld __cnfn get_image_depth(read_write image3d_t image);
14925#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14926
14927// OpenCL Extension v2.0 s9.18 - Mipmaps
14928#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14929#ifdef cl_khr_mipmap_image
14930/**
14931 * Return the image miplevels.
14932 */
14933
14934int __ovld get_image_num_mip_levels(read_only image1d_t image);
14935int __ovld get_image_num_mip_levels(read_only image2d_t image);
14936int __ovld get_image_num_mip_levels(read_only image3d_t image);
14937
14938int __ovld get_image_num_mip_levels(write_only image1d_t image);
14939int __ovld get_image_num_mip_levels(write_only image2d_t image);
14940#ifdef cl_khr_3d_image_writes
14941int __ovld get_image_num_mip_levels(write_only image3d_t image);
14942#endif
14943
14944int __ovld get_image_num_mip_levels(read_write image1d_t image);
14945int __ovld get_image_num_mip_levels(read_write image2d_t image);
14946int __ovld get_image_num_mip_levels(read_write image3d_t image);
14947
14948int __ovld get_image_num_mip_levels(read_only image1d_array_t image);
14949int __ovld get_image_num_mip_levels(read_only image2d_array_t image);
14950int __ovld get_image_num_mip_levels(read_only image2d_array_depth_t image);
14951int __ovld get_image_num_mip_levels(read_only image2d_depth_t image);
14952
14953int __ovld get_image_num_mip_levels(write_only image1d_array_t image);
14954int __ovld get_image_num_mip_levels(write_only image2d_array_t image);
14955int __ovld get_image_num_mip_levels(write_only image2d_array_depth_t image);
14956int __ovld get_image_num_mip_levels(write_only image2d_depth_t image);
14957
14958int __ovld get_image_num_mip_levels(read_write image1d_array_t image);
14959int __ovld get_image_num_mip_levels(read_write image2d_array_t image);
14960int __ovld get_image_num_mip_levels(read_write image2d_array_depth_t image);
14961int __ovld get_image_num_mip_levels(read_write image2d_depth_t image);
14962
14963#endif //cl_khr_mipmap_image
14964#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14965
14966/**
14967 * Return the channel data type. Valid values are:
14968 * CLK_SNORM_INT8
14969 * CLK_SNORM_INT16
14970 * CLK_UNORM_INT8
14971 * CLK_UNORM_INT16
14972 * CLK_UNORM_SHORT_565
14973 * CLK_UNORM_SHORT_555
14974 * CLK_UNORM_SHORT_101010
14975 * CLK_SIGNED_INT8
14976 * CLK_SIGNED_INT16
14977 * CLK_SIGNED_INT32
14978 * CLK_UNSIGNED_INT8
14979 * CLK_UNSIGNED_INT16
14980 * CLK_UNSIGNED_INT32
14981 * CLK_HALF_FLOAT
14982 * CLK_FLOAT
14983 */
14984
14985int __ovld __cnfn get_image_channel_data_type(read_only image1d_t image);
14986int __ovld __cnfn get_image_channel_data_type(read_only image1d_buffer_t image);
14987int __ovld __cnfn get_image_channel_data_type(read_only image2d_t image);
14988int __ovld __cnfn get_image_channel_data_type(read_only image3d_t image);
14989int __ovld __cnfn get_image_channel_data_type(read_only image1d_array_t image);
14990int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_t image);
14991#ifdef cl_khr_depth_images
14992int __ovld __cnfn get_image_channel_data_type(read_only image2d_depth_t image);
14993int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_depth_t image);
14994#endif //cl_khr_depth_images
14995#if defined(cl_khr_gl_msaa_sharing)
14996int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_t image);
14997int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_depth_t image);
14998int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_t image);
14999int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_depth_t image);
15000#endif //cl_khr_gl_msaa_sharing
15001
15002int __ovld __cnfn get_image_channel_data_type(write_only image1d_t image);
15003int __ovld __cnfn get_image_channel_data_type(write_only image1d_buffer_t image);
15004int __ovld __cnfn get_image_channel_data_type(write_only image2d_t image);
15005#ifdef cl_khr_3d_image_writes
15006int __ovld __cnfn get_image_channel_data_type(write_only image3d_t image);
15007#endif
15008int __ovld __cnfn get_image_channel_data_type(write_only image1d_array_t image);
15009int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_t image);
15010#ifdef cl_khr_depth_images
15011int __ovld __cnfn get_image_channel_data_type(write_only image2d_depth_t image);
15012int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_depth_t image);
15013#endif //cl_khr_depth_images
15014#if defined(cl_khr_gl_msaa_sharing)
15015int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_t image);
15016int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_depth_t image);
15017int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_t image);
15018int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_depth_t image);
15019#endif //cl_khr_gl_msaa_sharing
15020
15021#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15022int __ovld __cnfn get_image_channel_data_type(read_write image1d_t image);
15023int __ovld __cnfn get_image_channel_data_type(read_write image1d_buffer_t image);
15024int __ovld __cnfn get_image_channel_data_type(read_write image2d_t image);
15025int __ovld __cnfn get_image_channel_data_type(read_write image3d_t image);
15026int __ovld __cnfn get_image_channel_data_type(read_write image1d_array_t image);
15027int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_t image);
15028#ifdef cl_khr_depth_images
15029int __ovld __cnfn get_image_channel_data_type(read_write image2d_depth_t image);
15030int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_depth_t image);
15031#endif //cl_khr_depth_images
15032#if defined(cl_khr_gl_msaa_sharing)
15033int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_t image);
15034int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_depth_t image);
15035int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_t image);
15036int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_depth_t image);
15037#endif //cl_khr_gl_msaa_sharing
15038#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15039
15040/**
15041 * Return the image channel order. Valid values are:
15042 * CLK_A
15043 * CLK_R
15044 * CLK_Rx
15045 * CLK_RG
15046 * CLK_RGx
15047 * CLK_RA
15048 * CLK_RGB
15049 * CLK_RGBx
15050 * CLK_RGBA
15051 * CLK_ARGB
15052 * CLK_BGRA
15053 * CLK_INTENSITY
15054 * CLK_LUMINANCE
15055 */
15056
15057int __ovld __cnfn get_image_channel_order(read_only image1d_t image);
15058int __ovld __cnfn get_image_channel_order(read_only image1d_buffer_t image);
15059int __ovld __cnfn get_image_channel_order(read_only image2d_t image);
15060int __ovld __cnfn get_image_channel_order(read_only image3d_t image);
15061int __ovld __cnfn get_image_channel_order(read_only image1d_array_t image);
15062int __ovld __cnfn get_image_channel_order(read_only image2d_array_t image);
15063#ifdef cl_khr_depth_images
15064int __ovld __cnfn get_image_channel_order(read_only image2d_depth_t image);
15065int __ovld __cnfn get_image_channel_order(read_only image2d_array_depth_t image);
15066#endif //cl_khr_depth_images
15067#if defined(cl_khr_gl_msaa_sharing)
15068int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_t image);
15069int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_depth_t image);
15070int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_t image);
15071int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_depth_t image);
15072#endif //cl_khr_gl_msaa_sharing
15073
15074int __ovld __cnfn get_image_channel_order(write_only image1d_t image);
15075int __ovld __cnfn get_image_channel_order(write_only image1d_buffer_t image);
15076int __ovld __cnfn get_image_channel_order(write_only image2d_t image);
15077#ifdef cl_khr_3d_image_writes
15078int __ovld __cnfn get_image_channel_order(write_only image3d_t image);
15079#endif
15080int __ovld __cnfn get_image_channel_order(write_only image1d_array_t image);
15081int __ovld __cnfn get_image_channel_order(write_only image2d_array_t image);
15082#ifdef cl_khr_depth_images
15083int __ovld __cnfn get_image_channel_order(write_only image2d_depth_t image);
15084int __ovld __cnfn get_image_channel_order(write_only image2d_array_depth_t image);
15085#endif //cl_khr_depth_images
15086#if defined(cl_khr_gl_msaa_sharing)
15087int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_t image);
15088int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_depth_t image);
15089int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_t image);
15090int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_depth_t image);
15091#endif //cl_khr_gl_msaa_sharing
15092
15093#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15094int __ovld __cnfn get_image_channel_order(read_write image1d_t image);
15095int __ovld __cnfn get_image_channel_order(read_write image1d_buffer_t image);
15096int __ovld __cnfn get_image_channel_order(read_write image2d_t image);
15097int __ovld __cnfn get_image_channel_order(read_write image3d_t image);
15098int __ovld __cnfn get_image_channel_order(read_write image1d_array_t image);
15099int __ovld __cnfn get_image_channel_order(read_write image2d_array_t image);
15100#ifdef cl_khr_depth_images
15101int __ovld __cnfn get_image_channel_order(read_write image2d_depth_t image);
15102int __ovld __cnfn get_image_channel_order(read_write image2d_array_depth_t image);
15103#endif //cl_khr_depth_images
15104#if defined(cl_khr_gl_msaa_sharing)
15105int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_t image);
15106int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_depth_t image);
15107int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_t image);
15108int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_depth_t image);
15109#endif //cl_khr_gl_msaa_sharing
15110#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15111
15112/**
15113 * Return the 2D image width and height as an int2
15114 * type. The width is returned in the x component, and
15115 * the height in the y component.
15116 */
15117int2 __ovld __cnfn get_image_dim(read_only image2d_t image);
15118int2 __ovld __cnfn get_image_dim(read_only image2d_array_t image);
15119#ifdef cl_khr_depth_images
15120int2 __ovld __cnfn get_image_dim(read_only image2d_array_depth_t image);
15121int2 __ovld __cnfn get_image_dim(read_only image2d_depth_t image);
15122#endif //cl_khr_depth_images
15123#if defined(cl_khr_gl_msaa_sharing)
15124int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_t image);
15125int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_depth_t image);
15126int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_t image);
15127int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_depth_t image);
15128#endif //cl_khr_gl_msaa_sharing
15129
15130int2 __ovld __cnfn get_image_dim(write_only image2d_t image);
15131int2 __ovld __cnfn get_image_dim(write_only image2d_array_t image);
15132#ifdef cl_khr_depth_images
15133int2 __ovld __cnfn get_image_dim(write_only image2d_array_depth_t image);
15134int2 __ovld __cnfn get_image_dim(write_only image2d_depth_t image);
15135#endif //cl_khr_depth_images
15136#if defined(cl_khr_gl_msaa_sharing)
15137int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_t image);
15138int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_depth_t image);
15139int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_t image);
15140int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_depth_t image);
15141#endif //cl_khr_gl_msaa_sharing
15142
15143#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15144int2 __ovld __cnfn get_image_dim(read_write image2d_t image);
15145int2 __ovld __cnfn get_image_dim(read_write image2d_array_t image);
15146#ifdef cl_khr_depth_images
15147int2 __ovld __cnfn get_image_dim(read_write image2d_array_depth_t image);
15148int2 __ovld __cnfn get_image_dim(read_write image2d_depth_t image);
15149#endif //cl_khr_depth_images
15150#if defined(cl_khr_gl_msaa_sharing)
15151int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_t image);
15152int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_depth_t image);
15153int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_t image);
15154int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_depth_t image);
15155#endif //cl_khr_gl_msaa_sharing
15156#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15157
15158/**
15159 * Return the 3D image width, height, and depth as an
15160 * int4 type. The width is returned in the x
15161 * component, height in the y component, depth in the z
15162 * component and the w component is 0.
15163 */
15164int4 __ovld __cnfn get_image_dim(read_only image3d_t image);
15165#ifdef cl_khr_3d_image_writes
15166int4 __ovld __cnfn get_image_dim(write_only image3d_t image);
15167#endif
15168#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15169int4 __ovld __cnfn get_image_dim(read_write image3d_t image);
15170#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15171
15172/**
15173 * Return the image array size.
15174 */
15175
15176size_t __ovld __cnfn get_image_array_size(read_only image1d_array_t image_array);
15177size_t __ovld __cnfn get_image_array_size(read_only image2d_array_t image_array);
15178#ifdef cl_khr_depth_images
15179size_t __ovld __cnfn get_image_array_size(read_only image2d_array_depth_t image_array);
15180#endif //cl_khr_depth_images
15181#if defined(cl_khr_gl_msaa_sharing)
15182size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_t image_array);
15183size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_depth_t image_array);
15184#endif //cl_khr_gl_msaa_sharing
15185
15186size_t __ovld __cnfn get_image_array_size(write_only image1d_array_t image_array);
15187size_t __ovld __cnfn get_image_array_size(write_only image2d_array_t image_array);
15188#ifdef cl_khr_depth_images
15189size_t __ovld __cnfn get_image_array_size(write_only image2d_array_depth_t image_array);
15190#endif //cl_khr_depth_images
15191#if defined(cl_khr_gl_msaa_sharing)
15192size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_t image_array);
15193size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_depth_t image_array);
15194#endif //cl_khr_gl_msaa_sharing
15195
15196#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15197size_t __ovld __cnfn get_image_array_size(read_write image1d_array_t image_array);
15198size_t __ovld __cnfn get_image_array_size(read_write image2d_array_t image_array);
15199#ifdef cl_khr_depth_images
15200size_t __ovld __cnfn get_image_array_size(read_write image2d_array_depth_t image_array);
15201#endif //cl_khr_depth_images
15202#if defined(cl_khr_gl_msaa_sharing)
15203size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_t image_array);
15204size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_depth_t image_array);
15205#endif //cl_khr_gl_msaa_sharing
15206#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15207
15208/**
15209* Return the number of samples associated with image
15210*/
15211#if defined(cl_khr_gl_msaa_sharing)
15212int __ovld get_image_num_samples(read_only image2d_msaa_t image);
15213int __ovld get_image_num_samples(read_only image2d_msaa_depth_t image);
15214int __ovld get_image_num_samples(read_only image2d_array_msaa_t image);
15215int __ovld get_image_num_samples(read_only image2d_array_msaa_depth_t image);
15216
15217int __ovld get_image_num_samples(write_only image2d_msaa_t image);
15218int __ovld get_image_num_samples(write_only image2d_msaa_depth_t image);
15219int __ovld get_image_num_samples(write_only image2d_array_msaa_t image);
15220int __ovld get_image_num_samples(write_only image2d_array_msaa_depth_t image);
15221
15222#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15223int __ovld get_image_num_samples(read_write image2d_msaa_t image);
15224int __ovld get_image_num_samples(read_write image2d_msaa_depth_t image);
15225int __ovld get_image_num_samples(read_write image2d_array_msaa_t image);
15226int __ovld get_image_num_samples(read_write image2d_array_msaa_depth_t image);
15227#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15228#endif
15229
15230// OpenCL v2.0 s6.13.15 - Work-group Functions
15231
15232#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15233int __ovld __conv work_group_all(int predicate);
15234int __ovld __conv work_group_any(int predicate);
15235
15236#ifdef cl_khr_fp16
15237half __ovld __conv work_group_broadcast(half a, size_t local_id);
15238half __ovld __conv work_group_broadcast(half a, size_t x, size_t y);
15239half __ovld __conv work_group_broadcast(half a, size_t x, size_t y, size_t z);
15240#endif
15241int __ovld __conv work_group_broadcast(int a, size_t local_id);
15242int __ovld __conv work_group_broadcast(int a, size_t x, size_t y);
15243int __ovld __conv work_group_broadcast(int a, size_t x, size_t y, size_t z);
15244uint __ovld __conv work_group_broadcast(uint a, size_t local_id);
15245uint __ovld __conv work_group_broadcast(uint a, size_t x, size_t y);
15246uint __ovld __conv work_group_broadcast(uint a, size_t x, size_t y, size_t z);
15247long __ovld __conv work_group_broadcast(long a, size_t local_id);
15248long __ovld __conv work_group_broadcast(long a, size_t x, size_t y);
15249long __ovld __conv work_group_broadcast(long a, size_t x, size_t y, size_t z);
15250ulong __ovld __conv work_group_broadcast(ulong a, size_t local_id);
15251ulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y);
15252ulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y, size_t z);
15253float __ovld __conv work_group_broadcast(float a, size_t local_id);
15254float __ovld __conv work_group_broadcast(float a, size_t x, size_t y);
15255float __ovld __conv work_group_broadcast(float a, size_t x, size_t y, size_t z);
15256#ifdef cl_khr_fp64
15257double __ovld __conv work_group_broadcast(double a, size_t local_id);
15258double __ovld __conv work_group_broadcast(double a, size_t x, size_t y);
15259double __ovld __conv work_group_broadcast(double a, size_t x, size_t y, size_t z);
15260#endif //cl_khr_fp64
15261
15262#ifdef cl_khr_fp16
15263half __ovld __conv work_group_reduce_add(half x);
15264half __ovld __conv work_group_reduce_min(half x);
15265half __ovld __conv work_group_reduce_max(half x);
15266half __ovld __conv work_group_scan_exclusive_add(half x);
15267half __ovld __conv work_group_scan_exclusive_min(half x);
15268half __ovld __conv work_group_scan_exclusive_max(half x);
15269half __ovld __conv work_group_scan_inclusive_add(half x);
15270half __ovld __conv work_group_scan_inclusive_min(half x);
15271half __ovld __conv work_group_scan_inclusive_max(half x);
15272#endif
15273int __ovld __conv work_group_reduce_add(int x);
15274int __ovld __conv work_group_reduce_min(int x);
15275int __ovld __conv work_group_reduce_max(int x);
15276int __ovld __conv work_group_scan_exclusive_add(int x);
15277int __ovld __conv work_group_scan_exclusive_min(int x);
15278int __ovld __conv work_group_scan_exclusive_max(int x);
15279int __ovld __conv work_group_scan_inclusive_add(int x);
15280int __ovld __conv work_group_scan_inclusive_min(int x);
15281int __ovld __conv work_group_scan_inclusive_max(int x);
15282uint __ovld __conv work_group_reduce_add(uint x);
15283uint __ovld __conv work_group_reduce_min(uint x);
15284uint __ovld __conv work_group_reduce_max(uint x);
15285uint __ovld __conv work_group_scan_exclusive_add(uint x);
15286uint __ovld __conv work_group_scan_exclusive_min(uint x);
15287uint __ovld __conv work_group_scan_exclusive_max(uint x);
15288uint __ovld __conv work_group_scan_inclusive_add(uint x);
15289uint __ovld __conv work_group_scan_inclusive_min(uint x);
15290uint __ovld __conv work_group_scan_inclusive_max(uint x);
15291long __ovld __conv work_group_reduce_add(long x);
15292long __ovld __conv work_group_reduce_min(long x);
15293long __ovld __conv work_group_reduce_max(long x);
15294long __ovld __conv work_group_scan_exclusive_add(long x);
15295long __ovld __conv work_group_scan_exclusive_min(long x);
15296long __ovld __conv work_group_scan_exclusive_max(long x);
15297long __ovld __conv work_group_scan_inclusive_add(long x);
15298long __ovld __conv work_group_scan_inclusive_min(long x);
15299long __ovld __conv work_group_scan_inclusive_max(long x);
15300ulong __ovld __conv work_group_reduce_add(ulong x);
15301ulong __ovld __conv work_group_reduce_min(ulong x);
15302ulong __ovld __conv work_group_reduce_max(ulong x);
15303ulong __ovld __conv work_group_scan_exclusive_add(ulong x);
15304ulong __ovld __conv work_group_scan_exclusive_min(ulong x);
15305ulong __ovld __conv work_group_scan_exclusive_max(ulong x);
15306ulong __ovld __conv work_group_scan_inclusive_add(ulong x);
15307ulong __ovld __conv work_group_scan_inclusive_min(ulong x);
15308ulong __ovld __conv work_group_scan_inclusive_max(ulong x);
15309float __ovld __conv work_group_reduce_add(float x);
15310float __ovld __conv work_group_reduce_min(float x);
15311float __ovld __conv work_group_reduce_max(float x);
15312float __ovld __conv work_group_scan_exclusive_add(float x);
15313float __ovld __conv work_group_scan_exclusive_min(float x);
15314float __ovld __conv work_group_scan_exclusive_max(float x);
15315float __ovld __conv work_group_scan_inclusive_add(float x);
15316float __ovld __conv work_group_scan_inclusive_min(float x);
15317float __ovld __conv work_group_scan_inclusive_max(float x);
15318#ifdef cl_khr_fp64
15319double __ovld __conv work_group_reduce_add(double x);
15320double __ovld __conv work_group_reduce_min(double x);
15321double __ovld __conv work_group_reduce_max(double x);
15322double __ovld __conv work_group_scan_exclusive_add(double x);
15323double __ovld __conv work_group_scan_exclusive_min(double x);
15324double __ovld __conv work_group_scan_exclusive_max(double x);
15325double __ovld __conv work_group_scan_inclusive_add(double x);
15326double __ovld __conv work_group_scan_inclusive_min(double x);
15327double __ovld __conv work_group_scan_inclusive_max(double x);
15328#endif //cl_khr_fp64
15329
15330#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15331
15332// OpenCL v2.0 s6.13.16 - Pipe Functions
15333#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15334bool __ovld is_valid_reserve_id(reserve_id_t reserve_id);
15335#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15336
15337
15338// OpenCL v2.0 s6.13.17 - Enqueue Kernels
15339#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15340
15341ndrange_t __ovld ndrange_1D(size_t);
15342ndrange_t __ovld ndrange_1D(size_t, size_t);
15343ndrange_t __ovld ndrange_1D(size_t, size_t, size_t);
15344
15345ndrange_t __ovld ndrange_2D(const size_t[2]);
15346ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2]);
15347ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2], const size_t[2]);
15348
15349ndrange_t __ovld ndrange_3D(const size_t[3]);
15350ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3]);
15351ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3], const size_t[3]);
15352
15353int __ovld enqueue_marker(queue_t, uint, const clk_event_t*, clk_event_t*);
15354
15355void __ovld retain_event(clk_event_t);
15356
15357void __ovld release_event(clk_event_t);
15358
15359clk_event_t __ovld create_user_event(void);
15360
15361void __ovld set_user_event_status(clk_event_t e, int state);
15362
15363bool __ovld is_valid_event (clk_event_t event);
15364
15365void __ovld capture_event_profiling_info(clk_event_t, clk_profiling_info, __global void* value);
15366
15367queue_t __ovld get_default_queue(void);
15368#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15369
15370// OpenCL Extension v2.0 s9.17 - Sub-groups
15371
15372#if defined(cl_intel_subgroups) || defined(cl_khr_subgroups)
15373// Shared Sub Group Functions
15374uint    __ovld get_sub_group_size(void);
15375uint    __ovld get_max_sub_group_size(void);
15376uint    __ovld get_num_sub_groups(void);
15377#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15378uint    __ovld get_enqueued_num_sub_groups(void);
15379#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15380uint    __ovld get_sub_group_id(void);
15381uint    __ovld get_sub_group_local_id(void);
15382
15383void    __ovld __conv sub_group_barrier(cl_mem_fence_flags flags);
15384#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15385void    __ovld __conv sub_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
15386#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15387
15388int     __ovld __conv sub_group_all(int predicate);
15389int     __ovld __conv sub_group_any(int predicate);
15390
15391int     __ovld __conv sub_group_broadcast(int   x, uint sub_group_local_id);
15392uint    __ovld __conv sub_group_broadcast(uint  x, uint sub_group_local_id);
15393long    __ovld __conv sub_group_broadcast(long  x, uint sub_group_local_id);
15394ulong   __ovld __conv sub_group_broadcast(ulong x, uint sub_group_local_id);
15395float   __ovld __conv sub_group_broadcast(float x, uint sub_group_local_id);
15396
15397int     __ovld __conv sub_group_reduce_add(int   x);
15398uint    __ovld __conv sub_group_reduce_add(uint  x);
15399long    __ovld __conv sub_group_reduce_add(long  x);
15400ulong   __ovld __conv sub_group_reduce_add(ulong x);
15401float   __ovld __conv sub_group_reduce_add(float x);
15402int     __ovld __conv sub_group_reduce_min(int   x);
15403uint    __ovld __conv sub_group_reduce_min(uint  x);
15404long    __ovld __conv sub_group_reduce_min(long  x);
15405ulong   __ovld __conv sub_group_reduce_min(ulong x);
15406float   __ovld __conv sub_group_reduce_min(float x);
15407int     __ovld __conv sub_group_reduce_max(int   x);
15408uint    __ovld __conv sub_group_reduce_max(uint  x);
15409long    __ovld __conv sub_group_reduce_max(long  x);
15410ulong   __ovld __conv sub_group_reduce_max(ulong x);
15411float   __ovld __conv sub_group_reduce_max(float x);
15412
15413int     __ovld __conv sub_group_scan_exclusive_add(int   x);
15414uint    __ovld __conv sub_group_scan_exclusive_add(uint  x);
15415long    __ovld __conv sub_group_scan_exclusive_add(long  x);
15416ulong   __ovld __conv sub_group_scan_exclusive_add(ulong x);
15417float   __ovld __conv sub_group_scan_exclusive_add(float x);
15418int     __ovld __conv sub_group_scan_exclusive_min(int   x);
15419uint    __ovld __conv sub_group_scan_exclusive_min(uint  x);
15420long    __ovld __conv sub_group_scan_exclusive_min(long  x);
15421ulong   __ovld __conv sub_group_scan_exclusive_min(ulong x);
15422float   __ovld __conv sub_group_scan_exclusive_min(float x);
15423int     __ovld __conv sub_group_scan_exclusive_max(int   x);
15424uint    __ovld __conv sub_group_scan_exclusive_max(uint  x);
15425long    __ovld __conv sub_group_scan_exclusive_max(long  x);
15426ulong   __ovld __conv sub_group_scan_exclusive_max(ulong x);
15427float   __ovld __conv sub_group_scan_exclusive_max(float x);
15428
15429int     __ovld __conv sub_group_scan_inclusive_add(int   x);
15430uint    __ovld __conv sub_group_scan_inclusive_add(uint  x);
15431long    __ovld __conv sub_group_scan_inclusive_add(long  x);
15432ulong   __ovld __conv sub_group_scan_inclusive_add(ulong x);
15433float   __ovld __conv sub_group_scan_inclusive_add(float x);
15434int     __ovld __conv sub_group_scan_inclusive_min(int   x);
15435uint    __ovld __conv sub_group_scan_inclusive_min(uint  x);
15436long    __ovld __conv sub_group_scan_inclusive_min(long  x);
15437ulong   __ovld __conv sub_group_scan_inclusive_min(ulong x);
15438float   __ovld __conv sub_group_scan_inclusive_min(float x);
15439int     __ovld __conv sub_group_scan_inclusive_max(int   x);
15440uint    __ovld __conv sub_group_scan_inclusive_max(uint  x);
15441long    __ovld __conv sub_group_scan_inclusive_max(long  x);
15442ulong   __ovld __conv sub_group_scan_inclusive_max(ulong x);
15443float   __ovld __conv sub_group_scan_inclusive_max(float x);
15444
15445#ifdef cl_khr_fp16
15446half    __ovld __conv sub_group_broadcast(half x, uint sub_group_local_id);
15447half    __ovld __conv sub_group_reduce_add(half x);
15448half    __ovld __conv sub_group_reduce_min(half x);
15449half    __ovld __conv sub_group_reduce_max(half x);
15450half    __ovld __conv sub_group_scan_exclusive_add(half x);
15451half    __ovld __conv sub_group_scan_exclusive_min(half x);
15452half    __ovld __conv sub_group_scan_exclusive_max(half x);
15453half    __ovld __conv sub_group_scan_inclusive_add(half x);
15454half    __ovld __conv sub_group_scan_inclusive_min(half x);
15455half    __ovld __conv sub_group_scan_inclusive_max(half x);
15456#endif //cl_khr_fp16
15457
15458#ifdef cl_khr_fp64
15459double  __ovld __conv sub_group_broadcast(double x, uint sub_group_local_id);
15460double  __ovld __conv sub_group_reduce_add(double x);
15461double  __ovld __conv sub_group_reduce_min(double x);
15462double  __ovld __conv sub_group_reduce_max(double x);
15463double  __ovld __conv sub_group_scan_exclusive_add(double x);
15464double  __ovld __conv sub_group_scan_exclusive_min(double x);
15465double  __ovld __conv sub_group_scan_exclusive_max(double x);
15466double  __ovld __conv sub_group_scan_inclusive_add(double x);
15467double  __ovld __conv sub_group_scan_inclusive_min(double x);
15468double  __ovld __conv sub_group_scan_inclusive_max(double x);
15469#endif //cl_khr_fp64
15470
15471#endif //cl_khr_subgroups cl_intel_subgroups
15472
15473#if defined(cl_intel_subgroups)
15474// Intel-Specific Sub Group Functions
15475float   __ovld __conv intel_sub_group_shuffle( float  x, uint c );
15476float2  __ovld __conv intel_sub_group_shuffle( float2 x, uint c );
15477float3  __ovld __conv intel_sub_group_shuffle( float3 x, uint c );
15478float4  __ovld __conv intel_sub_group_shuffle( float4 x, uint c );
15479float8  __ovld __conv intel_sub_group_shuffle( float8 x, uint c );
15480float16 __ovld __conv intel_sub_group_shuffle( float16 x, uint c );
15481
15482int     __ovld __conv intel_sub_group_shuffle( int  x, uint c );
15483int2    __ovld __conv intel_sub_group_shuffle( int2 x, uint c );
15484int3    __ovld __conv intel_sub_group_shuffle( int3 x, uint c );
15485int4    __ovld __conv intel_sub_group_shuffle( int4 x, uint c );
15486int8    __ovld __conv intel_sub_group_shuffle( int8 x, uint c );
15487int16   __ovld __conv intel_sub_group_shuffle( int16 x, uint c );
15488
15489uint    __ovld __conv intel_sub_group_shuffle( uint  x, uint c );
15490uint2   __ovld __conv intel_sub_group_shuffle( uint2 x, uint c );
15491uint3   __ovld __conv intel_sub_group_shuffle( uint3 x, uint c );
15492uint4   __ovld __conv intel_sub_group_shuffle( uint4 x, uint c );
15493uint8   __ovld __conv intel_sub_group_shuffle( uint8 x, uint c );
15494uint16  __ovld __conv intel_sub_group_shuffle( uint16 x, uint c );
15495
15496long    __ovld __conv intel_sub_group_shuffle( long x, uint c );
15497ulong   __ovld __conv intel_sub_group_shuffle( ulong x, uint c );
15498
15499float   __ovld __conv intel_sub_group_shuffle_down( float  cur, float  next, uint c );
15500float2  __ovld __conv intel_sub_group_shuffle_down( float2 cur, float2 next, uint c );
15501float3  __ovld __conv intel_sub_group_shuffle_down( float3 cur, float3 next, uint c );
15502float4  __ovld __conv intel_sub_group_shuffle_down( float4 cur, float4 next, uint c );
15503float8  __ovld __conv intel_sub_group_shuffle_down( float8 cur, float8 next, uint c );
15504float16 __ovld __conv intel_sub_group_shuffle_down( float16 cur, float16 next, uint c );
15505
15506int     __ovld __conv intel_sub_group_shuffle_down( int  cur, int  next, uint c );
15507int2    __ovld __conv intel_sub_group_shuffle_down( int2 cur, int2 next, uint c );
15508int3    __ovld __conv intel_sub_group_shuffle_down( int3 cur, int3 next, uint c );
15509int4    __ovld __conv intel_sub_group_shuffle_down( int4 cur, int4 next, uint c );
15510int8    __ovld __conv intel_sub_group_shuffle_down( int8 cur, int8 next, uint c );
15511int16   __ovld __conv intel_sub_group_shuffle_down( int16 cur, int16 next, uint c );
15512
15513uint    __ovld __conv intel_sub_group_shuffle_down( uint  cur, uint  next, uint c );
15514uint2   __ovld __conv intel_sub_group_shuffle_down( uint2 cur, uint2 next, uint c );
15515uint3   __ovld __conv intel_sub_group_shuffle_down( uint3 cur, uint3 next, uint c );
15516uint4   __ovld __conv intel_sub_group_shuffle_down( uint4 cur, uint4 next, uint c );
15517uint8   __ovld __conv intel_sub_group_shuffle_down( uint8 cur, uint8 next, uint c );
15518uint16  __ovld __conv intel_sub_group_shuffle_down( uint16 cur, uint16 next, uint c );
15519
15520long    __ovld __conv intel_sub_group_shuffle_down( long prev, long cur, uint c );
15521ulong   __ovld __conv intel_sub_group_shuffle_down( ulong prev, ulong cur, uint c );
15522
15523float   __ovld __conv intel_sub_group_shuffle_up( float  prev, float  cur, uint c );
15524float2  __ovld __conv intel_sub_group_shuffle_up( float2 prev, float2 cur, uint c );
15525float3  __ovld __conv intel_sub_group_shuffle_up( float3 prev, float3 cur, uint c );
15526float4  __ovld __conv intel_sub_group_shuffle_up( float4 prev, float4 cur, uint c );
15527float8  __ovld __conv intel_sub_group_shuffle_up( float8 prev, float8 cur, uint c );
15528float16 __ovld __conv intel_sub_group_shuffle_up( float16 prev, float16 cur, uint c );
15529
15530int     __ovld __conv intel_sub_group_shuffle_up( int  prev, int  cur, uint c );
15531int2    __ovld __conv intel_sub_group_shuffle_up( int2 prev, int2 cur, uint c );
15532int3    __ovld __conv intel_sub_group_shuffle_up( int3 prev, int3 cur, uint c );
15533int4    __ovld __conv intel_sub_group_shuffle_up( int4 prev, int4 cur, uint c );
15534int8    __ovld __conv intel_sub_group_shuffle_up( int8 prev, int8 cur, uint c );
15535int16   __ovld __conv intel_sub_group_shuffle_up( int16 prev, int16 cur, uint c );
15536
15537uint    __ovld __conv intel_sub_group_shuffle_up( uint  prev, uint  cur, uint c );
15538uint2   __ovld __conv intel_sub_group_shuffle_up( uint2 prev, uint2 cur, uint c );
15539uint3   __ovld __conv intel_sub_group_shuffle_up( uint3 prev, uint3 cur, uint c );
15540uint4   __ovld __conv intel_sub_group_shuffle_up( uint4 prev, uint4 cur, uint c );
15541uint8   __ovld __conv intel_sub_group_shuffle_up( uint8 prev, uint8 cur, uint c );
15542uint16  __ovld __conv intel_sub_group_shuffle_up( uint16 prev, uint16 cur, uint c );
15543
15544long    __ovld __conv intel_sub_group_shuffle_up( long prev, long cur, uint c );
15545ulong   __ovld __conv intel_sub_group_shuffle_up( ulong prev, ulong cur, uint c );
15546
15547float   __ovld __conv intel_sub_group_shuffle_xor( float  x, uint c );
15548float2  __ovld __conv intel_sub_group_shuffle_xor( float2 x, uint c );
15549float3  __ovld __conv intel_sub_group_shuffle_xor( float3 x, uint c );
15550float4  __ovld __conv intel_sub_group_shuffle_xor( float4 x, uint c );
15551float8  __ovld __conv intel_sub_group_shuffle_xor( float8 x, uint c );
15552float16 __ovld __conv intel_sub_group_shuffle_xor( float16 x, uint c );
15553
15554int     __ovld __conv intel_sub_group_shuffle_xor( int  x, uint c );
15555int2    __ovld __conv intel_sub_group_shuffle_xor( int2 x, uint c );
15556int3    __ovld __conv intel_sub_group_shuffle_xor( int3 x, uint c );
15557int4    __ovld __conv intel_sub_group_shuffle_xor( int4 x, uint c );
15558int8    __ovld __conv intel_sub_group_shuffle_xor( int8 x, uint c );
15559int16   __ovld __conv intel_sub_group_shuffle_xor( int16 x, uint c );
15560
15561uint    __ovld __conv intel_sub_group_shuffle_xor( uint  x, uint c );
15562uint2   __ovld __conv intel_sub_group_shuffle_xor( uint2 x, uint c );
15563uint3   __ovld __conv intel_sub_group_shuffle_xor( uint3 x, uint c );
15564uint4   __ovld __conv intel_sub_group_shuffle_xor( uint4 x, uint c );
15565uint8   __ovld __conv intel_sub_group_shuffle_xor( uint8 x, uint c );
15566uint16  __ovld __conv intel_sub_group_shuffle_xor( uint16 x, uint c );
15567
15568long    __ovld __conv intel_sub_group_shuffle_xor( long x, uint c );
15569ulong   __ovld __conv intel_sub_group_shuffle_xor( ulong x, uint c );
15570
15571uint    __ovld __conv intel_sub_group_block_read( read_only image2d_t image, int2 coord );
15572uint2   __ovld __conv intel_sub_group_block_read2( read_only image2d_t image, int2 coord );
15573uint4   __ovld __conv intel_sub_group_block_read4( read_only image2d_t image, int2 coord );
15574uint8   __ovld __conv intel_sub_group_block_read8( read_only image2d_t image, int2 coord );
15575
15576#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15577uint    __ovld __conv intel_sub_group_block_read(read_write image2d_t image, int2 coord);
15578uint2   __ovld __conv intel_sub_group_block_read2(read_write image2d_t image, int2 coord);
15579uint4   __ovld __conv intel_sub_group_block_read4(read_write image2d_t image, int2 coord);
15580uint8   __ovld __conv intel_sub_group_block_read8(read_write image2d_t image, int2 coord);
15581#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15582
15583uint    __ovld __conv intel_sub_group_block_read( const __global uint* p );
15584uint2   __ovld __conv intel_sub_group_block_read2( const __global uint* p );
15585uint4   __ovld __conv intel_sub_group_block_read4( const __global uint* p );
15586uint8   __ovld __conv intel_sub_group_block_read8( const __global uint* p );
15587
15588void    __ovld __conv intel_sub_group_block_write(write_only image2d_t image, int2 coord, uint data);
15589void    __ovld __conv intel_sub_group_block_write2(write_only image2d_t image, int2 coord, uint2 data);
15590void    __ovld __conv intel_sub_group_block_write4(write_only image2d_t image, int2 coord, uint4 data);
15591void    __ovld __conv intel_sub_group_block_write8(write_only image2d_t image, int2 coord, uint8 data);
15592
15593#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15594void    __ovld __conv intel_sub_group_block_write(read_write image2d_t image, int2 coord, uint data);
15595void    __ovld __conv intel_sub_group_block_write2(read_write image2d_t image, int2 coord, uint2 data);
15596void    __ovld __conv intel_sub_group_block_write4(read_write image2d_t image, int2 coord, uint4 data);
15597void    __ovld __conv intel_sub_group_block_write8(read_write image2d_t image, int2 coord, uint8 data);
15598#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15599
15600void    __ovld __conv intel_sub_group_block_write( __global uint* p, uint data );
15601void    __ovld __conv intel_sub_group_block_write2( __global uint* p, uint2 data );
15602void    __ovld __conv intel_sub_group_block_write4( __global uint* p, uint4 data );
15603void    __ovld __conv intel_sub_group_block_write8( __global uint* p, uint8 data );
15604
15605#ifdef cl_khr_fp16
15606half    __ovld __conv intel_sub_group_shuffle( half x, uint c );
15607half    __ovld __conv intel_sub_group_shuffle_down( half prev, half cur, uint c );
15608half    __ovld __conv intel_sub_group_shuffle_up( half prev, half cur, uint c );
15609half    __ovld __conv intel_sub_group_shuffle_xor( half x, uint c );
15610#endif
15611
15612#if defined(cl_khr_fp64)
15613double  __ovld __conv intel_sub_group_shuffle( double x, uint c );
15614double  __ovld __conv intel_sub_group_shuffle_down( double prev, double cur, uint c );
15615double  __ovld __conv intel_sub_group_shuffle_up( double prev, double cur, uint c );
15616double  __ovld __conv intel_sub_group_shuffle_xor( double x, uint c );
15617#endif
15618
15619#endif //cl_intel_subgroups
15620
15621#if defined(cl_intel_subgroups_short)
15622short       __ovld __conv intel_sub_group_broadcast( short  x, uint sub_group_local_id );
15623short2      __ovld __conv intel_sub_group_broadcast( short2 x, uint sub_group_local_id );
15624short3      __ovld __conv intel_sub_group_broadcast( short3 x, uint sub_group_local_id );
15625short4      __ovld __conv intel_sub_group_broadcast( short4 x, uint sub_group_local_id );
15626short8      __ovld __conv intel_sub_group_broadcast( short8 x, uint sub_group_local_id );
15627
15628ushort      __ovld __conv intel_sub_group_broadcast( ushort  x, uint sub_group_local_id );
15629ushort2     __ovld __conv intel_sub_group_broadcast( ushort2 x, uint sub_group_local_id );
15630ushort3     __ovld __conv intel_sub_group_broadcast( ushort3 x, uint sub_group_local_id );
15631ushort4     __ovld __conv intel_sub_group_broadcast( ushort4 x, uint sub_group_local_id );
15632ushort8     __ovld __conv intel_sub_group_broadcast( ushort8 x, uint sub_group_local_id );
15633
15634short       __ovld __conv intel_sub_group_shuffle( short   x, uint c );
15635short2      __ovld __conv intel_sub_group_shuffle( short2  x, uint c );
15636short3      __ovld __conv intel_sub_group_shuffle( short3  x, uint c );
15637short4      __ovld __conv intel_sub_group_shuffle( short4  x, uint c );
15638short8      __ovld __conv intel_sub_group_shuffle( short8  x, uint c );
15639short16     __ovld __conv intel_sub_group_shuffle( short16 x, uint c);
15640
15641ushort      __ovld __conv intel_sub_group_shuffle( ushort   x, uint c );
15642ushort2     __ovld __conv intel_sub_group_shuffle( ushort2  x, uint c );
15643ushort3     __ovld __conv intel_sub_group_shuffle( ushort3  x, uint c );
15644ushort4     __ovld __conv intel_sub_group_shuffle( ushort4  x, uint c );
15645ushort8     __ovld __conv intel_sub_group_shuffle( ushort8  x, uint c );
15646ushort16    __ovld __conv intel_sub_group_shuffle( ushort16 x, uint c );
15647
15648short       __ovld __conv intel_sub_group_shuffle_down( short   cur, short   next, uint c );
15649short2      __ovld __conv intel_sub_group_shuffle_down( short2  cur, short2  next, uint c );
15650short3      __ovld __conv intel_sub_group_shuffle_down( short3  cur, short3  next, uint c );
15651short4      __ovld __conv intel_sub_group_shuffle_down( short4  cur, short4  next, uint c );
15652short8      __ovld __conv intel_sub_group_shuffle_down( short8  cur, short8  next, uint c );
15653short16     __ovld __conv intel_sub_group_shuffle_down( short16 cur, short16 next, uint c );
15654
15655ushort      __ovld __conv intel_sub_group_shuffle_down( ushort   cur, ushort   next, uint c );
15656ushort2     __ovld __conv intel_sub_group_shuffle_down( ushort2  cur, ushort2  next, uint c );
15657ushort3     __ovld __conv intel_sub_group_shuffle_down( ushort3  cur, ushort3  next, uint c );
15658ushort4     __ovld __conv intel_sub_group_shuffle_down( ushort4  cur, ushort4  next, uint c );
15659ushort8     __ovld __conv intel_sub_group_shuffle_down( ushort8  cur, ushort8  next, uint c );
15660ushort16    __ovld __conv intel_sub_group_shuffle_down( ushort16 cur, ushort16 next, uint c );
15661
15662short       __ovld __conv intel_sub_group_shuffle_up( short   cur, short   next, uint c );
15663short2      __ovld __conv intel_sub_group_shuffle_up( short2  cur, short2  next, uint c );
15664short3      __ovld __conv intel_sub_group_shuffle_up( short3  cur, short3  next, uint c );
15665short4      __ovld __conv intel_sub_group_shuffle_up( short4  cur, short4  next, uint c );
15666short8      __ovld __conv intel_sub_group_shuffle_up( short8  cur, short8  next, uint c );
15667short16     __ovld __conv intel_sub_group_shuffle_up( short16 cur, short16 next, uint c );
15668
15669ushort      __ovld __conv intel_sub_group_shuffle_up( ushort   cur, ushort   next, uint c );
15670ushort2     __ovld __conv intel_sub_group_shuffle_up( ushort2  cur, ushort2  next, uint c );
15671ushort3     __ovld __conv intel_sub_group_shuffle_up( ushort3  cur, ushort3  next, uint c );
15672ushort4     __ovld __conv intel_sub_group_shuffle_up( ushort4  cur, ushort4  next, uint c );
15673ushort8     __ovld __conv intel_sub_group_shuffle_up( ushort8  cur, ushort8  next, uint c );
15674ushort16    __ovld __conv intel_sub_group_shuffle_up( ushort16 cur, ushort16 next, uint c );
15675
15676short       __ovld __conv intel_sub_group_shuffle_xor( short   x, uint c );
15677short2      __ovld __conv intel_sub_group_shuffle_xor( short2  x, uint c );
15678short3      __ovld __conv intel_sub_group_shuffle_xor( short3  x, uint c );
15679short4      __ovld __conv intel_sub_group_shuffle_xor( short4  x, uint c );
15680short8      __ovld __conv intel_sub_group_shuffle_xor( short8  x, uint c );
15681short16     __ovld __conv intel_sub_group_shuffle_xor( short16 x, uint c );
15682
15683ushort      __ovld __conv intel_sub_group_shuffle_xor( ushort   x, uint c );
15684ushort2     __ovld __conv intel_sub_group_shuffle_xor( ushort2  x, uint c );
15685ushort3     __ovld __conv intel_sub_group_shuffle_xor( ushort3  x, uint c );
15686ushort4     __ovld __conv intel_sub_group_shuffle_xor( ushort4  x, uint c );
15687ushort8     __ovld __conv intel_sub_group_shuffle_xor( ushort8  x, uint c );
15688ushort16    __ovld __conv intel_sub_group_shuffle_xor( ushort16 x, uint c );
15689
15690short       __ovld __conv intel_sub_group_reduce_add( short   x );
15691ushort      __ovld __conv intel_sub_group_reduce_add( ushort  x );
15692short       __ovld __conv intel_sub_group_reduce_min( short   x );
15693ushort      __ovld __conv intel_sub_group_reduce_min( ushort  x );
15694short       __ovld __conv intel_sub_group_reduce_max( short   x );
15695ushort      __ovld __conv intel_sub_group_reduce_max( ushort  x );
15696
15697short       __ovld __conv intel_sub_group_scan_exclusive_add( short   x );
15698ushort      __ovld __conv intel_sub_group_scan_exclusive_add( ushort  x );
15699short       __ovld __conv intel_sub_group_scan_exclusive_min( short   x );
15700ushort      __ovld __conv intel_sub_group_scan_exclusive_min( ushort  x );
15701short       __ovld __conv intel_sub_group_scan_exclusive_max( short   x );
15702ushort      __ovld __conv intel_sub_group_scan_exclusive_max( ushort  x );
15703
15704short       __ovld __conv intel_sub_group_scan_inclusive_add( short   x );
15705ushort      __ovld __conv intel_sub_group_scan_inclusive_add( ushort  x );
15706short       __ovld __conv intel_sub_group_scan_inclusive_min( short   x );
15707ushort      __ovld __conv intel_sub_group_scan_inclusive_min( ushort  x );
15708short       __ovld __conv intel_sub_group_scan_inclusive_max( short   x );
15709ushort      __ovld __conv intel_sub_group_scan_inclusive_max( ushort  x );
15710
15711uint       __ovld __conv intel_sub_group_block_read_ui( read_only image2d_t image, int2 byte_coord );
15712uint2      __ovld __conv intel_sub_group_block_read_ui2( read_only image2d_t image, int2 byte_coord );
15713uint4      __ovld __conv intel_sub_group_block_read_ui4( read_only image2d_t image, int2 byte_coord );
15714uint8      __ovld __conv intel_sub_group_block_read_ui8( read_only image2d_t image, int2 byte_coord );
15715
15716#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15717uint       __ovld __conv intel_sub_group_block_read_ui( read_write image2d_t image, int2 byte_coord );
15718uint2      __ovld __conv intel_sub_group_block_read_ui2( read_write image2d_t image, int2 byte_coord );
15719uint4      __ovld __conv intel_sub_group_block_read_ui4( read_write image2d_t image, int2 byte_coord );
15720uint8      __ovld __conv intel_sub_group_block_read_ui8( read_write image2d_t image, int2 byte_coord );
15721#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15722
15723uint       __ovld __conv intel_sub_group_block_read_ui( const __global uint* p );
15724uint2      __ovld __conv intel_sub_group_block_read_ui2( const __global uint* p );
15725uint4      __ovld __conv intel_sub_group_block_read_ui4( const __global uint* p );
15726uint8      __ovld __conv intel_sub_group_block_read_ui8( const __global uint* p );
15727
15728void       __ovld __conv intel_sub_group_block_write_ui( read_only image2d_t image, int2 byte_coord, uint data );
15729void       __ovld __conv intel_sub_group_block_write_ui2( read_only image2d_t image, int2 byte_coord, uint2 data );
15730void       __ovld __conv intel_sub_group_block_write_ui4( read_only image2d_t image, int2 byte_coord, uint4 data );
15731void       __ovld __conv intel_sub_group_block_write_ui8( read_only image2d_t image, int2 byte_coord, uint8 data );
15732
15733#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15734void       __ovld __conv intel_sub_group_block_write_ui( read_write image2d_t image, int2 byte_coord, uint data );
15735void       __ovld __conv intel_sub_group_block_write_ui2( read_write image2d_t image, int2 byte_coord, uint2 data );
15736void       __ovld __conv intel_sub_group_block_write_ui4( read_write image2d_t image, int2 byte_coord, uint4 data );
15737void       __ovld __conv intel_sub_group_block_write_ui8( read_write image2d_t image, int2 byte_coord, uint8 data );
15738#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15739
15740void       __ovld __conv intel_sub_group_block_write_ui( __global uint* p, uint data );
15741void       __ovld __conv intel_sub_group_block_write_ui2( __global uint* p, uint2 data );
15742void       __ovld __conv intel_sub_group_block_write_ui4( __global uint* p, uint4 data );
15743void       __ovld __conv intel_sub_group_block_write_ui8( __global uint* p, uint8 data );
15744
15745ushort      __ovld __conv intel_sub_group_block_read_us( read_only image2d_t image, int2 coord );
15746ushort2     __ovld __conv intel_sub_group_block_read_us2( read_only image2d_t image, int2 coord );
15747ushort4     __ovld __conv intel_sub_group_block_read_us4( read_only image2d_t image, int2 coord );
15748ushort8     __ovld __conv intel_sub_group_block_read_us8( read_only image2d_t image, int2 coord );
15749
15750#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15751ushort      __ovld __conv intel_sub_group_block_read_us(read_write image2d_t image, int2 coord);
15752ushort2     __ovld __conv intel_sub_group_block_read_us2(read_write image2d_t image, int2 coord);
15753ushort4     __ovld __conv intel_sub_group_block_read_us4(read_write image2d_t image, int2 coord);
15754ushort8     __ovld __conv intel_sub_group_block_read_us8(read_write image2d_t image, int2 coord);
15755#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15756
15757ushort      __ovld __conv intel_sub_group_block_read_us(  const __global ushort* p );
15758ushort2     __ovld __conv intel_sub_group_block_read_us2( const __global ushort* p );
15759ushort4     __ovld __conv intel_sub_group_block_read_us4( const __global ushort* p );
15760ushort8     __ovld __conv intel_sub_group_block_read_us8( const __global ushort* p );
15761
15762void        __ovld __conv intel_sub_group_block_write_us(write_only image2d_t image, int2 coord, ushort  data);
15763void        __ovld __conv intel_sub_group_block_write_us2(write_only image2d_t image, int2 coord, ushort2 data);
15764void        __ovld __conv intel_sub_group_block_write_us4(write_only image2d_t image, int2 coord, ushort4 data);
15765void        __ovld __conv intel_sub_group_block_write_us8(write_only image2d_t image, int2 coord, ushort8 data);
15766
15767#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15768void        __ovld __conv intel_sub_group_block_write_us(read_write image2d_t image, int2 coord, ushort  data);
15769void        __ovld __conv intel_sub_group_block_write_us2(read_write image2d_t image, int2 coord, ushort2 data);
15770void        __ovld __conv intel_sub_group_block_write_us4(read_write image2d_t image, int2 coord, ushort4 data);
15771void        __ovld __conv intel_sub_group_block_write_us8(read_write image2d_t image, int2 coord, ushort8 data);
15772#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15773
15774void        __ovld __conv intel_sub_group_block_write_us(  __global ushort* p, ushort  data );
15775void        __ovld __conv intel_sub_group_block_write_us2( __global ushort* p, ushort2 data );
15776void        __ovld __conv intel_sub_group_block_write_us4( __global ushort* p, ushort4 data );
15777void        __ovld __conv intel_sub_group_block_write_us8( __global ushort* p, ushort8 data );
15778#endif // cl_intel_subgroups_short
15779
15780#ifdef cl_intel_device_side_avc_motion_estimation
15781#pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : begin
15782
15783// MCE built-in functions
15784uchar __ovld
15785intel_sub_group_avc_mce_get_default_inter_base_multi_reference_penalty(
15786    uchar slice_type, uchar qp);
15787ulong __ovld intel_sub_group_avc_mce_get_default_inter_shape_penalty(
15788    uchar slice_type, uchar qp);
15789uchar __ovld intel_sub_group_avc_mce_get_default_inter_direction_penalty(
15790    uchar slice_type, uchar qp);
15791uint __ovld intel_sub_group_avc_mce_get_default_intra_luma_shape_penalty(
15792    uchar slice_type, uchar qp);
15793uint2 __ovld
15794intel_sub_group_avc_mce_get_default_inter_motion_vector_cost_table(
15795    uchar slice_type, uchar qp);
15796uchar __ovld intel_sub_group_avc_mce_get_default_intra_luma_mode_penalty(
15797    uchar slice_type, uchar qp);
15798
15799uint2 __ovld intel_sub_group_avc_mce_get_default_high_penalty_cost_table();
15800uint2 __ovld intel_sub_group_avc_mce_get_default_medium_penalty_cost_table();
15801uint2 __ovld intel_sub_group_avc_mce_get_default_low_penalty_cost_table();
15802uint __ovld intel_sub_group_avc_mce_get_default_non_dc_luma_intra_penalty();
15803uchar __ovld
15804intel_sub_group_avc_mce_get_default_intra_chroma_mode_base_penalty();
15805
15806intel_sub_group_avc_mce_payload_t __ovld
15807intel_sub_group_avc_mce_set_inter_base_multi_reference_penalty(
15808    uchar reference_base_penalty, intel_sub_group_avc_mce_payload_t payload);
15809intel_sub_group_avc_mce_payload_t __ovld
15810intel_sub_group_avc_mce_set_inter_shape_penalty(
15811    ulong packed_shape_penalty, intel_sub_group_avc_mce_payload_t payload);
15812intel_sub_group_avc_mce_payload_t __ovld
15813intel_sub_group_avc_mce_set_inter_direction_penalty(
15814    uchar direction_cost, intel_sub_group_avc_mce_payload_t payload);
15815intel_sub_group_avc_mce_payload_t __ovld
15816intel_sub_group_avc_mce_set_motion_vector_cost_function(
15817    ulong packed_cost_center_delta, uint2 packed_cost_table,
15818    uchar cost_precision, intel_sub_group_avc_mce_payload_t payload);
15819intel_sub_group_avc_mce_payload_t __ovld
15820intel_sub_group_avc_mce_set_ac_only_haar(
15821    intel_sub_group_avc_mce_payload_t payload);
15822intel_sub_group_avc_mce_payload_t __ovld
15823intel_sub_group_avc_mce_set_source_interlaced_field_polarity(
15824    uchar src_field_polarity, intel_sub_group_avc_mce_payload_t payload);
15825intel_sub_group_avc_mce_payload_t __ovld
15826intel_sub_group_avc_mce_set_single_reference_interlaced_field_polarity(
15827    uchar ref_field_polarity, intel_sub_group_avc_mce_payload_t payload);
15828intel_sub_group_avc_mce_payload_t __ovld
15829intel_sub_group_avc_mce_set_dual_reference_interlaced_field_polarities(
15830    uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
15831    intel_sub_group_avc_mce_payload_t payload);
15832
15833ulong __ovld intel_sub_group_avc_mce_get_motion_vectors(
15834    intel_sub_group_avc_mce_result_t result);
15835ushort __ovld intel_sub_group_avc_mce_get_inter_distortions(
15836    intel_sub_group_avc_mce_result_t result);
15837ushort __ovld intel_sub_group_avc_mce_get_best_inter_distortion(
15838    intel_sub_group_avc_mce_result_t result);
15839uchar __ovld intel_sub_group_avc_mce_get_inter_major_shape(
15840    intel_sub_group_avc_mce_result_t result);
15841uchar __ovld intel_sub_group_avc_mce_get_inter_minor_shapes(
15842    intel_sub_group_avc_mce_result_t result);
15843uchar __ovld intel_sub_group_avc_mce_get_inter_directions(
15844    intel_sub_group_avc_mce_result_t result);
15845uchar __ovld intel_sub_group_avc_mce_get_inter_motion_vector_count(
15846    intel_sub_group_avc_mce_result_t result);
15847uint __ovld intel_sub_group_avc_mce_get_inter_reference_ids(
15848    intel_sub_group_avc_mce_result_t result);
15849uchar __ovld
15850intel_sub_group_avc_mce_get_inter_reference_interlaced_field_polarities(
15851    uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
15852    intel_sub_group_avc_mce_result_t result);
15853
15854// IME built-in functions
15855intel_sub_group_avc_ime_payload_t __ovld
15856intel_sub_group_avc_ime_initialize(
15857    ushort2 src_coord, uchar partition_mask, uchar sad_adjustment);
15858intel_sub_group_avc_ime_payload_t __ovld
15859intel_sub_group_avc_ime_set_single_reference(
15860    short2 ref_offset, uchar search_window_config,
15861    intel_sub_group_avc_ime_payload_t payload);
15862intel_sub_group_avc_ime_payload_t __ovld
15863intel_sub_group_avc_ime_set_dual_reference(
15864    short2 fwd_ref_offset, short2 bwd_ref_offset, uchar search_window_config,
15865    intel_sub_group_avc_ime_payload_t payload);
15866intel_sub_group_avc_ime_payload_t __ovld
15867intel_sub_group_avc_ime_set_max_motion_vector_count(
15868    uchar max_motion_vector_count, intel_sub_group_avc_ime_payload_t payload);
15869intel_sub_group_avc_ime_payload_t __ovld
15870intel_sub_group_avc_ime_set_unidirectional_mix_disable(
15871    intel_sub_group_avc_ime_payload_t payload);
15872intel_sub_group_avc_ime_payload_t __ovld
15873intel_sub_group_avc_ime_set_early_search_termination_threshold(
15874    uchar threshold, intel_sub_group_avc_ime_payload_t payload);
15875intel_sub_group_avc_ime_payload_t __ovld
15876intel_sub_group_avc_ime_set_weighted_sad(
15877    uint packed_sad_weights, intel_sub_group_avc_ime_payload_t payload);
15878
15879__attribute__((deprecated("If you use the latest Intel driver, please use "
15880                          "intel_sub_group_avc_ime_ref_window_size instead",
15881                          "intel_sub_group_avc_ime_ref_window_size")))
15882ushort2 __ovld
15883intel_sub_group_ime_ref_window_size(uchar search_window_config, char dual_ref);
15884ushort2 __ovld intel_sub_group_avc_ime_ref_window_size(
15885    uchar search_window_config, char dual_ref);
15886short2 __ovld intel_sub_group_avc_ime_adjust_ref_offset(
15887    short2 ref_offset, ushort2 src_coord, ushort2 ref_window_size,
15888    ushort2 image_size);
15889
15890intel_sub_group_avc_ime_result_t __ovld
15891intel_sub_group_avc_ime_evaluate_with_single_reference(
15892    read_only image2d_t src_image, read_only image2d_t ref_image,
15893    sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload);
15894intel_sub_group_avc_ime_result_t __ovld
15895intel_sub_group_avc_ime_evaluate_with_dual_reference(
15896    read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
15897    read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
15898    intel_sub_group_avc_ime_payload_t payload);
15899intel_sub_group_avc_ime_result_single_reference_streamout_t __ovld
15900intel_sub_group_avc_ime_evaluate_with_single_reference_streamout(
15901    read_only image2d_t src_image, read_only image2d_t ref_image,
15902    sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload);
15903intel_sub_group_avc_ime_result_dual_reference_streamout_t __ovld
15904intel_sub_group_avc_ime_evaluate_with_dual_reference_streamout(
15905    read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
15906    read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
15907    intel_sub_group_avc_ime_payload_t payload);
15908intel_sub_group_avc_ime_result_t __ovld
15909intel_sub_group_avc_ime_evaluate_with_single_reference_streamin(
15910    read_only image2d_t src_image, read_only image2d_t ref_image,
15911    sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload,
15912    intel_sub_group_avc_ime_single_reference_streamin_t streamin_components);
15913intel_sub_group_avc_ime_result_t __ovld
15914intel_sub_group_avc_ime_evaluate_with_dual_reference_streamin(
15915    read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
15916    read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
15917    intel_sub_group_avc_ime_payload_t payload,
15918    intel_sub_group_avc_ime_dual_reference_streamin_t streamin_components);
15919intel_sub_group_avc_ime_result_single_reference_streamout_t __ovld
15920intel_sub_group_avc_ime_evaluate_with_single_reference_streaminout(
15921    read_only image2d_t src_image, read_only image2d_t ref_image,
15922    sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload,
15923    intel_sub_group_avc_ime_single_reference_streamin_t streamin_components);
15924intel_sub_group_avc_ime_result_dual_reference_streamout_t __ovld
15925intel_sub_group_avc_ime_evaluate_with_dual_reference_streaminout(
15926    read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
15927    read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
15928    intel_sub_group_avc_ime_payload_t payload,
15929    intel_sub_group_avc_ime_dual_reference_streamin_t streamin_components);
15930
15931intel_sub_group_avc_ime_single_reference_streamin_t __ovld
15932intel_sub_group_avc_ime_get_single_reference_streamin(
15933    intel_sub_group_avc_ime_result_single_reference_streamout_t result);
15934intel_sub_group_avc_ime_dual_reference_streamin_t __ovld
15935intel_sub_group_avc_ime_get_dual_reference_streamin(
15936    intel_sub_group_avc_ime_result_dual_reference_streamout_t result);
15937intel_sub_group_avc_ime_result_t __ovld
15938intel_sub_group_avc_ime_strip_single_reference_streamout(
15939    intel_sub_group_avc_ime_result_single_reference_streamout_t result);
15940intel_sub_group_avc_ime_result_t __ovld
15941intel_sub_group_avc_ime_strip_dual_reference_streamout(
15942    intel_sub_group_avc_ime_result_dual_reference_streamout_t result);
15943
15944uint __ovld intel_sub_group_avc_ime_get_streamout_major_shape_motion_vectors(
15945    intel_sub_group_avc_ime_result_single_reference_streamout_t result,
15946    uchar major_shape);
15947ushort __ovld intel_sub_group_avc_ime_get_streamout_major_shape_distortions(
15948    intel_sub_group_avc_ime_result_single_reference_streamout_t result,
15949    uchar major_shape);
15950uchar __ovld intel_sub_group_avc_ime_get_streamout_major_shape_reference_ids(
15951    intel_sub_group_avc_ime_result_single_reference_streamout_t result,
15952    uchar major_shape);
15953uint __ovld intel_sub_group_avc_ime_get_streamout_major_shape_motion_vectors(
15954    intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
15955    uchar major_shape, uchar direction);
15956ushort __ovld intel_sub_group_avc_ime_get_streamout_major_shape_distortions(
15957    intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
15958    uchar major_shape, uchar direction);
15959uchar __ovld intel_sub_group_avc_ime_get_streamout_major_shape_reference_ids(
15960    intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
15961    uchar major_shape, uchar direction);
15962
15963uchar __ovld intel_sub_group_avc_ime_get_border_reached(
15964    uchar image_select, intel_sub_group_avc_ime_result_t result);
15965uchar __ovld intel_sub_group_avc_ime_get_truncated_search_indication(
15966    intel_sub_group_avc_ime_result_t result);
15967uchar __ovld
15968intel_sub_group_avc_ime_get_unidirectional_early_search_termination(
15969    intel_sub_group_avc_ime_result_t result);
15970uint __ovld intel_sub_group_avc_ime_get_weighting_pattern_minimum_motion_vector(
15971    intel_sub_group_avc_ime_result_t result);
15972ushort __ovld intel_sub_group_avc_ime_get_weighting_pattern_minimum_distortion(
15973    intel_sub_group_avc_ime_result_t result);
15974
15975// REF built-in functions
15976intel_sub_group_avc_ref_payload_t __ovld
15977intel_sub_group_avc_fme_initialize(
15978    ushort2 src_coord, ulong motion_vectors, uchar major_shapes,
15979    uchar minor_shapes, uchar directions, uchar pixel_resolution,
15980    uchar sad_adjustment);
15981intel_sub_group_avc_ref_payload_t __ovld
15982intel_sub_group_avc_bme_initialize(
15983    ushort2 src_coord, ulong motion_vectors, uchar major_shapes,
15984    uchar minor_shapes, uchar directions, uchar pixel_resolution,
15985    uchar bidirectional_weight, uchar sad_adjustment);
15986
15987intel_sub_group_avc_ref_payload_t __ovld
15988intel_sub_group_avc_ref_set_bidirectional_mix_disable(
15989    intel_sub_group_avc_ref_payload_t payload);
15990intel_sub_group_avc_ref_payload_t __ovld
15991intel_sub_group_avc_ref_set_bilinear_filter_enable(
15992    intel_sub_group_avc_ref_payload_t payload);
15993
15994intel_sub_group_avc_ref_result_t __ovld
15995intel_sub_group_avc_ref_evaluate_with_single_reference(
15996    read_only image2d_t src_image, read_only image2d_t ref_image,
15997    sampler_t vme_media_sampler, intel_sub_group_avc_ref_payload_t payload);
15998intel_sub_group_avc_ref_result_t __ovld
15999intel_sub_group_avc_ref_evaluate_with_dual_reference(
16000    read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
16001    read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
16002    intel_sub_group_avc_ref_payload_t payload);
16003intel_sub_group_avc_ref_result_t __ovld
16004intel_sub_group_avc_ref_evaluate_with_multi_reference(
16005    read_only image2d_t src_image, uint packed_reference_ids,
16006    sampler_t vme_media_sampler, intel_sub_group_avc_ref_payload_t payload);
16007intel_sub_group_avc_ref_result_t __ovld
16008intel_sub_group_avc_ref_evaluate_with_multi_reference(
16009    read_only image2d_t src_image, uint packed_reference_ids,
16010    uchar packed_reference_field_polarities, sampler_t vme_media_sampler,
16011    intel_sub_group_avc_ref_payload_t payload);
16012
16013// SIC built-in functions
16014intel_sub_group_avc_sic_payload_t __ovld
16015intel_sub_group_avc_sic_initialize(
16016    ushort2 src_coord);
16017intel_sub_group_avc_sic_payload_t __ovld
16018intel_sub_group_avc_sic_configure_skc(
16019    uint skip_block_partition_type, uint skip_motion_vector_mask,
16020    ulong motion_vectors, uchar bidirectional_weight, uchar skip_sad_adjustment,
16021    intel_sub_group_avc_sic_payload_t payload);
16022intel_sub_group_avc_sic_payload_t __ovld
16023intel_sub_group_avc_sic_configure_ipe(
16024    uchar luma_intra_partition_mask, uchar intra_neighbour_availabilty,
16025    uchar left_edge_luma_pixels, uchar upper_left_corner_luma_pixel,
16026    uchar upper_edge_luma_pixels, uchar upper_right_edge_luma_pixels,
16027    uchar intra_sad_adjustment, intel_sub_group_avc_sic_payload_t payload);
16028intel_sub_group_avc_sic_payload_t __ovld
16029intel_sub_group_avc_sic_configure_ipe(
16030    uchar luma_intra_partition_mask, uchar intra_neighbour_availabilty,
16031    uchar left_edge_luma_pixels, uchar upper_left_corner_luma_pixel,
16032    uchar upper_edge_luma_pixels, uchar upper_right_edge_luma_pixels,
16033    ushort left_edge_chroma_pixels, ushort upper_left_corner_chroma_pixel,
16034    ushort upper_edge_chroma_pixels, uchar intra_sad_adjustment,
16035    intel_sub_group_avc_sic_payload_t payload);
16036uint __ovld
16037intel_sub_group_avc_sic_get_motion_vector_mask(
16038    uint skip_block_partition_type, uchar direction);
16039
16040intel_sub_group_avc_sic_payload_t __ovld
16041intel_sub_group_avc_sic_set_intra_luma_shape_penalty(
16042    uint packed_shape_cost, intel_sub_group_avc_sic_payload_t payload);
16043intel_sub_group_avc_sic_payload_t __ovld
16044intel_sub_group_avc_sic_set_intra_luma_mode_cost_function(
16045    uchar luma_mode_penalty, uint luma_packed_neighbor_modes,
16046    uint luma_packed_non_dc_penalty, intel_sub_group_avc_sic_payload_t payload);
16047intel_sub_group_avc_sic_payload_t __ovld
16048intel_sub_group_avc_sic_set_intra_chroma_mode_cost_function(
16049    uchar chroma_mode_penalty, intel_sub_group_avc_sic_payload_t payload);
16050
16051intel_sub_group_avc_sic_payload_t __ovld
16052intel_sub_group_avc_sic_set_skc_bilinear_filter_enable(
16053    intel_sub_group_avc_sic_payload_t payload);
16054intel_sub_group_avc_sic_payload_t __ovld
16055intel_sub_group_avc_sic_set_skc_forward_transform_enable(
16056    ulong packed_sad_coefficients, intel_sub_group_avc_sic_payload_t payload);
16057intel_sub_group_avc_sic_payload_t __ovld
16058intel_sub_group_avc_sic_set_block_based_raw_skip_sad(
16059    uchar block_based_skip_type,
16060    intel_sub_group_avc_sic_payload_t payload);
16061
16062intel_sub_group_avc_sic_result_t __ovld
16063intel_sub_group_avc_sic_evaluate_ipe(
16064    read_only image2d_t src_image, sampler_t vme_media_sampler,
16065    intel_sub_group_avc_sic_payload_t payload);
16066intel_sub_group_avc_sic_result_t __ovld
16067intel_sub_group_avc_sic_evaluate_with_single_reference(
16068    read_only image2d_t src_image, read_only image2d_t ref_image,
16069    sampler_t vme_media_sampler, intel_sub_group_avc_sic_payload_t payload);
16070intel_sub_group_avc_sic_result_t __ovld
16071intel_sub_group_avc_sic_evaluate_with_dual_reference(
16072    read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
16073    read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
16074    intel_sub_group_avc_sic_payload_t payload);
16075intel_sub_group_avc_sic_result_t __ovld
16076intel_sub_group_avc_sic_evaluate_with_multi_reference(
16077    read_only image2d_t src_image, uint packed_reference_ids,
16078    sampler_t vme_media_sampler, intel_sub_group_avc_sic_payload_t payload);
16079intel_sub_group_avc_sic_result_t __ovld
16080intel_sub_group_avc_sic_evaluate_with_multi_reference(
16081    read_only image2d_t src_image, uint packed_reference_ids,
16082    uchar packed_reference_field_polarities, sampler_t vme_media_sampler,
16083    intel_sub_group_avc_sic_payload_t payload);
16084
16085uchar __ovld intel_sub_group_avc_sic_get_ipe_luma_shape(
16086    intel_sub_group_avc_sic_result_t result);
16087ushort __ovld intel_sub_group_avc_sic_get_best_ipe_luma_distortion(
16088    intel_sub_group_avc_sic_result_t result);
16089ushort __ovld intel_sub_group_avc_sic_get_best_ipe_chroma_distortion(
16090    intel_sub_group_avc_sic_result_t result);
16091ulong __ovld intel_sub_group_avc_sic_get_packed_ipe_luma_modes(
16092    intel_sub_group_avc_sic_result_t result);
16093uchar __ovld intel_sub_group_avc_sic_get_ipe_chroma_mode(
16094    intel_sub_group_avc_sic_result_t result);
16095uint __ovld intel_sub_group_avc_sic_get_packed_skc_luma_count_threshold(
16096    intel_sub_group_avc_sic_result_t result);
16097ulong __ovld intel_sub_group_avc_sic_get_packed_skc_luma_sum_threshold(
16098    intel_sub_group_avc_sic_result_t result);
16099ushort __ovld intel_sub_group_avc_sic_get_inter_raw_sads(
16100    intel_sub_group_avc_sic_result_t result);
16101
16102// Wrappers
16103intel_sub_group_avc_ime_payload_t __ovld
16104intel_sub_group_avc_ime_set_inter_base_multi_reference_penalty(
16105    uchar reference_base_penalty, intel_sub_group_avc_ime_payload_t payload);
16106intel_sub_group_avc_ref_payload_t __ovld
16107intel_sub_group_avc_ref_set_inter_base_multi_reference_penalty(
16108    uchar reference_base_penalty, intel_sub_group_avc_ref_payload_t payload);
16109intel_sub_group_avc_sic_payload_t __ovld
16110intel_sub_group_avc_sic_set_inter_base_multi_reference_penalty(
16111    uchar reference_base_penalty, intel_sub_group_avc_sic_payload_t payload);
16112
16113intel_sub_group_avc_ime_payload_t __ovld
16114intel_sub_group_avc_ime_set_inter_shape_penalty(
16115    ulong packed_shape_cost, intel_sub_group_avc_ime_payload_t payload);
16116intel_sub_group_avc_ref_payload_t __ovld
16117intel_sub_group_avc_ref_set_inter_shape_penalty(
16118    ulong packed_shape_cost, intel_sub_group_avc_ref_payload_t payload);
16119intel_sub_group_avc_sic_payload_t __ovld
16120intel_sub_group_avc_sic_set_inter_shape_penalty(
16121    ulong packed_shape_cost, intel_sub_group_avc_sic_payload_t payload);
16122
16123intel_sub_group_avc_ime_payload_t __ovld
16124intel_sub_group_avc_ime_set_inter_direction_penalty(
16125    uchar direction_cost, intel_sub_group_avc_ime_payload_t payload);
16126intel_sub_group_avc_ref_payload_t __ovld
16127intel_sub_group_avc_ref_set_inter_direction_penalty(
16128    uchar direction_cost, intel_sub_group_avc_ref_payload_t payload);
16129intel_sub_group_avc_sic_payload_t __ovld
16130intel_sub_group_avc_sic_set_inter_direction_penalty(
16131    uchar direction_cost, intel_sub_group_avc_sic_payload_t payload);
16132
16133intel_sub_group_avc_ime_payload_t __ovld
16134intel_sub_group_avc_ime_set_motion_vector_cost_function(
16135    ulong packed_cost_center_delta, uint2 packed_cost_table,
16136    uchar cost_precision, intel_sub_group_avc_ime_payload_t payload);
16137intel_sub_group_avc_ref_payload_t __ovld
16138intel_sub_group_avc_ref_set_motion_vector_cost_function(
16139    ulong packed_cost_center_delta, uint2 packed_cost_table,
16140    uchar cost_precision, intel_sub_group_avc_ref_payload_t payload);
16141intel_sub_group_avc_sic_payload_t __ovld
16142intel_sub_group_avc_sic_set_motion_vector_cost_function(
16143    ulong packed_cost_center_delta, uint2 packed_cost_table,
16144    uchar cost_precision, intel_sub_group_avc_sic_payload_t payload);
16145
16146intel_sub_group_avc_ime_payload_t __ovld
16147intel_sub_group_avc_ime_set_source_interlaced_field_polarity(
16148    uchar src_field_polarity, intel_sub_group_avc_ime_payload_t payload);
16149intel_sub_group_avc_ref_payload_t __ovld
16150intel_sub_group_avc_ref_set_source_interlaced_field_polarity(
16151    uchar src_field_polarity, intel_sub_group_avc_ref_payload_t payload);
16152intel_sub_group_avc_sic_payload_t __ovld
16153intel_sub_group_avc_sic_set_source_interlaced_field_polarity(
16154    uchar src_field_polarity, intel_sub_group_avc_sic_payload_t payload);
16155
16156intel_sub_group_avc_ime_payload_t __ovld
16157intel_sub_group_avc_ime_set_single_reference_interlaced_field_polarity(
16158    uchar ref_field_polarity, intel_sub_group_avc_ime_payload_t payload);
16159intel_sub_group_avc_ref_payload_t __ovld
16160intel_sub_group_avc_ref_set_single_reference_interlaced_field_polarity(
16161    uchar ref_field_polarity, intel_sub_group_avc_ref_payload_t payload);
16162intel_sub_group_avc_sic_payload_t __ovld
16163intel_sub_group_avc_sic_set_single_reference_interlaced_field_polarity(
16164    uchar ref_field_polarity, intel_sub_group_avc_sic_payload_t payload);
16165intel_sub_group_avc_ime_payload_t __ovld
16166intel_sub_group_avc_ime_set_dual_reference_interlaced_field_polarities(
16167    uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
16168    intel_sub_group_avc_ime_payload_t payload);
16169intel_sub_group_avc_ref_payload_t __ovld
16170intel_sub_group_avc_ref_set_dual_reference_interlaced_field_polarities(
16171    uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
16172    intel_sub_group_avc_ref_payload_t payload);
16173intel_sub_group_avc_sic_payload_t __ovld
16174intel_sub_group_avc_sic_set_dual_reference_interlaced_field_polarities(
16175    uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
16176    intel_sub_group_avc_sic_payload_t payload);
16177
16178intel_sub_group_avc_ime_payload_t __ovld
16179intel_sub_group_avc_ime_set_ac_only_haar(
16180    intel_sub_group_avc_ime_payload_t payload);
16181intel_sub_group_avc_ref_payload_t __ovld
16182intel_sub_group_avc_ref_set_ac_only_haar(
16183    intel_sub_group_avc_ref_payload_t payload);
16184intel_sub_group_avc_sic_payload_t __ovld
16185intel_sub_group_avc_sic_set_ac_only_haar(
16186    intel_sub_group_avc_sic_payload_t payload);
16187
16188ulong __ovld intel_sub_group_avc_ime_get_motion_vectors(
16189    intel_sub_group_avc_ime_result_t result);
16190ulong __ovld intel_sub_group_avc_ref_get_motion_vectors(
16191    intel_sub_group_avc_ref_result_t result);
16192
16193ushort __ovld intel_sub_group_avc_ime_get_inter_distortions(
16194    intel_sub_group_avc_ime_result_t result);
16195ushort __ovld intel_sub_group_avc_ref_get_inter_distortions(
16196    intel_sub_group_avc_ref_result_t result);
16197ushort __ovld intel_sub_group_avc_sic_get_inter_distortions(
16198    intel_sub_group_avc_sic_result_t result);
16199
16200ushort __ovld intel_sub_group_avc_ime_get_best_inter_distortion(
16201    intel_sub_group_avc_ime_result_t result);
16202ushort __ovld intel_sub_group_avc_ref_get_best_inter_distortion(
16203    intel_sub_group_avc_ref_result_t result);
16204
16205uchar __ovld intel_sub_group_avc_ime_get_inter_major_shape(
16206    intel_sub_group_avc_ime_result_t result);
16207uchar __ovld intel_sub_group_avc_ref_get_inter_major_shape(
16208    intel_sub_group_avc_ref_result_t result);
16209uchar __ovld intel_sub_group_avc_ime_get_inter_minor_shapes(
16210    intel_sub_group_avc_ime_result_t result);
16211uchar __ovld intel_sub_group_avc_ref_get_inter_minor_shapes(
16212    intel_sub_group_avc_ref_result_t result);
16213
16214uchar __ovld intel_sub_group_avc_ime_get_inter_directions(
16215    intel_sub_group_avc_ime_result_t result);
16216uchar __ovld intel_sub_group_avc_ref_get_inter_directions(
16217    intel_sub_group_avc_ref_result_t result);
16218
16219uchar __ovld intel_sub_group_avc_ime_get_inter_motion_vector_count(
16220    intel_sub_group_avc_ime_result_t result);
16221uchar __ovld intel_sub_group_avc_ref_get_inter_motion_vector_count(
16222    intel_sub_group_avc_ref_result_t result);
16223
16224uint __ovld intel_sub_group_avc_ime_get_inter_reference_ids(
16225    intel_sub_group_avc_ime_result_t result);
16226uint __ovld intel_sub_group_avc_ref_get_inter_reference_ids(
16227    intel_sub_group_avc_ref_result_t result);
16228
16229uchar __ovld
16230intel_sub_group_avc_ime_get_inter_reference_interlaced_field_polarities(
16231    uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
16232    intel_sub_group_avc_ime_result_t result);
16233uchar __ovld
16234intel_sub_group_avc_ref_get_inter_reference_interlaced_field_polarities(
16235    uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
16236    intel_sub_group_avc_ref_result_t result);
16237
16238// Type conversion functions
16239intel_sub_group_avc_mce_payload_t __ovld
16240intel_sub_group_avc_ime_convert_to_mce_payload(
16241    intel_sub_group_avc_ime_payload_t payload);
16242intel_sub_group_avc_ime_payload_t __ovld
16243intel_sub_group_avc_mce_convert_to_ime_payload(
16244    intel_sub_group_avc_mce_payload_t payload);
16245intel_sub_group_avc_mce_payload_t __ovld
16246intel_sub_group_avc_ref_convert_to_mce_payload(
16247    intel_sub_group_avc_ref_payload_t payload);
16248intel_sub_group_avc_ref_payload_t __ovld
16249intel_sub_group_avc_mce_convert_to_ref_payload(
16250    intel_sub_group_avc_mce_payload_t payload);
16251intel_sub_group_avc_mce_payload_t __ovld
16252intel_sub_group_avc_sic_convert_to_mce_payload(
16253    intel_sub_group_avc_sic_payload_t payload);
16254intel_sub_group_avc_sic_payload_t __ovld
16255intel_sub_group_avc_mce_convert_to_sic_payload(
16256    intel_sub_group_avc_mce_payload_t payload);
16257
16258intel_sub_group_avc_mce_result_t __ovld
16259intel_sub_group_avc_ime_convert_to_mce_result(
16260    intel_sub_group_avc_ime_result_t result);
16261intel_sub_group_avc_ime_result_t __ovld
16262intel_sub_group_avc_mce_convert_to_ime_result(
16263    intel_sub_group_avc_mce_result_t result);
16264intel_sub_group_avc_mce_result_t __ovld
16265intel_sub_group_avc_ref_convert_to_mce_result(
16266    intel_sub_group_avc_ref_result_t result);
16267intel_sub_group_avc_ref_result_t __ovld
16268intel_sub_group_avc_mce_convert_to_ref_result(
16269    intel_sub_group_avc_mce_result_t result);
16270intel_sub_group_avc_mce_result_t __ovld
16271intel_sub_group_avc_sic_convert_to_mce_result(
16272    intel_sub_group_avc_sic_result_t result);
16273intel_sub_group_avc_sic_result_t __ovld
16274intel_sub_group_avc_mce_convert_to_sic_result(
16275    intel_sub_group_avc_mce_result_t result);
16276#pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : end
16277#endif // cl_intel_device_side_avc_motion_estimation
16278
16279#ifdef cl_amd_media_ops
16280uint __ovld amd_bitalign(uint a, uint b, uint c);
16281uint2 __ovld amd_bitalign(uint2 a, uint2 b, uint2 c);
16282uint3 __ovld amd_bitalign(uint3 a, uint3 b, uint3 c);
16283uint4 __ovld amd_bitalign(uint4 a, uint4 b, uint4 c);
16284uint8 __ovld amd_bitalign(uint8 a, uint8 b, uint8 c);
16285uint16 __ovld amd_bitalign(uint16 a, uint16 b, uint16 c);
16286
16287uint __ovld amd_bytealign(uint a, uint b, uint c);
16288uint2 __ovld amd_bytealign(uint2 a, uint2 b, uint2 c);
16289uint3 __ovld amd_bytealign(uint3 a, uint3 b, uint3 c);
16290uint4 __ovld amd_bytealign(uint4 a, uint4 b, uint4 c);
16291uint8 __ovld amd_bytealign(uint8 a, uint8 b, uint8 c);
16292uint16 __ovld amd_bytealign(uint16 a, uint16 b, uint16 c);
16293
16294uint __ovld amd_lerp(uint a, uint b, uint c);
16295uint2 __ovld amd_lerp(uint2 a, uint2 b, uint2 c);
16296uint3 __ovld amd_lerp(uint3 a, uint3 b, uint3 c);
16297uint4 __ovld amd_lerp(uint4 a, uint4 b, uint4 c);
16298uint8 __ovld amd_lerp(uint8 a, uint8 b, uint8 c);
16299uint16 __ovld amd_lerp(uint16 a, uint16 b, uint16 c);
16300
16301uint __ovld amd_pack(float4 v);
16302
16303uint __ovld amd_sad4(uint4 x, uint4 y, uint z);
16304
16305uint __ovld amd_sadhi(uint a, uint b, uint c);
16306uint2 __ovld amd_sadhi(uint2 a, uint2 b, uint2 c);
16307uint3 __ovld amd_sadhi(uint3 a, uint3 b, uint3 c);
16308uint4 __ovld amd_sadhi(uint4 a, uint4 b, uint4 c);
16309uint8 __ovld amd_sadhi(uint8 a, uint8 b, uint8 c);
16310uint16 __ovld amd_sadhi(uint16 a, uint16 b, uint16 c);
16311
16312uint __ovld amd_sad(uint a, uint b, uint c);
16313uint2 __ovld amd_sad(uint2 a, uint2 b, uint2 c);
16314uint3 __ovld amd_sad(uint3 a, uint3 b, uint3 c);
16315uint4 __ovld amd_sad(uint4 a, uint4 b, uint4 c);
16316uint8 __ovld amd_sad(uint8 a, uint8 b, uint8 c);
16317uint16 __ovld amd_sad(uint16 a, uint16 b, uint16 c);
16318
16319float __ovld amd_unpack0(uint a);
16320float2 __ovld amd_unpack0(uint2 a);
16321float3 __ovld amd_unpack0(uint3 a);
16322float4 __ovld amd_unpack0(uint4 a);
16323float8 __ovld amd_unpack0(uint8 a);
16324float16 __ovld amd_unpack0(uint16 a);
16325
16326float __ovld amd_unpack1(uint a);
16327float2 __ovld amd_unpack1(uint2 a);
16328float3 __ovld amd_unpack1(uint3 a);
16329float4 __ovld amd_unpack1(uint4 a);
16330float8 __ovld amd_unpack1(uint8 a);
16331float16 __ovld amd_unpack1(uint16 a);
16332
16333float __ovld amd_unpack2(uint a);
16334float2 __ovld amd_unpack2(uint2 a);
16335float3 __ovld amd_unpack2(uint3 a);
16336float4 __ovld amd_unpack2(uint4 a);
16337float8 __ovld amd_unpack2(uint8 a);
16338float16 __ovld amd_unpack2(uint16 a);
16339
16340float __ovld amd_unpack3(uint a);
16341float2 __ovld amd_unpack3(uint2 a);
16342float3 __ovld amd_unpack3(uint3 a);
16343float4 __ovld amd_unpack3(uint4 a);
16344float8 __ovld amd_unpack3(uint8 a);
16345float16 __ovld amd_unpack3(uint16 a);
16346#endif // cl_amd_media_ops
16347
16348#ifdef cl_amd_media_ops2
16349int __ovld amd_bfe(int src0, uint src1, uint src2);
16350int2 __ovld amd_bfe(int2 src0, uint2 src1, uint2 src2);
16351int3 __ovld amd_bfe(int3 src0, uint3 src1, uint3 src2);
16352int4 __ovld amd_bfe(int4 src0, uint4 src1, uint4 src2);
16353int8 __ovld amd_bfe(int8 src0, uint8 src1, uint8 src2);
16354int16 __ovld amd_bfe(int16 src0, uint16 src1, uint16 src2);
16355
16356uint __ovld amd_bfe(uint src0, uint src1, uint src2);
16357uint2 __ovld amd_bfe(uint2 src0, uint2 src1, uint2 src2);
16358uint3 __ovld amd_bfe(uint3 src0, uint3 src1, uint3 src2);
16359uint4 __ovld amd_bfe(uint4 src0, uint4 src1, uint4 src2);
16360uint8 __ovld amd_bfe(uint8 src0, uint8 src1, uint8 src2);
16361uint16 __ovld amd_bfe(uint16 src0, uint16 src1, uint16 src2);
16362
16363uint __ovld amd_bfm(uint src0, uint src1);
16364uint2 __ovld amd_bfm(uint2 src0, uint2 src1);
16365uint3 __ovld amd_bfm(uint3 src0, uint3 src1);
16366uint4 __ovld amd_bfm(uint4 src0, uint4 src1);
16367uint8 __ovld amd_bfm(uint8 src0, uint8 src1);
16368uint16 __ovld amd_bfm(uint16 src0, uint16 src1);
16369
16370float __ovld amd_max3(float src0, float src1, float src2);
16371float2 __ovld amd_max3(float2 src0, float2 src1, float2 src2);
16372float3 __ovld amd_max3(float3 src0, float3 src1, float3 src2);
16373float4 __ovld amd_max3(float4 src0, float4 src1, float4 src2);
16374float8 __ovld amd_max3(float8 src0, float8 src1, float8 src2);
16375float16 __ovld amd_max3(float16 src0, float16 src1, float16 src2);
16376
16377int __ovld amd_max3(int src0, int src1, int src2);
16378int2 __ovld amd_max3(int2 src0, int2 src1, int2 src2);
16379int3 __ovld amd_max3(int3 src0, int3 src1, int3 src2);
16380int4 __ovld amd_max3(int4 src0, int4 src1, int4 src2);
16381int8 __ovld amd_max3(int8 src0, int8 src1, int8 src2);
16382int16 __ovld amd_max3(int16 src0, int16 src1, int16 src2);
16383
16384uint __ovld amd_max3(uint src0, uint src1, uint src2);
16385uint2 __ovld amd_max3(uint2 src0, uint2 src1, uint2 src2);
16386uint3 __ovld amd_max3(uint3 src0, uint3 src1, uint3 src2);
16387uint4 __ovld amd_max3(uint4 src0, uint4 src1, uint4 src2);
16388uint8 __ovld amd_max3(uint8 src0, uint8 src1, uint8 src2);
16389uint16 __ovld amd_max3(uint16 src0, uint16 src1, uint16 src2);
16390
16391float __ovld amd_median3(float src0, float src1, float src2);
16392float2 __ovld amd_median3(float2 src0, float2 src1, float2 src2);
16393float3 __ovld amd_median3(float3 src0, float3 src1, float3 src2);
16394float4 __ovld amd_median3(float4 src0, float4 src1, float4 src2);
16395float8 __ovld amd_median3(float8 src0, float8 src1, float8 src2);
16396float16 __ovld amd_median3(float16 src0, float16 src1, float16 src2);
16397
16398int __ovld amd_median3(int src0, int src1, int src2);
16399int2 __ovld amd_median3(int2 src0, int2 src1, int2 src2);
16400int3 __ovld amd_median3(int3 src0, int3 src1, int3 src2);
16401int4 __ovld amd_median3(int4 src0, int4 src1, int4 src2);
16402int8 __ovld amd_median3(int8 src0, int8 src1, int8 src2);
16403int16 __ovld amd_median3(int16 src0, int16 src1, int16 src2);
16404
16405uint __ovld amd_median3(uint src0, uint src1, uint src2);
16406uint2 __ovld amd_median3(uint2 src0, uint2 src1, uint2 src2);
16407uint3 __ovld amd_median3(uint3 src0, uint3 src1, uint3 src2);
16408uint4 __ovld amd_median3(uint4 src0, uint4 src1, uint4 src2);
16409uint8 __ovld amd_median3(uint8 src0, uint8 src1, uint8 src2);
16410uint16 __ovld amd_median3(uint16 src0, uint16 src1, uint16 src2);
16411
16412float __ovld amd_min3(float src0, float src1, float src);
16413float2 __ovld amd_min3(float2 src0, float2 src1, float2 src);
16414float3 __ovld amd_min3(float3 src0, float3 src1, float3 src);
16415float4 __ovld amd_min3(float4 src0, float4 src1, float4 src);
16416float8 __ovld amd_min3(float8 src0, float8 src1, float8 src);
16417float16 __ovld amd_min3(float16 src0, float16 src1, float16 src);
16418
16419int __ovld amd_min3(int src0, int src1, int src2);
16420int2 __ovld amd_min3(int2 src0, int2 src1, int2 src2);
16421int3 __ovld amd_min3(int3 src0, int3 src1, int3 src2);
16422int4 __ovld amd_min3(int4 src0, int4 src1, int4 src2);
16423int8 __ovld amd_min3(int8 src0, int8 src1, int8 src2);
16424int16 __ovld amd_min3(int16 src0, int16 src1, int16 src2);
16425
16426uint __ovld amd_min3(uint src0, uint src1, uint src2);
16427uint2 __ovld amd_min3(uint2 src0, uint2 src1, uint2 src2);
16428uint3 __ovld amd_min3(uint3 src0, uint3 src1, uint3 src2);
16429uint4 __ovld amd_min3(uint4 src0, uint4 src1, uint4 src2);
16430uint8 __ovld amd_min3(uint8 src0, uint8 src1, uint8 src2);
16431uint16 __ovld amd_min3(uint16 src0, uint16 src1, uint16 src2);
16432
16433ulong __ovld amd_mqsad(ulong src0, uint src1, ulong src2);
16434ulong2 __ovld amd_mqsad(ulong2 src0, uint2 src1, ulong2 src2);
16435ulong3 __ovld amd_mqsad(ulong3 src0, uint3 src1, ulong3 src2);
16436ulong4 __ovld amd_mqsad(ulong4 src0, uint4 src1, ulong4 src2);
16437ulong8 __ovld amd_mqsad(ulong8 src0, uint8 src1, ulong8 src2);
16438ulong16 __ovld amd_mqsad(ulong16 src0, uint16 src1, ulong16 src2);
16439
16440ulong __ovld amd_qsad(ulong src0, uint src1, ulong src2);
16441ulong2 __ovld amd_qsad(ulong2 src0, uint2 src1, ulong2 src2);
16442ulong3 __ovld amd_qsad(ulong3 src0, uint3 src1, ulong3 src2);
16443ulong4 __ovld amd_qsad(ulong4 src0, uint4 src1, ulong4 src2);
16444ulong8 __ovld amd_qsad(ulong8 src0, uint8 src1, ulong8 src2);
16445ulong16 __ovld amd_qsad(ulong16 src0, uint16 src1, ulong16 src2);
16446
16447uint __ovld amd_msad(uint src0, uint src1, uint src2);
16448uint2 __ovld amd_msad(uint2 src0, uint2 src1, uint2 src2);
16449uint3 __ovld amd_msad(uint3 src0, uint3 src1, uint3 src2);
16450uint4 __ovld amd_msad(uint4 src0, uint4 src1, uint4 src2);
16451uint8 __ovld amd_msad(uint8 src0, uint8 src1, uint8 src2);
16452uint16 __ovld amd_msad(uint16 src0, uint16 src1, uint16 src2);
16453
16454uint __ovld amd_sadd(uint src0, uint src1, uint src2);
16455uint2 __ovld amd_sadd(uint2 src0, uint2 src1, uint2 src2);
16456uint3 __ovld amd_sadd(uint3 src0, uint3 src1, uint3 src2);
16457uint4 __ovld amd_sadd(uint4 src0, uint4 src1, uint4 src2);
16458uint8 __ovld amd_sadd(uint8 src0, uint8 src1, uint8 src2);
16459uint16 __ovld amd_sadd(uint16 src0, uint16 src1, uint16 src2);
16460
16461uint __ovld amd_sadw(uint src0, uint src1, uint src2);
16462uint2 __ovld amd_sadw(uint2 src0, uint2 src1, uint2 src2);
16463uint3 __ovld amd_sadw(uint3 src0, uint3 src1, uint3 src2);
16464uint4 __ovld amd_sadw(uint4 src0, uint4 src1, uint4 src2);
16465uint8 __ovld amd_sadw(uint8 src0, uint8 src1, uint8 src2);
16466uint16 __ovld amd_sadw(uint16 src0, uint16 src1, uint16 src2);
16467#endif // cl_amd_media_ops2
16468
16469#if defined(cl_arm_integer_dot_product_int8)
16470#pragma OPENCL EXTENSION cl_arm_integer_dot_product_int8 : begin
16471uint __ovld arm_dot(uchar4 a, uchar4 b);
16472int __ovld arm_dot(char4 a, char4 b);
16473#pragma OPENCL EXTENSION cl_arm_integer_dot_product_int8 : end
16474#endif // defined(cl_arm_integer_dot_product_int8)
16475
16476#if defined(cl_arm_integer_dot_product_accumulate_int8)
16477#pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_int8 : begin
16478uint __ovld arm_dot_acc(uchar4 a, uchar4 b, uint c);
16479int __ovld arm_dot_acc(char4 a, char4 b, int c);
16480#pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_int8 : end
16481#endif // defined(cl_arm_integer_dot_product_accumulate_int8)
16482
16483#if defined(cl_arm_integer_dot_product_accumulate_int16)
16484#pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_int16 : begin
16485uint __ovld arm_dot_acc(ushort2 a, ushort2 b, uint c);
16486int __ovld arm_dot_acc(short2 a, short2 b, int c);
16487#pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_int16 : end
16488#endif // defined(cl_arm_integer_dot_product_accumulate_int16)
16489
16490#if defined(cl_arm_integer_dot_product_accumulate_saturate_int8)
16491#pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_saturate_int8 : begin
16492uint __ovld arm_dot_acc_sat(uchar4 a, uchar4 b, uint c);
16493int __ovld arm_dot_acc_sat(char4 a, char4 b, int c);
16494#pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_saturate_int8 : end
16495#endif // defined(cl_arm_integer_dot_product_accumulate_saturate_int8)
16496
16497// Disable any extensions we may have enabled previously.
16498#pragma OPENCL EXTENSION all : disable
16499
16500#undef __cnfn
16501#undef __ovld
16502#endif //_OPENCL_H_
16503