1303233Sdim//===--- opencl-c.h - OpenCL C language builtin function header -----------===//
2303233Sdim//
3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4353358Sdim// See https://llvm.org/LICENSE.txt for license information.
5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6303233Sdim//
7303233Sdim//===----------------------------------------------------------------------===//
8303233Sdim
9303233Sdim#ifndef _OPENCL_H_
10303233Sdim#define _OPENCL_H_
11303233Sdim
12353358Sdim#include "opencl-c-base.h"
13353358Sdim
14353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15303233Sdim#ifndef cl_khr_depth_images
16303233Sdim#define cl_khr_depth_images
17303233Sdim#endif //cl_khr_depth_images
18353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
19303233Sdim
20321369Sdim#if __OPENCL_C_VERSION__ < CL_VERSION_2_0
21321369Sdim#ifdef cl_khr_3d_image_writes
22321369Sdim#pragma OPENCL EXTENSION cl_khr_3d_image_writes : enable
23321369Sdim#endif //cl_khr_3d_image_writes
24321369Sdim#endif //__OPENCL_C_VERSION__ < CL_VERSION_2_0
25321369Sdim
26353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
27344779Sdim#pragma OPENCL EXTENSION cl_intel_planar_yuv : begin
28344779Sdim#pragma OPENCL EXTENSION cl_intel_planar_yuv : end
29353358Sdim#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
30344779Sdim
31303233Sdim#define __ovld __attribute__((overloadable))
32314564Sdim#define __conv __attribute__((convergent))
33303233Sdim
34303233Sdim// Optimizations
35303233Sdim#define __purefn __attribute__((pure))
36303233Sdim#define __cnfn __attribute__((const))
37303233Sdim
38303233Sdim
39303233Sdim// OpenCL v1.1/1.2/2.0 s6.2.3 - Explicit conversions
40303233Sdim
41303233Sdimchar __ovld __cnfn convert_char_rte(char);
42303233Sdimchar __ovld __cnfn convert_char_sat_rte(char);
43303233Sdimchar __ovld __cnfn convert_char_rtz(char);
44303233Sdimchar __ovld __cnfn convert_char_sat_rtz(char);
45303233Sdimchar __ovld __cnfn convert_char_rtp(char);
46303233Sdimchar __ovld __cnfn convert_char_sat_rtp(char);
47303233Sdimchar __ovld __cnfn convert_char_rtn(char);
48303233Sdimchar __ovld __cnfn convert_char_sat_rtn(char);
49303233Sdimchar __ovld __cnfn convert_char(char);
50303233Sdimchar __ovld __cnfn convert_char_sat(char);
51303233Sdimchar __ovld __cnfn convert_char_rte(uchar);
52303233Sdimchar __ovld __cnfn convert_char_sat_rte(uchar);
53303233Sdimchar __ovld __cnfn convert_char_rtz(uchar);
54303233Sdimchar __ovld __cnfn convert_char_sat_rtz(uchar);
55303233Sdimchar __ovld __cnfn convert_char_rtp(uchar);
56303233Sdimchar __ovld __cnfn convert_char_sat_rtp(uchar);
57303233Sdimchar __ovld __cnfn convert_char_rtn(uchar);
58303233Sdimchar __ovld __cnfn convert_char_sat_rtn(uchar);
59303233Sdimchar __ovld __cnfn convert_char(uchar);
60303233Sdimchar __ovld __cnfn convert_char_sat(uchar);
61303233Sdimchar __ovld __cnfn convert_char_rte(short);
62303233Sdimchar __ovld __cnfn convert_char_sat_rte(short);
63303233Sdimchar __ovld __cnfn convert_char_rtz(short);
64303233Sdimchar __ovld __cnfn convert_char_sat_rtz(short);
65303233Sdimchar __ovld __cnfn convert_char_rtp(short);
66303233Sdimchar __ovld __cnfn convert_char_sat_rtp(short);
67303233Sdimchar __ovld __cnfn convert_char_rtn(short);
68303233Sdimchar __ovld __cnfn convert_char_sat_rtn(short);
69303233Sdimchar __ovld __cnfn convert_char(short);
70303233Sdimchar __ovld __cnfn convert_char_sat(short);
71303233Sdimchar __ovld __cnfn convert_char_rte(ushort);
72303233Sdimchar __ovld __cnfn convert_char_sat_rte(ushort);
73303233Sdimchar __ovld __cnfn convert_char_rtz(ushort);
74303233Sdimchar __ovld __cnfn convert_char_sat_rtz(ushort);
75303233Sdimchar __ovld __cnfn convert_char_rtp(ushort);
76303233Sdimchar __ovld __cnfn convert_char_sat_rtp(ushort);
77303233Sdimchar __ovld __cnfn convert_char_rtn(ushort);
78303233Sdimchar __ovld __cnfn convert_char_sat_rtn(ushort);
79303233Sdimchar __ovld __cnfn convert_char(ushort);
80303233Sdimchar __ovld __cnfn convert_char_sat(ushort);
81303233Sdimchar __ovld __cnfn convert_char_rte(int);
82303233Sdimchar __ovld __cnfn convert_char_sat_rte(int);
83303233Sdimchar __ovld __cnfn convert_char_rtz(int);
84303233Sdimchar __ovld __cnfn convert_char_sat_rtz(int);
85303233Sdimchar __ovld __cnfn convert_char_rtp(int);
86303233Sdimchar __ovld __cnfn convert_char_sat_rtp(int);
87303233Sdimchar __ovld __cnfn convert_char_rtn(int);
88303233Sdimchar __ovld __cnfn convert_char_sat_rtn(int);
89303233Sdimchar __ovld __cnfn convert_char(int);
90303233Sdimchar __ovld __cnfn convert_char_sat(int);
91303233Sdimchar __ovld __cnfn convert_char_rte(uint);
92303233Sdimchar __ovld __cnfn convert_char_sat_rte(uint);
93303233Sdimchar __ovld __cnfn convert_char_rtz(uint);
94303233Sdimchar __ovld __cnfn convert_char_sat_rtz(uint);
95303233Sdimchar __ovld __cnfn convert_char_rtp(uint);
96303233Sdimchar __ovld __cnfn convert_char_sat_rtp(uint);
97303233Sdimchar __ovld __cnfn convert_char_rtn(uint);
98303233Sdimchar __ovld __cnfn convert_char_sat_rtn(uint);
99303233Sdimchar __ovld __cnfn convert_char(uint);
100303233Sdimchar __ovld __cnfn convert_char_sat(uint);
101303233Sdimchar __ovld __cnfn convert_char_rte(long);
102303233Sdimchar __ovld __cnfn convert_char_sat_rte(long);
103303233Sdimchar __ovld __cnfn convert_char_rtz(long);
104303233Sdimchar __ovld __cnfn convert_char_sat_rtz(long);
105303233Sdimchar __ovld __cnfn convert_char_rtp(long);
106303233Sdimchar __ovld __cnfn convert_char_sat_rtp(long);
107303233Sdimchar __ovld __cnfn convert_char_rtn(long);
108303233Sdimchar __ovld __cnfn convert_char_sat_rtn(long);
109303233Sdimchar __ovld __cnfn convert_char(long);
110303233Sdimchar __ovld __cnfn convert_char_sat(long);
111303233Sdimchar __ovld __cnfn convert_char_rte(ulong);
112303233Sdimchar __ovld __cnfn convert_char_sat_rte(ulong);
113303233Sdimchar __ovld __cnfn convert_char_rtz(ulong);
114303233Sdimchar __ovld __cnfn convert_char_sat_rtz(ulong);
115303233Sdimchar __ovld __cnfn convert_char_rtp(ulong);
116303233Sdimchar __ovld __cnfn convert_char_sat_rtp(ulong);
117303233Sdimchar __ovld __cnfn convert_char_rtn(ulong);
118303233Sdimchar __ovld __cnfn convert_char_sat_rtn(ulong);
119303233Sdimchar __ovld __cnfn convert_char(ulong);
120303233Sdimchar __ovld __cnfn convert_char_sat(ulong);
121303233Sdimchar __ovld __cnfn convert_char_rte(float);
122303233Sdimchar __ovld __cnfn convert_char_sat_rte(float);
123303233Sdimchar __ovld __cnfn convert_char_rtz(float);
124303233Sdimchar __ovld __cnfn convert_char_sat_rtz(float);
125303233Sdimchar __ovld __cnfn convert_char_rtp(float);
126303233Sdimchar __ovld __cnfn convert_char_sat_rtp(float);
127303233Sdimchar __ovld __cnfn convert_char_rtn(float);
128303233Sdimchar __ovld __cnfn convert_char_sat_rtn(float);
129303233Sdimchar __ovld __cnfn convert_char(float);
130303233Sdimchar __ovld __cnfn convert_char_sat(float);
131303233Sdimuchar __ovld __cnfn convert_uchar_rte(char);
132303233Sdimuchar __ovld __cnfn convert_uchar_sat_rte(char);
133303233Sdimuchar __ovld __cnfn convert_uchar_rtz(char);
134303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtz(char);
135303233Sdimuchar __ovld __cnfn convert_uchar_rtp(char);
136303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtp(char);
137303233Sdimuchar __ovld __cnfn convert_uchar_rtn(char);
138303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtn(char);
139303233Sdimuchar __ovld __cnfn convert_uchar(char);
140303233Sdimuchar __ovld __cnfn convert_uchar_sat(char);
141303233Sdimuchar __ovld __cnfn convert_uchar_rte(uchar);
142303233Sdimuchar __ovld __cnfn convert_uchar_sat_rte(uchar);
143303233Sdimuchar __ovld __cnfn convert_uchar_rtz(uchar);
144303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtz(uchar);
145303233Sdimuchar __ovld __cnfn convert_uchar_rtp(uchar);
146303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtp(uchar);
147303233Sdimuchar __ovld __cnfn convert_uchar_rtn(uchar);
148303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtn(uchar);
149303233Sdimuchar __ovld __cnfn convert_uchar(uchar);
150303233Sdimuchar __ovld __cnfn convert_uchar_sat(uchar);
151303233Sdimuchar __ovld __cnfn convert_uchar_rte(short);
152303233Sdimuchar __ovld __cnfn convert_uchar_sat_rte(short);
153303233Sdimuchar __ovld __cnfn convert_uchar_rtz(short);
154303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtz(short);
155303233Sdimuchar __ovld __cnfn convert_uchar_rtp(short);
156303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtp(short);
157303233Sdimuchar __ovld __cnfn convert_uchar_rtn(short);
158303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtn(short);
159303233Sdimuchar __ovld __cnfn convert_uchar(short);
160303233Sdimuchar __ovld __cnfn convert_uchar_sat(short);
161303233Sdimuchar __ovld __cnfn convert_uchar_rte(ushort);
162303233Sdimuchar __ovld __cnfn convert_uchar_sat_rte(ushort);
163303233Sdimuchar __ovld __cnfn convert_uchar_rtz(ushort);
164303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtz(ushort);
165303233Sdimuchar __ovld __cnfn convert_uchar_rtp(ushort);
166303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtp(ushort);
167303233Sdimuchar __ovld __cnfn convert_uchar_rtn(ushort);
168303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtn(ushort);
169303233Sdimuchar __ovld __cnfn convert_uchar(ushort);
170303233Sdimuchar __ovld __cnfn convert_uchar_sat(ushort);
171303233Sdimuchar __ovld __cnfn convert_uchar_rte(int);
172303233Sdimuchar __ovld __cnfn convert_uchar_sat_rte(int);
173303233Sdimuchar __ovld __cnfn convert_uchar_rtz(int);
174303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtz(int);
175303233Sdimuchar __ovld __cnfn convert_uchar_rtp(int);
176303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtp(int);
177303233Sdimuchar __ovld __cnfn convert_uchar_rtn(int);
178303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtn(int);
179303233Sdimuchar __ovld __cnfn convert_uchar(int);
180303233Sdimuchar __ovld __cnfn convert_uchar_sat(int);
181303233Sdimuchar __ovld __cnfn convert_uchar_rte(uint);
182303233Sdimuchar __ovld __cnfn convert_uchar_sat_rte(uint);
183303233Sdimuchar __ovld __cnfn convert_uchar_rtz(uint);
184303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtz(uint);
185303233Sdimuchar __ovld __cnfn convert_uchar_rtp(uint);
186303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtp(uint);
187303233Sdimuchar __ovld __cnfn convert_uchar_rtn(uint);
188303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtn(uint);
189303233Sdimuchar __ovld __cnfn convert_uchar(uint);
190303233Sdimuchar __ovld __cnfn convert_uchar_sat(uint);
191303233Sdimuchar __ovld __cnfn convert_uchar_rte(long);
192303233Sdimuchar __ovld __cnfn convert_uchar_sat_rte(long);
193303233Sdimuchar __ovld __cnfn convert_uchar_rtz(long);
194303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtz(long);
195303233Sdimuchar __ovld __cnfn convert_uchar_rtp(long);
196303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtp(long);
197303233Sdimuchar __ovld __cnfn convert_uchar_rtn(long);
198303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtn(long);
199303233Sdimuchar __ovld __cnfn convert_uchar(long);
200303233Sdimuchar __ovld __cnfn convert_uchar_sat(long);
201303233Sdimuchar __ovld __cnfn convert_uchar_rte(ulong);
202303233Sdimuchar __ovld __cnfn convert_uchar_sat_rte(ulong);
203303233Sdimuchar __ovld __cnfn convert_uchar_rtz(ulong);
204303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtz(ulong);
205303233Sdimuchar __ovld __cnfn convert_uchar_rtp(ulong);
206303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtp(ulong);
207303233Sdimuchar __ovld __cnfn convert_uchar_rtn(ulong);
208303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtn(ulong);
209303233Sdimuchar __ovld __cnfn convert_uchar(ulong);
210303233Sdimuchar __ovld __cnfn convert_uchar_sat(ulong);
211303233Sdimuchar __ovld __cnfn convert_uchar_rte(float);
212303233Sdimuchar __ovld __cnfn convert_uchar_sat_rte(float);
213303233Sdimuchar __ovld __cnfn convert_uchar_rtz(float);
214303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtz(float);
215303233Sdimuchar __ovld __cnfn convert_uchar_rtp(float);
216303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtp(float);
217303233Sdimuchar __ovld __cnfn convert_uchar_rtn(float);
218303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtn(float);
219303233Sdimuchar __ovld __cnfn convert_uchar(float);
220303233Sdimuchar __ovld __cnfn convert_uchar_sat(float);
221303233Sdim
222303233Sdimshort __ovld __cnfn convert_short_rte(char);
223303233Sdimshort __ovld __cnfn convert_short_sat_rte(char);
224303233Sdimshort __ovld __cnfn convert_short_rtz(char);
225303233Sdimshort __ovld __cnfn convert_short_sat_rtz(char);
226303233Sdimshort __ovld __cnfn convert_short_rtp(char);
227303233Sdimshort __ovld __cnfn convert_short_sat_rtp(char);
228303233Sdimshort __ovld __cnfn convert_short_rtn(char);
229303233Sdimshort __ovld __cnfn convert_short_sat_rtn(char);
230303233Sdimshort __ovld __cnfn convert_short(char);
231303233Sdimshort __ovld __cnfn convert_short_sat(char);
232303233Sdimshort __ovld __cnfn convert_short_rte(uchar);
233303233Sdimshort __ovld __cnfn convert_short_sat_rte(uchar);
234303233Sdimshort __ovld __cnfn convert_short_rtz(uchar);
235303233Sdimshort __ovld __cnfn convert_short_sat_rtz(uchar);
236303233Sdimshort __ovld __cnfn convert_short_rtp(uchar);
237303233Sdimshort __ovld __cnfn convert_short_sat_rtp(uchar);
238303233Sdimshort __ovld __cnfn convert_short_rtn(uchar);
239303233Sdimshort __ovld __cnfn convert_short_sat_rtn(uchar);
240303233Sdimshort __ovld __cnfn convert_short(uchar);
241303233Sdimshort __ovld __cnfn convert_short_sat(uchar);
242303233Sdimshort __ovld __cnfn convert_short_rte(short);
243303233Sdimshort __ovld __cnfn convert_short_sat_rte(short);
244303233Sdimshort __ovld __cnfn convert_short_rtz(short);
245303233Sdimshort __ovld __cnfn convert_short_sat_rtz(short);
246303233Sdimshort __ovld __cnfn convert_short_rtp(short);
247303233Sdimshort __ovld __cnfn convert_short_sat_rtp(short);
248303233Sdimshort __ovld __cnfn convert_short_rtn(short);
249303233Sdimshort __ovld __cnfn convert_short_sat_rtn(short);
250303233Sdimshort __ovld __cnfn convert_short(short);
251303233Sdimshort __ovld __cnfn convert_short_sat(short);
252303233Sdimshort __ovld __cnfn convert_short_rte(ushort);
253303233Sdimshort __ovld __cnfn convert_short_sat_rte(ushort);
254303233Sdimshort __ovld __cnfn convert_short_rtz(ushort);
255303233Sdimshort __ovld __cnfn convert_short_sat_rtz(ushort);
256303233Sdimshort __ovld __cnfn convert_short_rtp(ushort);
257303233Sdimshort __ovld __cnfn convert_short_sat_rtp(ushort);
258303233Sdimshort __ovld __cnfn convert_short_rtn(ushort);
259303233Sdimshort __ovld __cnfn convert_short_sat_rtn(ushort);
260303233Sdimshort __ovld __cnfn convert_short(ushort);
261303233Sdimshort __ovld __cnfn convert_short_sat(ushort);
262303233Sdimshort __ovld __cnfn convert_short_rte(int);
263303233Sdimshort __ovld __cnfn convert_short_sat_rte(int);
264303233Sdimshort __ovld __cnfn convert_short_rtz(int);
265303233Sdimshort __ovld __cnfn convert_short_sat_rtz(int);
266303233Sdimshort __ovld __cnfn convert_short_rtp(int);
267303233Sdimshort __ovld __cnfn convert_short_sat_rtp(int);
268303233Sdimshort __ovld __cnfn convert_short_rtn(int);
269303233Sdimshort __ovld __cnfn convert_short_sat_rtn(int);
270303233Sdimshort __ovld __cnfn convert_short(int);
271303233Sdimshort __ovld __cnfn convert_short_sat(int);
272303233Sdimshort __ovld __cnfn convert_short_rte(uint);
273303233Sdimshort __ovld __cnfn convert_short_sat_rte(uint);
274303233Sdimshort __ovld __cnfn convert_short_rtz(uint);
275303233Sdimshort __ovld __cnfn convert_short_sat_rtz(uint);
276303233Sdimshort __ovld __cnfn convert_short_rtp(uint);
277303233Sdimshort __ovld __cnfn convert_short_sat_rtp(uint);
278303233Sdimshort __ovld __cnfn convert_short_rtn(uint);
279303233Sdimshort __ovld __cnfn convert_short_sat_rtn(uint);
280303233Sdimshort __ovld __cnfn convert_short(uint);
281303233Sdimshort __ovld __cnfn convert_short_sat(uint);
282303233Sdimshort __ovld __cnfn convert_short_rte(long);
283303233Sdimshort __ovld __cnfn convert_short_sat_rte(long);
284303233Sdimshort __ovld __cnfn convert_short_rtz(long);
285303233Sdimshort __ovld __cnfn convert_short_sat_rtz(long);
286303233Sdimshort __ovld __cnfn convert_short_rtp(long);
287303233Sdimshort __ovld __cnfn convert_short_sat_rtp(long);
288303233Sdimshort __ovld __cnfn convert_short_rtn(long);
289303233Sdimshort __ovld __cnfn convert_short_sat_rtn(long);
290303233Sdimshort __ovld __cnfn convert_short(long);
291303233Sdimshort __ovld __cnfn convert_short_sat(long);
292303233Sdimshort __ovld __cnfn convert_short_rte(ulong);
293303233Sdimshort __ovld __cnfn convert_short_sat_rte(ulong);
294303233Sdimshort __ovld __cnfn convert_short_rtz(ulong);
295303233Sdimshort __ovld __cnfn convert_short_sat_rtz(ulong);
296303233Sdimshort __ovld __cnfn convert_short_rtp(ulong);
297303233Sdimshort __ovld __cnfn convert_short_sat_rtp(ulong);
298303233Sdimshort __ovld __cnfn convert_short_rtn(ulong);
299303233Sdimshort __ovld __cnfn convert_short_sat_rtn(ulong);
300303233Sdimshort __ovld __cnfn convert_short(ulong);
301303233Sdimshort __ovld __cnfn convert_short_sat(ulong);
302303233Sdimshort __ovld __cnfn convert_short_rte(float);
303303233Sdimshort __ovld __cnfn convert_short_sat_rte(float);
304303233Sdimshort __ovld __cnfn convert_short_rtz(float);
305303233Sdimshort __ovld __cnfn convert_short_sat_rtz(float);
306303233Sdimshort __ovld __cnfn convert_short_rtp(float);
307303233Sdimshort __ovld __cnfn convert_short_sat_rtp(float);
308303233Sdimshort __ovld __cnfn convert_short_rtn(float);
309303233Sdimshort __ovld __cnfn convert_short_sat_rtn(float);
310303233Sdimshort __ovld __cnfn convert_short(float);
311303233Sdimshort __ovld __cnfn convert_short_sat(float);
312303233Sdimushort __ovld __cnfn convert_ushort_rte(char);
313303233Sdimushort __ovld __cnfn convert_ushort_sat_rte(char);
314303233Sdimushort __ovld __cnfn convert_ushort_rtz(char);
315303233Sdimushort __ovld __cnfn convert_ushort_sat_rtz(char);
316303233Sdimushort __ovld __cnfn convert_ushort_rtp(char);
317303233Sdimushort __ovld __cnfn convert_ushort_sat_rtp(char);
318303233Sdimushort __ovld __cnfn convert_ushort_rtn(char);
319303233Sdimushort __ovld __cnfn convert_ushort_sat_rtn(char);
320303233Sdimushort __ovld __cnfn convert_ushort(char);
321303233Sdimushort __ovld __cnfn convert_ushort_sat(char);
322303233Sdimushort __ovld __cnfn convert_ushort_rte(uchar);
323303233Sdimushort __ovld __cnfn convert_ushort_sat_rte(uchar);
324303233Sdimushort __ovld __cnfn convert_ushort_rtz(uchar);
325303233Sdimushort __ovld __cnfn convert_ushort_sat_rtz(uchar);
326303233Sdimushort __ovld __cnfn convert_ushort_rtp(uchar);
327303233Sdimushort __ovld __cnfn convert_ushort_sat_rtp(uchar);
328303233Sdimushort __ovld __cnfn convert_ushort_rtn(uchar);
329303233Sdimushort __ovld __cnfn convert_ushort_sat_rtn(uchar);
330303233Sdimushort __ovld __cnfn convert_ushort(uchar);
331303233Sdimushort __ovld __cnfn convert_ushort_sat(uchar);
332303233Sdimushort __ovld __cnfn convert_ushort_rte(short);
333303233Sdimushort __ovld __cnfn convert_ushort_sat_rte(short);
334303233Sdimushort __ovld __cnfn convert_ushort_rtz(short);
335303233Sdimushort __ovld __cnfn convert_ushort_sat_rtz(short);
336303233Sdimushort __ovld __cnfn convert_ushort_rtp(short);
337303233Sdimushort __ovld __cnfn convert_ushort_sat_rtp(short);
338303233Sdimushort __ovld __cnfn convert_ushort_rtn(short);
339303233Sdimushort __ovld __cnfn convert_ushort_sat_rtn(short);
340303233Sdimushort __ovld __cnfn convert_ushort(short);
341303233Sdimushort __ovld __cnfn convert_ushort_sat(short);
342303233Sdimushort __ovld __cnfn convert_ushort_rte(ushort);
343303233Sdimushort __ovld __cnfn convert_ushort_sat_rte(ushort);
344303233Sdimushort __ovld __cnfn convert_ushort_rtz(ushort);
345303233Sdimushort __ovld __cnfn convert_ushort_sat_rtz(ushort);
346303233Sdimushort __ovld __cnfn convert_ushort_rtp(ushort);
347303233Sdimushort __ovld __cnfn convert_ushort_sat_rtp(ushort);
348303233Sdimushort __ovld __cnfn convert_ushort_rtn(ushort);
349303233Sdimushort __ovld __cnfn convert_ushort_sat_rtn(ushort);
350303233Sdimushort __ovld __cnfn convert_ushort(ushort);
351303233Sdimushort __ovld __cnfn convert_ushort_sat(ushort);
352303233Sdimushort __ovld __cnfn convert_ushort_rte(int);
353303233Sdimushort __ovld __cnfn convert_ushort_sat_rte(int);
354303233Sdimushort __ovld __cnfn convert_ushort_rtz(int);
355303233Sdimushort __ovld __cnfn convert_ushort_sat_rtz(int);
356303233Sdimushort __ovld __cnfn convert_ushort_rtp(int);
357303233Sdimushort __ovld __cnfn convert_ushort_sat_rtp(int);
358303233Sdimushort __ovld __cnfn convert_ushort_rtn(int);
359303233Sdimushort __ovld __cnfn convert_ushort_sat_rtn(int);
360303233Sdimushort __ovld __cnfn convert_ushort(int);
361303233Sdimushort __ovld __cnfn convert_ushort_sat(int);
362303233Sdimushort __ovld __cnfn convert_ushort_rte(uint);
363303233Sdimushort __ovld __cnfn convert_ushort_sat_rte(uint);
364303233Sdimushort __ovld __cnfn convert_ushort_rtz(uint);
365303233Sdimushort __ovld __cnfn convert_ushort_sat_rtz(uint);
366303233Sdimushort __ovld __cnfn convert_ushort_rtp(uint);
367303233Sdimushort __ovld __cnfn convert_ushort_sat_rtp(uint);
368303233Sdimushort __ovld __cnfn convert_ushort_rtn(uint);
369303233Sdimushort __ovld __cnfn convert_ushort_sat_rtn(uint);
370303233Sdimushort __ovld __cnfn convert_ushort(uint);
371303233Sdimushort __ovld __cnfn convert_ushort_sat(uint);
372303233Sdimushort __ovld __cnfn convert_ushort_rte(long);
373303233Sdimushort __ovld __cnfn convert_ushort_sat_rte(long);
374303233Sdimushort __ovld __cnfn convert_ushort_rtz(long);
375303233Sdimushort __ovld __cnfn convert_ushort_sat_rtz(long);
376303233Sdimushort __ovld __cnfn convert_ushort_rtp(long);
377303233Sdimushort __ovld __cnfn convert_ushort_sat_rtp(long);
378303233Sdimushort __ovld __cnfn convert_ushort_rtn(long);
379303233Sdimushort __ovld __cnfn convert_ushort_sat_rtn(long);
380303233Sdimushort __ovld __cnfn convert_ushort(long);
381303233Sdimushort __ovld __cnfn convert_ushort_sat(long);
382303233Sdimushort __ovld __cnfn convert_ushort_rte(ulong);
383303233Sdimushort __ovld __cnfn convert_ushort_sat_rte(ulong);
384303233Sdimushort __ovld __cnfn convert_ushort_rtz(ulong);
385303233Sdimushort __ovld __cnfn convert_ushort_sat_rtz(ulong);
386303233Sdimushort __ovld __cnfn convert_ushort_rtp(ulong);
387303233Sdimushort __ovld __cnfn convert_ushort_sat_rtp(ulong);
388303233Sdimushort __ovld __cnfn convert_ushort_rtn(ulong);
389303233Sdimushort __ovld __cnfn convert_ushort_sat_rtn(ulong);
390303233Sdimushort __ovld __cnfn convert_ushort(ulong);
391303233Sdimushort __ovld __cnfn convert_ushort_sat(ulong);
392303233Sdimushort __ovld __cnfn convert_ushort_rte(float);
393303233Sdimushort __ovld __cnfn convert_ushort_sat_rte(float);
394303233Sdimushort __ovld __cnfn convert_ushort_rtz(float);
395303233Sdimushort __ovld __cnfn convert_ushort_sat_rtz(float);
396303233Sdimushort __ovld __cnfn convert_ushort_rtp(float);
397303233Sdimushort __ovld __cnfn convert_ushort_sat_rtp(float);
398303233Sdimushort __ovld __cnfn convert_ushort_rtn(float);
399303233Sdimushort __ovld __cnfn convert_ushort_sat_rtn(float);
400303233Sdimushort __ovld __cnfn convert_ushort(float);
401303233Sdimushort __ovld __cnfn convert_ushort_sat(float);
402303233Sdimint __ovld __cnfn convert_int_rte(char);
403303233Sdimint __ovld __cnfn convert_int_sat_rte(char);
404303233Sdimint __ovld __cnfn convert_int_rtz(char);
405303233Sdimint __ovld __cnfn convert_int_sat_rtz(char);
406303233Sdimint __ovld __cnfn convert_int_rtp(char);
407303233Sdimint __ovld __cnfn convert_int_sat_rtp(char);
408303233Sdimint __ovld __cnfn convert_int_rtn(char);
409303233Sdimint __ovld __cnfn convert_int_sat_rtn(char);
410303233Sdimint __ovld __cnfn convert_int(char);
411303233Sdimint __ovld __cnfn convert_int_sat(char);
412303233Sdimint __ovld __cnfn convert_int_rte(uchar);
413303233Sdimint __ovld __cnfn convert_int_sat_rte(uchar);
414303233Sdimint __ovld __cnfn convert_int_rtz(uchar);
415303233Sdimint __ovld __cnfn convert_int_sat_rtz(uchar);
416303233Sdimint __ovld __cnfn convert_int_rtp(uchar);
417303233Sdimint __ovld __cnfn convert_int_sat_rtp(uchar);
418303233Sdimint __ovld __cnfn convert_int_rtn(uchar);
419303233Sdimint __ovld __cnfn convert_int_sat_rtn(uchar);
420303233Sdimint __ovld __cnfn convert_int(uchar);
421303233Sdimint __ovld __cnfn convert_int_sat(uchar);
422303233Sdimint __ovld __cnfn convert_int_rte(short);
423303233Sdimint __ovld __cnfn convert_int_sat_rte(short);
424303233Sdimint __ovld __cnfn convert_int_rtz(short);
425303233Sdimint __ovld __cnfn convert_int_sat_rtz(short);
426303233Sdimint __ovld __cnfn convert_int_rtp(short);
427303233Sdimint __ovld __cnfn convert_int_sat_rtp(short);
428303233Sdimint __ovld __cnfn convert_int_rtn(short);
429303233Sdimint __ovld __cnfn convert_int_sat_rtn(short);
430303233Sdimint __ovld __cnfn convert_int(short);
431303233Sdimint __ovld __cnfn convert_int_sat(short);
432303233Sdimint __ovld __cnfn convert_int_rte(ushort);
433303233Sdimint __ovld __cnfn convert_int_sat_rte(ushort);
434303233Sdimint __ovld __cnfn convert_int_rtz(ushort);
435303233Sdimint __ovld __cnfn convert_int_sat_rtz(ushort);
436303233Sdimint __ovld __cnfn convert_int_rtp(ushort);
437303233Sdimint __ovld __cnfn convert_int_sat_rtp(ushort);
438303233Sdimint __ovld __cnfn convert_int_rtn(ushort);
439303233Sdimint __ovld __cnfn convert_int_sat_rtn(ushort);
440303233Sdimint __ovld __cnfn convert_int(ushort);
441303233Sdimint __ovld __cnfn convert_int_sat(ushort);
442303233Sdimint __ovld __cnfn convert_int_rte(int);
443303233Sdimint __ovld __cnfn convert_int_sat_rte(int);
444303233Sdimint __ovld __cnfn convert_int_rtz(int);
445303233Sdimint __ovld __cnfn convert_int_sat_rtz(int);
446303233Sdimint __ovld __cnfn convert_int_rtp(int);
447303233Sdimint __ovld __cnfn convert_int_sat_rtp(int);
448303233Sdimint __ovld __cnfn convert_int_rtn(int);
449303233Sdimint __ovld __cnfn convert_int_sat_rtn(int);
450303233Sdimint __ovld __cnfn convert_int(int);
451303233Sdimint __ovld __cnfn convert_int_sat(int);
452303233Sdimint __ovld __cnfn convert_int_rte(uint);
453303233Sdimint __ovld __cnfn convert_int_sat_rte(uint);
454303233Sdimint __ovld __cnfn convert_int_rtz(uint);
455303233Sdimint __ovld __cnfn convert_int_sat_rtz(uint);
456303233Sdimint __ovld __cnfn convert_int_rtp(uint);
457303233Sdimint __ovld __cnfn convert_int_sat_rtp(uint);
458303233Sdimint __ovld __cnfn convert_int_rtn(uint);
459303233Sdimint __ovld __cnfn convert_int_sat_rtn(uint);
460303233Sdimint __ovld __cnfn convert_int(uint);
461303233Sdimint __ovld __cnfn convert_int_sat(uint);
462303233Sdimint __ovld __cnfn convert_int_rte(long);
463303233Sdimint __ovld __cnfn convert_int_sat_rte(long);
464303233Sdimint __ovld __cnfn convert_int_rtz(long);
465303233Sdimint __ovld __cnfn convert_int_sat_rtz(long);
466303233Sdimint __ovld __cnfn convert_int_rtp(long);
467303233Sdimint __ovld __cnfn convert_int_sat_rtp(long);
468303233Sdimint __ovld __cnfn convert_int_rtn(long);
469303233Sdimint __ovld __cnfn convert_int_sat_rtn(long);
470303233Sdimint __ovld __cnfn convert_int(long);
471303233Sdimint __ovld __cnfn convert_int_sat(long);
472303233Sdimint __ovld __cnfn convert_int_rte(ulong);
473303233Sdimint __ovld __cnfn convert_int_sat_rte(ulong);
474303233Sdimint __ovld __cnfn convert_int_rtz(ulong);
475303233Sdimint __ovld __cnfn convert_int_sat_rtz(ulong);
476303233Sdimint __ovld __cnfn convert_int_rtp(ulong);
477303233Sdimint __ovld __cnfn convert_int_sat_rtp(ulong);
478303233Sdimint __ovld __cnfn convert_int_rtn(ulong);
479303233Sdimint __ovld __cnfn convert_int_sat_rtn(ulong);
480303233Sdimint __ovld __cnfn convert_int(ulong);
481303233Sdimint __ovld __cnfn convert_int_sat(ulong);
482303233Sdimint __ovld __cnfn convert_int_rte(float);
483303233Sdimint __ovld __cnfn convert_int_sat_rte(float);
484303233Sdimint __ovld __cnfn convert_int_rtz(float);
485303233Sdimint __ovld __cnfn convert_int_sat_rtz(float);
486303233Sdimint __ovld __cnfn convert_int_rtp(float);
487303233Sdimint __ovld __cnfn convert_int_sat_rtp(float);
488303233Sdimint __ovld __cnfn convert_int_rtn(float);
489303233Sdimint __ovld __cnfn convert_int_sat_rtn(float);
490303233Sdimint __ovld __cnfn convert_int(float);
491303233Sdimint __ovld __cnfn convert_int_sat(float);
492303233Sdimuint __ovld __cnfn convert_uint_rte(char);
493303233Sdimuint __ovld __cnfn convert_uint_sat_rte(char);
494303233Sdimuint __ovld __cnfn convert_uint_rtz(char);
495303233Sdimuint __ovld __cnfn convert_uint_sat_rtz(char);
496303233Sdimuint __ovld __cnfn convert_uint_rtp(char);
497303233Sdimuint __ovld __cnfn convert_uint_sat_rtp(char);
498303233Sdimuint __ovld __cnfn convert_uint_rtn(char);
499303233Sdimuint __ovld __cnfn convert_uint_sat_rtn(char);
500303233Sdimuint __ovld __cnfn convert_uint(char);
501303233Sdimuint __ovld __cnfn convert_uint_sat(char);
502303233Sdimuint __ovld __cnfn convert_uint_rte(uchar);
503303233Sdimuint __ovld __cnfn convert_uint_sat_rte(uchar);
504303233Sdimuint __ovld __cnfn convert_uint_rtz(uchar);
505303233Sdimuint __ovld __cnfn convert_uint_sat_rtz(uchar);
506303233Sdimuint __ovld __cnfn convert_uint_rtp(uchar);
507303233Sdimuint __ovld __cnfn convert_uint_sat_rtp(uchar);
508303233Sdimuint __ovld __cnfn convert_uint_rtn(uchar);
509303233Sdimuint __ovld __cnfn convert_uint_sat_rtn(uchar);
510303233Sdimuint __ovld __cnfn convert_uint(uchar);
511303233Sdimuint __ovld __cnfn convert_uint_sat(uchar);
512303233Sdimuint __ovld __cnfn convert_uint_rte(short);
513303233Sdimuint __ovld __cnfn convert_uint_sat_rte(short);
514303233Sdimuint __ovld __cnfn convert_uint_rtz(short);
515303233Sdimuint __ovld __cnfn convert_uint_sat_rtz(short);
516303233Sdimuint __ovld __cnfn convert_uint_rtp(short);
517303233Sdimuint __ovld __cnfn convert_uint_sat_rtp(short);
518303233Sdimuint __ovld __cnfn convert_uint_rtn(short);
519303233Sdimuint __ovld __cnfn convert_uint_sat_rtn(short);
520303233Sdimuint __ovld __cnfn convert_uint(short);
521303233Sdimuint __ovld __cnfn convert_uint_sat(short);
522303233Sdimuint __ovld __cnfn convert_uint_rte(ushort);
523303233Sdimuint __ovld __cnfn convert_uint_sat_rte(ushort);
524303233Sdimuint __ovld __cnfn convert_uint_rtz(ushort);
525303233Sdimuint __ovld __cnfn convert_uint_sat_rtz(ushort);
526303233Sdimuint __ovld __cnfn convert_uint_rtp(ushort);
527303233Sdimuint __ovld __cnfn convert_uint_sat_rtp(ushort);
528303233Sdimuint __ovld __cnfn convert_uint_rtn(ushort);
529303233Sdimuint __ovld __cnfn convert_uint_sat_rtn(ushort);
530303233Sdimuint __ovld __cnfn convert_uint(ushort);
531303233Sdimuint __ovld __cnfn convert_uint_sat(ushort);
532303233Sdimuint __ovld __cnfn convert_uint_rte(int);
533303233Sdimuint __ovld __cnfn convert_uint_sat_rte(int);
534303233Sdimuint __ovld __cnfn convert_uint_rtz(int);
535303233Sdimuint __ovld __cnfn convert_uint_sat_rtz(int);
536303233Sdimuint __ovld __cnfn convert_uint_rtp(int);
537303233Sdimuint __ovld __cnfn convert_uint_sat_rtp(int);
538303233Sdimuint __ovld __cnfn convert_uint_rtn(int);
539303233Sdimuint __ovld __cnfn convert_uint_sat_rtn(int);
540303233Sdimuint __ovld __cnfn convert_uint(int);
541303233Sdimuint __ovld __cnfn convert_uint_sat(int);
542303233Sdimuint __ovld __cnfn convert_uint_rte(uint);
543303233Sdimuint __ovld __cnfn convert_uint_sat_rte(uint);
544303233Sdimuint __ovld __cnfn convert_uint_rtz(uint);
545303233Sdimuint __ovld __cnfn convert_uint_sat_rtz(uint);
546303233Sdimuint __ovld __cnfn convert_uint_rtp(uint);
547303233Sdimuint __ovld __cnfn convert_uint_sat_rtp(uint);
548303233Sdimuint __ovld __cnfn convert_uint_rtn(uint);
549303233Sdimuint __ovld __cnfn convert_uint_sat_rtn(uint);
550303233Sdimuint __ovld __cnfn convert_uint(uint);
551303233Sdimuint __ovld __cnfn convert_uint_sat(uint);
552303233Sdimuint __ovld __cnfn convert_uint_rte(long);
553303233Sdimuint __ovld __cnfn convert_uint_sat_rte(long);
554303233Sdimuint __ovld __cnfn convert_uint_rtz(long);
555303233Sdimuint __ovld __cnfn convert_uint_sat_rtz(long);
556303233Sdimuint __ovld __cnfn convert_uint_rtp(long);
557303233Sdimuint __ovld __cnfn convert_uint_sat_rtp(long);
558303233Sdimuint __ovld __cnfn convert_uint_rtn(long);
559303233Sdimuint __ovld __cnfn convert_uint_sat_rtn(long);
560303233Sdimuint __ovld __cnfn convert_uint(long);
561303233Sdimuint __ovld __cnfn convert_uint_sat(long);
562303233Sdimuint __ovld __cnfn convert_uint_rte(ulong);
563303233Sdimuint __ovld __cnfn convert_uint_sat_rte(ulong);
564303233Sdimuint __ovld __cnfn convert_uint_rtz(ulong);
565303233Sdimuint __ovld __cnfn convert_uint_sat_rtz(ulong);
566303233Sdimuint __ovld __cnfn convert_uint_rtp(ulong);
567303233Sdimuint __ovld __cnfn convert_uint_sat_rtp(ulong);
568303233Sdimuint __ovld __cnfn convert_uint_rtn(ulong);
569303233Sdimuint __ovld __cnfn convert_uint_sat_rtn(ulong);
570303233Sdimuint __ovld __cnfn convert_uint(ulong);
571303233Sdimuint __ovld __cnfn convert_uint_sat(ulong);
572303233Sdimuint __ovld __cnfn convert_uint_rte(float);
573303233Sdimuint __ovld __cnfn convert_uint_sat_rte(float);
574303233Sdimuint __ovld __cnfn convert_uint_rtz(float);
575303233Sdimuint __ovld __cnfn convert_uint_sat_rtz(float);
576303233Sdimuint __ovld __cnfn convert_uint_rtp(float);
577303233Sdimuint __ovld __cnfn convert_uint_sat_rtp(float);
578303233Sdimuint __ovld __cnfn convert_uint_rtn(float);
579303233Sdimuint __ovld __cnfn convert_uint_sat_rtn(float);
580303233Sdimuint __ovld __cnfn convert_uint(float);
581303233Sdimuint __ovld __cnfn convert_uint_sat(float);
582303233Sdimlong __ovld __cnfn convert_long_rte(char);
583303233Sdimlong __ovld __cnfn convert_long_sat_rte(char);
584303233Sdimlong __ovld __cnfn convert_long_rtz(char);
585303233Sdimlong __ovld __cnfn convert_long_sat_rtz(char);
586303233Sdimlong __ovld __cnfn convert_long_rtp(char);
587303233Sdimlong __ovld __cnfn convert_long_sat_rtp(char);
588303233Sdimlong __ovld __cnfn convert_long_rtn(char);
589303233Sdimlong __ovld __cnfn convert_long_sat_rtn(char);
590303233Sdimlong __ovld __cnfn convert_long(char);
591303233Sdimlong __ovld __cnfn convert_long_sat(char);
592303233Sdimlong __ovld __cnfn convert_long_rte(uchar);
593303233Sdimlong __ovld __cnfn convert_long_sat_rte(uchar);
594303233Sdimlong __ovld __cnfn convert_long_rtz(uchar);
595303233Sdimlong __ovld __cnfn convert_long_sat_rtz(uchar);
596303233Sdimlong __ovld __cnfn convert_long_rtp(uchar);
597303233Sdimlong __ovld __cnfn convert_long_sat_rtp(uchar);
598303233Sdimlong __ovld __cnfn convert_long_rtn(uchar);
599303233Sdimlong __ovld __cnfn convert_long_sat_rtn(uchar);
600303233Sdimlong __ovld __cnfn convert_long(uchar);
601303233Sdimlong __ovld __cnfn convert_long_sat(uchar);
602303233Sdimlong __ovld __cnfn convert_long_rte(short);
603303233Sdimlong __ovld __cnfn convert_long_sat_rte(short);
604303233Sdimlong __ovld __cnfn convert_long_rtz(short);
605303233Sdimlong __ovld __cnfn convert_long_sat_rtz(short);
606303233Sdimlong __ovld __cnfn convert_long_rtp(short);
607303233Sdimlong __ovld __cnfn convert_long_sat_rtp(short);
608303233Sdimlong __ovld __cnfn convert_long_rtn(short);
609303233Sdimlong __ovld __cnfn convert_long_sat_rtn(short);
610303233Sdimlong __ovld __cnfn convert_long(short);
611303233Sdimlong __ovld __cnfn convert_long_sat(short);
612303233Sdimlong __ovld __cnfn convert_long_rte(ushort);
613303233Sdimlong __ovld __cnfn convert_long_sat_rte(ushort);
614303233Sdimlong __ovld __cnfn convert_long_rtz(ushort);
615303233Sdimlong __ovld __cnfn convert_long_sat_rtz(ushort);
616303233Sdimlong __ovld __cnfn convert_long_rtp(ushort);
617303233Sdimlong __ovld __cnfn convert_long_sat_rtp(ushort);
618303233Sdimlong __ovld __cnfn convert_long_rtn(ushort);
619303233Sdimlong __ovld __cnfn convert_long_sat_rtn(ushort);
620303233Sdimlong __ovld __cnfn convert_long(ushort);
621303233Sdimlong __ovld __cnfn convert_long_sat(ushort);
622303233Sdimlong __ovld __cnfn convert_long_rte(int);
623303233Sdimlong __ovld __cnfn convert_long_sat_rte(int);
624303233Sdimlong __ovld __cnfn convert_long_rtz(int);
625303233Sdimlong __ovld __cnfn convert_long_sat_rtz(int);
626303233Sdimlong __ovld __cnfn convert_long_rtp(int);
627303233Sdimlong __ovld __cnfn convert_long_sat_rtp(int);
628303233Sdimlong __ovld __cnfn convert_long_rtn(int);
629303233Sdimlong __ovld __cnfn convert_long_sat_rtn(int);
630303233Sdimlong __ovld __cnfn convert_long(int);
631303233Sdimlong __ovld __cnfn convert_long_sat(int);
632303233Sdimlong __ovld __cnfn convert_long_rte(uint);
633303233Sdimlong __ovld __cnfn convert_long_sat_rte(uint);
634303233Sdimlong __ovld __cnfn convert_long_rtz(uint);
635303233Sdimlong __ovld __cnfn convert_long_sat_rtz(uint);
636303233Sdimlong __ovld __cnfn convert_long_rtp(uint);
637303233Sdimlong __ovld __cnfn convert_long_sat_rtp(uint);
638303233Sdimlong __ovld __cnfn convert_long_rtn(uint);
639303233Sdimlong __ovld __cnfn convert_long_sat_rtn(uint);
640303233Sdimlong __ovld __cnfn convert_long(uint);
641303233Sdimlong __ovld __cnfn convert_long_sat(uint);
642303233Sdimlong __ovld __cnfn convert_long_rte(long);
643303233Sdimlong __ovld __cnfn convert_long_sat_rte(long);
644303233Sdimlong __ovld __cnfn convert_long_rtz(long);
645303233Sdimlong __ovld __cnfn convert_long_sat_rtz(long);
646303233Sdimlong __ovld __cnfn convert_long_rtp(long);
647303233Sdimlong __ovld __cnfn convert_long_sat_rtp(long);
648303233Sdimlong __ovld __cnfn convert_long_rtn(long);
649303233Sdimlong __ovld __cnfn convert_long_sat_rtn(long);
650303233Sdimlong __ovld __cnfn convert_long(long);
651303233Sdimlong __ovld __cnfn convert_long_sat(long);
652303233Sdimlong __ovld __cnfn convert_long_rte(ulong);
653303233Sdimlong __ovld __cnfn convert_long_sat_rte(ulong);
654303233Sdimlong __ovld __cnfn convert_long_rtz(ulong);
655303233Sdimlong __ovld __cnfn convert_long_sat_rtz(ulong);
656303233Sdimlong __ovld __cnfn convert_long_rtp(ulong);
657303233Sdimlong __ovld __cnfn convert_long_sat_rtp(ulong);
658303233Sdimlong __ovld __cnfn convert_long_rtn(ulong);
659303233Sdimlong __ovld __cnfn convert_long_sat_rtn(ulong);
660303233Sdimlong __ovld __cnfn convert_long(ulong);
661303233Sdimlong __ovld __cnfn convert_long_sat(ulong);
662303233Sdimlong __ovld __cnfn convert_long_rte(float);
663303233Sdimlong __ovld __cnfn convert_long_sat_rte(float);
664303233Sdimlong __ovld __cnfn convert_long_rtz(float);
665303233Sdimlong __ovld __cnfn convert_long_sat_rtz(float);
666303233Sdimlong __ovld __cnfn convert_long_rtp(float);
667303233Sdimlong __ovld __cnfn convert_long_sat_rtp(float);
668303233Sdimlong __ovld __cnfn convert_long_rtn(float);
669303233Sdimlong __ovld __cnfn convert_long_sat_rtn(float);
670303233Sdimlong __ovld __cnfn convert_long(float);
671303233Sdimlong __ovld __cnfn convert_long_sat(float);
672303233Sdimulong __ovld __cnfn convert_ulong_rte(char);
673303233Sdimulong __ovld __cnfn convert_ulong_sat_rte(char);
674303233Sdimulong __ovld __cnfn convert_ulong_rtz(char);
675303233Sdimulong __ovld __cnfn convert_ulong_sat_rtz(char);
676303233Sdimulong __ovld __cnfn convert_ulong_rtp(char);
677303233Sdimulong __ovld __cnfn convert_ulong_sat_rtp(char);
678303233Sdimulong __ovld __cnfn convert_ulong_rtn(char);
679303233Sdimulong __ovld __cnfn convert_ulong_sat_rtn(char);
680303233Sdimulong __ovld __cnfn convert_ulong(char);
681303233Sdimulong __ovld __cnfn convert_ulong_sat(char);
682303233Sdimulong __ovld __cnfn convert_ulong_rte(uchar);
683303233Sdimulong __ovld __cnfn convert_ulong_sat_rte(uchar);
684303233Sdimulong __ovld __cnfn convert_ulong_rtz(uchar);
685303233Sdimulong __ovld __cnfn convert_ulong_sat_rtz(uchar);
686303233Sdimulong __ovld __cnfn convert_ulong_rtp(uchar);
687303233Sdimulong __ovld __cnfn convert_ulong_sat_rtp(uchar);
688303233Sdimulong __ovld __cnfn convert_ulong_rtn(uchar);
689303233Sdimulong __ovld __cnfn convert_ulong_sat_rtn(uchar);
690303233Sdimulong __ovld __cnfn convert_ulong(uchar);
691303233Sdimulong __ovld __cnfn convert_ulong_sat(uchar);
692303233Sdimulong __ovld __cnfn convert_ulong_rte(short);
693303233Sdimulong __ovld __cnfn convert_ulong_sat_rte(short);
694303233Sdimulong __ovld __cnfn convert_ulong_rtz(short);
695303233Sdimulong __ovld __cnfn convert_ulong_sat_rtz(short);
696303233Sdimulong __ovld __cnfn convert_ulong_rtp(short);
697303233Sdimulong __ovld __cnfn convert_ulong_sat_rtp(short);
698303233Sdimulong __ovld __cnfn convert_ulong_rtn(short);
699303233Sdimulong __ovld __cnfn convert_ulong_sat_rtn(short);
700303233Sdimulong __ovld __cnfn convert_ulong(short);
701303233Sdimulong __ovld __cnfn convert_ulong_sat(short);
702303233Sdimulong __ovld __cnfn convert_ulong_rte(ushort);
703303233Sdimulong __ovld __cnfn convert_ulong_sat_rte(ushort);
704303233Sdimulong __ovld __cnfn convert_ulong_rtz(ushort);
705303233Sdimulong __ovld __cnfn convert_ulong_sat_rtz(ushort);
706303233Sdimulong __ovld __cnfn convert_ulong_rtp(ushort);
707303233Sdimulong __ovld __cnfn convert_ulong_sat_rtp(ushort);
708303233Sdimulong __ovld __cnfn convert_ulong_rtn(ushort);
709303233Sdimulong __ovld __cnfn convert_ulong_sat_rtn(ushort);
710303233Sdimulong __ovld __cnfn convert_ulong(ushort);
711303233Sdimulong __ovld __cnfn convert_ulong_sat(ushort);
712303233Sdimulong __ovld __cnfn convert_ulong_rte(int);
713303233Sdimulong __ovld __cnfn convert_ulong_sat_rte(int);
714303233Sdimulong __ovld __cnfn convert_ulong_rtz(int);
715303233Sdimulong __ovld __cnfn convert_ulong_sat_rtz(int);
716303233Sdimulong __ovld __cnfn convert_ulong_rtp(int);
717303233Sdimulong __ovld __cnfn convert_ulong_sat_rtp(int);
718303233Sdimulong __ovld __cnfn convert_ulong_rtn(int);
719303233Sdimulong __ovld __cnfn convert_ulong_sat_rtn(int);
720303233Sdimulong __ovld __cnfn convert_ulong(int);
721303233Sdimulong __ovld __cnfn convert_ulong_sat(int);
722303233Sdimulong __ovld __cnfn convert_ulong_rte(uint);
723303233Sdimulong __ovld __cnfn convert_ulong_sat_rte(uint);
724303233Sdimulong __ovld __cnfn convert_ulong_rtz(uint);
725303233Sdimulong __ovld __cnfn convert_ulong_sat_rtz(uint);
726303233Sdimulong __ovld __cnfn convert_ulong_rtp(uint);
727303233Sdimulong __ovld __cnfn convert_ulong_sat_rtp(uint);
728303233Sdimulong __ovld __cnfn convert_ulong_rtn(uint);
729303233Sdimulong __ovld __cnfn convert_ulong_sat_rtn(uint);
730303233Sdimulong __ovld __cnfn convert_ulong(uint);
731303233Sdimulong __ovld __cnfn convert_ulong_sat(uint);
732303233Sdimulong __ovld __cnfn convert_ulong_rte(long);
733303233Sdimulong __ovld __cnfn convert_ulong_sat_rte(long);
734303233Sdimulong __ovld __cnfn convert_ulong_rtz(long);
735303233Sdimulong __ovld __cnfn convert_ulong_sat_rtz(long);
736303233Sdimulong __ovld __cnfn convert_ulong_rtp(long);
737303233Sdimulong __ovld __cnfn convert_ulong_sat_rtp(long);
738303233Sdimulong __ovld __cnfn convert_ulong_rtn(long);
739303233Sdimulong __ovld __cnfn convert_ulong_sat_rtn(long);
740303233Sdimulong __ovld __cnfn convert_ulong(long);
741303233Sdimulong __ovld __cnfn convert_ulong_sat(long);
742303233Sdimulong __ovld __cnfn convert_ulong_rte(ulong);
743303233Sdimulong __ovld __cnfn convert_ulong_sat_rte(ulong);
744303233Sdimulong __ovld __cnfn convert_ulong_rtz(ulong);
745303233Sdimulong __ovld __cnfn convert_ulong_sat_rtz(ulong);
746303233Sdimulong __ovld __cnfn convert_ulong_rtp(ulong);
747303233Sdimulong __ovld __cnfn convert_ulong_sat_rtp(ulong);
748303233Sdimulong __ovld __cnfn convert_ulong_rtn(ulong);
749303233Sdimulong __ovld __cnfn convert_ulong_sat_rtn(ulong);
750303233Sdimulong __ovld __cnfn convert_ulong(ulong);
751303233Sdimulong __ovld __cnfn convert_ulong_sat(ulong);
752303233Sdimulong __ovld __cnfn convert_ulong_rte(float);
753303233Sdimulong __ovld __cnfn convert_ulong_sat_rte(float);
754303233Sdimulong __ovld __cnfn convert_ulong_rtz(float);
755303233Sdimulong __ovld __cnfn convert_ulong_sat_rtz(float);
756303233Sdimulong __ovld __cnfn convert_ulong_rtp(float);
757303233Sdimulong __ovld __cnfn convert_ulong_sat_rtp(float);
758303233Sdimulong __ovld __cnfn convert_ulong_rtn(float);
759303233Sdimulong __ovld __cnfn convert_ulong_sat_rtn(float);
760303233Sdimulong __ovld __cnfn convert_ulong(float);
761303233Sdimulong __ovld __cnfn convert_ulong_sat(float);
762303233Sdimfloat __ovld __cnfn convert_float_rte(char);
763303233Sdimfloat __ovld __cnfn convert_float_rtz(char);
764303233Sdimfloat __ovld __cnfn convert_float_rtp(char);
765303233Sdimfloat __ovld __cnfn convert_float_rtn(char);
766303233Sdimfloat __ovld __cnfn convert_float(char);
767303233Sdimfloat __ovld __cnfn convert_float_rte(uchar);
768303233Sdimfloat __ovld __cnfn convert_float_rtz(uchar);
769303233Sdimfloat __ovld __cnfn convert_float_rtp(uchar);
770303233Sdimfloat __ovld __cnfn convert_float_rtn(uchar);
771303233Sdimfloat __ovld __cnfn convert_float(uchar);
772303233Sdimfloat __ovld __cnfn convert_float_rte(short);
773303233Sdimfloat __ovld __cnfn convert_float_rtz(short);
774303233Sdimfloat __ovld __cnfn convert_float_rtp(short);
775303233Sdimfloat __ovld __cnfn convert_float_rtn(short);
776303233Sdimfloat __ovld __cnfn convert_float(short);
777303233Sdimfloat __ovld __cnfn convert_float_rte(ushort);
778303233Sdimfloat __ovld __cnfn convert_float_rtz(ushort);
779303233Sdimfloat __ovld __cnfn convert_float_rtp(ushort);
780303233Sdimfloat __ovld __cnfn convert_float_rtn(ushort);
781303233Sdimfloat __ovld __cnfn convert_float(ushort);
782303233Sdimfloat __ovld __cnfn convert_float_rte(int);
783303233Sdimfloat __ovld __cnfn convert_float_rtz(int);
784303233Sdimfloat __ovld __cnfn convert_float_rtp(int);
785303233Sdimfloat __ovld __cnfn convert_float_rtn(int);
786303233Sdimfloat __ovld __cnfn convert_float(int);
787303233Sdimfloat __ovld __cnfn convert_float_rte(uint);
788303233Sdimfloat __ovld __cnfn convert_float_rtz(uint);
789303233Sdimfloat __ovld __cnfn convert_float_rtp(uint);
790303233Sdimfloat __ovld __cnfn convert_float_rtn(uint);
791303233Sdimfloat __ovld __cnfn convert_float(uint);
792303233Sdimfloat __ovld __cnfn convert_float_rte(long);
793303233Sdimfloat __ovld __cnfn convert_float_rtz(long);
794303233Sdimfloat __ovld __cnfn convert_float_rtp(long);
795303233Sdimfloat __ovld __cnfn convert_float_rtn(long);
796303233Sdimfloat __ovld __cnfn convert_float(long);
797303233Sdimfloat __ovld __cnfn convert_float_rte(ulong);
798303233Sdimfloat __ovld __cnfn convert_float_rtz(ulong);
799303233Sdimfloat __ovld __cnfn convert_float_rtp(ulong);
800303233Sdimfloat __ovld __cnfn convert_float_rtn(ulong);
801303233Sdimfloat __ovld __cnfn convert_float(ulong);
802303233Sdimfloat __ovld __cnfn convert_float_rte(float);
803303233Sdimfloat __ovld __cnfn convert_float_rtz(float);
804303233Sdimfloat __ovld __cnfn convert_float_rtp(float);
805303233Sdimfloat __ovld __cnfn convert_float_rtn(float);
806303233Sdimfloat __ovld __cnfn convert_float(float);
807303233Sdimchar2 __ovld __cnfn convert_char2_rte(char2);
808303233Sdimchar2 __ovld __cnfn convert_char2_sat_rte(char2);
809303233Sdimchar2 __ovld __cnfn convert_char2_rtz(char2);
810303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtz(char2);
811303233Sdimchar2 __ovld __cnfn convert_char2_rtp(char2);
812303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtp(char2);
813303233Sdimchar2 __ovld __cnfn convert_char2_rtn(char2);
814303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtn(char2);
815303233Sdimchar2 __ovld __cnfn convert_char2(char2);
816303233Sdimchar2 __ovld __cnfn convert_char2_sat(char2);
817303233Sdimchar2 __ovld __cnfn convert_char2_rte(uchar2);
818303233Sdimchar2 __ovld __cnfn convert_char2_sat_rte(uchar2);
819303233Sdimchar2 __ovld __cnfn convert_char2_rtz(uchar2);
820303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtz(uchar2);
821303233Sdimchar2 __ovld __cnfn convert_char2_rtp(uchar2);
822303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtp(uchar2);
823303233Sdimchar2 __ovld __cnfn convert_char2_rtn(uchar2);
824303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtn(uchar2);
825303233Sdimchar2 __ovld __cnfn convert_char2(uchar2);
826303233Sdimchar2 __ovld __cnfn convert_char2_sat(uchar2);
827303233Sdimchar2 __ovld __cnfn convert_char2_rte(short2);
828303233Sdimchar2 __ovld __cnfn convert_char2_sat_rte(short2);
829303233Sdimchar2 __ovld __cnfn convert_char2_rtz(short2);
830303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtz(short2);
831303233Sdimchar2 __ovld __cnfn convert_char2_rtp(short2);
832303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtp(short2);
833303233Sdimchar2 __ovld __cnfn convert_char2_rtn(short2);
834303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtn(short2);
835303233Sdimchar2 __ovld __cnfn convert_char2(short2);
836303233Sdimchar2 __ovld __cnfn convert_char2_sat(short2);
837303233Sdimchar2 __ovld __cnfn convert_char2_rte(ushort2);
838303233Sdimchar2 __ovld __cnfn convert_char2_sat_rte(ushort2);
839303233Sdimchar2 __ovld __cnfn convert_char2_rtz(ushort2);
840303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtz(ushort2);
841303233Sdimchar2 __ovld __cnfn convert_char2_rtp(ushort2);
842303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtp(ushort2);
843303233Sdimchar2 __ovld __cnfn convert_char2_rtn(ushort2);
844303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtn(ushort2);
845303233Sdimchar2 __ovld __cnfn convert_char2(ushort2);
846303233Sdimchar2 __ovld __cnfn convert_char2_sat(ushort2);
847303233Sdimchar2 __ovld __cnfn convert_char2_rte(int2);
848303233Sdimchar2 __ovld __cnfn convert_char2_sat_rte(int2);
849303233Sdimchar2 __ovld __cnfn convert_char2_rtz(int2);
850303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtz(int2);
851303233Sdimchar2 __ovld __cnfn convert_char2_rtp(int2);
852303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtp(int2);
853303233Sdimchar2 __ovld __cnfn convert_char2_rtn(int2);
854303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtn(int2);
855303233Sdimchar2 __ovld __cnfn convert_char2(int2);
856303233Sdimchar2 __ovld __cnfn convert_char2_sat(int2);
857303233Sdimchar2 __ovld __cnfn convert_char2_rte(uint2);
858303233Sdimchar2 __ovld __cnfn convert_char2_sat_rte(uint2);
859303233Sdimchar2 __ovld __cnfn convert_char2_rtz(uint2);
860303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtz(uint2);
861303233Sdimchar2 __ovld __cnfn convert_char2_rtp(uint2);
862303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtp(uint2);
863303233Sdimchar2 __ovld __cnfn convert_char2_rtn(uint2);
864303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtn(uint2);
865303233Sdimchar2 __ovld __cnfn convert_char2(uint2);
866303233Sdimchar2 __ovld __cnfn convert_char2_sat(uint2);
867303233Sdimchar2 __ovld __cnfn convert_char2_rte(long2);
868303233Sdimchar2 __ovld __cnfn convert_char2_sat_rte(long2);
869303233Sdimchar2 __ovld __cnfn convert_char2_rtz(long2);
870303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtz(long2);
871303233Sdimchar2 __ovld __cnfn convert_char2_rtp(long2);
872303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtp(long2);
873303233Sdimchar2 __ovld __cnfn convert_char2_rtn(long2);
874303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtn(long2);
875303233Sdimchar2 __ovld __cnfn convert_char2(long2);
876303233Sdimchar2 __ovld __cnfn convert_char2_sat(long2);
877303233Sdimchar2 __ovld __cnfn convert_char2_rte(ulong2);
878303233Sdimchar2 __ovld __cnfn convert_char2_sat_rte(ulong2);
879303233Sdimchar2 __ovld __cnfn convert_char2_rtz(ulong2);
880303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtz(ulong2);
881303233Sdimchar2 __ovld __cnfn convert_char2_rtp(ulong2);
882303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtp(ulong2);
883303233Sdimchar2 __ovld __cnfn convert_char2_rtn(ulong2);
884303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtn(ulong2);
885303233Sdimchar2 __ovld __cnfn convert_char2(ulong2);
886303233Sdimchar2 __ovld __cnfn convert_char2_sat(ulong2);
887303233Sdimchar2 __ovld __cnfn convert_char2_rte(float2);
888303233Sdimchar2 __ovld __cnfn convert_char2_sat_rte(float2);
889303233Sdimchar2 __ovld __cnfn convert_char2_rtz(float2);
890303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtz(float2);
891303233Sdimchar2 __ovld __cnfn convert_char2_rtp(float2);
892303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtp(float2);
893303233Sdimchar2 __ovld __cnfn convert_char2_rtn(float2);
894303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtn(float2);
895303233Sdimchar2 __ovld __cnfn convert_char2(float2);
896303233Sdimchar2 __ovld __cnfn convert_char2_sat(float2);
897303233Sdimuchar2 __ovld __cnfn convert_uchar2_rte(char2);
898303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rte(char2);
899303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtz(char2);
900303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtz(char2);
901303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtp(char2);
902303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtp(char2);
903303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtn(char2);
904303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtn(char2);
905303233Sdimuchar2 __ovld __cnfn convert_uchar2(char2);
906303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat(char2);
907303233Sdimuchar2 __ovld __cnfn convert_uchar2_rte(uchar2);
908303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rte(uchar2);
909303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtz(uchar2);
910303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtz(uchar2);
911303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtp(uchar2);
912303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtp(uchar2);
913303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtn(uchar2);
914303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtn(uchar2);
915303233Sdimuchar2 __ovld __cnfn convert_uchar2(uchar2);
916303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat(uchar2);
917303233Sdimuchar2 __ovld __cnfn convert_uchar2_rte(short2);
918303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rte(short2);
919303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtz(short2);
920303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtz(short2);
921303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtp(short2);
922303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtp(short2);
923303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtn(short2);
924303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtn(short2);
925303233Sdimuchar2 __ovld __cnfn convert_uchar2(short2);
926303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat(short2);
927303233Sdimuchar2 __ovld __cnfn convert_uchar2_rte(ushort2);
928303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rte(ushort2);
929303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtz(ushort2);
930303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtz(ushort2);
931303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtp(ushort2);
932303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtp(ushort2);
933303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtn(ushort2);
934303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtn(ushort2);
935303233Sdimuchar2 __ovld __cnfn convert_uchar2(ushort2);
936303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat(ushort2);
937303233Sdimuchar2 __ovld __cnfn convert_uchar2_rte(int2);
938303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rte(int2);
939303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtz(int2);
940303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtz(int2);
941303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtp(int2);
942303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtp(int2);
943303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtn(int2);
944303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtn(int2);
945303233Sdimuchar2 __ovld __cnfn convert_uchar2(int2);
946303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat(int2);
947303233Sdimuchar2 __ovld __cnfn convert_uchar2_rte(uint2);
948303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rte(uint2);
949303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtz(uint2);
950303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtz(uint2);
951303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtp(uint2);
952303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtp(uint2);
953303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtn(uint2);
954303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtn(uint2);
955303233Sdimuchar2 __ovld __cnfn convert_uchar2(uint2);
956303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat(uint2);
957303233Sdimuchar2 __ovld __cnfn convert_uchar2_rte(long2);
958303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rte(long2);
959303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtz(long2);
960303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtz(long2);
961303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtp(long2);
962303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtp(long2);
963303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtn(long2);
964303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtn(long2);
965303233Sdimuchar2 __ovld __cnfn convert_uchar2(long2);
966303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat(long2);
967303233Sdimuchar2 __ovld __cnfn convert_uchar2_rte(ulong2);
968303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rte(ulong2);
969303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtz(ulong2);
970303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtz(ulong2);
971303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtp(ulong2);
972303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtp(ulong2);
973303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtn(ulong2);
974303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtn(ulong2);
975303233Sdimuchar2 __ovld __cnfn convert_uchar2(ulong2);
976303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat(ulong2);
977303233Sdimuchar2 __ovld __cnfn convert_uchar2_rte(float2);
978303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rte(float2);
979303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtz(float2);
980303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtz(float2);
981303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtp(float2);
982303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtp(float2);
983303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtn(float2);
984303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtn(float2);
985303233Sdimuchar2 __ovld __cnfn convert_uchar2(float2);
986303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat(float2);
987303233Sdimshort2 __ovld __cnfn convert_short2_rte(char2);
988303233Sdimshort2 __ovld __cnfn convert_short2_sat_rte(char2);
989303233Sdimshort2 __ovld __cnfn convert_short2_rtz(char2);
990303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtz(char2);
991303233Sdimshort2 __ovld __cnfn convert_short2_rtp(char2);
992303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtp(char2);
993303233Sdimshort2 __ovld __cnfn convert_short2_rtn(char2);
994303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtn(char2);
995303233Sdimshort2 __ovld __cnfn convert_short2(char2);
996303233Sdimshort2 __ovld __cnfn convert_short2_sat(char2);
997303233Sdimshort2 __ovld __cnfn convert_short2_rte(uchar2);
998303233Sdimshort2 __ovld __cnfn convert_short2_sat_rte(uchar2);
999303233Sdimshort2 __ovld __cnfn convert_short2_rtz(uchar2);
1000303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtz(uchar2);
1001303233Sdimshort2 __ovld __cnfn convert_short2_rtp(uchar2);
1002303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtp(uchar2);
1003303233Sdimshort2 __ovld __cnfn convert_short2_rtn(uchar2);
1004303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtn(uchar2);
1005303233Sdimshort2 __ovld __cnfn convert_short2(uchar2);
1006303233Sdimshort2 __ovld __cnfn convert_short2_sat(uchar2);
1007303233Sdimshort2 __ovld __cnfn convert_short2_rte(short2);
1008303233Sdimshort2 __ovld __cnfn convert_short2_sat_rte(short2);
1009303233Sdimshort2 __ovld __cnfn convert_short2_rtz(short2);
1010303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtz(short2);
1011303233Sdimshort2 __ovld __cnfn convert_short2_rtp(short2);
1012303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtp(short2);
1013303233Sdimshort2 __ovld __cnfn convert_short2_rtn(short2);
1014303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtn(short2);
1015303233Sdimshort2 __ovld __cnfn convert_short2(short2);
1016303233Sdimshort2 __ovld __cnfn convert_short2_sat(short2);
1017303233Sdimshort2 __ovld __cnfn convert_short2_rte(ushort2);
1018303233Sdimshort2 __ovld __cnfn convert_short2_sat_rte(ushort2);
1019303233Sdimshort2 __ovld __cnfn convert_short2_rtz(ushort2);
1020303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtz(ushort2);
1021303233Sdimshort2 __ovld __cnfn convert_short2_rtp(ushort2);
1022303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtp(ushort2);
1023303233Sdimshort2 __ovld __cnfn convert_short2_rtn(ushort2);
1024303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtn(ushort2);
1025303233Sdimshort2 __ovld __cnfn convert_short2(ushort2);
1026303233Sdimshort2 __ovld __cnfn convert_short2_sat(ushort2);
1027303233Sdimshort2 __ovld __cnfn convert_short2_rte(int2);
1028303233Sdimshort2 __ovld __cnfn convert_short2_sat_rte(int2);
1029303233Sdimshort2 __ovld __cnfn convert_short2_rtz(int2);
1030303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtz(int2);
1031303233Sdimshort2 __ovld __cnfn convert_short2_rtp(int2);
1032303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtp(int2);
1033303233Sdimshort2 __ovld __cnfn convert_short2_rtn(int2);
1034303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtn(int2);
1035303233Sdimshort2 __ovld __cnfn convert_short2(int2);
1036303233Sdimshort2 __ovld __cnfn convert_short2_sat(int2);
1037303233Sdimshort2 __ovld __cnfn convert_short2_rte(uint2);
1038303233Sdimshort2 __ovld __cnfn convert_short2_sat_rte(uint2);
1039303233Sdimshort2 __ovld __cnfn convert_short2_rtz(uint2);
1040303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtz(uint2);
1041303233Sdimshort2 __ovld __cnfn convert_short2_rtp(uint2);
1042303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtp(uint2);
1043303233Sdimshort2 __ovld __cnfn convert_short2_rtn(uint2);
1044303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtn(uint2);
1045303233Sdimshort2 __ovld __cnfn convert_short2(uint2);
1046303233Sdimshort2 __ovld __cnfn convert_short2_sat(uint2);
1047303233Sdimshort2 __ovld __cnfn convert_short2_rte(long2);
1048303233Sdimshort2 __ovld __cnfn convert_short2_sat_rte(long2);
1049303233Sdimshort2 __ovld __cnfn convert_short2_rtz(long2);
1050303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtz(long2);
1051303233Sdimshort2 __ovld __cnfn convert_short2_rtp(long2);
1052303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtp(long2);
1053303233Sdimshort2 __ovld __cnfn convert_short2_rtn(long2);
1054303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtn(long2);
1055303233Sdimshort2 __ovld __cnfn convert_short2(long2);
1056303233Sdimshort2 __ovld __cnfn convert_short2_sat(long2);
1057303233Sdimshort2 __ovld __cnfn convert_short2_rte(ulong2);
1058303233Sdimshort2 __ovld __cnfn convert_short2_sat_rte(ulong2);
1059303233Sdimshort2 __ovld __cnfn convert_short2_rtz(ulong2);
1060303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtz(ulong2);
1061303233Sdimshort2 __ovld __cnfn convert_short2_rtp(ulong2);
1062303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtp(ulong2);
1063303233Sdimshort2 __ovld __cnfn convert_short2_rtn(ulong2);
1064303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtn(ulong2);
1065303233Sdimshort2 __ovld __cnfn convert_short2(ulong2);
1066303233Sdimshort2 __ovld __cnfn convert_short2_sat(ulong2);
1067303233Sdimshort2 __ovld __cnfn convert_short2_rte(float2);
1068303233Sdimshort2 __ovld __cnfn convert_short2_sat_rte(float2);
1069303233Sdimshort2 __ovld __cnfn convert_short2_rtz(float2);
1070303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtz(float2);
1071303233Sdimshort2 __ovld __cnfn convert_short2_rtp(float2);
1072303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtp(float2);
1073303233Sdimshort2 __ovld __cnfn convert_short2_rtn(float2);
1074303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtn(float2);
1075303233Sdimshort2 __ovld __cnfn convert_short2(float2);
1076303233Sdimshort2 __ovld __cnfn convert_short2_sat(float2);
1077303233Sdimushort2 __ovld __cnfn convert_ushort2_rte(char2);
1078303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rte(char2);
1079303233Sdimushort2 __ovld __cnfn convert_ushort2_rtz(char2);
1080303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtz(char2);
1081303233Sdimushort2 __ovld __cnfn convert_ushort2_rtp(char2);
1082303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtp(char2);
1083303233Sdimushort2 __ovld __cnfn convert_ushort2_rtn(char2);
1084303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtn(char2);
1085303233Sdimushort2 __ovld __cnfn convert_ushort2(char2);
1086303233Sdimushort2 __ovld __cnfn convert_ushort2_sat(char2);
1087303233Sdimushort2 __ovld __cnfn convert_ushort2_rte(uchar2);
1088303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rte(uchar2);
1089303233Sdimushort2 __ovld __cnfn convert_ushort2_rtz(uchar2);
1090303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtz(uchar2);
1091303233Sdimushort2 __ovld __cnfn convert_ushort2_rtp(uchar2);
1092303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtp(uchar2);
1093303233Sdimushort2 __ovld __cnfn convert_ushort2_rtn(uchar2);
1094303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtn(uchar2);
1095303233Sdimushort2 __ovld __cnfn convert_ushort2(uchar2);
1096303233Sdimushort2 __ovld __cnfn convert_ushort2_sat(uchar2);
1097303233Sdimushort2 __ovld __cnfn convert_ushort2_rte(short2);
1098303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rte(short2);
1099303233Sdimushort2 __ovld __cnfn convert_ushort2_rtz(short2);
1100303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtz(short2);
1101303233Sdimushort2 __ovld __cnfn convert_ushort2_rtp(short2);
1102303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtp(short2);
1103303233Sdimushort2 __ovld __cnfn convert_ushort2_rtn(short2);
1104303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtn(short2);
1105303233Sdimushort2 __ovld __cnfn convert_ushort2(short2);
1106303233Sdimushort2 __ovld __cnfn convert_ushort2_sat(short2);
1107303233Sdimushort2 __ovld __cnfn convert_ushort2_rte(ushort2);
1108303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rte(ushort2);
1109303233Sdimushort2 __ovld __cnfn convert_ushort2_rtz(ushort2);
1110303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtz(ushort2);
1111303233Sdimushort2 __ovld __cnfn convert_ushort2_rtp(ushort2);
1112303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtp(ushort2);
1113303233Sdimushort2 __ovld __cnfn convert_ushort2_rtn(ushort2);
1114303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtn(ushort2);
1115303233Sdimushort2 __ovld __cnfn convert_ushort2(ushort2);
1116303233Sdimushort2 __ovld __cnfn convert_ushort2_sat(ushort2);
1117303233Sdimushort2 __ovld __cnfn convert_ushort2_rte(int2);
1118303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rte(int2);
1119303233Sdimushort2 __ovld __cnfn convert_ushort2_rtz(int2);
1120303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtz(int2);
1121303233Sdimushort2 __ovld __cnfn convert_ushort2_rtp(int2);
1122303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtp(int2);
1123303233Sdimushort2 __ovld __cnfn convert_ushort2_rtn(int2);
1124303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtn(int2);
1125303233Sdimushort2 __ovld __cnfn convert_ushort2(int2);
1126303233Sdimushort2 __ovld __cnfn convert_ushort2_sat(int2);
1127303233Sdimushort2 __ovld __cnfn convert_ushort2_rte(uint2);
1128303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rte(uint2);
1129303233Sdimushort2 __ovld __cnfn convert_ushort2_rtz(uint2);
1130303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtz(uint2);
1131303233Sdimushort2 __ovld __cnfn convert_ushort2_rtp(uint2);
1132303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtp(uint2);
1133303233Sdimushort2 __ovld __cnfn convert_ushort2_rtn(uint2);
1134303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtn(uint2);
1135303233Sdimushort2 __ovld __cnfn convert_ushort2(uint2);
1136303233Sdimushort2 __ovld __cnfn convert_ushort2_sat(uint2);
1137303233Sdimushort2 __ovld __cnfn convert_ushort2_rte(long2);
1138303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rte(long2);
1139303233Sdimushort2 __ovld __cnfn convert_ushort2_rtz(long2);
1140303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtz(long2);
1141303233Sdimushort2 __ovld __cnfn convert_ushort2_rtp(long2);
1142303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtp(long2);
1143303233Sdimushort2 __ovld __cnfn convert_ushort2_rtn(long2);
1144303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtn(long2);
1145303233Sdimushort2 __ovld __cnfn convert_ushort2(long2);
1146303233Sdimushort2 __ovld __cnfn convert_ushort2_sat(long2);
1147303233Sdimushort2 __ovld __cnfn convert_ushort2_rte(ulong2);
1148303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rte(ulong2);
1149303233Sdimushort2 __ovld __cnfn convert_ushort2_rtz(ulong2);
1150303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtz(ulong2);
1151303233Sdimushort2 __ovld __cnfn convert_ushort2_rtp(ulong2);
1152303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtp(ulong2);
1153303233Sdimushort2 __ovld __cnfn convert_ushort2_rtn(ulong2);
1154303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtn(ulong2);
1155303233Sdimushort2 __ovld __cnfn convert_ushort2(ulong2);
1156303233Sdimushort2 __ovld __cnfn convert_ushort2_sat(ulong2);
1157303233Sdimushort2 __ovld __cnfn convert_ushort2_rte(float2);
1158303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rte(float2);
1159303233Sdimushort2 __ovld __cnfn convert_ushort2_rtz(float2);
1160303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtz(float2);
1161303233Sdimushort2 __ovld __cnfn convert_ushort2_rtp(float2);
1162303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtp(float2);
1163303233Sdimushort2 __ovld __cnfn convert_ushort2_rtn(float2);
1164303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtn(float2);
1165303233Sdimushort2 __ovld __cnfn convert_ushort2(float2);
1166303233Sdimushort2 __ovld __cnfn convert_ushort2_sat(float2);
1167303233Sdimint2 __ovld __cnfn convert_int2_rte(char2);
1168303233Sdimint2 __ovld __cnfn convert_int2_sat_rte(char2);
1169303233Sdimint2 __ovld __cnfn convert_int2_rtz(char2);
1170303233Sdimint2 __ovld __cnfn convert_int2_sat_rtz(char2);
1171303233Sdimint2 __ovld __cnfn convert_int2_rtp(char2);
1172303233Sdimint2 __ovld __cnfn convert_int2_sat_rtp(char2);
1173303233Sdimint2 __ovld __cnfn convert_int2_rtn(char2);
1174303233Sdimint2 __ovld __cnfn convert_int2_sat_rtn(char2);
1175303233Sdimint2 __ovld __cnfn convert_int2(char2);
1176303233Sdimint2 __ovld __cnfn convert_int2_sat(char2);
1177303233Sdimint2 __ovld __cnfn convert_int2_rte(uchar2);
1178303233Sdimint2 __ovld __cnfn convert_int2_sat_rte(uchar2);
1179303233Sdimint2 __ovld __cnfn convert_int2_rtz(uchar2);
1180303233Sdimint2 __ovld __cnfn convert_int2_sat_rtz(uchar2);
1181303233Sdimint2 __ovld __cnfn convert_int2_rtp(uchar2);
1182303233Sdimint2 __ovld __cnfn convert_int2_sat_rtp(uchar2);
1183303233Sdimint2 __ovld __cnfn convert_int2_rtn(uchar2);
1184303233Sdimint2 __ovld __cnfn convert_int2_sat_rtn(uchar2);
1185303233Sdimint2 __ovld __cnfn convert_int2(uchar2);
1186303233Sdimint2 __ovld __cnfn convert_int2_sat(uchar2);
1187303233Sdimint2 __ovld __cnfn convert_int2_rte(short2);
1188303233Sdimint2 __ovld __cnfn convert_int2_sat_rte(short2);
1189303233Sdimint2 __ovld __cnfn convert_int2_rtz(short2);
1190303233Sdimint2 __ovld __cnfn convert_int2_sat_rtz(short2);
1191303233Sdimint2 __ovld __cnfn convert_int2_rtp(short2);
1192303233Sdimint2 __ovld __cnfn convert_int2_sat_rtp(short2);
1193303233Sdimint2 __ovld __cnfn convert_int2_rtn(short2);
1194303233Sdimint2 __ovld __cnfn convert_int2_sat_rtn(short2);
1195303233Sdimint2 __ovld __cnfn convert_int2(short2);
1196303233Sdimint2 __ovld __cnfn convert_int2_sat(short2);
1197303233Sdimint2 __ovld __cnfn convert_int2_rte(ushort2);
1198303233Sdimint2 __ovld __cnfn convert_int2_sat_rte(ushort2);
1199303233Sdimint2 __ovld __cnfn convert_int2_rtz(ushort2);
1200303233Sdimint2 __ovld __cnfn convert_int2_sat_rtz(ushort2);
1201303233Sdimint2 __ovld __cnfn convert_int2_rtp(ushort2);
1202303233Sdimint2 __ovld __cnfn convert_int2_sat_rtp(ushort2);
1203303233Sdimint2 __ovld __cnfn convert_int2_rtn(ushort2);
1204303233Sdimint2 __ovld __cnfn convert_int2_sat_rtn(ushort2);
1205303233Sdimint2 __ovld __cnfn convert_int2(ushort2);
1206303233Sdimint2 __ovld __cnfn convert_int2_sat(ushort2);
1207303233Sdimint2 __ovld __cnfn convert_int2_rte(int2);
1208303233Sdimint2 __ovld __cnfn convert_int2_sat_rte(int2);
1209303233Sdimint2 __ovld __cnfn convert_int2_rtz(int2);
1210303233Sdimint2 __ovld __cnfn convert_int2_sat_rtz(int2);
1211303233Sdimint2 __ovld __cnfn convert_int2_rtp(int2);
1212303233Sdimint2 __ovld __cnfn convert_int2_sat_rtp(int2);
1213303233Sdimint2 __ovld __cnfn convert_int2_rtn(int2);
1214303233Sdimint2 __ovld __cnfn convert_int2_sat_rtn(int2);
1215303233Sdimint2 __ovld __cnfn convert_int2(int2);
1216303233Sdimint2 __ovld __cnfn convert_int2_sat(int2);
1217303233Sdimint2 __ovld __cnfn convert_int2_rte(uint2);
1218303233Sdimint2 __ovld __cnfn convert_int2_sat_rte(uint2);
1219303233Sdimint2 __ovld __cnfn convert_int2_rtz(uint2);
1220303233Sdimint2 __ovld __cnfn convert_int2_sat_rtz(uint2);
1221303233Sdimint2 __ovld __cnfn convert_int2_rtp(uint2);
1222303233Sdimint2 __ovld __cnfn convert_int2_sat_rtp(uint2);
1223303233Sdimint2 __ovld __cnfn convert_int2_rtn(uint2);
1224303233Sdimint2 __ovld __cnfn convert_int2_sat_rtn(uint2);
1225303233Sdimint2 __ovld __cnfn convert_int2(uint2);
1226303233Sdimint2 __ovld __cnfn convert_int2_sat(uint2);
1227303233Sdimint2 __ovld __cnfn convert_int2_rte(long2);
1228303233Sdimint2 __ovld __cnfn convert_int2_sat_rte(long2);
1229303233Sdimint2 __ovld __cnfn convert_int2_rtz(long2);
1230303233Sdimint2 __ovld __cnfn convert_int2_sat_rtz(long2);
1231303233Sdimint2 __ovld __cnfn convert_int2_rtp(long2);
1232303233Sdimint2 __ovld __cnfn convert_int2_sat_rtp(long2);
1233303233Sdimint2 __ovld __cnfn convert_int2_rtn(long2);
1234303233Sdimint2 __ovld __cnfn convert_int2_sat_rtn(long2);
1235303233Sdimint2 __ovld __cnfn convert_int2(long2);
1236303233Sdimint2 __ovld __cnfn convert_int2_sat(long2);
1237303233Sdimint2 __ovld __cnfn convert_int2_rte(ulong2);
1238303233Sdimint2 __ovld __cnfn convert_int2_sat_rte(ulong2);
1239303233Sdimint2 __ovld __cnfn convert_int2_rtz(ulong2);
1240303233Sdimint2 __ovld __cnfn convert_int2_sat_rtz(ulong2);
1241303233Sdimint2 __ovld __cnfn convert_int2_rtp(ulong2);
1242303233Sdimint2 __ovld __cnfn convert_int2_sat_rtp(ulong2);
1243303233Sdimint2 __ovld __cnfn convert_int2_rtn(ulong2);
1244303233Sdimint2 __ovld __cnfn convert_int2_sat_rtn(ulong2);
1245303233Sdimint2 __ovld __cnfn convert_int2(ulong2);
1246303233Sdimint2 __ovld __cnfn convert_int2_sat(ulong2);
1247303233Sdimint2 __ovld __cnfn convert_int2_rte(float2);
1248303233Sdimint2 __ovld __cnfn convert_int2_sat_rte(float2);
1249303233Sdimint2 __ovld __cnfn convert_int2_rtz(float2);
1250303233Sdimint2 __ovld __cnfn convert_int2_sat_rtz(float2);
1251303233Sdimint2 __ovld __cnfn convert_int2_rtp(float2);
1252303233Sdimint2 __ovld __cnfn convert_int2_sat_rtp(float2);
1253303233Sdimint2 __ovld __cnfn convert_int2_rtn(float2);
1254303233Sdimint2 __ovld __cnfn convert_int2_sat_rtn(float2);
1255303233Sdimint2 __ovld __cnfn convert_int2(float2);
1256303233Sdimint2 __ovld __cnfn convert_int2_sat(float2);
1257303233Sdimuint2 __ovld __cnfn convert_uint2_rte(char2);
1258303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rte(char2);
1259303233Sdimuint2 __ovld __cnfn convert_uint2_rtz(char2);
1260303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtz(char2);
1261303233Sdimuint2 __ovld __cnfn convert_uint2_rtp(char2);
1262303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtp(char2);
1263303233Sdimuint2 __ovld __cnfn convert_uint2_rtn(char2);
1264303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtn(char2);
1265303233Sdimuint2 __ovld __cnfn convert_uint2(char2);
1266303233Sdimuint2 __ovld __cnfn convert_uint2_sat(char2);
1267303233Sdimuint2 __ovld __cnfn convert_uint2_rte(uchar2);
1268303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rte(uchar2);
1269303233Sdimuint2 __ovld __cnfn convert_uint2_rtz(uchar2);
1270303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtz(uchar2);
1271303233Sdimuint2 __ovld __cnfn convert_uint2_rtp(uchar2);
1272303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtp(uchar2);
1273303233Sdimuint2 __ovld __cnfn convert_uint2_rtn(uchar2);
1274303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtn(uchar2);
1275303233Sdimuint2 __ovld __cnfn convert_uint2(uchar2);
1276303233Sdimuint2 __ovld __cnfn convert_uint2_sat(uchar2);
1277303233Sdimuint2 __ovld __cnfn convert_uint2_rte(short2);
1278303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rte(short2);
1279303233Sdimuint2 __ovld __cnfn convert_uint2_rtz(short2);
1280303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtz(short2);
1281303233Sdimuint2 __ovld __cnfn convert_uint2_rtp(short2);
1282303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtp(short2);
1283303233Sdimuint2 __ovld __cnfn convert_uint2_rtn(short2);
1284303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtn(short2);
1285303233Sdimuint2 __ovld __cnfn convert_uint2(short2);
1286303233Sdimuint2 __ovld __cnfn convert_uint2_sat(short2);
1287303233Sdimuint2 __ovld __cnfn convert_uint2_rte(ushort2);
1288303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rte(ushort2);
1289303233Sdimuint2 __ovld __cnfn convert_uint2_rtz(ushort2);
1290303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtz(ushort2);
1291303233Sdimuint2 __ovld __cnfn convert_uint2_rtp(ushort2);
1292303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtp(ushort2);
1293303233Sdimuint2 __ovld __cnfn convert_uint2_rtn(ushort2);
1294303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtn(ushort2);
1295303233Sdimuint2 __ovld __cnfn convert_uint2(ushort2);
1296303233Sdimuint2 __ovld __cnfn convert_uint2_sat(ushort2);
1297303233Sdimuint2 __ovld __cnfn convert_uint2_rte(int2);
1298303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rte(int2);
1299303233Sdimuint2 __ovld __cnfn convert_uint2_rtz(int2);
1300303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtz(int2);
1301303233Sdimuint2 __ovld __cnfn convert_uint2_rtp(int2);
1302303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtp(int2);
1303303233Sdimuint2 __ovld __cnfn convert_uint2_rtn(int2);
1304303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtn(int2);
1305303233Sdimuint2 __ovld __cnfn convert_uint2(int2);
1306303233Sdimuint2 __ovld __cnfn convert_uint2_sat(int2);
1307303233Sdimuint2 __ovld __cnfn convert_uint2_rte(uint2);
1308303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rte(uint2);
1309303233Sdimuint2 __ovld __cnfn convert_uint2_rtz(uint2);
1310303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtz(uint2);
1311303233Sdimuint2 __ovld __cnfn convert_uint2_rtp(uint2);
1312303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtp(uint2);
1313303233Sdimuint2 __ovld __cnfn convert_uint2_rtn(uint2);
1314303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtn(uint2);
1315303233Sdimuint2 __ovld __cnfn convert_uint2(uint2);
1316303233Sdimuint2 __ovld __cnfn convert_uint2_sat(uint2);
1317303233Sdimuint2 __ovld __cnfn convert_uint2_rte(long2);
1318303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rte(long2);
1319303233Sdimuint2 __ovld __cnfn convert_uint2_rtz(long2);
1320303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtz(long2);
1321303233Sdimuint2 __ovld __cnfn convert_uint2_rtp(long2);
1322303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtp(long2);
1323303233Sdimuint2 __ovld __cnfn convert_uint2_rtn(long2);
1324303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtn(long2);
1325303233Sdimuint2 __ovld __cnfn convert_uint2(long2);
1326303233Sdimuint2 __ovld __cnfn convert_uint2_sat(long2);
1327303233Sdimuint2 __ovld __cnfn convert_uint2_rte(ulong2);
1328303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rte(ulong2);
1329303233Sdimuint2 __ovld __cnfn convert_uint2_rtz(ulong2);
1330303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtz(ulong2);
1331303233Sdimuint2 __ovld __cnfn convert_uint2_rtp(ulong2);
1332303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtp(ulong2);
1333303233Sdimuint2 __ovld __cnfn convert_uint2_rtn(ulong2);
1334303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtn(ulong2);
1335303233Sdimuint2 __ovld __cnfn convert_uint2(ulong2);
1336303233Sdimuint2 __ovld __cnfn convert_uint2_sat(ulong2);
1337303233Sdimuint2 __ovld __cnfn convert_uint2_rte(float2);
1338303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rte(float2);
1339303233Sdimuint2 __ovld __cnfn convert_uint2_rtz(float2);
1340303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtz(float2);
1341303233Sdimuint2 __ovld __cnfn convert_uint2_rtp(float2);
1342303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtp(float2);
1343303233Sdimuint2 __ovld __cnfn convert_uint2_rtn(float2);
1344303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtn(float2);
1345303233Sdimuint2 __ovld __cnfn convert_uint2(float2);
1346303233Sdimuint2 __ovld __cnfn convert_uint2_sat(float2);
1347303233Sdimlong2 __ovld __cnfn convert_long2_rte(char2);
1348303233Sdimlong2 __ovld __cnfn convert_long2_sat_rte(char2);
1349303233Sdimlong2 __ovld __cnfn convert_long2_rtz(char2);
1350303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtz(char2);
1351303233Sdimlong2 __ovld __cnfn convert_long2_rtp(char2);
1352303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtp(char2);
1353303233Sdimlong2 __ovld __cnfn convert_long2_rtn(char2);
1354303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtn(char2);
1355303233Sdimlong2 __ovld __cnfn convert_long2(char2);
1356303233Sdimlong2 __ovld __cnfn convert_long2_sat(char2);
1357303233Sdimlong2 __ovld __cnfn convert_long2_rte(uchar2);
1358303233Sdimlong2 __ovld __cnfn convert_long2_sat_rte(uchar2);
1359303233Sdimlong2 __ovld __cnfn convert_long2_rtz(uchar2);
1360303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtz(uchar2);
1361303233Sdimlong2 __ovld __cnfn convert_long2_rtp(uchar2);
1362303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtp(uchar2);
1363303233Sdimlong2 __ovld __cnfn convert_long2_rtn(uchar2);
1364303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtn(uchar2);
1365303233Sdimlong2 __ovld __cnfn convert_long2(uchar2);
1366303233Sdimlong2 __ovld __cnfn convert_long2_sat(uchar2);
1367303233Sdimlong2 __ovld __cnfn convert_long2_rte(short2);
1368303233Sdimlong2 __ovld __cnfn convert_long2_sat_rte(short2);
1369303233Sdimlong2 __ovld __cnfn convert_long2_rtz(short2);
1370303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtz(short2);
1371303233Sdimlong2 __ovld __cnfn convert_long2_rtp(short2);
1372303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtp(short2);
1373303233Sdimlong2 __ovld __cnfn convert_long2_rtn(short2);
1374303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtn(short2);
1375303233Sdimlong2 __ovld __cnfn convert_long2(short2);
1376303233Sdimlong2 __ovld __cnfn convert_long2_sat(short2);
1377303233Sdimlong2 __ovld __cnfn convert_long2_rte(ushort2);
1378303233Sdimlong2 __ovld __cnfn convert_long2_sat_rte(ushort2);
1379303233Sdimlong2 __ovld __cnfn convert_long2_rtz(ushort2);
1380303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtz(ushort2);
1381303233Sdimlong2 __ovld __cnfn convert_long2_rtp(ushort2);
1382303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtp(ushort2);
1383303233Sdimlong2 __ovld __cnfn convert_long2_rtn(ushort2);
1384303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtn(ushort2);
1385303233Sdimlong2 __ovld __cnfn convert_long2(ushort2);
1386303233Sdimlong2 __ovld __cnfn convert_long2_sat(ushort2);
1387303233Sdimlong2 __ovld __cnfn convert_long2_rte(int2);
1388303233Sdimlong2 __ovld __cnfn convert_long2_sat_rte(int2);
1389303233Sdimlong2 __ovld __cnfn convert_long2_rtz(int2);
1390303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtz(int2);
1391303233Sdimlong2 __ovld __cnfn convert_long2_rtp(int2);
1392303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtp(int2);
1393303233Sdimlong2 __ovld __cnfn convert_long2_rtn(int2);
1394303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtn(int2);
1395303233Sdimlong2 __ovld __cnfn convert_long2(int2);
1396303233Sdimlong2 __ovld __cnfn convert_long2_sat(int2);
1397303233Sdimlong2 __ovld __cnfn convert_long2_rte(uint2);
1398303233Sdimlong2 __ovld __cnfn convert_long2_sat_rte(uint2);
1399303233Sdimlong2 __ovld __cnfn convert_long2_rtz(uint2);
1400303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtz(uint2);
1401303233Sdimlong2 __ovld __cnfn convert_long2_rtp(uint2);
1402303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtp(uint2);
1403303233Sdimlong2 __ovld __cnfn convert_long2_rtn(uint2);
1404303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtn(uint2);
1405303233Sdimlong2 __ovld __cnfn convert_long2(uint2);
1406303233Sdimlong2 __ovld __cnfn convert_long2_sat(uint2);
1407303233Sdimlong2 __ovld __cnfn convert_long2_rte(long2);
1408303233Sdimlong2 __ovld __cnfn convert_long2_sat_rte(long2);
1409303233Sdimlong2 __ovld __cnfn convert_long2_rtz(long2);
1410303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtz(long2);
1411303233Sdimlong2 __ovld __cnfn convert_long2_rtp(long2);
1412303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtp(long2);
1413303233Sdimlong2 __ovld __cnfn convert_long2_rtn(long2);
1414303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtn(long2);
1415303233Sdimlong2 __ovld __cnfn convert_long2(long2);
1416303233Sdimlong2 __ovld __cnfn convert_long2_sat(long2);
1417303233Sdimlong2 __ovld __cnfn convert_long2_rte(ulong2);
1418303233Sdimlong2 __ovld __cnfn convert_long2_sat_rte(ulong2);
1419303233Sdimlong2 __ovld __cnfn convert_long2_rtz(ulong2);
1420303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtz(ulong2);
1421303233Sdimlong2 __ovld __cnfn convert_long2_rtp(ulong2);
1422303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtp(ulong2);
1423303233Sdimlong2 __ovld __cnfn convert_long2_rtn(ulong2);
1424303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtn(ulong2);
1425303233Sdimlong2 __ovld __cnfn convert_long2(ulong2);
1426303233Sdimlong2 __ovld __cnfn convert_long2_sat(ulong2);
1427303233Sdimlong2 __ovld __cnfn convert_long2_rte(float2);
1428303233Sdimlong2 __ovld __cnfn convert_long2_sat_rte(float2);
1429303233Sdimlong2 __ovld __cnfn convert_long2_rtz(float2);
1430303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtz(float2);
1431303233Sdimlong2 __ovld __cnfn convert_long2_rtp(float2);
1432303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtp(float2);
1433303233Sdimlong2 __ovld __cnfn convert_long2_rtn(float2);
1434303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtn(float2);
1435303233Sdimlong2 __ovld __cnfn convert_long2(float2);
1436303233Sdimlong2 __ovld __cnfn convert_long2_sat(float2);
1437303233Sdimulong2 __ovld __cnfn convert_ulong2_rte(char2);
1438303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rte(char2);
1439303233Sdimulong2 __ovld __cnfn convert_ulong2_rtz(char2);
1440303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtz(char2);
1441303233Sdimulong2 __ovld __cnfn convert_ulong2_rtp(char2);
1442303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtp(char2);
1443303233Sdimulong2 __ovld __cnfn convert_ulong2_rtn(char2);
1444303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtn(char2);
1445303233Sdimulong2 __ovld __cnfn convert_ulong2(char2);
1446303233Sdimulong2 __ovld __cnfn convert_ulong2_sat(char2);
1447303233Sdimulong2 __ovld __cnfn convert_ulong2_rte(uchar2);
1448303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rte(uchar2);
1449303233Sdimulong2 __ovld __cnfn convert_ulong2_rtz(uchar2);
1450303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtz(uchar2);
1451303233Sdimulong2 __ovld __cnfn convert_ulong2_rtp(uchar2);
1452303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtp(uchar2);
1453303233Sdimulong2 __ovld __cnfn convert_ulong2_rtn(uchar2);
1454303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtn(uchar2);
1455303233Sdimulong2 __ovld __cnfn convert_ulong2(uchar2);
1456303233Sdimulong2 __ovld __cnfn convert_ulong2_sat(uchar2);
1457303233Sdimulong2 __ovld __cnfn convert_ulong2_rte(short2);
1458303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rte(short2);
1459303233Sdimulong2 __ovld __cnfn convert_ulong2_rtz(short2);
1460303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtz(short2);
1461303233Sdimulong2 __ovld __cnfn convert_ulong2_rtp(short2);
1462303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtp(short2);
1463303233Sdimulong2 __ovld __cnfn convert_ulong2_rtn(short2);
1464303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtn(short2);
1465303233Sdimulong2 __ovld __cnfn convert_ulong2(short2);
1466303233Sdimulong2 __ovld __cnfn convert_ulong2_sat(short2);
1467303233Sdimulong2 __ovld __cnfn convert_ulong2_rte(ushort2);
1468303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rte(ushort2);
1469303233Sdimulong2 __ovld __cnfn convert_ulong2_rtz(ushort2);
1470303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtz(ushort2);
1471303233Sdimulong2 __ovld __cnfn convert_ulong2_rtp(ushort2);
1472303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtp(ushort2);
1473303233Sdimulong2 __ovld __cnfn convert_ulong2_rtn(ushort2);
1474303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtn(ushort2);
1475303233Sdimulong2 __ovld __cnfn convert_ulong2(ushort2);
1476303233Sdimulong2 __ovld __cnfn convert_ulong2_sat(ushort2);
1477303233Sdimulong2 __ovld __cnfn convert_ulong2_rte(int2);
1478303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rte(int2);
1479303233Sdimulong2 __ovld __cnfn convert_ulong2_rtz(int2);
1480303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtz(int2);
1481303233Sdimulong2 __ovld __cnfn convert_ulong2_rtp(int2);
1482303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtp(int2);
1483303233Sdimulong2 __ovld __cnfn convert_ulong2_rtn(int2);
1484303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtn(int2);
1485303233Sdimulong2 __ovld __cnfn convert_ulong2(int2);
1486303233Sdimulong2 __ovld __cnfn convert_ulong2_sat(int2);
1487303233Sdimulong2 __ovld __cnfn convert_ulong2_rte(uint2);
1488303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rte(uint2);
1489303233Sdimulong2 __ovld __cnfn convert_ulong2_rtz(uint2);
1490303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtz(uint2);
1491303233Sdimulong2 __ovld __cnfn convert_ulong2_rtp(uint2);
1492303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtp(uint2);
1493303233Sdimulong2 __ovld __cnfn convert_ulong2_rtn(uint2);
1494303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtn(uint2);
1495303233Sdimulong2 __ovld __cnfn convert_ulong2(uint2);
1496303233Sdimulong2 __ovld __cnfn convert_ulong2_sat(uint2);
1497303233Sdimulong2 __ovld __cnfn convert_ulong2_rte(long2);
1498303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rte(long2);
1499303233Sdimulong2 __ovld __cnfn convert_ulong2_rtz(long2);
1500303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtz(long2);
1501303233Sdimulong2 __ovld __cnfn convert_ulong2_rtp(long2);
1502303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtp(long2);
1503303233Sdimulong2 __ovld __cnfn convert_ulong2_rtn(long2);
1504303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtn(long2);
1505303233Sdimulong2 __ovld __cnfn convert_ulong2(long2);
1506303233Sdimulong2 __ovld __cnfn convert_ulong2_sat(long2);
1507303233Sdimulong2 __ovld __cnfn convert_ulong2_rte(ulong2);
1508303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rte(ulong2);
1509303233Sdimulong2 __ovld __cnfn convert_ulong2_rtz(ulong2);
1510303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtz(ulong2);
1511303233Sdimulong2 __ovld __cnfn convert_ulong2_rtp(ulong2);
1512303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtp(ulong2);
1513303233Sdimulong2 __ovld __cnfn convert_ulong2_rtn(ulong2);
1514303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtn(ulong2);
1515303233Sdimulong2 __ovld __cnfn convert_ulong2(ulong2);
1516303233Sdimulong2 __ovld __cnfn convert_ulong2_sat(ulong2);
1517303233Sdimulong2 __ovld __cnfn convert_ulong2_rte(float2);
1518303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rte(float2);
1519303233Sdimulong2 __ovld __cnfn convert_ulong2_rtz(float2);
1520303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtz(float2);
1521303233Sdimulong2 __ovld __cnfn convert_ulong2_rtp(float2);
1522303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtp(float2);
1523303233Sdimulong2 __ovld __cnfn convert_ulong2_rtn(float2);
1524303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtn(float2);
1525303233Sdimulong2 __ovld __cnfn convert_ulong2(float2);
1526303233Sdimulong2 __ovld __cnfn convert_ulong2_sat(float2);
1527303233Sdimfloat2 __ovld __cnfn convert_float2_rte(char2);
1528303233Sdimfloat2 __ovld __cnfn convert_float2_rtz(char2);
1529303233Sdimfloat2 __ovld __cnfn convert_float2_rtp(char2);
1530303233Sdimfloat2 __ovld __cnfn convert_float2_rtn(char2);
1531303233Sdimfloat2 __ovld __cnfn convert_float2(char2);
1532303233Sdimfloat2 __ovld __cnfn convert_float2_rte(uchar2);
1533303233Sdimfloat2 __ovld __cnfn convert_float2_rtz(uchar2);
1534303233Sdimfloat2 __ovld __cnfn convert_float2_rtp(uchar2);
1535303233Sdimfloat2 __ovld __cnfn convert_float2_rtn(uchar2);
1536303233Sdimfloat2 __ovld __cnfn convert_float2(uchar2);
1537303233Sdimfloat2 __ovld __cnfn convert_float2_rte(short2);
1538303233Sdimfloat2 __ovld __cnfn convert_float2_rtz(short2);
1539303233Sdimfloat2 __ovld __cnfn convert_float2_rtp(short2);
1540303233Sdimfloat2 __ovld __cnfn convert_float2_rtn(short2);
1541303233Sdimfloat2 __ovld __cnfn convert_float2(short2);
1542303233Sdimfloat2 __ovld __cnfn convert_float2_rte(ushort2);
1543303233Sdimfloat2 __ovld __cnfn convert_float2_rtz(ushort2);
1544303233Sdimfloat2 __ovld __cnfn convert_float2_rtp(ushort2);
1545303233Sdimfloat2 __ovld __cnfn convert_float2_rtn(ushort2);
1546303233Sdimfloat2 __ovld __cnfn convert_float2(ushort2);
1547303233Sdimfloat2 __ovld __cnfn convert_float2_rte(int2);
1548303233Sdimfloat2 __ovld __cnfn convert_float2_rtz(int2);
1549303233Sdimfloat2 __ovld __cnfn convert_float2_rtp(int2);
1550303233Sdimfloat2 __ovld __cnfn convert_float2_rtn(int2);
1551303233Sdimfloat2 __ovld __cnfn convert_float2(int2);
1552303233Sdimfloat2 __ovld __cnfn convert_float2_rte(uint2);
1553303233Sdimfloat2 __ovld __cnfn convert_float2_rtz(uint2);
1554303233Sdimfloat2 __ovld __cnfn convert_float2_rtp(uint2);
1555303233Sdimfloat2 __ovld __cnfn convert_float2_rtn(uint2);
1556303233Sdimfloat2 __ovld __cnfn convert_float2(uint2);
1557303233Sdimfloat2 __ovld __cnfn convert_float2_rte(long2);
1558303233Sdimfloat2 __ovld __cnfn convert_float2_rtz(long2);
1559303233Sdimfloat2 __ovld __cnfn convert_float2_rtp(long2);
1560303233Sdimfloat2 __ovld __cnfn convert_float2_rtn(long2);
1561303233Sdimfloat2 __ovld __cnfn convert_float2(long2);
1562303233Sdimfloat2 __ovld __cnfn convert_float2_rte(ulong2);
1563303233Sdimfloat2 __ovld __cnfn convert_float2_rtz(ulong2);
1564303233Sdimfloat2 __ovld __cnfn convert_float2_rtp(ulong2);
1565303233Sdimfloat2 __ovld __cnfn convert_float2_rtn(ulong2);
1566303233Sdimfloat2 __ovld __cnfn convert_float2(ulong2);
1567303233Sdimfloat2 __ovld __cnfn convert_float2_rte(float2);
1568303233Sdimfloat2 __ovld __cnfn convert_float2_rtz(float2);
1569303233Sdimfloat2 __ovld __cnfn convert_float2_rtp(float2);
1570303233Sdimfloat2 __ovld __cnfn convert_float2_rtn(float2);
1571303233Sdimfloat2 __ovld __cnfn convert_float2(float2);
1572303233Sdimchar3 __ovld __cnfn convert_char3_rte(char3);
1573303233Sdimchar3 __ovld __cnfn convert_char3_sat_rte(char3);
1574303233Sdimchar3 __ovld __cnfn convert_char3_rtz(char3);
1575303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtz(char3);
1576303233Sdimchar3 __ovld __cnfn convert_char3_rtp(char3);
1577303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtp(char3);
1578303233Sdimchar3 __ovld __cnfn convert_char3_rtn(char3);
1579303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtn(char3);
1580303233Sdimchar3 __ovld __cnfn convert_char3(char3);
1581303233Sdimchar3 __ovld __cnfn convert_char3_sat(char3);
1582303233Sdimchar3 __ovld __cnfn convert_char3_rte(uchar3);
1583303233Sdimchar3 __ovld __cnfn convert_char3_sat_rte(uchar3);
1584303233Sdimchar3 __ovld __cnfn convert_char3_rtz(uchar3);
1585303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtz(uchar3);
1586303233Sdimchar3 __ovld __cnfn convert_char3_rtp(uchar3);
1587303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtp(uchar3);
1588303233Sdimchar3 __ovld __cnfn convert_char3_rtn(uchar3);
1589303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtn(uchar3);
1590303233Sdimchar3 __ovld __cnfn convert_char3(uchar3);
1591303233Sdimchar3 __ovld __cnfn convert_char3_sat(uchar3);
1592303233Sdimchar3 __ovld __cnfn convert_char3_rte(short3);
1593303233Sdimchar3 __ovld __cnfn convert_char3_sat_rte(short3);
1594303233Sdimchar3 __ovld __cnfn convert_char3_rtz(short3);
1595303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtz(short3);
1596303233Sdimchar3 __ovld __cnfn convert_char3_rtp(short3);
1597303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtp(short3);
1598303233Sdimchar3 __ovld __cnfn convert_char3_rtn(short3);
1599303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtn(short3);
1600303233Sdimchar3 __ovld __cnfn convert_char3(short3);
1601303233Sdimchar3 __ovld __cnfn convert_char3_sat(short3);
1602303233Sdimchar3 __ovld __cnfn convert_char3_rte(ushort3);
1603303233Sdimchar3 __ovld __cnfn convert_char3_sat_rte(ushort3);
1604303233Sdimchar3 __ovld __cnfn convert_char3_rtz(ushort3);
1605303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtz(ushort3);
1606303233Sdimchar3 __ovld __cnfn convert_char3_rtp(ushort3);
1607303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtp(ushort3);
1608303233Sdimchar3 __ovld __cnfn convert_char3_rtn(ushort3);
1609303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtn(ushort3);
1610303233Sdimchar3 __ovld __cnfn convert_char3(ushort3);
1611303233Sdimchar3 __ovld __cnfn convert_char3_sat(ushort3);
1612303233Sdimchar3 __ovld __cnfn convert_char3_rte(int3);
1613303233Sdimchar3 __ovld __cnfn convert_char3_sat_rte(int3);
1614303233Sdimchar3 __ovld __cnfn convert_char3_rtz(int3);
1615303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtz(int3);
1616303233Sdimchar3 __ovld __cnfn convert_char3_rtp(int3);
1617303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtp(int3);
1618303233Sdimchar3 __ovld __cnfn convert_char3_rtn(int3);
1619303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtn(int3);
1620303233Sdimchar3 __ovld __cnfn convert_char3(int3);
1621303233Sdimchar3 __ovld __cnfn convert_char3_sat(int3);
1622303233Sdimchar3 __ovld __cnfn convert_char3_rte(uint3);
1623303233Sdimchar3 __ovld __cnfn convert_char3_sat_rte(uint3);
1624303233Sdimchar3 __ovld __cnfn convert_char3_rtz(uint3);
1625303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtz(uint3);
1626303233Sdimchar3 __ovld __cnfn convert_char3_rtp(uint3);
1627303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtp(uint3);
1628303233Sdimchar3 __ovld __cnfn convert_char3_rtn(uint3);
1629303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtn(uint3);
1630303233Sdimchar3 __ovld __cnfn convert_char3(uint3);
1631303233Sdimchar3 __ovld __cnfn convert_char3_sat(uint3);
1632303233Sdimchar3 __ovld __cnfn convert_char3_rte(long3);
1633303233Sdimchar3 __ovld __cnfn convert_char3_sat_rte(long3);
1634303233Sdimchar3 __ovld __cnfn convert_char3_rtz(long3);
1635303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtz(long3);
1636303233Sdimchar3 __ovld __cnfn convert_char3_rtp(long3);
1637303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtp(long3);
1638303233Sdimchar3 __ovld __cnfn convert_char3_rtn(long3);
1639303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtn(long3);
1640303233Sdimchar3 __ovld __cnfn convert_char3(long3);
1641303233Sdimchar3 __ovld __cnfn convert_char3_sat(long3);
1642303233Sdimchar3 __ovld __cnfn convert_char3_rte(ulong3);
1643303233Sdimchar3 __ovld __cnfn convert_char3_sat_rte(ulong3);
1644303233Sdimchar3 __ovld __cnfn convert_char3_rtz(ulong3);
1645303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtz(ulong3);
1646303233Sdimchar3 __ovld __cnfn convert_char3_rtp(ulong3);
1647303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtp(ulong3);
1648303233Sdimchar3 __ovld __cnfn convert_char3_rtn(ulong3);
1649303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtn(ulong3);
1650303233Sdimchar3 __ovld __cnfn convert_char3(ulong3);
1651303233Sdimchar3 __ovld __cnfn convert_char3_sat(ulong3);
1652303233Sdimchar3 __ovld __cnfn convert_char3_rte(float3);
1653303233Sdimchar3 __ovld __cnfn convert_char3_sat_rte(float3);
1654303233Sdimchar3 __ovld __cnfn convert_char3_rtz(float3);
1655303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtz(float3);
1656303233Sdimchar3 __ovld __cnfn convert_char3_rtp(float3);
1657303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtp(float3);
1658303233Sdimchar3 __ovld __cnfn convert_char3_rtn(float3);
1659303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtn(float3);
1660303233Sdimchar3 __ovld __cnfn convert_char3(float3);
1661303233Sdimchar3 __ovld __cnfn convert_char3_sat(float3);
1662303233Sdimuchar3 __ovld __cnfn convert_uchar3_rte(char3);
1663303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rte(char3);
1664303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtz(char3);
1665303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtz(char3);
1666303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtp(char3);
1667303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtp(char3);
1668303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtn(char3);
1669303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtn(char3);
1670303233Sdimuchar3 __ovld __cnfn convert_uchar3(char3);
1671303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat(char3);
1672303233Sdimuchar3 __ovld __cnfn convert_uchar3_rte(uchar3);
1673303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rte(uchar3);
1674303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtz(uchar3);
1675303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtz(uchar3);
1676303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtp(uchar3);
1677303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtp(uchar3);
1678303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtn(uchar3);
1679303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtn(uchar3);
1680303233Sdimuchar3 __ovld __cnfn convert_uchar3(uchar3);
1681303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat(uchar3);
1682303233Sdimuchar3 __ovld __cnfn convert_uchar3_rte(short3);
1683303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rte(short3);
1684303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtz(short3);
1685303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtz(short3);
1686303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtp(short3);
1687303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtp(short3);
1688303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtn(short3);
1689303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtn(short3);
1690303233Sdimuchar3 __ovld __cnfn convert_uchar3(short3);
1691303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat(short3);
1692303233Sdimuchar3 __ovld __cnfn convert_uchar3_rte(ushort3);
1693303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rte(ushort3);
1694303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtz(ushort3);
1695303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtz(ushort3);
1696303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtp(ushort3);
1697303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtp(ushort3);
1698303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtn(ushort3);
1699303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtn(ushort3);
1700303233Sdimuchar3 __ovld __cnfn convert_uchar3(ushort3);
1701303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat(ushort3);
1702303233Sdimuchar3 __ovld __cnfn convert_uchar3_rte(int3);
1703303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rte(int3);
1704303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtz(int3);
1705303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtz(int3);
1706303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtp(int3);
1707303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtp(int3);
1708303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtn(int3);
1709303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtn(int3);
1710303233Sdimuchar3 __ovld __cnfn convert_uchar3(int3);
1711303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat(int3);
1712303233Sdimuchar3 __ovld __cnfn convert_uchar3_rte(uint3);
1713303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rte(uint3);
1714303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtz(uint3);
1715303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtz(uint3);
1716303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtp(uint3);
1717303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtp(uint3);
1718303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtn(uint3);
1719303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtn(uint3);
1720303233Sdimuchar3 __ovld __cnfn convert_uchar3(uint3);
1721303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat(uint3);
1722303233Sdimuchar3 __ovld __cnfn convert_uchar3_rte(long3);
1723303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rte(long3);
1724303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtz(long3);
1725303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtz(long3);
1726303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtp(long3);
1727303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtp(long3);
1728303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtn(long3);
1729303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtn(long3);
1730303233Sdimuchar3 __ovld __cnfn convert_uchar3(long3);
1731303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat(long3);
1732303233Sdimuchar3 __ovld __cnfn convert_uchar3_rte(ulong3);
1733303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rte(ulong3);
1734303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtz(ulong3);
1735303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtz(ulong3);
1736303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtp(ulong3);
1737303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtp(ulong3);
1738303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtn(ulong3);
1739303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtn(ulong3);
1740303233Sdimuchar3 __ovld __cnfn convert_uchar3(ulong3);
1741303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat(ulong3);
1742303233Sdimuchar3 __ovld __cnfn convert_uchar3_rte(float3);
1743303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rte(float3);
1744303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtz(float3);
1745303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtz(float3);
1746303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtp(float3);
1747303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtp(float3);
1748303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtn(float3);
1749303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtn(float3);
1750303233Sdimuchar3 __ovld __cnfn convert_uchar3(float3);
1751303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat(float3);
1752303233Sdimshort3 __ovld __cnfn convert_short3_rte(char3);
1753303233Sdimshort3 __ovld __cnfn convert_short3_sat_rte(char3);
1754303233Sdimshort3 __ovld __cnfn convert_short3_rtz(char3);
1755303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtz(char3);
1756303233Sdimshort3 __ovld __cnfn convert_short3_rtp(char3);
1757303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtp(char3);
1758303233Sdimshort3 __ovld __cnfn convert_short3_rtn(char3);
1759303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtn(char3);
1760303233Sdimshort3 __ovld __cnfn convert_short3(char3);
1761303233Sdimshort3 __ovld __cnfn convert_short3_sat(char3);
1762303233Sdimshort3 __ovld __cnfn convert_short3_rte(uchar3);
1763303233Sdimshort3 __ovld __cnfn convert_short3_sat_rte(uchar3);
1764303233Sdimshort3 __ovld __cnfn convert_short3_rtz(uchar3);
1765303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtz(uchar3);
1766303233Sdimshort3 __ovld __cnfn convert_short3_rtp(uchar3);
1767303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtp(uchar3);
1768303233Sdimshort3 __ovld __cnfn convert_short3_rtn(uchar3);
1769303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtn(uchar3);
1770303233Sdimshort3 __ovld __cnfn convert_short3(uchar3);
1771303233Sdimshort3 __ovld __cnfn convert_short3_sat(uchar3);
1772303233Sdimshort3 __ovld __cnfn convert_short3_rte(short3);
1773303233Sdimshort3 __ovld __cnfn convert_short3_sat_rte(short3);
1774303233Sdimshort3 __ovld __cnfn convert_short3_rtz(short3);
1775303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtz(short3);
1776303233Sdimshort3 __ovld __cnfn convert_short3_rtp(short3);
1777303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtp(short3);
1778303233Sdimshort3 __ovld __cnfn convert_short3_rtn(short3);
1779303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtn(short3);
1780303233Sdimshort3 __ovld __cnfn convert_short3(short3);
1781303233Sdimshort3 __ovld __cnfn convert_short3_sat(short3);
1782303233Sdimshort3 __ovld __cnfn convert_short3_rte(ushort3);
1783303233Sdimshort3 __ovld __cnfn convert_short3_sat_rte(ushort3);
1784303233Sdimshort3 __ovld __cnfn convert_short3_rtz(ushort3);
1785303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtz(ushort3);
1786303233Sdimshort3 __ovld __cnfn convert_short3_rtp(ushort3);
1787303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtp(ushort3);
1788303233Sdimshort3 __ovld __cnfn convert_short3_rtn(ushort3);
1789303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtn(ushort3);
1790303233Sdimshort3 __ovld __cnfn convert_short3(ushort3);
1791303233Sdimshort3 __ovld __cnfn convert_short3_sat(ushort3);
1792303233Sdimshort3 __ovld __cnfn convert_short3_rte(int3);
1793303233Sdimshort3 __ovld __cnfn convert_short3_sat_rte(int3);
1794303233Sdimshort3 __ovld __cnfn convert_short3_rtz(int3);
1795303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtz(int3);
1796303233Sdimshort3 __ovld __cnfn convert_short3_rtp(int3);
1797303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtp(int3);
1798303233Sdimshort3 __ovld __cnfn convert_short3_rtn(int3);
1799303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtn(int3);
1800303233Sdimshort3 __ovld __cnfn convert_short3(int3);
1801303233Sdimshort3 __ovld __cnfn convert_short3_sat(int3);
1802303233Sdimshort3 __ovld __cnfn convert_short3_rte(uint3);
1803303233Sdimshort3 __ovld __cnfn convert_short3_sat_rte(uint3);
1804303233Sdimshort3 __ovld __cnfn convert_short3_rtz(uint3);
1805303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtz(uint3);
1806303233Sdimshort3 __ovld __cnfn convert_short3_rtp(uint3);
1807303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtp(uint3);
1808303233Sdimshort3 __ovld __cnfn convert_short3_rtn(uint3);
1809303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtn(uint3);
1810303233Sdimshort3 __ovld __cnfn convert_short3(uint3);
1811303233Sdimshort3 __ovld __cnfn convert_short3_sat(uint3);
1812303233Sdimshort3 __ovld __cnfn convert_short3_rte(long3);
1813303233Sdimshort3 __ovld __cnfn convert_short3_sat_rte(long3);
1814303233Sdimshort3 __ovld __cnfn convert_short3_rtz(long3);
1815303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtz(long3);
1816303233Sdimshort3 __ovld __cnfn convert_short3_rtp(long3);
1817303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtp(long3);
1818303233Sdimshort3 __ovld __cnfn convert_short3_rtn(long3);
1819303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtn(long3);
1820303233Sdimshort3 __ovld __cnfn convert_short3(long3);
1821303233Sdimshort3 __ovld __cnfn convert_short3_sat(long3);
1822303233Sdimshort3 __ovld __cnfn convert_short3_rte(ulong3);
1823303233Sdimshort3 __ovld __cnfn convert_short3_sat_rte(ulong3);
1824303233Sdimshort3 __ovld __cnfn convert_short3_rtz(ulong3);
1825303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtz(ulong3);
1826303233Sdimshort3 __ovld __cnfn convert_short3_rtp(ulong3);
1827303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtp(ulong3);
1828303233Sdimshort3 __ovld __cnfn convert_short3_rtn(ulong3);
1829303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtn(ulong3);
1830303233Sdimshort3 __ovld __cnfn convert_short3(ulong3);
1831303233Sdimshort3 __ovld __cnfn convert_short3_sat(ulong3);
1832303233Sdimshort3 __ovld __cnfn convert_short3_rte(float3);
1833303233Sdimshort3 __ovld __cnfn convert_short3_sat_rte(float3);
1834303233Sdimshort3 __ovld __cnfn convert_short3_rtz(float3);
1835303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtz(float3);
1836303233Sdimshort3 __ovld __cnfn convert_short3_rtp(float3);
1837303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtp(float3);
1838303233Sdimshort3 __ovld __cnfn convert_short3_rtn(float3);
1839303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtn(float3);
1840303233Sdimshort3 __ovld __cnfn convert_short3(float3);
1841303233Sdimshort3 __ovld __cnfn convert_short3_sat(float3);
1842303233Sdimushort3 __ovld __cnfn convert_ushort3_rte(char3);
1843303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rte(char3);
1844303233Sdimushort3 __ovld __cnfn convert_ushort3_rtz(char3);
1845303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtz(char3);
1846303233Sdimushort3 __ovld __cnfn convert_ushort3_rtp(char3);
1847303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtp(char3);
1848303233Sdimushort3 __ovld __cnfn convert_ushort3_rtn(char3);
1849303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtn(char3);
1850303233Sdimushort3 __ovld __cnfn convert_ushort3(char3);
1851303233Sdimushort3 __ovld __cnfn convert_ushort3_sat(char3);
1852303233Sdimushort3 __ovld __cnfn convert_ushort3_rte(uchar3);
1853303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rte(uchar3);
1854303233Sdimushort3 __ovld __cnfn convert_ushort3_rtz(uchar3);
1855303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtz(uchar3);
1856303233Sdimushort3 __ovld __cnfn convert_ushort3_rtp(uchar3);
1857303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtp(uchar3);
1858303233Sdimushort3 __ovld __cnfn convert_ushort3_rtn(uchar3);
1859303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtn(uchar3);
1860303233Sdimushort3 __ovld __cnfn convert_ushort3(uchar3);
1861303233Sdimushort3 __ovld __cnfn convert_ushort3_sat(uchar3);
1862303233Sdimushort3 __ovld __cnfn convert_ushort3_rte(short3);
1863303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rte(short3);
1864303233Sdimushort3 __ovld __cnfn convert_ushort3_rtz(short3);
1865303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtz(short3);
1866303233Sdimushort3 __ovld __cnfn convert_ushort3_rtp(short3);
1867303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtp(short3);
1868303233Sdimushort3 __ovld __cnfn convert_ushort3_rtn(short3);
1869303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtn(short3);
1870303233Sdimushort3 __ovld __cnfn convert_ushort3(short3);
1871303233Sdimushort3 __ovld __cnfn convert_ushort3_sat(short3);
1872303233Sdimushort3 __ovld __cnfn convert_ushort3_rte(ushort3);
1873303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rte(ushort3);
1874303233Sdimushort3 __ovld __cnfn convert_ushort3_rtz(ushort3);
1875303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtz(ushort3);
1876303233Sdimushort3 __ovld __cnfn convert_ushort3_rtp(ushort3);
1877303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtp(ushort3);
1878303233Sdimushort3 __ovld __cnfn convert_ushort3_rtn(ushort3);
1879303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtn(ushort3);
1880303233Sdimushort3 __ovld __cnfn convert_ushort3(ushort3);
1881303233Sdimushort3 __ovld __cnfn convert_ushort3_sat(ushort3);
1882303233Sdimushort3 __ovld __cnfn convert_ushort3_rte(int3);
1883303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rte(int3);
1884303233Sdimushort3 __ovld __cnfn convert_ushort3_rtz(int3);
1885303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtz(int3);
1886303233Sdimushort3 __ovld __cnfn convert_ushort3_rtp(int3);
1887303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtp(int3);
1888303233Sdimushort3 __ovld __cnfn convert_ushort3_rtn(int3);
1889303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtn(int3);
1890303233Sdimushort3 __ovld __cnfn convert_ushort3(int3);
1891303233Sdimushort3 __ovld __cnfn convert_ushort3_sat(int3);
1892303233Sdimushort3 __ovld __cnfn convert_ushort3_rte(uint3);
1893303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rte(uint3);
1894303233Sdimushort3 __ovld __cnfn convert_ushort3_rtz(uint3);
1895303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtz(uint3);
1896303233Sdimushort3 __ovld __cnfn convert_ushort3_rtp(uint3);
1897303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtp(uint3);
1898303233Sdimushort3 __ovld __cnfn convert_ushort3_rtn(uint3);
1899303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtn(uint3);
1900303233Sdimushort3 __ovld __cnfn convert_ushort3(uint3);
1901303233Sdimushort3 __ovld __cnfn convert_ushort3_sat(uint3);
1902303233Sdimushort3 __ovld __cnfn convert_ushort3_rte(long3);
1903303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rte(long3);
1904303233Sdimushort3 __ovld __cnfn convert_ushort3_rtz(long3);
1905303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtz(long3);
1906303233Sdimushort3 __ovld __cnfn convert_ushort3_rtp(long3);
1907303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtp(long3);
1908303233Sdimushort3 __ovld __cnfn convert_ushort3_rtn(long3);
1909303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtn(long3);
1910303233Sdimushort3 __ovld __cnfn convert_ushort3(long3);
1911303233Sdimushort3 __ovld __cnfn convert_ushort3_sat(long3);
1912303233Sdimushort3 __ovld __cnfn convert_ushort3_rte(ulong3);
1913303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rte(ulong3);
1914303233Sdimushort3 __ovld __cnfn convert_ushort3_rtz(ulong3);
1915303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtz(ulong3);
1916303233Sdimushort3 __ovld __cnfn convert_ushort3_rtp(ulong3);
1917303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtp(ulong3);
1918303233Sdimushort3 __ovld __cnfn convert_ushort3_rtn(ulong3);
1919303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtn(ulong3);
1920303233Sdimushort3 __ovld __cnfn convert_ushort3(ulong3);
1921303233Sdimushort3 __ovld __cnfn convert_ushort3_sat(ulong3);
1922303233Sdimushort3 __ovld __cnfn convert_ushort3_rte(float3);
1923303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rte(float3);
1924303233Sdimushort3 __ovld __cnfn convert_ushort3_rtz(float3);
1925303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtz(float3);
1926303233Sdimushort3 __ovld __cnfn convert_ushort3_rtp(float3);
1927303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtp(float3);
1928303233Sdimushort3 __ovld __cnfn convert_ushort3_rtn(float3);
1929303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtn(float3);
1930303233Sdimushort3 __ovld __cnfn convert_ushort3(float3);
1931303233Sdimushort3 __ovld __cnfn convert_ushort3_sat(float3);
1932303233Sdimint3 __ovld __cnfn convert_int3_rte(char3);
1933303233Sdimint3 __ovld __cnfn convert_int3_sat_rte(char3);
1934303233Sdimint3 __ovld __cnfn convert_int3_rtz(char3);
1935303233Sdimint3 __ovld __cnfn convert_int3_sat_rtz(char3);
1936303233Sdimint3 __ovld __cnfn convert_int3_rtp(char3);
1937303233Sdimint3 __ovld __cnfn convert_int3_sat_rtp(char3);
1938303233Sdimint3 __ovld __cnfn convert_int3_rtn(char3);
1939303233Sdimint3 __ovld __cnfn convert_int3_sat_rtn(char3);
1940303233Sdimint3 __ovld __cnfn convert_int3(char3);
1941303233Sdimint3 __ovld __cnfn convert_int3_sat(char3);
1942303233Sdimint3 __ovld __cnfn convert_int3_rte(uchar3);
1943303233Sdimint3 __ovld __cnfn convert_int3_sat_rte(uchar3);
1944303233Sdimint3 __ovld __cnfn convert_int3_rtz(uchar3);
1945303233Sdimint3 __ovld __cnfn convert_int3_sat_rtz(uchar3);
1946303233Sdimint3 __ovld __cnfn convert_int3_rtp(uchar3);
1947303233Sdimint3 __ovld __cnfn convert_int3_sat_rtp(uchar3);
1948303233Sdimint3 __ovld __cnfn convert_int3_rtn(uchar3);
1949303233Sdimint3 __ovld __cnfn convert_int3_sat_rtn(uchar3);
1950303233Sdimint3 __ovld __cnfn convert_int3(uchar3);
1951303233Sdimint3 __ovld __cnfn convert_int3_sat(uchar3);
1952303233Sdimint3 __ovld __cnfn convert_int3_rte(short3);
1953303233Sdimint3 __ovld __cnfn convert_int3_sat_rte(short3);
1954303233Sdimint3 __ovld __cnfn convert_int3_rtz(short3);
1955303233Sdimint3 __ovld __cnfn convert_int3_sat_rtz(short3);
1956303233Sdimint3 __ovld __cnfn convert_int3_rtp(short3);
1957303233Sdimint3 __ovld __cnfn convert_int3_sat_rtp(short3);
1958303233Sdimint3 __ovld __cnfn convert_int3_rtn(short3);
1959303233Sdimint3 __ovld __cnfn convert_int3_sat_rtn(short3);
1960303233Sdimint3 __ovld __cnfn convert_int3(short3);
1961303233Sdimint3 __ovld __cnfn convert_int3_sat(short3);
1962303233Sdimint3 __ovld __cnfn convert_int3_rte(ushort3);
1963303233Sdimint3 __ovld __cnfn convert_int3_sat_rte(ushort3);
1964303233Sdimint3 __ovld __cnfn convert_int3_rtz(ushort3);
1965303233Sdimint3 __ovld __cnfn convert_int3_sat_rtz(ushort3);
1966303233Sdimint3 __ovld __cnfn convert_int3_rtp(ushort3);
1967303233Sdimint3 __ovld __cnfn convert_int3_sat_rtp(ushort3);
1968303233Sdimint3 __ovld __cnfn convert_int3_rtn(ushort3);
1969303233Sdimint3 __ovld __cnfn convert_int3_sat_rtn(ushort3);
1970303233Sdimint3 __ovld __cnfn convert_int3(ushort3);
1971303233Sdimint3 __ovld __cnfn convert_int3_sat(ushort3);
1972303233Sdimint3 __ovld __cnfn convert_int3_rte(int3);
1973303233Sdimint3 __ovld __cnfn convert_int3_sat_rte(int3);
1974303233Sdimint3 __ovld __cnfn convert_int3_rtz(int3);
1975303233Sdimint3 __ovld __cnfn convert_int3_sat_rtz(int3);
1976303233Sdimint3 __ovld __cnfn convert_int3_rtp(int3);
1977303233Sdimint3 __ovld __cnfn convert_int3_sat_rtp(int3);
1978303233Sdimint3 __ovld __cnfn convert_int3_rtn(int3);
1979303233Sdimint3 __ovld __cnfn convert_int3_sat_rtn(int3);
1980303233Sdimint3 __ovld __cnfn convert_int3(int3);
1981303233Sdimint3 __ovld __cnfn convert_int3_sat(int3);
1982303233Sdimint3 __ovld __cnfn convert_int3_rte(uint3);
1983303233Sdimint3 __ovld __cnfn convert_int3_sat_rte(uint3);
1984303233Sdimint3 __ovld __cnfn convert_int3_rtz(uint3);
1985303233Sdimint3 __ovld __cnfn convert_int3_sat_rtz(uint3);
1986303233Sdimint3 __ovld __cnfn convert_int3_rtp(uint3);
1987303233Sdimint3 __ovld __cnfn convert_int3_sat_rtp(uint3);
1988303233Sdimint3 __ovld __cnfn convert_int3_rtn(uint3);
1989303233Sdimint3 __ovld __cnfn convert_int3_sat_rtn(uint3);
1990303233Sdimint3 __ovld __cnfn convert_int3(uint3);
1991303233Sdimint3 __ovld __cnfn convert_int3_sat(uint3);
1992303233Sdimint3 __ovld __cnfn convert_int3_rte(long3);
1993303233Sdimint3 __ovld __cnfn convert_int3_sat_rte(long3);
1994303233Sdimint3 __ovld __cnfn convert_int3_rtz(long3);
1995303233Sdimint3 __ovld __cnfn convert_int3_sat_rtz(long3);
1996303233Sdimint3 __ovld __cnfn convert_int3_rtp(long3);
1997303233Sdimint3 __ovld __cnfn convert_int3_sat_rtp(long3);
1998303233Sdimint3 __ovld __cnfn convert_int3_rtn(long3);
1999303233Sdimint3 __ovld __cnfn convert_int3_sat_rtn(long3);
2000303233Sdimint3 __ovld __cnfn convert_int3(long3);
2001303233Sdimint3 __ovld __cnfn convert_int3_sat(long3);
2002303233Sdimint3 __ovld __cnfn convert_int3_rte(ulong3);
2003303233Sdimint3 __ovld __cnfn convert_int3_sat_rte(ulong3);
2004303233Sdimint3 __ovld __cnfn convert_int3_rtz(ulong3);
2005303233Sdimint3 __ovld __cnfn convert_int3_sat_rtz(ulong3);
2006303233Sdimint3 __ovld __cnfn convert_int3_rtp(ulong3);
2007303233Sdimint3 __ovld __cnfn convert_int3_sat_rtp(ulong3);
2008303233Sdimint3 __ovld __cnfn convert_int3_rtn(ulong3);
2009303233Sdimint3 __ovld __cnfn convert_int3_sat_rtn(ulong3);
2010303233Sdimint3 __ovld __cnfn convert_int3(ulong3);
2011303233Sdimint3 __ovld __cnfn convert_int3_sat(ulong3);
2012303233Sdimint3 __ovld __cnfn convert_int3_rte(float3);
2013303233Sdimint3 __ovld __cnfn convert_int3_sat_rte(float3);
2014303233Sdimint3 __ovld __cnfn convert_int3_rtz(float3);
2015303233Sdimint3 __ovld __cnfn convert_int3_sat_rtz(float3);
2016303233Sdimint3 __ovld __cnfn convert_int3_rtp(float3);
2017303233Sdimint3 __ovld __cnfn convert_int3_sat_rtp(float3);
2018303233Sdimint3 __ovld __cnfn convert_int3_rtn(float3);
2019303233Sdimint3 __ovld __cnfn convert_int3_sat_rtn(float3);
2020303233Sdimint3 __ovld __cnfn convert_int3(float3);
2021303233Sdimint3 __ovld __cnfn convert_int3_sat(float3);
2022303233Sdimuint3 __ovld __cnfn convert_uint3_rte(char3);
2023303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rte(char3);
2024303233Sdimuint3 __ovld __cnfn convert_uint3_rtz(char3);
2025303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtz(char3);
2026303233Sdimuint3 __ovld __cnfn convert_uint3_rtp(char3);
2027303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtp(char3);
2028303233Sdimuint3 __ovld __cnfn convert_uint3_rtn(char3);
2029303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtn(char3);
2030303233Sdimuint3 __ovld __cnfn convert_uint3(char3);
2031303233Sdimuint3 __ovld __cnfn convert_uint3_sat(char3);
2032303233Sdimuint3 __ovld __cnfn convert_uint3_rte(uchar3);
2033303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rte(uchar3);
2034303233Sdimuint3 __ovld __cnfn convert_uint3_rtz(uchar3);
2035303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtz(uchar3);
2036303233Sdimuint3 __ovld __cnfn convert_uint3_rtp(uchar3);
2037303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtp(uchar3);
2038303233Sdimuint3 __ovld __cnfn convert_uint3_rtn(uchar3);
2039303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtn(uchar3);
2040303233Sdimuint3 __ovld __cnfn convert_uint3(uchar3);
2041303233Sdimuint3 __ovld __cnfn convert_uint3_sat(uchar3);
2042303233Sdimuint3 __ovld __cnfn convert_uint3_rte(short3);
2043303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rte(short3);
2044303233Sdimuint3 __ovld __cnfn convert_uint3_rtz(short3);
2045303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtz(short3);
2046303233Sdimuint3 __ovld __cnfn convert_uint3_rtp(short3);
2047303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtp(short3);
2048303233Sdimuint3 __ovld __cnfn convert_uint3_rtn(short3);
2049303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtn(short3);
2050303233Sdimuint3 __ovld __cnfn convert_uint3(short3);
2051303233Sdimuint3 __ovld __cnfn convert_uint3_sat(short3);
2052303233Sdimuint3 __ovld __cnfn convert_uint3_rte(ushort3);
2053303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rte(ushort3);
2054303233Sdimuint3 __ovld __cnfn convert_uint3_rtz(ushort3);
2055303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtz(ushort3);
2056303233Sdimuint3 __ovld __cnfn convert_uint3_rtp(ushort3);
2057303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtp(ushort3);
2058303233Sdimuint3 __ovld __cnfn convert_uint3_rtn(ushort3);
2059303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtn(ushort3);
2060303233Sdimuint3 __ovld __cnfn convert_uint3(ushort3);
2061303233Sdimuint3 __ovld __cnfn convert_uint3_sat(ushort3);
2062303233Sdimuint3 __ovld __cnfn convert_uint3_rte(int3);
2063303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rte(int3);
2064303233Sdimuint3 __ovld __cnfn convert_uint3_rtz(int3);
2065303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtz(int3);
2066303233Sdimuint3 __ovld __cnfn convert_uint3_rtp(int3);
2067303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtp(int3);
2068303233Sdimuint3 __ovld __cnfn convert_uint3_rtn(int3);
2069303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtn(int3);
2070303233Sdimuint3 __ovld __cnfn convert_uint3(int3);
2071303233Sdimuint3 __ovld __cnfn convert_uint3_sat(int3);
2072303233Sdimuint3 __ovld __cnfn convert_uint3_rte(uint3);
2073303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rte(uint3);
2074303233Sdimuint3 __ovld __cnfn convert_uint3_rtz(uint3);
2075303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtz(uint3);
2076303233Sdimuint3 __ovld __cnfn convert_uint3_rtp(uint3);
2077303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtp(uint3);
2078303233Sdimuint3 __ovld __cnfn convert_uint3_rtn(uint3);
2079303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtn(uint3);
2080303233Sdimuint3 __ovld __cnfn convert_uint3(uint3);
2081303233Sdimuint3 __ovld __cnfn convert_uint3_sat(uint3);
2082303233Sdimuint3 __ovld __cnfn convert_uint3_rte(long3);
2083303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rte(long3);
2084303233Sdimuint3 __ovld __cnfn convert_uint3_rtz(long3);
2085303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtz(long3);
2086303233Sdimuint3 __ovld __cnfn convert_uint3_rtp(long3);
2087303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtp(long3);
2088303233Sdimuint3 __ovld __cnfn convert_uint3_rtn(long3);
2089303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtn(long3);
2090303233Sdimuint3 __ovld __cnfn convert_uint3(long3);
2091303233Sdimuint3 __ovld __cnfn convert_uint3_sat(long3);
2092303233Sdimuint3 __ovld __cnfn convert_uint3_rte(ulong3);
2093303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rte(ulong3);
2094303233Sdimuint3 __ovld __cnfn convert_uint3_rtz(ulong3);
2095303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtz(ulong3);
2096303233Sdimuint3 __ovld __cnfn convert_uint3_rtp(ulong3);
2097303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtp(ulong3);
2098303233Sdimuint3 __ovld __cnfn convert_uint3_rtn(ulong3);
2099303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtn(ulong3);
2100303233Sdimuint3 __ovld __cnfn convert_uint3(ulong3);
2101303233Sdimuint3 __ovld __cnfn convert_uint3_sat(ulong3);
2102303233Sdimuint3 __ovld __cnfn convert_uint3_rte(float3);
2103303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rte(float3);
2104303233Sdimuint3 __ovld __cnfn convert_uint3_rtz(float3);
2105303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtz(float3);
2106303233Sdimuint3 __ovld __cnfn convert_uint3_rtp(float3);
2107303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtp(float3);
2108303233Sdimuint3 __ovld __cnfn convert_uint3_rtn(float3);
2109303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtn(float3);
2110303233Sdimuint3 __ovld __cnfn convert_uint3(float3);
2111303233Sdimuint3 __ovld __cnfn convert_uint3_sat(float3);
2112303233Sdimlong3 __ovld __cnfn convert_long3_rte(char3);
2113303233Sdimlong3 __ovld __cnfn convert_long3_sat_rte(char3);
2114303233Sdimlong3 __ovld __cnfn convert_long3_rtz(char3);
2115303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtz(char3);
2116303233Sdimlong3 __ovld __cnfn convert_long3_rtp(char3);
2117303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtp(char3);
2118303233Sdimlong3 __ovld __cnfn convert_long3_rtn(char3);
2119303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtn(char3);
2120303233Sdimlong3 __ovld __cnfn convert_long3(char3);
2121303233Sdimlong3 __ovld __cnfn convert_long3_sat(char3);
2122303233Sdimlong3 __ovld __cnfn convert_long3_rte(uchar3);
2123303233Sdimlong3 __ovld __cnfn convert_long3_sat_rte(uchar3);
2124303233Sdimlong3 __ovld __cnfn convert_long3_rtz(uchar3);
2125303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtz(uchar3);
2126303233Sdimlong3 __ovld __cnfn convert_long3_rtp(uchar3);
2127303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtp(uchar3);
2128303233Sdimlong3 __ovld __cnfn convert_long3_rtn(uchar3);
2129303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtn(uchar3);
2130303233Sdimlong3 __ovld __cnfn convert_long3(uchar3);
2131303233Sdimlong3 __ovld __cnfn convert_long3_sat(uchar3);
2132303233Sdimlong3 __ovld __cnfn convert_long3_rte(short3);
2133303233Sdimlong3 __ovld __cnfn convert_long3_sat_rte(short3);
2134303233Sdimlong3 __ovld __cnfn convert_long3_rtz(short3);
2135303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtz(short3);
2136303233Sdimlong3 __ovld __cnfn convert_long3_rtp(short3);
2137303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtp(short3);
2138303233Sdimlong3 __ovld __cnfn convert_long3_rtn(short3);
2139303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtn(short3);
2140303233Sdimlong3 __ovld __cnfn convert_long3(short3);
2141303233Sdimlong3 __ovld __cnfn convert_long3_sat(short3);
2142303233Sdimlong3 __ovld __cnfn convert_long3_rte(ushort3);
2143303233Sdimlong3 __ovld __cnfn convert_long3_sat_rte(ushort3);
2144303233Sdimlong3 __ovld __cnfn convert_long3_rtz(ushort3);
2145303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtz(ushort3);
2146303233Sdimlong3 __ovld __cnfn convert_long3_rtp(ushort3);
2147303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtp(ushort3);
2148303233Sdimlong3 __ovld __cnfn convert_long3_rtn(ushort3);
2149303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtn(ushort3);
2150303233Sdimlong3 __ovld __cnfn convert_long3(ushort3);
2151303233Sdimlong3 __ovld __cnfn convert_long3_sat(ushort3);
2152303233Sdimlong3 __ovld __cnfn convert_long3_rte(int3);
2153303233Sdimlong3 __ovld __cnfn convert_long3_sat_rte(int3);
2154303233Sdimlong3 __ovld __cnfn convert_long3_rtz(int3);
2155303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtz(int3);
2156303233Sdimlong3 __ovld __cnfn convert_long3_rtp(int3);
2157303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtp(int3);
2158303233Sdimlong3 __ovld __cnfn convert_long3_rtn(int3);
2159303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtn(int3);
2160303233Sdimlong3 __ovld __cnfn convert_long3(int3);
2161303233Sdimlong3 __ovld __cnfn convert_long3_sat(int3);
2162303233Sdimlong3 __ovld __cnfn convert_long3_rte(uint3);
2163303233Sdimlong3 __ovld __cnfn convert_long3_sat_rte(uint3);
2164303233Sdimlong3 __ovld __cnfn convert_long3_rtz(uint3);
2165303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtz(uint3);
2166303233Sdimlong3 __ovld __cnfn convert_long3_rtp(uint3);
2167303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtp(uint3);
2168303233Sdimlong3 __ovld __cnfn convert_long3_rtn(uint3);
2169303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtn(uint3);
2170303233Sdimlong3 __ovld __cnfn convert_long3(uint3);
2171303233Sdimlong3 __ovld __cnfn convert_long3_sat(uint3);
2172303233Sdimlong3 __ovld __cnfn convert_long3_rte(long3);
2173303233Sdimlong3 __ovld __cnfn convert_long3_sat_rte(long3);
2174303233Sdimlong3 __ovld __cnfn convert_long3_rtz(long3);
2175303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtz(long3);
2176303233Sdimlong3 __ovld __cnfn convert_long3_rtp(long3);
2177303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtp(long3);
2178303233Sdimlong3 __ovld __cnfn convert_long3_rtn(long3);
2179303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtn(long3);
2180303233Sdimlong3 __ovld __cnfn convert_long3(long3);
2181303233Sdimlong3 __ovld __cnfn convert_long3_sat(long3);
2182303233Sdimlong3 __ovld __cnfn convert_long3_rte(ulong3);
2183303233Sdimlong3 __ovld __cnfn convert_long3_sat_rte(ulong3);
2184303233Sdimlong3 __ovld __cnfn convert_long3_rtz(ulong3);
2185303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtz(ulong3);
2186303233Sdimlong3 __ovld __cnfn convert_long3_rtp(ulong3);
2187303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtp(ulong3);
2188303233Sdimlong3 __ovld __cnfn convert_long3_rtn(ulong3);
2189303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtn(ulong3);
2190303233Sdimlong3 __ovld __cnfn convert_long3(ulong3);
2191303233Sdimlong3 __ovld __cnfn convert_long3_sat(ulong3);
2192303233Sdimlong3 __ovld __cnfn convert_long3_rte(float3);
2193303233Sdimlong3 __ovld __cnfn convert_long3_sat_rte(float3);
2194303233Sdimlong3 __ovld __cnfn convert_long3_rtz(float3);
2195303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtz(float3);
2196303233Sdimlong3 __ovld __cnfn convert_long3_rtp(float3);
2197303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtp(float3);
2198303233Sdimlong3 __ovld __cnfn convert_long3_rtn(float3);
2199303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtn(float3);
2200303233Sdimlong3 __ovld __cnfn convert_long3(float3);
2201303233Sdimlong3 __ovld __cnfn convert_long3_sat(float3);
2202303233Sdimulong3 __ovld __cnfn convert_ulong3_rte(char3);
2203303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rte(char3);
2204303233Sdimulong3 __ovld __cnfn convert_ulong3_rtz(char3);
2205303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtz(char3);
2206303233Sdimulong3 __ovld __cnfn convert_ulong3_rtp(char3);
2207303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtp(char3);
2208303233Sdimulong3 __ovld __cnfn convert_ulong3_rtn(char3);
2209303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtn(char3);
2210303233Sdimulong3 __ovld __cnfn convert_ulong3(char3);
2211303233Sdimulong3 __ovld __cnfn convert_ulong3_sat(char3);
2212303233Sdimulong3 __ovld __cnfn convert_ulong3_rte(uchar3);
2213303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rte(uchar3);
2214303233Sdimulong3 __ovld __cnfn convert_ulong3_rtz(uchar3);
2215303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtz(uchar3);
2216303233Sdimulong3 __ovld __cnfn convert_ulong3_rtp(uchar3);
2217303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtp(uchar3);
2218303233Sdimulong3 __ovld __cnfn convert_ulong3_rtn(uchar3);
2219303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtn(uchar3);
2220303233Sdimulong3 __ovld __cnfn convert_ulong3(uchar3);
2221303233Sdimulong3 __ovld __cnfn convert_ulong3_sat(uchar3);
2222303233Sdimulong3 __ovld __cnfn convert_ulong3_rte(short3);
2223303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rte(short3);
2224303233Sdimulong3 __ovld __cnfn convert_ulong3_rtz(short3);
2225303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtz(short3);
2226303233Sdimulong3 __ovld __cnfn convert_ulong3_rtp(short3);
2227303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtp(short3);
2228303233Sdimulong3 __ovld __cnfn convert_ulong3_rtn(short3);
2229303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtn(short3);
2230303233Sdimulong3 __ovld __cnfn convert_ulong3(short3);
2231303233Sdimulong3 __ovld __cnfn convert_ulong3_sat(short3);
2232303233Sdimulong3 __ovld __cnfn convert_ulong3_rte(ushort3);
2233303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rte(ushort3);
2234303233Sdimulong3 __ovld __cnfn convert_ulong3_rtz(ushort3);
2235303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtz(ushort3);
2236303233Sdimulong3 __ovld __cnfn convert_ulong3_rtp(ushort3);
2237303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtp(ushort3);
2238303233Sdimulong3 __ovld __cnfn convert_ulong3_rtn(ushort3);
2239303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtn(ushort3);
2240303233Sdimulong3 __ovld __cnfn convert_ulong3(ushort3);
2241303233Sdimulong3 __ovld __cnfn convert_ulong3_sat(ushort3);
2242303233Sdimulong3 __ovld __cnfn convert_ulong3_rte(int3);
2243303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rte(int3);
2244303233Sdimulong3 __ovld __cnfn convert_ulong3_rtz(int3);
2245303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtz(int3);
2246303233Sdimulong3 __ovld __cnfn convert_ulong3_rtp(int3);
2247303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtp(int3);
2248303233Sdimulong3 __ovld __cnfn convert_ulong3_rtn(int3);
2249303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtn(int3);
2250303233Sdimulong3 __ovld __cnfn convert_ulong3(int3);
2251303233Sdimulong3 __ovld __cnfn convert_ulong3_sat(int3);
2252303233Sdimulong3 __ovld __cnfn convert_ulong3_rte(uint3);
2253303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rte(uint3);
2254303233Sdimulong3 __ovld __cnfn convert_ulong3_rtz(uint3);
2255303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtz(uint3);
2256303233Sdimulong3 __ovld __cnfn convert_ulong3_rtp(uint3);
2257303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtp(uint3);
2258303233Sdimulong3 __ovld __cnfn convert_ulong3_rtn(uint3);
2259303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtn(uint3);
2260303233Sdimulong3 __ovld __cnfn convert_ulong3(uint3);
2261303233Sdimulong3 __ovld __cnfn convert_ulong3_sat(uint3);
2262303233Sdimulong3 __ovld __cnfn convert_ulong3_rte(long3);
2263303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rte(long3);
2264303233Sdimulong3 __ovld __cnfn convert_ulong3_rtz(long3);
2265303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtz(long3);
2266303233Sdimulong3 __ovld __cnfn convert_ulong3_rtp(long3);
2267303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtp(long3);
2268303233Sdimulong3 __ovld __cnfn convert_ulong3_rtn(long3);
2269303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtn(long3);
2270303233Sdimulong3 __ovld __cnfn convert_ulong3(long3);
2271303233Sdimulong3 __ovld __cnfn convert_ulong3_sat(long3);
2272303233Sdimulong3 __ovld __cnfn convert_ulong3_rte(ulong3);
2273303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rte(ulong3);
2274303233Sdimulong3 __ovld __cnfn convert_ulong3_rtz(ulong3);
2275303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtz(ulong3);
2276303233Sdimulong3 __ovld __cnfn convert_ulong3_rtp(ulong3);
2277303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtp(ulong3);
2278303233Sdimulong3 __ovld __cnfn convert_ulong3_rtn(ulong3);
2279303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtn(ulong3);
2280303233Sdimulong3 __ovld __cnfn convert_ulong3(ulong3);
2281303233Sdimulong3 __ovld __cnfn convert_ulong3_sat(ulong3);
2282303233Sdimulong3 __ovld __cnfn convert_ulong3_rte(float3);
2283303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rte(float3);
2284303233Sdimulong3 __ovld __cnfn convert_ulong3_rtz(float3);
2285303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtz(float3);
2286303233Sdimulong3 __ovld __cnfn convert_ulong3_rtp(float3);
2287303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtp(float3);
2288303233Sdimulong3 __ovld __cnfn convert_ulong3_rtn(float3);
2289303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtn(float3);
2290303233Sdimulong3 __ovld __cnfn convert_ulong3(float3);
2291303233Sdimulong3 __ovld __cnfn convert_ulong3_sat(float3);
2292303233Sdimfloat3 __ovld __cnfn convert_float3_rte(char3);
2293303233Sdimfloat3 __ovld __cnfn convert_float3_rtz(char3);
2294303233Sdimfloat3 __ovld __cnfn convert_float3_rtp(char3);
2295303233Sdimfloat3 __ovld __cnfn convert_float3_rtn(char3);
2296303233Sdimfloat3 __ovld __cnfn convert_float3(char3);
2297303233Sdimfloat3 __ovld __cnfn convert_float3_rte(uchar3);
2298303233Sdimfloat3 __ovld __cnfn convert_float3_rtz(uchar3);
2299303233Sdimfloat3 __ovld __cnfn convert_float3_rtp(uchar3);
2300303233Sdimfloat3 __ovld __cnfn convert_float3_rtn(uchar3);
2301303233Sdimfloat3 __ovld __cnfn convert_float3(uchar3);
2302303233Sdimfloat3 __ovld __cnfn convert_float3_rte(short3);
2303303233Sdimfloat3 __ovld __cnfn convert_float3_rtz(short3);
2304303233Sdimfloat3 __ovld __cnfn convert_float3_rtp(short3);
2305303233Sdimfloat3 __ovld __cnfn convert_float3_rtn(short3);
2306303233Sdimfloat3 __ovld __cnfn convert_float3(short3);
2307303233Sdimfloat3 __ovld __cnfn convert_float3_rte(ushort3);
2308303233Sdimfloat3 __ovld __cnfn convert_float3_rtz(ushort3);
2309303233Sdimfloat3 __ovld __cnfn convert_float3_rtp(ushort3);
2310303233Sdimfloat3 __ovld __cnfn convert_float3_rtn(ushort3);
2311303233Sdimfloat3 __ovld __cnfn convert_float3(ushort3);
2312303233Sdimfloat3 __ovld __cnfn convert_float3_rte(int3);
2313303233Sdimfloat3 __ovld __cnfn convert_float3_rtz(int3);
2314303233Sdimfloat3 __ovld __cnfn convert_float3_rtp(int3);
2315303233Sdimfloat3 __ovld __cnfn convert_float3_rtn(int3);
2316303233Sdimfloat3 __ovld __cnfn convert_float3(int3);
2317303233Sdimfloat3 __ovld __cnfn convert_float3_rte(uint3);
2318303233Sdimfloat3 __ovld __cnfn convert_float3_rtz(uint3);
2319303233Sdimfloat3 __ovld __cnfn convert_float3_rtp(uint3);
2320303233Sdimfloat3 __ovld __cnfn convert_float3_rtn(uint3);
2321303233Sdimfloat3 __ovld __cnfn convert_float3(uint3);
2322303233Sdimfloat3 __ovld __cnfn convert_float3_rte(long3);
2323303233Sdimfloat3 __ovld __cnfn convert_float3_rtz(long3);
2324303233Sdimfloat3 __ovld __cnfn convert_float3_rtp(long3);
2325303233Sdimfloat3 __ovld __cnfn convert_float3_rtn(long3);
2326303233Sdimfloat3 __ovld __cnfn convert_float3(long3);
2327303233Sdimfloat3 __ovld __cnfn convert_float3_rte(ulong3);
2328303233Sdimfloat3 __ovld __cnfn convert_float3_rtz(ulong3);
2329303233Sdimfloat3 __ovld __cnfn convert_float3_rtp(ulong3);
2330303233Sdimfloat3 __ovld __cnfn convert_float3_rtn(ulong3);
2331303233Sdimfloat3 __ovld __cnfn convert_float3(ulong3);
2332303233Sdimfloat3 __ovld __cnfn convert_float3_rte(float3);
2333303233Sdimfloat3 __ovld __cnfn convert_float3_rtz(float3);
2334303233Sdimfloat3 __ovld __cnfn convert_float3_rtp(float3);
2335303233Sdimfloat3 __ovld __cnfn convert_float3_rtn(float3);
2336303233Sdimfloat3 __ovld __cnfn convert_float3(float3);
2337303233Sdimchar4 __ovld __cnfn convert_char4_rte(char4);
2338303233Sdimchar4 __ovld __cnfn convert_char4_sat_rte(char4);
2339303233Sdimchar4 __ovld __cnfn convert_char4_rtz(char4);
2340303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtz(char4);
2341303233Sdimchar4 __ovld __cnfn convert_char4_rtp(char4);
2342303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtp(char4);
2343303233Sdimchar4 __ovld __cnfn convert_char4_rtn(char4);
2344303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtn(char4);
2345303233Sdimchar4 __ovld __cnfn convert_char4(char4);
2346303233Sdimchar4 __ovld __cnfn convert_char4_sat(char4);
2347303233Sdimchar4 __ovld __cnfn convert_char4_rte(uchar4);
2348303233Sdimchar4 __ovld __cnfn convert_char4_sat_rte(uchar4);
2349303233Sdimchar4 __ovld __cnfn convert_char4_rtz(uchar4);
2350303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtz(uchar4);
2351303233Sdimchar4 __ovld __cnfn convert_char4_rtp(uchar4);
2352303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtp(uchar4);
2353303233Sdimchar4 __ovld __cnfn convert_char4_rtn(uchar4);
2354303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtn(uchar4);
2355303233Sdimchar4 __ovld __cnfn convert_char4(uchar4);
2356303233Sdimchar4 __ovld __cnfn convert_char4_sat(uchar4);
2357303233Sdimchar4 __ovld __cnfn convert_char4_rte(short4);
2358303233Sdimchar4 __ovld __cnfn convert_char4_sat_rte(short4);
2359303233Sdimchar4 __ovld __cnfn convert_char4_rtz(short4);
2360303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtz(short4);
2361303233Sdimchar4 __ovld __cnfn convert_char4_rtp(short4);
2362303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtp(short4);
2363303233Sdimchar4 __ovld __cnfn convert_char4_rtn(short4);
2364303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtn(short4);
2365303233Sdimchar4 __ovld __cnfn convert_char4(short4);
2366303233Sdimchar4 __ovld __cnfn convert_char4_sat(short4);
2367303233Sdimchar4 __ovld __cnfn convert_char4_rte(ushort4);
2368303233Sdimchar4 __ovld __cnfn convert_char4_sat_rte(ushort4);
2369303233Sdimchar4 __ovld __cnfn convert_char4_rtz(ushort4);
2370303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtz(ushort4);
2371303233Sdimchar4 __ovld __cnfn convert_char4_rtp(ushort4);
2372303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtp(ushort4);
2373303233Sdimchar4 __ovld __cnfn convert_char4_rtn(ushort4);
2374303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtn(ushort4);
2375303233Sdimchar4 __ovld __cnfn convert_char4(ushort4);
2376303233Sdimchar4 __ovld __cnfn convert_char4_sat(ushort4);
2377303233Sdimchar4 __ovld __cnfn convert_char4_rte(int4);
2378303233Sdimchar4 __ovld __cnfn convert_char4_sat_rte(int4);
2379303233Sdimchar4 __ovld __cnfn convert_char4_rtz(int4);
2380303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtz(int4);
2381303233Sdimchar4 __ovld __cnfn convert_char4_rtp(int4);
2382303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtp(int4);
2383303233Sdimchar4 __ovld __cnfn convert_char4_rtn(int4);
2384303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtn(int4);
2385303233Sdimchar4 __ovld __cnfn convert_char4(int4);
2386303233Sdimchar4 __ovld __cnfn convert_char4_sat(int4);
2387303233Sdimchar4 __ovld __cnfn convert_char4_rte(uint4);
2388303233Sdimchar4 __ovld __cnfn convert_char4_sat_rte(uint4);
2389303233Sdimchar4 __ovld __cnfn convert_char4_rtz(uint4);
2390303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtz(uint4);
2391303233Sdimchar4 __ovld __cnfn convert_char4_rtp(uint4);
2392303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtp(uint4);
2393303233Sdimchar4 __ovld __cnfn convert_char4_rtn(uint4);
2394303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtn(uint4);
2395303233Sdimchar4 __ovld __cnfn convert_char4(uint4);
2396303233Sdimchar4 __ovld __cnfn convert_char4_sat(uint4);
2397303233Sdimchar4 __ovld __cnfn convert_char4_rte(long4);
2398303233Sdimchar4 __ovld __cnfn convert_char4_sat_rte(long4);
2399303233Sdimchar4 __ovld __cnfn convert_char4_rtz(long4);
2400303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtz(long4);
2401303233Sdimchar4 __ovld __cnfn convert_char4_rtp(long4);
2402303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtp(long4);
2403303233Sdimchar4 __ovld __cnfn convert_char4_rtn(long4);
2404303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtn(long4);
2405303233Sdimchar4 __ovld __cnfn convert_char4(long4);
2406303233Sdimchar4 __ovld __cnfn convert_char4_sat(long4);
2407303233Sdimchar4 __ovld __cnfn convert_char4_rte(ulong4);
2408303233Sdimchar4 __ovld __cnfn convert_char4_sat_rte(ulong4);
2409303233Sdimchar4 __ovld __cnfn convert_char4_rtz(ulong4);
2410303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtz(ulong4);
2411303233Sdimchar4 __ovld __cnfn convert_char4_rtp(ulong4);
2412303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtp(ulong4);
2413303233Sdimchar4 __ovld __cnfn convert_char4_rtn(ulong4);
2414303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtn(ulong4);
2415303233Sdimchar4 __ovld __cnfn convert_char4(ulong4);
2416303233Sdimchar4 __ovld __cnfn convert_char4_sat(ulong4);
2417303233Sdimchar4 __ovld __cnfn convert_char4_rte(float4);
2418303233Sdimchar4 __ovld __cnfn convert_char4_sat_rte(float4);
2419303233Sdimchar4 __ovld __cnfn convert_char4_rtz(float4);
2420303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtz(float4);
2421303233Sdimchar4 __ovld __cnfn convert_char4_rtp(float4);
2422303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtp(float4);
2423303233Sdimchar4 __ovld __cnfn convert_char4_rtn(float4);
2424303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtn(float4);
2425303233Sdimchar4 __ovld __cnfn convert_char4(float4);
2426303233Sdimchar4 __ovld __cnfn convert_char4_sat(float4);
2427303233Sdimuchar4 __ovld __cnfn convert_uchar4_rte(char4);
2428303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rte(char4);
2429303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtz(char4);
2430303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtz(char4);
2431303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtp(char4);
2432303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtp(char4);
2433303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtn(char4);
2434303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtn(char4);
2435303233Sdimuchar4 __ovld __cnfn convert_uchar4(char4);
2436303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat(char4);
2437303233Sdimuchar4 __ovld __cnfn convert_uchar4_rte(uchar4);
2438303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rte(uchar4);
2439303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtz(uchar4);
2440303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtz(uchar4);
2441303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtp(uchar4);
2442303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtp(uchar4);
2443303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtn(uchar4);
2444303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtn(uchar4);
2445303233Sdimuchar4 __ovld __cnfn convert_uchar4(uchar4);
2446303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat(uchar4);
2447303233Sdimuchar4 __ovld __cnfn convert_uchar4_rte(short4);
2448303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rte(short4);
2449303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtz(short4);
2450303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtz(short4);
2451303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtp(short4);
2452303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtp(short4);
2453303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtn(short4);
2454303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtn(short4);
2455303233Sdimuchar4 __ovld __cnfn convert_uchar4(short4);
2456303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat(short4);
2457303233Sdimuchar4 __ovld __cnfn convert_uchar4_rte(ushort4);
2458303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rte(ushort4);
2459303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtz(ushort4);
2460303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtz(ushort4);
2461303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtp(ushort4);
2462303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtp(ushort4);
2463303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtn(ushort4);
2464303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtn(ushort4);
2465303233Sdimuchar4 __ovld __cnfn convert_uchar4(ushort4);
2466303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat(ushort4);
2467303233Sdimuchar4 __ovld __cnfn convert_uchar4_rte(int4);
2468303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rte(int4);
2469303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtz(int4);
2470303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtz(int4);
2471303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtp(int4);
2472303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtp(int4);
2473303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtn(int4);
2474303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtn(int4);
2475303233Sdimuchar4 __ovld __cnfn convert_uchar4(int4);
2476303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat(int4);
2477303233Sdimuchar4 __ovld __cnfn convert_uchar4_rte(uint4);
2478303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rte(uint4);
2479303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtz(uint4);
2480303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtz(uint4);
2481303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtp(uint4);
2482303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtp(uint4);
2483303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtn(uint4);
2484303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtn(uint4);
2485303233Sdimuchar4 __ovld __cnfn convert_uchar4(uint4);
2486303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat(uint4);
2487303233Sdimuchar4 __ovld __cnfn convert_uchar4_rte(long4);
2488303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rte(long4);
2489303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtz(long4);
2490303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtz(long4);
2491303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtp(long4);
2492303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtp(long4);
2493303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtn(long4);
2494303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtn(long4);
2495303233Sdimuchar4 __ovld __cnfn convert_uchar4(long4);
2496303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat(long4);
2497303233Sdimuchar4 __ovld __cnfn convert_uchar4_rte(ulong4);
2498303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rte(ulong4);
2499303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtz(ulong4);
2500303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtz(ulong4);
2501303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtp(ulong4);
2502303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtp(ulong4);
2503303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtn(ulong4);
2504303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtn(ulong4);
2505303233Sdimuchar4 __ovld __cnfn convert_uchar4(ulong4);
2506303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat(ulong4);
2507303233Sdimuchar4 __ovld __cnfn convert_uchar4_rte(float4);
2508303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rte(float4);
2509303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtz(float4);
2510303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtz(float4);
2511303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtp(float4);
2512303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtp(float4);
2513303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtn(float4);
2514303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtn(float4);
2515303233Sdimuchar4 __ovld __cnfn convert_uchar4(float4);
2516303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat(float4);
2517303233Sdimshort4 __ovld __cnfn convert_short4_rte(char4);
2518303233Sdimshort4 __ovld __cnfn convert_short4_sat_rte(char4);
2519303233Sdimshort4 __ovld __cnfn convert_short4_rtz(char4);
2520303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtz(char4);
2521303233Sdimshort4 __ovld __cnfn convert_short4_rtp(char4);
2522303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtp(char4);
2523303233Sdimshort4 __ovld __cnfn convert_short4_rtn(char4);
2524303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtn(char4);
2525303233Sdimshort4 __ovld __cnfn convert_short4(char4);
2526303233Sdimshort4 __ovld __cnfn convert_short4_sat(char4);
2527303233Sdimshort4 __ovld __cnfn convert_short4_rte(uchar4);
2528303233Sdimshort4 __ovld __cnfn convert_short4_sat_rte(uchar4);
2529303233Sdimshort4 __ovld __cnfn convert_short4_rtz(uchar4);
2530303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtz(uchar4);
2531303233Sdimshort4 __ovld __cnfn convert_short4_rtp(uchar4);
2532303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtp(uchar4);
2533303233Sdimshort4 __ovld __cnfn convert_short4_rtn(uchar4);
2534303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtn(uchar4);
2535303233Sdimshort4 __ovld __cnfn convert_short4(uchar4);
2536303233Sdimshort4 __ovld __cnfn convert_short4_sat(uchar4);
2537303233Sdimshort4 __ovld __cnfn convert_short4_rte(short4);
2538303233Sdimshort4 __ovld __cnfn convert_short4_sat_rte(short4);
2539303233Sdimshort4 __ovld __cnfn convert_short4_rtz(short4);
2540303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtz(short4);
2541303233Sdimshort4 __ovld __cnfn convert_short4_rtp(short4);
2542303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtp(short4);
2543303233Sdimshort4 __ovld __cnfn convert_short4_rtn(short4);
2544303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtn(short4);
2545303233Sdimshort4 __ovld __cnfn convert_short4(short4);
2546303233Sdimshort4 __ovld __cnfn convert_short4_sat(short4);
2547303233Sdimshort4 __ovld __cnfn convert_short4_rte(ushort4);
2548303233Sdimshort4 __ovld __cnfn convert_short4_sat_rte(ushort4);
2549303233Sdimshort4 __ovld __cnfn convert_short4_rtz(ushort4);
2550303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtz(ushort4);
2551303233Sdimshort4 __ovld __cnfn convert_short4_rtp(ushort4);
2552303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtp(ushort4);
2553303233Sdimshort4 __ovld __cnfn convert_short4_rtn(ushort4);
2554303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtn(ushort4);
2555303233Sdimshort4 __ovld __cnfn convert_short4(ushort4);
2556303233Sdimshort4 __ovld __cnfn convert_short4_sat(ushort4);
2557303233Sdimshort4 __ovld __cnfn convert_short4_rte(int4);
2558303233Sdimshort4 __ovld __cnfn convert_short4_sat_rte(int4);
2559303233Sdimshort4 __ovld __cnfn convert_short4_rtz(int4);
2560303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtz(int4);
2561303233Sdimshort4 __ovld __cnfn convert_short4_rtp(int4);
2562303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtp(int4);
2563303233Sdimshort4 __ovld __cnfn convert_short4_rtn(int4);
2564303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtn(int4);
2565303233Sdimshort4 __ovld __cnfn convert_short4(int4);
2566303233Sdimshort4 __ovld __cnfn convert_short4_sat(int4);
2567303233Sdimshort4 __ovld __cnfn convert_short4_rte(uint4);
2568303233Sdimshort4 __ovld __cnfn convert_short4_sat_rte(uint4);
2569303233Sdimshort4 __ovld __cnfn convert_short4_rtz(uint4);
2570303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtz(uint4);
2571303233Sdimshort4 __ovld __cnfn convert_short4_rtp(uint4);
2572303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtp(uint4);
2573303233Sdimshort4 __ovld __cnfn convert_short4_rtn(uint4);
2574303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtn(uint4);
2575303233Sdimshort4 __ovld __cnfn convert_short4(uint4);
2576303233Sdimshort4 __ovld __cnfn convert_short4_sat(uint4);
2577303233Sdimshort4 __ovld __cnfn convert_short4_rte(long4);
2578303233Sdimshort4 __ovld __cnfn convert_short4_sat_rte(long4);
2579303233Sdimshort4 __ovld __cnfn convert_short4_rtz(long4);
2580303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtz(long4);
2581303233Sdimshort4 __ovld __cnfn convert_short4_rtp(long4);
2582303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtp(long4);
2583303233Sdimshort4 __ovld __cnfn convert_short4_rtn(long4);
2584303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtn(long4);
2585303233Sdimshort4 __ovld __cnfn convert_short4(long4);
2586303233Sdimshort4 __ovld __cnfn convert_short4_sat(long4);
2587303233Sdimshort4 __ovld __cnfn convert_short4_rte(ulong4);
2588303233Sdimshort4 __ovld __cnfn convert_short4_sat_rte(ulong4);
2589303233Sdimshort4 __ovld __cnfn convert_short4_rtz(ulong4);
2590303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtz(ulong4);
2591303233Sdimshort4 __ovld __cnfn convert_short4_rtp(ulong4);
2592303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtp(ulong4);
2593303233Sdimshort4 __ovld __cnfn convert_short4_rtn(ulong4);
2594303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtn(ulong4);
2595303233Sdimshort4 __ovld __cnfn convert_short4(ulong4);
2596303233Sdimshort4 __ovld __cnfn convert_short4_sat(ulong4);
2597303233Sdimshort4 __ovld __cnfn convert_short4_rte(float4);
2598303233Sdimshort4 __ovld __cnfn convert_short4_sat_rte(float4);
2599303233Sdimshort4 __ovld __cnfn convert_short4_rtz(float4);
2600303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtz(float4);
2601303233Sdimshort4 __ovld __cnfn convert_short4_rtp(float4);
2602303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtp(float4);
2603303233Sdimshort4 __ovld __cnfn convert_short4_rtn(float4);
2604303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtn(float4);
2605303233Sdimshort4 __ovld __cnfn convert_short4(float4);
2606303233Sdimshort4 __ovld __cnfn convert_short4_sat(float4);
2607303233Sdimushort4 __ovld __cnfn convert_ushort4_rte(char4);
2608303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rte(char4);
2609303233Sdimushort4 __ovld __cnfn convert_ushort4_rtz(char4);
2610303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtz(char4);
2611303233Sdimushort4 __ovld __cnfn convert_ushort4_rtp(char4);
2612303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtp(char4);
2613303233Sdimushort4 __ovld __cnfn convert_ushort4_rtn(char4);
2614303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtn(char4);
2615303233Sdimushort4 __ovld __cnfn convert_ushort4(char4);
2616303233Sdimushort4 __ovld __cnfn convert_ushort4_sat(char4);
2617303233Sdimushort4 __ovld __cnfn convert_ushort4_rte(uchar4);
2618303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rte(uchar4);
2619303233Sdimushort4 __ovld __cnfn convert_ushort4_rtz(uchar4);
2620303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtz(uchar4);
2621303233Sdimushort4 __ovld __cnfn convert_ushort4_rtp(uchar4);
2622303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtp(uchar4);
2623303233Sdimushort4 __ovld __cnfn convert_ushort4_rtn(uchar4);
2624303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtn(uchar4);
2625303233Sdimushort4 __ovld __cnfn convert_ushort4(uchar4);
2626303233Sdimushort4 __ovld __cnfn convert_ushort4_sat(uchar4);
2627303233Sdimushort4 __ovld __cnfn convert_ushort4_rte(short4);
2628303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rte(short4);
2629303233Sdimushort4 __ovld __cnfn convert_ushort4_rtz(short4);
2630303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtz(short4);
2631303233Sdimushort4 __ovld __cnfn convert_ushort4_rtp(short4);
2632303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtp(short4);
2633303233Sdimushort4 __ovld __cnfn convert_ushort4_rtn(short4);
2634303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtn(short4);
2635303233Sdimushort4 __ovld __cnfn convert_ushort4(short4);
2636303233Sdimushort4 __ovld __cnfn convert_ushort4_sat(short4);
2637303233Sdimushort4 __ovld __cnfn convert_ushort4_rte(ushort4);
2638303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rte(ushort4);
2639303233Sdimushort4 __ovld __cnfn convert_ushort4_rtz(ushort4);
2640303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtz(ushort4);
2641303233Sdimushort4 __ovld __cnfn convert_ushort4_rtp(ushort4);
2642303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtp(ushort4);
2643303233Sdimushort4 __ovld __cnfn convert_ushort4_rtn(ushort4);
2644303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtn(ushort4);
2645303233Sdimushort4 __ovld __cnfn convert_ushort4(ushort4);
2646303233Sdimushort4 __ovld __cnfn convert_ushort4_sat(ushort4);
2647303233Sdimushort4 __ovld __cnfn convert_ushort4_rte(int4);
2648303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rte(int4);
2649303233Sdimushort4 __ovld __cnfn convert_ushort4_rtz(int4);
2650303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtz(int4);
2651303233Sdimushort4 __ovld __cnfn convert_ushort4_rtp(int4);
2652303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtp(int4);
2653303233Sdimushort4 __ovld __cnfn convert_ushort4_rtn(int4);
2654303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtn(int4);
2655303233Sdimushort4 __ovld __cnfn convert_ushort4(int4);
2656303233Sdimushort4 __ovld __cnfn convert_ushort4_sat(int4);
2657303233Sdimushort4 __ovld __cnfn convert_ushort4_rte(uint4);
2658303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rte(uint4);
2659303233Sdimushort4 __ovld __cnfn convert_ushort4_rtz(uint4);
2660303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtz(uint4);
2661303233Sdimushort4 __ovld __cnfn convert_ushort4_rtp(uint4);
2662303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtp(uint4);
2663303233Sdimushort4 __ovld __cnfn convert_ushort4_rtn(uint4);
2664303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtn(uint4);
2665303233Sdimushort4 __ovld __cnfn convert_ushort4(uint4);
2666303233Sdimushort4 __ovld __cnfn convert_ushort4_sat(uint4);
2667303233Sdimushort4 __ovld __cnfn convert_ushort4_rte(long4);
2668303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rte(long4);
2669303233Sdimushort4 __ovld __cnfn convert_ushort4_rtz(long4);
2670303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtz(long4);
2671303233Sdimushort4 __ovld __cnfn convert_ushort4_rtp(long4);
2672303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtp(long4);
2673303233Sdimushort4 __ovld __cnfn convert_ushort4_rtn(long4);
2674303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtn(long4);
2675303233Sdimushort4 __ovld __cnfn convert_ushort4(long4);
2676303233Sdimushort4 __ovld __cnfn convert_ushort4_sat(long4);
2677303233Sdimushort4 __ovld __cnfn convert_ushort4_rte(ulong4);
2678303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rte(ulong4);
2679303233Sdimushort4 __ovld __cnfn convert_ushort4_rtz(ulong4);
2680303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtz(ulong4);
2681303233Sdimushort4 __ovld __cnfn convert_ushort4_rtp(ulong4);
2682303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtp(ulong4);
2683303233Sdimushort4 __ovld __cnfn convert_ushort4_rtn(ulong4);
2684303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtn(ulong4);
2685303233Sdimushort4 __ovld __cnfn convert_ushort4(ulong4);
2686303233Sdimushort4 __ovld __cnfn convert_ushort4_sat(ulong4);
2687303233Sdimushort4 __ovld __cnfn convert_ushort4_rte(float4);
2688303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rte(float4);
2689303233Sdimushort4 __ovld __cnfn convert_ushort4_rtz(float4);
2690303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtz(float4);
2691303233Sdimushort4 __ovld __cnfn convert_ushort4_rtp(float4);
2692303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtp(float4);
2693303233Sdimushort4 __ovld __cnfn convert_ushort4_rtn(float4);
2694303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtn(float4);
2695303233Sdimushort4 __ovld __cnfn convert_ushort4(float4);
2696303233Sdimushort4 __ovld __cnfn convert_ushort4_sat(float4);
2697303233Sdimint4 __ovld __cnfn convert_int4_rte(char4);
2698303233Sdimint4 __ovld __cnfn convert_int4_sat_rte(char4);
2699303233Sdimint4 __ovld __cnfn convert_int4_rtz(char4);
2700303233Sdimint4 __ovld __cnfn convert_int4_sat_rtz(char4);
2701303233Sdimint4 __ovld __cnfn convert_int4_rtp(char4);
2702303233Sdimint4 __ovld __cnfn convert_int4_sat_rtp(char4);
2703303233Sdimint4 __ovld __cnfn convert_int4_rtn(char4);
2704303233Sdimint4 __ovld __cnfn convert_int4_sat_rtn(char4);
2705303233Sdimint4 __ovld __cnfn convert_int4(char4);
2706303233Sdimint4 __ovld __cnfn convert_int4_sat(char4);
2707303233Sdimint4 __ovld __cnfn convert_int4_rte(uchar4);
2708303233Sdimint4 __ovld __cnfn convert_int4_sat_rte(uchar4);
2709303233Sdimint4 __ovld __cnfn convert_int4_rtz(uchar4);
2710303233Sdimint4 __ovld __cnfn convert_int4_sat_rtz(uchar4);
2711303233Sdimint4 __ovld __cnfn convert_int4_rtp(uchar4);
2712303233Sdimint4 __ovld __cnfn convert_int4_sat_rtp(uchar4);
2713303233Sdimint4 __ovld __cnfn convert_int4_rtn(uchar4);
2714303233Sdimint4 __ovld __cnfn convert_int4_sat_rtn(uchar4);
2715303233Sdimint4 __ovld __cnfn convert_int4(uchar4);
2716303233Sdimint4 __ovld __cnfn convert_int4_sat(uchar4);
2717303233Sdimint4 __ovld __cnfn convert_int4_rte(short4);
2718303233Sdimint4 __ovld __cnfn convert_int4_sat_rte(short4);
2719303233Sdimint4 __ovld __cnfn convert_int4_rtz(short4);
2720303233Sdimint4 __ovld __cnfn convert_int4_sat_rtz(short4);
2721303233Sdimint4 __ovld __cnfn convert_int4_rtp(short4);
2722303233Sdimint4 __ovld __cnfn convert_int4_sat_rtp(short4);
2723303233Sdimint4 __ovld __cnfn convert_int4_rtn(short4);
2724303233Sdimint4 __ovld __cnfn convert_int4_sat_rtn(short4);
2725303233Sdimint4 __ovld __cnfn convert_int4(short4);
2726303233Sdimint4 __ovld __cnfn convert_int4_sat(short4);
2727303233Sdimint4 __ovld __cnfn convert_int4_rte(ushort4);
2728303233Sdimint4 __ovld __cnfn convert_int4_sat_rte(ushort4);
2729303233Sdimint4 __ovld __cnfn convert_int4_rtz(ushort4);
2730303233Sdimint4 __ovld __cnfn convert_int4_sat_rtz(ushort4);
2731303233Sdimint4 __ovld __cnfn convert_int4_rtp(ushort4);
2732303233Sdimint4 __ovld __cnfn convert_int4_sat_rtp(ushort4);
2733303233Sdimint4 __ovld __cnfn convert_int4_rtn(ushort4);
2734303233Sdimint4 __ovld __cnfn convert_int4_sat_rtn(ushort4);
2735303233Sdimint4 __ovld __cnfn convert_int4(ushort4);
2736303233Sdimint4 __ovld __cnfn convert_int4_sat(ushort4);
2737303233Sdimint4 __ovld __cnfn convert_int4_rte(int4);
2738303233Sdimint4 __ovld __cnfn convert_int4_sat_rte(int4);
2739303233Sdimint4 __ovld __cnfn convert_int4_rtz(int4);
2740303233Sdimint4 __ovld __cnfn convert_int4_sat_rtz(int4);
2741303233Sdimint4 __ovld __cnfn convert_int4_rtp(int4);
2742303233Sdimint4 __ovld __cnfn convert_int4_sat_rtp(int4);
2743303233Sdimint4 __ovld __cnfn convert_int4_rtn(int4);
2744303233Sdimint4 __ovld __cnfn convert_int4_sat_rtn(int4);
2745303233Sdimint4 __ovld __cnfn convert_int4(int4);
2746303233Sdimint4 __ovld __cnfn convert_int4_sat(int4);
2747303233Sdimint4 __ovld __cnfn convert_int4_rte(uint4);
2748303233Sdimint4 __ovld __cnfn convert_int4_sat_rte(uint4);
2749303233Sdimint4 __ovld __cnfn convert_int4_rtz(uint4);
2750303233Sdimint4 __ovld __cnfn convert_int4_sat_rtz(uint4);
2751303233Sdimint4 __ovld __cnfn convert_int4_rtp(uint4);
2752303233Sdimint4 __ovld __cnfn convert_int4_sat_rtp(uint4);
2753303233Sdimint4 __ovld __cnfn convert_int4_rtn(uint4);
2754303233Sdimint4 __ovld __cnfn convert_int4_sat_rtn(uint4);
2755303233Sdimint4 __ovld __cnfn convert_int4(uint4);
2756303233Sdimint4 __ovld __cnfn convert_int4_sat(uint4);
2757303233Sdimint4 __ovld __cnfn convert_int4_rte(long4);
2758303233Sdimint4 __ovld __cnfn convert_int4_sat_rte(long4);
2759303233Sdimint4 __ovld __cnfn convert_int4_rtz(long4);
2760303233Sdimint4 __ovld __cnfn convert_int4_sat_rtz(long4);
2761303233Sdimint4 __ovld __cnfn convert_int4_rtp(long4);
2762303233Sdimint4 __ovld __cnfn convert_int4_sat_rtp(long4);
2763303233Sdimint4 __ovld __cnfn convert_int4_rtn(long4);
2764303233Sdimint4 __ovld __cnfn convert_int4_sat_rtn(long4);
2765303233Sdimint4 __ovld __cnfn convert_int4(long4);
2766303233Sdimint4 __ovld __cnfn convert_int4_sat(long4);
2767303233Sdimint4 __ovld __cnfn convert_int4_rte(ulong4);
2768303233Sdimint4 __ovld __cnfn convert_int4_sat_rte(ulong4);
2769303233Sdimint4 __ovld __cnfn convert_int4_rtz(ulong4);
2770303233Sdimint4 __ovld __cnfn convert_int4_sat_rtz(ulong4);
2771303233Sdimint4 __ovld __cnfn convert_int4_rtp(ulong4);
2772303233Sdimint4 __ovld __cnfn convert_int4_sat_rtp(ulong4);
2773303233Sdimint4 __ovld __cnfn convert_int4_rtn(ulong4);
2774303233Sdimint4 __ovld __cnfn convert_int4_sat_rtn(ulong4);
2775303233Sdimint4 __ovld __cnfn convert_int4(ulong4);
2776303233Sdimint4 __ovld __cnfn convert_int4_sat(ulong4);
2777303233Sdimint4 __ovld __cnfn convert_int4_rte(float4);
2778303233Sdimint4 __ovld __cnfn convert_int4_sat_rte(float4);
2779303233Sdimint4 __ovld __cnfn convert_int4_rtz(float4);
2780303233Sdimint4 __ovld __cnfn convert_int4_sat_rtz(float4);
2781303233Sdimint4 __ovld __cnfn convert_int4_rtp(float4);
2782303233Sdimint4 __ovld __cnfn convert_int4_sat_rtp(float4);
2783303233Sdimint4 __ovld __cnfn convert_int4_rtn(float4);
2784303233Sdimint4 __ovld __cnfn convert_int4_sat_rtn(float4);
2785303233Sdimint4 __ovld __cnfn convert_int4(float4);
2786303233Sdimint4 __ovld __cnfn convert_int4_sat(float4);
2787303233Sdimuint4 __ovld __cnfn convert_uint4_rte(char4);
2788303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rte(char4);
2789303233Sdimuint4 __ovld __cnfn convert_uint4_rtz(char4);
2790303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtz(char4);
2791303233Sdimuint4 __ovld __cnfn convert_uint4_rtp(char4);
2792303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtp(char4);
2793303233Sdimuint4 __ovld __cnfn convert_uint4_rtn(char4);
2794303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtn(char4);
2795303233Sdimuint4 __ovld __cnfn convert_uint4(char4);
2796303233Sdimuint4 __ovld __cnfn convert_uint4_sat(char4);
2797303233Sdimuint4 __ovld __cnfn convert_uint4_rte(uchar4);
2798303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rte(uchar4);
2799303233Sdimuint4 __ovld __cnfn convert_uint4_rtz(uchar4);
2800303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtz(uchar4);
2801303233Sdimuint4 __ovld __cnfn convert_uint4_rtp(uchar4);
2802303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtp(uchar4);
2803303233Sdimuint4 __ovld __cnfn convert_uint4_rtn(uchar4);
2804303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtn(uchar4);
2805303233Sdimuint4 __ovld __cnfn convert_uint4(uchar4);
2806303233Sdimuint4 __ovld __cnfn convert_uint4_sat(uchar4);
2807303233Sdimuint4 __ovld __cnfn convert_uint4_rte(short4);
2808303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rte(short4);
2809303233Sdimuint4 __ovld __cnfn convert_uint4_rtz(short4);
2810303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtz(short4);
2811303233Sdimuint4 __ovld __cnfn convert_uint4_rtp(short4);
2812303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtp(short4);
2813303233Sdimuint4 __ovld __cnfn convert_uint4_rtn(short4);
2814303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtn(short4);
2815303233Sdimuint4 __ovld __cnfn convert_uint4(short4);
2816303233Sdimuint4 __ovld __cnfn convert_uint4_sat(short4);
2817303233Sdimuint4 __ovld __cnfn convert_uint4_rte(ushort4);
2818303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rte(ushort4);
2819303233Sdimuint4 __ovld __cnfn convert_uint4_rtz(ushort4);
2820303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtz(ushort4);
2821303233Sdimuint4 __ovld __cnfn convert_uint4_rtp(ushort4);
2822303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtp(ushort4);
2823303233Sdimuint4 __ovld __cnfn convert_uint4_rtn(ushort4);
2824303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtn(ushort4);
2825303233Sdimuint4 __ovld __cnfn convert_uint4(ushort4);
2826303233Sdimuint4 __ovld __cnfn convert_uint4_sat(ushort4);
2827303233Sdimuint4 __ovld __cnfn convert_uint4_rte(int4);
2828303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rte(int4);
2829303233Sdimuint4 __ovld __cnfn convert_uint4_rtz(int4);
2830303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtz(int4);
2831303233Sdimuint4 __ovld __cnfn convert_uint4_rtp(int4);
2832303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtp(int4);
2833303233Sdimuint4 __ovld __cnfn convert_uint4_rtn(int4);
2834303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtn(int4);
2835303233Sdimuint4 __ovld __cnfn convert_uint4(int4);
2836303233Sdimuint4 __ovld __cnfn convert_uint4_sat(int4);
2837303233Sdimuint4 __ovld __cnfn convert_uint4_rte(uint4);
2838303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rte(uint4);
2839303233Sdimuint4 __ovld __cnfn convert_uint4_rtz(uint4);
2840303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtz(uint4);
2841303233Sdimuint4 __ovld __cnfn convert_uint4_rtp(uint4);
2842303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtp(uint4);
2843303233Sdimuint4 __ovld __cnfn convert_uint4_rtn(uint4);
2844303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtn(uint4);
2845303233Sdimuint4 __ovld __cnfn convert_uint4(uint4);
2846303233Sdimuint4 __ovld __cnfn convert_uint4_sat(uint4);
2847303233Sdimuint4 __ovld __cnfn convert_uint4_rte(long4);
2848303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rte(long4);
2849303233Sdimuint4 __ovld __cnfn convert_uint4_rtz(long4);
2850303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtz(long4);
2851303233Sdimuint4 __ovld __cnfn convert_uint4_rtp(long4);
2852303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtp(long4);
2853303233Sdimuint4 __ovld __cnfn convert_uint4_rtn(long4);
2854303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtn(long4);
2855303233Sdimuint4 __ovld __cnfn convert_uint4(long4);
2856303233Sdimuint4 __ovld __cnfn convert_uint4_sat(long4);
2857303233Sdimuint4 __ovld __cnfn convert_uint4_rte(ulong4);
2858303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rte(ulong4);
2859303233Sdimuint4 __ovld __cnfn convert_uint4_rtz(ulong4);
2860303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtz(ulong4);
2861303233Sdimuint4 __ovld __cnfn convert_uint4_rtp(ulong4);
2862303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtp(ulong4);
2863303233Sdimuint4 __ovld __cnfn convert_uint4_rtn(ulong4);
2864303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtn(ulong4);
2865303233Sdimuint4 __ovld __cnfn convert_uint4(ulong4);
2866303233Sdimuint4 __ovld __cnfn convert_uint4_sat(ulong4);
2867303233Sdimuint4 __ovld __cnfn convert_uint4_rte(float4);
2868303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rte(float4);
2869303233Sdimuint4 __ovld __cnfn convert_uint4_rtz(float4);
2870303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtz(float4);
2871303233Sdimuint4 __ovld __cnfn convert_uint4_rtp(float4);
2872303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtp(float4);
2873303233Sdimuint4 __ovld __cnfn convert_uint4_rtn(float4);
2874303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtn(float4);
2875303233Sdimuint4 __ovld __cnfn convert_uint4(float4);
2876303233Sdimuint4 __ovld __cnfn convert_uint4_sat(float4);
2877303233Sdimlong4 __ovld __cnfn convert_long4_rte(char4);
2878303233Sdimlong4 __ovld __cnfn convert_long4_sat_rte(char4);
2879303233Sdimlong4 __ovld __cnfn convert_long4_rtz(char4);
2880303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtz(char4);
2881303233Sdimlong4 __ovld __cnfn convert_long4_rtp(char4);
2882303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtp(char4);
2883303233Sdimlong4 __ovld __cnfn convert_long4_rtn(char4);
2884303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtn(char4);
2885303233Sdimlong4 __ovld __cnfn convert_long4(char4);
2886303233Sdimlong4 __ovld __cnfn convert_long4_sat(char4);
2887303233Sdimlong4 __ovld __cnfn convert_long4_rte(uchar4);
2888303233Sdimlong4 __ovld __cnfn convert_long4_sat_rte(uchar4);
2889303233Sdimlong4 __ovld __cnfn convert_long4_rtz(uchar4);
2890303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtz(uchar4);
2891303233Sdimlong4 __ovld __cnfn convert_long4_rtp(uchar4);
2892303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtp(uchar4);
2893303233Sdimlong4 __ovld __cnfn convert_long4_rtn(uchar4);
2894303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtn(uchar4);
2895303233Sdimlong4 __ovld __cnfn convert_long4(uchar4);
2896303233Sdimlong4 __ovld __cnfn convert_long4_sat(uchar4);
2897303233Sdimlong4 __ovld __cnfn convert_long4_rte(short4);
2898303233Sdimlong4 __ovld __cnfn convert_long4_sat_rte(short4);
2899303233Sdimlong4 __ovld __cnfn convert_long4_rtz(short4);
2900303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtz(short4);
2901303233Sdimlong4 __ovld __cnfn convert_long4_rtp(short4);
2902303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtp(short4);
2903303233Sdimlong4 __ovld __cnfn convert_long4_rtn(short4);
2904303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtn(short4);
2905303233Sdimlong4 __ovld __cnfn convert_long4(short4);
2906303233Sdimlong4 __ovld __cnfn convert_long4_sat(short4);
2907303233Sdimlong4 __ovld __cnfn convert_long4_rte(ushort4);
2908303233Sdimlong4 __ovld __cnfn convert_long4_sat_rte(ushort4);
2909303233Sdimlong4 __ovld __cnfn convert_long4_rtz(ushort4);
2910303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtz(ushort4);
2911303233Sdimlong4 __ovld __cnfn convert_long4_rtp(ushort4);
2912303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtp(ushort4);
2913303233Sdimlong4 __ovld __cnfn convert_long4_rtn(ushort4);
2914303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtn(ushort4);
2915303233Sdimlong4 __ovld __cnfn convert_long4(ushort4);
2916303233Sdimlong4 __ovld __cnfn convert_long4_sat(ushort4);
2917303233Sdimlong4 __ovld __cnfn convert_long4_rte(int4);
2918303233Sdimlong4 __ovld __cnfn convert_long4_sat_rte(int4);
2919303233Sdimlong4 __ovld __cnfn convert_long4_rtz(int4);
2920303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtz(int4);
2921303233Sdimlong4 __ovld __cnfn convert_long4_rtp(int4);
2922303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtp(int4);
2923303233Sdimlong4 __ovld __cnfn convert_long4_rtn(int4);
2924303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtn(int4);
2925303233Sdimlong4 __ovld __cnfn convert_long4(int4);
2926303233Sdimlong4 __ovld __cnfn convert_long4_sat(int4);
2927303233Sdimlong4 __ovld __cnfn convert_long4_rte(uint4);
2928303233Sdimlong4 __ovld __cnfn convert_long4_sat_rte(uint4);
2929303233Sdimlong4 __ovld __cnfn convert_long4_rtz(uint4);
2930303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtz(uint4);
2931303233Sdimlong4 __ovld __cnfn convert_long4_rtp(uint4);
2932303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtp(uint4);
2933303233Sdimlong4 __ovld __cnfn convert_long4_rtn(uint4);
2934303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtn(uint4);
2935303233Sdimlong4 __ovld __cnfn convert_long4(uint4);
2936303233Sdimlong4 __ovld __cnfn convert_long4_sat(uint4);
2937303233Sdimlong4 __ovld __cnfn convert_long4_rte(long4);
2938303233Sdimlong4 __ovld __cnfn convert_long4_sat_rte(long4);
2939303233Sdimlong4 __ovld __cnfn convert_long4_rtz(long4);
2940303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtz(long4);
2941303233Sdimlong4 __ovld __cnfn convert_long4_rtp(long4);
2942303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtp(long4);
2943303233Sdimlong4 __ovld __cnfn convert_long4_rtn(long4);
2944303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtn(long4);
2945303233Sdimlong4 __ovld __cnfn convert_long4(long4);
2946303233Sdimlong4 __ovld __cnfn convert_long4_sat(long4);
2947303233Sdimlong4 __ovld __cnfn convert_long4_rte(ulong4);
2948303233Sdimlong4 __ovld __cnfn convert_long4_sat_rte(ulong4);
2949303233Sdimlong4 __ovld __cnfn convert_long4_rtz(ulong4);
2950303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtz(ulong4);
2951303233Sdimlong4 __ovld __cnfn convert_long4_rtp(ulong4);
2952303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtp(ulong4);
2953303233Sdimlong4 __ovld __cnfn convert_long4_rtn(ulong4);
2954303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtn(ulong4);
2955303233Sdimlong4 __ovld __cnfn convert_long4(ulong4);
2956303233Sdimlong4 __ovld __cnfn convert_long4_sat(ulong4);
2957303233Sdimlong4 __ovld __cnfn convert_long4_rte(float4);
2958303233Sdimlong4 __ovld __cnfn convert_long4_sat_rte(float4);
2959303233Sdimlong4 __ovld __cnfn convert_long4_rtz(float4);
2960303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtz(float4);
2961303233Sdimlong4 __ovld __cnfn convert_long4_rtp(float4);
2962303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtp(float4);
2963303233Sdimlong4 __ovld __cnfn convert_long4_rtn(float4);
2964303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtn(float4);
2965303233Sdimlong4 __ovld __cnfn convert_long4(float4);
2966303233Sdimlong4 __ovld __cnfn convert_long4_sat(float4);
2967303233Sdimulong4 __ovld __cnfn convert_ulong4_rte(char4);
2968303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rte(char4);
2969303233Sdimulong4 __ovld __cnfn convert_ulong4_rtz(char4);
2970303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtz(char4);
2971303233Sdimulong4 __ovld __cnfn convert_ulong4_rtp(char4);
2972303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtp(char4);
2973303233Sdimulong4 __ovld __cnfn convert_ulong4_rtn(char4);
2974303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtn(char4);
2975303233Sdimulong4 __ovld __cnfn convert_ulong4(char4);
2976303233Sdimulong4 __ovld __cnfn convert_ulong4_sat(char4);
2977303233Sdimulong4 __ovld __cnfn convert_ulong4_rte(uchar4);
2978303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rte(uchar4);
2979303233Sdimulong4 __ovld __cnfn convert_ulong4_rtz(uchar4);
2980303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtz(uchar4);
2981303233Sdimulong4 __ovld __cnfn convert_ulong4_rtp(uchar4);
2982303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtp(uchar4);
2983303233Sdimulong4 __ovld __cnfn convert_ulong4_rtn(uchar4);
2984303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtn(uchar4);
2985303233Sdimulong4 __ovld __cnfn convert_ulong4(uchar4);
2986303233Sdimulong4 __ovld __cnfn convert_ulong4_sat(uchar4);
2987303233Sdimulong4 __ovld __cnfn convert_ulong4_rte(short4);
2988303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rte(short4);
2989303233Sdimulong4 __ovld __cnfn convert_ulong4_rtz(short4);
2990303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtz(short4);
2991303233Sdimulong4 __ovld __cnfn convert_ulong4_rtp(short4);
2992303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtp(short4);
2993303233Sdimulong4 __ovld __cnfn convert_ulong4_rtn(short4);
2994303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtn(short4);
2995303233Sdimulong4 __ovld __cnfn convert_ulong4(short4);
2996303233Sdimulong4 __ovld __cnfn convert_ulong4_sat(short4);
2997303233Sdimulong4 __ovld __cnfn convert_ulong4_rte(ushort4);
2998303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rte(ushort4);
2999303233Sdimulong4 __ovld __cnfn convert_ulong4_rtz(ushort4);
3000303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtz(ushort4);
3001303233Sdimulong4 __ovld __cnfn convert_ulong4_rtp(ushort4);
3002303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtp(ushort4);
3003303233Sdimulong4 __ovld __cnfn convert_ulong4_rtn(ushort4);
3004303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtn(ushort4);
3005303233Sdimulong4 __ovld __cnfn convert_ulong4(ushort4);
3006303233Sdimulong4 __ovld __cnfn convert_ulong4_sat(ushort4);
3007303233Sdimulong4 __ovld __cnfn convert_ulong4_rte(int4);
3008303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rte(int4);
3009303233Sdimulong4 __ovld __cnfn convert_ulong4_rtz(int4);
3010303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtz(int4);
3011303233Sdimulong4 __ovld __cnfn convert_ulong4_rtp(int4);
3012303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtp(int4);
3013303233Sdimulong4 __ovld __cnfn convert_ulong4_rtn(int4);
3014303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtn(int4);
3015303233Sdimulong4 __ovld __cnfn convert_ulong4(int4);
3016303233Sdimulong4 __ovld __cnfn convert_ulong4_sat(int4);
3017303233Sdimulong4 __ovld __cnfn convert_ulong4_rte(uint4);
3018303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rte(uint4);
3019303233Sdimulong4 __ovld __cnfn convert_ulong4_rtz(uint4);
3020303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtz(uint4);
3021303233Sdimulong4 __ovld __cnfn convert_ulong4_rtp(uint4);
3022303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtp(uint4);
3023303233Sdimulong4 __ovld __cnfn convert_ulong4_rtn(uint4);
3024303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtn(uint4);
3025303233Sdimulong4 __ovld __cnfn convert_ulong4(uint4);
3026303233Sdimulong4 __ovld __cnfn convert_ulong4_sat(uint4);
3027303233Sdimulong4 __ovld __cnfn convert_ulong4_rte(long4);
3028303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rte(long4);
3029303233Sdimulong4 __ovld __cnfn convert_ulong4_rtz(long4);
3030303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtz(long4);
3031303233Sdimulong4 __ovld __cnfn convert_ulong4_rtp(long4);
3032303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtp(long4);
3033303233Sdimulong4 __ovld __cnfn convert_ulong4_rtn(long4);
3034303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtn(long4);
3035303233Sdimulong4 __ovld __cnfn convert_ulong4(long4);
3036303233Sdimulong4 __ovld __cnfn convert_ulong4_sat(long4);
3037303233Sdimulong4 __ovld __cnfn convert_ulong4_rte(ulong4);
3038303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rte(ulong4);
3039303233Sdimulong4 __ovld __cnfn convert_ulong4_rtz(ulong4);
3040303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtz(ulong4);
3041303233Sdimulong4 __ovld __cnfn convert_ulong4_rtp(ulong4);
3042303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtp(ulong4);
3043303233Sdimulong4 __ovld __cnfn convert_ulong4_rtn(ulong4);
3044303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtn(ulong4);
3045303233Sdimulong4 __ovld __cnfn convert_ulong4(ulong4);
3046303233Sdimulong4 __ovld __cnfn convert_ulong4_sat(ulong4);
3047303233Sdimulong4 __ovld __cnfn convert_ulong4_rte(float4);
3048303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rte(float4);
3049303233Sdimulong4 __ovld __cnfn convert_ulong4_rtz(float4);
3050303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtz(float4);
3051303233Sdimulong4 __ovld __cnfn convert_ulong4_rtp(float4);
3052303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtp(float4);
3053303233Sdimulong4 __ovld __cnfn convert_ulong4_rtn(float4);
3054303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtn(float4);
3055303233Sdimulong4 __ovld __cnfn convert_ulong4(float4);
3056303233Sdimulong4 __ovld __cnfn convert_ulong4_sat(float4);
3057303233Sdimfloat4 __ovld __cnfn convert_float4_rte(char4);
3058303233Sdimfloat4 __ovld __cnfn convert_float4_rtz(char4);
3059303233Sdimfloat4 __ovld __cnfn convert_float4_rtp(char4);
3060303233Sdimfloat4 __ovld __cnfn convert_float4_rtn(char4);
3061303233Sdimfloat4 __ovld __cnfn convert_float4(char4);
3062303233Sdimfloat4 __ovld __cnfn convert_float4_rte(uchar4);
3063303233Sdimfloat4 __ovld __cnfn convert_float4_rtz(uchar4);
3064303233Sdimfloat4 __ovld __cnfn convert_float4_rtp(uchar4);
3065303233Sdimfloat4 __ovld __cnfn convert_float4_rtn(uchar4);
3066303233Sdimfloat4 __ovld __cnfn convert_float4(uchar4);
3067303233Sdimfloat4 __ovld __cnfn convert_float4_rte(short4);
3068303233Sdimfloat4 __ovld __cnfn convert_float4_rtz(short4);
3069303233Sdimfloat4 __ovld __cnfn convert_float4_rtp(short4);
3070303233Sdimfloat4 __ovld __cnfn convert_float4_rtn(short4);
3071303233Sdimfloat4 __ovld __cnfn convert_float4(short4);
3072303233Sdimfloat4 __ovld __cnfn convert_float4_rte(ushort4);
3073303233Sdimfloat4 __ovld __cnfn convert_float4_rtz(ushort4);
3074303233Sdimfloat4 __ovld __cnfn convert_float4_rtp(ushort4);
3075303233Sdimfloat4 __ovld __cnfn convert_float4_rtn(ushort4);
3076303233Sdimfloat4 __ovld __cnfn convert_float4(ushort4);
3077303233Sdimfloat4 __ovld __cnfn convert_float4_rte(int4);
3078303233Sdimfloat4 __ovld __cnfn convert_float4_rtz(int4);
3079303233Sdimfloat4 __ovld __cnfn convert_float4_rtp(int4);
3080303233Sdimfloat4 __ovld __cnfn convert_float4_rtn(int4);
3081303233Sdimfloat4 __ovld __cnfn convert_float4(int4);
3082303233Sdimfloat4 __ovld __cnfn convert_float4_rte(uint4);
3083303233Sdimfloat4 __ovld __cnfn convert_float4_rtz(uint4);
3084303233Sdimfloat4 __ovld __cnfn convert_float4_rtp(uint4);
3085303233Sdimfloat4 __ovld __cnfn convert_float4_rtn(uint4);
3086303233Sdimfloat4 __ovld __cnfn convert_float4(uint4);
3087303233Sdimfloat4 __ovld __cnfn convert_float4_rte(long4);
3088303233Sdimfloat4 __ovld __cnfn convert_float4_rtz(long4);
3089303233Sdimfloat4 __ovld __cnfn convert_float4_rtp(long4);
3090303233Sdimfloat4 __ovld __cnfn convert_float4_rtn(long4);
3091303233Sdimfloat4 __ovld __cnfn convert_float4(long4);
3092303233Sdimfloat4 __ovld __cnfn convert_float4_rte(ulong4);
3093303233Sdimfloat4 __ovld __cnfn convert_float4_rtz(ulong4);
3094303233Sdimfloat4 __ovld __cnfn convert_float4_rtp(ulong4);
3095303233Sdimfloat4 __ovld __cnfn convert_float4_rtn(ulong4);
3096303233Sdimfloat4 __ovld __cnfn convert_float4(ulong4);
3097303233Sdimfloat4 __ovld __cnfn convert_float4_rte(float4);
3098303233Sdimfloat4 __ovld __cnfn convert_float4_rtz(float4);
3099303233Sdimfloat4 __ovld __cnfn convert_float4_rtp(float4);
3100303233Sdimfloat4 __ovld __cnfn convert_float4_rtn(float4);
3101303233Sdimfloat4 __ovld __cnfn convert_float4(float4);
3102303233Sdimchar8 __ovld __cnfn convert_char8_rte(char8);
3103303233Sdimchar8 __ovld __cnfn convert_char8_sat_rte(char8);
3104303233Sdimchar8 __ovld __cnfn convert_char8_rtz(char8);
3105303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtz(char8);
3106303233Sdimchar8 __ovld __cnfn convert_char8_rtp(char8);
3107303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtp(char8);
3108303233Sdimchar8 __ovld __cnfn convert_char8_rtn(char8);
3109303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtn(char8);
3110303233Sdimchar8 __ovld __cnfn convert_char8(char8);
3111303233Sdimchar8 __ovld __cnfn convert_char8_sat(char8);
3112303233Sdimchar8 __ovld __cnfn convert_char8_rte(uchar8);
3113303233Sdimchar8 __ovld __cnfn convert_char8_sat_rte(uchar8);
3114303233Sdimchar8 __ovld __cnfn convert_char8_rtz(uchar8);
3115303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtz(uchar8);
3116303233Sdimchar8 __ovld __cnfn convert_char8_rtp(uchar8);
3117303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtp(uchar8);
3118303233Sdimchar8 __ovld __cnfn convert_char8_rtn(uchar8);
3119303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtn(uchar8);
3120303233Sdimchar8 __ovld __cnfn convert_char8(uchar8);
3121303233Sdimchar8 __ovld __cnfn convert_char8_sat(uchar8);
3122303233Sdimchar8 __ovld __cnfn convert_char8_rte(short8);
3123303233Sdimchar8 __ovld __cnfn convert_char8_sat_rte(short8);
3124303233Sdimchar8 __ovld __cnfn convert_char8_rtz(short8);
3125303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtz(short8);
3126303233Sdimchar8 __ovld __cnfn convert_char8_rtp(short8);
3127303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtp(short8);
3128303233Sdimchar8 __ovld __cnfn convert_char8_rtn(short8);
3129303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtn(short8);
3130303233Sdimchar8 __ovld __cnfn convert_char8(short8);
3131303233Sdimchar8 __ovld __cnfn convert_char8_sat(short8);
3132303233Sdimchar8 __ovld __cnfn convert_char8_rte(ushort8);
3133303233Sdimchar8 __ovld __cnfn convert_char8_sat_rte(ushort8);
3134303233Sdimchar8 __ovld __cnfn convert_char8_rtz(ushort8);
3135303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtz(ushort8);
3136303233Sdimchar8 __ovld __cnfn convert_char8_rtp(ushort8);
3137303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtp(ushort8);
3138303233Sdimchar8 __ovld __cnfn convert_char8_rtn(ushort8);
3139303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtn(ushort8);
3140303233Sdimchar8 __ovld __cnfn convert_char8(ushort8);
3141303233Sdimchar8 __ovld __cnfn convert_char8_sat(ushort8);
3142303233Sdimchar8 __ovld __cnfn convert_char8_rte(int8);
3143303233Sdimchar8 __ovld __cnfn convert_char8_sat_rte(int8);
3144303233Sdimchar8 __ovld __cnfn convert_char8_rtz(int8);
3145303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtz(int8);
3146303233Sdimchar8 __ovld __cnfn convert_char8_rtp(int8);
3147303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtp(int8);
3148303233Sdimchar8 __ovld __cnfn convert_char8_rtn(int8);
3149303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtn(int8);
3150303233Sdimchar8 __ovld __cnfn convert_char8(int8);
3151303233Sdimchar8 __ovld __cnfn convert_char8_sat(int8);
3152303233Sdimchar8 __ovld __cnfn convert_char8_rte(uint8);
3153303233Sdimchar8 __ovld __cnfn convert_char8_sat_rte(uint8);
3154303233Sdimchar8 __ovld __cnfn convert_char8_rtz(uint8);
3155303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtz(uint8);
3156303233Sdimchar8 __ovld __cnfn convert_char8_rtp(uint8);
3157303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtp(uint8);
3158303233Sdimchar8 __ovld __cnfn convert_char8_rtn(uint8);
3159303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtn(uint8);
3160303233Sdimchar8 __ovld __cnfn convert_char8(uint8);
3161303233Sdimchar8 __ovld __cnfn convert_char8_sat(uint8);
3162303233Sdimchar8 __ovld __cnfn convert_char8_rte(long8);
3163303233Sdimchar8 __ovld __cnfn convert_char8_sat_rte(long8);
3164303233Sdimchar8 __ovld __cnfn convert_char8_rtz(long8);
3165303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtz(long8);
3166303233Sdimchar8 __ovld __cnfn convert_char8_rtp(long8);
3167303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtp(long8);
3168303233Sdimchar8 __ovld __cnfn convert_char8_rtn(long8);
3169303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtn(long8);
3170303233Sdimchar8 __ovld __cnfn convert_char8(long8);
3171303233Sdimchar8 __ovld __cnfn convert_char8_sat(long8);
3172303233Sdimchar8 __ovld __cnfn convert_char8_rte(ulong8);
3173303233Sdimchar8 __ovld __cnfn convert_char8_sat_rte(ulong8);
3174303233Sdimchar8 __ovld __cnfn convert_char8_rtz(ulong8);
3175303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtz(ulong8);
3176303233Sdimchar8 __ovld __cnfn convert_char8_rtp(ulong8);
3177303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtp(ulong8);
3178303233Sdimchar8 __ovld __cnfn convert_char8_rtn(ulong8);
3179303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtn(ulong8);
3180303233Sdimchar8 __ovld __cnfn convert_char8(ulong8);
3181303233Sdimchar8 __ovld __cnfn convert_char8_sat(ulong8);
3182303233Sdimchar8 __ovld __cnfn convert_char8_rte(float8);
3183303233Sdimchar8 __ovld __cnfn convert_char8_sat_rte(float8);
3184303233Sdimchar8 __ovld __cnfn convert_char8_rtz(float8);
3185303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtz(float8);
3186303233Sdimchar8 __ovld __cnfn convert_char8_rtp(float8);
3187303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtp(float8);
3188303233Sdimchar8 __ovld __cnfn convert_char8_rtn(float8);
3189303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtn(float8);
3190303233Sdimchar8 __ovld __cnfn convert_char8(float8);
3191303233Sdimchar8 __ovld __cnfn convert_char8_sat(float8);
3192303233Sdimuchar8 __ovld __cnfn convert_uchar8_rte(char8);
3193303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rte(char8);
3194303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtz(char8);
3195303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtz(char8);
3196303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtp(char8);
3197303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtp(char8);
3198303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtn(char8);
3199303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtn(char8);
3200303233Sdimuchar8 __ovld __cnfn convert_uchar8(char8);
3201303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat(char8);
3202303233Sdimuchar8 __ovld __cnfn convert_uchar8_rte(uchar8);
3203303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rte(uchar8);
3204303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtz(uchar8);
3205303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtz(uchar8);
3206303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtp(uchar8);
3207303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtp(uchar8);
3208303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtn(uchar8);
3209303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtn(uchar8);
3210303233Sdimuchar8 __ovld __cnfn convert_uchar8(uchar8);
3211303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat(uchar8);
3212303233Sdimuchar8 __ovld __cnfn convert_uchar8_rte(short8);
3213303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rte(short8);
3214303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtz(short8);
3215303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtz(short8);
3216303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtp(short8);
3217303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtp(short8);
3218303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtn(short8);
3219303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtn(short8);
3220303233Sdimuchar8 __ovld __cnfn convert_uchar8(short8);
3221303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat(short8);
3222303233Sdimuchar8 __ovld __cnfn convert_uchar8_rte(ushort8);
3223303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rte(ushort8);
3224303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtz(ushort8);
3225303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtz(ushort8);
3226303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtp(ushort8);
3227303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtp(ushort8);
3228303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtn(ushort8);
3229303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtn(ushort8);
3230303233Sdimuchar8 __ovld __cnfn convert_uchar8(ushort8);
3231303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat(ushort8);
3232303233Sdimuchar8 __ovld __cnfn convert_uchar8_rte(int8);
3233303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rte(int8);
3234303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtz(int8);
3235303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtz(int8);
3236303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtp(int8);
3237303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtp(int8);
3238303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtn(int8);
3239303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtn(int8);
3240303233Sdimuchar8 __ovld __cnfn convert_uchar8(int8);
3241303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat(int8);
3242303233Sdimuchar8 __ovld __cnfn convert_uchar8_rte(uint8);
3243303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rte(uint8);
3244303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtz(uint8);
3245303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtz(uint8);
3246303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtp(uint8);
3247303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtp(uint8);
3248303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtn(uint8);
3249303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtn(uint8);
3250303233Sdimuchar8 __ovld __cnfn convert_uchar8(uint8);
3251303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat(uint8);
3252303233Sdimuchar8 __ovld __cnfn convert_uchar8_rte(long8);
3253303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rte(long8);
3254303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtz(long8);
3255303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtz(long8);
3256303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtp(long8);
3257303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtp(long8);
3258303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtn(long8);
3259303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtn(long8);
3260303233Sdimuchar8 __ovld __cnfn convert_uchar8(long8);
3261303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat(long8);
3262303233Sdimuchar8 __ovld __cnfn convert_uchar8_rte(ulong8);
3263303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rte(ulong8);
3264303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtz(ulong8);
3265303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtz(ulong8);
3266303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtp(ulong8);
3267303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtp(ulong8);
3268303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtn(ulong8);
3269303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtn(ulong8);
3270303233Sdimuchar8 __ovld __cnfn convert_uchar8(ulong8);
3271303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat(ulong8);
3272303233Sdimuchar8 __ovld __cnfn convert_uchar8_rte(float8);
3273303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rte(float8);
3274303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtz(float8);
3275303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtz(float8);
3276303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtp(float8);
3277303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtp(float8);
3278303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtn(float8);
3279303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtn(float8);
3280303233Sdimuchar8 __ovld __cnfn convert_uchar8(float8);
3281303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat(float8);
3282303233Sdimshort8 __ovld __cnfn convert_short8_rte(char8);
3283303233Sdimshort8 __ovld __cnfn convert_short8_sat_rte(char8);
3284303233Sdimshort8 __ovld __cnfn convert_short8_rtz(char8);
3285303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtz(char8);
3286303233Sdimshort8 __ovld __cnfn convert_short8_rtp(char8);
3287303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtp(char8);
3288303233Sdimshort8 __ovld __cnfn convert_short8_rtn(char8);
3289303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtn(char8);
3290303233Sdimshort8 __ovld __cnfn convert_short8(char8);
3291303233Sdimshort8 __ovld __cnfn convert_short8_sat(char8);
3292303233Sdimshort8 __ovld __cnfn convert_short8_rte(uchar8);
3293303233Sdimshort8 __ovld __cnfn convert_short8_sat_rte(uchar8);
3294303233Sdimshort8 __ovld __cnfn convert_short8_rtz(uchar8);
3295303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtz(uchar8);
3296303233Sdimshort8 __ovld __cnfn convert_short8_rtp(uchar8);
3297303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtp(uchar8);
3298303233Sdimshort8 __ovld __cnfn convert_short8_rtn(uchar8);
3299303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtn(uchar8);
3300303233Sdimshort8 __ovld __cnfn convert_short8(uchar8);
3301303233Sdimshort8 __ovld __cnfn convert_short8_sat(uchar8);
3302303233Sdimshort8 __ovld __cnfn convert_short8_rte(short8);
3303303233Sdimshort8 __ovld __cnfn convert_short8_sat_rte(short8);
3304303233Sdimshort8 __ovld __cnfn convert_short8_rtz(short8);
3305303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtz(short8);
3306303233Sdimshort8 __ovld __cnfn convert_short8_rtp(short8);
3307303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtp(short8);
3308303233Sdimshort8 __ovld __cnfn convert_short8_rtn(short8);
3309303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtn(short8);
3310303233Sdimshort8 __ovld __cnfn convert_short8(short8);
3311303233Sdimshort8 __ovld __cnfn convert_short8_sat(short8);
3312303233Sdimshort8 __ovld __cnfn convert_short8_rte(ushort8);
3313303233Sdimshort8 __ovld __cnfn convert_short8_sat_rte(ushort8);
3314303233Sdimshort8 __ovld __cnfn convert_short8_rtz(ushort8);
3315303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtz(ushort8);
3316303233Sdimshort8 __ovld __cnfn convert_short8_rtp(ushort8);
3317303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtp(ushort8);
3318303233Sdimshort8 __ovld __cnfn convert_short8_rtn(ushort8);
3319303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtn(ushort8);
3320303233Sdimshort8 __ovld __cnfn convert_short8(ushort8);
3321303233Sdimshort8 __ovld __cnfn convert_short8_sat(ushort8);
3322303233Sdimshort8 __ovld __cnfn convert_short8_rte(int8);
3323303233Sdimshort8 __ovld __cnfn convert_short8_sat_rte(int8);
3324303233Sdimshort8 __ovld __cnfn convert_short8_rtz(int8);
3325303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtz(int8);
3326303233Sdimshort8 __ovld __cnfn convert_short8_rtp(int8);
3327303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtp(int8);
3328303233Sdimshort8 __ovld __cnfn convert_short8_rtn(int8);
3329303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtn(int8);
3330303233Sdimshort8 __ovld __cnfn convert_short8(int8);
3331303233Sdimshort8 __ovld __cnfn convert_short8_sat(int8);
3332303233Sdimshort8 __ovld __cnfn convert_short8_rte(uint8);
3333303233Sdimshort8 __ovld __cnfn convert_short8_sat_rte(uint8);
3334303233Sdimshort8 __ovld __cnfn convert_short8_rtz(uint8);
3335303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtz(uint8);
3336303233Sdimshort8 __ovld __cnfn convert_short8_rtp(uint8);
3337303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtp(uint8);
3338303233Sdimshort8 __ovld __cnfn convert_short8_rtn(uint8);
3339303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtn(uint8);
3340303233Sdimshort8 __ovld __cnfn convert_short8(uint8);
3341303233Sdimshort8 __ovld __cnfn convert_short8_sat(uint8);
3342303233Sdimshort8 __ovld __cnfn convert_short8_rte(long8);
3343303233Sdimshort8 __ovld __cnfn convert_short8_sat_rte(long8);
3344303233Sdimshort8 __ovld __cnfn convert_short8_rtz(long8);
3345303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtz(long8);
3346303233Sdimshort8 __ovld __cnfn convert_short8_rtp(long8);
3347303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtp(long8);
3348303233Sdimshort8 __ovld __cnfn convert_short8_rtn(long8);
3349303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtn(long8);
3350303233Sdimshort8 __ovld __cnfn convert_short8(long8);
3351303233Sdimshort8 __ovld __cnfn convert_short8_sat(long8);
3352303233Sdimshort8 __ovld __cnfn convert_short8_rte(ulong8);
3353303233Sdimshort8 __ovld __cnfn convert_short8_sat_rte(ulong8);
3354303233Sdimshort8 __ovld __cnfn convert_short8_rtz(ulong8);
3355303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtz(ulong8);
3356303233Sdimshort8 __ovld __cnfn convert_short8_rtp(ulong8);
3357303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtp(ulong8);
3358303233Sdimshort8 __ovld __cnfn convert_short8_rtn(ulong8);
3359303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtn(ulong8);
3360303233Sdimshort8 __ovld __cnfn convert_short8(ulong8);
3361303233Sdimshort8 __ovld __cnfn convert_short8_sat(ulong8);
3362303233Sdimshort8 __ovld __cnfn convert_short8_rte(float8);
3363303233Sdimshort8 __ovld __cnfn convert_short8_sat_rte(float8);
3364303233Sdimshort8 __ovld __cnfn convert_short8_rtz(float8);
3365303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtz(float8);
3366303233Sdimshort8 __ovld __cnfn convert_short8_rtp(float8);
3367303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtp(float8);
3368303233Sdimshort8 __ovld __cnfn convert_short8_rtn(float8);
3369303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtn(float8);
3370303233Sdimshort8 __ovld __cnfn convert_short8(float8);
3371303233Sdimshort8 __ovld __cnfn convert_short8_sat(float8);
3372303233Sdimushort8 __ovld __cnfn convert_ushort8_rte(char8);
3373303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rte(char8);
3374303233Sdimushort8 __ovld __cnfn convert_ushort8_rtz(char8);
3375303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtz(char8);
3376303233Sdimushort8 __ovld __cnfn convert_ushort8_rtp(char8);
3377303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtp(char8);
3378303233Sdimushort8 __ovld __cnfn convert_ushort8_rtn(char8);
3379303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtn(char8);
3380303233Sdimushort8 __ovld __cnfn convert_ushort8(char8);
3381303233Sdimushort8 __ovld __cnfn convert_ushort8_sat(char8);
3382303233Sdimushort8 __ovld __cnfn convert_ushort8_rte(uchar8);
3383303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rte(uchar8);
3384303233Sdimushort8 __ovld __cnfn convert_ushort8_rtz(uchar8);
3385303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtz(uchar8);
3386303233Sdimushort8 __ovld __cnfn convert_ushort8_rtp(uchar8);
3387303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtp(uchar8);
3388303233Sdimushort8 __ovld __cnfn convert_ushort8_rtn(uchar8);
3389303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtn(uchar8);
3390303233Sdimushort8 __ovld __cnfn convert_ushort8(uchar8);
3391303233Sdimushort8 __ovld __cnfn convert_ushort8_sat(uchar8);
3392303233Sdimushort8 __ovld __cnfn convert_ushort8_rte(short8);
3393303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rte(short8);
3394303233Sdimushort8 __ovld __cnfn convert_ushort8_rtz(short8);
3395303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtz(short8);
3396303233Sdimushort8 __ovld __cnfn convert_ushort8_rtp(short8);
3397303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtp(short8);
3398303233Sdimushort8 __ovld __cnfn convert_ushort8_rtn(short8);
3399303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtn(short8);
3400303233Sdimushort8 __ovld __cnfn convert_ushort8(short8);
3401303233Sdimushort8 __ovld __cnfn convert_ushort8_sat(short8);
3402303233Sdimushort8 __ovld __cnfn convert_ushort8_rte(ushort8);
3403303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rte(ushort8);
3404303233Sdimushort8 __ovld __cnfn convert_ushort8_rtz(ushort8);
3405303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtz(ushort8);
3406303233Sdimushort8 __ovld __cnfn convert_ushort8_rtp(ushort8);
3407303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtp(ushort8);
3408303233Sdimushort8 __ovld __cnfn convert_ushort8_rtn(ushort8);
3409303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtn(ushort8);
3410303233Sdimushort8 __ovld __cnfn convert_ushort8(ushort8);
3411303233Sdimushort8 __ovld __cnfn convert_ushort8_sat(ushort8);
3412303233Sdimushort8 __ovld __cnfn convert_ushort8_rte(int8);
3413303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rte(int8);
3414303233Sdimushort8 __ovld __cnfn convert_ushort8_rtz(int8);
3415303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtz(int8);
3416303233Sdimushort8 __ovld __cnfn convert_ushort8_rtp(int8);
3417303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtp(int8);
3418303233Sdimushort8 __ovld __cnfn convert_ushort8_rtn(int8);
3419303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtn(int8);
3420303233Sdimushort8 __ovld __cnfn convert_ushort8(int8);
3421303233Sdimushort8 __ovld __cnfn convert_ushort8_sat(int8);
3422303233Sdimushort8 __ovld __cnfn convert_ushort8_rte(uint8);
3423303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rte(uint8);
3424303233Sdimushort8 __ovld __cnfn convert_ushort8_rtz(uint8);
3425303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtz(uint8);
3426303233Sdimushort8 __ovld __cnfn convert_ushort8_rtp(uint8);
3427303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtp(uint8);
3428303233Sdimushort8 __ovld __cnfn convert_ushort8_rtn(uint8);
3429303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtn(uint8);
3430303233Sdimushort8 __ovld __cnfn convert_ushort8(uint8);
3431303233Sdimushort8 __ovld __cnfn convert_ushort8_sat(uint8);
3432303233Sdimushort8 __ovld __cnfn convert_ushort8_rte(long8);
3433303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rte(long8);
3434303233Sdimushort8 __ovld __cnfn convert_ushort8_rtz(long8);
3435303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtz(long8);
3436303233Sdimushort8 __ovld __cnfn convert_ushort8_rtp(long8);
3437303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtp(long8);
3438303233Sdimushort8 __ovld __cnfn convert_ushort8_rtn(long8);
3439303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtn(long8);
3440303233Sdimushort8 __ovld __cnfn convert_ushort8(long8);
3441303233Sdimushort8 __ovld __cnfn convert_ushort8_sat(long8);
3442303233Sdimushort8 __ovld __cnfn convert_ushort8_rte(ulong8);
3443303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rte(ulong8);
3444303233Sdimushort8 __ovld __cnfn convert_ushort8_rtz(ulong8);
3445303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtz(ulong8);
3446303233Sdimushort8 __ovld __cnfn convert_ushort8_rtp(ulong8);
3447303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtp(ulong8);
3448303233Sdimushort8 __ovld __cnfn convert_ushort8_rtn(ulong8);
3449303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtn(ulong8);
3450303233Sdimushort8 __ovld __cnfn convert_ushort8(ulong8);
3451303233Sdimushort8 __ovld __cnfn convert_ushort8_sat(ulong8);
3452303233Sdimushort8 __ovld __cnfn convert_ushort8_rte(float8);
3453303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rte(float8);
3454303233Sdimushort8 __ovld __cnfn convert_ushort8_rtz(float8);
3455303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtz(float8);
3456303233Sdimushort8 __ovld __cnfn convert_ushort8_rtp(float8);
3457303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtp(float8);
3458303233Sdimushort8 __ovld __cnfn convert_ushort8_rtn(float8);
3459303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtn(float8);
3460303233Sdimushort8 __ovld __cnfn convert_ushort8(float8);
3461303233Sdimushort8 __ovld __cnfn convert_ushort8_sat(float8);
3462303233Sdimint8 __ovld __cnfn convert_int8_rte(char8);
3463303233Sdimint8 __ovld __cnfn convert_int8_sat_rte(char8);
3464303233Sdimint8 __ovld __cnfn convert_int8_rtz(char8);
3465303233Sdimint8 __ovld __cnfn convert_int8_sat_rtz(char8);
3466303233Sdimint8 __ovld __cnfn convert_int8_rtp(char8);
3467303233Sdimint8 __ovld __cnfn convert_int8_sat_rtp(char8);
3468303233Sdimint8 __ovld __cnfn convert_int8_rtn(char8);
3469303233Sdimint8 __ovld __cnfn convert_int8_sat_rtn(char8);
3470303233Sdimint8 __ovld __cnfn convert_int8(char8);
3471303233Sdimint8 __ovld __cnfn convert_int8_sat(char8);
3472303233Sdimint8 __ovld __cnfn convert_int8_rte(uchar8);
3473303233Sdimint8 __ovld __cnfn convert_int8_sat_rte(uchar8);
3474303233Sdimint8 __ovld __cnfn convert_int8_rtz(uchar8);
3475303233Sdimint8 __ovld __cnfn convert_int8_sat_rtz(uchar8);
3476303233Sdimint8 __ovld __cnfn convert_int8_rtp(uchar8);
3477303233Sdimint8 __ovld __cnfn convert_int8_sat_rtp(uchar8);
3478303233Sdimint8 __ovld __cnfn convert_int8_rtn(uchar8);
3479303233Sdimint8 __ovld __cnfn convert_int8_sat_rtn(uchar8);
3480303233Sdimint8 __ovld __cnfn convert_int8(uchar8);
3481303233Sdimint8 __ovld __cnfn convert_int8_sat(uchar8);
3482303233Sdimint8 __ovld __cnfn convert_int8_rte(short8);
3483303233Sdimint8 __ovld __cnfn convert_int8_sat_rte(short8);
3484303233Sdimint8 __ovld __cnfn convert_int8_rtz(short8);
3485303233Sdimint8 __ovld __cnfn convert_int8_sat_rtz(short8);
3486303233Sdimint8 __ovld __cnfn convert_int8_rtp(short8);
3487303233Sdimint8 __ovld __cnfn convert_int8_sat_rtp(short8);
3488303233Sdimint8 __ovld __cnfn convert_int8_rtn(short8);
3489303233Sdimint8 __ovld __cnfn convert_int8_sat_rtn(short8);
3490303233Sdimint8 __ovld __cnfn convert_int8(short8);
3491303233Sdimint8 __ovld __cnfn convert_int8_sat(short8);
3492303233Sdimint8 __ovld __cnfn convert_int8_rte(ushort8);
3493303233Sdimint8 __ovld __cnfn convert_int8_sat_rte(ushort8);
3494303233Sdimint8 __ovld __cnfn convert_int8_rtz(ushort8);
3495303233Sdimint8 __ovld __cnfn convert_int8_sat_rtz(ushort8);
3496303233Sdimint8 __ovld __cnfn convert_int8_rtp(ushort8);
3497303233Sdimint8 __ovld __cnfn convert_int8_sat_rtp(ushort8);
3498303233Sdimint8 __ovld __cnfn convert_int8_rtn(ushort8);
3499303233Sdimint8 __ovld __cnfn convert_int8_sat_rtn(ushort8);
3500303233Sdimint8 __ovld __cnfn convert_int8(ushort8);
3501303233Sdimint8 __ovld __cnfn convert_int8_sat(ushort8);
3502303233Sdimint8 __ovld __cnfn convert_int8_rte(int8);
3503303233Sdimint8 __ovld __cnfn convert_int8_sat_rte(int8);
3504303233Sdimint8 __ovld __cnfn convert_int8_rtz(int8);
3505303233Sdimint8 __ovld __cnfn convert_int8_sat_rtz(int8);
3506303233Sdimint8 __ovld __cnfn convert_int8_rtp(int8);
3507303233Sdimint8 __ovld __cnfn convert_int8_sat_rtp(int8);
3508303233Sdimint8 __ovld __cnfn convert_int8_rtn(int8);
3509303233Sdimint8 __ovld __cnfn convert_int8_sat_rtn(int8);
3510303233Sdimint8 __ovld __cnfn convert_int8(int8);
3511303233Sdimint8 __ovld __cnfn convert_int8_sat(int8);
3512303233Sdimint8 __ovld __cnfn convert_int8_rte(uint8);
3513303233Sdimint8 __ovld __cnfn convert_int8_sat_rte(uint8);
3514303233Sdimint8 __ovld __cnfn convert_int8_rtz(uint8);
3515303233Sdimint8 __ovld __cnfn convert_int8_sat_rtz(uint8);
3516303233Sdimint8 __ovld __cnfn convert_int8_rtp(uint8);
3517303233Sdimint8 __ovld __cnfn convert_int8_sat_rtp(uint8);
3518303233Sdimint8 __ovld __cnfn convert_int8_rtn(uint8);
3519303233Sdimint8 __ovld __cnfn convert_int8_sat_rtn(uint8);
3520303233Sdimint8 __ovld __cnfn convert_int8(uint8);
3521303233Sdimint8 __ovld __cnfn convert_int8_sat(uint8);
3522303233Sdimint8 __ovld __cnfn convert_int8_rte(long8);
3523303233Sdimint8 __ovld __cnfn convert_int8_sat_rte(long8);
3524303233Sdimint8 __ovld __cnfn convert_int8_rtz(long8);
3525303233Sdimint8 __ovld __cnfn convert_int8_sat_rtz(long8);
3526303233Sdimint8 __ovld __cnfn convert_int8_rtp(long8);
3527303233Sdimint8 __ovld __cnfn convert_int8_sat_rtp(long8);
3528303233Sdimint8 __ovld __cnfn convert_int8_rtn(long8);
3529303233Sdimint8 __ovld __cnfn convert_int8_sat_rtn(long8);
3530303233Sdimint8 __ovld __cnfn convert_int8(long8);
3531303233Sdimint8 __ovld __cnfn convert_int8_sat(long8);
3532303233Sdimint8 __ovld __cnfn convert_int8_rte(ulong8);
3533303233Sdimint8 __ovld __cnfn convert_int8_sat_rte(ulong8);
3534303233Sdimint8 __ovld __cnfn convert_int8_rtz(ulong8);
3535303233Sdimint8 __ovld __cnfn convert_int8_sat_rtz(ulong8);
3536303233Sdimint8 __ovld __cnfn convert_int8_rtp(ulong8);
3537303233Sdimint8 __ovld __cnfn convert_int8_sat_rtp(ulong8);
3538303233Sdimint8 __ovld __cnfn convert_int8_rtn(ulong8);
3539303233Sdimint8 __ovld __cnfn convert_int8_sat_rtn(ulong8);
3540303233Sdimint8 __ovld __cnfn convert_int8(ulong8);
3541303233Sdimint8 __ovld __cnfn convert_int8_sat(ulong8);
3542303233Sdimint8 __ovld __cnfn convert_int8_rte(float8);
3543303233Sdimint8 __ovld __cnfn convert_int8_sat_rte(float8);
3544303233Sdimint8 __ovld __cnfn convert_int8_rtz(float8);
3545303233Sdimint8 __ovld __cnfn convert_int8_sat_rtz(float8);
3546303233Sdimint8 __ovld __cnfn convert_int8_rtp(float8);
3547303233Sdimint8 __ovld __cnfn convert_int8_sat_rtp(float8);
3548303233Sdimint8 __ovld __cnfn convert_int8_rtn(float8);
3549303233Sdimint8 __ovld __cnfn convert_int8_sat_rtn(float8);
3550303233Sdimint8 __ovld __cnfn convert_int8(float8);
3551303233Sdimint8 __ovld __cnfn convert_int8_sat(float8);
3552303233Sdimuint8 __ovld __cnfn convert_uint8_rte(char8);
3553303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rte(char8);
3554303233Sdimuint8 __ovld __cnfn convert_uint8_rtz(char8);
3555303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtz(char8);
3556303233Sdimuint8 __ovld __cnfn convert_uint8_rtp(char8);
3557303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtp(char8);
3558303233Sdimuint8 __ovld __cnfn convert_uint8_rtn(char8);
3559303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtn(char8);
3560303233Sdimuint8 __ovld __cnfn convert_uint8(char8);
3561303233Sdimuint8 __ovld __cnfn convert_uint8_sat(char8);
3562303233Sdimuint8 __ovld __cnfn convert_uint8_rte(uchar8);
3563303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rte(uchar8);
3564303233Sdimuint8 __ovld __cnfn convert_uint8_rtz(uchar8);
3565303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtz(uchar8);
3566303233Sdimuint8 __ovld __cnfn convert_uint8_rtp(uchar8);
3567303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtp(uchar8);
3568303233Sdimuint8 __ovld __cnfn convert_uint8_rtn(uchar8);
3569303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtn(uchar8);
3570303233Sdimuint8 __ovld __cnfn convert_uint8(uchar8);
3571303233Sdimuint8 __ovld __cnfn convert_uint8_sat(uchar8);
3572303233Sdimuint8 __ovld __cnfn convert_uint8_rte(short8);
3573303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rte(short8);
3574303233Sdimuint8 __ovld __cnfn convert_uint8_rtz(short8);
3575303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtz(short8);
3576303233Sdimuint8 __ovld __cnfn convert_uint8_rtp(short8);
3577303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtp(short8);
3578303233Sdimuint8 __ovld __cnfn convert_uint8_rtn(short8);
3579303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtn(short8);
3580303233Sdimuint8 __ovld __cnfn convert_uint8(short8);
3581303233Sdimuint8 __ovld __cnfn convert_uint8_sat(short8);
3582303233Sdimuint8 __ovld __cnfn convert_uint8_rte(ushort8);
3583303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rte(ushort8);
3584303233Sdimuint8 __ovld __cnfn convert_uint8_rtz(ushort8);
3585303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtz(ushort8);
3586303233Sdimuint8 __ovld __cnfn convert_uint8_rtp(ushort8);
3587303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtp(ushort8);
3588303233Sdimuint8 __ovld __cnfn convert_uint8_rtn(ushort8);
3589303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtn(ushort8);
3590303233Sdimuint8 __ovld __cnfn convert_uint8(ushort8);
3591303233Sdimuint8 __ovld __cnfn convert_uint8_sat(ushort8);
3592303233Sdimuint8 __ovld __cnfn convert_uint8_rte(int8);
3593303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rte(int8);
3594303233Sdimuint8 __ovld __cnfn convert_uint8_rtz(int8);
3595303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtz(int8);
3596303233Sdimuint8 __ovld __cnfn convert_uint8_rtp(int8);
3597303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtp(int8);
3598303233Sdimuint8 __ovld __cnfn convert_uint8_rtn(int8);
3599303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtn(int8);
3600303233Sdimuint8 __ovld __cnfn convert_uint8(int8);
3601303233Sdimuint8 __ovld __cnfn convert_uint8_sat(int8);
3602303233Sdimuint8 __ovld __cnfn convert_uint8_rte(uint8);
3603303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rte(uint8);
3604303233Sdimuint8 __ovld __cnfn convert_uint8_rtz(uint8);
3605303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtz(uint8);
3606303233Sdimuint8 __ovld __cnfn convert_uint8_rtp(uint8);
3607303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtp(uint8);
3608303233Sdimuint8 __ovld __cnfn convert_uint8_rtn(uint8);
3609303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtn(uint8);
3610303233Sdimuint8 __ovld __cnfn convert_uint8(uint8);
3611303233Sdimuint8 __ovld __cnfn convert_uint8_sat(uint8);
3612303233Sdimuint8 __ovld __cnfn convert_uint8_rte(long8);
3613303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rte(long8);
3614303233Sdimuint8 __ovld __cnfn convert_uint8_rtz(long8);
3615303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtz(long8);
3616303233Sdimuint8 __ovld __cnfn convert_uint8_rtp(long8);
3617303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtp(long8);
3618303233Sdimuint8 __ovld __cnfn convert_uint8_rtn(long8);
3619303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtn(long8);
3620303233Sdimuint8 __ovld __cnfn convert_uint8(long8);
3621303233Sdimuint8 __ovld __cnfn convert_uint8_sat(long8);
3622303233Sdimuint8 __ovld __cnfn convert_uint8_rte(ulong8);
3623303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rte(ulong8);
3624303233Sdimuint8 __ovld __cnfn convert_uint8_rtz(ulong8);
3625303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtz(ulong8);
3626303233Sdimuint8 __ovld __cnfn convert_uint8_rtp(ulong8);
3627303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtp(ulong8);
3628303233Sdimuint8 __ovld __cnfn convert_uint8_rtn(ulong8);
3629303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtn(ulong8);
3630303233Sdimuint8 __ovld __cnfn convert_uint8(ulong8);
3631303233Sdimuint8 __ovld __cnfn convert_uint8_sat(ulong8);
3632303233Sdimuint8 __ovld __cnfn convert_uint8_rte(float8);
3633303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rte(float8);
3634303233Sdimuint8 __ovld __cnfn convert_uint8_rtz(float8);
3635303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtz(float8);
3636303233Sdimuint8 __ovld __cnfn convert_uint8_rtp(float8);
3637303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtp(float8);
3638303233Sdimuint8 __ovld __cnfn convert_uint8_rtn(float8);
3639303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtn(float8);
3640303233Sdimuint8 __ovld __cnfn convert_uint8(float8);
3641303233Sdimuint8 __ovld __cnfn convert_uint8_sat(float8);
3642303233Sdimlong8 __ovld __cnfn convert_long8_rte(char8);
3643303233Sdimlong8 __ovld __cnfn convert_long8_sat_rte(char8);
3644303233Sdimlong8 __ovld __cnfn convert_long8_rtz(char8);
3645303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtz(char8);
3646303233Sdimlong8 __ovld __cnfn convert_long8_rtp(char8);
3647303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtp(char8);
3648303233Sdimlong8 __ovld __cnfn convert_long8_rtn(char8);
3649303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtn(char8);
3650303233Sdimlong8 __ovld __cnfn convert_long8(char8);
3651303233Sdimlong8 __ovld __cnfn convert_long8_sat(char8);
3652303233Sdimlong8 __ovld __cnfn convert_long8_rte(uchar8);
3653303233Sdimlong8 __ovld __cnfn convert_long8_sat_rte(uchar8);
3654303233Sdimlong8 __ovld __cnfn convert_long8_rtz(uchar8);
3655303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtz(uchar8);
3656303233Sdimlong8 __ovld __cnfn convert_long8_rtp(uchar8);
3657303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtp(uchar8);
3658303233Sdimlong8 __ovld __cnfn convert_long8_rtn(uchar8);
3659303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtn(uchar8);
3660303233Sdimlong8 __ovld __cnfn convert_long8(uchar8);
3661303233Sdimlong8 __ovld __cnfn convert_long8_sat(uchar8);
3662303233Sdimlong8 __ovld __cnfn convert_long8_rte(short8);
3663303233Sdimlong8 __ovld __cnfn convert_long8_sat_rte(short8);
3664303233Sdimlong8 __ovld __cnfn convert_long8_rtz(short8);
3665303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtz(short8);
3666303233Sdimlong8 __ovld __cnfn convert_long8_rtp(short8);
3667303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtp(short8);
3668303233Sdimlong8 __ovld __cnfn convert_long8_rtn(short8);
3669303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtn(short8);
3670303233Sdimlong8 __ovld __cnfn convert_long8(short8);
3671303233Sdimlong8 __ovld __cnfn convert_long8_sat(short8);
3672303233Sdimlong8 __ovld __cnfn convert_long8_rte(ushort8);
3673303233Sdimlong8 __ovld __cnfn convert_long8_sat_rte(ushort8);
3674303233Sdimlong8 __ovld __cnfn convert_long8_rtz(ushort8);
3675303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtz(ushort8);
3676303233Sdimlong8 __ovld __cnfn convert_long8_rtp(ushort8);
3677303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtp(ushort8);
3678303233Sdimlong8 __ovld __cnfn convert_long8_rtn(ushort8);
3679303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtn(ushort8);
3680303233Sdimlong8 __ovld __cnfn convert_long8(ushort8);
3681303233Sdimlong8 __ovld __cnfn convert_long8_sat(ushort8);
3682303233Sdimlong8 __ovld __cnfn convert_long8_rte(int8);
3683303233Sdimlong8 __ovld __cnfn convert_long8_sat_rte(int8);
3684303233Sdimlong8 __ovld __cnfn convert_long8_rtz(int8);
3685303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtz(int8);
3686303233Sdimlong8 __ovld __cnfn convert_long8_rtp(int8);
3687303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtp(int8);
3688303233Sdimlong8 __ovld __cnfn convert_long8_rtn(int8);
3689303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtn(int8);
3690303233Sdimlong8 __ovld __cnfn convert_long8(int8);
3691303233Sdimlong8 __ovld __cnfn convert_long8_sat(int8);
3692303233Sdimlong8 __ovld __cnfn convert_long8_rte(uint8);
3693303233Sdimlong8 __ovld __cnfn convert_long8_sat_rte(uint8);
3694303233Sdimlong8 __ovld __cnfn convert_long8_rtz(uint8);
3695303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtz(uint8);
3696303233Sdimlong8 __ovld __cnfn convert_long8_rtp(uint8);
3697303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtp(uint8);
3698303233Sdimlong8 __ovld __cnfn convert_long8_rtn(uint8);
3699303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtn(uint8);
3700303233Sdimlong8 __ovld __cnfn convert_long8(uint8);
3701303233Sdimlong8 __ovld __cnfn convert_long8_sat(uint8);
3702303233Sdimlong8 __ovld __cnfn convert_long8_rte(long8);
3703303233Sdimlong8 __ovld __cnfn convert_long8_sat_rte(long8);
3704303233Sdimlong8 __ovld __cnfn convert_long8_rtz(long8);
3705303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtz(long8);
3706303233Sdimlong8 __ovld __cnfn convert_long8_rtp(long8);
3707303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtp(long8);
3708303233Sdimlong8 __ovld __cnfn convert_long8_rtn(long8);
3709303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtn(long8);
3710303233Sdimlong8 __ovld __cnfn convert_long8(long8);
3711303233Sdimlong8 __ovld __cnfn convert_long8_sat(long8);
3712303233Sdimlong8 __ovld __cnfn convert_long8_rte(ulong8);
3713303233Sdimlong8 __ovld __cnfn convert_long8_sat_rte(ulong8);
3714303233Sdimlong8 __ovld __cnfn convert_long8_rtz(ulong8);
3715303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtz(ulong8);
3716303233Sdimlong8 __ovld __cnfn convert_long8_rtp(ulong8);
3717303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtp(ulong8);
3718303233Sdimlong8 __ovld __cnfn convert_long8_rtn(ulong8);
3719303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtn(ulong8);
3720303233Sdimlong8 __ovld __cnfn convert_long8(ulong8);
3721303233Sdimlong8 __ovld __cnfn convert_long8_sat(ulong8);
3722303233Sdimlong8 __ovld __cnfn convert_long8_rte(float8);
3723303233Sdimlong8 __ovld __cnfn convert_long8_sat_rte(float8);
3724303233Sdimlong8 __ovld __cnfn convert_long8_rtz(float8);
3725303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtz(float8);
3726303233Sdimlong8 __ovld __cnfn convert_long8_rtp(float8);
3727303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtp(float8);
3728303233Sdimlong8 __ovld __cnfn convert_long8_rtn(float8);
3729303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtn(float8);
3730303233Sdimlong8 __ovld __cnfn convert_long8(float8);
3731303233Sdimlong8 __ovld __cnfn convert_long8_sat(float8);
3732303233Sdimulong8 __ovld __cnfn convert_ulong8_rte(char8);
3733303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rte(char8);
3734303233Sdimulong8 __ovld __cnfn convert_ulong8_rtz(char8);
3735303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtz(char8);
3736303233Sdimulong8 __ovld __cnfn convert_ulong8_rtp(char8);
3737303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtp(char8);
3738303233Sdimulong8 __ovld __cnfn convert_ulong8_rtn(char8);
3739303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtn(char8);
3740303233Sdimulong8 __ovld __cnfn convert_ulong8(char8);
3741303233Sdimulong8 __ovld __cnfn convert_ulong8_sat(char8);
3742303233Sdimulong8 __ovld __cnfn convert_ulong8_rte(uchar8);
3743303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rte(uchar8);
3744303233Sdimulong8 __ovld __cnfn convert_ulong8_rtz(uchar8);
3745303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtz(uchar8);
3746303233Sdimulong8 __ovld __cnfn convert_ulong8_rtp(uchar8);
3747303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtp(uchar8);
3748303233Sdimulong8 __ovld __cnfn convert_ulong8_rtn(uchar8);
3749303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtn(uchar8);
3750303233Sdimulong8 __ovld __cnfn convert_ulong8(uchar8);
3751303233Sdimulong8 __ovld __cnfn convert_ulong8_sat(uchar8);
3752303233Sdimulong8 __ovld __cnfn convert_ulong8_rte(short8);
3753303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rte(short8);
3754303233Sdimulong8 __ovld __cnfn convert_ulong8_rtz(short8);
3755303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtz(short8);
3756303233Sdimulong8 __ovld __cnfn convert_ulong8_rtp(short8);
3757303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtp(short8);
3758303233Sdimulong8 __ovld __cnfn convert_ulong8_rtn(short8);
3759303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtn(short8);
3760303233Sdimulong8 __ovld __cnfn convert_ulong8(short8);
3761303233Sdimulong8 __ovld __cnfn convert_ulong8_sat(short8);
3762303233Sdimulong8 __ovld __cnfn convert_ulong8_rte(ushort8);
3763303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rte(ushort8);
3764303233Sdimulong8 __ovld __cnfn convert_ulong8_rtz(ushort8);
3765303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtz(ushort8);
3766303233Sdimulong8 __ovld __cnfn convert_ulong8_rtp(ushort8);
3767303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtp(ushort8);
3768303233Sdimulong8 __ovld __cnfn convert_ulong8_rtn(ushort8);
3769303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtn(ushort8);
3770303233Sdimulong8 __ovld __cnfn convert_ulong8(ushort8);
3771303233Sdimulong8 __ovld __cnfn convert_ulong8_sat(ushort8);
3772303233Sdimulong8 __ovld __cnfn convert_ulong8_rte(int8);
3773303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rte(int8);
3774303233Sdimulong8 __ovld __cnfn convert_ulong8_rtz(int8);
3775303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtz(int8);
3776303233Sdimulong8 __ovld __cnfn convert_ulong8_rtp(int8);
3777303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtp(int8);
3778303233Sdimulong8 __ovld __cnfn convert_ulong8_rtn(int8);
3779303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtn(int8);
3780303233Sdimulong8 __ovld __cnfn convert_ulong8(int8);
3781303233Sdimulong8 __ovld __cnfn convert_ulong8_sat(int8);
3782303233Sdimulong8 __ovld __cnfn convert_ulong8_rte(uint8);
3783303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rte(uint8);
3784303233Sdimulong8 __ovld __cnfn convert_ulong8_rtz(uint8);
3785303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtz(uint8);
3786303233Sdimulong8 __ovld __cnfn convert_ulong8_rtp(uint8);
3787303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtp(uint8);
3788303233Sdimulong8 __ovld __cnfn convert_ulong8_rtn(uint8);
3789303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtn(uint8);
3790303233Sdimulong8 __ovld __cnfn convert_ulong8(uint8);
3791303233Sdimulong8 __ovld __cnfn convert_ulong8_sat(uint8);
3792303233Sdimulong8 __ovld __cnfn convert_ulong8_rte(long8);
3793303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rte(long8);
3794303233Sdimulong8 __ovld __cnfn convert_ulong8_rtz(long8);
3795303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtz(long8);
3796303233Sdimulong8 __ovld __cnfn convert_ulong8_rtp(long8);
3797303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtp(long8);
3798303233Sdimulong8 __ovld __cnfn convert_ulong8_rtn(long8);
3799303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtn(long8);
3800303233Sdimulong8 __ovld __cnfn convert_ulong8(long8);
3801303233Sdimulong8 __ovld __cnfn convert_ulong8_sat(long8);
3802303233Sdimulong8 __ovld __cnfn convert_ulong8_rte(ulong8);
3803303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rte(ulong8);
3804303233Sdimulong8 __ovld __cnfn convert_ulong8_rtz(ulong8);
3805303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtz(ulong8);
3806303233Sdimulong8 __ovld __cnfn convert_ulong8_rtp(ulong8);
3807303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtp(ulong8);
3808303233Sdimulong8 __ovld __cnfn convert_ulong8_rtn(ulong8);
3809303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtn(ulong8);
3810303233Sdimulong8 __ovld __cnfn convert_ulong8(ulong8);
3811303233Sdimulong8 __ovld __cnfn convert_ulong8_sat(ulong8);
3812303233Sdimulong8 __ovld __cnfn convert_ulong8_rte(float8);
3813303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rte(float8);
3814303233Sdimulong8 __ovld __cnfn convert_ulong8_rtz(float8);
3815303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtz(float8);
3816303233Sdimulong8 __ovld __cnfn convert_ulong8_rtp(float8);
3817303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtp(float8);
3818303233Sdimulong8 __ovld __cnfn convert_ulong8_rtn(float8);
3819303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtn(float8);
3820303233Sdimulong8 __ovld __cnfn convert_ulong8(float8);
3821303233Sdimulong8 __ovld __cnfn convert_ulong8_sat(float8);
3822303233Sdimfloat8 __ovld __cnfn convert_float8_rte(char8);
3823303233Sdimfloat8 __ovld __cnfn convert_float8_rtz(char8);
3824303233Sdimfloat8 __ovld __cnfn convert_float8_rtp(char8);
3825303233Sdimfloat8 __ovld __cnfn convert_float8_rtn(char8);
3826303233Sdimfloat8 __ovld __cnfn convert_float8(char8);
3827303233Sdimfloat8 __ovld __cnfn convert_float8_rte(uchar8);
3828303233Sdimfloat8 __ovld __cnfn convert_float8_rtz(uchar8);
3829303233Sdimfloat8 __ovld __cnfn convert_float8_rtp(uchar8);
3830303233Sdimfloat8 __ovld __cnfn convert_float8_rtn(uchar8);
3831303233Sdimfloat8 __ovld __cnfn convert_float8(uchar8);
3832303233Sdimfloat8 __ovld __cnfn convert_float8_rte(short8);
3833303233Sdimfloat8 __ovld __cnfn convert_float8_rtz(short8);
3834303233Sdimfloat8 __ovld __cnfn convert_float8_rtp(short8);
3835303233Sdimfloat8 __ovld __cnfn convert_float8_rtn(short8);
3836303233Sdimfloat8 __ovld __cnfn convert_float8(short8);
3837303233Sdimfloat8 __ovld __cnfn convert_float8_rte(ushort8);
3838303233Sdimfloat8 __ovld __cnfn convert_float8_rtz(ushort8);
3839303233Sdimfloat8 __ovld __cnfn convert_float8_rtp(ushort8);
3840303233Sdimfloat8 __ovld __cnfn convert_float8_rtn(ushort8);
3841303233Sdimfloat8 __ovld __cnfn convert_float8(ushort8);
3842303233Sdimfloat8 __ovld __cnfn convert_float8_rte(int8);
3843303233Sdimfloat8 __ovld __cnfn convert_float8_rtz(int8);
3844303233Sdimfloat8 __ovld __cnfn convert_float8_rtp(int8);
3845303233Sdimfloat8 __ovld __cnfn convert_float8_rtn(int8);
3846303233Sdimfloat8 __ovld __cnfn convert_float8(int8);
3847303233Sdimfloat8 __ovld __cnfn convert_float8_rte(uint8);
3848303233Sdimfloat8 __ovld __cnfn convert_float8_rtz(uint8);
3849303233Sdimfloat8 __ovld __cnfn convert_float8_rtp(uint8);
3850303233Sdimfloat8 __ovld __cnfn convert_float8_rtn(uint8);
3851303233Sdimfloat8 __ovld __cnfn convert_float8(uint8);
3852303233Sdimfloat8 __ovld __cnfn convert_float8_rte(long8);
3853303233Sdimfloat8 __ovld __cnfn convert_float8_rtz(long8);
3854303233Sdimfloat8 __ovld __cnfn convert_float8_rtp(long8);
3855303233Sdimfloat8 __ovld __cnfn convert_float8_rtn(long8);
3856303233Sdimfloat8 __ovld __cnfn convert_float8(long8);
3857303233Sdimfloat8 __ovld __cnfn convert_float8_rte(ulong8);
3858303233Sdimfloat8 __ovld __cnfn convert_float8_rtz(ulong8);
3859303233Sdimfloat8 __ovld __cnfn convert_float8_rtp(ulong8);
3860303233Sdimfloat8 __ovld __cnfn convert_float8_rtn(ulong8);
3861303233Sdimfloat8 __ovld __cnfn convert_float8(ulong8);
3862303233Sdimfloat8 __ovld __cnfn convert_float8_rte(float8);
3863303233Sdimfloat8 __ovld __cnfn convert_float8_rtz(float8);
3864303233Sdimfloat8 __ovld __cnfn convert_float8_rtp(float8);
3865303233Sdimfloat8 __ovld __cnfn convert_float8_rtn(float8);
3866303233Sdimfloat8 __ovld __cnfn convert_float8(float8);
3867303233Sdimchar16 __ovld __cnfn convert_char16_rte(char16);
3868303233Sdimchar16 __ovld __cnfn convert_char16_sat_rte(char16);
3869303233Sdimchar16 __ovld __cnfn convert_char16_rtz(char16);
3870303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtz(char16);
3871303233Sdimchar16 __ovld __cnfn convert_char16_rtp(char16);
3872303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtp(char16);
3873303233Sdimchar16 __ovld __cnfn convert_char16_rtn(char16);
3874303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtn(char16);
3875303233Sdimchar16 __ovld __cnfn convert_char16(char16);
3876303233Sdimchar16 __ovld __cnfn convert_char16_sat(char16);
3877303233Sdimchar16 __ovld __cnfn convert_char16_rte(uchar16);
3878303233Sdimchar16 __ovld __cnfn convert_char16_sat_rte(uchar16);
3879303233Sdimchar16 __ovld __cnfn convert_char16_rtz(uchar16);
3880303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtz(uchar16);
3881303233Sdimchar16 __ovld __cnfn convert_char16_rtp(uchar16);
3882303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtp(uchar16);
3883303233Sdimchar16 __ovld __cnfn convert_char16_rtn(uchar16);
3884303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtn(uchar16);
3885303233Sdimchar16 __ovld __cnfn convert_char16(uchar16);
3886303233Sdimchar16 __ovld __cnfn convert_char16_sat(uchar16);
3887303233Sdimchar16 __ovld __cnfn convert_char16_rte(short16);
3888303233Sdimchar16 __ovld __cnfn convert_char16_sat_rte(short16);
3889303233Sdimchar16 __ovld __cnfn convert_char16_rtz(short16);
3890303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtz(short16);
3891303233Sdimchar16 __ovld __cnfn convert_char16_rtp(short16);
3892303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtp(short16);
3893303233Sdimchar16 __ovld __cnfn convert_char16_rtn(short16);
3894303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtn(short16);
3895303233Sdimchar16 __ovld __cnfn convert_char16(short16);
3896303233Sdimchar16 __ovld __cnfn convert_char16_sat(short16);
3897303233Sdimchar16 __ovld __cnfn convert_char16_rte(ushort16);
3898303233Sdimchar16 __ovld __cnfn convert_char16_sat_rte(ushort16);
3899303233Sdimchar16 __ovld __cnfn convert_char16_rtz(ushort16);
3900303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtz(ushort16);
3901303233Sdimchar16 __ovld __cnfn convert_char16_rtp(ushort16);
3902303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtp(ushort16);
3903303233Sdimchar16 __ovld __cnfn convert_char16_rtn(ushort16);
3904303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtn(ushort16);
3905303233Sdimchar16 __ovld __cnfn convert_char16(ushort16);
3906303233Sdimchar16 __ovld __cnfn convert_char16_sat(ushort16);
3907303233Sdimchar16 __ovld __cnfn convert_char16_rte(int16);
3908303233Sdimchar16 __ovld __cnfn convert_char16_sat_rte(int16);
3909303233Sdimchar16 __ovld __cnfn convert_char16_rtz(int16);
3910303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtz(int16);
3911303233Sdimchar16 __ovld __cnfn convert_char16_rtp(int16);
3912303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtp(int16);
3913303233Sdimchar16 __ovld __cnfn convert_char16_rtn(int16);
3914303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtn(int16);
3915303233Sdimchar16 __ovld __cnfn convert_char16(int16);
3916303233Sdimchar16 __ovld __cnfn convert_char16_sat(int16);
3917303233Sdimchar16 __ovld __cnfn convert_char16_rte(uint16);
3918303233Sdimchar16 __ovld __cnfn convert_char16_sat_rte(uint16);
3919303233Sdimchar16 __ovld __cnfn convert_char16_rtz(uint16);
3920303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtz(uint16);
3921303233Sdimchar16 __ovld __cnfn convert_char16_rtp(uint16);
3922303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtp(uint16);
3923303233Sdimchar16 __ovld __cnfn convert_char16_rtn(uint16);
3924303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtn(uint16);
3925303233Sdimchar16 __ovld __cnfn convert_char16(uint16);
3926303233Sdimchar16 __ovld __cnfn convert_char16_sat(uint16);
3927303233Sdimchar16 __ovld __cnfn convert_char16_rte(long16);
3928303233Sdimchar16 __ovld __cnfn convert_char16_sat_rte(long16);
3929303233Sdimchar16 __ovld __cnfn convert_char16_rtz(long16);
3930303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtz(long16);
3931303233Sdimchar16 __ovld __cnfn convert_char16_rtp(long16);
3932303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtp(long16);
3933303233Sdimchar16 __ovld __cnfn convert_char16_rtn(long16);
3934303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtn(long16);
3935303233Sdimchar16 __ovld __cnfn convert_char16(long16);
3936303233Sdimchar16 __ovld __cnfn convert_char16_sat(long16);
3937303233Sdimchar16 __ovld __cnfn convert_char16_rte(ulong16);
3938303233Sdimchar16 __ovld __cnfn convert_char16_sat_rte(ulong16);
3939303233Sdimchar16 __ovld __cnfn convert_char16_rtz(ulong16);
3940303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtz(ulong16);
3941303233Sdimchar16 __ovld __cnfn convert_char16_rtp(ulong16);
3942303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtp(ulong16);
3943303233Sdimchar16 __ovld __cnfn convert_char16_rtn(ulong16);
3944303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtn(ulong16);
3945303233Sdimchar16 __ovld __cnfn convert_char16(ulong16);
3946303233Sdimchar16 __ovld __cnfn convert_char16_sat(ulong16);
3947303233Sdimchar16 __ovld __cnfn convert_char16_rte(float16);
3948303233Sdimchar16 __ovld __cnfn convert_char16_sat_rte(float16);
3949303233Sdimchar16 __ovld __cnfn convert_char16_rtz(float16);
3950303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtz(float16);
3951303233Sdimchar16 __ovld __cnfn convert_char16_rtp(float16);
3952303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtp(float16);
3953303233Sdimchar16 __ovld __cnfn convert_char16_rtn(float16);
3954303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtn(float16);
3955303233Sdimchar16 __ovld __cnfn convert_char16(float16);
3956303233Sdimchar16 __ovld __cnfn convert_char16_sat(float16);
3957303233Sdimuchar16 __ovld __cnfn convert_uchar16_rte(char16);
3958303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rte(char16);
3959303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtz(char16);
3960303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtz(char16);
3961303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtp(char16);
3962303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtp(char16);
3963303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtn(char16);
3964303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtn(char16);
3965303233Sdimuchar16 __ovld __cnfn convert_uchar16(char16);
3966303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat(char16);
3967303233Sdimuchar16 __ovld __cnfn convert_uchar16_rte(uchar16);
3968303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rte(uchar16);
3969303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtz(uchar16);
3970303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtz(uchar16);
3971303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtp(uchar16);
3972303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtp(uchar16);
3973303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtn(uchar16);
3974303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtn(uchar16);
3975303233Sdimuchar16 __ovld __cnfn convert_uchar16(uchar16);
3976303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat(uchar16);
3977303233Sdimuchar16 __ovld __cnfn convert_uchar16_rte(short16);
3978303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rte(short16);
3979303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtz(short16);
3980303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtz(short16);
3981303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtp(short16);
3982303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtp(short16);
3983303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtn(short16);
3984303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtn(short16);
3985303233Sdimuchar16 __ovld __cnfn convert_uchar16(short16);
3986303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat(short16);
3987303233Sdimuchar16 __ovld __cnfn convert_uchar16_rte(ushort16);
3988303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rte(ushort16);
3989303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtz(ushort16);
3990303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtz(ushort16);
3991303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtp(ushort16);
3992303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtp(ushort16);
3993303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtn(ushort16);
3994303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtn(ushort16);
3995303233Sdimuchar16 __ovld __cnfn convert_uchar16(ushort16);
3996303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat(ushort16);
3997303233Sdimuchar16 __ovld __cnfn convert_uchar16_rte(int16);
3998303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rte(int16);
3999303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtz(int16);
4000303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtz(int16);
4001303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtp(int16);
4002303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtp(int16);
4003303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtn(int16);
4004303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtn(int16);
4005303233Sdimuchar16 __ovld __cnfn convert_uchar16(int16);
4006303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat(int16);
4007303233Sdimuchar16 __ovld __cnfn convert_uchar16_rte(uint16);
4008303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rte(uint16);
4009303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtz(uint16);
4010303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtz(uint16);
4011303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtp(uint16);
4012303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtp(uint16);
4013303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtn(uint16);
4014303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtn(uint16);
4015303233Sdimuchar16 __ovld __cnfn convert_uchar16(uint16);
4016303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat(uint16);
4017303233Sdimuchar16 __ovld __cnfn convert_uchar16_rte(long16);
4018303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rte(long16);
4019303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtz(long16);
4020303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtz(long16);
4021303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtp(long16);
4022303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtp(long16);
4023303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtn(long16);
4024303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtn(long16);
4025303233Sdimuchar16 __ovld __cnfn convert_uchar16(long16);
4026303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat(long16);
4027303233Sdimuchar16 __ovld __cnfn convert_uchar16_rte(ulong16);
4028303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rte(ulong16);
4029303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtz(ulong16);
4030303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtz(ulong16);
4031303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtp(ulong16);
4032303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtp(ulong16);
4033303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtn(ulong16);
4034303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtn(ulong16);
4035303233Sdimuchar16 __ovld __cnfn convert_uchar16(ulong16);
4036303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat(ulong16);
4037303233Sdimuchar16 __ovld __cnfn convert_uchar16_rte(float16);
4038303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rte(float16);
4039303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtz(float16);
4040303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtz(float16);
4041303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtp(float16);
4042303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtp(float16);
4043303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtn(float16);
4044303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtn(float16);
4045303233Sdimuchar16 __ovld __cnfn convert_uchar16(float16);
4046303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat(float16);
4047303233Sdimshort16 __ovld __cnfn convert_short16_rte(char16);
4048303233Sdimshort16 __ovld __cnfn convert_short16_sat_rte(char16);
4049303233Sdimshort16 __ovld __cnfn convert_short16_rtz(char16);
4050303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtz(char16);
4051303233Sdimshort16 __ovld __cnfn convert_short16_rtp(char16);
4052303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtp(char16);
4053303233Sdimshort16 __ovld __cnfn convert_short16_rtn(char16);
4054303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtn(char16);
4055303233Sdimshort16 __ovld __cnfn convert_short16(char16);
4056303233Sdimshort16 __ovld __cnfn convert_short16_sat(char16);
4057303233Sdimshort16 __ovld __cnfn convert_short16_rte(uchar16);
4058303233Sdimshort16 __ovld __cnfn convert_short16_sat_rte(uchar16);
4059303233Sdimshort16 __ovld __cnfn convert_short16_rtz(uchar16);
4060303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtz(uchar16);
4061303233Sdimshort16 __ovld __cnfn convert_short16_rtp(uchar16);
4062303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtp(uchar16);
4063303233Sdimshort16 __ovld __cnfn convert_short16_rtn(uchar16);
4064303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtn(uchar16);
4065303233Sdimshort16 __ovld __cnfn convert_short16(uchar16);
4066303233Sdimshort16 __ovld __cnfn convert_short16_sat(uchar16);
4067303233Sdimshort16 __ovld __cnfn convert_short16_rte(short16);
4068303233Sdimshort16 __ovld __cnfn convert_short16_sat_rte(short16);
4069303233Sdimshort16 __ovld __cnfn convert_short16_rtz(short16);
4070303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtz(short16);
4071303233Sdimshort16 __ovld __cnfn convert_short16_rtp(short16);
4072303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtp(short16);
4073303233Sdimshort16 __ovld __cnfn convert_short16_rtn(short16);
4074303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtn(short16);
4075303233Sdimshort16 __ovld __cnfn convert_short16(short16);
4076303233Sdimshort16 __ovld __cnfn convert_short16_sat(short16);
4077303233Sdimshort16 __ovld __cnfn convert_short16_rte(ushort16);
4078303233Sdimshort16 __ovld __cnfn convert_short16_sat_rte(ushort16);
4079303233Sdimshort16 __ovld __cnfn convert_short16_rtz(ushort16);
4080303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtz(ushort16);
4081303233Sdimshort16 __ovld __cnfn convert_short16_rtp(ushort16);
4082303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtp(ushort16);
4083303233Sdimshort16 __ovld __cnfn convert_short16_rtn(ushort16);
4084303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtn(ushort16);
4085303233Sdimshort16 __ovld __cnfn convert_short16(ushort16);
4086303233Sdimshort16 __ovld __cnfn convert_short16_sat(ushort16);
4087303233Sdimshort16 __ovld __cnfn convert_short16_rte(int16);
4088303233Sdimshort16 __ovld __cnfn convert_short16_sat_rte(int16);
4089303233Sdimshort16 __ovld __cnfn convert_short16_rtz(int16);
4090303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtz(int16);
4091303233Sdimshort16 __ovld __cnfn convert_short16_rtp(int16);
4092303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtp(int16);
4093303233Sdimshort16 __ovld __cnfn convert_short16_rtn(int16);
4094303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtn(int16);
4095303233Sdimshort16 __ovld __cnfn convert_short16(int16);
4096303233Sdimshort16 __ovld __cnfn convert_short16_sat(int16);
4097303233Sdimshort16 __ovld __cnfn convert_short16_rte(uint16);
4098303233Sdimshort16 __ovld __cnfn convert_short16_sat_rte(uint16);
4099303233Sdimshort16 __ovld __cnfn convert_short16_rtz(uint16);
4100303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtz(uint16);
4101303233Sdimshort16 __ovld __cnfn convert_short16_rtp(uint16);
4102303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtp(uint16);
4103303233Sdimshort16 __ovld __cnfn convert_short16_rtn(uint16);
4104303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtn(uint16);
4105303233Sdimshort16 __ovld __cnfn convert_short16(uint16);
4106303233Sdimshort16 __ovld __cnfn convert_short16_sat(uint16);
4107303233Sdimshort16 __ovld __cnfn convert_short16_rte(long16);
4108303233Sdimshort16 __ovld __cnfn convert_short16_sat_rte(long16);
4109303233Sdimshort16 __ovld __cnfn convert_short16_rtz(long16);
4110303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtz(long16);
4111303233Sdimshort16 __ovld __cnfn convert_short16_rtp(long16);
4112303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtp(long16);
4113303233Sdimshort16 __ovld __cnfn convert_short16_rtn(long16);
4114303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtn(long16);
4115303233Sdimshort16 __ovld __cnfn convert_short16(long16);
4116303233Sdimshort16 __ovld __cnfn convert_short16_sat(long16);
4117303233Sdimshort16 __ovld __cnfn convert_short16_rte(ulong16);
4118303233Sdimshort16 __ovld __cnfn convert_short16_sat_rte(ulong16);
4119303233Sdimshort16 __ovld __cnfn convert_short16_rtz(ulong16);
4120303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtz(ulong16);
4121303233Sdimshort16 __ovld __cnfn convert_short16_rtp(ulong16);
4122303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtp(ulong16);
4123303233Sdimshort16 __ovld __cnfn convert_short16_rtn(ulong16);
4124303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtn(ulong16);
4125303233Sdimshort16 __ovld __cnfn convert_short16(ulong16);
4126303233Sdimshort16 __ovld __cnfn convert_short16_sat(ulong16);
4127303233Sdimshort16 __ovld __cnfn convert_short16_rte(float16);
4128303233Sdimshort16 __ovld __cnfn convert_short16_sat_rte(float16);
4129303233Sdimshort16 __ovld __cnfn convert_short16_rtz(float16);
4130303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtz(float16);
4131303233Sdimshort16 __ovld __cnfn convert_short16_rtp(float16);
4132303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtp(float16);
4133303233Sdimshort16 __ovld __cnfn convert_short16_rtn(float16);
4134303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtn(float16);
4135303233Sdimshort16 __ovld __cnfn convert_short16(float16);
4136303233Sdimshort16 __ovld __cnfn convert_short16_sat(float16);
4137303233Sdimushort16 __ovld __cnfn convert_ushort16_rte(char16);
4138303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rte(char16);
4139303233Sdimushort16 __ovld __cnfn convert_ushort16_rtz(char16);
4140303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtz(char16);
4141303233Sdimushort16 __ovld __cnfn convert_ushort16_rtp(char16);
4142303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtp(char16);
4143303233Sdimushort16 __ovld __cnfn convert_ushort16_rtn(char16);
4144303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtn(char16);
4145303233Sdimushort16 __ovld __cnfn convert_ushort16(char16);
4146303233Sdimushort16 __ovld __cnfn convert_ushort16_sat(char16);
4147303233Sdimushort16 __ovld __cnfn convert_ushort16_rte(uchar16);
4148303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rte(uchar16);
4149303233Sdimushort16 __ovld __cnfn convert_ushort16_rtz(uchar16);
4150303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtz(uchar16);
4151303233Sdimushort16 __ovld __cnfn convert_ushort16_rtp(uchar16);
4152303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtp(uchar16);
4153303233Sdimushort16 __ovld __cnfn convert_ushort16_rtn(uchar16);
4154303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtn(uchar16);
4155303233Sdimushort16 __ovld __cnfn convert_ushort16(uchar16);
4156303233Sdimushort16 __ovld __cnfn convert_ushort16_sat(uchar16);
4157303233Sdimushort16 __ovld __cnfn convert_ushort16_rte(short16);
4158303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rte(short16);
4159303233Sdimushort16 __ovld __cnfn convert_ushort16_rtz(short16);
4160303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtz(short16);
4161303233Sdimushort16 __ovld __cnfn convert_ushort16_rtp(short16);
4162303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtp(short16);
4163303233Sdimushort16 __ovld __cnfn convert_ushort16_rtn(short16);
4164303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtn(short16);
4165303233Sdimushort16 __ovld __cnfn convert_ushort16(short16);
4166303233Sdimushort16 __ovld __cnfn convert_ushort16_sat(short16);
4167303233Sdimushort16 __ovld __cnfn convert_ushort16_rte(ushort16);
4168303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rte(ushort16);
4169303233Sdimushort16 __ovld __cnfn convert_ushort16_rtz(ushort16);
4170303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtz(ushort16);
4171303233Sdimushort16 __ovld __cnfn convert_ushort16_rtp(ushort16);
4172303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtp(ushort16);
4173303233Sdimushort16 __ovld __cnfn convert_ushort16_rtn(ushort16);
4174303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtn(ushort16);
4175303233Sdimushort16 __ovld __cnfn convert_ushort16(ushort16);
4176303233Sdimushort16 __ovld __cnfn convert_ushort16_sat(ushort16);
4177303233Sdimushort16 __ovld __cnfn convert_ushort16_rte(int16);
4178303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rte(int16);
4179303233Sdimushort16 __ovld __cnfn convert_ushort16_rtz(int16);
4180303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtz(int16);
4181303233Sdimushort16 __ovld __cnfn convert_ushort16_rtp(int16);
4182303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtp(int16);
4183303233Sdimushort16 __ovld __cnfn convert_ushort16_rtn(int16);
4184303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtn(int16);
4185303233Sdimushort16 __ovld __cnfn convert_ushort16(int16);
4186303233Sdimushort16 __ovld __cnfn convert_ushort16_sat(int16);
4187303233Sdimushort16 __ovld __cnfn convert_ushort16_rte(uint16);
4188303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rte(uint16);
4189303233Sdimushort16 __ovld __cnfn convert_ushort16_rtz(uint16);
4190303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtz(uint16);
4191303233Sdimushort16 __ovld __cnfn convert_ushort16_rtp(uint16);
4192303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtp(uint16);
4193303233Sdimushort16 __ovld __cnfn convert_ushort16_rtn(uint16);
4194303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtn(uint16);
4195303233Sdimushort16 __ovld __cnfn convert_ushort16(uint16);
4196303233Sdimushort16 __ovld __cnfn convert_ushort16_sat(uint16);
4197303233Sdimushort16 __ovld __cnfn convert_ushort16_rte(long16);
4198303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rte(long16);
4199303233Sdimushort16 __ovld __cnfn convert_ushort16_rtz(long16);
4200303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtz(long16);
4201303233Sdimushort16 __ovld __cnfn convert_ushort16_rtp(long16);
4202303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtp(long16);
4203303233Sdimushort16 __ovld __cnfn convert_ushort16_rtn(long16);
4204303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtn(long16);
4205303233Sdimushort16 __ovld __cnfn convert_ushort16(long16);
4206303233Sdimushort16 __ovld __cnfn convert_ushort16_sat(long16);
4207303233Sdimushort16 __ovld __cnfn convert_ushort16_rte(ulong16);
4208303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rte(ulong16);
4209303233Sdimushort16 __ovld __cnfn convert_ushort16_rtz(ulong16);
4210303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtz(ulong16);
4211303233Sdimushort16 __ovld __cnfn convert_ushort16_rtp(ulong16);
4212303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtp(ulong16);
4213303233Sdimushort16 __ovld __cnfn convert_ushort16_rtn(ulong16);
4214303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtn(ulong16);
4215303233Sdimushort16 __ovld __cnfn convert_ushort16(ulong16);
4216303233Sdimushort16 __ovld __cnfn convert_ushort16_sat(ulong16);
4217303233Sdimushort16 __ovld __cnfn convert_ushort16_rte(float16);
4218303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rte(float16);
4219303233Sdimushort16 __ovld __cnfn convert_ushort16_rtz(float16);
4220303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtz(float16);
4221303233Sdimushort16 __ovld __cnfn convert_ushort16_rtp(float16);
4222303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtp(float16);
4223303233Sdimushort16 __ovld __cnfn convert_ushort16_rtn(float16);
4224303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtn(float16);
4225303233Sdimushort16 __ovld __cnfn convert_ushort16(float16);
4226303233Sdimushort16 __ovld __cnfn convert_ushort16_sat(float16);
4227303233Sdimint16 __ovld __cnfn convert_int16_rte(char16);
4228303233Sdimint16 __ovld __cnfn convert_int16_sat_rte(char16);
4229303233Sdimint16 __ovld __cnfn convert_int16_rtz(char16);
4230303233Sdimint16 __ovld __cnfn convert_int16_sat_rtz(char16);
4231303233Sdimint16 __ovld __cnfn convert_int16_rtp(char16);
4232303233Sdimint16 __ovld __cnfn convert_int16_sat_rtp(char16);
4233303233Sdimint16 __ovld __cnfn convert_int16_rtn(char16);
4234303233Sdimint16 __ovld __cnfn convert_int16_sat_rtn(char16);
4235303233Sdimint16 __ovld __cnfn convert_int16(char16);
4236303233Sdimint16 __ovld __cnfn convert_int16_sat(char16);
4237303233Sdimint16 __ovld __cnfn convert_int16_rte(uchar16);
4238303233Sdimint16 __ovld __cnfn convert_int16_sat_rte(uchar16);
4239303233Sdimint16 __ovld __cnfn convert_int16_rtz(uchar16);
4240303233Sdimint16 __ovld __cnfn convert_int16_sat_rtz(uchar16);
4241303233Sdimint16 __ovld __cnfn convert_int16_rtp(uchar16);
4242303233Sdimint16 __ovld __cnfn convert_int16_sat_rtp(uchar16);
4243303233Sdimint16 __ovld __cnfn convert_int16_rtn(uchar16);
4244303233Sdimint16 __ovld __cnfn convert_int16_sat_rtn(uchar16);
4245303233Sdimint16 __ovld __cnfn convert_int16(uchar16);
4246303233Sdimint16 __ovld __cnfn convert_int16_sat(uchar16);
4247303233Sdimint16 __ovld __cnfn convert_int16_rte(short16);
4248303233Sdimint16 __ovld __cnfn convert_int16_sat_rte(short16);
4249303233Sdimint16 __ovld __cnfn convert_int16_rtz(short16);
4250303233Sdimint16 __ovld __cnfn convert_int16_sat_rtz(short16);
4251303233Sdimint16 __ovld __cnfn convert_int16_rtp(short16);
4252303233Sdimint16 __ovld __cnfn convert_int16_sat_rtp(short16);
4253303233Sdimint16 __ovld __cnfn convert_int16_rtn(short16);
4254303233Sdimint16 __ovld __cnfn convert_int16_sat_rtn(short16);
4255303233Sdimint16 __ovld __cnfn convert_int16(short16);
4256303233Sdimint16 __ovld __cnfn convert_int16_sat(short16);
4257303233Sdimint16 __ovld __cnfn convert_int16_rte(ushort16);
4258303233Sdimint16 __ovld __cnfn convert_int16_sat_rte(ushort16);
4259303233Sdimint16 __ovld __cnfn convert_int16_rtz(ushort16);
4260303233Sdimint16 __ovld __cnfn convert_int16_sat_rtz(ushort16);
4261303233Sdimint16 __ovld __cnfn convert_int16_rtp(ushort16);
4262303233Sdimint16 __ovld __cnfn convert_int16_sat_rtp(ushort16);
4263303233Sdimint16 __ovld __cnfn convert_int16_rtn(ushort16);
4264303233Sdimint16 __ovld __cnfn convert_int16_sat_rtn(ushort16);
4265303233Sdimint16 __ovld __cnfn convert_int16(ushort16);
4266303233Sdimint16 __ovld __cnfn convert_int16_sat(ushort16);
4267303233Sdimint16 __ovld __cnfn convert_int16_rte(int16);
4268303233Sdimint16 __ovld __cnfn convert_int16_sat_rte(int16);
4269303233Sdimint16 __ovld __cnfn convert_int16_rtz(int16);
4270303233Sdimint16 __ovld __cnfn convert_int16_sat_rtz(int16);
4271303233Sdimint16 __ovld __cnfn convert_int16_rtp(int16);
4272303233Sdimint16 __ovld __cnfn convert_int16_sat_rtp(int16);
4273303233Sdimint16 __ovld __cnfn convert_int16_rtn(int16);
4274303233Sdimint16 __ovld __cnfn convert_int16_sat_rtn(int16);
4275303233Sdimint16 __ovld __cnfn convert_int16(int16);
4276303233Sdimint16 __ovld __cnfn convert_int16_sat(int16);
4277303233Sdimint16 __ovld __cnfn convert_int16_rte(uint16);
4278303233Sdimint16 __ovld __cnfn convert_int16_sat_rte(uint16);
4279303233Sdimint16 __ovld __cnfn convert_int16_rtz(uint16);
4280303233Sdimint16 __ovld __cnfn convert_int16_sat_rtz(uint16);
4281303233Sdimint16 __ovld __cnfn convert_int16_rtp(uint16);
4282303233Sdimint16 __ovld __cnfn convert_int16_sat_rtp(uint16);
4283303233Sdimint16 __ovld __cnfn convert_int16_rtn(uint16);
4284303233Sdimint16 __ovld __cnfn convert_int16_sat_rtn(uint16);
4285303233Sdimint16 __ovld __cnfn convert_int16(uint16);
4286303233Sdimint16 __ovld __cnfn convert_int16_sat(uint16);
4287303233Sdimint16 __ovld __cnfn convert_int16_rte(long16);
4288303233Sdimint16 __ovld __cnfn convert_int16_sat_rte(long16);
4289303233Sdimint16 __ovld __cnfn convert_int16_rtz(long16);
4290303233Sdimint16 __ovld __cnfn convert_int16_sat_rtz(long16);
4291303233Sdimint16 __ovld __cnfn convert_int16_rtp(long16);
4292303233Sdimint16 __ovld __cnfn convert_int16_sat_rtp(long16);
4293303233Sdimint16 __ovld __cnfn convert_int16_rtn(long16);
4294303233Sdimint16 __ovld __cnfn convert_int16_sat_rtn(long16);
4295303233Sdimint16 __ovld __cnfn convert_int16(long16);
4296303233Sdimint16 __ovld __cnfn convert_int16_sat(long16);
4297303233Sdimint16 __ovld __cnfn convert_int16_rte(ulong16);
4298303233Sdimint16 __ovld __cnfn convert_int16_sat_rte(ulong16);
4299303233Sdimint16 __ovld __cnfn convert_int16_rtz(ulong16);
4300303233Sdimint16 __ovld __cnfn convert_int16_sat_rtz(ulong16);
4301303233Sdimint16 __ovld __cnfn convert_int16_rtp(ulong16);
4302303233Sdimint16 __ovld __cnfn convert_int16_sat_rtp(ulong16);
4303303233Sdimint16 __ovld __cnfn convert_int16_rtn(ulong16);
4304303233Sdimint16 __ovld __cnfn convert_int16_sat_rtn(ulong16);
4305303233Sdimint16 __ovld __cnfn convert_int16(ulong16);
4306303233Sdimint16 __ovld __cnfn convert_int16_sat(ulong16);
4307303233Sdimint16 __ovld __cnfn convert_int16_rte(float16);
4308303233Sdimint16 __ovld __cnfn convert_int16_sat_rte(float16);
4309303233Sdimint16 __ovld __cnfn convert_int16_rtz(float16);
4310303233Sdimint16 __ovld __cnfn convert_int16_sat_rtz(float16);
4311303233Sdimint16 __ovld __cnfn convert_int16_rtp(float16);
4312303233Sdimint16 __ovld __cnfn convert_int16_sat_rtp(float16);
4313303233Sdimint16 __ovld __cnfn convert_int16_rtn(float16);
4314303233Sdimint16 __ovld __cnfn convert_int16_sat_rtn(float16);
4315303233Sdimint16 __ovld __cnfn convert_int16(float16);
4316303233Sdimint16 __ovld __cnfn convert_int16_sat(float16);
4317303233Sdimuint16 __ovld __cnfn convert_uint16_rte(char16);
4318303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rte(char16);
4319303233Sdimuint16 __ovld __cnfn convert_uint16_rtz(char16);
4320303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtz(char16);
4321303233Sdimuint16 __ovld __cnfn convert_uint16_rtp(char16);
4322303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtp(char16);
4323303233Sdimuint16 __ovld __cnfn convert_uint16_rtn(char16);
4324303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtn(char16);
4325303233Sdimuint16 __ovld __cnfn convert_uint16(char16);
4326303233Sdimuint16 __ovld __cnfn convert_uint16_sat(char16);
4327303233Sdimuint16 __ovld __cnfn convert_uint16_rte(uchar16);
4328303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rte(uchar16);
4329303233Sdimuint16 __ovld __cnfn convert_uint16_rtz(uchar16);
4330303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtz(uchar16);
4331303233Sdimuint16 __ovld __cnfn convert_uint16_rtp(uchar16);
4332303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtp(uchar16);
4333303233Sdimuint16 __ovld __cnfn convert_uint16_rtn(uchar16);
4334303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtn(uchar16);
4335303233Sdimuint16 __ovld __cnfn convert_uint16(uchar16);
4336303233Sdimuint16 __ovld __cnfn convert_uint16_sat(uchar16);
4337303233Sdimuint16 __ovld __cnfn convert_uint16_rte(short16);
4338303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rte(short16);
4339303233Sdimuint16 __ovld __cnfn convert_uint16_rtz(short16);
4340303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtz(short16);
4341303233Sdimuint16 __ovld __cnfn convert_uint16_rtp(short16);
4342303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtp(short16);
4343303233Sdimuint16 __ovld __cnfn convert_uint16_rtn(short16);
4344303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtn(short16);
4345303233Sdimuint16 __ovld __cnfn convert_uint16(short16);
4346303233Sdimuint16 __ovld __cnfn convert_uint16_sat(short16);
4347303233Sdimuint16 __ovld __cnfn convert_uint16_rte(ushort16);
4348303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rte(ushort16);
4349303233Sdimuint16 __ovld __cnfn convert_uint16_rtz(ushort16);
4350303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtz(ushort16);
4351303233Sdimuint16 __ovld __cnfn convert_uint16_rtp(ushort16);
4352303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtp(ushort16);
4353303233Sdimuint16 __ovld __cnfn convert_uint16_rtn(ushort16);
4354303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtn(ushort16);
4355303233Sdimuint16 __ovld __cnfn convert_uint16(ushort16);
4356303233Sdimuint16 __ovld __cnfn convert_uint16_sat(ushort16);
4357303233Sdimuint16 __ovld __cnfn convert_uint16_rte(int16);
4358303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rte(int16);
4359303233Sdimuint16 __ovld __cnfn convert_uint16_rtz(int16);
4360303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtz(int16);
4361303233Sdimuint16 __ovld __cnfn convert_uint16_rtp(int16);
4362303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtp(int16);
4363303233Sdimuint16 __ovld __cnfn convert_uint16_rtn(int16);
4364303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtn(int16);
4365303233Sdimuint16 __ovld __cnfn convert_uint16(int16);
4366303233Sdimuint16 __ovld __cnfn convert_uint16_sat(int16);
4367303233Sdimuint16 __ovld __cnfn convert_uint16_rte(uint16);
4368303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rte(uint16);
4369303233Sdimuint16 __ovld __cnfn convert_uint16_rtz(uint16);
4370303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtz(uint16);
4371303233Sdimuint16 __ovld __cnfn convert_uint16_rtp(uint16);
4372303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtp(uint16);
4373303233Sdimuint16 __ovld __cnfn convert_uint16_rtn(uint16);
4374303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtn(uint16);
4375303233Sdimuint16 __ovld __cnfn convert_uint16(uint16);
4376303233Sdimuint16 __ovld __cnfn convert_uint16_sat(uint16);
4377303233Sdimuint16 __ovld __cnfn convert_uint16_rte(long16);
4378303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rte(long16);
4379303233Sdimuint16 __ovld __cnfn convert_uint16_rtz(long16);
4380303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtz(long16);
4381303233Sdimuint16 __ovld __cnfn convert_uint16_rtp(long16);
4382303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtp(long16);
4383303233Sdimuint16 __ovld __cnfn convert_uint16_rtn(long16);
4384303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtn(long16);
4385303233Sdimuint16 __ovld __cnfn convert_uint16(long16);
4386303233Sdimuint16 __ovld __cnfn convert_uint16_sat(long16);
4387303233Sdimuint16 __ovld __cnfn convert_uint16_rte(ulong16);
4388303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rte(ulong16);
4389303233Sdimuint16 __ovld __cnfn convert_uint16_rtz(ulong16);
4390303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtz(ulong16);
4391303233Sdimuint16 __ovld __cnfn convert_uint16_rtp(ulong16);
4392303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtp(ulong16);
4393303233Sdimuint16 __ovld __cnfn convert_uint16_rtn(ulong16);
4394303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtn(ulong16);
4395303233Sdimuint16 __ovld __cnfn convert_uint16(ulong16);
4396303233Sdimuint16 __ovld __cnfn convert_uint16_sat(ulong16);
4397303233Sdimuint16 __ovld __cnfn convert_uint16_rte(float16);
4398303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rte(float16);
4399303233Sdimuint16 __ovld __cnfn convert_uint16_rtz(float16);
4400303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtz(float16);
4401303233Sdimuint16 __ovld __cnfn convert_uint16_rtp(float16);
4402303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtp(float16);
4403303233Sdimuint16 __ovld __cnfn convert_uint16_rtn(float16);
4404303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtn(float16);
4405303233Sdimuint16 __ovld __cnfn convert_uint16(float16);
4406303233Sdimuint16 __ovld __cnfn convert_uint16_sat(float16);
4407303233Sdimlong16 __ovld __cnfn convert_long16_rte(char16);
4408303233Sdimlong16 __ovld __cnfn convert_long16_sat_rte(char16);
4409303233Sdimlong16 __ovld __cnfn convert_long16_rtz(char16);
4410303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtz(char16);
4411303233Sdimlong16 __ovld __cnfn convert_long16_rtp(char16);
4412303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtp(char16);
4413303233Sdimlong16 __ovld __cnfn convert_long16_rtn(char16);
4414303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtn(char16);
4415303233Sdimlong16 __ovld __cnfn convert_long16(char16);
4416303233Sdimlong16 __ovld __cnfn convert_long16_sat(char16);
4417303233Sdimlong16 __ovld __cnfn convert_long16_rte(uchar16);
4418303233Sdimlong16 __ovld __cnfn convert_long16_sat_rte(uchar16);
4419303233Sdimlong16 __ovld __cnfn convert_long16_rtz(uchar16);
4420303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtz(uchar16);
4421303233Sdimlong16 __ovld __cnfn convert_long16_rtp(uchar16);
4422303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtp(uchar16);
4423303233Sdimlong16 __ovld __cnfn convert_long16_rtn(uchar16);
4424303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtn(uchar16);
4425303233Sdimlong16 __ovld __cnfn convert_long16(uchar16);
4426303233Sdimlong16 __ovld __cnfn convert_long16_sat(uchar16);
4427303233Sdimlong16 __ovld __cnfn convert_long16_rte(short16);
4428303233Sdimlong16 __ovld __cnfn convert_long16_sat_rte(short16);
4429303233Sdimlong16 __ovld __cnfn convert_long16_rtz(short16);
4430303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtz(short16);
4431303233Sdimlong16 __ovld __cnfn convert_long16_rtp(short16);
4432303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtp(short16);
4433303233Sdimlong16 __ovld __cnfn convert_long16_rtn(short16);
4434303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtn(short16);
4435303233Sdimlong16 __ovld __cnfn convert_long16(short16);
4436303233Sdimlong16 __ovld __cnfn convert_long16_sat(short16);
4437303233Sdimlong16 __ovld __cnfn convert_long16_rte(ushort16);
4438303233Sdimlong16 __ovld __cnfn convert_long16_sat_rte(ushort16);
4439303233Sdimlong16 __ovld __cnfn convert_long16_rtz(ushort16);
4440303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtz(ushort16);
4441303233Sdimlong16 __ovld __cnfn convert_long16_rtp(ushort16);
4442303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtp(ushort16);
4443303233Sdimlong16 __ovld __cnfn convert_long16_rtn(ushort16);
4444303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtn(ushort16);
4445303233Sdimlong16 __ovld __cnfn convert_long16(ushort16);
4446303233Sdimlong16 __ovld __cnfn convert_long16_sat(ushort16);
4447303233Sdimlong16 __ovld __cnfn convert_long16_rte(int16);
4448303233Sdimlong16 __ovld __cnfn convert_long16_sat_rte(int16);
4449303233Sdimlong16 __ovld __cnfn convert_long16_rtz(int16);
4450303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtz(int16);
4451303233Sdimlong16 __ovld __cnfn convert_long16_rtp(int16);
4452303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtp(int16);
4453303233Sdimlong16 __ovld __cnfn convert_long16_rtn(int16);
4454303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtn(int16);
4455303233Sdimlong16 __ovld __cnfn convert_long16(int16);
4456303233Sdimlong16 __ovld __cnfn convert_long16_sat(int16);
4457303233Sdimlong16 __ovld __cnfn convert_long16_rte(uint16);
4458303233Sdimlong16 __ovld __cnfn convert_long16_sat_rte(uint16);
4459303233Sdimlong16 __ovld __cnfn convert_long16_rtz(uint16);
4460303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtz(uint16);
4461303233Sdimlong16 __ovld __cnfn convert_long16_rtp(uint16);
4462303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtp(uint16);
4463303233Sdimlong16 __ovld __cnfn convert_long16_rtn(uint16);
4464303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtn(uint16);
4465303233Sdimlong16 __ovld __cnfn convert_long16(uint16);
4466303233Sdimlong16 __ovld __cnfn convert_long16_sat(uint16);
4467303233Sdimlong16 __ovld __cnfn convert_long16_rte(long16);
4468303233Sdimlong16 __ovld __cnfn convert_long16_sat_rte(long16);
4469303233Sdimlong16 __ovld __cnfn convert_long16_rtz(long16);
4470303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtz(long16);
4471303233Sdimlong16 __ovld __cnfn convert_long16_rtp(long16);
4472303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtp(long16);
4473303233Sdimlong16 __ovld __cnfn convert_long16_rtn(long16);
4474303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtn(long16);
4475303233Sdimlong16 __ovld __cnfn convert_long16(long16);
4476303233Sdimlong16 __ovld __cnfn convert_long16_sat(long16);
4477303233Sdimlong16 __ovld __cnfn convert_long16_rte(ulong16);
4478303233Sdimlong16 __ovld __cnfn convert_long16_sat_rte(ulong16);
4479303233Sdimlong16 __ovld __cnfn convert_long16_rtz(ulong16);
4480303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtz(ulong16);
4481303233Sdimlong16 __ovld __cnfn convert_long16_rtp(ulong16);
4482303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtp(ulong16);
4483303233Sdimlong16 __ovld __cnfn convert_long16_rtn(ulong16);
4484303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtn(ulong16);
4485303233Sdimlong16 __ovld __cnfn convert_long16(ulong16);
4486303233Sdimlong16 __ovld __cnfn convert_long16_sat(ulong16);
4487303233Sdimlong16 __ovld __cnfn convert_long16_rte(float16);
4488303233Sdimlong16 __ovld __cnfn convert_long16_sat_rte(float16);
4489303233Sdimlong16 __ovld __cnfn convert_long16_rtz(float16);
4490303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtz(float16);
4491303233Sdimlong16 __ovld __cnfn convert_long16_rtp(float16);
4492303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtp(float16);
4493303233Sdimlong16 __ovld __cnfn convert_long16_rtn(float16);
4494303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtn(float16);
4495303233Sdimlong16 __ovld __cnfn convert_long16(float16);
4496303233Sdimlong16 __ovld __cnfn convert_long16_sat(float16);
4497303233Sdimulong16 __ovld __cnfn convert_ulong16_rte(char16);
4498303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rte(char16);
4499303233Sdimulong16 __ovld __cnfn convert_ulong16_rtz(char16);
4500303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtz(char16);
4501303233Sdimulong16 __ovld __cnfn convert_ulong16_rtp(char16);
4502303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtp(char16);
4503303233Sdimulong16 __ovld __cnfn convert_ulong16_rtn(char16);
4504303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtn(char16);
4505303233Sdimulong16 __ovld __cnfn convert_ulong16(char16);
4506303233Sdimulong16 __ovld __cnfn convert_ulong16_sat(char16);
4507303233Sdimulong16 __ovld __cnfn convert_ulong16_rte(uchar16);
4508303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rte(uchar16);
4509303233Sdimulong16 __ovld __cnfn convert_ulong16_rtz(uchar16);
4510303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtz(uchar16);
4511303233Sdimulong16 __ovld __cnfn convert_ulong16_rtp(uchar16);
4512303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtp(uchar16);
4513303233Sdimulong16 __ovld __cnfn convert_ulong16_rtn(uchar16);
4514303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtn(uchar16);
4515303233Sdimulong16 __ovld __cnfn convert_ulong16(uchar16);
4516303233Sdimulong16 __ovld __cnfn convert_ulong16_sat(uchar16);
4517303233Sdimulong16 __ovld __cnfn convert_ulong16_rte(short16);
4518303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rte(short16);
4519303233Sdimulong16 __ovld __cnfn convert_ulong16_rtz(short16);
4520303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtz(short16);
4521303233Sdimulong16 __ovld __cnfn convert_ulong16_rtp(short16);
4522303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtp(short16);
4523303233Sdimulong16 __ovld __cnfn convert_ulong16_rtn(short16);
4524303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtn(short16);
4525303233Sdimulong16 __ovld __cnfn convert_ulong16(short16);
4526303233Sdimulong16 __ovld __cnfn convert_ulong16_sat(short16);
4527303233Sdimulong16 __ovld __cnfn convert_ulong16_rte(ushort16);
4528303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rte(ushort16);
4529303233Sdimulong16 __ovld __cnfn convert_ulong16_rtz(ushort16);
4530303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtz(ushort16);
4531303233Sdimulong16 __ovld __cnfn convert_ulong16_rtp(ushort16);
4532303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtp(ushort16);
4533303233Sdimulong16 __ovld __cnfn convert_ulong16_rtn(ushort16);
4534303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtn(ushort16);
4535303233Sdimulong16 __ovld __cnfn convert_ulong16(ushort16);
4536303233Sdimulong16 __ovld __cnfn convert_ulong16_sat(ushort16);
4537303233Sdimulong16 __ovld __cnfn convert_ulong16_rte(int16);
4538303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rte(int16);
4539303233Sdimulong16 __ovld __cnfn convert_ulong16_rtz(int16);
4540303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtz(int16);
4541303233Sdimulong16 __ovld __cnfn convert_ulong16_rtp(int16);
4542303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtp(int16);
4543303233Sdimulong16 __ovld __cnfn convert_ulong16_rtn(int16);
4544303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtn(int16);
4545303233Sdimulong16 __ovld __cnfn convert_ulong16(int16);
4546303233Sdimulong16 __ovld __cnfn convert_ulong16_sat(int16);
4547303233Sdimulong16 __ovld __cnfn convert_ulong16_rte(uint16);
4548303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rte(uint16);
4549303233Sdimulong16 __ovld __cnfn convert_ulong16_rtz(uint16);
4550303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtz(uint16);
4551303233Sdimulong16 __ovld __cnfn convert_ulong16_rtp(uint16);
4552303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtp(uint16);
4553303233Sdimulong16 __ovld __cnfn convert_ulong16_rtn(uint16);
4554303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtn(uint16);
4555303233Sdimulong16 __ovld __cnfn convert_ulong16(uint16);
4556303233Sdimulong16 __ovld __cnfn convert_ulong16_sat(uint16);
4557303233Sdimulong16 __ovld __cnfn convert_ulong16_rte(long16);
4558303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rte(long16);
4559303233Sdimulong16 __ovld __cnfn convert_ulong16_rtz(long16);
4560303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtz(long16);
4561303233Sdimulong16 __ovld __cnfn convert_ulong16_rtp(long16);
4562303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtp(long16);
4563303233Sdimulong16 __ovld __cnfn convert_ulong16_rtn(long16);
4564303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtn(long16);
4565303233Sdimulong16 __ovld __cnfn convert_ulong16(long16);
4566303233Sdimulong16 __ovld __cnfn convert_ulong16_sat(long16);
4567303233Sdimulong16 __ovld __cnfn convert_ulong16_rte(ulong16);
4568303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rte(ulong16);
4569303233Sdimulong16 __ovld __cnfn convert_ulong16_rtz(ulong16);
4570303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtz(ulong16);
4571303233Sdimulong16 __ovld __cnfn convert_ulong16_rtp(ulong16);
4572303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtp(ulong16);
4573303233Sdimulong16 __ovld __cnfn convert_ulong16_rtn(ulong16);
4574303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtn(ulong16);
4575303233Sdimulong16 __ovld __cnfn convert_ulong16(ulong16);
4576303233Sdimulong16 __ovld __cnfn convert_ulong16_sat(ulong16);
4577303233Sdimulong16 __ovld __cnfn convert_ulong16_rte(float16);
4578303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rte(float16);
4579303233Sdimulong16 __ovld __cnfn convert_ulong16_rtz(float16);
4580303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtz(float16);
4581303233Sdimulong16 __ovld __cnfn convert_ulong16_rtp(float16);
4582303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtp(float16);
4583303233Sdimulong16 __ovld __cnfn convert_ulong16_rtn(float16);
4584303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtn(float16);
4585303233Sdimulong16 __ovld __cnfn convert_ulong16(float16);
4586303233Sdimulong16 __ovld __cnfn convert_ulong16_sat(float16);
4587303233Sdimfloat16 __ovld __cnfn convert_float16_rte(char16);
4588303233Sdimfloat16 __ovld __cnfn convert_float16_rtz(char16);
4589303233Sdimfloat16 __ovld __cnfn convert_float16_rtp(char16);
4590303233Sdimfloat16 __ovld __cnfn convert_float16_rtn(char16);
4591303233Sdimfloat16 __ovld __cnfn convert_float16(char16);
4592303233Sdimfloat16 __ovld __cnfn convert_float16_rte(uchar16);
4593303233Sdimfloat16 __ovld __cnfn convert_float16_rtz(uchar16);
4594303233Sdimfloat16 __ovld __cnfn convert_float16_rtp(uchar16);
4595303233Sdimfloat16 __ovld __cnfn convert_float16_rtn(uchar16);
4596303233Sdimfloat16 __ovld __cnfn convert_float16(uchar16);
4597303233Sdimfloat16 __ovld __cnfn convert_float16_rte(short16);
4598303233Sdimfloat16 __ovld __cnfn convert_float16_rtz(short16);
4599303233Sdimfloat16 __ovld __cnfn convert_float16_rtp(short16);
4600303233Sdimfloat16 __ovld __cnfn convert_float16_rtn(short16);
4601303233Sdimfloat16 __ovld __cnfn convert_float16(short16);
4602303233Sdimfloat16 __ovld __cnfn convert_float16_rte(ushort16);
4603303233Sdimfloat16 __ovld __cnfn convert_float16_rtz(ushort16);
4604303233Sdimfloat16 __ovld __cnfn convert_float16_rtp(ushort16);
4605303233Sdimfloat16 __ovld __cnfn convert_float16_rtn(ushort16);
4606303233Sdimfloat16 __ovld __cnfn convert_float16(ushort16);
4607303233Sdimfloat16 __ovld __cnfn convert_float16_rte(int16);
4608303233Sdimfloat16 __ovld __cnfn convert_float16_rtz(int16);
4609303233Sdimfloat16 __ovld __cnfn convert_float16_rtp(int16);
4610303233Sdimfloat16 __ovld __cnfn convert_float16_rtn(int16);
4611303233Sdimfloat16 __ovld __cnfn convert_float16(int16);
4612303233Sdimfloat16 __ovld __cnfn convert_float16_rte(uint16);
4613303233Sdimfloat16 __ovld __cnfn convert_float16_rtz(uint16);
4614303233Sdimfloat16 __ovld __cnfn convert_float16_rtp(uint16);
4615303233Sdimfloat16 __ovld __cnfn convert_float16_rtn(uint16);
4616303233Sdimfloat16 __ovld __cnfn convert_float16(uint16);
4617303233Sdimfloat16 __ovld __cnfn convert_float16_rte(long16);
4618303233Sdimfloat16 __ovld __cnfn convert_float16_rtz(long16);
4619303233Sdimfloat16 __ovld __cnfn convert_float16_rtp(long16);
4620303233Sdimfloat16 __ovld __cnfn convert_float16_rtn(long16);
4621303233Sdimfloat16 __ovld __cnfn convert_float16(long16);
4622303233Sdimfloat16 __ovld __cnfn convert_float16_rte(ulong16);
4623303233Sdimfloat16 __ovld __cnfn convert_float16_rtz(ulong16);
4624303233Sdimfloat16 __ovld __cnfn convert_float16_rtp(ulong16);
4625303233Sdimfloat16 __ovld __cnfn convert_float16_rtn(ulong16);
4626303233Sdimfloat16 __ovld __cnfn convert_float16(ulong16);
4627303233Sdimfloat16 __ovld __cnfn convert_float16_rte(float16);
4628303233Sdimfloat16 __ovld __cnfn convert_float16_rtz(float16);
4629303233Sdimfloat16 __ovld __cnfn convert_float16_rtp(float16);
4630303233Sdimfloat16 __ovld __cnfn convert_float16_rtn(float16);
4631303233Sdimfloat16 __ovld __cnfn convert_float16(float16);
4632303233Sdim
4633303233Sdim// Conversions with double data type parameters or return value.
4634303233Sdim
4635303233Sdim#ifdef cl_khr_fp64
4636303233Sdimchar __ovld __cnfn convert_char(double);
4637303233Sdimchar __ovld __cnfn convert_char_rte(double);
4638303233Sdimchar __ovld __cnfn convert_char_rtn(double);
4639303233Sdimchar __ovld __cnfn convert_char_rtp(double);
4640303233Sdimchar __ovld __cnfn convert_char_rtz(double);
4641303233Sdimchar __ovld __cnfn convert_char_sat(double);
4642303233Sdimchar __ovld __cnfn convert_char_sat_rte(double);
4643303233Sdimchar __ovld __cnfn convert_char_sat_rtn(double);
4644303233Sdimchar __ovld __cnfn convert_char_sat_rtp(double);
4645303233Sdimchar __ovld __cnfn convert_char_sat_rtz(double);
4646303233Sdimchar2 __ovld __cnfn convert_char2(double2);
4647303233Sdimchar2 __ovld __cnfn convert_char2_rte(double2);
4648303233Sdimchar2 __ovld __cnfn convert_char2_rtn(double2);
4649303233Sdimchar2 __ovld __cnfn convert_char2_rtp(double2);
4650303233Sdimchar2 __ovld __cnfn convert_char2_rtz(double2);
4651303233Sdimchar2 __ovld __cnfn convert_char2_sat(double2);
4652303233Sdimchar2 __ovld __cnfn convert_char2_sat_rte(double2);
4653303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtn(double2);
4654303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtp(double2);
4655303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtz(double2);
4656303233Sdimchar3 __ovld __cnfn convert_char3(double3);
4657303233Sdimchar3 __ovld __cnfn convert_char3_rte(double3);
4658303233Sdimchar3 __ovld __cnfn convert_char3_rtn(double3);
4659303233Sdimchar3 __ovld __cnfn convert_char3_rtp(double3);
4660303233Sdimchar3 __ovld __cnfn convert_char3_rtz(double3);
4661303233Sdimchar3 __ovld __cnfn convert_char3_sat(double3);
4662303233Sdimchar3 __ovld __cnfn convert_char3_sat_rte(double3);
4663303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtn(double3);
4664303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtp(double3);
4665303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtz(double3);
4666303233Sdimchar4 __ovld __cnfn convert_char4(double4);
4667303233Sdimchar4 __ovld __cnfn convert_char4_rte(double4);
4668303233Sdimchar4 __ovld __cnfn convert_char4_rtn(double4);
4669303233Sdimchar4 __ovld __cnfn convert_char4_rtp(double4);
4670303233Sdimchar4 __ovld __cnfn convert_char4_rtz(double4);
4671303233Sdimchar4 __ovld __cnfn convert_char4_sat(double4);
4672303233Sdimchar4 __ovld __cnfn convert_char4_sat_rte(double4);
4673303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtn(double4);
4674303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtp(double4);
4675303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtz(double4);
4676303233Sdimchar8 __ovld __cnfn convert_char8(double8);
4677303233Sdimchar8 __ovld __cnfn convert_char8_rte(double8);
4678303233Sdimchar8 __ovld __cnfn convert_char8_rtn(double8);
4679303233Sdimchar8 __ovld __cnfn convert_char8_rtp(double8);
4680303233Sdimchar8 __ovld __cnfn convert_char8_rtz(double8);
4681303233Sdimchar8 __ovld __cnfn convert_char8_sat(double8);
4682303233Sdimchar8 __ovld __cnfn convert_char8_sat_rte(double8);
4683303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtn(double8);
4684303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtp(double8);
4685303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtz(double8);
4686303233Sdimchar16 __ovld __cnfn convert_char16(double16);
4687303233Sdimchar16 __ovld __cnfn convert_char16_rte(double16);
4688303233Sdimchar16 __ovld __cnfn convert_char16_rtn(double16);
4689303233Sdimchar16 __ovld __cnfn convert_char16_rtp(double16);
4690303233Sdimchar16 __ovld __cnfn convert_char16_rtz(double16);
4691303233Sdimchar16 __ovld __cnfn convert_char16_sat(double16);
4692303233Sdimchar16 __ovld __cnfn convert_char16_sat_rte(double16);
4693303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtn(double16);
4694303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtp(double16);
4695303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtz(double16);
4696303233Sdim
4697303233Sdimuchar __ovld __cnfn convert_uchar(double);
4698303233Sdimuchar __ovld __cnfn convert_uchar_rte(double);
4699303233Sdimuchar __ovld __cnfn convert_uchar_rtn(double);
4700303233Sdimuchar __ovld __cnfn convert_uchar_rtp(double);
4701303233Sdimuchar __ovld __cnfn convert_uchar_rtz(double);
4702303233Sdimuchar __ovld __cnfn convert_uchar_sat(double);
4703303233Sdimuchar __ovld __cnfn convert_uchar_sat_rte(double);
4704303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtn(double);
4705303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtp(double);
4706303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtz(double);
4707303233Sdimuchar2 __ovld __cnfn convert_uchar2(double2);
4708303233Sdimuchar2 __ovld __cnfn convert_uchar2_rte(double2);
4709303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtn(double2);
4710303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtp(double2);
4711303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtz(double2);
4712303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat(double2);
4713303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rte(double2);
4714303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtn(double2);
4715303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtp(double2);
4716303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtz(double2);
4717303233Sdimuchar3 __ovld __cnfn convert_uchar3(double3);
4718303233Sdimuchar3 __ovld __cnfn convert_uchar3_rte(double3);
4719303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtn(double3);
4720303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtp(double3);
4721303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtz(double3);
4722303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat(double3);
4723303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rte(double3);
4724303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtn(double3);
4725303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtp(double3);
4726303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtz(double3);
4727303233Sdimuchar4 __ovld __cnfn convert_uchar4(double4);
4728303233Sdimuchar4 __ovld __cnfn convert_uchar4_rte(double4);
4729303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtn(double4);
4730303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtp(double4);
4731303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtz(double4);
4732303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat(double4);
4733303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rte(double4);
4734303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtn(double4);
4735303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtp(double4);
4736303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtz(double4);
4737303233Sdimuchar8 __ovld __cnfn convert_uchar8(double8);
4738303233Sdimuchar8 __ovld __cnfn convert_uchar8_rte(double8);
4739303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtn(double8);
4740303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtp(double8);
4741303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtz(double8);
4742303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat(double8);
4743303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rte(double8);
4744303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtn(double8);
4745303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtp(double8);
4746303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtz(double8);
4747303233Sdimuchar16 __ovld __cnfn convert_uchar16(double16);
4748303233Sdimuchar16 __ovld __cnfn convert_uchar16_rte(double16);
4749303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtn(double16);
4750303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtp(double16);
4751303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtz(double16);
4752303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat(double16);
4753303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rte(double16);
4754303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtn(double16);
4755303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtp(double16);
4756303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtz(double16);
4757303233Sdim
4758303233Sdimshort __ovld __cnfn convert_short(double);
4759303233Sdimshort __ovld __cnfn convert_short_rte(double);
4760303233Sdimshort __ovld __cnfn convert_short_rtn(double);
4761303233Sdimshort __ovld __cnfn convert_short_rtp(double);
4762303233Sdimshort __ovld __cnfn convert_short_rtz(double);
4763303233Sdimshort __ovld __cnfn convert_short_sat(double);
4764303233Sdimshort __ovld __cnfn convert_short_sat_rte(double);
4765303233Sdimshort __ovld __cnfn convert_short_sat_rtn(double);
4766303233Sdimshort __ovld __cnfn convert_short_sat_rtp(double);
4767303233Sdimshort __ovld __cnfn convert_short_sat_rtz(double);
4768303233Sdimshort2 __ovld __cnfn convert_short2(double2);
4769303233Sdimshort2 __ovld __cnfn convert_short2_rte(double2);
4770303233Sdimshort2 __ovld __cnfn convert_short2_rtn(double2);
4771303233Sdimshort2 __ovld __cnfn convert_short2_rtp(double2);
4772303233Sdimshort2 __ovld __cnfn convert_short2_rtz(double2);
4773303233Sdimshort2 __ovld __cnfn convert_short2_sat(double2);
4774303233Sdimshort2 __ovld __cnfn convert_short2_sat_rte(double2);
4775303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtn(double2);
4776303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtp(double2);
4777303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtz(double2);
4778303233Sdimshort3 __ovld __cnfn convert_short3(double3);
4779303233Sdimshort3 __ovld __cnfn convert_short3_rte(double3);
4780303233Sdimshort3 __ovld __cnfn convert_short3_rtn(double3);
4781303233Sdimshort3 __ovld __cnfn convert_short3_rtp(double3);
4782303233Sdimshort3 __ovld __cnfn convert_short3_rtz(double3);
4783303233Sdimshort3 __ovld __cnfn convert_short3_sat(double3);
4784303233Sdimshort3 __ovld __cnfn convert_short3_sat_rte(double3);
4785303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtn(double3);
4786303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtp(double3);
4787303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtz(double3);
4788303233Sdimshort4 __ovld __cnfn convert_short4(double4);
4789303233Sdimshort4 __ovld __cnfn convert_short4_rte(double4);
4790303233Sdimshort4 __ovld __cnfn convert_short4_rtn(double4);
4791303233Sdimshort4 __ovld __cnfn convert_short4_rtp(double4);
4792303233Sdimshort4 __ovld __cnfn convert_short4_rtz(double4);
4793303233Sdimshort4 __ovld __cnfn convert_short4_sat(double4);
4794303233Sdimshort4 __ovld __cnfn convert_short4_sat_rte(double4);
4795303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtn(double4);
4796303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtp(double4);
4797303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtz(double4);
4798303233Sdimshort8 __ovld __cnfn convert_short8(double8);
4799303233Sdimshort8 __ovld __cnfn convert_short8_rte(double8);
4800303233Sdimshort8 __ovld __cnfn convert_short8_rtn(double8);
4801303233Sdimshort8 __ovld __cnfn convert_short8_rtp(double8);
4802303233Sdimshort8 __ovld __cnfn convert_short8_rtz(double8);
4803303233Sdimshort8 __ovld __cnfn convert_short8_sat(double8);
4804303233Sdimshort8 __ovld __cnfn convert_short8_sat_rte(double8);
4805303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtn(double8);
4806303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtp(double8);
4807303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtz(double8);
4808303233Sdimshort16 __ovld __cnfn convert_short16(double16);
4809303233Sdimshort16 __ovld __cnfn convert_short16_rte(double16);
4810303233Sdimshort16 __ovld __cnfn convert_short16_rtn(double16);
4811303233Sdimshort16 __ovld __cnfn convert_short16_rtp(double16);
4812303233Sdimshort16 __ovld __cnfn convert_short16_rtz(double16);
4813303233Sdimshort16 __ovld __cnfn convert_short16_sat(double16);
4814303233Sdimshort16 __ovld __cnfn convert_short16_sat_rte(double16);
4815303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtn(double16);
4816303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtp(double16);
4817303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtz(double16);
4818303233Sdim
4819303233Sdimushort __ovld __cnfn convert_ushort(double);
4820303233Sdimushort __ovld __cnfn convert_ushort_rte(double);
4821303233Sdimushort __ovld __cnfn convert_ushort_rtn(double);
4822303233Sdimushort __ovld __cnfn convert_ushort_rtp(double);
4823303233Sdimushort __ovld __cnfn convert_ushort_rtz(double);
4824303233Sdimushort __ovld __cnfn convert_ushort_sat(double);
4825303233Sdimushort __ovld __cnfn convert_ushort_sat_rte(double);
4826303233Sdimushort __ovld __cnfn convert_ushort_sat_rtn(double);
4827303233Sdimushort __ovld __cnfn convert_ushort_sat_rtp(double);
4828303233Sdimushort __ovld __cnfn convert_ushort_sat_rtz(double);
4829303233Sdimushort2 __ovld __cnfn convert_ushort2(double2);
4830303233Sdimushort2 __ovld __cnfn convert_ushort2_rte(double2);
4831303233Sdimushort2 __ovld __cnfn convert_ushort2_rtn(double2);
4832303233Sdimushort2 __ovld __cnfn convert_ushort2_rtp(double2);
4833303233Sdimushort2 __ovld __cnfn convert_ushort2_rtz(double2);
4834303233Sdimushort2 __ovld __cnfn convert_ushort2_sat(double2);
4835303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rte(double2);
4836303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtn(double2);
4837303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtp(double2);
4838303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtz(double2);
4839303233Sdimushort3 __ovld __cnfn convert_ushort3(double3);
4840303233Sdimushort3 __ovld __cnfn convert_ushort3_rte(double3);
4841303233Sdimushort3 __ovld __cnfn convert_ushort3_rtn(double3);
4842303233Sdimushort3 __ovld __cnfn convert_ushort3_rtp(double3);
4843303233Sdimushort3 __ovld __cnfn convert_ushort3_rtz(double3);
4844303233Sdimushort3 __ovld __cnfn convert_ushort3_sat(double3);
4845303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rte(double3);
4846303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtn(double3);
4847303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtp(double3);
4848303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtz(double3);
4849303233Sdimushort4 __ovld __cnfn convert_ushort4(double4);
4850303233Sdimushort4 __ovld __cnfn convert_ushort4_rte(double4);
4851303233Sdimushort4 __ovld __cnfn convert_ushort4_rtn(double4);
4852303233Sdimushort4 __ovld __cnfn convert_ushort4_rtp(double4);
4853303233Sdimushort4 __ovld __cnfn convert_ushort4_rtz(double4);
4854303233Sdimushort4 __ovld __cnfn convert_ushort4_sat(double4);
4855303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rte(double4);
4856303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtn(double4);
4857303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtp(double4);
4858303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtz(double4);
4859303233Sdimushort8 __ovld __cnfn convert_ushort8(double8);
4860303233Sdimushort8 __ovld __cnfn convert_ushort8_rte(double8);
4861303233Sdimushort8 __ovld __cnfn convert_ushort8_rtn(double8);
4862303233Sdimushort8 __ovld __cnfn convert_ushort8_rtp(double8);
4863303233Sdimushort8 __ovld __cnfn convert_ushort8_rtz(double8);
4864303233Sdimushort8 __ovld __cnfn convert_ushort8_sat(double8);
4865303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rte(double8);
4866303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtn(double8);
4867303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtp(double8);
4868303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtz(double8);
4869303233Sdimushort16 __ovld __cnfn convert_ushort16(double16);
4870303233Sdimushort16 __ovld __cnfn convert_ushort16_rte(double16);
4871303233Sdimushort16 __ovld __cnfn convert_ushort16_rtn(double16);
4872303233Sdimushort16 __ovld __cnfn convert_ushort16_rtp(double16);
4873303233Sdimushort16 __ovld __cnfn convert_ushort16_rtz(double16);
4874303233Sdimushort16 __ovld __cnfn convert_ushort16_sat(double16);
4875303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rte(double16);
4876303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtn(double16);
4877303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtp(double16);
4878303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtz(double16);
4879303233Sdim
4880303233Sdimint __ovld __cnfn convert_int(double);
4881303233Sdimint __ovld __cnfn convert_int_rte(double);
4882303233Sdimint __ovld __cnfn convert_int_rtn(double);
4883303233Sdimint __ovld __cnfn convert_int_rtp(double);
4884303233Sdimint __ovld __cnfn convert_int_rtz(double);
4885303233Sdimint __ovld __cnfn convert_int_sat(double);
4886303233Sdimint __ovld __cnfn convert_int_sat_rte(double);
4887303233Sdimint __ovld __cnfn convert_int_sat_rtn(double);
4888303233Sdimint __ovld __cnfn convert_int_sat_rtp(double);
4889303233Sdimint __ovld __cnfn convert_int_sat_rtz(double);
4890303233Sdimint2 __ovld __cnfn convert_int2(double2);
4891303233Sdimint2 __ovld __cnfn convert_int2_rte(double2);
4892303233Sdimint2 __ovld __cnfn convert_int2_rtn(double2);
4893303233Sdimint2 __ovld __cnfn convert_int2_rtp(double2);
4894303233Sdimint2 __ovld __cnfn convert_int2_rtz(double2);
4895303233Sdimint2 __ovld __cnfn convert_int2_sat(double2);
4896303233Sdimint2 __ovld __cnfn convert_int2_sat_rte(double2);
4897303233Sdimint2 __ovld __cnfn convert_int2_sat_rtn(double2);
4898303233Sdimint2 __ovld __cnfn convert_int2_sat_rtp(double2);
4899303233Sdimint2 __ovld __cnfn convert_int2_sat_rtz(double2);
4900303233Sdimint3 __ovld __cnfn convert_int3(double3);
4901303233Sdimint3 __ovld __cnfn convert_int3_rte(double3);
4902303233Sdimint3 __ovld __cnfn convert_int3_rtn(double3);
4903303233Sdimint3 __ovld __cnfn convert_int3_rtp(double3);
4904303233Sdimint3 __ovld __cnfn convert_int3_rtz(double3);
4905303233Sdimint3 __ovld __cnfn convert_int3_sat(double3);
4906303233Sdimint3 __ovld __cnfn convert_int3_sat_rte(double3);
4907303233Sdimint3 __ovld __cnfn convert_int3_sat_rtn(double3);
4908303233Sdimint3 __ovld __cnfn convert_int3_sat_rtp(double3);
4909303233Sdimint3 __ovld __cnfn convert_int3_sat_rtz(double3);
4910303233Sdimint4 __ovld __cnfn convert_int4(double4);
4911303233Sdimint4 __ovld __cnfn convert_int4_rte(double4);
4912303233Sdimint4 __ovld __cnfn convert_int4_rtn(double4);
4913303233Sdimint4 __ovld __cnfn convert_int4_rtp(double4);
4914303233Sdimint4 __ovld __cnfn convert_int4_rtz(double4);
4915303233Sdimint4 __ovld __cnfn convert_int4_sat(double4);
4916303233Sdimint4 __ovld __cnfn convert_int4_sat_rte(double4);
4917303233Sdimint4 __ovld __cnfn convert_int4_sat_rtn(double4);
4918303233Sdimint4 __ovld __cnfn convert_int4_sat_rtp(double4);
4919303233Sdimint4 __ovld __cnfn convert_int4_sat_rtz(double4);
4920303233Sdimint8 __ovld __cnfn convert_int8(double8);
4921303233Sdimint8 __ovld __cnfn convert_int8_rte(double8);
4922303233Sdimint8 __ovld __cnfn convert_int8_rtn(double8);
4923303233Sdimint8 __ovld __cnfn convert_int8_rtp(double8);
4924303233Sdimint8 __ovld __cnfn convert_int8_rtz(double8);
4925303233Sdimint8 __ovld __cnfn convert_int8_sat(double8);
4926303233Sdimint8 __ovld __cnfn convert_int8_sat_rte(double8);
4927303233Sdimint8 __ovld __cnfn convert_int8_sat_rtn(double8);
4928303233Sdimint8 __ovld __cnfn convert_int8_sat_rtp(double8);
4929303233Sdimint8 __ovld __cnfn convert_int8_sat_rtz(double8);
4930303233Sdimint16 __ovld __cnfn convert_int16(double16);
4931303233Sdimint16 __ovld __cnfn convert_int16_rte(double16);
4932303233Sdimint16 __ovld __cnfn convert_int16_rtn(double16);
4933303233Sdimint16 __ovld __cnfn convert_int16_rtp(double16);
4934303233Sdimint16 __ovld __cnfn convert_int16_rtz(double16);
4935303233Sdimint16 __ovld __cnfn convert_int16_sat(double16);
4936303233Sdimint16 __ovld __cnfn convert_int16_sat_rte(double16);
4937303233Sdimint16 __ovld __cnfn convert_int16_sat_rtn(double16);
4938303233Sdimint16 __ovld __cnfn convert_int16_sat_rtp(double16);
4939303233Sdimint16 __ovld __cnfn convert_int16_sat_rtz(double16);
4940303233Sdim
4941303233Sdimuint __ovld __cnfn convert_uint(double);
4942303233Sdimuint __ovld __cnfn convert_uint_rte(double);
4943303233Sdimuint __ovld __cnfn convert_uint_rtn(double);
4944303233Sdimuint __ovld __cnfn convert_uint_rtp(double);
4945303233Sdimuint __ovld __cnfn convert_uint_rtz(double);
4946303233Sdimuint __ovld __cnfn convert_uint_sat(double);
4947303233Sdimuint __ovld __cnfn convert_uint_sat_rte(double);
4948303233Sdimuint __ovld __cnfn convert_uint_sat_rtn(double);
4949303233Sdimuint __ovld __cnfn convert_uint_sat_rtp(double);
4950303233Sdimuint __ovld __cnfn convert_uint_sat_rtz(double);
4951303233Sdimuint2 __ovld __cnfn convert_uint2(double2);
4952303233Sdimuint2 __ovld __cnfn convert_uint2_rte(double2);
4953303233Sdimuint2 __ovld __cnfn convert_uint2_rtn(double2);
4954303233Sdimuint2 __ovld __cnfn convert_uint2_rtp(double2);
4955303233Sdimuint2 __ovld __cnfn convert_uint2_rtz(double2);
4956303233Sdimuint2 __ovld __cnfn convert_uint2_sat(double2);
4957303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rte(double2);
4958303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtn(double2);
4959303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtp(double2);
4960303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtz(double2);
4961303233Sdimuint3 __ovld __cnfn convert_uint3(double3);
4962303233Sdimuint3 __ovld __cnfn convert_uint3_rte(double3);
4963303233Sdimuint3 __ovld __cnfn convert_uint3_rtn(double3);
4964303233Sdimuint3 __ovld __cnfn convert_uint3_rtp(double3);
4965303233Sdimuint3 __ovld __cnfn convert_uint3_rtz(double3);
4966303233Sdimuint3 __ovld __cnfn convert_uint3_sat(double3);
4967303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rte(double3);
4968303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtn(double3);
4969303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtp(double3);
4970303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtz(double3);
4971303233Sdimuint4 __ovld __cnfn convert_uint4(double4);
4972303233Sdimuint4 __ovld __cnfn convert_uint4_rte(double4);
4973303233Sdimuint4 __ovld __cnfn convert_uint4_rtn(double4);
4974303233Sdimuint4 __ovld __cnfn convert_uint4_rtp(double4);
4975303233Sdimuint4 __ovld __cnfn convert_uint4_rtz(double4);
4976303233Sdimuint4 __ovld __cnfn convert_uint4_sat(double4);
4977303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rte(double4);
4978303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtn(double4);
4979303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtp(double4);
4980303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtz(double4);
4981303233Sdimuint8 __ovld __cnfn convert_uint8(double8);
4982303233Sdimuint8 __ovld __cnfn convert_uint8_rte(double8);
4983303233Sdimuint8 __ovld __cnfn convert_uint8_rtn(double8);
4984303233Sdimuint8 __ovld __cnfn convert_uint8_rtp(double8);
4985303233Sdimuint8 __ovld __cnfn convert_uint8_rtz(double8);
4986303233Sdimuint8 __ovld __cnfn convert_uint8_sat(double8);
4987303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rte(double8);
4988303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtn(double8);
4989303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtp(double8);
4990303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtz(double8);
4991303233Sdimuint16 __ovld __cnfn convert_uint16(double16);
4992303233Sdimuint16 __ovld __cnfn convert_uint16_rte(double16);
4993303233Sdimuint16 __ovld __cnfn convert_uint16_rtn(double16);
4994303233Sdimuint16 __ovld __cnfn convert_uint16_rtp(double16);
4995303233Sdimuint16 __ovld __cnfn convert_uint16_rtz(double16);
4996303233Sdimuint16 __ovld __cnfn convert_uint16_sat(double16);
4997303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rte(double16);
4998303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtn(double16);
4999303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtp(double16);
5000303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtz(double16);
5001303233Sdim
5002303233Sdimlong __ovld __cnfn convert_long(double);
5003303233Sdimlong __ovld __cnfn convert_long_rte(double);
5004303233Sdimlong __ovld __cnfn convert_long_rtn(double);
5005303233Sdimlong __ovld __cnfn convert_long_rtp(double);
5006303233Sdimlong __ovld __cnfn convert_long_rtz(double);
5007303233Sdimlong __ovld __cnfn convert_long_sat(double);
5008303233Sdimlong __ovld __cnfn convert_long_sat_rte(double);
5009303233Sdimlong __ovld __cnfn convert_long_sat_rtn(double);
5010303233Sdimlong __ovld __cnfn convert_long_sat_rtp(double);
5011303233Sdimlong __ovld __cnfn convert_long_sat_rtz(double);
5012303233Sdimlong2 __ovld __cnfn convert_long2(double2);
5013303233Sdimlong2 __ovld __cnfn convert_long2_rte(double2);
5014303233Sdimlong2 __ovld __cnfn convert_long2_rtn(double2);
5015303233Sdimlong2 __ovld __cnfn convert_long2_rtp(double2);
5016303233Sdimlong2 __ovld __cnfn convert_long2_rtz(double2);
5017303233Sdimlong2 __ovld __cnfn convert_long2_sat(double2);
5018303233Sdimlong2 __ovld __cnfn convert_long2_sat_rte(double2);
5019303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtn(double2);
5020303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtp(double2);
5021303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtz(double2);
5022303233Sdimlong3 __ovld __cnfn convert_long3(double3);
5023303233Sdimlong3 __ovld __cnfn convert_long3_rte(double3);
5024303233Sdimlong3 __ovld __cnfn convert_long3_rtn(double3);
5025303233Sdimlong3 __ovld __cnfn convert_long3_rtp(double3);
5026303233Sdimlong3 __ovld __cnfn convert_long3_rtz(double3);
5027303233Sdimlong3 __ovld __cnfn convert_long3_sat(double3);
5028303233Sdimlong3 __ovld __cnfn convert_long3_sat_rte(double3);
5029303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtn(double3);
5030303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtp(double3);
5031303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtz(double3);
5032303233Sdimlong4 __ovld __cnfn convert_long4(double4);
5033303233Sdimlong4 __ovld __cnfn convert_long4_rte(double4);
5034303233Sdimlong4 __ovld __cnfn convert_long4_rtn(double4);
5035303233Sdimlong4 __ovld __cnfn convert_long4_rtp(double4);
5036303233Sdimlong4 __ovld __cnfn convert_long4_rtz(double4);
5037303233Sdimlong4 __ovld __cnfn convert_long4_sat(double4);
5038303233Sdimlong4 __ovld __cnfn convert_long4_sat_rte(double4);
5039303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtn(double4);
5040303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtp(double4);
5041303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtz(double4);
5042303233Sdimlong8 __ovld __cnfn convert_long8(double8);
5043303233Sdimlong8 __ovld __cnfn convert_long8_rte(double8);
5044303233Sdimlong8 __ovld __cnfn convert_long8_rtn(double8);
5045303233Sdimlong8 __ovld __cnfn convert_long8_rtp(double8);
5046303233Sdimlong8 __ovld __cnfn convert_long8_rtz(double8);
5047303233Sdimlong8 __ovld __cnfn convert_long8_sat(double8);
5048303233Sdimlong8 __ovld __cnfn convert_long8_sat_rte(double8);
5049303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtn(double8);
5050303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtp(double8);
5051303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtz(double8);
5052303233Sdimlong16 __ovld __cnfn convert_long16(double16);
5053303233Sdimlong16 __ovld __cnfn convert_long16_rte(double16);
5054303233Sdimlong16 __ovld __cnfn convert_long16_rtn(double16);
5055303233Sdimlong16 __ovld __cnfn convert_long16_rtp(double16);
5056303233Sdimlong16 __ovld __cnfn convert_long16_rtz(double16);
5057303233Sdimlong16 __ovld __cnfn convert_long16_sat(double16);
5058303233Sdimlong16 __ovld __cnfn convert_long16_sat_rte(double16);
5059303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtn(double16);
5060303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtp(double16);
5061303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtz(double16);
5062303233Sdim
5063303233Sdimulong __ovld __cnfn convert_ulong(double);
5064303233Sdimulong __ovld __cnfn convert_ulong_rte(double);
5065303233Sdimulong __ovld __cnfn convert_ulong_rtn(double);
5066303233Sdimulong __ovld __cnfn convert_ulong_rtp(double);
5067303233Sdimulong __ovld __cnfn convert_ulong_rtz(double);
5068303233Sdimulong __ovld __cnfn convert_ulong_sat(double);
5069303233Sdimulong __ovld __cnfn convert_ulong_sat_rte(double);
5070303233Sdimulong __ovld __cnfn convert_ulong_sat_rtn(double);
5071303233Sdimulong __ovld __cnfn convert_ulong_sat_rtp(double);
5072303233Sdimulong __ovld __cnfn convert_ulong_sat_rtz(double);
5073303233Sdimulong2 __ovld __cnfn convert_ulong2(double2);
5074303233Sdimulong2 __ovld __cnfn convert_ulong2_rte(double2);
5075303233Sdimulong2 __ovld __cnfn convert_ulong2_rtn(double2);
5076303233Sdimulong2 __ovld __cnfn convert_ulong2_rtp(double2);
5077303233Sdimulong2 __ovld __cnfn convert_ulong2_rtz(double2);
5078303233Sdimulong2 __ovld __cnfn convert_ulong2_sat(double2);
5079303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rte(double2);
5080303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtn(double2);
5081303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtp(double2);
5082303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtz(double2);
5083303233Sdimulong3 __ovld __cnfn convert_ulong3(double3);
5084303233Sdimulong3 __ovld __cnfn convert_ulong3_rte(double3);
5085303233Sdimulong3 __ovld __cnfn convert_ulong3_rtn(double3);
5086303233Sdimulong3 __ovld __cnfn convert_ulong3_rtp(double3);
5087303233Sdimulong3 __ovld __cnfn convert_ulong3_rtz(double3);
5088303233Sdimulong3 __ovld __cnfn convert_ulong3_sat(double3);
5089303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rte(double3);
5090303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtn(double3);
5091303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtp(double3);
5092303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtz(double3);
5093303233Sdimulong4 __ovld __cnfn convert_ulong4(double4);
5094303233Sdimulong4 __ovld __cnfn convert_ulong4_rte(double4);
5095303233Sdimulong4 __ovld __cnfn convert_ulong4_rtn(double4);
5096303233Sdimulong4 __ovld __cnfn convert_ulong4_rtp(double4);
5097303233Sdimulong4 __ovld __cnfn convert_ulong4_rtz(double4);
5098303233Sdimulong4 __ovld __cnfn convert_ulong4_sat(double4);
5099303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rte(double4);
5100303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtn(double4);
5101303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtp(double4);
5102303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtz(double4);
5103303233Sdimulong8 __ovld __cnfn convert_ulong8(double8);
5104303233Sdimulong8 __ovld __cnfn convert_ulong8_rte(double8);
5105303233Sdimulong8 __ovld __cnfn convert_ulong8_rtn(double8);
5106303233Sdimulong8 __ovld __cnfn convert_ulong8_rtp(double8);
5107303233Sdimulong8 __ovld __cnfn convert_ulong8_rtz(double8);
5108303233Sdimulong8 __ovld __cnfn convert_ulong8_sat(double8);
5109303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rte(double8);
5110303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtn(double8);
5111303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtp(double8);
5112303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtz(double8);
5113303233Sdimulong16 __ovld __cnfn convert_ulong16(double16);
5114303233Sdimulong16 __ovld __cnfn convert_ulong16_rte(double16);
5115303233Sdimulong16 __ovld __cnfn convert_ulong16_rtn(double16);
5116303233Sdimulong16 __ovld __cnfn convert_ulong16_rtp(double16);
5117303233Sdimulong16 __ovld __cnfn convert_ulong16_rtz(double16);
5118303233Sdimulong16 __ovld __cnfn convert_ulong16_sat(double16);
5119303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rte(double16);
5120303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtn(double16);
5121303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtp(double16);
5122303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtz(double16);
5123303233Sdim
5124303233Sdimfloat __ovld __cnfn convert_float(double);
5125303233Sdimfloat __ovld __cnfn convert_float_rte(double);
5126303233Sdimfloat __ovld __cnfn convert_float_rtn(double);
5127303233Sdimfloat __ovld __cnfn convert_float_rtp(double);
5128303233Sdimfloat __ovld __cnfn convert_float_rtz(double);
5129303233Sdimfloat2 __ovld __cnfn convert_float2(double2);
5130303233Sdimfloat2 __ovld __cnfn convert_float2_rte(double2);
5131303233Sdimfloat2 __ovld __cnfn convert_float2_rtn(double2);
5132303233Sdimfloat2 __ovld __cnfn convert_float2_rtp(double2);
5133303233Sdimfloat2 __ovld __cnfn convert_float2_rtz(double2);
5134303233Sdimfloat3 __ovld __cnfn convert_float3(double3);
5135303233Sdimfloat3 __ovld __cnfn convert_float3_rte(double3);
5136303233Sdimfloat3 __ovld __cnfn convert_float3_rtn(double3);
5137303233Sdimfloat3 __ovld __cnfn convert_float3_rtp(double3);
5138303233Sdimfloat3 __ovld __cnfn convert_float3_rtz(double3);
5139303233Sdimfloat4 __ovld __cnfn convert_float4(double4);
5140303233Sdimfloat4 __ovld __cnfn convert_float4_rte(double4);
5141303233Sdimfloat4 __ovld __cnfn convert_float4_rtn(double4);
5142303233Sdimfloat4 __ovld __cnfn convert_float4_rtp(double4);
5143303233Sdimfloat4 __ovld __cnfn convert_float4_rtz(double4);
5144303233Sdimfloat8 __ovld __cnfn convert_float8(double8);
5145303233Sdimfloat8 __ovld __cnfn convert_float8_rte(double8);
5146303233Sdimfloat8 __ovld __cnfn convert_float8_rtn(double8);
5147303233Sdimfloat8 __ovld __cnfn convert_float8_rtp(double8);
5148303233Sdimfloat8 __ovld __cnfn convert_float8_rtz(double8);
5149303233Sdimfloat16 __ovld __cnfn convert_float16(double16);
5150303233Sdimfloat16 __ovld __cnfn convert_float16_rte(double16);
5151303233Sdimfloat16 __ovld __cnfn convert_float16_rtn(double16);
5152303233Sdimfloat16 __ovld __cnfn convert_float16_rtp(double16);
5153303233Sdimfloat16 __ovld __cnfn convert_float16_rtz(double16);
5154303233Sdim
5155303233Sdimdouble __ovld __cnfn convert_double(char);
5156303233Sdimdouble __ovld __cnfn convert_double(double);
5157303233Sdimdouble __ovld __cnfn convert_double(float);
5158303233Sdimdouble __ovld __cnfn convert_double(int);
5159303233Sdimdouble __ovld __cnfn convert_double(long);
5160303233Sdimdouble __ovld __cnfn convert_double(short);
5161303233Sdimdouble __ovld __cnfn convert_double(uchar);
5162303233Sdimdouble __ovld __cnfn convert_double(uint);
5163303233Sdimdouble __ovld __cnfn convert_double(ulong);
5164303233Sdimdouble __ovld __cnfn convert_double(ushort);
5165303233Sdimdouble __ovld __cnfn convert_double_rte(char);
5166303233Sdimdouble __ovld __cnfn convert_double_rte(double);
5167303233Sdimdouble __ovld __cnfn convert_double_rte(float);
5168303233Sdimdouble __ovld __cnfn convert_double_rte(int);
5169303233Sdimdouble __ovld __cnfn convert_double_rte(long);
5170303233Sdimdouble __ovld __cnfn convert_double_rte(short);
5171303233Sdimdouble __ovld __cnfn convert_double_rte(uchar);
5172303233Sdimdouble __ovld __cnfn convert_double_rte(uint);
5173303233Sdimdouble __ovld __cnfn convert_double_rte(ulong);
5174303233Sdimdouble __ovld __cnfn convert_double_rte(ushort);
5175303233Sdimdouble __ovld __cnfn convert_double_rtn(char);
5176303233Sdimdouble __ovld __cnfn convert_double_rtn(double);
5177303233Sdimdouble __ovld __cnfn convert_double_rtn(float);
5178303233Sdimdouble __ovld __cnfn convert_double_rtn(int);
5179303233Sdimdouble __ovld __cnfn convert_double_rtn(long);
5180303233Sdimdouble __ovld __cnfn convert_double_rtn(short);
5181303233Sdimdouble __ovld __cnfn convert_double_rtn(uchar);
5182303233Sdimdouble __ovld __cnfn convert_double_rtn(uint);
5183303233Sdimdouble __ovld __cnfn convert_double_rtn(ulong);
5184303233Sdimdouble __ovld __cnfn convert_double_rtn(ushort);
5185303233Sdimdouble __ovld __cnfn convert_double_rtp(char);
5186303233Sdimdouble __ovld __cnfn convert_double_rtp(double);
5187303233Sdimdouble __ovld __cnfn convert_double_rtp(float);
5188303233Sdimdouble __ovld __cnfn convert_double_rtp(int);
5189303233Sdimdouble __ovld __cnfn convert_double_rtp(long);
5190303233Sdimdouble __ovld __cnfn convert_double_rtp(short);
5191303233Sdimdouble __ovld __cnfn convert_double_rtp(uchar);
5192303233Sdimdouble __ovld __cnfn convert_double_rtp(uint);
5193303233Sdimdouble __ovld __cnfn convert_double_rtp(ulong);
5194303233Sdimdouble __ovld __cnfn convert_double_rtp(ushort);
5195303233Sdimdouble __ovld __cnfn convert_double_rtz(char);
5196303233Sdimdouble __ovld __cnfn convert_double_rtz(double);
5197303233Sdimdouble __ovld __cnfn convert_double_rtz(float);
5198303233Sdimdouble __ovld __cnfn convert_double_rtz(int);
5199303233Sdimdouble __ovld __cnfn convert_double_rtz(long);
5200303233Sdimdouble __ovld __cnfn convert_double_rtz(short);
5201303233Sdimdouble __ovld __cnfn convert_double_rtz(uchar);
5202303233Sdimdouble __ovld __cnfn convert_double_rtz(uint);
5203303233Sdimdouble __ovld __cnfn convert_double_rtz(ulong);
5204303233Sdimdouble __ovld __cnfn convert_double_rtz(ushort);
5205303233Sdimdouble2 __ovld __cnfn convert_double2(char2);
5206303233Sdimdouble2 __ovld __cnfn convert_double2(double2);
5207303233Sdimdouble2 __ovld __cnfn convert_double2(float2);
5208303233Sdimdouble2 __ovld __cnfn convert_double2(int2);
5209303233Sdimdouble2 __ovld __cnfn convert_double2(long2);
5210303233Sdimdouble2 __ovld __cnfn convert_double2(short2);
5211303233Sdimdouble2 __ovld __cnfn convert_double2(uchar2);
5212303233Sdimdouble2 __ovld __cnfn convert_double2(uint2);
5213303233Sdimdouble2 __ovld __cnfn convert_double2(ulong2);
5214303233Sdimdouble2 __ovld __cnfn convert_double2(ushort2);
5215303233Sdimdouble2 __ovld __cnfn convert_double2_rte(char2);
5216303233Sdimdouble2 __ovld __cnfn convert_double2_rte(double2);
5217303233Sdimdouble2 __ovld __cnfn convert_double2_rte(float2);
5218303233Sdimdouble2 __ovld __cnfn convert_double2_rte(int2);
5219303233Sdimdouble2 __ovld __cnfn convert_double2_rte(long2);
5220303233Sdimdouble2 __ovld __cnfn convert_double2_rte(short2);
5221303233Sdimdouble2 __ovld __cnfn convert_double2_rte(uchar2);
5222303233Sdimdouble2 __ovld __cnfn convert_double2_rte(uint2);
5223303233Sdimdouble2 __ovld __cnfn convert_double2_rte(ulong2);
5224303233Sdimdouble2 __ovld __cnfn convert_double2_rte(ushort2);
5225303233Sdimdouble2 __ovld __cnfn convert_double2_rtn(char2);
5226303233Sdimdouble2 __ovld __cnfn convert_double2_rtn(double2);
5227303233Sdimdouble2 __ovld __cnfn convert_double2_rtn(float2);
5228303233Sdimdouble2 __ovld __cnfn convert_double2_rtn(int2);
5229303233Sdimdouble2 __ovld __cnfn convert_double2_rtn(long2);
5230303233Sdimdouble2 __ovld __cnfn convert_double2_rtn(short2);
5231303233Sdimdouble2 __ovld __cnfn convert_double2_rtn(uchar2);
5232303233Sdimdouble2 __ovld __cnfn convert_double2_rtn(uint2);
5233303233Sdimdouble2 __ovld __cnfn convert_double2_rtn(ulong2);
5234303233Sdimdouble2 __ovld __cnfn convert_double2_rtn(ushort2);
5235303233Sdimdouble2 __ovld __cnfn convert_double2_rtp(char2);
5236303233Sdimdouble2 __ovld __cnfn convert_double2_rtp(double2);
5237303233Sdimdouble2 __ovld __cnfn convert_double2_rtp(float2);
5238303233Sdimdouble2 __ovld __cnfn convert_double2_rtp(int2);
5239303233Sdimdouble2 __ovld __cnfn convert_double2_rtp(long2);
5240303233Sdimdouble2 __ovld __cnfn convert_double2_rtp(short2);
5241303233Sdimdouble2 __ovld __cnfn convert_double2_rtp(uchar2);
5242303233Sdimdouble2 __ovld __cnfn convert_double2_rtp(uint2);
5243303233Sdimdouble2 __ovld __cnfn convert_double2_rtp(ulong2);
5244303233Sdimdouble2 __ovld __cnfn convert_double2_rtp(ushort2);
5245303233Sdimdouble2 __ovld __cnfn convert_double2_rtz(char2);
5246303233Sdimdouble2 __ovld __cnfn convert_double2_rtz(double2);
5247303233Sdimdouble2 __ovld __cnfn convert_double2_rtz(float2);
5248303233Sdimdouble2 __ovld __cnfn convert_double2_rtz(int2);
5249303233Sdimdouble2 __ovld __cnfn convert_double2_rtz(long2);
5250303233Sdimdouble2 __ovld __cnfn convert_double2_rtz(short2);
5251303233Sdimdouble2 __ovld __cnfn convert_double2_rtz(uchar2);
5252303233Sdimdouble2 __ovld __cnfn convert_double2_rtz(uint2);
5253303233Sdimdouble2 __ovld __cnfn convert_double2_rtz(ulong2);
5254303233Sdimdouble2 __ovld __cnfn convert_double2_rtz(ushort2);
5255303233Sdimdouble3 __ovld __cnfn convert_double3(char3);
5256303233Sdimdouble3 __ovld __cnfn convert_double3(double3);
5257303233Sdimdouble3 __ovld __cnfn convert_double3(float3);
5258303233Sdimdouble3 __ovld __cnfn convert_double3(int3);
5259303233Sdimdouble3 __ovld __cnfn convert_double3(long3);
5260303233Sdimdouble3 __ovld __cnfn convert_double3(short3);
5261303233Sdimdouble3 __ovld __cnfn convert_double3(uchar3);
5262303233Sdimdouble3 __ovld __cnfn convert_double3(uint3);
5263303233Sdimdouble3 __ovld __cnfn convert_double3(ulong3);
5264303233Sdimdouble3 __ovld __cnfn convert_double3(ushort3);
5265303233Sdimdouble3 __ovld __cnfn convert_double3_rte(char3);
5266303233Sdimdouble3 __ovld __cnfn convert_double3_rte(double3);
5267303233Sdimdouble3 __ovld __cnfn convert_double3_rte(float3);
5268303233Sdimdouble3 __ovld __cnfn convert_double3_rte(int3);
5269303233Sdimdouble3 __ovld __cnfn convert_double3_rte(long3);
5270303233Sdimdouble3 __ovld __cnfn convert_double3_rte(short3);
5271303233Sdimdouble3 __ovld __cnfn convert_double3_rte(uchar3);
5272303233Sdimdouble3 __ovld __cnfn convert_double3_rte(uint3);
5273303233Sdimdouble3 __ovld __cnfn convert_double3_rte(ulong3);
5274303233Sdimdouble3 __ovld __cnfn convert_double3_rte(ushort3);
5275303233Sdimdouble3 __ovld __cnfn convert_double3_rtn(char3);
5276303233Sdimdouble3 __ovld __cnfn convert_double3_rtn(double3);
5277303233Sdimdouble3 __ovld __cnfn convert_double3_rtn(float3);
5278303233Sdimdouble3 __ovld __cnfn convert_double3_rtn(int3);
5279303233Sdimdouble3 __ovld __cnfn convert_double3_rtn(long3);
5280303233Sdimdouble3 __ovld __cnfn convert_double3_rtn(short3);
5281303233Sdimdouble3 __ovld __cnfn convert_double3_rtn(uchar3);
5282303233Sdimdouble3 __ovld __cnfn convert_double3_rtn(uint3);
5283303233Sdimdouble3 __ovld __cnfn convert_double3_rtn(ulong3);
5284303233Sdimdouble3 __ovld __cnfn convert_double3_rtn(ushort3);
5285303233Sdimdouble3 __ovld __cnfn convert_double3_rtp(char3);
5286303233Sdimdouble3 __ovld __cnfn convert_double3_rtp(double3);
5287303233Sdimdouble3 __ovld __cnfn convert_double3_rtp(float3);
5288303233Sdimdouble3 __ovld __cnfn convert_double3_rtp(int3);
5289303233Sdimdouble3 __ovld __cnfn convert_double3_rtp(long3);
5290303233Sdimdouble3 __ovld __cnfn convert_double3_rtp(short3);
5291303233Sdimdouble3 __ovld __cnfn convert_double3_rtp(uchar3);
5292303233Sdimdouble3 __ovld __cnfn convert_double3_rtp(uint3);
5293303233Sdimdouble3 __ovld __cnfn convert_double3_rtp(ulong3);
5294303233Sdimdouble3 __ovld __cnfn convert_double3_rtp(ushort3);
5295303233Sdimdouble3 __ovld __cnfn convert_double3_rtz(char3);
5296303233Sdimdouble3 __ovld __cnfn convert_double3_rtz(double3);
5297303233Sdimdouble3 __ovld __cnfn convert_double3_rtz(float3);
5298303233Sdimdouble3 __ovld __cnfn convert_double3_rtz(int3);
5299303233Sdimdouble3 __ovld __cnfn convert_double3_rtz(long3);
5300303233Sdimdouble3 __ovld __cnfn convert_double3_rtz(short3);
5301303233Sdimdouble3 __ovld __cnfn convert_double3_rtz(uchar3);
5302303233Sdimdouble3 __ovld __cnfn convert_double3_rtz(uint3);
5303303233Sdimdouble3 __ovld __cnfn convert_double3_rtz(ulong3);
5304303233Sdimdouble3 __ovld __cnfn convert_double3_rtz(ushort3);
5305303233Sdimdouble4 __ovld __cnfn convert_double4(char4);
5306303233Sdimdouble4 __ovld __cnfn convert_double4(double4);
5307303233Sdimdouble4 __ovld __cnfn convert_double4(float4);
5308303233Sdimdouble4 __ovld __cnfn convert_double4(int4);
5309303233Sdimdouble4 __ovld __cnfn convert_double4(long4);
5310303233Sdimdouble4 __ovld __cnfn convert_double4(short4);
5311303233Sdimdouble4 __ovld __cnfn convert_double4(uchar4);
5312303233Sdimdouble4 __ovld __cnfn convert_double4(uint4);
5313303233Sdimdouble4 __ovld __cnfn convert_double4(ulong4);
5314303233Sdimdouble4 __ovld __cnfn convert_double4(ushort4);
5315303233Sdimdouble4 __ovld __cnfn convert_double4_rte(char4);
5316303233Sdimdouble4 __ovld __cnfn convert_double4_rte(double4);
5317303233Sdimdouble4 __ovld __cnfn convert_double4_rte(float4);
5318303233Sdimdouble4 __ovld __cnfn convert_double4_rte(int4);
5319303233Sdimdouble4 __ovld __cnfn convert_double4_rte(long4);
5320303233Sdimdouble4 __ovld __cnfn convert_double4_rte(short4);
5321303233Sdimdouble4 __ovld __cnfn convert_double4_rte(uchar4);
5322303233Sdimdouble4 __ovld __cnfn convert_double4_rte(uint4);
5323303233Sdimdouble4 __ovld __cnfn convert_double4_rte(ulong4);
5324303233Sdimdouble4 __ovld __cnfn convert_double4_rte(ushort4);
5325303233Sdimdouble4 __ovld __cnfn convert_double4_rtn(char4);
5326303233Sdimdouble4 __ovld __cnfn convert_double4_rtn(double4);
5327303233Sdimdouble4 __ovld __cnfn convert_double4_rtn(float4);
5328303233Sdimdouble4 __ovld __cnfn convert_double4_rtn(int4);
5329303233Sdimdouble4 __ovld __cnfn convert_double4_rtn(long4);
5330303233Sdimdouble4 __ovld __cnfn convert_double4_rtn(short4);
5331303233Sdimdouble4 __ovld __cnfn convert_double4_rtn(uchar4);
5332303233Sdimdouble4 __ovld __cnfn convert_double4_rtn(uint4);
5333303233Sdimdouble4 __ovld __cnfn convert_double4_rtn(ulong4);
5334303233Sdimdouble4 __ovld __cnfn convert_double4_rtn(ushort4);
5335303233Sdimdouble4 __ovld __cnfn convert_double4_rtp(char4);
5336303233Sdimdouble4 __ovld __cnfn convert_double4_rtp(double4);
5337303233Sdimdouble4 __ovld __cnfn convert_double4_rtp(float4);
5338303233Sdimdouble4 __ovld __cnfn convert_double4_rtp(int4);
5339303233Sdimdouble4 __ovld __cnfn convert_double4_rtp(long4);
5340303233Sdimdouble4 __ovld __cnfn convert_double4_rtp(short4);
5341303233Sdimdouble4 __ovld __cnfn convert_double4_rtp(uchar4);
5342303233Sdimdouble4 __ovld __cnfn convert_double4_rtp(uint4);
5343303233Sdimdouble4 __ovld __cnfn convert_double4_rtp(ulong4);
5344303233Sdimdouble4 __ovld __cnfn convert_double4_rtp(ushort4);
5345303233Sdimdouble4 __ovld __cnfn convert_double4_rtz(char4);
5346303233Sdimdouble4 __ovld __cnfn convert_double4_rtz(double4);
5347303233Sdimdouble4 __ovld __cnfn convert_double4_rtz(float4);
5348303233Sdimdouble4 __ovld __cnfn convert_double4_rtz(int4);
5349303233Sdimdouble4 __ovld __cnfn convert_double4_rtz(long4);
5350303233Sdimdouble4 __ovld __cnfn convert_double4_rtz(short4);
5351303233Sdimdouble4 __ovld __cnfn convert_double4_rtz(uchar4);
5352303233Sdimdouble4 __ovld __cnfn convert_double4_rtz(uint4);
5353303233Sdimdouble4 __ovld __cnfn convert_double4_rtz(ulong4);
5354303233Sdimdouble4 __ovld __cnfn convert_double4_rtz(ushort4);
5355303233Sdimdouble8 __ovld __cnfn convert_double8(char8);
5356303233Sdimdouble8 __ovld __cnfn convert_double8(double8);
5357303233Sdimdouble8 __ovld __cnfn convert_double8(float8);
5358303233Sdimdouble8 __ovld __cnfn convert_double8(int8);
5359303233Sdimdouble8 __ovld __cnfn convert_double8(long8);
5360303233Sdimdouble8 __ovld __cnfn convert_double8(short8);
5361303233Sdimdouble8 __ovld __cnfn convert_double8(uchar8);
5362303233Sdimdouble8 __ovld __cnfn convert_double8(uint8);
5363303233Sdimdouble8 __ovld __cnfn convert_double8(ulong8);
5364303233Sdimdouble8 __ovld __cnfn convert_double8(ushort8);
5365303233Sdimdouble8 __ovld __cnfn convert_double8_rte(char8);
5366303233Sdimdouble8 __ovld __cnfn convert_double8_rte(double8);
5367303233Sdimdouble8 __ovld __cnfn convert_double8_rte(float8);
5368303233Sdimdouble8 __ovld __cnfn convert_double8_rte(int8);
5369303233Sdimdouble8 __ovld __cnfn convert_double8_rte(long8);
5370303233Sdimdouble8 __ovld __cnfn convert_double8_rte(short8);
5371303233Sdimdouble8 __ovld __cnfn convert_double8_rte(uchar8);
5372303233Sdimdouble8 __ovld __cnfn convert_double8_rte(uint8);
5373303233Sdimdouble8 __ovld __cnfn convert_double8_rte(ulong8);
5374303233Sdimdouble8 __ovld __cnfn convert_double8_rte(ushort8);
5375303233Sdimdouble8 __ovld __cnfn convert_double8_rtn(char8);
5376303233Sdimdouble8 __ovld __cnfn convert_double8_rtn(double8);
5377303233Sdimdouble8 __ovld __cnfn convert_double8_rtn(float8);
5378303233Sdimdouble8 __ovld __cnfn convert_double8_rtn(int8);
5379303233Sdimdouble8 __ovld __cnfn convert_double8_rtn(long8);
5380303233Sdimdouble8 __ovld __cnfn convert_double8_rtn(short8);
5381303233Sdimdouble8 __ovld __cnfn convert_double8_rtn(uchar8);
5382303233Sdimdouble8 __ovld __cnfn convert_double8_rtn(uint8);
5383303233Sdimdouble8 __ovld __cnfn convert_double8_rtn(ulong8);
5384303233Sdimdouble8 __ovld __cnfn convert_double8_rtn(ushort8);
5385303233Sdimdouble8 __ovld __cnfn convert_double8_rtp(char8);
5386303233Sdimdouble8 __ovld __cnfn convert_double8_rtp(double8);
5387303233Sdimdouble8 __ovld __cnfn convert_double8_rtp(float8);
5388303233Sdimdouble8 __ovld __cnfn convert_double8_rtp(int8);
5389303233Sdimdouble8 __ovld __cnfn convert_double8_rtp(long8);
5390303233Sdimdouble8 __ovld __cnfn convert_double8_rtp(short8);
5391303233Sdimdouble8 __ovld __cnfn convert_double8_rtp(uchar8);
5392303233Sdimdouble8 __ovld __cnfn convert_double8_rtp(uint8);
5393303233Sdimdouble8 __ovld __cnfn convert_double8_rtp(ulong8);
5394303233Sdimdouble8 __ovld __cnfn convert_double8_rtp(ushort8);
5395303233Sdimdouble8 __ovld __cnfn convert_double8_rtz(char8);
5396303233Sdimdouble8 __ovld __cnfn convert_double8_rtz(double8);
5397303233Sdimdouble8 __ovld __cnfn convert_double8_rtz(float8);
5398303233Sdimdouble8 __ovld __cnfn convert_double8_rtz(int8);
5399303233Sdimdouble8 __ovld __cnfn convert_double8_rtz(long8);
5400303233Sdimdouble8 __ovld __cnfn convert_double8_rtz(short8);
5401303233Sdimdouble8 __ovld __cnfn convert_double8_rtz(uchar8);
5402303233Sdimdouble8 __ovld __cnfn convert_double8_rtz(uint8);
5403303233Sdimdouble8 __ovld __cnfn convert_double8_rtz(ulong8);
5404303233Sdimdouble8 __ovld __cnfn convert_double8_rtz(ushort8);
5405303233Sdimdouble16 __ovld __cnfn convert_double16(char16);
5406303233Sdimdouble16 __ovld __cnfn convert_double16(double16);
5407303233Sdimdouble16 __ovld __cnfn convert_double16(float16);
5408303233Sdimdouble16 __ovld __cnfn convert_double16(int16);
5409303233Sdimdouble16 __ovld __cnfn convert_double16(long16);
5410303233Sdimdouble16 __ovld __cnfn convert_double16(short16);
5411303233Sdimdouble16 __ovld __cnfn convert_double16(uchar16);
5412303233Sdimdouble16 __ovld __cnfn convert_double16(uint16);
5413303233Sdimdouble16 __ovld __cnfn convert_double16(ulong16);
5414303233Sdimdouble16 __ovld __cnfn convert_double16(ushort16);
5415303233Sdimdouble16 __ovld __cnfn convert_double16_rte(char16);
5416303233Sdimdouble16 __ovld __cnfn convert_double16_rte(double16);
5417303233Sdimdouble16 __ovld __cnfn convert_double16_rte(float16);
5418303233Sdimdouble16 __ovld __cnfn convert_double16_rte(int16);
5419303233Sdimdouble16 __ovld __cnfn convert_double16_rte(long16);
5420303233Sdimdouble16 __ovld __cnfn convert_double16_rte(short16);
5421303233Sdimdouble16 __ovld __cnfn convert_double16_rte(uchar16);
5422303233Sdimdouble16 __ovld __cnfn convert_double16_rte(uint16);
5423303233Sdimdouble16 __ovld __cnfn convert_double16_rte(ulong16);
5424303233Sdimdouble16 __ovld __cnfn convert_double16_rte(ushort16);
5425303233Sdimdouble16 __ovld __cnfn convert_double16_rtn(char16);
5426303233Sdimdouble16 __ovld __cnfn convert_double16_rtn(double16);
5427303233Sdimdouble16 __ovld __cnfn convert_double16_rtn(float16);
5428303233Sdimdouble16 __ovld __cnfn convert_double16_rtn(int16);
5429303233Sdimdouble16 __ovld __cnfn convert_double16_rtn(long16);
5430303233Sdimdouble16 __ovld __cnfn convert_double16_rtn(short16);
5431303233Sdimdouble16 __ovld __cnfn convert_double16_rtn(uchar16);
5432303233Sdimdouble16 __ovld __cnfn convert_double16_rtn(uint16);
5433303233Sdimdouble16 __ovld __cnfn convert_double16_rtn(ulong16);
5434303233Sdimdouble16 __ovld __cnfn convert_double16_rtn(ushort16);
5435303233Sdimdouble16 __ovld __cnfn convert_double16_rtp(char16);
5436303233Sdimdouble16 __ovld __cnfn convert_double16_rtp(double16);
5437303233Sdimdouble16 __ovld __cnfn convert_double16_rtp(float16);
5438303233Sdimdouble16 __ovld __cnfn convert_double16_rtp(int16);
5439303233Sdimdouble16 __ovld __cnfn convert_double16_rtp(long16);
5440303233Sdimdouble16 __ovld __cnfn convert_double16_rtp(short16);
5441303233Sdimdouble16 __ovld __cnfn convert_double16_rtp(uchar16);
5442303233Sdimdouble16 __ovld __cnfn convert_double16_rtp(uint16);
5443303233Sdimdouble16 __ovld __cnfn convert_double16_rtp(ulong16);
5444303233Sdimdouble16 __ovld __cnfn convert_double16_rtp(ushort16);
5445303233Sdimdouble16 __ovld __cnfn convert_double16_rtz(char16);
5446303233Sdimdouble16 __ovld __cnfn convert_double16_rtz(double16);
5447303233Sdimdouble16 __ovld __cnfn convert_double16_rtz(float16);
5448303233Sdimdouble16 __ovld __cnfn convert_double16_rtz(int16);
5449303233Sdimdouble16 __ovld __cnfn convert_double16_rtz(long16);
5450303233Sdimdouble16 __ovld __cnfn convert_double16_rtz(short16);
5451303233Sdimdouble16 __ovld __cnfn convert_double16_rtz(uchar16);
5452303233Sdimdouble16 __ovld __cnfn convert_double16_rtz(uint16);
5453303233Sdimdouble16 __ovld __cnfn convert_double16_rtz(ulong16);
5454303233Sdimdouble16 __ovld __cnfn convert_double16_rtz(ushort16);
5455303233Sdim#endif //cl_khr_fp64
5456303233Sdim
5457303233Sdim#ifdef cl_khr_fp16
5458303233Sdim// Convert half types to non-double types.
5459303233Sdimuchar __ovld __cnfn convert_uchar(half);
5460303233Sdimuchar __ovld __cnfn convert_uchar_rte(half);
5461303233Sdimuchar __ovld __cnfn convert_uchar_rtp(half);
5462303233Sdimuchar __ovld __cnfn convert_uchar_rtn(half);
5463303233Sdimuchar __ovld __cnfn convert_uchar_rtz(half);
5464303233Sdimuchar __ovld __cnfn convert_uchar_sat(half);
5465303233Sdimuchar __ovld __cnfn convert_uchar_sat_rte(half);
5466303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtp(half);
5467303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtn(half);
5468303233Sdimuchar __ovld __cnfn convert_uchar_sat_rtz(half);
5469303233Sdimuchar2 __ovld __cnfn convert_uchar2(half2);
5470303233Sdimuchar2 __ovld __cnfn convert_uchar2_rte(half2);
5471303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtp(half2);
5472303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtn(half2);
5473303233Sdimuchar2 __ovld __cnfn convert_uchar2_rtz(half2);
5474303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat(half2);
5475303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rte(half2);
5476303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtp(half2);
5477303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtn(half2);
5478303233Sdimuchar2 __ovld __cnfn convert_uchar2_sat_rtz(half2);
5479303233Sdimuchar3 __ovld __cnfn convert_uchar3(half3);
5480303233Sdimuchar3 __ovld __cnfn convert_uchar3_rte(half3);
5481303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtp(half3);
5482303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtn(half3);
5483303233Sdimuchar3 __ovld __cnfn convert_uchar3_rtz(half3);
5484303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat(half3);
5485303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rte(half3);
5486303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtp(half3);
5487303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtn(half3);
5488303233Sdimuchar3 __ovld __cnfn convert_uchar3_sat_rtz(half3);
5489303233Sdimuchar4 __ovld __cnfn convert_uchar4(half4);
5490303233Sdimuchar4 __ovld __cnfn convert_uchar4_rte(half4);
5491303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtp(half4);
5492303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtn(half4);
5493303233Sdimuchar4 __ovld __cnfn convert_uchar4_rtz(half4);
5494303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat(half4);
5495303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rte(half4);
5496303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtp(half4);
5497303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtn(half4);
5498303233Sdimuchar4 __ovld __cnfn convert_uchar4_sat_rtz(half4);
5499303233Sdimuchar8 __ovld __cnfn convert_uchar8(half8);
5500303233Sdimuchar8 __ovld __cnfn convert_uchar8_rte(half8);
5501303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtp(half8);
5502303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtn(half8);
5503303233Sdimuchar8 __ovld __cnfn convert_uchar8_rtz(half8);
5504303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat(half8);
5505303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rte(half8);
5506303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtp(half8);
5507303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtn(half8);
5508303233Sdimuchar8 __ovld __cnfn convert_uchar8_sat_rtz(half8);
5509303233Sdimuchar16 __ovld __cnfn convert_uchar16(half16);
5510303233Sdimuchar16 __ovld __cnfn convert_uchar16_rte(half16);
5511303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtp(half16);
5512303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtn(half16);
5513303233Sdimuchar16 __ovld __cnfn convert_uchar16_rtz(half16);
5514303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat(half16);
5515303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rte(half16);
5516303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtp(half16);
5517303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtn(half16);
5518303233Sdimuchar16 __ovld __cnfn convert_uchar16_sat_rtz(half16);
5519303233Sdimushort __ovld __cnfn convert_ushort(half);
5520303233Sdimushort __ovld __cnfn convert_ushort_rte(half);
5521303233Sdimushort __ovld __cnfn convert_ushort_rtp(half);
5522303233Sdimushort __ovld __cnfn convert_ushort_rtn(half);
5523303233Sdimushort __ovld __cnfn convert_ushort_rtz(half);
5524303233Sdimushort __ovld __cnfn convert_ushort_sat(half);
5525303233Sdimushort __ovld __cnfn convert_ushort_sat_rte(half);
5526303233Sdimushort __ovld __cnfn convert_ushort_sat_rtp(half);
5527303233Sdimushort __ovld __cnfn convert_ushort_sat_rtn(half);
5528303233Sdimushort __ovld __cnfn convert_ushort_sat_rtz(half);
5529303233Sdimushort2 __ovld __cnfn convert_ushort2(half2);
5530303233Sdimushort2 __ovld __cnfn convert_ushort2_rte(half2);
5531303233Sdimushort2 __ovld __cnfn convert_ushort2_rtp(half2);
5532303233Sdimushort2 __ovld __cnfn convert_ushort2_rtn(half2);
5533303233Sdimushort2 __ovld __cnfn convert_ushort2_rtz(half2);
5534303233Sdimushort2 __ovld __cnfn convert_ushort2_sat(half2);
5535303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rte(half2);
5536303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtp(half2);
5537303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtn(half2);
5538303233Sdimushort2 __ovld __cnfn convert_ushort2_sat_rtz(half2);
5539303233Sdimushort3 __ovld __cnfn convert_ushort3(half3);
5540303233Sdimushort3 __ovld __cnfn convert_ushort3_rte(half3);
5541303233Sdimushort3 __ovld __cnfn convert_ushort3_rtp(half3);
5542303233Sdimushort3 __ovld __cnfn convert_ushort3_rtn(half3);
5543303233Sdimushort3 __ovld __cnfn convert_ushort3_rtz(half3);
5544303233Sdimushort3 __ovld __cnfn convert_ushort3_sat(half3);
5545303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rte(half3);
5546303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtp(half3);
5547303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtn(half3);
5548303233Sdimushort3 __ovld __cnfn convert_ushort3_sat_rtz(half3);
5549303233Sdimushort4 __ovld __cnfn convert_ushort4(half4);
5550303233Sdimushort4 __ovld __cnfn convert_ushort4_rte(half4);
5551303233Sdimushort4 __ovld __cnfn convert_ushort4_rtp(half4);
5552303233Sdimushort4 __ovld __cnfn convert_ushort4_rtn(half4);
5553303233Sdimushort4 __ovld __cnfn convert_ushort4_rtz(half4);
5554303233Sdimushort4 __ovld __cnfn convert_ushort4_sat(half4);
5555303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rte(half4);
5556303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtp(half4);
5557303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtn(half4);
5558303233Sdimushort4 __ovld __cnfn convert_ushort4_sat_rtz(half4);
5559303233Sdimushort8 __ovld __cnfn convert_ushort8(half8);
5560303233Sdimushort8 __ovld __cnfn convert_ushort8_rte(half8);
5561303233Sdimushort8 __ovld __cnfn convert_ushort8_rtp(half8);
5562303233Sdimushort8 __ovld __cnfn convert_ushort8_rtn(half8);
5563303233Sdimushort8 __ovld __cnfn convert_ushort8_rtz(half8);
5564303233Sdimushort8 __ovld __cnfn convert_ushort8_sat(half8);
5565303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rte(half8);
5566303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtp(half8);
5567303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtn(half8);
5568303233Sdimushort8 __ovld __cnfn convert_ushort8_sat_rtz(half8);
5569303233Sdimushort16 __ovld __cnfn convert_ushort16(half16);
5570303233Sdimushort16 __ovld __cnfn convert_ushort16_rte(half16);
5571303233Sdimushort16 __ovld __cnfn convert_ushort16_rtp(half16);
5572303233Sdimushort16 __ovld __cnfn convert_ushort16_rtn(half16);
5573303233Sdimushort16 __ovld __cnfn convert_ushort16_rtz(half16);
5574303233Sdimushort16 __ovld __cnfn convert_ushort16_sat(half16);
5575303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rte(half16);
5576303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtp(half16);
5577303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtn(half16);
5578303233Sdimushort16 __ovld __cnfn convert_ushort16_sat_rtz(half16);
5579303233Sdimuint __ovld __cnfn convert_uint(half);
5580303233Sdimuint __ovld __cnfn convert_uint_rte(half);
5581303233Sdimuint __ovld __cnfn convert_uint_rtp(half);
5582303233Sdimuint __ovld __cnfn convert_uint_rtn(half);
5583303233Sdimuint __ovld __cnfn convert_uint_rtz(half);
5584303233Sdimuint __ovld __cnfn convert_uint_sat(half);
5585303233Sdimuint __ovld __cnfn convert_uint_sat_rte(half);
5586303233Sdimuint __ovld __cnfn convert_uint_sat_rtp(half);
5587303233Sdimuint __ovld __cnfn convert_uint_sat_rtn(half);
5588303233Sdimuint __ovld __cnfn convert_uint_sat_rtz(half);
5589303233Sdimuint2 __ovld __cnfn convert_uint2(half2);
5590303233Sdimuint2 __ovld __cnfn convert_uint2_rte(half2);
5591303233Sdimuint2 __ovld __cnfn convert_uint2_rtp(half2);
5592303233Sdimuint2 __ovld __cnfn convert_uint2_rtn(half2);
5593303233Sdimuint2 __ovld __cnfn convert_uint2_rtz(half2);
5594303233Sdimuint2 __ovld __cnfn convert_uint2_sat(half2);
5595303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rte(half2);
5596303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtp(half2);
5597303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtn(half2);
5598303233Sdimuint2 __ovld __cnfn convert_uint2_sat_rtz(half2);
5599303233Sdimuint3 __ovld __cnfn convert_uint3(half3);
5600303233Sdimuint3 __ovld __cnfn convert_uint3_rte(half3);
5601303233Sdimuint3 __ovld __cnfn convert_uint3_rtp(half3);
5602303233Sdimuint3 __ovld __cnfn convert_uint3_rtn(half3);
5603303233Sdimuint3 __ovld __cnfn convert_uint3_rtz(half3);
5604303233Sdimuint3 __ovld __cnfn convert_uint3_sat(half3);
5605303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rte(half3);
5606303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtp(half3);
5607303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtn(half3);
5608303233Sdimuint3 __ovld __cnfn convert_uint3_sat_rtz(half3);
5609303233Sdimuint4 __ovld __cnfn convert_uint4(half4);
5610303233Sdimuint4 __ovld __cnfn convert_uint4_rte(half4);
5611303233Sdimuint4 __ovld __cnfn convert_uint4_rtp(half4);
5612303233Sdimuint4 __ovld __cnfn convert_uint4_rtn(half4);
5613303233Sdimuint4 __ovld __cnfn convert_uint4_rtz(half4);
5614303233Sdimuint4 __ovld __cnfn convert_uint4_sat(half4);
5615303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rte(half4);
5616303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtp(half4);
5617303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtn(half4);
5618303233Sdimuint4 __ovld __cnfn convert_uint4_sat_rtz(half4);
5619303233Sdimuint8 __ovld __cnfn convert_uint8(half8);
5620303233Sdimuint8 __ovld __cnfn convert_uint8_rte(half8);
5621303233Sdimuint8 __ovld __cnfn convert_uint8_rtp(half8);
5622303233Sdimuint8 __ovld __cnfn convert_uint8_rtn(half8);
5623303233Sdimuint8 __ovld __cnfn convert_uint8_rtz(half8);
5624303233Sdimuint8 __ovld __cnfn convert_uint8_sat(half8);
5625303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rte(half8);
5626303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtp(half8);
5627303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtn(half8);
5628303233Sdimuint8 __ovld __cnfn convert_uint8_sat_rtz(half8);
5629303233Sdimuint16 __ovld __cnfn convert_uint16(half16);
5630303233Sdimuint16 __ovld __cnfn convert_uint16_rte(half16);
5631303233Sdimuint16 __ovld __cnfn convert_uint16_rtp(half16);
5632303233Sdimuint16 __ovld __cnfn convert_uint16_rtn(half16);
5633303233Sdimuint16 __ovld __cnfn convert_uint16_rtz(half16);
5634303233Sdimuint16 __ovld __cnfn convert_uint16_sat(half16);
5635303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rte(half16);
5636303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtp(half16);
5637303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtn(half16);
5638303233Sdimuint16 __ovld __cnfn convert_uint16_sat_rtz(half16);
5639303233Sdimulong __ovld __cnfn convert_ulong(half);
5640303233Sdimulong __ovld __cnfn convert_ulong_rte(half);
5641303233Sdimulong __ovld __cnfn convert_ulong_rtp(half);
5642303233Sdimulong __ovld __cnfn convert_ulong_rtn(half);
5643303233Sdimulong __ovld __cnfn convert_ulong_rtz(half);
5644303233Sdimulong __ovld __cnfn convert_ulong_sat(half);
5645303233Sdimulong __ovld __cnfn convert_ulong_sat_rte(half);
5646303233Sdimulong __ovld __cnfn convert_ulong_sat_rtp(half);
5647303233Sdimulong __ovld __cnfn convert_ulong_sat_rtn(half);
5648303233Sdimulong __ovld __cnfn convert_ulong_sat_rtz(half);
5649303233Sdimulong2 __ovld __cnfn convert_ulong2(half2);
5650303233Sdimulong2 __ovld __cnfn convert_ulong2_rte(half2);
5651303233Sdimulong2 __ovld __cnfn convert_ulong2_rtp(half2);
5652303233Sdimulong2 __ovld __cnfn convert_ulong2_rtn(half2);
5653303233Sdimulong2 __ovld __cnfn convert_ulong2_rtz(half2);
5654303233Sdimulong2 __ovld __cnfn convert_ulong2_sat(half2);
5655303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rte(half2);
5656303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtp(half2);
5657303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtn(half2);
5658303233Sdimulong2 __ovld __cnfn convert_ulong2_sat_rtz(half2);
5659303233Sdimulong3 __ovld __cnfn convert_ulong3(half3);
5660303233Sdimulong3 __ovld __cnfn convert_ulong3_rte(half3);
5661303233Sdimulong3 __ovld __cnfn convert_ulong3_rtp(half3);
5662303233Sdimulong3 __ovld __cnfn convert_ulong3_rtn(half3);
5663303233Sdimulong3 __ovld __cnfn convert_ulong3_rtz(half3);
5664303233Sdimulong3 __ovld __cnfn convert_ulong3_sat(half3);
5665303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rte(half3);
5666303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtp(half3);
5667303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtn(half3);
5668303233Sdimulong3 __ovld __cnfn convert_ulong3_sat_rtz(half3);
5669303233Sdimulong4 __ovld __cnfn convert_ulong4(half4);
5670303233Sdimulong4 __ovld __cnfn convert_ulong4_rte(half4);
5671303233Sdimulong4 __ovld __cnfn convert_ulong4_rtp(half4);
5672303233Sdimulong4 __ovld __cnfn convert_ulong4_rtn(half4);
5673303233Sdimulong4 __ovld __cnfn convert_ulong4_rtz(half4);
5674303233Sdimulong4 __ovld __cnfn convert_ulong4_sat(half4);
5675303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rte(half4);
5676303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtp(half4);
5677303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtn(half4);
5678303233Sdimulong4 __ovld __cnfn convert_ulong4_sat_rtz(half4);
5679303233Sdimulong8 __ovld __cnfn convert_ulong8(half8);
5680303233Sdimulong8 __ovld __cnfn convert_ulong8_rte(half8);
5681303233Sdimulong8 __ovld __cnfn convert_ulong8_rtp(half8);
5682303233Sdimulong8 __ovld __cnfn convert_ulong8_rtn(half8);
5683303233Sdimulong8 __ovld __cnfn convert_ulong8_rtz(half8);
5684303233Sdimulong8 __ovld __cnfn convert_ulong8_sat(half8);
5685303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rte(half8);
5686303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtp(half8);
5687303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtn(half8);
5688303233Sdimulong8 __ovld __cnfn convert_ulong8_sat_rtz(half8);
5689303233Sdimulong16 __ovld __cnfn convert_ulong16(half16);
5690303233Sdimulong16 __ovld __cnfn convert_ulong16_rte(half16);
5691303233Sdimulong16 __ovld __cnfn convert_ulong16_rtp(half16);
5692303233Sdimulong16 __ovld __cnfn convert_ulong16_rtn(half16);
5693303233Sdimulong16 __ovld __cnfn convert_ulong16_rtz(half16);
5694303233Sdimulong16 __ovld __cnfn convert_ulong16_sat(half16);
5695303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rte(half16);
5696303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtp(half16);
5697303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtn(half16);
5698303233Sdimulong16 __ovld __cnfn convert_ulong16_sat_rtz(half16);
5699303233Sdimchar __ovld __cnfn convert_char(half);
5700303233Sdimchar __ovld __cnfn convert_char_rte(half);
5701303233Sdimchar __ovld __cnfn convert_char_rtp(half);
5702303233Sdimchar __ovld __cnfn convert_char_rtn(half);
5703303233Sdimchar __ovld __cnfn convert_char_rtz(half);
5704303233Sdimchar __ovld __cnfn convert_char_sat(half);
5705303233Sdimchar __ovld __cnfn convert_char_sat_rte(half);
5706303233Sdimchar __ovld __cnfn convert_char_sat_rtp(half);
5707303233Sdimchar __ovld __cnfn convert_char_sat_rtn(half);
5708303233Sdimchar __ovld __cnfn convert_char_sat_rtz(half);
5709303233Sdimchar2 __ovld __cnfn convert_char2(half2);
5710303233Sdimchar2 __ovld __cnfn convert_char2_rte(half2);
5711303233Sdimchar2 __ovld __cnfn convert_char2_rtp(half2);
5712303233Sdimchar2 __ovld __cnfn convert_char2_rtn(half2);
5713303233Sdimchar2 __ovld __cnfn convert_char2_rtz(half2);
5714303233Sdimchar2 __ovld __cnfn convert_char2_sat(half2);
5715303233Sdimchar2 __ovld __cnfn convert_char2_sat_rte(half2);
5716303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtp(half2);
5717303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtn(half2);
5718303233Sdimchar2 __ovld __cnfn convert_char2_sat_rtz(half2);
5719303233Sdimchar3 __ovld __cnfn convert_char3(half3);
5720303233Sdimchar3 __ovld __cnfn convert_char3_rte(half3);
5721303233Sdimchar3 __ovld __cnfn convert_char3_rtp(half3);
5722303233Sdimchar3 __ovld __cnfn convert_char3_rtn(half3);
5723303233Sdimchar3 __ovld __cnfn convert_char3_rtz(half3);
5724303233Sdimchar3 __ovld __cnfn convert_char3_sat(half3);
5725303233Sdimchar3 __ovld __cnfn convert_char3_sat_rte(half3);
5726303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtp(half3);
5727303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtn(half3);
5728303233Sdimchar3 __ovld __cnfn convert_char3_sat_rtz(half3);
5729303233Sdimchar4 __ovld __cnfn convert_char4(half4);
5730303233Sdimchar4 __ovld __cnfn convert_char4_rte(half4);
5731303233Sdimchar4 __ovld __cnfn convert_char4_rtp(half4);
5732303233Sdimchar4 __ovld __cnfn convert_char4_rtn(half4);
5733303233Sdimchar4 __ovld __cnfn convert_char4_rtz(half4);
5734303233Sdimchar4 __ovld __cnfn convert_char4_sat(half4);
5735303233Sdimchar4 __ovld __cnfn convert_char4_sat_rte(half4);
5736303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtp(half4);
5737303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtn(half4);
5738303233Sdimchar4 __ovld __cnfn convert_char4_sat_rtz(half4);
5739303233Sdimchar8 __ovld __cnfn convert_char8(half8);
5740303233Sdimchar8 __ovld __cnfn convert_char8_rte(half8);
5741303233Sdimchar8 __ovld __cnfn convert_char8_rtp(half8);
5742303233Sdimchar8 __ovld __cnfn convert_char8_rtn(half8);
5743303233Sdimchar8 __ovld __cnfn convert_char8_rtz(half8);
5744303233Sdimchar8 __ovld __cnfn convert_char8_sat(half8);
5745303233Sdimchar8 __ovld __cnfn convert_char8_sat_rte(half8);
5746303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtp(half8);
5747303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtn(half8);
5748303233Sdimchar8 __ovld __cnfn convert_char8_sat_rtz(half8);
5749303233Sdimchar16 __ovld __cnfn convert_char16(half16);
5750303233Sdimchar16 __ovld __cnfn convert_char16_rte(half16);
5751303233Sdimchar16 __ovld __cnfn convert_char16_rtp(half16);
5752303233Sdimchar16 __ovld __cnfn convert_char16_rtn(half16);
5753303233Sdimchar16 __ovld __cnfn convert_char16_rtz(half16);
5754303233Sdimchar16 __ovld __cnfn convert_char16_sat(half16);
5755303233Sdimchar16 __ovld __cnfn convert_char16_sat_rte(half16);
5756303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtp(half16);
5757303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtn(half16);
5758303233Sdimchar16 __ovld __cnfn convert_char16_sat_rtz(half16);
5759303233Sdimshort __ovld __cnfn convert_short(half);
5760303233Sdimshort __ovld __cnfn convert_short_rte(half);
5761303233Sdimshort __ovld __cnfn convert_short_rtp(half);
5762303233Sdimshort __ovld __cnfn convert_short_rtn(half);
5763303233Sdimshort __ovld __cnfn convert_short_rtz(half);
5764303233Sdimshort __ovld __cnfn convert_short_sat(half);
5765303233Sdimshort __ovld __cnfn convert_short_sat_rte(half);
5766303233Sdimshort __ovld __cnfn convert_short_sat_rtp(half);
5767303233Sdimshort __ovld __cnfn convert_short_sat_rtn(half);
5768303233Sdimshort __ovld __cnfn convert_short_sat_rtz(half);
5769303233Sdimshort2 __ovld __cnfn convert_short2(half2);
5770303233Sdimshort2 __ovld __cnfn convert_short2_rte(half2);
5771303233Sdimshort2 __ovld __cnfn convert_short2_rtp(half2);
5772303233Sdimshort2 __ovld __cnfn convert_short2_rtn(half2);
5773303233Sdimshort2 __ovld __cnfn convert_short2_rtz(half2);
5774303233Sdimshort2 __ovld __cnfn convert_short2_sat(half2);
5775303233Sdimshort2 __ovld __cnfn convert_short2_sat_rte(half2);
5776303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtp(half2);
5777303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtn(half2);
5778303233Sdimshort2 __ovld __cnfn convert_short2_sat_rtz(half2);
5779303233Sdimshort3 __ovld __cnfn convert_short3(half3);
5780303233Sdimshort3 __ovld __cnfn convert_short3_rte(half3);
5781303233Sdimshort3 __ovld __cnfn convert_short3_rtp(half3);
5782303233Sdimshort3 __ovld __cnfn convert_short3_rtn(half3);
5783303233Sdimshort3 __ovld __cnfn convert_short3_rtz(half3);
5784303233Sdimshort3 __ovld __cnfn convert_short3_sat(half3);
5785303233Sdimshort3 __ovld __cnfn convert_short3_sat_rte(half3);
5786303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtp(half3);
5787303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtn(half3);
5788303233Sdimshort3 __ovld __cnfn convert_short3_sat_rtz(half3);
5789303233Sdimshort4 __ovld __cnfn convert_short4(half4);
5790303233Sdimshort4 __ovld __cnfn convert_short4_rte(half4);
5791303233Sdimshort4 __ovld __cnfn convert_short4_rtp(half4);
5792303233Sdimshort4 __ovld __cnfn convert_short4_rtn(half4);
5793303233Sdimshort4 __ovld __cnfn convert_short4_rtz(half4);
5794303233Sdimshort4 __ovld __cnfn convert_short4_sat(half4);
5795303233Sdimshort4 __ovld __cnfn convert_short4_sat_rte(half4);
5796303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtp(half4);
5797303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtn(half4);
5798303233Sdimshort4 __ovld __cnfn convert_short4_sat_rtz(half4);
5799303233Sdimshort8 __ovld __cnfn convert_short8(half8);
5800303233Sdimshort8 __ovld __cnfn convert_short8_rte(half8);
5801303233Sdimshort8 __ovld __cnfn convert_short8_rtp(half8);
5802303233Sdimshort8 __ovld __cnfn convert_short8_rtn(half8);
5803303233Sdimshort8 __ovld __cnfn convert_short8_rtz(half8);
5804303233Sdimshort8 __ovld __cnfn convert_short8_sat(half8);
5805303233Sdimshort8 __ovld __cnfn convert_short8_sat_rte(half8);
5806303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtp(half8);
5807303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtn(half8);
5808303233Sdimshort8 __ovld __cnfn convert_short8_sat_rtz(half8);
5809303233Sdimshort16 __ovld __cnfn convert_short16(half16);
5810303233Sdimshort16 __ovld __cnfn convert_short16_rte(half16);
5811303233Sdimshort16 __ovld __cnfn convert_short16_rtp(half16);
5812303233Sdimshort16 __ovld __cnfn convert_short16_rtn(half16);
5813303233Sdimshort16 __ovld __cnfn convert_short16_rtz(half16);
5814303233Sdimshort16 __ovld __cnfn convert_short16_sat(half16);
5815303233Sdimshort16 __ovld __cnfn convert_short16_sat_rte(half16);
5816303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtp(half16);
5817303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtn(half16);
5818303233Sdimshort16 __ovld __cnfn convert_short16_sat_rtz(half16);
5819303233Sdimint __ovld __cnfn convert_int(half);
5820303233Sdimint __ovld __cnfn convert_int_rte(half);
5821303233Sdimint __ovld __cnfn convert_int_rtp(half);
5822303233Sdimint __ovld __cnfn convert_int_rtn(half);
5823303233Sdimint __ovld __cnfn convert_int_rtz(half);
5824303233Sdimint __ovld __cnfn convert_int_sat(half);
5825303233Sdimint __ovld __cnfn convert_int_sat_rte(half);
5826303233Sdimint __ovld __cnfn convert_int_sat_rtp(half);
5827303233Sdimint __ovld __cnfn convert_int_sat_rtn(half);
5828303233Sdimint __ovld __cnfn convert_int_sat_rtz(half);
5829303233Sdimint2 __ovld __cnfn convert_int2(half2);
5830303233Sdimint2 __ovld __cnfn convert_int2_rte(half2);
5831303233Sdimint2 __ovld __cnfn convert_int2_rtp(half2);
5832303233Sdimint2 __ovld __cnfn convert_int2_rtn(half2);
5833303233Sdimint2 __ovld __cnfn convert_int2_rtz(half2);
5834303233Sdimint2 __ovld __cnfn convert_int2_sat(half2);
5835303233Sdimint2 __ovld __cnfn convert_int2_sat_rte(half2);
5836303233Sdimint2 __ovld __cnfn convert_int2_sat_rtp(half2);
5837303233Sdimint2 __ovld __cnfn convert_int2_sat_rtn(half2);
5838303233Sdimint2 __ovld __cnfn convert_int2_sat_rtz(half2);
5839303233Sdimint3 __ovld __cnfn convert_int3(half3);
5840303233Sdimint3 __ovld __cnfn convert_int3_rte(half3);
5841303233Sdimint3 __ovld __cnfn convert_int3_rtp(half3);
5842303233Sdimint3 __ovld __cnfn convert_int3_rtn(half3);
5843303233Sdimint3 __ovld __cnfn convert_int3_rtz(half3);
5844303233Sdimint3 __ovld __cnfn convert_int3_sat(half3);
5845303233Sdimint3 __ovld __cnfn convert_int3_sat_rte(half3);
5846303233Sdimint3 __ovld __cnfn convert_int3_sat_rtp(half3);
5847303233Sdimint3 __ovld __cnfn convert_int3_sat_rtn(half3);
5848303233Sdimint3 __ovld __cnfn convert_int3_sat_rtz(half3);
5849303233Sdimint4 __ovld __cnfn convert_int4(half4);
5850303233Sdimint4 __ovld __cnfn convert_int4_rte(half4);
5851303233Sdimint4 __ovld __cnfn convert_int4_rtp(half4);
5852303233Sdimint4 __ovld __cnfn convert_int4_rtn(half4);
5853303233Sdimint4 __ovld __cnfn convert_int4_rtz(half4);
5854303233Sdimint4 __ovld __cnfn convert_int4_sat(half4);
5855303233Sdimint4 __ovld __cnfn convert_int4_sat_rte(half4);
5856303233Sdimint4 __ovld __cnfn convert_int4_sat_rtp(half4);
5857303233Sdimint4 __ovld __cnfn convert_int4_sat_rtn(half4);
5858303233Sdimint4 __ovld __cnfn convert_int4_sat_rtz(half4);
5859303233Sdimint8 __ovld __cnfn convert_int8(half8);
5860303233Sdimint8 __ovld __cnfn convert_int8_rte(half8);
5861303233Sdimint8 __ovld __cnfn convert_int8_rtp(half8);
5862303233Sdimint8 __ovld __cnfn convert_int8_rtn(half8);
5863303233Sdimint8 __ovld __cnfn convert_int8_rtz(half8);
5864303233Sdimint8 __ovld __cnfn convert_int8_sat(half8);
5865303233Sdimint8 __ovld __cnfn convert_int8_sat_rte(half8);
5866303233Sdimint8 __ovld __cnfn convert_int8_sat_rtp(half8);
5867303233Sdimint8 __ovld __cnfn convert_int8_sat_rtn(half8);
5868303233Sdimint8 __ovld __cnfn convert_int8_sat_rtz(half8);
5869303233Sdimint16 __ovld __cnfn convert_int16(half16);
5870303233Sdimint16 __ovld __cnfn convert_int16_rte(half16);
5871303233Sdimint16 __ovld __cnfn convert_int16_rtp(half16);
5872303233Sdimint16 __ovld __cnfn convert_int16_rtn(half16);
5873303233Sdimint16 __ovld __cnfn convert_int16_rtz(half16);
5874303233Sdimint16 __ovld __cnfn convert_int16_sat(half16);
5875303233Sdimint16 __ovld __cnfn convert_int16_sat_rte(half16);
5876303233Sdimint16 __ovld __cnfn convert_int16_sat_rtp(half16);
5877303233Sdimint16 __ovld __cnfn convert_int16_sat_rtn(half16);
5878303233Sdimint16 __ovld __cnfn convert_int16_sat_rtz(half16);
5879303233Sdimlong __ovld __cnfn convert_long(half);
5880303233Sdimlong __ovld __cnfn convert_long_rte(half);
5881303233Sdimlong __ovld __cnfn convert_long_rtp(half);
5882303233Sdimlong __ovld __cnfn convert_long_rtn(half);
5883303233Sdimlong __ovld __cnfn convert_long_rtz(half);
5884303233Sdimlong __ovld __cnfn convert_long_sat(half);
5885303233Sdimlong __ovld __cnfn convert_long_sat_rte(half);
5886303233Sdimlong __ovld __cnfn convert_long_sat_rtp(half);
5887303233Sdimlong __ovld __cnfn convert_long_sat_rtn(half);
5888303233Sdimlong __ovld __cnfn convert_long_sat_rtz(half);
5889303233Sdimlong2 __ovld __cnfn convert_long2(half2);
5890303233Sdimlong2 __ovld __cnfn convert_long2_rte(half2);
5891303233Sdimlong2 __ovld __cnfn convert_long2_rtp(half2);
5892303233Sdimlong2 __ovld __cnfn convert_long2_rtn(half2);
5893303233Sdimlong2 __ovld __cnfn convert_long2_rtz(half2);
5894303233Sdimlong2 __ovld __cnfn convert_long2_sat(half2);
5895303233Sdimlong2 __ovld __cnfn convert_long2_sat_rte(half2);
5896303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtp(half2);
5897303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtn(half2);
5898303233Sdimlong2 __ovld __cnfn convert_long2_sat_rtz(half2);
5899303233Sdimlong3 __ovld __cnfn convert_long3(half3);
5900303233Sdimlong3 __ovld __cnfn convert_long3_rte(half3);
5901303233Sdimlong3 __ovld __cnfn convert_long3_rtp(half3);
5902303233Sdimlong3 __ovld __cnfn convert_long3_rtn(half3);
5903303233Sdimlong3 __ovld __cnfn convert_long3_rtz(half3);
5904303233Sdimlong3 __ovld __cnfn convert_long3_sat(half3);
5905303233Sdimlong3 __ovld __cnfn convert_long3_sat_rte(half3);
5906303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtp(half3);
5907303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtn(half3);
5908303233Sdimlong3 __ovld __cnfn convert_long3_sat_rtz(half3);
5909303233Sdimlong4 __ovld __cnfn convert_long4(half4);
5910303233Sdimlong4 __ovld __cnfn convert_long4_rte(half4);
5911303233Sdimlong4 __ovld __cnfn convert_long4_rtp(half4);
5912303233Sdimlong4 __ovld __cnfn convert_long4_rtn(half4);
5913303233Sdimlong4 __ovld __cnfn convert_long4_rtz(half4);
5914303233Sdimlong4 __ovld __cnfn convert_long4_sat(half4);
5915303233Sdimlong4 __ovld __cnfn convert_long4_sat_rte(half4);
5916303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtp(half4);
5917303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtn(half4);
5918303233Sdimlong4 __ovld __cnfn convert_long4_sat_rtz(half4);
5919303233Sdimlong8 __ovld __cnfn convert_long8(half8);
5920303233Sdimlong8 __ovld __cnfn convert_long8_rte(half8);
5921303233Sdimlong8 __ovld __cnfn convert_long8_rtp(half8);
5922303233Sdimlong8 __ovld __cnfn convert_long8_rtn(half8);
5923303233Sdimlong8 __ovld __cnfn convert_long8_rtz(half8);
5924303233Sdimlong8 __ovld __cnfn convert_long8_sat(half8);
5925303233Sdimlong8 __ovld __cnfn convert_long8_sat_rte(half8);
5926303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtp(half8);
5927303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtn(half8);
5928303233Sdimlong8 __ovld __cnfn convert_long8_sat_rtz(half8);
5929303233Sdimlong16 __ovld __cnfn convert_long16(half16);
5930303233Sdimlong16 __ovld __cnfn convert_long16_rte(half16);
5931303233Sdimlong16 __ovld __cnfn convert_long16_rtp(half16);
5932303233Sdimlong16 __ovld __cnfn convert_long16_rtn(half16);
5933303233Sdimlong16 __ovld __cnfn convert_long16_rtz(half16);
5934303233Sdimlong16 __ovld __cnfn convert_long16_sat(half16);
5935303233Sdimlong16 __ovld __cnfn convert_long16_sat_rte(half16);
5936303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtp(half16);
5937303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtn(half16);
5938303233Sdimlong16 __ovld __cnfn convert_long16_sat_rtz(half16);
5939303233Sdimfloat __ovld __cnfn convert_float(half);
5940303233Sdimfloat __ovld __cnfn convert_float_rte(half);
5941303233Sdimfloat __ovld __cnfn convert_float_rtp(half);
5942303233Sdimfloat __ovld __cnfn convert_float_rtn(half);
5943303233Sdimfloat __ovld __cnfn convert_float_rtz(half);
5944303233Sdimfloat2 __ovld __cnfn convert_float2(half2);
5945303233Sdimfloat2 __ovld __cnfn convert_float2_rte(half2);
5946303233Sdimfloat2 __ovld __cnfn convert_float2_rtp(half2);
5947303233Sdimfloat2 __ovld __cnfn convert_float2_rtn(half2);
5948303233Sdimfloat2 __ovld __cnfn convert_float2_rtz(half2);
5949303233Sdimfloat3 __ovld __cnfn convert_float3(half3);
5950303233Sdimfloat3 __ovld __cnfn convert_float3_rte(half3);
5951303233Sdimfloat3 __ovld __cnfn convert_float3_rtp(half3);
5952303233Sdimfloat3 __ovld __cnfn convert_float3_rtn(half3);
5953303233Sdimfloat3 __ovld __cnfn convert_float3_rtz(half3);
5954303233Sdimfloat4 __ovld __cnfn convert_float4(half4);
5955303233Sdimfloat4 __ovld __cnfn convert_float4_rte(half4);
5956303233Sdimfloat4 __ovld __cnfn convert_float4_rtp(half4);
5957303233Sdimfloat4 __ovld __cnfn convert_float4_rtn(half4);
5958303233Sdimfloat4 __ovld __cnfn convert_float4_rtz(half4);
5959303233Sdimfloat8 __ovld __cnfn convert_float8(half8);
5960303233Sdimfloat8 __ovld __cnfn convert_float8_rte(half8);
5961303233Sdimfloat8 __ovld __cnfn convert_float8_rtp(half8);
5962303233Sdimfloat8 __ovld __cnfn convert_float8_rtn(half8);
5963303233Sdimfloat8 __ovld __cnfn convert_float8_rtz(half8);
5964303233Sdimfloat16 __ovld __cnfn convert_float16(half16);
5965303233Sdimfloat16 __ovld __cnfn convert_float16_rte(half16);
5966303233Sdimfloat16 __ovld __cnfn convert_float16_rtp(half16);
5967303233Sdimfloat16 __ovld __cnfn convert_float16_rtn(half16);
5968303233Sdimfloat16 __ovld __cnfn convert_float16_rtz(half16);
5969303233Sdim
5970303233Sdim// Convert non-double types to half types.
5971303233Sdimhalf __ovld __cnfn convert_half(uchar);
5972303233Sdimhalf __ovld __cnfn convert_half(ushort);
5973303233Sdimhalf __ovld __cnfn convert_half(uint);
5974303233Sdimhalf __ovld __cnfn convert_half(ulong);
5975303233Sdimhalf __ovld __cnfn convert_half(char);
5976303233Sdimhalf __ovld __cnfn convert_half(short);
5977303233Sdimhalf __ovld __cnfn convert_half(int);
5978303233Sdimhalf __ovld __cnfn convert_half(long);
5979303233Sdimhalf __ovld __cnfn convert_half(float);
5980303233Sdimhalf __ovld __cnfn convert_half(half);
5981303233Sdimhalf __ovld __cnfn convert_half_rte(uchar);
5982303233Sdimhalf __ovld __cnfn convert_half_rte(ushort);
5983303233Sdimhalf __ovld __cnfn convert_half_rte(uint);
5984303233Sdimhalf __ovld __cnfn convert_half_rte(ulong);
5985303233Sdimhalf __ovld __cnfn convert_half_rte(char);
5986303233Sdimhalf __ovld __cnfn convert_half_rte(short);
5987303233Sdimhalf __ovld __cnfn convert_half_rte(int);
5988303233Sdimhalf __ovld __cnfn convert_half_rte(long);
5989303233Sdimhalf __ovld __cnfn convert_half_rte(float);
5990303233Sdimhalf __ovld __cnfn convert_half_rte(half);
5991303233Sdimhalf __ovld __cnfn convert_half_rtp(uchar);
5992303233Sdimhalf __ovld __cnfn convert_half_rtp(ushort);
5993303233Sdimhalf __ovld __cnfn convert_half_rtp(uint);
5994303233Sdimhalf __ovld __cnfn convert_half_rtp(ulong);
5995303233Sdimhalf __ovld __cnfn convert_half_rtp(char);
5996303233Sdimhalf __ovld __cnfn convert_half_rtp(short);
5997303233Sdimhalf __ovld __cnfn convert_half_rtp(int);
5998303233Sdimhalf __ovld __cnfn convert_half_rtp(long);
5999303233Sdimhalf __ovld __cnfn convert_half_rtp(float);
6000303233Sdimhalf __ovld __cnfn convert_half_rtp(half);
6001303233Sdimhalf __ovld __cnfn convert_half_rtn(uchar);
6002303233Sdimhalf __ovld __cnfn convert_half_rtn(ushort);
6003303233Sdimhalf __ovld __cnfn convert_half_rtn(uint);
6004303233Sdimhalf __ovld __cnfn convert_half_rtn(ulong);
6005303233Sdimhalf __ovld __cnfn convert_half_rtn(char);
6006303233Sdimhalf __ovld __cnfn convert_half_rtn(short);
6007303233Sdimhalf __ovld __cnfn convert_half_rtn(int);
6008303233Sdimhalf __ovld __cnfn convert_half_rtn(long);
6009303233Sdimhalf __ovld __cnfn convert_half_rtn(float);
6010303233Sdimhalf __ovld __cnfn convert_half_rtn(half);
6011303233Sdimhalf __ovld __cnfn convert_half_rtz(uchar);
6012303233Sdimhalf __ovld __cnfn convert_half_rtz(ushort);
6013303233Sdimhalf __ovld __cnfn convert_half_rtz(uint);
6014303233Sdimhalf __ovld __cnfn convert_half_rtz(ulong);
6015303233Sdimhalf __ovld __cnfn convert_half_rtz(char);
6016303233Sdimhalf __ovld __cnfn convert_half_rtz(short);
6017303233Sdimhalf __ovld __cnfn convert_half_rtz(int);
6018303233Sdimhalf __ovld __cnfn convert_half_rtz(long);
6019303233Sdimhalf __ovld __cnfn convert_half_rtz(float);
6020303233Sdimhalf __ovld __cnfn convert_half_rtz(half);
6021303233Sdimhalf2 __ovld __cnfn convert_half2(char2);
6022303233Sdimhalf2 __ovld __cnfn convert_half2(uchar2);
6023303233Sdimhalf2 __ovld __cnfn convert_half2(short2);
6024303233Sdimhalf2 __ovld __cnfn convert_half2(ushort2);
6025303233Sdimhalf2 __ovld __cnfn convert_half2(int2);
6026303233Sdimhalf2 __ovld __cnfn convert_half2(uint2);
6027303233Sdimhalf2 __ovld __cnfn convert_half2(long2);
6028303233Sdimhalf2 __ovld __cnfn convert_half2(ulong2);
6029303233Sdimhalf2 __ovld __cnfn convert_half2(float2);
6030303233Sdimhalf2 __ovld __cnfn convert_half2(half2);
6031303233Sdimhalf2 __ovld __cnfn convert_half2_rte(char2);
6032303233Sdimhalf2 __ovld __cnfn convert_half2_rte(uchar2);
6033303233Sdimhalf2 __ovld __cnfn convert_half2_rte(short2);
6034303233Sdimhalf2 __ovld __cnfn convert_half2_rte(ushort2);
6035303233Sdimhalf2 __ovld __cnfn convert_half2_rte(int2);
6036303233Sdimhalf2 __ovld __cnfn convert_half2_rte(uint2);
6037303233Sdimhalf2 __ovld __cnfn convert_half2_rte(long2);
6038303233Sdimhalf2 __ovld __cnfn convert_half2_rte(ulong2);
6039303233Sdimhalf2 __ovld __cnfn convert_half2_rte(float2);
6040303233Sdimhalf2 __ovld __cnfn convert_half2_rte(half2);
6041303233Sdimhalf2 __ovld __cnfn convert_half2_rtp(char2);
6042303233Sdimhalf2 __ovld __cnfn convert_half2_rtp(uchar2);
6043303233Sdimhalf2 __ovld __cnfn convert_half2_rtp(short2);
6044303233Sdimhalf2 __ovld __cnfn convert_half2_rtp(ushort2);
6045303233Sdimhalf2 __ovld __cnfn convert_half2_rtp(int2);
6046303233Sdimhalf2 __ovld __cnfn convert_half2_rtp(uint2);
6047303233Sdimhalf2 __ovld __cnfn convert_half2_rtp(long2);
6048303233Sdimhalf2 __ovld __cnfn convert_half2_rtp(ulong2);
6049303233Sdimhalf2 __ovld __cnfn convert_half2_rtp(float2);
6050303233Sdimhalf2 __ovld __cnfn convert_half2_rtp(half2);
6051303233Sdimhalf2 __ovld __cnfn convert_half2_rtn(char2);
6052303233Sdimhalf2 __ovld __cnfn convert_half2_rtn(uchar2);
6053303233Sdimhalf2 __ovld __cnfn convert_half2_rtn(short2);
6054303233Sdimhalf2 __ovld __cnfn convert_half2_rtn(ushort2);
6055303233Sdimhalf2 __ovld __cnfn convert_half2_rtn(int2);
6056303233Sdimhalf2 __ovld __cnfn convert_half2_rtn(uint2);
6057303233Sdimhalf2 __ovld __cnfn convert_half2_rtn(long2);
6058303233Sdimhalf2 __ovld __cnfn convert_half2_rtn(ulong2);
6059303233Sdimhalf2 __ovld __cnfn convert_half2_rtn(float2);
6060303233Sdimhalf2 __ovld __cnfn convert_half2_rtn(half2);
6061303233Sdimhalf2 __ovld __cnfn convert_half2_rtz(char2);
6062303233Sdimhalf2 __ovld __cnfn convert_half2_rtz(uchar2);
6063303233Sdimhalf2 __ovld __cnfn convert_half2_rtz(short2);
6064303233Sdimhalf2 __ovld __cnfn convert_half2_rtz(ushort2);
6065303233Sdimhalf2 __ovld __cnfn convert_half2_rtz(int2);
6066303233Sdimhalf2 __ovld __cnfn convert_half2_rtz(uint2);
6067303233Sdimhalf2 __ovld __cnfn convert_half2_rtz(long2);
6068303233Sdimhalf2 __ovld __cnfn convert_half2_rtz(ulong2);
6069303233Sdimhalf2 __ovld __cnfn convert_half2_rtz(float2);
6070303233Sdimhalf2 __ovld __cnfn convert_half2_rtz(half2);
6071303233Sdimhalf3 __ovld __cnfn convert_half3(char3);
6072303233Sdimhalf3 __ovld __cnfn convert_half3(uchar3);
6073303233Sdimhalf3 __ovld __cnfn convert_half3(short3);
6074303233Sdimhalf3 __ovld __cnfn convert_half3(ushort3);
6075303233Sdimhalf3 __ovld __cnfn convert_half3(int3);
6076303233Sdimhalf3 __ovld __cnfn convert_half3(uint3);
6077303233Sdimhalf3 __ovld __cnfn convert_half3(long3);
6078303233Sdimhalf3 __ovld __cnfn convert_half3(ulong3);
6079303233Sdimhalf3 __ovld __cnfn convert_half3(float3);
6080303233Sdimhalf3 __ovld __cnfn convert_half3(half3);
6081303233Sdimhalf3 __ovld __cnfn convert_half3_rte(char3);
6082303233Sdimhalf3 __ovld __cnfn convert_half3_rte(uchar3);
6083303233Sdimhalf3 __ovld __cnfn convert_half3_rte(short3);
6084303233Sdimhalf3 __ovld __cnfn convert_half3_rte(ushort3);
6085303233Sdimhalf3 __ovld __cnfn convert_half3_rte(int3);
6086303233Sdimhalf3 __ovld __cnfn convert_half3_rte(uint3);
6087303233Sdimhalf3 __ovld __cnfn convert_half3_rte(long3);
6088303233Sdimhalf3 __ovld __cnfn convert_half3_rte(ulong3);
6089303233Sdimhalf3 __ovld __cnfn convert_half3_rte(float3);
6090303233Sdimhalf3 __ovld __cnfn convert_half3_rte(half3);
6091303233Sdimhalf3 __ovld __cnfn convert_half3_rtp(char3);
6092303233Sdimhalf3 __ovld __cnfn convert_half3_rtp(uchar3);
6093303233Sdimhalf3 __ovld __cnfn convert_half3_rtp(short3);
6094303233Sdimhalf3 __ovld __cnfn convert_half3_rtp(ushort3);
6095303233Sdimhalf3 __ovld __cnfn convert_half3_rtp(int3);
6096303233Sdimhalf3 __ovld __cnfn convert_half3_rtp(uint3);
6097303233Sdimhalf3 __ovld __cnfn convert_half3_rtp(long3);
6098303233Sdimhalf3 __ovld __cnfn convert_half3_rtp(ulong3);
6099303233Sdimhalf3 __ovld __cnfn convert_half3_rtp(float3);
6100303233Sdimhalf3 __ovld __cnfn convert_half3_rtp(half3);
6101303233Sdimhalf3 __ovld __cnfn convert_half3_rtn(char3);
6102303233Sdimhalf3 __ovld __cnfn convert_half3_rtn(uchar3);
6103303233Sdimhalf3 __ovld __cnfn convert_half3_rtn(short3);
6104303233Sdimhalf3 __ovld __cnfn convert_half3_rtn(ushort3);
6105303233Sdimhalf3 __ovld __cnfn convert_half3_rtn(int3);
6106303233Sdimhalf3 __ovld __cnfn convert_half3_rtn(uint3);
6107303233Sdimhalf3 __ovld __cnfn convert_half3_rtn(long3);
6108303233Sdimhalf3 __ovld __cnfn convert_half3_rtn(ulong3);
6109303233Sdimhalf3 __ovld __cnfn convert_half3_rtn(float3);
6110303233Sdimhalf3 __ovld __cnfn convert_half3_rtn(half3);
6111303233Sdimhalf3 __ovld __cnfn convert_half3_rtz(char3);
6112303233Sdimhalf3 __ovld __cnfn convert_half3_rtz(uchar3);
6113303233Sdimhalf3 __ovld __cnfn convert_half3_rtz(short3);
6114303233Sdimhalf3 __ovld __cnfn convert_half3_rtz(ushort3);
6115303233Sdimhalf3 __ovld __cnfn convert_half3_rtz(int3);
6116303233Sdimhalf3 __ovld __cnfn convert_half3_rtz(uint3);
6117303233Sdimhalf3 __ovld __cnfn convert_half3_rtz(long3);
6118303233Sdimhalf3 __ovld __cnfn convert_half3_rtz(ulong3);
6119303233Sdimhalf3 __ovld __cnfn convert_half3_rtz(float3);
6120303233Sdimhalf3 __ovld __cnfn convert_half3_rtz(half3);
6121303233Sdimhalf4 __ovld __cnfn convert_half4(char4);
6122303233Sdimhalf4 __ovld __cnfn convert_half4(uchar4);
6123303233Sdimhalf4 __ovld __cnfn convert_half4(short4);
6124303233Sdimhalf4 __ovld __cnfn convert_half4(ushort4);
6125303233Sdimhalf4 __ovld __cnfn convert_half4(int4);
6126303233Sdimhalf4 __ovld __cnfn convert_half4(uint4);
6127303233Sdimhalf4 __ovld __cnfn convert_half4(long4);
6128303233Sdimhalf4 __ovld __cnfn convert_half4(ulong4);
6129303233Sdimhalf4 __ovld __cnfn convert_half4(float4);
6130303233Sdimhalf4 __ovld __cnfn convert_half4(half4);
6131303233Sdimhalf4 __ovld __cnfn convert_half4_rte(char4);
6132303233Sdimhalf4 __ovld __cnfn convert_half4_rte(uchar4);
6133303233Sdimhalf4 __ovld __cnfn convert_half4_rte(short4);
6134303233Sdimhalf4 __ovld __cnfn convert_half4_rte(ushort4);
6135303233Sdimhalf4 __ovld __cnfn convert_half4_rte(int4);
6136303233Sdimhalf4 __ovld __cnfn convert_half4_rte(uint4);
6137303233Sdimhalf4 __ovld __cnfn convert_half4_rte(long4);
6138303233Sdimhalf4 __ovld __cnfn convert_half4_rte(ulong4);
6139303233Sdimhalf4 __ovld __cnfn convert_half4_rte(float4);
6140303233Sdimhalf4 __ovld __cnfn convert_half4_rte(half4);
6141303233Sdimhalf4 __ovld __cnfn convert_half4_rtp(char4);
6142303233Sdimhalf4 __ovld __cnfn convert_half4_rtp(uchar4);
6143303233Sdimhalf4 __ovld __cnfn convert_half4_rtp(short4);
6144303233Sdimhalf4 __ovld __cnfn convert_half4_rtp(ushort4);
6145303233Sdimhalf4 __ovld __cnfn convert_half4_rtp(int4);
6146303233Sdimhalf4 __ovld __cnfn convert_half4_rtp(uint4);
6147303233Sdimhalf4 __ovld __cnfn convert_half4_rtp(long4);
6148303233Sdimhalf4 __ovld __cnfn convert_half4_rtp(ulong4);
6149303233Sdimhalf4 __ovld __cnfn convert_half4_rtp(float4);
6150303233Sdimhalf4 __ovld __cnfn convert_half4_rtp(half4);
6151303233Sdimhalf4 __ovld __cnfn convert_half4_rtn(char4);
6152303233Sdimhalf4 __ovld __cnfn convert_half4_rtn(uchar4);
6153303233Sdimhalf4 __ovld __cnfn convert_half4_rtn(short4);
6154303233Sdimhalf4 __ovld __cnfn convert_half4_rtn(ushort4);
6155303233Sdimhalf4 __ovld __cnfn convert_half4_rtn(int4);
6156303233Sdimhalf4 __ovld __cnfn convert_half4_rtn(uint4);
6157303233Sdimhalf4 __ovld __cnfn convert_half4_rtn(long4);
6158303233Sdimhalf4 __ovld __cnfn convert_half4_rtn(ulong4);
6159303233Sdimhalf4 __ovld __cnfn convert_half4_rtn(float4);
6160303233Sdimhalf4 __ovld __cnfn convert_half4_rtn(half4);
6161303233Sdimhalf4 __ovld __cnfn convert_half4_rtz(char4);
6162303233Sdimhalf4 __ovld __cnfn convert_half4_rtz(uchar4);
6163303233Sdimhalf4 __ovld __cnfn convert_half4_rtz(short4);
6164303233Sdimhalf4 __ovld __cnfn convert_half4_rtz(ushort4);
6165303233Sdimhalf4 __ovld __cnfn convert_half4_rtz(int4);
6166303233Sdimhalf4 __ovld __cnfn convert_half4_rtz(uint4);
6167303233Sdimhalf4 __ovld __cnfn convert_half4_rtz(long4);
6168303233Sdimhalf4 __ovld __cnfn convert_half4_rtz(ulong4);
6169303233Sdimhalf4 __ovld __cnfn convert_half4_rtz(float4);
6170303233Sdimhalf4 __ovld __cnfn convert_half4_rtz(half4);
6171303233Sdimhalf8 __ovld __cnfn convert_half8(char8);
6172303233Sdimhalf8 __ovld __cnfn convert_half8(uchar8);
6173303233Sdimhalf8 __ovld __cnfn convert_half8(short8);
6174303233Sdimhalf8 __ovld __cnfn convert_half8(ushort8);
6175303233Sdimhalf8 __ovld __cnfn convert_half8(int8);
6176303233Sdimhalf8 __ovld __cnfn convert_half8(uint8);
6177303233Sdimhalf8 __ovld __cnfn convert_half8(long8);
6178303233Sdimhalf8 __ovld __cnfn convert_half8(ulong8);
6179303233Sdimhalf8 __ovld __cnfn convert_half8(float8);
6180303233Sdimhalf8 __ovld __cnfn convert_half8(half8);
6181303233Sdimhalf8 __ovld __cnfn convert_half8_rte(char8);
6182303233Sdimhalf8 __ovld __cnfn convert_half8_rte(uchar8);
6183303233Sdimhalf8 __ovld __cnfn convert_half8_rte(short8);
6184303233Sdimhalf8 __ovld __cnfn convert_half8_rte(ushort8);
6185303233Sdimhalf8 __ovld __cnfn convert_half8_rte(int8);
6186303233Sdimhalf8 __ovld __cnfn convert_half8_rte(uint8);
6187303233Sdimhalf8 __ovld __cnfn convert_half8_rte(long8);
6188303233Sdimhalf8 __ovld __cnfn convert_half8_rte(ulong8);
6189303233Sdimhalf8 __ovld __cnfn convert_half8_rte(float8);
6190303233Sdimhalf8 __ovld __cnfn convert_half8_rte(half8);
6191303233Sdimhalf8 __ovld __cnfn convert_half8_rtp(char8);
6192303233Sdimhalf8 __ovld __cnfn convert_half8_rtp(uchar8);
6193303233Sdimhalf8 __ovld __cnfn convert_half8_rtp(short8);
6194303233Sdimhalf8 __ovld __cnfn convert_half8_rtp(ushort8);
6195303233Sdimhalf8 __ovld __cnfn convert_half8_rtp(int8);
6196303233Sdimhalf8 __ovld __cnfn convert_half8_rtp(uint8);
6197303233Sdimhalf8 __ovld __cnfn convert_half8_rtp(long8);
6198303233Sdimhalf8 __ovld __cnfn convert_half8_rtp(ulong8);
6199303233Sdimhalf8 __ovld __cnfn convert_half8_rtp(float8);
6200303233Sdimhalf8 __ovld __cnfn convert_half8_rtp(half8);
6201303233Sdimhalf8 __ovld __cnfn convert_half8_rtn(char8);
6202303233Sdimhalf8 __ovld __cnfn convert_half8_rtn(uchar8);
6203303233Sdimhalf8 __ovld __cnfn convert_half8_rtn(short8);
6204303233Sdimhalf8 __ovld __cnfn convert_half8_rtn(ushort8);
6205303233Sdimhalf8 __ovld __cnfn convert_half8_rtn(int8);
6206303233Sdimhalf8 __ovld __cnfn convert_half8_rtn(uint8);
6207303233Sdimhalf8 __ovld __cnfn convert_half8_rtn(long8);
6208303233Sdimhalf8 __ovld __cnfn convert_half8_rtn(ulong8);
6209303233Sdimhalf8 __ovld __cnfn convert_half8_rtn(float8);
6210303233Sdimhalf8 __ovld __cnfn convert_half8_rtn(half8);
6211303233Sdimhalf8 __ovld __cnfn convert_half8_rtz(char8);
6212303233Sdimhalf8 __ovld __cnfn convert_half8_rtz(uchar8);
6213303233Sdimhalf8 __ovld __cnfn convert_half8_rtz(short8);
6214303233Sdimhalf8 __ovld __cnfn convert_half8_rtz(ushort8);
6215303233Sdimhalf8 __ovld __cnfn convert_half8_rtz(int8);
6216303233Sdimhalf8 __ovld __cnfn convert_half8_rtz(uint8);
6217303233Sdimhalf8 __ovld __cnfn convert_half8_rtz(long8);
6218303233Sdimhalf8 __ovld __cnfn convert_half8_rtz(ulong8);
6219303233Sdimhalf8 __ovld __cnfn convert_half8_rtz(float8);
6220303233Sdimhalf8 __ovld __cnfn convert_half8_rtz(half8);
6221303233Sdimhalf16 __ovld __cnfn convert_half16(char16);
6222303233Sdimhalf16 __ovld __cnfn convert_half16(uchar16);
6223303233Sdimhalf16 __ovld __cnfn convert_half16(short16);
6224303233Sdimhalf16 __ovld __cnfn convert_half16(ushort16);
6225303233Sdimhalf16 __ovld __cnfn convert_half16(int16);
6226303233Sdimhalf16 __ovld __cnfn convert_half16(uint16);
6227303233Sdimhalf16 __ovld __cnfn convert_half16(long16);
6228303233Sdimhalf16 __ovld __cnfn convert_half16(ulong16);
6229303233Sdimhalf16 __ovld __cnfn convert_half16(float16);
6230303233Sdimhalf16 __ovld __cnfn convert_half16(half16);
6231303233Sdimhalf16 __ovld __cnfn convert_half16_rte(char16);
6232303233Sdimhalf16 __ovld __cnfn convert_half16_rte(uchar16);
6233303233Sdimhalf16 __ovld __cnfn convert_half16_rte(short16);
6234303233Sdimhalf16 __ovld __cnfn convert_half16_rte(ushort16);
6235303233Sdimhalf16 __ovld __cnfn convert_half16_rte(int16);
6236303233Sdimhalf16 __ovld __cnfn convert_half16_rte(uint16);
6237303233Sdimhalf16 __ovld __cnfn convert_half16_rte(long16);
6238303233Sdimhalf16 __ovld __cnfn convert_half16_rte(ulong16);
6239303233Sdimhalf16 __ovld __cnfn convert_half16_rte(float16);
6240303233Sdimhalf16 __ovld __cnfn convert_half16_rte(half16);
6241303233Sdimhalf16 __ovld __cnfn convert_half16_rtp(char16);
6242303233Sdimhalf16 __ovld __cnfn convert_half16_rtp(uchar16);
6243303233Sdimhalf16 __ovld __cnfn convert_half16_rtp(short16);
6244303233Sdimhalf16 __ovld __cnfn convert_half16_rtp(ushort16);
6245303233Sdimhalf16 __ovld __cnfn convert_half16_rtp(int16);
6246303233Sdimhalf16 __ovld __cnfn convert_half16_rtp(uint16);
6247303233Sdimhalf16 __ovld __cnfn convert_half16_rtp(long16);
6248303233Sdimhalf16 __ovld __cnfn convert_half16_rtp(ulong16);
6249303233Sdimhalf16 __ovld __cnfn convert_half16_rtp(float16);
6250303233Sdimhalf16 __ovld __cnfn convert_half16_rtp(half16);
6251303233Sdimhalf16 __ovld __cnfn convert_half16_rtn(char16);
6252303233Sdimhalf16 __ovld __cnfn convert_half16_rtn(uchar16);
6253303233Sdimhalf16 __ovld __cnfn convert_half16_rtn(short16);
6254303233Sdimhalf16 __ovld __cnfn convert_half16_rtn(ushort16);
6255303233Sdimhalf16 __ovld __cnfn convert_half16_rtn(int16);
6256303233Sdimhalf16 __ovld __cnfn convert_half16_rtn(uint16);
6257303233Sdimhalf16 __ovld __cnfn convert_half16_rtn(long16);
6258303233Sdimhalf16 __ovld __cnfn convert_half16_rtn(ulong16);
6259303233Sdimhalf16 __ovld __cnfn convert_half16_rtn(float16);
6260303233Sdimhalf16 __ovld __cnfn convert_half16_rtn(half16);
6261303233Sdimhalf16 __ovld __cnfn convert_half16_rtz(char16);
6262303233Sdimhalf16 __ovld __cnfn convert_half16_rtz(uchar16);
6263303233Sdimhalf16 __ovld __cnfn convert_half16_rtz(short16);
6264303233Sdimhalf16 __ovld __cnfn convert_half16_rtz(ushort16);
6265303233Sdimhalf16 __ovld __cnfn convert_half16_rtz(int16);
6266303233Sdimhalf16 __ovld __cnfn convert_half16_rtz(uint16);
6267303233Sdimhalf16 __ovld __cnfn convert_half16_rtz(long16);
6268303233Sdimhalf16 __ovld __cnfn convert_half16_rtz(ulong16);
6269303233Sdimhalf16 __ovld __cnfn convert_half16_rtz(float16);
6270303233Sdimhalf16 __ovld __cnfn convert_half16_rtz(half16);
6271303233Sdim
6272303233Sdim// Convert half types to double types.
6273303233Sdim#ifdef cl_khr_fp64
6274303233Sdimdouble __ovld __cnfn convert_double(half);
6275303233Sdimdouble __ovld __cnfn convert_double_rte(half);
6276303233Sdimdouble __ovld __cnfn convert_double_rtp(half);
6277303233Sdimdouble __ovld __cnfn convert_double_rtn(half);
6278303233Sdimdouble __ovld __cnfn convert_double_rtz(half);
6279303233Sdimdouble2 __ovld __cnfn convert_double2(half2);
6280303233Sdimdouble2 __ovld __cnfn convert_double2_rte(half2);
6281303233Sdimdouble2 __ovld __cnfn convert_double2_rtp(half2);
6282303233Sdimdouble2 __ovld __cnfn convert_double2_rtn(half2);
6283303233Sdimdouble2 __ovld __cnfn convert_double2_rtz(half2);
6284303233Sdimdouble3 __ovld __cnfn convert_double3(half3);
6285303233Sdimdouble3 __ovld __cnfn convert_double3_rte(half3);
6286303233Sdimdouble3 __ovld __cnfn convert_double3_rtp(half3);
6287303233Sdimdouble3 __ovld __cnfn convert_double3_rtn(half3);
6288303233Sdimdouble3 __ovld __cnfn convert_double3_rtz(half3);
6289303233Sdimdouble4 __ovld __cnfn convert_double4(half4);
6290303233Sdimdouble4 __ovld __cnfn convert_double4_rte(half4);
6291303233Sdimdouble4 __ovld __cnfn convert_double4_rtp(half4);
6292303233Sdimdouble4 __ovld __cnfn convert_double4_rtn(half4);
6293303233Sdimdouble4 __ovld __cnfn convert_double4_rtz(half4);
6294303233Sdimdouble8 __ovld __cnfn convert_double8(half8);
6295303233Sdimdouble8 __ovld __cnfn convert_double8_rte(half8);
6296303233Sdimdouble8 __ovld __cnfn convert_double8_rtp(half8);
6297303233Sdimdouble8 __ovld __cnfn convert_double8_rtn(half8);
6298303233Sdimdouble8 __ovld __cnfn convert_double8_rtz(half8);
6299303233Sdimdouble16 __ovld __cnfn convert_double16(half16);
6300303233Sdimdouble16 __ovld __cnfn convert_double16_rte(half16);
6301303233Sdimdouble16 __ovld __cnfn convert_double16_rtp(half16);
6302303233Sdimdouble16 __ovld __cnfn convert_double16_rtn(half16);
6303303233Sdimdouble16 __ovld __cnfn convert_double16_rtz(half16);
6304303233Sdim
6305303233Sdim// Convert double types to half types.
6306303233Sdimhalf __ovld __cnfn convert_half(double);
6307303233Sdimhalf __ovld __cnfn convert_half_rte(double);
6308303233Sdimhalf __ovld __cnfn convert_half_rtp(double);
6309303233Sdimhalf __ovld __cnfn convert_half_rtn(double);
6310303233Sdimhalf __ovld __cnfn convert_half_rtz(double);
6311303233Sdimhalf2 __ovld __cnfn convert_half2(double2);
6312303233Sdimhalf2 __ovld __cnfn convert_half2_rte(double2);
6313303233Sdimhalf2 __ovld __cnfn convert_half2_rtp(double2);
6314303233Sdimhalf2 __ovld __cnfn convert_half2_rtn(double2);
6315303233Sdimhalf2 __ovld __cnfn convert_half2_rtz(double2);
6316303233Sdimhalf3 __ovld __cnfn convert_half3(double3);
6317303233Sdimhalf3 __ovld __cnfn convert_half3_rte(double3);
6318303233Sdimhalf3 __ovld __cnfn convert_half3_rtp(double3);
6319303233Sdimhalf3 __ovld __cnfn convert_half3_rtn(double3);
6320303233Sdimhalf3 __ovld __cnfn convert_half3_rtz(double3);
6321303233Sdimhalf4 __ovld __cnfn convert_half4(double4);
6322303233Sdimhalf4 __ovld __cnfn convert_half4_rte(double4);
6323303233Sdimhalf4 __ovld __cnfn convert_half4_rtp(double4);
6324303233Sdimhalf4 __ovld __cnfn convert_half4_rtn(double4);
6325303233Sdimhalf4 __ovld __cnfn convert_half4_rtz(double4);
6326303233Sdimhalf8 __ovld __cnfn convert_half8(double8);
6327303233Sdimhalf8 __ovld __cnfn convert_half8_rte(double8);
6328303233Sdimhalf8 __ovld __cnfn convert_half8_rtp(double8);
6329303233Sdimhalf8 __ovld __cnfn convert_half8_rtn(double8);
6330303233Sdimhalf8 __ovld __cnfn convert_half8_rtz(double8);
6331303233Sdimhalf16 __ovld __cnfn convert_half16(double16);
6332303233Sdimhalf16 __ovld __cnfn convert_half16_rte(double16);
6333303233Sdimhalf16 __ovld __cnfn convert_half16_rtp(double16);
6334303233Sdimhalf16 __ovld __cnfn convert_half16_rtn(double16);
6335303233Sdimhalf16 __ovld __cnfn convert_half16_rtz(double16);
6336303233Sdim#endif //cl_khr_fp64
6337303233Sdim
6338303233Sdim#endif // cl_khr_fp16
6339303233Sdim
6340303233Sdim/**
6341303233Sdim * OpenCL v1.1/1.2/2.0 s6.2.4.2 - as_type operators
6342303233Sdim * Reinterprets a data type as another data type of the same size
6343303233Sdim */
6344321369Sdim#define as_char(x) __builtin_astype((x),   char)
6345321369Sdim#define as_char2(x) __builtin_astype((x),  char2)
6346321369Sdim#define as_char3(x) __builtin_astype((x),  char3)
6347321369Sdim#define as_char4(x) __builtin_astype((x),  char4)
6348321369Sdim#define as_char8(x) __builtin_astype((x),  char8)
6349321369Sdim#define as_char16(x) __builtin_astype((x), char16)
6350303233Sdim
6351321369Sdim#define as_uchar(x) __builtin_astype((x),   uchar)
6352321369Sdim#define as_uchar2(x) __builtin_astype((x),  uchar2)
6353321369Sdim#define as_uchar3(x) __builtin_astype((x),  uchar3)
6354321369Sdim#define as_uchar4(x) __builtin_astype((x),  uchar4)
6355321369Sdim#define as_uchar8(x) __builtin_astype((x),  uchar8)
6356321369Sdim#define as_uchar16(x) __builtin_astype((x), uchar16)
6357303233Sdim
6358321369Sdim#define as_short(x) __builtin_astype((x),   short)
6359321369Sdim#define as_short2(x) __builtin_astype((x),  short2)
6360321369Sdim#define as_short3(x) __builtin_astype((x),  short3)
6361321369Sdim#define as_short4(x) __builtin_astype((x),  short4)
6362321369Sdim#define as_short8(x) __builtin_astype((x),  short8)
6363321369Sdim#define as_short16(x) __builtin_astype((x), short16)
6364303233Sdim
6365321369Sdim#define as_ushort(x) __builtin_astype((x),   ushort)
6366321369Sdim#define as_ushort2(x) __builtin_astype((x),  ushort2)
6367321369Sdim#define as_ushort3(x) __builtin_astype((x),  ushort3)
6368321369Sdim#define as_ushort4(x) __builtin_astype((x),  ushort4)
6369321369Sdim#define as_ushort8(x) __builtin_astype((x),  ushort8)
6370321369Sdim#define as_ushort16(x) __builtin_astype((x), ushort16)
6371303233Sdim
6372321369Sdim#define as_int(x) __builtin_astype((x),   int)
6373321369Sdim#define as_int2(x) __builtin_astype((x),  int2)
6374321369Sdim#define as_int3(x) __builtin_astype((x),  int3)
6375321369Sdim#define as_int4(x) __builtin_astype((x),  int4)
6376321369Sdim#define as_int8(x) __builtin_astype((x),  int8)
6377321369Sdim#define as_int16(x) __builtin_astype((x), int16)
6378303233Sdim
6379321369Sdim#define as_uint(x) __builtin_astype((x),   uint)
6380321369Sdim#define as_uint2(x) __builtin_astype((x),  uint2)
6381321369Sdim#define as_uint3(x) __builtin_astype((x),  uint3)
6382321369Sdim#define as_uint4(x) __builtin_astype((x),  uint4)
6383321369Sdim#define as_uint8(x) __builtin_astype((x),  uint8)
6384321369Sdim#define as_uint16(x) __builtin_astype((x), uint16)
6385303233Sdim
6386321369Sdim#define as_long(x) __builtin_astype((x),   long)
6387321369Sdim#define as_long2(x) __builtin_astype((x),  long2)
6388321369Sdim#define as_long3(x) __builtin_astype((x),  long3)
6389321369Sdim#define as_long4(x) __builtin_astype((x),  long4)
6390321369Sdim#define as_long8(x) __builtin_astype((x),  long8)
6391321369Sdim#define as_long16(x) __builtin_astype((x), long16)
6392303233Sdim
6393321369Sdim#define as_ulong(x) __builtin_astype((x),   ulong)
6394321369Sdim#define as_ulong2(x) __builtin_astype((x),  ulong2)
6395321369Sdim#define as_ulong3(x) __builtin_astype((x),  ulong3)
6396321369Sdim#define as_ulong4(x) __builtin_astype((x),  ulong4)
6397321369Sdim#define as_ulong8(x) __builtin_astype((x),  ulong8)
6398321369Sdim#define as_ulong16(x) __builtin_astype((x), ulong16)
6399303233Sdim
6400321369Sdim#define as_float(x) __builtin_astype((x),   float)
6401321369Sdim#define as_float2(x) __builtin_astype((x),  float2)
6402321369Sdim#define as_float3(x) __builtin_astype((x),  float3)
6403321369Sdim#define as_float4(x) __builtin_astype((x),  float4)
6404321369Sdim#define as_float8(x) __builtin_astype((x),  float8)
6405321369Sdim#define as_float16(x) __builtin_astype((x), float16)
6406303233Sdim
6407303233Sdim#ifdef cl_khr_fp64
6408321369Sdim#define as_double(x) __builtin_astype((x),   double)
6409321369Sdim#define as_double2(x) __builtin_astype((x),  double2)
6410321369Sdim#define as_double3(x) __builtin_astype((x),  double3)
6411321369Sdim#define as_double4(x) __builtin_astype((x),  double4)
6412321369Sdim#define as_double8(x) __builtin_astype((x),  double8)
6413321369Sdim#define as_double16(x) __builtin_astype((x), double16)
6414303233Sdim#endif //cl_khr_fp64
6415303233Sdim
6416303233Sdim#ifdef cl_khr_fp16
6417321369Sdim#define as_half(x) __builtin_astype((x),   half)
6418321369Sdim#define as_half2(x) __builtin_astype((x),  half2)
6419321369Sdim#define as_half3(x) __builtin_astype((x),  half3)
6420321369Sdim#define as_half4(x) __builtin_astype((x),  half4)
6421321369Sdim#define as_half8(x) __builtin_astype((x),  half8)
6422321369Sdim#define as_half16(x) __builtin_astype((x), half16)
6423303233Sdim#endif //cl_khr_fp16
6424303233Sdim
6425303233Sdim// OpenCL v1.1 s6.9, v1.2/2.0 s6.10 - Function qualifiers
6426303233Sdim
6427303233Sdim#define __kernel_exec(X, typen) __kernel \
6428303233Sdim	__attribute__((work_group_size_hint(X, 1, 1))) \
6429303233Sdim	__attribute__((vec_type_hint(typen)))
6430303233Sdim
6431303233Sdim#define kernel_exec(X, typen) __kernel \
6432303233Sdim	__attribute__((work_group_size_hint(X, 1, 1))) \
6433303233Sdim	__attribute__((vec_type_hint(typen)))
6434303233Sdim
6435303233Sdim// OpenCL v1.1 s6.11.1, v1.2 s6.12.1, v2.0 s6.13.1 - Work-item Functions
6436303233Sdim
6437303233Sdim/**
6438303233Sdim * Returns the number of dimensions in use. This is the
6439303233Sdim * value given to the work_dim argument specified in
6440303233Sdim * clEnqueueNDRangeKernel.
6441303233Sdim * For clEnqueueTask, this returns 1.
6442303233Sdim */
6443303233Sdimuint __ovld __cnfn get_work_dim(void);
6444303233Sdim
6445303233Sdim/**
6446303233Sdim * Returns the number of global work-items specified for
6447303233Sdim * dimension identified by dimindx. This value is given by
6448303233Sdim * the global_work_size argument to
6449303233Sdim * clEnqueueNDRangeKernel. Valid values of dimindx
6450303233Sdim * are 0 to get_work_dim() - 1. For other values of
6451303233Sdim * dimindx, get_global_size() returns 1.
6452303233Sdim * For clEnqueueTask, this always returns 1.
6453303233Sdim */
6454303233Sdimsize_t __ovld __cnfn get_global_size(uint dimindx);
6455303233Sdim
6456303233Sdim/**
6457303233Sdim * Returns the unique global work-item ID value for
6458303233Sdim * dimension identified by dimindx. The global work-item
6459303233Sdim * ID specifies the work-item ID based on the number of
6460303233Sdim * global work-items specified to execute the kernel. Valid
6461303233Sdim * values of dimindx are 0 to get_work_dim() - 1. For
6462303233Sdim * other values of dimindx, get_global_id() returns 0.
6463303233Sdim * For clEnqueueTask, this returns 0.
6464303233Sdim */
6465303233Sdimsize_t __ovld __cnfn get_global_id(uint dimindx);
6466303233Sdim
6467303233Sdim/**
6468303233Sdim * Returns the number of local work-items specified in
6469303233Sdim * dimension identified by dimindx. This value is given by
6470303233Sdim * the local_work_size argument to
6471303233Sdim * clEnqueueNDRangeKernel if local_work_size is not
6472303233Sdim * NULL; otherwise the OpenCL implementation chooses
6473303233Sdim * an appropriate local_work_size value which is returned
6474303233Sdim * by this function. Valid values of dimindx are 0 to
6475303233Sdim * get_work_dim() - 1. For other values of dimindx,
6476303233Sdim * get_local_size() returns 1.
6477303233Sdim * For clEnqueueTask, this always returns 1.
6478303233Sdim */
6479303233Sdimsize_t __ovld __cnfn get_local_size(uint dimindx);
6480303233Sdim
6481303233Sdim/**
6482303233Sdim * Returns the unique local work-item ID i.e. a work-item
6483303233Sdim * within a specific work-group for dimension identified by
6484303233Sdim * dimindx. Valid values of dimindx are 0 to
6485303233Sdim * get_work_dim() - 1. For other values of dimindx,
6486303233Sdim * get_local_id() returns 0.
6487303233Sdim * For clEnqueueTask, this returns 0.
6488303233Sdim */
6489303233Sdimsize_t __ovld __cnfn get_local_id(uint dimindx);
6490303233Sdim
6491303233Sdim/**
6492303233Sdim * Returns the number of work-groups that will execute a
6493303233Sdim * kernel for dimension identified by dimindx.
6494303233Sdim * Valid values of dimindx are 0 to get_work_dim() - 1.
6495303233Sdim * For other values of dimindx, get_num_groups () returns
6496303233Sdim * 1.
6497303233Sdim * For clEnqueueTask, this always returns 1.
6498303233Sdim */
6499303233Sdimsize_t __ovld __cnfn get_num_groups(uint dimindx);
6500303233Sdim
6501303233Sdim/**
6502303233Sdim * get_group_id returns the work-group ID which is a
6503303233Sdim * number from 0 .. get_num_groups(dimindx) - 1.
6504303233Sdim * Valid values of dimindx are 0 to get_work_dim() - 1.
6505303233Sdim * For other values, get_group_id() returns 0.
6506303233Sdim * For clEnqueueTask, this returns 0.
6507303233Sdim */
6508303233Sdimsize_t __ovld __cnfn get_group_id(uint dimindx);
6509303233Sdim
6510303233Sdim/**
6511303233Sdim * get_global_offset returns the offset values specified in
6512303233Sdim * global_work_offset argument to
6513303233Sdim * clEnqueueNDRangeKernel.
6514303233Sdim * Valid values of dimindx are 0 to get_work_dim() - 1.
6515303233Sdim * For other values, get_global_offset() returns 0.
6516303233Sdim * For clEnqueueTask, this returns 0.
6517303233Sdim */
6518303233Sdimsize_t __ovld __cnfn get_global_offset(uint dimindx);
6519303233Sdim
6520353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
6521303233Sdimsize_t __ovld get_enqueued_local_size(uint dimindx);
6522303233Sdimsize_t __ovld get_global_linear_id(void);
6523303233Sdimsize_t __ovld get_local_linear_id(void);
6524353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
6525303233Sdim
6526303233Sdim// OpenCL v1.1 s6.11.2, v1.2 s6.12.2, v2.0 s6.13.2 - Math functions
6527303233Sdim
6528303233Sdim/**
6529303233Sdim * Arc cosine function.
6530303233Sdim */
6531303233Sdimfloat __ovld __cnfn acos(float);
6532303233Sdimfloat2 __ovld __cnfn acos(float2);
6533303233Sdimfloat3 __ovld __cnfn acos(float3);
6534303233Sdimfloat4 __ovld __cnfn acos(float4);
6535303233Sdimfloat8 __ovld __cnfn acos(float8);
6536303233Sdimfloat16 __ovld __cnfn acos(float16);
6537303233Sdim#ifdef cl_khr_fp64
6538303233Sdimdouble __ovld __cnfn acos(double);
6539303233Sdimdouble2 __ovld __cnfn acos(double2);
6540303233Sdimdouble3 __ovld __cnfn acos(double3);
6541303233Sdimdouble4 __ovld __cnfn acos(double4);
6542303233Sdimdouble8 __ovld __cnfn acos(double8);
6543303233Sdimdouble16 __ovld __cnfn acos(double16);
6544303233Sdim#endif //cl_khr_fp64
6545303233Sdim#ifdef cl_khr_fp16
6546303233Sdimhalf __ovld __cnfn acos(half);
6547303233Sdimhalf2 __ovld __cnfn acos(half2);
6548303233Sdimhalf3 __ovld __cnfn acos(half3);
6549303233Sdimhalf4 __ovld __cnfn acos(half4);
6550303233Sdimhalf8 __ovld __cnfn acos(half8);
6551303233Sdimhalf16 __ovld __cnfn acos(half16);
6552303233Sdim#endif //cl_khr_fp16
6553303233Sdim
6554303233Sdim/**
6555303233Sdim * Inverse hyperbolic cosine.
6556303233Sdim */
6557303233Sdimfloat __ovld __cnfn acosh(float);
6558303233Sdimfloat2 __ovld __cnfn acosh(float2);
6559303233Sdimfloat3 __ovld __cnfn acosh(float3);
6560303233Sdimfloat4 __ovld __cnfn acosh(float4);
6561303233Sdimfloat8 __ovld __cnfn acosh(float8);
6562303233Sdimfloat16 __ovld __cnfn acosh(float16);
6563303233Sdim#ifdef cl_khr_fp64
6564303233Sdimdouble __ovld __cnfn acosh(double);
6565303233Sdimdouble2 __ovld __cnfn acosh(double2);
6566303233Sdimdouble3 __ovld __cnfn acosh(double3);
6567303233Sdimdouble4 __ovld __cnfn acosh(double4);
6568303233Sdimdouble8 __ovld __cnfn acosh(double8);
6569303233Sdimdouble16 __ovld __cnfn acosh(double16);
6570303233Sdim#endif //cl_khr_fp64
6571303233Sdim#ifdef cl_khr_fp16
6572303233Sdimhalf __ovld __cnfn acosh(half);
6573303233Sdimhalf2 __ovld __cnfn acosh(half2);
6574303233Sdimhalf3 __ovld __cnfn acosh(half3);
6575303233Sdimhalf4 __ovld __cnfn acosh(half4);
6576303233Sdimhalf8 __ovld __cnfn acosh(half8);
6577303233Sdimhalf16 __ovld __cnfn acosh(half16);
6578303233Sdim#endif //cl_khr_fp16
6579303233Sdim
6580303233Sdim/**
6581303233Sdim * Compute acos (x) / PI.
6582303233Sdim */
6583303233Sdimfloat __ovld __cnfn acospi(float x);
6584303233Sdimfloat2 __ovld __cnfn acospi(float2 x);
6585303233Sdimfloat3 __ovld __cnfn acospi(float3 x);
6586303233Sdimfloat4 __ovld __cnfn acospi(float4 x);
6587303233Sdimfloat8 __ovld __cnfn acospi(float8 x);
6588303233Sdimfloat16 __ovld __cnfn acospi(float16 x);
6589303233Sdim#ifdef cl_khr_fp64
6590303233Sdimdouble __ovld __cnfn acospi(double x);
6591303233Sdimdouble2 __ovld __cnfn acospi(double2 x);
6592303233Sdimdouble3 __ovld __cnfn acospi(double3 x);
6593303233Sdimdouble4 __ovld __cnfn acospi(double4 x);
6594303233Sdimdouble8 __ovld __cnfn acospi(double8 x);
6595303233Sdimdouble16 __ovld __cnfn acospi(double16 x);
6596303233Sdim#endif //cl_khr_fp64
6597303233Sdim#ifdef cl_khr_fp16
6598303233Sdimhalf __ovld __cnfn acospi(half x);
6599303233Sdimhalf2 __ovld __cnfn acospi(half2 x);
6600303233Sdimhalf3 __ovld __cnfn acospi(half3 x);
6601303233Sdimhalf4 __ovld __cnfn acospi(half4 x);
6602303233Sdimhalf8 __ovld __cnfn acospi(half8 x);
6603303233Sdimhalf16 __ovld __cnfn acospi(half16 x);
6604303233Sdim#endif //cl_khr_fp16
6605303233Sdim
6606303233Sdim/**
6607303233Sdim * Arc sine function.
6608303233Sdim */
6609303233Sdimfloat __ovld __cnfn asin(float);
6610303233Sdimfloat2 __ovld __cnfn asin(float2);
6611303233Sdimfloat3 __ovld __cnfn asin(float3);
6612303233Sdimfloat4 __ovld __cnfn asin(float4);
6613303233Sdimfloat8 __ovld __cnfn asin(float8);
6614303233Sdimfloat16 __ovld __cnfn asin(float16);
6615303233Sdim#ifdef cl_khr_fp64
6616303233Sdimdouble __ovld __cnfn asin(double);
6617303233Sdimdouble2 __ovld __cnfn asin(double2);
6618303233Sdimdouble3 __ovld __cnfn asin(double3);
6619303233Sdimdouble4 __ovld __cnfn asin(double4);
6620303233Sdimdouble8 __ovld __cnfn asin(double8);
6621303233Sdimdouble16 __ovld __cnfn asin(double16);
6622303233Sdim#endif //cl_khr_fp64
6623303233Sdim#ifdef cl_khr_fp16
6624303233Sdimhalf __ovld __cnfn asin(half);
6625303233Sdimhalf2 __ovld __cnfn asin(half2);
6626303233Sdimhalf3 __ovld __cnfn asin(half3);
6627303233Sdimhalf4 __ovld __cnfn asin(half4);
6628303233Sdimhalf8 __ovld __cnfn asin(half8);
6629303233Sdimhalf16 __ovld __cnfn asin(half16);
6630303233Sdim#endif //cl_khr_fp16
6631303233Sdim
6632303233Sdim/**
6633303233Sdim * Inverse hyperbolic sine.
6634303233Sdim */
6635303233Sdimfloat __ovld __cnfn asinh(float);
6636303233Sdimfloat2 __ovld __cnfn asinh(float2);
6637303233Sdimfloat3 __ovld __cnfn asinh(float3);
6638303233Sdimfloat4 __ovld __cnfn asinh(float4);
6639303233Sdimfloat8 __ovld __cnfn asinh(float8);
6640303233Sdimfloat16 __ovld __cnfn asinh(float16);
6641303233Sdim#ifdef cl_khr_fp64
6642303233Sdimdouble __ovld __cnfn asinh(double);
6643303233Sdimdouble2 __ovld __cnfn asinh(double2);
6644303233Sdimdouble3 __ovld __cnfn asinh(double3);
6645303233Sdimdouble4 __ovld __cnfn asinh(double4);
6646303233Sdimdouble8 __ovld __cnfn asinh(double8);
6647303233Sdimdouble16 __ovld __cnfn asinh(double16);
6648303233Sdim#endif //cl_khr_fp64
6649303233Sdim#ifdef cl_khr_fp16
6650303233Sdimhalf __ovld __cnfn asinh(half);
6651303233Sdimhalf2 __ovld __cnfn asinh(half2);
6652303233Sdimhalf3 __ovld __cnfn asinh(half3);
6653303233Sdimhalf4 __ovld __cnfn asinh(half4);
6654303233Sdimhalf8 __ovld __cnfn asinh(half8);
6655303233Sdimhalf16 __ovld __cnfn asinh(half16);
6656303233Sdim#endif //cl_khr_fp16
6657303233Sdim
6658303233Sdim/**
6659303233Sdim * Compute asin (x) / PI.
6660303233Sdim */
6661303233Sdimfloat __ovld __cnfn asinpi(float x);
6662303233Sdimfloat2 __ovld __cnfn asinpi(float2 x);
6663303233Sdimfloat3 __ovld __cnfn asinpi(float3 x);
6664303233Sdimfloat4 __ovld __cnfn asinpi(float4 x);
6665303233Sdimfloat8 __ovld __cnfn asinpi(float8 x);
6666303233Sdimfloat16 __ovld __cnfn asinpi(float16 x);
6667303233Sdim#ifdef cl_khr_fp64
6668303233Sdimdouble __ovld __cnfn asinpi(double x);
6669303233Sdimdouble2 __ovld __cnfn asinpi(double2 x);
6670303233Sdimdouble3 __ovld __cnfn asinpi(double3 x);
6671303233Sdimdouble4 __ovld __cnfn asinpi(double4 x);
6672303233Sdimdouble8 __ovld __cnfn asinpi(double8 x);
6673303233Sdimdouble16 __ovld __cnfn asinpi(double16 x);
6674303233Sdim#endif //cl_khr_fp64
6675303233Sdim#ifdef cl_khr_fp16
6676303233Sdimhalf __ovld __cnfn asinpi(half x);
6677303233Sdimhalf2 __ovld __cnfn asinpi(half2 x);
6678303233Sdimhalf3 __ovld __cnfn asinpi(half3 x);
6679303233Sdimhalf4 __ovld __cnfn asinpi(half4 x);
6680303233Sdimhalf8 __ovld __cnfn asinpi(half8 x);
6681303233Sdimhalf16 __ovld __cnfn asinpi(half16 x);
6682303233Sdim#endif //cl_khr_fp16
6683303233Sdim
6684303233Sdim/**
6685303233Sdim * Arc tangent function.
6686303233Sdim */
6687303233Sdimfloat __ovld __cnfn atan(float y_over_x);
6688303233Sdimfloat2 __ovld __cnfn atan(float2 y_over_x);
6689303233Sdimfloat3 __ovld __cnfn atan(float3 y_over_x);
6690303233Sdimfloat4 __ovld __cnfn atan(float4 y_over_x);
6691303233Sdimfloat8 __ovld __cnfn atan(float8 y_over_x);
6692303233Sdimfloat16 __ovld __cnfn atan(float16 y_over_x);
6693303233Sdim#ifdef cl_khr_fp64
6694303233Sdimdouble __ovld __cnfn atan(double y_over_x);
6695303233Sdimdouble2 __ovld __cnfn atan(double2 y_over_x);
6696303233Sdimdouble3 __ovld __cnfn atan(double3 y_over_x);
6697303233Sdimdouble4 __ovld __cnfn atan(double4 y_over_x);
6698303233Sdimdouble8 __ovld __cnfn atan(double8 y_over_x);
6699303233Sdimdouble16 __ovld __cnfn atan(double16 y_over_x);
6700303233Sdim#endif //cl_khr_fp64
6701303233Sdim#ifdef cl_khr_fp16
6702303233Sdimhalf __ovld __cnfn atan(half y_over_x);
6703303233Sdimhalf2 __ovld __cnfn atan(half2 y_over_x);
6704303233Sdimhalf3 __ovld __cnfn atan(half3 y_over_x);
6705303233Sdimhalf4 __ovld __cnfn atan(half4 y_over_x);
6706303233Sdimhalf8 __ovld __cnfn atan(half8 y_over_x);
6707303233Sdimhalf16 __ovld __cnfn atan(half16 y_over_x);
6708303233Sdim#endif //cl_khr_fp16
6709303233Sdim
6710303233Sdim/**
6711303233Sdim * Arc tangent of y / x.
6712303233Sdim */
6713303233Sdimfloat __ovld __cnfn atan2(float y, float x);
6714303233Sdimfloat2 __ovld __cnfn atan2(float2 y, float2 x);
6715303233Sdimfloat3 __ovld __cnfn atan2(float3 y, float3 x);
6716303233Sdimfloat4 __ovld __cnfn atan2(float4 y, float4 x);
6717303233Sdimfloat8 __ovld __cnfn atan2(float8 y, float8 x);
6718303233Sdimfloat16 __ovld __cnfn atan2(float16 y, float16 x);
6719303233Sdim#ifdef cl_khr_fp64
6720303233Sdimdouble __ovld __cnfn atan2(double y, double x);
6721303233Sdimdouble2 __ovld __cnfn atan2(double2 y, double2 x);
6722303233Sdimdouble3 __ovld __cnfn atan2(double3 y, double3 x);
6723303233Sdimdouble4 __ovld __cnfn atan2(double4 y, double4 x);
6724303233Sdimdouble8 __ovld __cnfn atan2(double8 y, double8 x);
6725303233Sdimdouble16 __ovld __cnfn atan2(double16 y, double16 x);
6726303233Sdim#endif //cl_khr_fp64
6727303233Sdim#ifdef cl_khr_fp16
6728303233Sdimhalf __ovld __cnfn atan2(half y, half x);
6729303233Sdimhalf2 __ovld __cnfn atan2(half2 y, half2 x);
6730303233Sdimhalf3 __ovld __cnfn atan2(half3 y, half3 x);
6731303233Sdimhalf4 __ovld __cnfn atan2(half4 y, half4 x);
6732303233Sdimhalf8 __ovld __cnfn atan2(half8 y, half8 x);
6733303233Sdimhalf16 __ovld __cnfn atan2(half16 y, half16 x);
6734303233Sdim#endif //cl_khr_fp16
6735303233Sdim
6736303233Sdim/**
6737303233Sdim * Hyperbolic arc tangent.
6738303233Sdim */
6739303233Sdimfloat __ovld __cnfn atanh(float);
6740303233Sdimfloat2 __ovld __cnfn atanh(float2);
6741303233Sdimfloat3 __ovld __cnfn atanh(float3);
6742303233Sdimfloat4 __ovld __cnfn atanh(float4);
6743303233Sdimfloat8 __ovld __cnfn atanh(float8);
6744303233Sdimfloat16 __ovld __cnfn atanh(float16);
6745303233Sdim#ifdef cl_khr_fp64
6746303233Sdimdouble __ovld __cnfn atanh(double);
6747303233Sdimdouble2 __ovld __cnfn atanh(double2);
6748303233Sdimdouble3 __ovld __cnfn atanh(double3);
6749303233Sdimdouble4 __ovld __cnfn atanh(double4);
6750303233Sdimdouble8 __ovld __cnfn atanh(double8);
6751303233Sdimdouble16 __ovld __cnfn atanh(double16);
6752303233Sdim#endif //cl_khr_fp64
6753303233Sdim#ifdef cl_khr_fp16
6754303233Sdimhalf __ovld __cnfn atanh(half);
6755303233Sdimhalf2 __ovld __cnfn atanh(half2);
6756303233Sdimhalf3 __ovld __cnfn atanh(half3);
6757303233Sdimhalf4 __ovld __cnfn atanh(half4);
6758303233Sdimhalf8 __ovld __cnfn atanh(half8);
6759303233Sdimhalf16 __ovld __cnfn atanh(half16);
6760303233Sdim#endif //cl_khr_fp16
6761303233Sdim
6762303233Sdim/**
6763303233Sdim * Compute atan (x) / PI.
6764303233Sdim */
6765303233Sdimfloat __ovld __cnfn atanpi(float x);
6766303233Sdimfloat2 __ovld __cnfn atanpi(float2 x);
6767303233Sdimfloat3 __ovld __cnfn atanpi(float3 x);
6768303233Sdimfloat4 __ovld __cnfn atanpi(float4 x);
6769303233Sdimfloat8 __ovld __cnfn atanpi(float8 x);
6770303233Sdimfloat16 __ovld __cnfn atanpi(float16 x);
6771303233Sdim#ifdef cl_khr_fp64
6772303233Sdimdouble __ovld __cnfn atanpi(double x);
6773303233Sdimdouble2 __ovld __cnfn atanpi(double2 x);
6774303233Sdimdouble3 __ovld __cnfn atanpi(double3 x);
6775303233Sdimdouble4 __ovld __cnfn atanpi(double4 x);
6776303233Sdimdouble8 __ovld __cnfn atanpi(double8 x);
6777303233Sdimdouble16 __ovld __cnfn atanpi(double16 x);
6778303233Sdim#endif //cl_khr_fp64
6779303233Sdim#ifdef cl_khr_fp16
6780303233Sdimhalf __ovld __cnfn atanpi(half x);
6781303233Sdimhalf2 __ovld __cnfn atanpi(half2 x);
6782303233Sdimhalf3 __ovld __cnfn atanpi(half3 x);
6783303233Sdimhalf4 __ovld __cnfn atanpi(half4 x);
6784303233Sdimhalf8 __ovld __cnfn atanpi(half8 x);
6785303233Sdimhalf16 __ovld __cnfn atanpi(half16 x);
6786303233Sdim#endif //cl_khr_fp16
6787303233Sdim
6788303233Sdim/**
6789303233Sdim * Compute atan2 (y, x) / PI.
6790303233Sdim */
6791303233Sdimfloat __ovld __cnfn atan2pi(float y, float x);
6792303233Sdimfloat2 __ovld __cnfn atan2pi(float2 y, float2 x);
6793303233Sdimfloat3 __ovld __cnfn atan2pi(float3 y, float3 x);
6794303233Sdimfloat4 __ovld __cnfn atan2pi(float4 y, float4 x);
6795303233Sdimfloat8 __ovld __cnfn atan2pi(float8 y, float8 x);
6796303233Sdimfloat16 __ovld __cnfn atan2pi(float16 y, float16 x);
6797303233Sdim#ifdef cl_khr_fp64
6798303233Sdimdouble __ovld __cnfn atan2pi(double y, double x);
6799303233Sdimdouble2 __ovld __cnfn atan2pi(double2 y, double2 x);
6800303233Sdimdouble3 __ovld __cnfn atan2pi(double3 y, double3 x);
6801303233Sdimdouble4 __ovld __cnfn atan2pi(double4 y, double4 x);
6802303233Sdimdouble8 __ovld __cnfn atan2pi(double8 y, double8 x);
6803303233Sdimdouble16 __ovld __cnfn atan2pi(double16 y, double16 x);
6804303233Sdim#endif //cl_khr_fp64
6805303233Sdim#ifdef cl_khr_fp16
6806303233Sdimhalf __ovld __cnfn atan2pi(half y, half x);
6807303233Sdimhalf2 __ovld __cnfn atan2pi(half2 y, half2 x);
6808303233Sdimhalf3 __ovld __cnfn atan2pi(half3 y, half3 x);
6809303233Sdimhalf4 __ovld __cnfn atan2pi(half4 y, half4 x);
6810303233Sdimhalf8 __ovld __cnfn atan2pi(half8 y, half8 x);
6811303233Sdimhalf16 __ovld __cnfn atan2pi(half16 y, half16 x);
6812303233Sdim#endif //cl_khr_fp16
6813303233Sdim
6814303233Sdim/**
6815303233Sdim * Compute cube-root.
6816303233Sdim */
6817303233Sdimfloat __ovld __cnfn cbrt(float);
6818303233Sdimfloat2 __ovld __cnfn cbrt(float2);
6819303233Sdimfloat3 __ovld __cnfn cbrt(float3);
6820303233Sdimfloat4 __ovld __cnfn cbrt(float4);
6821303233Sdimfloat8 __ovld __cnfn cbrt(float8);
6822303233Sdimfloat16 __ovld __cnfn cbrt(float16);
6823303233Sdim#ifdef cl_khr_fp64
6824303233Sdimdouble __ovld __cnfn cbrt(double);
6825303233Sdimdouble2 __ovld __cnfn cbrt(double2);
6826303233Sdimdouble3 __ovld __cnfn cbrt(double3);
6827303233Sdimdouble4 __ovld __cnfn cbrt(double4);
6828303233Sdimdouble8 __ovld __cnfn cbrt(double8);
6829303233Sdimdouble16 __ovld __cnfn cbrt(double16);
6830303233Sdim#endif //cl_khr_fp64
6831303233Sdim#ifdef cl_khr_fp16
6832303233Sdimhalf __ovld __cnfn cbrt(half);
6833303233Sdimhalf2 __ovld __cnfn cbrt(half2);
6834303233Sdimhalf3 __ovld __cnfn cbrt(half3);
6835303233Sdimhalf4 __ovld __cnfn cbrt(half4);
6836303233Sdimhalf8 __ovld __cnfn cbrt(half8);
6837303233Sdimhalf16 __ovld __cnfn cbrt(half16);
6838303233Sdim#endif //cl_khr_fp16
6839303233Sdim
6840303233Sdim/**
6841303233Sdim * Round to integral value using the round to positive
6842303233Sdim * infinity rounding mode.
6843303233Sdim */
6844303233Sdimfloat __ovld __cnfn ceil(float);
6845303233Sdimfloat2 __ovld __cnfn ceil(float2);
6846303233Sdimfloat3 __ovld __cnfn ceil(float3);
6847303233Sdimfloat4 __ovld __cnfn ceil(float4);
6848303233Sdimfloat8 __ovld __cnfn ceil(float8);
6849303233Sdimfloat16 __ovld __cnfn ceil(float16);
6850303233Sdim#ifdef cl_khr_fp64
6851303233Sdimdouble __ovld __cnfn ceil(double);
6852303233Sdimdouble2 __ovld __cnfn ceil(double2);
6853303233Sdimdouble3 __ovld __cnfn ceil(double3);
6854303233Sdimdouble4 __ovld __cnfn ceil(double4);
6855303233Sdimdouble8 __ovld __cnfn ceil(double8);
6856303233Sdimdouble16 __ovld __cnfn ceil(double16);
6857303233Sdim#endif //cl_khr_fp64
6858303233Sdim#ifdef cl_khr_fp16
6859303233Sdimhalf __ovld __cnfn ceil(half);
6860303233Sdimhalf2 __ovld __cnfn ceil(half2);
6861303233Sdimhalf3 __ovld __cnfn ceil(half3);
6862303233Sdimhalf4 __ovld __cnfn ceil(half4);
6863303233Sdimhalf8 __ovld __cnfn ceil(half8);
6864303233Sdimhalf16 __ovld __cnfn ceil(half16);
6865303233Sdim#endif //cl_khr_fp16
6866303233Sdim
6867303233Sdim/**
6868303233Sdim * Returns x with its sign changed to match the sign of y.
6869303233Sdim */
6870303233Sdimfloat __ovld __cnfn copysign(float x, float y);
6871303233Sdimfloat2 __ovld __cnfn copysign(float2 x, float2 y);
6872303233Sdimfloat3 __ovld __cnfn copysign(float3 x, float3 y);
6873303233Sdimfloat4 __ovld __cnfn copysign(float4 x, float4 y);
6874303233Sdimfloat8 __ovld __cnfn copysign(float8 x, float8 y);
6875303233Sdimfloat16 __ovld __cnfn copysign(float16 x, float16 y);
6876303233Sdim#ifdef cl_khr_fp64
6877303233Sdimdouble __ovld __cnfn copysign(double x, double y);
6878303233Sdimdouble2 __ovld __cnfn copysign(double2 x, double2 y);
6879303233Sdimdouble3 __ovld __cnfn copysign(double3 x, double3 y);
6880303233Sdimdouble4 __ovld __cnfn copysign(double4 x, double4 y);
6881303233Sdimdouble8 __ovld __cnfn copysign(double8 x, double8 y);
6882303233Sdimdouble16 __ovld __cnfn copysign(double16 x, double16 y);
6883303233Sdim#endif //cl_khr_fp64
6884303233Sdim#ifdef cl_khr_fp16
6885303233Sdimhalf __ovld __cnfn copysign(half x, half y);
6886303233Sdimhalf2 __ovld __cnfn copysign(half2 x, half2 y);
6887303233Sdimhalf3 __ovld __cnfn copysign(half3 x, half3 y);
6888303233Sdimhalf4 __ovld __cnfn copysign(half4 x, half4 y);
6889303233Sdimhalf8 __ovld __cnfn copysign(half8 x, half8 y);
6890303233Sdimhalf16 __ovld __cnfn copysign(half16 x, half16 y);
6891303233Sdim#endif //cl_khr_fp16
6892303233Sdim
6893303233Sdim/**
6894303233Sdim * Compute cosine.
6895303233Sdim */
6896303233Sdimfloat __ovld __cnfn cos(float);
6897303233Sdimfloat2 __ovld __cnfn cos(float2);
6898303233Sdimfloat3 __ovld __cnfn cos(float3);
6899303233Sdimfloat4 __ovld __cnfn cos(float4);
6900303233Sdimfloat8 __ovld __cnfn cos(float8);
6901303233Sdimfloat16 __ovld __cnfn cos(float16);
6902303233Sdim#ifdef cl_khr_fp64
6903303233Sdimdouble __ovld __cnfn cos(double);
6904303233Sdimdouble2 __ovld __cnfn cos(double2);
6905303233Sdimdouble3 __ovld __cnfn cos(double3);
6906303233Sdimdouble4 __ovld __cnfn cos(double4);
6907303233Sdimdouble8 __ovld __cnfn cos(double8);
6908303233Sdimdouble16 __ovld __cnfn cos(double16);
6909303233Sdim#endif //cl_khr_fp64
6910303233Sdim#ifdef cl_khr_fp16
6911303233Sdimhalf __ovld __cnfn cos(half);
6912303233Sdimhalf2 __ovld __cnfn cos(half2);
6913303233Sdimhalf3 __ovld __cnfn cos(half3);
6914303233Sdimhalf4 __ovld __cnfn cos(half4);
6915303233Sdimhalf8 __ovld __cnfn cos(half8);
6916303233Sdimhalf16 __ovld __cnfn cos(half16);
6917303233Sdim#endif //cl_khr_fp16
6918303233Sdim
6919303233Sdim/**
6920303233Sdim * Compute hyperbolic cosine.
6921303233Sdim */
6922303233Sdimfloat __ovld __cnfn cosh(float);
6923303233Sdimfloat2 __ovld __cnfn cosh(float2);
6924303233Sdimfloat3 __ovld __cnfn cosh(float3);
6925303233Sdimfloat4 __ovld __cnfn cosh(float4);
6926303233Sdimfloat8 __ovld __cnfn cosh(float8);
6927303233Sdimfloat16 __ovld __cnfn cosh(float16);
6928303233Sdim#ifdef cl_khr_fp64
6929303233Sdimdouble __ovld __cnfn cosh(double);
6930303233Sdimdouble2 __ovld __cnfn cosh(double2);
6931303233Sdimdouble3 __ovld __cnfn cosh(double3);
6932303233Sdimdouble4 __ovld __cnfn cosh(double4);
6933303233Sdimdouble8 __ovld __cnfn cosh(double8);
6934303233Sdimdouble16 __ovld __cnfn cosh(double16);
6935303233Sdim#endif //cl_khr_fp64
6936303233Sdim#ifdef cl_khr_fp16
6937303233Sdimhalf __ovld __cnfn cosh(half);
6938303233Sdimhalf2 __ovld __cnfn cosh(half2);
6939303233Sdimhalf3 __ovld __cnfn cosh(half3);
6940303233Sdimhalf4 __ovld __cnfn cosh(half4);
6941303233Sdimhalf8 __ovld __cnfn cosh(half8);
6942303233Sdimhalf16 __ovld __cnfn cosh(half16);
6943303233Sdim#endif //cl_khr_fp16
6944303233Sdim
6945303233Sdim/**
6946303233Sdim * Compute cos (PI * x).
6947303233Sdim */
6948303233Sdimfloat __ovld __cnfn cospi(float x);
6949303233Sdimfloat2 __ovld __cnfn cospi(float2 x);
6950303233Sdimfloat3 __ovld __cnfn cospi(float3 x);
6951303233Sdimfloat4 __ovld __cnfn cospi(float4 x);
6952303233Sdimfloat8 __ovld __cnfn cospi(float8 x);
6953303233Sdimfloat16 __ovld __cnfn cospi(float16 x);
6954303233Sdim#ifdef cl_khr_fp64
6955303233Sdimdouble __ovld __cnfn cospi(double x);
6956303233Sdimdouble2 __ovld __cnfn cospi(double2 x);
6957303233Sdimdouble3 __ovld __cnfn cospi(double3 x);
6958303233Sdimdouble4 __ovld __cnfn cospi(double4 x);
6959303233Sdimdouble8 __ovld __cnfn cospi(double8 x);
6960303233Sdimdouble16 __ovld __cnfn cospi(double16 x);
6961303233Sdim#endif //cl_khr_fp64
6962303233Sdim#ifdef cl_khr_fp16
6963303233Sdimhalf __ovld __cnfn cospi(half x);
6964303233Sdimhalf2 __ovld __cnfn cospi(half2 x);
6965303233Sdimhalf3 __ovld __cnfn cospi(half3 x);
6966303233Sdimhalf4 __ovld __cnfn cospi(half4 x);
6967303233Sdimhalf8 __ovld __cnfn cospi(half8 x);
6968303233Sdimhalf16 __ovld __cnfn cospi(half16 x);
6969303233Sdim#endif //cl_khr_fp16
6970303233Sdim
6971303233Sdim/**
6972303233Sdim * Complementary error function.
6973303233Sdim */
6974303233Sdimfloat __ovld __cnfn erfc(float);
6975303233Sdimfloat2 __ovld __cnfn erfc(float2);
6976303233Sdimfloat3 __ovld __cnfn erfc(float3);
6977303233Sdimfloat4 __ovld __cnfn erfc(float4);
6978303233Sdimfloat8 __ovld __cnfn erfc(float8);
6979303233Sdimfloat16 __ovld __cnfn erfc(float16);
6980303233Sdim#ifdef cl_khr_fp64
6981303233Sdimdouble __ovld __cnfn erfc(double);
6982303233Sdimdouble2 __ovld __cnfn erfc(double2);
6983303233Sdimdouble3 __ovld __cnfn erfc(double3);
6984303233Sdimdouble4 __ovld __cnfn erfc(double4);
6985303233Sdimdouble8 __ovld __cnfn erfc(double8);
6986303233Sdimdouble16 __ovld __cnfn erfc(double16);
6987303233Sdim#endif //cl_khr_fp64
6988303233Sdim#ifdef cl_khr_fp16
6989303233Sdimhalf __ovld __cnfn erfc(half);
6990303233Sdimhalf2 __ovld __cnfn erfc(half2);
6991303233Sdimhalf3 __ovld __cnfn erfc(half3);
6992303233Sdimhalf4 __ovld __cnfn erfc(half4);
6993303233Sdimhalf8 __ovld __cnfn erfc(half8);
6994303233Sdimhalf16 __ovld __cnfn erfc(half16);
6995303233Sdim#endif //cl_khr_fp16
6996303233Sdim
6997303233Sdim/**
6998303233Sdim * Error function encountered in integrating the
6999303233Sdim * normal distribution.
7000303233Sdim */
7001303233Sdimfloat __ovld __cnfn erf(float);
7002303233Sdimfloat2 __ovld __cnfn erf(float2);
7003303233Sdimfloat3 __ovld __cnfn erf(float3);
7004303233Sdimfloat4 __ovld __cnfn erf(float4);
7005303233Sdimfloat8 __ovld __cnfn erf(float8);
7006303233Sdimfloat16 __ovld __cnfn erf(float16);
7007303233Sdim#ifdef cl_khr_fp64
7008303233Sdimdouble __ovld __cnfn erf(double);
7009303233Sdimdouble2 __ovld __cnfn erf(double2);
7010303233Sdimdouble3 __ovld __cnfn erf(double3);
7011303233Sdimdouble4 __ovld __cnfn erf(double4);
7012303233Sdimdouble8 __ovld __cnfn erf(double8);
7013303233Sdimdouble16 __ovld __cnfn erf(double16);
7014303233Sdim#endif //cl_khr_fp64
7015303233Sdim#ifdef cl_khr_fp16
7016303233Sdimhalf __ovld __cnfn erf(half);
7017303233Sdimhalf2 __ovld __cnfn erf(half2);
7018303233Sdimhalf3 __ovld __cnfn erf(half3);
7019303233Sdimhalf4 __ovld __cnfn erf(half4);
7020303233Sdimhalf8 __ovld __cnfn erf(half8);
7021303233Sdimhalf16 __ovld __cnfn erf(half16);
7022303233Sdim#endif //cl_khr_fp16
7023303233Sdim
7024303233Sdim/**
7025303233Sdim * Compute the base e exponential function of x.
7026303233Sdim */
7027303233Sdimfloat __ovld __cnfn exp(float x);
7028303233Sdimfloat2 __ovld __cnfn exp(float2 x);
7029303233Sdimfloat3 __ovld __cnfn exp(float3 x);
7030303233Sdimfloat4 __ovld __cnfn exp(float4 x);
7031303233Sdimfloat8 __ovld __cnfn exp(float8 x);
7032303233Sdimfloat16 __ovld __cnfn exp(float16 x);
7033303233Sdim#ifdef cl_khr_fp64
7034303233Sdimdouble __ovld __cnfn exp(double x);
7035303233Sdimdouble2 __ovld __cnfn exp(double2 x);
7036303233Sdimdouble3 __ovld __cnfn exp(double3 x);
7037303233Sdimdouble4 __ovld __cnfn exp(double4 x);
7038303233Sdimdouble8 __ovld __cnfn exp(double8 x);
7039303233Sdimdouble16 __ovld __cnfn exp(double16 x);
7040303233Sdim#endif //cl_khr_fp64
7041303233Sdim#ifdef cl_khr_fp16
7042303233Sdimhalf __ovld __cnfn exp(half x);
7043303233Sdimhalf2 __ovld __cnfn exp(half2 x);
7044303233Sdimhalf3 __ovld __cnfn exp(half3 x);
7045303233Sdimhalf4 __ovld __cnfn exp(half4 x);
7046303233Sdimhalf8 __ovld __cnfn exp(half8 x);
7047303233Sdimhalf16 __ovld __cnfn exp(half16 x);
7048303233Sdim#endif //cl_khr_fp16
7049303233Sdim
7050303233Sdim/**
7051303233Sdim * Exponential base 2 function.
7052303233Sdim */
7053303233Sdimfloat __ovld __cnfn exp2(float);
7054303233Sdimfloat2 __ovld __cnfn exp2(float2);
7055303233Sdimfloat3 __ovld __cnfn exp2(float3);
7056303233Sdimfloat4 __ovld __cnfn exp2(float4);
7057303233Sdimfloat8 __ovld __cnfn exp2(float8);
7058303233Sdimfloat16 __ovld __cnfn exp2(float16);
7059303233Sdim#ifdef cl_khr_fp64
7060303233Sdimdouble __ovld __cnfn exp2(double);
7061303233Sdimdouble2 __ovld __cnfn exp2(double2);
7062303233Sdimdouble3 __ovld __cnfn exp2(double3);
7063303233Sdimdouble4 __ovld __cnfn exp2(double4);
7064303233Sdimdouble8 __ovld __cnfn exp2(double8);
7065303233Sdimdouble16 __ovld __cnfn exp2(double16);
7066303233Sdim#endif //cl_khr_fp64
7067303233Sdim#ifdef cl_khr_fp16
7068303233Sdimhalf __ovld __cnfn exp2(half);
7069303233Sdimhalf2 __ovld __cnfn exp2(half2);
7070303233Sdimhalf3 __ovld __cnfn exp2(half3);
7071303233Sdimhalf4 __ovld __cnfn exp2(half4);
7072303233Sdimhalf8 __ovld __cnfn exp2(half8);
7073303233Sdimhalf16 __ovld __cnfn exp2(half16);
7074303233Sdim#endif //cl_khr_fp16
7075303233Sdim
7076303233Sdim/**
7077303233Sdim * Exponential base 10 function.
7078303233Sdim */
7079303233Sdimfloat __ovld __cnfn exp10(float);
7080303233Sdimfloat2 __ovld __cnfn exp10(float2);
7081303233Sdimfloat3 __ovld __cnfn exp10(float3);
7082303233Sdimfloat4 __ovld __cnfn exp10(float4);
7083303233Sdimfloat8 __ovld __cnfn exp10(float8);
7084303233Sdimfloat16 __ovld __cnfn exp10(float16);
7085303233Sdim#ifdef cl_khr_fp64
7086303233Sdimdouble __ovld __cnfn exp10(double);
7087303233Sdimdouble2 __ovld __cnfn exp10(double2);
7088303233Sdimdouble3 __ovld __cnfn exp10(double3);
7089303233Sdimdouble4 __ovld __cnfn exp10(double4);
7090303233Sdimdouble8 __ovld __cnfn exp10(double8);
7091303233Sdimdouble16 __ovld __cnfn exp10(double16);
7092303233Sdim#endif //cl_khr_fp64
7093303233Sdim#ifdef cl_khr_fp16
7094303233Sdimhalf __ovld __cnfn exp10(half);
7095303233Sdimhalf2 __ovld __cnfn exp10(half2);
7096303233Sdimhalf3 __ovld __cnfn exp10(half3);
7097303233Sdimhalf4 __ovld __cnfn exp10(half4);
7098303233Sdimhalf8 __ovld __cnfn exp10(half8);
7099303233Sdimhalf16 __ovld __cnfn exp10(half16);
7100303233Sdim#endif //cl_khr_fp16
7101303233Sdim
7102303233Sdim/**
7103303233Sdim * Compute e^x- 1.0.
7104303233Sdim */
7105303233Sdimfloat __ovld __cnfn expm1(float x);
7106303233Sdimfloat2 __ovld __cnfn expm1(float2 x);
7107303233Sdimfloat3 __ovld __cnfn expm1(float3 x);
7108303233Sdimfloat4 __ovld __cnfn expm1(float4 x);
7109303233Sdimfloat8 __ovld __cnfn expm1(float8 x);
7110303233Sdimfloat16 __ovld __cnfn expm1(float16 x);
7111303233Sdim#ifdef cl_khr_fp64
7112303233Sdimdouble __ovld __cnfn expm1(double x);
7113303233Sdimdouble2 __ovld __cnfn expm1(double2 x);
7114303233Sdimdouble3 __ovld __cnfn expm1(double3 x);
7115303233Sdimdouble4 __ovld __cnfn expm1(double4 x);
7116303233Sdimdouble8 __ovld __cnfn expm1(double8 x);
7117303233Sdimdouble16 __ovld __cnfn expm1(double16 x);
7118303233Sdim#endif //cl_khr_fp64
7119303233Sdim#ifdef cl_khr_fp16
7120303233Sdimhalf __ovld __cnfn expm1(half x);
7121303233Sdimhalf2 __ovld __cnfn expm1(half2 x);
7122303233Sdimhalf3 __ovld __cnfn expm1(half3 x);
7123303233Sdimhalf4 __ovld __cnfn expm1(half4 x);
7124303233Sdimhalf8 __ovld __cnfn expm1(half8 x);
7125303233Sdimhalf16 __ovld __cnfn expm1(half16 x);
7126303233Sdim#endif //cl_khr_fp16
7127303233Sdim
7128303233Sdim/**
7129303233Sdim * Compute absolute value of a floating-point number.
7130303233Sdim */
7131303233Sdimfloat __ovld __cnfn fabs(float);
7132303233Sdimfloat2 __ovld __cnfn fabs(float2);
7133303233Sdimfloat3 __ovld __cnfn fabs(float3);
7134303233Sdimfloat4 __ovld __cnfn fabs(float4);
7135303233Sdimfloat8 __ovld __cnfn fabs(float8);
7136303233Sdimfloat16 __ovld __cnfn fabs(float16);
7137303233Sdim#ifdef cl_khr_fp64
7138303233Sdimdouble __ovld __cnfn fabs(double);
7139303233Sdimdouble2 __ovld __cnfn fabs(double2);
7140303233Sdimdouble3 __ovld __cnfn fabs(double3);
7141303233Sdimdouble4 __ovld __cnfn fabs(double4);
7142303233Sdimdouble8 __ovld __cnfn fabs(double8);
7143303233Sdimdouble16 __ovld __cnfn fabs(double16);
7144303233Sdim#endif //cl_khr_fp64
7145303233Sdim#ifdef cl_khr_fp16
7146303233Sdimhalf __ovld __cnfn fabs(half);
7147303233Sdimhalf2 __ovld __cnfn fabs(half2);
7148303233Sdimhalf3 __ovld __cnfn fabs(half3);
7149303233Sdimhalf4 __ovld __cnfn fabs(half4);
7150303233Sdimhalf8 __ovld __cnfn fabs(half8);
7151303233Sdimhalf16 __ovld __cnfn fabs(half16);
7152303233Sdim#endif //cl_khr_fp16
7153303233Sdim
7154303233Sdim/**
7155303233Sdim * x - y if x > y, +0 if x is less than or equal to y.
7156303233Sdim */
7157303233Sdimfloat __ovld __cnfn fdim(float x, float y);
7158303233Sdimfloat2 __ovld __cnfn fdim(float2 x, float2 y);
7159303233Sdimfloat3 __ovld __cnfn fdim(float3 x, float3 y);
7160303233Sdimfloat4 __ovld __cnfn fdim(float4 x, float4 y);
7161303233Sdimfloat8 __ovld __cnfn fdim(float8 x, float8 y);
7162303233Sdimfloat16 __ovld __cnfn fdim(float16 x, float16 y);
7163303233Sdim#ifdef cl_khr_fp64
7164303233Sdimdouble __ovld __cnfn fdim(double x, double y);
7165303233Sdimdouble2 __ovld __cnfn fdim(double2 x, double2 y);
7166303233Sdimdouble3 __ovld __cnfn fdim(double3 x, double3 y);
7167303233Sdimdouble4 __ovld __cnfn fdim(double4 x, double4 y);
7168303233Sdimdouble8 __ovld __cnfn fdim(double8 x, double8 y);
7169303233Sdimdouble16 __ovld __cnfn fdim(double16 x, double16 y);
7170303233Sdim#endif //cl_khr_fp64
7171303233Sdim#ifdef cl_khr_fp16
7172303233Sdimhalf __ovld __cnfn fdim(half x, half y);
7173303233Sdimhalf2 __ovld __cnfn fdim(half2 x, half2 y);
7174303233Sdimhalf3 __ovld __cnfn fdim(half3 x, half3 y);
7175303233Sdimhalf4 __ovld __cnfn fdim(half4 x, half4 y);
7176303233Sdimhalf8 __ovld __cnfn fdim(half8 x, half8 y);
7177303233Sdimhalf16 __ovld __cnfn fdim(half16 x, half16 y);
7178303233Sdim#endif //cl_khr_fp16
7179303233Sdim
7180303233Sdim/**
7181303233Sdim * Round to integral value using the round to -ve
7182303233Sdim * infinity rounding mode.
7183303233Sdim */
7184303233Sdimfloat __ovld __cnfn floor(float);
7185303233Sdimfloat2 __ovld __cnfn floor(float2);
7186303233Sdimfloat3 __ovld __cnfn floor(float3);
7187303233Sdimfloat4 __ovld __cnfn floor(float4);
7188303233Sdimfloat8 __ovld __cnfn floor(float8);
7189303233Sdimfloat16 __ovld __cnfn floor(float16);
7190303233Sdim#ifdef cl_khr_fp64
7191303233Sdimdouble __ovld __cnfn floor(double);
7192303233Sdimdouble2 __ovld __cnfn floor(double2);
7193303233Sdimdouble3 __ovld __cnfn floor(double3);
7194303233Sdimdouble4 __ovld __cnfn floor(double4);
7195303233Sdimdouble8 __ovld __cnfn floor(double8);
7196303233Sdimdouble16 __ovld __cnfn floor(double16);
7197303233Sdim#endif //cl_khr_fp64
7198303233Sdim#ifdef cl_khr_fp16
7199303233Sdimhalf __ovld __cnfn floor(half);
7200303233Sdimhalf2 __ovld __cnfn floor(half2);
7201303233Sdimhalf3 __ovld __cnfn floor(half3);
7202303233Sdimhalf4 __ovld __cnfn floor(half4);
7203303233Sdimhalf8 __ovld __cnfn floor(half8);
7204303233Sdimhalf16 __ovld __cnfn floor(half16);
7205303233Sdim#endif //cl_khr_fp16
7206303233Sdim
7207303233Sdim/**
7208303233Sdim * Returns the correctly rounded floating-point
7209303233Sdim * representation of the sum of c with the infinitely
7210303233Sdim * precise product of a and b. Rounding of
7211303233Sdim * intermediate products shall not occur. Edge case
7212303233Sdim * behavior is per the IEEE 754-2008 standard.
7213303233Sdim */
7214303233Sdimfloat __ovld __cnfn fma(float a, float b, float c);
7215303233Sdimfloat2 __ovld __cnfn fma(float2 a, float2 b, float2 c);
7216303233Sdimfloat3 __ovld __cnfn fma(float3 a, float3 b, float3 c);
7217303233Sdimfloat4 __ovld __cnfn fma(float4 a, float4 b, float4 c);
7218303233Sdimfloat8 __ovld __cnfn fma(float8 a, float8 b, float8 c);
7219303233Sdimfloat16 __ovld __cnfn fma(float16 a, float16 b, float16 c);
7220303233Sdim#ifdef cl_khr_fp64
7221303233Sdimdouble __ovld __cnfn fma(double a, double b, double c);
7222303233Sdimdouble2 __ovld __cnfn fma(double2 a, double2 b, double2 c);
7223303233Sdimdouble3 __ovld __cnfn fma(double3 a, double3 b, double3 c);
7224303233Sdimdouble4 __ovld __cnfn fma(double4 a, double4 b, double4 c);
7225303233Sdimdouble8 __ovld __cnfn fma(double8 a, double8 b, double8 c);
7226303233Sdimdouble16 __ovld __cnfn fma(double16 a, double16 b, double16 c);
7227303233Sdim#endif //cl_khr_fp64
7228303233Sdim#ifdef cl_khr_fp16
7229303233Sdimhalf __ovld __cnfn fma(half a, half b, half c);
7230303233Sdimhalf2 __ovld __cnfn fma(half2 a, half2 b, half2 c);
7231303233Sdimhalf3 __ovld __cnfn fma(half3 a, half3 b, half3 c);
7232303233Sdimhalf4 __ovld __cnfn fma(half4 a, half4 b, half4 c);
7233303233Sdimhalf8 __ovld __cnfn fma(half8 a, half8 b, half8 c);
7234303233Sdimhalf16 __ovld __cnfn fma(half16 a, half16 b, half16 c);
7235303233Sdim#endif //cl_khr_fp16
7236303233Sdim
7237303233Sdim/**
7238303233Sdim * Returns y if x < y, otherwise it returns x. If one
7239303233Sdim * argument is a NaN, fmax() returns the other
7240303233Sdim * argument. If both arguments are NaNs, fmax()
7241303233Sdim * returns a NaN.
7242303233Sdim */
7243303233Sdimfloat __ovld __cnfn fmax(float x, float y);
7244303233Sdimfloat2 __ovld __cnfn fmax(float2 x, float2 y);
7245303233Sdimfloat3 __ovld __cnfn fmax(float3 x, float3 y);
7246303233Sdimfloat4 __ovld __cnfn fmax(float4 x, float4 y);
7247303233Sdimfloat8 __ovld __cnfn fmax(float8 x, float8 y);
7248303233Sdimfloat16 __ovld __cnfn fmax(float16 x, float16 y);
7249303233Sdimfloat2 __ovld __cnfn fmax(float2 x, float y);
7250303233Sdimfloat3 __ovld __cnfn fmax(float3 x, float y);
7251303233Sdimfloat4 __ovld __cnfn fmax(float4 x, float y);
7252303233Sdimfloat8 __ovld __cnfn fmax(float8 x, float y);
7253303233Sdimfloat16 __ovld __cnfn fmax(float16 x, float y);
7254303233Sdim#ifdef cl_khr_fp64
7255303233Sdimdouble __ovld __cnfn fmax(double x, double y);
7256303233Sdimdouble2 __ovld __cnfn fmax(double2 x, double2 y);
7257303233Sdimdouble3 __ovld __cnfn fmax(double3 x, double3 y);
7258303233Sdimdouble4 __ovld __cnfn fmax(double4 x, double4 y);
7259303233Sdimdouble8 __ovld __cnfn fmax(double8 x, double8 y);
7260303233Sdimdouble16 __ovld __cnfn fmax(double16 x, double16 y);
7261303233Sdimdouble2 __ovld __cnfn fmax(double2 x, double y);
7262303233Sdimdouble3 __ovld __cnfn fmax(double3 x, double y);
7263303233Sdimdouble4 __ovld __cnfn fmax(double4 x, double y);
7264303233Sdimdouble8 __ovld __cnfn fmax(double8 x, double y);
7265303233Sdimdouble16 __ovld __cnfn fmax(double16 x, double y);
7266303233Sdim#endif //cl_khr_fp64
7267303233Sdim#ifdef cl_khr_fp16
7268303233Sdimhalf __ovld __cnfn fmax(half x, half y);
7269303233Sdimhalf2 __ovld __cnfn fmax(half2 x, half2 y);
7270303233Sdimhalf3 __ovld __cnfn fmax(half3 x, half3 y);
7271303233Sdimhalf4 __ovld __cnfn fmax(half4 x, half4 y);
7272303233Sdimhalf8 __ovld __cnfn fmax(half8 x, half8 y);
7273303233Sdimhalf16 __ovld __cnfn fmax(half16 x, half16 y);
7274303233Sdimhalf2 __ovld __cnfn fmax(half2 x, half y);
7275303233Sdimhalf3 __ovld __cnfn fmax(half3 x, half y);
7276303233Sdimhalf4 __ovld __cnfn fmax(half4 x, half y);
7277303233Sdimhalf8 __ovld __cnfn fmax(half8 x, half y);
7278303233Sdimhalf16 __ovld __cnfn fmax(half16 x, half y);
7279303233Sdim#endif //cl_khr_fp16
7280303233Sdim
7281303233Sdim/**
7282303233Sdim * Returns y if y < x, otherwise it returns x. If one
7283303233Sdim * argument is a NaN, fmin() returns the other
7284303233Sdim * argument. If both arguments are NaNs, fmin()
7285303233Sdim * returns a NaN.
7286303233Sdim */
7287303233Sdimfloat __ovld __cnfn fmin(float x, float y);
7288303233Sdimfloat2 __ovld __cnfn fmin(float2 x, float2 y);
7289303233Sdimfloat3 __ovld __cnfn fmin(float3 x, float3 y);
7290303233Sdimfloat4 __ovld __cnfn fmin(float4 x, float4 y);
7291303233Sdimfloat8 __ovld __cnfn fmin(float8 x, float8 y);
7292303233Sdimfloat16 __ovld __cnfn fmin(float16 x, float16 y);
7293303233Sdimfloat2 __ovld __cnfn fmin(float2 x, float y);
7294303233Sdimfloat3 __ovld __cnfn fmin(float3 x, float y);
7295303233Sdimfloat4 __ovld __cnfn fmin(float4 x, float y);
7296303233Sdimfloat8 __ovld __cnfn fmin(float8 x, float y);
7297303233Sdimfloat16 __ovld __cnfn fmin(float16 x, float y);
7298303233Sdim#ifdef cl_khr_fp64
7299303233Sdimdouble __ovld __cnfn fmin(double x, double y);
7300303233Sdimdouble2 __ovld __cnfn fmin(double2 x, double2 y);
7301303233Sdimdouble3 __ovld __cnfn fmin(double3 x, double3 y);
7302303233Sdimdouble4 __ovld __cnfn fmin(double4 x, double4 y);
7303303233Sdimdouble8 __ovld __cnfn fmin(double8 x, double8 y);
7304303233Sdimdouble16 __ovld __cnfn fmin(double16 x, double16 y);
7305303233Sdimdouble2 __ovld __cnfn fmin(double2 x, double y);
7306303233Sdimdouble3 __ovld __cnfn fmin(double3 x, double y);
7307303233Sdimdouble4 __ovld __cnfn fmin(double4 x, double y);
7308303233Sdimdouble8 __ovld __cnfn fmin(double8 x, double y);
7309303233Sdimdouble16 __ovld __cnfn fmin(double16 x, double y);
7310303233Sdim#endif //cl_khr_fp64
7311303233Sdim#ifdef cl_khr_fp16
7312303233Sdimhalf __ovld __cnfn fmin(half x, half y);
7313303233Sdimhalf2 __ovld __cnfn fmin(half2 x, half2 y);
7314303233Sdimhalf3 __ovld __cnfn fmin(half3 x, half3 y);
7315303233Sdimhalf4 __ovld __cnfn fmin(half4 x, half4 y);
7316303233Sdimhalf8 __ovld __cnfn fmin(half8 x, half8 y);
7317303233Sdimhalf16 __ovld __cnfn fmin(half16 x, half16 y);
7318303233Sdimhalf2 __ovld __cnfn fmin(half2 x, half y);
7319303233Sdimhalf3 __ovld __cnfn fmin(half3 x, half y);
7320303233Sdimhalf4 __ovld __cnfn fmin(half4 x, half y);
7321303233Sdimhalf8 __ovld __cnfn fmin(half8 x, half y);
7322303233Sdimhalf16 __ovld __cnfn fmin(half16 x, half y);
7323303233Sdim#endif //cl_khr_fp16
7324303233Sdim
7325303233Sdim/**
7326303233Sdim * Modulus. Returns x - y * trunc (x/y).
7327303233Sdim */
7328303233Sdimfloat __ovld __cnfn fmod(float x, float y);
7329303233Sdimfloat2 __ovld __cnfn fmod(float2 x, float2 y);
7330303233Sdimfloat3 __ovld __cnfn fmod(float3 x, float3 y);
7331303233Sdimfloat4 __ovld __cnfn fmod(float4 x, float4 y);
7332303233Sdimfloat8 __ovld __cnfn fmod(float8 x, float8 y);
7333303233Sdimfloat16 __ovld __cnfn fmod(float16 x, float16 y);
7334303233Sdim#ifdef cl_khr_fp64
7335303233Sdimdouble __ovld __cnfn fmod(double x, double y);
7336303233Sdimdouble2 __ovld __cnfn fmod(double2 x, double2 y);
7337303233Sdimdouble3 __ovld __cnfn fmod(double3 x, double3 y);
7338303233Sdimdouble4 __ovld __cnfn fmod(double4 x, double4 y);
7339303233Sdimdouble8 __ovld __cnfn fmod(double8 x, double8 y);
7340303233Sdimdouble16 __ovld __cnfn fmod(double16 x, double16 y);
7341303233Sdim#endif //cl_khr_fp64
7342303233Sdim#ifdef cl_khr_fp16
7343303233Sdimhalf __ovld __cnfn fmod(half x, half y);
7344303233Sdimhalf2 __ovld __cnfn fmod(half2 x, half2 y);
7345303233Sdimhalf3 __ovld __cnfn fmod(half3 x, half3 y);
7346303233Sdimhalf4 __ovld __cnfn fmod(half4 x, half4 y);
7347303233Sdimhalf8 __ovld __cnfn fmod(half8 x, half8 y);
7348303233Sdimhalf16 __ovld __cnfn fmod(half16 x, half16 y);
7349303233Sdim#endif //cl_khr_fp16
7350303233Sdim
7351303233Sdim/**
7352303233Sdim * Returns fmin(x - floor (x), 0x1.fffffep-1f ).
7353303233Sdim * floor(x) is returned in iptr.
7354303233Sdim */
7355353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7356303233Sdimfloat __ovld fract(float x, float *iptr);
7357303233Sdimfloat2 __ovld fract(float2 x, float2 *iptr);
7358303233Sdimfloat3 __ovld fract(float3 x, float3 *iptr);
7359303233Sdimfloat4 __ovld fract(float4 x, float4 *iptr);
7360303233Sdimfloat8 __ovld fract(float8 x, float8 *iptr);
7361303233Sdimfloat16 __ovld fract(float16 x, float16 *iptr);
7362303233Sdim#ifdef cl_khr_fp64
7363303233Sdimdouble __ovld fract(double x, double *iptr);
7364303233Sdimdouble2 __ovld fract(double2 x, double2 *iptr);
7365303233Sdimdouble3 __ovld fract(double3 x, double3 *iptr);
7366303233Sdimdouble4 __ovld fract(double4 x, double4 *iptr);
7367303233Sdimdouble8 __ovld fract(double8 x, double8 *iptr);
7368303233Sdimdouble16 __ovld fract(double16 x, double16 *iptr);
7369303233Sdim#endif //cl_khr_fp64
7370303233Sdim#ifdef cl_khr_fp16
7371303233Sdimhalf __ovld fract(half x, half *iptr);
7372303233Sdimhalf2 __ovld fract(half2 x, half2 *iptr);
7373303233Sdimhalf3 __ovld fract(half3 x, half3 *iptr);
7374303233Sdimhalf4 __ovld fract(half4 x, half4 *iptr);
7375303233Sdimhalf8 __ovld fract(half8 x, half8 *iptr);
7376303233Sdimhalf16 __ovld fract(half16 x, half16 *iptr);
7377303233Sdim#endif //cl_khr_fp16
7378303233Sdim#else
7379303233Sdimfloat __ovld fract(float x, __global float *iptr);
7380303233Sdimfloat2 __ovld fract(float2 x, __global float2 *iptr);
7381303233Sdimfloat3 __ovld fract(float3 x, __global float3 *iptr);
7382303233Sdimfloat4 __ovld fract(float4 x, __global float4 *iptr);
7383303233Sdimfloat8 __ovld fract(float8 x, __global float8 *iptr);
7384303233Sdimfloat16 __ovld fract(float16 x, __global float16 *iptr);
7385303233Sdimfloat __ovld fract(float x, __local float *iptr);
7386303233Sdimfloat2 __ovld fract(float2 x, __local float2 *iptr);
7387303233Sdimfloat3 __ovld fract(float3 x, __local float3 *iptr);
7388303233Sdimfloat4 __ovld fract(float4 x, __local float4 *iptr);
7389303233Sdimfloat8 __ovld fract(float8 x, __local float8 *iptr);
7390303233Sdimfloat16 __ovld fract(float16 x, __local float16 *iptr);
7391303233Sdimfloat __ovld fract(float x, __private float *iptr);
7392303233Sdimfloat2 __ovld fract(float2 x, __private float2 *iptr);
7393303233Sdimfloat3 __ovld fract(float3 x, __private float3 *iptr);
7394303233Sdimfloat4 __ovld fract(float4 x, __private float4 *iptr);
7395303233Sdimfloat8 __ovld fract(float8 x, __private float8 *iptr);
7396303233Sdimfloat16 __ovld fract(float16 x, __private float16 *iptr);
7397303233Sdim#ifdef cl_khr_fp64
7398303233Sdimdouble __ovld fract(double x, __global double *iptr);
7399303233Sdimdouble2 __ovld fract(double2 x, __global double2 *iptr);
7400303233Sdimdouble3 __ovld fract(double3 x, __global double3 *iptr);
7401303233Sdimdouble4 __ovld fract(double4 x, __global double4 *iptr);
7402303233Sdimdouble8 __ovld fract(double8 x, __global double8 *iptr);
7403303233Sdimdouble16 __ovld fract(double16 x, __global double16 *iptr);
7404303233Sdimdouble __ovld fract(double x, __local double *iptr);
7405303233Sdimdouble2 __ovld fract(double2 x, __local double2 *iptr);
7406303233Sdimdouble3 __ovld fract(double3 x, __local double3 *iptr);
7407303233Sdimdouble4 __ovld fract(double4 x, __local double4 *iptr);
7408303233Sdimdouble8 __ovld fract(double8 x, __local double8 *iptr);
7409303233Sdimdouble16 __ovld fract(double16 x, __local double16 *iptr);
7410303233Sdimdouble __ovld fract(double x, __private double *iptr);
7411303233Sdimdouble2 __ovld fract(double2 x, __private double2 *iptr);
7412303233Sdimdouble3 __ovld fract(double3 x, __private double3 *iptr);
7413303233Sdimdouble4 __ovld fract(double4 x, __private double4 *iptr);
7414303233Sdimdouble8 __ovld fract(double8 x, __private double8 *iptr);
7415303233Sdimdouble16 __ovld fract(double16 x, __private double16 *iptr);
7416303233Sdim#endif //cl_khr_fp64
7417303233Sdim#ifdef cl_khr_fp16
7418303233Sdimhalf __ovld fract(half x, __global half *iptr);
7419303233Sdimhalf2 __ovld fract(half2 x, __global half2 *iptr);
7420303233Sdimhalf3 __ovld fract(half3 x, __global half3 *iptr);
7421303233Sdimhalf4 __ovld fract(half4 x, __global half4 *iptr);
7422303233Sdimhalf8 __ovld fract(half8 x, __global half8 *iptr);
7423303233Sdimhalf16 __ovld fract(half16 x, __global half16 *iptr);
7424303233Sdimhalf __ovld fract(half x, __local half *iptr);
7425303233Sdimhalf2 __ovld fract(half2 x, __local half2 *iptr);
7426303233Sdimhalf3 __ovld fract(half3 x, __local half3 *iptr);
7427303233Sdimhalf4 __ovld fract(half4 x, __local half4 *iptr);
7428303233Sdimhalf8 __ovld fract(half8 x, __local half8 *iptr);
7429303233Sdimhalf16 __ovld fract(half16 x, __local half16 *iptr);
7430303233Sdimhalf __ovld fract(half x, __private half *iptr);
7431303233Sdimhalf2 __ovld fract(half2 x, __private half2 *iptr);
7432303233Sdimhalf3 __ovld fract(half3 x, __private half3 *iptr);
7433303233Sdimhalf4 __ovld fract(half4 x, __private half4 *iptr);
7434303233Sdimhalf8 __ovld fract(half8 x, __private half8 *iptr);
7435303233Sdimhalf16 __ovld fract(half16 x, __private half16 *iptr);
7436303233Sdim#endif //cl_khr_fp16
7437353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7438303233Sdim
7439303233Sdim/**
7440303233Sdim * Extract mantissa and exponent from x. For each
7441303233Sdim * component the mantissa returned is a float with
7442303233Sdim * magnitude in the interval [1/2, 1) or 0. Each
7443303233Sdim * component of x equals mantissa returned * 2^exp.
7444303233Sdim */
7445353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7446303233Sdimfloat __ovld frexp(float x, int *exp);
7447303233Sdimfloat2 __ovld frexp(float2 x, int2 *exp);
7448303233Sdimfloat3 __ovld frexp(float3 x, int3 *exp);
7449303233Sdimfloat4 __ovld frexp(float4 x, int4 *exp);
7450303233Sdimfloat8 __ovld frexp(float8 x, int8 *exp);
7451303233Sdimfloat16 __ovld frexp(float16 x, int16 *exp);
7452303233Sdim#ifdef cl_khr_fp64
7453303233Sdimdouble __ovld frexp(double x, int *exp);
7454303233Sdimdouble2 __ovld frexp(double2 x, int2 *exp);
7455303233Sdimdouble3 __ovld frexp(double3 x, int3 *exp);
7456303233Sdimdouble4 __ovld frexp(double4 x, int4 *exp);
7457303233Sdimdouble8 __ovld frexp(double8 x, int8 *exp);
7458303233Sdimdouble16 __ovld frexp(double16 x, int16 *exp);
7459303233Sdim#endif //cl_khr_fp64
7460303233Sdim#ifdef cl_khr_fp16
7461303233Sdimhalf __ovld frexp(half x, int *exp);
7462303233Sdimhalf2 __ovld frexp(half2 x, int2 *exp);
7463303233Sdimhalf3 __ovld frexp(half3 x, int3 *exp);
7464303233Sdimhalf4 __ovld frexp(half4 x, int4 *exp);
7465303233Sdimhalf8 __ovld frexp(half8 x, int8 *exp);
7466303233Sdimhalf16 __ovld frexp(half16 x, int16 *exp);
7467303233Sdim#endif //cl_khr_fp16
7468303233Sdim#else
7469303233Sdimfloat __ovld frexp(float x, __global int *exp);
7470303233Sdimfloat2 __ovld frexp(float2 x, __global int2 *exp);
7471303233Sdimfloat3 __ovld frexp(float3 x, __global int3 *exp);
7472303233Sdimfloat4 __ovld frexp(float4 x, __global int4 *exp);
7473303233Sdimfloat8 __ovld frexp(float8 x, __global int8 *exp);
7474303233Sdimfloat16 __ovld frexp(float16 x, __global int16 *exp);
7475303233Sdimfloat __ovld frexp(float x, __local int *exp);
7476303233Sdimfloat2 __ovld frexp(float2 x, __local int2 *exp);
7477303233Sdimfloat3 __ovld frexp(float3 x, __local int3 *exp);
7478303233Sdimfloat4 __ovld frexp(float4 x, __local int4 *exp);
7479303233Sdimfloat8 __ovld frexp(float8 x, __local int8 *exp);
7480303233Sdimfloat16 __ovld frexp(float16 x, __local int16 *exp);
7481303233Sdimfloat __ovld frexp(float x, __private int *exp);
7482303233Sdimfloat2 __ovld frexp(float2 x, __private int2 *exp);
7483303233Sdimfloat3 __ovld frexp(float3 x, __private int3 *exp);
7484303233Sdimfloat4 __ovld frexp(float4 x, __private int4 *exp);
7485303233Sdimfloat8 __ovld frexp(float8 x, __private int8 *exp);
7486303233Sdimfloat16 __ovld frexp(float16 x, __private int16 *exp);
7487303233Sdim#ifdef cl_khr_fp64
7488303233Sdimdouble __ovld frexp(double x, __global int *exp);
7489303233Sdimdouble2 __ovld frexp(double2 x, __global int2 *exp);
7490303233Sdimdouble3 __ovld frexp(double3 x, __global int3 *exp);
7491303233Sdimdouble4 __ovld frexp(double4 x, __global int4 *exp);
7492303233Sdimdouble8 __ovld frexp(double8 x, __global int8 *exp);
7493303233Sdimdouble16 __ovld frexp(double16 x, __global int16 *exp);
7494303233Sdimdouble __ovld frexp(double x, __local int *exp);
7495303233Sdimdouble2 __ovld frexp(double2 x, __local int2 *exp);
7496303233Sdimdouble3 __ovld frexp(double3 x, __local int3 *exp);
7497303233Sdimdouble4 __ovld frexp(double4 x, __local int4 *exp);
7498303233Sdimdouble8 __ovld frexp(double8 x, __local int8 *exp);
7499303233Sdimdouble16 __ovld frexp(double16 x, __local int16 *exp);
7500303233Sdimdouble __ovld frexp(double x, __private int *exp);
7501303233Sdimdouble2 __ovld frexp(double2 x, __private int2 *exp);
7502303233Sdimdouble3 __ovld frexp(double3 x, __private int3 *exp);
7503303233Sdimdouble4 __ovld frexp(double4 x, __private int4 *exp);
7504303233Sdimdouble8 __ovld frexp(double8 x, __private int8 *exp);
7505303233Sdimdouble16 __ovld frexp(double16 x, __private int16 *exp);
7506303233Sdim#endif //cl_khr_fp64
7507303233Sdim#ifdef cl_khr_fp16
7508303233Sdimhalf __ovld frexp(half x, __global int *exp);
7509303233Sdimhalf2 __ovld frexp(half2 x, __global int2 *exp);
7510303233Sdimhalf3 __ovld frexp(half3 x, __global int3 *exp);
7511303233Sdimhalf4 __ovld frexp(half4 x, __global int4 *exp);
7512303233Sdimhalf8 __ovld frexp(half8 x, __global int8 *exp);
7513303233Sdimhalf16 __ovld frexp(half16 x, __global int16 *exp);
7514303233Sdimhalf __ovld frexp(half x, __local int *exp);
7515303233Sdimhalf2 __ovld frexp(half2 x, __local int2 *exp);
7516303233Sdimhalf3 __ovld frexp(half3 x, __local int3 *exp);
7517303233Sdimhalf4 __ovld frexp(half4 x, __local int4 *exp);
7518303233Sdimhalf8 __ovld frexp(half8 x, __local int8 *exp);
7519303233Sdimhalf16 __ovld frexp(half16 x, __local int16 *exp);
7520303233Sdimhalf __ovld frexp(half x, __private int *exp);
7521303233Sdimhalf2 __ovld frexp(half2 x, __private int2 *exp);
7522303233Sdimhalf3 __ovld frexp(half3 x, __private int3 *exp);
7523303233Sdimhalf4 __ovld frexp(half4 x, __private int4 *exp);
7524303233Sdimhalf8 __ovld frexp(half8 x, __private int8 *exp);
7525303233Sdimhalf16 __ovld frexp(half16 x, __private int16 *exp);
7526303233Sdim#endif //cl_khr_fp16
7527353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7528303233Sdim
7529303233Sdim/**
7530303233Sdim * Compute the value of the square root of x^2 + y^2
7531303233Sdim * without undue overflow or underflow.
7532303233Sdim */
7533303233Sdimfloat __ovld __cnfn hypot(float x, float y);
7534303233Sdimfloat2 __ovld __cnfn hypot(float2 x, float2 y);
7535303233Sdimfloat3 __ovld __cnfn hypot(float3 x, float3 y);
7536303233Sdimfloat4 __ovld __cnfn hypot(float4 x, float4 y);
7537303233Sdimfloat8 __ovld __cnfn hypot(float8 x, float8 y);
7538303233Sdimfloat16 __ovld __cnfn hypot(float16 x, float16 y);
7539303233Sdim#ifdef cl_khr_fp64
7540303233Sdimdouble __ovld __cnfn hypot(double x, double y);
7541303233Sdimdouble2 __ovld __cnfn hypot(double2 x, double2 y);
7542303233Sdimdouble3 __ovld __cnfn hypot(double3 x, double3 y);
7543303233Sdimdouble4 __ovld __cnfn hypot(double4 x, double4 y);
7544303233Sdimdouble8 __ovld __cnfn hypot(double8 x, double8 y);
7545303233Sdimdouble16 __ovld __cnfn hypot(double16 x, double16 y);
7546303233Sdim#endif //cl_khr_fp64
7547303233Sdim#ifdef cl_khr_fp16
7548303233Sdimhalf __ovld __cnfn hypot(half x, half y);
7549303233Sdimhalf2 __ovld __cnfn hypot(half2 x, half2 y);
7550303233Sdimhalf3 __ovld __cnfn hypot(half3 x, half3 y);
7551303233Sdimhalf4 __ovld __cnfn hypot(half4 x, half4 y);
7552303233Sdimhalf8 __ovld __cnfn hypot(half8 x, half8 y);
7553303233Sdimhalf16 __ovld __cnfn hypot(half16 x, half16 y);
7554303233Sdim#endif //cl_khr_fp16
7555303233Sdim
7556303233Sdim/**
7557303233Sdim * Return the exponent as an integer value.
7558303233Sdim */
7559303233Sdimint __ovld __cnfn ilogb(float x);
7560303233Sdimint2 __ovld __cnfn ilogb(float2 x);
7561303233Sdimint3 __ovld __cnfn ilogb(float3 x);
7562303233Sdimint4 __ovld __cnfn ilogb(float4 x);
7563303233Sdimint8 __ovld __cnfn ilogb(float8 x);
7564303233Sdimint16 __ovld __cnfn ilogb(float16 x);
7565303233Sdim#ifdef cl_khr_fp64
7566303233Sdimint __ovld __cnfn ilogb(double x);
7567303233Sdimint2 __ovld __cnfn ilogb(double2 x);
7568303233Sdimint3 __ovld __cnfn ilogb(double3 x);
7569303233Sdimint4 __ovld __cnfn ilogb(double4 x);
7570303233Sdimint8 __ovld __cnfn ilogb(double8 x);
7571303233Sdimint16 __ovld __cnfn ilogb(double16 x);
7572303233Sdim#endif //cl_khr_fp64
7573303233Sdim#ifdef cl_khr_fp16
7574303233Sdimint __ovld __cnfn ilogb(half x);
7575303233Sdimint2 __ovld __cnfn ilogb(half2 x);
7576303233Sdimint3 __ovld __cnfn ilogb(half3 x);
7577303233Sdimint4 __ovld __cnfn ilogb(half4 x);
7578303233Sdimint8 __ovld __cnfn ilogb(half8 x);
7579303233Sdimint16 __ovld __cnfn ilogb(half16 x);
7580303233Sdim#endif //cl_khr_fp16
7581303233Sdim
7582303233Sdim/**
7583303233Sdim * Multiply x by 2 to the power n.
7584303233Sdim */
7585303233Sdimfloat __ovld __cnfn ldexp(float x, int n);
7586303233Sdimfloat2 __ovld __cnfn ldexp(float2 x, int2 n);
7587303233Sdimfloat3 __ovld __cnfn ldexp(float3 x, int3 n);
7588303233Sdimfloat4 __ovld __cnfn ldexp(float4 x, int4 n);
7589303233Sdimfloat8 __ovld __cnfn ldexp(float8 x, int8 n);
7590303233Sdimfloat16 __ovld __cnfn ldexp(float16 x, int16 n);
7591303233Sdimfloat2 __ovld __cnfn ldexp(float2 x, int n);
7592303233Sdimfloat3 __ovld __cnfn ldexp(float3 x, int n);
7593303233Sdimfloat4 __ovld __cnfn ldexp(float4 x, int n);
7594303233Sdimfloat8 __ovld __cnfn ldexp(float8 x, int n);
7595303233Sdimfloat16 __ovld __cnfn ldexp(float16 x, int n);
7596303233Sdim#ifdef cl_khr_fp64
7597303233Sdimdouble __ovld __cnfn ldexp(double x, int n);
7598303233Sdimdouble2 __ovld __cnfn ldexp(double2 x, int2 n);
7599303233Sdimdouble3 __ovld __cnfn ldexp(double3 x, int3 n);
7600303233Sdimdouble4 __ovld __cnfn ldexp(double4 x, int4 n);
7601303233Sdimdouble8 __ovld __cnfn ldexp(double8 x, int8 n);
7602303233Sdimdouble16 __ovld __cnfn ldexp(double16 x, int16 n);
7603303233Sdimdouble2 __ovld __cnfn ldexp(double2 x, int n);
7604303233Sdimdouble3 __ovld __cnfn ldexp(double3 x, int n);
7605303233Sdimdouble4 __ovld __cnfn ldexp(double4 x, int n);
7606303233Sdimdouble8 __ovld __cnfn ldexp(double8 x, int n);
7607303233Sdimdouble16 __ovld __cnfn ldexp(double16 x, int n);
7608303233Sdim#endif //cl_khr_fp64
7609303233Sdim#ifdef cl_khr_fp16
7610303233Sdimhalf __ovld __cnfn ldexp(half x, int n);
7611303233Sdimhalf2 __ovld __cnfn ldexp(half2 x, int2 n);
7612303233Sdimhalf3 __ovld __cnfn ldexp(half3 x, int3 n);
7613303233Sdimhalf4 __ovld __cnfn ldexp(half4 x, int4 n);
7614303233Sdimhalf8 __ovld __cnfn ldexp(half8 x, int8 n);
7615303233Sdimhalf16 __ovld __cnfn ldexp(half16 x, int16 n);
7616303233Sdimhalf2 __ovld __cnfn ldexp(half2 x, int n);
7617303233Sdimhalf3 __ovld __cnfn ldexp(half3 x, int n);
7618303233Sdimhalf4 __ovld __cnfn ldexp(half4 x, int n);
7619303233Sdimhalf8 __ovld __cnfn ldexp(half8 x, int n);
7620303233Sdimhalf16 __ovld __cnfn ldexp(half16 x, int n);
7621303233Sdim#endif //cl_khr_fp16
7622303233Sdim
7623303233Sdim/**
7624303233Sdim * Log gamma function. Returns the natural
7625303233Sdim * logarithm of the absolute value of the gamma
7626303233Sdim * function. The sign of the gamma function is
7627303233Sdim * returned in the signp argument of lgamma_r.
7628303233Sdim */
7629303233Sdimfloat __ovld __cnfn lgamma(float x);
7630303233Sdimfloat2 __ovld __cnfn lgamma(float2 x);
7631303233Sdimfloat3 __ovld __cnfn lgamma(float3 x);
7632303233Sdimfloat4 __ovld __cnfn lgamma(float4 x);
7633303233Sdimfloat8 __ovld __cnfn lgamma(float8 x);
7634303233Sdimfloat16 __ovld __cnfn lgamma(float16 x);
7635303233Sdim#ifdef cl_khr_fp64
7636303233Sdimdouble __ovld __cnfn lgamma(double x);
7637303233Sdimdouble2 __ovld __cnfn lgamma(double2 x);
7638303233Sdimdouble3 __ovld __cnfn lgamma(double3 x);
7639303233Sdimdouble4 __ovld __cnfn lgamma(double4 x);
7640303233Sdimdouble8 __ovld __cnfn lgamma(double8 x);
7641303233Sdimdouble16 __ovld __cnfn lgamma(double16 x);
7642303233Sdim#endif //cl_khr_fp64
7643303233Sdim#ifdef cl_khr_fp16
7644303233Sdimhalf __ovld __cnfn lgamma(half x);
7645303233Sdimhalf2 __ovld __cnfn lgamma(half2 x);
7646303233Sdimhalf3 __ovld __cnfn lgamma(half3 x);
7647303233Sdimhalf4 __ovld __cnfn lgamma(half4 x);
7648303233Sdimhalf8 __ovld __cnfn lgamma(half8 x);
7649303233Sdimhalf16 __ovld __cnfn lgamma(half16 x);
7650303233Sdim#endif //cl_khr_fp16
7651303233Sdim
7652353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7653303233Sdimfloat __ovld lgamma_r(float x, int *signp);
7654303233Sdimfloat2 __ovld lgamma_r(float2 x, int2 *signp);
7655303233Sdimfloat3 __ovld lgamma_r(float3 x, int3 *signp);
7656303233Sdimfloat4 __ovld lgamma_r(float4 x, int4 *signp);
7657303233Sdimfloat8 __ovld lgamma_r(float8 x, int8 *signp);
7658303233Sdimfloat16 __ovld lgamma_r(float16 x, int16 *signp);
7659303233Sdim#ifdef cl_khr_fp64
7660303233Sdimdouble __ovld lgamma_r(double x, int *signp);
7661303233Sdimdouble2 __ovld lgamma_r(double2 x, int2 *signp);
7662303233Sdimdouble3 __ovld lgamma_r(double3 x, int3 *signp);
7663303233Sdimdouble4 __ovld lgamma_r(double4 x, int4 *signp);
7664303233Sdimdouble8 __ovld lgamma_r(double8 x, int8 *signp);
7665303233Sdimdouble16 __ovld lgamma_r(double16 x, int16 *signp);
7666303233Sdim#endif //cl_khr_fp64
7667303233Sdim#ifdef cl_khr_fp16
7668303233Sdimhalf __ovld lgamma_r(half x, int *signp);
7669303233Sdimhalf2 __ovld lgamma_r(half2 x, int2 *signp);
7670303233Sdimhalf3 __ovld lgamma_r(half3 x, int3 *signp);
7671303233Sdimhalf4 __ovld lgamma_r(half4 x, int4 *signp);
7672303233Sdimhalf8 __ovld lgamma_r(half8 x, int8 *signp);
7673303233Sdimhalf16 __ovld lgamma_r(half16 x, int16 *signp);
7674303233Sdim#endif //cl_khr_fp16
7675303233Sdim#else
7676303233Sdimfloat __ovld lgamma_r(float x, __global int *signp);
7677303233Sdimfloat2 __ovld lgamma_r(float2 x, __global int2 *signp);
7678303233Sdimfloat3 __ovld lgamma_r(float3 x, __global int3 *signp);
7679303233Sdimfloat4 __ovld lgamma_r(float4 x, __global int4 *signp);
7680303233Sdimfloat8 __ovld lgamma_r(float8 x, __global int8 *signp);
7681303233Sdimfloat16 __ovld lgamma_r(float16 x, __global int16 *signp);
7682303233Sdimfloat __ovld lgamma_r(float x, __local int *signp);
7683303233Sdimfloat2 __ovld lgamma_r(float2 x, __local int2 *signp);
7684303233Sdimfloat3 __ovld lgamma_r(float3 x, __local int3 *signp);
7685303233Sdimfloat4 __ovld lgamma_r(float4 x, __local int4 *signp);
7686303233Sdimfloat8 __ovld lgamma_r(float8 x, __local int8 *signp);
7687303233Sdimfloat16 __ovld lgamma_r(float16 x, __local int16 *signp);
7688303233Sdimfloat __ovld lgamma_r(float x, __private int *signp);
7689303233Sdimfloat2 __ovld lgamma_r(float2 x, __private int2 *signp);
7690303233Sdimfloat3 __ovld lgamma_r(float3 x, __private int3 *signp);
7691303233Sdimfloat4 __ovld lgamma_r(float4 x, __private int4 *signp);
7692303233Sdimfloat8 __ovld lgamma_r(float8 x, __private int8 *signp);
7693303233Sdimfloat16 __ovld lgamma_r(float16 x, __private int16 *signp);
7694303233Sdim#ifdef cl_khr_fp64
7695303233Sdimdouble __ovld lgamma_r(double x, __global int *signp);
7696303233Sdimdouble2 __ovld lgamma_r(double2 x, __global int2 *signp);
7697303233Sdimdouble3 __ovld lgamma_r(double3 x, __global int3 *signp);
7698303233Sdimdouble4 __ovld lgamma_r(double4 x, __global int4 *signp);
7699303233Sdimdouble8 __ovld lgamma_r(double8 x, __global int8 *signp);
7700303233Sdimdouble16 __ovld lgamma_r(double16 x, __global int16 *signp);
7701303233Sdimdouble __ovld lgamma_r(double x, __local int *signp);
7702303233Sdimdouble2 __ovld lgamma_r(double2 x, __local int2 *signp);
7703303233Sdimdouble3 __ovld lgamma_r(double3 x, __local int3 *signp);
7704303233Sdimdouble4 __ovld lgamma_r(double4 x, __local int4 *signp);
7705303233Sdimdouble8 __ovld lgamma_r(double8 x, __local int8 *signp);
7706303233Sdimdouble16 __ovld lgamma_r(double16 x, __local int16 *signp);
7707303233Sdimdouble __ovld lgamma_r(double x, __private int *signp);
7708303233Sdimdouble2 __ovld lgamma_r(double2 x, __private int2 *signp);
7709303233Sdimdouble3 __ovld lgamma_r(double3 x, __private int3 *signp);
7710303233Sdimdouble4 __ovld lgamma_r(double4 x, __private int4 *signp);
7711303233Sdimdouble8 __ovld lgamma_r(double8 x, __private int8 *signp);
7712303233Sdimdouble16 __ovld lgamma_r(double16 x, __private int16 *signp);
7713303233Sdim#endif //cl_khr_fp64
7714303233Sdim#ifdef cl_khr_fp16
7715303233Sdimhalf __ovld lgamma_r(half x, __global int *signp);
7716303233Sdimhalf2 __ovld lgamma_r(half2 x, __global int2 *signp);
7717303233Sdimhalf3 __ovld lgamma_r(half3 x, __global int3 *signp);
7718303233Sdimhalf4 __ovld lgamma_r(half4 x, __global int4 *signp);
7719303233Sdimhalf8 __ovld lgamma_r(half8 x, __global int8 *signp);
7720303233Sdimhalf16 __ovld lgamma_r(half16 x, __global int16 *signp);
7721303233Sdimhalf __ovld lgamma_r(half x, __local int *signp);
7722303233Sdimhalf2 __ovld lgamma_r(half2 x, __local int2 *signp);
7723303233Sdimhalf3 __ovld lgamma_r(half3 x, __local int3 *signp);
7724303233Sdimhalf4 __ovld lgamma_r(half4 x, __local int4 *signp);
7725303233Sdimhalf8 __ovld lgamma_r(half8 x, __local int8 *signp);
7726303233Sdimhalf16 __ovld lgamma_r(half16 x, __local int16 *signp);
7727303233Sdimhalf __ovld lgamma_r(half x, __private int *signp);
7728303233Sdimhalf2 __ovld lgamma_r(half2 x, __private int2 *signp);
7729303233Sdimhalf3 __ovld lgamma_r(half3 x, __private int3 *signp);
7730303233Sdimhalf4 __ovld lgamma_r(half4 x, __private int4 *signp);
7731303233Sdimhalf8 __ovld lgamma_r(half8 x, __private int8 *signp);
7732303233Sdimhalf16 __ovld lgamma_r(half16 x, __private int16 *signp);
7733303233Sdim#endif //cl_khr_fp16
7734353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7735303233Sdim
7736303233Sdim/**
7737303233Sdim * Compute natural logarithm.
7738303233Sdim */
7739303233Sdimfloat __ovld __cnfn log(float);
7740303233Sdimfloat2 __ovld __cnfn log(float2);
7741303233Sdimfloat3 __ovld __cnfn log(float3);
7742303233Sdimfloat4 __ovld __cnfn log(float4);
7743303233Sdimfloat8 __ovld __cnfn log(float8);
7744303233Sdimfloat16 __ovld __cnfn log(float16);
7745303233Sdim#ifdef cl_khr_fp64
7746303233Sdimdouble __ovld __cnfn log(double);
7747303233Sdimdouble2 __ovld __cnfn log(double2);
7748303233Sdimdouble3 __ovld __cnfn log(double3);
7749303233Sdimdouble4 __ovld __cnfn log(double4);
7750303233Sdimdouble8 __ovld __cnfn log(double8);
7751303233Sdimdouble16 __ovld __cnfn log(double16);
7752303233Sdim#endif //cl_khr_fp64
7753303233Sdim#ifdef cl_khr_fp16
7754303233Sdimhalf __ovld __cnfn log(half);
7755303233Sdimhalf2 __ovld __cnfn log(half2);
7756303233Sdimhalf3 __ovld __cnfn log(half3);
7757303233Sdimhalf4 __ovld __cnfn log(half4);
7758303233Sdimhalf8 __ovld __cnfn log(half8);
7759303233Sdimhalf16 __ovld __cnfn log(half16);
7760303233Sdim#endif //cl_khr_fp16
7761303233Sdim
7762303233Sdim/**
7763303233Sdim * Compute a base 2 logarithm.
7764303233Sdim */
7765303233Sdimfloat __ovld __cnfn log2(float);
7766303233Sdimfloat2 __ovld __cnfn log2(float2);
7767303233Sdimfloat3 __ovld __cnfn log2(float3);
7768303233Sdimfloat4 __ovld __cnfn log2(float4);
7769303233Sdimfloat8 __ovld __cnfn log2(float8);
7770303233Sdimfloat16 __ovld __cnfn log2(float16);
7771303233Sdim#ifdef cl_khr_fp64
7772303233Sdimdouble __ovld __cnfn log2(double);
7773303233Sdimdouble2 __ovld __cnfn log2(double2);
7774303233Sdimdouble3 __ovld __cnfn log2(double3);
7775303233Sdimdouble4 __ovld __cnfn log2(double4);
7776303233Sdimdouble8 __ovld __cnfn log2(double8);
7777303233Sdimdouble16 __ovld __cnfn log2(double16);
7778303233Sdim#endif //cl_khr_fp64
7779303233Sdim#ifdef cl_khr_fp16
7780303233Sdimhalf __ovld __cnfn log2(half);
7781303233Sdimhalf2 __ovld __cnfn log2(half2);
7782303233Sdimhalf3 __ovld __cnfn log2(half3);
7783303233Sdimhalf4 __ovld __cnfn log2(half4);
7784303233Sdimhalf8 __ovld __cnfn log2(half8);
7785303233Sdimhalf16 __ovld __cnfn log2(half16);
7786303233Sdim#endif //cl_khr_fp16
7787303233Sdim
7788303233Sdim/**
7789303233Sdim * Compute a base 10 logarithm.
7790303233Sdim */
7791303233Sdimfloat __ovld __cnfn log10(float);
7792303233Sdimfloat2 __ovld __cnfn log10(float2);
7793303233Sdimfloat3 __ovld __cnfn log10(float3);
7794303233Sdimfloat4 __ovld __cnfn log10(float4);
7795303233Sdimfloat8 __ovld __cnfn log10(float8);
7796303233Sdimfloat16 __ovld __cnfn log10(float16);
7797303233Sdim#ifdef cl_khr_fp64
7798303233Sdimdouble __ovld __cnfn log10(double);
7799303233Sdimdouble2 __ovld __cnfn log10(double2);
7800303233Sdimdouble3 __ovld __cnfn log10(double3);
7801303233Sdimdouble4 __ovld __cnfn log10(double4);
7802303233Sdimdouble8 __ovld __cnfn log10(double8);
7803303233Sdimdouble16 __ovld __cnfn log10(double16);
7804303233Sdim#endif //cl_khr_fp64
7805303233Sdim#ifdef cl_khr_fp16
7806303233Sdimhalf __ovld __cnfn log10(half);
7807303233Sdimhalf2 __ovld __cnfn log10(half2);
7808303233Sdimhalf3 __ovld __cnfn log10(half3);
7809303233Sdimhalf4 __ovld __cnfn log10(half4);
7810303233Sdimhalf8 __ovld __cnfn log10(half8);
7811303233Sdimhalf16 __ovld __cnfn log10(half16);
7812303233Sdim#endif //cl_khr_fp16
7813303233Sdim
7814303233Sdim/**
7815303233Sdim * Compute a base e logarithm of (1.0 + x).
7816303233Sdim */
7817303233Sdimfloat __ovld __cnfn log1p(float x);
7818303233Sdimfloat2 __ovld __cnfn log1p(float2 x);
7819303233Sdimfloat3 __ovld __cnfn log1p(float3 x);
7820303233Sdimfloat4 __ovld __cnfn log1p(float4 x);
7821303233Sdimfloat8 __ovld __cnfn log1p(float8 x);
7822303233Sdimfloat16 __ovld __cnfn log1p(float16 x);
7823303233Sdim#ifdef cl_khr_fp64
7824303233Sdimdouble __ovld __cnfn log1p(double x);
7825303233Sdimdouble2 __ovld __cnfn log1p(double2 x);
7826303233Sdimdouble3 __ovld __cnfn log1p(double3 x);
7827303233Sdimdouble4 __ovld __cnfn log1p(double4 x);
7828303233Sdimdouble8 __ovld __cnfn log1p(double8 x);
7829303233Sdimdouble16 __ovld __cnfn log1p(double16 x);
7830303233Sdim#endif //cl_khr_fp64
7831303233Sdim#ifdef cl_khr_fp16
7832303233Sdimhalf __ovld __cnfn log1p(half x);
7833303233Sdimhalf2 __ovld __cnfn log1p(half2 x);
7834303233Sdimhalf3 __ovld __cnfn log1p(half3 x);
7835303233Sdimhalf4 __ovld __cnfn log1p(half4 x);
7836303233Sdimhalf8 __ovld __cnfn log1p(half8 x);
7837303233Sdimhalf16 __ovld __cnfn log1p(half16 x);
7838303233Sdim#endif //cl_khr_fp16
7839303233Sdim
7840303233Sdim/**
7841303233Sdim * Compute the exponent of x, which is the integral
7842303233Sdim * part of logr | x |.
7843303233Sdim */
7844303233Sdimfloat __ovld __cnfn logb(float x);
7845303233Sdimfloat2 __ovld __cnfn logb(float2 x);
7846303233Sdimfloat3 __ovld __cnfn logb(float3 x);
7847303233Sdimfloat4 __ovld __cnfn logb(float4 x);
7848303233Sdimfloat8 __ovld __cnfn logb(float8 x);
7849303233Sdimfloat16 __ovld __cnfn logb(float16 x);
7850303233Sdim#ifdef cl_khr_fp64
7851303233Sdimdouble __ovld __cnfn logb(double x);
7852303233Sdimdouble2 __ovld __cnfn logb(double2 x);
7853303233Sdimdouble3 __ovld __cnfn logb(double3 x);
7854303233Sdimdouble4 __ovld __cnfn logb(double4 x);
7855303233Sdimdouble8 __ovld __cnfn logb(double8 x);
7856303233Sdimdouble16 __ovld __cnfn logb(double16 x);
7857303233Sdim#endif //cl_khr_fp64
7858303233Sdim#ifdef cl_khr_fp16
7859303233Sdimhalf __ovld __cnfn logb(half x);
7860303233Sdimhalf2 __ovld __cnfn logb(half2 x);
7861303233Sdimhalf3 __ovld __cnfn logb(half3 x);
7862303233Sdimhalf4 __ovld __cnfn logb(half4 x);
7863303233Sdimhalf8 __ovld __cnfn logb(half8 x);
7864303233Sdimhalf16 __ovld __cnfn logb(half16 x);
7865303233Sdim#endif //cl_khr_fp16
7866303233Sdim
7867303233Sdim/**
7868303233Sdim * mad approximates a * b + c. Whether or how the
7869303233Sdim * product of a * b is rounded and how supernormal or
7870303233Sdim * subnormal intermediate products are handled is not
7871303233Sdim * defined. mad is intended to be used where speed is
7872303233Sdim * preferred over accuracy.
7873303233Sdim */
7874303233Sdimfloat __ovld __cnfn mad(float a, float b, float c);
7875303233Sdimfloat2 __ovld __cnfn mad(float2 a, float2 b, float2 c);
7876303233Sdimfloat3 __ovld __cnfn mad(float3 a, float3 b, float3 c);
7877303233Sdimfloat4 __ovld __cnfn mad(float4 a, float4 b, float4 c);
7878303233Sdimfloat8 __ovld __cnfn mad(float8 a, float8 b, float8 c);
7879303233Sdimfloat16 __ovld __cnfn mad(float16 a, float16 b, float16 c);
7880303233Sdim#ifdef cl_khr_fp64
7881303233Sdimdouble __ovld __cnfn mad(double a, double b, double c);
7882303233Sdimdouble2 __ovld __cnfn mad(double2 a, double2 b, double2 c);
7883303233Sdimdouble3 __ovld __cnfn mad(double3 a, double3 b, double3 c);
7884303233Sdimdouble4 __ovld __cnfn mad(double4 a, double4 b, double4 c);
7885303233Sdimdouble8 __ovld __cnfn mad(double8 a, double8 b, double8 c);
7886303233Sdimdouble16 __ovld __cnfn mad(double16 a, double16 b, double16 c);
7887303233Sdim#endif //cl_khr_fp64
7888303233Sdim#ifdef cl_khr_fp16
7889303233Sdimhalf __ovld __cnfn mad(half a, half b, half c);
7890303233Sdimhalf2 __ovld __cnfn mad(half2 a, half2 b, half2 c);
7891303233Sdimhalf3 __ovld __cnfn mad(half3 a, half3 b, half3 c);
7892303233Sdimhalf4 __ovld __cnfn mad(half4 a, half4 b, half4 c);
7893303233Sdimhalf8 __ovld __cnfn mad(half8 a, half8 b, half8 c);
7894303233Sdimhalf16 __ovld __cnfn mad(half16 a, half16 b, half16 c);
7895303233Sdim#endif //cl_khr_fp16
7896303233Sdim
7897303233Sdim/**
7898303233Sdim * Returns x if | x | > | y |, y if | y | > | x |, otherwise
7899303233Sdim * fmax(x, y).
7900303233Sdim */
7901303233Sdimfloat __ovld __cnfn maxmag(float x, float y);
7902303233Sdimfloat2 __ovld __cnfn maxmag(float2 x, float2 y);
7903303233Sdimfloat3 __ovld __cnfn maxmag(float3 x, float3 y);
7904303233Sdimfloat4 __ovld __cnfn maxmag(float4 x, float4 y);
7905303233Sdimfloat8 __ovld __cnfn maxmag(float8 x, float8 y);
7906303233Sdimfloat16 __ovld __cnfn maxmag(float16 x, float16 y);
7907303233Sdim#ifdef cl_khr_fp64
7908303233Sdimdouble __ovld __cnfn maxmag(double x, double y);
7909303233Sdimdouble2 __ovld __cnfn maxmag(double2 x, double2 y);
7910303233Sdimdouble3 __ovld __cnfn maxmag(double3 x, double3 y);
7911303233Sdimdouble4 __ovld __cnfn maxmag(double4 x, double4 y);
7912303233Sdimdouble8 __ovld __cnfn maxmag(double8 x, double8 y);
7913303233Sdimdouble16 __ovld __cnfn maxmag(double16 x, double16 y);
7914303233Sdim#endif //cl_khr_fp64
7915303233Sdim#ifdef cl_khr_fp16
7916303233Sdimhalf __ovld __cnfn maxmag(half x, half y);
7917303233Sdimhalf2 __ovld __cnfn maxmag(half2 x, half2 y);
7918303233Sdimhalf3 __ovld __cnfn maxmag(half3 x, half3 y);
7919303233Sdimhalf4 __ovld __cnfn maxmag(half4 x, half4 y);
7920303233Sdimhalf8 __ovld __cnfn maxmag(half8 x, half8 y);
7921303233Sdimhalf16 __ovld __cnfn maxmag(half16 x, half16 y);
7922303233Sdim#endif //cl_khr_fp16
7923303233Sdim
7924303233Sdim/**
7925303233Sdim * Returns x if | x | < | y |, y if | y | < | x |, otherwise
7926303233Sdim * fmin(x, y).
7927303233Sdim */
7928303233Sdimfloat __ovld __cnfn minmag(float x, float y);
7929303233Sdimfloat2 __ovld __cnfn minmag(float2 x, float2 y);
7930303233Sdimfloat3 __ovld __cnfn minmag(float3 x, float3 y);
7931303233Sdimfloat4 __ovld __cnfn minmag(float4 x, float4 y);
7932303233Sdimfloat8 __ovld __cnfn minmag(float8 x, float8 y);
7933303233Sdimfloat16 __ovld __cnfn minmag(float16 x, float16 y);
7934303233Sdim#ifdef cl_khr_fp64
7935303233Sdimdouble __ovld __cnfn minmag(double x, double y);
7936303233Sdimdouble2 __ovld __cnfn minmag(double2 x, double2 y);
7937303233Sdimdouble3 __ovld __cnfn minmag(double3 x, double3 y);
7938303233Sdimdouble4 __ovld __cnfn minmag(double4 x, double4 y);
7939303233Sdimdouble8 __ovld __cnfn minmag(double8 x, double8 y);
7940303233Sdimdouble16 __ovld __cnfn minmag(double16 x, double16 y);
7941303233Sdim#endif //cl_khr_fp64
7942303233Sdim#ifdef cl_khr_fp16
7943303233Sdimhalf __ovld __cnfn minmag(half x, half y);
7944303233Sdimhalf2 __ovld __cnfn minmag(half2 x, half2 y);
7945303233Sdimhalf3 __ovld __cnfn minmag(half3 x, half3 y);
7946303233Sdimhalf4 __ovld __cnfn minmag(half4 x, half4 y);
7947303233Sdimhalf8 __ovld __cnfn minmag(half8 x, half8 y);
7948303233Sdimhalf16 __ovld __cnfn minmag(half16 x, half16 y);
7949303233Sdim#endif //cl_khr_fp16
7950303233Sdim
7951303233Sdim/**
7952303233Sdim * Decompose a floating-point number. The modf
7953303233Sdim * function breaks the argument x into integral and
7954303233Sdim * fractional parts, each of which has the same sign as
7955303233Sdim * the argument. It stores the integral part in the object
7956303233Sdim * pointed to by iptr.
7957303233Sdim */
7958353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7959303233Sdimfloat __ovld modf(float x, float *iptr);
7960303233Sdimfloat2 __ovld modf(float2 x, float2 *iptr);
7961303233Sdimfloat3 __ovld modf(float3 x, float3 *iptr);
7962303233Sdimfloat4 __ovld modf(float4 x, float4 *iptr);
7963303233Sdimfloat8 __ovld modf(float8 x, float8 *iptr);
7964303233Sdimfloat16 __ovld modf(float16 x, float16 *iptr);
7965303233Sdim#ifdef cl_khr_fp64
7966303233Sdimdouble __ovld modf(double x, double *iptr);
7967303233Sdimdouble2 __ovld modf(double2 x, double2 *iptr);
7968303233Sdimdouble3 __ovld modf(double3 x, double3 *iptr);
7969303233Sdimdouble4 __ovld modf(double4 x, double4 *iptr);
7970303233Sdimdouble8 __ovld modf(double8 x, double8 *iptr);
7971303233Sdimdouble16 __ovld modf(double16 x, double16 *iptr);
7972303233Sdim#endif //cl_khr_fp64
7973303233Sdim#ifdef cl_khr_fp16
7974303233Sdimhalf __ovld modf(half x, half *iptr);
7975303233Sdimhalf2 __ovld modf(half2 x, half2 *iptr);
7976303233Sdimhalf3 __ovld modf(half3 x, half3 *iptr);
7977303233Sdimhalf4 __ovld modf(half4 x, half4 *iptr);
7978303233Sdimhalf8 __ovld modf(half8 x, half8 *iptr);
7979303233Sdimhalf16 __ovld modf(half16 x, half16 *iptr);
7980303233Sdim#endif //cl_khr_fp16
7981303233Sdim#else
7982303233Sdimfloat __ovld modf(float x, __global float *iptr);
7983303233Sdimfloat2 __ovld modf(float2 x, __global float2 *iptr);
7984303233Sdimfloat3 __ovld modf(float3 x, __global float3 *iptr);
7985303233Sdimfloat4 __ovld modf(float4 x, __global float4 *iptr);
7986303233Sdimfloat8 __ovld modf(float8 x, __global float8 *iptr);
7987303233Sdimfloat16 __ovld modf(float16 x, __global float16 *iptr);
7988303233Sdimfloat __ovld modf(float x, __local float *iptr);
7989303233Sdimfloat2 __ovld modf(float2 x, __local float2 *iptr);
7990303233Sdimfloat3 __ovld modf(float3 x, __local float3 *iptr);
7991303233Sdimfloat4 __ovld modf(float4 x, __local float4 *iptr);
7992303233Sdimfloat8 __ovld modf(float8 x, __local float8 *iptr);
7993303233Sdimfloat16 __ovld modf(float16 x, __local float16 *iptr);
7994303233Sdimfloat __ovld modf(float x, __private float *iptr);
7995303233Sdimfloat2 __ovld modf(float2 x, __private float2 *iptr);
7996303233Sdimfloat3 __ovld modf(float3 x, __private float3 *iptr);
7997303233Sdimfloat4 __ovld modf(float4 x, __private float4 *iptr);
7998303233Sdimfloat8 __ovld modf(float8 x, __private float8 *iptr);
7999303233Sdimfloat16 __ovld modf(float16 x, __private float16 *iptr);
8000303233Sdim#ifdef cl_khr_fp64
8001303233Sdimdouble __ovld modf(double x, __global double *iptr);
8002303233Sdimdouble2 __ovld modf(double2 x, __global double2 *iptr);
8003303233Sdimdouble3 __ovld modf(double3 x, __global double3 *iptr);
8004303233Sdimdouble4 __ovld modf(double4 x, __global double4 *iptr);
8005303233Sdimdouble8 __ovld modf(double8 x, __global double8 *iptr);
8006303233Sdimdouble16 __ovld modf(double16 x, __global double16 *iptr);
8007303233Sdimdouble __ovld modf(double x, __local double *iptr);
8008303233Sdimdouble2 __ovld modf(double2 x, __local double2 *iptr);
8009303233Sdimdouble3 __ovld modf(double3 x, __local double3 *iptr);
8010303233Sdimdouble4 __ovld modf(double4 x, __local double4 *iptr);
8011303233Sdimdouble8 __ovld modf(double8 x, __local double8 *iptr);
8012303233Sdimdouble16 __ovld modf(double16 x, __local double16 *iptr);
8013303233Sdimdouble __ovld modf(double x, __private double *iptr);
8014303233Sdimdouble2 __ovld modf(double2 x, __private double2 *iptr);
8015303233Sdimdouble3 __ovld modf(double3 x, __private double3 *iptr);
8016303233Sdimdouble4 __ovld modf(double4 x, __private double4 *iptr);
8017303233Sdimdouble8 __ovld modf(double8 x, __private double8 *iptr);
8018303233Sdimdouble16 __ovld modf(double16 x, __private double16 *iptr);
8019303233Sdim#endif //cl_khr_fp64
8020303233Sdim#ifdef cl_khr_fp16
8021303233Sdimhalf __ovld modf(half x, __global half *iptr);
8022303233Sdimhalf2 __ovld modf(half2 x, __global half2 *iptr);
8023303233Sdimhalf3 __ovld modf(half3 x, __global half3 *iptr);
8024303233Sdimhalf4 __ovld modf(half4 x, __global half4 *iptr);
8025303233Sdimhalf8 __ovld modf(half8 x, __global half8 *iptr);
8026303233Sdimhalf16 __ovld modf(half16 x, __global half16 *iptr);
8027303233Sdimhalf __ovld modf(half x, __local half *iptr);
8028303233Sdimhalf2 __ovld modf(half2 x, __local half2 *iptr);
8029303233Sdimhalf3 __ovld modf(half3 x, __local half3 *iptr);
8030303233Sdimhalf4 __ovld modf(half4 x, __local half4 *iptr);
8031303233Sdimhalf8 __ovld modf(half8 x, __local half8 *iptr);
8032303233Sdimhalf16 __ovld modf(half16 x, __local half16 *iptr);
8033303233Sdimhalf __ovld modf(half x, __private half *iptr);
8034303233Sdimhalf2 __ovld modf(half2 x, __private half2 *iptr);
8035303233Sdimhalf3 __ovld modf(half3 x, __private half3 *iptr);
8036303233Sdimhalf4 __ovld modf(half4 x, __private half4 *iptr);
8037303233Sdimhalf8 __ovld modf(half8 x, __private half8 *iptr);
8038303233Sdimhalf16 __ovld modf(half16 x, __private half16 *iptr);
8039303233Sdim#endif //cl_khr_fp16
8040353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
8041303233Sdim
8042303233Sdim/**
8043303233Sdim * Returns a quiet NaN. The nancode may be placed
8044303233Sdim * in the significand of the resulting NaN.
8045303233Sdim */
8046303233Sdimfloat __ovld __cnfn nan(uint nancode);
8047303233Sdimfloat2 __ovld __cnfn nan(uint2 nancode);
8048303233Sdimfloat3 __ovld __cnfn nan(uint3 nancode);
8049303233Sdimfloat4 __ovld __cnfn nan(uint4 nancode);
8050303233Sdimfloat8 __ovld __cnfn nan(uint8 nancode);
8051303233Sdimfloat16 __ovld __cnfn nan(uint16 nancode);
8052303233Sdim#ifdef cl_khr_fp64
8053303233Sdimdouble __ovld __cnfn nan(ulong nancode);
8054303233Sdimdouble2 __ovld __cnfn nan(ulong2 nancode);
8055303233Sdimdouble3 __ovld __cnfn nan(ulong3 nancode);
8056303233Sdimdouble4 __ovld __cnfn nan(ulong4 nancode);
8057303233Sdimdouble8 __ovld __cnfn nan(ulong8 nancode);
8058303233Sdimdouble16 __ovld __cnfn nan(ulong16 nancode);
8059303233Sdim#endif //cl_khr_fp64
8060303233Sdim#ifdef cl_khr_fp16
8061303233Sdimhalf __ovld __cnfn nan(ushort nancode);
8062303233Sdimhalf2 __ovld __cnfn nan(ushort2 nancode);
8063303233Sdimhalf3 __ovld __cnfn nan(ushort3 nancode);
8064303233Sdimhalf4 __ovld __cnfn nan(ushort4 nancode);
8065303233Sdimhalf8 __ovld __cnfn nan(ushort8 nancode);
8066303233Sdimhalf16 __ovld __cnfn nan(ushort16 nancode);
8067303233Sdim#endif //cl_khr_fp16
8068303233Sdim
8069303233Sdim/**
8070303233Sdim * Computes the next representable single-precision
8071303233Sdim * floating-point value following x in the direction of
8072303233Sdim * y. Thus, if y is less than x, nextafter() returns the
8073303233Sdim * largest representable floating-point number less
8074303233Sdim * than x.
8075303233Sdim */
8076303233Sdimfloat __ovld __cnfn nextafter(float x, float y);
8077303233Sdimfloat2 __ovld __cnfn nextafter(float2 x, float2 y);
8078303233Sdimfloat3 __ovld __cnfn nextafter(float3 x, float3 y);
8079303233Sdimfloat4 __ovld __cnfn nextafter(float4 x, float4 y);
8080303233Sdimfloat8 __ovld __cnfn nextafter(float8 x, float8 y);
8081303233Sdimfloat16 __ovld __cnfn nextafter(float16 x, float16 y);
8082303233Sdim#ifdef cl_khr_fp64
8083303233Sdimdouble __ovld __cnfn nextafter(double x, double y);
8084303233Sdimdouble2 __ovld __cnfn nextafter(double2 x, double2 y);
8085303233Sdimdouble3 __ovld __cnfn nextafter(double3 x, double3 y);
8086303233Sdimdouble4 __ovld __cnfn nextafter(double4 x, double4 y);
8087303233Sdimdouble8 __ovld __cnfn nextafter(double8 x, double8 y);
8088303233Sdimdouble16 __ovld __cnfn nextafter(double16 x, double16 y);
8089303233Sdim#endif //cl_khr_fp64
8090303233Sdim#ifdef cl_khr_fp16
8091303233Sdimhalf __ovld __cnfn nextafter(half x, half y);
8092303233Sdimhalf2 __ovld __cnfn nextafter(half2 x, half2 y);
8093303233Sdimhalf3 __ovld __cnfn nextafter(half3 x, half3 y);
8094303233Sdimhalf4 __ovld __cnfn nextafter(half4 x, half4 y);
8095303233Sdimhalf8 __ovld __cnfn nextafter(half8 x, half8 y);
8096303233Sdimhalf16 __ovld __cnfn nextafter(half16 x, half16 y);
8097303233Sdim#endif //cl_khr_fp16
8098303233Sdim
8099303233Sdim/**
8100303233Sdim * Compute x to the power y.
8101303233Sdim */
8102303233Sdimfloat __ovld __cnfn pow(float x, float y);
8103303233Sdimfloat2 __ovld __cnfn pow(float2 x, float2 y);
8104303233Sdimfloat3 __ovld __cnfn pow(float3 x, float3 y);
8105303233Sdimfloat4 __ovld __cnfn pow(float4 x, float4 y);
8106303233Sdimfloat8 __ovld __cnfn pow(float8 x, float8 y);
8107303233Sdimfloat16 __ovld __cnfn pow(float16 x, float16 y);
8108303233Sdim#ifdef cl_khr_fp64
8109303233Sdimdouble __ovld __cnfn pow(double x, double y);
8110303233Sdimdouble2 __ovld __cnfn pow(double2 x, double2 y);
8111303233Sdimdouble3 __ovld __cnfn pow(double3 x, double3 y);
8112303233Sdimdouble4 __ovld __cnfn pow(double4 x, double4 y);
8113303233Sdimdouble8 __ovld __cnfn pow(double8 x, double8 y);
8114303233Sdimdouble16 __ovld __cnfn pow(double16 x, double16 y);
8115303233Sdim#endif //cl_khr_fp64
8116303233Sdim#ifdef cl_khr_fp16
8117303233Sdimhalf __ovld __cnfn pow(half x, half y);
8118303233Sdimhalf2 __ovld __cnfn pow(half2 x, half2 y);
8119303233Sdimhalf3 __ovld __cnfn pow(half3 x, half3 y);
8120303233Sdimhalf4 __ovld __cnfn pow(half4 x, half4 y);
8121303233Sdimhalf8 __ovld __cnfn pow(half8 x, half8 y);
8122303233Sdimhalf16 __ovld __cnfn pow(half16 x, half16 y);
8123303233Sdim#endif //cl_khr_fp16
8124303233Sdim
8125303233Sdim/**
8126303233Sdim * Compute x to the power y, where y is an integer.
8127303233Sdim */
8128303233Sdimfloat __ovld __cnfn pown(float x, int y);
8129303233Sdimfloat2 __ovld __cnfn pown(float2 x, int2 y);
8130303233Sdimfloat3 __ovld __cnfn pown(float3 x, int3 y);
8131303233Sdimfloat4 __ovld __cnfn pown(float4 x, int4 y);
8132303233Sdimfloat8 __ovld __cnfn pown(float8 x, int8 y);
8133303233Sdimfloat16 __ovld __cnfn pown(float16 x, int16 y);
8134303233Sdim#ifdef cl_khr_fp64
8135303233Sdimdouble __ovld __cnfn pown(double x, int y);
8136303233Sdimdouble2 __ovld __cnfn pown(double2 x, int2 y);
8137303233Sdimdouble3 __ovld __cnfn pown(double3 x, int3 y);
8138303233Sdimdouble4 __ovld __cnfn pown(double4 x, int4 y);
8139303233Sdimdouble8 __ovld __cnfn pown(double8 x, int8 y);
8140303233Sdimdouble16 __ovld __cnfn pown(double16 x, int16 y);
8141303233Sdim#endif //cl_khr_fp64
8142303233Sdim#ifdef cl_khr_fp16
8143303233Sdimhalf __ovld __cnfn pown(half x, int y);
8144303233Sdimhalf2 __ovld __cnfn pown(half2 x, int2 y);
8145303233Sdimhalf3 __ovld __cnfn pown(half3 x, int3 y);
8146303233Sdimhalf4 __ovld __cnfn pown(half4 x, int4 y);
8147303233Sdimhalf8 __ovld __cnfn pown(half8 x, int8 y);
8148303233Sdimhalf16 __ovld __cnfn pown(half16 x, int16 y);
8149303233Sdim#endif //cl_khr_fp16
8150303233Sdim
8151303233Sdim/**
8152303233Sdim * Compute x to the power y, where x is >= 0.
8153303233Sdim */
8154303233Sdimfloat __ovld __cnfn powr(float x, float y);
8155303233Sdimfloat2 __ovld __cnfn powr(float2 x, float2 y);
8156303233Sdimfloat3 __ovld __cnfn powr(float3 x, float3 y);
8157303233Sdimfloat4 __ovld __cnfn powr(float4 x, float4 y);
8158303233Sdimfloat8 __ovld __cnfn powr(float8 x, float8 y);
8159303233Sdimfloat16 __ovld __cnfn powr(float16 x, float16 y);
8160303233Sdim#ifdef cl_khr_fp64
8161303233Sdimdouble __ovld __cnfn powr(double x, double y);
8162303233Sdimdouble2 __ovld __cnfn powr(double2 x, double2 y);
8163303233Sdimdouble3 __ovld __cnfn powr(double3 x, double3 y);
8164303233Sdimdouble4 __ovld __cnfn powr(double4 x, double4 y);
8165303233Sdimdouble8 __ovld __cnfn powr(double8 x, double8 y);
8166303233Sdimdouble16 __ovld __cnfn powr(double16 x, double16 y);
8167303233Sdim#endif //cl_khr_fp64
8168303233Sdim#ifdef cl_khr_fp16
8169303233Sdimhalf __ovld __cnfn powr(half x, half y);
8170303233Sdimhalf2 __ovld __cnfn powr(half2 x, half2 y);
8171303233Sdimhalf3 __ovld __cnfn powr(half3 x, half3 y);
8172303233Sdimhalf4 __ovld __cnfn powr(half4 x, half4 y);
8173303233Sdimhalf8 __ovld __cnfn powr(half8 x, half8 y);
8174303233Sdimhalf16 __ovld __cnfn powr(half16 x, half16 y);
8175303233Sdim#endif //cl_khr_fp16
8176303233Sdim
8177303233Sdim/**
8178303233Sdim * Compute the value r such that r = x - n*y, where n
8179303233Sdim * is the integer nearest the exact value of x/y. If there
8180303233Sdim * are two integers closest to x/y, n shall be the even
8181303233Sdim * one. If r is zero, it is given the same sign as x.
8182303233Sdim */
8183303233Sdimfloat __ovld __cnfn remainder(float x, float y);
8184303233Sdimfloat2 __ovld __cnfn remainder(float2 x, float2 y);
8185303233Sdimfloat3 __ovld __cnfn remainder(float3 x, float3 y);
8186303233Sdimfloat4 __ovld __cnfn remainder(float4 x, float4 y);
8187303233Sdimfloat8 __ovld __cnfn remainder(float8 x, float8 y);
8188303233Sdimfloat16 __ovld __cnfn remainder(float16 x, float16 y);
8189303233Sdim#ifdef cl_khr_fp64
8190303233Sdimdouble __ovld __cnfn remainder(double x, double y);
8191303233Sdimdouble2 __ovld __cnfn remainder(double2 x, double2 y);
8192303233Sdimdouble3 __ovld __cnfn remainder(double3 x, double3 y);
8193303233Sdimdouble4 __ovld __cnfn remainder(double4 x, double4 y);
8194303233Sdimdouble8 __ovld __cnfn remainder(double8 x, double8 y);
8195303233Sdimdouble16 __ovld __cnfn remainder(double16 x, double16 y);
8196303233Sdim#endif //cl_khr_fp64
8197303233Sdim#ifdef cl_khr_fp16
8198303233Sdimhalf __ovld __cnfn remainder(half x, half y);
8199303233Sdimhalf2 __ovld __cnfn remainder(half2 x, half2 y);
8200303233Sdimhalf3 __ovld __cnfn remainder(half3 x, half3 y);
8201303233Sdimhalf4 __ovld __cnfn remainder(half4 x, half4 y);
8202303233Sdimhalf8 __ovld __cnfn remainder(half8 x, half8 y);
8203303233Sdimhalf16 __ovld __cnfn remainder(half16 x, half16 y);
8204303233Sdim#endif //cl_khr_fp16
8205303233Sdim
8206303233Sdim/**
8207303233Sdim * The remquo function computes the value r such
8208303233Sdim * that r = x - n*y, where n is the integer nearest the
8209303233Sdim * exact value of x/y. If there are two integers closest
8210303233Sdim * to x/y, n shall be the even one. If r is zero, it is
8211303233Sdim * given the same sign as x. This is the same value
8212303233Sdim * that is returned by the remainder function.
8213303233Sdim * remquo also calculates the lower seven bits of the
8214303233Sdim * integral quotient x/y, and gives that value the same
8215303233Sdim * sign as x/y. It stores this signed value in the object
8216303233Sdim * pointed to by quo.
8217303233Sdim */
8218353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
8219303233Sdimfloat __ovld remquo(float x, float y, int *quo);
8220303233Sdimfloat2 __ovld remquo(float2 x, float2 y, int2 *quo);
8221303233Sdimfloat3 __ovld remquo(float3 x, float3 y, int3 *quo);
8222303233Sdimfloat4 __ovld remquo(float4 x, float4 y, int4 *quo);
8223303233Sdimfloat8 __ovld remquo(float8 x, float8 y, int8 *quo);
8224303233Sdimfloat16 __ovld remquo(float16 x, float16 y, int16 *quo);
8225303233Sdim#ifdef cl_khr_fp64
8226303233Sdimdouble __ovld remquo(double x, double y, int *quo);
8227303233Sdimdouble2 __ovld remquo(double2 x, double2 y, int2 *quo);
8228303233Sdimdouble3 __ovld remquo(double3 x, double3 y, int3 *quo);
8229303233Sdimdouble4 __ovld remquo(double4 x, double4 y, int4 *quo);
8230303233Sdimdouble8 __ovld remquo(double8 x, double8 y, int8 *quo);
8231303233Sdimdouble16 __ovld remquo(double16 x, double16 y, int16 *quo);
8232303233Sdim#endif //cl_khr_fp64
8233303233Sdim#ifdef cl_khr_fp16
8234303233Sdimhalf __ovld remquo(half x, half y, int *quo);
8235303233Sdimhalf2 __ovld remquo(half2 x, half2 y, int2 *quo);
8236303233Sdimhalf3 __ovld remquo(half3 x, half3 y, int3 *quo);
8237303233Sdimhalf4 __ovld remquo(half4 x, half4 y, int4 *quo);
8238303233Sdimhalf8 __ovld remquo(half8 x, half8 y, int8 *quo);
8239303233Sdimhalf16 __ovld remquo(half16 x, half16 y, int16 *quo);
8240303233Sdim
8241303233Sdim#endif //cl_khr_fp16
8242303233Sdim#else
8243303233Sdimfloat __ovld remquo(float x, float y, __global int *quo);
8244303233Sdimfloat2 __ovld remquo(float2 x, float2 y, __global int2 *quo);
8245303233Sdimfloat3 __ovld remquo(float3 x, float3 y, __global int3 *quo);
8246303233Sdimfloat4 __ovld remquo(float4 x, float4 y, __global int4 *quo);
8247303233Sdimfloat8 __ovld remquo(float8 x, float8 y, __global int8 *quo);
8248303233Sdimfloat16 __ovld remquo(float16 x, float16 y, __global int16 *quo);
8249303233Sdimfloat __ovld remquo(float x, float y, __local int *quo);
8250303233Sdimfloat2 __ovld remquo(float2 x, float2 y, __local int2 *quo);
8251303233Sdimfloat3 __ovld remquo(float3 x, float3 y, __local int3 *quo);
8252303233Sdimfloat4 __ovld remquo(float4 x, float4 y, __local int4 *quo);
8253303233Sdimfloat8 __ovld remquo(float8 x, float8 y, __local int8 *quo);
8254303233Sdimfloat16 __ovld remquo(float16 x, float16 y, __local int16 *quo);
8255303233Sdimfloat __ovld remquo(float x, float y, __private int *quo);
8256303233Sdimfloat2 __ovld remquo(float2 x, float2 y, __private int2 *quo);
8257303233Sdimfloat3 __ovld remquo(float3 x, float3 y, __private int3 *quo);
8258303233Sdimfloat4 __ovld remquo(float4 x, float4 y, __private int4 *quo);
8259303233Sdimfloat8 __ovld remquo(float8 x, float8 y, __private int8 *quo);
8260303233Sdimfloat16 __ovld remquo(float16 x, float16 y, __private int16 *quo);
8261303233Sdim#ifdef cl_khr_fp64
8262303233Sdimdouble __ovld remquo(double x, double y, __global int *quo);
8263303233Sdimdouble2 __ovld remquo(double2 x, double2 y, __global int2 *quo);
8264303233Sdimdouble3 __ovld remquo(double3 x, double3 y, __global int3 *quo);
8265303233Sdimdouble4 __ovld remquo(double4 x, double4 y, __global int4 *quo);
8266303233Sdimdouble8 __ovld remquo(double8 x, double8 y, __global int8 *quo);
8267303233Sdimdouble16 __ovld remquo(double16 x, double16 y, __global int16 *quo);
8268303233Sdimdouble __ovld remquo(double x, double y, __local int *quo);
8269303233Sdimdouble2 __ovld remquo(double2 x, double2 y, __local int2 *quo);
8270303233Sdimdouble3 __ovld remquo(double3 x, double3 y, __local int3 *quo);
8271303233Sdimdouble4 __ovld remquo(double4 x, double4 y, __local int4 *quo);
8272303233Sdimdouble8 __ovld remquo(double8 x, double8 y, __local int8 *quo);
8273303233Sdimdouble16 __ovld remquo(double16 x, double16 y, __local int16 *quo);
8274303233Sdimdouble __ovld remquo(double x, double y, __private int *quo);
8275303233Sdimdouble2 __ovld remquo(double2 x, double2 y, __private int2 *quo);
8276303233Sdimdouble3 __ovld remquo(double3 x, double3 y, __private int3 *quo);
8277303233Sdimdouble4 __ovld remquo(double4 x, double4 y, __private int4 *quo);
8278303233Sdimdouble8 __ovld remquo(double8 x, double8 y, __private int8 *quo);
8279303233Sdimdouble16 __ovld remquo(double16 x, double16 y, __private int16 *quo);
8280303233Sdim#endif //cl_khr_fp64
8281303233Sdim#ifdef cl_khr_fp16
8282303233Sdimhalf __ovld remquo(half x, half y, __global int *quo);
8283303233Sdimhalf2 __ovld remquo(half2 x, half2 y, __global int2 *quo);
8284303233Sdimhalf3 __ovld remquo(half3 x, half3 y, __global int3 *quo);
8285303233Sdimhalf4 __ovld remquo(half4 x, half4 y, __global int4 *quo);
8286303233Sdimhalf8 __ovld remquo(half8 x, half8 y, __global int8 *quo);
8287303233Sdimhalf16 __ovld remquo(half16 x, half16 y, __global int16 *quo);
8288303233Sdimhalf __ovld remquo(half x, half y, __local int *quo);
8289303233Sdimhalf2 __ovld remquo(half2 x, half2 y, __local int2 *quo);
8290303233Sdimhalf3 __ovld remquo(half3 x, half3 y, __local int3 *quo);
8291303233Sdimhalf4 __ovld remquo(half4 x, half4 y, __local int4 *quo);
8292303233Sdimhalf8 __ovld remquo(half8 x, half8 y, __local int8 *quo);
8293303233Sdimhalf16 __ovld remquo(half16 x, half16 y, __local int16 *quo);
8294303233Sdimhalf __ovld remquo(half x, half y, __private int *quo);
8295303233Sdimhalf2 __ovld remquo(half2 x, half2 y, __private int2 *quo);
8296303233Sdimhalf3 __ovld remquo(half3 x, half3 y, __private int3 *quo);
8297303233Sdimhalf4 __ovld remquo(half4 x, half4 y, __private int4 *quo);
8298303233Sdimhalf8 __ovld remquo(half8 x, half8 y, __private int8 *quo);
8299303233Sdimhalf16 __ovld remquo(half16 x, half16 y, __private int16 *quo);
8300303233Sdim#endif //cl_khr_fp16
8301353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
8302303233Sdim/**
8303303233Sdim * Round to integral value (using round to nearest
8304303233Sdim * even rounding mode) in floating-point format.
8305303233Sdim * Refer to section 7.1 for description of rounding
8306303233Sdim * modes.
8307303233Sdim */
8308303233Sdimfloat __ovld __cnfn rint(float);
8309303233Sdimfloat2 __ovld __cnfn rint(float2);
8310303233Sdimfloat3 __ovld __cnfn rint(float3);
8311303233Sdimfloat4 __ovld __cnfn rint(float4);
8312303233Sdimfloat8 __ovld __cnfn rint(float8);
8313303233Sdimfloat16 __ovld __cnfn rint(float16);
8314303233Sdim#ifdef cl_khr_fp64
8315303233Sdimdouble __ovld __cnfn rint(double);
8316303233Sdimdouble2 __ovld __cnfn rint(double2);
8317303233Sdimdouble3 __ovld __cnfn rint(double3);
8318303233Sdimdouble4 __ovld __cnfn rint(double4);
8319303233Sdimdouble8 __ovld __cnfn rint(double8);
8320303233Sdimdouble16 __ovld __cnfn rint(double16);
8321303233Sdim#endif //cl_khr_fp64
8322303233Sdim#ifdef cl_khr_fp16
8323303233Sdimhalf __ovld __cnfn rint(half);
8324303233Sdimhalf2 __ovld __cnfn rint(half2);
8325303233Sdimhalf3 __ovld __cnfn rint(half3);
8326303233Sdimhalf4 __ovld __cnfn rint(half4);
8327303233Sdimhalf8 __ovld __cnfn rint(half8);
8328303233Sdimhalf16 __ovld __cnfn rint(half16);
8329303233Sdim#endif //cl_khr_fp16
8330303233Sdim
8331303233Sdim/**
8332303233Sdim * Compute x to the power 1/y.
8333303233Sdim */
8334303233Sdimfloat __ovld __cnfn rootn(float x, int y);
8335303233Sdimfloat2 __ovld __cnfn rootn(float2 x, int2 y);
8336303233Sdimfloat3 __ovld __cnfn rootn(float3 x, int3 y);
8337303233Sdimfloat4 __ovld __cnfn rootn(float4 x, int4 y);
8338303233Sdimfloat8 __ovld __cnfn rootn(float8 x, int8 y);
8339303233Sdimfloat16 __ovld __cnfn rootn(float16 x, int16 y);
8340303233Sdim#ifdef cl_khr_fp64
8341303233Sdimdouble __ovld __cnfn rootn(double x, int y);
8342303233Sdimdouble2 __ovld __cnfn rootn(double2 x, int2 y);
8343303233Sdimdouble3 __ovld __cnfn rootn(double3 x, int3 y);
8344303233Sdimdouble4 __ovld __cnfn rootn(double4 x, int4 y);
8345303233Sdimdouble8 __ovld __cnfn rootn(double8 x, int8 y);
8346303233Sdimdouble16 __ovld __cnfn rootn(double16 x, int16 y);
8347303233Sdim#endif //cl_khr_fp64
8348303233Sdim#ifdef cl_khr_fp16
8349303233Sdimhalf __ovld __cnfn rootn(half x, int y);
8350303233Sdimhalf2 __ovld __cnfn rootn(half2 x, int2 y);
8351303233Sdimhalf3 __ovld __cnfn rootn(half3 x, int3 y);
8352303233Sdimhalf4 __ovld __cnfn rootn(half4 x, int4 y);
8353303233Sdimhalf8 __ovld __cnfn rootn(half8 x, int8 y);
8354303233Sdimhalf16 __ovld __cnfn rootn(half16 x, int16 y);
8355303233Sdim#endif //cl_khr_fp16
8356303233Sdim
8357303233Sdim/**
8358303233Sdim * Return the integral value nearest to x rounding
8359303233Sdim * halfway cases away from zero, regardless of the
8360303233Sdim * current rounding direction.
8361303233Sdim */
8362303233Sdimfloat __ovld __cnfn round(float x);
8363303233Sdimfloat2 __ovld __cnfn round(float2 x);
8364303233Sdimfloat3 __ovld __cnfn round(float3 x);
8365303233Sdimfloat4 __ovld __cnfn round(float4 x);
8366303233Sdimfloat8 __ovld __cnfn round(float8 x);
8367303233Sdimfloat16 __ovld __cnfn round(float16 x);
8368303233Sdim#ifdef cl_khr_fp64
8369303233Sdimdouble __ovld __cnfn round(double x);
8370303233Sdimdouble2 __ovld __cnfn round(double2 x);
8371303233Sdimdouble3 __ovld __cnfn round(double3 x);
8372303233Sdimdouble4 __ovld __cnfn round(double4 x);
8373303233Sdimdouble8 __ovld __cnfn round(double8 x);
8374303233Sdimdouble16 __ovld __cnfn round(double16 x);
8375303233Sdim#endif //cl_khr_fp64
8376303233Sdim#ifdef cl_khr_fp16
8377303233Sdimhalf __ovld __cnfn round(half x);
8378303233Sdimhalf2 __ovld __cnfn round(half2 x);
8379303233Sdimhalf3 __ovld __cnfn round(half3 x);
8380303233Sdimhalf4 __ovld __cnfn round(half4 x);
8381303233Sdimhalf8 __ovld __cnfn round(half8 x);
8382303233Sdimhalf16 __ovld __cnfn round(half16 x);
8383303233Sdim#endif //cl_khr_fp16
8384303233Sdim
8385303233Sdim/**
8386303233Sdim * Compute inverse square root.
8387303233Sdim */
8388303233Sdimfloat __ovld __cnfn rsqrt(float);
8389303233Sdimfloat2 __ovld __cnfn rsqrt(float2);
8390303233Sdimfloat3 __ovld __cnfn rsqrt(float3);
8391303233Sdimfloat4 __ovld __cnfn rsqrt(float4);
8392303233Sdimfloat8 __ovld __cnfn rsqrt(float8);
8393303233Sdimfloat16 __ovld __cnfn rsqrt(float16);
8394303233Sdim#ifdef cl_khr_fp64
8395303233Sdimdouble __ovld __cnfn rsqrt(double);
8396303233Sdimdouble2 __ovld __cnfn rsqrt(double2);
8397303233Sdimdouble3 __ovld __cnfn rsqrt(double3);
8398303233Sdimdouble4 __ovld __cnfn rsqrt(double4);
8399303233Sdimdouble8 __ovld __cnfn rsqrt(double8);
8400303233Sdimdouble16 __ovld __cnfn rsqrt(double16);
8401303233Sdim#endif //cl_khr_fp64
8402303233Sdim#ifdef cl_khr_fp16
8403303233Sdimhalf __ovld __cnfn rsqrt(half);
8404303233Sdimhalf2 __ovld __cnfn rsqrt(half2);
8405303233Sdimhalf3 __ovld __cnfn rsqrt(half3);
8406303233Sdimhalf4 __ovld __cnfn rsqrt(half4);
8407303233Sdimhalf8 __ovld __cnfn rsqrt(half8);
8408303233Sdimhalf16 __ovld __cnfn rsqrt(half16);
8409303233Sdim#endif //cl_khr_fp16
8410303233Sdim
8411303233Sdim/**
8412303233Sdim * Compute sine.
8413303233Sdim */
8414303233Sdimfloat __ovld __cnfn sin(float);
8415303233Sdimfloat2 __ovld __cnfn sin(float2);
8416303233Sdimfloat3 __ovld __cnfn sin(float3);
8417303233Sdimfloat4 __ovld __cnfn sin(float4);
8418303233Sdimfloat8 __ovld __cnfn sin(float8);
8419303233Sdimfloat16 __ovld __cnfn sin(float16);
8420303233Sdim#ifdef cl_khr_fp64
8421303233Sdimdouble __ovld __cnfn sin(double);
8422303233Sdimdouble2 __ovld __cnfn sin(double2);
8423303233Sdimdouble3 __ovld __cnfn sin(double3);
8424303233Sdimdouble4 __ovld __cnfn sin(double4);
8425303233Sdimdouble8 __ovld __cnfn sin(double8);
8426303233Sdimdouble16 __ovld __cnfn sin(double16);
8427303233Sdim#endif //cl_khr_fp64
8428303233Sdim#ifdef cl_khr_fp16
8429303233Sdimhalf __ovld __cnfn sin(half);
8430303233Sdimhalf2 __ovld __cnfn sin(half2);
8431303233Sdimhalf3 __ovld __cnfn sin(half3);
8432303233Sdimhalf4 __ovld __cnfn sin(half4);
8433303233Sdimhalf8 __ovld __cnfn sin(half8);
8434303233Sdimhalf16 __ovld __cnfn sin(half16);
8435303233Sdim#endif //cl_khr_fp16
8436303233Sdim
8437303233Sdim/**
8438303233Sdim * Compute sine and cosine of x. The computed sine
8439303233Sdim * is the return value and computed cosine is returned
8440303233Sdim * in cosval.
8441303233Sdim */
8442353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
8443303233Sdimfloat __ovld sincos(float x, float *cosval);
8444303233Sdimfloat2 __ovld sincos(float2 x, float2 *cosval);
8445303233Sdimfloat3 __ovld sincos(float3 x, float3 *cosval);
8446303233Sdimfloat4 __ovld sincos(float4 x, float4 *cosval);
8447303233Sdimfloat8 __ovld sincos(float8 x, float8 *cosval);
8448303233Sdimfloat16 __ovld sincos(float16 x, float16 *cosval);
8449303233Sdim#ifdef cl_khr_fp64
8450303233Sdimdouble __ovld sincos(double x, double *cosval);
8451303233Sdimdouble2 __ovld sincos(double2 x, double2 *cosval);
8452303233Sdimdouble3 __ovld sincos(double3 x, double3 *cosval);
8453303233Sdimdouble4 __ovld sincos(double4 x, double4 *cosval);
8454303233Sdimdouble8 __ovld sincos(double8 x, double8 *cosval);
8455303233Sdimdouble16 __ovld sincos(double16 x, double16 *cosval);
8456303233Sdim#endif //cl_khr_fp64
8457303233Sdim#ifdef cl_khr_fp16
8458303233Sdimhalf __ovld sincos(half x, half *cosval);
8459303233Sdimhalf2 __ovld sincos(half2 x, half2 *cosval);
8460303233Sdimhalf3 __ovld sincos(half3 x, half3 *cosval);
8461303233Sdimhalf4 __ovld sincos(half4 x, half4 *cosval);
8462303233Sdimhalf8 __ovld sincos(half8 x, half8 *cosval);
8463303233Sdimhalf16 __ovld sincos(half16 x, half16 *cosval);
8464303233Sdim#endif //cl_khr_fp16
8465303233Sdim#else
8466303233Sdimfloat __ovld sincos(float x, __global float *cosval);
8467303233Sdimfloat2 __ovld sincos(float2 x, __global float2 *cosval);
8468303233Sdimfloat3 __ovld sincos(float3 x, __global float3 *cosval);
8469303233Sdimfloat4 __ovld sincos(float4 x, __global float4 *cosval);
8470303233Sdimfloat8 __ovld sincos(float8 x, __global float8 *cosval);
8471303233Sdimfloat16 __ovld sincos(float16 x, __global float16 *cosval);
8472303233Sdimfloat __ovld sincos(float x, __local float *cosval);
8473303233Sdimfloat2 __ovld sincos(float2 x, __local float2 *cosval);
8474303233Sdimfloat3 __ovld sincos(float3 x, __local float3 *cosval);
8475303233Sdimfloat4 __ovld sincos(float4 x, __local float4 *cosval);
8476303233Sdimfloat8 __ovld sincos(float8 x, __local float8 *cosval);
8477303233Sdimfloat16 __ovld sincos(float16 x, __local float16 *cosval);
8478303233Sdimfloat __ovld sincos(float x, __private float *cosval);
8479303233Sdimfloat2 __ovld sincos(float2 x, __private float2 *cosval);
8480303233Sdimfloat3 __ovld sincos(float3 x, __private float3 *cosval);
8481303233Sdimfloat4 __ovld sincos(float4 x, __private float4 *cosval);
8482303233Sdimfloat8 __ovld sincos(float8 x, __private float8 *cosval);
8483303233Sdimfloat16 __ovld sincos(float16 x, __private float16 *cosval);
8484303233Sdim#ifdef cl_khr_fp64
8485303233Sdimdouble __ovld sincos(double x, __global double *cosval);
8486303233Sdimdouble2 __ovld sincos(double2 x, __global double2 *cosval);
8487303233Sdimdouble3 __ovld sincos(double3 x, __global double3 *cosval);
8488303233Sdimdouble4 __ovld sincos(double4 x, __global double4 *cosval);
8489303233Sdimdouble8 __ovld sincos(double8 x, __global double8 *cosval);
8490303233Sdimdouble16 __ovld sincos(double16 x, __global double16 *cosval);
8491303233Sdimdouble __ovld sincos(double x, __local double *cosval);
8492303233Sdimdouble2 __ovld sincos(double2 x, __local double2 *cosval);
8493303233Sdimdouble3 __ovld sincos(double3 x, __local double3 *cosval);
8494303233Sdimdouble4 __ovld sincos(double4 x, __local double4 *cosval);
8495303233Sdimdouble8 __ovld sincos(double8 x, __local double8 *cosval);
8496303233Sdimdouble16 __ovld sincos(double16 x, __local double16 *cosval);
8497303233Sdimdouble __ovld sincos(double x, __private double *cosval);
8498303233Sdimdouble2 __ovld sincos(double2 x, __private double2 *cosval);
8499303233Sdimdouble3 __ovld sincos(double3 x, __private double3 *cosval);
8500303233Sdimdouble4 __ovld sincos(double4 x, __private double4 *cosval);
8501303233Sdimdouble8 __ovld sincos(double8 x, __private double8 *cosval);
8502303233Sdimdouble16 __ovld sincos(double16 x, __private double16 *cosval);
8503303233Sdim#endif //cl_khr_fp64
8504303233Sdim#ifdef cl_khr_fp16
8505303233Sdimhalf __ovld sincos(half x, __global half *cosval);
8506303233Sdimhalf2 __ovld sincos(half2 x, __global half2 *cosval);
8507303233Sdimhalf3 __ovld sincos(half3 x, __global half3 *cosval);
8508303233Sdimhalf4 __ovld sincos(half4 x, __global half4 *cosval);
8509303233Sdimhalf8 __ovld sincos(half8 x, __global half8 *cosval);
8510303233Sdimhalf16 __ovld sincos(half16 x, __global half16 *cosval);
8511303233Sdimhalf __ovld sincos(half x, __local half *cosval);
8512303233Sdimhalf2 __ovld sincos(half2 x, __local half2 *cosval);
8513303233Sdimhalf3 __ovld sincos(half3 x, __local half3 *cosval);
8514303233Sdimhalf4 __ovld sincos(half4 x, __local half4 *cosval);
8515303233Sdimhalf8 __ovld sincos(half8 x, __local half8 *cosval);
8516303233Sdimhalf16 __ovld sincos(half16 x, __local half16 *cosval);
8517303233Sdimhalf __ovld sincos(half x, __private half *cosval);
8518303233Sdimhalf2 __ovld sincos(half2 x, __private half2 *cosval);
8519303233Sdimhalf3 __ovld sincos(half3 x, __private half3 *cosval);
8520303233Sdimhalf4 __ovld sincos(half4 x, __private half4 *cosval);
8521303233Sdimhalf8 __ovld sincos(half8 x, __private half8 *cosval);
8522303233Sdimhalf16 __ovld sincos(half16 x, __private half16 *cosval);
8523303233Sdim#endif //cl_khr_fp16
8524353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
8525303233Sdim
8526303233Sdim/**
8527303233Sdim * Compute hyperbolic sine.
8528303233Sdim */
8529303233Sdimfloat __ovld __cnfn sinh(float);
8530303233Sdimfloat2 __ovld __cnfn sinh(float2);
8531303233Sdimfloat3 __ovld __cnfn sinh(float3);
8532303233Sdimfloat4 __ovld __cnfn sinh(float4);
8533303233Sdimfloat8 __ovld __cnfn sinh(float8);
8534303233Sdimfloat16 __ovld __cnfn sinh(float16);
8535303233Sdim#ifdef cl_khr_fp64
8536303233Sdimdouble __ovld __cnfn sinh(double);
8537303233Sdimdouble2 __ovld __cnfn sinh(double2);
8538303233Sdimdouble3 __ovld __cnfn sinh(double3);
8539303233Sdimdouble4 __ovld __cnfn sinh(double4);
8540303233Sdimdouble8 __ovld __cnfn sinh(double8);
8541303233Sdimdouble16 __ovld __cnfn sinh(double16);
8542303233Sdim#endif //cl_khr_fp64
8543303233Sdim#ifdef cl_khr_fp16
8544303233Sdimhalf __ovld __cnfn sinh(half);
8545303233Sdimhalf2 __ovld __cnfn sinh(half2);
8546303233Sdimhalf3 __ovld __cnfn sinh(half3);
8547303233Sdimhalf4 __ovld __cnfn sinh(half4);
8548303233Sdimhalf8 __ovld __cnfn sinh(half8);
8549303233Sdimhalf16 __ovld __cnfn sinh(half16);
8550303233Sdim#endif //cl_khr_fp16
8551303233Sdim
8552303233Sdim/**
8553303233Sdim * Compute sin (PI * x).
8554303233Sdim */
8555303233Sdimfloat __ovld __cnfn sinpi(float x);
8556303233Sdimfloat2 __ovld __cnfn sinpi(float2 x);
8557303233Sdimfloat3 __ovld __cnfn sinpi(float3 x);
8558303233Sdimfloat4 __ovld __cnfn sinpi(float4 x);
8559303233Sdimfloat8 __ovld __cnfn sinpi(float8 x);
8560303233Sdimfloat16 __ovld __cnfn sinpi(float16 x);
8561303233Sdim#ifdef cl_khr_fp64
8562303233Sdimdouble __ovld __cnfn sinpi(double x);
8563303233Sdimdouble2 __ovld __cnfn sinpi(double2 x);
8564303233Sdimdouble3 __ovld __cnfn sinpi(double3 x);
8565303233Sdimdouble4 __ovld __cnfn sinpi(double4 x);
8566303233Sdimdouble8 __ovld __cnfn sinpi(double8 x);
8567303233Sdimdouble16 __ovld __cnfn sinpi(double16 x);
8568303233Sdim#endif //cl_khr_fp64
8569303233Sdim#ifdef cl_khr_fp16
8570303233Sdimhalf __ovld __cnfn sinpi(half x);
8571303233Sdimhalf2 __ovld __cnfn sinpi(half2 x);
8572303233Sdimhalf3 __ovld __cnfn sinpi(half3 x);
8573303233Sdimhalf4 __ovld __cnfn sinpi(half4 x);
8574303233Sdimhalf8 __ovld __cnfn sinpi(half8 x);
8575303233Sdimhalf16 __ovld __cnfn sinpi(half16 x);
8576303233Sdim#endif //cl_khr_fp16
8577303233Sdim
8578303233Sdim/**
8579303233Sdim * Compute square root.
8580303233Sdim */
8581303233Sdimfloat __ovld __cnfn sqrt(float);
8582303233Sdimfloat2 __ovld __cnfn sqrt(float2);
8583303233Sdimfloat3 __ovld __cnfn sqrt(float3);
8584303233Sdimfloat4 __ovld __cnfn sqrt(float4);
8585303233Sdimfloat8 __ovld __cnfn sqrt(float8);
8586303233Sdimfloat16 __ovld __cnfn sqrt(float16);
8587303233Sdim#ifdef cl_khr_fp64
8588303233Sdimdouble __ovld __cnfn sqrt(double);
8589303233Sdimdouble2 __ovld __cnfn sqrt(double2);
8590303233Sdimdouble3 __ovld __cnfn sqrt(double3);
8591303233Sdimdouble4 __ovld __cnfn sqrt(double4);
8592303233Sdimdouble8 __ovld __cnfn sqrt(double8);
8593303233Sdimdouble16 __ovld __cnfn sqrt(double16);
8594303233Sdim#endif //cl_khr_fp64
8595303233Sdim#ifdef cl_khr_fp16
8596303233Sdimhalf __ovld __cnfn sqrt(half);
8597303233Sdimhalf2 __ovld __cnfn sqrt(half2);
8598303233Sdimhalf3 __ovld __cnfn sqrt(half3);
8599303233Sdimhalf4 __ovld __cnfn sqrt(half4);
8600303233Sdimhalf8 __ovld __cnfn sqrt(half8);
8601303233Sdimhalf16 __ovld __cnfn sqrt(half16);
8602303233Sdim#endif //cl_khr_fp16
8603303233Sdim
8604303233Sdim/**
8605303233Sdim * Compute tangent.
8606303233Sdim */
8607303233Sdimfloat __ovld __cnfn tan(float);
8608303233Sdimfloat2 __ovld __cnfn tan(float2);
8609303233Sdimfloat3 __ovld __cnfn tan(float3);
8610303233Sdimfloat4 __ovld __cnfn tan(float4);
8611303233Sdimfloat8 __ovld __cnfn tan(float8);
8612303233Sdimfloat16 __ovld __cnfn tan(float16);
8613303233Sdim#ifdef cl_khr_fp64
8614303233Sdimdouble __ovld __cnfn tan(double);
8615303233Sdimdouble2 __ovld __cnfn tan(double2);
8616303233Sdimdouble3 __ovld __cnfn tan(double3);
8617303233Sdimdouble4 __ovld __cnfn tan(double4);
8618303233Sdimdouble8 __ovld __cnfn tan(double8);
8619303233Sdimdouble16 __ovld __cnfn tan(double16);
8620303233Sdim#endif //cl_khr_fp64
8621303233Sdim#ifdef cl_khr_fp16
8622303233Sdimhalf __ovld __cnfn tan(half);
8623303233Sdimhalf2 __ovld __cnfn tan(half2);
8624303233Sdimhalf3 __ovld __cnfn tan(half3);
8625303233Sdimhalf4 __ovld __cnfn tan(half4);
8626303233Sdimhalf8 __ovld __cnfn tan(half8);
8627303233Sdimhalf16 __ovld __cnfn tan(half16);
8628303233Sdim#endif //cl_khr_fp16
8629303233Sdim
8630303233Sdim/**
8631303233Sdim * Compute hyperbolic tangent.
8632303233Sdim */
8633303233Sdimfloat __ovld __cnfn tanh(float);
8634303233Sdimfloat2 __ovld __cnfn tanh(float2);
8635303233Sdimfloat3 __ovld __cnfn tanh(float3);
8636303233Sdimfloat4 __ovld __cnfn tanh(float4);
8637303233Sdimfloat8 __ovld __cnfn tanh(float8);
8638303233Sdimfloat16 __ovld __cnfn tanh(float16);
8639303233Sdim#ifdef cl_khr_fp64
8640303233Sdimdouble __ovld __cnfn tanh(double);
8641303233Sdimdouble2 __ovld __cnfn tanh(double2);
8642303233Sdimdouble3 __ovld __cnfn tanh(double3);
8643303233Sdimdouble4 __ovld __cnfn tanh(double4);
8644303233Sdimdouble8 __ovld __cnfn tanh(double8);
8645303233Sdimdouble16 __ovld __cnfn tanh(double16);
8646303233Sdim#endif //cl_khr_fp64
8647303233Sdim#ifdef cl_khr_fp16
8648303233Sdimhalf __ovld __cnfn tanh(half);
8649303233Sdimhalf2 __ovld __cnfn tanh(half2);
8650303233Sdimhalf3 __ovld __cnfn tanh(half3);
8651303233Sdimhalf4 __ovld __cnfn tanh(half4);
8652303233Sdimhalf8 __ovld __cnfn tanh(half8);
8653303233Sdimhalf16 __ovld __cnfn tanh(half16);
8654303233Sdim#endif //cl_khr_fp16
8655303233Sdim
8656303233Sdim/**
8657303233Sdim * Compute tan (PI * x).
8658303233Sdim */
8659303233Sdimfloat __ovld __cnfn tanpi(float x);
8660303233Sdimfloat2 __ovld __cnfn tanpi(float2 x);
8661303233Sdimfloat3 __ovld __cnfn tanpi(float3 x);
8662303233Sdimfloat4 __ovld __cnfn tanpi(float4 x);
8663303233Sdimfloat8 __ovld __cnfn tanpi(float8 x);
8664303233Sdimfloat16 __ovld __cnfn tanpi(float16 x);
8665303233Sdim#ifdef cl_khr_fp64
8666303233Sdimdouble __ovld __cnfn tanpi(double x);
8667303233Sdimdouble2 __ovld __cnfn tanpi(double2 x);
8668303233Sdimdouble3 __ovld __cnfn tanpi(double3 x);
8669303233Sdimdouble4 __ovld __cnfn tanpi(double4 x);
8670303233Sdimdouble8 __ovld __cnfn tanpi(double8 x);
8671303233Sdimdouble16 __ovld __cnfn tanpi(double16 x);
8672303233Sdim#endif //cl_khr_fp64
8673303233Sdim#ifdef cl_khr_fp16
8674303233Sdimhalf __ovld __cnfn tanpi(half x);
8675303233Sdimhalf2 __ovld __cnfn tanpi(half2 x);
8676303233Sdimhalf3 __ovld __cnfn tanpi(half3 x);
8677303233Sdimhalf4 __ovld __cnfn tanpi(half4 x);
8678303233Sdimhalf8 __ovld __cnfn tanpi(half8 x);
8679303233Sdimhalf16 __ovld __cnfn tanpi(half16 x);
8680303233Sdim#endif //cl_khr_fp16
8681303233Sdim
8682303233Sdim/**
8683303233Sdim * Compute the gamma function.
8684303233Sdim */
8685303233Sdimfloat __ovld __cnfn tgamma(float);
8686303233Sdimfloat2 __ovld __cnfn tgamma(float2);
8687303233Sdimfloat3 __ovld __cnfn tgamma(float3);
8688303233Sdimfloat4 __ovld __cnfn tgamma(float4);
8689303233Sdimfloat8 __ovld __cnfn tgamma(float8);
8690303233Sdimfloat16 __ovld __cnfn tgamma(float16);
8691303233Sdim#ifdef cl_khr_fp64
8692303233Sdimdouble __ovld __cnfn tgamma(double);
8693303233Sdimdouble2 __ovld __cnfn tgamma(double2);
8694303233Sdimdouble3 __ovld __cnfn tgamma(double3);
8695303233Sdimdouble4 __ovld __cnfn tgamma(double4);
8696303233Sdimdouble8 __ovld __cnfn tgamma(double8);
8697303233Sdimdouble16 __ovld __cnfn tgamma(double16);
8698303233Sdim#endif //cl_khr_fp64
8699303233Sdim#ifdef cl_khr_fp16
8700303233Sdimhalf __ovld __cnfn tgamma(half);
8701303233Sdimhalf2 __ovld __cnfn tgamma(half2);
8702303233Sdimhalf3 __ovld __cnfn tgamma(half3);
8703303233Sdimhalf4 __ovld __cnfn tgamma(half4);
8704303233Sdimhalf8 __ovld __cnfn tgamma(half8);
8705303233Sdimhalf16 __ovld __cnfn tgamma(half16);
8706303233Sdim#endif //cl_khr_fp16
8707303233Sdim
8708303233Sdim/**
8709303233Sdim * Round to integral value using the round to zero
8710303233Sdim * rounding mode.
8711303233Sdim */
8712303233Sdimfloat __ovld __cnfn trunc(float);
8713303233Sdimfloat2 __ovld __cnfn trunc(float2);
8714303233Sdimfloat3 __ovld __cnfn trunc(float3);
8715303233Sdimfloat4 __ovld __cnfn trunc(float4);
8716303233Sdimfloat8 __ovld __cnfn trunc(float8);
8717303233Sdimfloat16 __ovld __cnfn trunc(float16);
8718303233Sdim#ifdef cl_khr_fp64
8719303233Sdimdouble __ovld __cnfn trunc(double);
8720303233Sdimdouble2 __ovld __cnfn trunc(double2);
8721303233Sdimdouble3 __ovld __cnfn trunc(double3);
8722303233Sdimdouble4 __ovld __cnfn trunc(double4);
8723303233Sdimdouble8 __ovld __cnfn trunc(double8);
8724303233Sdimdouble16 __ovld __cnfn trunc(double16);
8725303233Sdim#endif //cl_khr_fp64
8726303233Sdim#ifdef cl_khr_fp16
8727303233Sdimhalf __ovld __cnfn trunc(half);
8728303233Sdimhalf2 __ovld __cnfn trunc(half2);
8729303233Sdimhalf3 __ovld __cnfn trunc(half3);
8730303233Sdimhalf4 __ovld __cnfn trunc(half4);
8731303233Sdimhalf8 __ovld __cnfn trunc(half8);
8732303233Sdimhalf16 __ovld __cnfn trunc(half16);
8733303233Sdim#endif //cl_khr_fp16
8734303233Sdim
8735303233Sdim/**
8736303233Sdim * Compute cosine. x must be in the range -2^16 ... +2^16.
8737303233Sdim */
8738303233Sdimfloat __ovld __cnfn half_cos(float x);
8739303233Sdimfloat2 __ovld __cnfn half_cos(float2 x);
8740303233Sdimfloat3 __ovld __cnfn half_cos(float3 x);
8741303233Sdimfloat4 __ovld __cnfn half_cos(float4 x);
8742303233Sdimfloat8 __ovld __cnfn half_cos(float8 x);
8743303233Sdimfloat16 __ovld __cnfn half_cos(float16 x);
8744303233Sdim
8745303233Sdim/**
8746303233Sdim * Compute x / y.
8747303233Sdim */
8748303233Sdimfloat __ovld __cnfn half_divide(float x, float y);
8749303233Sdimfloat2 __ovld __cnfn half_divide(float2 x, float2 y);
8750303233Sdimfloat3 __ovld __cnfn half_divide(float3 x, float3 y);
8751303233Sdimfloat4 __ovld __cnfn half_divide(float4 x, float4 y);
8752303233Sdimfloat8 __ovld __cnfn half_divide(float8 x, float8 y);
8753303233Sdimfloat16 __ovld __cnfn half_divide(float16 x, float16 y);
8754303233Sdim
8755303233Sdim/**
8756303233Sdim * Compute the base- e exponential of x.
8757303233Sdim */
8758303233Sdimfloat __ovld __cnfn half_exp(float x);
8759303233Sdimfloat2 __ovld __cnfn half_exp(float2 x);
8760303233Sdimfloat3 __ovld __cnfn half_exp(float3 x);
8761303233Sdimfloat4 __ovld __cnfn half_exp(float4 x);
8762303233Sdimfloat8 __ovld __cnfn half_exp(float8 x);
8763303233Sdimfloat16 __ovld __cnfn half_exp(float16 x);
8764303233Sdim
8765303233Sdim/**
8766303233Sdim * Compute the base- 2 exponential of x.
8767303233Sdim */
8768303233Sdimfloat __ovld __cnfn half_exp2(float x);
8769303233Sdimfloat2 __ovld __cnfn half_exp2(float2 x);
8770303233Sdimfloat3 __ovld __cnfn half_exp2(float3 x);
8771303233Sdimfloat4 __ovld __cnfn half_exp2(float4 x);
8772303233Sdimfloat8 __ovld __cnfn half_exp2(float8 x);
8773303233Sdimfloat16 __ovld __cnfn half_exp2(float16 x);
8774303233Sdim
8775303233Sdim/**
8776303233Sdim * Compute the base- 10 exponential of x.
8777303233Sdim */
8778303233Sdimfloat __ovld __cnfn half_exp10(float x);
8779303233Sdimfloat2 __ovld __cnfn half_exp10(float2 x);
8780303233Sdimfloat3 __ovld __cnfn half_exp10(float3 x);
8781303233Sdimfloat4 __ovld __cnfn half_exp10(float4 x);
8782303233Sdimfloat8 __ovld __cnfn half_exp10(float8 x);
8783303233Sdimfloat16 __ovld __cnfn half_exp10(float16 x);
8784303233Sdim
8785303233Sdim/**
8786303233Sdim * Compute natural logarithm.
8787303233Sdim */
8788303233Sdimfloat __ovld __cnfn half_log(float x);
8789303233Sdimfloat2 __ovld __cnfn half_log(float2 x);
8790303233Sdimfloat3 __ovld __cnfn half_log(float3 x);
8791303233Sdimfloat4 __ovld __cnfn half_log(float4 x);
8792303233Sdimfloat8 __ovld __cnfn half_log(float8 x);
8793303233Sdimfloat16 __ovld __cnfn half_log(float16 x);
8794303233Sdim
8795303233Sdim/**
8796303233Sdim * Compute a base 2 logarithm.
8797303233Sdim */
8798303233Sdimfloat __ovld __cnfn half_log2(float x);
8799303233Sdimfloat2 __ovld __cnfn half_log2(float2 x);
8800303233Sdimfloat3 __ovld __cnfn half_log2(float3 x);
8801303233Sdimfloat4 __ovld __cnfn half_log2(float4 x);
8802303233Sdimfloat8 __ovld __cnfn half_log2(float8 x);
8803303233Sdimfloat16 __ovld __cnfn half_log2(float16 x);
8804303233Sdim
8805303233Sdim/**
8806303233Sdim * Compute a base 10 logarithm.
8807303233Sdim */
8808303233Sdimfloat __ovld __cnfn half_log10(float x);
8809303233Sdimfloat2 __ovld __cnfn half_log10(float2 x);
8810303233Sdimfloat3 __ovld __cnfn half_log10(float3 x);
8811303233Sdimfloat4 __ovld __cnfn half_log10(float4 x);
8812303233Sdimfloat8 __ovld __cnfn half_log10(float8 x);
8813303233Sdimfloat16 __ovld __cnfn half_log10(float16 x);
8814303233Sdim
8815303233Sdim/**
8816303233Sdim * Compute x to the power y, where x is >= 0.
8817303233Sdim */
8818303233Sdimfloat __ovld __cnfn half_powr(float x, float y);
8819303233Sdimfloat2 __ovld __cnfn half_powr(float2 x, float2 y);
8820303233Sdimfloat3 __ovld __cnfn half_powr(float3 x, float3 y);
8821303233Sdimfloat4 __ovld __cnfn half_powr(float4 x, float4 y);
8822303233Sdimfloat8 __ovld __cnfn half_powr(float8 x, float8 y);
8823303233Sdimfloat16 __ovld __cnfn half_powr(float16 x, float16 y);
8824303233Sdim
8825303233Sdim/**
8826303233Sdim * Compute reciprocal.
8827303233Sdim */
8828303233Sdimfloat __ovld __cnfn half_recip(float x);
8829303233Sdimfloat2 __ovld __cnfn half_recip(float2 x);
8830303233Sdimfloat3 __ovld __cnfn half_recip(float3 x);
8831303233Sdimfloat4 __ovld __cnfn half_recip(float4 x);
8832303233Sdimfloat8 __ovld __cnfn half_recip(float8 x);
8833303233Sdimfloat16 __ovld __cnfn half_recip(float16 x);
8834303233Sdim
8835303233Sdim/**
8836303233Sdim * Compute inverse square root.
8837303233Sdim */
8838303233Sdimfloat __ovld __cnfn half_rsqrt(float x);
8839303233Sdimfloat2 __ovld __cnfn half_rsqrt(float2 x);
8840303233Sdimfloat3 __ovld __cnfn half_rsqrt(float3 x);
8841303233Sdimfloat4 __ovld __cnfn half_rsqrt(float4 x);
8842303233Sdimfloat8 __ovld __cnfn half_rsqrt(float8 x);
8843303233Sdimfloat16 __ovld __cnfn half_rsqrt(float16 x);
8844303233Sdim
8845303233Sdim/**
8846303233Sdim * Compute sine. x must be in the range -2^16 ... +2^16.
8847303233Sdim */
8848303233Sdimfloat __ovld __cnfn half_sin(float x);
8849303233Sdimfloat2 __ovld __cnfn half_sin(float2 x);
8850303233Sdimfloat3 __ovld __cnfn half_sin(float3 x);
8851303233Sdimfloat4 __ovld __cnfn half_sin(float4 x);
8852303233Sdimfloat8 __ovld __cnfn half_sin(float8 x);
8853303233Sdimfloat16 __ovld __cnfn half_sin(float16 x);
8854303233Sdim
8855303233Sdim/**
8856303233Sdim * Compute square root.
8857303233Sdim */
8858303233Sdimfloat __ovld __cnfn half_sqrt(float x);
8859303233Sdimfloat2 __ovld __cnfn half_sqrt(float2 x);
8860303233Sdimfloat3 __ovld __cnfn half_sqrt(float3 x);
8861303233Sdimfloat4 __ovld __cnfn half_sqrt(float4 x);
8862303233Sdimfloat8 __ovld __cnfn half_sqrt(float8 x);
8863303233Sdimfloat16 __ovld __cnfn half_sqrt(float16 x);
8864303233Sdim
8865303233Sdim/**
8866303233Sdim * Compute tangent. x must be in the range -216 ... +216.
8867303233Sdim */
8868303233Sdimfloat __ovld __cnfn half_tan(float x);
8869303233Sdimfloat2 __ovld __cnfn half_tan(float2 x);
8870303233Sdimfloat3 __ovld __cnfn half_tan(float3 x);
8871303233Sdimfloat4 __ovld __cnfn half_tan(float4 x);
8872303233Sdimfloat8 __ovld __cnfn half_tan(float8 x);
8873303233Sdimfloat16 __ovld __cnfn half_tan(float16 x);
8874303233Sdim
8875303233Sdim/**
8876303233Sdim * Compute cosine over an implementation-defined range.
8877303233Sdim * The maximum error is implementation-defined.
8878303233Sdim */
8879303233Sdimfloat __ovld __cnfn native_cos(float x);
8880303233Sdimfloat2 __ovld __cnfn native_cos(float2 x);
8881303233Sdimfloat3 __ovld __cnfn native_cos(float3 x);
8882303233Sdimfloat4 __ovld __cnfn native_cos(float4 x);
8883303233Sdimfloat8 __ovld __cnfn native_cos(float8 x);
8884303233Sdimfloat16 __ovld __cnfn native_cos(float16 x);
8885303233Sdim
8886303233Sdim/**
8887303233Sdim * Compute x / y over an implementation-defined range.
8888303233Sdim * The maximum error is implementation-defined.
8889303233Sdim */
8890303233Sdimfloat __ovld __cnfn native_divide(float x, float y);
8891303233Sdimfloat2 __ovld __cnfn native_divide(float2 x, float2 y);
8892303233Sdimfloat3 __ovld __cnfn native_divide(float3 x, float3 y);
8893303233Sdimfloat4 __ovld __cnfn native_divide(float4 x, float4 y);
8894303233Sdimfloat8 __ovld __cnfn native_divide(float8 x, float8 y);
8895303233Sdimfloat16 __ovld __cnfn native_divide(float16 x, float16 y);
8896303233Sdim
8897303233Sdim/**
8898303233Sdim * Compute the base- e exponential of x over an
8899303233Sdim * implementation-defined range. The maximum error is
8900303233Sdim * implementation-defined.
8901303233Sdim */
8902303233Sdimfloat __ovld __cnfn native_exp(float x);
8903303233Sdimfloat2 __ovld __cnfn native_exp(float2 x);
8904303233Sdimfloat3 __ovld __cnfn native_exp(float3 x);
8905303233Sdimfloat4 __ovld __cnfn native_exp(float4 x);
8906303233Sdimfloat8 __ovld __cnfn native_exp(float8 x);
8907303233Sdimfloat16 __ovld __cnfn native_exp(float16 x);
8908303233Sdim
8909303233Sdim/**
8910303233Sdim * Compute the base- 2 exponential of x over an
8911303233Sdim * implementation-defined range. The maximum error is
8912303233Sdim * implementation-defined.
8913303233Sdim */
8914303233Sdimfloat __ovld __cnfn native_exp2(float x);
8915303233Sdimfloat2 __ovld __cnfn native_exp2(float2 x);
8916303233Sdimfloat3 __ovld __cnfn native_exp2(float3 x);
8917303233Sdimfloat4 __ovld __cnfn native_exp2(float4 x);
8918303233Sdimfloat8 __ovld __cnfn native_exp2(float8 x);
8919303233Sdimfloat16 __ovld __cnfn native_exp2(float16 x);
8920303233Sdim
8921303233Sdim/**
8922303233Sdim * Compute the base- 10 exponential of x over an
8923303233Sdim * implementation-defined range. The maximum error is
8924303233Sdim * implementation-defined.
8925303233Sdim */
8926303233Sdimfloat __ovld __cnfn native_exp10(float x);
8927303233Sdimfloat2 __ovld __cnfn native_exp10(float2 x);
8928303233Sdimfloat3 __ovld __cnfn native_exp10(float3 x);
8929303233Sdimfloat4 __ovld __cnfn native_exp10(float4 x);
8930303233Sdimfloat8 __ovld __cnfn native_exp10(float8 x);
8931303233Sdimfloat16 __ovld __cnfn native_exp10(float16 x);
8932303233Sdim
8933303233Sdim/**
8934303233Sdim * Compute natural logarithm over an implementationdefined
8935303233Sdim * range. The maximum error is implementation
8936303233Sdim * defined.
8937303233Sdim */
8938303233Sdimfloat __ovld __cnfn native_log(float x);
8939303233Sdimfloat2 __ovld __cnfn native_log(float2 x);
8940303233Sdimfloat3 __ovld __cnfn native_log(float3 x);
8941303233Sdimfloat4 __ovld __cnfn native_log(float4 x);
8942303233Sdimfloat8 __ovld __cnfn native_log(float8 x);
8943303233Sdimfloat16 __ovld __cnfn native_log(float16 x);
8944303233Sdim
8945303233Sdim/**
8946303233Sdim * Compute a base 2 logarithm over an implementationdefined
8947303233Sdim * range. The maximum error is implementationdefined.
8948303233Sdim */
8949303233Sdimfloat __ovld __cnfn native_log2(float x);
8950303233Sdimfloat2 __ovld __cnfn native_log2(float2 x);
8951303233Sdimfloat3 __ovld __cnfn native_log2(float3 x);
8952303233Sdimfloat4 __ovld __cnfn native_log2(float4 x);
8953303233Sdimfloat8 __ovld __cnfn native_log2(float8 x);
8954303233Sdimfloat16 __ovld __cnfn native_log2(float16 x);
8955303233Sdim
8956303233Sdim/**
8957303233Sdim * Compute a base 10 logarithm over an implementationdefined
8958303233Sdim * range. The maximum error is implementationdefined.
8959303233Sdim */
8960303233Sdimfloat __ovld __cnfn native_log10(float x);
8961303233Sdimfloat2 __ovld __cnfn native_log10(float2 x);
8962303233Sdimfloat3 __ovld __cnfn native_log10(float3 x);
8963303233Sdimfloat4 __ovld __cnfn native_log10(float4 x);
8964303233Sdimfloat8 __ovld __cnfn native_log10(float8 x);
8965303233Sdimfloat16 __ovld __cnfn native_log10(float16 x);
8966303233Sdim
8967303233Sdim/**
8968303233Sdim * Compute x to the power y, where x is >= 0. The range of
8969303233Sdim * x and y are implementation-defined. The maximum error
8970303233Sdim * is implementation-defined.
8971303233Sdim */
8972303233Sdimfloat __ovld __cnfn native_powr(float x, float y);
8973303233Sdimfloat2 __ovld __cnfn native_powr(float2 x, float2 y);
8974303233Sdimfloat3 __ovld __cnfn native_powr(float3 x, float3 y);
8975303233Sdimfloat4 __ovld __cnfn native_powr(float4 x, float4 y);
8976303233Sdimfloat8 __ovld __cnfn native_powr(float8 x, float8 y);
8977303233Sdimfloat16 __ovld __cnfn native_powr(float16 x, float16 y);
8978303233Sdim
8979303233Sdim/**
8980303233Sdim * Compute reciprocal over an implementation-defined
8981303233Sdim * range. The maximum error is implementation-defined.
8982303233Sdim */
8983303233Sdimfloat __ovld __cnfn native_recip(float x);
8984303233Sdimfloat2 __ovld __cnfn native_recip(float2 x);
8985303233Sdimfloat3 __ovld __cnfn native_recip(float3 x);
8986303233Sdimfloat4 __ovld __cnfn native_recip(float4 x);
8987303233Sdimfloat8 __ovld __cnfn native_recip(float8 x);
8988303233Sdimfloat16 __ovld __cnfn native_recip(float16 x);
8989303233Sdim
8990303233Sdim/**
8991303233Sdim * Compute inverse square root over an implementationdefined
8992303233Sdim * range. The maximum error is implementationdefined.
8993303233Sdim */
8994303233Sdimfloat __ovld __cnfn native_rsqrt(float x);
8995303233Sdimfloat2 __ovld __cnfn native_rsqrt(float2 x);
8996303233Sdimfloat3 __ovld __cnfn native_rsqrt(float3 x);
8997303233Sdimfloat4 __ovld __cnfn native_rsqrt(float4 x);
8998303233Sdimfloat8 __ovld __cnfn native_rsqrt(float8 x);
8999303233Sdimfloat16 __ovld __cnfn native_rsqrt(float16 x);
9000303233Sdim
9001303233Sdim/**
9002303233Sdim * Compute sine over an implementation-defined range.
9003303233Sdim * The maximum error is implementation-defined.
9004303233Sdim */
9005303233Sdimfloat __ovld __cnfn native_sin(float x);
9006303233Sdimfloat2 __ovld __cnfn native_sin(float2 x);
9007303233Sdimfloat3 __ovld __cnfn native_sin(float3 x);
9008303233Sdimfloat4 __ovld __cnfn native_sin(float4 x);
9009303233Sdimfloat8 __ovld __cnfn native_sin(float8 x);
9010303233Sdimfloat16 __ovld __cnfn native_sin(float16 x);
9011303233Sdim
9012303233Sdim/**
9013303233Sdim * Compute square root over an implementation-defined
9014303233Sdim * range. The maximum error is implementation-defined.
9015303233Sdim */
9016303233Sdimfloat __ovld __cnfn native_sqrt(float x);
9017303233Sdimfloat2 __ovld __cnfn native_sqrt(float2 x);
9018303233Sdimfloat3 __ovld __cnfn native_sqrt(float3 x);
9019303233Sdimfloat4 __ovld __cnfn native_sqrt(float4 x);
9020303233Sdimfloat8 __ovld __cnfn native_sqrt(float8 x);
9021303233Sdimfloat16 __ovld __cnfn native_sqrt(float16 x);
9022303233Sdim
9023303233Sdim/**
9024303233Sdim * Compute tangent over an implementation-defined range.
9025303233Sdim * The maximum error is implementation-defined.
9026303233Sdim */
9027303233Sdimfloat __ovld __cnfn native_tan(float x);
9028303233Sdimfloat2 __ovld __cnfn native_tan(float2 x);
9029303233Sdimfloat3 __ovld __cnfn native_tan(float3 x);
9030303233Sdimfloat4 __ovld __cnfn native_tan(float4 x);
9031303233Sdimfloat8 __ovld __cnfn native_tan(float8 x);
9032303233Sdimfloat16 __ovld __cnfn native_tan(float16 x);
9033303233Sdim
9034303233Sdim// OpenCL v1.1 s6.11.3, v1.2 s6.12.3, v2.0 s6.13.3 - Integer Functions
9035303233Sdim
9036303233Sdim/**
9037303233Sdim * Returns | x |.
9038303233Sdim */
9039303233Sdimuchar __ovld __cnfn abs(char x);
9040303233Sdimuchar __ovld __cnfn abs(uchar x);
9041303233Sdimuchar2 __ovld __cnfn abs(char2 x);
9042303233Sdimuchar2 __ovld __cnfn abs(uchar2 x);
9043303233Sdimuchar3 __ovld __cnfn abs(char3 x);
9044303233Sdimuchar3 __ovld __cnfn abs(uchar3 x);
9045303233Sdimuchar4 __ovld __cnfn abs(char4 x);
9046303233Sdimuchar4 __ovld __cnfn abs(uchar4 x);
9047303233Sdimuchar8 __ovld __cnfn abs(char8 x);
9048303233Sdimuchar8 __ovld __cnfn abs(uchar8 x);
9049303233Sdimuchar16 __ovld __cnfn abs(char16 x);
9050303233Sdimuchar16 __ovld __cnfn abs(uchar16 x);
9051303233Sdimushort __ovld __cnfn abs(short x);
9052303233Sdimushort __ovld __cnfn abs(ushort x);
9053303233Sdimushort2 __ovld __cnfn abs(short2 x);
9054303233Sdimushort2 __ovld __cnfn abs(ushort2 x);
9055303233Sdimushort3 __ovld __cnfn abs(short3 x);
9056303233Sdimushort3 __ovld __cnfn abs(ushort3 x);
9057303233Sdimushort4 __ovld __cnfn abs(short4 x);
9058303233Sdimushort4 __ovld __cnfn abs(ushort4 x);
9059303233Sdimushort8 __ovld __cnfn abs(short8 x);
9060303233Sdimushort8 __ovld __cnfn abs(ushort8 x);
9061303233Sdimushort16 __ovld __cnfn abs(short16 x);
9062303233Sdimushort16 __ovld __cnfn abs(ushort16 x);
9063303233Sdimuint __ovld __cnfn abs(int x);
9064303233Sdimuint __ovld __cnfn abs(uint x);
9065303233Sdimuint2 __ovld __cnfn abs(int2 x);
9066303233Sdimuint2 __ovld __cnfn abs(uint2 x);
9067303233Sdimuint3 __ovld __cnfn abs(int3 x);
9068303233Sdimuint3 __ovld __cnfn abs(uint3 x);
9069303233Sdimuint4 __ovld __cnfn abs(int4 x);
9070303233Sdimuint4 __ovld __cnfn abs(uint4 x);
9071303233Sdimuint8 __ovld __cnfn abs(int8 x);
9072303233Sdimuint8 __ovld __cnfn abs(uint8 x);
9073303233Sdimuint16 __ovld __cnfn abs(int16 x);
9074303233Sdimuint16 __ovld __cnfn abs(uint16 x);
9075303233Sdimulong __ovld __cnfn abs(long x);
9076303233Sdimulong __ovld __cnfn abs(ulong x);
9077303233Sdimulong2 __ovld __cnfn abs(long2 x);
9078303233Sdimulong2 __ovld __cnfn abs(ulong2 x);
9079303233Sdimulong3 __ovld __cnfn abs(long3 x);
9080303233Sdimulong3 __ovld __cnfn abs(ulong3 x);
9081303233Sdimulong4 __ovld __cnfn abs(long4 x);
9082303233Sdimulong4 __ovld __cnfn abs(ulong4 x);
9083303233Sdimulong8 __ovld __cnfn abs(long8 x);
9084303233Sdimulong8 __ovld __cnfn abs(ulong8 x);
9085303233Sdimulong16 __ovld __cnfn abs(long16 x);
9086303233Sdimulong16 __ovld __cnfn abs(ulong16 x);
9087303233Sdim
9088303233Sdim/**
9089303233Sdim * Returns | x - y | without modulo overflow.
9090303233Sdim */
9091303233Sdimuchar __ovld __cnfn abs_diff(char x, char y);
9092303233Sdimuchar __ovld __cnfn abs_diff(uchar x, uchar y);
9093303233Sdimuchar2 __ovld __cnfn abs_diff(char2 x, char2 y);
9094303233Sdimuchar2 __ovld __cnfn abs_diff(uchar2 x, uchar2 y);
9095303233Sdimuchar3 __ovld __cnfn abs_diff(char3 x, char3 y);
9096303233Sdimuchar3 __ovld __cnfn abs_diff(uchar3 x, uchar3 y);
9097303233Sdimuchar4 __ovld __cnfn abs_diff(char4 x, char4 y);
9098303233Sdimuchar4 __ovld __cnfn abs_diff(uchar4 x, uchar4 y);
9099303233Sdimuchar8 __ovld __cnfn abs_diff(char8 x, char8 y);
9100303233Sdimuchar8 __ovld __cnfn abs_diff(uchar8 x, uchar8 y);
9101303233Sdimuchar16 __ovld __cnfn abs_diff(char16 x, char16 y);
9102303233Sdimuchar16 __ovld __cnfn abs_diff(uchar16 x, uchar16 y);
9103303233Sdimushort __ovld __cnfn abs_diff(short x, short y);
9104303233Sdimushort __ovld __cnfn abs_diff(ushort x, ushort y);
9105303233Sdimushort2 __ovld __cnfn abs_diff(short2 x, short2 y);
9106303233Sdimushort2 __ovld __cnfn abs_diff(ushort2 x, ushort2 y);
9107303233Sdimushort3 __ovld __cnfn abs_diff(short3 x, short3 y);
9108303233Sdimushort3 __ovld __cnfn abs_diff(ushort3 x, ushort3 y);
9109303233Sdimushort4 __ovld __cnfn abs_diff(short4 x, short4 y);
9110303233Sdimushort4 __ovld __cnfn abs_diff(ushort4 x, ushort4 y);
9111303233Sdimushort8 __ovld __cnfn abs_diff(short8 x, short8 y);
9112303233Sdimushort8 __ovld __cnfn abs_diff(ushort8 x, ushort8 y);
9113303233Sdimushort16 __ovld __cnfn abs_diff(short16 x, short16 y);
9114303233Sdimushort16 __ovld __cnfn abs_diff(ushort16 x, ushort16 y);
9115303233Sdimuint __ovld __cnfn abs_diff(int x, int y);
9116303233Sdimuint __ovld __cnfn abs_diff(uint x, uint y);
9117303233Sdimuint2 __ovld __cnfn abs_diff(int2 x, int2 y);
9118303233Sdimuint2 __ovld __cnfn abs_diff(uint2 x, uint2 y);
9119303233Sdimuint3 __ovld __cnfn abs_diff(int3 x, int3 y);
9120303233Sdimuint3 __ovld __cnfn abs_diff(uint3 x, uint3 y);
9121303233Sdimuint4 __ovld __cnfn abs_diff(int4 x, int4 y);
9122303233Sdimuint4 __ovld __cnfn abs_diff(uint4 x, uint4 y);
9123303233Sdimuint8 __ovld __cnfn abs_diff(int8 x, int8 y);
9124303233Sdimuint8 __ovld __cnfn abs_diff(uint8 x, uint8 y);
9125303233Sdimuint16 __ovld __cnfn abs_diff(int16 x, int16 y);
9126303233Sdimuint16 __ovld __cnfn abs_diff(uint16 x, uint16 y);
9127303233Sdimulong __ovld __cnfn abs_diff(long x, long y);
9128303233Sdimulong __ovld __cnfn abs_diff(ulong x, ulong y);
9129303233Sdimulong2 __ovld __cnfn abs_diff(long2 x, long2 y);
9130303233Sdimulong2 __ovld __cnfn abs_diff(ulong2 x, ulong2 y);
9131303233Sdimulong3 __ovld __cnfn abs_diff(long3 x, long3 y);
9132303233Sdimulong3 __ovld __cnfn abs_diff(ulong3 x, ulong3 y);
9133303233Sdimulong4 __ovld __cnfn abs_diff(long4 x, long4 y);
9134303233Sdimulong4 __ovld __cnfn abs_diff(ulong4 x, ulong4 y);
9135303233Sdimulong8 __ovld __cnfn abs_diff(long8 x, long8 y);
9136303233Sdimulong8 __ovld __cnfn abs_diff(ulong8 x, ulong8 y);
9137303233Sdimulong16 __ovld __cnfn abs_diff(long16 x, long16 y);
9138303233Sdimulong16 __ovld __cnfn abs_diff(ulong16 x, ulong16 y);
9139303233Sdim
9140303233Sdim/**
9141303233Sdim * Returns x + y and saturates the result.
9142303233Sdim */
9143303233Sdimchar __ovld __cnfn add_sat(char x, char y);
9144303233Sdimuchar __ovld __cnfn add_sat(uchar x, uchar y);
9145303233Sdimchar2 __ovld __cnfn add_sat(char2 x, char2 y);
9146303233Sdimuchar2 __ovld __cnfn add_sat(uchar2 x, uchar2 y);
9147303233Sdimchar3 __ovld __cnfn add_sat(char3 x, char3 y);
9148303233Sdimuchar3 __ovld __cnfn add_sat(uchar3 x, uchar3 y);
9149303233Sdimchar4 __ovld __cnfn add_sat(char4 x, char4 y);
9150303233Sdimuchar4 __ovld __cnfn add_sat(uchar4 x, uchar4 y);
9151303233Sdimchar8 __ovld __cnfn add_sat(char8 x, char8 y);
9152303233Sdimuchar8 __ovld __cnfn add_sat(uchar8 x, uchar8 y);
9153303233Sdimchar16 __ovld __cnfn add_sat(char16 x, char16 y);
9154303233Sdimuchar16 __ovld __cnfn add_sat(uchar16 x, uchar16 y);
9155303233Sdimshort __ovld __cnfn add_sat(short x, short y);
9156303233Sdimushort __ovld __cnfn add_sat(ushort x, ushort y);
9157303233Sdimshort2 __ovld __cnfn add_sat(short2 x, short2 y);
9158303233Sdimushort2 __ovld __cnfn add_sat(ushort2 x, ushort2 y);
9159303233Sdimshort3 __ovld __cnfn add_sat(short3 x, short3 y);
9160303233Sdimushort3 __ovld __cnfn add_sat(ushort3 x, ushort3 y);
9161303233Sdimshort4 __ovld __cnfn add_sat(short4 x, short4 y);
9162303233Sdimushort4 __ovld __cnfn add_sat(ushort4 x, ushort4 y);
9163303233Sdimshort8 __ovld __cnfn add_sat(short8 x, short8 y);
9164303233Sdimushort8 __ovld __cnfn add_sat(ushort8 x, ushort8 y);
9165303233Sdimshort16 __ovld __cnfn add_sat(short16 x, short16 y);
9166303233Sdimushort16 __ovld __cnfn add_sat(ushort16 x, ushort16 y);
9167303233Sdimint __ovld __cnfn add_sat(int x, int y);
9168303233Sdimuint __ovld __cnfn add_sat(uint x, uint y);
9169303233Sdimint2 __ovld __cnfn add_sat(int2 x, int2 y);
9170303233Sdimuint2 __ovld __cnfn add_sat(uint2 x, uint2 y);
9171303233Sdimint3 __ovld __cnfn add_sat(int3 x, int3 y);
9172303233Sdimuint3 __ovld __cnfn add_sat(uint3 x, uint3 y);
9173303233Sdimint4 __ovld __cnfn add_sat(int4 x, int4 y);
9174303233Sdimuint4 __ovld __cnfn add_sat(uint4 x, uint4 y);
9175303233Sdimint8 __ovld __cnfn add_sat(int8 x, int8 y);
9176303233Sdimuint8 __ovld __cnfn add_sat(uint8 x, uint8 y);
9177303233Sdimint16 __ovld __cnfn add_sat(int16 x, int16 y);
9178303233Sdimuint16 __ovld __cnfn add_sat(uint16 x, uint16 y);
9179303233Sdimlong __ovld __cnfn add_sat(long x, long y);
9180303233Sdimulong __ovld __cnfn add_sat(ulong x, ulong y);
9181303233Sdimlong2 __ovld __cnfn add_sat(long2 x, long2 y);
9182303233Sdimulong2 __ovld __cnfn add_sat(ulong2 x, ulong2 y);
9183303233Sdimlong3 __ovld __cnfn add_sat(long3 x, long3 y);
9184303233Sdimulong3 __ovld __cnfn add_sat(ulong3 x, ulong3 y);
9185303233Sdimlong4 __ovld __cnfn add_sat(long4 x, long4 y);
9186303233Sdimulong4 __ovld __cnfn add_sat(ulong4 x, ulong4 y);
9187303233Sdimlong8 __ovld __cnfn add_sat(long8 x, long8 y);
9188303233Sdimulong8 __ovld __cnfn add_sat(ulong8 x, ulong8 y);
9189303233Sdimlong16 __ovld __cnfn add_sat(long16 x, long16 y);
9190303233Sdimulong16 __ovld __cnfn add_sat(ulong16 x, ulong16 y);
9191303233Sdim
9192303233Sdim/**
9193303233Sdim * Returns (x + y) >> 1. The intermediate sum does
9194303233Sdim * not modulo overflow.
9195303233Sdim */
9196303233Sdimchar __ovld __cnfn hadd(char x, char y);
9197303233Sdimuchar __ovld __cnfn hadd(uchar x, uchar y);
9198303233Sdimchar2 __ovld __cnfn hadd(char2 x, char2 y);
9199303233Sdimuchar2 __ovld __cnfn hadd(uchar2 x, uchar2 y);
9200303233Sdimchar3 __ovld __cnfn hadd(char3 x, char3 y);
9201303233Sdimuchar3 __ovld __cnfn hadd(uchar3 x, uchar3 y);
9202303233Sdimchar4 __ovld __cnfn hadd(char4 x, char4 y);
9203303233Sdimuchar4 __ovld __cnfn hadd(uchar4 x, uchar4 y);
9204303233Sdimchar8 __ovld __cnfn hadd(char8 x, char8 y);
9205303233Sdimuchar8 __ovld __cnfn hadd(uchar8 x, uchar8 y);
9206303233Sdimchar16 __ovld __cnfn hadd(char16 x, char16 y);
9207303233Sdimuchar16 __ovld __cnfn hadd(uchar16 x, uchar16 y);
9208303233Sdimshort __ovld __cnfn hadd(short x, short y);
9209303233Sdimushort __ovld __cnfn hadd(ushort x, ushort y);
9210303233Sdimshort2 __ovld __cnfn hadd(short2 x, short2 y);
9211303233Sdimushort2 __ovld __cnfn hadd(ushort2 x, ushort2 y);
9212303233Sdimshort3 __ovld __cnfn hadd(short3 x, short3 y);
9213303233Sdimushort3 __ovld __cnfn hadd(ushort3 x, ushort3 y);
9214303233Sdimshort4 __ovld __cnfn hadd(short4 x, short4 y);
9215303233Sdimushort4 __ovld __cnfn hadd(ushort4 x, ushort4 y);
9216303233Sdimshort8 __ovld __cnfn hadd(short8 x, short8 y);
9217303233Sdimushort8 __ovld __cnfn hadd(ushort8 x, ushort8 y);
9218303233Sdimshort16 __ovld __cnfn hadd(short16 x, short16 y);
9219303233Sdimushort16 __ovld __cnfn hadd(ushort16 x, ushort16 y);
9220303233Sdimint __ovld __cnfn hadd(int x, int y);
9221303233Sdimuint __ovld __cnfn hadd(uint x, uint y);
9222303233Sdimint2 __ovld __cnfn hadd(int2 x, int2 y);
9223303233Sdimuint2 __ovld __cnfn hadd(uint2 x, uint2 y);
9224303233Sdimint3 __ovld __cnfn hadd(int3 x, int3 y);
9225303233Sdimuint3 __ovld __cnfn hadd(uint3 x, uint3 y);
9226303233Sdimint4 __ovld __cnfn hadd(int4 x, int4 y);
9227303233Sdimuint4 __ovld __cnfn hadd(uint4 x, uint4 y);
9228303233Sdimint8 __ovld __cnfn hadd(int8 x, int8 y);
9229303233Sdimuint8 __ovld __cnfn hadd(uint8 x, uint8 y);
9230303233Sdimint16 __ovld __cnfn hadd(int16 x, int16 y);
9231303233Sdimuint16 __ovld __cnfn hadd(uint16 x, uint16 y);
9232303233Sdimlong __ovld __cnfn hadd(long x, long y);
9233303233Sdimulong __ovld __cnfn hadd(ulong x, ulong y);
9234303233Sdimlong2 __ovld __cnfn hadd(long2 x, long2 y);
9235303233Sdimulong2 __ovld __cnfn hadd(ulong2 x, ulong2 y);
9236303233Sdimlong3 __ovld __cnfn hadd(long3 x, long3 y);
9237303233Sdimulong3 __ovld __cnfn hadd(ulong3 x, ulong3 y);
9238303233Sdimlong4 __ovld __cnfn hadd(long4 x, long4 y);
9239303233Sdimulong4 __ovld __cnfn hadd(ulong4 x, ulong4 y);
9240303233Sdimlong8 __ovld __cnfn hadd(long8 x, long8 y);
9241303233Sdimulong8 __ovld __cnfn hadd(ulong8 x, ulong8 y);
9242303233Sdimlong16 __ovld __cnfn hadd(long16 x, long16 y);
9243303233Sdimulong16 __ovld __cnfn hadd(ulong16 x, ulong16 y);
9244303233Sdim
9245303233Sdim/**
9246303233Sdim * Returns (x + y + 1) >> 1. The intermediate sum
9247303233Sdim * does not modulo overflow.
9248303233Sdim */
9249303233Sdimchar __ovld __cnfn rhadd(char x, char y);
9250303233Sdimuchar __ovld __cnfn rhadd(uchar x, uchar y);
9251303233Sdimchar2 __ovld __cnfn rhadd(char2 x, char2 y);
9252303233Sdimuchar2 __ovld __cnfn rhadd(uchar2 x, uchar2 y);
9253303233Sdimchar3 __ovld __cnfn rhadd(char3 x, char3 y);
9254303233Sdimuchar3 __ovld __cnfn rhadd(uchar3 x, uchar3 y);
9255303233Sdimchar4 __ovld __cnfn rhadd(char4 x, char4 y);
9256303233Sdimuchar4 __ovld __cnfn rhadd(uchar4 x, uchar4 y);
9257303233Sdimchar8 __ovld __cnfn rhadd(char8 x, char8 y);
9258303233Sdimuchar8 __ovld __cnfn rhadd(uchar8 x, uchar8 y);
9259303233Sdimchar16 __ovld __cnfn rhadd(char16 x, char16 y);
9260303233Sdimuchar16 __ovld __cnfn rhadd(uchar16 x, uchar16 y);
9261303233Sdimshort __ovld __cnfn rhadd(short x, short y);
9262303233Sdimushort __ovld __cnfn rhadd(ushort x, ushort y);
9263303233Sdimshort2 __ovld __cnfn rhadd(short2 x, short2 y);
9264303233Sdimushort2 __ovld __cnfn rhadd(ushort2 x, ushort2 y);
9265303233Sdimshort3 __ovld __cnfn rhadd(short3 x, short3 y);
9266303233Sdimushort3 __ovld __cnfn rhadd(ushort3 x, ushort3 y);
9267303233Sdimshort4 __ovld __cnfn rhadd(short4 x, short4 y);
9268303233Sdimushort4 __ovld __cnfn rhadd(ushort4 x, ushort4 y);
9269303233Sdimshort8 __ovld __cnfn rhadd(short8 x, short8 y);
9270303233Sdimushort8 __ovld __cnfn rhadd(ushort8 x, ushort8 y);
9271303233Sdimshort16 __ovld __cnfn rhadd(short16 x, short16 y);
9272303233Sdimushort16 __ovld __cnfn rhadd(ushort16 x, ushort16 y);
9273303233Sdimint __ovld __cnfn rhadd(int x, int y);
9274303233Sdimuint __ovld __cnfn rhadd(uint x, uint y);
9275303233Sdimint2 __ovld __cnfn rhadd(int2 x, int2 y);
9276303233Sdimuint2 __ovld __cnfn rhadd(uint2 x, uint2 y);
9277303233Sdimint3 __ovld __cnfn rhadd(int3 x, int3 y);
9278303233Sdimuint3 __ovld __cnfn rhadd(uint3 x, uint3 y);
9279303233Sdimint4 __ovld __cnfn rhadd(int4 x, int4 y);
9280303233Sdimuint4 __ovld __cnfn rhadd(uint4 x, uint4 y);
9281303233Sdimint8 __ovld __cnfn rhadd(int8 x, int8 y);
9282303233Sdimuint8 __ovld __cnfn rhadd(uint8 x, uint8 y);
9283303233Sdimint16 __ovld __cnfn rhadd(int16 x, int16 y);
9284303233Sdimuint16 __ovld __cnfn rhadd(uint16 x, uint16 y);
9285303233Sdimlong __ovld __cnfn rhadd(long x, long y);
9286303233Sdimulong __ovld __cnfn rhadd(ulong x, ulong y);
9287303233Sdimlong2 __ovld __cnfn rhadd(long2 x, long2 y);
9288303233Sdimulong2 __ovld __cnfn rhadd(ulong2 x, ulong2 y);
9289303233Sdimlong3 __ovld __cnfn rhadd(long3 x, long3 y);
9290303233Sdimulong3 __ovld __cnfn rhadd(ulong3 x, ulong3 y);
9291303233Sdimlong4 __ovld __cnfn rhadd(long4 x, long4 y);
9292303233Sdimulong4 __ovld __cnfn rhadd(ulong4 x, ulong4 y);
9293303233Sdimlong8 __ovld __cnfn rhadd(long8 x, long8 y);
9294303233Sdimulong8 __ovld __cnfn rhadd(ulong8 x, ulong8 y);
9295303233Sdimlong16 __ovld __cnfn rhadd(long16 x, long16 y);
9296303233Sdimulong16 __ovld __cnfn rhadd(ulong16 x, ulong16 y);
9297303233Sdim
9298303233Sdim/**
9299303233Sdim * Returns min(max(x, minval), maxval).
9300303233Sdim * Results are undefined if minval > maxval.
9301303233Sdim */
9302303233Sdimchar __ovld __cnfn clamp(char x, char minval, char maxval);
9303303233Sdimuchar __ovld __cnfn clamp(uchar x, uchar minval, uchar maxval);
9304303233Sdimchar2 __ovld __cnfn clamp(char2 x, char2 minval, char2 maxval);
9305303233Sdimuchar2 __ovld __cnfn clamp(uchar2 x, uchar2 minval, uchar2 maxval);
9306303233Sdimchar3 __ovld __cnfn clamp(char3 x, char3 minval, char3 maxval);
9307303233Sdimuchar3 __ovld __cnfn clamp(uchar3 x, uchar3 minval, uchar3 maxval);
9308303233Sdimchar4 __ovld __cnfn clamp(char4 x, char4 minval, char4 maxval);
9309303233Sdimuchar4 __ovld __cnfn clamp(uchar4 x, uchar4 minval, uchar4 maxval);
9310303233Sdimchar8 __ovld __cnfn clamp(char8 x, char8 minval, char8 maxval);
9311303233Sdimuchar8 __ovld __cnfn clamp(uchar8 x, uchar8 minval, uchar8 maxval);
9312303233Sdimchar16 __ovld __cnfn clamp(char16 x, char16 minval, char16 maxval);
9313303233Sdimuchar16 __ovld __cnfn clamp(uchar16 x, uchar16 minval, uchar16 maxval);
9314303233Sdimshort __ovld __cnfn clamp(short x, short minval, short maxval);
9315303233Sdimushort __ovld __cnfn clamp(ushort x, ushort minval, ushort maxval);
9316303233Sdimshort2 __ovld __cnfn clamp(short2 x, short2 minval, short2 maxval);
9317303233Sdimushort2 __ovld __cnfn clamp(ushort2 x, ushort2 minval, ushort2 maxval);
9318303233Sdimshort3 __ovld __cnfn clamp(short3 x, short3 minval, short3 maxval);
9319303233Sdimushort3 __ovld __cnfn clamp(ushort3 x, ushort3 minval, ushort3 maxval);
9320303233Sdimshort4 __ovld __cnfn clamp(short4 x, short4 minval, short4 maxval);
9321303233Sdimushort4 __ovld __cnfn clamp(ushort4 x, ushort4 minval, ushort4 maxval);
9322303233Sdimshort8 __ovld __cnfn clamp(short8 x, short8 minval, short8 maxval);
9323303233Sdimushort8 __ovld __cnfn clamp(ushort8 x, ushort8 minval, ushort8 maxval);
9324303233Sdimshort16 __ovld __cnfn clamp(short16 x, short16 minval, short16 maxval);
9325303233Sdimushort16 __ovld __cnfn clamp(ushort16 x, ushort16 minval, ushort16 maxval);
9326303233Sdimint __ovld __cnfn clamp(int x, int minval, int maxval);
9327303233Sdimuint __ovld __cnfn clamp(uint x, uint minval, uint maxval);
9328303233Sdimint2 __ovld __cnfn clamp(int2 x, int2 minval, int2 maxval);
9329303233Sdimuint2 __ovld __cnfn clamp(uint2 x, uint2 minval, uint2 maxval);
9330303233Sdimint3 __ovld __cnfn clamp(int3 x, int3 minval, int3 maxval);
9331303233Sdimuint3 __ovld __cnfn clamp(uint3 x, uint3 minval, uint3 maxval);
9332303233Sdimint4 __ovld __cnfn clamp(int4 x, int4 minval, int4 maxval);
9333303233Sdimuint4 __ovld __cnfn clamp(uint4 x, uint4 minval, uint4 maxval);
9334303233Sdimint8 __ovld __cnfn clamp(int8 x, int8 minval, int8 maxval);
9335303233Sdimuint8 __ovld __cnfn clamp(uint8 x, uint8 minval, uint8 maxval);
9336303233Sdimint16 __ovld __cnfn clamp(int16 x, int16 minval, int16 maxval);
9337303233Sdimuint16 __ovld __cnfn clamp(uint16 x, uint16 minval, uint16 maxval);
9338303233Sdimlong __ovld __cnfn clamp(long x, long minval, long maxval);
9339303233Sdimulong __ovld __cnfn clamp(ulong x, ulong minval, ulong maxval);
9340303233Sdimlong2 __ovld __cnfn clamp(long2 x, long2 minval, long2 maxval);
9341303233Sdimulong2 __ovld __cnfn clamp(ulong2 x, ulong2 minval, ulong2 maxval);
9342303233Sdimlong3 __ovld __cnfn clamp(long3 x, long3 minval, long3 maxval);
9343303233Sdimulong3 __ovld __cnfn clamp(ulong3 x, ulong3 minval, ulong3 maxval);
9344303233Sdimlong4 __ovld __cnfn clamp(long4 x, long4 minval, long4 maxval);
9345303233Sdimulong4 __ovld __cnfn clamp(ulong4 x, ulong4 minval, ulong4 maxval);
9346303233Sdimlong8 __ovld __cnfn clamp(long8 x, long8 minval, long8 maxval);
9347303233Sdimulong8 __ovld __cnfn clamp(ulong8 x, ulong8 minval, ulong8 maxval);
9348303233Sdimlong16 __ovld __cnfn clamp(long16 x, long16 minval, long16 maxval);
9349303233Sdimulong16 __ovld __cnfn clamp(ulong16 x, ulong16 minval, ulong16 maxval);
9350303233Sdimchar2 __ovld __cnfn clamp(char2 x, char minval, char maxval);
9351303233Sdimuchar2 __ovld __cnfn clamp(uchar2 x, uchar minval, uchar maxval);
9352303233Sdimchar3 __ovld __cnfn clamp(char3 x, char minval, char maxval);
9353303233Sdimuchar3 __ovld __cnfn clamp(uchar3 x, uchar minval, uchar maxval);
9354303233Sdimchar4 __ovld __cnfn clamp(char4 x, char minval, char maxval);
9355303233Sdimuchar4 __ovld __cnfn clamp(uchar4 x, uchar minval, uchar maxval);
9356303233Sdimchar8 __ovld __cnfn clamp(char8 x, char minval, char maxval);
9357303233Sdimuchar8 __ovld __cnfn clamp(uchar8 x, uchar minval, uchar maxval);
9358303233Sdimchar16 __ovld __cnfn clamp(char16 x, char minval, char maxval);
9359303233Sdimuchar16 __ovld __cnfn clamp(uchar16 x, uchar minval, uchar maxval);
9360303233Sdimshort2 __ovld __cnfn clamp(short2 x, short minval, short maxval);
9361303233Sdimushort2 __ovld __cnfn clamp(ushort2 x, ushort minval, ushort maxval);
9362303233Sdimshort3 __ovld __cnfn clamp(short3 x, short minval, short maxval);
9363303233Sdimushort3 __ovld __cnfn clamp(ushort3 x, ushort minval, ushort maxval);
9364303233Sdimshort4 __ovld __cnfn clamp(short4 x, short minval, short maxval);
9365303233Sdimushort4 __ovld __cnfn clamp(ushort4 x, ushort minval, ushort maxval);
9366303233Sdimshort8 __ovld __cnfn clamp(short8 x, short minval, short maxval);
9367303233Sdimushort8 __ovld __cnfn clamp(ushort8 x, ushort minval, ushort maxval);
9368303233Sdimshort16 __ovld __cnfn clamp(short16 x, short minval, short maxval);
9369303233Sdimushort16 __ovld __cnfn clamp(ushort16 x, ushort minval, ushort maxval);
9370303233Sdimint2 __ovld __cnfn clamp(int2 x, int minval, int maxval);
9371303233Sdimuint2 __ovld __cnfn clamp(uint2 x, uint minval, uint maxval);
9372303233Sdimint3 __ovld __cnfn clamp(int3 x, int minval, int maxval);
9373303233Sdimuint3 __ovld __cnfn clamp(uint3 x, uint minval, uint maxval);
9374303233Sdimint4 __ovld __cnfn clamp(int4 x, int minval, int maxval);
9375303233Sdimuint4 __ovld __cnfn clamp(uint4 x, uint minval, uint maxval);
9376303233Sdimint8 __ovld __cnfn clamp(int8 x, int minval, int maxval);
9377303233Sdimuint8 __ovld __cnfn clamp(uint8 x, uint minval, uint maxval);
9378303233Sdimint16 __ovld __cnfn clamp(int16 x, int minval, int maxval);
9379303233Sdimuint16 __ovld __cnfn clamp(uint16 x, uint minval, uint maxval);
9380303233Sdimlong2 __ovld __cnfn clamp(long2 x, long minval, long maxval);
9381303233Sdimulong2 __ovld __cnfn clamp(ulong2 x, ulong minval, ulong maxval);
9382303233Sdimlong3 __ovld __cnfn clamp(long3 x, long minval, long maxval);
9383303233Sdimulong3 __ovld __cnfn clamp(ulong3 x, ulong minval, ulong maxval);
9384303233Sdimlong4 __ovld __cnfn clamp(long4 x, long minval, long maxval);
9385303233Sdimulong4 __ovld __cnfn clamp(ulong4 x, ulong minval, ulong maxval);
9386303233Sdimlong8 __ovld __cnfn clamp(long8 x, long minval, long maxval);
9387303233Sdimulong8 __ovld __cnfn clamp(ulong8 x, ulong minval, ulong maxval);
9388303233Sdimlong16 __ovld __cnfn clamp(long16 x, long minval, long maxval);
9389303233Sdimulong16 __ovld __cnfn clamp(ulong16 x, ulong minval, ulong maxval);
9390303233Sdim
9391303233Sdim/**
9392303233Sdim * Returns the number of leading 0-bits in x, starting
9393303233Sdim * at the most significant bit position.
9394303233Sdim */
9395303233Sdimchar __ovld __cnfn clz(char x);
9396303233Sdimuchar __ovld __cnfn clz(uchar x);
9397303233Sdimchar2 __ovld __cnfn clz(char2 x);
9398303233Sdimuchar2 __ovld __cnfn clz(uchar2 x);
9399303233Sdimchar3 __ovld __cnfn clz(char3 x);
9400303233Sdimuchar3 __ovld __cnfn clz(uchar3 x);
9401303233Sdimchar4 __ovld __cnfn clz(char4 x);
9402303233Sdimuchar4 __ovld __cnfn clz(uchar4 x);
9403303233Sdimchar8 __ovld __cnfn clz(char8 x);
9404303233Sdimuchar8 __ovld __cnfn clz(uchar8 x);
9405303233Sdimchar16 __ovld __cnfn clz(char16 x);
9406303233Sdimuchar16 __ovld __cnfn clz(uchar16 x);
9407303233Sdimshort __ovld __cnfn clz(short x);
9408303233Sdimushort __ovld __cnfn clz(ushort x);
9409303233Sdimshort2 __ovld __cnfn clz(short2 x);
9410303233Sdimushort2 __ovld __cnfn clz(ushort2 x);
9411303233Sdimshort3 __ovld __cnfn clz(short3 x);
9412303233Sdimushort3 __ovld __cnfn clz(ushort3 x);
9413303233Sdimshort4 __ovld __cnfn clz(short4 x);
9414303233Sdimushort4 __ovld __cnfn clz(ushort4 x);
9415303233Sdimshort8 __ovld __cnfn clz(short8 x);
9416303233Sdimushort8 __ovld __cnfn clz(ushort8 x);
9417303233Sdimshort16 __ovld __cnfn clz(short16 x);
9418303233Sdimushort16 __ovld __cnfn clz(ushort16 x);
9419303233Sdimint __ovld __cnfn clz(int x);
9420303233Sdimuint __ovld __cnfn clz(uint x);
9421303233Sdimint2 __ovld __cnfn clz(int2 x);
9422303233Sdimuint2 __ovld __cnfn clz(uint2 x);
9423303233Sdimint3 __ovld __cnfn clz(int3 x);
9424303233Sdimuint3 __ovld __cnfn clz(uint3 x);
9425303233Sdimint4 __ovld __cnfn clz(int4 x);
9426303233Sdimuint4 __ovld __cnfn clz(uint4 x);
9427303233Sdimint8 __ovld __cnfn clz(int8 x);
9428303233Sdimuint8 __ovld __cnfn clz(uint8 x);
9429303233Sdimint16 __ovld __cnfn clz(int16 x);
9430303233Sdimuint16 __ovld __cnfn clz(uint16 x);
9431303233Sdimlong __ovld __cnfn clz(long x);
9432303233Sdimulong __ovld __cnfn clz(ulong x);
9433303233Sdimlong2 __ovld __cnfn clz(long2 x);
9434303233Sdimulong2 __ovld __cnfn clz(ulong2 x);
9435303233Sdimlong3 __ovld __cnfn clz(long3 x);
9436303233Sdimulong3 __ovld __cnfn clz(ulong3 x);
9437303233Sdimlong4 __ovld __cnfn clz(long4 x);
9438303233Sdimulong4 __ovld __cnfn clz(ulong4 x);
9439303233Sdimlong8 __ovld __cnfn clz(long8 x);
9440303233Sdimulong8 __ovld __cnfn clz(ulong8 x);
9441303233Sdimlong16 __ovld __cnfn clz(long16 x);
9442303233Sdimulong16 __ovld __cnfn clz(ulong16 x);
9443303233Sdim
9444303233Sdim/**
9445303233Sdim * Returns the count of trailing 0-bits in x. If x is 0,
9446303233Sdim * returns the size in bits of the type of x or
9447303233Sdim * component type of x, if x is a vector.
9448303233Sdim */
9449353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
9450303233Sdimchar __ovld ctz(char x);
9451303233Sdimuchar __ovld ctz(uchar x);
9452303233Sdimchar2 __ovld ctz(char2 x);
9453303233Sdimuchar2 __ovld ctz(uchar2 x);
9454303233Sdimchar3 __ovld ctz(char3 x);
9455303233Sdimuchar3 __ovld ctz(uchar3 x);
9456303233Sdimchar4 __ovld ctz(char4 x);
9457303233Sdimuchar4 __ovld ctz(uchar4 x);
9458303233Sdimchar8 __ovld ctz(char8 x);
9459303233Sdimuchar8 __ovld ctz(uchar8 x);
9460303233Sdimchar16 __ovld ctz(char16 x);
9461303233Sdimuchar16 __ovld ctz(uchar16 x);
9462303233Sdimshort __ovld ctz(short x);
9463303233Sdimushort __ovld ctz(ushort x);
9464303233Sdimshort2 __ovld ctz(short2 x);
9465303233Sdimushort2 __ovld ctz(ushort2 x);
9466303233Sdimshort3 __ovld ctz(short3 x);
9467303233Sdimushort3 __ovld ctz(ushort3 x);
9468303233Sdimshort4 __ovld ctz(short4 x);
9469303233Sdimushort4 __ovld ctz(ushort4 x);
9470303233Sdimshort8 __ovld ctz(short8 x);
9471303233Sdimushort8 __ovld ctz(ushort8 x);
9472303233Sdimshort16 __ovld ctz(short16 x);
9473303233Sdimushort16 __ovld ctz(ushort16 x);
9474303233Sdimint __ovld ctz(int x);
9475303233Sdimuint __ovld ctz(uint x);
9476303233Sdimint2 __ovld ctz(int2 x);
9477303233Sdimuint2 __ovld ctz(uint2 x);
9478303233Sdimint3 __ovld ctz(int3 x);
9479303233Sdimuint3 __ovld ctz(uint3 x);
9480303233Sdimint4 __ovld ctz(int4 x);
9481303233Sdimuint4 __ovld ctz(uint4 x);
9482303233Sdimint8 __ovld ctz(int8 x);
9483303233Sdimuint8 __ovld ctz(uint8 x);
9484303233Sdimint16 __ovld ctz(int16 x);
9485303233Sdimuint16 __ovld ctz(uint16 x);
9486303233Sdimlong __ovld ctz(long x);
9487303233Sdimulong __ovld ctz(ulong x);
9488303233Sdimlong2 __ovld ctz(long2 x);
9489303233Sdimulong2 __ovld ctz(ulong2 x);
9490303233Sdimlong3 __ovld ctz(long3 x);
9491303233Sdimulong3 __ovld ctz(ulong3 x);
9492303233Sdimlong4 __ovld ctz(long4 x);
9493303233Sdimulong4 __ovld ctz(ulong4 x);
9494303233Sdimlong8 __ovld ctz(long8 x);
9495303233Sdimulong8 __ovld ctz(ulong8 x);
9496303233Sdimlong16 __ovld ctz(long16 x);
9497303233Sdimulong16 __ovld ctz(ulong16 x);
9498353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
9499303233Sdim
9500303233Sdim/**
9501303233Sdim * Returns mul_hi(a, b) + c.
9502303233Sdim */
9503303233Sdimchar __ovld __cnfn mad_hi(char a, char b, char c);
9504303233Sdimuchar __ovld __cnfn mad_hi(uchar a, uchar b, uchar c);
9505303233Sdimchar2 __ovld __cnfn mad_hi(char2 a, char2 b, char2 c);
9506303233Sdimuchar2 __ovld __cnfn mad_hi(uchar2 a, uchar2 b, uchar2 c);
9507303233Sdimchar3 __ovld __cnfn mad_hi(char3 a, char3 b, char3 c);
9508303233Sdimuchar3 __ovld __cnfn mad_hi(uchar3 a, uchar3 b, uchar3 c);
9509303233Sdimchar4 __ovld __cnfn mad_hi(char4 a, char4 b, char4 c);
9510303233Sdimuchar4 __ovld __cnfn mad_hi(uchar4 a, uchar4 b, uchar4 c);
9511303233Sdimchar8 __ovld __cnfn mad_hi(char8 a, char8 b, char8 c);
9512303233Sdimuchar8 __ovld __cnfn mad_hi(uchar8 a, uchar8 b, uchar8 c);
9513303233Sdimchar16 __ovld __cnfn mad_hi(char16 a, char16 b, char16 c);
9514303233Sdimuchar16 __ovld __cnfn mad_hi(uchar16 a, uchar16 b, uchar16 c);
9515303233Sdimshort __ovld __cnfn mad_hi(short a, short b, short c);
9516303233Sdimushort __ovld __cnfn mad_hi(ushort a, ushort b, ushort c);
9517303233Sdimshort2 __ovld __cnfn mad_hi(short2 a, short2 b, short2 c);
9518303233Sdimushort2 __ovld __cnfn mad_hi(ushort2 a, ushort2 b, ushort2 c);
9519303233Sdimshort3 __ovld __cnfn mad_hi(short3 a, short3 b, short3 c);
9520303233Sdimushort3 __ovld __cnfn mad_hi(ushort3 a, ushort3 b, ushort3 c);
9521303233Sdimshort4 __ovld __cnfn mad_hi(short4 a, short4 b, short4 c);
9522303233Sdimushort4 __ovld __cnfn mad_hi(ushort4 a, ushort4 b, ushort4 c);
9523303233Sdimshort8 __ovld __cnfn mad_hi(short8 a, short8 b, short8 c);
9524303233Sdimushort8 __ovld __cnfn mad_hi(ushort8 a, ushort8 b, ushort8 c);
9525303233Sdimshort16 __ovld __cnfn mad_hi(short16 a, short16 b, short16 c);
9526303233Sdimushort16 __ovld __cnfn mad_hi(ushort16 a, ushort16 b, ushort16 c);
9527303233Sdimint __ovld __cnfn mad_hi(int a, int b, int c);
9528303233Sdimuint __ovld __cnfn mad_hi(uint a, uint b, uint c);
9529303233Sdimint2 __ovld __cnfn mad_hi(int2 a, int2 b, int2 c);
9530303233Sdimuint2 __ovld __cnfn mad_hi(uint2 a, uint2 b, uint2 c);
9531303233Sdimint3 __ovld __cnfn mad_hi(int3 a, int3 b, int3 c);
9532303233Sdimuint3 __ovld __cnfn mad_hi(uint3 a, uint3 b, uint3 c);
9533303233Sdimint4 __ovld __cnfn mad_hi(int4 a, int4 b, int4 c);
9534303233Sdimuint4 __ovld __cnfn mad_hi(uint4 a, uint4 b, uint4 c);
9535303233Sdimint8 __ovld __cnfn mad_hi(int8 a, int8 b, int8 c);
9536303233Sdimuint8 __ovld __cnfn mad_hi(uint8 a, uint8 b, uint8 c);
9537303233Sdimint16 __ovld __cnfn mad_hi(int16 a, int16 b, int16 c);
9538303233Sdimuint16 __ovld __cnfn mad_hi(uint16 a, uint16 b, uint16 c);
9539303233Sdimlong __ovld __cnfn mad_hi(long a, long b, long c);
9540303233Sdimulong __ovld __cnfn mad_hi(ulong a, ulong b, ulong c);
9541303233Sdimlong2 __ovld __cnfn mad_hi(long2 a, long2 b, long2 c);
9542303233Sdimulong2 __ovld __cnfn mad_hi(ulong2 a, ulong2 b, ulong2 c);
9543303233Sdimlong3 __ovld __cnfn mad_hi(long3 a, long3 b, long3 c);
9544303233Sdimulong3 __ovld __cnfn mad_hi(ulong3 a, ulong3 b, ulong3 c);
9545303233Sdimlong4 __ovld __cnfn mad_hi(long4 a, long4 b, long4 c);
9546303233Sdimulong4 __ovld __cnfn mad_hi(ulong4 a, ulong4 b, ulong4 c);
9547303233Sdimlong8 __ovld __cnfn mad_hi(long8 a, long8 b, long8 c);
9548303233Sdimulong8 __ovld __cnfn mad_hi(ulong8 a, ulong8 b, ulong8 c);
9549303233Sdimlong16 __ovld __cnfn mad_hi(long16 a, long16 b, long16 c);
9550303233Sdimulong16 __ovld __cnfn mad_hi(ulong16 a, ulong16 b, ulong16 c);
9551303233Sdim
9552303233Sdim/**
9553303233Sdim * Returns a * b + c and saturates the result.
9554303233Sdim */
9555303233Sdimchar __ovld __cnfn mad_sat(char a, char b, char c);
9556303233Sdimuchar __ovld __cnfn mad_sat(uchar a, uchar b, uchar c);
9557303233Sdimchar2 __ovld __cnfn mad_sat(char2 a, char2 b, char2 c);
9558303233Sdimuchar2 __ovld __cnfn mad_sat(uchar2 a, uchar2 b, uchar2 c);
9559303233Sdimchar3 __ovld __cnfn mad_sat(char3 a, char3 b, char3 c);
9560303233Sdimuchar3 __ovld __cnfn mad_sat(uchar3 a, uchar3 b, uchar3 c);
9561303233Sdimchar4 __ovld __cnfn mad_sat(char4 a, char4 b, char4 c);
9562303233Sdimuchar4 __ovld __cnfn mad_sat(uchar4 a, uchar4 b, uchar4 c);
9563303233Sdimchar8 __ovld __cnfn mad_sat(char8 a, char8 b, char8 c);
9564303233Sdimuchar8 __ovld __cnfn mad_sat(uchar8 a, uchar8 b, uchar8 c);
9565303233Sdimchar16 __ovld __cnfn mad_sat(char16 a, char16 b, char16 c);
9566303233Sdimuchar16 __ovld __cnfn mad_sat(uchar16 a, uchar16 b, uchar16 c);
9567303233Sdimshort __ovld __cnfn mad_sat(short a, short b, short c);
9568303233Sdimushort __ovld __cnfn mad_sat(ushort a, ushort b, ushort c);
9569303233Sdimshort2 __ovld __cnfn mad_sat(short2 a, short2 b, short2 c);
9570303233Sdimushort2 __ovld __cnfn mad_sat(ushort2 a, ushort2 b, ushort2 c);
9571303233Sdimshort3 __ovld __cnfn mad_sat(short3 a, short3 b, short3 c);
9572303233Sdimushort3 __ovld __cnfn mad_sat(ushort3 a, ushort3 b, ushort3 c);
9573303233Sdimshort4 __ovld __cnfn mad_sat(short4 a, short4 b, short4 c);
9574303233Sdimushort4 __ovld __cnfn mad_sat(ushort4 a, ushort4 b, ushort4 c);
9575303233Sdimshort8 __ovld __cnfn mad_sat(short8 a, short8 b, short8 c);
9576303233Sdimushort8 __ovld __cnfn mad_sat(ushort8 a, ushort8 b, ushort8 c);
9577303233Sdimshort16 __ovld __cnfn mad_sat(short16 a, short16 b, short16 c);
9578303233Sdimushort16 __ovld __cnfn mad_sat(ushort16 a, ushort16 b, ushort16 c);
9579303233Sdimint __ovld __cnfn mad_sat(int a, int b, int c);
9580303233Sdimuint __ovld __cnfn mad_sat(uint a, uint b, uint c);
9581303233Sdimint2 __ovld __cnfn mad_sat(int2 a, int2 b, int2 c);
9582303233Sdimuint2 __ovld __cnfn mad_sat(uint2 a, uint2 b, uint2 c);
9583303233Sdimint3 __ovld __cnfn mad_sat(int3 a, int3 b, int3 c);
9584303233Sdimuint3 __ovld __cnfn mad_sat(uint3 a, uint3 b, uint3 c);
9585303233Sdimint4 __ovld __cnfn mad_sat(int4 a, int4 b, int4 c);
9586303233Sdimuint4 __ovld __cnfn mad_sat(uint4 a, uint4 b, uint4 c);
9587303233Sdimint8 __ovld __cnfn mad_sat(int8 a, int8 b, int8 c);
9588303233Sdimuint8 __ovld __cnfn mad_sat(uint8 a, uint8 b, uint8 c);
9589303233Sdimint16 __ovld __cnfn mad_sat(int16 a, int16 b, int16 c);
9590303233Sdimuint16 __ovld __cnfn mad_sat(uint16 a, uint16 b, uint16 c);
9591303233Sdimlong __ovld __cnfn mad_sat(long a, long b, long c);
9592303233Sdimulong __ovld __cnfn mad_sat(ulong a, ulong b, ulong c);
9593303233Sdimlong2 __ovld __cnfn mad_sat(long2 a, long2 b, long2 c);
9594303233Sdimulong2 __ovld __cnfn mad_sat(ulong2 a, ulong2 b, ulong2 c);
9595303233Sdimlong3 __ovld __cnfn mad_sat(long3 a, long3 b, long3 c);
9596303233Sdimulong3 __ovld __cnfn mad_sat(ulong3 a, ulong3 b, ulong3 c);
9597303233Sdimlong4 __ovld __cnfn mad_sat(long4 a, long4 b, long4 c);
9598303233Sdimulong4 __ovld __cnfn mad_sat(ulong4 a, ulong4 b, ulong4 c);
9599303233Sdimlong8 __ovld __cnfn mad_sat(long8 a, long8 b, long8 c);
9600303233Sdimulong8 __ovld __cnfn mad_sat(ulong8 a, ulong8 b, ulong8 c);
9601303233Sdimlong16 __ovld __cnfn mad_sat(long16 a, long16 b, long16 c);
9602303233Sdimulong16 __ovld __cnfn mad_sat(ulong16 a, ulong16 b, ulong16 c);
9603303233Sdim
9604303233Sdim/**
9605303233Sdim * Returns y if x < y, otherwise it returns x.
9606303233Sdim */
9607303233Sdimchar __ovld __cnfn max(char x, char y);
9608303233Sdimuchar __ovld __cnfn max(uchar x, uchar y);
9609303233Sdimchar2 __ovld __cnfn max(char2 x, char2 y);
9610303233Sdimuchar2 __ovld __cnfn max(uchar2 x, uchar2 y);
9611303233Sdimchar3 __ovld __cnfn max(char3 x, char3 y);
9612303233Sdimuchar3 __ovld __cnfn max(uchar3 x, uchar3 y);
9613303233Sdimchar4 __ovld __cnfn max(char4 x, char4 y);
9614303233Sdimuchar4 __ovld __cnfn max(uchar4 x, uchar4 y);
9615303233Sdimchar8 __ovld __cnfn max(char8 x, char8 y);
9616303233Sdimuchar8 __ovld __cnfn max(uchar8 x, uchar8 y);
9617303233Sdimchar16 __ovld __cnfn max(char16 x, char16 y);
9618303233Sdimuchar16 __ovld __cnfn max(uchar16 x, uchar16 y);
9619303233Sdimshort __ovld __cnfn max(short x, short y);
9620303233Sdimushort __ovld __cnfn max(ushort x, ushort y);
9621303233Sdimshort2 __ovld __cnfn max(short2 x, short2 y);
9622303233Sdimushort2 __ovld __cnfn max(ushort2 x, ushort2 y);
9623303233Sdimshort3 __ovld __cnfn max(short3 x, short3 y);
9624303233Sdimushort3 __ovld __cnfn max(ushort3 x, ushort3 y);
9625303233Sdimshort4 __ovld __cnfn max(short4 x, short4 y);
9626303233Sdimushort4 __ovld __cnfn max(ushort4 x, ushort4 y);
9627303233Sdimshort8 __ovld __cnfn max(short8 x, short8 y);
9628303233Sdimushort8 __ovld __cnfn max(ushort8 x, ushort8 y);
9629303233Sdimshort16 __ovld __cnfn max(short16 x, short16 y);
9630303233Sdimushort16 __ovld __cnfn max(ushort16 x, ushort16 y);
9631303233Sdimint __ovld __cnfn max(int x, int y);
9632303233Sdimuint __ovld __cnfn max(uint x, uint y);
9633303233Sdimint2 __ovld __cnfn max(int2 x, int2 y);
9634303233Sdimuint2 __ovld __cnfn max(uint2 x, uint2 y);
9635303233Sdimint3 __ovld __cnfn max(int3 x, int3 y);
9636303233Sdimuint3 __ovld __cnfn max(uint3 x, uint3 y);
9637303233Sdimint4 __ovld __cnfn max(int4 x, int4 y);
9638303233Sdimuint4 __ovld __cnfn max(uint4 x, uint4 y);
9639303233Sdimint8 __ovld __cnfn max(int8 x, int8 y);
9640303233Sdimuint8 __ovld __cnfn max(uint8 x, uint8 y);
9641303233Sdimint16 __ovld __cnfn max(int16 x, int16 y);
9642303233Sdimuint16 __ovld __cnfn max(uint16 x, uint16 y);
9643303233Sdimlong __ovld __cnfn max(long x, long y);
9644303233Sdimulong __ovld __cnfn max(ulong x, ulong y);
9645303233Sdimlong2 __ovld __cnfn max(long2 x, long2 y);
9646303233Sdimulong2 __ovld __cnfn max(ulong2 x, ulong2 y);
9647303233Sdimlong3 __ovld __cnfn max(long3 x, long3 y);
9648303233Sdimulong3 __ovld __cnfn max(ulong3 x, ulong3 y);
9649303233Sdimlong4 __ovld __cnfn max(long4 x, long4 y);
9650303233Sdimulong4 __ovld __cnfn max(ulong4 x, ulong4 y);
9651303233Sdimlong8 __ovld __cnfn max(long8 x, long8 y);
9652303233Sdimulong8 __ovld __cnfn max(ulong8 x, ulong8 y);
9653303233Sdimlong16 __ovld __cnfn max(long16 x, long16 y);
9654303233Sdimulong16 __ovld __cnfn max(ulong16 x, ulong16 y);
9655303233Sdimchar2 __ovld __cnfn max(char2 x, char y);
9656303233Sdimuchar2 __ovld __cnfn max(uchar2 x, uchar y);
9657303233Sdimchar3 __ovld __cnfn max(char3 x, char y);
9658303233Sdimuchar3 __ovld __cnfn max(uchar3 x, uchar y);
9659303233Sdimchar4 __ovld __cnfn max(char4 x, char y);
9660303233Sdimuchar4 __ovld __cnfn max(uchar4 x, uchar y);
9661303233Sdimchar8 __ovld __cnfn max(char8 x, char y);
9662303233Sdimuchar8 __ovld __cnfn max(uchar8 x, uchar y);
9663303233Sdimchar16 __ovld __cnfn max(char16 x, char y);
9664303233Sdimuchar16 __ovld __cnfn max(uchar16 x, uchar y);
9665303233Sdimshort2 __ovld __cnfn max(short2 x, short y);
9666303233Sdimushort2 __ovld __cnfn max(ushort2 x, ushort y);
9667303233Sdimshort3 __ovld __cnfn max(short3 x, short y);
9668303233Sdimushort3 __ovld __cnfn max(ushort3 x, ushort y);
9669303233Sdimshort4 __ovld __cnfn max(short4 x, short y);
9670303233Sdimushort4 __ovld __cnfn max(ushort4 x, ushort y);
9671303233Sdimshort8 __ovld __cnfn max(short8 x, short y);
9672303233Sdimushort8 __ovld __cnfn max(ushort8 x, ushort y);
9673303233Sdimshort16 __ovld __cnfn max(short16 x, short y);
9674303233Sdimushort16 __ovld __cnfn max(ushort16 x, ushort y);
9675303233Sdimint2 __ovld __cnfn max(int2 x, int y);
9676303233Sdimuint2 __ovld __cnfn max(uint2 x, uint y);
9677303233Sdimint3 __ovld __cnfn max(int3 x, int y);
9678303233Sdimuint3 __ovld __cnfn max(uint3 x, uint y);
9679303233Sdimint4 __ovld __cnfn max(int4 x, int y);
9680303233Sdimuint4 __ovld __cnfn max(uint4 x, uint y);
9681303233Sdimint8 __ovld __cnfn max(int8 x, int y);
9682303233Sdimuint8 __ovld __cnfn max(uint8 x, uint y);
9683303233Sdimint16 __ovld __cnfn max(int16 x, int y);
9684303233Sdimuint16 __ovld __cnfn max(uint16 x, uint y);
9685303233Sdimlong2 __ovld __cnfn max(long2 x, long y);
9686303233Sdimulong2 __ovld __cnfn max(ulong2 x, ulong y);
9687303233Sdimlong3 __ovld __cnfn max(long3 x, long y);
9688303233Sdimulong3 __ovld __cnfn max(ulong3 x, ulong y);
9689303233Sdimlong4 __ovld __cnfn max(long4 x, long y);
9690303233Sdimulong4 __ovld __cnfn max(ulong4 x, ulong y);
9691303233Sdimlong8 __ovld __cnfn max(long8 x, long y);
9692303233Sdimulong8 __ovld __cnfn max(ulong8 x, ulong y);
9693303233Sdimlong16 __ovld __cnfn max(long16 x, long y);
9694303233Sdimulong16 __ovld __cnfn max(ulong16 x, ulong y);
9695303233Sdim
9696303233Sdim/**
9697303233Sdim * Returns y if y < x, otherwise it returns x.
9698303233Sdim */
9699303233Sdimchar __ovld __cnfn min(char x, char y);
9700303233Sdimuchar __ovld __cnfn min(uchar x, uchar y);
9701303233Sdimchar2 __ovld __cnfn min(char2 x, char2 y);
9702303233Sdimuchar2 __ovld __cnfn min(uchar2 x, uchar2 y);
9703303233Sdimchar3 __ovld __cnfn min(char3 x, char3 y);
9704303233Sdimuchar3 __ovld __cnfn min(uchar3 x, uchar3 y);
9705303233Sdimchar4 __ovld __cnfn min(char4 x, char4 y);
9706303233Sdimuchar4 __ovld __cnfn min(uchar4 x, uchar4 y);
9707303233Sdimchar8 __ovld __cnfn min(char8 x, char8 y);
9708303233Sdimuchar8 __ovld __cnfn min(uchar8 x, uchar8 y);
9709303233Sdimchar16 __ovld __cnfn min(char16 x, char16 y);
9710303233Sdimuchar16 __ovld __cnfn min(uchar16 x, uchar16 y);
9711303233Sdimshort __ovld __cnfn min(short x, short y);
9712303233Sdimushort __ovld __cnfn min(ushort x, ushort y);
9713303233Sdimshort2 __ovld __cnfn min(short2 x, short2 y);
9714303233Sdimushort2 __ovld __cnfn min(ushort2 x, ushort2 y);
9715303233Sdimshort3 __ovld __cnfn min(short3 x, short3 y);
9716303233Sdimushort3 __ovld __cnfn min(ushort3 x, ushort3 y);
9717303233Sdimshort4 __ovld __cnfn min(short4 x, short4 y);
9718303233Sdimushort4 __ovld __cnfn min(ushort4 x, ushort4 y);
9719303233Sdimshort8 __ovld __cnfn min(short8 x, short8 y);
9720303233Sdimushort8 __ovld __cnfn min(ushort8 x, ushort8 y);
9721303233Sdimshort16 __ovld __cnfn min(short16 x, short16 y);
9722303233Sdimushort16 __ovld __cnfn min(ushort16 x, ushort16 y);
9723303233Sdimint __ovld __cnfn min(int x, int y);
9724303233Sdimuint __ovld __cnfn min(uint x, uint y);
9725303233Sdimint2 __ovld __cnfn min(int2 x, int2 y);
9726303233Sdimuint2 __ovld __cnfn min(uint2 x, uint2 y);
9727303233Sdimint3 __ovld __cnfn min(int3 x, int3 y);
9728303233Sdimuint3 __ovld __cnfn min(uint3 x, uint3 y);
9729303233Sdimint4 __ovld __cnfn min(int4 x, int4 y);
9730303233Sdimuint4 __ovld __cnfn min(uint4 x, uint4 y);
9731303233Sdimint8 __ovld __cnfn min(int8 x, int8 y);
9732303233Sdimuint8 __ovld __cnfn min(uint8 x, uint8 y);
9733303233Sdimint16 __ovld __cnfn min(int16 x, int16 y);
9734303233Sdimuint16 __ovld __cnfn min(uint16 x, uint16 y);
9735303233Sdimlong __ovld __cnfn min(long x, long y);
9736303233Sdimulong __ovld __cnfn min(ulong x, ulong y);
9737303233Sdimlong2 __ovld __cnfn min(long2 x, long2 y);
9738303233Sdimulong2 __ovld __cnfn min(ulong2 x, ulong2 y);
9739303233Sdimlong3 __ovld __cnfn min(long3 x, long3 y);
9740303233Sdimulong3 __ovld __cnfn min(ulong3 x, ulong3 y);
9741303233Sdimlong4 __ovld __cnfn min(long4 x, long4 y);
9742303233Sdimulong4 __ovld __cnfn min(ulong4 x, ulong4 y);
9743303233Sdimlong8 __ovld __cnfn min(long8 x, long8 y);
9744303233Sdimulong8 __ovld __cnfn min(ulong8 x, ulong8 y);
9745303233Sdimlong16 __ovld __cnfn min(long16 x, long16 y);
9746303233Sdimulong16 __ovld __cnfn min(ulong16 x, ulong16 y);
9747303233Sdimchar2 __ovld __cnfn min(char2 x, char y);
9748303233Sdimuchar2 __ovld __cnfn min(uchar2 x, uchar y);
9749303233Sdimchar3 __ovld __cnfn min(char3 x, char y);
9750303233Sdimuchar3 __ovld __cnfn min(uchar3 x, uchar y);
9751303233Sdimchar4 __ovld __cnfn min(char4 x, char y);
9752303233Sdimuchar4 __ovld __cnfn min(uchar4 x, uchar y);
9753303233Sdimchar8 __ovld __cnfn min(char8 x, char y);
9754303233Sdimuchar8 __ovld __cnfn min(uchar8 x, uchar y);
9755303233Sdimchar16 __ovld __cnfn min(char16 x, char y);
9756303233Sdimuchar16 __ovld __cnfn min(uchar16 x, uchar y);
9757303233Sdimshort2 __ovld __cnfn min(short2 x, short y);
9758303233Sdimushort2 __ovld __cnfn min(ushort2 x, ushort y);
9759303233Sdimshort3 __ovld __cnfn min(short3 x, short y);
9760303233Sdimushort3 __ovld __cnfn min(ushort3 x, ushort y);
9761303233Sdimshort4 __ovld __cnfn min(short4 x, short y);
9762303233Sdimushort4 __ovld __cnfn min(ushort4 x, ushort y);
9763303233Sdimshort8 __ovld __cnfn min(short8 x, short y);
9764303233Sdimushort8 __ovld __cnfn min(ushort8 x, ushort y);
9765303233Sdimshort16 __ovld __cnfn min(short16 x, short y);
9766303233Sdimushort16 __ovld __cnfn min(ushort16 x, ushort y);
9767303233Sdimint2 __ovld __cnfn min(int2 x, int y);
9768303233Sdimuint2 __ovld __cnfn min(uint2 x, uint y);
9769303233Sdimint3 __ovld __cnfn min(int3 x, int y);
9770303233Sdimuint3 __ovld __cnfn min(uint3 x, uint y);
9771303233Sdimint4 __ovld __cnfn min(int4 x, int y);
9772303233Sdimuint4 __ovld __cnfn min(uint4 x, uint y);
9773303233Sdimint8 __ovld __cnfn min(int8 x, int y);
9774303233Sdimuint8 __ovld __cnfn min(uint8 x, uint y);
9775303233Sdimint16 __ovld __cnfn min(int16 x, int y);
9776303233Sdimuint16 __ovld __cnfn min(uint16 x, uint y);
9777303233Sdimlong2 __ovld __cnfn min(long2 x, long y);
9778303233Sdimulong2 __ovld __cnfn min(ulong2 x, ulong y);
9779303233Sdimlong3 __ovld __cnfn min(long3 x, long y);
9780303233Sdimulong3 __ovld __cnfn min(ulong3 x, ulong y);
9781303233Sdimlong4 __ovld __cnfn min(long4 x, long y);
9782303233Sdimulong4 __ovld __cnfn min(ulong4 x, ulong y);
9783303233Sdimlong8 __ovld __cnfn min(long8 x, long y);
9784303233Sdimulong8 __ovld __cnfn min(ulong8 x, ulong y);
9785303233Sdimlong16 __ovld __cnfn min(long16 x, long y);
9786303233Sdimulong16 __ovld __cnfn min(ulong16 x, ulong y);
9787303233Sdim
9788303233Sdim/**
9789303233Sdim * Computes x * y and returns the high half of the
9790303233Sdim * product of x and y.
9791303233Sdim */
9792303233Sdimchar __ovld __cnfn mul_hi(char x, char y);
9793303233Sdimuchar __ovld __cnfn mul_hi(uchar x, uchar y);
9794303233Sdimchar2 __ovld __cnfn mul_hi(char2 x, char2 y);
9795303233Sdimuchar2 __ovld __cnfn mul_hi(uchar2 x, uchar2 y);
9796303233Sdimchar3 __ovld __cnfn mul_hi(char3 x, char3 y);
9797303233Sdimuchar3 __ovld __cnfn mul_hi(uchar3 x, uchar3 y);
9798303233Sdimchar4 __ovld __cnfn mul_hi(char4 x, char4 y);
9799303233Sdimuchar4 __ovld __cnfn mul_hi(uchar4 x, uchar4 y);
9800303233Sdimchar8 __ovld __cnfn mul_hi(char8 x, char8 y);
9801303233Sdimuchar8 __ovld __cnfn mul_hi(uchar8 x, uchar8 y);
9802303233Sdimchar16 __ovld __cnfn mul_hi(char16 x, char16 y);
9803303233Sdimuchar16 __ovld __cnfn mul_hi(uchar16 x, uchar16 y);
9804303233Sdimshort __ovld __cnfn mul_hi(short x, short y);
9805303233Sdimushort __ovld __cnfn mul_hi(ushort x, ushort y);
9806303233Sdimshort2 __ovld __cnfn mul_hi(short2 x, short2 y);
9807303233Sdimushort2 __ovld __cnfn mul_hi(ushort2 x, ushort2 y);
9808303233Sdimshort3 __ovld __cnfn mul_hi(short3 x, short3 y);
9809303233Sdimushort3 __ovld __cnfn mul_hi(ushort3 x, ushort3 y);
9810303233Sdimshort4 __ovld __cnfn mul_hi(short4 x, short4 y);
9811303233Sdimushort4 __ovld __cnfn mul_hi(ushort4 x, ushort4 y);
9812303233Sdimshort8 __ovld __cnfn mul_hi(short8 x, short8 y);
9813303233Sdimushort8 __ovld __cnfn mul_hi(ushort8 x, ushort8 y);
9814303233Sdimshort16 __ovld __cnfn mul_hi(short16 x, short16 y);
9815303233Sdimushort16 __ovld __cnfn mul_hi(ushort16 x, ushort16 y);
9816303233Sdimint __ovld __cnfn mul_hi(int x, int y);
9817303233Sdimuint __ovld __cnfn mul_hi(uint x, uint y);
9818303233Sdimint2 __ovld __cnfn mul_hi(int2 x, int2 y);
9819303233Sdimuint2 __ovld __cnfn mul_hi(uint2 x, uint2 y);
9820303233Sdimint3 __ovld __cnfn mul_hi(int3 x, int3 y);
9821303233Sdimuint3 __ovld __cnfn mul_hi(uint3 x, uint3 y);
9822303233Sdimint4 __ovld __cnfn mul_hi(int4 x, int4 y);
9823303233Sdimuint4 __ovld __cnfn mul_hi(uint4 x, uint4 y);
9824303233Sdimint8 __ovld __cnfn mul_hi(int8 x, int8 y);
9825303233Sdimuint8 __ovld __cnfn mul_hi(uint8 x, uint8 y);
9826303233Sdimint16 __ovld __cnfn mul_hi(int16 x, int16 y);
9827303233Sdimuint16 __ovld __cnfn mul_hi(uint16 x, uint16 y);
9828303233Sdimlong __ovld __cnfn mul_hi(long x, long y);
9829303233Sdimulong __ovld __cnfn mul_hi(ulong x, ulong y);
9830303233Sdimlong2 __ovld __cnfn mul_hi(long2 x, long2 y);
9831303233Sdimulong2 __ovld __cnfn mul_hi(ulong2 x, ulong2 y);
9832303233Sdimlong3 __ovld __cnfn mul_hi(long3 x, long3 y);
9833303233Sdimulong3 __ovld __cnfn mul_hi(ulong3 x, ulong3 y);
9834303233Sdimlong4 __ovld __cnfn mul_hi(long4 x, long4 y);
9835303233Sdimulong4 __ovld __cnfn mul_hi(ulong4 x, ulong4 y);
9836303233Sdimlong8 __ovld __cnfn mul_hi(long8 x, long8 y);
9837303233Sdimulong8 __ovld __cnfn mul_hi(ulong8 x, ulong8 y);
9838303233Sdimlong16 __ovld __cnfn mul_hi(long16 x, long16 y);
9839303233Sdimulong16 __ovld __cnfn mul_hi(ulong16 x, ulong16 y);
9840303233Sdim
9841303233Sdim/**
9842303233Sdim * For each element in v, the bits are shifted left by
9843303233Sdim * the number of bits given by the corresponding
9844303233Sdim * element in i (subject to usual shift modulo rules
9845303233Sdim * described in section 6.3). Bits shifted off the left
9846303233Sdim * side of the element are shifted back in from the
9847303233Sdim * right.
9848303233Sdim */
9849303233Sdimchar __ovld __cnfn rotate(char v, char i);
9850303233Sdimuchar __ovld __cnfn rotate(uchar v, uchar i);
9851303233Sdimchar2 __ovld __cnfn rotate(char2 v, char2 i);
9852303233Sdimuchar2 __ovld __cnfn rotate(uchar2 v, uchar2 i);
9853303233Sdimchar3 __ovld __cnfn rotate(char3 v, char3 i);
9854303233Sdimuchar3 __ovld __cnfn rotate(uchar3 v, uchar3 i);
9855303233Sdimchar4 __ovld __cnfn rotate(char4 v, char4 i);
9856303233Sdimuchar4 __ovld __cnfn rotate(uchar4 v, uchar4 i);
9857303233Sdimchar8 __ovld __cnfn rotate(char8 v, char8 i);
9858303233Sdimuchar8 __ovld __cnfn rotate(uchar8 v, uchar8 i);
9859303233Sdimchar16 __ovld __cnfn rotate(char16 v, char16 i);
9860303233Sdimuchar16 __ovld __cnfn rotate(uchar16 v, uchar16 i);
9861303233Sdimshort __ovld __cnfn rotate(short v, short i);
9862303233Sdimushort __ovld __cnfn rotate(ushort v, ushort i);
9863303233Sdimshort2 __ovld __cnfn rotate(short2 v, short2 i);
9864303233Sdimushort2 __ovld __cnfn rotate(ushort2 v, ushort2 i);
9865303233Sdimshort3 __ovld __cnfn rotate(short3 v, short3 i);
9866303233Sdimushort3 __ovld __cnfn rotate(ushort3 v, ushort3 i);
9867303233Sdimshort4 __ovld __cnfn rotate(short4 v, short4 i);
9868303233Sdimushort4 __ovld __cnfn rotate(ushort4 v, ushort4 i);
9869303233Sdimshort8 __ovld __cnfn rotate(short8 v, short8 i);
9870303233Sdimushort8 __ovld __cnfn rotate(ushort8 v, ushort8 i);
9871303233Sdimshort16 __ovld __cnfn rotate(short16 v, short16 i);
9872303233Sdimushort16 __ovld __cnfn rotate(ushort16 v, ushort16 i);
9873303233Sdimint __ovld __cnfn rotate(int v, int i);
9874303233Sdimuint __ovld __cnfn rotate(uint v, uint i);
9875303233Sdimint2 __ovld __cnfn rotate(int2 v, int2 i);
9876303233Sdimuint2 __ovld __cnfn rotate(uint2 v, uint2 i);
9877303233Sdimint3 __ovld __cnfn rotate(int3 v, int3 i);
9878303233Sdimuint3 __ovld __cnfn rotate(uint3 v, uint3 i);
9879303233Sdimint4 __ovld __cnfn rotate(int4 v, int4 i);
9880303233Sdimuint4 __ovld __cnfn rotate(uint4 v, uint4 i);
9881303233Sdimint8 __ovld __cnfn rotate(int8 v, int8 i);
9882303233Sdimuint8 __ovld __cnfn rotate(uint8 v, uint8 i);
9883303233Sdimint16 __ovld __cnfn rotate(int16 v, int16 i);
9884303233Sdimuint16 __ovld __cnfn rotate(uint16 v, uint16 i);
9885303233Sdimlong __ovld __cnfn rotate(long v, long i);
9886303233Sdimulong __ovld __cnfn rotate(ulong v, ulong i);
9887303233Sdimlong2 __ovld __cnfn rotate(long2 v, long2 i);
9888303233Sdimulong2 __ovld __cnfn rotate(ulong2 v, ulong2 i);
9889303233Sdimlong3 __ovld __cnfn rotate(long3 v, long3 i);
9890303233Sdimulong3 __ovld __cnfn rotate(ulong3 v, ulong3 i);
9891303233Sdimlong4 __ovld __cnfn rotate(long4 v, long4 i);
9892303233Sdimulong4 __ovld __cnfn rotate(ulong4 v, ulong4 i);
9893303233Sdimlong8 __ovld __cnfn rotate(long8 v, long8 i);
9894303233Sdimulong8 __ovld __cnfn rotate(ulong8 v, ulong8 i);
9895303233Sdimlong16 __ovld __cnfn rotate(long16 v, long16 i);
9896303233Sdimulong16 __ovld __cnfn rotate(ulong16 v, ulong16 i);
9897303233Sdim
9898303233Sdim/**
9899303233Sdim * Returns x - y and saturates the result.
9900303233Sdim */
9901303233Sdimchar __ovld __cnfn sub_sat(char x, char y);
9902303233Sdimuchar __ovld __cnfn sub_sat(uchar x, uchar y);
9903303233Sdimchar2 __ovld __cnfn sub_sat(char2 x, char2 y);
9904303233Sdimuchar2 __ovld __cnfn sub_sat(uchar2 x, uchar2 y);
9905303233Sdimchar3 __ovld __cnfn sub_sat(char3 x, char3 y);
9906303233Sdimuchar3 __ovld __cnfn sub_sat(uchar3 x, uchar3 y);
9907303233Sdimchar4 __ovld __cnfn sub_sat(char4 x, char4 y);
9908303233Sdimuchar4 __ovld __cnfn sub_sat(uchar4 x, uchar4 y);
9909303233Sdimchar8 __ovld __cnfn sub_sat(char8 x, char8 y);
9910303233Sdimuchar8 __ovld __cnfn sub_sat(uchar8 x, uchar8 y);
9911303233Sdimchar16 __ovld __cnfn sub_sat(char16 x, char16 y);
9912303233Sdimuchar16 __ovld __cnfn sub_sat(uchar16 x, uchar16 y);
9913303233Sdimshort __ovld __cnfn sub_sat(short x, short y);
9914303233Sdimushort __ovld __cnfn sub_sat(ushort x, ushort y);
9915303233Sdimshort2 __ovld __cnfn sub_sat(short2 x, short2 y);
9916303233Sdimushort2 __ovld __cnfn sub_sat(ushort2 x, ushort2 y);
9917303233Sdimshort3 __ovld __cnfn sub_sat(short3 x, short3 y);
9918303233Sdimushort3 __ovld __cnfn sub_sat(ushort3 x, ushort3 y);
9919303233Sdimshort4 __ovld __cnfn sub_sat(short4 x, short4 y);
9920303233Sdimushort4 __ovld __cnfn sub_sat(ushort4 x, ushort4 y);
9921303233Sdimshort8 __ovld __cnfn sub_sat(short8 x, short8 y);
9922303233Sdimushort8 __ovld __cnfn sub_sat(ushort8 x, ushort8 y);
9923303233Sdimshort16 __ovld __cnfn sub_sat(short16 x, short16 y);
9924303233Sdimushort16 __ovld __cnfn sub_sat(ushort16 x, ushort16 y);
9925303233Sdimint __ovld __cnfn sub_sat(int x, int y);
9926303233Sdimuint __ovld __cnfn sub_sat(uint x, uint y);
9927303233Sdimint2 __ovld __cnfn sub_sat(int2 x, int2 y);
9928303233Sdimuint2 __ovld __cnfn sub_sat(uint2 x, uint2 y);
9929303233Sdimint3 __ovld __cnfn sub_sat(int3 x, int3 y);
9930303233Sdimuint3 __ovld __cnfn sub_sat(uint3 x, uint3 y);
9931303233Sdimint4 __ovld __cnfn sub_sat(int4 x, int4 y);
9932303233Sdimuint4 __ovld __cnfn sub_sat(uint4 x, uint4 y);
9933303233Sdimint8 __ovld __cnfn sub_sat(int8 x, int8 y);
9934303233Sdimuint8 __ovld __cnfn sub_sat(uint8 x, uint8 y);
9935303233Sdimint16 __ovld __cnfn sub_sat(int16 x, int16 y);
9936303233Sdimuint16 __ovld __cnfn sub_sat(uint16 x, uint16 y);
9937303233Sdimlong __ovld __cnfn sub_sat(long x, long y);
9938303233Sdimulong __ovld __cnfn sub_sat(ulong x, ulong y);
9939303233Sdimlong2 __ovld __cnfn sub_sat(long2 x, long2 y);
9940303233Sdimulong2 __ovld __cnfn sub_sat(ulong2 x, ulong2 y);
9941303233Sdimlong3 __ovld __cnfn sub_sat(long3 x, long3 y);
9942303233Sdimulong3 __ovld __cnfn sub_sat(ulong3 x, ulong3 y);
9943303233Sdimlong4 __ovld __cnfn sub_sat(long4 x, long4 y);
9944303233Sdimulong4 __ovld __cnfn sub_sat(ulong4 x, ulong4 y);
9945303233Sdimlong8 __ovld __cnfn sub_sat(long8 x, long8 y);
9946303233Sdimulong8 __ovld __cnfn sub_sat(ulong8 x, ulong8 y);
9947303233Sdimlong16 __ovld __cnfn sub_sat(long16 x, long16 y);
9948303233Sdimulong16 __ovld __cnfn sub_sat(ulong16 x, ulong16 y);
9949303233Sdim
9950303233Sdim/**
9951303233Sdim * result[i] = ((short)hi[i] << 8) | lo[i]
9952303233Sdim * result[i] = ((ushort)hi[i] << 8) | lo[i]
9953303233Sdim */
9954303233Sdimshort __ovld __cnfn upsample(char hi, uchar lo);
9955303233Sdimushort __ovld __cnfn upsample(uchar hi, uchar lo);
9956303233Sdimshort2 __ovld __cnfn upsample(char2 hi, uchar2 lo);
9957303233Sdimshort3 __ovld __cnfn upsample(char3 hi, uchar3 lo);
9958303233Sdimshort4 __ovld __cnfn upsample(char4 hi, uchar4 lo);
9959303233Sdimshort8 __ovld __cnfn upsample(char8 hi, uchar8 lo);
9960303233Sdimshort16 __ovld __cnfn upsample(char16 hi, uchar16 lo);
9961303233Sdimushort2 __ovld __cnfn upsample(uchar2 hi, uchar2 lo);
9962303233Sdimushort3 __ovld __cnfn upsample(uchar3 hi, uchar3 lo);
9963303233Sdimushort4 __ovld __cnfn upsample(uchar4 hi, uchar4 lo);
9964303233Sdimushort8 __ovld __cnfn upsample(uchar8 hi, uchar8 lo);
9965303233Sdimushort16 __ovld __cnfn upsample(uchar16 hi, uchar16 lo);
9966303233Sdim
9967303233Sdim/**
9968303233Sdim * result[i] = ((int)hi[i] << 16) | lo[i]
9969303233Sdim * result[i] = ((uint)hi[i] << 16) | lo[i]
9970303233Sdim */
9971303233Sdimint __ovld __cnfn upsample(short hi, ushort lo);
9972303233Sdimuint __ovld __cnfn upsample(ushort hi, ushort lo);
9973303233Sdimint2 __ovld __cnfn upsample(short2 hi, ushort2 lo);
9974303233Sdimint3 __ovld __cnfn upsample(short3 hi, ushort3 lo);
9975303233Sdimint4 __ovld __cnfn upsample(short4 hi, ushort4 lo);
9976303233Sdimint8 __ovld __cnfn upsample(short8 hi, ushort8 lo);
9977303233Sdimint16 __ovld __cnfn upsample(short16 hi, ushort16 lo);
9978303233Sdimuint2 __ovld __cnfn upsample(ushort2 hi, ushort2 lo);
9979303233Sdimuint3 __ovld __cnfn upsample(ushort3 hi, ushort3 lo);
9980303233Sdimuint4 __ovld __cnfn upsample(ushort4 hi, ushort4 lo);
9981303233Sdimuint8 __ovld __cnfn upsample(ushort8 hi, ushort8 lo);
9982303233Sdimuint16 __ovld __cnfn upsample(ushort16 hi, ushort16 lo);
9983303233Sdim/**
9984303233Sdim * result[i] = ((long)hi[i] << 32) | lo[i]
9985303233Sdim * result[i] = ((ulong)hi[i] << 32) | lo[i]
9986303233Sdim */
9987303233Sdimlong __ovld __cnfn upsample(int hi, uint lo);
9988303233Sdimulong __ovld __cnfn upsample(uint hi, uint lo);
9989303233Sdimlong2 __ovld __cnfn upsample(int2 hi, uint2 lo);
9990303233Sdimlong3 __ovld __cnfn upsample(int3 hi, uint3 lo);
9991303233Sdimlong4 __ovld __cnfn upsample(int4 hi, uint4 lo);
9992303233Sdimlong8 __ovld __cnfn upsample(int8 hi, uint8 lo);
9993303233Sdimlong16 __ovld __cnfn upsample(int16 hi, uint16 lo);
9994303233Sdimulong2 __ovld __cnfn upsample(uint2 hi, uint2 lo);
9995303233Sdimulong3 __ovld __cnfn upsample(uint3 hi, uint3 lo);
9996303233Sdimulong4 __ovld __cnfn upsample(uint4 hi, uint4 lo);
9997303233Sdimulong8 __ovld __cnfn upsample(uint8 hi, uint8 lo);
9998303233Sdimulong16 __ovld __cnfn upsample(uint16 hi, uint16 lo);
9999303233Sdim
10000303233Sdim/*
10001303233Sdim * popcount(x): returns the number of set bit in x
10002303233Sdim */
10003303233Sdimchar __ovld __cnfn popcount(char x);
10004303233Sdimuchar __ovld __cnfn popcount(uchar x);
10005303233Sdimchar2 __ovld __cnfn popcount(char2 x);
10006303233Sdimuchar2 __ovld __cnfn popcount(uchar2 x);
10007303233Sdimchar3 __ovld __cnfn popcount(char3 x);
10008303233Sdimuchar3 __ovld __cnfn popcount(uchar3 x);
10009303233Sdimchar4 __ovld __cnfn popcount(char4 x);
10010303233Sdimuchar4 __ovld __cnfn popcount(uchar4 x);
10011303233Sdimchar8 __ovld __cnfn popcount(char8 x);
10012303233Sdimuchar8 __ovld __cnfn popcount(uchar8 x);
10013303233Sdimchar16 __ovld __cnfn popcount(char16 x);
10014303233Sdimuchar16 __ovld __cnfn popcount(uchar16 x);
10015303233Sdimshort __ovld __cnfn popcount(short x);
10016303233Sdimushort __ovld __cnfn popcount(ushort x);
10017303233Sdimshort2 __ovld __cnfn popcount(short2 x);
10018303233Sdimushort2 __ovld __cnfn popcount(ushort2 x);
10019303233Sdimshort3 __ovld __cnfn popcount(short3 x);
10020303233Sdimushort3 __ovld __cnfn popcount(ushort3 x);
10021303233Sdimshort4 __ovld __cnfn popcount(short4 x);
10022303233Sdimushort4 __ovld __cnfn popcount(ushort4 x);
10023303233Sdimshort8 __ovld __cnfn popcount(short8 x);
10024303233Sdimushort8 __ovld __cnfn popcount(ushort8 x);
10025303233Sdimshort16 __ovld __cnfn popcount(short16 x);
10026303233Sdimushort16 __ovld __cnfn popcount(ushort16 x);
10027303233Sdimint __ovld __cnfn popcount(int x);
10028303233Sdimuint __ovld __cnfn popcount(uint x);
10029303233Sdimint2 __ovld __cnfn popcount(int2 x);
10030303233Sdimuint2 __ovld __cnfn popcount(uint2 x);
10031303233Sdimint3 __ovld __cnfn popcount(int3 x);
10032303233Sdimuint3 __ovld __cnfn popcount(uint3 x);
10033303233Sdimint4 __ovld __cnfn popcount(int4 x);
10034303233Sdimuint4 __ovld __cnfn popcount(uint4 x);
10035303233Sdimint8 __ovld __cnfn popcount(int8 x);
10036303233Sdimuint8 __ovld __cnfn popcount(uint8 x);
10037303233Sdimint16 __ovld __cnfn popcount(int16 x);
10038303233Sdimuint16 __ovld __cnfn popcount(uint16 x);
10039303233Sdimlong __ovld __cnfn popcount(long x);
10040303233Sdimulong __ovld __cnfn popcount(ulong x);
10041303233Sdimlong2 __ovld __cnfn popcount(long2 x);
10042303233Sdimulong2 __ovld __cnfn popcount(ulong2 x);
10043303233Sdimlong3 __ovld __cnfn popcount(long3 x);
10044303233Sdimulong3 __ovld __cnfn popcount(ulong3 x);
10045303233Sdimlong4 __ovld __cnfn popcount(long4 x);
10046303233Sdimulong4 __ovld __cnfn popcount(ulong4 x);
10047303233Sdimlong8 __ovld __cnfn popcount(long8 x);
10048303233Sdimulong8 __ovld __cnfn popcount(ulong8 x);
10049303233Sdimlong16 __ovld __cnfn popcount(long16 x);
10050303233Sdimulong16 __ovld __cnfn popcount(ulong16 x);
10051303233Sdim
10052303233Sdim/**
10053303233Sdim * Multiply two 24-bit integer values x and y and add
10054303233Sdim * the 32-bit integer result to the 32-bit integer z.
10055303233Sdim * Refer to definition of mul24 to see how the 24-bit
10056303233Sdim * integer multiplication is performed.
10057303233Sdim */
10058303233Sdimint __ovld __cnfn mad24(int x, int y, int z);
10059303233Sdimuint __ovld __cnfn mad24(uint x, uint y, uint z);
10060303233Sdimint2 __ovld __cnfn mad24(int2 x, int2 y, int2 z);
10061303233Sdimuint2 __ovld __cnfn mad24(uint2 x, uint2 y, uint2 z);
10062303233Sdimint3 __ovld __cnfn mad24(int3 x, int3 y, int3 z);
10063303233Sdimuint3 __ovld __cnfn mad24(uint3 x, uint3 y, uint3 z);
10064303233Sdimint4 __ovld __cnfn mad24(int4 x, int4 y, int4 z);
10065303233Sdimuint4 __ovld __cnfn mad24(uint4 x, uint4 y, uint4 z);
10066303233Sdimint8 __ovld __cnfn mad24(int8 x, int8 y, int8 z);
10067303233Sdimuint8 __ovld __cnfn mad24(uint8 x, uint8 y, uint8 z);
10068303233Sdimint16 __ovld __cnfn mad24(int16 x, int16 y, int16 z);
10069303233Sdimuint16 __ovld __cnfn mad24(uint16 x, uint16 y, uint16 z);
10070303233Sdim
10071303233Sdim/**
10072303233Sdim * Multiply two 24-bit integer values x and y. x and y
10073303233Sdim * are 32-bit integers but only the low 24-bits are used
10074303233Sdim * to perform the multiplication. mul24 should only
10075303233Sdim * be used when values in x and y are in the range [-
10076303233Sdim * 2^23, 2^23-1] if x and y are signed integers and in the
10077303233Sdim * range [0, 2^24-1] if x and y are unsigned integers. If
10078303233Sdim * x and y are not in this range, the multiplication
10079303233Sdim * result is implementation-defined.
10080303233Sdim */
10081303233Sdimint __ovld __cnfn mul24(int x, int y);
10082303233Sdimuint __ovld __cnfn mul24(uint x, uint y);
10083303233Sdimint2 __ovld __cnfn mul24(int2 x, int2 y);
10084303233Sdimuint2 __ovld __cnfn mul24(uint2 x, uint2 y);
10085303233Sdimint3 __ovld __cnfn mul24(int3 x, int3 y);
10086303233Sdimuint3 __ovld __cnfn mul24(uint3 x, uint3 y);
10087303233Sdimint4 __ovld __cnfn mul24(int4 x, int4 y);
10088303233Sdimuint4 __ovld __cnfn mul24(uint4 x, uint4 y);
10089303233Sdimint8 __ovld __cnfn mul24(int8 x, int8 y);
10090303233Sdimuint8 __ovld __cnfn mul24(uint8 x, uint8 y);
10091303233Sdimint16 __ovld __cnfn mul24(int16 x, int16 y);
10092303233Sdimuint16 __ovld __cnfn mul24(uint16 x, uint16 y);
10093303233Sdim
10094303233Sdim// OpenCL v1.1 s6.11.4, v1.2 s6.12.4, v2.0 s6.13.4 - Common Functions
10095303233Sdim
10096303233Sdim/**
10097303233Sdim * Returns fmin(fmax(x, minval), maxval).
10098303233Sdim * Results are undefined if minval > maxval.
10099303233Sdim */
10100303233Sdimfloat __ovld __cnfn clamp(float x, float minval, float maxval);
10101303233Sdimfloat2 __ovld __cnfn clamp(float2 x, float2 minval, float2 maxval);
10102303233Sdimfloat3 __ovld __cnfn clamp(float3 x, float3 minval, float3 maxval);
10103303233Sdimfloat4 __ovld __cnfn clamp(float4 x, float4 minval, float4 maxval);
10104303233Sdimfloat8 __ovld __cnfn clamp(float8 x, float8 minval, float8 maxval);
10105303233Sdimfloat16 __ovld __cnfn clamp(float16 x, float16 minval, float16 maxval);
10106303233Sdimfloat2 __ovld __cnfn clamp(float2 x, float minval, float maxval);
10107303233Sdimfloat3 __ovld __cnfn clamp(float3 x, float minval, float maxval);
10108303233Sdimfloat4 __ovld __cnfn clamp(float4 x, float minval, float maxval);
10109303233Sdimfloat8 __ovld __cnfn clamp(float8 x, float minval, float maxval);
10110303233Sdimfloat16 __ovld __cnfn clamp(float16 x, float minval, float maxval);
10111303233Sdim#ifdef cl_khr_fp64
10112303233Sdimdouble __ovld __cnfn clamp(double x, double minval, double maxval);
10113303233Sdimdouble2 __ovld __cnfn clamp(double2 x, double2 minval, double2 maxval);
10114303233Sdimdouble3 __ovld __cnfn clamp(double3 x, double3 minval, double3 maxval);
10115303233Sdimdouble4 __ovld __cnfn clamp(double4 x, double4 minval, double4 maxval);
10116303233Sdimdouble8 __ovld __cnfn clamp(double8 x, double8 minval, double8 maxval);
10117303233Sdimdouble16 __ovld __cnfn clamp(double16 x, double16 minval, double16 maxval);
10118303233Sdimdouble2 __ovld __cnfn clamp(double2 x, double minval, double maxval);
10119303233Sdimdouble3 __ovld __cnfn clamp(double3 x, double minval, double maxval);
10120303233Sdimdouble4 __ovld __cnfn clamp(double4 x, double minval, double maxval);
10121303233Sdimdouble8 __ovld __cnfn clamp(double8 x, double minval, double maxval);
10122303233Sdimdouble16 __ovld __cnfn clamp(double16 x, double minval, double maxval);
10123303233Sdim#endif //cl_khr_fp64
10124303233Sdim#ifdef cl_khr_fp16
10125303233Sdimhalf __ovld __cnfn clamp(half x, half minval, half maxval);
10126303233Sdimhalf2 __ovld __cnfn clamp(half2 x, half2 minval, half2 maxval);
10127303233Sdimhalf3 __ovld __cnfn clamp(half3 x, half3 minval, half3 maxval);
10128303233Sdimhalf4 __ovld __cnfn clamp(half4 x, half4 minval, half4 maxval);
10129303233Sdimhalf8 __ovld __cnfn clamp(half8 x, half8 minval, half8 maxval);
10130303233Sdimhalf16 __ovld __cnfn clamp(half16 x, half16 minval, half16 maxval);
10131303233Sdimhalf2 __ovld __cnfn clamp(half2 x, half minval, half maxval);
10132303233Sdimhalf3 __ovld __cnfn clamp(half3 x, half minval, half maxval);
10133303233Sdimhalf4 __ovld __cnfn clamp(half4 x, half minval, half maxval);
10134303233Sdimhalf8 __ovld __cnfn clamp(half8 x, half minval, half maxval);
10135303233Sdimhalf16 __ovld __cnfn clamp(half16 x, half minval, half maxval);
10136303233Sdim#endif //cl_khr_fp16
10137303233Sdim
10138303233Sdim/**
10139303233Sdim * Converts radians to degrees, i.e. (180 / PI) *
10140303233Sdim * radians.
10141303233Sdim */
10142303233Sdimfloat __ovld __cnfn degrees(float radians);
10143303233Sdimfloat2 __ovld __cnfn degrees(float2 radians);
10144303233Sdimfloat3 __ovld __cnfn degrees(float3 radians);
10145303233Sdimfloat4 __ovld __cnfn degrees(float4 radians);
10146303233Sdimfloat8 __ovld __cnfn degrees(float8 radians);
10147303233Sdimfloat16 __ovld __cnfn degrees(float16 radians);
10148303233Sdim#ifdef cl_khr_fp64
10149303233Sdimdouble __ovld __cnfn degrees(double radians);
10150303233Sdimdouble2 __ovld __cnfn degrees(double2 radians);
10151303233Sdimdouble3 __ovld __cnfn degrees(double3 radians);
10152303233Sdimdouble4 __ovld __cnfn degrees(double4 radians);
10153303233Sdimdouble8 __ovld __cnfn degrees(double8 radians);
10154303233Sdimdouble16 __ovld __cnfn degrees(double16 radians);
10155303233Sdim#endif //cl_khr_fp64
10156303233Sdim#ifdef cl_khr_fp16
10157303233Sdimhalf __ovld __cnfn degrees(half radians);
10158303233Sdimhalf2 __ovld __cnfn degrees(half2 radians);
10159303233Sdimhalf3 __ovld __cnfn degrees(half3 radians);
10160303233Sdimhalf4 __ovld __cnfn degrees(half4 radians);
10161303233Sdimhalf8 __ovld __cnfn degrees(half8 radians);
10162303233Sdimhalf16 __ovld __cnfn degrees(half16 radians);
10163303233Sdim#endif //cl_khr_fp16
10164303233Sdim
10165303233Sdim/**
10166303233Sdim * Returns y if x < y, otherwise it returns x. If x and y
10167303233Sdim * are infinite or NaN, the return values are undefined.
10168303233Sdim */
10169303233Sdimfloat __ovld __cnfn max(float x, float y);
10170303233Sdimfloat2 __ovld __cnfn max(float2 x, float2 y);
10171303233Sdimfloat3 __ovld __cnfn max(float3 x, float3 y);
10172303233Sdimfloat4 __ovld __cnfn max(float4 x, float4 y);
10173303233Sdimfloat8 __ovld __cnfn max(float8 x, float8 y);
10174303233Sdimfloat16 __ovld __cnfn max(float16 x, float16 y);
10175303233Sdimfloat2 __ovld __cnfn max(float2 x, float y);
10176303233Sdimfloat3 __ovld __cnfn max(float3 x, float y);
10177303233Sdimfloat4 __ovld __cnfn max(float4 x, float y);
10178303233Sdimfloat8 __ovld __cnfn max(float8 x, float y);
10179303233Sdimfloat16 __ovld __cnfn max(float16 x, float y);
10180303233Sdim#ifdef cl_khr_fp64
10181303233Sdimdouble __ovld __cnfn max(double x, double y);
10182303233Sdimdouble2 __ovld __cnfn max(double2 x, double2 y);
10183303233Sdimdouble3 __ovld __cnfn max(double3 x, double3 y);
10184303233Sdimdouble4 __ovld __cnfn max(double4 x, double4 y);
10185303233Sdimdouble8 __ovld __cnfn max(double8 x, double8 y);
10186303233Sdimdouble16 __ovld __cnfn max(double16 x, double16 y);
10187303233Sdimdouble2 __ovld __cnfn max(double2 x, double y);
10188303233Sdimdouble3 __ovld __cnfn max(double3 x, double y);
10189303233Sdimdouble4 __ovld __cnfn max(double4 x, double y);
10190303233Sdimdouble8 __ovld __cnfn max(double8 x, double y);
10191303233Sdimdouble16 __ovld __cnfn max(double16 x, double y);
10192303233Sdim#endif //cl_khr_fp64
10193303233Sdim#ifdef cl_khr_fp16
10194303233Sdimhalf __ovld __cnfn max(half x, half y);
10195303233Sdimhalf2 __ovld __cnfn max(half2 x, half2 y);
10196303233Sdimhalf3 __ovld __cnfn max(half3 x, half3 y);
10197303233Sdimhalf4 __ovld __cnfn max(half4 x, half4 y);
10198303233Sdimhalf8 __ovld __cnfn max(half8 x, half8 y);
10199303233Sdimhalf16 __ovld __cnfn max(half16 x, half16 y);
10200303233Sdimhalf2 __ovld __cnfn max(half2 x, half y);
10201303233Sdimhalf3 __ovld __cnfn max(half3 x, half y);
10202303233Sdimhalf4 __ovld __cnfn max(half4 x, half y);
10203303233Sdimhalf8 __ovld __cnfn max(half8 x, half y);
10204303233Sdimhalf16 __ovld __cnfn max(half16 x, half y);
10205303233Sdim#endif //cl_khr_fp16
10206303233Sdim
10207303233Sdim/**
10208303233Sdim * Returns y if y < x, otherwise it returns x. If x and y
10209303233Sdim * are infinite or NaN, the return values are undefined.
10210303233Sdim */
10211303233Sdimfloat __ovld __cnfn min(float x, float y);
10212303233Sdimfloat2 __ovld __cnfn min(float2 x, float2 y);
10213303233Sdimfloat3 __ovld __cnfn min(float3 x, float3 y);
10214303233Sdimfloat4 __ovld __cnfn min(float4 x, float4 y);
10215303233Sdimfloat8 __ovld __cnfn min(float8 x, float8 y);
10216303233Sdimfloat16 __ovld __cnfn min(float16 x, float16 y);
10217303233Sdimfloat2 __ovld __cnfn min(float2 x, float y);
10218303233Sdimfloat3 __ovld __cnfn min(float3 x, float y);
10219303233Sdimfloat4 __ovld __cnfn min(float4 x, float y);
10220303233Sdimfloat8 __ovld __cnfn min(float8 x, float y);
10221303233Sdimfloat16 __ovld __cnfn min(float16 x, float y);
10222303233Sdim#ifdef cl_khr_fp64
10223303233Sdimdouble __ovld __cnfn min(double x, double y);
10224303233Sdimdouble2 __ovld __cnfn min(double2 x, double2 y);
10225303233Sdimdouble3 __ovld __cnfn min(double3 x, double3 y);
10226303233Sdimdouble4 __ovld __cnfn min(double4 x, double4 y);
10227303233Sdimdouble8 __ovld __cnfn min(double8 x, double8 y);
10228303233Sdimdouble16 __ovld __cnfn min(double16 x, double16 y);
10229303233Sdimdouble2 __ovld __cnfn min(double2 x, double y);
10230303233Sdimdouble3 __ovld __cnfn min(double3 x, double y);
10231303233Sdimdouble4 __ovld __cnfn min(double4 x, double y);
10232303233Sdimdouble8 __ovld __cnfn min(double8 x, double y);
10233303233Sdimdouble16 __ovld __cnfn min(double16 x, double y);
10234303233Sdim#endif //cl_khr_fp64
10235303233Sdim#ifdef cl_khr_fp16
10236303233Sdimhalf __ovld __cnfn min(half x, half y);
10237303233Sdimhalf2 __ovld __cnfn min(half2 x, half2 y);
10238303233Sdimhalf3 __ovld __cnfn min(half3 x, half3 y);
10239303233Sdimhalf4 __ovld __cnfn min(half4 x, half4 y);
10240303233Sdimhalf8 __ovld __cnfn min(half8 x, half8 y);
10241303233Sdimhalf16 __ovld __cnfn min(half16 x, half16 y);
10242303233Sdimhalf2 __ovld __cnfn min(half2 x, half y);
10243303233Sdimhalf3 __ovld __cnfn min(half3 x, half y);
10244303233Sdimhalf4 __ovld __cnfn min(half4 x, half y);
10245303233Sdimhalf8 __ovld __cnfn min(half8 x, half y);
10246303233Sdimhalf16 __ovld __cnfn min(half16 x, half y);
10247303233Sdim#endif //cl_khr_fp16
10248303233Sdim
10249303233Sdim/**
10250303233Sdim * Returns the linear blend of x & y implemented as:
10251303233Sdim * x + (y - x) * a
10252303233Sdim * a must be a value in the range 0.0 ... 1.0. If a is not
10253303233Sdim * in the range 0.0 ... 1.0, the return values are
10254303233Sdim * undefined.
10255303233Sdim */
10256303233Sdimfloat __ovld __cnfn mix(float x, float y, float a);
10257303233Sdimfloat2 __ovld __cnfn mix(float2 x, float2 y, float2 a);
10258303233Sdimfloat3 __ovld __cnfn mix(float3 x, float3 y, float3 a);
10259303233Sdimfloat4 __ovld __cnfn mix(float4 x, float4 y, float4 a);
10260303233Sdimfloat8 __ovld __cnfn mix(float8 x, float8 y, float8 a);
10261303233Sdimfloat16 __ovld __cnfn mix(float16 x, float16 y, float16 a);
10262303233Sdimfloat2 __ovld __cnfn mix(float2 x, float2 y, float a);
10263303233Sdimfloat3 __ovld __cnfn mix(float3 x, float3 y, float a);
10264303233Sdimfloat4 __ovld __cnfn mix(float4 x, float4 y, float a);
10265303233Sdimfloat8 __ovld __cnfn mix(float8 x, float8 y, float a);
10266303233Sdimfloat16 __ovld __cnfn mix(float16 x, float16 y, float a);
10267303233Sdim#ifdef cl_khr_fp64
10268303233Sdimdouble __ovld __cnfn mix(double x, double y, double a);
10269303233Sdimdouble2 __ovld __cnfn mix(double2 x, double2 y, double2 a);
10270303233Sdimdouble3 __ovld __cnfn mix(double3 x, double3 y, double3 a);
10271303233Sdimdouble4 __ovld __cnfn mix(double4 x, double4 y, double4 a);
10272303233Sdimdouble8 __ovld __cnfn mix(double8 x, double8 y, double8 a);
10273303233Sdimdouble16 __ovld __cnfn mix(double16 x, double16 y, double16 a);
10274303233Sdimdouble2 __ovld __cnfn mix(double2 x, double2 y, double a);
10275303233Sdimdouble3 __ovld __cnfn mix(double3 x, double3 y, double a);
10276303233Sdimdouble4 __ovld __cnfn mix(double4 x, double4 y, double a);
10277303233Sdimdouble8 __ovld __cnfn mix(double8 x, double8 y, double a);
10278303233Sdimdouble16 __ovld __cnfn mix(double16 x, double16 y, double a);
10279303233Sdim#endif //cl_khr_fp64
10280303233Sdim#ifdef cl_khr_fp16
10281303233Sdimhalf __ovld __cnfn mix(half x, half y, half a);
10282303233Sdimhalf2 __ovld __cnfn mix(half2 x, half2 y, half2 a);
10283303233Sdimhalf3 __ovld __cnfn mix(half3 x, half3 y, half3 a);
10284303233Sdimhalf4 __ovld __cnfn mix(half4 x, half4 y, half4 a);
10285303233Sdimhalf8 __ovld __cnfn mix(half8 x, half8 y, half8 a);
10286303233Sdimhalf16 __ovld __cnfn mix(half16 x, half16 y, half16 a);
10287303233Sdimhalf2 __ovld __cnfn mix(half2 x, half2 y, half a);
10288303233Sdimhalf3 __ovld __cnfn mix(half3 x, half3 y, half a);
10289303233Sdimhalf4 __ovld __cnfn mix(half4 x, half4 y, half a);
10290303233Sdimhalf8 __ovld __cnfn mix(half8 x, half8 y, half a);
10291303233Sdimhalf16 __ovld __cnfn mix(half16 x, half16 y, half a);
10292303233Sdim#endif //cl_khr_fp16
10293303233Sdim
10294303233Sdim/**
10295303233Sdim * Converts degrees to radians, i.e. (PI / 180) *
10296303233Sdim * degrees.
10297303233Sdim */
10298303233Sdimfloat __ovld __cnfn radians(float degrees);
10299303233Sdimfloat2 __ovld __cnfn radians(float2 degrees);
10300303233Sdimfloat3 __ovld __cnfn radians(float3 degrees);
10301303233Sdimfloat4 __ovld __cnfn radians(float4 degrees);
10302303233Sdimfloat8 __ovld __cnfn radians(float8 degrees);
10303303233Sdimfloat16 __ovld __cnfn radians(float16 degrees);
10304303233Sdim#ifdef cl_khr_fp64
10305303233Sdimdouble __ovld __cnfn radians(double degrees);
10306303233Sdimdouble2 __ovld __cnfn radians(double2 degrees);
10307303233Sdimdouble3 __ovld __cnfn radians(double3 degrees);
10308303233Sdimdouble4 __ovld __cnfn radians(double4 degrees);
10309303233Sdimdouble8 __ovld __cnfn radians(double8 degrees);
10310303233Sdimdouble16 __ovld __cnfn radians(double16 degrees);
10311303233Sdim#endif //cl_khr_fp64
10312303233Sdim#ifdef cl_khr_fp16
10313303233Sdimhalf __ovld __cnfn radians(half degrees);
10314303233Sdimhalf2 __ovld __cnfn radians(half2 degrees);
10315303233Sdimhalf3 __ovld __cnfn radians(half3 degrees);
10316303233Sdimhalf4 __ovld __cnfn radians(half4 degrees);
10317303233Sdimhalf8 __ovld __cnfn radians(half8 degrees);
10318303233Sdimhalf16 __ovld __cnfn radians(half16 degrees);
10319303233Sdim#endif //cl_khr_fp16
10320303233Sdim
10321303233Sdim/**
10322303233Sdim * Returns 0.0 if x < edge, otherwise it returns 1.0.
10323303233Sdim */
10324303233Sdimfloat __ovld __cnfn step(float edge, float x);
10325303233Sdimfloat2 __ovld __cnfn step(float2 edge, float2 x);
10326303233Sdimfloat3 __ovld __cnfn step(float3 edge, float3 x);
10327303233Sdimfloat4 __ovld __cnfn step(float4 edge, float4 x);
10328303233Sdimfloat8 __ovld __cnfn step(float8 edge, float8 x);
10329303233Sdimfloat16 __ovld __cnfn step(float16 edge, float16 x);
10330303233Sdimfloat2 __ovld __cnfn step(float edge, float2 x);
10331303233Sdimfloat3 __ovld __cnfn step(float edge, float3 x);
10332303233Sdimfloat4 __ovld __cnfn step(float edge, float4 x);
10333303233Sdimfloat8 __ovld __cnfn step(float edge, float8 x);
10334303233Sdimfloat16 __ovld __cnfn step(float edge, float16 x);
10335303233Sdim#ifdef cl_khr_fp64
10336303233Sdimdouble __ovld __cnfn step(double edge, double x);
10337303233Sdimdouble2 __ovld __cnfn step(double2 edge, double2 x);
10338303233Sdimdouble3 __ovld __cnfn step(double3 edge, double3 x);
10339303233Sdimdouble4 __ovld __cnfn step(double4 edge, double4 x);
10340303233Sdimdouble8 __ovld __cnfn step(double8 edge, double8 x);
10341303233Sdimdouble16 __ovld __cnfn step(double16 edge, double16 x);
10342303233Sdimdouble2 __ovld __cnfn step(double edge, double2 x);
10343303233Sdimdouble3 __ovld __cnfn step(double edge, double3 x);
10344303233Sdimdouble4 __ovld __cnfn step(double edge, double4 x);
10345303233Sdimdouble8 __ovld __cnfn step(double edge, double8 x);
10346303233Sdimdouble16 __ovld __cnfn step(double edge, double16 x);
10347303233Sdim#endif //cl_khr_fp64
10348303233Sdim#ifdef cl_khr_fp16
10349303233Sdimhalf __ovld __cnfn step(half edge, half x);
10350303233Sdimhalf2 __ovld __cnfn step(half2 edge, half2 x);
10351303233Sdimhalf3 __ovld __cnfn step(half3 edge, half3 x);
10352303233Sdimhalf4 __ovld __cnfn step(half4 edge, half4 x);
10353303233Sdimhalf8 __ovld __cnfn step(half8 edge, half8 x);
10354303233Sdimhalf16 __ovld __cnfn step(half16 edge, half16 x);
10355303233Sdimhalf2 __ovld __cnfn step(half edge, half2 x);
10356303233Sdimhalf3 __ovld __cnfn step(half edge, half3 x);
10357303233Sdimhalf4 __ovld __cnfn step(half edge, half4 x);
10358303233Sdimhalf8 __ovld __cnfn step(half edge, half8 x);
10359303233Sdimhalf16 __ovld __cnfn step(half edge, half16 x);
10360303233Sdim#endif //cl_khr_fp16
10361303233Sdim
10362303233Sdim/**
10363303233Sdim * Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and
10364303233Sdim * performs smooth Hermite interpolation between 0
10365303233Sdim * and 1when edge0 < x < edge1. This is useful in
10366303233Sdim * cases where you would want a threshold function
10367303233Sdim * with a smooth transition.
10368303233Sdim * This is equivalent to:
10369303233Sdim * gentype t;
10370303233Sdim * t = clamp ((x - edge0) / (edge1 - edge0), 0, 1);
10371303233Sdim * return t * t * (3 - 2 * t);
10372303233Sdim * Results are undefined if edge0 >= edge1 or if x,
10373303233Sdim * edge0 or edge1 is a NaN.
10374303233Sdim */
10375303233Sdimfloat __ovld __cnfn smoothstep(float edge0, float edge1, float x);
10376303233Sdimfloat2 __ovld __cnfn smoothstep(float2 edge0, float2 edge1, float2 x);
10377303233Sdimfloat3 __ovld __cnfn smoothstep(float3 edge0, float3 edge1, float3 x);
10378303233Sdimfloat4 __ovld __cnfn smoothstep(float4 edge0, float4 edge1, float4 x);
10379303233Sdimfloat8 __ovld __cnfn smoothstep(float8 edge0, float8 edge1, float8 x);
10380303233Sdimfloat16 __ovld __cnfn smoothstep(float16 edge0, float16 edge1, float16 x);
10381303233Sdimfloat2 __ovld __cnfn smoothstep(float edge0, float edge1, float2 x);
10382303233Sdimfloat3 __ovld __cnfn smoothstep(float edge0, float edge1, float3 x);
10383303233Sdimfloat4 __ovld __cnfn smoothstep(float edge0, float edge1, float4 x);
10384303233Sdimfloat8 __ovld __cnfn smoothstep(float edge0, float edge1, float8 x);
10385303233Sdimfloat16 __ovld __cnfn smoothstep(float edge0, float edge1, float16 x);
10386303233Sdim#ifdef cl_khr_fp64
10387303233Sdimdouble __ovld __cnfn smoothstep(double edge0, double edge1, double x);
10388303233Sdimdouble2 __ovld __cnfn smoothstep(double2 edge0, double2 edge1, double2 x);
10389303233Sdimdouble3 __ovld __cnfn smoothstep(double3 edge0, double3 edge1, double3 x);
10390303233Sdimdouble4 __ovld __cnfn smoothstep(double4 edge0, double4 edge1, double4 x);
10391303233Sdimdouble8 __ovld __cnfn smoothstep(double8 edge0, double8 edge1, double8 x);
10392303233Sdimdouble16 __ovld __cnfn smoothstep(double16 edge0, double16 edge1, double16 x);
10393303233Sdimdouble2 __ovld __cnfn smoothstep(double edge0, double edge1, double2 x);
10394303233Sdimdouble3 __ovld __cnfn smoothstep(double edge0, double edge1, double3 x);
10395303233Sdimdouble4 __ovld __cnfn smoothstep(double edge0, double edge1, double4 x);
10396303233Sdimdouble8 __ovld __cnfn smoothstep(double edge0, double edge1, double8 x);
10397303233Sdimdouble16 __ovld __cnfn smoothstep(double edge0, double edge1, double16 x);
10398303233Sdim#endif //cl_khr_fp64
10399303233Sdim#ifdef cl_khr_fp16
10400303233Sdimhalf __ovld __cnfn smoothstep(half edge0, half edge1, half x);
10401303233Sdimhalf2 __ovld __cnfn smoothstep(half2 edge0, half2 edge1, half2 x);
10402303233Sdimhalf3 __ovld __cnfn smoothstep(half3 edge0, half3 edge1, half3 x);
10403303233Sdimhalf4 __ovld __cnfn smoothstep(half4 edge0, half4 edge1, half4 x);
10404303233Sdimhalf8 __ovld __cnfn smoothstep(half8 edge0, half8 edge1, half8 x);
10405303233Sdimhalf16 __ovld __cnfn smoothstep(half16 edge0, half16 edge1, half16 x);
10406303233Sdimhalf2 __ovld __cnfn smoothstep(half edge0, half edge1, half2 x);
10407303233Sdimhalf3 __ovld __cnfn smoothstep(half edge0, half edge1, half3 x);
10408303233Sdimhalf4 __ovld __cnfn smoothstep(half edge0, half edge1, half4 x);
10409303233Sdimhalf8 __ovld __cnfn smoothstep(half edge0, half edge1, half8 x);
10410303233Sdimhalf16 __ovld __cnfn smoothstep(half edge0, half edge1, half16 x);
10411303233Sdim#endif //cl_khr_fp16
10412303233Sdim
10413303233Sdim/**
10414303233Sdim * Returns 1.0 if x > 0, -0.0 if x = -0.0, +0.0 if x =
10415303233Sdim * +0.0, or -1.0 if x < 0. Returns 0.0 if x is a NaN.
10416303233Sdim */
10417303233Sdimfloat __ovld __cnfn sign(float x);
10418303233Sdimfloat2 __ovld __cnfn sign(float2 x);
10419303233Sdimfloat3 __ovld __cnfn sign(float3 x);
10420303233Sdimfloat4 __ovld __cnfn sign(float4 x);
10421303233Sdimfloat8 __ovld __cnfn sign(float8 x);
10422303233Sdimfloat16 __ovld __cnfn sign(float16 x);
10423303233Sdim#ifdef cl_khr_fp64
10424303233Sdimdouble __ovld __cnfn sign(double x);
10425303233Sdimdouble2 __ovld __cnfn sign(double2 x);
10426303233Sdimdouble3 __ovld __cnfn sign(double3 x);
10427303233Sdimdouble4 __ovld __cnfn sign(double4 x);
10428303233Sdimdouble8 __ovld __cnfn sign(double8 x);
10429303233Sdimdouble16 __ovld __cnfn sign(double16 x);
10430303233Sdim#endif //cl_khr_fp64
10431303233Sdim#ifdef cl_khr_fp16
10432303233Sdimhalf __ovld __cnfn sign(half x);
10433303233Sdimhalf2 __ovld __cnfn sign(half2 x);
10434303233Sdimhalf3 __ovld __cnfn sign(half3 x);
10435303233Sdimhalf4 __ovld __cnfn sign(half4 x);
10436303233Sdimhalf8 __ovld __cnfn sign(half8 x);
10437303233Sdimhalf16 __ovld __cnfn sign(half16 x);
10438303233Sdim#endif //cl_khr_fp16
10439303233Sdim
10440303233Sdim// OpenCL v1.1 s6.11.5, v1.2 s6.12.5, v2.0 s6.13.5 - Geometric Functions
10441303233Sdim
10442303233Sdim/**
10443303233Sdim * Returns the cross product of p0.xyz and p1.xyz. The
10444303233Sdim * w component of float4 result returned will be 0.0.
10445303233Sdim */
10446303233Sdimfloat4 __ovld __cnfn cross(float4 p0, float4 p1);
10447303233Sdimfloat3 __ovld __cnfn cross(float3 p0, float3 p1);
10448303233Sdim#ifdef cl_khr_fp64
10449303233Sdimdouble4 __ovld __cnfn cross(double4 p0, double4 p1);
10450303233Sdimdouble3 __ovld __cnfn cross(double3 p0, double3 p1);
10451303233Sdim#endif //cl_khr_fp64
10452303233Sdim#ifdef cl_khr_fp16
10453303233Sdimhalf4 __ovld __cnfn cross(half4 p0, half4 p1);
10454303233Sdimhalf3 __ovld __cnfn cross(half3 p0, half3 p1);
10455303233Sdim#endif //cl_khr_fp16
10456303233Sdim
10457303233Sdim/**
10458303233Sdim * Compute dot product.
10459303233Sdim */
10460303233Sdimfloat __ovld __cnfn dot(float p0, float p1);
10461303233Sdimfloat __ovld __cnfn dot(float2 p0, float2 p1);
10462303233Sdimfloat __ovld __cnfn dot(float3 p0, float3 p1);
10463303233Sdimfloat __ovld __cnfn dot(float4 p0, float4 p1);
10464303233Sdim#ifdef cl_khr_fp64
10465303233Sdimdouble __ovld __cnfn dot(double p0, double p1);
10466303233Sdimdouble __ovld __cnfn dot(double2 p0, double2 p1);
10467303233Sdimdouble __ovld __cnfn dot(double3 p0, double3 p1);
10468303233Sdimdouble __ovld __cnfn dot(double4 p0, double4 p1);
10469303233Sdim#endif //cl_khr_fp64
10470303233Sdim#ifdef cl_khr_fp16
10471303233Sdimhalf __ovld __cnfn dot(half p0, half p1);
10472303233Sdimhalf __ovld __cnfn dot(half2 p0, half2 p1);
10473303233Sdimhalf __ovld __cnfn dot(half3 p0, half3 p1);
10474303233Sdimhalf __ovld __cnfn dot(half4 p0, half4 p1);
10475303233Sdim#endif //cl_khr_fp16
10476303233Sdim
10477303233Sdim/**
10478303233Sdim * Returns the distance between p0 and p1. This is
10479303233Sdim * calculated as length(p0 - p1).
10480303233Sdim */
10481303233Sdimfloat __ovld __cnfn distance(float p0, float p1);
10482303233Sdimfloat __ovld __cnfn distance(float2 p0, float2 p1);
10483303233Sdimfloat __ovld __cnfn distance(float3 p0, float3 p1);
10484303233Sdimfloat __ovld __cnfn distance(float4 p0, float4 p1);
10485303233Sdim#ifdef cl_khr_fp64
10486303233Sdimdouble __ovld __cnfn distance(double p0, double p1);
10487303233Sdimdouble __ovld __cnfn distance(double2 p0, double2 p1);
10488303233Sdimdouble __ovld __cnfn distance(double3 p0, double3 p1);
10489303233Sdimdouble __ovld __cnfn distance(double4 p0, double4 p1);
10490303233Sdim#endif //cl_khr_fp64
10491303233Sdim#ifdef cl_khr_fp16
10492303233Sdimhalf __ovld __cnfn distance(half p0, half p1);
10493303233Sdimhalf __ovld __cnfn distance(half2 p0, half2 p1);
10494303233Sdimhalf __ovld __cnfn distance(half3 p0, half3 p1);
10495303233Sdimhalf __ovld __cnfn distance(half4 p0, half4 p1);
10496303233Sdim#endif //cl_khr_fp16
10497303233Sdim
10498303233Sdim/**
10499303233Sdim * Return the length of vector p, i.e.,
10500303233Sdim * sqrt(p.x2 + p.y 2 + ...)
10501303233Sdim */
10502303233Sdimfloat __ovld __cnfn length(float p);
10503303233Sdimfloat __ovld __cnfn length(float2 p);
10504303233Sdimfloat __ovld __cnfn length(float3 p);
10505303233Sdimfloat __ovld __cnfn length(float4 p);
10506303233Sdim#ifdef cl_khr_fp64
10507303233Sdimdouble __ovld __cnfn length(double p);
10508303233Sdimdouble __ovld __cnfn length(double2 p);
10509303233Sdimdouble __ovld __cnfn length(double3 p);
10510303233Sdimdouble __ovld __cnfn length(double4 p);
10511303233Sdim#endif //cl_khr_fp64
10512303233Sdim#ifdef cl_khr_fp16
10513303233Sdimhalf __ovld __cnfn length(half p);
10514303233Sdimhalf __ovld __cnfn length(half2 p);
10515303233Sdimhalf __ovld __cnfn length(half3 p);
10516303233Sdimhalf __ovld __cnfn length(half4 p);
10517303233Sdim#endif //cl_khr_fp16
10518303233Sdim
10519303233Sdim/**
10520303233Sdim * Returns a vector in the same direction as p but with a
10521303233Sdim * length of 1.
10522303233Sdim */
10523303233Sdimfloat __ovld __cnfn normalize(float p);
10524303233Sdimfloat2 __ovld __cnfn normalize(float2 p);
10525303233Sdimfloat3 __ovld __cnfn normalize(float3 p);
10526303233Sdimfloat4 __ovld __cnfn normalize(float4 p);
10527303233Sdim#ifdef cl_khr_fp64
10528303233Sdimdouble __ovld __cnfn normalize(double p);
10529303233Sdimdouble2 __ovld __cnfn normalize(double2 p);
10530303233Sdimdouble3 __ovld __cnfn normalize(double3 p);
10531303233Sdimdouble4 __ovld __cnfn normalize(double4 p);
10532303233Sdim#endif //cl_khr_fp64
10533303233Sdim#ifdef cl_khr_fp16
10534303233Sdimhalf __ovld __cnfn normalize(half p);
10535303233Sdimhalf2 __ovld __cnfn normalize(half2 p);
10536303233Sdimhalf3 __ovld __cnfn normalize(half3 p);
10537303233Sdimhalf4 __ovld __cnfn normalize(half4 p);
10538303233Sdim#endif //cl_khr_fp16
10539303233Sdim
10540303233Sdim/**
10541303233Sdim * Returns fast_length(p0 - p1).
10542303233Sdim */
10543303233Sdimfloat __ovld __cnfn fast_distance(float p0, float p1);
10544303233Sdimfloat __ovld __cnfn fast_distance(float2 p0, float2 p1);
10545303233Sdimfloat __ovld __cnfn fast_distance(float3 p0, float3 p1);
10546303233Sdimfloat __ovld __cnfn fast_distance(float4 p0, float4 p1);
10547303233Sdim#ifdef cl_khr_fp16
10548303233Sdimhalf __ovld __cnfn fast_distance(half p0, half p1);
10549303233Sdimhalf __ovld __cnfn fast_distance(half2 p0, half2 p1);
10550303233Sdimhalf __ovld __cnfn fast_distance(half3 p0, half3 p1);
10551303233Sdimhalf __ovld __cnfn fast_distance(half4 p0, half4 p1);
10552303233Sdim#endif //cl_khr_fp16
10553303233Sdim
10554303233Sdim/**
10555303233Sdim * Returns the length of vector p computed as:
10556303233Sdim * half_sqrt(p.x2 + p.y2 + ...)
10557303233Sdim */
10558303233Sdimfloat __ovld __cnfn fast_length(float p);
10559303233Sdimfloat __ovld __cnfn fast_length(float2 p);
10560303233Sdimfloat __ovld __cnfn fast_length(float3 p);
10561303233Sdimfloat __ovld __cnfn fast_length(float4 p);
10562303233Sdim#ifdef cl_khr_fp16
10563303233Sdimhalf __ovld __cnfn fast_length(half p);
10564303233Sdimhalf __ovld __cnfn fast_length(half2 p);
10565303233Sdimhalf __ovld __cnfn fast_length(half3 p);
10566303233Sdimhalf __ovld __cnfn fast_length(half4 p);
10567303233Sdim#endif //cl_khr_fp16
10568303233Sdim
10569303233Sdim/**
10570303233Sdim * Returns a vector in the same direction as p but with a
10571303233Sdim * length of 1. fast_normalize is computed as:
10572303233Sdim * p * half_rsqrt (p.x^2 + p.y^2 + ... )
10573303233Sdim * The result shall be within 8192 ulps error from the
10574303233Sdim * infinitely precise result of
10575303233Sdim * if (all(p == 0.0f))
10576303233Sdim * result = p;
10577303233Sdim * else
10578303233Sdim * result = p / sqrt (p.x^2 + p.y^2 + ...);
10579303233Sdim * with the following exceptions:
10580303233Sdim * 1) If the sum of squares is greater than FLT_MAX
10581303233Sdim * then the value of the floating-point values in the
10582303233Sdim * result vector are undefined.
10583303233Sdim * 2) If the sum of squares is less than FLT_MIN then
10584303233Sdim * the implementation may return back p.
10585303233Sdim * 3) If the device is in "denorms are flushed to zero"
10586303233Sdim * mode, individual operand elements with magnitude
10587303233Sdim * less than sqrt(FLT_MIN) may be flushed to zero
10588303233Sdim * before proceeding with the calculation.
10589303233Sdim */
10590303233Sdimfloat __ovld __cnfn fast_normalize(float p);
10591303233Sdimfloat2 __ovld __cnfn fast_normalize(float2 p);
10592303233Sdimfloat3 __ovld __cnfn fast_normalize(float3 p);
10593303233Sdimfloat4 __ovld __cnfn fast_normalize(float4 p);
10594303233Sdim#ifdef cl_khr_fp16
10595303233Sdimhalf __ovld __cnfn fast_normalize(half p);
10596303233Sdimhalf2 __ovld __cnfn fast_normalize(half2 p);
10597303233Sdimhalf3 __ovld __cnfn fast_normalize(half3 p);
10598303233Sdimhalf4 __ovld __cnfn fast_normalize(half4 p);
10599303233Sdim#endif //cl_khr_fp16
10600303233Sdim
10601303233Sdim// OpenCL v1.1 s6.11.6, v1.2 s6.12.6, v2.0 s6.13.6 - Relational Functions
10602303233Sdim
10603303233Sdim/**
10604303233Sdim * intn isequal (floatn x, floatn y)
10605303233Sdim * Returns the component-wise compare of x == y.
10606303233Sdim */
10607303233Sdimint __ovld __cnfn isequal(float x, float y);
10608303233Sdimint2 __ovld __cnfn isequal(float2 x, float2 y);
10609303233Sdimint3 __ovld __cnfn isequal(float3 x, float3 y);
10610303233Sdimint4 __ovld __cnfn isequal(float4 x, float4 y);
10611303233Sdimint8 __ovld __cnfn isequal(float8 x, float8 y);
10612303233Sdimint16 __ovld __cnfn isequal(float16 x, float16 y);
10613303233Sdim#ifdef cl_khr_fp64
10614303233Sdimint __ovld __cnfn isequal(double x, double y);
10615303233Sdimlong2 __ovld __cnfn isequal(double2 x, double2 y);
10616303233Sdimlong3 __ovld __cnfn isequal(double3 x, double3 y);
10617303233Sdimlong4 __ovld __cnfn isequal(double4 x, double4 y);
10618303233Sdimlong8 __ovld __cnfn isequal(double8 x, double8 y);
10619303233Sdimlong16 __ovld __cnfn isequal(double16 x, double16 y);
10620303233Sdim#endif //cl_khr_fp64
10621303233Sdim#ifdef cl_khr_fp16
10622303233Sdimint __ovld __cnfn isequal(half x, half y);
10623303233Sdimshort2 __ovld __cnfn isequal(half2 x, half2 y);
10624303233Sdimshort3 __ovld __cnfn isequal(half3 x, half3 y);
10625303233Sdimshort4 __ovld __cnfn isequal(half4 x, half4 y);
10626303233Sdimshort8 __ovld __cnfn isequal(half8 x, half8 y);
10627303233Sdimshort16 __ovld __cnfn isequal(half16 x, half16 y);
10628303233Sdim#endif //cl_khr_fp16
10629303233Sdim
10630303233Sdim/**
10631303233Sdim * Returns the component-wise compare of x != y.
10632303233Sdim */
10633303233Sdimint __ovld __cnfn isnotequal(float x, float y);
10634303233Sdimint2 __ovld __cnfn isnotequal(float2 x, float2 y);
10635303233Sdimint3 __ovld __cnfn isnotequal(float3 x, float3 y);
10636303233Sdimint4 __ovld __cnfn isnotequal(float4 x, float4 y);
10637303233Sdimint8 __ovld __cnfn isnotequal(float8 x, float8 y);
10638303233Sdimint16 __ovld __cnfn isnotequal(float16 x, float16 y);
10639303233Sdim#ifdef cl_khr_fp64
10640303233Sdimint __ovld __cnfn isnotequal(double x, double y);
10641303233Sdimlong2 __ovld __cnfn isnotequal(double2 x, double2 y);
10642303233Sdimlong3 __ovld __cnfn isnotequal(double3 x, double3 y);
10643303233Sdimlong4 __ovld __cnfn isnotequal(double4 x, double4 y);
10644303233Sdimlong8 __ovld __cnfn isnotequal(double8 x, double8 y);
10645303233Sdimlong16 __ovld __cnfn isnotequal(double16 x, double16 y);
10646303233Sdim#endif //cl_khr_fp64
10647303233Sdim#ifdef cl_khr_fp16
10648303233Sdimint __ovld __cnfn isnotequal(half x, half y);
10649303233Sdimshort2 __ovld __cnfn isnotequal(half2 x, half2 y);
10650303233Sdimshort3 __ovld __cnfn isnotequal(half3 x, half3 y);
10651303233Sdimshort4 __ovld __cnfn isnotequal(half4 x, half4 y);
10652303233Sdimshort8 __ovld __cnfn isnotequal(half8 x, half8 y);
10653303233Sdimshort16 __ovld __cnfn isnotequal(half16 x, half16 y);
10654303233Sdim#endif //cl_khr_fp16
10655303233Sdim
10656303233Sdim/**
10657303233Sdim * Returns the component-wise compare of x > y.
10658303233Sdim */
10659303233Sdimint __ovld __cnfn isgreater(float x, float y);
10660303233Sdimint2 __ovld __cnfn isgreater(float2 x, float2 y);
10661303233Sdimint3 __ovld __cnfn isgreater(float3 x, float3 y);
10662303233Sdimint4 __ovld __cnfn isgreater(float4 x, float4 y);
10663303233Sdimint8 __ovld __cnfn isgreater(float8 x, float8 y);
10664303233Sdimint16 __ovld __cnfn isgreater(float16 x, float16 y);
10665303233Sdim#ifdef cl_khr_fp64
10666303233Sdimint __ovld __cnfn isgreater(double x, double y);
10667303233Sdimlong2 __ovld __cnfn isgreater(double2 x, double2 y);
10668303233Sdimlong3 __ovld __cnfn isgreater(double3 x, double3 y);
10669303233Sdimlong4 __ovld __cnfn isgreater(double4 x, double4 y);
10670303233Sdimlong8 __ovld __cnfn isgreater(double8 x, double8 y);
10671303233Sdimlong16 __ovld __cnfn isgreater(double16 x, double16 y);
10672303233Sdim#endif //cl_khr_fp64
10673303233Sdim#ifdef cl_khr_fp16
10674303233Sdimint __ovld __cnfn isgreater(half x, half y);
10675303233Sdimshort2 __ovld __cnfn isgreater(half2 x, half2 y);
10676303233Sdimshort3 __ovld __cnfn isgreater(half3 x, half3 y);
10677303233Sdimshort4 __ovld __cnfn isgreater(half4 x, half4 y);
10678303233Sdimshort8 __ovld __cnfn isgreater(half8 x, half8 y);
10679303233Sdimshort16 __ovld __cnfn isgreater(half16 x, half16 y);
10680303233Sdim#endif //cl_khr_fp16
10681303233Sdim
10682303233Sdim/**
10683303233Sdim * Returns the component-wise compare of x >= y.
10684303233Sdim */
10685303233Sdimint __ovld __cnfn isgreaterequal(float x, float y);
10686303233Sdimint2 __ovld __cnfn isgreaterequal(float2 x, float2 y);
10687303233Sdimint3 __ovld __cnfn isgreaterequal(float3 x, float3 y);
10688303233Sdimint4 __ovld __cnfn isgreaterequal(float4 x, float4 y);
10689303233Sdimint8 __ovld __cnfn isgreaterequal(float8 x, float8 y);
10690303233Sdimint16 __ovld __cnfn isgreaterequal(float16 x, float16 y);
10691303233Sdim#ifdef cl_khr_fp64
10692303233Sdimint __ovld __cnfn isgreaterequal(double x, double y);
10693303233Sdimlong2 __ovld __cnfn isgreaterequal(double2 x, double2 y);
10694303233Sdimlong3 __ovld __cnfn isgreaterequal(double3 x, double3 y);
10695303233Sdimlong4 __ovld __cnfn isgreaterequal(double4 x, double4 y);
10696303233Sdimlong8 __ovld __cnfn isgreaterequal(double8 x, double8 y);
10697303233Sdimlong16 __ovld __cnfn isgreaterequal(double16 x, double16 y);
10698303233Sdim#endif //cl_khr_fp64
10699303233Sdim#ifdef cl_khr_fp16
10700303233Sdimint __ovld __cnfn isgreaterequal(half x, half y);
10701303233Sdimshort2 __ovld __cnfn isgreaterequal(half2 x, half2 y);
10702303233Sdimshort3 __ovld __cnfn isgreaterequal(half3 x, half3 y);
10703303233Sdimshort4 __ovld __cnfn isgreaterequal(half4 x, half4 y);
10704303233Sdimshort8 __ovld __cnfn isgreaterequal(half8 x, half8 y);
10705303233Sdimshort16 __ovld __cnfn isgreaterequal(half16 x, half16 y);
10706303233Sdim#endif //cl_khr_fp16
10707303233Sdim
10708303233Sdim/**
10709303233Sdim * Returns the component-wise compare of x < y.
10710303233Sdim */
10711303233Sdimint __ovld __cnfn isless(float x, float y);
10712303233Sdimint2 __ovld __cnfn isless(float2 x, float2 y);
10713303233Sdimint3 __ovld __cnfn isless(float3 x, float3 y);
10714303233Sdimint4 __ovld __cnfn isless(float4 x, float4 y);
10715303233Sdimint8 __ovld __cnfn isless(float8 x, float8 y);
10716303233Sdimint16 __ovld __cnfn isless(float16 x, float16 y);
10717303233Sdim#ifdef cl_khr_fp64
10718303233Sdimint __ovld __cnfn isless(double x, double y);
10719303233Sdimlong2 __ovld __cnfn isless(double2 x, double2 y);
10720303233Sdimlong3 __ovld __cnfn isless(double3 x, double3 y);
10721303233Sdimlong4 __ovld __cnfn isless(double4 x, double4 y);
10722303233Sdimlong8 __ovld __cnfn isless(double8 x, double8 y);
10723303233Sdimlong16 __ovld __cnfn isless(double16 x, double16 y);
10724303233Sdim#endif //cl_khr_fp64
10725303233Sdim#ifdef cl_khr_fp16
10726303233Sdimint __ovld __cnfn isless(half x, half y);
10727303233Sdimshort2 __ovld __cnfn isless(half2 x, half2 y);
10728303233Sdimshort3 __ovld __cnfn isless(half3 x, half3 y);
10729303233Sdimshort4 __ovld __cnfn isless(half4 x, half4 y);
10730303233Sdimshort8 __ovld __cnfn isless(half8 x, half8 y);
10731303233Sdimshort16 __ovld __cnfn isless(half16 x, half16 y);
10732303233Sdim#endif //cl_khr_fp16
10733303233Sdim
10734303233Sdim/**
10735303233Sdim * Returns the component-wise compare of x <= y.
10736303233Sdim */
10737303233Sdimint __ovld __cnfn islessequal(float x, float y);
10738303233Sdimint2 __ovld __cnfn islessequal(float2 x, float2 y);
10739303233Sdimint3 __ovld __cnfn islessequal(float3 x, float3 y);
10740303233Sdimint4 __ovld __cnfn islessequal(float4 x, float4 y);
10741303233Sdimint8 __ovld __cnfn islessequal(float8 x, float8 y);
10742303233Sdimint16 __ovld __cnfn islessequal(float16 x, float16 y);
10743303233Sdim#ifdef cl_khr_fp64
10744303233Sdimint __ovld __cnfn islessequal(double x, double y);
10745303233Sdimlong2 __ovld __cnfn islessequal(double2 x, double2 y);
10746303233Sdimlong3 __ovld __cnfn islessequal(double3 x, double3 y);
10747303233Sdimlong4 __ovld __cnfn islessequal(double4 x, double4 y);
10748303233Sdimlong8 __ovld __cnfn islessequal(double8 x, double8 y);
10749303233Sdimlong16 __ovld __cnfn islessequal(double16 x, double16 y);
10750303233Sdim#endif //cl_khr_fp64
10751303233Sdim#ifdef cl_khr_fp16
10752303233Sdimint __ovld __cnfn islessequal(half x, half y);
10753303233Sdimshort2 __ovld __cnfn islessequal(half2 x, half2 y);
10754303233Sdimshort3 __ovld __cnfn islessequal(half3 x, half3 y);
10755303233Sdimshort4 __ovld __cnfn islessequal(half4 x, half4 y);
10756303233Sdimshort8 __ovld __cnfn islessequal(half8 x, half8 y);
10757303233Sdimshort16 __ovld __cnfn islessequal(half16 x, half16 y);
10758303233Sdim#endif //cl_khr_fp16
10759303233Sdim
10760303233Sdim/**
10761303233Sdim * Returns the component-wise compare of
10762303233Sdim * (x < y) || (x > y) .
10763303233Sdim */
10764303233Sdimint __ovld __cnfn islessgreater(float x, float y);
10765303233Sdimint2 __ovld __cnfn islessgreater(float2 x, float2 y);
10766303233Sdimint3 __ovld __cnfn islessgreater(float3 x, float3 y);
10767303233Sdimint4 __ovld __cnfn islessgreater(float4 x, float4 y);
10768303233Sdimint8 __ovld __cnfn islessgreater(float8 x, float8 y);
10769303233Sdimint16 __ovld __cnfn islessgreater(float16 x, float16 y);
10770303233Sdim#ifdef cl_khr_fp64
10771303233Sdimint __ovld __cnfn islessgreater(double x, double y);
10772303233Sdimlong2 __ovld __cnfn islessgreater(double2 x, double2 y);
10773303233Sdimlong3 __ovld __cnfn islessgreater(double3 x, double3 y);
10774303233Sdimlong4 __ovld __cnfn islessgreater(double4 x, double4 y);
10775303233Sdimlong8 __ovld __cnfn islessgreater(double8 x, double8 y);
10776303233Sdimlong16 __ovld __cnfn islessgreater(double16 x, double16 y);
10777303233Sdim#endif //cl_khr_fp64
10778303233Sdim#ifdef cl_khr_fp16
10779303233Sdimint __ovld __cnfn islessgreater(half x, half y);
10780303233Sdimshort2 __ovld __cnfn islessgreater(half2 x, half2 y);
10781303233Sdimshort3 __ovld __cnfn islessgreater(half3 x, half3 y);
10782303233Sdimshort4 __ovld __cnfn islessgreater(half4 x, half4 y);
10783303233Sdimshort8 __ovld __cnfn islessgreater(half8 x, half8 y);
10784303233Sdimshort16 __ovld __cnfn islessgreater(half16 x, half16 y);
10785303233Sdim#endif //cl_khr_fp16
10786303233Sdim
10787303233Sdim/**
10788303233Sdim * Test for finite value.
10789303233Sdim */
10790303233Sdimint __ovld __cnfn isfinite(float);
10791303233Sdimint2 __ovld __cnfn isfinite(float2);
10792303233Sdimint3 __ovld __cnfn isfinite(float3);
10793303233Sdimint4 __ovld __cnfn isfinite(float4);
10794303233Sdimint8 __ovld __cnfn isfinite(float8);
10795303233Sdimint16 __ovld __cnfn isfinite(float16);
10796303233Sdim#ifdef cl_khr_fp64
10797303233Sdimint __ovld __cnfn isfinite(double);
10798303233Sdimlong2 __ovld __cnfn isfinite(double2);
10799303233Sdimlong3 __ovld __cnfn isfinite(double3);
10800303233Sdimlong4 __ovld __cnfn isfinite(double4);
10801303233Sdimlong8 __ovld __cnfn isfinite(double8);
10802303233Sdimlong16 __ovld __cnfn isfinite(double16);
10803303233Sdim#endif //cl_khr_fp64
10804303233Sdim#ifdef cl_khr_fp16
10805303233Sdimint __ovld __cnfn isfinite(half);
10806303233Sdimshort2 __ovld __cnfn isfinite(half2);
10807303233Sdimshort3 __ovld __cnfn isfinite(half3);
10808303233Sdimshort4 __ovld __cnfn isfinite(half4);
10809303233Sdimshort8 __ovld __cnfn isfinite(half8);
10810303233Sdimshort16 __ovld __cnfn isfinite(half16);
10811303233Sdim#endif //cl_khr_fp16
10812303233Sdim
10813303233Sdim/**
10814303233Sdim * Test for infinity value (+ve or -ve) .
10815303233Sdim */
10816303233Sdimint __ovld __cnfn isinf(float);
10817303233Sdimint2 __ovld __cnfn isinf(float2);
10818303233Sdimint3 __ovld __cnfn isinf(float3);
10819303233Sdimint4 __ovld __cnfn isinf(float4);
10820303233Sdimint8 __ovld __cnfn isinf(float8);
10821303233Sdimint16 __ovld __cnfn isinf(float16);
10822303233Sdim#ifdef cl_khr_fp64
10823303233Sdimint __ovld __cnfn isinf(double);
10824303233Sdimlong2 __ovld __cnfn isinf(double2);
10825303233Sdimlong3 __ovld __cnfn isinf(double3);
10826303233Sdimlong4 __ovld __cnfn isinf(double4);
10827303233Sdimlong8 __ovld __cnfn isinf(double8);
10828303233Sdimlong16 __ovld __cnfn isinf(double16);
10829303233Sdim#endif //cl_khr_fp64
10830303233Sdim#ifdef cl_khr_fp16
10831303233Sdimint __ovld __cnfn isinf(half);
10832303233Sdimshort2 __ovld __cnfn isinf(half2);
10833303233Sdimshort3 __ovld __cnfn isinf(half3);
10834303233Sdimshort4 __ovld __cnfn isinf(half4);
10835303233Sdimshort8 __ovld __cnfn isinf(half8);
10836303233Sdimshort16 __ovld __cnfn isinf(half16);
10837303233Sdim#endif //cl_khr_fp16
10838303233Sdim
10839303233Sdim/**
10840303233Sdim * Test for a NaN.
10841303233Sdim */
10842303233Sdimint __ovld __cnfn isnan(float);
10843303233Sdimint2 __ovld __cnfn isnan(float2);
10844303233Sdimint3 __ovld __cnfn isnan(float3);
10845303233Sdimint4 __ovld __cnfn isnan(float4);
10846303233Sdimint8 __ovld __cnfn isnan(float8);
10847303233Sdimint16 __ovld __cnfn isnan(float16);
10848303233Sdim#ifdef cl_khr_fp64
10849303233Sdimint __ovld __cnfn isnan(double);
10850303233Sdimlong2 __ovld __cnfn isnan(double2);
10851303233Sdimlong3 __ovld __cnfn isnan(double3);
10852303233Sdimlong4 __ovld __cnfn isnan(double4);
10853303233Sdimlong8 __ovld __cnfn isnan(double8);
10854303233Sdimlong16 __ovld __cnfn isnan(double16);
10855303233Sdim#endif //cl_khr_fp64
10856303233Sdim#ifdef cl_khr_fp16
10857303233Sdimint __ovld __cnfn isnan(half);
10858303233Sdimshort2 __ovld __cnfn isnan(half2);
10859303233Sdimshort3 __ovld __cnfn isnan(half3);
10860303233Sdimshort4 __ovld __cnfn isnan(half4);
10861303233Sdimshort8 __ovld __cnfn isnan(half8);
10862303233Sdimshort16 __ovld __cnfn isnan(half16);
10863303233Sdim#endif //cl_khr_fp16
10864303233Sdim
10865303233Sdim/**
10866303233Sdim * Test for a normal value.
10867303233Sdim */
10868303233Sdimint __ovld __cnfn isnormal(float);
10869303233Sdimint2 __ovld __cnfn isnormal(float2);
10870303233Sdimint3 __ovld __cnfn isnormal(float3);
10871303233Sdimint4 __ovld __cnfn isnormal(float4);
10872303233Sdimint8 __ovld __cnfn isnormal(float8);
10873303233Sdimint16 __ovld __cnfn isnormal(float16);
10874303233Sdim#ifdef cl_khr_fp64
10875303233Sdimint __ovld __cnfn isnormal(double);
10876303233Sdimlong2 __ovld __cnfn isnormal(double2);
10877303233Sdimlong3 __ovld __cnfn isnormal(double3);
10878303233Sdimlong4 __ovld __cnfn isnormal(double4);
10879303233Sdimlong8 __ovld __cnfn isnormal(double8);
10880303233Sdimlong16 __ovld __cnfn isnormal(double16);
10881303233Sdim#endif //cl_khr_fp64
10882303233Sdim#ifdef cl_khr_fp16
10883303233Sdimint __ovld __cnfn isnormal(half);
10884303233Sdimshort2 __ovld __cnfn isnormal(half2);
10885303233Sdimshort3 __ovld __cnfn isnormal(half3);
10886303233Sdimshort4 __ovld __cnfn isnormal(half4);
10887303233Sdimshort8 __ovld __cnfn isnormal(half8);
10888303233Sdimshort16 __ovld __cnfn isnormal(half16);
10889303233Sdim#endif //cl_khr_fp16
10890303233Sdim
10891303233Sdim/**
10892303233Sdim * Test if arguments are ordered. isordered() takes
10893303233Sdim * arguments x and y, and returns the result
10894303233Sdim * isequal(x, x) && isequal(y, y).
10895303233Sdim */
10896303233Sdimint __ovld __cnfn isordered(float x, float y);
10897303233Sdimint2 __ovld __cnfn isordered(float2 x, float2 y);
10898303233Sdimint3 __ovld __cnfn isordered(float3 x, float3 y);
10899303233Sdimint4 __ovld __cnfn isordered(float4 x, float4 y);
10900303233Sdimint8 __ovld __cnfn isordered(float8 x, float8 y);
10901303233Sdimint16 __ovld __cnfn isordered(float16 x, float16 y);
10902303233Sdim#ifdef cl_khr_fp64
10903303233Sdimint __ovld __cnfn isordered(double x, double y);
10904303233Sdimlong2 __ovld __cnfn isordered(double2 x, double2 y);
10905303233Sdimlong3 __ovld __cnfn isordered(double3 x, double3 y);
10906303233Sdimlong4 __ovld __cnfn isordered(double4 x, double4 y);
10907303233Sdimlong8 __ovld __cnfn isordered(double8 x, double8 y);
10908303233Sdimlong16 __ovld __cnfn isordered(double16 x, double16 y);
10909303233Sdim#endif //cl_khr_fp64
10910303233Sdim#ifdef cl_khr_fp16
10911303233Sdimint __ovld __cnfn isordered(half x, half y);
10912303233Sdimshort2 __ovld __cnfn isordered(half2 x, half2 y);
10913303233Sdimshort3 __ovld __cnfn isordered(half3 x, half3 y);
10914303233Sdimshort4 __ovld __cnfn isordered(half4 x, half4 y);
10915303233Sdimshort8 __ovld __cnfn isordered(half8 x, half8 y);
10916303233Sdimshort16 __ovld __cnfn isordered(half16 x, half16 y);
10917303233Sdim#endif //cl_khr_fp16
10918303233Sdim
10919303233Sdim/**
10920303233Sdim * Test if arguments are unordered. isunordered()
10921303233Sdim * takes arguments x and y, returning non-zero if x or y
10922303233Sdim * is NaN, and zero otherwise.
10923303233Sdim */
10924303233Sdimint __ovld __cnfn isunordered(float x, float y);
10925303233Sdimint2 __ovld __cnfn isunordered(float2 x, float2 y);
10926303233Sdimint3 __ovld __cnfn isunordered(float3 x, float3 y);
10927303233Sdimint4 __ovld __cnfn isunordered(float4 x, float4 y);
10928303233Sdimint8 __ovld __cnfn isunordered(float8 x, float8 y);
10929303233Sdimint16 __ovld __cnfn isunordered(float16 x, float16 y);
10930303233Sdim#ifdef cl_khr_fp64
10931303233Sdimint __ovld __cnfn isunordered(double x, double y);
10932303233Sdimlong2 __ovld __cnfn isunordered(double2 x, double2 y);
10933303233Sdimlong3 __ovld __cnfn isunordered(double3 x, double3 y);
10934303233Sdimlong4 __ovld __cnfn isunordered(double4 x, double4 y);
10935303233Sdimlong8 __ovld __cnfn isunordered(double8 x, double8 y);
10936303233Sdimlong16 __ovld __cnfn isunordered(double16 x, double16 y);
10937303233Sdim#endif //cl_khr_fp64
10938303233Sdim#ifdef cl_khr_fp16
10939303233Sdimint __ovld __cnfn isunordered(half x, half y);
10940303233Sdimshort2 __ovld __cnfn isunordered(half2 x, half2 y);
10941303233Sdimshort3 __ovld __cnfn isunordered(half3 x, half3 y);
10942303233Sdimshort4 __ovld __cnfn isunordered(half4 x, half4 y);
10943303233Sdimshort8 __ovld __cnfn isunordered(half8 x, half8 y);
10944303233Sdimshort16 __ovld __cnfn isunordered(half16 x, half16 y);
10945303233Sdim#endif //cl_khr_fp16
10946303233Sdim
10947303233Sdim/**
10948303233Sdim * Test for sign bit. The scalar version of the function
10949303233Sdim * returns a 1 if the sign bit in the float is set else returns
10950303233Sdim * 0. The vector version of the function returns the
10951303233Sdim * following for each component in floatn: a -1 if the
10952303233Sdim * sign bit in the float is set else returns 0.
10953303233Sdim */
10954303233Sdimint __ovld __cnfn signbit(float);
10955303233Sdimint2 __ovld __cnfn signbit(float2);
10956303233Sdimint3 __ovld __cnfn signbit(float3);
10957303233Sdimint4 __ovld __cnfn signbit(float4);
10958303233Sdimint8 __ovld __cnfn signbit(float8);
10959303233Sdimint16 __ovld __cnfn signbit(float16);
10960303233Sdim#ifdef cl_khr_fp64
10961303233Sdimint __ovld __cnfn signbit(double);
10962303233Sdimlong2 __ovld __cnfn signbit(double2);
10963303233Sdimlong3 __ovld __cnfn signbit(double3);
10964303233Sdimlong4 __ovld __cnfn signbit(double4);
10965303233Sdimlong8 __ovld __cnfn signbit(double8);
10966303233Sdimlong16 __ovld __cnfn signbit(double16);
10967303233Sdim#endif //cl_khr_fp64
10968303233Sdim#ifdef cl_khr_fp16
10969303233Sdimint __ovld __cnfn signbit(half);
10970303233Sdimshort2 __ovld __cnfn signbit(half2);
10971303233Sdimshort3 __ovld __cnfn signbit(half3);
10972303233Sdimshort4 __ovld __cnfn signbit(half4);
10973303233Sdimshort8 __ovld __cnfn signbit(half8);
10974303233Sdimshort16 __ovld __cnfn signbit(half16);
10975303233Sdim#endif //cl_khr_fp16
10976303233Sdim
10977303233Sdim/**
10978303233Sdim * Returns 1 if the most significant bit in any component
10979303233Sdim * of x is set; otherwise returns 0.
10980303233Sdim */
10981303233Sdimint __ovld __cnfn any(char x);
10982303233Sdimint __ovld __cnfn any(char2 x);
10983303233Sdimint __ovld __cnfn any(char3 x);
10984303233Sdimint __ovld __cnfn any(char4 x);
10985303233Sdimint __ovld __cnfn any(char8 x);
10986303233Sdimint __ovld __cnfn any(char16 x);
10987303233Sdimint __ovld __cnfn any(short x);
10988303233Sdimint __ovld __cnfn any(short2 x);
10989303233Sdimint __ovld __cnfn any(short3 x);
10990303233Sdimint __ovld __cnfn any(short4 x);
10991303233Sdimint __ovld __cnfn any(short8 x);
10992303233Sdimint __ovld __cnfn any(short16 x);
10993303233Sdimint __ovld __cnfn any(int x);
10994303233Sdimint __ovld __cnfn any(int2 x);
10995303233Sdimint __ovld __cnfn any(int3 x);
10996303233Sdimint __ovld __cnfn any(int4 x);
10997303233Sdimint __ovld __cnfn any(int8 x);
10998303233Sdimint __ovld __cnfn any(int16 x);
10999303233Sdimint __ovld __cnfn any(long x);
11000303233Sdimint __ovld __cnfn any(long2 x);
11001303233Sdimint __ovld __cnfn any(long3 x);
11002303233Sdimint __ovld __cnfn any(long4 x);
11003303233Sdimint __ovld __cnfn any(long8 x);
11004303233Sdimint __ovld __cnfn any(long16 x);
11005303233Sdim
11006303233Sdim/**
11007303233Sdim * Returns 1 if the most significant bit in all components
11008303233Sdim * of x is set; otherwise returns 0.
11009303233Sdim */
11010303233Sdimint __ovld __cnfn all(char x);
11011303233Sdimint __ovld __cnfn all(char2 x);
11012303233Sdimint __ovld __cnfn all(char3 x);
11013303233Sdimint __ovld __cnfn all(char4 x);
11014303233Sdimint __ovld __cnfn all(char8 x);
11015303233Sdimint __ovld __cnfn all(char16 x);
11016303233Sdimint __ovld __cnfn all(short x);
11017303233Sdimint __ovld __cnfn all(short2 x);
11018303233Sdimint __ovld __cnfn all(short3 x);
11019303233Sdimint __ovld __cnfn all(short4 x);
11020303233Sdimint __ovld __cnfn all(short8 x);
11021303233Sdimint __ovld __cnfn all(short16 x);
11022303233Sdimint __ovld __cnfn all(int x);
11023303233Sdimint __ovld __cnfn all(int2 x);
11024303233Sdimint __ovld __cnfn all(int3 x);
11025303233Sdimint __ovld __cnfn all(int4 x);
11026303233Sdimint __ovld __cnfn all(int8 x);
11027303233Sdimint __ovld __cnfn all(int16 x);
11028303233Sdimint __ovld __cnfn all(long x);
11029303233Sdimint __ovld __cnfn all(long2 x);
11030303233Sdimint __ovld __cnfn all(long3 x);
11031303233Sdimint __ovld __cnfn all(long4 x);
11032303233Sdimint __ovld __cnfn all(long8 x);
11033303233Sdimint __ovld __cnfn all(long16 x);
11034303233Sdim
11035303233Sdim/**
11036303233Sdim * Each bit of the result is the corresponding bit of a if
11037303233Sdim * the corresponding bit of c is 0. Otherwise it is the
11038303233Sdim * corresponding bit of b.
11039303233Sdim */
11040303233Sdimchar __ovld __cnfn bitselect(char a, char b, char c);
11041303233Sdimuchar __ovld __cnfn bitselect(uchar a, uchar b, uchar c);
11042303233Sdimchar2 __ovld __cnfn bitselect(char2 a, char2 b, char2 c);
11043303233Sdimuchar2 __ovld __cnfn bitselect(uchar2 a, uchar2 b, uchar2 c);
11044303233Sdimchar3 __ovld __cnfn bitselect(char3 a, char3 b, char3 c);
11045303233Sdimuchar3 __ovld __cnfn bitselect(uchar3 a, uchar3 b, uchar3 c);
11046303233Sdimchar4 __ovld __cnfn bitselect(char4 a, char4 b, char4 c);
11047303233Sdimuchar4 __ovld __cnfn bitselect(uchar4 a, uchar4 b, uchar4 c);
11048303233Sdimchar8 __ovld __cnfn bitselect(char8 a, char8 b, char8 c);
11049303233Sdimuchar8 __ovld __cnfn bitselect(uchar8 a, uchar8 b, uchar8 c);
11050303233Sdimchar16 __ovld __cnfn bitselect(char16 a, char16 b, char16 c);
11051303233Sdimuchar16 __ovld __cnfn bitselect(uchar16 a, uchar16 b, uchar16 c);
11052303233Sdimshort __ovld __cnfn bitselect(short a, short b, short c);
11053303233Sdimushort __ovld __cnfn bitselect(ushort a, ushort b, ushort c);
11054303233Sdimshort2 __ovld __cnfn bitselect(short2 a, short2 b, short2 c);
11055303233Sdimushort2 __ovld __cnfn bitselect(ushort2 a, ushort2 b, ushort2 c);
11056303233Sdimshort3 __ovld __cnfn bitselect(short3 a, short3 b, short3 c);
11057303233Sdimushort3 __ovld __cnfn bitselect(ushort3 a, ushort3 b, ushort3 c);
11058303233Sdimshort4 __ovld __cnfn bitselect(short4 a, short4 b, short4 c);
11059303233Sdimushort4 __ovld __cnfn bitselect(ushort4 a, ushort4 b, ushort4 c);
11060303233Sdimshort8 __ovld __cnfn bitselect(short8 a, short8 b, short8 c);
11061303233Sdimushort8 __ovld __cnfn bitselect(ushort8 a, ushort8 b, ushort8 c);
11062303233Sdimshort16 __ovld __cnfn bitselect(short16 a, short16 b, short16 c);
11063303233Sdimushort16 __ovld __cnfn bitselect(ushort16 a, ushort16 b, ushort16 c);
11064303233Sdimint __ovld __cnfn bitselect(int a, int b, int c);
11065303233Sdimuint __ovld __cnfn bitselect(uint a, uint b, uint c);
11066303233Sdimint2 __ovld __cnfn bitselect(int2 a, int2 b, int2 c);
11067303233Sdimuint2 __ovld __cnfn bitselect(uint2 a, uint2 b, uint2 c);
11068303233Sdimint3 __ovld __cnfn bitselect(int3 a, int3 b, int3 c);
11069303233Sdimuint3 __ovld __cnfn bitselect(uint3 a, uint3 b, uint3 c);
11070303233Sdimint4 __ovld __cnfn bitselect(int4 a, int4 b, int4 c);
11071303233Sdimuint4 __ovld __cnfn bitselect(uint4 a, uint4 b, uint4 c);
11072303233Sdimint8 __ovld __cnfn bitselect(int8 a, int8 b, int8 c);
11073303233Sdimuint8 __ovld __cnfn bitselect(uint8 a, uint8 b, uint8 c);
11074303233Sdimint16 __ovld __cnfn bitselect(int16 a, int16 b, int16 c);
11075303233Sdimuint16 __ovld __cnfn bitselect(uint16 a, uint16 b, uint16 c);
11076303233Sdimlong __ovld __cnfn bitselect(long a, long b, long c);
11077303233Sdimulong __ovld __cnfn bitselect(ulong a, ulong b, ulong c);
11078303233Sdimlong2 __ovld __cnfn bitselect(long2 a, long2 b, long2 c);
11079303233Sdimulong2 __ovld __cnfn bitselect(ulong2 a, ulong2 b, ulong2 c);
11080303233Sdimlong3 __ovld __cnfn bitselect(long3 a, long3 b, long3 c);
11081303233Sdimulong3 __ovld __cnfn bitselect(ulong3 a, ulong3 b, ulong3 c);
11082303233Sdimlong4 __ovld __cnfn bitselect(long4 a, long4 b, long4 c);
11083303233Sdimulong4 __ovld __cnfn bitselect(ulong4 a, ulong4 b, ulong4 c);
11084303233Sdimlong8 __ovld __cnfn bitselect(long8 a, long8 b, long8 c);
11085303233Sdimulong8 __ovld __cnfn bitselect(ulong8 a, ulong8 b, ulong8 c);
11086303233Sdimlong16 __ovld __cnfn bitselect(long16 a, long16 b, long16 c);
11087303233Sdimulong16 __ovld __cnfn bitselect(ulong16 a, ulong16 b, ulong16 c);
11088303233Sdimfloat __ovld __cnfn bitselect(float a, float b, float c);
11089303233Sdimfloat2 __ovld __cnfn bitselect(float2 a, float2 b, float2 c);
11090303233Sdimfloat3 __ovld __cnfn bitselect(float3 a, float3 b, float3 c);
11091303233Sdimfloat4 __ovld __cnfn bitselect(float4 a, float4 b, float4 c);
11092303233Sdimfloat8 __ovld __cnfn bitselect(float8 a, float8 b, float8 c);
11093303233Sdimfloat16 __ovld __cnfn bitselect(float16 a, float16 b, float16 c);
11094303233Sdim#ifdef cl_khr_fp64
11095303233Sdimdouble __ovld __cnfn bitselect(double a, double b, double c);
11096303233Sdimdouble2 __ovld __cnfn bitselect(double2 a, double2 b, double2 c);
11097303233Sdimdouble3 __ovld __cnfn bitselect(double3 a, double3 b, double3 c);
11098303233Sdimdouble4 __ovld __cnfn bitselect(double4 a, double4 b, double4 c);
11099303233Sdimdouble8 __ovld __cnfn bitselect(double8 a, double8 b, double8 c);
11100303233Sdimdouble16 __ovld __cnfn bitselect(double16 a, double16 b, double16 c);
11101303233Sdim#endif //cl_khr_fp64
11102303233Sdim#ifdef cl_khr_fp16
11103303233Sdimhalf __ovld __cnfn bitselect(half a, half b, half c);
11104303233Sdimhalf2 __ovld __cnfn bitselect(half2 a, half2 b, half2 c);
11105303233Sdimhalf3 __ovld __cnfn bitselect(half3 a, half3 b, half3 c);
11106303233Sdimhalf4 __ovld __cnfn bitselect(half4 a, half4 b, half4 c);
11107303233Sdimhalf8 __ovld __cnfn bitselect(half8 a, half8 b, half8 c);
11108303233Sdimhalf16 __ovld __cnfn bitselect(half16 a, half16 b, half16 c);
11109303233Sdim#endif //cl_khr_fp16
11110303233Sdim
11111303233Sdim/**
11112303233Sdim * For each component of a vector type,
11113303233Sdim * result[i] = if MSB of c[i] is set ? b[i] : a[i].
11114303233Sdim * For a scalar type, result = c ? b : a.
11115327952Sdim * b and a must have the same type.
11116327952Sdim * c must have the same number of elements and bits as a.
11117303233Sdim */
11118303233Sdimchar __ovld __cnfn select(char a, char b, char c);
11119303233Sdimuchar __ovld __cnfn select(uchar a, uchar b, char c);
11120303233Sdimchar2 __ovld __cnfn select(char2 a, char2 b, char2 c);
11121303233Sdimuchar2 __ovld __cnfn select(uchar2 a, uchar2 b, char2 c);
11122303233Sdimchar3 __ovld __cnfn select(char3 a, char3 b, char3 c);
11123303233Sdimuchar3 __ovld __cnfn select(uchar3 a, uchar3 b, char3 c);
11124303233Sdimchar4 __ovld __cnfn select(char4 a, char4 b, char4 c);
11125303233Sdimuchar4 __ovld __cnfn select(uchar4 a, uchar4 b, char4 c);
11126303233Sdimchar8 __ovld __cnfn select(char8 a, char8 b, char8 c);
11127303233Sdimuchar8 __ovld __cnfn select(uchar8 a, uchar8 b, char8 c);
11128303233Sdimchar16 __ovld __cnfn select(char16 a, char16 b, char16 c);
11129303233Sdimuchar16 __ovld __cnfn select(uchar16 a, uchar16 b, char16 c);
11130327952Sdim
11131303233Sdimshort __ovld __cnfn select(short a, short b, short c);
11132303233Sdimushort __ovld __cnfn select(ushort a, ushort b, short c);
11133303233Sdimshort2 __ovld __cnfn select(short2 a, short2 b, short2 c);
11134303233Sdimushort2 __ovld __cnfn select(ushort2 a, ushort2 b, short2 c);
11135303233Sdimshort3 __ovld __cnfn select(short3 a, short3 b, short3 c);
11136303233Sdimushort3 __ovld __cnfn select(ushort3 a, ushort3 b, short3 c);
11137303233Sdimshort4 __ovld __cnfn select(short4 a, short4 b, short4 c);
11138303233Sdimushort4 __ovld __cnfn select(ushort4 a, ushort4 b, short4 c);
11139303233Sdimshort8 __ovld __cnfn select(short8 a, short8 b, short8 c);
11140303233Sdimushort8 __ovld __cnfn select(ushort8 a, ushort8 b, short8 c);
11141303233Sdimshort16 __ovld __cnfn select(short16 a, short16 b, short16 c);
11142303233Sdimushort16 __ovld __cnfn select(ushort16 a, ushort16 b, short16 c);
11143327952Sdim
11144303233Sdimint __ovld __cnfn select(int a, int b, int c);
11145303233Sdimuint __ovld __cnfn select(uint a, uint b, int c);
11146303233Sdimint2 __ovld __cnfn select(int2 a, int2 b, int2 c);
11147303233Sdimuint2 __ovld __cnfn select(uint2 a, uint2 b, int2 c);
11148303233Sdimint3 __ovld __cnfn select(int3 a, int3 b, int3 c);
11149303233Sdimuint3 __ovld __cnfn select(uint3 a, uint3 b, int3 c);
11150303233Sdimint4 __ovld __cnfn select(int4 a, int4 b, int4 c);
11151303233Sdimuint4 __ovld __cnfn select(uint4 a, uint4 b, int4 c);
11152303233Sdimint8 __ovld __cnfn select(int8 a, int8 b, int8 c);
11153303233Sdimuint8 __ovld __cnfn select(uint8 a, uint8 b, int8 c);
11154303233Sdimint16 __ovld __cnfn select(int16 a, int16 b, int16 c);
11155303233Sdimuint16 __ovld __cnfn select(uint16 a, uint16 b, int16 c);
11156303233Sdimfloat __ovld __cnfn select(float a, float b, int c);
11157303233Sdimfloat2 __ovld __cnfn select(float2 a, float2 b, int2 c);
11158303233Sdimfloat3 __ovld __cnfn select(float3 a, float3 b, int3 c);
11159303233Sdimfloat4 __ovld __cnfn select(float4 a, float4 b, int4 c);
11160303233Sdimfloat8 __ovld __cnfn select(float8 a, float8 b, int8 c);
11161303233Sdimfloat16 __ovld __cnfn select(float16 a, float16 b, int16 c);
11162327952Sdim
11163303233Sdimlong __ovld __cnfn select(long a, long b, long c);
11164303233Sdimulong __ovld __cnfn select(ulong a, ulong b, long c);
11165303233Sdimlong2 __ovld __cnfn select(long2 a, long2 b, long2 c);
11166303233Sdimulong2 __ovld __cnfn select(ulong2 a, ulong2 b, long2 c);
11167303233Sdimlong3 __ovld __cnfn select(long3 a, long3 b, long3 c);
11168303233Sdimulong3 __ovld __cnfn select(ulong3 a, ulong3 b, long3 c);
11169303233Sdimlong4 __ovld __cnfn select(long4 a, long4 b, long4 c);
11170303233Sdimulong4 __ovld __cnfn select(ulong4 a, ulong4 b, long4 c);
11171303233Sdimlong8 __ovld __cnfn select(long8 a, long8 b, long8 c);
11172303233Sdimulong8 __ovld __cnfn select(ulong8 a, ulong8 b, long8 c);
11173303233Sdimlong16 __ovld __cnfn select(long16 a, long16 b, long16 c);
11174303233Sdimulong16 __ovld __cnfn select(ulong16 a, ulong16 b, long16 c);
11175327952Sdim
11176303233Sdimchar __ovld __cnfn select(char a, char b, uchar c);
11177303233Sdimuchar __ovld __cnfn select(uchar a, uchar b, uchar c);
11178303233Sdimchar2 __ovld __cnfn select(char2 a, char2 b, uchar2 c);
11179303233Sdimuchar2 __ovld __cnfn select(uchar2 a, uchar2 b, uchar2 c);
11180303233Sdimchar3 __ovld __cnfn select(char3 a, char3 b, uchar3 c);
11181303233Sdimuchar3 __ovld __cnfn select(uchar3 a, uchar3 b, uchar3 c);
11182303233Sdimchar4 __ovld __cnfn select(char4 a, char4 b, uchar4 c);
11183303233Sdimuchar4 __ovld __cnfn select(uchar4 a, uchar4 b, uchar4 c);
11184303233Sdimchar8 __ovld __cnfn select(char8 a, char8 b, uchar8 c);
11185303233Sdimuchar8 __ovld __cnfn select(uchar8 a, uchar8 b, uchar8 c);
11186303233Sdimchar16 __ovld __cnfn select(char16 a, char16 b, uchar16 c);
11187303233Sdimuchar16 __ovld __cnfn select(uchar16 a, uchar16 b, uchar16 c);
11188327952Sdim
11189303233Sdimshort __ovld __cnfn select(short a, short b, ushort c);
11190303233Sdimushort __ovld __cnfn select(ushort a, ushort b, ushort c);
11191303233Sdimshort2 __ovld __cnfn select(short2 a, short2 b, ushort2 c);
11192303233Sdimushort2 __ovld __cnfn select(ushort2 a, ushort2 b, ushort2 c);
11193303233Sdimshort3 __ovld __cnfn select(short3 a, short3 b, ushort3 c);
11194303233Sdimushort3 __ovld __cnfn select(ushort3 a, ushort3 b, ushort3 c);
11195303233Sdimshort4 __ovld __cnfn select(short4 a, short4 b, ushort4 c);
11196303233Sdimushort4 __ovld __cnfn select(ushort4 a, ushort4 b, ushort4 c);
11197303233Sdimshort8 __ovld __cnfn select(short8 a, short8 b, ushort8 c);
11198303233Sdimushort8 __ovld __cnfn select(ushort8 a, ushort8 b, ushort8 c);
11199303233Sdimshort16 __ovld __cnfn select(short16 a, short16 b, ushort16 c);
11200303233Sdimushort16 __ovld __cnfn select(ushort16 a, ushort16 b, ushort16 c);
11201327952Sdim
11202303233Sdimint __ovld __cnfn select(int a, int b, uint c);
11203303233Sdimuint __ovld __cnfn select(uint a, uint b, uint c);
11204303233Sdimint2 __ovld __cnfn select(int2 a, int2 b, uint2 c);
11205303233Sdimuint2 __ovld __cnfn select(uint2 a, uint2 b, uint2 c);
11206303233Sdimint3 __ovld __cnfn select(int3 a, int3 b, uint3 c);
11207303233Sdimuint3 __ovld __cnfn select(uint3 a, uint3 b, uint3 c);
11208303233Sdimint4 __ovld __cnfn select(int4 a, int4 b, uint4 c);
11209303233Sdimuint4 __ovld __cnfn select(uint4 a, uint4 b, uint4 c);
11210303233Sdimint8 __ovld __cnfn select(int8 a, int8 b, uint8 c);
11211303233Sdimuint8 __ovld __cnfn select(uint8 a, uint8 b, uint8 c);
11212303233Sdimint16 __ovld __cnfn select(int16 a, int16 b, uint16 c);
11213303233Sdimuint16 __ovld __cnfn select(uint16 a, uint16 b, uint16 c);
11214303233Sdimfloat __ovld __cnfn select(float a, float b, uint c);
11215303233Sdimfloat2 __ovld __cnfn select(float2 a, float2 b, uint2 c);
11216303233Sdimfloat3 __ovld __cnfn select(float3 a, float3 b, uint3 c);
11217303233Sdimfloat4 __ovld __cnfn select(float4 a, float4 b, uint4 c);
11218303233Sdimfloat8 __ovld __cnfn select(float8 a, float8 b, uint8 c);
11219303233Sdimfloat16 __ovld __cnfn select(float16 a, float16 b, uint16 c);
11220327952Sdim
11221303233Sdimlong __ovld __cnfn select(long a, long b, ulong c);
11222303233Sdimulong __ovld __cnfn select(ulong a, ulong b, ulong c);
11223303233Sdimlong2 __ovld __cnfn select(long2 a, long2 b, ulong2 c);
11224303233Sdimulong2 __ovld __cnfn select(ulong2 a, ulong2 b, ulong2 c);
11225303233Sdimlong3 __ovld __cnfn select(long3 a, long3 b, ulong3 c);
11226303233Sdimulong3 __ovld __cnfn select(ulong3 a, ulong3 b, ulong3 c);
11227303233Sdimlong4 __ovld __cnfn select(long4 a, long4 b, ulong4 c);
11228303233Sdimulong4 __ovld __cnfn select(ulong4 a, ulong4 b, ulong4 c);
11229303233Sdimlong8 __ovld __cnfn select(long8 a, long8 b, ulong8 c);
11230303233Sdimulong8 __ovld __cnfn select(ulong8 a, ulong8 b, ulong8 c);
11231303233Sdimlong16 __ovld __cnfn select(long16 a, long16 b, ulong16 c);
11232303233Sdimulong16 __ovld __cnfn select(ulong16 a, ulong16 b, ulong16 c);
11233327952Sdim
11234303233Sdim#ifdef cl_khr_fp64
11235303233Sdimdouble __ovld __cnfn select(double a, double b, long c);
11236303233Sdimdouble2 __ovld __cnfn select(double2 a, double2 b, long2 c);
11237303233Sdimdouble3 __ovld __cnfn select(double3 a, double3 b, long3 c);
11238303233Sdimdouble4 __ovld __cnfn select(double4 a, double4 b, long4 c);
11239303233Sdimdouble8 __ovld __cnfn select(double8 a, double8 b, long8 c);
11240303233Sdimdouble16 __ovld __cnfn select(double16 a, double16 b, long16 c);
11241303233Sdimdouble __ovld __cnfn select(double a, double b, ulong c);
11242303233Sdimdouble2 __ovld __cnfn select(double2 a, double2 b, ulong2 c);
11243303233Sdimdouble3 __ovld __cnfn select(double3 a, double3 b, ulong3 c);
11244303233Sdimdouble4 __ovld __cnfn select(double4 a, double4 b, ulong4 c);
11245303233Sdimdouble8 __ovld __cnfn select(double8 a, double8 b, ulong8 c);
11246303233Sdimdouble16 __ovld __cnfn select(double16 a, double16 b, ulong16 c);
11247303233Sdim#endif //cl_khr_fp64
11248303233Sdim#ifdef cl_khr_fp16
11249303233Sdimhalf __ovld __cnfn select(half a, half b, short c);
11250303233Sdimhalf2 __ovld __cnfn select(half2 a, half2 b, short2 c);
11251303233Sdimhalf3 __ovld __cnfn select(half3 a, half3 b, short3 c);
11252303233Sdimhalf4 __ovld __cnfn select(half4 a, half4 b, short4 c);
11253303233Sdimhalf8 __ovld __cnfn select(half8 a, half8 b, short8 c);
11254303233Sdimhalf16 __ovld __cnfn select(half16 a, half16 b, short16 c);
11255303233Sdimhalf __ovld __cnfn select(half a, half b, ushort c);
11256303233Sdimhalf2 __ovld __cnfn select(half2 a, half2 b, ushort2 c);
11257303233Sdimhalf3 __ovld __cnfn select(half3 a, half3 b, ushort3 c);
11258303233Sdimhalf4 __ovld __cnfn select(half4 a, half4 b, ushort4 c);
11259303233Sdimhalf8 __ovld __cnfn select(half8 a, half8 b, ushort8 c);
11260303233Sdimhalf16 __ovld __cnfn select(half16 a, half16 b, ushort16 c);
11261303233Sdim#endif //cl_khr_fp16
11262303233Sdim
11263303233Sdim// OpenCL v1.1 s6.11.7, v1.2 s6.12.7, v2.0 s6.13.7 - Vector Data Load and Store Functions
11264303233Sdim// 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
11265303233Sdim/**
11266303233Sdim * Use generic type gentype to indicate the built-in data types
11267303233Sdim * char, uchar, short, ushort, int, uint, long, ulong, float,
11268303233Sdim * double or half.
11269303233Sdim *
11270303233Sdim * vloadn return sizeof (gentypen) bytes of data read from address (p + (offset * n)).
11271303233Sdim *
11272303233Sdim * vstoren write sizeof (gentypen) bytes given by data to address (p + (offset * n)).
11273303233Sdim *
11274341825Sdim * The address computed as (p + (offset * n)) must be
11275303233Sdim * 8-bit aligned if gentype is char, uchar;
11276303233Sdim * 16-bit aligned if gentype is short, ushort, half;
11277303233Sdim * 32-bit aligned if gentype is int, uint, float;
11278303233Sdim * 64-bit aligned if gentype is long, ulong, double.
11279303233Sdim */
11280303233Sdim
11281303233Sdimchar2 __ovld vload2(size_t offset, const __constant char *p);
11282303233Sdimuchar2 __ovld vload2(size_t offset, const __constant uchar *p);
11283303233Sdimshort2 __ovld vload2(size_t offset, const __constant short *p);
11284303233Sdimushort2 __ovld vload2(size_t offset, const __constant ushort *p);
11285303233Sdimint2 __ovld vload2(size_t offset, const __constant int *p);
11286303233Sdimuint2 __ovld vload2(size_t offset, const __constant uint *p);
11287303233Sdimlong2 __ovld vload2(size_t offset, const __constant long *p);
11288303233Sdimulong2 __ovld vload2(size_t offset, const __constant ulong *p);
11289303233Sdimfloat2 __ovld vload2(size_t offset, const __constant float *p);
11290303233Sdimchar3 __ovld vload3(size_t offset, const __constant char *p);
11291303233Sdimuchar3 __ovld vload3(size_t offset, const __constant uchar *p);
11292303233Sdimshort3 __ovld vload3(size_t offset, const __constant short *p);
11293303233Sdimushort3 __ovld vload3(size_t offset, const __constant ushort *p);
11294303233Sdimint3 __ovld vload3(size_t offset, const __constant int *p);
11295303233Sdimuint3 __ovld vload3(size_t offset, const __constant uint *p);
11296303233Sdimlong3 __ovld vload3(size_t offset, const __constant long *p);
11297303233Sdimulong3 __ovld vload3(size_t offset, const __constant ulong *p);
11298303233Sdimfloat3 __ovld vload3(size_t offset, const __constant float *p);
11299303233Sdimchar4 __ovld vload4(size_t offset, const __constant char *p);
11300303233Sdimuchar4 __ovld vload4(size_t offset, const __constant uchar *p);
11301303233Sdimshort4 __ovld vload4(size_t offset, const __constant short *p);
11302303233Sdimushort4 __ovld vload4(size_t offset, const __constant ushort *p);
11303303233Sdimint4 __ovld vload4(size_t offset, const __constant int *p);
11304303233Sdimuint4 __ovld vload4(size_t offset, const __constant uint *p);
11305303233Sdimlong4 __ovld vload4(size_t offset, const __constant long *p);
11306303233Sdimulong4 __ovld vload4(size_t offset, const __constant ulong *p);
11307303233Sdimfloat4 __ovld vload4(size_t offset, const __constant float *p);
11308303233Sdimchar8 __ovld vload8(size_t offset, const __constant char *p);
11309303233Sdimuchar8 __ovld vload8(size_t offset, const __constant uchar *p);
11310303233Sdimshort8 __ovld vload8(size_t offset, const __constant short *p);
11311303233Sdimushort8 __ovld vload8(size_t offset, const __constant ushort *p);
11312303233Sdimint8 __ovld vload8(size_t offset, const __constant int *p);
11313303233Sdimuint8 __ovld vload8(size_t offset, const __constant uint *p);
11314303233Sdimlong8 __ovld vload8(size_t offset, const __constant long *p);
11315303233Sdimulong8 __ovld vload8(size_t offset, const __constant ulong *p);
11316303233Sdimfloat8 __ovld vload8(size_t offset, const __constant float *p);
11317303233Sdimchar16 __ovld vload16(size_t offset, const __constant char *p);
11318303233Sdimuchar16 __ovld vload16(size_t offset, const __constant uchar *p);
11319303233Sdimshort16 __ovld vload16(size_t offset, const __constant short *p);
11320303233Sdimushort16 __ovld vload16(size_t offset, const __constant ushort *p);
11321303233Sdimint16 __ovld vload16(size_t offset, const __constant int *p);
11322303233Sdimuint16 __ovld vload16(size_t offset, const __constant uint *p);
11323303233Sdimlong16 __ovld vload16(size_t offset, const __constant long *p);
11324303233Sdimulong16 __ovld vload16(size_t offset, const __constant ulong *p);
11325303233Sdimfloat16 __ovld vload16(size_t offset, const __constant float *p);
11326303233Sdim#ifdef cl_khr_fp64
11327303233Sdimdouble2 __ovld vload2(size_t offset, const __constant double *p);
11328303233Sdimdouble3 __ovld vload3(size_t offset, const __constant double *p);
11329303233Sdimdouble4 __ovld vload4(size_t offset, const __constant double *p);
11330303233Sdimdouble8 __ovld vload8(size_t offset, const __constant double *p);
11331303233Sdimdouble16 __ovld vload16(size_t offset, const __constant double *p);
11332303233Sdim#endif //cl_khr_fp64
11333303233Sdim
11334303233Sdim#ifdef cl_khr_fp16
11335303233Sdimhalf __ovld vload(size_t offset, const __constant half *p);
11336303233Sdimhalf2 __ovld vload2(size_t offset, const __constant half *p);
11337303233Sdimhalf3 __ovld vload3(size_t offset, const __constant half *p);
11338303233Sdimhalf4 __ovld vload4(size_t offset, const __constant half *p);
11339303233Sdimhalf8 __ovld vload8(size_t offset, const __constant half *p);
11340303233Sdimhalf16 __ovld vload16(size_t offset, const __constant half *p);
11341303233Sdim#endif //cl_khr_fp16
11342303233Sdim
11343353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11344303233Sdimchar2 __ovld vload2(size_t offset, const char *p);
11345303233Sdimuchar2 __ovld vload2(size_t offset, const uchar *p);
11346303233Sdimshort2 __ovld vload2(size_t offset, const short *p);
11347303233Sdimushort2 __ovld vload2(size_t offset, const ushort *p);
11348303233Sdimint2 __ovld vload2(size_t offset, const int *p);
11349303233Sdimuint2 __ovld vload2(size_t offset, const uint *p);
11350303233Sdimlong2 __ovld vload2(size_t offset, const long *p);
11351303233Sdimulong2 __ovld vload2(size_t offset, const ulong *p);
11352303233Sdimfloat2 __ovld vload2(size_t offset, const float *p);
11353303233Sdimchar3 __ovld vload3(size_t offset, const char *p);
11354303233Sdimuchar3 __ovld vload3(size_t offset, const uchar *p);
11355303233Sdimshort3 __ovld vload3(size_t offset, const short *p);
11356303233Sdimushort3 __ovld vload3(size_t offset, const ushort *p);
11357303233Sdimint3 __ovld vload3(size_t offset, const int *p);
11358303233Sdimuint3 __ovld vload3(size_t offset, const uint *p);
11359303233Sdimlong3 __ovld vload3(size_t offset, const long *p);
11360303233Sdimulong3 __ovld vload3(size_t offset, const ulong *p);
11361303233Sdimfloat3 __ovld vload3(size_t offset, const float *p);
11362303233Sdimchar4 __ovld vload4(size_t offset, const char *p);
11363303233Sdimuchar4 __ovld vload4(size_t offset, const uchar *p);
11364303233Sdimshort4 __ovld vload4(size_t offset, const short *p);
11365303233Sdimushort4 __ovld vload4(size_t offset, const ushort *p);
11366303233Sdimint4 __ovld vload4(size_t offset, const int *p);
11367303233Sdimuint4 __ovld vload4(size_t offset, const uint *p);
11368303233Sdimlong4 __ovld vload4(size_t offset, const long *p);
11369303233Sdimulong4 __ovld vload4(size_t offset, const ulong *p);
11370303233Sdimfloat4 __ovld vload4(size_t offset, const float *p);
11371303233Sdimchar8 __ovld vload8(size_t offset, const char *p);
11372303233Sdimuchar8 __ovld vload8(size_t offset, const uchar *p);
11373303233Sdimshort8 __ovld vload8(size_t offset, const short *p);
11374303233Sdimushort8 __ovld vload8(size_t offset, const ushort *p);
11375303233Sdimint8 __ovld vload8(size_t offset, const int *p);
11376303233Sdimuint8 __ovld vload8(size_t offset, const uint *p);
11377303233Sdimlong8 __ovld vload8(size_t offset, const long *p);
11378303233Sdimulong8 __ovld vload8(size_t offset, const ulong *p);
11379303233Sdimfloat8 __ovld vload8(size_t offset, const float *p);
11380303233Sdimchar16 __ovld vload16(size_t offset, const char *p);
11381303233Sdimuchar16 __ovld vload16(size_t offset, const uchar *p);
11382303233Sdimshort16 __ovld vload16(size_t offset, const short *p);
11383303233Sdimushort16 __ovld vload16(size_t offset, const ushort *p);
11384303233Sdimint16 __ovld vload16(size_t offset, const int *p);
11385303233Sdimuint16 __ovld vload16(size_t offset, const uint *p);
11386303233Sdimlong16 __ovld vload16(size_t offset, const long *p);
11387303233Sdimulong16 __ovld vload16(size_t offset, const ulong *p);
11388303233Sdimfloat16 __ovld vload16(size_t offset, const float *p);
11389303233Sdim
11390303233Sdim#ifdef cl_khr_fp64
11391303233Sdimdouble2 __ovld vload2(size_t offset, const double *p);
11392303233Sdimdouble3 __ovld vload3(size_t offset, const double *p);
11393303233Sdimdouble4 __ovld vload4(size_t offset, const double *p);
11394303233Sdimdouble8 __ovld vload8(size_t offset, const double *p);
11395303233Sdimdouble16 __ovld vload16(size_t offset, const double *p);
11396303233Sdim#endif //cl_khr_fp64
11397303233Sdim
11398303233Sdim#ifdef cl_khr_fp16
11399303233Sdimhalf __ovld vload(size_t offset, const half *p);
11400303233Sdimhalf2 __ovld vload2(size_t offset, const half *p);
11401303233Sdimhalf3 __ovld vload3(size_t offset, const half *p);
11402303233Sdimhalf4 __ovld vload4(size_t offset, const half *p);
11403303233Sdimhalf8 __ovld vload8(size_t offset, const half *p);
11404303233Sdimhalf16 __ovld vload16(size_t offset, const half *p);
11405303233Sdim#endif //cl_khr_fp16
11406303233Sdim#else
11407303233Sdimchar2 __ovld vload2(size_t offset, const __global char *p);
11408303233Sdimuchar2 __ovld vload2(size_t offset, const __global uchar *p);
11409303233Sdimshort2 __ovld vload2(size_t offset, const __global short *p);
11410303233Sdimushort2 __ovld vload2(size_t offset, const __global ushort *p);
11411303233Sdimint2 __ovld vload2(size_t offset, const __global int *p);
11412303233Sdimuint2 __ovld vload2(size_t offset, const __global uint *p);
11413303233Sdimlong2 __ovld vload2(size_t offset, const __global long *p);
11414303233Sdimulong2 __ovld vload2(size_t offset, const __global ulong *p);
11415303233Sdimfloat2 __ovld vload2(size_t offset, const __global float *p);
11416303233Sdimchar3 __ovld vload3(size_t offset, const __global char *p);
11417303233Sdimuchar3 __ovld vload3(size_t offset, const __global uchar *p);
11418303233Sdimshort3 __ovld vload3(size_t offset, const __global short *p);
11419303233Sdimushort3 __ovld vload3(size_t offset, const __global ushort *p);
11420303233Sdimint3 __ovld vload3(size_t offset, const __global int *p);
11421303233Sdimuint3 __ovld vload3(size_t offset, const __global uint *p);
11422303233Sdimlong3 __ovld vload3(size_t offset, const __global long *p);
11423303233Sdimulong3 __ovld vload3(size_t offset, const __global ulong *p);
11424303233Sdimfloat3 __ovld vload3(size_t offset, const __global float *p);
11425303233Sdimchar4 __ovld vload4(size_t offset, const __global char *p);
11426303233Sdimuchar4 __ovld vload4(size_t offset, const __global uchar *p);
11427303233Sdimshort4 __ovld vload4(size_t offset, const __global short *p);
11428303233Sdimushort4 __ovld vload4(size_t offset, const __global ushort *p);
11429303233Sdimint4 __ovld vload4(size_t offset, const __global int *p);
11430303233Sdimuint4 __ovld vload4(size_t offset, const __global uint *p);
11431303233Sdimlong4 __ovld vload4(size_t offset, const __global long *p);
11432303233Sdimulong4 __ovld vload4(size_t offset, const __global ulong *p);
11433303233Sdimfloat4 __ovld vload4(size_t offset, const __global float *p);
11434303233Sdimchar8 __ovld vload8(size_t offset, const __global char *p);
11435303233Sdimuchar8 __ovld vload8(size_t offset, const __global uchar *p);
11436303233Sdimshort8 __ovld vload8(size_t offset, const __global short *p);
11437303233Sdimushort8 __ovld vload8(size_t offset, const __global ushort *p);
11438303233Sdimint8 __ovld vload8(size_t offset, const __global int *p);
11439303233Sdimuint8 __ovld vload8(size_t offset, const __global uint *p);
11440303233Sdimlong8 __ovld vload8(size_t offset, const __global long *p);
11441303233Sdimulong8 __ovld vload8(size_t offset, const __global ulong *p);
11442303233Sdimfloat8 __ovld vload8(size_t offset, const __global float *p);
11443303233Sdimchar16 __ovld vload16(size_t offset, const __global char *p);
11444303233Sdimuchar16 __ovld vload16(size_t offset, const __global uchar *p);
11445303233Sdimshort16 __ovld vload16(size_t offset, const __global short *p);
11446303233Sdimushort16 __ovld vload16(size_t offset, const __global ushort *p);
11447303233Sdimint16 __ovld vload16(size_t offset, const __global int *p);
11448303233Sdimuint16 __ovld vload16(size_t offset, const __global uint *p);
11449303233Sdimlong16 __ovld vload16(size_t offset, const __global long *p);
11450303233Sdimulong16 __ovld vload16(size_t offset, const __global ulong *p);
11451303233Sdimfloat16 __ovld vload16(size_t offset, const __global float *p);
11452303233Sdimchar2 __ovld vload2(size_t offset, const __local char *p);
11453303233Sdimuchar2 __ovld vload2(size_t offset, const __local uchar *p);
11454303233Sdimshort2 __ovld vload2(size_t offset, const __local short *p);
11455303233Sdimushort2 __ovld vload2(size_t offset, const __local ushort *p);
11456303233Sdimint2 __ovld vload2(size_t offset, const __local int *p);
11457303233Sdimuint2 __ovld vload2(size_t offset, const __local uint *p);
11458303233Sdimlong2 __ovld vload2(size_t offset, const __local long *p);
11459303233Sdimulong2 __ovld vload2(size_t offset, const __local ulong *p);
11460303233Sdimfloat2 __ovld vload2(size_t offset, const __local float *p);
11461303233Sdimchar3 __ovld vload3(size_t offset, const __local char *p);
11462303233Sdimuchar3 __ovld vload3(size_t offset, const __local uchar *p);
11463303233Sdimshort3 __ovld vload3(size_t offset, const __local short *p);
11464303233Sdimushort3 __ovld vload3(size_t offset, const __local ushort *p);
11465303233Sdimint3 __ovld vload3(size_t offset, const __local int *p);
11466303233Sdimuint3 __ovld vload3(size_t offset, const __local uint *p);
11467303233Sdimlong3 __ovld vload3(size_t offset, const __local long *p);
11468303233Sdimulong3 __ovld vload3(size_t offset, const __local ulong *p);
11469303233Sdimfloat3 __ovld vload3(size_t offset, const __local float *p);
11470303233Sdimchar4 __ovld vload4(size_t offset, const __local char *p);
11471303233Sdimuchar4 __ovld vload4(size_t offset, const __local uchar *p);
11472303233Sdimshort4 __ovld vload4(size_t offset, const __local short *p);
11473303233Sdimushort4 __ovld vload4(size_t offset, const __local ushort *p);
11474303233Sdimint4 __ovld vload4(size_t offset, const __local int *p);
11475303233Sdimuint4 __ovld vload4(size_t offset, const __local uint *p);
11476303233Sdimlong4 __ovld vload4(size_t offset, const __local long *p);
11477303233Sdimulong4 __ovld vload4(size_t offset, const __local ulong *p);
11478303233Sdimfloat4 __ovld vload4(size_t offset, const __local float *p);
11479303233Sdimchar8 __ovld vload8(size_t offset, const __local char *p);
11480303233Sdimuchar8 __ovld vload8(size_t offset, const __local uchar *p);
11481303233Sdimshort8 __ovld vload8(size_t offset, const __local short *p);
11482303233Sdimushort8 __ovld vload8(size_t offset, const __local ushort *p);
11483303233Sdimint8 __ovld vload8(size_t offset, const __local int *p);
11484303233Sdimuint8 __ovld vload8(size_t offset, const __local uint *p);
11485303233Sdimlong8 __ovld vload8(size_t offset, const __local long *p);
11486303233Sdimulong8 __ovld vload8(size_t offset, const __local ulong *p);
11487303233Sdimfloat8 __ovld vload8(size_t offset, const __local float *p);
11488303233Sdimchar16 __ovld vload16(size_t offset, const __local char *p);
11489303233Sdimuchar16 __ovld vload16(size_t offset, const __local uchar *p);
11490303233Sdimshort16 __ovld vload16(size_t offset, const __local short *p);
11491303233Sdimushort16 __ovld vload16(size_t offset, const __local ushort *p);
11492303233Sdimint16 __ovld vload16(size_t offset, const __local int *p);
11493303233Sdimuint16 __ovld vload16(size_t offset, const __local uint *p);
11494303233Sdimlong16 __ovld vload16(size_t offset, const __local long *p);
11495303233Sdimulong16 __ovld vload16(size_t offset, const __local ulong *p);
11496303233Sdimfloat16 __ovld vload16(size_t offset, const __local float *p);
11497303233Sdimchar2 __ovld vload2(size_t offset, const __private char *p);
11498303233Sdimuchar2 __ovld vload2(size_t offset, const __private uchar *p);
11499303233Sdimshort2 __ovld vload2(size_t offset, const __private short *p);
11500303233Sdimushort2 __ovld vload2(size_t offset, const __private ushort *p);
11501303233Sdimint2 __ovld vload2(size_t offset, const __private int *p);
11502303233Sdimuint2 __ovld vload2(size_t offset, const __private uint *p);
11503303233Sdimlong2 __ovld vload2(size_t offset, const __private long *p);
11504303233Sdimulong2 __ovld vload2(size_t offset, const __private ulong *p);
11505303233Sdimfloat2 __ovld vload2(size_t offset, const __private float *p);
11506303233Sdimchar3 __ovld vload3(size_t offset, const __private char *p);
11507303233Sdimuchar3 __ovld vload3(size_t offset, const __private uchar *p);
11508303233Sdimshort3 __ovld vload3(size_t offset, const __private short *p);
11509303233Sdimushort3 __ovld vload3(size_t offset, const __private ushort *p);
11510303233Sdimint3 __ovld vload3(size_t offset, const __private int *p);
11511303233Sdimuint3 __ovld vload3(size_t offset, const __private uint *p);
11512303233Sdimlong3 __ovld vload3(size_t offset, const __private long *p);
11513303233Sdimulong3 __ovld vload3(size_t offset, const __private ulong *p);
11514303233Sdimfloat3 __ovld vload3(size_t offset, const __private float *p);
11515303233Sdimchar4 __ovld vload4(size_t offset, const __private char *p);
11516303233Sdimuchar4 __ovld vload4(size_t offset, const __private uchar *p);
11517303233Sdimshort4 __ovld vload4(size_t offset, const __private short *p);
11518303233Sdimushort4 __ovld vload4(size_t offset, const __private ushort *p);
11519303233Sdimint4 __ovld vload4(size_t offset, const __private int *p);
11520303233Sdimuint4 __ovld vload4(size_t offset, const __private uint *p);
11521303233Sdimlong4 __ovld vload4(size_t offset, const __private long *p);
11522303233Sdimulong4 __ovld vload4(size_t offset, const __private ulong *p);
11523303233Sdimfloat4 __ovld vload4(size_t offset, const __private float *p);
11524303233Sdimchar8 __ovld vload8(size_t offset, const __private char *p);
11525303233Sdimuchar8 __ovld vload8(size_t offset, const __private uchar *p);
11526303233Sdimshort8 __ovld vload8(size_t offset, const __private short *p);
11527303233Sdimushort8 __ovld vload8(size_t offset, const __private ushort *p);
11528303233Sdimint8 __ovld vload8(size_t offset, const __private int *p);
11529303233Sdimuint8 __ovld vload8(size_t offset, const __private uint *p);
11530303233Sdimlong8 __ovld vload8(size_t offset, const __private long *p);
11531303233Sdimulong8 __ovld vload8(size_t offset, const __private ulong *p);
11532303233Sdimfloat8 __ovld vload8(size_t offset, const __private float *p);
11533303233Sdimchar16 __ovld vload16(size_t offset, const __private char *p);
11534303233Sdimuchar16 __ovld vload16(size_t offset, const __private uchar *p);
11535303233Sdimshort16 __ovld vload16(size_t offset, const __private short *p);
11536303233Sdimushort16 __ovld vload16(size_t offset, const __private ushort *p);
11537303233Sdimint16 __ovld vload16(size_t offset, const __private int *p);
11538303233Sdimuint16 __ovld vload16(size_t offset, const __private uint *p);
11539303233Sdimlong16 __ovld vload16(size_t offset, const __private long *p);
11540303233Sdimulong16 __ovld vload16(size_t offset, const __private ulong *p);
11541303233Sdimfloat16 __ovld vload16(size_t offset, const __private float *p);
11542303233Sdim
11543303233Sdim#ifdef cl_khr_fp64
11544303233Sdimdouble2 __ovld vload2(size_t offset, const __global double *p);
11545303233Sdimdouble3 __ovld vload3(size_t offset, const __global double *p);
11546303233Sdimdouble4 __ovld vload4(size_t offset, const __global double *p);
11547303233Sdimdouble8 __ovld vload8(size_t offset, const __global double *p);
11548303233Sdimdouble16 __ovld vload16(size_t offset, const __global double *p);
11549303233Sdimdouble2 __ovld vload2(size_t offset, const __local double *p);
11550303233Sdimdouble3 __ovld vload3(size_t offset, const __local double *p);
11551303233Sdimdouble4 __ovld vload4(size_t offset, const __local double *p);
11552303233Sdimdouble8 __ovld vload8(size_t offset, const __local double *p);
11553303233Sdimdouble16 __ovld vload16(size_t offset, const __local double *p);
11554303233Sdimdouble2 __ovld vload2(size_t offset, const __private double *p);
11555303233Sdimdouble3 __ovld vload3(size_t offset, const __private double *p);
11556303233Sdimdouble4 __ovld vload4(size_t offset, const __private double *p);
11557303233Sdimdouble8 __ovld vload8(size_t offset, const __private double *p);
11558303233Sdimdouble16 __ovld vload16(size_t offset, const __private double *p);
11559303233Sdim#endif //cl_khr_fp64
11560303233Sdim
11561303233Sdim#ifdef cl_khr_fp16
11562303233Sdimhalf __ovld vload(size_t offset, const __global half *p);
11563303233Sdimhalf2 __ovld vload2(size_t offset, const __global half *p);
11564303233Sdimhalf3 __ovld vload3(size_t offset, const __global half *p);
11565303233Sdimhalf4 __ovld vload4(size_t offset, const __global half *p);
11566303233Sdimhalf8 __ovld vload8(size_t offset, const __global half *p);
11567303233Sdimhalf16 __ovld vload16(size_t offset, const __global half *p);
11568303233Sdimhalf __ovld vload(size_t offset, const __local half *p);
11569303233Sdimhalf2 __ovld vload2(size_t offset, const __local half *p);
11570303233Sdimhalf3 __ovld vload3(size_t offset, const __local half *p);
11571303233Sdimhalf4 __ovld vload4(size_t offset, const __local half *p);
11572303233Sdimhalf8 __ovld vload8(size_t offset, const __local half *p);
11573303233Sdimhalf16 __ovld vload16(size_t offset, const __local half *p);
11574303233Sdimhalf __ovld vload(size_t offset, const __private half *p);
11575303233Sdimhalf2 __ovld vload2(size_t offset, const __private half *p);
11576303233Sdimhalf3 __ovld vload3(size_t offset, const __private half *p);
11577303233Sdimhalf4 __ovld vload4(size_t offset, const __private half *p);
11578303233Sdimhalf8 __ovld vload8(size_t offset, const __private half *p);
11579303233Sdimhalf16 __ovld vload16(size_t offset, const __private half *p);
11580303233Sdim#endif //cl_khr_fp16
11581353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11582303233Sdim
11583353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11584303233Sdimvoid __ovld vstore2(char2 data, size_t offset, char *p);
11585303233Sdimvoid __ovld vstore2(uchar2 data, size_t offset, uchar *p);
11586303233Sdimvoid __ovld vstore2(short2 data, size_t offset, short *p);
11587303233Sdimvoid __ovld vstore2(ushort2 data, size_t offset, ushort *p);
11588303233Sdimvoid __ovld vstore2(int2 data, size_t offset, int *p);
11589303233Sdimvoid __ovld vstore2(uint2 data, size_t offset, uint *p);
11590303233Sdimvoid __ovld vstore2(long2 data, size_t offset, long *p);
11591303233Sdimvoid __ovld vstore2(ulong2 data, size_t offset, ulong *p);
11592303233Sdimvoid __ovld vstore2(float2 data, size_t offset, float *p);
11593303233Sdimvoid __ovld vstore3(char3 data, size_t offset, char *p);
11594303233Sdimvoid __ovld vstore3(uchar3 data, size_t offset, uchar *p);
11595303233Sdimvoid __ovld vstore3(short3 data, size_t offset, short *p);
11596303233Sdimvoid __ovld vstore3(ushort3 data, size_t offset, ushort *p);
11597303233Sdimvoid __ovld vstore3(int3 data, size_t offset, int *p);
11598303233Sdimvoid __ovld vstore3(uint3 data, size_t offset, uint *p);
11599303233Sdimvoid __ovld vstore3(long3 data, size_t offset, long *p);
11600303233Sdimvoid __ovld vstore3(ulong3 data, size_t offset, ulong *p);
11601303233Sdimvoid __ovld vstore3(float3 data, size_t offset, float *p);
11602303233Sdimvoid __ovld vstore4(char4 data, size_t offset, char *p);
11603303233Sdimvoid __ovld vstore4(uchar4 data, size_t offset, uchar *p);
11604303233Sdimvoid __ovld vstore4(short4 data, size_t offset, short *p);
11605303233Sdimvoid __ovld vstore4(ushort4 data, size_t offset, ushort *p);
11606303233Sdimvoid __ovld vstore4(int4 data, size_t offset, int *p);
11607303233Sdimvoid __ovld vstore4(uint4 data, size_t offset, uint *p);
11608303233Sdimvoid __ovld vstore4(long4 data, size_t offset, long *p);
11609303233Sdimvoid __ovld vstore4(ulong4 data, size_t offset, ulong *p);
11610303233Sdimvoid __ovld vstore4(float4 data, size_t offset, float *p);
11611303233Sdimvoid __ovld vstore8(char8 data, size_t offset, char *p);
11612303233Sdimvoid __ovld vstore8(uchar8 data, size_t offset, uchar *p);
11613303233Sdimvoid __ovld vstore8(short8 data, size_t offset, short *p);
11614303233Sdimvoid __ovld vstore8(ushort8 data, size_t offset, ushort *p);
11615303233Sdimvoid __ovld vstore8(int8 data, size_t offset, int *p);
11616303233Sdimvoid __ovld vstore8(uint8 data, size_t offset, uint *p);
11617303233Sdimvoid __ovld vstore8(long8 data, size_t offset, long *p);
11618303233Sdimvoid __ovld vstore8(ulong8 data, size_t offset, ulong *p);
11619303233Sdimvoid __ovld vstore8(float8 data, size_t offset, float *p);
11620303233Sdimvoid __ovld vstore16(char16 data, size_t offset, char *p);
11621303233Sdimvoid __ovld vstore16(uchar16 data, size_t offset, uchar *p);
11622303233Sdimvoid __ovld vstore16(short16 data, size_t offset, short *p);
11623303233Sdimvoid __ovld vstore16(ushort16 data, size_t offset, ushort *p);
11624303233Sdimvoid __ovld vstore16(int16 data, size_t offset, int *p);
11625303233Sdimvoid __ovld vstore16(uint16 data, size_t offset, uint *p);
11626303233Sdimvoid __ovld vstore16(long16 data, size_t offset, long *p);
11627303233Sdimvoid __ovld vstore16(ulong16 data, size_t offset, ulong *p);
11628303233Sdimvoid __ovld vstore16(float16 data, size_t offset, float *p);
11629303233Sdim#ifdef cl_khr_fp64
11630303233Sdimvoid __ovld vstore2(double2 data, size_t offset, double *p);
11631303233Sdimvoid __ovld vstore3(double3 data, size_t offset, double *p);
11632303233Sdimvoid __ovld vstore4(double4 data, size_t offset, double *p);
11633303233Sdimvoid __ovld vstore8(double8 data, size_t offset, double *p);
11634303233Sdimvoid __ovld vstore16(double16 data, size_t offset, double *p);
11635303233Sdim#endif //cl_khr_fp64
11636303233Sdim#ifdef cl_khr_fp16
11637303233Sdimvoid __ovld vstore(half data, size_t offset, half *p);
11638303233Sdimvoid __ovld vstore2(half2 data, size_t offset, half *p);
11639303233Sdimvoid __ovld vstore3(half3 data, size_t offset, half *p);
11640303233Sdimvoid __ovld vstore4(half4 data, size_t offset, half *p);
11641303233Sdimvoid __ovld vstore8(half8 data, size_t offset, half *p);
11642303233Sdimvoid __ovld vstore16(half16 data, size_t offset, half *p);
11643303233Sdim#endif //cl_khr_fp16
11644303233Sdim#else
11645303233Sdimvoid __ovld vstore2(char2 data, size_t offset, __global char *p);
11646303233Sdimvoid __ovld vstore2(uchar2 data, size_t offset, __global uchar *p);
11647303233Sdimvoid __ovld vstore2(short2 data, size_t offset, __global short *p);
11648303233Sdimvoid __ovld vstore2(ushort2 data, size_t offset, __global ushort *p);
11649303233Sdimvoid __ovld vstore2(int2 data, size_t offset, __global int *p);
11650303233Sdimvoid __ovld vstore2(uint2 data, size_t offset, __global uint *p);
11651303233Sdimvoid __ovld vstore2(long2 data, size_t offset, __global long *p);
11652303233Sdimvoid __ovld vstore2(ulong2 data, size_t offset, __global ulong *p);
11653303233Sdimvoid __ovld vstore2(float2 data, size_t offset, __global float *p);
11654303233Sdimvoid __ovld vstore3(char3 data, size_t offset, __global char *p);
11655303233Sdimvoid __ovld vstore3(uchar3 data, size_t offset, __global uchar *p);
11656303233Sdimvoid __ovld vstore3(short3 data, size_t offset, __global short *p);
11657303233Sdimvoid __ovld vstore3(ushort3 data, size_t offset, __global ushort *p);
11658303233Sdimvoid __ovld vstore3(int3 data, size_t offset, __global int *p);
11659303233Sdimvoid __ovld vstore3(uint3 data, size_t offset, __global uint *p);
11660303233Sdimvoid __ovld vstore3(long3 data, size_t offset, __global long *p);
11661303233Sdimvoid __ovld vstore3(ulong3 data, size_t offset, __global ulong *p);
11662303233Sdimvoid __ovld vstore3(float3 data, size_t offset, __global float *p);
11663303233Sdimvoid __ovld vstore4(char4 data, size_t offset, __global char *p);
11664303233Sdimvoid __ovld vstore4(uchar4 data, size_t offset, __global uchar *p);
11665303233Sdimvoid __ovld vstore4(short4 data, size_t offset, __global short *p);
11666303233Sdimvoid __ovld vstore4(ushort4 data, size_t offset, __global ushort *p);
11667303233Sdimvoid __ovld vstore4(int4 data, size_t offset, __global int *p);
11668303233Sdimvoid __ovld vstore4(uint4 data, size_t offset, __global uint *p);
11669303233Sdimvoid __ovld vstore4(long4 data, size_t offset, __global long *p);
11670303233Sdimvoid __ovld vstore4(ulong4 data, size_t offset, __global ulong *p);
11671303233Sdimvoid __ovld vstore4(float4 data, size_t offset, __global float *p);
11672303233Sdimvoid __ovld vstore8(char8 data, size_t offset, __global char *p);
11673303233Sdimvoid __ovld vstore8(uchar8 data, size_t offset, __global uchar *p);
11674303233Sdimvoid __ovld vstore8(short8 data, size_t offset, __global short *p);
11675303233Sdimvoid __ovld vstore8(ushort8 data, size_t offset, __global ushort *p);
11676303233Sdimvoid __ovld vstore8(int8 data, size_t offset, __global int *p);
11677303233Sdimvoid __ovld vstore8(uint8 data, size_t offset, __global uint *p);
11678303233Sdimvoid __ovld vstore8(long8 data, size_t offset, __global long *p);
11679303233Sdimvoid __ovld vstore8(ulong8 data, size_t offset, __global ulong *p);
11680303233Sdimvoid __ovld vstore8(float8 data, size_t offset, __global float *p);
11681303233Sdimvoid __ovld vstore16(char16 data, size_t offset, __global char *p);
11682303233Sdimvoid __ovld vstore16(uchar16 data, size_t offset, __global uchar *p);
11683303233Sdimvoid __ovld vstore16(short16 data, size_t offset, __global short *p);
11684303233Sdimvoid __ovld vstore16(ushort16 data, size_t offset, __global ushort *p);
11685303233Sdimvoid __ovld vstore16(int16 data, size_t offset, __global int *p);
11686303233Sdimvoid __ovld vstore16(uint16 data, size_t offset, __global uint *p);
11687303233Sdimvoid __ovld vstore16(long16 data, size_t offset, __global long *p);
11688303233Sdimvoid __ovld vstore16(ulong16 data, size_t offset, __global ulong *p);
11689303233Sdimvoid __ovld vstore16(float16 data, size_t offset, __global float *p);
11690303233Sdimvoid __ovld vstore2(char2 data, size_t offset, __local char *p);
11691303233Sdimvoid __ovld vstore2(uchar2 data, size_t offset, __local uchar *p);
11692303233Sdimvoid __ovld vstore2(short2 data, size_t offset, __local short *p);
11693303233Sdimvoid __ovld vstore2(ushort2 data, size_t offset, __local ushort *p);
11694303233Sdimvoid __ovld vstore2(int2 data, size_t offset, __local int *p);
11695303233Sdimvoid __ovld vstore2(uint2 data, size_t offset, __local uint *p);
11696303233Sdimvoid __ovld vstore2(long2 data, size_t offset, __local long *p);
11697303233Sdimvoid __ovld vstore2(ulong2 data, size_t offset, __local ulong *p);
11698303233Sdimvoid __ovld vstore2(float2 data, size_t offset, __local float *p);
11699303233Sdimvoid __ovld vstore3(char3 data, size_t offset, __local char *p);
11700303233Sdimvoid __ovld vstore3(uchar3 data, size_t offset, __local uchar *p);
11701303233Sdimvoid __ovld vstore3(short3 data, size_t offset, __local short *p);
11702303233Sdimvoid __ovld vstore3(ushort3 data, size_t offset, __local ushort *p);
11703303233Sdimvoid __ovld vstore3(int3 data, size_t offset, __local int *p);
11704303233Sdimvoid __ovld vstore3(uint3 data, size_t offset, __local uint *p);
11705303233Sdimvoid __ovld vstore3(long3 data, size_t offset, __local long *p);
11706303233Sdimvoid __ovld vstore3(ulong3 data, size_t offset, __local ulong *p);
11707303233Sdimvoid __ovld vstore3(float3 data, size_t offset, __local float *p);
11708303233Sdimvoid __ovld vstore4(char4 data, size_t offset, __local char *p);
11709303233Sdimvoid __ovld vstore4(uchar4 data, size_t offset, __local uchar *p);
11710303233Sdimvoid __ovld vstore4(short4 data, size_t offset, __local short *p);
11711303233Sdimvoid __ovld vstore4(ushort4 data, size_t offset, __local ushort *p);
11712303233Sdimvoid __ovld vstore4(int4 data, size_t offset, __local int *p);
11713303233Sdimvoid __ovld vstore4(uint4 data, size_t offset, __local uint *p);
11714303233Sdimvoid __ovld vstore4(long4 data, size_t offset, __local long *p);
11715303233Sdimvoid __ovld vstore4(ulong4 data, size_t offset, __local ulong *p);
11716303233Sdimvoid __ovld vstore4(float4 data, size_t offset, __local float *p);
11717303233Sdimvoid __ovld vstore8(char8 data, size_t offset, __local char *p);
11718303233Sdimvoid __ovld vstore8(uchar8 data, size_t offset, __local uchar *p);
11719303233Sdimvoid __ovld vstore8(short8 data, size_t offset, __local short *p);
11720303233Sdimvoid __ovld vstore8(ushort8 data, size_t offset, __local ushort *p);
11721303233Sdimvoid __ovld vstore8(int8 data, size_t offset, __local int *p);
11722303233Sdimvoid __ovld vstore8(uint8 data, size_t offset, __local uint *p);
11723303233Sdimvoid __ovld vstore8(long8 data, size_t offset, __local long *p);
11724303233Sdimvoid __ovld vstore8(ulong8 data, size_t offset, __local ulong *p);
11725303233Sdimvoid __ovld vstore8(float8 data, size_t offset, __local float *p);
11726303233Sdimvoid __ovld vstore16(char16 data, size_t offset, __local char *p);
11727303233Sdimvoid __ovld vstore16(uchar16 data, size_t offset, __local uchar *p);
11728303233Sdimvoid __ovld vstore16(short16 data, size_t offset, __local short *p);
11729303233Sdimvoid __ovld vstore16(ushort16 data, size_t offset, __local ushort *p);
11730303233Sdimvoid __ovld vstore16(int16 data, size_t offset, __local int *p);
11731303233Sdimvoid __ovld vstore16(uint16 data, size_t offset, __local uint *p);
11732303233Sdimvoid __ovld vstore16(long16 data, size_t offset, __local long *p);
11733303233Sdimvoid __ovld vstore16(ulong16 data, size_t offset, __local ulong *p);
11734303233Sdimvoid __ovld vstore16(float16 data, size_t offset, __local float *p);
11735303233Sdimvoid __ovld vstore2(char2 data, size_t offset, __private char *p);
11736303233Sdimvoid __ovld vstore2(uchar2 data, size_t offset, __private uchar *p);
11737303233Sdimvoid __ovld vstore2(short2 data, size_t offset, __private short *p);
11738303233Sdimvoid __ovld vstore2(ushort2 data, size_t offset, __private ushort *p);
11739303233Sdimvoid __ovld vstore2(int2 data, size_t offset, __private int *p);
11740303233Sdimvoid __ovld vstore2(uint2 data, size_t offset, __private uint *p);
11741303233Sdimvoid __ovld vstore2(long2 data, size_t offset, __private long *p);
11742303233Sdimvoid __ovld vstore2(ulong2 data, size_t offset, __private ulong *p);
11743303233Sdimvoid __ovld vstore2(float2 data, size_t offset, __private float *p);
11744303233Sdimvoid __ovld vstore3(char3 data, size_t offset, __private char *p);
11745303233Sdimvoid __ovld vstore3(uchar3 data, size_t offset, __private uchar *p);
11746303233Sdimvoid __ovld vstore3(short3 data, size_t offset, __private short *p);
11747303233Sdimvoid __ovld vstore3(ushort3 data, size_t offset, __private ushort *p);
11748303233Sdimvoid __ovld vstore3(int3 data, size_t offset, __private int *p);
11749303233Sdimvoid __ovld vstore3(uint3 data, size_t offset, __private uint *p);
11750303233Sdimvoid __ovld vstore3(long3 data, size_t offset, __private long *p);
11751303233Sdimvoid __ovld vstore3(ulong3 data, size_t offset, __private ulong *p);
11752303233Sdimvoid __ovld vstore3(float3 data, size_t offset, __private float *p);
11753303233Sdimvoid __ovld vstore4(char4 data, size_t offset, __private char *p);
11754303233Sdimvoid __ovld vstore4(uchar4 data, size_t offset, __private uchar *p);
11755303233Sdimvoid __ovld vstore4(short4 data, size_t offset, __private short *p);
11756303233Sdimvoid __ovld vstore4(ushort4 data, size_t offset, __private ushort *p);
11757303233Sdimvoid __ovld vstore4(int4 data, size_t offset, __private int *p);
11758303233Sdimvoid __ovld vstore4(uint4 data, size_t offset, __private uint *p);
11759303233Sdimvoid __ovld vstore4(long4 data, size_t offset, __private long *p);
11760303233Sdimvoid __ovld vstore4(ulong4 data, size_t offset, __private ulong *p);
11761303233Sdimvoid __ovld vstore4(float4 data, size_t offset, __private float *p);
11762303233Sdimvoid __ovld vstore8(char8 data, size_t offset, __private char *p);
11763303233Sdimvoid __ovld vstore8(uchar8 data, size_t offset, __private uchar *p);
11764303233Sdimvoid __ovld vstore8(short8 data, size_t offset, __private short *p);
11765303233Sdimvoid __ovld vstore8(ushort8 data, size_t offset, __private ushort *p);
11766303233Sdimvoid __ovld vstore8(int8 data, size_t offset, __private int *p);
11767303233Sdimvoid __ovld vstore8(uint8 data, size_t offset, __private uint *p);
11768303233Sdimvoid __ovld vstore8(long8 data, size_t offset, __private long *p);
11769303233Sdimvoid __ovld vstore8(ulong8 data, size_t offset, __private ulong *p);
11770303233Sdimvoid __ovld vstore8(float8 data, size_t offset, __private float *p);
11771303233Sdimvoid __ovld vstore16(char16 data, size_t offset, __private char *p);
11772303233Sdimvoid __ovld vstore16(uchar16 data, size_t offset, __private uchar *p);
11773303233Sdimvoid __ovld vstore16(short16 data, size_t offset, __private short *p);
11774303233Sdimvoid __ovld vstore16(ushort16 data, size_t offset, __private ushort *p);
11775303233Sdimvoid __ovld vstore16(int16 data, size_t offset, __private int *p);
11776303233Sdimvoid __ovld vstore16(uint16 data, size_t offset, __private uint *p);
11777303233Sdimvoid __ovld vstore16(long16 data, size_t offset, __private long *p);
11778303233Sdimvoid __ovld vstore16(ulong16 data, size_t offset, __private ulong *p);
11779303233Sdimvoid __ovld vstore16(float16 data, size_t offset, __private float *p);
11780303233Sdim#ifdef cl_khr_fp64
11781303233Sdimvoid __ovld vstore2(double2 data, size_t offset, __global double *p);
11782303233Sdimvoid __ovld vstore3(double3 data, size_t offset, __global double *p);
11783303233Sdimvoid __ovld vstore4(double4 data, size_t offset, __global double *p);
11784303233Sdimvoid __ovld vstore8(double8 data, size_t offset, __global double *p);
11785303233Sdimvoid __ovld vstore16(double16 data, size_t offset, __global double *p);
11786303233Sdimvoid __ovld vstore2(double2 data, size_t offset, __local double *p);
11787303233Sdimvoid __ovld vstore3(double3 data, size_t offset, __local double *p);
11788303233Sdimvoid __ovld vstore4(double4 data, size_t offset, __local double *p);
11789303233Sdimvoid __ovld vstore8(double8 data, size_t offset, __local double *p);
11790303233Sdimvoid __ovld vstore16(double16 data, size_t offset, __local double *p);
11791303233Sdimvoid __ovld vstore2(double2 data, size_t offset, __private double *p);
11792303233Sdimvoid __ovld vstore3(double3 data, size_t offset, __private double *p);
11793303233Sdimvoid __ovld vstore4(double4 data, size_t offset, __private double *p);
11794303233Sdimvoid __ovld vstore8(double8 data, size_t offset, __private double *p);
11795303233Sdimvoid __ovld vstore16(double16 data, size_t offset, __private double *p);
11796303233Sdim#endif //cl_khr_fp64
11797303233Sdim#ifdef cl_khr_fp16
11798303233Sdimvoid __ovld vstore(half data, size_t offset, __global half *p);
11799303233Sdimvoid __ovld vstore2(half2 data, size_t offset, __global half *p);
11800303233Sdimvoid __ovld vstore3(half3 data, size_t offset, __global half *p);
11801303233Sdimvoid __ovld vstore4(half4 data, size_t offset, __global half *p);
11802303233Sdimvoid __ovld vstore8(half8 data, size_t offset, __global half *p);
11803303233Sdimvoid __ovld vstore16(half16 data, size_t offset, __global half *p);
11804303233Sdimvoid __ovld vstore(half data, size_t offset, __local half *p);
11805303233Sdimvoid __ovld vstore2(half2 data, size_t offset, __local half *p);
11806303233Sdimvoid __ovld vstore3(half3 data, size_t offset, __local half *p);
11807303233Sdimvoid __ovld vstore4(half4 data, size_t offset, __local half *p);
11808303233Sdimvoid __ovld vstore8(half8 data, size_t offset, __local half *p);
11809303233Sdimvoid __ovld vstore16(half16 data, size_t offset, __local half *p);
11810303233Sdimvoid __ovld vstore(half data, size_t offset, __private half *p);
11811303233Sdimvoid __ovld vstore2(half2 data, size_t offset, __private half *p);
11812303233Sdimvoid __ovld vstore3(half3 data, size_t offset, __private half *p);
11813303233Sdimvoid __ovld vstore4(half4 data, size_t offset, __private half *p);
11814303233Sdimvoid __ovld vstore8(half8 data, size_t offset, __private half *p);
11815303233Sdimvoid __ovld vstore16(half16 data, size_t offset, __private half *p);
11816303233Sdim#endif //cl_khr_fp16
11817353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11818303233Sdim
11819303233Sdim/**
11820303233Sdim * Read sizeof (half) bytes of data from address
11821303233Sdim * (p + offset). The data read is interpreted as a
11822303233Sdim * half value. The half value is converted to a
11823303233Sdim * float value and the float value is returned.
11824303233Sdim * The read address computed as (p + offset)
11825303233Sdim * must be 16-bit aligned.
11826303233Sdim */
11827303233Sdimfloat __ovld vload_half(size_t offset, const __constant half *p);
11828353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11829303233Sdimfloat __ovld vload_half(size_t offset, const half *p);
11830303233Sdim#else
11831303233Sdimfloat __ovld vload_half(size_t offset, const __global half *p);
11832303233Sdimfloat __ovld vload_half(size_t offset, const __local half *p);
11833303233Sdimfloat __ovld vload_half(size_t offset, const __private half *p);
11834353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11835303233Sdim
11836303233Sdim/**
11837303233Sdim * Read sizeof (halfn) bytes of data from address
11838303233Sdim * (p + (offset * n)). The data read is interpreted
11839303233Sdim * as a halfn value. The halfn value read is
11840303233Sdim * converted to a floatn value and the floatn
11841303233Sdim * value is returned. The read address computed
11842303233Sdim * as (p + (offset * n)) must be 16-bit aligned.
11843303233Sdim */
11844303233Sdimfloat2 __ovld vload_half2(size_t offset, const __constant half *p);
11845303233Sdimfloat3 __ovld vload_half3(size_t offset, const __constant half *p);
11846303233Sdimfloat4 __ovld vload_half4(size_t offset, const __constant half *p);
11847303233Sdimfloat8 __ovld vload_half8(size_t offset, const __constant half *p);
11848303233Sdimfloat16 __ovld vload_half16(size_t offset, const __constant half *p);
11849353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11850303233Sdimfloat2 __ovld vload_half2(size_t offset, const half *p);
11851303233Sdimfloat3 __ovld vload_half3(size_t offset, const half *p);
11852303233Sdimfloat4 __ovld vload_half4(size_t offset, const half *p);
11853303233Sdimfloat8 __ovld vload_half8(size_t offset, const half *p);
11854303233Sdimfloat16 __ovld vload_half16(size_t offset, const half *p);
11855303233Sdim#else
11856303233Sdimfloat2 __ovld vload_half2(size_t offset, const __global half *p);
11857303233Sdimfloat3 __ovld vload_half3(size_t offset, const __global half *p);
11858303233Sdimfloat4 __ovld vload_half4(size_t offset, const __global half *p);
11859303233Sdimfloat8 __ovld vload_half8(size_t offset, const __global half *p);
11860303233Sdimfloat16 __ovld vload_half16(size_t offset, const __global half *p);
11861303233Sdimfloat2 __ovld vload_half2(size_t offset, const __local half *p);
11862303233Sdimfloat3 __ovld vload_half3(size_t offset, const __local half *p);
11863303233Sdimfloat4 __ovld vload_half4(size_t offset, const __local half *p);
11864303233Sdimfloat8 __ovld vload_half8(size_t offset, const __local half *p);
11865303233Sdimfloat16 __ovld vload_half16(size_t offset, const __local half *p);
11866303233Sdimfloat2 __ovld vload_half2(size_t offset, const __private half *p);
11867303233Sdimfloat3 __ovld vload_half3(size_t offset, const __private half *p);
11868303233Sdimfloat4 __ovld vload_half4(size_t offset, const __private half *p);
11869303233Sdimfloat8 __ovld vload_half8(size_t offset, const __private half *p);
11870303233Sdimfloat16 __ovld vload_half16(size_t offset, const __private half *p);
11871353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11872303233Sdim
11873303233Sdim/**
11874303233Sdim * The float value given by data is first
11875303233Sdim * converted to a half value using the appropriate
11876303233Sdim * rounding mode. The half value is then written
11877303233Sdim * to address computed as (p + offset). The
11878303233Sdim * address computed as (p + offset) must be 16-
11879303233Sdim * bit aligned.
11880303233Sdim * vstore_half use the current rounding mode.
11881303233Sdim * The default current rounding mode is round to
11882303233Sdim * nearest even.
11883303233Sdim */
11884353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11885303233Sdimvoid __ovld vstore_half(float data, size_t offset, half *p);
11886303233Sdimvoid __ovld vstore_half_rte(float data, size_t offset, half *p);
11887303233Sdimvoid __ovld vstore_half_rtz(float data, size_t offset, half *p);
11888303233Sdimvoid __ovld vstore_half_rtp(float data, size_t offset, half *p);
11889303233Sdimvoid __ovld vstore_half_rtn(float data, size_t offset, half *p);
11890303233Sdim#ifdef cl_khr_fp64
11891303233Sdimvoid __ovld vstore_half(double data, size_t offset, half *p);
11892303233Sdimvoid __ovld vstore_half_rte(double data, size_t offset, half *p);
11893303233Sdimvoid __ovld vstore_half_rtz(double data, size_t offset, half *p);
11894303233Sdimvoid __ovld vstore_half_rtp(double data, size_t offset, half *p);
11895303233Sdimvoid __ovld vstore_half_rtn(double data, size_t offset, half *p);
11896303233Sdim#endif //cl_khr_fp64
11897303233Sdim#else
11898303233Sdimvoid __ovld vstore_half(float data, size_t offset, __global half *p);
11899303233Sdimvoid __ovld vstore_half_rte(float data, size_t offset, __global half *p);
11900303233Sdimvoid __ovld vstore_half_rtz(float data, size_t offset, __global half *p);
11901303233Sdimvoid __ovld vstore_half_rtp(float data, size_t offset, __global half *p);
11902303233Sdimvoid __ovld vstore_half_rtn(float data, size_t offset, __global half *p);
11903303233Sdimvoid __ovld vstore_half(float data, size_t offset, __local half *p);
11904303233Sdimvoid __ovld vstore_half_rte(float data, size_t offset, __local half *p);
11905303233Sdimvoid __ovld vstore_half_rtz(float data, size_t offset, __local half *p);
11906303233Sdimvoid __ovld vstore_half_rtp(float data, size_t offset, __local half *p);
11907303233Sdimvoid __ovld vstore_half_rtn(float data, size_t offset, __local half *p);
11908303233Sdimvoid __ovld vstore_half(float data, size_t offset, __private half *p);
11909303233Sdimvoid __ovld vstore_half_rte(float data, size_t offset, __private half *p);
11910303233Sdimvoid __ovld vstore_half_rtz(float data, size_t offset, __private half *p);
11911303233Sdimvoid __ovld vstore_half_rtp(float data, size_t offset, __private half *p);
11912303233Sdimvoid __ovld vstore_half_rtn(float data, size_t offset, __private half *p);
11913303233Sdim#ifdef cl_khr_fp64
11914303233Sdimvoid __ovld vstore_half(double data, size_t offset, __global half *p);
11915303233Sdimvoid __ovld vstore_half_rte(double data, size_t offset, __global half *p);
11916303233Sdimvoid __ovld vstore_half_rtz(double data, size_t offset, __global half *p);
11917303233Sdimvoid __ovld vstore_half_rtp(double data, size_t offset, __global half *p);
11918303233Sdimvoid __ovld vstore_half_rtn(double data, size_t offset, __global half *p);
11919303233Sdimvoid __ovld vstore_half(double data, size_t offset, __local half *p);
11920303233Sdimvoid __ovld vstore_half_rte(double data, size_t offset, __local half *p);
11921303233Sdimvoid __ovld vstore_half_rtz(double data, size_t offset, __local half *p);
11922303233Sdimvoid __ovld vstore_half_rtp(double data, size_t offset, __local half *p);
11923303233Sdimvoid __ovld vstore_half_rtn(double data, size_t offset, __local half *p);
11924303233Sdimvoid __ovld vstore_half(double data, size_t offset, __private half *p);
11925303233Sdimvoid __ovld vstore_half_rte(double data, size_t offset, __private half *p);
11926303233Sdimvoid __ovld vstore_half_rtz(double data, size_t offset, __private half *p);
11927303233Sdimvoid __ovld vstore_half_rtp(double data, size_t offset, __private half *p);
11928303233Sdimvoid __ovld vstore_half_rtn(double data, size_t offset, __private half *p);
11929303233Sdim#endif //cl_khr_fp64
11930353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11931303233Sdim
11932303233Sdim/**
11933303233Sdim * The floatn value given by data is converted to
11934303233Sdim * a halfn value using the appropriate rounding
11935303233Sdim * mode. The halfn value is then written to
11936303233Sdim * address computed as (p + (offset * n)). The
11937303233Sdim * address computed as (p + (offset * n)) must be
11938303233Sdim * 16-bit aligned.
11939303233Sdim * vstore_halfn uses the current rounding mode.
11940303233Sdim * The default current rounding mode is round to
11941303233Sdim * nearest even.
11942303233Sdim */
11943353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11944303233Sdimvoid __ovld vstore_half2(float2 data, size_t offset, half *p);
11945303233Sdimvoid __ovld vstore_half3(float3 data, size_t offset, half *p);
11946303233Sdimvoid __ovld vstore_half4(float4 data, size_t offset, half *p);
11947303233Sdimvoid __ovld vstore_half8(float8 data, size_t offset, half *p);
11948303233Sdimvoid __ovld vstore_half16(float16 data, size_t offset, half *p);
11949303233Sdimvoid __ovld vstore_half2_rte(float2 data, size_t offset, half *p);
11950303233Sdimvoid __ovld vstore_half3_rte(float3 data, size_t offset, half *p);
11951303233Sdimvoid __ovld vstore_half4_rte(float4 data, size_t offset, half *p);
11952303233Sdimvoid __ovld vstore_half8_rte(float8 data, size_t offset, half *p);
11953303233Sdimvoid __ovld vstore_half16_rte(float16 data, size_t offset, half *p);
11954303233Sdimvoid __ovld vstore_half2_rtz(float2 data, size_t offset, half *p);
11955303233Sdimvoid __ovld vstore_half3_rtz(float3 data, size_t offset, half *p);
11956303233Sdimvoid __ovld vstore_half4_rtz(float4 data, size_t offset, half *p);
11957303233Sdimvoid __ovld vstore_half8_rtz(float8 data, size_t offset, half *p);
11958303233Sdimvoid __ovld vstore_half16_rtz(float16 data, size_t offset, half *p);
11959303233Sdimvoid __ovld vstore_half2_rtp(float2 data, size_t offset, half *p);
11960303233Sdimvoid __ovld vstore_half3_rtp(float3 data, size_t offset, half *p);
11961303233Sdimvoid __ovld vstore_half4_rtp(float4 data, size_t offset, half *p);
11962303233Sdimvoid __ovld vstore_half8_rtp(float8 data, size_t offset, half *p);
11963303233Sdimvoid __ovld vstore_half16_rtp(float16 data, size_t offset, half *p);
11964303233Sdimvoid __ovld vstore_half2_rtn(float2 data, size_t offset, half *p);
11965303233Sdimvoid __ovld vstore_half3_rtn(float3 data, size_t offset, half *p);
11966303233Sdimvoid __ovld vstore_half4_rtn(float4 data, size_t offset, half *p);
11967303233Sdimvoid __ovld vstore_half8_rtn(float8 data, size_t offset, half *p);
11968303233Sdimvoid __ovld vstore_half16_rtn(float16 data, size_t offset, half *p);
11969303233Sdim#ifdef cl_khr_fp64
11970303233Sdimvoid __ovld vstore_half2(double2 data, size_t offset, half *p);
11971303233Sdimvoid __ovld vstore_half3(double3 data, size_t offset, half *p);
11972303233Sdimvoid __ovld vstore_half4(double4 data, size_t offset, half *p);
11973303233Sdimvoid __ovld vstore_half8(double8 data, size_t offset, half *p);
11974303233Sdimvoid __ovld vstore_half16(double16 data, size_t offset, half *p);
11975303233Sdimvoid __ovld vstore_half2_rte(double2 data, size_t offset, half *p);
11976303233Sdimvoid __ovld vstore_half3_rte(double3 data, size_t offset, half *p);
11977303233Sdimvoid __ovld vstore_half4_rte(double4 data, size_t offset, half *p);
11978303233Sdimvoid __ovld vstore_half8_rte(double8 data, size_t offset, half *p);
11979303233Sdimvoid __ovld vstore_half16_rte(double16 data, size_t offset, half *p);
11980303233Sdimvoid __ovld vstore_half2_rtz(double2 data, size_t offset, half *p);
11981303233Sdimvoid __ovld vstore_half3_rtz(double3 data, size_t offset, half *p);
11982303233Sdimvoid __ovld vstore_half4_rtz(double4 data, size_t offset, half *p);
11983303233Sdimvoid __ovld vstore_half8_rtz(double8 data, size_t offset, half *p);
11984303233Sdimvoid __ovld vstore_half16_rtz(double16 data, size_t offset, half *p);
11985303233Sdimvoid __ovld vstore_half2_rtp(double2 data, size_t offset, half *p);
11986303233Sdimvoid __ovld vstore_half3_rtp(double3 data, size_t offset, half *p);
11987303233Sdimvoid __ovld vstore_half4_rtp(double4 data, size_t offset, half *p);
11988303233Sdimvoid __ovld vstore_half8_rtp(double8 data, size_t offset, half *p);
11989303233Sdimvoid __ovld vstore_half16_rtp(double16 data, size_t offset, half *p);
11990303233Sdimvoid __ovld vstore_half2_rtn(double2 data, size_t offset, half *p);
11991303233Sdimvoid __ovld vstore_half3_rtn(double3 data, size_t offset, half *p);
11992303233Sdimvoid __ovld vstore_half4_rtn(double4 data, size_t offset, half *p);
11993303233Sdimvoid __ovld vstore_half8_rtn(double8 data, size_t offset, half *p);
11994303233Sdimvoid __ovld vstore_half16_rtn(double16 data, size_t offset, half *p);
11995303233Sdim#endif //cl_khr_fp64
11996303233Sdim#else
11997303233Sdimvoid __ovld vstore_half2(float2 data, size_t offset, __global half *p);
11998303233Sdimvoid __ovld vstore_half3(float3 data, size_t offset, __global half *p);
11999303233Sdimvoid __ovld vstore_half4(float4 data, size_t offset, __global half *p);
12000303233Sdimvoid __ovld vstore_half8(float8 data, size_t offset, __global half *p);
12001303233Sdimvoid __ovld vstore_half16(float16 data, size_t offset, __global half *p);
12002303233Sdimvoid __ovld vstore_half2_rte(float2 data, size_t offset, __global half *p);
12003303233Sdimvoid __ovld vstore_half3_rte(float3 data, size_t offset, __global half *p);
12004303233Sdimvoid __ovld vstore_half4_rte(float4 data, size_t offset, __global half *p);
12005303233Sdimvoid __ovld vstore_half8_rte(float8 data, size_t offset, __global half *p);
12006303233Sdimvoid __ovld vstore_half16_rte(float16 data, size_t offset, __global half *p);
12007303233Sdimvoid __ovld vstore_half2_rtz(float2 data, size_t offset, __global half *p);
12008303233Sdimvoid __ovld vstore_half3_rtz(float3 data, size_t offset, __global half *p);
12009303233Sdimvoid __ovld vstore_half4_rtz(float4 data, size_t offset, __global half *p);
12010303233Sdimvoid __ovld vstore_half8_rtz(float8 data, size_t offset, __global half *p);
12011303233Sdimvoid __ovld vstore_half16_rtz(float16 data, size_t offset, __global half *p);
12012303233Sdimvoid __ovld vstore_half2_rtp(float2 data, size_t offset, __global half *p);
12013303233Sdimvoid __ovld vstore_half3_rtp(float3 data, size_t offset, __global half *p);
12014303233Sdimvoid __ovld vstore_half4_rtp(float4 data, size_t offset, __global half *p);
12015303233Sdimvoid __ovld vstore_half8_rtp(float8 data, size_t offset, __global half *p);
12016303233Sdimvoid __ovld vstore_half16_rtp(float16 data, size_t offset, __global half *p);
12017303233Sdimvoid __ovld vstore_half2_rtn(float2 data, size_t offset, __global half *p);
12018303233Sdimvoid __ovld vstore_half3_rtn(float3 data, size_t offset, __global half *p);
12019303233Sdimvoid __ovld vstore_half4_rtn(float4 data, size_t offset, __global half *p);
12020303233Sdimvoid __ovld vstore_half8_rtn(float8 data, size_t offset, __global half *p);
12021303233Sdimvoid __ovld vstore_half16_rtn(float16 data, size_t offset, __global half *p);
12022303233Sdimvoid __ovld vstore_half2(float2 data, size_t offset, __local half *p);
12023303233Sdimvoid __ovld vstore_half3(float3 data, size_t offset, __local half *p);
12024303233Sdimvoid __ovld vstore_half4(float4 data, size_t offset, __local half *p);
12025303233Sdimvoid __ovld vstore_half8(float8 data, size_t offset, __local half *p);
12026303233Sdimvoid __ovld vstore_half16(float16 data, size_t offset, __local half *p);
12027303233Sdimvoid __ovld vstore_half2_rte(float2 data, size_t offset, __local half *p);
12028303233Sdimvoid __ovld vstore_half3_rte(float3 data, size_t offset, __local half *p);
12029303233Sdimvoid __ovld vstore_half4_rte(float4 data, size_t offset, __local half *p);
12030303233Sdimvoid __ovld vstore_half8_rte(float8 data, size_t offset, __local half *p);
12031303233Sdimvoid __ovld vstore_half16_rte(float16 data, size_t offset, __local half *p);
12032303233Sdimvoid __ovld vstore_half2_rtz(float2 data, size_t offset, __local half *p);
12033303233Sdimvoid __ovld vstore_half3_rtz(float3 data, size_t offset, __local half *p);
12034303233Sdimvoid __ovld vstore_half4_rtz(float4 data, size_t offset, __local half *p);
12035303233Sdimvoid __ovld vstore_half8_rtz(float8 data, size_t offset, __local half *p);
12036303233Sdimvoid __ovld vstore_half16_rtz(float16 data, size_t offset, __local half *p);
12037303233Sdimvoid __ovld vstore_half2_rtp(float2 data, size_t offset, __local half *p);
12038303233Sdimvoid __ovld vstore_half3_rtp(float3 data, size_t offset, __local half *p);
12039303233Sdimvoid __ovld vstore_half4_rtp(float4 data, size_t offset, __local half *p);
12040303233Sdimvoid __ovld vstore_half8_rtp(float8 data, size_t offset, __local half *p);
12041303233Sdimvoid __ovld vstore_half16_rtp(float16 data, size_t offset, __local half *p);
12042303233Sdimvoid __ovld vstore_half2_rtn(float2 data, size_t offset, __local half *p);
12043303233Sdimvoid __ovld vstore_half3_rtn(float3 data, size_t offset, __local half *p);
12044303233Sdimvoid __ovld vstore_half4_rtn(float4 data, size_t offset, __local half *p);
12045303233Sdimvoid __ovld vstore_half8_rtn(float8 data, size_t offset, __local half *p);
12046303233Sdimvoid __ovld vstore_half16_rtn(float16 data, size_t offset, __local half *p);
12047303233Sdimvoid __ovld vstore_half2(float2 data, size_t offset, __private half *p);
12048303233Sdimvoid __ovld vstore_half3(float3 data, size_t offset, __private half *p);
12049303233Sdimvoid __ovld vstore_half4(float4 data, size_t offset, __private half *p);
12050303233Sdimvoid __ovld vstore_half8(float8 data, size_t offset, __private half *p);
12051303233Sdimvoid __ovld vstore_half16(float16 data, size_t offset, __private half *p);
12052303233Sdimvoid __ovld vstore_half2_rte(float2 data, size_t offset, __private half *p);
12053303233Sdimvoid __ovld vstore_half3_rte(float3 data, size_t offset, __private half *p);
12054303233Sdimvoid __ovld vstore_half4_rte(float4 data, size_t offset, __private half *p);
12055303233Sdimvoid __ovld vstore_half8_rte(float8 data, size_t offset, __private half *p);
12056303233Sdimvoid __ovld vstore_half16_rte(float16 data, size_t offset, __private half *p);
12057303233Sdimvoid __ovld vstore_half2_rtz(float2 data, size_t offset, __private half *p);
12058303233Sdimvoid __ovld vstore_half3_rtz(float3 data, size_t offset, __private half *p);
12059303233Sdimvoid __ovld vstore_half4_rtz(float4 data, size_t offset, __private half *p);
12060303233Sdimvoid __ovld vstore_half8_rtz(float8 data, size_t offset, __private half *p);
12061303233Sdimvoid __ovld vstore_half16_rtz(float16 data, size_t offset, __private half *p);
12062303233Sdimvoid __ovld vstore_half2_rtp(float2 data, size_t offset, __private half *p);
12063303233Sdimvoid __ovld vstore_half3_rtp(float3 data, size_t offset, __private half *p);
12064303233Sdimvoid __ovld vstore_half4_rtp(float4 data, size_t offset, __private half *p);
12065303233Sdimvoid __ovld vstore_half8_rtp(float8 data, size_t offset, __private half *p);
12066303233Sdimvoid __ovld vstore_half16_rtp(float16 data, size_t offset, __private half *p);
12067303233Sdimvoid __ovld vstore_half2_rtn(float2 data, size_t offset, __private half *p);
12068303233Sdimvoid __ovld vstore_half3_rtn(float3 data, size_t offset, __private half *p);
12069303233Sdimvoid __ovld vstore_half4_rtn(float4 data, size_t offset, __private half *p);
12070303233Sdimvoid __ovld vstore_half8_rtn(float8 data, size_t offset, __private half *p);
12071303233Sdimvoid __ovld vstore_half16_rtn(float16 data, size_t offset, __private half *p);
12072303233Sdim#ifdef cl_khr_fp64
12073303233Sdimvoid __ovld vstore_half2(double2 data, size_t offset, __global half *p);
12074303233Sdimvoid __ovld vstore_half3(double3 data, size_t offset, __global half *p);
12075303233Sdimvoid __ovld vstore_half4(double4 data, size_t offset, __global half *p);
12076303233Sdimvoid __ovld vstore_half8(double8 data, size_t offset, __global half *p);
12077303233Sdimvoid __ovld vstore_half16(double16 data, size_t offset, __global half *p);
12078303233Sdimvoid __ovld vstore_half2_rte(double2 data, size_t offset, __global half *p);
12079303233Sdimvoid __ovld vstore_half3_rte(double3 data, size_t offset, __global half *p);
12080303233Sdimvoid __ovld vstore_half4_rte(double4 data, size_t offset, __global half *p);
12081303233Sdimvoid __ovld vstore_half8_rte(double8 data, size_t offset, __global half *p);
12082303233Sdimvoid __ovld vstore_half16_rte(double16 data, size_t offset, __global half *p);
12083303233Sdimvoid __ovld vstore_half2_rtz(double2 data, size_t offset, __global half *p);
12084303233Sdimvoid __ovld vstore_half3_rtz(double3 data, size_t offset, __global half *p);
12085303233Sdimvoid __ovld vstore_half4_rtz(double4 data, size_t offset, __global half *p);
12086303233Sdimvoid __ovld vstore_half8_rtz(double8 data, size_t offset, __global half *p);
12087303233Sdimvoid __ovld vstore_half16_rtz(double16 data, size_t offset, __global half *p);
12088303233Sdimvoid __ovld vstore_half2_rtp(double2 data, size_t offset, __global half *p);
12089303233Sdimvoid __ovld vstore_half3_rtp(double3 data, size_t offset, __global half *p);
12090303233Sdimvoid __ovld vstore_half4_rtp(double4 data, size_t offset, __global half *p);
12091303233Sdimvoid __ovld vstore_half8_rtp(double8 data, size_t offset, __global half *p);
12092303233Sdimvoid __ovld vstore_half16_rtp(double16 data, size_t offset, __global half *p);
12093303233Sdimvoid __ovld vstore_half2_rtn(double2 data, size_t offset, __global half *p);
12094303233Sdimvoid __ovld vstore_half3_rtn(double3 data, size_t offset, __global half *p);
12095303233Sdimvoid __ovld vstore_half4_rtn(double4 data, size_t offset, __global half *p);
12096303233Sdimvoid __ovld vstore_half8_rtn(double8 data, size_t offset, __global half *p);
12097303233Sdimvoid __ovld vstore_half16_rtn(double16 data, size_t offset, __global half *p);
12098303233Sdimvoid __ovld vstore_half2(double2 data, size_t offset, __local half *p);
12099303233Sdimvoid __ovld vstore_half3(double3 data, size_t offset, __local half *p);
12100303233Sdimvoid __ovld vstore_half4(double4 data, size_t offset, __local half *p);
12101303233Sdimvoid __ovld vstore_half8(double8 data, size_t offset, __local half *p);
12102303233Sdimvoid __ovld vstore_half16(double16 data, size_t offset, __local half *p);
12103303233Sdimvoid __ovld vstore_half2_rte(double2 data, size_t offset, __local half *p);
12104303233Sdimvoid __ovld vstore_half3_rte(double3 data, size_t offset, __local half *p);
12105303233Sdimvoid __ovld vstore_half4_rte(double4 data, size_t offset, __local half *p);
12106303233Sdimvoid __ovld vstore_half8_rte(double8 data, size_t offset, __local half *p);
12107303233Sdimvoid __ovld vstore_half16_rte(double16 data, size_t offset, __local half *p);
12108303233Sdimvoid __ovld vstore_half2_rtz(double2 data, size_t offset, __local half *p);
12109303233Sdimvoid __ovld vstore_half3_rtz(double3 data, size_t offset, __local half *p);
12110303233Sdimvoid __ovld vstore_half4_rtz(double4 data, size_t offset, __local half *p);
12111303233Sdimvoid __ovld vstore_half8_rtz(double8 data, size_t offset, __local half *p);
12112303233Sdimvoid __ovld vstore_half16_rtz(double16 data, size_t offset, __local half *p);
12113303233Sdimvoid __ovld vstore_half2_rtp(double2 data, size_t offset, __local half *p);
12114303233Sdimvoid __ovld vstore_half3_rtp(double3 data, size_t offset, __local half *p);
12115303233Sdimvoid __ovld vstore_half4_rtp(double4 data, size_t offset, __local half *p);
12116303233Sdimvoid __ovld vstore_half8_rtp(double8 data, size_t offset, __local half *p);
12117303233Sdimvoid __ovld vstore_half16_rtp(double16 data, size_t offset, __local half *p);
12118303233Sdimvoid __ovld vstore_half2_rtn(double2 data, size_t offset, __local half *p);
12119303233Sdimvoid __ovld vstore_half3_rtn(double3 data, size_t offset, __local half *p);
12120303233Sdimvoid __ovld vstore_half4_rtn(double4 data, size_t offset, __local half *p);
12121303233Sdimvoid __ovld vstore_half8_rtn(double8 data, size_t offset, __local half *p);
12122303233Sdimvoid __ovld vstore_half16_rtn(double16 data, size_t offset, __local half *p);
12123303233Sdimvoid __ovld vstore_half2(double2 data, size_t offset, __private half *p);
12124303233Sdimvoid __ovld vstore_half3(double3 data, size_t offset, __private half *p);
12125303233Sdimvoid __ovld vstore_half4(double4 data, size_t offset, __private half *p);
12126303233Sdimvoid __ovld vstore_half8(double8 data, size_t offset, __private half *p);
12127303233Sdimvoid __ovld vstore_half16(double16 data, size_t offset, __private half *p);
12128303233Sdimvoid __ovld vstore_half2_rte(double2 data, size_t offset, __private half *p);
12129303233Sdimvoid __ovld vstore_half3_rte(double3 data, size_t offset, __private half *p);
12130303233Sdimvoid __ovld vstore_half4_rte(double4 data, size_t offset, __private half *p);
12131303233Sdimvoid __ovld vstore_half8_rte(double8 data, size_t offset, __private half *p);
12132303233Sdimvoid __ovld vstore_half16_rte(double16 data, size_t offset, __private half *p);
12133303233Sdimvoid __ovld vstore_half2_rtz(double2 data, size_t offset, __private half *p);
12134303233Sdimvoid __ovld vstore_half3_rtz(double3 data, size_t offset, __private half *p);
12135303233Sdimvoid __ovld vstore_half4_rtz(double4 data, size_t offset, __private half *p);
12136303233Sdimvoid __ovld vstore_half8_rtz(double8 data, size_t offset, __private half *p);
12137303233Sdimvoid __ovld vstore_half16_rtz(double16 data, size_t offset, __private half *p);
12138303233Sdimvoid __ovld vstore_half2_rtp(double2 data, size_t offset, __private half *p);
12139303233Sdimvoid __ovld vstore_half3_rtp(double3 data, size_t offset, __private half *p);
12140303233Sdimvoid __ovld vstore_half4_rtp(double4 data, size_t offset, __private half *p);
12141303233Sdimvoid __ovld vstore_half8_rtp(double8 data, size_t offset, __private half *p);
12142303233Sdimvoid __ovld vstore_half16_rtp(double16 data, size_t offset, __private half *p);
12143303233Sdimvoid __ovld vstore_half2_rtn(double2 data, size_t offset, __private half *p);
12144303233Sdimvoid __ovld vstore_half3_rtn(double3 data, size_t offset, __private half *p);
12145303233Sdimvoid __ovld vstore_half4_rtn(double4 data, size_t offset, __private half *p);
12146303233Sdimvoid __ovld vstore_half8_rtn(double8 data, size_t offset, __private half *p);
12147303233Sdimvoid __ovld vstore_half16_rtn(double16 data, size_t offset, __private half *p);
12148303233Sdim#endif //cl_khr_fp64
12149353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12150303233Sdim
12151303233Sdim/**
12152303233Sdim * For n = 1, 2, 4, 8 and 16 read sizeof (halfn)
12153303233Sdim * bytes of data from address (p + (offset * n)).
12154303233Sdim * The data read is interpreted as a halfn value.
12155303233Sdim * The halfn value read is converted to a floatn
12156303233Sdim * value and the floatn value is returned.
12157303233Sdim * The address computed as (p + (offset * n))
12158303233Sdim * must be aligned to sizeof (halfn) bytes.
12159303233Sdim * For n = 3, vloada_half3 reads a half3 from
12160303233Sdim * address (p + (offset * 4)) and returns a float3.
12161303233Sdim * The address computed as (p + (offset * 4))
12162303233Sdim * must be aligned to sizeof (half) * 4 bytes.
12163303233Sdim */
12164303233Sdimfloat __ovld vloada_half(size_t offset, const __constant half *p);
12165303233Sdimfloat2 __ovld vloada_half2(size_t offset, const __constant half *p);
12166303233Sdimfloat3 __ovld vloada_half3(size_t offset, const __constant half *p);
12167303233Sdimfloat4 __ovld vloada_half4(size_t offset, const __constant half *p);
12168303233Sdimfloat8 __ovld vloada_half8(size_t offset, const __constant half *p);
12169303233Sdimfloat16 __ovld vloada_half16(size_t offset, const __constant half *p);
12170353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12171303233Sdimfloat __ovld vloada_half(size_t offset, const half *p);
12172303233Sdimfloat2 __ovld vloada_half2(size_t offset, const half *p);
12173303233Sdimfloat3 __ovld vloada_half3(size_t offset, const half *p);
12174303233Sdimfloat4 __ovld vloada_half4(size_t offset, const half *p);
12175303233Sdimfloat8 __ovld vloada_half8(size_t offset, const half *p);
12176303233Sdimfloat16 __ovld vloada_half16(size_t offset, const half *p);
12177303233Sdim#else
12178303233Sdimfloat __ovld vloada_half(size_t offset, const __global half *p);
12179303233Sdimfloat2 __ovld vloada_half2(size_t offset, const __global half *p);
12180303233Sdimfloat3 __ovld vloada_half3(size_t offset, const __global half *p);
12181303233Sdimfloat4 __ovld vloada_half4(size_t offset, const __global half *p);
12182303233Sdimfloat8 __ovld vloada_half8(size_t offset, const __global half *p);
12183303233Sdimfloat16 __ovld vloada_half16(size_t offset, const __global half *p);
12184303233Sdimfloat __ovld vloada_half(size_t offset, const __local half *p);
12185303233Sdimfloat2 __ovld vloada_half2(size_t offset, const __local half *p);
12186303233Sdimfloat3 __ovld vloada_half3(size_t offset, const __local half *p);
12187303233Sdimfloat4 __ovld vloada_half4(size_t offset, const __local half *p);
12188303233Sdimfloat8 __ovld vloada_half8(size_t offset, const __local half *p);
12189303233Sdimfloat16 __ovld vloada_half16(size_t offset, const __local half *p);
12190303233Sdimfloat __ovld vloada_half(size_t offset, const __private half *p);
12191303233Sdimfloat2 __ovld vloada_half2(size_t offset, const __private half *p);
12192303233Sdimfloat3 __ovld vloada_half3(size_t offset, const __private half *p);
12193303233Sdimfloat4 __ovld vloada_half4(size_t offset, const __private half *p);
12194303233Sdimfloat8 __ovld vloada_half8(size_t offset, const __private half *p);
12195303233Sdimfloat16 __ovld vloada_half16(size_t offset, const __private half *p);
12196353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12197303233Sdim
12198303233Sdim/**
12199303233Sdim * The floatn value given by data is converted to
12200303233Sdim * a halfn value using the appropriate rounding
12201303233Sdim * mode.
12202303233Sdim * For n = 1, 2, 4, 8 and 16, the halfn value is
12203303233Sdim * written to the address computed as (p + (offset
12204303233Sdim * * n)). The address computed as (p + (offset *
12205303233Sdim * n)) must be aligned to sizeof (halfn) bytes.
12206303233Sdim * For n = 3, the half3 value is written to the
12207303233Sdim * address computed as (p + (offset * 4)). The
12208303233Sdim * address computed as (p + (offset * 4)) must be
12209303233Sdim * aligned to sizeof (half) * 4 bytes.
12210303233Sdim * vstorea_halfn uses the current rounding
12211303233Sdim * mode. The default current rounding mode is
12212303233Sdim * round to nearest even.
12213303233Sdim */
12214353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12215303233Sdimvoid __ovld vstorea_half(float data, size_t offset, half *p);
12216303233Sdimvoid __ovld vstorea_half2(float2 data, size_t offset, half *p);
12217303233Sdimvoid __ovld vstorea_half3(float3 data, size_t offset, half *p);
12218303233Sdimvoid __ovld vstorea_half4(float4 data, size_t offset, half *p);
12219303233Sdimvoid __ovld vstorea_half8(float8 data, size_t offset, half *p);
12220303233Sdimvoid __ovld vstorea_half16(float16 data, size_t offset, half *p);
12221303233Sdim
12222303233Sdimvoid __ovld vstorea_half_rte(float data, size_t offset, half *p);
12223303233Sdimvoid __ovld vstorea_half2_rte(float2 data, size_t offset, half *p);
12224303233Sdimvoid __ovld vstorea_half3_rte(float3 data, size_t offset, half *p);
12225303233Sdimvoid __ovld vstorea_half4_rte(float4 data, size_t offset, half *p);
12226303233Sdimvoid __ovld vstorea_half8_rte(float8 data, size_t offset, half *p);
12227303233Sdimvoid __ovld vstorea_half16_rte(float16 data, size_t offset, half *p);
12228303233Sdim
12229303233Sdimvoid __ovld vstorea_half_rtz(float data, size_t offset, half *p);
12230303233Sdimvoid __ovld vstorea_half2_rtz(float2 data, size_t offset, half *p);
12231303233Sdimvoid __ovld vstorea_half3_rtz(float3 data, size_t offset, half *p);
12232303233Sdimvoid __ovld vstorea_half4_rtz(float4 data, size_t offset, half *p);
12233303233Sdimvoid __ovld vstorea_half8_rtz(float8 data, size_t offset, half *p);
12234303233Sdimvoid __ovld vstorea_half16_rtz(float16 data, size_t offset, half *p);
12235303233Sdim
12236303233Sdimvoid __ovld vstorea_half_rtp(float data, size_t offset, half *p);
12237303233Sdimvoid __ovld vstorea_half2_rtp(float2 data, size_t offset, half *p);
12238303233Sdimvoid __ovld vstorea_half3_rtp(float3 data, size_t offset, half *p);
12239303233Sdimvoid __ovld vstorea_half4_rtp(float4 data, size_t offset, half *p);
12240303233Sdimvoid __ovld vstorea_half8_rtp(float8 data, size_t offset, half *p);
12241303233Sdimvoid __ovld vstorea_half16_rtp(float16 data, size_t offset, half *p);
12242303233Sdim
12243303233Sdimvoid __ovld vstorea_half_rtn(float data, size_t offset, half *p);
12244303233Sdimvoid __ovld vstorea_half2_rtn(float2 data, size_t offset, half *p);
12245303233Sdimvoid __ovld vstorea_half3_rtn(float3 data, size_t offset, half *p);
12246303233Sdimvoid __ovld vstorea_half4_rtn(float4 data, size_t offset, half *p);
12247303233Sdimvoid __ovld vstorea_half8_rtn(float8 data, size_t offset, half *p);
12248303233Sdimvoid __ovld vstorea_half16_rtn(float16 data, size_t offset, half *p);
12249303233Sdim
12250303233Sdim#ifdef cl_khr_fp64
12251303233Sdimvoid __ovld vstorea_half(double data, size_t offset, half *p);
12252303233Sdimvoid __ovld vstorea_half2(double2 data, size_t offset, half *p);
12253303233Sdimvoid __ovld vstorea_half3(double3 data, size_t offset, half *p);
12254303233Sdimvoid __ovld vstorea_half4(double4 data, size_t offset, half *p);
12255303233Sdimvoid __ovld vstorea_half8(double8 data, size_t offset, half *p);
12256303233Sdimvoid __ovld vstorea_half16(double16 data, size_t offset, half *p);
12257303233Sdim
12258303233Sdimvoid __ovld vstorea_half_rte(double data, size_t offset, half *p);
12259303233Sdimvoid __ovld vstorea_half2_rte(double2 data, size_t offset, half *p);
12260303233Sdimvoid __ovld vstorea_half3_rte(double3 data, size_t offset, half *p);
12261303233Sdimvoid __ovld vstorea_half4_rte(double4 data, size_t offset, half *p);
12262303233Sdimvoid __ovld vstorea_half8_rte(double8 data, size_t offset, half *p);
12263303233Sdimvoid __ovld vstorea_half16_rte(double16 data, size_t offset, half *p);
12264303233Sdim
12265303233Sdimvoid __ovld vstorea_half_rtz(double data, size_t offset, half *p);
12266303233Sdimvoid __ovld vstorea_half2_rtz(double2 data, size_t offset, half *p);
12267303233Sdimvoid __ovld vstorea_half3_rtz(double3 data, size_t offset, half *p);
12268303233Sdimvoid __ovld vstorea_half4_rtz(double4 data, size_t offset, half *p);
12269303233Sdimvoid __ovld vstorea_half8_rtz(double8 data, size_t offset, half *p);
12270303233Sdimvoid __ovld vstorea_half16_rtz(double16 data, size_t offset, half *p);
12271303233Sdim
12272303233Sdimvoid __ovld vstorea_half_rtp(double data, size_t offset, half *p);
12273303233Sdimvoid __ovld vstorea_half2_rtp(double2 data, size_t offset, half *p);
12274303233Sdimvoid __ovld vstorea_half3_rtp(double3 data, size_t offset, half *p);
12275303233Sdimvoid __ovld vstorea_half4_rtp(double4 data, size_t offset, half *p);
12276303233Sdimvoid __ovld vstorea_half8_rtp(double8 data, size_t offset, half *p);
12277303233Sdimvoid __ovld vstorea_half16_rtp(double16 data, size_t offset, half *p);
12278303233Sdim
12279303233Sdimvoid __ovld vstorea_half_rtn(double data, size_t offset, half *p);
12280303233Sdimvoid __ovld vstorea_half2_rtn(double2 data, size_t offset, half *p);
12281303233Sdimvoid __ovld vstorea_half3_rtn(double3 data, size_t offset, half *p);
12282303233Sdimvoid __ovld vstorea_half4_rtn(double4 data, size_t offset, half *p);
12283303233Sdimvoid __ovld vstorea_half8_rtn(double8 data, size_t offset, half *p);
12284303233Sdimvoid __ovld vstorea_half16_rtn(double16 data, size_t offset, half *p);
12285303233Sdim#endif //cl_khr_fp64
12286303233Sdim
12287303233Sdim#else
12288303233Sdimvoid __ovld vstorea_half(float data, size_t offset, __global half *p);
12289303233Sdimvoid __ovld vstorea_half2(float2 data, size_t offset, __global half *p);
12290303233Sdimvoid __ovld vstorea_half3(float3 data, size_t offset, __global half *p);
12291303233Sdimvoid __ovld vstorea_half4(float4 data, size_t offset, __global half *p);
12292303233Sdimvoid __ovld vstorea_half8(float8 data, size_t offset, __global half *p);
12293303233Sdimvoid __ovld vstorea_half16(float16 data, size_t offset, __global half *p);
12294303233Sdim
12295303233Sdimvoid __ovld vstorea_half_rte(float data, size_t offset, __global half *p);
12296303233Sdimvoid __ovld vstorea_half2_rte(float2 data, size_t offset, __global half *p);
12297303233Sdimvoid __ovld vstorea_half3_rte(float3 data, size_t offset, __global half *p);
12298303233Sdimvoid __ovld vstorea_half4_rte(float4 data, size_t offset, __global half *p);
12299303233Sdimvoid __ovld vstorea_half8_rte(float8 data, size_t offset, __global half *p);
12300303233Sdimvoid __ovld vstorea_half16_rte(float16 data, size_t offset, __global half *p);
12301303233Sdim
12302303233Sdimvoid __ovld vstorea_half_rtz(float data, size_t offset, __global half *p);
12303303233Sdimvoid __ovld vstorea_half2_rtz(float2 data, size_t offset, __global half *p);
12304303233Sdimvoid __ovld vstorea_half3_rtz(float3 data, size_t offset, __global half *p);
12305303233Sdimvoid __ovld vstorea_half4_rtz(float4 data, size_t offset, __global half *p);
12306303233Sdimvoid __ovld vstorea_half8_rtz(float8 data, size_t offset, __global half *p);
12307303233Sdimvoid __ovld vstorea_half16_rtz(float16 data, size_t offset, __global half *p);
12308303233Sdim
12309303233Sdimvoid __ovld vstorea_half_rtp(float data, size_t offset, __global half *p);
12310303233Sdimvoid __ovld vstorea_half2_rtp(float2 data, size_t offset, __global half *p);
12311303233Sdimvoid __ovld vstorea_half3_rtp(float3 data, size_t offset, __global half *p);
12312303233Sdimvoid __ovld vstorea_half4_rtp(float4 data, size_t offset, __global half *p);
12313303233Sdimvoid __ovld vstorea_half8_rtp(float8 data, size_t offset, __global half *p);
12314303233Sdimvoid __ovld vstorea_half16_rtp(float16 data, size_t offset, __global half *p);
12315303233Sdim
12316303233Sdimvoid __ovld vstorea_half_rtn(float data, size_t offset, __global half *p);
12317303233Sdimvoid __ovld vstorea_half2_rtn(float2 data, size_t offset, __global half *p);
12318303233Sdimvoid __ovld vstorea_half3_rtn(float3 data, size_t offset, __global half *p);
12319303233Sdimvoid __ovld vstorea_half4_rtn(float4 data, size_t offset, __global half *p);
12320303233Sdimvoid __ovld vstorea_half8_rtn(float8 data, size_t offset, __global half *p);
12321303233Sdimvoid __ovld vstorea_half16_rtn(float16 data, size_t offset, __global half *p);
12322303233Sdim
12323303233Sdimvoid __ovld vstorea_half(float data, size_t offset, __local half *p);
12324303233Sdimvoid __ovld vstorea_half2(float2 data, size_t offset, __local half *p);
12325303233Sdimvoid __ovld vstorea_half3(float3 data, size_t offset, __local half *p);
12326303233Sdimvoid __ovld vstorea_half4(float4 data, size_t offset, __local half *p);
12327303233Sdimvoid __ovld vstorea_half8(float8 data, size_t offset, __local half *p);
12328303233Sdimvoid __ovld vstorea_half16(float16 data, size_t offset, __local half *p);
12329303233Sdim
12330303233Sdimvoid __ovld vstorea_half_rte(float data, size_t offset, __local half *p);
12331303233Sdimvoid __ovld vstorea_half2_rte(float2 data, size_t offset, __local half *p);
12332303233Sdimvoid __ovld vstorea_half3_rte(float3 data, size_t offset, __local half *p);
12333303233Sdimvoid __ovld vstorea_half4_rte(float4 data, size_t offset, __local half *p);
12334303233Sdimvoid __ovld vstorea_half8_rte(float8 data, size_t offset, __local half *p);
12335303233Sdimvoid __ovld vstorea_half16_rte(float16 data, size_t offset, __local half *p);
12336303233Sdim
12337303233Sdimvoid __ovld vstorea_half_rtz(float data, size_t offset, __local half *p);
12338303233Sdimvoid __ovld vstorea_half2_rtz(float2 data, size_t offset, __local half *p);
12339303233Sdimvoid __ovld vstorea_half3_rtz(float3 data, size_t offset, __local half *p);
12340303233Sdimvoid __ovld vstorea_half4_rtz(float4 data, size_t offset, __local half *p);
12341303233Sdimvoid __ovld vstorea_half8_rtz(float8 data, size_t offset, __local half *p);
12342303233Sdimvoid __ovld vstorea_half16_rtz(float16 data, size_t offset, __local half *p);
12343303233Sdim
12344303233Sdimvoid __ovld vstorea_half_rtp(float data, size_t offset, __local half *p);
12345303233Sdimvoid __ovld vstorea_half2_rtp(float2 data, size_t offset, __local half *p);
12346303233Sdimvoid __ovld vstorea_half3_rtp(float3 data, size_t offset, __local half *p);
12347303233Sdimvoid __ovld vstorea_half4_rtp(float4 data, size_t offset, __local half *p);
12348303233Sdimvoid __ovld vstorea_half8_rtp(float8 data, size_t offset, __local half *p);
12349303233Sdimvoid __ovld vstorea_half16_rtp(float16 data, size_t offset, __local half *p);
12350303233Sdim
12351303233Sdimvoid __ovld vstorea_half_rtn(float data, size_t offset, __local half *p);
12352303233Sdimvoid __ovld vstorea_half2_rtn(float2 data, size_t offset, __local half *p);
12353303233Sdimvoid __ovld vstorea_half3_rtn(float3 data, size_t offset, __local half *p);
12354303233Sdimvoid __ovld vstorea_half4_rtn(float4 data, size_t offset, __local half *p);
12355303233Sdimvoid __ovld vstorea_half8_rtn(float8 data, size_t offset, __local half *p);
12356303233Sdimvoid __ovld vstorea_half16_rtn(float16 data, size_t offset, __local half *p);
12357303233Sdim
12358303233Sdimvoid __ovld vstorea_half(float data, size_t offset, __private half *p);
12359303233Sdimvoid __ovld vstorea_half2(float2 data, size_t offset, __private half *p);
12360303233Sdimvoid __ovld vstorea_half3(float3 data, size_t offset, __private half *p);
12361303233Sdimvoid __ovld vstorea_half4(float4 data, size_t offset, __private half *p);
12362303233Sdimvoid __ovld vstorea_half8(float8 data, size_t offset, __private half *p);
12363303233Sdimvoid __ovld vstorea_half16(float16 data, size_t offset, __private half *p);
12364303233Sdim
12365303233Sdimvoid __ovld vstorea_half_rte(float data, size_t offset, __private half *p);
12366303233Sdimvoid __ovld vstorea_half2_rte(float2 data, size_t offset, __private half *p);
12367303233Sdimvoid __ovld vstorea_half3_rte(float3 data, size_t offset, __private half *p);
12368303233Sdimvoid __ovld vstorea_half4_rte(float4 data, size_t offset, __private half *p);
12369303233Sdimvoid __ovld vstorea_half8_rte(float8 data, size_t offset, __private half *p);
12370303233Sdimvoid __ovld vstorea_half16_rte(float16 data, size_t offset, __private half *p);
12371303233Sdim
12372303233Sdimvoid __ovld vstorea_half_rtz(float data, size_t offset, __private half *p);
12373303233Sdimvoid __ovld vstorea_half2_rtz(float2 data, size_t offset, __private half *p);
12374303233Sdimvoid __ovld vstorea_half3_rtz(float3 data, size_t offset, __private half *p);
12375303233Sdimvoid __ovld vstorea_half4_rtz(float4 data, size_t offset, __private half *p);
12376303233Sdimvoid __ovld vstorea_half8_rtz(float8 data, size_t offset, __private half *p);
12377303233Sdimvoid __ovld vstorea_half16_rtz(float16 data, size_t offset, __private half *p);
12378303233Sdim
12379303233Sdimvoid __ovld vstorea_half_rtp(float data, size_t offset, __private half *p);
12380303233Sdimvoid __ovld vstorea_half2_rtp(float2 data, size_t offset, __private half *p);
12381303233Sdimvoid __ovld vstorea_half3_rtp(float3 data, size_t offset, __private half *p);
12382303233Sdimvoid __ovld vstorea_half4_rtp(float4 data, size_t offset, __private half *p);
12383303233Sdimvoid __ovld vstorea_half8_rtp(float8 data, size_t offset, __private half *p);
12384303233Sdimvoid __ovld vstorea_half16_rtp(float16 data, size_t offset, __private half *p);
12385303233Sdim
12386303233Sdimvoid __ovld vstorea_half_rtn(float data, size_t offset, __private half *p);
12387303233Sdimvoid __ovld vstorea_half2_rtn(float2 data, size_t offset, __private half *p);
12388303233Sdimvoid __ovld vstorea_half3_rtn(float3 data, size_t offset, __private half *p);
12389303233Sdimvoid __ovld vstorea_half4_rtn(float4 data, size_t offset, __private half *p);
12390303233Sdimvoid __ovld vstorea_half8_rtn(float8 data, size_t offset, __private half *p);
12391303233Sdimvoid __ovld vstorea_half16_rtn(float16 data, size_t offset, __private half *p);
12392303233Sdim
12393303233Sdim#ifdef cl_khr_fp64
12394303233Sdimvoid __ovld vstorea_half(double data, size_t offset, __global half *p);
12395303233Sdimvoid __ovld vstorea_half2(double2 data, size_t offset, __global half *p);
12396303233Sdimvoid __ovld vstorea_half3(double3 data, size_t offset, __global half *p);
12397303233Sdimvoid __ovld vstorea_half4(double4 data, size_t offset, __global half *p);
12398303233Sdimvoid __ovld vstorea_half8(double8 data, size_t offset, __global half *p);
12399303233Sdimvoid __ovld vstorea_half16(double16 data, size_t offset, __global half *p);
12400303233Sdim
12401303233Sdimvoid __ovld vstorea_half_rte(double data, size_t offset, __global half *p);
12402303233Sdimvoid __ovld vstorea_half2_rte(double2 data, size_t offset, __global half *p);
12403303233Sdimvoid __ovld vstorea_half3_rte(double3 data, size_t offset, __global half *p);
12404303233Sdimvoid __ovld vstorea_half4_rte(double4 data, size_t offset, __global half *p);
12405303233Sdimvoid __ovld vstorea_half8_rte(double8 data, size_t offset, __global half *p);
12406303233Sdimvoid __ovld vstorea_half16_rte(double16 data, size_t offset, __global half *p);
12407303233Sdim
12408303233Sdimvoid __ovld vstorea_half_rtz(double data, size_t offset, __global half *p);
12409303233Sdimvoid __ovld vstorea_half2_rtz(double2 data, size_t offset, __global half *p);
12410303233Sdimvoid __ovld vstorea_half3_rtz(double3 data, size_t offset, __global half *p);
12411303233Sdimvoid __ovld vstorea_half4_rtz(double4 data, size_t offset, __global half *p);
12412303233Sdimvoid __ovld vstorea_half8_rtz(double8 data, size_t offset, __global half *p);
12413303233Sdimvoid __ovld vstorea_half16_rtz(double16 data, size_t offset, __global half *p);
12414303233Sdim
12415303233Sdimvoid __ovld vstorea_half_rtp(double data, size_t offset, __global half *p);
12416303233Sdimvoid __ovld vstorea_half2_rtp(double2 data, size_t offset, __global half *p);
12417303233Sdimvoid __ovld vstorea_half3_rtp(double3 data, size_t offset, __global half *p);
12418303233Sdimvoid __ovld vstorea_half4_rtp(double4 data, size_t offset, __global half *p);
12419303233Sdimvoid __ovld vstorea_half8_rtp(double8 data, size_t offset, __global half *p);
12420303233Sdimvoid __ovld vstorea_half16_rtp(double16 data, size_t offset, __global half *p);
12421303233Sdim
12422303233Sdimvoid __ovld vstorea_half_rtn(double data, size_t offset, __global half *p);
12423303233Sdimvoid __ovld vstorea_half2_rtn(double2 data, size_t offset, __global half *p);
12424303233Sdimvoid __ovld vstorea_half3_rtn(double3 data, size_t offset, __global half *p);
12425303233Sdimvoid __ovld vstorea_half4_rtn(double4 data, size_t offset, __global half *p);
12426303233Sdimvoid __ovld vstorea_half8_rtn(double8 data, size_t offset, __global half *p);
12427303233Sdimvoid __ovld vstorea_half16_rtn(double16 data, size_t offset, __global half *p);
12428303233Sdim
12429303233Sdimvoid __ovld vstorea_half(double data, size_t offset, __local half *p);
12430303233Sdimvoid __ovld vstorea_half2(double2 data, size_t offset, __local half *p);
12431303233Sdimvoid __ovld vstorea_half3(double3 data, size_t offset, __local half *p);
12432303233Sdimvoid __ovld vstorea_half4(double4 data, size_t offset, __local half *p);
12433303233Sdimvoid __ovld vstorea_half8(double8 data, size_t offset, __local half *p);
12434303233Sdimvoid __ovld vstorea_half16(double16 data, size_t offset, __local half *p);
12435303233Sdim
12436303233Sdimvoid __ovld vstorea_half_rte(double data, size_t offset, __local half *p);
12437303233Sdimvoid __ovld vstorea_half2_rte(double2 data, size_t offset, __local half *p);
12438303233Sdimvoid __ovld vstorea_half3_rte(double3 data, size_t offset, __local half *p);
12439303233Sdimvoid __ovld vstorea_half4_rte(double4 data, size_t offset, __local half *p);
12440303233Sdimvoid __ovld vstorea_half8_rte(double8 data, size_t offset, __local half *p);
12441303233Sdimvoid __ovld vstorea_half16_rte(double16 data, size_t offset, __local half *p);
12442303233Sdim
12443303233Sdimvoid __ovld vstorea_half_rtz(double data, size_t offset, __local half *p);
12444303233Sdimvoid __ovld vstorea_half2_rtz(double2 data, size_t offset, __local half *p);
12445303233Sdimvoid __ovld vstorea_half3_rtz(double3 data, size_t offset, __local half *p);
12446303233Sdimvoid __ovld vstorea_half4_rtz(double4 data, size_t offset, __local half *p);
12447303233Sdimvoid __ovld vstorea_half8_rtz(double8 data, size_t offset, __local half *p);
12448303233Sdimvoid __ovld vstorea_half16_rtz(double16 data, size_t offset, __local half *p);
12449303233Sdim
12450303233Sdimvoid __ovld vstorea_half_rtp(double data, size_t offset, __local half *p);
12451303233Sdimvoid __ovld vstorea_half2_rtp(double2 data, size_t offset, __local half *p);
12452303233Sdimvoid __ovld vstorea_half3_rtp(double3 data, size_t offset, __local half *p);
12453303233Sdimvoid __ovld vstorea_half4_rtp(double4 data, size_t offset, __local half *p);
12454303233Sdimvoid __ovld vstorea_half8_rtp(double8 data, size_t offset, __local half *p);
12455303233Sdimvoid __ovld vstorea_half16_rtp(double16 data, size_t offset, __local half *p);
12456303233Sdim
12457303233Sdimvoid __ovld vstorea_half_rtn(double data, size_t offset, __local half *p);
12458303233Sdimvoid __ovld vstorea_half2_rtn(double2 data, size_t offset, __local half *p);
12459303233Sdimvoid __ovld vstorea_half3_rtn(double3 data, size_t offset, __local half *p);
12460303233Sdimvoid __ovld vstorea_half4_rtn(double4 data, size_t offset, __local half *p);
12461303233Sdimvoid __ovld vstorea_half8_rtn(double8 data, size_t offset, __local half *p);
12462303233Sdimvoid __ovld vstorea_half16_rtn(double16 data, size_t offset, __local half *p);
12463303233Sdim
12464303233Sdimvoid __ovld vstorea_half(double data, size_t offset, __private half *p);
12465303233Sdimvoid __ovld vstorea_half2(double2 data, size_t offset, __private half *p);
12466303233Sdimvoid __ovld vstorea_half3(double3 data, size_t offset, __private half *p);
12467303233Sdimvoid __ovld vstorea_half4(double4 data, size_t offset, __private half *p);
12468303233Sdimvoid __ovld vstorea_half8(double8 data, size_t offset, __private half *p);
12469303233Sdimvoid __ovld vstorea_half16(double16 data, size_t offset, __private half *p);
12470303233Sdim
12471303233Sdimvoid __ovld vstorea_half_rte(double data, size_t offset, __private half *p);
12472303233Sdimvoid __ovld vstorea_half2_rte(double2 data, size_t offset, __private half *p);
12473303233Sdimvoid __ovld vstorea_half3_rte(double3 data, size_t offset, __private half *p);
12474303233Sdimvoid __ovld vstorea_half4_rte(double4 data, size_t offset, __private half *p);
12475303233Sdimvoid __ovld vstorea_half8_rte(double8 data, size_t offset, __private half *p);
12476303233Sdimvoid __ovld vstorea_half16_rte(double16 data, size_t offset, __private half *p);
12477303233Sdim
12478303233Sdimvoid __ovld vstorea_half_rtz(double data, size_t offset, __private half *p);
12479303233Sdimvoid __ovld vstorea_half2_rtz(double2 data, size_t offset, __private half *p);
12480303233Sdimvoid __ovld vstorea_half3_rtz(double3 data, size_t offset, __private half *p);
12481303233Sdimvoid __ovld vstorea_half4_rtz(double4 data, size_t offset, __private half *p);
12482303233Sdimvoid __ovld vstorea_half8_rtz(double8 data, size_t offset, __private half *p);
12483303233Sdimvoid __ovld vstorea_half16_rtz(double16 data, size_t offset, __private half *p);
12484303233Sdim
12485303233Sdimvoid __ovld vstorea_half_rtp(double data, size_t offset, __private half *p);
12486303233Sdimvoid __ovld vstorea_half2_rtp(double2 data, size_t offset, __private half *p);
12487303233Sdimvoid __ovld vstorea_half3_rtp(double3 data, size_t offset, __private half *p);
12488303233Sdimvoid __ovld vstorea_half4_rtp(double4 data, size_t offset, __private half *p);
12489303233Sdimvoid __ovld vstorea_half8_rtp(double8 data, size_t offset, __private half *p);
12490303233Sdimvoid __ovld vstorea_half16_rtp(double16 data, size_t offset, __private half *p);
12491303233Sdim
12492303233Sdimvoid __ovld vstorea_half_rtn(double data, size_t offset, __private half *p);
12493303233Sdimvoid __ovld vstorea_half2_rtn(double2 data,size_t offset, __private half *p);
12494303233Sdimvoid __ovld vstorea_half3_rtn(double3 data,size_t offset, __private half *p);
12495303233Sdimvoid __ovld vstorea_half4_rtn(double4 data,size_t offset, __private half *p);
12496303233Sdimvoid __ovld vstorea_half8_rtn(double8 data,size_t offset, __private half *p);
12497303233Sdimvoid __ovld vstorea_half16_rtn(double16 data,size_t offset, __private half *p);
12498303233Sdim#endif //cl_khr_fp64
12499353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12500303233Sdim
12501303233Sdim// OpenCL v1.1 s6.11.8, v1.2 s6.12.8, v2.0 s6.13.8 - Synchronization Functions
12502303233Sdim
12503303233Sdim/**
12504303233Sdim * All work-items in a work-group executing the kernel
12505303233Sdim * on a processor must execute this function before any
12506303233Sdim * are allowed to continue execution beyond the barrier.
12507303233Sdim * This function must be encountered by all work-items in
12508303233Sdim * a work-group executing the kernel.
12509303233Sdim * If barrier is inside a conditional statement, then all
12510303233Sdim * work-items must enter the conditional if any work-item
12511303233Sdim * enters the conditional statement and executes the
12512303233Sdim * barrier.
12513303233Sdim * If barrer is inside a loop, all work-items must execute
12514303233Sdim * the barrier for each iteration of the loop before any are
12515303233Sdim * allowed to continue execution beyond the barrier.
12516303233Sdim * The barrier function also queues a memory fence
12517303233Sdim * (reads and writes) to ensure correct ordering of
12518303233Sdim * memory operations to local or global memory.
12519303233Sdim * The flags argument specifies the memory address space
12520303233Sdim * and can be set to a combination of the following literal
12521303233Sdim * values.
12522303233Sdim * CLK_LOCAL_MEM_FENCE - The barrier function
12523303233Sdim * will either flush any variables stored in local memory
12524303233Sdim * or queue a memory fence to ensure correct ordering of
12525303233Sdim * memory operations to local memory.
12526303233Sdim * CLK_GLOBAL_MEM_FENCE - The barrier function
12527303233Sdim * will queue a memory fence to ensure correct ordering
12528303233Sdim * of memory operations to global memory. This can be
12529303233Sdim * useful when work-items, for example, write to buffer or
12530303233Sdim * image objects and then want to read the updated data.
12531303233Sdim */
12532303233Sdim
12533314564Sdimvoid __ovld __conv barrier(cl_mem_fence_flags flags);
12534303233Sdim
12535353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12536314564Sdimvoid __ovld __conv work_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
12537314564Sdimvoid __ovld __conv work_group_barrier(cl_mem_fence_flags flags);
12538353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12539303233Sdim
12540303233Sdim// OpenCL v1.1 s6.11.9, v1.2 s6.12.9 - Explicit Memory Fence Functions
12541303233Sdim
12542303233Sdim/**
12543303233Sdim * Orders loads and stores of a work-item
12544303233Sdim * executing a kernel. This means that loads
12545303233Sdim * and stores preceding the mem_fence will
12546303233Sdim * be committed to memory before any loads
12547303233Sdim * and stores following the mem_fence.
12548303233Sdim * The flags argument specifies the memory
12549303233Sdim * address space and can be set to a
12550303233Sdim * combination of the following literal
12551303233Sdim * values:
12552303233Sdim * CLK_LOCAL_MEM_FENCE
12553303233Sdim * CLK_GLOBAL_MEM_FENCE.
12554303233Sdim */
12555303233Sdimvoid __ovld mem_fence(cl_mem_fence_flags flags);
12556303233Sdim
12557303233Sdim/**
12558303233Sdim * Read memory barrier that orders only
12559303233Sdim * loads.
12560303233Sdim * The flags argument specifies the memory
12561341825Sdim * address space and can be set to a
12562303233Sdim * combination of the following literal
12563303233Sdim * values:
12564303233Sdim * CLK_LOCAL_MEM_FENCE
12565303233Sdim * CLK_GLOBAL_MEM_FENCE.
12566303233Sdim */
12567303233Sdimvoid __ovld read_mem_fence(cl_mem_fence_flags flags);
12568303233Sdim
12569303233Sdim/**
12570303233Sdim * Write memory barrier that orders only
12571303233Sdim * stores.
12572303233Sdim * The flags argument specifies the memory
12573341825Sdim * address space and can be set to a
12574303233Sdim * combination of the following literal
12575303233Sdim * values:
12576303233Sdim * CLK_LOCAL_MEM_FENCE
12577303233Sdim * CLK_GLOBAL_MEM_FENCE.
12578303233Sdim */
12579303233Sdimvoid __ovld write_mem_fence(cl_mem_fence_flags flags);
12580303233Sdim
12581303233Sdim// OpenCL v2.0 s6.13.9 - Address Space Qualifier Functions
12582303233Sdim
12583353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12584303233Sdimcl_mem_fence_flags __ovld get_fence(const void *ptr);
12585303233Sdimcl_mem_fence_flags __ovld get_fence(void *ptr);
12586303233Sdim
12587341825Sdim/**
12588303233Sdim * Builtin functions to_global, to_local, and to_private need to be declared as Clang builtin functions
12589303233Sdim * and checked in Sema since they should be declared as
12590303233Sdim *   addr gentype* to_addr (gentype*);
12591303233Sdim * where gentype is builtin type or user defined type.
12592303233Sdim */
12593303233Sdim
12594353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12595303233Sdim
12596303233Sdim// 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
12597303233Sdim
12598303233Sdim/**
12599303233Sdim * event_t async_work_group_copy (
12600303233Sdim * __global gentype *dst,
12601303233Sdim * const __local gentype *src,
12602303233Sdim * size_t num_elements,
12603303233Sdim * event_t event)
12604303233Sdim * Perform an async copy of num_elements
12605303233Sdim * gentype elements from src to dst. The async
12606303233Sdim * copy is performed by all work-items in a workgroup
12607303233Sdim * and this built-in function must therefore
12608303233Sdim * be encountered by all work-items in a workgroup
12609303233Sdim * executing the kernel with the same
12610303233Sdim * argument values; otherwise the results are
12611303233Sdim * undefined.
12612303233Sdim * Returns an event object that can be used by
12613303233Sdim * wait_group_events to wait for the async copy
12614303233Sdim * to finish. The event argument can also be used
12615303233Sdim * to associate the async_work_group_copy with
12616303233Sdim * a previous async copy allowing an event to be
12617303233Sdim * shared by multiple async copies; otherwise event
12618303233Sdim * should be zero.
12619303233Sdim * If event argument is non-zero, the event object
12620303233Sdim * supplied in event argument will be returned.
12621303233Sdim * This function does not perform any implicit
12622303233Sdim * synchronization of source data such as using a
12623303233Sdim * barrier before performing the copy.
12624303233Sdim */
12625303233Sdimevent_t __ovld async_work_group_copy(__local char *dst, const __global char *src, size_t num_elements, event_t event);
12626303233Sdimevent_t __ovld async_work_group_copy(__local uchar *dst, const __global uchar *src, size_t num_elements, event_t event);
12627303233Sdimevent_t __ovld async_work_group_copy(__local short *dst, const __global short *src, size_t num_elements, event_t event);
12628303233Sdimevent_t __ovld async_work_group_copy(__local ushort *dst, const __global ushort *src, size_t num_elements, event_t event);
12629303233Sdimevent_t __ovld async_work_group_copy(__local int *dst, const __global int *src, size_t num_elements, event_t event);
12630303233Sdimevent_t __ovld async_work_group_copy(__local uint *dst, const __global uint *src, size_t num_elements, event_t event);
12631303233Sdimevent_t __ovld async_work_group_copy(__local long *dst, const __global long *src, size_t num_elements, event_t event);
12632303233Sdimevent_t __ovld async_work_group_copy(__local ulong *dst, const __global ulong *src, size_t num_elements, event_t event);
12633303233Sdimevent_t __ovld async_work_group_copy(__local float *dst, const __global float *src, size_t num_elements, event_t event);
12634303233Sdimevent_t __ovld async_work_group_copy(__local char2 *dst, const __global char2 *src, size_t num_elements, event_t event);
12635303233Sdimevent_t __ovld async_work_group_copy(__local uchar2 *dst, const __global uchar2 *src, size_t num_elements, event_t event);
12636303233Sdimevent_t __ovld async_work_group_copy(__local short2 *dst, const __global short2 *src, size_t num_elements, event_t event);
12637303233Sdimevent_t __ovld async_work_group_copy(__local ushort2 *dst, const __global ushort2 *src, size_t num_elements, event_t event);
12638303233Sdimevent_t __ovld async_work_group_copy(__local int2 *dst, const __global int2 *src, size_t num_elements, event_t event);
12639303233Sdimevent_t __ovld async_work_group_copy(__local uint2 *dst, const __global uint2 *src, size_t num_elements, event_t event);
12640303233Sdimevent_t __ovld async_work_group_copy(__local long2 *dst, const __global long2 *src, size_t num_elements, event_t event);
12641303233Sdimevent_t __ovld async_work_group_copy(__local ulong2 *dst, const __global ulong2 *src, size_t num_elements, event_t event);
12642303233Sdimevent_t __ovld async_work_group_copy(__local float2 *dst, const __global float2 *src, size_t num_elements, event_t event);
12643303233Sdimevent_t __ovld async_work_group_copy(__local char3 *dst, const __global char3 *src, size_t num_elements, event_t event);
12644303233Sdimevent_t __ovld async_work_group_copy(__local uchar3 *dst, const __global uchar3 *src, size_t num_elements, event_t event);
12645303233Sdimevent_t __ovld async_work_group_copy(__local short3 *dst, const __global short3 *src, size_t num_elements, event_t event);
12646303233Sdimevent_t __ovld async_work_group_copy(__local ushort3 *dst, const __global ushort3 *src, size_t num_elements, event_t event);
12647303233Sdimevent_t __ovld async_work_group_copy(__local int3 *dst, const __global int3 *src, size_t num_elements, event_t event);
12648303233Sdimevent_t __ovld async_work_group_copy(__local uint3 *dst, const __global uint3 *src, size_t num_elements, event_t event);
12649303233Sdimevent_t __ovld async_work_group_copy(__local long3 *dst, const __global long3 *src, size_t num_elements, event_t event);
12650303233Sdimevent_t __ovld async_work_group_copy(__local ulong3 *dst, const __global ulong3 *src, size_t num_elements, event_t event);
12651303233Sdimevent_t __ovld async_work_group_copy(__local float3 *dst, const __global float3 *src, size_t num_elements, event_t event);
12652303233Sdimevent_t __ovld async_work_group_copy(__local char4 *dst, const __global char4 *src, size_t num_elements, event_t event);
12653303233Sdimevent_t __ovld async_work_group_copy(__local uchar4 *dst, const __global uchar4 *src, size_t num_elements, event_t event);
12654303233Sdimevent_t __ovld async_work_group_copy(__local short4 *dst, const __global short4 *src, size_t num_elements, event_t event);
12655303233Sdimevent_t __ovld async_work_group_copy(__local ushort4 *dst, const __global ushort4 *src, size_t num_elements, event_t event);
12656303233Sdimevent_t __ovld async_work_group_copy(__local int4 *dst, const __global int4 *src, size_t num_elements, event_t event);
12657303233Sdimevent_t __ovld async_work_group_copy(__local uint4 *dst, const __global uint4 *src, size_t num_elements, event_t event);
12658303233Sdimevent_t __ovld async_work_group_copy(__local long4 *dst, const __global long4 *src, size_t num_elements, event_t event);
12659303233Sdimevent_t __ovld async_work_group_copy(__local ulong4 *dst, const __global ulong4 *src, size_t num_elements, event_t event);
12660303233Sdimevent_t __ovld async_work_group_copy(__local float4 *dst, const __global float4 *src, size_t num_elements, event_t event);
12661303233Sdimevent_t __ovld async_work_group_copy(__local char8 *dst, const __global char8 *src, size_t num_elements, event_t event);
12662303233Sdimevent_t __ovld async_work_group_copy(__local uchar8 *dst, const __global uchar8 *src, size_t num_elements, event_t event);
12663303233Sdimevent_t __ovld async_work_group_copy(__local short8 *dst, const __global short8 *src, size_t num_elements, event_t event);
12664303233Sdimevent_t __ovld async_work_group_copy(__local ushort8 *dst, const __global ushort8 *src, size_t num_elements, event_t event);
12665303233Sdimevent_t __ovld async_work_group_copy(__local int8 *dst, const __global int8 *src, size_t num_elements, event_t event);
12666303233Sdimevent_t __ovld async_work_group_copy(__local uint8 *dst, const __global uint8 *src, size_t num_elements, event_t event);
12667303233Sdimevent_t __ovld async_work_group_copy(__local long8 *dst, const __global long8 *src, size_t num_elements, event_t event);
12668303233Sdimevent_t __ovld async_work_group_copy(__local ulong8 *dst, const __global ulong8 *src, size_t num_elements, event_t event);
12669303233Sdimevent_t __ovld async_work_group_copy(__local float8 *dst, const __global float8 *src, size_t num_elements, event_t event);
12670303233Sdimevent_t __ovld async_work_group_copy(__local char16 *dst, const __global char16 *src, size_t num_elements, event_t event);
12671303233Sdimevent_t __ovld async_work_group_copy(__local uchar16 *dst, const __global uchar16 *src, size_t num_elements, event_t event);
12672303233Sdimevent_t __ovld async_work_group_copy(__local short16 *dst, const __global short16 *src, size_t num_elements, event_t event);
12673303233Sdimevent_t __ovld async_work_group_copy(__local ushort16 *dst, const __global ushort16 *src, size_t num_elements, event_t event);
12674303233Sdimevent_t __ovld async_work_group_copy(__local int16 *dst, const __global int16 *src, size_t num_elements, event_t event);
12675303233Sdimevent_t __ovld async_work_group_copy(__local uint16 *dst, const __global uint16 *src, size_t num_elements, event_t event);
12676303233Sdimevent_t __ovld async_work_group_copy(__local long16 *dst, const __global long16 *src, size_t num_elements, event_t event);
12677303233Sdimevent_t __ovld async_work_group_copy(__local ulong16 *dst, const __global ulong16 *src, size_t num_elements, event_t event);
12678303233Sdimevent_t __ovld async_work_group_copy(__local float16 *dst, const __global float16 *src, size_t num_elements, event_t event);
12679303233Sdimevent_t __ovld async_work_group_copy(__global char *dst, const __local char *src, size_t num_elements, event_t event);
12680303233Sdimevent_t __ovld async_work_group_copy(__global uchar *dst, const __local uchar *src, size_t num_elements, event_t event);
12681303233Sdimevent_t __ovld async_work_group_copy(__global short *dst, const __local short *src, size_t num_elements, event_t event);
12682303233Sdimevent_t __ovld async_work_group_copy(__global ushort *dst, const __local ushort *src, size_t num_elements, event_t event);
12683303233Sdimevent_t __ovld async_work_group_copy(__global int *dst, const __local int *src, size_t num_elements, event_t event);
12684303233Sdimevent_t __ovld async_work_group_copy(__global uint *dst, const __local uint *src, size_t num_elements, event_t event);
12685303233Sdimevent_t __ovld async_work_group_copy(__global long *dst, const __local long *src, size_t num_elements, event_t event);
12686303233Sdimevent_t __ovld async_work_group_copy(__global ulong *dst, const __local ulong *src, size_t num_elements, event_t event);
12687303233Sdimevent_t __ovld async_work_group_copy(__global float *dst, const __local float *src, size_t num_elements, event_t event);
12688303233Sdimevent_t __ovld async_work_group_copy(__global char2 *dst, const __local char2 *src, size_t num_elements, event_t event);
12689303233Sdimevent_t __ovld async_work_group_copy(__global uchar2 *dst, const __local uchar2 *src, size_t num_elements, event_t event);
12690303233Sdimevent_t __ovld async_work_group_copy(__global short2 *dst, const __local short2 *src, size_t num_elements, event_t event);
12691303233Sdimevent_t __ovld async_work_group_copy(__global ushort2 *dst, const __local ushort2 *src, size_t num_elements, event_t event);
12692303233Sdimevent_t __ovld async_work_group_copy(__global int2 *dst, const __local int2 *src, size_t num_elements, event_t event);
12693303233Sdimevent_t __ovld async_work_group_copy(__global uint2 *dst, const __local uint2 *src, size_t num_elements, event_t event);
12694303233Sdimevent_t __ovld async_work_group_copy(__global long2 *dst, const __local long2 *src, size_t num_elements, event_t event);
12695303233Sdimevent_t __ovld async_work_group_copy(__global ulong2 *dst, const __local ulong2 *src, size_t num_elements, event_t event);
12696303233Sdimevent_t __ovld async_work_group_copy(__global float2 *dst, const __local float2 *src, size_t num_elements, event_t event);
12697303233Sdimevent_t __ovld async_work_group_copy(__global char3 *dst, const __local char3 *src, size_t num_elements, event_t event);
12698303233Sdimevent_t __ovld async_work_group_copy(__global uchar3 *dst, const __local uchar3 *src, size_t num_elements, event_t event);
12699303233Sdimevent_t __ovld async_work_group_copy(__global short3 *dst, const __local short3 *src, size_t num_elements, event_t event);
12700303233Sdimevent_t __ovld async_work_group_copy(__global ushort3 *dst, const __local ushort3 *src, size_t num_elements, event_t event);
12701303233Sdimevent_t __ovld async_work_group_copy(__global int3 *dst, const __local int3 *src, size_t num_elements, event_t event);
12702303233Sdimevent_t __ovld async_work_group_copy(__global uint3 *dst, const __local uint3 *src, size_t num_elements, event_t event);
12703303233Sdimevent_t __ovld async_work_group_copy(__global long3 *dst, const __local long3 *src, size_t num_elements, event_t event);
12704303233Sdimevent_t __ovld async_work_group_copy(__global ulong3 *dst, const __local ulong3 *src, size_t num_elements, event_t event);
12705303233Sdimevent_t __ovld async_work_group_copy(__global float3 *dst, const __local float3 *src, size_t num_elements, event_t event);
12706303233Sdimevent_t __ovld async_work_group_copy(__global char4 *dst, const __local char4 *src, size_t num_elements, event_t event);
12707303233Sdimevent_t __ovld async_work_group_copy(__global uchar4 *dst, const __local uchar4 *src, size_t num_elements, event_t event);
12708303233Sdimevent_t __ovld async_work_group_copy(__global short4 *dst, const __local short4 *src, size_t num_elements, event_t event);
12709303233Sdimevent_t __ovld async_work_group_copy(__global ushort4 *dst, const __local ushort4 *src, size_t num_elements, event_t event);
12710303233Sdimevent_t __ovld async_work_group_copy(__global int4 *dst, const __local int4 *src, size_t num_elements, event_t event);
12711303233Sdimevent_t __ovld async_work_group_copy(__global uint4 *dst, const __local uint4 *src, size_t num_elements, event_t event);
12712303233Sdimevent_t __ovld async_work_group_copy(__global long4 *dst, const __local long4 *src, size_t num_elements, event_t event);
12713303233Sdimevent_t __ovld async_work_group_copy(__global ulong4 *dst, const __local ulong4 *src, size_t num_elements, event_t event);
12714303233Sdimevent_t __ovld async_work_group_copy(__global float4 *dst, const __local float4 *src, size_t num_elements, event_t event);
12715303233Sdimevent_t __ovld async_work_group_copy(__global char8 *dst, const __local char8 *src, size_t num_elements, event_t event);
12716303233Sdimevent_t __ovld async_work_group_copy(__global uchar8 *dst, const __local uchar8 *src, size_t num_elements, event_t event);
12717303233Sdimevent_t __ovld async_work_group_copy(__global short8 *dst, const __local short8 *src, size_t num_elements, event_t event);
12718303233Sdimevent_t __ovld async_work_group_copy(__global ushort8 *dst, const __local ushort8 *src, size_t num_elements, event_t event);
12719303233Sdimevent_t __ovld async_work_group_copy(__global int8 *dst, const __local int8 *src, size_t num_elements, event_t event);
12720303233Sdimevent_t __ovld async_work_group_copy(__global uint8 *dst, const __local uint8 *src, size_t num_elements, event_t event);
12721303233Sdimevent_t __ovld async_work_group_copy(__global long8 *dst, const __local long8 *src, size_t num_elements, event_t event);
12722303233Sdimevent_t __ovld async_work_group_copy(__global ulong8 *dst, const __local ulong8 *src, size_t num_elements, event_t event);
12723303233Sdimevent_t __ovld async_work_group_copy(__global float8 *dst, const __local float8 *src, size_t num_elements, event_t event);
12724303233Sdimevent_t __ovld async_work_group_copy(__global char16 *dst, const __local char16 *src, size_t num_elements, event_t event);
12725303233Sdimevent_t __ovld async_work_group_copy(__global uchar16 *dst, const __local uchar16 *src, size_t num_elements, event_t event);
12726303233Sdimevent_t __ovld async_work_group_copy(__global short16 *dst, const __local short16 *src, size_t num_elements, event_t event);
12727303233Sdimevent_t __ovld async_work_group_copy(__global ushort16 *dst, const __local ushort16 *src, size_t num_elements, event_t event);
12728303233Sdimevent_t __ovld async_work_group_copy(__global int16 *dst, const __local int16 *src, size_t num_elements, event_t event);
12729303233Sdimevent_t __ovld async_work_group_copy(__global uint16 *dst, const __local uint16 *src, size_t num_elements, event_t event);
12730303233Sdimevent_t __ovld async_work_group_copy(__global long16 *dst, const __local long16 *src, size_t num_elements, event_t event);
12731303233Sdimevent_t __ovld async_work_group_copy(__global ulong16 *dst, const __local ulong16 *src, size_t num_elements, event_t event);
12732303233Sdimevent_t __ovld async_work_group_copy(__global float16 *dst, const __local float16 *src, size_t num_elements, event_t event);
12733303233Sdim#ifdef cl_khr_fp64
12734303233Sdimevent_t __ovld async_work_group_copy(__local double *dst, const __global double *src, size_t num_elements, event_t event);
12735303233Sdimevent_t __ovld async_work_group_copy(__local double2 *dst, const __global double2 *src, size_t num_elements, event_t event);
12736303233Sdimevent_t __ovld async_work_group_copy(__local double3 *dst, const __global double3 *src, size_t num_elements, event_t event);
12737303233Sdimevent_t __ovld async_work_group_copy(__local double4 *dst, const __global double4 *src, size_t num_elements, event_t event);
12738303233Sdimevent_t __ovld async_work_group_copy(__local double8 *dst, const __global double8 *src, size_t num_elements, event_t event);
12739303233Sdimevent_t __ovld async_work_group_copy(__local double16 *dst, const __global double16 *src, size_t num_elements, event_t event);
12740303233Sdimevent_t __ovld async_work_group_copy(__global double *dst, const __local double *src, size_t num_elements, event_t event);
12741303233Sdimevent_t __ovld async_work_group_copy(__global double2 *dst, const __local double2 *src, size_t num_elements, event_t event);
12742303233Sdimevent_t __ovld async_work_group_copy(__global double3 *dst, const __local double3 *src, size_t num_elements, event_t event);
12743303233Sdimevent_t __ovld async_work_group_copy(__global double4 *dst, const __local double4 *src, size_t num_elements, event_t event);
12744303233Sdimevent_t __ovld async_work_group_copy(__global double8 *dst, const __local double8 *src, size_t num_elements, event_t event);
12745303233Sdimevent_t __ovld async_work_group_copy(__global double16 *dst, const __local double16 *src, size_t num_elements, event_t event);
12746303233Sdim#endif //cl_khr_fp64
12747303233Sdim#ifdef cl_khr_fp16
12748303233Sdimevent_t __ovld async_work_group_copy(__local half *dst, const __global half *src, size_t num_elements, event_t event);
12749303233Sdimevent_t __ovld async_work_group_copy(__local half2 *dst, const __global half2 *src, size_t num_elements, event_t event);
12750303233Sdimevent_t __ovld async_work_group_copy(__local half3 *dst, const __global half3 *src, size_t num_elements, event_t event);
12751303233Sdimevent_t __ovld async_work_group_copy(__local half4 *dst, const __global half4 *src, size_t num_elements, event_t event);
12752303233Sdimevent_t __ovld async_work_group_copy(__local half8 *dst, const __global half8 *src, size_t num_elements, event_t event);
12753303233Sdimevent_t __ovld async_work_group_copy(__local half16 *dst, const __global half16 *src, size_t num_elements, event_t event);
12754303233Sdimevent_t __ovld async_work_group_copy(__global half *dst, const __local half *src, size_t num_elements, event_t event);
12755303233Sdimevent_t __ovld async_work_group_copy(__global half2 *dst, const __local half2 *src, size_t num_elements, event_t event);
12756303233Sdimevent_t __ovld async_work_group_copy(__global half3 *dst, const __local half3 *src, size_t num_elements, event_t event);
12757303233Sdimevent_t __ovld async_work_group_copy(__global half4 *dst, const __local half4 *src, size_t num_elements, event_t event);
12758303233Sdimevent_t __ovld async_work_group_copy(__global half8 *dst, const __local half8 *src, size_t num_elements, event_t event);
12759303233Sdimevent_t __ovld async_work_group_copy(__global half16 *dst, const __local half16 *src, size_t num_elements, event_t event);
12760303233Sdim#endif //cl_khr_fp16
12761303233Sdim
12762303233Sdim/**
12763303233Sdim * Perform an async gather of num_elements
12764303233Sdim * gentype elements from src to dst. The
12765303233Sdim * src_stride is the stride in elements for each
12766303233Sdim * gentype element read from src. The dst_stride
12767303233Sdim * is the stride in elements for each gentype
12768303233Sdim * element written to dst. The async gather is
12769303233Sdim * performed by all work-items in a work-group.
12770303233Sdim * This built-in function must therefore be
12771303233Sdim * encountered by all work-items in a work-group
12772303233Sdim * executing the kernel with the same argument
12773303233Sdim * values; otherwise the results are undefined.
12774303233Sdim * Returns an event object that can be used by
12775303233Sdim * wait_group_events to wait for the async copy
12776303233Sdim * to finish. The event argument can also be used
12777303233Sdim * to associate the
12778303233Sdim * async_work_group_strided_copy with a
12779303233Sdim * previous async copy allowing an event to be
12780303233Sdim * shared by multiple async copies; otherwise event
12781303233Sdim * should be zero.
12782303233Sdim * If event argument is non-zero, the event object
12783303233Sdim * supplied in event argument will be returned.
12784303233Sdim * This function does not perform any implicit
12785303233Sdim * synchronization of source data such as using a
12786303233Sdim * barrier before performing the copy.
12787303233Sdim */
12788303233Sdimevent_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);
12789303233Sdimevent_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);
12790303233Sdimevent_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);
12791303233Sdimevent_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);
12792303233Sdimevent_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);
12793303233Sdimevent_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);
12794303233Sdimevent_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);
12795303233Sdimevent_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);
12796303233Sdimevent_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);
12797303233Sdimevent_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);
12798303233Sdimevent_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);
12799303233Sdimevent_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);
12800303233Sdimevent_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);
12801303233Sdimevent_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);
12802303233Sdimevent_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);
12803303233Sdimevent_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);
12804303233Sdimevent_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);
12805303233Sdimevent_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);
12806303233Sdimevent_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);
12807303233Sdimevent_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);
12808303233Sdimevent_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);
12809303233Sdimevent_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);
12810303233Sdimevent_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);
12811303233Sdimevent_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);
12812303233Sdimevent_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);
12813303233Sdimevent_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);
12814303233Sdimevent_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);
12815303233Sdimevent_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);
12816303233Sdimevent_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);
12817303233Sdimevent_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);
12818303233Sdimevent_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);
12819303233Sdimevent_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);
12820303233Sdimevent_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);
12821303233Sdimevent_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);
12822303233Sdimevent_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);
12823303233Sdimevent_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);
12824303233Sdimevent_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);
12825303233Sdimevent_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);
12826303233Sdimevent_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);
12827303233Sdimevent_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);
12828303233Sdimevent_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);
12829303233Sdimevent_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);
12830303233Sdimevent_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);
12831303233Sdimevent_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);
12832303233Sdimevent_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);
12833303233Sdimevent_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);
12834303233Sdimevent_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);
12835303233Sdimevent_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);
12836303233Sdimevent_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);
12837303233Sdimevent_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);
12838303233Sdimevent_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);
12839303233Sdimevent_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);
12840303233Sdimevent_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);
12841303233Sdimevent_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);
12842303233Sdimevent_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);
12843303233Sdimevent_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);
12844303233Sdimevent_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);
12845303233Sdimevent_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);
12846303233Sdimevent_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);
12847303233Sdimevent_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);
12848303233Sdimevent_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);
12849303233Sdimevent_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);
12850303233Sdimevent_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);
12851303233Sdimevent_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);
12852303233Sdimevent_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);
12853303233Sdimevent_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);
12854303233Sdimevent_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);
12855303233Sdimevent_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);
12856303233Sdimevent_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);
12857303233Sdimevent_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);
12858303233Sdimevent_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);
12859303233Sdimevent_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);
12860303233Sdimevent_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);
12861303233Sdimevent_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);
12862303233Sdimevent_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);
12863303233Sdimevent_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);
12864303233Sdimevent_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);
12865303233Sdimevent_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);
12866303233Sdimevent_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);
12867303233Sdimevent_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);
12868303233Sdimevent_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);
12869303233Sdimevent_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);
12870303233Sdimevent_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);
12871303233Sdimevent_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);
12872303233Sdimevent_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);
12873303233Sdimevent_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);
12874303233Sdimevent_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);
12875303233Sdimevent_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);
12876303233Sdimevent_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);
12877303233Sdimevent_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);
12878303233Sdimevent_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);
12879303233Sdimevent_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);
12880303233Sdimevent_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);
12881303233Sdimevent_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);
12882303233Sdimevent_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);
12883303233Sdimevent_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);
12884303233Sdimevent_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);
12885303233Sdimevent_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);
12886303233Sdimevent_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);
12887303233Sdimevent_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);
12888303233Sdimevent_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);
12889303233Sdimevent_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);
12890303233Sdimevent_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);
12891303233Sdimevent_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);
12892303233Sdimevent_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);
12893303233Sdimevent_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);
12894303233Sdimevent_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);
12895303233Sdimevent_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);
12896303233Sdim#ifdef cl_khr_fp64
12897303233Sdimevent_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);
12898303233Sdimevent_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);
12899303233Sdimevent_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);
12900303233Sdimevent_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);
12901303233Sdimevent_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);
12902303233Sdimevent_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);
12903303233Sdimevent_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);
12904303233Sdimevent_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);
12905303233Sdimevent_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);
12906303233Sdimevent_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);
12907303233Sdimevent_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);
12908303233Sdimevent_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);
12909303233Sdim#endif //cl_khr_fp64
12910303233Sdim#ifdef cl_khr_fp16
12911303233Sdimevent_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);
12912303233Sdimevent_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);
12913303233Sdimevent_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);
12914303233Sdimevent_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);
12915303233Sdimevent_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);
12916303233Sdimevent_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);
12917303233Sdimevent_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);
12918303233Sdimevent_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);
12919303233Sdimevent_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);
12920303233Sdimevent_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);
12921303233Sdimevent_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);
12922303233Sdimevent_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);
12923303233Sdim#endif //cl_khr_fp16
12924303233Sdim
12925303233Sdim/**
12926303233Sdim * Wait for events that identify the
12927303233Sdim * async_work_group_copy operations to
12928303233Sdim * complete. The event objects specified in
12929303233Sdim * event_list will be released after the wait is
12930303233Sdim * performed.
12931303233Sdim * This function must be encountered by all workitems
12932303233Sdim * in a work-group executing the kernel with
12933303233Sdim * the same num_events and event objects specified
12934303233Sdim * in event_list; otherwise the results are undefined.
12935303233Sdim */
12936303233Sdimvoid __ovld wait_group_events(int num_events, event_t *event_list);
12937303233Sdim
12938303233Sdim/**
12939303233Sdim * Prefetch num_elements * sizeof(gentype)
12940303233Sdim * bytes into the global cache. The prefetch
12941303233Sdim * instruction is applied to a work-item in a workgroup
12942303233Sdim * and does not affect the functional
12943303233Sdim * behavior of the kernel.
12944303233Sdim */
12945303233Sdimvoid __ovld prefetch(const __global char *p, size_t num_elements);
12946303233Sdimvoid __ovld prefetch(const __global uchar *p, size_t num_elements);
12947303233Sdimvoid __ovld prefetch(const __global short *p, size_t num_elements);
12948303233Sdimvoid __ovld prefetch(const __global ushort *p, size_t num_elements);
12949303233Sdimvoid __ovld prefetch(const __global int *p, size_t num_elements);
12950303233Sdimvoid __ovld prefetch(const __global uint *p, size_t num_elements);
12951303233Sdimvoid __ovld prefetch(const __global long *p, size_t num_elements);
12952303233Sdimvoid __ovld prefetch(const __global ulong *p, size_t num_elements);
12953303233Sdimvoid __ovld prefetch(const __global float *p, size_t num_elements);
12954303233Sdimvoid __ovld prefetch(const __global char2 *p, size_t num_elements);
12955303233Sdimvoid __ovld prefetch(const __global uchar2 *p, size_t num_elements);
12956303233Sdimvoid __ovld prefetch(const __global short2 *p, size_t num_elements);
12957303233Sdimvoid __ovld prefetch(const __global ushort2 *p, size_t num_elements);
12958303233Sdimvoid __ovld prefetch(const __global int2 *p, size_t num_elements);
12959303233Sdimvoid __ovld prefetch(const __global uint2 *p, size_t num_elements);
12960303233Sdimvoid __ovld prefetch(const __global long2 *p, size_t num_elements);
12961303233Sdimvoid __ovld prefetch(const __global ulong2 *p, size_t num_elements);
12962303233Sdimvoid __ovld prefetch(const __global float2 *p, size_t num_elements);
12963303233Sdimvoid __ovld prefetch(const __global char3 *p, size_t num_elements);
12964303233Sdimvoid __ovld prefetch(const __global uchar3 *p, size_t num_elements);
12965303233Sdimvoid __ovld prefetch(const __global short3 *p, size_t num_elements);
12966303233Sdimvoid __ovld prefetch(const __global ushort3 *p, size_t num_elements);
12967303233Sdimvoid __ovld prefetch(const __global int3 *p, size_t num_elements);
12968303233Sdimvoid __ovld prefetch(const __global uint3 *p, size_t num_elements);
12969303233Sdimvoid __ovld prefetch(const __global long3 *p, size_t num_elements);
12970303233Sdimvoid __ovld prefetch(const __global ulong3 *p, size_t num_elements);
12971303233Sdimvoid __ovld prefetch(const __global float3 *p, size_t num_elements);
12972303233Sdimvoid __ovld prefetch(const __global char4 *p, size_t num_elements);
12973303233Sdimvoid __ovld prefetch(const __global uchar4 *p, size_t num_elements);
12974303233Sdimvoid __ovld prefetch(const __global short4 *p, size_t num_elements);
12975303233Sdimvoid __ovld prefetch(const __global ushort4 *p, size_t num_elements);
12976303233Sdimvoid __ovld prefetch(const __global int4 *p, size_t num_elements);
12977303233Sdimvoid __ovld prefetch(const __global uint4 *p, size_t num_elements);
12978303233Sdimvoid __ovld prefetch(const __global long4 *p, size_t num_elements);
12979303233Sdimvoid __ovld prefetch(const __global ulong4 *p, size_t num_elements);
12980303233Sdimvoid __ovld prefetch(const __global float4 *p, size_t num_elements);
12981303233Sdimvoid __ovld prefetch(const __global char8 *p, size_t num_elements);
12982303233Sdimvoid __ovld prefetch(const __global uchar8 *p, size_t num_elements);
12983303233Sdimvoid __ovld prefetch(const __global short8 *p, size_t num_elements);
12984303233Sdimvoid __ovld prefetch(const __global ushort8 *p, size_t num_elements);
12985303233Sdimvoid __ovld prefetch(const __global int8 *p, size_t num_elements);
12986303233Sdimvoid __ovld prefetch(const __global uint8 *p, size_t num_elements);
12987303233Sdimvoid __ovld prefetch(const __global long8 *p, size_t num_elements);
12988303233Sdimvoid __ovld prefetch(const __global ulong8 *p, size_t num_elements);
12989303233Sdimvoid __ovld prefetch(const __global float8 *p, size_t num_elements);
12990303233Sdimvoid __ovld prefetch(const __global char16 *p, size_t num_elements);
12991303233Sdimvoid __ovld prefetch(const __global uchar16 *p, size_t num_elements);
12992303233Sdimvoid __ovld prefetch(const __global short16 *p, size_t num_elements);
12993303233Sdimvoid __ovld prefetch(const __global ushort16 *p, size_t num_elements);
12994303233Sdimvoid __ovld prefetch(const __global int16 *p, size_t num_elements);
12995303233Sdimvoid __ovld prefetch(const __global uint16 *p, size_t num_elements);
12996303233Sdimvoid __ovld prefetch(const __global long16 *p, size_t num_elements);
12997303233Sdimvoid __ovld prefetch(const __global ulong16 *p, size_t num_elements);
12998303233Sdimvoid __ovld prefetch(const __global float16 *p, size_t num_elements);
12999303233Sdim#ifdef cl_khr_fp64
13000303233Sdimvoid __ovld prefetch(const __global double *p, size_t num_elements);
13001303233Sdimvoid __ovld prefetch(const __global double2 *p, size_t num_elements);
13002303233Sdimvoid __ovld prefetch(const __global double3 *p, size_t num_elements);
13003303233Sdimvoid __ovld prefetch(const __global double4 *p, size_t num_elements);
13004303233Sdimvoid __ovld prefetch(const __global double8 *p, size_t num_elements);
13005303233Sdimvoid __ovld prefetch(const __global double16 *p, size_t num_elements);
13006303233Sdim#endif //cl_khr_fp64
13007303233Sdim#ifdef cl_khr_fp16
13008303233Sdimvoid __ovld prefetch(const __global half *p, size_t num_elements);
13009303233Sdimvoid __ovld prefetch(const __global half2 *p, size_t num_elements);
13010303233Sdimvoid __ovld prefetch(const __global half3 *p, size_t num_elements);
13011303233Sdimvoid __ovld prefetch(const __global half4 *p, size_t num_elements);
13012303233Sdimvoid __ovld prefetch(const __global half8 *p, size_t num_elements);
13013303233Sdimvoid __ovld prefetch(const __global half16 *p, size_t num_elements);
13014303233Sdim#endif // cl_khr_fp16
13015303233Sdim
13016303233Sdim// OpenCL v1.1 s6.11.1, v1.2 s6.12.11 - Atomic Functions
13017303233Sdim
13018303233Sdim#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13019303233Sdim#pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
13020303233Sdim#pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
13021303233Sdim#endif
13022303233Sdim/**
13023303233Sdim * Read the 32-bit value (referred to as old)
13024303233Sdim * stored at location pointed by p. Compute
13025303233Sdim * (old + val) and store result at location
13026303233Sdim * pointed by p. The function returns old.
13027303233Sdim */
13028303233Sdimint __ovld atomic_add(volatile __global int *p, int val);
13029303233Sdimunsigned int __ovld atomic_add(volatile __global unsigned int *p, unsigned int val);
13030303233Sdimint __ovld atomic_add(volatile __local int *p, int val);
13031303233Sdimunsigned int __ovld atomic_add(volatile __local unsigned int *p, unsigned int val);
13032353358Sdim#ifdef __OPENCL_CPP_VERSION__
13033353358Sdimint __ovld atomic_add(volatile int *p, int val);
13034353358Sdimunsigned int __ovld atomic_add(volatile unsigned int *p, unsigned int val);
13035353358Sdim#endif
13036303233Sdim
13037303233Sdim#if defined(cl_khr_global_int32_base_atomics)
13038303233Sdimint __ovld atom_add(volatile __global int *p, int val);
13039303233Sdimunsigned int __ovld atom_add(volatile __global unsigned int *p, unsigned int val);
13040303233Sdim#endif
13041303233Sdim#if defined(cl_khr_local_int32_base_atomics)
13042303233Sdimint __ovld atom_add(volatile __local int *p, int val);
13043303233Sdimunsigned int __ovld atom_add(volatile __local unsigned int *p, unsigned int val);
13044303233Sdim#endif
13045303233Sdim
13046303233Sdim#if defined(cl_khr_int64_base_atomics)
13047303233Sdimlong __ovld atom_add(volatile __global long *p, long val);
13048303233Sdimunsigned long __ovld atom_add(volatile __global unsigned long *p, unsigned long val);
13049303233Sdimlong __ovld atom_add(volatile __local long *p, long val);
13050303233Sdimunsigned long __ovld atom_add(volatile __local unsigned long *p, unsigned long val);
13051303233Sdim#endif
13052303233Sdim
13053303233Sdim/**
13054303233Sdim * Read the 32-bit value (referred to as old) stored at location pointed by p.
13055303233Sdim * Compute (old - val) and store result at location pointed by p. The function
13056303233Sdim * returns old.
13057303233Sdim */
13058303233Sdimint __ovld atomic_sub(volatile __global int *p, int val);
13059303233Sdimunsigned int __ovld atomic_sub(volatile __global unsigned int *p, unsigned int val);
13060303233Sdimint __ovld atomic_sub(volatile __local int *p, int val);
13061303233Sdimunsigned int __ovld atomic_sub(volatile __local unsigned int *p, unsigned int val);
13062353358Sdim#ifdef __OPENCL_CPP_VERSION__
13063353358Sdimint __ovld atomic_sub(volatile int *p, int val);
13064353358Sdimunsigned int __ovld atomic_sub(volatile unsigned int *p, unsigned int val);
13065353358Sdim#endif
13066303233Sdim
13067303233Sdim#if defined(cl_khr_global_int32_base_atomics)
13068303233Sdimint __ovld atom_sub(volatile __global int *p, int val);
13069303233Sdimunsigned int __ovld atom_sub(volatile __global unsigned int *p, unsigned int val);
13070303233Sdim#endif
13071303233Sdim#if defined(cl_khr_local_int32_base_atomics)
13072303233Sdimint __ovld atom_sub(volatile __local int *p, int val);
13073303233Sdimunsigned int __ovld atom_sub(volatile __local unsigned int *p, unsigned int val);
13074303233Sdim#endif
13075303233Sdim
13076303233Sdim#if defined(cl_khr_int64_base_atomics)
13077303233Sdimlong __ovld atom_sub(volatile __global long *p, long val);
13078303233Sdimunsigned long __ovld atom_sub(volatile __global unsigned long *p, unsigned long val);
13079303233Sdimlong __ovld atom_sub(volatile __local long *p, long val);
13080303233Sdimunsigned long __ovld atom_sub(volatile __local unsigned long *p, unsigned long val);
13081303233Sdim#endif
13082303233Sdim
13083303233Sdim/**
13084303233Sdim * Swaps the old value stored at location p
13085303233Sdim * with new value given by val. Returns old
13086303233Sdim * value.
13087303233Sdim */
13088303233Sdimint __ovld atomic_xchg(volatile __global int *p, int val);
13089303233Sdimunsigned int __ovld atomic_xchg(volatile __global unsigned int *p, unsigned int val);
13090303233Sdimint __ovld atomic_xchg(volatile __local int *p, int val);
13091303233Sdimunsigned int __ovld atomic_xchg(volatile __local unsigned int *p, unsigned int val);
13092303233Sdimfloat __ovld atomic_xchg(volatile __global float *p, float val);
13093303233Sdimfloat __ovld atomic_xchg(volatile __local float *p, float val);
13094353358Sdim#ifdef __OPENCL_CPP_VERSION__
13095353358Sdimint __ovld atomic_xchg(volatile int *p, int val);
13096353358Sdimunsigned int __ovld atomic_xchg(volatile unsigned int *p, unsigned int val);
13097353358Sdimfloat __ovld atomic_xchg(volatile float *p, float val);
13098353358Sdim#endif
13099303233Sdim
13100303233Sdim#if defined(cl_khr_global_int32_base_atomics)
13101303233Sdimint __ovld atom_xchg(volatile __global int *p, int val);
13102321369Sdimunsigned int __ovld atom_xchg(volatile __global unsigned int *p, unsigned int val);
13103303233Sdim#endif
13104303233Sdim#if defined(cl_khr_local_int32_base_atomics)
13105321369Sdimint __ovld atom_xchg(volatile __local int *p, int val);
13106303233Sdimunsigned int __ovld atom_xchg(volatile __local unsigned int *p, unsigned int val);
13107303233Sdim#endif
13108303233Sdim
13109303233Sdim#if defined(cl_khr_int64_base_atomics)
13110303233Sdimlong __ovld atom_xchg(volatile __global long *p, long val);
13111303233Sdimlong __ovld atom_xchg(volatile __local long *p, long val);
13112303233Sdimunsigned long __ovld atom_xchg(volatile __global unsigned long *p, unsigned long val);
13113303233Sdimunsigned long __ovld atom_xchg(volatile __local unsigned long *p, unsigned long val);
13114303233Sdim#endif
13115303233Sdim
13116303233Sdim/**
13117303233Sdim * Read the 32-bit value (referred to as old)
13118303233Sdim * stored at location pointed by p. Compute
13119303233Sdim * (old + 1) and store result at location
13120303233Sdim * pointed by p. The function returns old.
13121303233Sdim */
13122303233Sdimint __ovld atomic_inc(volatile __global int *p);
13123303233Sdimunsigned int __ovld atomic_inc(volatile __global unsigned int *p);
13124303233Sdimint __ovld atomic_inc(volatile __local int *p);
13125303233Sdimunsigned int __ovld atomic_inc(volatile __local unsigned int *p);
13126353358Sdim#ifdef __OPENCL_CPP_VERSION__
13127353358Sdimint __ovld atomic_inc(volatile int *p);
13128353358Sdimunsigned int __ovld atomic_inc(volatile unsigned int *p);
13129353358Sdim#endif
13130303233Sdim
13131303233Sdim#if defined(cl_khr_global_int32_base_atomics)
13132303233Sdimint __ovld atom_inc(volatile __global int *p);
13133303233Sdimunsigned int __ovld atom_inc(volatile __global unsigned int *p);
13134303233Sdim#endif
13135303233Sdim#if defined(cl_khr_local_int32_base_atomics)
13136303233Sdimint __ovld atom_inc(volatile __local int *p);
13137303233Sdimunsigned int __ovld atom_inc(volatile __local unsigned int *p);
13138303233Sdim#endif
13139303233Sdim
13140303233Sdim#if defined(cl_khr_int64_base_atomics)
13141303233Sdimlong __ovld atom_inc(volatile __global long *p);
13142303233Sdimunsigned long __ovld atom_inc(volatile __global unsigned long *p);
13143303233Sdimlong __ovld atom_inc(volatile __local long *p);
13144303233Sdimunsigned long __ovld atom_inc(volatile __local unsigned long *p);
13145303233Sdim#endif
13146303233Sdim
13147303233Sdim/**
13148303233Sdim * Read the 32-bit value (referred to as old)
13149303233Sdim * stored at location pointed by p. Compute
13150303233Sdim * (old - 1) and store result at location
13151303233Sdim * pointed by p. The function returns old.
13152303233Sdim */
13153303233Sdimint __ovld atomic_dec(volatile __global int *p);
13154303233Sdimunsigned int __ovld atomic_dec(volatile __global unsigned int *p);
13155303233Sdimint __ovld atomic_dec(volatile __local int *p);
13156303233Sdimunsigned int __ovld atomic_dec(volatile __local unsigned int *p);
13157353358Sdim#ifdef __OPENCL_CPP_VERSION__
13158353358Sdimint __ovld atomic_dec(volatile int *p);
13159353358Sdimunsigned int __ovld atomic_dec(volatile unsigned int *p);
13160353358Sdim#endif
13161303233Sdim
13162303233Sdim#if defined(cl_khr_global_int32_base_atomics)
13163303233Sdimint __ovld atom_dec(volatile __global int *p);
13164303233Sdimunsigned int __ovld atom_dec(volatile __global unsigned int *p);
13165303233Sdim#endif
13166303233Sdim#if defined(cl_khr_local_int32_base_atomics)
13167303233Sdimint __ovld atom_dec(volatile __local int *p);
13168303233Sdimunsigned int __ovld atom_dec(volatile __local unsigned int *p);
13169303233Sdim#endif
13170303233Sdim
13171303233Sdim#if defined(cl_khr_int64_base_atomics)
13172303233Sdimlong __ovld atom_dec(volatile __global long *p);
13173303233Sdimunsigned long __ovld atom_dec(volatile __global unsigned long *p);
13174303233Sdimlong __ovld atom_dec(volatile __local long *p);
13175303233Sdimunsigned long __ovld atom_dec(volatile __local unsigned long *p);
13176303233Sdim#endif
13177303233Sdim
13178303233Sdim/**
13179303233Sdim * Read the 32-bit value (referred to as old)
13180303233Sdim * stored at location pointed by p. Compute
13181303233Sdim * (old == cmp) ? val : old and store result at
13182303233Sdim * location pointed by p. The function
13183303233Sdim * returns old.
13184303233Sdim */
13185303233Sdimint __ovld atomic_cmpxchg(volatile __global int *p, int cmp, int val);
13186303233Sdimunsigned int __ovld atomic_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
13187303233Sdimint __ovld atomic_cmpxchg(volatile __local int *p, int cmp, int val);
13188303233Sdimunsigned int __ovld atomic_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
13189353358Sdim#ifdef __OPENCL_CPP_VERSION__
13190353358Sdimint __ovld atomic_cmpxchg(volatile int *p, int cmp, int val);
13191353358Sdimunsigned int __ovld atomic_cmpxchg(volatile unsigned int *p, unsigned int cmp, unsigned int val);
13192353358Sdim#endif
13193303233Sdim
13194303233Sdim#if defined(cl_khr_global_int32_base_atomics)
13195303233Sdimint __ovld atom_cmpxchg(volatile __global int *p, int cmp, int val);
13196303233Sdimunsigned int __ovld atom_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
13197303233Sdim#endif
13198303233Sdim#if defined(cl_khr_local_int32_base_atomics)
13199303233Sdimint __ovld atom_cmpxchg(volatile __local int *p, int cmp, int val);
13200303233Sdimunsigned int __ovld atom_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
13201303233Sdim#endif
13202303233Sdim
13203303233Sdim#if defined(cl_khr_int64_base_atomics)
13204303233Sdimlong __ovld atom_cmpxchg(volatile __global long *p, long cmp, long val);
13205303233Sdimunsigned long __ovld atom_cmpxchg(volatile __global unsigned long *p, unsigned long cmp, unsigned long val);
13206303233Sdimlong __ovld atom_cmpxchg(volatile __local long *p, long cmp, long val);
13207303233Sdimunsigned long __ovld atom_cmpxchg(volatile __local unsigned long *p, unsigned long cmp, unsigned long val);
13208303233Sdim#endif
13209303233Sdim
13210303233Sdim/**
13211303233Sdim * Read the 32-bit value (referred to as old)
13212303233Sdim * stored at location pointed by p. Compute
13213303233Sdim * min(old, val) and store minimum value at
13214303233Sdim * location pointed by p. The function
13215303233Sdim * returns old.
13216303233Sdim */
13217303233Sdimint __ovld atomic_min(volatile __global int *p, int val);
13218303233Sdimunsigned int __ovld atomic_min(volatile __global unsigned int *p, unsigned int val);
13219303233Sdimint __ovld atomic_min(volatile __local int *p, int val);
13220303233Sdimunsigned int __ovld atomic_min(volatile __local unsigned int *p, unsigned int val);
13221353358Sdim#ifdef __OPENCL_CPP_VERSION__
13222353358Sdimint __ovld atomic_min(volatile int *p, int val);
13223353358Sdimunsigned int __ovld atomic_min(volatile unsigned int *p, unsigned int val);
13224353358Sdim#endif
13225303233Sdim
13226303233Sdim#if defined(cl_khr_global_int32_extended_atomics)
13227303233Sdimint __ovld atom_min(volatile __global int *p, int val);
13228303233Sdimunsigned int __ovld atom_min(volatile __global unsigned int *p, unsigned int val);
13229303233Sdim#endif
13230303233Sdim#if defined(cl_khr_local_int32_extended_atomics)
13231303233Sdimint __ovld atom_min(volatile __local int *p, int val);
13232303233Sdimunsigned int __ovld atom_min(volatile __local unsigned int *p, unsigned int val);
13233303233Sdim#endif
13234303233Sdim
13235303233Sdim#if defined(cl_khr_int64_extended_atomics)
13236303233Sdimlong __ovld atom_min(volatile __global long *p, long val);
13237303233Sdimunsigned long __ovld atom_min(volatile __global unsigned long *p, unsigned long val);
13238303233Sdimlong __ovld atom_min(volatile __local long *p, long val);
13239303233Sdimunsigned long __ovld atom_min(volatile __local unsigned long *p, unsigned long val);
13240303233Sdim#endif
13241303233Sdim
13242303233Sdim/**
13243303233Sdim * Read the 32-bit value (referred to as old)
13244303233Sdim * stored at location pointed by p. Compute
13245303233Sdim * max(old, val) and store maximum value at
13246303233Sdim * location pointed by p. The function
13247303233Sdim * returns old.
13248303233Sdim */
13249303233Sdimint __ovld atomic_max(volatile __global int *p, int val);
13250303233Sdimunsigned int __ovld atomic_max(volatile __global unsigned int *p, unsigned int val);
13251303233Sdimint __ovld atomic_max(volatile __local int *p, int val);
13252303233Sdimunsigned int __ovld atomic_max(volatile __local unsigned int *p, unsigned int val);
13253353358Sdim#ifdef __OPENCL_CPP_VERSION__
13254353358Sdimint __ovld atomic_max(volatile int *p, int val);
13255353358Sdimunsigned int __ovld atomic_max(volatile unsigned int *p, unsigned int val);
13256353358Sdim#endif
13257303233Sdim
13258303233Sdim#if defined(cl_khr_global_int32_extended_atomics)
13259303233Sdimint __ovld atom_max(volatile __global int *p, int val);
13260303233Sdimunsigned int __ovld atom_max(volatile __global unsigned int *p, unsigned int val);
13261303233Sdim#endif
13262303233Sdim#if defined(cl_khr_local_int32_extended_atomics)
13263303233Sdimint __ovld atom_max(volatile __local int *p, int val);
13264303233Sdimunsigned int __ovld atom_max(volatile __local unsigned int *p, unsigned int val);
13265303233Sdim#endif
13266303233Sdim
13267303233Sdim#if defined(cl_khr_int64_extended_atomics)
13268303233Sdimlong __ovld atom_max(volatile __global long *p, long val);
13269303233Sdimunsigned long __ovld atom_max(volatile __global unsigned long *p, unsigned long val);
13270303233Sdimlong __ovld atom_max(volatile __local long *p, long val);
13271303233Sdimunsigned long __ovld atom_max(volatile __local unsigned long *p, unsigned long val);
13272303233Sdim#endif
13273303233Sdim
13274303233Sdim/**
13275303233Sdim * Read the 32-bit value (referred to as old)
13276303233Sdim * stored at location pointed by p. Compute
13277303233Sdim * (old & val) and store result at location
13278303233Sdim * pointed by p. The function returns old.
13279303233Sdim */
13280303233Sdimint __ovld atomic_and(volatile __global int *p, int val);
13281303233Sdimunsigned int __ovld atomic_and(volatile __global unsigned int *p, unsigned int val);
13282303233Sdimint __ovld atomic_and(volatile __local int *p, int val);
13283303233Sdimunsigned int __ovld atomic_and(volatile __local unsigned int *p, unsigned int val);
13284353358Sdim#ifdef __OPENCL_CPP_VERSION__
13285353358Sdimint __ovld atomic_and(volatile int *p, int val);
13286353358Sdimunsigned int __ovld atomic_and(volatile unsigned int *p, unsigned int val);
13287353358Sdim#endif
13288303233Sdim
13289303233Sdim#if defined(cl_khr_global_int32_extended_atomics)
13290303233Sdimint __ovld atom_and(volatile __global int *p, int val);
13291303233Sdimunsigned int __ovld atom_and(volatile __global unsigned int *p, unsigned int val);
13292303233Sdim#endif
13293303233Sdim#if defined(cl_khr_local_int32_extended_atomics)
13294303233Sdimint __ovld atom_and(volatile __local int *p, int val);
13295303233Sdimunsigned int __ovld atom_and(volatile __local unsigned int *p, unsigned int val);
13296303233Sdim#endif
13297303233Sdim
13298303233Sdim#if defined(cl_khr_int64_extended_atomics)
13299303233Sdimlong __ovld atom_and(volatile __global long *p, long val);
13300303233Sdimunsigned long __ovld atom_and(volatile __global unsigned long *p, unsigned long val);
13301303233Sdimlong __ovld atom_and(volatile __local long *p, long val);
13302303233Sdimunsigned long __ovld atom_and(volatile __local unsigned long *p, unsigned long val);
13303303233Sdim#endif
13304303233Sdim
13305303233Sdim/**
13306303233Sdim * Read the 32-bit value (referred to as old)
13307303233Sdim * stored at location pointed by p. Compute
13308303233Sdim * (old | val) and store result at location
13309303233Sdim * pointed by p. The function returns old.
13310303233Sdim */
13311303233Sdimint __ovld atomic_or(volatile __global int *p, int val);
13312303233Sdimunsigned int __ovld atomic_or(volatile __global unsigned int *p, unsigned int val);
13313303233Sdimint __ovld atomic_or(volatile __local int *p, int val);
13314303233Sdimunsigned int __ovld atomic_or(volatile __local unsigned int *p, unsigned int val);
13315353358Sdim#ifdef __OPENCL_CPP_VERSION__
13316353358Sdimint __ovld atomic_or(volatile int *p, int val);
13317353358Sdimunsigned int __ovld atomic_or(volatile unsigned int *p, unsigned int val);
13318353358Sdim#endif
13319303233Sdim
13320303233Sdim#if defined(cl_khr_global_int32_extended_atomics)
13321303233Sdimint __ovld atom_or(volatile __global int *p, int val);
13322303233Sdimunsigned int __ovld atom_or(volatile __global unsigned int *p, unsigned int val);
13323303233Sdim#endif
13324303233Sdim#if defined(cl_khr_local_int32_extended_atomics)
13325303233Sdimint __ovld atom_or(volatile __local int *p, int val);
13326303233Sdimunsigned int __ovld atom_or(volatile __local unsigned int *p, unsigned int val);
13327303233Sdim#endif
13328303233Sdim
13329303233Sdim#if defined(cl_khr_int64_extended_atomics)
13330303233Sdimlong __ovld atom_or(volatile __global long *p, long val);
13331303233Sdimunsigned long __ovld atom_or(volatile __global unsigned long *p, unsigned long val);
13332303233Sdimlong __ovld atom_or(volatile __local long *p, long val);
13333303233Sdimunsigned long __ovld atom_or(volatile __local unsigned long *p, unsigned long val);
13334303233Sdim#endif
13335303233Sdim
13336303233Sdim/**
13337303233Sdim * Read the 32-bit value (referred to as old)
13338303233Sdim * stored at location pointed by p. Compute
13339303233Sdim * (old ^ val) and store result at location
13340303233Sdim * pointed by p. The function returns old.
13341303233Sdim */
13342303233Sdimint __ovld atomic_xor(volatile __global int *p, int val);
13343303233Sdimunsigned int __ovld atomic_xor(volatile __global unsigned int *p, unsigned int val);
13344303233Sdimint __ovld atomic_xor(volatile __local int *p, int val);
13345303233Sdimunsigned int __ovld atomic_xor(volatile __local unsigned int *p, unsigned int val);
13346353358Sdim#ifdef __OPENCL_CPP_VERSION__
13347353358Sdimint __ovld atomic_xor(volatile int *p, int val);
13348353358Sdimunsigned int __ovld atomic_xor(volatile unsigned int *p, unsigned int val);
13349353358Sdim#endif
13350303233Sdim
13351303233Sdim#if defined(cl_khr_global_int32_extended_atomics)
13352303233Sdimint __ovld atom_xor(volatile __global int *p, int val);
13353303233Sdimunsigned int __ovld atom_xor(volatile __global unsigned int *p, unsigned int val);
13354303233Sdim#endif
13355303233Sdim#if defined(cl_khr_local_int32_extended_atomics)
13356303233Sdimint __ovld atom_xor(volatile __local int *p, int val);
13357303233Sdimunsigned int __ovld atom_xor(volatile __local unsigned int *p, unsigned int val);
13358303233Sdim#endif
13359303233Sdim
13360314564Sdim#if defined(cl_khr_int64_extended_atomics)
13361314564Sdimlong __ovld atom_xor(volatile __global long *p, long val);
13362314564Sdimunsigned long __ovld atom_xor(volatile __global unsigned long *p, unsigned long val);
13363314564Sdimlong __ovld atom_xor(volatile __local long *p, long val);
13364314564Sdimunsigned long __ovld atom_xor(volatile __local unsigned long *p, unsigned long val);
13365314564Sdim#endif
13366314564Sdim
13367303233Sdim#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13368303233Sdim#pragma OPENCL EXTENSION cl_khr_int64_base_atomics : disable
13369303233Sdim#pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : disable
13370303233Sdim#endif
13371303233Sdim
13372303233Sdim// OpenCL v2.0 s6.13.11 - Atomics Functions
13373303233Sdim
13374353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
13375303233Sdim
13376303233Sdim// double atomics support requires extensions cl_khr_int64_base_atomics and cl_khr_int64_extended_atomics
13377303233Sdim#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13378303233Sdim#pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
13379303233Sdim#pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
13380303233Sdim#endif
13381303233Sdim
13382303233Sdim// atomic_init()
13383303233Sdimvoid __ovld atomic_init(volatile atomic_int *object, int value);
13384303233Sdimvoid __ovld atomic_init(volatile atomic_uint *object, uint value);
13385303233Sdimvoid __ovld atomic_init(volatile atomic_float *object, float value);
13386303233Sdim#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13387303233Sdimvoid __ovld atomic_init(volatile atomic_long *object, long value);
13388303233Sdimvoid __ovld atomic_init(volatile atomic_ulong *object, ulong value);
13389303233Sdim#ifdef cl_khr_fp64
13390303233Sdimvoid __ovld atomic_init(volatile atomic_double *object, double value);
13391303233Sdim#endif //cl_khr_fp64
13392303233Sdim#endif
13393303233Sdim
13394303233Sdim// atomic_work_item_fence()
13395303233Sdimvoid __ovld atomic_work_item_fence(cl_mem_fence_flags flags, memory_order order, memory_scope scope);
13396303233Sdim
13397303233Sdim// atomic_fetch()
13398303233Sdim
13399303233Sdimint __ovld atomic_fetch_add(volatile atomic_int *object, int operand);
13400303233Sdimint __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order);
13401303233Sdimint __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13402303233Sdimuint __ovld atomic_fetch_add(volatile atomic_uint *object, uint operand);
13403303233Sdimuint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13404303233Sdimuint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13405303233Sdimint __ovld atomic_fetch_sub(volatile atomic_int *object, int operand);
13406303233Sdimint __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order);
13407303233Sdimint __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13408303233Sdimuint __ovld atomic_fetch_sub(volatile atomic_uint *object, uint operand);
13409303233Sdimuint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13410303233Sdimuint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13411303233Sdimint __ovld atomic_fetch_or(volatile atomic_int *object, int operand);
13412303233Sdimint __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order);
13413303233Sdimint __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13414303233Sdimuint __ovld atomic_fetch_or(volatile atomic_uint *object, uint operand);
13415303233Sdimuint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13416303233Sdimuint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13417303233Sdimint __ovld atomic_fetch_xor(volatile atomic_int *object, int operand);
13418303233Sdimint __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order);
13419303233Sdimint __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13420303233Sdimuint __ovld atomic_fetch_xor(volatile atomic_uint *object, uint operand);
13421303233Sdimuint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13422303233Sdimuint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13423303233Sdimint __ovld atomic_fetch_and(volatile atomic_int *object, int operand);
13424303233Sdimint __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order);
13425303233Sdimint __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13426303233Sdimuint __ovld atomic_fetch_and(volatile atomic_uint *object, uint operand);
13427303233Sdimuint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13428303233Sdimuint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13429303233Sdimint __ovld atomic_fetch_min(volatile atomic_int *object, int operand);
13430303233Sdimint __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order);
13431303233Sdimint __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13432303233Sdimuint __ovld atomic_fetch_min(volatile atomic_uint *object, uint operand);
13433303233Sdimuint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13434303233Sdimuint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13435303233Sdimuint __ovld atomic_fetch_min(volatile atomic_uint *object, int operand);
13436303233Sdimuint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, int operand, memory_order order);
13437303233Sdimuint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, int operand, memory_order order, memory_scope scope);
13438303233Sdimint __ovld atomic_fetch_max(volatile atomic_int *object, int operand);
13439303233Sdimint __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order);
13440303233Sdimint __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13441303233Sdimuint __ovld atomic_fetch_max(volatile atomic_uint *object, uint operand);
13442303233Sdimuint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13443303233Sdimuint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13444303233Sdimuint __ovld atomic_fetch_max(volatile atomic_uint *object, int operand);
13445303233Sdimuint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, int operand, memory_order order);
13446303233Sdimuint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, int operand, memory_order order, memory_scope scope);
13447303233Sdim
13448303233Sdim#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13449303233Sdimlong __ovld atomic_fetch_add(volatile atomic_long *object, long operand);
13450303233Sdimlong __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order);
13451303233Sdimlong __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13452303233Sdimulong __ovld atomic_fetch_add(volatile atomic_ulong *object, ulong operand);
13453303233Sdimulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13454303233Sdimulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13455303233Sdimlong __ovld atomic_fetch_sub(volatile atomic_long *object, long operand);
13456303233Sdimlong __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order);
13457303233Sdimlong __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13458303233Sdimulong __ovld atomic_fetch_sub(volatile atomic_ulong *object, ulong operand);
13459303233Sdimulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13460303233Sdimulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13461303233Sdimlong __ovld atomic_fetch_or(volatile atomic_long *object, long operand);
13462303233Sdimlong __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order);
13463303233Sdimlong __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13464303233Sdimulong __ovld atomic_fetch_or(volatile atomic_ulong *object, ulong operand);
13465303233Sdimulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13466303233Sdimulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13467303233Sdimlong __ovld atomic_fetch_xor(volatile atomic_long *object, long operand);
13468303233Sdimlong __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order);
13469303233Sdimlong __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13470303233Sdimulong __ovld atomic_fetch_xor(volatile atomic_ulong *object, ulong operand);
13471303233Sdimulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13472303233Sdimulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13473303233Sdimlong __ovld atomic_fetch_and(volatile atomic_long *object, long operand);
13474303233Sdimlong __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order);
13475303233Sdimlong __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13476303233Sdimulong __ovld atomic_fetch_and(volatile atomic_ulong *object, ulong operand);
13477303233Sdimulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13478303233Sdimulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13479303233Sdimlong __ovld atomic_fetch_min(volatile atomic_long *object, long operand);
13480303233Sdimlong __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order);
13481303233Sdimlong __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13482303233Sdimulong __ovld atomic_fetch_min(volatile atomic_ulong *object, ulong operand);
13483303233Sdimulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13484303233Sdimulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13485303233Sdimulong __ovld atomic_fetch_min(volatile atomic_ulong *object, long operand);
13486303233Sdimulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, long operand, memory_order order);
13487303233Sdimulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, long operand, memory_order order, memory_scope scope);
13488303233Sdimlong __ovld atomic_fetch_max(volatile atomic_long *object, long operand);
13489303233Sdimlong __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order);
13490303233Sdimlong __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13491303233Sdimulong __ovld atomic_fetch_max(volatile atomic_ulong *object, ulong operand);
13492303233Sdimulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13493303233Sdimulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13494303233Sdimulong __ovld atomic_fetch_max(volatile atomic_ulong *object, long operand);
13495303233Sdimulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, long operand, memory_order order);
13496303233Sdimulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, long operand, memory_order order, memory_scope scope);
13497303233Sdim#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13498303233Sdim
13499303233Sdim// OpenCL v2.0 s6.13.11.7.5:
13500303233Sdim// add/sub: atomic type argument can be uintptr_t/intptr_t, value type argument can be ptrdiff_t.
13501303233Sdim// or/xor/and/min/max: atomic type argument can be intptr_t/uintptr_t, value type argument can be intptr_t/uintptr_t.
13502303233Sdim
13503341825Sdim#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13504303233Sdimuintptr_t __ovld atomic_fetch_add(volatile atomic_uintptr_t *object, ptrdiff_t operand);
13505303233Sdimuintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
13506303233Sdimuintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
13507303233Sdimuintptr_t __ovld atomic_fetch_sub(volatile atomic_uintptr_t *object, ptrdiff_t operand);
13508303233Sdimuintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
13509303233Sdimuintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
13510303233Sdim
13511303233Sdimuintptr_t __ovld atomic_fetch_or(volatile atomic_uintptr_t *object, intptr_t operand);
13512303233Sdimuintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
13513303233Sdimuintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
13514303233Sdimuintptr_t __ovld atomic_fetch_xor(volatile atomic_uintptr_t *object, intptr_t operand);
13515303233Sdimuintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
13516303233Sdimuintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
13517303233Sdimuintptr_t __ovld atomic_fetch_and(volatile atomic_uintptr_t *object, intptr_t operand);
13518303233Sdimuintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
13519303233Sdimuintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
13520303233Sdimuintptr_t __ovld atomic_fetch_min(volatile atomic_uintptr_t *object, intptr_t opermax);
13521303233Sdimuintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
13522303233Sdimuintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
13523303233Sdimuintptr_t __ovld atomic_fetch_max(volatile atomic_uintptr_t *object, intptr_t opermax);
13524303233Sdimuintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
13525303233Sdimuintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
13526303233Sdim
13527303233Sdimintptr_t __ovld atomic_fetch_or(volatile atomic_intptr_t *object, uintptr_t operand);
13528303233Sdimintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
13529303233Sdimintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
13530303233Sdimintptr_t __ovld atomic_fetch_xor(volatile atomic_intptr_t *object, uintptr_t operand);
13531303233Sdimintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
13532303233Sdimintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
13533303233Sdimintptr_t __ovld atomic_fetch_and(volatile atomic_intptr_t *object, uintptr_t operand);
13534303233Sdimintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
13535303233Sdimintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
13536303233Sdimintptr_t __ovld atomic_fetch_min(volatile atomic_intptr_t *object, uintptr_t opermax);
13537303233Sdimintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
13538303233Sdimintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
13539303233Sdimintptr_t __ovld atomic_fetch_max(volatile atomic_intptr_t *object, uintptr_t opermax);
13540303233Sdimintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
13541303233Sdimintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
13542303233Sdim#endif
13543303233Sdim
13544303233Sdim// atomic_store()
13545303233Sdim
13546303233Sdimvoid __ovld atomic_store(volatile atomic_int *object, int desired);
13547303233Sdimvoid __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order);
13548303233Sdimvoid __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
13549303233Sdimvoid __ovld atomic_store(volatile atomic_uint *object, uint desired);
13550303233Sdimvoid __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order);
13551303233Sdimvoid __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
13552303233Sdimvoid __ovld atomic_store(volatile atomic_float *object, float desired);
13553303233Sdimvoid __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order);
13554303233Sdimvoid __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
13555303233Sdim#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13556303233Sdim#ifdef cl_khr_fp64
13557303233Sdimvoid __ovld atomic_store(volatile atomic_double *object, double desired);
13558303233Sdimvoid __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order);
13559303233Sdimvoid __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
13560303233Sdim#endif //cl_khr_fp64
13561303233Sdimvoid __ovld atomic_store(volatile atomic_long *object, long desired);
13562303233Sdimvoid __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order);
13563303233Sdimvoid __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
13564303233Sdimvoid __ovld atomic_store(volatile atomic_ulong *object, ulong desired);
13565303233Sdimvoid __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
13566303233Sdimvoid __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
13567303233Sdim#endif
13568303233Sdim
13569303233Sdim// atomic_load()
13570303233Sdim
13571303233Sdimint __ovld atomic_load(volatile atomic_int *object);
13572303233Sdimint __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order);
13573303233Sdimint __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order, memory_scope scope);
13574303233Sdimuint __ovld atomic_load(volatile atomic_uint *object);
13575303233Sdimuint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order);
13576303233Sdimuint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order, memory_scope scope);
13577303233Sdimfloat __ovld atomic_load(volatile atomic_float *object);
13578303233Sdimfloat __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order);
13579303233Sdimfloat __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order, memory_scope scope);
13580303233Sdim#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13581303233Sdim#ifdef cl_khr_fp64
13582303233Sdimdouble __ovld atomic_load(volatile atomic_double *object);
13583303233Sdimdouble __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order);
13584303233Sdimdouble __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order, memory_scope scope);
13585303233Sdim#endif //cl_khr_fp64
13586303233Sdimlong __ovld atomic_load(volatile atomic_long *object);
13587303233Sdimlong __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order);
13588303233Sdimlong __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order, memory_scope scope);
13589303233Sdimulong __ovld atomic_load(volatile atomic_ulong *object);
13590303233Sdimulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order);
13591303233Sdimulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order, memory_scope scope);
13592303233Sdim#endif
13593303233Sdim
13594303233Sdim// atomic_exchange()
13595303233Sdim
13596303233Sdimint __ovld atomic_exchange(volatile atomic_int *object, int desired);
13597303233Sdimint __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order);
13598303233Sdimint __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
13599303233Sdimuint __ovld atomic_exchange(volatile atomic_uint *object, uint desired);
13600303233Sdimuint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order);
13601303233Sdimuint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
13602303233Sdimfloat __ovld atomic_exchange(volatile atomic_float *object, float desired);
13603303233Sdimfloat __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order);
13604303233Sdimfloat __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
13605303233Sdim#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13606303233Sdim#ifdef cl_khr_fp64
13607303233Sdimdouble __ovld atomic_exchange(volatile atomic_double *object, double desired);
13608303233Sdimdouble __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order);
13609303233Sdimdouble __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
13610303233Sdim#endif //cl_khr_fp64
13611303233Sdimlong __ovld atomic_exchange(volatile atomic_long *object, long desired);
13612303233Sdimlong __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order);
13613303233Sdimlong __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
13614303233Sdimulong __ovld atomic_exchange(volatile atomic_ulong *object, ulong desired);
13615303233Sdimulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
13616303233Sdimulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
13617303233Sdim#endif
13618303233Sdim
13619303233Sdim// atomic_compare_exchange_strong() and atomic_compare_exchange_weak()
13620303233Sdim
13621303233Sdimbool __ovld atomic_compare_exchange_strong(volatile atomic_int *object, int *expected, int desired);
13622303233Sdimbool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
13623303233Sdim                                                                                 int desired, memory_order success, memory_order failure);
13624303233Sdimbool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
13625303233Sdim                                                                                 int desired, memory_order success, memory_order failure, memory_scope scope);
13626303233Sdimbool __ovld atomic_compare_exchange_strong(volatile atomic_uint *object, uint *expected, uint desired);
13627303233Sdimbool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
13628303233Sdim                                                                                 uint desired, memory_order success, memory_order failure);
13629303233Sdimbool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
13630303233Sdim                                                                                 uint desired, memory_order success, memory_order failure, memory_scope scope);
13631303233Sdimbool __ovld atomic_compare_exchange_weak(volatile atomic_int *object, int *expected, int desired);
13632303233Sdimbool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
13633303233Sdim                                                                                 int desired, memory_order success, memory_order failure);
13634303233Sdimbool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
13635303233Sdim                                                                                 int desired, memory_order success, memory_order failure, memory_scope scope);
13636303233Sdimbool __ovld atomic_compare_exchange_weak(volatile atomic_uint *object, uint *expected, uint desired);
13637303233Sdimbool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
13638303233Sdim                                                                                 uint desired, memory_order success, memory_order failure);
13639303233Sdimbool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
13640303233Sdim                                                                                 uint desired, memory_order success, memory_order failure, memory_scope scope);
13641303233Sdimbool __ovld atomic_compare_exchange_strong(volatile atomic_float *object, float *expected, float desired);
13642303233Sdimbool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
13643303233Sdim                                                                                 float desired, memory_order success, memory_order failure);
13644303233Sdimbool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
13645303233Sdim                                                                                 float desired, memory_order success, memory_order failure, memory_scope scope);
13646303233Sdimbool __ovld atomic_compare_exchange_weak(volatile atomic_float *object, float *expected, float desired);
13647303233Sdimbool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
13648303233Sdim                                                                                 float desired, memory_order success, memory_order failure);
13649303233Sdimbool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
13650303233Sdim                                                                                 float desired, memory_order success, memory_order failure, memory_scope scope);
13651303233Sdim#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13652303233Sdim#ifdef cl_khr_fp64
13653303233Sdimbool __ovld atomic_compare_exchange_strong(volatile atomic_double *object, double *expected, double desired);
13654303233Sdimbool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
13655303233Sdim                                                                                 double desired, memory_order success, memory_order failure);
13656303233Sdimbool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
13657303233Sdim                                                                                 double desired, memory_order success, memory_order failure, memory_scope scope);
13658303233Sdimbool __ovld atomic_compare_exchange_weak(volatile atomic_double *object, double *expected, double desired);
13659303233Sdimbool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
13660303233Sdim                                                                                 double desired, memory_order success, memory_order failure);
13661303233Sdimbool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
13662303233Sdim                                                                                 double desired, memory_order success, memory_order failure, memory_scope scope);
13663303233Sdim#endif //cl_khr_fp64
13664303233Sdimbool __ovld atomic_compare_exchange_strong(volatile atomic_long *object, long *expected, long desired);
13665303233Sdimbool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
13666303233Sdim                                                                                 long desired, memory_order success, memory_order failure);
13667303233Sdimbool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
13668303233Sdim                                                                                 long desired, memory_order success, memory_order failure, memory_scope scope);
13669303233Sdimbool __ovld atomic_compare_exchange_weak(volatile atomic_long *object, long *expected, long desired);
13670303233Sdimbool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
13671303233Sdim                                                                                 long desired, memory_order success, memory_order failure);
13672303233Sdimbool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
13673303233Sdim                                                                                 long desired, memory_order success, memory_order failure, memory_scope scope);
13674303233Sdimbool __ovld atomic_compare_exchange_strong(volatile atomic_ulong *object, ulong *expected, ulong desired);
13675303233Sdimbool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
13676303233Sdim                                                                                 ulong desired, memory_order success, memory_order failure);
13677303233Sdimbool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
13678303233Sdim                                                                                 ulong desired, memory_order success, memory_order failure, memory_scope scope);
13679303233Sdimbool __ovld atomic_compare_exchange_weak(volatile atomic_ulong *object, ulong *expected, ulong desired);
13680303233Sdimbool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
13681303233Sdim                                                                                 ulong desired, memory_order success, memory_order failure);
13682303233Sdimbool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
13683303233Sdim                                                                                 ulong desired, memory_order success, memory_order failure, memory_scope scope);
13684303233Sdim#endif
13685303233Sdim
13686303233Sdim// atomic_flag_test_and_set() and atomic_flag_clear()
13687303233Sdim
13688303233Sdimbool __ovld atomic_flag_test_and_set(volatile atomic_flag *object);
13689303233Sdimbool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order);
13690303233Sdimbool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
13691303233Sdimvoid __ovld atomic_flag_clear(volatile atomic_flag *object);
13692303233Sdimvoid __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order);
13693303233Sdimvoid __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
13694303233Sdim
13695353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
13696303233Sdim
13697303233Sdim// OpenCL v1.1 s6.11.12, v1.2 s6.12.12, v2.0 s6.13.12 - Miscellaneous Vector Functions
13698303233Sdim
13699303233Sdim/**
13700303233Sdim * The shuffle and shuffle2 built-in functions construct
13701303233Sdim * a permutation of elements from one or two input
13702303233Sdim * vectors respectively that are of the same type,
13703303233Sdim * returning a vector with the same element type as the
13704303233Sdim * input and length that is the same as the shuffle mask.
13705303233Sdim * The size of each element in the mask must match the
13706303233Sdim * size of each element in the result. For shuffle, only
13707303233Sdim * the ilogb(2m-1) least significant bits of each mask
13708303233Sdim * element are considered. For shuffle2, only the
13709303233Sdim * ilogb(2m-1)+1 least significant bits of each mask
13710303233Sdim * element are considered. Other bits in the mask shall
13711303233Sdim * be ignored.
13712303233Sdim * The elements of the input vectors are numbered from
13713303233Sdim * left to right across one or both of the vectors. For this
13714303233Sdim * purpose, the number of elements in a vector is given
13715303233Sdim * by vec_step(gentypem). The shuffle mask operand
13716303233Sdim * specifies, for each element of the result vector, which
13717303233Sdim * element of the one or two input vectors the result
13718303233Sdim * element gets.
13719303233Sdim * Examples:
13720303233Sdim * uint4 mask = (uint4)(3, 2,
13721303233Sdim * 1, 0);
13722303233Sdim * float4 a;
13723303233Sdim * float4 r = shuffle(a, mask);
13724303233Sdim * // r.s0123 = a.wzyx
13725303233Sdim * uint8 mask = (uint8)(0, 1, 2, 3,
13726303233Sdim * 4, 5, 6, 7);
13727303233Sdim * float4 a, b;
13728303233Sdim * float8 r = shuffle2(a, b, mask);
13729303233Sdim * // r.s0123 = a.xyzw
13730303233Sdim * // r.s4567 = b.xyzw
13731303233Sdim * uint4 mask;
13732303233Sdim * float8 a;
13733303233Sdim * float4 b;
13734303233Sdim * b = shuffle(a, mask);
13735303233Sdim * Examples that are not valid are:
13736303233Sdim * uint8 mask;
13737303233Sdim * short16 a;
13738303233Sdim * short8 b;
13739303233Sdim * b = shuffle(a, mask); <- not valid
13740303233Sdim */
13741303233Sdimchar2 __ovld __cnfn shuffle(char2 x, uchar2 mask);
13742303233Sdimchar2 __ovld __cnfn shuffle(char4 x, uchar2 mask);
13743303233Sdimchar2 __ovld __cnfn shuffle(char8 x, uchar2 mask);
13744303233Sdimchar2 __ovld __cnfn shuffle(char16 x, uchar2 mask);
13745303233Sdim
13746303233Sdimuchar2 __ovld __cnfn shuffle(uchar2 x, uchar2 mask);
13747303233Sdimuchar2 __ovld __cnfn shuffle(uchar4 x, uchar2 mask);
13748303233Sdimuchar2 __ovld __cnfn shuffle(uchar8 x, uchar2 mask);
13749303233Sdimuchar2 __ovld __cnfn shuffle(uchar16 x, uchar2 mask);
13750303233Sdim
13751303233Sdimshort2 __ovld __cnfn shuffle(short2 x, ushort2 mask);
13752303233Sdimshort2 __ovld __cnfn shuffle(short4 x, ushort2 mask);
13753303233Sdimshort2 __ovld __cnfn shuffle(short8 x, ushort2 mask);
13754303233Sdimshort2 __ovld __cnfn shuffle(short16 x, ushort2 mask);
13755303233Sdim
13756303233Sdimushort2 __ovld __cnfn shuffle(ushort2 x, ushort2 mask);
13757303233Sdimushort2 __ovld __cnfn shuffle(ushort4 x, ushort2 mask);
13758303233Sdimushort2 __ovld __cnfn shuffle(ushort8 x, ushort2 mask);
13759303233Sdimushort2 __ovld __cnfn shuffle(ushort16 x, ushort2 mask);
13760303233Sdim
13761303233Sdimint2 __ovld __cnfn shuffle(int2 x, uint2 mask);
13762303233Sdimint2 __ovld __cnfn shuffle(int4 x, uint2 mask);
13763303233Sdimint2 __ovld __cnfn shuffle(int8 x, uint2 mask);
13764303233Sdimint2 __ovld __cnfn shuffle(int16 x, uint2 mask);
13765303233Sdim
13766303233Sdimuint2 __ovld __cnfn shuffle(uint2 x, uint2 mask);
13767303233Sdimuint2 __ovld __cnfn shuffle(uint4 x, uint2 mask);
13768303233Sdimuint2 __ovld __cnfn shuffle(uint8 x, uint2 mask);
13769303233Sdimuint2 __ovld __cnfn shuffle(uint16 x, uint2 mask);
13770303233Sdim
13771303233Sdimlong2 __ovld __cnfn shuffle(long2 x, ulong2 mask);
13772303233Sdimlong2 __ovld __cnfn shuffle(long4 x, ulong2 mask);
13773303233Sdimlong2 __ovld __cnfn shuffle(long8 x, ulong2 mask);
13774303233Sdimlong2 __ovld __cnfn shuffle(long16 x, ulong2 mask);
13775303233Sdim
13776303233Sdimulong2 __ovld __cnfn shuffle(ulong2 x, ulong2 mask);
13777303233Sdimulong2 __ovld __cnfn shuffle(ulong4 x, ulong2 mask);
13778303233Sdimulong2 __ovld __cnfn shuffle(ulong8 x, ulong2 mask);
13779303233Sdimulong2 __ovld __cnfn shuffle(ulong16 x, ulong2 mask);
13780303233Sdim
13781303233Sdimfloat2 __ovld __cnfn shuffle(float2 x, uint2 mask);
13782303233Sdimfloat2 __ovld __cnfn shuffle(float4 x, uint2 mask);
13783303233Sdimfloat2 __ovld __cnfn shuffle(float8 x, uint2 mask);
13784303233Sdimfloat2 __ovld __cnfn shuffle(float16 x, uint2 mask);
13785303233Sdim
13786303233Sdimchar4 __ovld __cnfn shuffle(char2 x, uchar4 mask);
13787303233Sdimchar4 __ovld __cnfn shuffle(char4 x, uchar4 mask);
13788303233Sdimchar4 __ovld __cnfn shuffle(char8 x, uchar4 mask);
13789303233Sdimchar4 __ovld __cnfn shuffle(char16 x, uchar4 mask);
13790303233Sdim
13791303233Sdimuchar4 __ovld __cnfn shuffle(uchar2 x, uchar4 mask);
13792303233Sdimuchar4 __ovld __cnfn shuffle(uchar4 x, uchar4 mask);
13793303233Sdimuchar4 __ovld __cnfn shuffle(uchar8 x, uchar4 mask);
13794303233Sdimuchar4 __ovld __cnfn shuffle(uchar16 x, uchar4 mask);
13795303233Sdim
13796303233Sdimshort4 __ovld __cnfn shuffle(short2 x, ushort4 mask);
13797303233Sdimshort4 __ovld __cnfn shuffle(short4 x, ushort4 mask);
13798303233Sdimshort4 __ovld __cnfn shuffle(short8 x, ushort4 mask);
13799303233Sdimshort4 __ovld __cnfn shuffle(short16 x, ushort4 mask);
13800303233Sdim
13801303233Sdimushort4 __ovld __cnfn shuffle(ushort2 x, ushort4 mask);
13802303233Sdimushort4 __ovld __cnfn shuffle(ushort4 x, ushort4 mask);
13803303233Sdimushort4 __ovld __cnfn shuffle(ushort8 x, ushort4 mask);
13804303233Sdimushort4 __ovld __cnfn shuffle(ushort16 x, ushort4 mask);
13805303233Sdim
13806303233Sdimint4 __ovld __cnfn shuffle(int2 x, uint4 mask);
13807303233Sdimint4 __ovld __cnfn shuffle(int4 x, uint4 mask);
13808303233Sdimint4 __ovld __cnfn shuffle(int8 x, uint4 mask);
13809303233Sdimint4 __ovld __cnfn shuffle(int16 x, uint4 mask);
13810303233Sdim
13811303233Sdimuint4 __ovld __cnfn shuffle(uint2 x, uint4 mask);
13812303233Sdimuint4 __ovld __cnfn shuffle(uint4 x, uint4 mask);
13813303233Sdimuint4 __ovld __cnfn shuffle(uint8 x, uint4 mask);
13814303233Sdimuint4 __ovld __cnfn shuffle(uint16 x, uint4 mask);
13815303233Sdim
13816303233Sdimlong4 __ovld __cnfn shuffle(long2 x, ulong4 mask);
13817303233Sdimlong4 __ovld __cnfn shuffle(long4 x, ulong4 mask);
13818303233Sdimlong4 __ovld __cnfn shuffle(long8 x, ulong4 mask);
13819303233Sdimlong4 __ovld __cnfn shuffle(long16 x, ulong4 mask);
13820303233Sdim
13821303233Sdimulong4 __ovld __cnfn shuffle(ulong2 x, ulong4 mask);
13822303233Sdimulong4 __ovld __cnfn shuffle(ulong4 x, ulong4 mask);
13823303233Sdimulong4 __ovld __cnfn shuffle(ulong8 x, ulong4 mask);
13824303233Sdimulong4 __ovld __cnfn shuffle(ulong16 x, ulong4 mask);
13825303233Sdim
13826303233Sdimfloat4 __ovld __cnfn shuffle(float2 x, uint4 mask);
13827303233Sdimfloat4 __ovld __cnfn shuffle(float4 x, uint4 mask);
13828303233Sdimfloat4 __ovld __cnfn shuffle(float8 x, uint4 mask);
13829303233Sdimfloat4 __ovld __cnfn shuffle(float16 x, uint4 mask);
13830303233Sdim
13831303233Sdimchar8 __ovld __cnfn shuffle(char2 x, uchar8 mask);
13832303233Sdimchar8 __ovld __cnfn shuffle(char4 x, uchar8 mask);
13833303233Sdimchar8 __ovld __cnfn shuffle(char8 x, uchar8 mask);
13834303233Sdimchar8 __ovld __cnfn shuffle(char16 x, uchar8 mask);
13835303233Sdim
13836303233Sdimuchar8 __ovld __cnfn shuffle(uchar2 x, uchar8 mask);
13837303233Sdimuchar8 __ovld __cnfn shuffle(uchar4 x, uchar8 mask);
13838303233Sdimuchar8 __ovld __cnfn shuffle(uchar8 x, uchar8 mask);
13839303233Sdimuchar8 __ovld __cnfn shuffle(uchar16 x, uchar8 mask);
13840303233Sdim
13841303233Sdimshort8 __ovld __cnfn shuffle(short2 x, ushort8 mask);
13842303233Sdimshort8 __ovld __cnfn shuffle(short4 x, ushort8 mask);
13843303233Sdimshort8 __ovld __cnfn shuffle(short8 x, ushort8 mask);
13844303233Sdimshort8 __ovld __cnfn shuffle(short16 x, ushort8 mask);
13845303233Sdim
13846303233Sdimushort8 __ovld __cnfn shuffle(ushort2 x, ushort8 mask);
13847303233Sdimushort8 __ovld __cnfn shuffle(ushort4 x, ushort8 mask);
13848303233Sdimushort8 __ovld __cnfn shuffle(ushort8 x, ushort8 mask);
13849303233Sdimushort8 __ovld __cnfn shuffle(ushort16 x, ushort8 mask);
13850303233Sdim
13851303233Sdimint8 __ovld __cnfn shuffle(int2 x, uint8 mask);
13852303233Sdimint8 __ovld __cnfn shuffle(int4 x, uint8 mask);
13853303233Sdimint8 __ovld __cnfn shuffle(int8 x, uint8 mask);
13854303233Sdimint8 __ovld __cnfn shuffle(int16 x, uint8 mask);
13855303233Sdim
13856303233Sdimuint8 __ovld __cnfn shuffle(uint2 x, uint8 mask);
13857303233Sdimuint8 __ovld __cnfn shuffle(uint4 x, uint8 mask);
13858303233Sdimuint8 __ovld __cnfn shuffle(uint8 x, uint8 mask);
13859303233Sdimuint8 __ovld __cnfn shuffle(uint16 x, uint8 mask);
13860303233Sdim
13861303233Sdimlong8 __ovld __cnfn shuffle(long2 x, ulong8 mask);
13862303233Sdimlong8 __ovld __cnfn shuffle(long4 x, ulong8 mask);
13863303233Sdimlong8 __ovld __cnfn shuffle(long8 x, ulong8 mask);
13864303233Sdimlong8 __ovld __cnfn shuffle(long16 x, ulong8 mask);
13865303233Sdim
13866303233Sdimulong8 __ovld __cnfn shuffle(ulong2 x, ulong8 mask);
13867303233Sdimulong8 __ovld __cnfn shuffle(ulong4 x, ulong8 mask);
13868303233Sdimulong8 __ovld __cnfn shuffle(ulong8 x, ulong8 mask);
13869303233Sdimulong8 __ovld __cnfn shuffle(ulong16 x, ulong8 mask);
13870303233Sdim
13871303233Sdimfloat8 __ovld __cnfn shuffle(float2 x, uint8 mask);
13872303233Sdimfloat8 __ovld __cnfn shuffle(float4 x, uint8 mask);
13873303233Sdimfloat8 __ovld __cnfn shuffle(float8 x, uint8 mask);
13874303233Sdimfloat8 __ovld __cnfn shuffle(float16 x, uint8 mask);
13875303233Sdim
13876303233Sdimchar16 __ovld __cnfn shuffle(char2 x, uchar16 mask);
13877303233Sdimchar16 __ovld __cnfn shuffle(char4 x, uchar16 mask);
13878303233Sdimchar16 __ovld __cnfn shuffle(char8 x, uchar16 mask);
13879303233Sdimchar16 __ovld __cnfn shuffle(char16 x, uchar16 mask);
13880303233Sdim
13881303233Sdimuchar16 __ovld __cnfn shuffle(uchar2 x, uchar16 mask);
13882303233Sdimuchar16 __ovld __cnfn shuffle(uchar4 x, uchar16 mask);
13883303233Sdimuchar16 __ovld __cnfn shuffle(uchar8 x, uchar16 mask);
13884303233Sdimuchar16 __ovld __cnfn shuffle(uchar16 x, uchar16 mask);
13885303233Sdim
13886303233Sdimshort16 __ovld __cnfn shuffle(short2 x, ushort16 mask);
13887303233Sdimshort16 __ovld __cnfn shuffle(short4 x, ushort16 mask);
13888303233Sdimshort16 __ovld __cnfn shuffle(short8 x, ushort16 mask);
13889303233Sdimshort16 __ovld __cnfn shuffle(short16 x, ushort16 mask);
13890303233Sdim
13891303233Sdimushort16 __ovld __cnfn shuffle(ushort2 x, ushort16 mask);
13892303233Sdimushort16 __ovld __cnfn shuffle(ushort4 x, ushort16 mask);
13893303233Sdimushort16 __ovld __cnfn shuffle(ushort8 x, ushort16 mask);
13894303233Sdimushort16 __ovld __cnfn shuffle(ushort16 x, ushort16 mask);
13895303233Sdim
13896303233Sdimint16 __ovld __cnfn shuffle(int2 x, uint16 mask);
13897303233Sdimint16 __ovld __cnfn shuffle(int4 x, uint16 mask);
13898303233Sdimint16 __ovld __cnfn shuffle(int8 x, uint16 mask);
13899303233Sdimint16 __ovld __cnfn shuffle(int16 x, uint16 mask);
13900303233Sdim
13901303233Sdimuint16 __ovld __cnfn shuffle(uint2 x, uint16 mask);
13902303233Sdimuint16 __ovld __cnfn shuffle(uint4 x, uint16 mask);
13903303233Sdimuint16 __ovld __cnfn shuffle(uint8 x, uint16 mask);
13904303233Sdimuint16 __ovld __cnfn shuffle(uint16 x, uint16 mask);
13905303233Sdim
13906303233Sdimlong16 __ovld __cnfn shuffle(long2 x, ulong16 mask);
13907303233Sdimlong16 __ovld __cnfn shuffle(long4 x, ulong16 mask);
13908303233Sdimlong16 __ovld __cnfn shuffle(long8 x, ulong16 mask);
13909303233Sdimlong16 __ovld __cnfn shuffle(long16 x, ulong16 mask);
13910303233Sdim
13911303233Sdimulong16 __ovld __cnfn shuffle(ulong2 x, ulong16 mask);
13912303233Sdimulong16 __ovld __cnfn shuffle(ulong4 x, ulong16 mask);
13913303233Sdimulong16 __ovld __cnfn shuffle(ulong8 x, ulong16 mask);
13914303233Sdimulong16 __ovld __cnfn shuffle(ulong16 x, ulong16 mask);
13915303233Sdim
13916303233Sdimfloat16 __ovld __cnfn shuffle(float2 x, uint16 mask);
13917303233Sdimfloat16 __ovld __cnfn shuffle(float4 x, uint16 mask);
13918303233Sdimfloat16 __ovld __cnfn shuffle(float8 x, uint16 mask);
13919303233Sdimfloat16 __ovld __cnfn shuffle(float16 x, uint16 mask);
13920303233Sdim
13921303233Sdim#ifdef cl_khr_fp64
13922303233Sdimdouble2 __ovld __cnfn shuffle(double2 x, ulong2 mask);
13923303233Sdimdouble2 __ovld __cnfn shuffle(double4 x, ulong2 mask);
13924303233Sdimdouble2 __ovld __cnfn shuffle(double8 x, ulong2 mask);
13925303233Sdimdouble2 __ovld __cnfn shuffle(double16 x, ulong2 mask);
13926303233Sdim
13927303233Sdimdouble4 __ovld __cnfn shuffle(double2 x, ulong4 mask);
13928303233Sdimdouble4 __ovld __cnfn shuffle(double4 x, ulong4 mask);
13929303233Sdimdouble4 __ovld __cnfn shuffle(double8 x, ulong4 mask);
13930303233Sdimdouble4 __ovld __cnfn shuffle(double16 x, ulong4 mask);
13931303233Sdim
13932303233Sdimdouble8 __ovld __cnfn shuffle(double2 x, ulong8 mask);
13933303233Sdimdouble8 __ovld __cnfn shuffle(double4 x, ulong8 mask);
13934303233Sdimdouble8 __ovld __cnfn shuffle(double8 x, ulong8 mask);
13935303233Sdimdouble8 __ovld __cnfn shuffle(double16 x, ulong8 mask);
13936303233Sdim
13937303233Sdimdouble16 __ovld __cnfn shuffle(double2 x, ulong16 mask);
13938303233Sdimdouble16 __ovld __cnfn shuffle(double4 x, ulong16 mask);
13939303233Sdimdouble16 __ovld __cnfn shuffle(double8 x, ulong16 mask);
13940303233Sdimdouble16 __ovld __cnfn shuffle(double16 x, ulong16 mask);
13941303233Sdim#endif //cl_khr_fp64
13942303233Sdim
13943303233Sdim#ifdef cl_khr_fp16
13944303233Sdimhalf2 __ovld __cnfn shuffle(half2 x, ushort2 mask);
13945303233Sdimhalf2 __ovld __cnfn shuffle(half4 x, ushort2 mask);
13946303233Sdimhalf2 __ovld __cnfn shuffle(half8 x, ushort2 mask);
13947303233Sdimhalf2 __ovld __cnfn shuffle(half16 x, ushort2 mask);
13948303233Sdim
13949303233Sdimhalf4 __ovld __cnfn shuffle(half2 x, ushort4 mask);
13950303233Sdimhalf4 __ovld __cnfn shuffle(half4 x, ushort4 mask);
13951303233Sdimhalf4 __ovld __cnfn shuffle(half8 x, ushort4 mask);
13952303233Sdimhalf4 __ovld __cnfn shuffle(half16 x, ushort4 mask);
13953303233Sdim
13954303233Sdimhalf8 __ovld __cnfn shuffle(half2 x, ushort8 mask);
13955303233Sdimhalf8 __ovld __cnfn shuffle(half4 x, ushort8 mask);
13956303233Sdimhalf8 __ovld __cnfn shuffle(half8 x, ushort8 mask);
13957303233Sdimhalf8 __ovld __cnfn shuffle(half16 x, ushort8 mask);
13958303233Sdim
13959303233Sdimhalf16 __ovld __cnfn shuffle(half2 x, ushort16 mask);
13960303233Sdimhalf16 __ovld __cnfn shuffle(half4 x, ushort16 mask);
13961303233Sdimhalf16 __ovld __cnfn shuffle(half8 x, ushort16 mask);
13962303233Sdimhalf16 __ovld __cnfn shuffle(half16 x, ushort16 mask);
13963303233Sdim#endif //cl_khr_fp16
13964303233Sdim
13965303233Sdimchar2 __ovld __cnfn shuffle2(char2 x, char2 y, uchar2 mask);
13966303233Sdimchar2 __ovld __cnfn shuffle2(char4 x, char4 y, uchar2 mask);
13967303233Sdimchar2 __ovld __cnfn shuffle2(char8 x, char8 y, uchar2 mask);
13968303233Sdimchar2 __ovld __cnfn shuffle2(char16 x, char16 y, uchar2 mask);
13969303233Sdim
13970303233Sdimuchar2 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar2 mask);
13971303233Sdimuchar2 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar2 mask);
13972303233Sdimuchar2 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar2 mask);
13973303233Sdimuchar2 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar2 mask);
13974303233Sdim
13975303233Sdimshort2 __ovld __cnfn shuffle2(short2 x, short2 y, ushort2 mask);
13976303233Sdimshort2 __ovld __cnfn shuffle2(short4 x, short4 y, ushort2 mask);
13977303233Sdimshort2 __ovld __cnfn shuffle2(short8 x, short8 y, ushort2 mask);
13978303233Sdimshort2 __ovld __cnfn shuffle2(short16 x, short16 y, ushort2 mask);
13979303233Sdim
13980303233Sdimushort2 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort2 mask);
13981303233Sdimushort2 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort2 mask);
13982303233Sdimushort2 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort2 mask);
13983303233Sdimushort2 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort2 mask);
13984303233Sdim
13985303233Sdimint2 __ovld __cnfn shuffle2(int2 x, int2 y, uint2 mask);
13986303233Sdimint2 __ovld __cnfn shuffle2(int4 x, int4 y, uint2 mask);
13987303233Sdimint2 __ovld __cnfn shuffle2(int8 x, int8 y, uint2 mask);
13988303233Sdimint2 __ovld __cnfn shuffle2(int16 x, int16 y, uint2 mask);
13989303233Sdim
13990303233Sdimuint2 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint2 mask);
13991303233Sdimuint2 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint2 mask);
13992303233Sdimuint2 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint2 mask);
13993303233Sdimuint2 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint2 mask);
13994303233Sdim
13995303233Sdimlong2 __ovld __cnfn shuffle2(long2 x, long2 y, ulong2 mask);
13996303233Sdimlong2 __ovld __cnfn shuffle2(long4 x, long4 y, ulong2 mask);
13997303233Sdimlong2 __ovld __cnfn shuffle2(long8 x, long8 y, ulong2 mask);
13998303233Sdimlong2 __ovld __cnfn shuffle2(long16 x, long16 y, ulong2 mask);
13999303233Sdim
14000303233Sdimulong2 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong2 mask);
14001303233Sdimulong2 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong2 mask);
14002303233Sdimulong2 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong2 mask);
14003303233Sdimulong2 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong2 mask);
14004303233Sdim
14005303233Sdimfloat2 __ovld __cnfn shuffle2(float2 x, float2 y, uint2 mask);
14006303233Sdimfloat2 __ovld __cnfn shuffle2(float4 x, float4 y, uint2 mask);
14007303233Sdimfloat2 __ovld __cnfn shuffle2(float8 x, float8 y, uint2 mask);
14008303233Sdimfloat2 __ovld __cnfn shuffle2(float16 x, float16 y, uint2 mask);
14009303233Sdim
14010303233Sdimchar4 __ovld __cnfn shuffle2(char2 x, char2 y, uchar4 mask);
14011303233Sdimchar4 __ovld __cnfn shuffle2(char4 x, char4 y, uchar4 mask);
14012303233Sdimchar4 __ovld __cnfn shuffle2(char8 x, char8 y, uchar4 mask);
14013303233Sdimchar4 __ovld __cnfn shuffle2(char16 x, char16 y, uchar4 mask);
14014303233Sdim
14015303233Sdimuchar4 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar4 mask);
14016303233Sdimuchar4 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar4 mask);
14017303233Sdimuchar4 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar4 mask);
14018303233Sdimuchar4 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar4 mask);
14019303233Sdim
14020303233Sdimshort4 __ovld __cnfn shuffle2(short2 x, short2 y, ushort4 mask);
14021303233Sdimshort4 __ovld __cnfn shuffle2(short4 x, short4 y, ushort4 mask);
14022303233Sdimshort4 __ovld __cnfn shuffle2(short8 x, short8 y, ushort4 mask);
14023303233Sdimshort4 __ovld __cnfn shuffle2(short16 x, short16 y, ushort4 mask);
14024303233Sdim
14025303233Sdimushort4 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort4 mask);
14026303233Sdimushort4 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort4 mask);
14027303233Sdimushort4 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort4 mask);
14028303233Sdimushort4 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort4 mask);
14029303233Sdim
14030303233Sdimint4 __ovld __cnfn shuffle2(int2 x, int2 y, uint4 mask);
14031303233Sdimint4 __ovld __cnfn shuffle2(int4 x, int4 y, uint4 mask);
14032303233Sdimint4 __ovld __cnfn shuffle2(int8 x, int8 y, uint4 mask);
14033303233Sdimint4 __ovld __cnfn shuffle2(int16 x, int16 y, uint4 mask);
14034303233Sdim
14035303233Sdimuint4 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint4 mask);
14036303233Sdimuint4 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint4 mask);
14037303233Sdimuint4 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint4 mask);
14038303233Sdimuint4 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint4 mask);
14039303233Sdim
14040303233Sdimlong4 __ovld __cnfn shuffle2(long2 x, long2 y, ulong4 mask);
14041303233Sdimlong4 __ovld __cnfn shuffle2(long4 x, long4 y, ulong4 mask);
14042303233Sdimlong4 __ovld __cnfn shuffle2(long8 x, long8 y, ulong4 mask);
14043303233Sdimlong4 __ovld __cnfn shuffle2(long16 x, long16 y, ulong4 mask);
14044303233Sdim
14045303233Sdimulong4 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong4 mask);
14046303233Sdimulong4 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong4 mask);
14047303233Sdimulong4 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong4 mask);
14048303233Sdimulong4 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong4 mask);
14049303233Sdim
14050303233Sdimfloat4 __ovld __cnfn shuffle2(float2 x, float2 y, uint4 mask);
14051303233Sdimfloat4 __ovld __cnfn shuffle2(float4 x, float4 y, uint4 mask);
14052303233Sdimfloat4 __ovld __cnfn shuffle2(float8 x, float8 y, uint4 mask);
14053303233Sdimfloat4 __ovld __cnfn shuffle2(float16 x, float16 y, uint4 mask);
14054303233Sdim
14055303233Sdimchar8 __ovld __cnfn shuffle2(char2 x, char2 y, uchar8 mask);
14056303233Sdimchar8 __ovld __cnfn shuffle2(char4 x, char4 y, uchar8 mask);
14057303233Sdimchar8 __ovld __cnfn shuffle2(char8 x, char8 y, uchar8 mask);
14058303233Sdimchar8 __ovld __cnfn shuffle2(char16 x, char16 y, uchar8 mask);
14059303233Sdim
14060303233Sdimuchar8 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar8 mask);
14061303233Sdimuchar8 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar8 mask);
14062303233Sdimuchar8 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar8 mask);
14063303233Sdimuchar8 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar8 mask);
14064303233Sdim
14065303233Sdimshort8 __ovld __cnfn shuffle2(short2 x, short2 y, ushort8 mask);
14066303233Sdimshort8 __ovld __cnfn shuffle2(short4 x, short4 y, ushort8 mask);
14067303233Sdimshort8 __ovld __cnfn shuffle2(short8 x, short8 y, ushort8 mask);
14068303233Sdimshort8 __ovld __cnfn shuffle2(short16 x, short16 y, ushort8 mask);
14069303233Sdim
14070303233Sdimushort8 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort8 mask);
14071303233Sdimushort8 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort8 mask);
14072303233Sdimushort8 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort8 mask);
14073303233Sdimushort8 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort8 mask);
14074303233Sdim
14075303233Sdimint8 __ovld __cnfn shuffle2(int2 x, int2 y, uint8 mask);
14076303233Sdimint8 __ovld __cnfn shuffle2(int4 x, int4 y, uint8 mask);
14077303233Sdimint8 __ovld __cnfn shuffle2(int8 x, int8 y, uint8 mask);
14078303233Sdimint8 __ovld __cnfn shuffle2(int16 x, int16 y, uint8 mask);
14079303233Sdim
14080303233Sdimuint8 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint8 mask);
14081303233Sdimuint8 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint8 mask);
14082303233Sdimuint8 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint8 mask);
14083303233Sdimuint8 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint8 mask);
14084303233Sdim
14085303233Sdimlong8 __ovld __cnfn shuffle2(long2 x, long2 y, ulong8 mask);
14086303233Sdimlong8 __ovld __cnfn shuffle2(long4 x, long4 y, ulong8 mask);
14087303233Sdimlong8 __ovld __cnfn shuffle2(long8 x, long8 y, ulong8 mask);
14088303233Sdimlong8 __ovld __cnfn shuffle2(long16 x, long16 y, ulong8 mask);
14089303233Sdim
14090303233Sdimulong8 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong8 mask);
14091303233Sdimulong8 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong8 mask);
14092303233Sdimulong8 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong8 mask);
14093303233Sdimulong8 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong8 mask);
14094303233Sdim
14095303233Sdimfloat8 __ovld __cnfn shuffle2(float2 x, float2 y, uint8 mask);
14096303233Sdimfloat8 __ovld __cnfn shuffle2(float4 x, float4 y, uint8 mask);
14097303233Sdimfloat8 __ovld __cnfn shuffle2(float8 x, float8 y, uint8 mask);
14098303233Sdimfloat8 __ovld __cnfn shuffle2(float16 x, float16 y, uint8 mask);
14099303233Sdim
14100303233Sdimchar16 __ovld __cnfn shuffle2(char2 x, char2 y, uchar16 mask);
14101303233Sdimchar16 __ovld __cnfn shuffle2(char4 x, char4 y, uchar16 mask);
14102303233Sdimchar16 __ovld __cnfn shuffle2(char8 x, char8 y, uchar16 mask);
14103303233Sdimchar16 __ovld __cnfn shuffle2(char16 x, char16 y, uchar16 mask);
14104303233Sdim
14105303233Sdimuchar16 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar16 mask);
14106303233Sdimuchar16 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar16 mask);
14107303233Sdimuchar16 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar16 mask);
14108303233Sdimuchar16 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar16 mask);
14109303233Sdim
14110303233Sdimshort16 __ovld __cnfn shuffle2(short2 x, short2 y, ushort16 mask);
14111303233Sdimshort16 __ovld __cnfn shuffle2(short4 x, short4 y, ushort16 mask);
14112303233Sdimshort16 __ovld __cnfn shuffle2(short8 x, short8 y, ushort16 mask);
14113303233Sdimshort16 __ovld __cnfn shuffle2(short16 x, short16 y, ushort16 mask);
14114303233Sdim
14115303233Sdimushort16 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort16 mask);
14116303233Sdimushort16 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort16 mask);
14117303233Sdimushort16 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort16 mask);
14118303233Sdimushort16 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort16 mask);
14119303233Sdim
14120303233Sdimint16 __ovld __cnfn shuffle2(int2 x, int2 y, uint16 mask);
14121303233Sdimint16 __ovld __cnfn shuffle2(int4 x, int4 y, uint16 mask);
14122303233Sdimint16 __ovld __cnfn shuffle2(int8 x, int8 y, uint16 mask);
14123303233Sdimint16 __ovld __cnfn shuffle2(int16 x, int16 y, uint16 mask);
14124303233Sdim
14125303233Sdimuint16 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint16 mask);
14126303233Sdimuint16 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint16 mask);
14127303233Sdimuint16 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint16 mask);
14128303233Sdimuint16 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint16 mask);
14129303233Sdim
14130303233Sdimlong16 __ovld __cnfn shuffle2(long2 x, long2 y, ulong16 mask);
14131303233Sdimlong16 __ovld __cnfn shuffle2(long4 x, long4 y, ulong16 mask);
14132303233Sdimlong16 __ovld __cnfn shuffle2(long8 x, long8 y, ulong16 mask);
14133303233Sdimlong16 __ovld __cnfn shuffle2(long16 x, long16 y, ulong16 mask);
14134303233Sdim
14135303233Sdimulong16 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong16 mask);
14136303233Sdimulong16 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong16 mask);
14137303233Sdimulong16 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong16 mask);
14138303233Sdimulong16 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong16 mask);
14139303233Sdim
14140303233Sdimfloat16 __ovld __cnfn shuffle2(float2 x, float2 y, uint16 mask);
14141303233Sdimfloat16 __ovld __cnfn shuffle2(float4 x, float4 y, uint16 mask);
14142303233Sdimfloat16 __ovld __cnfn shuffle2(float8 x, float8 y, uint16 mask);
14143303233Sdimfloat16 __ovld __cnfn shuffle2(float16 x, float16 y, uint16 mask);
14144303233Sdim
14145303233Sdim#ifdef cl_khr_fp64
14146303233Sdimdouble2 __ovld __cnfn shuffle2(double2 x, double2 y, ulong2 mask);
14147303233Sdimdouble2 __ovld __cnfn shuffle2(double4 x, double4 y, ulong2 mask);
14148303233Sdimdouble2 __ovld __cnfn shuffle2(double8 x, double8 y, ulong2 mask);
14149303233Sdimdouble2 __ovld __cnfn shuffle2(double16 x, double16 y, ulong2 mask);
14150303233Sdim
14151303233Sdimdouble4 __ovld __cnfn shuffle2(double2 x, double2 y, ulong4 mask);
14152303233Sdimdouble4 __ovld __cnfn shuffle2(double4 x, double4 y, ulong4 mask);
14153303233Sdimdouble4 __ovld __cnfn shuffle2(double8 x, double8 y, ulong4 mask);
14154303233Sdimdouble4 __ovld __cnfn shuffle2(double16 x, double16 y, ulong4 mask);
14155303233Sdim
14156303233Sdimdouble8 __ovld __cnfn shuffle2(double2 x, double2 y, ulong8 mask);
14157303233Sdimdouble8 __ovld __cnfn shuffle2(double4 x, double4 y, ulong8 mask);
14158303233Sdimdouble8 __ovld __cnfn shuffle2(double8 x, double8 y, ulong8 mask);
14159303233Sdimdouble8 __ovld __cnfn shuffle2(double16 x, double16 y, ulong8 mask);
14160303233Sdim
14161303233Sdimdouble16 __ovld __cnfn shuffle2(double2 x, double2 y, ulong16 mask);
14162303233Sdimdouble16 __ovld __cnfn shuffle2(double4 x, double4 y, ulong16 mask);
14163303233Sdimdouble16 __ovld __cnfn shuffle2(double8 x, double8 y, ulong16 mask);
14164303233Sdimdouble16 __ovld __cnfn shuffle2(double16 x, double16 y, ulong16 mask);
14165303233Sdim#endif //cl_khr_fp64
14166303233Sdim
14167303233Sdim#ifdef cl_khr_fp16
14168303233Sdimhalf2 __ovld __cnfn shuffle2(half2 x, half2 y, ushort2 mask);
14169303233Sdimhalf2 __ovld __cnfn shuffle2(half4 x, half4 y, ushort2 mask);
14170303233Sdimhalf2 __ovld __cnfn shuffle2(half8 x, half8 y, ushort2 mask);
14171303233Sdimhalf2 __ovld __cnfn shuffle2(half16 x, half16 y, ushort2 mask);
14172303233Sdim
14173303233Sdimhalf4 __ovld __cnfn shuffle2(half2 x, half2 y, ushort4 mask);
14174303233Sdimhalf4 __ovld __cnfn shuffle2(half4 x, half4 y, ushort4 mask);
14175303233Sdimhalf4 __ovld __cnfn shuffle2(half8 x, half8 y, ushort4 mask);
14176303233Sdimhalf4 __ovld __cnfn shuffle2(half16 x, half16 y, ushort4 mask);
14177303233Sdim
14178303233Sdimhalf8 __ovld __cnfn shuffle2(half2 x, half2 y, ushort8 mask);
14179303233Sdimhalf8 __ovld __cnfn shuffle2(half4 x, half4 y, ushort8 mask);
14180303233Sdimhalf8 __ovld __cnfn shuffle2(half8 x, half8 y, ushort8 mask);
14181303233Sdimhalf8 __ovld __cnfn shuffle2(half16 x, half16 y, ushort8 mask);
14182303233Sdim
14183303233Sdimhalf16 __ovld __cnfn shuffle2(half2 x, half2 y, ushort16 mask);
14184303233Sdimhalf16 __ovld __cnfn shuffle2(half4 x, half4 y, ushort16 mask);
14185303233Sdimhalf16 __ovld __cnfn shuffle2(half8 x, half8 y, ushort16 mask);
14186303233Sdimhalf16 __ovld __cnfn shuffle2(half16 x, half16 y, ushort16 mask);
14187303233Sdim#endif //cl_khr_fp16
14188303233Sdim
14189353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14190303233Sdim// OpenCL v1.2 s6.12.13, v2.0 s6.13.13 - printf
14191303233Sdim
14192353358Sdimint printf(__constant const char* st, ...) __attribute__((format(printf, 1, 2)));
14193314564Sdim#endif
14194303233Sdim
14195303233Sdim// OpenCL v1.1 s6.11.3, v1.2 s6.12.14, v2.0 s6.13.14 - Image Read and Write Functions
14196303233Sdim
14197314564Sdim#ifdef cl_khr_gl_msaa_sharing
14198314564Sdim#pragma OPENCL EXTENSION cl_khr_gl_msaa_sharing : enable
14199314564Sdim#endif //cl_khr_gl_msaa_sharing
14200314564Sdim
14201303233Sdim/**
14202303233Sdim * Use the coordinate (coord.xy) to do an element lookup in
14203303233Sdim * the 2D image object specified by image.
14204303233Sdim *
14205303233Sdim * Use the coordinate (coord.x, coord.y, coord.z) to do
14206303233Sdim * an element lookup in the 3D image object specified
14207303233Sdim * by image. coord.w is ignored.
14208303233Sdim *
14209303233Sdim * Use the coordinate (coord.z) to index into the
14210303233Sdim * 2D image array object specified by image_array
14211303233Sdim * and (coord.x, coord.y) to do an element lookup in
14212303233Sdim * the 2D image object specified by image.
14213303233Sdim *
14214303233Sdim * Use the coordinate (x) to do an element lookup in
14215303233Sdim * the 1D image object specified by image.
14216303233Sdim *
14217303233Sdim * Use the coordinate (coord.y) to index into the
14218303233Sdim * 1D image array object specified by image_array
14219303233Sdim * and (coord.x) to do an element lookup in
14220303233Sdim * the 1D image object specified by image.
14221303233Sdim *
14222303233Sdim * Use the coordinate (cood.xy) and sample to do an
14223303233Sdim * element lookup in the 2D multi-sample image specified
14224303233Sdim * by image.
14225303233Sdim *
14226303233Sdim * Use coord.xy and sample to do an element
14227303233Sdim * lookup in the 2D multi-sample image layer
14228303233Sdim * identified by index coord.z in the 2D multi-sample
14229303233Sdim * image array specified by image.
14230303233Sdim *
14231303233Sdim * For mipmap images, use the mip-level specified by
14232303233Sdim * the Level-of-Detail (lod) or use gradients for LOD
14233303233Sdim * computation.
14234303233Sdim *
14235303233Sdim * read_imagef returns floating-point values in the
14236303233Sdim * range [0.0 ... 1.0] for image objects created with
14237303233Sdim * image_channel_data_type set to one of the predefined
14238303233Sdim * packed formats or CL_UNORM_INT8, or
14239303233Sdim * CL_UNORM_INT16.
14240303233Sdim *
14241303233Sdim * read_imagef returns floating-point values in the
14242303233Sdim * range [-1.0 ... 1.0] for image objects created with
14243303233Sdim * image_channel_data_type set to CL_SNORM_INT8,
14244303233Sdim * or CL_SNORM_INT16.
14245303233Sdim *
14246303233Sdim * read_imagef returns floating-point values for image
14247303233Sdim * objects created with image_channel_data_type set to
14248303233Sdim * CL_HALF_FLOAT or CL_FLOAT.
14249303233Sdim *
14250303233Sdim * read_imagei and read_imageui return
14251303233Sdim * unnormalized signed integer and unsigned integer
14252303233Sdim * values respectively. Each channel will be stored in a
14253303233Sdim * 32-bit integer.
14254303233Sdim *
14255303233Sdim * read_imagei can only be used with image objects
14256303233Sdim * created with image_channel_data_type set to one of
14257303233Sdim * the following values:
14258303233Sdim * CL_SIGNED_INT8,
14259303233Sdim * CL_SIGNED_INT16 and
14260303233Sdim * CL_SIGNED_INT32.
14261303233Sdim * If the image_channel_data_type is not one of the
14262303233Sdim * above values, the values returned by read_imagei
14263303233Sdim * are undefined.
14264303233Sdim *
14265303233Sdim * read_imageui can only be used with image objects
14266303233Sdim * created with image_channel_data_type set to one of
14267303233Sdim * the following values:
14268303233Sdim * CL_UNSIGNED_INT8,
14269303233Sdim * CL_UNSIGNED_INT16 and
14270303233Sdim * CL_UNSIGNED_INT32.
14271303233Sdim * If the image_channel_data_type is not one of the
14272303233Sdim * above values, the values returned by read_imageui
14273303233Sdim * are undefined.
14274303233Sdim *
14275303233Sdim * The read_image{i|ui} calls support a nearest filter
14276303233Sdim * only. The filter_mode specified in sampler
14277303233Sdim * must be set to CLK_FILTER_NEAREST; otherwise
14278303233Sdim * the values returned are undefined.
14279341825Sdim
14280303233Sdim * The read_image{f|i|ui} calls that take
14281303233Sdim * integer coordinates must use a sampler with
14282303233Sdim * normalized coordinates set to
14283303233Sdim * CLK_NORMALIZED_COORDS_FALSE and
14284303233Sdim * addressing mode set to
14285303233Sdim * CLK_ADDRESS_CLAMP_TO_EDGE,
14286303233Sdim * CLK_ADDRESS_CLAMP or CLK_ADDRESS_NONE;
14287303233Sdim * otherwise the values returned are undefined.
14288303233Sdim *
14289303233Sdim * Values returned by read_imagef for image objects
14290303233Sdim * with image_channel_data_type values not specified
14291303233Sdim * in the description above are undefined.
14292303233Sdim */
14293303233Sdim
14294303233Sdimfloat4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, int2 coord);
14295303233Sdimfloat4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord);
14296303233Sdim
14297303233Sdimint4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, int2 coord);
14298303233Sdimint4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord);
14299303233Sdimuint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, int2 coord);
14300303233Sdimuint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord);
14301303233Sdim
14302303233Sdimfloat4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, int4 coord);
14303303233Sdimfloat4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord);
14304303233Sdim
14305303233Sdimint4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, int4 coord);
14306303233Sdimint4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord);
14307303233Sdimuint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, int4 coord);
14308303233Sdimuint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord);
14309303233Sdim
14310353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14311303233Sdimfloat4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
14312303233Sdimfloat4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
14313303233Sdim
14314303233Sdimint4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
14315303233Sdimint4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
14316303233Sdimuint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
14317303233Sdimuint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
14318353358Sdim#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14319303233Sdim
14320303233Sdimfloat4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, int coord);
14321303233Sdimfloat4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord);
14322303233Sdim
14323303233Sdimint4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, int coord);
14324303233Sdimint4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord);
14325303233Sdimuint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, int coord);
14326303233Sdimuint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord);
14327303233Sdim
14328353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14329303233Sdimfloat4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
14330303233Sdimfloat4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
14331303233Sdim
14332303233Sdimint4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
14333303233Sdimint4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
14334303233Sdimuint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
14335303233Sdimuint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
14336353358Sdim#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14337303233Sdim
14338303233Sdim#ifdef cl_khr_depth_images
14339303233Sdimfloat __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord);
14340303233Sdimfloat __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, int2 coord);
14341303233Sdim
14342303233Sdimfloat __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord);
14343303233Sdimfloat __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, int4 coord);
14344303233Sdim#endif //cl_khr_depth_images
14345303233Sdim
14346303233Sdim#if defined(cl_khr_gl_msaa_sharing)
14347303233Sdimfloat4 __purefn __ovld read_imagef(read_only image2d_msaa_t image, int2 coord, int sample);
14348303233Sdimint4 __purefn __ovld read_imagei(read_only image2d_msaa_t image, int2 coord, int sample);
14349303233Sdimuint4 __purefn __ovld read_imageui(read_only image2d_msaa_t image, int2 coord, int sample);
14350303233Sdim
14351303233Sdimfloat __purefn __ovld read_imagef(read_only image2d_msaa_depth_t image, int2 coord, int sample);
14352303233Sdim
14353303233Sdimfloat4 __purefn __ovld read_imagef(read_only image2d_array_msaa_t image, int4 coord, int sample);
14354303233Sdimint4 __purefn __ovld read_imagei(read_only image2d_array_msaa_t image, int4 coord, int sample);
14355303233Sdimuint4 __purefn __ovld read_imageui(read_only image2d_array_msaa_t image, int4 coord, int sample);
14356303233Sdim
14357303233Sdimfloat __purefn __ovld read_imagef(read_only image2d_array_msaa_depth_t image, int4 coord, int sample);
14358303233Sdim#endif //cl_khr_gl_msaa_sharing
14359303233Sdim
14360303233Sdim// OpenCL Extension v2.0 s9.18 - Mipmaps
14361353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14362303233Sdim#ifdef cl_khr_mipmap_image
14363303233Sdim
14364303233Sdimfloat4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float lod);
14365303233Sdimint4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float lod);
14366303233Sdimuint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float lod);
14367303233Sdim
14368303233Sdimfloat4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14369303233Sdimint4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14370303233Sdimuint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14371303233Sdim
14372303233Sdimfloat4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
14373303233Sdimint4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
14374303233Sdimuint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
14375303233Sdim
14376303233Sdimfloat __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
14377303233Sdim
14378303233Sdimfloat4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14379303233Sdimint4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14380303233Sdimuint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14381303233Sdim
14382303233Sdimfloat __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
14383303233Sdim
14384303233Sdimfloat4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
14385303233Sdimint4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
14386303233Sdimuint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
14387303233Sdim
14388303233Sdimfloat4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14389303233Sdimint4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14390303233Sdimuint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14391303233Sdim
14392303233Sdimfloat4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14393303233Sdimint4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14394303233Sdimuint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14395303233Sdim
14396303233Sdimfloat4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14397303233Sdimint4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14398303233Sdimuint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14399303233Sdim
14400303233Sdimfloat __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14401303233Sdim
14402303233Sdimfloat4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14403303233Sdimint4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14404303233Sdimuint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14405303233Sdim
14406303233Sdimfloat __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14407303233Sdim
14408303233Sdimfloat4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14409303233Sdimint4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14410303233Sdimuint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14411303233Sdim
14412303233Sdim#endif //cl_khr_mipmap_image
14413353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14414303233Sdim
14415353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14416344779Sdim
14417303233Sdim/**
14418303233Sdim* Sampler-less Image Access
14419303233Sdim*/
14420303233Sdim
14421303233Sdimfloat4 __purefn __ovld read_imagef(read_only image1d_t image, int coord);
14422303233Sdimint4 __purefn __ovld read_imagei(read_only image1d_t image, int coord);
14423303233Sdimuint4 __purefn __ovld read_imageui(read_only image1d_t image, int coord);
14424303233Sdim
14425303233Sdimfloat4 __purefn __ovld read_imagef(read_only image1d_buffer_t image, int coord);
14426303233Sdimint4 __purefn __ovld read_imagei(read_only image1d_buffer_t image, int coord);
14427303233Sdimuint4 __purefn __ovld read_imageui(read_only image1d_buffer_t image, int coord);
14428303233Sdim
14429303233Sdimfloat4 __purefn __ovld read_imagef(read_only image1d_array_t image, int2 coord);
14430303233Sdimint4 __purefn __ovld read_imagei(read_only image1d_array_t image, int2 coord);
14431303233Sdimuint4 __purefn __ovld read_imageui(read_only image1d_array_t image, int2 coord);
14432303233Sdim
14433303233Sdimfloat4 __purefn __ovld read_imagef(read_only image2d_t image, int2 coord);
14434303233Sdimint4 __purefn __ovld read_imagei(read_only image2d_t image, int2 coord);
14435303233Sdimuint4 __purefn __ovld read_imageui(read_only image2d_t image, int2 coord);
14436303233Sdim
14437303233Sdimfloat4 __purefn __ovld read_imagef(read_only image2d_array_t image, int4 coord);
14438303233Sdimint4 __purefn __ovld read_imagei(read_only image2d_array_t image, int4 coord);
14439303233Sdimuint4 __purefn __ovld read_imageui(read_only image2d_array_t image, int4 coord);
14440303233Sdim
14441303233Sdim#ifdef cl_khr_depth_images
14442303233Sdimfloat __purefn __ovld read_imagef(read_only image2d_depth_t image, int2 coord);
14443303233Sdimfloat __purefn __ovld read_imagef(read_only image2d_array_depth_t image, int4 coord);
14444303233Sdim#endif //cl_khr_depth_images
14445303233Sdim
14446303233Sdimfloat4 __purefn __ovld read_imagef(read_only image3d_t image, int4 coord);
14447303233Sdimint4 __purefn __ovld read_imagei(read_only image3d_t image, int4 coord);
14448303233Sdimuint4 __purefn __ovld read_imageui(read_only image3d_t image, int4 coord);
14449303233Sdim
14450353358Sdim#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14451344779Sdim
14452303233Sdim// Image read functions returning half4 type
14453303233Sdim#ifdef cl_khr_fp16
14454303233Sdimhalf4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, int coord);
14455303233Sdimhalf4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, float coord);
14456303233Sdimhalf4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, int2 coord);
14457303233Sdimhalf4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, float2 coord);
14458303233Sdimhalf4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, int4 coord);
14459303233Sdimhalf4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, float4 coord);
14460353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14461344779Sdimhalf4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, int2 coord);
14462344779Sdimhalf4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, float2 coord);
14463303233Sdimhalf4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, int4 coord);
14464303233Sdimhalf4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, float4 coord);
14465344779Sdim/**
14466344779Sdim * Sampler-less Image Access
14467344779Sdim */
14468303233Sdimhalf4 __purefn __ovld read_imageh(read_only image1d_t image, int coord);
14469303233Sdimhalf4 __purefn __ovld read_imageh(read_only image2d_t image, int2 coord);
14470303233Sdimhalf4 __purefn __ovld read_imageh(read_only image3d_t image, int4 coord);
14471303233Sdimhalf4 __purefn __ovld read_imageh(read_only image1d_array_t image, int2 coord);
14472303233Sdimhalf4 __purefn __ovld read_imageh(read_only image2d_array_t image, int4 coord);
14473303233Sdimhalf4 __purefn __ovld read_imageh(read_only image1d_buffer_t image, int coord);
14474353358Sdim#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14475303233Sdim#endif //cl_khr_fp16
14476303233Sdim
14477303233Sdim// Image read functions for read_write images
14478353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14479303233Sdimfloat4 __purefn __ovld read_imagef(read_write image1d_t image, int coord);
14480303233Sdimint4 __purefn __ovld read_imagei(read_write image1d_t image, int coord);
14481303233Sdimuint4 __purefn __ovld read_imageui(read_write image1d_t image, int coord);
14482303233Sdim
14483303233Sdimfloat4 __purefn __ovld read_imagef(read_write image1d_buffer_t image, int coord);
14484303233Sdimint4 __purefn __ovld read_imagei(read_write image1d_buffer_t image, int coord);
14485303233Sdimuint4 __purefn __ovld read_imageui(read_write image1d_buffer_t image, int coord);
14486303233Sdim
14487303233Sdimfloat4 __purefn __ovld read_imagef(read_write image1d_array_t image, int2 coord);
14488303233Sdimint4 __purefn __ovld read_imagei(read_write image1d_array_t image, int2 coord);
14489303233Sdimuint4 __purefn __ovld read_imageui(read_write image1d_array_t image, int2 coord);
14490303233Sdim
14491303233Sdimfloat4 __purefn __ovld read_imagef(read_write image2d_t image, int2 coord);
14492303233Sdimint4 __purefn __ovld read_imagei(read_write image2d_t image, int2 coord);
14493303233Sdimuint4 __purefn __ovld read_imageui(read_write image2d_t image, int2 coord);
14494303233Sdim
14495303233Sdimfloat4 __purefn __ovld read_imagef(read_write image2d_array_t image, int4 coord);
14496303233Sdimint4 __purefn __ovld read_imagei(read_write image2d_array_t image, int4 coord);
14497303233Sdimuint4 __purefn __ovld read_imageui(read_write image2d_array_t image, int4 coord);
14498303233Sdim
14499303233Sdimfloat4 __purefn __ovld read_imagef(read_write image3d_t image, int4 coord);
14500303233Sdimint4 __purefn __ovld read_imagei(read_write image3d_t image, int4 coord);
14501303233Sdimuint4 __purefn __ovld read_imageui(read_write image3d_t image, int4 coord);
14502303233Sdim
14503303233Sdim#ifdef cl_khr_depth_images
14504303233Sdimfloat __purefn __ovld read_imagef(read_write image2d_depth_t image, int2 coord);
14505303233Sdimfloat __purefn __ovld read_imagef(read_write image2d_array_depth_t image, int4 coord);
14506303233Sdim#endif //cl_khr_depth_images
14507303233Sdim
14508303233Sdim#if cl_khr_gl_msaa_sharing
14509303233Sdimfloat4 __purefn __ovld read_imagef(read_write image2d_msaa_t image, int2 coord, int sample);
14510303233Sdimint4 __purefn __ovld read_imagei(read_write image2d_msaa_t image, int2 coord, int sample);
14511303233Sdimuint4 __purefn __ovld read_imageui(read_write image2d_msaa_t image, int2 coord, int sample);
14512303233Sdim
14513303233Sdimfloat4 __purefn __ovld read_imagef(read_write image2d_array_msaa_t image, int4 coord, int sample);
14514303233Sdimint4 __purefn __ovld read_imagei(read_write image2d_array_msaa_t image, int4 coord, int sample);
14515303233Sdimuint4 __purefn __ovld read_imageui(read_write image2d_array_msaa_t image, int4 coord, int sample);
14516303233Sdim
14517303233Sdimfloat __purefn __ovld read_imagef(read_write image2d_msaa_depth_t image, int2 coord, int sample);
14518303233Sdimfloat __purefn __ovld read_imagef(read_write image2d_array_msaa_depth_t image, int4 coord, int sample);
14519303233Sdim#endif //cl_khr_gl_msaa_sharing
14520303233Sdim
14521353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14522303233Sdim#ifdef cl_khr_mipmap_image
14523303233Sdimfloat4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float lod);
14524303233Sdimint4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float lod);
14525303233Sdimuint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float lod);
14526303233Sdim
14527303233Sdimfloat4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14528303233Sdimint4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14529303233Sdimuint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14530303233Sdim
14531303233Sdimfloat4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
14532303233Sdimint4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
14533303233Sdimuint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
14534303233Sdim
14535303233Sdimfloat __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
14536303233Sdim
14537303233Sdimfloat4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14538303233Sdimint4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14539303233Sdimuint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14540303233Sdim
14541303233Sdimfloat __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
14542303233Sdim
14543303233Sdimfloat4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
14544303233Sdimint4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
14545303233Sdimuint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
14546303233Sdim
14547303233Sdimfloat4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14548303233Sdimint4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14549303233Sdimuint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14550303233Sdim
14551303233Sdimfloat4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14552303233Sdimint4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14553303233Sdimuint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14554303233Sdim
14555303233Sdimfloat4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14556303233Sdimint4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14557303233Sdimuint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14558303233Sdim
14559303233Sdimfloat __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14560303233Sdim
14561303233Sdimfloat4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14562303233Sdimint4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14563303233Sdimuint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14564303233Sdim
14565303233Sdimfloat __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14566303233Sdim
14567303233Sdimfloat4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14568303233Sdimint4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14569303233Sdimuint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14570303233Sdim
14571303233Sdim#endif //cl_khr_mipmap_image
14572353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14573303233Sdim
14574303233Sdim// Image read functions returning half4 type
14575303233Sdim#ifdef cl_khr_fp16
14576303233Sdimhalf4 __purefn __ovld read_imageh(read_write image1d_t image, int coord);
14577303233Sdimhalf4 __purefn __ovld read_imageh(read_write image2d_t image, int2 coord);
14578303233Sdimhalf4 __purefn __ovld read_imageh(read_write image3d_t image, int4 coord);
14579303233Sdimhalf4 __purefn __ovld read_imageh(read_write image1d_array_t image, int2 coord);
14580303233Sdimhalf4 __purefn __ovld read_imageh(read_write image2d_array_t image, int4 coord);
14581303233Sdimhalf4 __purefn __ovld read_imageh(read_write image1d_buffer_t image, int coord);
14582303233Sdim#endif //cl_khr_fp16
14583353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14584303233Sdim
14585303233Sdim/**
14586303233Sdim * Write color value to location specified by coordinate
14587303233Sdim * (coord.x, coord.y) in the 2D image object specified by image.
14588303233Sdim * (coord.x, coord.y) are considered to be unnormalized coordinates
14589303233Sdim * and must be in the range 0 ... image width - 1, and 0
14590303233Sdim * ... image height - 1.
14591303233Sdim
14592303233Sdim * Write color value to location specified by coordinate
14593303233Sdim * (coord.x, coord.y) in the 2D image object specified by index
14594303233Sdim * (coord.z) of the 2D image array object image_array.
14595303233Sdim * (coord.x, coord.y) are considered to be unnormalized
14596303233Sdim * coordinates and must be in the range 0 ... image width
14597303233Sdim * - 1.
14598303233Sdim *
14599303233Sdim * Write color value to location specified by coordinate
14600303233Sdim * (coord) in the 1D image (buffer) object specified by image.
14601303233Sdim * coord is considered to be unnormalized coordinates
14602303233Sdim * and must be in the range 0 ... image width - 1.
14603303233Sdim *
14604303233Sdim * Write color value to location specified by coordinate
14605303233Sdim * (coord.x) in the 1D image object specified by index
14606303233Sdim * (coord.y) of the 1D image array object image_array.
14607303233Sdim * x is considered to be unnormalized coordinates
14608303233Sdim * and must be in the range 0 ... image width - 1.
14609303233Sdim *
14610303233Sdim * Write color value to location specified by coordinate
14611303233Sdim * (coord.x, coord.y, coord.z) in the 3D image object specified by image.
14612303233Sdim * coord.x & coord.y are considered to be unnormalized coordinates
14613303233Sdim * and must be in the range 0 ... image width - 1, and 0
14614303233Sdim * ... image height - 1.
14615303233Sdim *
14616303233Sdim * For mipmap images, use mip-level specified by lod.
14617303233Sdim *
14618303233Sdim * Appropriate data format conversion to the specified
14619303233Sdim * image format is done before writing the color value.
14620303233Sdim *
14621303233Sdim * write_imagef can only be used with image objects
14622303233Sdim * created with image_channel_data_type set to one of
14623303233Sdim * the pre-defined packed formats or set to
14624303233Sdim * CL_SNORM_INT8, CL_UNORM_INT8,
14625303233Sdim * CL_SNORM_INT16, CL_UNORM_INT16,
14626303233Sdim * CL_HALF_FLOAT or CL_FLOAT. Appropriate data
14627303233Sdim * format conversion will be done to convert channel
14628303233Sdim * data from a floating-point value to actual data format
14629303233Sdim * in which the channels are stored.
14630303233Sdim *
14631303233Sdim * write_imagei can only be used with image objects
14632303233Sdim * created with image_channel_data_type set to one of
14633303233Sdim * the following values:
14634303233Sdim * CL_SIGNED_INT8,
14635303233Sdim * CL_SIGNED_INT16 and
14636303233Sdim * CL_SIGNED_INT32.
14637303233Sdim *
14638303233Sdim * write_imageui can only be used with image objects
14639303233Sdim * created with image_channel_data_type set to one of
14640303233Sdim * the following values:
14641303233Sdim * CL_UNSIGNED_INT8,
14642303233Sdim * CL_UNSIGNED_INT16 and
14643303233Sdim * CL_UNSIGNED_INT32.
14644303233Sdim *
14645303233Sdim * The behavior of write_imagef, write_imagei and
14646303233Sdim * write_imageui for image objects created with
14647303233Sdim * image_channel_data_type values not specified in
14648303233Sdim * the description above or with (x, y) coordinate
14649303233Sdim * values that are not in the range (0 ... image width -1,
14650303233Sdim * 0 ... image height - 1), respectively, is undefined.
14651303233Sdim */
14652303233Sdimvoid __ovld write_imagef(write_only image2d_t image, int2 coord, float4 color);
14653303233Sdimvoid __ovld write_imagei(write_only image2d_t image, int2 coord, int4 color);
14654303233Sdimvoid __ovld write_imageui(write_only image2d_t image, int2 coord, uint4 color);
14655303233Sdim
14656303233Sdimvoid __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, float4 color);
14657303233Sdimvoid __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int4 color);
14658303233Sdimvoid __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, uint4 color);
14659303233Sdim
14660303233Sdimvoid __ovld write_imagef(write_only image1d_t image, int coord, float4 color);
14661303233Sdimvoid __ovld write_imagei(write_only image1d_t image, int coord, int4 color);
14662303233Sdimvoid __ovld write_imageui(write_only image1d_t image, int coord, uint4 color);
14663303233Sdim
14664303233Sdimvoid __ovld write_imagef(write_only image1d_buffer_t image, int coord, float4 color);
14665303233Sdimvoid __ovld write_imagei(write_only image1d_buffer_t image, int coord, int4 color);
14666303233Sdimvoid __ovld write_imageui(write_only image1d_buffer_t image, int coord, uint4 color);
14667303233Sdim
14668303233Sdimvoid __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, float4 color);
14669303233Sdimvoid __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int4 color);
14670303233Sdimvoid __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, uint4 color);
14671303233Sdim
14672321369Sdim#ifdef cl_khr_3d_image_writes
14673303233Sdimvoid __ovld write_imagef(write_only image3d_t image, int4 coord, float4 color);
14674303233Sdimvoid __ovld write_imagei(write_only image3d_t image, int4 coord, int4 color);
14675303233Sdimvoid __ovld write_imageui(write_only image3d_t image, int4 coord, uint4 color);
14676321369Sdim#endif
14677303233Sdim
14678303233Sdim#ifdef cl_khr_depth_images
14679303233Sdimvoid __ovld write_imagef(write_only image2d_depth_t image, int2 coord, float color);
14680303233Sdimvoid __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, float color);
14681303233Sdim#endif //cl_khr_depth_images
14682303233Sdim
14683303233Sdim// OpenCL Extension v2.0 s9.18 - Mipmaps
14684353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14685303233Sdim#ifdef cl_khr_mipmap_image
14686303233Sdimvoid __ovld write_imagef(write_only image1d_t image, int coord, int lod, float4 color);
14687303233Sdimvoid __ovld write_imagei(write_only image1d_t image, int coord, int lod, int4 color);
14688303233Sdimvoid __ovld write_imageui(write_only image1d_t image, int coord, int lod, uint4 color);
14689303233Sdim
14690303233Sdimvoid __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, int lod, float4 color);
14691303233Sdimvoid __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int lod, int4 color);
14692303233Sdimvoid __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, int lod, uint4 color);
14693303233Sdim
14694303233Sdimvoid __ovld write_imagef(write_only image2d_t image, int2 coord, int lod, float4 color);
14695303233Sdimvoid __ovld write_imagei(write_only image2d_t image, int2 coord, int lod, int4 color);
14696303233Sdimvoid __ovld write_imageui(write_only image2d_t image, int2 coord, int lod, uint4 color);
14697303233Sdim
14698303233Sdimvoid __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, int lod, float4 color);
14699303233Sdimvoid __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int lod, int4 color);
14700303233Sdimvoid __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, int lod, uint4 color);
14701303233Sdim
14702303233Sdimvoid __ovld write_imagef(write_only image2d_depth_t image, int2 coord, int lod, float color);
14703303233Sdimvoid __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, int lod, float color);
14704303233Sdim
14705321369Sdim#ifdef cl_khr_3d_image_writes
14706303233Sdimvoid __ovld write_imagef(write_only image3d_t image, int4 coord, int lod, float4 color);
14707303233Sdimvoid __ovld write_imagei(write_only image3d_t image, int4 coord, int lod, int4 color);
14708303233Sdimvoid __ovld write_imageui(write_only image3d_t image, int4 coord, int lod, uint4 color);
14709321369Sdim#endif
14710303233Sdim#endif //cl_khr_mipmap_image
14711353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14712303233Sdim
14713303233Sdim// Image write functions for half4 type
14714303233Sdim#ifdef cl_khr_fp16
14715303233Sdimvoid __ovld write_imageh(write_only image1d_t image, int coord, half4 color);
14716303233Sdimvoid __ovld write_imageh(write_only image2d_t image, int2 coord, half4 color);
14717321369Sdim#ifdef cl_khr_3d_image_writes
14718303233Sdimvoid __ovld write_imageh(write_only image3d_t image, int4 coord, half4 color);
14719321369Sdim#endif
14720303233Sdimvoid __ovld write_imageh(write_only image1d_array_t image, int2 coord, half4 color);
14721303233Sdimvoid __ovld write_imageh(write_only image2d_array_t image, int4 coord, half4 color);
14722303233Sdimvoid __ovld write_imageh(write_only image1d_buffer_t image, int coord, half4 color);
14723303233Sdim#endif //cl_khr_fp16
14724303233Sdim
14725303233Sdim// Image write functions for read_write images
14726353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14727303233Sdimvoid __ovld write_imagef(read_write image2d_t image, int2 coord, float4 color);
14728303233Sdimvoid __ovld write_imagei(read_write image2d_t image, int2 coord, int4 color);
14729303233Sdimvoid __ovld write_imageui(read_write image2d_t image, int2 coord, uint4 color);
14730303233Sdim
14731303233Sdimvoid __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, float4 color);
14732303233Sdimvoid __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int4 color);
14733303233Sdimvoid __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, uint4 color);
14734303233Sdim
14735303233Sdimvoid __ovld write_imagef(read_write image1d_t image, int coord, float4 color);
14736303233Sdimvoid __ovld write_imagei(read_write image1d_t image, int coord, int4 color);
14737303233Sdimvoid __ovld write_imageui(read_write image1d_t image, int coord, uint4 color);
14738303233Sdim
14739303233Sdimvoid __ovld write_imagef(read_write image1d_buffer_t image, int coord, float4 color);
14740303233Sdimvoid __ovld write_imagei(read_write image1d_buffer_t image, int coord, int4 color);
14741303233Sdimvoid __ovld write_imageui(read_write image1d_buffer_t image, int coord, uint4 color);
14742303233Sdim
14743303233Sdimvoid __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, float4 color);
14744303233Sdimvoid __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int4 color);
14745303233Sdimvoid __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, uint4 color);
14746303233Sdim
14747321369Sdim#ifdef cl_khr_3d_image_writes
14748303233Sdimvoid __ovld write_imagef(read_write image3d_t image, int4 coord, float4 color);
14749303233Sdimvoid __ovld write_imagei(read_write image3d_t image, int4 coord, int4 color);
14750303233Sdimvoid __ovld write_imageui(read_write image3d_t image, int4 coord, uint4 color);
14751321369Sdim#endif
14752303233Sdim
14753303233Sdim#ifdef cl_khr_depth_images
14754303233Sdimvoid __ovld write_imagef(read_write image2d_depth_t image, int2 coord, float color);
14755303233Sdimvoid __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, float color);
14756303233Sdim#endif //cl_khr_depth_images
14757303233Sdim
14758353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14759303233Sdim#ifdef cl_khr_mipmap_image
14760303233Sdimvoid __ovld write_imagef(read_write image1d_t image, int coord, int lod, float4 color);
14761303233Sdimvoid __ovld write_imagei(read_write image1d_t image, int coord, int lod, int4 color);
14762303233Sdimvoid __ovld write_imageui(read_write image1d_t image, int coord, int lod, uint4 color);
14763303233Sdim
14764303233Sdimvoid __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, int lod, float4 color);
14765303233Sdimvoid __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int lod, int4 color);
14766303233Sdimvoid __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, int lod, uint4 color);
14767303233Sdim
14768303233Sdimvoid __ovld write_imagef(read_write image2d_t image, int2 coord, int lod, float4 color);
14769303233Sdimvoid __ovld write_imagei(read_write image2d_t image, int2 coord, int lod, int4 color);
14770303233Sdimvoid __ovld write_imageui(read_write image2d_t image, int2 coord, int lod, uint4 color);
14771303233Sdim
14772303233Sdimvoid __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, int lod, float4 color);
14773303233Sdimvoid __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int lod, int4 color);
14774303233Sdimvoid __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, int lod, uint4 color);
14775303233Sdim
14776303233Sdimvoid __ovld write_imagef(read_write image2d_depth_t image, int2 coord, int lod, float color);
14777303233Sdimvoid __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, int lod, float color);
14778303233Sdim
14779321369Sdim#ifdef cl_khr_3d_image_writes
14780303233Sdimvoid __ovld write_imagef(read_write image3d_t image, int4 coord, int lod, float4 color);
14781303233Sdimvoid __ovld write_imagei(read_write image3d_t image, int4 coord, int lod, int4 color);
14782303233Sdimvoid __ovld write_imageui(read_write image3d_t image, int4 coord, int lod, uint4 color);
14783321369Sdim#endif
14784303233Sdim#endif //cl_khr_mipmap_image
14785353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14786303233Sdim
14787303233Sdim// Image write functions for half4 type
14788303233Sdim#ifdef cl_khr_fp16
14789303233Sdimvoid __ovld write_imageh(read_write image1d_t image, int coord, half4 color);
14790303233Sdimvoid __ovld write_imageh(read_write image2d_t image, int2 coord, half4 color);
14791321369Sdim#ifdef cl_khr_3d_image_writes
14792303233Sdimvoid __ovld write_imageh(read_write image3d_t image, int4 coord, half4 color);
14793321369Sdim#endif
14794303233Sdimvoid __ovld write_imageh(read_write image1d_array_t image, int2 coord, half4 color);
14795303233Sdimvoid __ovld write_imageh(read_write image2d_array_t image, int4 coord, half4 color);
14796303233Sdimvoid __ovld write_imageh(read_write image1d_buffer_t image, int coord, half4 color);
14797303233Sdim#endif //cl_khr_fp16
14798353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14799303233Sdim
14800303233Sdim// Note: In OpenCL v1.0/1.1/1.2, image argument of image query builtin functions does not have
14801303233Sdim// access qualifier, which by default assume read_only access qualifier. Image query builtin
14802303233Sdim// functions with write_only image argument should also be declared.
14803303233Sdim
14804303233Sdim/**
14805303233Sdim * Return the image width in pixels.
14806303233Sdim *
14807303233Sdim  */
14808303233Sdimint __ovld __cnfn get_image_width(read_only image1d_t image);
14809303233Sdimint __ovld __cnfn get_image_width(read_only image1d_buffer_t image);
14810303233Sdimint __ovld __cnfn get_image_width(read_only image2d_t image);
14811321369Sdim#ifdef cl_khr_3d_image_writes
14812303233Sdimint __ovld __cnfn get_image_width(read_only image3d_t image);
14813321369Sdim#endif
14814303233Sdimint __ovld __cnfn get_image_width(read_only image1d_array_t image);
14815303233Sdimint __ovld __cnfn get_image_width(read_only image2d_array_t image);
14816303233Sdim#ifdef cl_khr_depth_images
14817303233Sdimint __ovld __cnfn get_image_width(read_only image2d_depth_t image);
14818303233Sdimint __ovld __cnfn get_image_width(read_only image2d_array_depth_t image);
14819303233Sdim#endif //cl_khr_depth_images
14820303233Sdim#if defined(cl_khr_gl_msaa_sharing)
14821303233Sdimint __ovld __cnfn get_image_width(read_only image2d_msaa_t image);
14822303233Sdimint __ovld __cnfn get_image_width(read_only image2d_msaa_depth_t image);
14823303233Sdimint __ovld __cnfn get_image_width(read_only image2d_array_msaa_t image);
14824303233Sdimint __ovld __cnfn get_image_width(read_only image2d_array_msaa_depth_t image);
14825303233Sdim#endif //cl_khr_gl_msaa_sharing
14826303233Sdim
14827303233Sdimint __ovld __cnfn get_image_width(write_only image1d_t image);
14828303233Sdimint __ovld __cnfn get_image_width(write_only image1d_buffer_t image);
14829303233Sdimint __ovld __cnfn get_image_width(write_only image2d_t image);
14830321369Sdim#ifdef cl_khr_3d_image_writes
14831303233Sdimint __ovld __cnfn get_image_width(write_only image3d_t image);
14832321369Sdim#endif
14833303233Sdimint __ovld __cnfn get_image_width(write_only image1d_array_t image);
14834303233Sdimint __ovld __cnfn get_image_width(write_only image2d_array_t image);
14835303233Sdim#ifdef cl_khr_depth_images
14836303233Sdimint __ovld __cnfn get_image_width(write_only image2d_depth_t image);
14837303233Sdimint __ovld __cnfn get_image_width(write_only image2d_array_depth_t image);
14838303233Sdim#endif //cl_khr_depth_images
14839303233Sdim#if defined(cl_khr_gl_msaa_sharing)
14840303233Sdimint __ovld __cnfn get_image_width(write_only image2d_msaa_t image);
14841303233Sdimint __ovld __cnfn get_image_width(write_only image2d_msaa_depth_t image);
14842303233Sdimint __ovld __cnfn get_image_width(write_only image2d_array_msaa_t image);
14843303233Sdimint __ovld __cnfn get_image_width(write_only image2d_array_msaa_depth_t image);
14844303233Sdim#endif //cl_khr_gl_msaa_sharing
14845303233Sdim
14846353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14847303233Sdimint __ovld __cnfn get_image_width(read_write image1d_t image);
14848303233Sdimint __ovld __cnfn get_image_width(read_write image1d_buffer_t image);
14849303233Sdimint __ovld __cnfn get_image_width(read_write image2d_t image);
14850303233Sdimint __ovld __cnfn get_image_width(read_write image3d_t image);
14851303233Sdimint __ovld __cnfn get_image_width(read_write image1d_array_t image);
14852303233Sdimint __ovld __cnfn get_image_width(read_write image2d_array_t image);
14853303233Sdim#ifdef cl_khr_depth_images
14854303233Sdimint __ovld __cnfn get_image_width(read_write image2d_depth_t image);
14855303233Sdimint __ovld __cnfn get_image_width(read_write image2d_array_depth_t image);
14856303233Sdim#endif //cl_khr_depth_images
14857303233Sdim#if defined(cl_khr_gl_msaa_sharing)
14858303233Sdimint __ovld __cnfn get_image_width(read_write image2d_msaa_t image);
14859303233Sdimint __ovld __cnfn get_image_width(read_write image2d_msaa_depth_t image);
14860303233Sdimint __ovld __cnfn get_image_width(read_write image2d_array_msaa_t image);
14861303233Sdimint __ovld __cnfn get_image_width(read_write image2d_array_msaa_depth_t image);
14862303233Sdim#endif //cl_khr_gl_msaa_sharing
14863353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14864303233Sdim
14865303233Sdim/**
14866303233Sdim * Return the image height in pixels.
14867303233Sdim */
14868303233Sdimint __ovld __cnfn get_image_height(read_only image2d_t image);
14869303233Sdimint __ovld __cnfn get_image_height(read_only image3d_t image);
14870303233Sdimint __ovld __cnfn get_image_height(read_only image2d_array_t image);
14871303233Sdim#ifdef cl_khr_depth_images
14872303233Sdimint __ovld __cnfn get_image_height(read_only image2d_depth_t image);
14873303233Sdimint __ovld __cnfn get_image_height(read_only image2d_array_depth_t image);
14874303233Sdim#endif //cl_khr_depth_images
14875303233Sdim#if defined(cl_khr_gl_msaa_sharing)
14876303233Sdimint __ovld __cnfn get_image_height(read_only image2d_msaa_t image);
14877303233Sdimint __ovld __cnfn get_image_height(read_only image2d_msaa_depth_t image);
14878303233Sdimint __ovld __cnfn get_image_height(read_only image2d_array_msaa_t image);
14879303233Sdimint __ovld __cnfn get_image_height(read_only image2d_array_msaa_depth_t image);
14880303233Sdim#endif //cl_khr_gl_msaa_sharing
14881303233Sdim
14882303233Sdimint __ovld __cnfn get_image_height(write_only image2d_t image);
14883321369Sdim#ifdef cl_khr_3d_image_writes
14884303233Sdimint __ovld __cnfn get_image_height(write_only image3d_t image);
14885321369Sdim#endif
14886303233Sdimint __ovld __cnfn get_image_height(write_only image2d_array_t image);
14887303233Sdim#ifdef cl_khr_depth_images
14888303233Sdimint __ovld __cnfn get_image_height(write_only image2d_depth_t image);
14889303233Sdimint __ovld __cnfn get_image_height(write_only image2d_array_depth_t image);
14890303233Sdim#endif //cl_khr_depth_images
14891303233Sdim#if defined(cl_khr_gl_msaa_sharing)
14892303233Sdimint __ovld __cnfn get_image_height(write_only image2d_msaa_t image);
14893303233Sdimint __ovld __cnfn get_image_height(write_only image2d_msaa_depth_t image);
14894303233Sdimint __ovld __cnfn get_image_height(write_only image2d_array_msaa_t image);
14895303233Sdimint __ovld __cnfn get_image_height(write_only image2d_array_msaa_depth_t image);
14896303233Sdim#endif //cl_khr_gl_msaa_sharing
14897303233Sdim
14898353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14899303233Sdimint __ovld __cnfn get_image_height(read_write image2d_t image);
14900303233Sdimint __ovld __cnfn get_image_height(read_write image3d_t image);
14901303233Sdimint __ovld __cnfn get_image_height(read_write image2d_array_t image);
14902303233Sdim#ifdef cl_khr_depth_images
14903303233Sdimint __ovld __cnfn get_image_height(read_write image2d_depth_t image);
14904303233Sdimint __ovld __cnfn get_image_height(read_write image2d_array_depth_t image);
14905303233Sdim#endif //cl_khr_depth_images
14906303233Sdim#if defined(cl_khr_gl_msaa_sharing)
14907303233Sdimint __ovld __cnfn get_image_height(read_write image2d_msaa_t image);
14908303233Sdimint __ovld __cnfn get_image_height(read_write image2d_msaa_depth_t image);
14909303233Sdimint __ovld __cnfn get_image_height(read_write image2d_array_msaa_t image);
14910303233Sdimint __ovld __cnfn get_image_height(read_write image2d_array_msaa_depth_t image);
14911303233Sdim#endif //cl_khr_gl_msaa_sharing
14912353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14913303233Sdim
14914303233Sdim/**
14915303233Sdim * Return the image depth in pixels.
14916303233Sdim */
14917303233Sdimint __ovld __cnfn get_image_depth(read_only image3d_t image);
14918303233Sdim
14919321369Sdim#ifdef cl_khr_3d_image_writes
14920303233Sdimint __ovld __cnfn get_image_depth(write_only image3d_t image);
14921321369Sdim#endif
14922303233Sdim
14923353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14924303233Sdimint __ovld __cnfn get_image_depth(read_write image3d_t image);
14925353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14926303233Sdim
14927303233Sdim// OpenCL Extension v2.0 s9.18 - Mipmaps
14928353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14929303233Sdim#ifdef cl_khr_mipmap_image
14930303233Sdim/**
14931303233Sdim * Return the image miplevels.
14932303233Sdim */
14933303233Sdim
14934303233Sdimint __ovld get_image_num_mip_levels(read_only image1d_t image);
14935303233Sdimint __ovld get_image_num_mip_levels(read_only image2d_t image);
14936303233Sdimint __ovld get_image_num_mip_levels(read_only image3d_t image);
14937303233Sdim
14938303233Sdimint __ovld get_image_num_mip_levels(write_only image1d_t image);
14939303233Sdimint __ovld get_image_num_mip_levels(write_only image2d_t image);
14940321369Sdim#ifdef cl_khr_3d_image_writes
14941303233Sdimint __ovld get_image_num_mip_levels(write_only image3d_t image);
14942321369Sdim#endif
14943303233Sdim
14944303233Sdimint __ovld get_image_num_mip_levels(read_write image1d_t image);
14945303233Sdimint __ovld get_image_num_mip_levels(read_write image2d_t image);
14946303233Sdimint __ovld get_image_num_mip_levels(read_write image3d_t image);
14947303233Sdim
14948303233Sdimint __ovld get_image_num_mip_levels(read_only image1d_array_t image);
14949303233Sdimint __ovld get_image_num_mip_levels(read_only image2d_array_t image);
14950303233Sdimint __ovld get_image_num_mip_levels(read_only image2d_array_depth_t image);
14951303233Sdimint __ovld get_image_num_mip_levels(read_only image2d_depth_t image);
14952303233Sdim
14953303233Sdimint __ovld get_image_num_mip_levels(write_only image1d_array_t image);
14954303233Sdimint __ovld get_image_num_mip_levels(write_only image2d_array_t image);
14955303233Sdimint __ovld get_image_num_mip_levels(write_only image2d_array_depth_t image);
14956303233Sdimint __ovld get_image_num_mip_levels(write_only image2d_depth_t image);
14957303233Sdim
14958303233Sdimint __ovld get_image_num_mip_levels(read_write image1d_array_t image);
14959303233Sdimint __ovld get_image_num_mip_levels(read_write image2d_array_t image);
14960303233Sdimint __ovld get_image_num_mip_levels(read_write image2d_array_depth_t image);
14961303233Sdimint __ovld get_image_num_mip_levels(read_write image2d_depth_t image);
14962303233Sdim
14963303233Sdim#endif //cl_khr_mipmap_image
14964353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14965303233Sdim
14966303233Sdim/**
14967303233Sdim * Return the channel data type. Valid values are:
14968303233Sdim * CLK_SNORM_INT8
14969303233Sdim * CLK_SNORM_INT16
14970303233Sdim * CLK_UNORM_INT8
14971303233Sdim * CLK_UNORM_INT16
14972303233Sdim * CLK_UNORM_SHORT_565
14973303233Sdim * CLK_UNORM_SHORT_555
14974303233Sdim * CLK_UNORM_SHORT_101010
14975303233Sdim * CLK_SIGNED_INT8
14976303233Sdim * CLK_SIGNED_INT16
14977303233Sdim * CLK_SIGNED_INT32
14978303233Sdim * CLK_UNSIGNED_INT8
14979303233Sdim * CLK_UNSIGNED_INT16
14980303233Sdim * CLK_UNSIGNED_INT32
14981303233Sdim * CLK_HALF_FLOAT
14982303233Sdim * CLK_FLOAT
14983303233Sdim */
14984303233Sdim
14985303233Sdimint __ovld __cnfn get_image_channel_data_type(read_only image1d_t image);
14986303233Sdimint __ovld __cnfn get_image_channel_data_type(read_only image1d_buffer_t image);
14987303233Sdimint __ovld __cnfn get_image_channel_data_type(read_only image2d_t image);
14988303233Sdimint __ovld __cnfn get_image_channel_data_type(read_only image3d_t image);
14989303233Sdimint __ovld __cnfn get_image_channel_data_type(read_only image1d_array_t image);
14990303233Sdimint __ovld __cnfn get_image_channel_data_type(read_only image2d_array_t image);
14991303233Sdim#ifdef cl_khr_depth_images
14992303233Sdimint __ovld __cnfn get_image_channel_data_type(read_only image2d_depth_t image);
14993303233Sdimint __ovld __cnfn get_image_channel_data_type(read_only image2d_array_depth_t image);
14994303233Sdim#endif //cl_khr_depth_images
14995303233Sdim#if defined(cl_khr_gl_msaa_sharing)
14996303233Sdimint __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_t image);
14997303233Sdimint __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_depth_t image);
14998303233Sdimint __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_t image);
14999303233Sdimint __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_depth_t image);
15000303233Sdim#endif //cl_khr_gl_msaa_sharing
15001303233Sdim
15002303233Sdimint __ovld __cnfn get_image_channel_data_type(write_only image1d_t image);
15003303233Sdimint __ovld __cnfn get_image_channel_data_type(write_only image1d_buffer_t image);
15004303233Sdimint __ovld __cnfn get_image_channel_data_type(write_only image2d_t image);
15005321369Sdim#ifdef cl_khr_3d_image_writes
15006303233Sdimint __ovld __cnfn get_image_channel_data_type(write_only image3d_t image);
15007321369Sdim#endif
15008303233Sdimint __ovld __cnfn get_image_channel_data_type(write_only image1d_array_t image);
15009303233Sdimint __ovld __cnfn get_image_channel_data_type(write_only image2d_array_t image);
15010303233Sdim#ifdef cl_khr_depth_images
15011303233Sdimint __ovld __cnfn get_image_channel_data_type(write_only image2d_depth_t image);
15012303233Sdimint __ovld __cnfn get_image_channel_data_type(write_only image2d_array_depth_t image);
15013303233Sdim#endif //cl_khr_depth_images
15014303233Sdim#if defined(cl_khr_gl_msaa_sharing)
15015303233Sdimint __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_t image);
15016303233Sdimint __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_depth_t image);
15017303233Sdimint __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_t image);
15018303233Sdimint __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_depth_t image);
15019303233Sdim#endif //cl_khr_gl_msaa_sharing
15020303233Sdim
15021353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15022303233Sdimint __ovld __cnfn get_image_channel_data_type(read_write image1d_t image);
15023303233Sdimint __ovld __cnfn get_image_channel_data_type(read_write image1d_buffer_t image);
15024303233Sdimint __ovld __cnfn get_image_channel_data_type(read_write image2d_t image);
15025303233Sdimint __ovld __cnfn get_image_channel_data_type(read_write image3d_t image);
15026303233Sdimint __ovld __cnfn get_image_channel_data_type(read_write image1d_array_t image);
15027303233Sdimint __ovld __cnfn get_image_channel_data_type(read_write image2d_array_t image);
15028303233Sdim#ifdef cl_khr_depth_images
15029303233Sdimint __ovld __cnfn get_image_channel_data_type(read_write image2d_depth_t image);
15030303233Sdimint __ovld __cnfn get_image_channel_data_type(read_write image2d_array_depth_t image);
15031303233Sdim#endif //cl_khr_depth_images
15032303233Sdim#if defined(cl_khr_gl_msaa_sharing)
15033303233Sdimint __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_t image);
15034303233Sdimint __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_depth_t image);
15035303233Sdimint __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_t image);
15036303233Sdimint __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_depth_t image);
15037303233Sdim#endif //cl_khr_gl_msaa_sharing
15038353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15039303233Sdim
15040303233Sdim/**
15041303233Sdim * Return the image channel order. Valid values are:
15042303233Sdim * CLK_A
15043303233Sdim * CLK_R
15044303233Sdim * CLK_Rx
15045303233Sdim * CLK_RG
15046303233Sdim * CLK_RGx
15047303233Sdim * CLK_RA
15048303233Sdim * CLK_RGB
15049303233Sdim * CLK_RGBx
15050303233Sdim * CLK_RGBA
15051303233Sdim * CLK_ARGB
15052303233Sdim * CLK_BGRA
15053303233Sdim * CLK_INTENSITY
15054303233Sdim * CLK_LUMINANCE
15055303233Sdim */
15056303233Sdim
15057303233Sdimint __ovld __cnfn get_image_channel_order(read_only image1d_t image);
15058303233Sdimint __ovld __cnfn get_image_channel_order(read_only image1d_buffer_t image);
15059303233Sdimint __ovld __cnfn get_image_channel_order(read_only image2d_t image);
15060303233Sdimint __ovld __cnfn get_image_channel_order(read_only image3d_t image);
15061303233Sdimint __ovld __cnfn get_image_channel_order(read_only image1d_array_t image);
15062303233Sdimint __ovld __cnfn get_image_channel_order(read_only image2d_array_t image);
15063303233Sdim#ifdef cl_khr_depth_images
15064303233Sdimint __ovld __cnfn get_image_channel_order(read_only image2d_depth_t image);
15065303233Sdimint __ovld __cnfn get_image_channel_order(read_only image2d_array_depth_t image);
15066303233Sdim#endif //cl_khr_depth_images
15067303233Sdim#if defined(cl_khr_gl_msaa_sharing)
15068303233Sdimint __ovld __cnfn get_image_channel_order(read_only image2d_msaa_t image);
15069303233Sdimint __ovld __cnfn get_image_channel_order(read_only image2d_msaa_depth_t image);
15070303233Sdimint __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_t image);
15071303233Sdimint __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_depth_t image);
15072303233Sdim#endif //cl_khr_gl_msaa_sharing
15073303233Sdim
15074303233Sdimint __ovld __cnfn get_image_channel_order(write_only image1d_t image);
15075303233Sdimint __ovld __cnfn get_image_channel_order(write_only image1d_buffer_t image);
15076303233Sdimint __ovld __cnfn get_image_channel_order(write_only image2d_t image);
15077321369Sdim#ifdef cl_khr_3d_image_writes
15078303233Sdimint __ovld __cnfn get_image_channel_order(write_only image3d_t image);
15079321369Sdim#endif
15080303233Sdimint __ovld __cnfn get_image_channel_order(write_only image1d_array_t image);
15081303233Sdimint __ovld __cnfn get_image_channel_order(write_only image2d_array_t image);
15082303233Sdim#ifdef cl_khr_depth_images
15083303233Sdimint __ovld __cnfn get_image_channel_order(write_only image2d_depth_t image);
15084303233Sdimint __ovld __cnfn get_image_channel_order(write_only image2d_array_depth_t image);
15085303233Sdim#endif //cl_khr_depth_images
15086303233Sdim#if defined(cl_khr_gl_msaa_sharing)
15087303233Sdimint __ovld __cnfn get_image_channel_order(write_only image2d_msaa_t image);
15088303233Sdimint __ovld __cnfn get_image_channel_order(write_only image2d_msaa_depth_t image);
15089303233Sdimint __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_t image);
15090303233Sdimint __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_depth_t image);
15091303233Sdim#endif //cl_khr_gl_msaa_sharing
15092303233Sdim
15093353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15094303233Sdimint __ovld __cnfn get_image_channel_order(read_write image1d_t image);
15095303233Sdimint __ovld __cnfn get_image_channel_order(read_write image1d_buffer_t image);
15096303233Sdimint __ovld __cnfn get_image_channel_order(read_write image2d_t image);
15097303233Sdimint __ovld __cnfn get_image_channel_order(read_write image3d_t image);
15098303233Sdimint __ovld __cnfn get_image_channel_order(read_write image1d_array_t image);
15099303233Sdimint __ovld __cnfn get_image_channel_order(read_write image2d_array_t image);
15100303233Sdim#ifdef cl_khr_depth_images
15101303233Sdimint __ovld __cnfn get_image_channel_order(read_write image2d_depth_t image);
15102303233Sdimint __ovld __cnfn get_image_channel_order(read_write image2d_array_depth_t image);
15103303233Sdim#endif //cl_khr_depth_images
15104303233Sdim#if defined(cl_khr_gl_msaa_sharing)
15105303233Sdimint __ovld __cnfn get_image_channel_order(read_write image2d_msaa_t image);
15106303233Sdimint __ovld __cnfn get_image_channel_order(read_write image2d_msaa_depth_t image);
15107303233Sdimint __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_t image);
15108303233Sdimint __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_depth_t image);
15109303233Sdim#endif //cl_khr_gl_msaa_sharing
15110353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15111303233Sdim
15112303233Sdim/**
15113303233Sdim * Return the 2D image width and height as an int2
15114303233Sdim * type. The width is returned in the x component, and
15115303233Sdim * the height in the y component.
15116303233Sdim */
15117303233Sdimint2 __ovld __cnfn get_image_dim(read_only image2d_t image);
15118303233Sdimint2 __ovld __cnfn get_image_dim(read_only image2d_array_t image);
15119303233Sdim#ifdef cl_khr_depth_images
15120303233Sdimint2 __ovld __cnfn get_image_dim(read_only image2d_array_depth_t image);
15121303233Sdimint2 __ovld __cnfn get_image_dim(read_only image2d_depth_t image);
15122303233Sdim#endif //cl_khr_depth_images
15123303233Sdim#if defined(cl_khr_gl_msaa_sharing)
15124303233Sdimint2 __ovld __cnfn get_image_dim(read_only image2d_msaa_t image);
15125303233Sdimint2 __ovld __cnfn get_image_dim(read_only image2d_msaa_depth_t image);
15126303233Sdimint2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_t image);
15127303233Sdimint2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_depth_t image);
15128303233Sdim#endif //cl_khr_gl_msaa_sharing
15129303233Sdim
15130303233Sdimint2 __ovld __cnfn get_image_dim(write_only image2d_t image);
15131303233Sdimint2 __ovld __cnfn get_image_dim(write_only image2d_array_t image);
15132303233Sdim#ifdef cl_khr_depth_images
15133303233Sdimint2 __ovld __cnfn get_image_dim(write_only image2d_array_depth_t image);
15134303233Sdimint2 __ovld __cnfn get_image_dim(write_only image2d_depth_t image);
15135303233Sdim#endif //cl_khr_depth_images
15136303233Sdim#if defined(cl_khr_gl_msaa_sharing)
15137303233Sdimint2 __ovld __cnfn get_image_dim(write_only image2d_msaa_t image);
15138303233Sdimint2 __ovld __cnfn get_image_dim(write_only image2d_msaa_depth_t image);
15139303233Sdimint2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_t image);
15140303233Sdimint2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_depth_t image);
15141303233Sdim#endif //cl_khr_gl_msaa_sharing
15142303233Sdim
15143353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15144303233Sdimint2 __ovld __cnfn get_image_dim(read_write image2d_t image);
15145303233Sdimint2 __ovld __cnfn get_image_dim(read_write image2d_array_t image);
15146303233Sdim#ifdef cl_khr_depth_images
15147303233Sdimint2 __ovld __cnfn get_image_dim(read_write image2d_array_depth_t image);
15148303233Sdimint2 __ovld __cnfn get_image_dim(read_write image2d_depth_t image);
15149303233Sdim#endif //cl_khr_depth_images
15150303233Sdim#if defined(cl_khr_gl_msaa_sharing)
15151303233Sdimint2 __ovld __cnfn get_image_dim(read_write image2d_msaa_t image);
15152303233Sdimint2 __ovld __cnfn get_image_dim(read_write image2d_msaa_depth_t image);
15153303233Sdimint2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_t image);
15154303233Sdimint2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_depth_t image);
15155303233Sdim#endif //cl_khr_gl_msaa_sharing
15156353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15157303233Sdim
15158303233Sdim/**
15159303233Sdim * Return the 3D image width, height, and depth as an
15160303233Sdim * int4 type. The width is returned in the x
15161303233Sdim * component, height in the y component, depth in the z
15162303233Sdim * component and the w component is 0.
15163303233Sdim */
15164303233Sdimint4 __ovld __cnfn get_image_dim(read_only image3d_t image);
15165321369Sdim#ifdef cl_khr_3d_image_writes
15166303233Sdimint4 __ovld __cnfn get_image_dim(write_only image3d_t image);
15167321369Sdim#endif
15168353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15169303233Sdimint4 __ovld __cnfn get_image_dim(read_write image3d_t image);
15170353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15171303233Sdim
15172303233Sdim/**
15173303233Sdim * Return the image array size.
15174303233Sdim */
15175303233Sdim
15176303233Sdimsize_t __ovld __cnfn get_image_array_size(read_only image1d_array_t image_array);
15177303233Sdimsize_t __ovld __cnfn get_image_array_size(read_only image2d_array_t image_array);
15178303233Sdim#ifdef cl_khr_depth_images
15179303233Sdimsize_t __ovld __cnfn get_image_array_size(read_only image2d_array_depth_t image_array);
15180303233Sdim#endif //cl_khr_depth_images
15181303233Sdim#if defined(cl_khr_gl_msaa_sharing)
15182303233Sdimsize_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_t image_array);
15183303233Sdimsize_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_depth_t image_array);
15184303233Sdim#endif //cl_khr_gl_msaa_sharing
15185303233Sdim
15186303233Sdimsize_t __ovld __cnfn get_image_array_size(write_only image1d_array_t image_array);
15187303233Sdimsize_t __ovld __cnfn get_image_array_size(write_only image2d_array_t image_array);
15188303233Sdim#ifdef cl_khr_depth_images
15189303233Sdimsize_t __ovld __cnfn get_image_array_size(write_only image2d_array_depth_t image_array);
15190303233Sdim#endif //cl_khr_depth_images
15191303233Sdim#if defined(cl_khr_gl_msaa_sharing)
15192303233Sdimsize_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_t image_array);
15193303233Sdimsize_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_depth_t image_array);
15194303233Sdim#endif //cl_khr_gl_msaa_sharing
15195303233Sdim
15196353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15197303233Sdimsize_t __ovld __cnfn get_image_array_size(read_write image1d_array_t image_array);
15198303233Sdimsize_t __ovld __cnfn get_image_array_size(read_write image2d_array_t image_array);
15199303233Sdim#ifdef cl_khr_depth_images
15200303233Sdimsize_t __ovld __cnfn get_image_array_size(read_write image2d_array_depth_t image_array);
15201303233Sdim#endif //cl_khr_depth_images
15202303233Sdim#if defined(cl_khr_gl_msaa_sharing)
15203303233Sdimsize_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_t image_array);
15204303233Sdimsize_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_depth_t image_array);
15205303233Sdim#endif //cl_khr_gl_msaa_sharing
15206353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15207303233Sdim
15208303233Sdim/**
15209303233Sdim* Return the number of samples associated with image
15210303233Sdim*/
15211303233Sdim#if defined(cl_khr_gl_msaa_sharing)
15212303233Sdimint __ovld get_image_num_samples(read_only image2d_msaa_t image);
15213303233Sdimint __ovld get_image_num_samples(read_only image2d_msaa_depth_t image);
15214303233Sdimint __ovld get_image_num_samples(read_only image2d_array_msaa_t image);
15215303233Sdimint __ovld get_image_num_samples(read_only image2d_array_msaa_depth_t image);
15216303233Sdim
15217303233Sdimint __ovld get_image_num_samples(write_only image2d_msaa_t image);
15218303233Sdimint __ovld get_image_num_samples(write_only image2d_msaa_depth_t image);
15219303233Sdimint __ovld get_image_num_samples(write_only image2d_array_msaa_t image);
15220303233Sdimint __ovld get_image_num_samples(write_only image2d_array_msaa_depth_t image);
15221303233Sdim
15222353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15223303233Sdimint __ovld get_image_num_samples(read_write image2d_msaa_t image);
15224303233Sdimint __ovld get_image_num_samples(read_write image2d_msaa_depth_t image);
15225303233Sdimint __ovld get_image_num_samples(read_write image2d_array_msaa_t image);
15226303233Sdimint __ovld get_image_num_samples(read_write image2d_array_msaa_depth_t image);
15227353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15228303233Sdim#endif
15229303233Sdim
15230303233Sdim// OpenCL v2.0 s6.13.15 - Work-group Functions
15231303233Sdim
15232353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15233314564Sdimint __ovld __conv work_group_all(int predicate);
15234314564Sdimint __ovld __conv work_group_any(int predicate);
15235303233Sdim
15236303233Sdim#ifdef cl_khr_fp16
15237314564Sdimhalf __ovld __conv work_group_broadcast(half a, size_t local_id);
15238314564Sdimhalf __ovld __conv work_group_broadcast(half a, size_t x, size_t y);
15239314564Sdimhalf __ovld __conv work_group_broadcast(half a, size_t x, size_t y, size_t z);
15240303233Sdim#endif
15241314564Sdimint __ovld __conv work_group_broadcast(int a, size_t local_id);
15242314564Sdimint __ovld __conv work_group_broadcast(int a, size_t x, size_t y);
15243314564Sdimint __ovld __conv work_group_broadcast(int a, size_t x, size_t y, size_t z);
15244314564Sdimuint __ovld __conv work_group_broadcast(uint a, size_t local_id);
15245314564Sdimuint __ovld __conv work_group_broadcast(uint a, size_t x, size_t y);
15246314564Sdimuint __ovld __conv work_group_broadcast(uint a, size_t x, size_t y, size_t z);
15247314564Sdimlong __ovld __conv work_group_broadcast(long a, size_t local_id);
15248314564Sdimlong __ovld __conv work_group_broadcast(long a, size_t x, size_t y);
15249314564Sdimlong __ovld __conv work_group_broadcast(long a, size_t x, size_t y, size_t z);
15250314564Sdimulong __ovld __conv work_group_broadcast(ulong a, size_t local_id);
15251314564Sdimulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y);
15252314564Sdimulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y, size_t z);
15253314564Sdimfloat __ovld __conv work_group_broadcast(float a, size_t local_id);
15254314564Sdimfloat __ovld __conv work_group_broadcast(float a, size_t x, size_t y);
15255314564Sdimfloat __ovld __conv work_group_broadcast(float a, size_t x, size_t y, size_t z);
15256303233Sdim#ifdef cl_khr_fp64
15257314564Sdimdouble __ovld __conv work_group_broadcast(double a, size_t local_id);
15258314564Sdimdouble __ovld __conv work_group_broadcast(double a, size_t x, size_t y);
15259314564Sdimdouble __ovld __conv work_group_broadcast(double a, size_t x, size_t y, size_t z);
15260303233Sdim#endif //cl_khr_fp64
15261303233Sdim
15262303233Sdim#ifdef cl_khr_fp16
15263314564Sdimhalf __ovld __conv work_group_reduce_add(half x);
15264314564Sdimhalf __ovld __conv work_group_reduce_min(half x);
15265314564Sdimhalf __ovld __conv work_group_reduce_max(half x);
15266314564Sdimhalf __ovld __conv work_group_scan_exclusive_add(half x);
15267314564Sdimhalf __ovld __conv work_group_scan_exclusive_min(half x);
15268314564Sdimhalf __ovld __conv work_group_scan_exclusive_max(half x);
15269314564Sdimhalf __ovld __conv work_group_scan_inclusive_add(half x);
15270314564Sdimhalf __ovld __conv work_group_scan_inclusive_min(half x);
15271314564Sdimhalf __ovld __conv work_group_scan_inclusive_max(half x);
15272303233Sdim#endif
15273314564Sdimint __ovld __conv work_group_reduce_add(int x);
15274314564Sdimint __ovld __conv work_group_reduce_min(int x);
15275314564Sdimint __ovld __conv work_group_reduce_max(int x);
15276314564Sdimint __ovld __conv work_group_scan_exclusive_add(int x);
15277314564Sdimint __ovld __conv work_group_scan_exclusive_min(int x);
15278314564Sdimint __ovld __conv work_group_scan_exclusive_max(int x);
15279314564Sdimint __ovld __conv work_group_scan_inclusive_add(int x);
15280314564Sdimint __ovld __conv work_group_scan_inclusive_min(int x);
15281314564Sdimint __ovld __conv work_group_scan_inclusive_max(int x);
15282314564Sdimuint __ovld __conv work_group_reduce_add(uint x);
15283314564Sdimuint __ovld __conv work_group_reduce_min(uint x);
15284314564Sdimuint __ovld __conv work_group_reduce_max(uint x);
15285314564Sdimuint __ovld __conv work_group_scan_exclusive_add(uint x);
15286314564Sdimuint __ovld __conv work_group_scan_exclusive_min(uint x);
15287314564Sdimuint __ovld __conv work_group_scan_exclusive_max(uint x);
15288314564Sdimuint __ovld __conv work_group_scan_inclusive_add(uint x);
15289314564Sdimuint __ovld __conv work_group_scan_inclusive_min(uint x);
15290314564Sdimuint __ovld __conv work_group_scan_inclusive_max(uint x);
15291314564Sdimlong __ovld __conv work_group_reduce_add(long x);
15292314564Sdimlong __ovld __conv work_group_reduce_min(long x);
15293314564Sdimlong __ovld __conv work_group_reduce_max(long x);
15294314564Sdimlong __ovld __conv work_group_scan_exclusive_add(long x);
15295314564Sdimlong __ovld __conv work_group_scan_exclusive_min(long x);
15296314564Sdimlong __ovld __conv work_group_scan_exclusive_max(long x);
15297314564Sdimlong __ovld __conv work_group_scan_inclusive_add(long x);
15298314564Sdimlong __ovld __conv work_group_scan_inclusive_min(long x);
15299314564Sdimlong __ovld __conv work_group_scan_inclusive_max(long x);
15300314564Sdimulong __ovld __conv work_group_reduce_add(ulong x);
15301314564Sdimulong __ovld __conv work_group_reduce_min(ulong x);
15302314564Sdimulong __ovld __conv work_group_reduce_max(ulong x);
15303314564Sdimulong __ovld __conv work_group_scan_exclusive_add(ulong x);
15304314564Sdimulong __ovld __conv work_group_scan_exclusive_min(ulong x);
15305314564Sdimulong __ovld __conv work_group_scan_exclusive_max(ulong x);
15306314564Sdimulong __ovld __conv work_group_scan_inclusive_add(ulong x);
15307314564Sdimulong __ovld __conv work_group_scan_inclusive_min(ulong x);
15308314564Sdimulong __ovld __conv work_group_scan_inclusive_max(ulong x);
15309314564Sdimfloat __ovld __conv work_group_reduce_add(float x);
15310314564Sdimfloat __ovld __conv work_group_reduce_min(float x);
15311314564Sdimfloat __ovld __conv work_group_reduce_max(float x);
15312314564Sdimfloat __ovld __conv work_group_scan_exclusive_add(float x);
15313314564Sdimfloat __ovld __conv work_group_scan_exclusive_min(float x);
15314314564Sdimfloat __ovld __conv work_group_scan_exclusive_max(float x);
15315314564Sdimfloat __ovld __conv work_group_scan_inclusive_add(float x);
15316314564Sdimfloat __ovld __conv work_group_scan_inclusive_min(float x);
15317314564Sdimfloat __ovld __conv work_group_scan_inclusive_max(float x);
15318303233Sdim#ifdef cl_khr_fp64
15319314564Sdimdouble __ovld __conv work_group_reduce_add(double x);
15320314564Sdimdouble __ovld __conv work_group_reduce_min(double x);
15321314564Sdimdouble __ovld __conv work_group_reduce_max(double x);
15322314564Sdimdouble __ovld __conv work_group_scan_exclusive_add(double x);
15323314564Sdimdouble __ovld __conv work_group_scan_exclusive_min(double x);
15324314564Sdimdouble __ovld __conv work_group_scan_exclusive_max(double x);
15325314564Sdimdouble __ovld __conv work_group_scan_inclusive_add(double x);
15326314564Sdimdouble __ovld __conv work_group_scan_inclusive_min(double x);
15327314564Sdimdouble __ovld __conv work_group_scan_inclusive_max(double x);
15328303233Sdim#endif //cl_khr_fp64
15329303233Sdim
15330353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15331303233Sdim
15332303233Sdim// OpenCL v2.0 s6.13.16 - Pipe Functions
15333353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15334303233Sdimbool __ovld is_valid_reserve_id(reserve_id_t reserve_id);
15335353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15336303233Sdim
15337303233Sdim
15338303233Sdim// OpenCL v2.0 s6.13.17 - Enqueue Kernels
15339353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15340303233Sdim
15341303233Sdimndrange_t __ovld ndrange_1D(size_t);
15342303233Sdimndrange_t __ovld ndrange_1D(size_t, size_t);
15343303233Sdimndrange_t __ovld ndrange_1D(size_t, size_t, size_t);
15344303233Sdim
15345303233Sdimndrange_t __ovld ndrange_2D(const size_t[2]);
15346303233Sdimndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2]);
15347303233Sdimndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2], const size_t[2]);
15348303233Sdim
15349303233Sdimndrange_t __ovld ndrange_3D(const size_t[3]);
15350303233Sdimndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3]);
15351303233Sdimndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3], const size_t[3]);
15352303233Sdim
15353353358Sdimint __ovld enqueue_marker(queue_t, uint, const clk_event_t*, clk_event_t*);
15354303233Sdim
15355303233Sdimvoid __ovld retain_event(clk_event_t);
15356303233Sdim
15357303233Sdimvoid __ovld release_event(clk_event_t);
15358303233Sdim
15359314564Sdimclk_event_t __ovld create_user_event(void);
15360303233Sdim
15361303233Sdimvoid __ovld set_user_event_status(clk_event_t e, int state);
15362303233Sdim
15363314564Sdimbool __ovld is_valid_event (clk_event_t event);
15364303233Sdim
15365303233Sdimvoid __ovld capture_event_profiling_info(clk_event_t, clk_profiling_info, __global void* value);
15366303233Sdim
15367303233Sdimqueue_t __ovld get_default_queue(void);
15368353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15369303233Sdim
15370303233Sdim// OpenCL Extension v2.0 s9.17 - Sub-groups
15371303233Sdim
15372303233Sdim#if defined(cl_intel_subgroups) || defined(cl_khr_subgroups)
15373303233Sdim// Shared Sub Group Functions
15374303233Sdimuint    __ovld get_sub_group_size(void);
15375303233Sdimuint    __ovld get_max_sub_group_size(void);
15376303233Sdimuint    __ovld get_num_sub_groups(void);
15377353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15378303233Sdimuint    __ovld get_enqueued_num_sub_groups(void);
15379353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15380303233Sdimuint    __ovld get_sub_group_id(void);
15381303233Sdimuint    __ovld get_sub_group_local_id(void);
15382303233Sdim
15383314564Sdimvoid    __ovld __conv sub_group_barrier(cl_mem_fence_flags flags);
15384353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15385314564Sdimvoid    __ovld __conv sub_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
15386353358Sdim#endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15387303233Sdim
15388314564Sdimint     __ovld __conv sub_group_all(int predicate);
15389314564Sdimint     __ovld __conv sub_group_any(int predicate);
15390303233Sdim
15391314564Sdimint     __ovld __conv sub_group_broadcast(int   x, uint sub_group_local_id);
15392314564Sdimuint    __ovld __conv sub_group_broadcast(uint  x, uint sub_group_local_id);
15393314564Sdimlong    __ovld __conv sub_group_broadcast(long  x, uint sub_group_local_id);
15394314564Sdimulong   __ovld __conv sub_group_broadcast(ulong x, uint sub_group_local_id);
15395314564Sdimfloat   __ovld __conv sub_group_broadcast(float x, uint sub_group_local_id);
15396303233Sdim
15397314564Sdimint     __ovld __conv sub_group_reduce_add(int   x);
15398314564Sdimuint    __ovld __conv sub_group_reduce_add(uint  x);
15399314564Sdimlong    __ovld __conv sub_group_reduce_add(long  x);
15400314564Sdimulong   __ovld __conv sub_group_reduce_add(ulong x);
15401314564Sdimfloat   __ovld __conv sub_group_reduce_add(float x);
15402314564Sdimint     __ovld __conv sub_group_reduce_min(int   x);
15403314564Sdimuint    __ovld __conv sub_group_reduce_min(uint  x);
15404314564Sdimlong    __ovld __conv sub_group_reduce_min(long  x);
15405314564Sdimulong   __ovld __conv sub_group_reduce_min(ulong x);
15406314564Sdimfloat   __ovld __conv sub_group_reduce_min(float x);
15407314564Sdimint     __ovld __conv sub_group_reduce_max(int   x);
15408314564Sdimuint    __ovld __conv sub_group_reduce_max(uint  x);
15409314564Sdimlong    __ovld __conv sub_group_reduce_max(long  x);
15410314564Sdimulong   __ovld __conv sub_group_reduce_max(ulong x);
15411314564Sdimfloat   __ovld __conv sub_group_reduce_max(float x);
15412303233Sdim
15413314564Sdimint     __ovld __conv sub_group_scan_exclusive_add(int   x);
15414314564Sdimuint    __ovld __conv sub_group_scan_exclusive_add(uint  x);
15415314564Sdimlong    __ovld __conv sub_group_scan_exclusive_add(long  x);
15416314564Sdimulong   __ovld __conv sub_group_scan_exclusive_add(ulong x);
15417314564Sdimfloat   __ovld __conv sub_group_scan_exclusive_add(float x);
15418314564Sdimint     __ovld __conv sub_group_scan_exclusive_min(int   x);
15419314564Sdimuint    __ovld __conv sub_group_scan_exclusive_min(uint  x);
15420314564Sdimlong    __ovld __conv sub_group_scan_exclusive_min(long  x);
15421314564Sdimulong   __ovld __conv sub_group_scan_exclusive_min(ulong x);
15422314564Sdimfloat   __ovld __conv sub_group_scan_exclusive_min(float x);
15423314564Sdimint     __ovld __conv sub_group_scan_exclusive_max(int   x);
15424314564Sdimuint    __ovld __conv sub_group_scan_exclusive_max(uint  x);
15425314564Sdimlong    __ovld __conv sub_group_scan_exclusive_max(long  x);
15426314564Sdimulong   __ovld __conv sub_group_scan_exclusive_max(ulong x);
15427314564Sdimfloat   __ovld __conv sub_group_scan_exclusive_max(float x);
15428303233Sdim
15429314564Sdimint     __ovld __conv sub_group_scan_inclusive_add(int   x);
15430314564Sdimuint    __ovld __conv sub_group_scan_inclusive_add(uint  x);
15431314564Sdimlong    __ovld __conv sub_group_scan_inclusive_add(long  x);
15432314564Sdimulong   __ovld __conv sub_group_scan_inclusive_add(ulong x);
15433314564Sdimfloat   __ovld __conv sub_group_scan_inclusive_add(float x);
15434314564Sdimint     __ovld __conv sub_group_scan_inclusive_min(int   x);
15435314564Sdimuint    __ovld __conv sub_group_scan_inclusive_min(uint  x);
15436314564Sdimlong    __ovld __conv sub_group_scan_inclusive_min(long  x);
15437314564Sdimulong   __ovld __conv sub_group_scan_inclusive_min(ulong x);
15438314564Sdimfloat   __ovld __conv sub_group_scan_inclusive_min(float x);
15439314564Sdimint     __ovld __conv sub_group_scan_inclusive_max(int   x);
15440314564Sdimuint    __ovld __conv sub_group_scan_inclusive_max(uint  x);
15441314564Sdimlong    __ovld __conv sub_group_scan_inclusive_max(long  x);
15442314564Sdimulong   __ovld __conv sub_group_scan_inclusive_max(ulong x);
15443314564Sdimfloat   __ovld __conv sub_group_scan_inclusive_max(float x);
15444303233Sdim
15445303233Sdim#ifdef cl_khr_fp16
15446314564Sdimhalf    __ovld __conv sub_group_broadcast(half x, uint sub_group_local_id);
15447314564Sdimhalf    __ovld __conv sub_group_reduce_add(half x);
15448314564Sdimhalf    __ovld __conv sub_group_reduce_min(half x);
15449314564Sdimhalf    __ovld __conv sub_group_reduce_max(half x);
15450314564Sdimhalf    __ovld __conv sub_group_scan_exclusive_add(half x);
15451314564Sdimhalf    __ovld __conv sub_group_scan_exclusive_min(half x);
15452314564Sdimhalf    __ovld __conv sub_group_scan_exclusive_max(half x);
15453314564Sdimhalf    __ovld __conv sub_group_scan_inclusive_add(half x);
15454314564Sdimhalf    __ovld __conv sub_group_scan_inclusive_min(half x);
15455314564Sdimhalf    __ovld __conv sub_group_scan_inclusive_max(half x);
15456303233Sdim#endif //cl_khr_fp16
15457303233Sdim
15458303233Sdim#ifdef cl_khr_fp64
15459314564Sdimdouble  __ovld __conv sub_group_broadcast(double x, uint sub_group_local_id);
15460314564Sdimdouble  __ovld __conv sub_group_reduce_add(double x);
15461314564Sdimdouble  __ovld __conv sub_group_reduce_min(double x);
15462314564Sdimdouble  __ovld __conv sub_group_reduce_max(double x);
15463314564Sdimdouble  __ovld __conv sub_group_scan_exclusive_add(double x);
15464314564Sdimdouble  __ovld __conv sub_group_scan_exclusive_min(double x);
15465314564Sdimdouble  __ovld __conv sub_group_scan_exclusive_max(double x);
15466314564Sdimdouble  __ovld __conv sub_group_scan_inclusive_add(double x);
15467314564Sdimdouble  __ovld __conv sub_group_scan_inclusive_min(double x);
15468314564Sdimdouble  __ovld __conv sub_group_scan_inclusive_max(double x);
15469303233Sdim#endif //cl_khr_fp64
15470303233Sdim
15471303233Sdim#endif //cl_khr_subgroups cl_intel_subgroups
15472303233Sdim
15473327952Sdim#if defined(cl_intel_subgroups)
15474327952Sdim// Intel-Specific Sub Group Functions
15475327952Sdimfloat   __ovld __conv intel_sub_group_shuffle( float  x, uint c );
15476327952Sdimfloat2  __ovld __conv intel_sub_group_shuffle( float2 x, uint c );
15477327952Sdimfloat3  __ovld __conv intel_sub_group_shuffle( float3 x, uint c );
15478327952Sdimfloat4  __ovld __conv intel_sub_group_shuffle( float4 x, uint c );
15479327952Sdimfloat8  __ovld __conv intel_sub_group_shuffle( float8 x, uint c );
15480327952Sdimfloat16 __ovld __conv intel_sub_group_shuffle( float16 x, uint c );
15481327952Sdim
15482327952Sdimint     __ovld __conv intel_sub_group_shuffle( int  x, uint c );
15483327952Sdimint2    __ovld __conv intel_sub_group_shuffle( int2 x, uint c );
15484327952Sdimint3    __ovld __conv intel_sub_group_shuffle( int3 x, uint c );
15485327952Sdimint4    __ovld __conv intel_sub_group_shuffle( int4 x, uint c );
15486327952Sdimint8    __ovld __conv intel_sub_group_shuffle( int8 x, uint c );
15487327952Sdimint16   __ovld __conv intel_sub_group_shuffle( int16 x, uint c );
15488327952Sdim
15489327952Sdimuint    __ovld __conv intel_sub_group_shuffle( uint  x, uint c );
15490327952Sdimuint2   __ovld __conv intel_sub_group_shuffle( uint2 x, uint c );
15491327952Sdimuint3   __ovld __conv intel_sub_group_shuffle( uint3 x, uint c );
15492327952Sdimuint4   __ovld __conv intel_sub_group_shuffle( uint4 x, uint c );
15493327952Sdimuint8   __ovld __conv intel_sub_group_shuffle( uint8 x, uint c );
15494327952Sdimuint16  __ovld __conv intel_sub_group_shuffle( uint16 x, uint c );
15495327952Sdim
15496327952Sdimlong    __ovld __conv intel_sub_group_shuffle( long x, uint c );
15497327952Sdimulong   __ovld __conv intel_sub_group_shuffle( ulong x, uint c );
15498327952Sdim
15499327952Sdimfloat   __ovld __conv intel_sub_group_shuffle_down( float  cur, float  next, uint c );
15500327952Sdimfloat2  __ovld __conv intel_sub_group_shuffle_down( float2 cur, float2 next, uint c );
15501327952Sdimfloat3  __ovld __conv intel_sub_group_shuffle_down( float3 cur, float3 next, uint c );
15502327952Sdimfloat4  __ovld __conv intel_sub_group_shuffle_down( float4 cur, float4 next, uint c );
15503327952Sdimfloat8  __ovld __conv intel_sub_group_shuffle_down( float8 cur, float8 next, uint c );
15504327952Sdimfloat16 __ovld __conv intel_sub_group_shuffle_down( float16 cur, float16 next, uint c );
15505327952Sdim
15506327952Sdimint     __ovld __conv intel_sub_group_shuffle_down( int  cur, int  next, uint c );
15507327952Sdimint2    __ovld __conv intel_sub_group_shuffle_down( int2 cur, int2 next, uint c );
15508327952Sdimint3    __ovld __conv intel_sub_group_shuffle_down( int3 cur, int3 next, uint c );
15509327952Sdimint4    __ovld __conv intel_sub_group_shuffle_down( int4 cur, int4 next, uint c );
15510327952Sdimint8    __ovld __conv intel_sub_group_shuffle_down( int8 cur, int8 next, uint c );
15511327952Sdimint16   __ovld __conv intel_sub_group_shuffle_down( int16 cur, int16 next, uint c );
15512327952Sdim
15513327952Sdimuint    __ovld __conv intel_sub_group_shuffle_down( uint  cur, uint  next, uint c );
15514327952Sdimuint2   __ovld __conv intel_sub_group_shuffle_down( uint2 cur, uint2 next, uint c );
15515327952Sdimuint3   __ovld __conv intel_sub_group_shuffle_down( uint3 cur, uint3 next, uint c );
15516327952Sdimuint4   __ovld __conv intel_sub_group_shuffle_down( uint4 cur, uint4 next, uint c );
15517327952Sdimuint8   __ovld __conv intel_sub_group_shuffle_down( uint8 cur, uint8 next, uint c );
15518327952Sdimuint16  __ovld __conv intel_sub_group_shuffle_down( uint16 cur, uint16 next, uint c );
15519327952Sdim
15520327952Sdimlong    __ovld __conv intel_sub_group_shuffle_down( long prev, long cur, uint c );
15521327952Sdimulong   __ovld __conv intel_sub_group_shuffle_down( ulong prev, ulong cur, uint c );
15522327952Sdim
15523327952Sdimfloat   __ovld __conv intel_sub_group_shuffle_up( float  prev, float  cur, uint c );
15524327952Sdimfloat2  __ovld __conv intel_sub_group_shuffle_up( float2 prev, float2 cur, uint c );
15525327952Sdimfloat3  __ovld __conv intel_sub_group_shuffle_up( float3 prev, float3 cur, uint c );
15526327952Sdimfloat4  __ovld __conv intel_sub_group_shuffle_up( float4 prev, float4 cur, uint c );
15527327952Sdimfloat8  __ovld __conv intel_sub_group_shuffle_up( float8 prev, float8 cur, uint c );
15528327952Sdimfloat16 __ovld __conv intel_sub_group_shuffle_up( float16 prev, float16 cur, uint c );
15529327952Sdim
15530327952Sdimint     __ovld __conv intel_sub_group_shuffle_up( int  prev, int  cur, uint c );
15531327952Sdimint2    __ovld __conv intel_sub_group_shuffle_up( int2 prev, int2 cur, uint c );
15532327952Sdimint3    __ovld __conv intel_sub_group_shuffle_up( int3 prev, int3 cur, uint c );
15533327952Sdimint4    __ovld __conv intel_sub_group_shuffle_up( int4 prev, int4 cur, uint c );
15534327952Sdimint8    __ovld __conv intel_sub_group_shuffle_up( int8 prev, int8 cur, uint c );
15535327952Sdimint16   __ovld __conv intel_sub_group_shuffle_up( int16 prev, int16 cur, uint c );
15536327952Sdim
15537327952Sdimuint    __ovld __conv intel_sub_group_shuffle_up( uint  prev, uint  cur, uint c );
15538327952Sdimuint2   __ovld __conv intel_sub_group_shuffle_up( uint2 prev, uint2 cur, uint c );
15539327952Sdimuint3   __ovld __conv intel_sub_group_shuffle_up( uint3 prev, uint3 cur, uint c );
15540327952Sdimuint4   __ovld __conv intel_sub_group_shuffle_up( uint4 prev, uint4 cur, uint c );
15541327952Sdimuint8   __ovld __conv intel_sub_group_shuffle_up( uint8 prev, uint8 cur, uint c );
15542327952Sdimuint16  __ovld __conv intel_sub_group_shuffle_up( uint16 prev, uint16 cur, uint c );
15543327952Sdim
15544327952Sdimlong    __ovld __conv intel_sub_group_shuffle_up( long prev, long cur, uint c );
15545327952Sdimulong   __ovld __conv intel_sub_group_shuffle_up( ulong prev, ulong cur, uint c );
15546327952Sdim
15547327952Sdimfloat   __ovld __conv intel_sub_group_shuffle_xor( float  x, uint c );
15548327952Sdimfloat2  __ovld __conv intel_sub_group_shuffle_xor( float2 x, uint c );
15549327952Sdimfloat3  __ovld __conv intel_sub_group_shuffle_xor( float3 x, uint c );
15550327952Sdimfloat4  __ovld __conv intel_sub_group_shuffle_xor( float4 x, uint c );
15551327952Sdimfloat8  __ovld __conv intel_sub_group_shuffle_xor( float8 x, uint c );
15552327952Sdimfloat16 __ovld __conv intel_sub_group_shuffle_xor( float16 x, uint c );
15553327952Sdim
15554327952Sdimint     __ovld __conv intel_sub_group_shuffle_xor( int  x, uint c );
15555327952Sdimint2    __ovld __conv intel_sub_group_shuffle_xor( int2 x, uint c );
15556327952Sdimint3    __ovld __conv intel_sub_group_shuffle_xor( int3 x, uint c );
15557327952Sdimint4    __ovld __conv intel_sub_group_shuffle_xor( int4 x, uint c );
15558327952Sdimint8    __ovld __conv intel_sub_group_shuffle_xor( int8 x, uint c );
15559327952Sdimint16   __ovld __conv intel_sub_group_shuffle_xor( int16 x, uint c );
15560327952Sdim
15561327952Sdimuint    __ovld __conv intel_sub_group_shuffle_xor( uint  x, uint c );
15562327952Sdimuint2   __ovld __conv intel_sub_group_shuffle_xor( uint2 x, uint c );
15563327952Sdimuint3   __ovld __conv intel_sub_group_shuffle_xor( uint3 x, uint c );
15564327952Sdimuint4   __ovld __conv intel_sub_group_shuffle_xor( uint4 x, uint c );
15565327952Sdimuint8   __ovld __conv intel_sub_group_shuffle_xor( uint8 x, uint c );
15566327952Sdimuint16  __ovld __conv intel_sub_group_shuffle_xor( uint16 x, uint c );
15567327952Sdim
15568327952Sdimlong    __ovld __conv intel_sub_group_shuffle_xor( long x, uint c );
15569327952Sdimulong   __ovld __conv intel_sub_group_shuffle_xor( ulong x, uint c );
15570327952Sdim
15571327952Sdimuint    __ovld __conv intel_sub_group_block_read( read_only image2d_t image, int2 coord );
15572327952Sdimuint2   __ovld __conv intel_sub_group_block_read2( read_only image2d_t image, int2 coord );
15573327952Sdimuint4   __ovld __conv intel_sub_group_block_read4( read_only image2d_t image, int2 coord );
15574327952Sdimuint8   __ovld __conv intel_sub_group_block_read8( read_only image2d_t image, int2 coord );
15575327952Sdim
15576353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15577327952Sdimuint    __ovld __conv intel_sub_group_block_read(read_write image2d_t image, int2 coord);
15578327952Sdimuint2   __ovld __conv intel_sub_group_block_read2(read_write image2d_t image, int2 coord);
15579327952Sdimuint4   __ovld __conv intel_sub_group_block_read4(read_write image2d_t image, int2 coord);
15580327952Sdimuint8   __ovld __conv intel_sub_group_block_read8(read_write image2d_t image, int2 coord);
15581353358Sdim#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15582327952Sdim
15583327952Sdimuint    __ovld __conv intel_sub_group_block_read( const __global uint* p );
15584327952Sdimuint2   __ovld __conv intel_sub_group_block_read2( const __global uint* p );
15585327952Sdimuint4   __ovld __conv intel_sub_group_block_read4( const __global uint* p );
15586327952Sdimuint8   __ovld __conv intel_sub_group_block_read8( const __global uint* p );
15587327952Sdim
15588327952Sdimvoid    __ovld __conv intel_sub_group_block_write(write_only image2d_t image, int2 coord, uint data);
15589327952Sdimvoid    __ovld __conv intel_sub_group_block_write2(write_only image2d_t image, int2 coord, uint2 data);
15590327952Sdimvoid    __ovld __conv intel_sub_group_block_write4(write_only image2d_t image, int2 coord, uint4 data);
15591327952Sdimvoid    __ovld __conv intel_sub_group_block_write8(write_only image2d_t image, int2 coord, uint8 data);
15592327952Sdim
15593353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15594327952Sdimvoid    __ovld __conv intel_sub_group_block_write(read_write image2d_t image, int2 coord, uint data);
15595327952Sdimvoid    __ovld __conv intel_sub_group_block_write2(read_write image2d_t image, int2 coord, uint2 data);
15596327952Sdimvoid    __ovld __conv intel_sub_group_block_write4(read_write image2d_t image, int2 coord, uint4 data);
15597327952Sdimvoid    __ovld __conv intel_sub_group_block_write8(read_write image2d_t image, int2 coord, uint8 data);
15598353358Sdim#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15599327952Sdim
15600327952Sdimvoid    __ovld __conv intel_sub_group_block_write( __global uint* p, uint data );
15601327952Sdimvoid    __ovld __conv intel_sub_group_block_write2( __global uint* p, uint2 data );
15602327952Sdimvoid    __ovld __conv intel_sub_group_block_write4( __global uint* p, uint4 data );
15603327952Sdimvoid    __ovld __conv intel_sub_group_block_write8( __global uint* p, uint8 data );
15604327952Sdim
15605327952Sdim#ifdef cl_khr_fp16
15606327952Sdimhalf    __ovld __conv intel_sub_group_shuffle( half x, uint c );
15607327952Sdimhalf    __ovld __conv intel_sub_group_shuffle_down( half prev, half cur, uint c );
15608327952Sdimhalf    __ovld __conv intel_sub_group_shuffle_up( half prev, half cur, uint c );
15609327952Sdimhalf    __ovld __conv intel_sub_group_shuffle_xor( half x, uint c );
15610327952Sdim#endif
15611327952Sdim
15612327952Sdim#if defined(cl_khr_fp64)
15613327952Sdimdouble  __ovld __conv intel_sub_group_shuffle( double x, uint c );
15614327952Sdimdouble  __ovld __conv intel_sub_group_shuffle_down( double prev, double cur, uint c );
15615327952Sdimdouble  __ovld __conv intel_sub_group_shuffle_up( double prev, double cur, uint c );
15616327952Sdimdouble  __ovld __conv intel_sub_group_shuffle_xor( double x, uint c );
15617327952Sdim#endif
15618327952Sdim
15619327952Sdim#endif //cl_intel_subgroups
15620327952Sdim
15621327952Sdim#if defined(cl_intel_subgroups_short)
15622327952Sdimshort       __ovld __conv intel_sub_group_broadcast( short  x, uint sub_group_local_id );
15623327952Sdimshort2      __ovld __conv intel_sub_group_broadcast( short2 x, uint sub_group_local_id );
15624327952Sdimshort3      __ovld __conv intel_sub_group_broadcast( short3 x, uint sub_group_local_id );
15625327952Sdimshort4      __ovld __conv intel_sub_group_broadcast( short4 x, uint sub_group_local_id );
15626327952Sdimshort8      __ovld __conv intel_sub_group_broadcast( short8 x, uint sub_group_local_id );
15627327952Sdim
15628327952Sdimushort      __ovld __conv intel_sub_group_broadcast( ushort  x, uint sub_group_local_id );
15629327952Sdimushort2     __ovld __conv intel_sub_group_broadcast( ushort2 x, uint sub_group_local_id );
15630327952Sdimushort3     __ovld __conv intel_sub_group_broadcast( ushort3 x, uint sub_group_local_id );
15631327952Sdimushort4     __ovld __conv intel_sub_group_broadcast( ushort4 x, uint sub_group_local_id );
15632327952Sdimushort8     __ovld __conv intel_sub_group_broadcast( ushort8 x, uint sub_group_local_id );
15633327952Sdim
15634327952Sdimshort       __ovld __conv intel_sub_group_shuffle( short   x, uint c );
15635327952Sdimshort2      __ovld __conv intel_sub_group_shuffle( short2  x, uint c );
15636327952Sdimshort3      __ovld __conv intel_sub_group_shuffle( short3  x, uint c );
15637327952Sdimshort4      __ovld __conv intel_sub_group_shuffle( short4  x, uint c );
15638327952Sdimshort8      __ovld __conv intel_sub_group_shuffle( short8  x, uint c );
15639327952Sdimshort16     __ovld __conv intel_sub_group_shuffle( short16 x, uint c);
15640327952Sdim
15641327952Sdimushort      __ovld __conv intel_sub_group_shuffle( ushort   x, uint c );
15642327952Sdimushort2     __ovld __conv intel_sub_group_shuffle( ushort2  x, uint c );
15643327952Sdimushort3     __ovld __conv intel_sub_group_shuffle( ushort3  x, uint c );
15644327952Sdimushort4     __ovld __conv intel_sub_group_shuffle( ushort4  x, uint c );
15645327952Sdimushort8     __ovld __conv intel_sub_group_shuffle( ushort8  x, uint c );
15646327952Sdimushort16    __ovld __conv intel_sub_group_shuffle( ushort16 x, uint c );
15647327952Sdim
15648327952Sdimshort       __ovld __conv intel_sub_group_shuffle_down( short   cur, short   next, uint c );
15649327952Sdimshort2      __ovld __conv intel_sub_group_shuffle_down( short2  cur, short2  next, uint c );
15650327952Sdimshort3      __ovld __conv intel_sub_group_shuffle_down( short3  cur, short3  next, uint c );
15651327952Sdimshort4      __ovld __conv intel_sub_group_shuffle_down( short4  cur, short4  next, uint c );
15652327952Sdimshort8      __ovld __conv intel_sub_group_shuffle_down( short8  cur, short8  next, uint c );
15653327952Sdimshort16     __ovld __conv intel_sub_group_shuffle_down( short16 cur, short16 next, uint c );
15654327952Sdim
15655327952Sdimushort      __ovld __conv intel_sub_group_shuffle_down( ushort   cur, ushort   next, uint c );
15656327952Sdimushort2     __ovld __conv intel_sub_group_shuffle_down( ushort2  cur, ushort2  next, uint c );
15657327952Sdimushort3     __ovld __conv intel_sub_group_shuffle_down( ushort3  cur, ushort3  next, uint c );
15658327952Sdimushort4     __ovld __conv intel_sub_group_shuffle_down( ushort4  cur, ushort4  next, uint c );
15659327952Sdimushort8     __ovld __conv intel_sub_group_shuffle_down( ushort8  cur, ushort8  next, uint c );
15660327952Sdimushort16    __ovld __conv intel_sub_group_shuffle_down( ushort16 cur, ushort16 next, uint c );
15661327952Sdim
15662327952Sdimshort       __ovld __conv intel_sub_group_shuffle_up( short   cur, short   next, uint c );
15663327952Sdimshort2      __ovld __conv intel_sub_group_shuffle_up( short2  cur, short2  next, uint c );
15664327952Sdimshort3      __ovld __conv intel_sub_group_shuffle_up( short3  cur, short3  next, uint c );
15665327952Sdimshort4      __ovld __conv intel_sub_group_shuffle_up( short4  cur, short4  next, uint c );
15666327952Sdimshort8      __ovld __conv intel_sub_group_shuffle_up( short8  cur, short8  next, uint c );
15667327952Sdimshort16     __ovld __conv intel_sub_group_shuffle_up( short16 cur, short16 next, uint c );
15668327952Sdim
15669327952Sdimushort      __ovld __conv intel_sub_group_shuffle_up( ushort   cur, ushort   next, uint c );
15670327952Sdimushort2     __ovld __conv intel_sub_group_shuffle_up( ushort2  cur, ushort2  next, uint c );
15671327952Sdimushort3     __ovld __conv intel_sub_group_shuffle_up( ushort3  cur, ushort3  next, uint c );
15672327952Sdimushort4     __ovld __conv intel_sub_group_shuffle_up( ushort4  cur, ushort4  next, uint c );
15673327952Sdimushort8     __ovld __conv intel_sub_group_shuffle_up( ushort8  cur, ushort8  next, uint c );
15674327952Sdimushort16    __ovld __conv intel_sub_group_shuffle_up( ushort16 cur, ushort16 next, uint c );
15675327952Sdim
15676327952Sdimshort       __ovld __conv intel_sub_group_shuffle_xor( short   x, uint c );
15677327952Sdimshort2      __ovld __conv intel_sub_group_shuffle_xor( short2  x, uint c );
15678327952Sdimshort3      __ovld __conv intel_sub_group_shuffle_xor( short3  x, uint c );
15679327952Sdimshort4      __ovld __conv intel_sub_group_shuffle_xor( short4  x, uint c );
15680327952Sdimshort8      __ovld __conv intel_sub_group_shuffle_xor( short8  x, uint c );
15681327952Sdimshort16     __ovld __conv intel_sub_group_shuffle_xor( short16 x, uint c );
15682327952Sdim
15683327952Sdimushort      __ovld __conv intel_sub_group_shuffle_xor( ushort   x, uint c );
15684327952Sdimushort2     __ovld __conv intel_sub_group_shuffle_xor( ushort2  x, uint c );
15685327952Sdimushort3     __ovld __conv intel_sub_group_shuffle_xor( ushort3  x, uint c );
15686327952Sdimushort4     __ovld __conv intel_sub_group_shuffle_xor( ushort4  x, uint c );
15687327952Sdimushort8     __ovld __conv intel_sub_group_shuffle_xor( ushort8  x, uint c );
15688327952Sdimushort16    __ovld __conv intel_sub_group_shuffle_xor( ushort16 x, uint c );
15689327952Sdim
15690327952Sdimshort       __ovld __conv intel_sub_group_reduce_add( short   x );
15691327952Sdimushort      __ovld __conv intel_sub_group_reduce_add( ushort  x );
15692327952Sdimshort       __ovld __conv intel_sub_group_reduce_min( short   x );
15693327952Sdimushort      __ovld __conv intel_sub_group_reduce_min( ushort  x );
15694327952Sdimshort       __ovld __conv intel_sub_group_reduce_max( short   x );
15695327952Sdimushort      __ovld __conv intel_sub_group_reduce_max( ushort  x );
15696327952Sdim
15697327952Sdimshort       __ovld __conv intel_sub_group_scan_exclusive_add( short   x );
15698327952Sdimushort      __ovld __conv intel_sub_group_scan_exclusive_add( ushort  x );
15699327952Sdimshort       __ovld __conv intel_sub_group_scan_exclusive_min( short   x );
15700327952Sdimushort      __ovld __conv intel_sub_group_scan_exclusive_min( ushort  x );
15701327952Sdimshort       __ovld __conv intel_sub_group_scan_exclusive_max( short   x );
15702327952Sdimushort      __ovld __conv intel_sub_group_scan_exclusive_max( ushort  x );
15703327952Sdim
15704327952Sdimshort       __ovld __conv intel_sub_group_scan_inclusive_add( short   x );
15705327952Sdimushort      __ovld __conv intel_sub_group_scan_inclusive_add( ushort  x );
15706327952Sdimshort       __ovld __conv intel_sub_group_scan_inclusive_min( short   x );
15707327952Sdimushort      __ovld __conv intel_sub_group_scan_inclusive_min( ushort  x );
15708327952Sdimshort       __ovld __conv intel_sub_group_scan_inclusive_max( short   x );
15709327952Sdimushort      __ovld __conv intel_sub_group_scan_inclusive_max( ushort  x );
15710327952Sdim
15711327952Sdimuint       __ovld __conv intel_sub_group_block_read_ui( read_only image2d_t image, int2 byte_coord );
15712327952Sdimuint2      __ovld __conv intel_sub_group_block_read_ui2( read_only image2d_t image, int2 byte_coord );
15713327952Sdimuint4      __ovld __conv intel_sub_group_block_read_ui4( read_only image2d_t image, int2 byte_coord );
15714327952Sdimuint8      __ovld __conv intel_sub_group_block_read_ui8( read_only image2d_t image, int2 byte_coord );
15715327952Sdim
15716353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15717327952Sdimuint       __ovld __conv intel_sub_group_block_read_ui( read_write image2d_t image, int2 byte_coord );
15718327952Sdimuint2      __ovld __conv intel_sub_group_block_read_ui2( read_write image2d_t image, int2 byte_coord );
15719327952Sdimuint4      __ovld __conv intel_sub_group_block_read_ui4( read_write image2d_t image, int2 byte_coord );
15720327952Sdimuint8      __ovld __conv intel_sub_group_block_read_ui8( read_write image2d_t image, int2 byte_coord );
15721353358Sdim#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15722327952Sdim
15723327952Sdimuint       __ovld __conv intel_sub_group_block_read_ui( const __global uint* p );
15724327952Sdimuint2      __ovld __conv intel_sub_group_block_read_ui2( const __global uint* p );
15725327952Sdimuint4      __ovld __conv intel_sub_group_block_read_ui4( const __global uint* p );
15726327952Sdimuint8      __ovld __conv intel_sub_group_block_read_ui8( const __global uint* p );
15727327952Sdim
15728327952Sdimvoid       __ovld __conv intel_sub_group_block_write_ui( read_only image2d_t image, int2 byte_coord, uint data );
15729327952Sdimvoid       __ovld __conv intel_sub_group_block_write_ui2( read_only image2d_t image, int2 byte_coord, uint2 data );
15730327952Sdimvoid       __ovld __conv intel_sub_group_block_write_ui4( read_only image2d_t image, int2 byte_coord, uint4 data );
15731327952Sdimvoid       __ovld __conv intel_sub_group_block_write_ui8( read_only image2d_t image, int2 byte_coord, uint8 data );
15732327952Sdim
15733353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15734327952Sdimvoid       __ovld __conv intel_sub_group_block_write_ui( read_write image2d_t image, int2 byte_coord, uint data );
15735327952Sdimvoid       __ovld __conv intel_sub_group_block_write_ui2( read_write image2d_t image, int2 byte_coord, uint2 data );
15736327952Sdimvoid       __ovld __conv intel_sub_group_block_write_ui4( read_write image2d_t image, int2 byte_coord, uint4 data );
15737327952Sdimvoid       __ovld __conv intel_sub_group_block_write_ui8( read_write image2d_t image, int2 byte_coord, uint8 data );
15738353358Sdim#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15739327952Sdim
15740327952Sdimvoid       __ovld __conv intel_sub_group_block_write_ui( __global uint* p, uint data );
15741327952Sdimvoid       __ovld __conv intel_sub_group_block_write_ui2( __global uint* p, uint2 data );
15742327952Sdimvoid       __ovld __conv intel_sub_group_block_write_ui4( __global uint* p, uint4 data );
15743327952Sdimvoid       __ovld __conv intel_sub_group_block_write_ui8( __global uint* p, uint8 data );
15744327952Sdim
15745327952Sdimushort      __ovld __conv intel_sub_group_block_read_us( read_only image2d_t image, int2 coord );
15746327952Sdimushort2     __ovld __conv intel_sub_group_block_read_us2( read_only image2d_t image, int2 coord );
15747327952Sdimushort4     __ovld __conv intel_sub_group_block_read_us4( read_only image2d_t image, int2 coord );
15748327952Sdimushort8     __ovld __conv intel_sub_group_block_read_us8( read_only image2d_t image, int2 coord );
15749327952Sdim
15750353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15751327952Sdimushort      __ovld __conv intel_sub_group_block_read_us(read_write image2d_t image, int2 coord);
15752327952Sdimushort2     __ovld __conv intel_sub_group_block_read_us2(read_write image2d_t image, int2 coord);
15753327952Sdimushort4     __ovld __conv intel_sub_group_block_read_us4(read_write image2d_t image, int2 coord);
15754327952Sdimushort8     __ovld __conv intel_sub_group_block_read_us8(read_write image2d_t image, int2 coord);
15755353358Sdim#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15756327952Sdim
15757327952Sdimushort      __ovld __conv intel_sub_group_block_read_us(  const __global ushort* p );
15758327952Sdimushort2     __ovld __conv intel_sub_group_block_read_us2( const __global ushort* p );
15759327952Sdimushort4     __ovld __conv intel_sub_group_block_read_us4( const __global ushort* p );
15760327952Sdimushort8     __ovld __conv intel_sub_group_block_read_us8( const __global ushort* p );
15761327952Sdim
15762327952Sdimvoid        __ovld __conv intel_sub_group_block_write_us(write_only image2d_t image, int2 coord, ushort  data);
15763327952Sdimvoid        __ovld __conv intel_sub_group_block_write_us2(write_only image2d_t image, int2 coord, ushort2 data);
15764327952Sdimvoid        __ovld __conv intel_sub_group_block_write_us4(write_only image2d_t image, int2 coord, ushort4 data);
15765327952Sdimvoid        __ovld __conv intel_sub_group_block_write_us8(write_only image2d_t image, int2 coord, ushort8 data);
15766327952Sdim
15767353358Sdim#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15768327952Sdimvoid        __ovld __conv intel_sub_group_block_write_us(read_write image2d_t image, int2 coord, ushort  data);
15769327952Sdimvoid        __ovld __conv intel_sub_group_block_write_us2(read_write image2d_t image, int2 coord, ushort2 data);
15770327952Sdimvoid        __ovld __conv intel_sub_group_block_write_us4(read_write image2d_t image, int2 coord, ushort4 data);
15771327952Sdimvoid        __ovld __conv intel_sub_group_block_write_us8(read_write image2d_t image, int2 coord, ushort8 data);
15772353358Sdim#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15773327952Sdim
15774327952Sdimvoid        __ovld __conv intel_sub_group_block_write_us(  __global ushort* p, ushort  data );
15775327952Sdimvoid        __ovld __conv intel_sub_group_block_write_us2( __global ushort* p, ushort2 data );
15776327952Sdimvoid        __ovld __conv intel_sub_group_block_write_us4( __global ushort* p, ushort4 data );
15777327952Sdimvoid        __ovld __conv intel_sub_group_block_write_us8( __global ushort* p, ushort8 data );
15778327952Sdim#endif // cl_intel_subgroups_short
15779327952Sdim
15780344779Sdim#ifdef cl_intel_device_side_avc_motion_estimation
15781344779Sdim#pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : begin
15782344779Sdim
15783344779Sdim// MCE built-in functions
15784344779Sdimuchar __ovld
15785344779Sdimintel_sub_group_avc_mce_get_default_inter_base_multi_reference_penalty(
15786344779Sdim    uchar slice_type, uchar qp);
15787344779Sdimulong __ovld intel_sub_group_avc_mce_get_default_inter_shape_penalty(
15788344779Sdim    uchar slice_type, uchar qp);
15789344779Sdimuchar __ovld intel_sub_group_avc_mce_get_default_inter_direction_penalty(
15790344779Sdim    uchar slice_type, uchar qp);
15791344779Sdimuint __ovld intel_sub_group_avc_mce_get_default_intra_luma_shape_penalty(
15792344779Sdim    uchar slice_type, uchar qp);
15793344779Sdimuint2 __ovld
15794344779Sdimintel_sub_group_avc_mce_get_default_inter_motion_vector_cost_table(
15795344779Sdim    uchar slice_type, uchar qp);
15796344779Sdimuchar __ovld intel_sub_group_avc_mce_get_default_intra_luma_mode_penalty(
15797344779Sdim    uchar slice_type, uchar qp);
15798344779Sdim
15799344779Sdimuint2 __ovld intel_sub_group_avc_mce_get_default_high_penalty_cost_table();
15800344779Sdimuint2 __ovld intel_sub_group_avc_mce_get_default_medium_penalty_cost_table();
15801344779Sdimuint2 __ovld intel_sub_group_avc_mce_get_default_low_penalty_cost_table();
15802344779Sdimuint __ovld intel_sub_group_avc_mce_get_default_non_dc_luma_intra_penalty();
15803344779Sdimuchar __ovld
15804344779Sdimintel_sub_group_avc_mce_get_default_intra_chroma_mode_base_penalty();
15805344779Sdim
15806344779Sdimintel_sub_group_avc_mce_payload_t __ovld
15807344779Sdimintel_sub_group_avc_mce_set_inter_base_multi_reference_penalty(
15808344779Sdim    uchar reference_base_penalty, intel_sub_group_avc_mce_payload_t payload);
15809344779Sdimintel_sub_group_avc_mce_payload_t __ovld
15810344779Sdimintel_sub_group_avc_mce_set_inter_shape_penalty(
15811344779Sdim    ulong packed_shape_penalty, intel_sub_group_avc_mce_payload_t payload);
15812344779Sdimintel_sub_group_avc_mce_payload_t __ovld
15813344779Sdimintel_sub_group_avc_mce_set_inter_direction_penalty(
15814344779Sdim    uchar direction_cost, intel_sub_group_avc_mce_payload_t payload);
15815344779Sdimintel_sub_group_avc_mce_payload_t __ovld
15816344779Sdimintel_sub_group_avc_mce_set_motion_vector_cost_function(
15817344779Sdim    ulong packed_cost_center_delta, uint2 packed_cost_table,
15818344779Sdim    uchar cost_precision, intel_sub_group_avc_mce_payload_t payload);
15819344779Sdimintel_sub_group_avc_mce_payload_t __ovld
15820344779Sdimintel_sub_group_avc_mce_set_ac_only_haar(
15821344779Sdim    intel_sub_group_avc_mce_payload_t payload);
15822344779Sdimintel_sub_group_avc_mce_payload_t __ovld
15823344779Sdimintel_sub_group_avc_mce_set_source_interlaced_field_polarity(
15824344779Sdim    uchar src_field_polarity, intel_sub_group_avc_mce_payload_t payload);
15825344779Sdimintel_sub_group_avc_mce_payload_t __ovld
15826344779Sdimintel_sub_group_avc_mce_set_single_reference_interlaced_field_polarity(
15827344779Sdim    uchar ref_field_polarity, intel_sub_group_avc_mce_payload_t payload);
15828344779Sdimintel_sub_group_avc_mce_payload_t __ovld
15829344779Sdimintel_sub_group_avc_mce_set_dual_reference_interlaced_field_polarities(
15830344779Sdim    uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
15831344779Sdim    intel_sub_group_avc_mce_payload_t payload);
15832344779Sdim
15833344779Sdimulong __ovld intel_sub_group_avc_mce_get_motion_vectors(
15834344779Sdim    intel_sub_group_avc_mce_result_t result);
15835344779Sdimushort __ovld intel_sub_group_avc_mce_get_inter_distortions(
15836344779Sdim    intel_sub_group_avc_mce_result_t result);
15837344779Sdimushort __ovld intel_sub_group_avc_mce_get_best_inter_distortion(
15838344779Sdim    intel_sub_group_avc_mce_result_t result);
15839344779Sdimuchar __ovld intel_sub_group_avc_mce_get_inter_major_shape(
15840344779Sdim    intel_sub_group_avc_mce_result_t result);
15841344779Sdimuchar __ovld intel_sub_group_avc_mce_get_inter_minor_shapes(
15842344779Sdim    intel_sub_group_avc_mce_result_t result);
15843344779Sdimuchar __ovld intel_sub_group_avc_mce_get_inter_directions(
15844344779Sdim    intel_sub_group_avc_mce_result_t result);
15845344779Sdimuchar __ovld intel_sub_group_avc_mce_get_inter_motion_vector_count(
15846344779Sdim    intel_sub_group_avc_mce_result_t result);
15847344779Sdimuint __ovld intel_sub_group_avc_mce_get_inter_reference_ids(
15848344779Sdim    intel_sub_group_avc_mce_result_t result);
15849344779Sdimuchar __ovld
15850344779Sdimintel_sub_group_avc_mce_get_inter_reference_interlaced_field_polarities(
15851344779Sdim    uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
15852344779Sdim    intel_sub_group_avc_mce_result_t result);
15853344779Sdim
15854344779Sdim// IME built-in functions
15855344779Sdimintel_sub_group_avc_ime_payload_t __ovld
15856344779Sdimintel_sub_group_avc_ime_initialize(
15857344779Sdim    ushort2 src_coord, uchar partition_mask, uchar sad_adjustment);
15858344779Sdimintel_sub_group_avc_ime_payload_t __ovld
15859344779Sdimintel_sub_group_avc_ime_set_single_reference(
15860344779Sdim    short2 ref_offset, uchar search_window_config,
15861344779Sdim    intel_sub_group_avc_ime_payload_t payload);
15862344779Sdimintel_sub_group_avc_ime_payload_t __ovld
15863344779Sdimintel_sub_group_avc_ime_set_dual_reference(
15864344779Sdim    short2 fwd_ref_offset, short2 bwd_ref_offset, uchar search_window_config,
15865344779Sdim    intel_sub_group_avc_ime_payload_t payload);
15866344779Sdimintel_sub_group_avc_ime_payload_t __ovld
15867344779Sdimintel_sub_group_avc_ime_set_max_motion_vector_count(
15868344779Sdim    uchar max_motion_vector_count, intel_sub_group_avc_ime_payload_t payload);
15869344779Sdimintel_sub_group_avc_ime_payload_t __ovld
15870344779Sdimintel_sub_group_avc_ime_set_unidirectional_mix_disable(
15871344779Sdim    intel_sub_group_avc_ime_payload_t payload);
15872344779Sdimintel_sub_group_avc_ime_payload_t __ovld
15873344779Sdimintel_sub_group_avc_ime_set_early_search_termination_threshold(
15874344779Sdim    uchar threshold, intel_sub_group_avc_ime_payload_t payload);
15875344779Sdimintel_sub_group_avc_ime_payload_t __ovld
15876344779Sdimintel_sub_group_avc_ime_set_weighted_sad(
15877344779Sdim    uint packed_sad_weights, intel_sub_group_avc_ime_payload_t payload);
15878344779Sdim
15879344779Sdim__attribute__((deprecated("If you use the latest Intel driver, please use "
15880344779Sdim                          "intel_sub_group_avc_ime_ref_window_size instead",
15881344779Sdim                          "intel_sub_group_avc_ime_ref_window_size")))
15882344779Sdimushort2 __ovld
15883344779Sdimintel_sub_group_ime_ref_window_size(uchar search_window_config, char dual_ref);
15884344779Sdimushort2 __ovld intel_sub_group_avc_ime_ref_window_size(
15885344779Sdim    uchar search_window_config, char dual_ref);
15886344779Sdimshort2 __ovld intel_sub_group_avc_ime_adjust_ref_offset(
15887344779Sdim    short2 ref_offset, ushort2 src_coord, ushort2 ref_window_size,
15888344779Sdim    ushort2 image_size);
15889344779Sdim
15890344779Sdimintel_sub_group_avc_ime_result_t __ovld
15891344779Sdimintel_sub_group_avc_ime_evaluate_with_single_reference(
15892344779Sdim    read_only image2d_t src_image, read_only image2d_t ref_image,
15893344779Sdim    sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload);
15894344779Sdimintel_sub_group_avc_ime_result_t __ovld
15895344779Sdimintel_sub_group_avc_ime_evaluate_with_dual_reference(
15896344779Sdim    read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
15897344779Sdim    read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
15898344779Sdim    intel_sub_group_avc_ime_payload_t payload);
15899344779Sdimintel_sub_group_avc_ime_result_single_reference_streamout_t __ovld
15900344779Sdimintel_sub_group_avc_ime_evaluate_with_single_reference_streamout(
15901344779Sdim    read_only image2d_t src_image, read_only image2d_t ref_image,
15902344779Sdim    sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload);
15903344779Sdimintel_sub_group_avc_ime_result_dual_reference_streamout_t __ovld
15904344779Sdimintel_sub_group_avc_ime_evaluate_with_dual_reference_streamout(
15905344779Sdim    read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
15906344779Sdim    read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
15907344779Sdim    intel_sub_group_avc_ime_payload_t payload);
15908344779Sdimintel_sub_group_avc_ime_result_t __ovld
15909344779Sdimintel_sub_group_avc_ime_evaluate_with_single_reference_streamin(
15910344779Sdim    read_only image2d_t src_image, read_only image2d_t ref_image,
15911344779Sdim    sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload,
15912344779Sdim    intel_sub_group_avc_ime_single_reference_streamin_t streamin_components);
15913344779Sdimintel_sub_group_avc_ime_result_t __ovld
15914344779Sdimintel_sub_group_avc_ime_evaluate_with_dual_reference_streamin(
15915344779Sdim    read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
15916344779Sdim    read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
15917344779Sdim    intel_sub_group_avc_ime_payload_t payload,
15918344779Sdim    intel_sub_group_avc_ime_dual_reference_streamin_t streamin_components);
15919344779Sdimintel_sub_group_avc_ime_result_single_reference_streamout_t __ovld
15920344779Sdimintel_sub_group_avc_ime_evaluate_with_single_reference_streaminout(
15921344779Sdim    read_only image2d_t src_image, read_only image2d_t ref_image,
15922344779Sdim    sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload,
15923344779Sdim    intel_sub_group_avc_ime_single_reference_streamin_t streamin_components);
15924344779Sdimintel_sub_group_avc_ime_result_dual_reference_streamout_t __ovld
15925344779Sdimintel_sub_group_avc_ime_evaluate_with_dual_reference_streaminout(
15926344779Sdim    read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
15927344779Sdim    read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
15928344779Sdim    intel_sub_group_avc_ime_payload_t payload,
15929344779Sdim    intel_sub_group_avc_ime_dual_reference_streamin_t streamin_components);
15930344779Sdim
15931344779Sdimintel_sub_group_avc_ime_single_reference_streamin_t __ovld
15932344779Sdimintel_sub_group_avc_ime_get_single_reference_streamin(
15933344779Sdim    intel_sub_group_avc_ime_result_single_reference_streamout_t result);
15934344779Sdimintel_sub_group_avc_ime_dual_reference_streamin_t __ovld
15935344779Sdimintel_sub_group_avc_ime_get_dual_reference_streamin(
15936344779Sdim    intel_sub_group_avc_ime_result_dual_reference_streamout_t result);
15937344779Sdimintel_sub_group_avc_ime_result_t __ovld
15938344779Sdimintel_sub_group_avc_ime_strip_single_reference_streamout(
15939344779Sdim    intel_sub_group_avc_ime_result_single_reference_streamout_t result);
15940344779Sdimintel_sub_group_avc_ime_result_t __ovld
15941344779Sdimintel_sub_group_avc_ime_strip_dual_reference_streamout(
15942344779Sdim    intel_sub_group_avc_ime_result_dual_reference_streamout_t result);
15943344779Sdim
15944344779Sdimuint __ovld intel_sub_group_avc_ime_get_streamout_major_shape_motion_vectors(
15945344779Sdim    intel_sub_group_avc_ime_result_single_reference_streamout_t result,
15946344779Sdim    uchar major_shape);
15947344779Sdimushort __ovld intel_sub_group_avc_ime_get_streamout_major_shape_distortions(
15948344779Sdim    intel_sub_group_avc_ime_result_single_reference_streamout_t result,
15949344779Sdim    uchar major_shape);
15950344779Sdimuchar __ovld intel_sub_group_avc_ime_get_streamout_major_shape_reference_ids(
15951344779Sdim    intel_sub_group_avc_ime_result_single_reference_streamout_t result,
15952344779Sdim    uchar major_shape);
15953344779Sdimuint __ovld intel_sub_group_avc_ime_get_streamout_major_shape_motion_vectors(
15954344779Sdim    intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
15955344779Sdim    uchar major_shape, uchar direction);
15956344779Sdimushort __ovld intel_sub_group_avc_ime_get_streamout_major_shape_distortions(
15957344779Sdim    intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
15958344779Sdim    uchar major_shape, uchar direction);
15959344779Sdimuchar __ovld intel_sub_group_avc_ime_get_streamout_major_shape_reference_ids(
15960344779Sdim    intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
15961344779Sdim    uchar major_shape, uchar direction);
15962344779Sdim
15963344779Sdimuchar __ovld intel_sub_group_avc_ime_get_border_reached(
15964344779Sdim    uchar image_select, intel_sub_group_avc_ime_result_t result);
15965344779Sdimuchar __ovld intel_sub_group_avc_ime_get_truncated_search_indication(
15966344779Sdim    intel_sub_group_avc_ime_result_t result);
15967344779Sdimuchar __ovld
15968344779Sdimintel_sub_group_avc_ime_get_unidirectional_early_search_termination(
15969344779Sdim    intel_sub_group_avc_ime_result_t result);
15970344779Sdimuint __ovld intel_sub_group_avc_ime_get_weighting_pattern_minimum_motion_vector(
15971344779Sdim    intel_sub_group_avc_ime_result_t result);
15972344779Sdimushort __ovld intel_sub_group_avc_ime_get_weighting_pattern_minimum_distortion(
15973344779Sdim    intel_sub_group_avc_ime_result_t result);
15974344779Sdim
15975344779Sdim// REF built-in functions
15976344779Sdimintel_sub_group_avc_ref_payload_t __ovld
15977344779Sdimintel_sub_group_avc_fme_initialize(
15978344779Sdim    ushort2 src_coord, ulong motion_vectors, uchar major_shapes,
15979344779Sdim    uchar minor_shapes, uchar directions, uchar pixel_resolution,
15980344779Sdim    uchar sad_adjustment);
15981344779Sdimintel_sub_group_avc_ref_payload_t __ovld
15982344779Sdimintel_sub_group_avc_bme_initialize(
15983344779Sdim    ushort2 src_coord, ulong motion_vectors, uchar major_shapes,
15984344779Sdim    uchar minor_shapes, uchar directions, uchar pixel_resolution,
15985344779Sdim    uchar bidirectional_weight, uchar sad_adjustment);
15986344779Sdim
15987344779Sdimintel_sub_group_avc_ref_payload_t __ovld
15988344779Sdimintel_sub_group_avc_ref_set_bidirectional_mix_disable(
15989344779Sdim    intel_sub_group_avc_ref_payload_t payload);
15990344779Sdimintel_sub_group_avc_ref_payload_t __ovld
15991344779Sdimintel_sub_group_avc_ref_set_bilinear_filter_enable(
15992344779Sdim    intel_sub_group_avc_ref_payload_t payload);
15993344779Sdim
15994344779Sdimintel_sub_group_avc_ref_result_t __ovld
15995344779Sdimintel_sub_group_avc_ref_evaluate_with_single_reference(
15996344779Sdim    read_only image2d_t src_image, read_only image2d_t ref_image,
15997344779Sdim    sampler_t vme_media_sampler, intel_sub_group_avc_ref_payload_t payload);
15998344779Sdimintel_sub_group_avc_ref_result_t __ovld
15999344779Sdimintel_sub_group_avc_ref_evaluate_with_dual_reference(
16000344779Sdim    read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
16001344779Sdim    read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
16002344779Sdim    intel_sub_group_avc_ref_payload_t payload);
16003344779Sdimintel_sub_group_avc_ref_result_t __ovld
16004344779Sdimintel_sub_group_avc_ref_evaluate_with_multi_reference(
16005344779Sdim    read_only image2d_t src_image, uint packed_reference_ids,
16006344779Sdim    sampler_t vme_media_sampler, intel_sub_group_avc_ref_payload_t payload);
16007344779Sdimintel_sub_group_avc_ref_result_t __ovld
16008344779Sdimintel_sub_group_avc_ref_evaluate_with_multi_reference(
16009344779Sdim    read_only image2d_t src_image, uint packed_reference_ids,
16010344779Sdim    uchar packed_reference_field_polarities, sampler_t vme_media_sampler,
16011344779Sdim    intel_sub_group_avc_ref_payload_t payload);
16012344779Sdim
16013344779Sdim// SIC built-in functions
16014344779Sdimintel_sub_group_avc_sic_payload_t __ovld
16015344779Sdimintel_sub_group_avc_sic_initialize(
16016344779Sdim    ushort2 src_coord);
16017344779Sdimintel_sub_group_avc_sic_payload_t __ovld
16018344779Sdimintel_sub_group_avc_sic_configure_skc(
16019344779Sdim    uint skip_block_partition_type, uint skip_motion_vector_mask,
16020344779Sdim    ulong motion_vectors, uchar bidirectional_weight, uchar skip_sad_adjustment,
16021344779Sdim    intel_sub_group_avc_sic_payload_t payload);
16022344779Sdimintel_sub_group_avc_sic_payload_t __ovld
16023344779Sdimintel_sub_group_avc_sic_configure_ipe(
16024344779Sdim    uchar luma_intra_partition_mask, uchar intra_neighbour_availabilty,
16025344779Sdim    uchar left_edge_luma_pixels, uchar upper_left_corner_luma_pixel,
16026344779Sdim    uchar upper_edge_luma_pixels, uchar upper_right_edge_luma_pixels,
16027344779Sdim    uchar intra_sad_adjustment, intel_sub_group_avc_sic_payload_t payload);
16028344779Sdimintel_sub_group_avc_sic_payload_t __ovld
16029344779Sdimintel_sub_group_avc_sic_configure_ipe(
16030344779Sdim    uchar luma_intra_partition_mask, uchar intra_neighbour_availabilty,
16031344779Sdim    uchar left_edge_luma_pixels, uchar upper_left_corner_luma_pixel,
16032344779Sdim    uchar upper_edge_luma_pixels, uchar upper_right_edge_luma_pixels,
16033344779Sdim    ushort left_edge_chroma_pixels, ushort upper_left_corner_chroma_pixel,
16034344779Sdim    ushort upper_edge_chroma_pixels, uchar intra_sad_adjustment,
16035344779Sdim    intel_sub_group_avc_sic_payload_t payload);
16036344779Sdimuint __ovld
16037344779Sdimintel_sub_group_avc_sic_get_motion_vector_mask(
16038344779Sdim    uint skip_block_partition_type, uchar direction);
16039344779Sdim
16040344779Sdimintel_sub_group_avc_sic_payload_t __ovld
16041344779Sdimintel_sub_group_avc_sic_set_intra_luma_shape_penalty(
16042344779Sdim    uint packed_shape_cost, intel_sub_group_avc_sic_payload_t payload);
16043344779Sdimintel_sub_group_avc_sic_payload_t __ovld
16044344779Sdimintel_sub_group_avc_sic_set_intra_luma_mode_cost_function(
16045344779Sdim    uchar luma_mode_penalty, uint luma_packed_neighbor_modes,
16046344779Sdim    uint luma_packed_non_dc_penalty, intel_sub_group_avc_sic_payload_t payload);
16047344779Sdimintel_sub_group_avc_sic_payload_t __ovld
16048344779Sdimintel_sub_group_avc_sic_set_intra_chroma_mode_cost_function(
16049344779Sdim    uchar chroma_mode_penalty, intel_sub_group_avc_sic_payload_t payload);
16050344779Sdim
16051344779Sdimintel_sub_group_avc_sic_payload_t __ovld
16052344779Sdimintel_sub_group_avc_sic_set_skc_bilinear_filter_enable(
16053344779Sdim    intel_sub_group_avc_sic_payload_t payload);
16054344779Sdimintel_sub_group_avc_sic_payload_t __ovld
16055344779Sdimintel_sub_group_avc_sic_set_skc_forward_transform_enable(
16056344779Sdim    ulong packed_sad_coefficients, intel_sub_group_avc_sic_payload_t payload);
16057344779Sdimintel_sub_group_avc_sic_payload_t __ovld
16058344779Sdimintel_sub_group_avc_sic_set_block_based_raw_skip_sad(
16059344779Sdim    uchar block_based_skip_type,
16060344779Sdim    intel_sub_group_avc_sic_payload_t payload);
16061344779Sdim
16062344779Sdimintel_sub_group_avc_sic_result_t __ovld
16063344779Sdimintel_sub_group_avc_sic_evaluate_ipe(
16064344779Sdim    read_only image2d_t src_image, sampler_t vme_media_sampler,
16065344779Sdim    intel_sub_group_avc_sic_payload_t payload);
16066344779Sdimintel_sub_group_avc_sic_result_t __ovld
16067344779Sdimintel_sub_group_avc_sic_evaluate_with_single_reference(
16068344779Sdim    read_only image2d_t src_image, read_only image2d_t ref_image,
16069344779Sdim    sampler_t vme_media_sampler, intel_sub_group_avc_sic_payload_t payload);
16070344779Sdimintel_sub_group_avc_sic_result_t __ovld
16071344779Sdimintel_sub_group_avc_sic_evaluate_with_dual_reference(
16072344779Sdim    read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
16073344779Sdim    read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
16074344779Sdim    intel_sub_group_avc_sic_payload_t payload);
16075344779Sdimintel_sub_group_avc_sic_result_t __ovld
16076344779Sdimintel_sub_group_avc_sic_evaluate_with_multi_reference(
16077344779Sdim    read_only image2d_t src_image, uint packed_reference_ids,
16078344779Sdim    sampler_t vme_media_sampler, intel_sub_group_avc_sic_payload_t payload);
16079344779Sdimintel_sub_group_avc_sic_result_t __ovld
16080344779Sdimintel_sub_group_avc_sic_evaluate_with_multi_reference(
16081344779Sdim    read_only image2d_t src_image, uint packed_reference_ids,
16082344779Sdim    uchar packed_reference_field_polarities, sampler_t vme_media_sampler,
16083344779Sdim    intel_sub_group_avc_sic_payload_t payload);
16084344779Sdim
16085344779Sdimuchar __ovld intel_sub_group_avc_sic_get_ipe_luma_shape(
16086344779Sdim    intel_sub_group_avc_sic_result_t result);
16087344779Sdimushort __ovld intel_sub_group_avc_sic_get_best_ipe_luma_distortion(
16088344779Sdim    intel_sub_group_avc_sic_result_t result);
16089344779Sdimushort __ovld intel_sub_group_avc_sic_get_best_ipe_chroma_distortion(
16090344779Sdim    intel_sub_group_avc_sic_result_t result);
16091344779Sdimulong __ovld intel_sub_group_avc_sic_get_packed_ipe_luma_modes(
16092344779Sdim    intel_sub_group_avc_sic_result_t result);
16093344779Sdimuchar __ovld intel_sub_group_avc_sic_get_ipe_chroma_mode(
16094344779Sdim    intel_sub_group_avc_sic_result_t result);
16095344779Sdimuint __ovld intel_sub_group_avc_sic_get_packed_skc_luma_count_threshold(
16096344779Sdim    intel_sub_group_avc_sic_result_t result);
16097344779Sdimulong __ovld intel_sub_group_avc_sic_get_packed_skc_luma_sum_threshold(
16098344779Sdim    intel_sub_group_avc_sic_result_t result);
16099344779Sdimushort __ovld intel_sub_group_avc_sic_get_inter_raw_sads(
16100344779Sdim    intel_sub_group_avc_sic_result_t result);
16101344779Sdim
16102344779Sdim// Wrappers
16103344779Sdimintel_sub_group_avc_ime_payload_t __ovld
16104344779Sdimintel_sub_group_avc_ime_set_inter_base_multi_reference_penalty(
16105344779Sdim    uchar reference_base_penalty, intel_sub_group_avc_ime_payload_t payload);
16106344779Sdimintel_sub_group_avc_ref_payload_t __ovld
16107344779Sdimintel_sub_group_avc_ref_set_inter_base_multi_reference_penalty(
16108344779Sdim    uchar reference_base_penalty, intel_sub_group_avc_ref_payload_t payload);
16109344779Sdimintel_sub_group_avc_sic_payload_t __ovld
16110344779Sdimintel_sub_group_avc_sic_set_inter_base_multi_reference_penalty(
16111344779Sdim    uchar reference_base_penalty, intel_sub_group_avc_sic_payload_t payload);
16112344779Sdim
16113344779Sdimintel_sub_group_avc_ime_payload_t __ovld
16114344779Sdimintel_sub_group_avc_ime_set_inter_shape_penalty(
16115344779Sdim    ulong packed_shape_cost, intel_sub_group_avc_ime_payload_t payload);
16116344779Sdimintel_sub_group_avc_ref_payload_t __ovld
16117344779Sdimintel_sub_group_avc_ref_set_inter_shape_penalty(
16118344779Sdim    ulong packed_shape_cost, intel_sub_group_avc_ref_payload_t payload);
16119344779Sdimintel_sub_group_avc_sic_payload_t __ovld
16120344779Sdimintel_sub_group_avc_sic_set_inter_shape_penalty(
16121344779Sdim    ulong packed_shape_cost, intel_sub_group_avc_sic_payload_t payload);
16122344779Sdim
16123344779Sdimintel_sub_group_avc_ime_payload_t __ovld
16124344779Sdimintel_sub_group_avc_ime_set_inter_direction_penalty(
16125344779Sdim    uchar direction_cost, intel_sub_group_avc_ime_payload_t payload);
16126344779Sdimintel_sub_group_avc_ref_payload_t __ovld
16127344779Sdimintel_sub_group_avc_ref_set_inter_direction_penalty(
16128344779Sdim    uchar direction_cost, intel_sub_group_avc_ref_payload_t payload);
16129344779Sdimintel_sub_group_avc_sic_payload_t __ovld
16130344779Sdimintel_sub_group_avc_sic_set_inter_direction_penalty(
16131344779Sdim    uchar direction_cost, intel_sub_group_avc_sic_payload_t payload);
16132344779Sdim
16133344779Sdimintel_sub_group_avc_ime_payload_t __ovld
16134344779Sdimintel_sub_group_avc_ime_set_motion_vector_cost_function(
16135344779Sdim    ulong packed_cost_center_delta, uint2 packed_cost_table,
16136344779Sdim    uchar cost_precision, intel_sub_group_avc_ime_payload_t payload);
16137344779Sdimintel_sub_group_avc_ref_payload_t __ovld
16138344779Sdimintel_sub_group_avc_ref_set_motion_vector_cost_function(
16139344779Sdim    ulong packed_cost_center_delta, uint2 packed_cost_table,
16140344779Sdim    uchar cost_precision, intel_sub_group_avc_ref_payload_t payload);
16141344779Sdimintel_sub_group_avc_sic_payload_t __ovld
16142344779Sdimintel_sub_group_avc_sic_set_motion_vector_cost_function(
16143344779Sdim    ulong packed_cost_center_delta, uint2 packed_cost_table,
16144344779Sdim    uchar cost_precision, intel_sub_group_avc_sic_payload_t payload);
16145344779Sdim
16146344779Sdimintel_sub_group_avc_ime_payload_t __ovld
16147344779Sdimintel_sub_group_avc_ime_set_source_interlaced_field_polarity(
16148344779Sdim    uchar src_field_polarity, intel_sub_group_avc_ime_payload_t payload);
16149344779Sdimintel_sub_group_avc_ref_payload_t __ovld
16150344779Sdimintel_sub_group_avc_ref_set_source_interlaced_field_polarity(
16151344779Sdim    uchar src_field_polarity, intel_sub_group_avc_ref_payload_t payload);
16152344779Sdimintel_sub_group_avc_sic_payload_t __ovld
16153344779Sdimintel_sub_group_avc_sic_set_source_interlaced_field_polarity(
16154344779Sdim    uchar src_field_polarity, intel_sub_group_avc_sic_payload_t payload);
16155344779Sdim
16156344779Sdimintel_sub_group_avc_ime_payload_t __ovld
16157344779Sdimintel_sub_group_avc_ime_set_single_reference_interlaced_field_polarity(
16158344779Sdim    uchar ref_field_polarity, intel_sub_group_avc_ime_payload_t payload);
16159344779Sdimintel_sub_group_avc_ref_payload_t __ovld
16160344779Sdimintel_sub_group_avc_ref_set_single_reference_interlaced_field_polarity(
16161344779Sdim    uchar ref_field_polarity, intel_sub_group_avc_ref_payload_t payload);
16162344779Sdimintel_sub_group_avc_sic_payload_t __ovld
16163344779Sdimintel_sub_group_avc_sic_set_single_reference_interlaced_field_polarity(
16164344779Sdim    uchar ref_field_polarity, intel_sub_group_avc_sic_payload_t payload);
16165344779Sdimintel_sub_group_avc_ime_payload_t __ovld
16166344779Sdimintel_sub_group_avc_ime_set_dual_reference_interlaced_field_polarities(
16167344779Sdim    uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
16168344779Sdim    intel_sub_group_avc_ime_payload_t payload);
16169344779Sdimintel_sub_group_avc_ref_payload_t __ovld
16170344779Sdimintel_sub_group_avc_ref_set_dual_reference_interlaced_field_polarities(
16171344779Sdim    uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
16172344779Sdim    intel_sub_group_avc_ref_payload_t payload);
16173344779Sdimintel_sub_group_avc_sic_payload_t __ovld
16174344779Sdimintel_sub_group_avc_sic_set_dual_reference_interlaced_field_polarities(
16175344779Sdim    uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
16176344779Sdim    intel_sub_group_avc_sic_payload_t payload);
16177344779Sdim
16178344779Sdimintel_sub_group_avc_ime_payload_t __ovld
16179344779Sdimintel_sub_group_avc_ime_set_ac_only_haar(
16180344779Sdim    intel_sub_group_avc_ime_payload_t payload);
16181344779Sdimintel_sub_group_avc_ref_payload_t __ovld
16182344779Sdimintel_sub_group_avc_ref_set_ac_only_haar(
16183344779Sdim    intel_sub_group_avc_ref_payload_t payload);
16184344779Sdimintel_sub_group_avc_sic_payload_t __ovld
16185344779Sdimintel_sub_group_avc_sic_set_ac_only_haar(
16186344779Sdim    intel_sub_group_avc_sic_payload_t payload);
16187344779Sdim
16188344779Sdimulong __ovld intel_sub_group_avc_ime_get_motion_vectors(
16189344779Sdim    intel_sub_group_avc_ime_result_t result);
16190344779Sdimulong __ovld intel_sub_group_avc_ref_get_motion_vectors(
16191344779Sdim    intel_sub_group_avc_ref_result_t result);
16192344779Sdim
16193344779Sdimushort __ovld intel_sub_group_avc_ime_get_inter_distortions(
16194344779Sdim    intel_sub_group_avc_ime_result_t result);
16195344779Sdimushort __ovld intel_sub_group_avc_ref_get_inter_distortions(
16196344779Sdim    intel_sub_group_avc_ref_result_t result);
16197344779Sdimushort __ovld intel_sub_group_avc_sic_get_inter_distortions(
16198344779Sdim    intel_sub_group_avc_sic_result_t result);
16199344779Sdim
16200344779Sdimushort __ovld intel_sub_group_avc_ime_get_best_inter_distortion(
16201344779Sdim    intel_sub_group_avc_ime_result_t result);
16202344779Sdimushort __ovld intel_sub_group_avc_ref_get_best_inter_distortion(
16203344779Sdim    intel_sub_group_avc_ref_result_t result);
16204344779Sdim
16205344779Sdimuchar __ovld intel_sub_group_avc_ime_get_inter_major_shape(
16206344779Sdim    intel_sub_group_avc_ime_result_t result);
16207344779Sdimuchar __ovld intel_sub_group_avc_ref_get_inter_major_shape(
16208344779Sdim    intel_sub_group_avc_ref_result_t result);
16209344779Sdimuchar __ovld intel_sub_group_avc_ime_get_inter_minor_shapes(
16210344779Sdim    intel_sub_group_avc_ime_result_t result);
16211344779Sdimuchar __ovld intel_sub_group_avc_ref_get_inter_minor_shapes(
16212344779Sdim    intel_sub_group_avc_ref_result_t result);
16213344779Sdim
16214344779Sdimuchar __ovld intel_sub_group_avc_ime_get_inter_directions(
16215344779Sdim    intel_sub_group_avc_ime_result_t result);
16216344779Sdimuchar __ovld intel_sub_group_avc_ref_get_inter_directions(
16217344779Sdim    intel_sub_group_avc_ref_result_t result);
16218344779Sdim
16219344779Sdimuchar __ovld intel_sub_group_avc_ime_get_inter_motion_vector_count(
16220344779Sdim    intel_sub_group_avc_ime_result_t result);
16221344779Sdimuchar __ovld intel_sub_group_avc_ref_get_inter_motion_vector_count(
16222344779Sdim    intel_sub_group_avc_ref_result_t result);
16223344779Sdim
16224344779Sdimuint __ovld intel_sub_group_avc_ime_get_inter_reference_ids(
16225344779Sdim    intel_sub_group_avc_ime_result_t result);
16226344779Sdimuint __ovld intel_sub_group_avc_ref_get_inter_reference_ids(
16227344779Sdim    intel_sub_group_avc_ref_result_t result);
16228344779Sdim
16229344779Sdimuchar __ovld
16230344779Sdimintel_sub_group_avc_ime_get_inter_reference_interlaced_field_polarities(
16231344779Sdim    uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
16232344779Sdim    intel_sub_group_avc_ime_result_t result);
16233344779Sdimuchar __ovld
16234344779Sdimintel_sub_group_avc_ref_get_inter_reference_interlaced_field_polarities(
16235344779Sdim    uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
16236344779Sdim    intel_sub_group_avc_ref_result_t result);
16237344779Sdim
16238344779Sdim// Type conversion functions
16239344779Sdimintel_sub_group_avc_mce_payload_t __ovld
16240344779Sdimintel_sub_group_avc_ime_convert_to_mce_payload(
16241344779Sdim    intel_sub_group_avc_ime_payload_t payload);
16242344779Sdimintel_sub_group_avc_ime_payload_t __ovld
16243344779Sdimintel_sub_group_avc_mce_convert_to_ime_payload(
16244344779Sdim    intel_sub_group_avc_mce_payload_t payload);
16245344779Sdimintel_sub_group_avc_mce_payload_t __ovld
16246344779Sdimintel_sub_group_avc_ref_convert_to_mce_payload(
16247344779Sdim    intel_sub_group_avc_ref_payload_t payload);
16248344779Sdimintel_sub_group_avc_ref_payload_t __ovld
16249344779Sdimintel_sub_group_avc_mce_convert_to_ref_payload(
16250344779Sdim    intel_sub_group_avc_mce_payload_t payload);
16251344779Sdimintel_sub_group_avc_mce_payload_t __ovld
16252344779Sdimintel_sub_group_avc_sic_convert_to_mce_payload(
16253344779Sdim    intel_sub_group_avc_sic_payload_t payload);
16254344779Sdimintel_sub_group_avc_sic_payload_t __ovld
16255344779Sdimintel_sub_group_avc_mce_convert_to_sic_payload(
16256344779Sdim    intel_sub_group_avc_mce_payload_t payload);
16257344779Sdim
16258344779Sdimintel_sub_group_avc_mce_result_t __ovld
16259344779Sdimintel_sub_group_avc_ime_convert_to_mce_result(
16260344779Sdim    intel_sub_group_avc_ime_result_t result);
16261344779Sdimintel_sub_group_avc_ime_result_t __ovld
16262344779Sdimintel_sub_group_avc_mce_convert_to_ime_result(
16263344779Sdim    intel_sub_group_avc_mce_result_t result);
16264344779Sdimintel_sub_group_avc_mce_result_t __ovld
16265344779Sdimintel_sub_group_avc_ref_convert_to_mce_result(
16266344779Sdim    intel_sub_group_avc_ref_result_t result);
16267344779Sdimintel_sub_group_avc_ref_result_t __ovld
16268344779Sdimintel_sub_group_avc_mce_convert_to_ref_result(
16269344779Sdim    intel_sub_group_avc_mce_result_t result);
16270344779Sdimintel_sub_group_avc_mce_result_t __ovld
16271344779Sdimintel_sub_group_avc_sic_convert_to_mce_result(
16272344779Sdim    intel_sub_group_avc_sic_result_t result);
16273344779Sdimintel_sub_group_avc_sic_result_t __ovld
16274344779Sdimintel_sub_group_avc_mce_convert_to_sic_result(
16275344779Sdim    intel_sub_group_avc_mce_result_t result);
16276344779Sdim#pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : end
16277344779Sdim#endif // cl_intel_device_side_avc_motion_estimation
16278344779Sdim
16279314564Sdim#ifdef cl_amd_media_ops
16280314564Sdimuint __ovld amd_bitalign(uint a, uint b, uint c);
16281314564Sdimuint2 __ovld amd_bitalign(uint2 a, uint2 b, uint2 c);
16282314564Sdimuint3 __ovld amd_bitalign(uint3 a, uint3 b, uint3 c);
16283314564Sdimuint4 __ovld amd_bitalign(uint4 a, uint4 b, uint4 c);
16284314564Sdimuint8 __ovld amd_bitalign(uint8 a, uint8 b, uint8 c);
16285314564Sdimuint16 __ovld amd_bitalign(uint16 a, uint16 b, uint16 c);
16286314564Sdim
16287314564Sdimuint __ovld amd_bytealign(uint a, uint b, uint c);
16288314564Sdimuint2 __ovld amd_bytealign(uint2 a, uint2 b, uint2 c);
16289314564Sdimuint3 __ovld amd_bytealign(uint3 a, uint3 b, uint3 c);
16290314564Sdimuint4 __ovld amd_bytealign(uint4 a, uint4 b, uint4 c);
16291314564Sdimuint8 __ovld amd_bytealign(uint8 a, uint8 b, uint8 c);
16292314564Sdimuint16 __ovld amd_bytealign(uint16 a, uint16 b, uint16 c);
16293314564Sdim
16294314564Sdimuint __ovld amd_lerp(uint a, uint b, uint c);
16295314564Sdimuint2 __ovld amd_lerp(uint2 a, uint2 b, uint2 c);
16296314564Sdimuint3 __ovld amd_lerp(uint3 a, uint3 b, uint3 c);
16297314564Sdimuint4 __ovld amd_lerp(uint4 a, uint4 b, uint4 c);
16298314564Sdimuint8 __ovld amd_lerp(uint8 a, uint8 b, uint8 c);
16299314564Sdimuint16 __ovld amd_lerp(uint16 a, uint16 b, uint16 c);
16300314564Sdim
16301314564Sdimuint __ovld amd_pack(float4 v);
16302314564Sdim
16303314564Sdimuint __ovld amd_sad4(uint4 x, uint4 y, uint z);
16304314564Sdim
16305314564Sdimuint __ovld amd_sadhi(uint a, uint b, uint c);
16306314564Sdimuint2 __ovld amd_sadhi(uint2 a, uint2 b, uint2 c);
16307314564Sdimuint3 __ovld amd_sadhi(uint3 a, uint3 b, uint3 c);
16308314564Sdimuint4 __ovld amd_sadhi(uint4 a, uint4 b, uint4 c);
16309314564Sdimuint8 __ovld amd_sadhi(uint8 a, uint8 b, uint8 c);
16310314564Sdimuint16 __ovld amd_sadhi(uint16 a, uint16 b, uint16 c);
16311314564Sdim
16312314564Sdimuint __ovld amd_sad(uint a, uint b, uint c);
16313314564Sdimuint2 __ovld amd_sad(uint2 a, uint2 b, uint2 c);
16314314564Sdimuint3 __ovld amd_sad(uint3 a, uint3 b, uint3 c);
16315314564Sdimuint4 __ovld amd_sad(uint4 a, uint4 b, uint4 c);
16316314564Sdimuint8 __ovld amd_sad(uint8 a, uint8 b, uint8 c);
16317314564Sdimuint16 __ovld amd_sad(uint16 a, uint16 b, uint16 c);
16318314564Sdim
16319314564Sdimfloat __ovld amd_unpack0(uint a);
16320314564Sdimfloat2 __ovld amd_unpack0(uint2 a);
16321314564Sdimfloat3 __ovld amd_unpack0(uint3 a);
16322314564Sdimfloat4 __ovld amd_unpack0(uint4 a);
16323314564Sdimfloat8 __ovld amd_unpack0(uint8 a);
16324314564Sdimfloat16 __ovld amd_unpack0(uint16 a);
16325314564Sdim
16326314564Sdimfloat __ovld amd_unpack1(uint a);
16327314564Sdimfloat2 __ovld amd_unpack1(uint2 a);
16328314564Sdimfloat3 __ovld amd_unpack1(uint3 a);
16329314564Sdimfloat4 __ovld amd_unpack1(uint4 a);
16330314564Sdimfloat8 __ovld amd_unpack1(uint8 a);
16331314564Sdimfloat16 __ovld amd_unpack1(uint16 a);
16332314564Sdim
16333314564Sdimfloat __ovld amd_unpack2(uint a);
16334314564Sdimfloat2 __ovld amd_unpack2(uint2 a);
16335314564Sdimfloat3 __ovld amd_unpack2(uint3 a);
16336314564Sdimfloat4 __ovld amd_unpack2(uint4 a);
16337314564Sdimfloat8 __ovld amd_unpack2(uint8 a);
16338314564Sdimfloat16 __ovld amd_unpack2(uint16 a);
16339314564Sdim
16340314564Sdimfloat __ovld amd_unpack3(uint a);
16341314564Sdimfloat2 __ovld amd_unpack3(uint2 a);
16342314564Sdimfloat3 __ovld amd_unpack3(uint3 a);
16343314564Sdimfloat4 __ovld amd_unpack3(uint4 a);
16344314564Sdimfloat8 __ovld amd_unpack3(uint8 a);
16345314564Sdimfloat16 __ovld amd_unpack3(uint16 a);
16346314564Sdim#endif // cl_amd_media_ops
16347314564Sdim
16348314564Sdim#ifdef cl_amd_media_ops2
16349314564Sdimint __ovld amd_bfe(int src0, uint src1, uint src2);
16350314564Sdimint2 __ovld amd_bfe(int2 src0, uint2 src1, uint2 src2);
16351314564Sdimint3 __ovld amd_bfe(int3 src0, uint3 src1, uint3 src2);
16352314564Sdimint4 __ovld amd_bfe(int4 src0, uint4 src1, uint4 src2);
16353314564Sdimint8 __ovld amd_bfe(int8 src0, uint8 src1, uint8 src2);
16354314564Sdimint16 __ovld amd_bfe(int16 src0, uint16 src1, uint16 src2);
16355314564Sdim
16356314564Sdimuint __ovld amd_bfe(uint src0, uint src1, uint src2);
16357314564Sdimuint2 __ovld amd_bfe(uint2 src0, uint2 src1, uint2 src2);
16358314564Sdimuint3 __ovld amd_bfe(uint3 src0, uint3 src1, uint3 src2);
16359314564Sdimuint4 __ovld amd_bfe(uint4 src0, uint4 src1, uint4 src2);
16360314564Sdimuint8 __ovld amd_bfe(uint8 src0, uint8 src1, uint8 src2);
16361314564Sdimuint16 __ovld amd_bfe(uint16 src0, uint16 src1, uint16 src2);
16362314564Sdim
16363314564Sdimuint __ovld amd_bfm(uint src0, uint src1);
16364314564Sdimuint2 __ovld amd_bfm(uint2 src0, uint2 src1);
16365314564Sdimuint3 __ovld amd_bfm(uint3 src0, uint3 src1);
16366314564Sdimuint4 __ovld amd_bfm(uint4 src0, uint4 src1);
16367314564Sdimuint8 __ovld amd_bfm(uint8 src0, uint8 src1);
16368314564Sdimuint16 __ovld amd_bfm(uint16 src0, uint16 src1);
16369314564Sdim
16370314564Sdimfloat __ovld amd_max3(float src0, float src1, float src2);
16371314564Sdimfloat2 __ovld amd_max3(float2 src0, float2 src1, float2 src2);
16372314564Sdimfloat3 __ovld amd_max3(float3 src0, float3 src1, float3 src2);
16373314564Sdimfloat4 __ovld amd_max3(float4 src0, float4 src1, float4 src2);
16374314564Sdimfloat8 __ovld amd_max3(float8 src0, float8 src1, float8 src2);
16375314564Sdimfloat16 __ovld amd_max3(float16 src0, float16 src1, float16 src2);
16376314564Sdim
16377314564Sdimint __ovld amd_max3(int src0, int src1, int src2);
16378314564Sdimint2 __ovld amd_max3(int2 src0, int2 src1, int2 src2);
16379314564Sdimint3 __ovld amd_max3(int3 src0, int3 src1, int3 src2);
16380314564Sdimint4 __ovld amd_max3(int4 src0, int4 src1, int4 src2);
16381314564Sdimint8 __ovld amd_max3(int8 src0, int8 src1, int8 src2);
16382314564Sdimint16 __ovld amd_max3(int16 src0, int16 src1, int16 src2);
16383314564Sdim
16384314564Sdimuint __ovld amd_max3(uint src0, uint src1, uint src2);
16385314564Sdimuint2 __ovld amd_max3(uint2 src0, uint2 src1, uint2 src2);
16386314564Sdimuint3 __ovld amd_max3(uint3 src0, uint3 src1, uint3 src2);
16387314564Sdimuint4 __ovld amd_max3(uint4 src0, uint4 src1, uint4 src2);
16388314564Sdimuint8 __ovld amd_max3(uint8 src0, uint8 src1, uint8 src2);
16389314564Sdimuint16 __ovld amd_max3(uint16 src0, uint16 src1, uint16 src2);
16390314564Sdim
16391314564Sdimfloat __ovld amd_median3(float src0, float src1, float src2);
16392314564Sdimfloat2 __ovld amd_median3(float2 src0, float2 src1, float2 src2);
16393314564Sdimfloat3 __ovld amd_median3(float3 src0, float3 src1, float3 src2);
16394314564Sdimfloat4 __ovld amd_median3(float4 src0, float4 src1, float4 src2);
16395314564Sdimfloat8 __ovld amd_median3(float8 src0, float8 src1, float8 src2);
16396314564Sdimfloat16 __ovld amd_median3(float16 src0, float16 src1, float16 src2);
16397314564Sdim
16398314564Sdimint __ovld amd_median3(int src0, int src1, int src2);
16399314564Sdimint2 __ovld amd_median3(int2 src0, int2 src1, int2 src2);
16400314564Sdimint3 __ovld amd_median3(int3 src0, int3 src1, int3 src2);
16401314564Sdimint4 __ovld amd_median3(int4 src0, int4 src1, int4 src2);
16402314564Sdimint8 __ovld amd_median3(int8 src0, int8 src1, int8 src2);
16403314564Sdimint16 __ovld amd_median3(int16 src0, int16 src1, int16 src2);
16404314564Sdim
16405314564Sdimuint __ovld amd_median3(uint src0, uint src1, uint src2);
16406314564Sdimuint2 __ovld amd_median3(uint2 src0, uint2 src1, uint2 src2);
16407314564Sdimuint3 __ovld amd_median3(uint3 src0, uint3 src1, uint3 src2);
16408314564Sdimuint4 __ovld amd_median3(uint4 src0, uint4 src1, uint4 src2);
16409314564Sdimuint8 __ovld amd_median3(uint8 src0, uint8 src1, uint8 src2);
16410314564Sdimuint16 __ovld amd_median3(uint16 src0, uint16 src1, uint16 src2);
16411314564Sdim
16412314564Sdimfloat __ovld amd_min3(float src0, float src1, float src);
16413314564Sdimfloat2 __ovld amd_min3(float2 src0, float2 src1, float2 src);
16414314564Sdimfloat3 __ovld amd_min3(float3 src0, float3 src1, float3 src);
16415314564Sdimfloat4 __ovld amd_min3(float4 src0, float4 src1, float4 src);
16416314564Sdimfloat8 __ovld amd_min3(float8 src0, float8 src1, float8 src);
16417314564Sdimfloat16 __ovld amd_min3(float16 src0, float16 src1, float16 src);
16418314564Sdim
16419314564Sdimint __ovld amd_min3(int src0, int src1, int src2);
16420314564Sdimint2 __ovld amd_min3(int2 src0, int2 src1, int2 src2);
16421314564Sdimint3 __ovld amd_min3(int3 src0, int3 src1, int3 src2);
16422314564Sdimint4 __ovld amd_min3(int4 src0, int4 src1, int4 src2);
16423314564Sdimint8 __ovld amd_min3(int8 src0, int8 src1, int8 src2);
16424314564Sdimint16 __ovld amd_min3(int16 src0, int16 src1, int16 src2);
16425314564Sdim
16426314564Sdimuint __ovld amd_min3(uint src0, uint src1, uint src2);
16427314564Sdimuint2 __ovld amd_min3(uint2 src0, uint2 src1, uint2 src2);
16428314564Sdimuint3 __ovld amd_min3(uint3 src0, uint3 src1, uint3 src2);
16429314564Sdimuint4 __ovld amd_min3(uint4 src0, uint4 src1, uint4 src2);
16430314564Sdimuint8 __ovld amd_min3(uint8 src0, uint8 src1, uint8 src2);
16431314564Sdimuint16 __ovld amd_min3(uint16 src0, uint16 src1, uint16 src2);
16432314564Sdim
16433314564Sdimulong __ovld amd_mqsad(ulong src0, uint src1, ulong src2);
16434314564Sdimulong2 __ovld amd_mqsad(ulong2 src0, uint2 src1, ulong2 src2);
16435314564Sdimulong3 __ovld amd_mqsad(ulong3 src0, uint3 src1, ulong3 src2);
16436314564Sdimulong4 __ovld amd_mqsad(ulong4 src0, uint4 src1, ulong4 src2);
16437314564Sdimulong8 __ovld amd_mqsad(ulong8 src0, uint8 src1, ulong8 src2);
16438314564Sdimulong16 __ovld amd_mqsad(ulong16 src0, uint16 src1, ulong16 src2);
16439314564Sdim
16440314564Sdimulong __ovld amd_qsad(ulong src0, uint src1, ulong src2);
16441314564Sdimulong2 __ovld amd_qsad(ulong2 src0, uint2 src1, ulong2 src2);
16442314564Sdimulong3 __ovld amd_qsad(ulong3 src0, uint3 src1, ulong3 src2);
16443314564Sdimulong4 __ovld amd_qsad(ulong4 src0, uint4 src1, ulong4 src2);
16444314564Sdimulong8 __ovld amd_qsad(ulong8 src0, uint8 src1, ulong8 src2);
16445314564Sdimulong16 __ovld amd_qsad(ulong16 src0, uint16 src1, ulong16 src2);
16446314564Sdim
16447314564Sdimuint __ovld amd_msad(uint src0, uint src1, uint src2);
16448314564Sdimuint2 __ovld amd_msad(uint2 src0, uint2 src1, uint2 src2);
16449314564Sdimuint3 __ovld amd_msad(uint3 src0, uint3 src1, uint3 src2);
16450314564Sdimuint4 __ovld amd_msad(uint4 src0, uint4 src1, uint4 src2);
16451314564Sdimuint8 __ovld amd_msad(uint8 src0, uint8 src1, uint8 src2);
16452314564Sdimuint16 __ovld amd_msad(uint16 src0, uint16 src1, uint16 src2);
16453314564Sdim
16454314564Sdimuint __ovld amd_sadd(uint src0, uint src1, uint src2);
16455314564Sdimuint2 __ovld amd_sadd(uint2 src0, uint2 src1, uint2 src2);
16456314564Sdimuint3 __ovld amd_sadd(uint3 src0, uint3 src1, uint3 src2);
16457314564Sdimuint4 __ovld amd_sadd(uint4 src0, uint4 src1, uint4 src2);
16458314564Sdimuint8 __ovld amd_sadd(uint8 src0, uint8 src1, uint8 src2);
16459314564Sdimuint16 __ovld amd_sadd(uint16 src0, uint16 src1, uint16 src2);
16460314564Sdim
16461314564Sdimuint __ovld amd_sadw(uint src0, uint src1, uint src2);
16462314564Sdimuint2 __ovld amd_sadw(uint2 src0, uint2 src1, uint2 src2);
16463314564Sdimuint3 __ovld amd_sadw(uint3 src0, uint3 src1, uint3 src2);
16464314564Sdimuint4 __ovld amd_sadw(uint4 src0, uint4 src1, uint4 src2);
16465314564Sdimuint8 __ovld amd_sadw(uint8 src0, uint8 src1, uint8 src2);
16466314564Sdimuint16 __ovld amd_sadw(uint16 src0, uint16 src1, uint16 src2);
16467314564Sdim#endif // cl_amd_media_ops2
16468314564Sdim
16469353358Sdim#if defined(cl_arm_integer_dot_product_int8)
16470353358Sdim#pragma OPENCL EXTENSION cl_arm_integer_dot_product_int8 : begin
16471353358Sdimuint __ovld arm_dot(uchar4 a, uchar4 b);
16472353358Sdimint __ovld arm_dot(char4 a, char4 b);
16473353358Sdim#pragma OPENCL EXTENSION cl_arm_integer_dot_product_int8 : end
16474353358Sdim#endif // defined(cl_arm_integer_dot_product_int8)
16475353358Sdim
16476353358Sdim#if defined(cl_arm_integer_dot_product_accumulate_int8)
16477353358Sdim#pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_int8 : begin
16478353358Sdimuint __ovld arm_dot_acc(uchar4 a, uchar4 b, uint c);
16479353358Sdimint __ovld arm_dot_acc(char4 a, char4 b, int c);
16480353358Sdim#pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_int8 : end
16481353358Sdim#endif // defined(cl_arm_integer_dot_product_accumulate_int8)
16482353358Sdim
16483353358Sdim#if defined(cl_arm_integer_dot_product_accumulate_int16)
16484353358Sdim#pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_int16 : begin
16485353358Sdimuint __ovld arm_dot_acc(ushort2 a, ushort2 b, uint c);
16486353358Sdimint __ovld arm_dot_acc(short2 a, short2 b, int c);
16487353358Sdim#pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_int16 : end
16488353358Sdim#endif // defined(cl_arm_integer_dot_product_accumulate_int16)
16489353358Sdim
16490353358Sdim#if defined(cl_arm_integer_dot_product_accumulate_saturate_int8)
16491353358Sdim#pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_saturate_int8 : begin
16492353358Sdimuint __ovld arm_dot_acc_sat(uchar4 a, uchar4 b, uint c);
16493353358Sdimint __ovld arm_dot_acc_sat(char4 a, char4 b, int c);
16494353358Sdim#pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_saturate_int8 : end
16495353358Sdim#endif // defined(cl_arm_integer_dot_product_accumulate_saturate_int8)
16496353358Sdim
16497303233Sdim// Disable any extensions we may have enabled previously.
16498303233Sdim#pragma OPENCL EXTENSION all : disable
16499303233Sdim
16500303233Sdim#undef __cnfn
16501303233Sdim#undef __ovld
16502303233Sdim#endif //_OPENCL_H_
16503