]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm-project/clang/lib/Headers/opencl-c.h
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
[FreeBSD/FreeBSD.git] / contrib / llvm-project / clang / lib / Headers / opencl-c.h
1 //===--- opencl-c.h - OpenCL C language builtin function header -----------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8
9 #ifndef _OPENCL_H_
10 #define _OPENCL_H_
11
12 #include "opencl-c-base.h"
13
14 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15 #ifndef cl_khr_depth_images
16 #define cl_khr_depth_images
17 #endif //cl_khr_depth_images
18 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
19
20 #if __OPENCL_C_VERSION__ < CL_VERSION_2_0
21 #ifdef cl_khr_3d_image_writes
22 #pragma OPENCL EXTENSION cl_khr_3d_image_writes : enable
23 #endif //cl_khr_3d_image_writes
24 #endif //__OPENCL_C_VERSION__ < CL_VERSION_2_0
25
26 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
27 #pragma OPENCL EXTENSION cl_intel_planar_yuv : begin
28 #pragma OPENCL EXTENSION cl_intel_planar_yuv : end
29 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
30
31 #define __ovld __attribute__((overloadable))
32 #define __conv __attribute__((convergent))
33
34 // Optimizations
35 #define __purefn __attribute__((pure))
36 #define __cnfn __attribute__((const))
37
38
39 // OpenCL v1.1/1.2/2.0 s6.2.3 - Explicit conversions
40
41 char __ovld __cnfn convert_char_rte(char);
42 char __ovld __cnfn convert_char_sat_rte(char);
43 char __ovld __cnfn convert_char_rtz(char);
44 char __ovld __cnfn convert_char_sat_rtz(char);
45 char __ovld __cnfn convert_char_rtp(char);
46 char __ovld __cnfn convert_char_sat_rtp(char);
47 char __ovld __cnfn convert_char_rtn(char);
48 char __ovld __cnfn convert_char_sat_rtn(char);
49 char __ovld __cnfn convert_char(char);
50 char __ovld __cnfn convert_char_sat(char);
51 char __ovld __cnfn convert_char_rte(uchar);
52 char __ovld __cnfn convert_char_sat_rte(uchar);
53 char __ovld __cnfn convert_char_rtz(uchar);
54 char __ovld __cnfn convert_char_sat_rtz(uchar);
55 char __ovld __cnfn convert_char_rtp(uchar);
56 char __ovld __cnfn convert_char_sat_rtp(uchar);
57 char __ovld __cnfn convert_char_rtn(uchar);
58 char __ovld __cnfn convert_char_sat_rtn(uchar);
59 char __ovld __cnfn convert_char(uchar);
60 char __ovld __cnfn convert_char_sat(uchar);
61 char __ovld __cnfn convert_char_rte(short);
62 char __ovld __cnfn convert_char_sat_rte(short);
63 char __ovld __cnfn convert_char_rtz(short);
64 char __ovld __cnfn convert_char_sat_rtz(short);
65 char __ovld __cnfn convert_char_rtp(short);
66 char __ovld __cnfn convert_char_sat_rtp(short);
67 char __ovld __cnfn convert_char_rtn(short);
68 char __ovld __cnfn convert_char_sat_rtn(short);
69 char __ovld __cnfn convert_char(short);
70 char __ovld __cnfn convert_char_sat(short);
71 char __ovld __cnfn convert_char_rte(ushort);
72 char __ovld __cnfn convert_char_sat_rte(ushort);
73 char __ovld __cnfn convert_char_rtz(ushort);
74 char __ovld __cnfn convert_char_sat_rtz(ushort);
75 char __ovld __cnfn convert_char_rtp(ushort);
76 char __ovld __cnfn convert_char_sat_rtp(ushort);
77 char __ovld __cnfn convert_char_rtn(ushort);
78 char __ovld __cnfn convert_char_sat_rtn(ushort);
79 char __ovld __cnfn convert_char(ushort);
80 char __ovld __cnfn convert_char_sat(ushort);
81 char __ovld __cnfn convert_char_rte(int);
82 char __ovld __cnfn convert_char_sat_rte(int);
83 char __ovld __cnfn convert_char_rtz(int);
84 char __ovld __cnfn convert_char_sat_rtz(int);
85 char __ovld __cnfn convert_char_rtp(int);
86 char __ovld __cnfn convert_char_sat_rtp(int);
87 char __ovld __cnfn convert_char_rtn(int);
88 char __ovld __cnfn convert_char_sat_rtn(int);
89 char __ovld __cnfn convert_char(int);
90 char __ovld __cnfn convert_char_sat(int);
91 char __ovld __cnfn convert_char_rte(uint);
92 char __ovld __cnfn convert_char_sat_rte(uint);
93 char __ovld __cnfn convert_char_rtz(uint);
94 char __ovld __cnfn convert_char_sat_rtz(uint);
95 char __ovld __cnfn convert_char_rtp(uint);
96 char __ovld __cnfn convert_char_sat_rtp(uint);
97 char __ovld __cnfn convert_char_rtn(uint);
98 char __ovld __cnfn convert_char_sat_rtn(uint);
99 char __ovld __cnfn convert_char(uint);
100 char __ovld __cnfn convert_char_sat(uint);
101 char __ovld __cnfn convert_char_rte(long);
102 char __ovld __cnfn convert_char_sat_rte(long);
103 char __ovld __cnfn convert_char_rtz(long);
104 char __ovld __cnfn convert_char_sat_rtz(long);
105 char __ovld __cnfn convert_char_rtp(long);
106 char __ovld __cnfn convert_char_sat_rtp(long);
107 char __ovld __cnfn convert_char_rtn(long);
108 char __ovld __cnfn convert_char_sat_rtn(long);
109 char __ovld __cnfn convert_char(long);
110 char __ovld __cnfn convert_char_sat(long);
111 char __ovld __cnfn convert_char_rte(ulong);
112 char __ovld __cnfn convert_char_sat_rte(ulong);
113 char __ovld __cnfn convert_char_rtz(ulong);
114 char __ovld __cnfn convert_char_sat_rtz(ulong);
115 char __ovld __cnfn convert_char_rtp(ulong);
116 char __ovld __cnfn convert_char_sat_rtp(ulong);
117 char __ovld __cnfn convert_char_rtn(ulong);
118 char __ovld __cnfn convert_char_sat_rtn(ulong);
119 char __ovld __cnfn convert_char(ulong);
120 char __ovld __cnfn convert_char_sat(ulong);
121 char __ovld __cnfn convert_char_rte(float);
122 char __ovld __cnfn convert_char_sat_rte(float);
123 char __ovld __cnfn convert_char_rtz(float);
124 char __ovld __cnfn convert_char_sat_rtz(float);
125 char __ovld __cnfn convert_char_rtp(float);
126 char __ovld __cnfn convert_char_sat_rtp(float);
127 char __ovld __cnfn convert_char_rtn(float);
128 char __ovld __cnfn convert_char_sat_rtn(float);
129 char __ovld __cnfn convert_char(float);
130 char __ovld __cnfn convert_char_sat(float);
131 uchar __ovld __cnfn convert_uchar_rte(char);
132 uchar __ovld __cnfn convert_uchar_sat_rte(char);
133 uchar __ovld __cnfn convert_uchar_rtz(char);
134 uchar __ovld __cnfn convert_uchar_sat_rtz(char);
135 uchar __ovld __cnfn convert_uchar_rtp(char);
136 uchar __ovld __cnfn convert_uchar_sat_rtp(char);
137 uchar __ovld __cnfn convert_uchar_rtn(char);
138 uchar __ovld __cnfn convert_uchar_sat_rtn(char);
139 uchar __ovld __cnfn convert_uchar(char);
140 uchar __ovld __cnfn convert_uchar_sat(char);
141 uchar __ovld __cnfn convert_uchar_rte(uchar);
142 uchar __ovld __cnfn convert_uchar_sat_rte(uchar);
143 uchar __ovld __cnfn convert_uchar_rtz(uchar);
144 uchar __ovld __cnfn convert_uchar_sat_rtz(uchar);
145 uchar __ovld __cnfn convert_uchar_rtp(uchar);
146 uchar __ovld __cnfn convert_uchar_sat_rtp(uchar);
147 uchar __ovld __cnfn convert_uchar_rtn(uchar);
148 uchar __ovld __cnfn convert_uchar_sat_rtn(uchar);
149 uchar __ovld __cnfn convert_uchar(uchar);
150 uchar __ovld __cnfn convert_uchar_sat(uchar);
151 uchar __ovld __cnfn convert_uchar_rte(short);
152 uchar __ovld __cnfn convert_uchar_sat_rte(short);
153 uchar __ovld __cnfn convert_uchar_rtz(short);
154 uchar __ovld __cnfn convert_uchar_sat_rtz(short);
155 uchar __ovld __cnfn convert_uchar_rtp(short);
156 uchar __ovld __cnfn convert_uchar_sat_rtp(short);
157 uchar __ovld __cnfn convert_uchar_rtn(short);
158 uchar __ovld __cnfn convert_uchar_sat_rtn(short);
159 uchar __ovld __cnfn convert_uchar(short);
160 uchar __ovld __cnfn convert_uchar_sat(short);
161 uchar __ovld __cnfn convert_uchar_rte(ushort);
162 uchar __ovld __cnfn convert_uchar_sat_rte(ushort);
163 uchar __ovld __cnfn convert_uchar_rtz(ushort);
164 uchar __ovld __cnfn convert_uchar_sat_rtz(ushort);
165 uchar __ovld __cnfn convert_uchar_rtp(ushort);
166 uchar __ovld __cnfn convert_uchar_sat_rtp(ushort);
167 uchar __ovld __cnfn convert_uchar_rtn(ushort);
168 uchar __ovld __cnfn convert_uchar_sat_rtn(ushort);
169 uchar __ovld __cnfn convert_uchar(ushort);
170 uchar __ovld __cnfn convert_uchar_sat(ushort);
171 uchar __ovld __cnfn convert_uchar_rte(int);
172 uchar __ovld __cnfn convert_uchar_sat_rte(int);
173 uchar __ovld __cnfn convert_uchar_rtz(int);
174 uchar __ovld __cnfn convert_uchar_sat_rtz(int);
175 uchar __ovld __cnfn convert_uchar_rtp(int);
176 uchar __ovld __cnfn convert_uchar_sat_rtp(int);
177 uchar __ovld __cnfn convert_uchar_rtn(int);
178 uchar __ovld __cnfn convert_uchar_sat_rtn(int);
179 uchar __ovld __cnfn convert_uchar(int);
180 uchar __ovld __cnfn convert_uchar_sat(int);
181 uchar __ovld __cnfn convert_uchar_rte(uint);
182 uchar __ovld __cnfn convert_uchar_sat_rte(uint);
183 uchar __ovld __cnfn convert_uchar_rtz(uint);
184 uchar __ovld __cnfn convert_uchar_sat_rtz(uint);
185 uchar __ovld __cnfn convert_uchar_rtp(uint);
186 uchar __ovld __cnfn convert_uchar_sat_rtp(uint);
187 uchar __ovld __cnfn convert_uchar_rtn(uint);
188 uchar __ovld __cnfn convert_uchar_sat_rtn(uint);
189 uchar __ovld __cnfn convert_uchar(uint);
190 uchar __ovld __cnfn convert_uchar_sat(uint);
191 uchar __ovld __cnfn convert_uchar_rte(long);
192 uchar __ovld __cnfn convert_uchar_sat_rte(long);
193 uchar __ovld __cnfn convert_uchar_rtz(long);
194 uchar __ovld __cnfn convert_uchar_sat_rtz(long);
195 uchar __ovld __cnfn convert_uchar_rtp(long);
196 uchar __ovld __cnfn convert_uchar_sat_rtp(long);
197 uchar __ovld __cnfn convert_uchar_rtn(long);
198 uchar __ovld __cnfn convert_uchar_sat_rtn(long);
199 uchar __ovld __cnfn convert_uchar(long);
200 uchar __ovld __cnfn convert_uchar_sat(long);
201 uchar __ovld __cnfn convert_uchar_rte(ulong);
202 uchar __ovld __cnfn convert_uchar_sat_rte(ulong);
203 uchar __ovld __cnfn convert_uchar_rtz(ulong);
204 uchar __ovld __cnfn convert_uchar_sat_rtz(ulong);
205 uchar __ovld __cnfn convert_uchar_rtp(ulong);
206 uchar __ovld __cnfn convert_uchar_sat_rtp(ulong);
207 uchar __ovld __cnfn convert_uchar_rtn(ulong);
208 uchar __ovld __cnfn convert_uchar_sat_rtn(ulong);
209 uchar __ovld __cnfn convert_uchar(ulong);
210 uchar __ovld __cnfn convert_uchar_sat(ulong);
211 uchar __ovld __cnfn convert_uchar_rte(float);
212 uchar __ovld __cnfn convert_uchar_sat_rte(float);
213 uchar __ovld __cnfn convert_uchar_rtz(float);
214 uchar __ovld __cnfn convert_uchar_sat_rtz(float);
215 uchar __ovld __cnfn convert_uchar_rtp(float);
216 uchar __ovld __cnfn convert_uchar_sat_rtp(float);
217 uchar __ovld __cnfn convert_uchar_rtn(float);
218 uchar __ovld __cnfn convert_uchar_sat_rtn(float);
219 uchar __ovld __cnfn convert_uchar(float);
220 uchar __ovld __cnfn convert_uchar_sat(float);
221
222 short __ovld __cnfn convert_short_rte(char);
223 short __ovld __cnfn convert_short_sat_rte(char);
224 short __ovld __cnfn convert_short_rtz(char);
225 short __ovld __cnfn convert_short_sat_rtz(char);
226 short __ovld __cnfn convert_short_rtp(char);
227 short __ovld __cnfn convert_short_sat_rtp(char);
228 short __ovld __cnfn convert_short_rtn(char);
229 short __ovld __cnfn convert_short_sat_rtn(char);
230 short __ovld __cnfn convert_short(char);
231 short __ovld __cnfn convert_short_sat(char);
232 short __ovld __cnfn convert_short_rte(uchar);
233 short __ovld __cnfn convert_short_sat_rte(uchar);
234 short __ovld __cnfn convert_short_rtz(uchar);
235 short __ovld __cnfn convert_short_sat_rtz(uchar);
236 short __ovld __cnfn convert_short_rtp(uchar);
237 short __ovld __cnfn convert_short_sat_rtp(uchar);
238 short __ovld __cnfn convert_short_rtn(uchar);
239 short __ovld __cnfn convert_short_sat_rtn(uchar);
240 short __ovld __cnfn convert_short(uchar);
241 short __ovld __cnfn convert_short_sat(uchar);
242 short __ovld __cnfn convert_short_rte(short);
243 short __ovld __cnfn convert_short_sat_rte(short);
244 short __ovld __cnfn convert_short_rtz(short);
245 short __ovld __cnfn convert_short_sat_rtz(short);
246 short __ovld __cnfn convert_short_rtp(short);
247 short __ovld __cnfn convert_short_sat_rtp(short);
248 short __ovld __cnfn convert_short_rtn(short);
249 short __ovld __cnfn convert_short_sat_rtn(short);
250 short __ovld __cnfn convert_short(short);
251 short __ovld __cnfn convert_short_sat(short);
252 short __ovld __cnfn convert_short_rte(ushort);
253 short __ovld __cnfn convert_short_sat_rte(ushort);
254 short __ovld __cnfn convert_short_rtz(ushort);
255 short __ovld __cnfn convert_short_sat_rtz(ushort);
256 short __ovld __cnfn convert_short_rtp(ushort);
257 short __ovld __cnfn convert_short_sat_rtp(ushort);
258 short __ovld __cnfn convert_short_rtn(ushort);
259 short __ovld __cnfn convert_short_sat_rtn(ushort);
260 short __ovld __cnfn convert_short(ushort);
261 short __ovld __cnfn convert_short_sat(ushort);
262 short __ovld __cnfn convert_short_rte(int);
263 short __ovld __cnfn convert_short_sat_rte(int);
264 short __ovld __cnfn convert_short_rtz(int);
265 short __ovld __cnfn convert_short_sat_rtz(int);
266 short __ovld __cnfn convert_short_rtp(int);
267 short __ovld __cnfn convert_short_sat_rtp(int);
268 short __ovld __cnfn convert_short_rtn(int);
269 short __ovld __cnfn convert_short_sat_rtn(int);
270 short __ovld __cnfn convert_short(int);
271 short __ovld __cnfn convert_short_sat(int);
272 short __ovld __cnfn convert_short_rte(uint);
273 short __ovld __cnfn convert_short_sat_rte(uint);
274 short __ovld __cnfn convert_short_rtz(uint);
275 short __ovld __cnfn convert_short_sat_rtz(uint);
276 short __ovld __cnfn convert_short_rtp(uint);
277 short __ovld __cnfn convert_short_sat_rtp(uint);
278 short __ovld __cnfn convert_short_rtn(uint);
279 short __ovld __cnfn convert_short_sat_rtn(uint);
280 short __ovld __cnfn convert_short(uint);
281 short __ovld __cnfn convert_short_sat(uint);
282 short __ovld __cnfn convert_short_rte(long);
283 short __ovld __cnfn convert_short_sat_rte(long);
284 short __ovld __cnfn convert_short_rtz(long);
285 short __ovld __cnfn convert_short_sat_rtz(long);
286 short __ovld __cnfn convert_short_rtp(long);
287 short __ovld __cnfn convert_short_sat_rtp(long);
288 short __ovld __cnfn convert_short_rtn(long);
289 short __ovld __cnfn convert_short_sat_rtn(long);
290 short __ovld __cnfn convert_short(long);
291 short __ovld __cnfn convert_short_sat(long);
292 short __ovld __cnfn convert_short_rte(ulong);
293 short __ovld __cnfn convert_short_sat_rte(ulong);
294 short __ovld __cnfn convert_short_rtz(ulong);
295 short __ovld __cnfn convert_short_sat_rtz(ulong);
296 short __ovld __cnfn convert_short_rtp(ulong);
297 short __ovld __cnfn convert_short_sat_rtp(ulong);
298 short __ovld __cnfn convert_short_rtn(ulong);
299 short __ovld __cnfn convert_short_sat_rtn(ulong);
300 short __ovld __cnfn convert_short(ulong);
301 short __ovld __cnfn convert_short_sat(ulong);
302 short __ovld __cnfn convert_short_rte(float);
303 short __ovld __cnfn convert_short_sat_rte(float);
304 short __ovld __cnfn convert_short_rtz(float);
305 short __ovld __cnfn convert_short_sat_rtz(float);
306 short __ovld __cnfn convert_short_rtp(float);
307 short __ovld __cnfn convert_short_sat_rtp(float);
308 short __ovld __cnfn convert_short_rtn(float);
309 short __ovld __cnfn convert_short_sat_rtn(float);
310 short __ovld __cnfn convert_short(float);
311 short __ovld __cnfn convert_short_sat(float);
312 ushort __ovld __cnfn convert_ushort_rte(char);
313 ushort __ovld __cnfn convert_ushort_sat_rte(char);
314 ushort __ovld __cnfn convert_ushort_rtz(char);
315 ushort __ovld __cnfn convert_ushort_sat_rtz(char);
316 ushort __ovld __cnfn convert_ushort_rtp(char);
317 ushort __ovld __cnfn convert_ushort_sat_rtp(char);
318 ushort __ovld __cnfn convert_ushort_rtn(char);
319 ushort __ovld __cnfn convert_ushort_sat_rtn(char);
320 ushort __ovld __cnfn convert_ushort(char);
321 ushort __ovld __cnfn convert_ushort_sat(char);
322 ushort __ovld __cnfn convert_ushort_rte(uchar);
323 ushort __ovld __cnfn convert_ushort_sat_rte(uchar);
324 ushort __ovld __cnfn convert_ushort_rtz(uchar);
325 ushort __ovld __cnfn convert_ushort_sat_rtz(uchar);
326 ushort __ovld __cnfn convert_ushort_rtp(uchar);
327 ushort __ovld __cnfn convert_ushort_sat_rtp(uchar);
328 ushort __ovld __cnfn convert_ushort_rtn(uchar);
329 ushort __ovld __cnfn convert_ushort_sat_rtn(uchar);
330 ushort __ovld __cnfn convert_ushort(uchar);
331 ushort __ovld __cnfn convert_ushort_sat(uchar);
332 ushort __ovld __cnfn convert_ushort_rte(short);
333 ushort __ovld __cnfn convert_ushort_sat_rte(short);
334 ushort __ovld __cnfn convert_ushort_rtz(short);
335 ushort __ovld __cnfn convert_ushort_sat_rtz(short);
336 ushort __ovld __cnfn convert_ushort_rtp(short);
337 ushort __ovld __cnfn convert_ushort_sat_rtp(short);
338 ushort __ovld __cnfn convert_ushort_rtn(short);
339 ushort __ovld __cnfn convert_ushort_sat_rtn(short);
340 ushort __ovld __cnfn convert_ushort(short);
341 ushort __ovld __cnfn convert_ushort_sat(short);
342 ushort __ovld __cnfn convert_ushort_rte(ushort);
343 ushort __ovld __cnfn convert_ushort_sat_rte(ushort);
344 ushort __ovld __cnfn convert_ushort_rtz(ushort);
345 ushort __ovld __cnfn convert_ushort_sat_rtz(ushort);
346 ushort __ovld __cnfn convert_ushort_rtp(ushort);
347 ushort __ovld __cnfn convert_ushort_sat_rtp(ushort);
348 ushort __ovld __cnfn convert_ushort_rtn(ushort);
349 ushort __ovld __cnfn convert_ushort_sat_rtn(ushort);
350 ushort __ovld __cnfn convert_ushort(ushort);
351 ushort __ovld __cnfn convert_ushort_sat(ushort);
352 ushort __ovld __cnfn convert_ushort_rte(int);
353 ushort __ovld __cnfn convert_ushort_sat_rte(int);
354 ushort __ovld __cnfn convert_ushort_rtz(int);
355 ushort __ovld __cnfn convert_ushort_sat_rtz(int);
356 ushort __ovld __cnfn convert_ushort_rtp(int);
357 ushort __ovld __cnfn convert_ushort_sat_rtp(int);
358 ushort __ovld __cnfn convert_ushort_rtn(int);
359 ushort __ovld __cnfn convert_ushort_sat_rtn(int);
360 ushort __ovld __cnfn convert_ushort(int);
361 ushort __ovld __cnfn convert_ushort_sat(int);
362 ushort __ovld __cnfn convert_ushort_rte(uint);
363 ushort __ovld __cnfn convert_ushort_sat_rte(uint);
364 ushort __ovld __cnfn convert_ushort_rtz(uint);
365 ushort __ovld __cnfn convert_ushort_sat_rtz(uint);
366 ushort __ovld __cnfn convert_ushort_rtp(uint);
367 ushort __ovld __cnfn convert_ushort_sat_rtp(uint);
368 ushort __ovld __cnfn convert_ushort_rtn(uint);
369 ushort __ovld __cnfn convert_ushort_sat_rtn(uint);
370 ushort __ovld __cnfn convert_ushort(uint);
371 ushort __ovld __cnfn convert_ushort_sat(uint);
372 ushort __ovld __cnfn convert_ushort_rte(long);
373 ushort __ovld __cnfn convert_ushort_sat_rte(long);
374 ushort __ovld __cnfn convert_ushort_rtz(long);
375 ushort __ovld __cnfn convert_ushort_sat_rtz(long);
376 ushort __ovld __cnfn convert_ushort_rtp(long);
377 ushort __ovld __cnfn convert_ushort_sat_rtp(long);
378 ushort __ovld __cnfn convert_ushort_rtn(long);
379 ushort __ovld __cnfn convert_ushort_sat_rtn(long);
380 ushort __ovld __cnfn convert_ushort(long);
381 ushort __ovld __cnfn convert_ushort_sat(long);
382 ushort __ovld __cnfn convert_ushort_rte(ulong);
383 ushort __ovld __cnfn convert_ushort_sat_rte(ulong);
384 ushort __ovld __cnfn convert_ushort_rtz(ulong);
385 ushort __ovld __cnfn convert_ushort_sat_rtz(ulong);
386 ushort __ovld __cnfn convert_ushort_rtp(ulong);
387 ushort __ovld __cnfn convert_ushort_sat_rtp(ulong);
388 ushort __ovld __cnfn convert_ushort_rtn(ulong);
389 ushort __ovld __cnfn convert_ushort_sat_rtn(ulong);
390 ushort __ovld __cnfn convert_ushort(ulong);
391 ushort __ovld __cnfn convert_ushort_sat(ulong);
392 ushort __ovld __cnfn convert_ushort_rte(float);
393 ushort __ovld __cnfn convert_ushort_sat_rte(float);
394 ushort __ovld __cnfn convert_ushort_rtz(float);
395 ushort __ovld __cnfn convert_ushort_sat_rtz(float);
396 ushort __ovld __cnfn convert_ushort_rtp(float);
397 ushort __ovld __cnfn convert_ushort_sat_rtp(float);
398 ushort __ovld __cnfn convert_ushort_rtn(float);
399 ushort __ovld __cnfn convert_ushort_sat_rtn(float);
400 ushort __ovld __cnfn convert_ushort(float);
401 ushort __ovld __cnfn convert_ushort_sat(float);
402 int __ovld __cnfn convert_int_rte(char);
403 int __ovld __cnfn convert_int_sat_rte(char);
404 int __ovld __cnfn convert_int_rtz(char);
405 int __ovld __cnfn convert_int_sat_rtz(char);
406 int __ovld __cnfn convert_int_rtp(char);
407 int __ovld __cnfn convert_int_sat_rtp(char);
408 int __ovld __cnfn convert_int_rtn(char);
409 int __ovld __cnfn convert_int_sat_rtn(char);
410 int __ovld __cnfn convert_int(char);
411 int __ovld __cnfn convert_int_sat(char);
412 int __ovld __cnfn convert_int_rte(uchar);
413 int __ovld __cnfn convert_int_sat_rte(uchar);
414 int __ovld __cnfn convert_int_rtz(uchar);
415 int __ovld __cnfn convert_int_sat_rtz(uchar);
416 int __ovld __cnfn convert_int_rtp(uchar);
417 int __ovld __cnfn convert_int_sat_rtp(uchar);
418 int __ovld __cnfn convert_int_rtn(uchar);
419 int __ovld __cnfn convert_int_sat_rtn(uchar);
420 int __ovld __cnfn convert_int(uchar);
421 int __ovld __cnfn convert_int_sat(uchar);
422 int __ovld __cnfn convert_int_rte(short);
423 int __ovld __cnfn convert_int_sat_rte(short);
424 int __ovld __cnfn convert_int_rtz(short);
425 int __ovld __cnfn convert_int_sat_rtz(short);
426 int __ovld __cnfn convert_int_rtp(short);
427 int __ovld __cnfn convert_int_sat_rtp(short);
428 int __ovld __cnfn convert_int_rtn(short);
429 int __ovld __cnfn convert_int_sat_rtn(short);
430 int __ovld __cnfn convert_int(short);
431 int __ovld __cnfn convert_int_sat(short);
432 int __ovld __cnfn convert_int_rte(ushort);
433 int __ovld __cnfn convert_int_sat_rte(ushort);
434 int __ovld __cnfn convert_int_rtz(ushort);
435 int __ovld __cnfn convert_int_sat_rtz(ushort);
436 int __ovld __cnfn convert_int_rtp(ushort);
437 int __ovld __cnfn convert_int_sat_rtp(ushort);
438 int __ovld __cnfn convert_int_rtn(ushort);
439 int __ovld __cnfn convert_int_sat_rtn(ushort);
440 int __ovld __cnfn convert_int(ushort);
441 int __ovld __cnfn convert_int_sat(ushort);
442 int __ovld __cnfn convert_int_rte(int);
443 int __ovld __cnfn convert_int_sat_rte(int);
444 int __ovld __cnfn convert_int_rtz(int);
445 int __ovld __cnfn convert_int_sat_rtz(int);
446 int __ovld __cnfn convert_int_rtp(int);
447 int __ovld __cnfn convert_int_sat_rtp(int);
448 int __ovld __cnfn convert_int_rtn(int);
449 int __ovld __cnfn convert_int_sat_rtn(int);
450 int __ovld __cnfn convert_int(int);
451 int __ovld __cnfn convert_int_sat(int);
452 int __ovld __cnfn convert_int_rte(uint);
453 int __ovld __cnfn convert_int_sat_rte(uint);
454 int __ovld __cnfn convert_int_rtz(uint);
455 int __ovld __cnfn convert_int_sat_rtz(uint);
456 int __ovld __cnfn convert_int_rtp(uint);
457 int __ovld __cnfn convert_int_sat_rtp(uint);
458 int __ovld __cnfn convert_int_rtn(uint);
459 int __ovld __cnfn convert_int_sat_rtn(uint);
460 int __ovld __cnfn convert_int(uint);
461 int __ovld __cnfn convert_int_sat(uint);
462 int __ovld __cnfn convert_int_rte(long);
463 int __ovld __cnfn convert_int_sat_rte(long);
464 int __ovld __cnfn convert_int_rtz(long);
465 int __ovld __cnfn convert_int_sat_rtz(long);
466 int __ovld __cnfn convert_int_rtp(long);
467 int __ovld __cnfn convert_int_sat_rtp(long);
468 int __ovld __cnfn convert_int_rtn(long);
469 int __ovld __cnfn convert_int_sat_rtn(long);
470 int __ovld __cnfn convert_int(long);
471 int __ovld __cnfn convert_int_sat(long);
472 int __ovld __cnfn convert_int_rte(ulong);
473 int __ovld __cnfn convert_int_sat_rte(ulong);
474 int __ovld __cnfn convert_int_rtz(ulong);
475 int __ovld __cnfn convert_int_sat_rtz(ulong);
476 int __ovld __cnfn convert_int_rtp(ulong);
477 int __ovld __cnfn convert_int_sat_rtp(ulong);
478 int __ovld __cnfn convert_int_rtn(ulong);
479 int __ovld __cnfn convert_int_sat_rtn(ulong);
480 int __ovld __cnfn convert_int(ulong);
481 int __ovld __cnfn convert_int_sat(ulong);
482 int __ovld __cnfn convert_int_rte(float);
483 int __ovld __cnfn convert_int_sat_rte(float);
484 int __ovld __cnfn convert_int_rtz(float);
485 int __ovld __cnfn convert_int_sat_rtz(float);
486 int __ovld __cnfn convert_int_rtp(float);
487 int __ovld __cnfn convert_int_sat_rtp(float);
488 int __ovld __cnfn convert_int_rtn(float);
489 int __ovld __cnfn convert_int_sat_rtn(float);
490 int __ovld __cnfn convert_int(float);
491 int __ovld __cnfn convert_int_sat(float);
492 uint __ovld __cnfn convert_uint_rte(char);
493 uint __ovld __cnfn convert_uint_sat_rte(char);
494 uint __ovld __cnfn convert_uint_rtz(char);
495 uint __ovld __cnfn convert_uint_sat_rtz(char);
496 uint __ovld __cnfn convert_uint_rtp(char);
497 uint __ovld __cnfn convert_uint_sat_rtp(char);
498 uint __ovld __cnfn convert_uint_rtn(char);
499 uint __ovld __cnfn convert_uint_sat_rtn(char);
500 uint __ovld __cnfn convert_uint(char);
501 uint __ovld __cnfn convert_uint_sat(char);
502 uint __ovld __cnfn convert_uint_rte(uchar);
503 uint __ovld __cnfn convert_uint_sat_rte(uchar);
504 uint __ovld __cnfn convert_uint_rtz(uchar);
505 uint __ovld __cnfn convert_uint_sat_rtz(uchar);
506 uint __ovld __cnfn convert_uint_rtp(uchar);
507 uint __ovld __cnfn convert_uint_sat_rtp(uchar);
508 uint __ovld __cnfn convert_uint_rtn(uchar);
509 uint __ovld __cnfn convert_uint_sat_rtn(uchar);
510 uint __ovld __cnfn convert_uint(uchar);
511 uint __ovld __cnfn convert_uint_sat(uchar);
512 uint __ovld __cnfn convert_uint_rte(short);
513 uint __ovld __cnfn convert_uint_sat_rte(short);
514 uint __ovld __cnfn convert_uint_rtz(short);
515 uint __ovld __cnfn convert_uint_sat_rtz(short);
516 uint __ovld __cnfn convert_uint_rtp(short);
517 uint __ovld __cnfn convert_uint_sat_rtp(short);
518 uint __ovld __cnfn convert_uint_rtn(short);
519 uint __ovld __cnfn convert_uint_sat_rtn(short);
520 uint __ovld __cnfn convert_uint(short);
521 uint __ovld __cnfn convert_uint_sat(short);
522 uint __ovld __cnfn convert_uint_rte(ushort);
523 uint __ovld __cnfn convert_uint_sat_rte(ushort);
524 uint __ovld __cnfn convert_uint_rtz(ushort);
525 uint __ovld __cnfn convert_uint_sat_rtz(ushort);
526 uint __ovld __cnfn convert_uint_rtp(ushort);
527 uint __ovld __cnfn convert_uint_sat_rtp(ushort);
528 uint __ovld __cnfn convert_uint_rtn(ushort);
529 uint __ovld __cnfn convert_uint_sat_rtn(ushort);
530 uint __ovld __cnfn convert_uint(ushort);
531 uint __ovld __cnfn convert_uint_sat(ushort);
532 uint __ovld __cnfn convert_uint_rte(int);
533 uint __ovld __cnfn convert_uint_sat_rte(int);
534 uint __ovld __cnfn convert_uint_rtz(int);
535 uint __ovld __cnfn convert_uint_sat_rtz(int);
536 uint __ovld __cnfn convert_uint_rtp(int);
537 uint __ovld __cnfn convert_uint_sat_rtp(int);
538 uint __ovld __cnfn convert_uint_rtn(int);
539 uint __ovld __cnfn convert_uint_sat_rtn(int);
540 uint __ovld __cnfn convert_uint(int);
541 uint __ovld __cnfn convert_uint_sat(int);
542 uint __ovld __cnfn convert_uint_rte(uint);
543 uint __ovld __cnfn convert_uint_sat_rte(uint);
544 uint __ovld __cnfn convert_uint_rtz(uint);
545 uint __ovld __cnfn convert_uint_sat_rtz(uint);
546 uint __ovld __cnfn convert_uint_rtp(uint);
547 uint __ovld __cnfn convert_uint_sat_rtp(uint);
548 uint __ovld __cnfn convert_uint_rtn(uint);
549 uint __ovld __cnfn convert_uint_sat_rtn(uint);
550 uint __ovld __cnfn convert_uint(uint);
551 uint __ovld __cnfn convert_uint_sat(uint);
552 uint __ovld __cnfn convert_uint_rte(long);
553 uint __ovld __cnfn convert_uint_sat_rte(long);
554 uint __ovld __cnfn convert_uint_rtz(long);
555 uint __ovld __cnfn convert_uint_sat_rtz(long);
556 uint __ovld __cnfn convert_uint_rtp(long);
557 uint __ovld __cnfn convert_uint_sat_rtp(long);
558 uint __ovld __cnfn convert_uint_rtn(long);
559 uint __ovld __cnfn convert_uint_sat_rtn(long);
560 uint __ovld __cnfn convert_uint(long);
561 uint __ovld __cnfn convert_uint_sat(long);
562 uint __ovld __cnfn convert_uint_rte(ulong);
563 uint __ovld __cnfn convert_uint_sat_rte(ulong);
564 uint __ovld __cnfn convert_uint_rtz(ulong);
565 uint __ovld __cnfn convert_uint_sat_rtz(ulong);
566 uint __ovld __cnfn convert_uint_rtp(ulong);
567 uint __ovld __cnfn convert_uint_sat_rtp(ulong);
568 uint __ovld __cnfn convert_uint_rtn(ulong);
569 uint __ovld __cnfn convert_uint_sat_rtn(ulong);
570 uint __ovld __cnfn convert_uint(ulong);
571 uint __ovld __cnfn convert_uint_sat(ulong);
572 uint __ovld __cnfn convert_uint_rte(float);
573 uint __ovld __cnfn convert_uint_sat_rte(float);
574 uint __ovld __cnfn convert_uint_rtz(float);
575 uint __ovld __cnfn convert_uint_sat_rtz(float);
576 uint __ovld __cnfn convert_uint_rtp(float);
577 uint __ovld __cnfn convert_uint_sat_rtp(float);
578 uint __ovld __cnfn convert_uint_rtn(float);
579 uint __ovld __cnfn convert_uint_sat_rtn(float);
580 uint __ovld __cnfn convert_uint(float);
581 uint __ovld __cnfn convert_uint_sat(float);
582 long __ovld __cnfn convert_long_rte(char);
583 long __ovld __cnfn convert_long_sat_rte(char);
584 long __ovld __cnfn convert_long_rtz(char);
585 long __ovld __cnfn convert_long_sat_rtz(char);
586 long __ovld __cnfn convert_long_rtp(char);
587 long __ovld __cnfn convert_long_sat_rtp(char);
588 long __ovld __cnfn convert_long_rtn(char);
589 long __ovld __cnfn convert_long_sat_rtn(char);
590 long __ovld __cnfn convert_long(char);
591 long __ovld __cnfn convert_long_sat(char);
592 long __ovld __cnfn convert_long_rte(uchar);
593 long __ovld __cnfn convert_long_sat_rte(uchar);
594 long __ovld __cnfn convert_long_rtz(uchar);
595 long __ovld __cnfn convert_long_sat_rtz(uchar);
596 long __ovld __cnfn convert_long_rtp(uchar);
597 long __ovld __cnfn convert_long_sat_rtp(uchar);
598 long __ovld __cnfn convert_long_rtn(uchar);
599 long __ovld __cnfn convert_long_sat_rtn(uchar);
600 long __ovld __cnfn convert_long(uchar);
601 long __ovld __cnfn convert_long_sat(uchar);
602 long __ovld __cnfn convert_long_rte(short);
603 long __ovld __cnfn convert_long_sat_rte(short);
604 long __ovld __cnfn convert_long_rtz(short);
605 long __ovld __cnfn convert_long_sat_rtz(short);
606 long __ovld __cnfn convert_long_rtp(short);
607 long __ovld __cnfn convert_long_sat_rtp(short);
608 long __ovld __cnfn convert_long_rtn(short);
609 long __ovld __cnfn convert_long_sat_rtn(short);
610 long __ovld __cnfn convert_long(short);
611 long __ovld __cnfn convert_long_sat(short);
612 long __ovld __cnfn convert_long_rte(ushort);
613 long __ovld __cnfn convert_long_sat_rte(ushort);
614 long __ovld __cnfn convert_long_rtz(ushort);
615 long __ovld __cnfn convert_long_sat_rtz(ushort);
616 long __ovld __cnfn convert_long_rtp(ushort);
617 long __ovld __cnfn convert_long_sat_rtp(ushort);
618 long __ovld __cnfn convert_long_rtn(ushort);
619 long __ovld __cnfn convert_long_sat_rtn(ushort);
620 long __ovld __cnfn convert_long(ushort);
621 long __ovld __cnfn convert_long_sat(ushort);
622 long __ovld __cnfn convert_long_rte(int);
623 long __ovld __cnfn convert_long_sat_rte(int);
624 long __ovld __cnfn convert_long_rtz(int);
625 long __ovld __cnfn convert_long_sat_rtz(int);
626 long __ovld __cnfn convert_long_rtp(int);
627 long __ovld __cnfn convert_long_sat_rtp(int);
628 long __ovld __cnfn convert_long_rtn(int);
629 long __ovld __cnfn convert_long_sat_rtn(int);
630 long __ovld __cnfn convert_long(int);
631 long __ovld __cnfn convert_long_sat(int);
632 long __ovld __cnfn convert_long_rte(uint);
633 long __ovld __cnfn convert_long_sat_rte(uint);
634 long __ovld __cnfn convert_long_rtz(uint);
635 long __ovld __cnfn convert_long_sat_rtz(uint);
636 long __ovld __cnfn convert_long_rtp(uint);
637 long __ovld __cnfn convert_long_sat_rtp(uint);
638 long __ovld __cnfn convert_long_rtn(uint);
639 long __ovld __cnfn convert_long_sat_rtn(uint);
640 long __ovld __cnfn convert_long(uint);
641 long __ovld __cnfn convert_long_sat(uint);
642 long __ovld __cnfn convert_long_rte(long);
643 long __ovld __cnfn convert_long_sat_rte(long);
644 long __ovld __cnfn convert_long_rtz(long);
645 long __ovld __cnfn convert_long_sat_rtz(long);
646 long __ovld __cnfn convert_long_rtp(long);
647 long __ovld __cnfn convert_long_sat_rtp(long);
648 long __ovld __cnfn convert_long_rtn(long);
649 long __ovld __cnfn convert_long_sat_rtn(long);
650 long __ovld __cnfn convert_long(long);
651 long __ovld __cnfn convert_long_sat(long);
652 long __ovld __cnfn convert_long_rte(ulong);
653 long __ovld __cnfn convert_long_sat_rte(ulong);
654 long __ovld __cnfn convert_long_rtz(ulong);
655 long __ovld __cnfn convert_long_sat_rtz(ulong);
656 long __ovld __cnfn convert_long_rtp(ulong);
657 long __ovld __cnfn convert_long_sat_rtp(ulong);
658 long __ovld __cnfn convert_long_rtn(ulong);
659 long __ovld __cnfn convert_long_sat_rtn(ulong);
660 long __ovld __cnfn convert_long(ulong);
661 long __ovld __cnfn convert_long_sat(ulong);
662 long __ovld __cnfn convert_long_rte(float);
663 long __ovld __cnfn convert_long_sat_rte(float);
664 long __ovld __cnfn convert_long_rtz(float);
665 long __ovld __cnfn convert_long_sat_rtz(float);
666 long __ovld __cnfn convert_long_rtp(float);
667 long __ovld __cnfn convert_long_sat_rtp(float);
668 long __ovld __cnfn convert_long_rtn(float);
669 long __ovld __cnfn convert_long_sat_rtn(float);
670 long __ovld __cnfn convert_long(float);
671 long __ovld __cnfn convert_long_sat(float);
672 ulong __ovld __cnfn convert_ulong_rte(char);
673 ulong __ovld __cnfn convert_ulong_sat_rte(char);
674 ulong __ovld __cnfn convert_ulong_rtz(char);
675 ulong __ovld __cnfn convert_ulong_sat_rtz(char);
676 ulong __ovld __cnfn convert_ulong_rtp(char);
677 ulong __ovld __cnfn convert_ulong_sat_rtp(char);
678 ulong __ovld __cnfn convert_ulong_rtn(char);
679 ulong __ovld __cnfn convert_ulong_sat_rtn(char);
680 ulong __ovld __cnfn convert_ulong(char);
681 ulong __ovld __cnfn convert_ulong_sat(char);
682 ulong __ovld __cnfn convert_ulong_rte(uchar);
683 ulong __ovld __cnfn convert_ulong_sat_rte(uchar);
684 ulong __ovld __cnfn convert_ulong_rtz(uchar);
685 ulong __ovld __cnfn convert_ulong_sat_rtz(uchar);
686 ulong __ovld __cnfn convert_ulong_rtp(uchar);
687 ulong __ovld __cnfn convert_ulong_sat_rtp(uchar);
688 ulong __ovld __cnfn convert_ulong_rtn(uchar);
689 ulong __ovld __cnfn convert_ulong_sat_rtn(uchar);
690 ulong __ovld __cnfn convert_ulong(uchar);
691 ulong __ovld __cnfn convert_ulong_sat(uchar);
692 ulong __ovld __cnfn convert_ulong_rte(short);
693 ulong __ovld __cnfn convert_ulong_sat_rte(short);
694 ulong __ovld __cnfn convert_ulong_rtz(short);
695 ulong __ovld __cnfn convert_ulong_sat_rtz(short);
696 ulong __ovld __cnfn convert_ulong_rtp(short);
697 ulong __ovld __cnfn convert_ulong_sat_rtp(short);
698 ulong __ovld __cnfn convert_ulong_rtn(short);
699 ulong __ovld __cnfn convert_ulong_sat_rtn(short);
700 ulong __ovld __cnfn convert_ulong(short);
701 ulong __ovld __cnfn convert_ulong_sat(short);
702 ulong __ovld __cnfn convert_ulong_rte(ushort);
703 ulong __ovld __cnfn convert_ulong_sat_rte(ushort);
704 ulong __ovld __cnfn convert_ulong_rtz(ushort);
705 ulong __ovld __cnfn convert_ulong_sat_rtz(ushort);
706 ulong __ovld __cnfn convert_ulong_rtp(ushort);
707 ulong __ovld __cnfn convert_ulong_sat_rtp(ushort);
708 ulong __ovld __cnfn convert_ulong_rtn(ushort);
709 ulong __ovld __cnfn convert_ulong_sat_rtn(ushort);
710 ulong __ovld __cnfn convert_ulong(ushort);
711 ulong __ovld __cnfn convert_ulong_sat(ushort);
712 ulong __ovld __cnfn convert_ulong_rte(int);
713 ulong __ovld __cnfn convert_ulong_sat_rte(int);
714 ulong __ovld __cnfn convert_ulong_rtz(int);
715 ulong __ovld __cnfn convert_ulong_sat_rtz(int);
716 ulong __ovld __cnfn convert_ulong_rtp(int);
717 ulong __ovld __cnfn convert_ulong_sat_rtp(int);
718 ulong __ovld __cnfn convert_ulong_rtn(int);
719 ulong __ovld __cnfn convert_ulong_sat_rtn(int);
720 ulong __ovld __cnfn convert_ulong(int);
721 ulong __ovld __cnfn convert_ulong_sat(int);
722 ulong __ovld __cnfn convert_ulong_rte(uint);
723 ulong __ovld __cnfn convert_ulong_sat_rte(uint);
724 ulong __ovld __cnfn convert_ulong_rtz(uint);
725 ulong __ovld __cnfn convert_ulong_sat_rtz(uint);
726 ulong __ovld __cnfn convert_ulong_rtp(uint);
727 ulong __ovld __cnfn convert_ulong_sat_rtp(uint);
728 ulong __ovld __cnfn convert_ulong_rtn(uint);
729 ulong __ovld __cnfn convert_ulong_sat_rtn(uint);
730 ulong __ovld __cnfn convert_ulong(uint);
731 ulong __ovld __cnfn convert_ulong_sat(uint);
732 ulong __ovld __cnfn convert_ulong_rte(long);
733 ulong __ovld __cnfn convert_ulong_sat_rte(long);
734 ulong __ovld __cnfn convert_ulong_rtz(long);
735 ulong __ovld __cnfn convert_ulong_sat_rtz(long);
736 ulong __ovld __cnfn convert_ulong_rtp(long);
737 ulong __ovld __cnfn convert_ulong_sat_rtp(long);
738 ulong __ovld __cnfn convert_ulong_rtn(long);
739 ulong __ovld __cnfn convert_ulong_sat_rtn(long);
740 ulong __ovld __cnfn convert_ulong(long);
741 ulong __ovld __cnfn convert_ulong_sat(long);
742 ulong __ovld __cnfn convert_ulong_rte(ulong);
743 ulong __ovld __cnfn convert_ulong_sat_rte(ulong);
744 ulong __ovld __cnfn convert_ulong_rtz(ulong);
745 ulong __ovld __cnfn convert_ulong_sat_rtz(ulong);
746 ulong __ovld __cnfn convert_ulong_rtp(ulong);
747 ulong __ovld __cnfn convert_ulong_sat_rtp(ulong);
748 ulong __ovld __cnfn convert_ulong_rtn(ulong);
749 ulong __ovld __cnfn convert_ulong_sat_rtn(ulong);
750 ulong __ovld __cnfn convert_ulong(ulong);
751 ulong __ovld __cnfn convert_ulong_sat(ulong);
752 ulong __ovld __cnfn convert_ulong_rte(float);
753 ulong __ovld __cnfn convert_ulong_sat_rte(float);
754 ulong __ovld __cnfn convert_ulong_rtz(float);
755 ulong __ovld __cnfn convert_ulong_sat_rtz(float);
756 ulong __ovld __cnfn convert_ulong_rtp(float);
757 ulong __ovld __cnfn convert_ulong_sat_rtp(float);
758 ulong __ovld __cnfn convert_ulong_rtn(float);
759 ulong __ovld __cnfn convert_ulong_sat_rtn(float);
760 ulong __ovld __cnfn convert_ulong(float);
761 ulong __ovld __cnfn convert_ulong_sat(float);
762 float __ovld __cnfn convert_float_rte(char);
763 float __ovld __cnfn convert_float_rtz(char);
764 float __ovld __cnfn convert_float_rtp(char);
765 float __ovld __cnfn convert_float_rtn(char);
766 float __ovld __cnfn convert_float(char);
767 float __ovld __cnfn convert_float_rte(uchar);
768 float __ovld __cnfn convert_float_rtz(uchar);
769 float __ovld __cnfn convert_float_rtp(uchar);
770 float __ovld __cnfn convert_float_rtn(uchar);
771 float __ovld __cnfn convert_float(uchar);
772 float __ovld __cnfn convert_float_rte(short);
773 float __ovld __cnfn convert_float_rtz(short);
774 float __ovld __cnfn convert_float_rtp(short);
775 float __ovld __cnfn convert_float_rtn(short);
776 float __ovld __cnfn convert_float(short);
777 float __ovld __cnfn convert_float_rte(ushort);
778 float __ovld __cnfn convert_float_rtz(ushort);
779 float __ovld __cnfn convert_float_rtp(ushort);
780 float __ovld __cnfn convert_float_rtn(ushort);
781 float __ovld __cnfn convert_float(ushort);
782 float __ovld __cnfn convert_float_rte(int);
783 float __ovld __cnfn convert_float_rtz(int);
784 float __ovld __cnfn convert_float_rtp(int);
785 float __ovld __cnfn convert_float_rtn(int);
786 float __ovld __cnfn convert_float(int);
787 float __ovld __cnfn convert_float_rte(uint);
788 float __ovld __cnfn convert_float_rtz(uint);
789 float __ovld __cnfn convert_float_rtp(uint);
790 float __ovld __cnfn convert_float_rtn(uint);
791 float __ovld __cnfn convert_float(uint);
792 float __ovld __cnfn convert_float_rte(long);
793 float __ovld __cnfn convert_float_rtz(long);
794 float __ovld __cnfn convert_float_rtp(long);
795 float __ovld __cnfn convert_float_rtn(long);
796 float __ovld __cnfn convert_float(long);
797 float __ovld __cnfn convert_float_rte(ulong);
798 float __ovld __cnfn convert_float_rtz(ulong);
799 float __ovld __cnfn convert_float_rtp(ulong);
800 float __ovld __cnfn convert_float_rtn(ulong);
801 float __ovld __cnfn convert_float(ulong);
802 float __ovld __cnfn convert_float_rte(float);
803 float __ovld __cnfn convert_float_rtz(float);
804 float __ovld __cnfn convert_float_rtp(float);
805 float __ovld __cnfn convert_float_rtn(float);
806 float __ovld __cnfn convert_float(float);
807 char2 __ovld __cnfn convert_char2_rte(char2);
808 char2 __ovld __cnfn convert_char2_sat_rte(char2);
809 char2 __ovld __cnfn convert_char2_rtz(char2);
810 char2 __ovld __cnfn convert_char2_sat_rtz(char2);
811 char2 __ovld __cnfn convert_char2_rtp(char2);
812 char2 __ovld __cnfn convert_char2_sat_rtp(char2);
813 char2 __ovld __cnfn convert_char2_rtn(char2);
814 char2 __ovld __cnfn convert_char2_sat_rtn(char2);
815 char2 __ovld __cnfn convert_char2(char2);
816 char2 __ovld __cnfn convert_char2_sat(char2);
817 char2 __ovld __cnfn convert_char2_rte(uchar2);
818 char2 __ovld __cnfn convert_char2_sat_rte(uchar2);
819 char2 __ovld __cnfn convert_char2_rtz(uchar2);
820 char2 __ovld __cnfn convert_char2_sat_rtz(uchar2);
821 char2 __ovld __cnfn convert_char2_rtp(uchar2);
822 char2 __ovld __cnfn convert_char2_sat_rtp(uchar2);
823 char2 __ovld __cnfn convert_char2_rtn(uchar2);
824 char2 __ovld __cnfn convert_char2_sat_rtn(uchar2);
825 char2 __ovld __cnfn convert_char2(uchar2);
826 char2 __ovld __cnfn convert_char2_sat(uchar2);
827 char2 __ovld __cnfn convert_char2_rte(short2);
828 char2 __ovld __cnfn convert_char2_sat_rte(short2);
829 char2 __ovld __cnfn convert_char2_rtz(short2);
830 char2 __ovld __cnfn convert_char2_sat_rtz(short2);
831 char2 __ovld __cnfn convert_char2_rtp(short2);
832 char2 __ovld __cnfn convert_char2_sat_rtp(short2);
833 char2 __ovld __cnfn convert_char2_rtn(short2);
834 char2 __ovld __cnfn convert_char2_sat_rtn(short2);
835 char2 __ovld __cnfn convert_char2(short2);
836 char2 __ovld __cnfn convert_char2_sat(short2);
837 char2 __ovld __cnfn convert_char2_rte(ushort2);
838 char2 __ovld __cnfn convert_char2_sat_rte(ushort2);
839 char2 __ovld __cnfn convert_char2_rtz(ushort2);
840 char2 __ovld __cnfn convert_char2_sat_rtz(ushort2);
841 char2 __ovld __cnfn convert_char2_rtp(ushort2);
842 char2 __ovld __cnfn convert_char2_sat_rtp(ushort2);
843 char2 __ovld __cnfn convert_char2_rtn(ushort2);
844 char2 __ovld __cnfn convert_char2_sat_rtn(ushort2);
845 char2 __ovld __cnfn convert_char2(ushort2);
846 char2 __ovld __cnfn convert_char2_sat(ushort2);
847 char2 __ovld __cnfn convert_char2_rte(int2);
848 char2 __ovld __cnfn convert_char2_sat_rte(int2);
849 char2 __ovld __cnfn convert_char2_rtz(int2);
850 char2 __ovld __cnfn convert_char2_sat_rtz(int2);
851 char2 __ovld __cnfn convert_char2_rtp(int2);
852 char2 __ovld __cnfn convert_char2_sat_rtp(int2);
853 char2 __ovld __cnfn convert_char2_rtn(int2);
854 char2 __ovld __cnfn convert_char2_sat_rtn(int2);
855 char2 __ovld __cnfn convert_char2(int2);
856 char2 __ovld __cnfn convert_char2_sat(int2);
857 char2 __ovld __cnfn convert_char2_rte(uint2);
858 char2 __ovld __cnfn convert_char2_sat_rte(uint2);
859 char2 __ovld __cnfn convert_char2_rtz(uint2);
860 char2 __ovld __cnfn convert_char2_sat_rtz(uint2);
861 char2 __ovld __cnfn convert_char2_rtp(uint2);
862 char2 __ovld __cnfn convert_char2_sat_rtp(uint2);
863 char2 __ovld __cnfn convert_char2_rtn(uint2);
864 char2 __ovld __cnfn convert_char2_sat_rtn(uint2);
865 char2 __ovld __cnfn convert_char2(uint2);
866 char2 __ovld __cnfn convert_char2_sat(uint2);
867 char2 __ovld __cnfn convert_char2_rte(long2);
868 char2 __ovld __cnfn convert_char2_sat_rte(long2);
869 char2 __ovld __cnfn convert_char2_rtz(long2);
870 char2 __ovld __cnfn convert_char2_sat_rtz(long2);
871 char2 __ovld __cnfn convert_char2_rtp(long2);
872 char2 __ovld __cnfn convert_char2_sat_rtp(long2);
873 char2 __ovld __cnfn convert_char2_rtn(long2);
874 char2 __ovld __cnfn convert_char2_sat_rtn(long2);
875 char2 __ovld __cnfn convert_char2(long2);
876 char2 __ovld __cnfn convert_char2_sat(long2);
877 char2 __ovld __cnfn convert_char2_rte(ulong2);
878 char2 __ovld __cnfn convert_char2_sat_rte(ulong2);
879 char2 __ovld __cnfn convert_char2_rtz(ulong2);
880 char2 __ovld __cnfn convert_char2_sat_rtz(ulong2);
881 char2 __ovld __cnfn convert_char2_rtp(ulong2);
882 char2 __ovld __cnfn convert_char2_sat_rtp(ulong2);
883 char2 __ovld __cnfn convert_char2_rtn(ulong2);
884 char2 __ovld __cnfn convert_char2_sat_rtn(ulong2);
885 char2 __ovld __cnfn convert_char2(ulong2);
886 char2 __ovld __cnfn convert_char2_sat(ulong2);
887 char2 __ovld __cnfn convert_char2_rte(float2);
888 char2 __ovld __cnfn convert_char2_sat_rte(float2);
889 char2 __ovld __cnfn convert_char2_rtz(float2);
890 char2 __ovld __cnfn convert_char2_sat_rtz(float2);
891 char2 __ovld __cnfn convert_char2_rtp(float2);
892 char2 __ovld __cnfn convert_char2_sat_rtp(float2);
893 char2 __ovld __cnfn convert_char2_rtn(float2);
894 char2 __ovld __cnfn convert_char2_sat_rtn(float2);
895 char2 __ovld __cnfn convert_char2(float2);
896 char2 __ovld __cnfn convert_char2_sat(float2);
897 uchar2 __ovld __cnfn convert_uchar2_rte(char2);
898 uchar2 __ovld __cnfn convert_uchar2_sat_rte(char2);
899 uchar2 __ovld __cnfn convert_uchar2_rtz(char2);
900 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(char2);
901 uchar2 __ovld __cnfn convert_uchar2_rtp(char2);
902 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(char2);
903 uchar2 __ovld __cnfn convert_uchar2_rtn(char2);
904 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(char2);
905 uchar2 __ovld __cnfn convert_uchar2(char2);
906 uchar2 __ovld __cnfn convert_uchar2_sat(char2);
907 uchar2 __ovld __cnfn convert_uchar2_rte(uchar2);
908 uchar2 __ovld __cnfn convert_uchar2_sat_rte(uchar2);
909 uchar2 __ovld __cnfn convert_uchar2_rtz(uchar2);
910 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uchar2);
911 uchar2 __ovld __cnfn convert_uchar2_rtp(uchar2);
912 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uchar2);
913 uchar2 __ovld __cnfn convert_uchar2_rtn(uchar2);
914 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uchar2);
915 uchar2 __ovld __cnfn convert_uchar2(uchar2);
916 uchar2 __ovld __cnfn convert_uchar2_sat(uchar2);
917 uchar2 __ovld __cnfn convert_uchar2_rte(short2);
918 uchar2 __ovld __cnfn convert_uchar2_sat_rte(short2);
919 uchar2 __ovld __cnfn convert_uchar2_rtz(short2);
920 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(short2);
921 uchar2 __ovld __cnfn convert_uchar2_rtp(short2);
922 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(short2);
923 uchar2 __ovld __cnfn convert_uchar2_rtn(short2);
924 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(short2);
925 uchar2 __ovld __cnfn convert_uchar2(short2);
926 uchar2 __ovld __cnfn convert_uchar2_sat(short2);
927 uchar2 __ovld __cnfn convert_uchar2_rte(ushort2);
928 uchar2 __ovld __cnfn convert_uchar2_sat_rte(ushort2);
929 uchar2 __ovld __cnfn convert_uchar2_rtz(ushort2);
930 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ushort2);
931 uchar2 __ovld __cnfn convert_uchar2_rtp(ushort2);
932 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ushort2);
933 uchar2 __ovld __cnfn convert_uchar2_rtn(ushort2);
934 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ushort2);
935 uchar2 __ovld __cnfn convert_uchar2(ushort2);
936 uchar2 __ovld __cnfn convert_uchar2_sat(ushort2);
937 uchar2 __ovld __cnfn convert_uchar2_rte(int2);
938 uchar2 __ovld __cnfn convert_uchar2_sat_rte(int2);
939 uchar2 __ovld __cnfn convert_uchar2_rtz(int2);
940 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(int2);
941 uchar2 __ovld __cnfn convert_uchar2_rtp(int2);
942 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(int2);
943 uchar2 __ovld __cnfn convert_uchar2_rtn(int2);
944 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(int2);
945 uchar2 __ovld __cnfn convert_uchar2(int2);
946 uchar2 __ovld __cnfn convert_uchar2_sat(int2);
947 uchar2 __ovld __cnfn convert_uchar2_rte(uint2);
948 uchar2 __ovld __cnfn convert_uchar2_sat_rte(uint2);
949 uchar2 __ovld __cnfn convert_uchar2_rtz(uint2);
950 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uint2);
951 uchar2 __ovld __cnfn convert_uchar2_rtp(uint2);
952 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uint2);
953 uchar2 __ovld __cnfn convert_uchar2_rtn(uint2);
954 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uint2);
955 uchar2 __ovld __cnfn convert_uchar2(uint2);
956 uchar2 __ovld __cnfn convert_uchar2_sat(uint2);
957 uchar2 __ovld __cnfn convert_uchar2_rte(long2);
958 uchar2 __ovld __cnfn convert_uchar2_sat_rte(long2);
959 uchar2 __ovld __cnfn convert_uchar2_rtz(long2);
960 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(long2);
961 uchar2 __ovld __cnfn convert_uchar2_rtp(long2);
962 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(long2);
963 uchar2 __ovld __cnfn convert_uchar2_rtn(long2);
964 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(long2);
965 uchar2 __ovld __cnfn convert_uchar2(long2);
966 uchar2 __ovld __cnfn convert_uchar2_sat(long2);
967 uchar2 __ovld __cnfn convert_uchar2_rte(ulong2);
968 uchar2 __ovld __cnfn convert_uchar2_sat_rte(ulong2);
969 uchar2 __ovld __cnfn convert_uchar2_rtz(ulong2);
970 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ulong2);
971 uchar2 __ovld __cnfn convert_uchar2_rtp(ulong2);
972 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ulong2);
973 uchar2 __ovld __cnfn convert_uchar2_rtn(ulong2);
974 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ulong2);
975 uchar2 __ovld __cnfn convert_uchar2(ulong2);
976 uchar2 __ovld __cnfn convert_uchar2_sat(ulong2);
977 uchar2 __ovld __cnfn convert_uchar2_rte(float2);
978 uchar2 __ovld __cnfn convert_uchar2_sat_rte(float2);
979 uchar2 __ovld __cnfn convert_uchar2_rtz(float2);
980 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(float2);
981 uchar2 __ovld __cnfn convert_uchar2_rtp(float2);
982 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(float2);
983 uchar2 __ovld __cnfn convert_uchar2_rtn(float2);
984 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(float2);
985 uchar2 __ovld __cnfn convert_uchar2(float2);
986 uchar2 __ovld __cnfn convert_uchar2_sat(float2);
987 short2 __ovld __cnfn convert_short2_rte(char2);
988 short2 __ovld __cnfn convert_short2_sat_rte(char2);
989 short2 __ovld __cnfn convert_short2_rtz(char2);
990 short2 __ovld __cnfn convert_short2_sat_rtz(char2);
991 short2 __ovld __cnfn convert_short2_rtp(char2);
992 short2 __ovld __cnfn convert_short2_sat_rtp(char2);
993 short2 __ovld __cnfn convert_short2_rtn(char2);
994 short2 __ovld __cnfn convert_short2_sat_rtn(char2);
995 short2 __ovld __cnfn convert_short2(char2);
996 short2 __ovld __cnfn convert_short2_sat(char2);
997 short2 __ovld __cnfn convert_short2_rte(uchar2);
998 short2 __ovld __cnfn convert_short2_sat_rte(uchar2);
999 short2 __ovld __cnfn convert_short2_rtz(uchar2);
1000 short2 __ovld __cnfn convert_short2_sat_rtz(uchar2);
1001 short2 __ovld __cnfn convert_short2_rtp(uchar2);
1002 short2 __ovld __cnfn convert_short2_sat_rtp(uchar2);
1003 short2 __ovld __cnfn convert_short2_rtn(uchar2);
1004 short2 __ovld __cnfn convert_short2_sat_rtn(uchar2);
1005 short2 __ovld __cnfn convert_short2(uchar2);
1006 short2 __ovld __cnfn convert_short2_sat(uchar2);
1007 short2 __ovld __cnfn convert_short2_rte(short2);
1008 short2 __ovld __cnfn convert_short2_sat_rte(short2);
1009 short2 __ovld __cnfn convert_short2_rtz(short2);
1010 short2 __ovld __cnfn convert_short2_sat_rtz(short2);
1011 short2 __ovld __cnfn convert_short2_rtp(short2);
1012 short2 __ovld __cnfn convert_short2_sat_rtp(short2);
1013 short2 __ovld __cnfn convert_short2_rtn(short2);
1014 short2 __ovld __cnfn convert_short2_sat_rtn(short2);
1015 short2 __ovld __cnfn convert_short2(short2);
1016 short2 __ovld __cnfn convert_short2_sat(short2);
1017 short2 __ovld __cnfn convert_short2_rte(ushort2);
1018 short2 __ovld __cnfn convert_short2_sat_rte(ushort2);
1019 short2 __ovld __cnfn convert_short2_rtz(ushort2);
1020 short2 __ovld __cnfn convert_short2_sat_rtz(ushort2);
1021 short2 __ovld __cnfn convert_short2_rtp(ushort2);
1022 short2 __ovld __cnfn convert_short2_sat_rtp(ushort2);
1023 short2 __ovld __cnfn convert_short2_rtn(ushort2);
1024 short2 __ovld __cnfn convert_short2_sat_rtn(ushort2);
1025 short2 __ovld __cnfn convert_short2(ushort2);
1026 short2 __ovld __cnfn convert_short2_sat(ushort2);
1027 short2 __ovld __cnfn convert_short2_rte(int2);
1028 short2 __ovld __cnfn convert_short2_sat_rte(int2);
1029 short2 __ovld __cnfn convert_short2_rtz(int2);
1030 short2 __ovld __cnfn convert_short2_sat_rtz(int2);
1031 short2 __ovld __cnfn convert_short2_rtp(int2);
1032 short2 __ovld __cnfn convert_short2_sat_rtp(int2);
1033 short2 __ovld __cnfn convert_short2_rtn(int2);
1034 short2 __ovld __cnfn convert_short2_sat_rtn(int2);
1035 short2 __ovld __cnfn convert_short2(int2);
1036 short2 __ovld __cnfn convert_short2_sat(int2);
1037 short2 __ovld __cnfn convert_short2_rte(uint2);
1038 short2 __ovld __cnfn convert_short2_sat_rte(uint2);
1039 short2 __ovld __cnfn convert_short2_rtz(uint2);
1040 short2 __ovld __cnfn convert_short2_sat_rtz(uint2);
1041 short2 __ovld __cnfn convert_short2_rtp(uint2);
1042 short2 __ovld __cnfn convert_short2_sat_rtp(uint2);
1043 short2 __ovld __cnfn convert_short2_rtn(uint2);
1044 short2 __ovld __cnfn convert_short2_sat_rtn(uint2);
1045 short2 __ovld __cnfn convert_short2(uint2);
1046 short2 __ovld __cnfn convert_short2_sat(uint2);
1047 short2 __ovld __cnfn convert_short2_rte(long2);
1048 short2 __ovld __cnfn convert_short2_sat_rte(long2);
1049 short2 __ovld __cnfn convert_short2_rtz(long2);
1050 short2 __ovld __cnfn convert_short2_sat_rtz(long2);
1051 short2 __ovld __cnfn convert_short2_rtp(long2);
1052 short2 __ovld __cnfn convert_short2_sat_rtp(long2);
1053 short2 __ovld __cnfn convert_short2_rtn(long2);
1054 short2 __ovld __cnfn convert_short2_sat_rtn(long2);
1055 short2 __ovld __cnfn convert_short2(long2);
1056 short2 __ovld __cnfn convert_short2_sat(long2);
1057 short2 __ovld __cnfn convert_short2_rte(ulong2);
1058 short2 __ovld __cnfn convert_short2_sat_rte(ulong2);
1059 short2 __ovld __cnfn convert_short2_rtz(ulong2);
1060 short2 __ovld __cnfn convert_short2_sat_rtz(ulong2);
1061 short2 __ovld __cnfn convert_short2_rtp(ulong2);
1062 short2 __ovld __cnfn convert_short2_sat_rtp(ulong2);
1063 short2 __ovld __cnfn convert_short2_rtn(ulong2);
1064 short2 __ovld __cnfn convert_short2_sat_rtn(ulong2);
1065 short2 __ovld __cnfn convert_short2(ulong2);
1066 short2 __ovld __cnfn convert_short2_sat(ulong2);
1067 short2 __ovld __cnfn convert_short2_rte(float2);
1068 short2 __ovld __cnfn convert_short2_sat_rte(float2);
1069 short2 __ovld __cnfn convert_short2_rtz(float2);
1070 short2 __ovld __cnfn convert_short2_sat_rtz(float2);
1071 short2 __ovld __cnfn convert_short2_rtp(float2);
1072 short2 __ovld __cnfn convert_short2_sat_rtp(float2);
1073 short2 __ovld __cnfn convert_short2_rtn(float2);
1074 short2 __ovld __cnfn convert_short2_sat_rtn(float2);
1075 short2 __ovld __cnfn convert_short2(float2);
1076 short2 __ovld __cnfn convert_short2_sat(float2);
1077 ushort2 __ovld __cnfn convert_ushort2_rte(char2);
1078 ushort2 __ovld __cnfn convert_ushort2_sat_rte(char2);
1079 ushort2 __ovld __cnfn convert_ushort2_rtz(char2);
1080 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(char2);
1081 ushort2 __ovld __cnfn convert_ushort2_rtp(char2);
1082 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(char2);
1083 ushort2 __ovld __cnfn convert_ushort2_rtn(char2);
1084 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(char2);
1085 ushort2 __ovld __cnfn convert_ushort2(char2);
1086 ushort2 __ovld __cnfn convert_ushort2_sat(char2);
1087 ushort2 __ovld __cnfn convert_ushort2_rte(uchar2);
1088 ushort2 __ovld __cnfn convert_ushort2_sat_rte(uchar2);
1089 ushort2 __ovld __cnfn convert_ushort2_rtz(uchar2);
1090 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uchar2);
1091 ushort2 __ovld __cnfn convert_ushort2_rtp(uchar2);
1092 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uchar2);
1093 ushort2 __ovld __cnfn convert_ushort2_rtn(uchar2);
1094 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uchar2);
1095 ushort2 __ovld __cnfn convert_ushort2(uchar2);
1096 ushort2 __ovld __cnfn convert_ushort2_sat(uchar2);
1097 ushort2 __ovld __cnfn convert_ushort2_rte(short2);
1098 ushort2 __ovld __cnfn convert_ushort2_sat_rte(short2);
1099 ushort2 __ovld __cnfn convert_ushort2_rtz(short2);
1100 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(short2);
1101 ushort2 __ovld __cnfn convert_ushort2_rtp(short2);
1102 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(short2);
1103 ushort2 __ovld __cnfn convert_ushort2_rtn(short2);
1104 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(short2);
1105 ushort2 __ovld __cnfn convert_ushort2(short2);
1106 ushort2 __ovld __cnfn convert_ushort2_sat(short2);
1107 ushort2 __ovld __cnfn convert_ushort2_rte(ushort2);
1108 ushort2 __ovld __cnfn convert_ushort2_sat_rte(ushort2);
1109 ushort2 __ovld __cnfn convert_ushort2_rtz(ushort2);
1110 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ushort2);
1111 ushort2 __ovld __cnfn convert_ushort2_rtp(ushort2);
1112 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ushort2);
1113 ushort2 __ovld __cnfn convert_ushort2_rtn(ushort2);
1114 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ushort2);
1115 ushort2 __ovld __cnfn convert_ushort2(ushort2);
1116 ushort2 __ovld __cnfn convert_ushort2_sat(ushort2);
1117 ushort2 __ovld __cnfn convert_ushort2_rte(int2);
1118 ushort2 __ovld __cnfn convert_ushort2_sat_rte(int2);
1119 ushort2 __ovld __cnfn convert_ushort2_rtz(int2);
1120 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(int2);
1121 ushort2 __ovld __cnfn convert_ushort2_rtp(int2);
1122 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(int2);
1123 ushort2 __ovld __cnfn convert_ushort2_rtn(int2);
1124 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(int2);
1125 ushort2 __ovld __cnfn convert_ushort2(int2);
1126 ushort2 __ovld __cnfn convert_ushort2_sat(int2);
1127 ushort2 __ovld __cnfn convert_ushort2_rte(uint2);
1128 ushort2 __ovld __cnfn convert_ushort2_sat_rte(uint2);
1129 ushort2 __ovld __cnfn convert_ushort2_rtz(uint2);
1130 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uint2);
1131 ushort2 __ovld __cnfn convert_ushort2_rtp(uint2);
1132 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uint2);
1133 ushort2 __ovld __cnfn convert_ushort2_rtn(uint2);
1134 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uint2);
1135 ushort2 __ovld __cnfn convert_ushort2(uint2);
1136 ushort2 __ovld __cnfn convert_ushort2_sat(uint2);
1137 ushort2 __ovld __cnfn convert_ushort2_rte(long2);
1138 ushort2 __ovld __cnfn convert_ushort2_sat_rte(long2);
1139 ushort2 __ovld __cnfn convert_ushort2_rtz(long2);
1140 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(long2);
1141 ushort2 __ovld __cnfn convert_ushort2_rtp(long2);
1142 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(long2);
1143 ushort2 __ovld __cnfn convert_ushort2_rtn(long2);
1144 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(long2);
1145 ushort2 __ovld __cnfn convert_ushort2(long2);
1146 ushort2 __ovld __cnfn convert_ushort2_sat(long2);
1147 ushort2 __ovld __cnfn convert_ushort2_rte(ulong2);
1148 ushort2 __ovld __cnfn convert_ushort2_sat_rte(ulong2);
1149 ushort2 __ovld __cnfn convert_ushort2_rtz(ulong2);
1150 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ulong2);
1151 ushort2 __ovld __cnfn convert_ushort2_rtp(ulong2);
1152 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ulong2);
1153 ushort2 __ovld __cnfn convert_ushort2_rtn(ulong2);
1154 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ulong2);
1155 ushort2 __ovld __cnfn convert_ushort2(ulong2);
1156 ushort2 __ovld __cnfn convert_ushort2_sat(ulong2);
1157 ushort2 __ovld __cnfn convert_ushort2_rte(float2);
1158 ushort2 __ovld __cnfn convert_ushort2_sat_rte(float2);
1159 ushort2 __ovld __cnfn convert_ushort2_rtz(float2);
1160 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(float2);
1161 ushort2 __ovld __cnfn convert_ushort2_rtp(float2);
1162 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(float2);
1163 ushort2 __ovld __cnfn convert_ushort2_rtn(float2);
1164 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(float2);
1165 ushort2 __ovld __cnfn convert_ushort2(float2);
1166 ushort2 __ovld __cnfn convert_ushort2_sat(float2);
1167 int2 __ovld __cnfn convert_int2_rte(char2);
1168 int2 __ovld __cnfn convert_int2_sat_rte(char2);
1169 int2 __ovld __cnfn convert_int2_rtz(char2);
1170 int2 __ovld __cnfn convert_int2_sat_rtz(char2);
1171 int2 __ovld __cnfn convert_int2_rtp(char2);
1172 int2 __ovld __cnfn convert_int2_sat_rtp(char2);
1173 int2 __ovld __cnfn convert_int2_rtn(char2);
1174 int2 __ovld __cnfn convert_int2_sat_rtn(char2);
1175 int2 __ovld __cnfn convert_int2(char2);
1176 int2 __ovld __cnfn convert_int2_sat(char2);
1177 int2 __ovld __cnfn convert_int2_rte(uchar2);
1178 int2 __ovld __cnfn convert_int2_sat_rte(uchar2);
1179 int2 __ovld __cnfn convert_int2_rtz(uchar2);
1180 int2 __ovld __cnfn convert_int2_sat_rtz(uchar2);
1181 int2 __ovld __cnfn convert_int2_rtp(uchar2);
1182 int2 __ovld __cnfn convert_int2_sat_rtp(uchar2);
1183 int2 __ovld __cnfn convert_int2_rtn(uchar2);
1184 int2 __ovld __cnfn convert_int2_sat_rtn(uchar2);
1185 int2 __ovld __cnfn convert_int2(uchar2);
1186 int2 __ovld __cnfn convert_int2_sat(uchar2);
1187 int2 __ovld __cnfn convert_int2_rte(short2);
1188 int2 __ovld __cnfn convert_int2_sat_rte(short2);
1189 int2 __ovld __cnfn convert_int2_rtz(short2);
1190 int2 __ovld __cnfn convert_int2_sat_rtz(short2);
1191 int2 __ovld __cnfn convert_int2_rtp(short2);
1192 int2 __ovld __cnfn convert_int2_sat_rtp(short2);
1193 int2 __ovld __cnfn convert_int2_rtn(short2);
1194 int2 __ovld __cnfn convert_int2_sat_rtn(short2);
1195 int2 __ovld __cnfn convert_int2(short2);
1196 int2 __ovld __cnfn convert_int2_sat(short2);
1197 int2 __ovld __cnfn convert_int2_rte(ushort2);
1198 int2 __ovld __cnfn convert_int2_sat_rte(ushort2);
1199 int2 __ovld __cnfn convert_int2_rtz(ushort2);
1200 int2 __ovld __cnfn convert_int2_sat_rtz(ushort2);
1201 int2 __ovld __cnfn convert_int2_rtp(ushort2);
1202 int2 __ovld __cnfn convert_int2_sat_rtp(ushort2);
1203 int2 __ovld __cnfn convert_int2_rtn(ushort2);
1204 int2 __ovld __cnfn convert_int2_sat_rtn(ushort2);
1205 int2 __ovld __cnfn convert_int2(ushort2);
1206 int2 __ovld __cnfn convert_int2_sat(ushort2);
1207 int2 __ovld __cnfn convert_int2_rte(int2);
1208 int2 __ovld __cnfn convert_int2_sat_rte(int2);
1209 int2 __ovld __cnfn convert_int2_rtz(int2);
1210 int2 __ovld __cnfn convert_int2_sat_rtz(int2);
1211 int2 __ovld __cnfn convert_int2_rtp(int2);
1212 int2 __ovld __cnfn convert_int2_sat_rtp(int2);
1213 int2 __ovld __cnfn convert_int2_rtn(int2);
1214 int2 __ovld __cnfn convert_int2_sat_rtn(int2);
1215 int2 __ovld __cnfn convert_int2(int2);
1216 int2 __ovld __cnfn convert_int2_sat(int2);
1217 int2 __ovld __cnfn convert_int2_rte(uint2);
1218 int2 __ovld __cnfn convert_int2_sat_rte(uint2);
1219 int2 __ovld __cnfn convert_int2_rtz(uint2);
1220 int2 __ovld __cnfn convert_int2_sat_rtz(uint2);
1221 int2 __ovld __cnfn convert_int2_rtp(uint2);
1222 int2 __ovld __cnfn convert_int2_sat_rtp(uint2);
1223 int2 __ovld __cnfn convert_int2_rtn(uint2);
1224 int2 __ovld __cnfn convert_int2_sat_rtn(uint2);
1225 int2 __ovld __cnfn convert_int2(uint2);
1226 int2 __ovld __cnfn convert_int2_sat(uint2);
1227 int2 __ovld __cnfn convert_int2_rte(long2);
1228 int2 __ovld __cnfn convert_int2_sat_rte(long2);
1229 int2 __ovld __cnfn convert_int2_rtz(long2);
1230 int2 __ovld __cnfn convert_int2_sat_rtz(long2);
1231 int2 __ovld __cnfn convert_int2_rtp(long2);
1232 int2 __ovld __cnfn convert_int2_sat_rtp(long2);
1233 int2 __ovld __cnfn convert_int2_rtn(long2);
1234 int2 __ovld __cnfn convert_int2_sat_rtn(long2);
1235 int2 __ovld __cnfn convert_int2(long2);
1236 int2 __ovld __cnfn convert_int2_sat(long2);
1237 int2 __ovld __cnfn convert_int2_rte(ulong2);
1238 int2 __ovld __cnfn convert_int2_sat_rte(ulong2);
1239 int2 __ovld __cnfn convert_int2_rtz(ulong2);
1240 int2 __ovld __cnfn convert_int2_sat_rtz(ulong2);
1241 int2 __ovld __cnfn convert_int2_rtp(ulong2);
1242 int2 __ovld __cnfn convert_int2_sat_rtp(ulong2);
1243 int2 __ovld __cnfn convert_int2_rtn(ulong2);
1244 int2 __ovld __cnfn convert_int2_sat_rtn(ulong2);
1245 int2 __ovld __cnfn convert_int2(ulong2);
1246 int2 __ovld __cnfn convert_int2_sat(ulong2);
1247 int2 __ovld __cnfn convert_int2_rte(float2);
1248 int2 __ovld __cnfn convert_int2_sat_rte(float2);
1249 int2 __ovld __cnfn convert_int2_rtz(float2);
1250 int2 __ovld __cnfn convert_int2_sat_rtz(float2);
1251 int2 __ovld __cnfn convert_int2_rtp(float2);
1252 int2 __ovld __cnfn convert_int2_sat_rtp(float2);
1253 int2 __ovld __cnfn convert_int2_rtn(float2);
1254 int2 __ovld __cnfn convert_int2_sat_rtn(float2);
1255 int2 __ovld __cnfn convert_int2(float2);
1256 int2 __ovld __cnfn convert_int2_sat(float2);
1257 uint2 __ovld __cnfn convert_uint2_rte(char2);
1258 uint2 __ovld __cnfn convert_uint2_sat_rte(char2);
1259 uint2 __ovld __cnfn convert_uint2_rtz(char2);
1260 uint2 __ovld __cnfn convert_uint2_sat_rtz(char2);
1261 uint2 __ovld __cnfn convert_uint2_rtp(char2);
1262 uint2 __ovld __cnfn convert_uint2_sat_rtp(char2);
1263 uint2 __ovld __cnfn convert_uint2_rtn(char2);
1264 uint2 __ovld __cnfn convert_uint2_sat_rtn(char2);
1265 uint2 __ovld __cnfn convert_uint2(char2);
1266 uint2 __ovld __cnfn convert_uint2_sat(char2);
1267 uint2 __ovld __cnfn convert_uint2_rte(uchar2);
1268 uint2 __ovld __cnfn convert_uint2_sat_rte(uchar2);
1269 uint2 __ovld __cnfn convert_uint2_rtz(uchar2);
1270 uint2 __ovld __cnfn convert_uint2_sat_rtz(uchar2);
1271 uint2 __ovld __cnfn convert_uint2_rtp(uchar2);
1272 uint2 __ovld __cnfn convert_uint2_sat_rtp(uchar2);
1273 uint2 __ovld __cnfn convert_uint2_rtn(uchar2);
1274 uint2 __ovld __cnfn convert_uint2_sat_rtn(uchar2);
1275 uint2 __ovld __cnfn convert_uint2(uchar2);
1276 uint2 __ovld __cnfn convert_uint2_sat(uchar2);
1277 uint2 __ovld __cnfn convert_uint2_rte(short2);
1278 uint2 __ovld __cnfn convert_uint2_sat_rte(short2);
1279 uint2 __ovld __cnfn convert_uint2_rtz(short2);
1280 uint2 __ovld __cnfn convert_uint2_sat_rtz(short2);
1281 uint2 __ovld __cnfn convert_uint2_rtp(short2);
1282 uint2 __ovld __cnfn convert_uint2_sat_rtp(short2);
1283 uint2 __ovld __cnfn convert_uint2_rtn(short2);
1284 uint2 __ovld __cnfn convert_uint2_sat_rtn(short2);
1285 uint2 __ovld __cnfn convert_uint2(short2);
1286 uint2 __ovld __cnfn convert_uint2_sat(short2);
1287 uint2 __ovld __cnfn convert_uint2_rte(ushort2);
1288 uint2 __ovld __cnfn convert_uint2_sat_rte(ushort2);
1289 uint2 __ovld __cnfn convert_uint2_rtz(ushort2);
1290 uint2 __ovld __cnfn convert_uint2_sat_rtz(ushort2);
1291 uint2 __ovld __cnfn convert_uint2_rtp(ushort2);
1292 uint2 __ovld __cnfn convert_uint2_sat_rtp(ushort2);
1293 uint2 __ovld __cnfn convert_uint2_rtn(ushort2);
1294 uint2 __ovld __cnfn convert_uint2_sat_rtn(ushort2);
1295 uint2 __ovld __cnfn convert_uint2(ushort2);
1296 uint2 __ovld __cnfn convert_uint2_sat(ushort2);
1297 uint2 __ovld __cnfn convert_uint2_rte(int2);
1298 uint2 __ovld __cnfn convert_uint2_sat_rte(int2);
1299 uint2 __ovld __cnfn convert_uint2_rtz(int2);
1300 uint2 __ovld __cnfn convert_uint2_sat_rtz(int2);
1301 uint2 __ovld __cnfn convert_uint2_rtp(int2);
1302 uint2 __ovld __cnfn convert_uint2_sat_rtp(int2);
1303 uint2 __ovld __cnfn convert_uint2_rtn(int2);
1304 uint2 __ovld __cnfn convert_uint2_sat_rtn(int2);
1305 uint2 __ovld __cnfn convert_uint2(int2);
1306 uint2 __ovld __cnfn convert_uint2_sat(int2);
1307 uint2 __ovld __cnfn convert_uint2_rte(uint2);
1308 uint2 __ovld __cnfn convert_uint2_sat_rte(uint2);
1309 uint2 __ovld __cnfn convert_uint2_rtz(uint2);
1310 uint2 __ovld __cnfn convert_uint2_sat_rtz(uint2);
1311 uint2 __ovld __cnfn convert_uint2_rtp(uint2);
1312 uint2 __ovld __cnfn convert_uint2_sat_rtp(uint2);
1313 uint2 __ovld __cnfn convert_uint2_rtn(uint2);
1314 uint2 __ovld __cnfn convert_uint2_sat_rtn(uint2);
1315 uint2 __ovld __cnfn convert_uint2(uint2);
1316 uint2 __ovld __cnfn convert_uint2_sat(uint2);
1317 uint2 __ovld __cnfn convert_uint2_rte(long2);
1318 uint2 __ovld __cnfn convert_uint2_sat_rte(long2);
1319 uint2 __ovld __cnfn convert_uint2_rtz(long2);
1320 uint2 __ovld __cnfn convert_uint2_sat_rtz(long2);
1321 uint2 __ovld __cnfn convert_uint2_rtp(long2);
1322 uint2 __ovld __cnfn convert_uint2_sat_rtp(long2);
1323 uint2 __ovld __cnfn convert_uint2_rtn(long2);
1324 uint2 __ovld __cnfn convert_uint2_sat_rtn(long2);
1325 uint2 __ovld __cnfn convert_uint2(long2);
1326 uint2 __ovld __cnfn convert_uint2_sat(long2);
1327 uint2 __ovld __cnfn convert_uint2_rte(ulong2);
1328 uint2 __ovld __cnfn convert_uint2_sat_rte(ulong2);
1329 uint2 __ovld __cnfn convert_uint2_rtz(ulong2);
1330 uint2 __ovld __cnfn convert_uint2_sat_rtz(ulong2);
1331 uint2 __ovld __cnfn convert_uint2_rtp(ulong2);
1332 uint2 __ovld __cnfn convert_uint2_sat_rtp(ulong2);
1333 uint2 __ovld __cnfn convert_uint2_rtn(ulong2);
1334 uint2 __ovld __cnfn convert_uint2_sat_rtn(ulong2);
1335 uint2 __ovld __cnfn convert_uint2(ulong2);
1336 uint2 __ovld __cnfn convert_uint2_sat(ulong2);
1337 uint2 __ovld __cnfn convert_uint2_rte(float2);
1338 uint2 __ovld __cnfn convert_uint2_sat_rte(float2);
1339 uint2 __ovld __cnfn convert_uint2_rtz(float2);
1340 uint2 __ovld __cnfn convert_uint2_sat_rtz(float2);
1341 uint2 __ovld __cnfn convert_uint2_rtp(float2);
1342 uint2 __ovld __cnfn convert_uint2_sat_rtp(float2);
1343 uint2 __ovld __cnfn convert_uint2_rtn(float2);
1344 uint2 __ovld __cnfn convert_uint2_sat_rtn(float2);
1345 uint2 __ovld __cnfn convert_uint2(float2);
1346 uint2 __ovld __cnfn convert_uint2_sat(float2);
1347 long2 __ovld __cnfn convert_long2_rte(char2);
1348 long2 __ovld __cnfn convert_long2_sat_rte(char2);
1349 long2 __ovld __cnfn convert_long2_rtz(char2);
1350 long2 __ovld __cnfn convert_long2_sat_rtz(char2);
1351 long2 __ovld __cnfn convert_long2_rtp(char2);
1352 long2 __ovld __cnfn convert_long2_sat_rtp(char2);
1353 long2 __ovld __cnfn convert_long2_rtn(char2);
1354 long2 __ovld __cnfn convert_long2_sat_rtn(char2);
1355 long2 __ovld __cnfn convert_long2(char2);
1356 long2 __ovld __cnfn convert_long2_sat(char2);
1357 long2 __ovld __cnfn convert_long2_rte(uchar2);
1358 long2 __ovld __cnfn convert_long2_sat_rte(uchar2);
1359 long2 __ovld __cnfn convert_long2_rtz(uchar2);
1360 long2 __ovld __cnfn convert_long2_sat_rtz(uchar2);
1361 long2 __ovld __cnfn convert_long2_rtp(uchar2);
1362 long2 __ovld __cnfn convert_long2_sat_rtp(uchar2);
1363 long2 __ovld __cnfn convert_long2_rtn(uchar2);
1364 long2 __ovld __cnfn convert_long2_sat_rtn(uchar2);
1365 long2 __ovld __cnfn convert_long2(uchar2);
1366 long2 __ovld __cnfn convert_long2_sat(uchar2);
1367 long2 __ovld __cnfn convert_long2_rte(short2);
1368 long2 __ovld __cnfn convert_long2_sat_rte(short2);
1369 long2 __ovld __cnfn convert_long2_rtz(short2);
1370 long2 __ovld __cnfn convert_long2_sat_rtz(short2);
1371 long2 __ovld __cnfn convert_long2_rtp(short2);
1372 long2 __ovld __cnfn convert_long2_sat_rtp(short2);
1373 long2 __ovld __cnfn convert_long2_rtn(short2);
1374 long2 __ovld __cnfn convert_long2_sat_rtn(short2);
1375 long2 __ovld __cnfn convert_long2(short2);
1376 long2 __ovld __cnfn convert_long2_sat(short2);
1377 long2 __ovld __cnfn convert_long2_rte(ushort2);
1378 long2 __ovld __cnfn convert_long2_sat_rte(ushort2);
1379 long2 __ovld __cnfn convert_long2_rtz(ushort2);
1380 long2 __ovld __cnfn convert_long2_sat_rtz(ushort2);
1381 long2 __ovld __cnfn convert_long2_rtp(ushort2);
1382 long2 __ovld __cnfn convert_long2_sat_rtp(ushort2);
1383 long2 __ovld __cnfn convert_long2_rtn(ushort2);
1384 long2 __ovld __cnfn convert_long2_sat_rtn(ushort2);
1385 long2 __ovld __cnfn convert_long2(ushort2);
1386 long2 __ovld __cnfn convert_long2_sat(ushort2);
1387 long2 __ovld __cnfn convert_long2_rte(int2);
1388 long2 __ovld __cnfn convert_long2_sat_rte(int2);
1389 long2 __ovld __cnfn convert_long2_rtz(int2);
1390 long2 __ovld __cnfn convert_long2_sat_rtz(int2);
1391 long2 __ovld __cnfn convert_long2_rtp(int2);
1392 long2 __ovld __cnfn convert_long2_sat_rtp(int2);
1393 long2 __ovld __cnfn convert_long2_rtn(int2);
1394 long2 __ovld __cnfn convert_long2_sat_rtn(int2);
1395 long2 __ovld __cnfn convert_long2(int2);
1396 long2 __ovld __cnfn convert_long2_sat(int2);
1397 long2 __ovld __cnfn convert_long2_rte(uint2);
1398 long2 __ovld __cnfn convert_long2_sat_rte(uint2);
1399 long2 __ovld __cnfn convert_long2_rtz(uint2);
1400 long2 __ovld __cnfn convert_long2_sat_rtz(uint2);
1401 long2 __ovld __cnfn convert_long2_rtp(uint2);
1402 long2 __ovld __cnfn convert_long2_sat_rtp(uint2);
1403 long2 __ovld __cnfn convert_long2_rtn(uint2);
1404 long2 __ovld __cnfn convert_long2_sat_rtn(uint2);
1405 long2 __ovld __cnfn convert_long2(uint2);
1406 long2 __ovld __cnfn convert_long2_sat(uint2);
1407 long2 __ovld __cnfn convert_long2_rte(long2);
1408 long2 __ovld __cnfn convert_long2_sat_rte(long2);
1409 long2 __ovld __cnfn convert_long2_rtz(long2);
1410 long2 __ovld __cnfn convert_long2_sat_rtz(long2);
1411 long2 __ovld __cnfn convert_long2_rtp(long2);
1412 long2 __ovld __cnfn convert_long2_sat_rtp(long2);
1413 long2 __ovld __cnfn convert_long2_rtn(long2);
1414 long2 __ovld __cnfn convert_long2_sat_rtn(long2);
1415 long2 __ovld __cnfn convert_long2(long2);
1416 long2 __ovld __cnfn convert_long2_sat(long2);
1417 long2 __ovld __cnfn convert_long2_rte(ulong2);
1418 long2 __ovld __cnfn convert_long2_sat_rte(ulong2);
1419 long2 __ovld __cnfn convert_long2_rtz(ulong2);
1420 long2 __ovld __cnfn convert_long2_sat_rtz(ulong2);
1421 long2 __ovld __cnfn convert_long2_rtp(ulong2);
1422 long2 __ovld __cnfn convert_long2_sat_rtp(ulong2);
1423 long2 __ovld __cnfn convert_long2_rtn(ulong2);
1424 long2 __ovld __cnfn convert_long2_sat_rtn(ulong2);
1425 long2 __ovld __cnfn convert_long2(ulong2);
1426 long2 __ovld __cnfn convert_long2_sat(ulong2);
1427 long2 __ovld __cnfn convert_long2_rte(float2);
1428 long2 __ovld __cnfn convert_long2_sat_rte(float2);
1429 long2 __ovld __cnfn convert_long2_rtz(float2);
1430 long2 __ovld __cnfn convert_long2_sat_rtz(float2);
1431 long2 __ovld __cnfn convert_long2_rtp(float2);
1432 long2 __ovld __cnfn convert_long2_sat_rtp(float2);
1433 long2 __ovld __cnfn convert_long2_rtn(float2);
1434 long2 __ovld __cnfn convert_long2_sat_rtn(float2);
1435 long2 __ovld __cnfn convert_long2(float2);
1436 long2 __ovld __cnfn convert_long2_sat(float2);
1437 ulong2 __ovld __cnfn convert_ulong2_rte(char2);
1438 ulong2 __ovld __cnfn convert_ulong2_sat_rte(char2);
1439 ulong2 __ovld __cnfn convert_ulong2_rtz(char2);
1440 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(char2);
1441 ulong2 __ovld __cnfn convert_ulong2_rtp(char2);
1442 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(char2);
1443 ulong2 __ovld __cnfn convert_ulong2_rtn(char2);
1444 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(char2);
1445 ulong2 __ovld __cnfn convert_ulong2(char2);
1446 ulong2 __ovld __cnfn convert_ulong2_sat(char2);
1447 ulong2 __ovld __cnfn convert_ulong2_rte(uchar2);
1448 ulong2 __ovld __cnfn convert_ulong2_sat_rte(uchar2);
1449 ulong2 __ovld __cnfn convert_ulong2_rtz(uchar2);
1450 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uchar2);
1451 ulong2 __ovld __cnfn convert_ulong2_rtp(uchar2);
1452 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uchar2);
1453 ulong2 __ovld __cnfn convert_ulong2_rtn(uchar2);
1454 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uchar2);
1455 ulong2 __ovld __cnfn convert_ulong2(uchar2);
1456 ulong2 __ovld __cnfn convert_ulong2_sat(uchar2);
1457 ulong2 __ovld __cnfn convert_ulong2_rte(short2);
1458 ulong2 __ovld __cnfn convert_ulong2_sat_rte(short2);
1459 ulong2 __ovld __cnfn convert_ulong2_rtz(short2);
1460 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(short2);
1461 ulong2 __ovld __cnfn convert_ulong2_rtp(short2);
1462 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(short2);
1463 ulong2 __ovld __cnfn convert_ulong2_rtn(short2);
1464 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(short2);
1465 ulong2 __ovld __cnfn convert_ulong2(short2);
1466 ulong2 __ovld __cnfn convert_ulong2_sat(short2);
1467 ulong2 __ovld __cnfn convert_ulong2_rte(ushort2);
1468 ulong2 __ovld __cnfn convert_ulong2_sat_rte(ushort2);
1469 ulong2 __ovld __cnfn convert_ulong2_rtz(ushort2);
1470 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ushort2);
1471 ulong2 __ovld __cnfn convert_ulong2_rtp(ushort2);
1472 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ushort2);
1473 ulong2 __ovld __cnfn convert_ulong2_rtn(ushort2);
1474 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ushort2);
1475 ulong2 __ovld __cnfn convert_ulong2(ushort2);
1476 ulong2 __ovld __cnfn convert_ulong2_sat(ushort2);
1477 ulong2 __ovld __cnfn convert_ulong2_rte(int2);
1478 ulong2 __ovld __cnfn convert_ulong2_sat_rte(int2);
1479 ulong2 __ovld __cnfn convert_ulong2_rtz(int2);
1480 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(int2);
1481 ulong2 __ovld __cnfn convert_ulong2_rtp(int2);
1482 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(int2);
1483 ulong2 __ovld __cnfn convert_ulong2_rtn(int2);
1484 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(int2);
1485 ulong2 __ovld __cnfn convert_ulong2(int2);
1486 ulong2 __ovld __cnfn convert_ulong2_sat(int2);
1487 ulong2 __ovld __cnfn convert_ulong2_rte(uint2);
1488 ulong2 __ovld __cnfn convert_ulong2_sat_rte(uint2);
1489 ulong2 __ovld __cnfn convert_ulong2_rtz(uint2);
1490 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uint2);
1491 ulong2 __ovld __cnfn convert_ulong2_rtp(uint2);
1492 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uint2);
1493 ulong2 __ovld __cnfn convert_ulong2_rtn(uint2);
1494 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uint2);
1495 ulong2 __ovld __cnfn convert_ulong2(uint2);
1496 ulong2 __ovld __cnfn convert_ulong2_sat(uint2);
1497 ulong2 __ovld __cnfn convert_ulong2_rte(long2);
1498 ulong2 __ovld __cnfn convert_ulong2_sat_rte(long2);
1499 ulong2 __ovld __cnfn convert_ulong2_rtz(long2);
1500 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(long2);
1501 ulong2 __ovld __cnfn convert_ulong2_rtp(long2);
1502 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(long2);
1503 ulong2 __ovld __cnfn convert_ulong2_rtn(long2);
1504 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(long2);
1505 ulong2 __ovld __cnfn convert_ulong2(long2);
1506 ulong2 __ovld __cnfn convert_ulong2_sat(long2);
1507 ulong2 __ovld __cnfn convert_ulong2_rte(ulong2);
1508 ulong2 __ovld __cnfn convert_ulong2_sat_rte(ulong2);
1509 ulong2 __ovld __cnfn convert_ulong2_rtz(ulong2);
1510 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ulong2);
1511 ulong2 __ovld __cnfn convert_ulong2_rtp(ulong2);
1512 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ulong2);
1513 ulong2 __ovld __cnfn convert_ulong2_rtn(ulong2);
1514 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ulong2);
1515 ulong2 __ovld __cnfn convert_ulong2(ulong2);
1516 ulong2 __ovld __cnfn convert_ulong2_sat(ulong2);
1517 ulong2 __ovld __cnfn convert_ulong2_rte(float2);
1518 ulong2 __ovld __cnfn convert_ulong2_sat_rte(float2);
1519 ulong2 __ovld __cnfn convert_ulong2_rtz(float2);
1520 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(float2);
1521 ulong2 __ovld __cnfn convert_ulong2_rtp(float2);
1522 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(float2);
1523 ulong2 __ovld __cnfn convert_ulong2_rtn(float2);
1524 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(float2);
1525 ulong2 __ovld __cnfn convert_ulong2(float2);
1526 ulong2 __ovld __cnfn convert_ulong2_sat(float2);
1527 float2 __ovld __cnfn convert_float2_rte(char2);
1528 float2 __ovld __cnfn convert_float2_rtz(char2);
1529 float2 __ovld __cnfn convert_float2_rtp(char2);
1530 float2 __ovld __cnfn convert_float2_rtn(char2);
1531 float2 __ovld __cnfn convert_float2(char2);
1532 float2 __ovld __cnfn convert_float2_rte(uchar2);
1533 float2 __ovld __cnfn convert_float2_rtz(uchar2);
1534 float2 __ovld __cnfn convert_float2_rtp(uchar2);
1535 float2 __ovld __cnfn convert_float2_rtn(uchar2);
1536 float2 __ovld __cnfn convert_float2(uchar2);
1537 float2 __ovld __cnfn convert_float2_rte(short2);
1538 float2 __ovld __cnfn convert_float2_rtz(short2);
1539 float2 __ovld __cnfn convert_float2_rtp(short2);
1540 float2 __ovld __cnfn convert_float2_rtn(short2);
1541 float2 __ovld __cnfn convert_float2(short2);
1542 float2 __ovld __cnfn convert_float2_rte(ushort2);
1543 float2 __ovld __cnfn convert_float2_rtz(ushort2);
1544 float2 __ovld __cnfn convert_float2_rtp(ushort2);
1545 float2 __ovld __cnfn convert_float2_rtn(ushort2);
1546 float2 __ovld __cnfn convert_float2(ushort2);
1547 float2 __ovld __cnfn convert_float2_rte(int2);
1548 float2 __ovld __cnfn convert_float2_rtz(int2);
1549 float2 __ovld __cnfn convert_float2_rtp(int2);
1550 float2 __ovld __cnfn convert_float2_rtn(int2);
1551 float2 __ovld __cnfn convert_float2(int2);
1552 float2 __ovld __cnfn convert_float2_rte(uint2);
1553 float2 __ovld __cnfn convert_float2_rtz(uint2);
1554 float2 __ovld __cnfn convert_float2_rtp(uint2);
1555 float2 __ovld __cnfn convert_float2_rtn(uint2);
1556 float2 __ovld __cnfn convert_float2(uint2);
1557 float2 __ovld __cnfn convert_float2_rte(long2);
1558 float2 __ovld __cnfn convert_float2_rtz(long2);
1559 float2 __ovld __cnfn convert_float2_rtp(long2);
1560 float2 __ovld __cnfn convert_float2_rtn(long2);
1561 float2 __ovld __cnfn convert_float2(long2);
1562 float2 __ovld __cnfn convert_float2_rte(ulong2);
1563 float2 __ovld __cnfn convert_float2_rtz(ulong2);
1564 float2 __ovld __cnfn convert_float2_rtp(ulong2);
1565 float2 __ovld __cnfn convert_float2_rtn(ulong2);
1566 float2 __ovld __cnfn convert_float2(ulong2);
1567 float2 __ovld __cnfn convert_float2_rte(float2);
1568 float2 __ovld __cnfn convert_float2_rtz(float2);
1569 float2 __ovld __cnfn convert_float2_rtp(float2);
1570 float2 __ovld __cnfn convert_float2_rtn(float2);
1571 float2 __ovld __cnfn convert_float2(float2);
1572 char3 __ovld __cnfn convert_char3_rte(char3);
1573 char3 __ovld __cnfn convert_char3_sat_rte(char3);
1574 char3 __ovld __cnfn convert_char3_rtz(char3);
1575 char3 __ovld __cnfn convert_char3_sat_rtz(char3);
1576 char3 __ovld __cnfn convert_char3_rtp(char3);
1577 char3 __ovld __cnfn convert_char3_sat_rtp(char3);
1578 char3 __ovld __cnfn convert_char3_rtn(char3);
1579 char3 __ovld __cnfn convert_char3_sat_rtn(char3);
1580 char3 __ovld __cnfn convert_char3(char3);
1581 char3 __ovld __cnfn convert_char3_sat(char3);
1582 char3 __ovld __cnfn convert_char3_rte(uchar3);
1583 char3 __ovld __cnfn convert_char3_sat_rte(uchar3);
1584 char3 __ovld __cnfn convert_char3_rtz(uchar3);
1585 char3 __ovld __cnfn convert_char3_sat_rtz(uchar3);
1586 char3 __ovld __cnfn convert_char3_rtp(uchar3);
1587 char3 __ovld __cnfn convert_char3_sat_rtp(uchar3);
1588 char3 __ovld __cnfn convert_char3_rtn(uchar3);
1589 char3 __ovld __cnfn convert_char3_sat_rtn(uchar3);
1590 char3 __ovld __cnfn convert_char3(uchar3);
1591 char3 __ovld __cnfn convert_char3_sat(uchar3);
1592 char3 __ovld __cnfn convert_char3_rte(short3);
1593 char3 __ovld __cnfn convert_char3_sat_rte(short3);
1594 char3 __ovld __cnfn convert_char3_rtz(short3);
1595 char3 __ovld __cnfn convert_char3_sat_rtz(short3);
1596 char3 __ovld __cnfn convert_char3_rtp(short3);
1597 char3 __ovld __cnfn convert_char3_sat_rtp(short3);
1598 char3 __ovld __cnfn convert_char3_rtn(short3);
1599 char3 __ovld __cnfn convert_char3_sat_rtn(short3);
1600 char3 __ovld __cnfn convert_char3(short3);
1601 char3 __ovld __cnfn convert_char3_sat(short3);
1602 char3 __ovld __cnfn convert_char3_rte(ushort3);
1603 char3 __ovld __cnfn convert_char3_sat_rte(ushort3);
1604 char3 __ovld __cnfn convert_char3_rtz(ushort3);
1605 char3 __ovld __cnfn convert_char3_sat_rtz(ushort3);
1606 char3 __ovld __cnfn convert_char3_rtp(ushort3);
1607 char3 __ovld __cnfn convert_char3_sat_rtp(ushort3);
1608 char3 __ovld __cnfn convert_char3_rtn(ushort3);
1609 char3 __ovld __cnfn convert_char3_sat_rtn(ushort3);
1610 char3 __ovld __cnfn convert_char3(ushort3);
1611 char3 __ovld __cnfn convert_char3_sat(ushort3);
1612 char3 __ovld __cnfn convert_char3_rte(int3);
1613 char3 __ovld __cnfn convert_char3_sat_rte(int3);
1614 char3 __ovld __cnfn convert_char3_rtz(int3);
1615 char3 __ovld __cnfn convert_char3_sat_rtz(int3);
1616 char3 __ovld __cnfn convert_char3_rtp(int3);
1617 char3 __ovld __cnfn convert_char3_sat_rtp(int3);
1618 char3 __ovld __cnfn convert_char3_rtn(int3);
1619 char3 __ovld __cnfn convert_char3_sat_rtn(int3);
1620 char3 __ovld __cnfn convert_char3(int3);
1621 char3 __ovld __cnfn convert_char3_sat(int3);
1622 char3 __ovld __cnfn convert_char3_rte(uint3);
1623 char3 __ovld __cnfn convert_char3_sat_rte(uint3);
1624 char3 __ovld __cnfn convert_char3_rtz(uint3);
1625 char3 __ovld __cnfn convert_char3_sat_rtz(uint3);
1626 char3 __ovld __cnfn convert_char3_rtp(uint3);
1627 char3 __ovld __cnfn convert_char3_sat_rtp(uint3);
1628 char3 __ovld __cnfn convert_char3_rtn(uint3);
1629 char3 __ovld __cnfn convert_char3_sat_rtn(uint3);
1630 char3 __ovld __cnfn convert_char3(uint3);
1631 char3 __ovld __cnfn convert_char3_sat(uint3);
1632 char3 __ovld __cnfn convert_char3_rte(long3);
1633 char3 __ovld __cnfn convert_char3_sat_rte(long3);
1634 char3 __ovld __cnfn convert_char3_rtz(long3);
1635 char3 __ovld __cnfn convert_char3_sat_rtz(long3);
1636 char3 __ovld __cnfn convert_char3_rtp(long3);
1637 char3 __ovld __cnfn convert_char3_sat_rtp(long3);
1638 char3 __ovld __cnfn convert_char3_rtn(long3);
1639 char3 __ovld __cnfn convert_char3_sat_rtn(long3);
1640 char3 __ovld __cnfn convert_char3(long3);
1641 char3 __ovld __cnfn convert_char3_sat(long3);
1642 char3 __ovld __cnfn convert_char3_rte(ulong3);
1643 char3 __ovld __cnfn convert_char3_sat_rte(ulong3);
1644 char3 __ovld __cnfn convert_char3_rtz(ulong3);
1645 char3 __ovld __cnfn convert_char3_sat_rtz(ulong3);
1646 char3 __ovld __cnfn convert_char3_rtp(ulong3);
1647 char3 __ovld __cnfn convert_char3_sat_rtp(ulong3);
1648 char3 __ovld __cnfn convert_char3_rtn(ulong3);
1649 char3 __ovld __cnfn convert_char3_sat_rtn(ulong3);
1650 char3 __ovld __cnfn convert_char3(ulong3);
1651 char3 __ovld __cnfn convert_char3_sat(ulong3);
1652 char3 __ovld __cnfn convert_char3_rte(float3);
1653 char3 __ovld __cnfn convert_char3_sat_rte(float3);
1654 char3 __ovld __cnfn convert_char3_rtz(float3);
1655 char3 __ovld __cnfn convert_char3_sat_rtz(float3);
1656 char3 __ovld __cnfn convert_char3_rtp(float3);
1657 char3 __ovld __cnfn convert_char3_sat_rtp(float3);
1658 char3 __ovld __cnfn convert_char3_rtn(float3);
1659 char3 __ovld __cnfn convert_char3_sat_rtn(float3);
1660 char3 __ovld __cnfn convert_char3(float3);
1661 char3 __ovld __cnfn convert_char3_sat(float3);
1662 uchar3 __ovld __cnfn convert_uchar3_rte(char3);
1663 uchar3 __ovld __cnfn convert_uchar3_sat_rte(char3);
1664 uchar3 __ovld __cnfn convert_uchar3_rtz(char3);
1665 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(char3);
1666 uchar3 __ovld __cnfn convert_uchar3_rtp(char3);
1667 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(char3);
1668 uchar3 __ovld __cnfn convert_uchar3_rtn(char3);
1669 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(char3);
1670 uchar3 __ovld __cnfn convert_uchar3(char3);
1671 uchar3 __ovld __cnfn convert_uchar3_sat(char3);
1672 uchar3 __ovld __cnfn convert_uchar3_rte(uchar3);
1673 uchar3 __ovld __cnfn convert_uchar3_sat_rte(uchar3);
1674 uchar3 __ovld __cnfn convert_uchar3_rtz(uchar3);
1675 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uchar3);
1676 uchar3 __ovld __cnfn convert_uchar3_rtp(uchar3);
1677 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uchar3);
1678 uchar3 __ovld __cnfn convert_uchar3_rtn(uchar3);
1679 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uchar3);
1680 uchar3 __ovld __cnfn convert_uchar3(uchar3);
1681 uchar3 __ovld __cnfn convert_uchar3_sat(uchar3);
1682 uchar3 __ovld __cnfn convert_uchar3_rte(short3);
1683 uchar3 __ovld __cnfn convert_uchar3_sat_rte(short3);
1684 uchar3 __ovld __cnfn convert_uchar3_rtz(short3);
1685 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(short3);
1686 uchar3 __ovld __cnfn convert_uchar3_rtp(short3);
1687 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(short3);
1688 uchar3 __ovld __cnfn convert_uchar3_rtn(short3);
1689 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(short3);
1690 uchar3 __ovld __cnfn convert_uchar3(short3);
1691 uchar3 __ovld __cnfn convert_uchar3_sat(short3);
1692 uchar3 __ovld __cnfn convert_uchar3_rte(ushort3);
1693 uchar3 __ovld __cnfn convert_uchar3_sat_rte(ushort3);
1694 uchar3 __ovld __cnfn convert_uchar3_rtz(ushort3);
1695 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ushort3);
1696 uchar3 __ovld __cnfn convert_uchar3_rtp(ushort3);
1697 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ushort3);
1698 uchar3 __ovld __cnfn convert_uchar3_rtn(ushort3);
1699 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ushort3);
1700 uchar3 __ovld __cnfn convert_uchar3(ushort3);
1701 uchar3 __ovld __cnfn convert_uchar3_sat(ushort3);
1702 uchar3 __ovld __cnfn convert_uchar3_rte(int3);
1703 uchar3 __ovld __cnfn convert_uchar3_sat_rte(int3);
1704 uchar3 __ovld __cnfn convert_uchar3_rtz(int3);
1705 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(int3);
1706 uchar3 __ovld __cnfn convert_uchar3_rtp(int3);
1707 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(int3);
1708 uchar3 __ovld __cnfn convert_uchar3_rtn(int3);
1709 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(int3);
1710 uchar3 __ovld __cnfn convert_uchar3(int3);
1711 uchar3 __ovld __cnfn convert_uchar3_sat(int3);
1712 uchar3 __ovld __cnfn convert_uchar3_rte(uint3);
1713 uchar3 __ovld __cnfn convert_uchar3_sat_rte(uint3);
1714 uchar3 __ovld __cnfn convert_uchar3_rtz(uint3);
1715 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uint3);
1716 uchar3 __ovld __cnfn convert_uchar3_rtp(uint3);
1717 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uint3);
1718 uchar3 __ovld __cnfn convert_uchar3_rtn(uint3);
1719 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uint3);
1720 uchar3 __ovld __cnfn convert_uchar3(uint3);
1721 uchar3 __ovld __cnfn convert_uchar3_sat(uint3);
1722 uchar3 __ovld __cnfn convert_uchar3_rte(long3);
1723 uchar3 __ovld __cnfn convert_uchar3_sat_rte(long3);
1724 uchar3 __ovld __cnfn convert_uchar3_rtz(long3);
1725 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(long3);
1726 uchar3 __ovld __cnfn convert_uchar3_rtp(long3);
1727 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(long3);
1728 uchar3 __ovld __cnfn convert_uchar3_rtn(long3);
1729 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(long3);
1730 uchar3 __ovld __cnfn convert_uchar3(long3);
1731 uchar3 __ovld __cnfn convert_uchar3_sat(long3);
1732 uchar3 __ovld __cnfn convert_uchar3_rte(ulong3);
1733 uchar3 __ovld __cnfn convert_uchar3_sat_rte(ulong3);
1734 uchar3 __ovld __cnfn convert_uchar3_rtz(ulong3);
1735 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ulong3);
1736 uchar3 __ovld __cnfn convert_uchar3_rtp(ulong3);
1737 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ulong3);
1738 uchar3 __ovld __cnfn convert_uchar3_rtn(ulong3);
1739 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ulong3);
1740 uchar3 __ovld __cnfn convert_uchar3(ulong3);
1741 uchar3 __ovld __cnfn convert_uchar3_sat(ulong3);
1742 uchar3 __ovld __cnfn convert_uchar3_rte(float3);
1743 uchar3 __ovld __cnfn convert_uchar3_sat_rte(float3);
1744 uchar3 __ovld __cnfn convert_uchar3_rtz(float3);
1745 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(float3);
1746 uchar3 __ovld __cnfn convert_uchar3_rtp(float3);
1747 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(float3);
1748 uchar3 __ovld __cnfn convert_uchar3_rtn(float3);
1749 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(float3);
1750 uchar3 __ovld __cnfn convert_uchar3(float3);
1751 uchar3 __ovld __cnfn convert_uchar3_sat(float3);
1752 short3 __ovld __cnfn convert_short3_rte(char3);
1753 short3 __ovld __cnfn convert_short3_sat_rte(char3);
1754 short3 __ovld __cnfn convert_short3_rtz(char3);
1755 short3 __ovld __cnfn convert_short3_sat_rtz(char3);
1756 short3 __ovld __cnfn convert_short3_rtp(char3);
1757 short3 __ovld __cnfn convert_short3_sat_rtp(char3);
1758 short3 __ovld __cnfn convert_short3_rtn(char3);
1759 short3 __ovld __cnfn convert_short3_sat_rtn(char3);
1760 short3 __ovld __cnfn convert_short3(char3);
1761 short3 __ovld __cnfn convert_short3_sat(char3);
1762 short3 __ovld __cnfn convert_short3_rte(uchar3);
1763 short3 __ovld __cnfn convert_short3_sat_rte(uchar3);
1764 short3 __ovld __cnfn convert_short3_rtz(uchar3);
1765 short3 __ovld __cnfn convert_short3_sat_rtz(uchar3);
1766 short3 __ovld __cnfn convert_short3_rtp(uchar3);
1767 short3 __ovld __cnfn convert_short3_sat_rtp(uchar3);
1768 short3 __ovld __cnfn convert_short3_rtn(uchar3);
1769 short3 __ovld __cnfn convert_short3_sat_rtn(uchar3);
1770 short3 __ovld __cnfn convert_short3(uchar3);
1771 short3 __ovld __cnfn convert_short3_sat(uchar3);
1772 short3 __ovld __cnfn convert_short3_rte(short3);
1773 short3 __ovld __cnfn convert_short3_sat_rte(short3);
1774 short3 __ovld __cnfn convert_short3_rtz(short3);
1775 short3 __ovld __cnfn convert_short3_sat_rtz(short3);
1776 short3 __ovld __cnfn convert_short3_rtp(short3);
1777 short3 __ovld __cnfn convert_short3_sat_rtp(short3);
1778 short3 __ovld __cnfn convert_short3_rtn(short3);
1779 short3 __ovld __cnfn convert_short3_sat_rtn(short3);
1780 short3 __ovld __cnfn convert_short3(short3);
1781 short3 __ovld __cnfn convert_short3_sat(short3);
1782 short3 __ovld __cnfn convert_short3_rte(ushort3);
1783 short3 __ovld __cnfn convert_short3_sat_rte(ushort3);
1784 short3 __ovld __cnfn convert_short3_rtz(ushort3);
1785 short3 __ovld __cnfn convert_short3_sat_rtz(ushort3);
1786 short3 __ovld __cnfn convert_short3_rtp(ushort3);
1787 short3 __ovld __cnfn convert_short3_sat_rtp(ushort3);
1788 short3 __ovld __cnfn convert_short3_rtn(ushort3);
1789 short3 __ovld __cnfn convert_short3_sat_rtn(ushort3);
1790 short3 __ovld __cnfn convert_short3(ushort3);
1791 short3 __ovld __cnfn convert_short3_sat(ushort3);
1792 short3 __ovld __cnfn convert_short3_rte(int3);
1793 short3 __ovld __cnfn convert_short3_sat_rte(int3);
1794 short3 __ovld __cnfn convert_short3_rtz(int3);
1795 short3 __ovld __cnfn convert_short3_sat_rtz(int3);
1796 short3 __ovld __cnfn convert_short3_rtp(int3);
1797 short3 __ovld __cnfn convert_short3_sat_rtp(int3);
1798 short3 __ovld __cnfn convert_short3_rtn(int3);
1799 short3 __ovld __cnfn convert_short3_sat_rtn(int3);
1800 short3 __ovld __cnfn convert_short3(int3);
1801 short3 __ovld __cnfn convert_short3_sat(int3);
1802 short3 __ovld __cnfn convert_short3_rte(uint3);
1803 short3 __ovld __cnfn convert_short3_sat_rte(uint3);
1804 short3 __ovld __cnfn convert_short3_rtz(uint3);
1805 short3 __ovld __cnfn convert_short3_sat_rtz(uint3);
1806 short3 __ovld __cnfn convert_short3_rtp(uint3);
1807 short3 __ovld __cnfn convert_short3_sat_rtp(uint3);
1808 short3 __ovld __cnfn convert_short3_rtn(uint3);
1809 short3 __ovld __cnfn convert_short3_sat_rtn(uint3);
1810 short3 __ovld __cnfn convert_short3(uint3);
1811 short3 __ovld __cnfn convert_short3_sat(uint3);
1812 short3 __ovld __cnfn convert_short3_rte(long3);
1813 short3 __ovld __cnfn convert_short3_sat_rte(long3);
1814 short3 __ovld __cnfn convert_short3_rtz(long3);
1815 short3 __ovld __cnfn convert_short3_sat_rtz(long3);
1816 short3 __ovld __cnfn convert_short3_rtp(long3);
1817 short3 __ovld __cnfn convert_short3_sat_rtp(long3);
1818 short3 __ovld __cnfn convert_short3_rtn(long3);
1819 short3 __ovld __cnfn convert_short3_sat_rtn(long3);
1820 short3 __ovld __cnfn convert_short3(long3);
1821 short3 __ovld __cnfn convert_short3_sat(long3);
1822 short3 __ovld __cnfn convert_short3_rte(ulong3);
1823 short3 __ovld __cnfn convert_short3_sat_rte(ulong3);
1824 short3 __ovld __cnfn convert_short3_rtz(ulong3);
1825 short3 __ovld __cnfn convert_short3_sat_rtz(ulong3);
1826 short3 __ovld __cnfn convert_short3_rtp(ulong3);
1827 short3 __ovld __cnfn convert_short3_sat_rtp(ulong3);
1828 short3 __ovld __cnfn convert_short3_rtn(ulong3);
1829 short3 __ovld __cnfn convert_short3_sat_rtn(ulong3);
1830 short3 __ovld __cnfn convert_short3(ulong3);
1831 short3 __ovld __cnfn convert_short3_sat(ulong3);
1832 short3 __ovld __cnfn convert_short3_rte(float3);
1833 short3 __ovld __cnfn convert_short3_sat_rte(float3);
1834 short3 __ovld __cnfn convert_short3_rtz(float3);
1835 short3 __ovld __cnfn convert_short3_sat_rtz(float3);
1836 short3 __ovld __cnfn convert_short3_rtp(float3);
1837 short3 __ovld __cnfn convert_short3_sat_rtp(float3);
1838 short3 __ovld __cnfn convert_short3_rtn(float3);
1839 short3 __ovld __cnfn convert_short3_sat_rtn(float3);
1840 short3 __ovld __cnfn convert_short3(float3);
1841 short3 __ovld __cnfn convert_short3_sat(float3);
1842 ushort3 __ovld __cnfn convert_ushort3_rte(char3);
1843 ushort3 __ovld __cnfn convert_ushort3_sat_rte(char3);
1844 ushort3 __ovld __cnfn convert_ushort3_rtz(char3);
1845 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(char3);
1846 ushort3 __ovld __cnfn convert_ushort3_rtp(char3);
1847 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(char3);
1848 ushort3 __ovld __cnfn convert_ushort3_rtn(char3);
1849 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(char3);
1850 ushort3 __ovld __cnfn convert_ushort3(char3);
1851 ushort3 __ovld __cnfn convert_ushort3_sat(char3);
1852 ushort3 __ovld __cnfn convert_ushort3_rte(uchar3);
1853 ushort3 __ovld __cnfn convert_ushort3_sat_rte(uchar3);
1854 ushort3 __ovld __cnfn convert_ushort3_rtz(uchar3);
1855 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uchar3);
1856 ushort3 __ovld __cnfn convert_ushort3_rtp(uchar3);
1857 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uchar3);
1858 ushort3 __ovld __cnfn convert_ushort3_rtn(uchar3);
1859 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uchar3);
1860 ushort3 __ovld __cnfn convert_ushort3(uchar3);
1861 ushort3 __ovld __cnfn convert_ushort3_sat(uchar3);
1862 ushort3 __ovld __cnfn convert_ushort3_rte(short3);
1863 ushort3 __ovld __cnfn convert_ushort3_sat_rte(short3);
1864 ushort3 __ovld __cnfn convert_ushort3_rtz(short3);
1865 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(short3);
1866 ushort3 __ovld __cnfn convert_ushort3_rtp(short3);
1867 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(short3);
1868 ushort3 __ovld __cnfn convert_ushort3_rtn(short3);
1869 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(short3);
1870 ushort3 __ovld __cnfn convert_ushort3(short3);
1871 ushort3 __ovld __cnfn convert_ushort3_sat(short3);
1872 ushort3 __ovld __cnfn convert_ushort3_rte(ushort3);
1873 ushort3 __ovld __cnfn convert_ushort3_sat_rte(ushort3);
1874 ushort3 __ovld __cnfn convert_ushort3_rtz(ushort3);
1875 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ushort3);
1876 ushort3 __ovld __cnfn convert_ushort3_rtp(ushort3);
1877 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ushort3);
1878 ushort3 __ovld __cnfn convert_ushort3_rtn(ushort3);
1879 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ushort3);
1880 ushort3 __ovld __cnfn convert_ushort3(ushort3);
1881 ushort3 __ovld __cnfn convert_ushort3_sat(ushort3);
1882 ushort3 __ovld __cnfn convert_ushort3_rte(int3);
1883 ushort3 __ovld __cnfn convert_ushort3_sat_rte(int3);
1884 ushort3 __ovld __cnfn convert_ushort3_rtz(int3);
1885 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(int3);
1886 ushort3 __ovld __cnfn convert_ushort3_rtp(int3);
1887 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(int3);
1888 ushort3 __ovld __cnfn convert_ushort3_rtn(int3);
1889 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(int3);
1890 ushort3 __ovld __cnfn convert_ushort3(int3);
1891 ushort3 __ovld __cnfn convert_ushort3_sat(int3);
1892 ushort3 __ovld __cnfn convert_ushort3_rte(uint3);
1893 ushort3 __ovld __cnfn convert_ushort3_sat_rte(uint3);
1894 ushort3 __ovld __cnfn convert_ushort3_rtz(uint3);
1895 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uint3);
1896 ushort3 __ovld __cnfn convert_ushort3_rtp(uint3);
1897 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uint3);
1898 ushort3 __ovld __cnfn convert_ushort3_rtn(uint3);
1899 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uint3);
1900 ushort3 __ovld __cnfn convert_ushort3(uint3);
1901 ushort3 __ovld __cnfn convert_ushort3_sat(uint3);
1902 ushort3 __ovld __cnfn convert_ushort3_rte(long3);
1903 ushort3 __ovld __cnfn convert_ushort3_sat_rte(long3);
1904 ushort3 __ovld __cnfn convert_ushort3_rtz(long3);
1905 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(long3);
1906 ushort3 __ovld __cnfn convert_ushort3_rtp(long3);
1907 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(long3);
1908 ushort3 __ovld __cnfn convert_ushort3_rtn(long3);
1909 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(long3);
1910 ushort3 __ovld __cnfn convert_ushort3(long3);
1911 ushort3 __ovld __cnfn convert_ushort3_sat(long3);
1912 ushort3 __ovld __cnfn convert_ushort3_rte(ulong3);
1913 ushort3 __ovld __cnfn convert_ushort3_sat_rte(ulong3);
1914 ushort3 __ovld __cnfn convert_ushort3_rtz(ulong3);
1915 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ulong3);
1916 ushort3 __ovld __cnfn convert_ushort3_rtp(ulong3);
1917 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ulong3);
1918 ushort3 __ovld __cnfn convert_ushort3_rtn(ulong3);
1919 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ulong3);
1920 ushort3 __ovld __cnfn convert_ushort3(ulong3);
1921 ushort3 __ovld __cnfn convert_ushort3_sat(ulong3);
1922 ushort3 __ovld __cnfn convert_ushort3_rte(float3);
1923 ushort3 __ovld __cnfn convert_ushort3_sat_rte(float3);
1924 ushort3 __ovld __cnfn convert_ushort3_rtz(float3);
1925 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(float3);
1926 ushort3 __ovld __cnfn convert_ushort3_rtp(float3);
1927 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(float3);
1928 ushort3 __ovld __cnfn convert_ushort3_rtn(float3);
1929 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(float3);
1930 ushort3 __ovld __cnfn convert_ushort3(float3);
1931 ushort3 __ovld __cnfn convert_ushort3_sat(float3);
1932 int3 __ovld __cnfn convert_int3_rte(char3);
1933 int3 __ovld __cnfn convert_int3_sat_rte(char3);
1934 int3 __ovld __cnfn convert_int3_rtz(char3);
1935 int3 __ovld __cnfn convert_int3_sat_rtz(char3);
1936 int3 __ovld __cnfn convert_int3_rtp(char3);
1937 int3 __ovld __cnfn convert_int3_sat_rtp(char3);
1938 int3 __ovld __cnfn convert_int3_rtn(char3);
1939 int3 __ovld __cnfn convert_int3_sat_rtn(char3);
1940 int3 __ovld __cnfn convert_int3(char3);
1941 int3 __ovld __cnfn convert_int3_sat(char3);
1942 int3 __ovld __cnfn convert_int3_rte(uchar3);
1943 int3 __ovld __cnfn convert_int3_sat_rte(uchar3);
1944 int3 __ovld __cnfn convert_int3_rtz(uchar3);
1945 int3 __ovld __cnfn convert_int3_sat_rtz(uchar3);
1946 int3 __ovld __cnfn convert_int3_rtp(uchar3);
1947 int3 __ovld __cnfn convert_int3_sat_rtp(uchar3);
1948 int3 __ovld __cnfn convert_int3_rtn(uchar3);
1949 int3 __ovld __cnfn convert_int3_sat_rtn(uchar3);
1950 int3 __ovld __cnfn convert_int3(uchar3);
1951 int3 __ovld __cnfn convert_int3_sat(uchar3);
1952 int3 __ovld __cnfn convert_int3_rte(short3);
1953 int3 __ovld __cnfn convert_int3_sat_rte(short3);
1954 int3 __ovld __cnfn convert_int3_rtz(short3);
1955 int3 __ovld __cnfn convert_int3_sat_rtz(short3);
1956 int3 __ovld __cnfn convert_int3_rtp(short3);
1957 int3 __ovld __cnfn convert_int3_sat_rtp(short3);
1958 int3 __ovld __cnfn convert_int3_rtn(short3);
1959 int3 __ovld __cnfn convert_int3_sat_rtn(short3);
1960 int3 __ovld __cnfn convert_int3(short3);
1961 int3 __ovld __cnfn convert_int3_sat(short3);
1962 int3 __ovld __cnfn convert_int3_rte(ushort3);
1963 int3 __ovld __cnfn convert_int3_sat_rte(ushort3);
1964 int3 __ovld __cnfn convert_int3_rtz(ushort3);
1965 int3 __ovld __cnfn convert_int3_sat_rtz(ushort3);
1966 int3 __ovld __cnfn convert_int3_rtp(ushort3);
1967 int3 __ovld __cnfn convert_int3_sat_rtp(ushort3);
1968 int3 __ovld __cnfn convert_int3_rtn(ushort3);
1969 int3 __ovld __cnfn convert_int3_sat_rtn(ushort3);
1970 int3 __ovld __cnfn convert_int3(ushort3);
1971 int3 __ovld __cnfn convert_int3_sat(ushort3);
1972 int3 __ovld __cnfn convert_int3_rte(int3);
1973 int3 __ovld __cnfn convert_int3_sat_rte(int3);
1974 int3 __ovld __cnfn convert_int3_rtz(int3);
1975 int3 __ovld __cnfn convert_int3_sat_rtz(int3);
1976 int3 __ovld __cnfn convert_int3_rtp(int3);
1977 int3 __ovld __cnfn convert_int3_sat_rtp(int3);
1978 int3 __ovld __cnfn convert_int3_rtn(int3);
1979 int3 __ovld __cnfn convert_int3_sat_rtn(int3);
1980 int3 __ovld __cnfn convert_int3(int3);
1981 int3 __ovld __cnfn convert_int3_sat(int3);
1982 int3 __ovld __cnfn convert_int3_rte(uint3);
1983 int3 __ovld __cnfn convert_int3_sat_rte(uint3);
1984 int3 __ovld __cnfn convert_int3_rtz(uint3);
1985 int3 __ovld __cnfn convert_int3_sat_rtz(uint3);
1986 int3 __ovld __cnfn convert_int3_rtp(uint3);
1987 int3 __ovld __cnfn convert_int3_sat_rtp(uint3);
1988 int3 __ovld __cnfn convert_int3_rtn(uint3);
1989 int3 __ovld __cnfn convert_int3_sat_rtn(uint3);
1990 int3 __ovld __cnfn convert_int3(uint3);
1991 int3 __ovld __cnfn convert_int3_sat(uint3);
1992 int3 __ovld __cnfn convert_int3_rte(long3);
1993 int3 __ovld __cnfn convert_int3_sat_rte(long3);
1994 int3 __ovld __cnfn convert_int3_rtz(long3);
1995 int3 __ovld __cnfn convert_int3_sat_rtz(long3);
1996 int3 __ovld __cnfn convert_int3_rtp(long3);
1997 int3 __ovld __cnfn convert_int3_sat_rtp(long3);
1998 int3 __ovld __cnfn convert_int3_rtn(long3);
1999 int3 __ovld __cnfn convert_int3_sat_rtn(long3);
2000 int3 __ovld __cnfn convert_int3(long3);
2001 int3 __ovld __cnfn convert_int3_sat(long3);
2002 int3 __ovld __cnfn convert_int3_rte(ulong3);
2003 int3 __ovld __cnfn convert_int3_sat_rte(ulong3);
2004 int3 __ovld __cnfn convert_int3_rtz(ulong3);
2005 int3 __ovld __cnfn convert_int3_sat_rtz(ulong3);
2006 int3 __ovld __cnfn convert_int3_rtp(ulong3);
2007 int3 __ovld __cnfn convert_int3_sat_rtp(ulong3);
2008 int3 __ovld __cnfn convert_int3_rtn(ulong3);
2009 int3 __ovld __cnfn convert_int3_sat_rtn(ulong3);
2010 int3 __ovld __cnfn convert_int3(ulong3);
2011 int3 __ovld __cnfn convert_int3_sat(ulong3);
2012 int3 __ovld __cnfn convert_int3_rte(float3);
2013 int3 __ovld __cnfn convert_int3_sat_rte(float3);
2014 int3 __ovld __cnfn convert_int3_rtz(float3);
2015 int3 __ovld __cnfn convert_int3_sat_rtz(float3);
2016 int3 __ovld __cnfn convert_int3_rtp(float3);
2017 int3 __ovld __cnfn convert_int3_sat_rtp(float3);
2018 int3 __ovld __cnfn convert_int3_rtn(float3);
2019 int3 __ovld __cnfn convert_int3_sat_rtn(float3);
2020 int3 __ovld __cnfn convert_int3(float3);
2021 int3 __ovld __cnfn convert_int3_sat(float3);
2022 uint3 __ovld __cnfn convert_uint3_rte(char3);
2023 uint3 __ovld __cnfn convert_uint3_sat_rte(char3);
2024 uint3 __ovld __cnfn convert_uint3_rtz(char3);
2025 uint3 __ovld __cnfn convert_uint3_sat_rtz(char3);
2026 uint3 __ovld __cnfn convert_uint3_rtp(char3);
2027 uint3 __ovld __cnfn convert_uint3_sat_rtp(char3);
2028 uint3 __ovld __cnfn convert_uint3_rtn(char3);
2029 uint3 __ovld __cnfn convert_uint3_sat_rtn(char3);
2030 uint3 __ovld __cnfn convert_uint3(char3);
2031 uint3 __ovld __cnfn convert_uint3_sat(char3);
2032 uint3 __ovld __cnfn convert_uint3_rte(uchar3);
2033 uint3 __ovld __cnfn convert_uint3_sat_rte(uchar3);
2034 uint3 __ovld __cnfn convert_uint3_rtz(uchar3);
2035 uint3 __ovld __cnfn convert_uint3_sat_rtz(uchar3);
2036 uint3 __ovld __cnfn convert_uint3_rtp(uchar3);
2037 uint3 __ovld __cnfn convert_uint3_sat_rtp(uchar3);
2038 uint3 __ovld __cnfn convert_uint3_rtn(uchar3);
2039 uint3 __ovld __cnfn convert_uint3_sat_rtn(uchar3);
2040 uint3 __ovld __cnfn convert_uint3(uchar3);
2041 uint3 __ovld __cnfn convert_uint3_sat(uchar3);
2042 uint3 __ovld __cnfn convert_uint3_rte(short3);
2043 uint3 __ovld __cnfn convert_uint3_sat_rte(short3);
2044 uint3 __ovld __cnfn convert_uint3_rtz(short3);
2045 uint3 __ovld __cnfn convert_uint3_sat_rtz(short3);
2046 uint3 __ovld __cnfn convert_uint3_rtp(short3);
2047 uint3 __ovld __cnfn convert_uint3_sat_rtp(short3);
2048 uint3 __ovld __cnfn convert_uint3_rtn(short3);
2049 uint3 __ovld __cnfn convert_uint3_sat_rtn(short3);
2050 uint3 __ovld __cnfn convert_uint3(short3);
2051 uint3 __ovld __cnfn convert_uint3_sat(short3);
2052 uint3 __ovld __cnfn convert_uint3_rte(ushort3);
2053 uint3 __ovld __cnfn convert_uint3_sat_rte(ushort3);
2054 uint3 __ovld __cnfn convert_uint3_rtz(ushort3);
2055 uint3 __ovld __cnfn convert_uint3_sat_rtz(ushort3);
2056 uint3 __ovld __cnfn convert_uint3_rtp(ushort3);
2057 uint3 __ovld __cnfn convert_uint3_sat_rtp(ushort3);
2058 uint3 __ovld __cnfn convert_uint3_rtn(ushort3);
2059 uint3 __ovld __cnfn convert_uint3_sat_rtn(ushort3);
2060 uint3 __ovld __cnfn convert_uint3(ushort3);
2061 uint3 __ovld __cnfn convert_uint3_sat(ushort3);
2062 uint3 __ovld __cnfn convert_uint3_rte(int3);
2063 uint3 __ovld __cnfn convert_uint3_sat_rte(int3);
2064 uint3 __ovld __cnfn convert_uint3_rtz(int3);
2065 uint3 __ovld __cnfn convert_uint3_sat_rtz(int3);
2066 uint3 __ovld __cnfn convert_uint3_rtp(int3);
2067 uint3 __ovld __cnfn convert_uint3_sat_rtp(int3);
2068 uint3 __ovld __cnfn convert_uint3_rtn(int3);
2069 uint3 __ovld __cnfn convert_uint3_sat_rtn(int3);
2070 uint3 __ovld __cnfn convert_uint3(int3);
2071 uint3 __ovld __cnfn convert_uint3_sat(int3);
2072 uint3 __ovld __cnfn convert_uint3_rte(uint3);
2073 uint3 __ovld __cnfn convert_uint3_sat_rte(uint3);
2074 uint3 __ovld __cnfn convert_uint3_rtz(uint3);
2075 uint3 __ovld __cnfn convert_uint3_sat_rtz(uint3);
2076 uint3 __ovld __cnfn convert_uint3_rtp(uint3);
2077 uint3 __ovld __cnfn convert_uint3_sat_rtp(uint3);
2078 uint3 __ovld __cnfn convert_uint3_rtn(uint3);
2079 uint3 __ovld __cnfn convert_uint3_sat_rtn(uint3);
2080 uint3 __ovld __cnfn convert_uint3(uint3);
2081 uint3 __ovld __cnfn convert_uint3_sat(uint3);
2082 uint3 __ovld __cnfn convert_uint3_rte(long3);
2083 uint3 __ovld __cnfn convert_uint3_sat_rte(long3);
2084 uint3 __ovld __cnfn convert_uint3_rtz(long3);
2085 uint3 __ovld __cnfn convert_uint3_sat_rtz(long3);
2086 uint3 __ovld __cnfn convert_uint3_rtp(long3);
2087 uint3 __ovld __cnfn convert_uint3_sat_rtp(long3);
2088 uint3 __ovld __cnfn convert_uint3_rtn(long3);
2089 uint3 __ovld __cnfn convert_uint3_sat_rtn(long3);
2090 uint3 __ovld __cnfn convert_uint3(long3);
2091 uint3 __ovld __cnfn convert_uint3_sat(long3);
2092 uint3 __ovld __cnfn convert_uint3_rte(ulong3);
2093 uint3 __ovld __cnfn convert_uint3_sat_rte(ulong3);
2094 uint3 __ovld __cnfn convert_uint3_rtz(ulong3);
2095 uint3 __ovld __cnfn convert_uint3_sat_rtz(ulong3);
2096 uint3 __ovld __cnfn convert_uint3_rtp(ulong3);
2097 uint3 __ovld __cnfn convert_uint3_sat_rtp(ulong3);
2098 uint3 __ovld __cnfn convert_uint3_rtn(ulong3);
2099 uint3 __ovld __cnfn convert_uint3_sat_rtn(ulong3);
2100 uint3 __ovld __cnfn convert_uint3(ulong3);
2101 uint3 __ovld __cnfn convert_uint3_sat(ulong3);
2102 uint3 __ovld __cnfn convert_uint3_rte(float3);
2103 uint3 __ovld __cnfn convert_uint3_sat_rte(float3);
2104 uint3 __ovld __cnfn convert_uint3_rtz(float3);
2105 uint3 __ovld __cnfn convert_uint3_sat_rtz(float3);
2106 uint3 __ovld __cnfn convert_uint3_rtp(float3);
2107 uint3 __ovld __cnfn convert_uint3_sat_rtp(float3);
2108 uint3 __ovld __cnfn convert_uint3_rtn(float3);
2109 uint3 __ovld __cnfn convert_uint3_sat_rtn(float3);
2110 uint3 __ovld __cnfn convert_uint3(float3);
2111 uint3 __ovld __cnfn convert_uint3_sat(float3);
2112 long3 __ovld __cnfn convert_long3_rte(char3);
2113 long3 __ovld __cnfn convert_long3_sat_rte(char3);
2114 long3 __ovld __cnfn convert_long3_rtz(char3);
2115 long3 __ovld __cnfn convert_long3_sat_rtz(char3);
2116 long3 __ovld __cnfn convert_long3_rtp(char3);
2117 long3 __ovld __cnfn convert_long3_sat_rtp(char3);
2118 long3 __ovld __cnfn convert_long3_rtn(char3);
2119 long3 __ovld __cnfn convert_long3_sat_rtn(char3);
2120 long3 __ovld __cnfn convert_long3(char3);
2121 long3 __ovld __cnfn convert_long3_sat(char3);
2122 long3 __ovld __cnfn convert_long3_rte(uchar3);
2123 long3 __ovld __cnfn convert_long3_sat_rte(uchar3);
2124 long3 __ovld __cnfn convert_long3_rtz(uchar3);
2125 long3 __ovld __cnfn convert_long3_sat_rtz(uchar3);
2126 long3 __ovld __cnfn convert_long3_rtp(uchar3);
2127 long3 __ovld __cnfn convert_long3_sat_rtp(uchar3);
2128 long3 __ovld __cnfn convert_long3_rtn(uchar3);
2129 long3 __ovld __cnfn convert_long3_sat_rtn(uchar3);
2130 long3 __ovld __cnfn convert_long3(uchar3);
2131 long3 __ovld __cnfn convert_long3_sat(uchar3);
2132 long3 __ovld __cnfn convert_long3_rte(short3);
2133 long3 __ovld __cnfn convert_long3_sat_rte(short3);
2134 long3 __ovld __cnfn convert_long3_rtz(short3);
2135 long3 __ovld __cnfn convert_long3_sat_rtz(short3);
2136 long3 __ovld __cnfn convert_long3_rtp(short3);
2137 long3 __ovld __cnfn convert_long3_sat_rtp(short3);
2138 long3 __ovld __cnfn convert_long3_rtn(short3);
2139 long3 __ovld __cnfn convert_long3_sat_rtn(short3);
2140 long3 __ovld __cnfn convert_long3(short3);
2141 long3 __ovld __cnfn convert_long3_sat(short3);
2142 long3 __ovld __cnfn convert_long3_rte(ushort3);
2143 long3 __ovld __cnfn convert_long3_sat_rte(ushort3);
2144 long3 __ovld __cnfn convert_long3_rtz(ushort3);
2145 long3 __ovld __cnfn convert_long3_sat_rtz(ushort3);
2146 long3 __ovld __cnfn convert_long3_rtp(ushort3);
2147 long3 __ovld __cnfn convert_long3_sat_rtp(ushort3);
2148 long3 __ovld __cnfn convert_long3_rtn(ushort3);
2149 long3 __ovld __cnfn convert_long3_sat_rtn(ushort3);
2150 long3 __ovld __cnfn convert_long3(ushort3);
2151 long3 __ovld __cnfn convert_long3_sat(ushort3);
2152 long3 __ovld __cnfn convert_long3_rte(int3);
2153 long3 __ovld __cnfn convert_long3_sat_rte(int3);
2154 long3 __ovld __cnfn convert_long3_rtz(int3);
2155 long3 __ovld __cnfn convert_long3_sat_rtz(int3);
2156 long3 __ovld __cnfn convert_long3_rtp(int3);
2157 long3 __ovld __cnfn convert_long3_sat_rtp(int3);
2158 long3 __ovld __cnfn convert_long3_rtn(int3);
2159 long3 __ovld __cnfn convert_long3_sat_rtn(int3);
2160 long3 __ovld __cnfn convert_long3(int3);
2161 long3 __ovld __cnfn convert_long3_sat(int3);
2162 long3 __ovld __cnfn convert_long3_rte(uint3);
2163 long3 __ovld __cnfn convert_long3_sat_rte(uint3);
2164 long3 __ovld __cnfn convert_long3_rtz(uint3);
2165 long3 __ovld __cnfn convert_long3_sat_rtz(uint3);
2166 long3 __ovld __cnfn convert_long3_rtp(uint3);
2167 long3 __ovld __cnfn convert_long3_sat_rtp(uint3);
2168 long3 __ovld __cnfn convert_long3_rtn(uint3);
2169 long3 __ovld __cnfn convert_long3_sat_rtn(uint3);
2170 long3 __ovld __cnfn convert_long3(uint3);
2171 long3 __ovld __cnfn convert_long3_sat(uint3);
2172 long3 __ovld __cnfn convert_long3_rte(long3);
2173 long3 __ovld __cnfn convert_long3_sat_rte(long3);
2174 long3 __ovld __cnfn convert_long3_rtz(long3);
2175 long3 __ovld __cnfn convert_long3_sat_rtz(long3);
2176 long3 __ovld __cnfn convert_long3_rtp(long3);
2177 long3 __ovld __cnfn convert_long3_sat_rtp(long3);
2178 long3 __ovld __cnfn convert_long3_rtn(long3);
2179 long3 __ovld __cnfn convert_long3_sat_rtn(long3);
2180 long3 __ovld __cnfn convert_long3(long3);
2181 long3 __ovld __cnfn convert_long3_sat(long3);
2182 long3 __ovld __cnfn convert_long3_rte(ulong3);
2183 long3 __ovld __cnfn convert_long3_sat_rte(ulong3);
2184 long3 __ovld __cnfn convert_long3_rtz(ulong3);
2185 long3 __ovld __cnfn convert_long3_sat_rtz(ulong3);
2186 long3 __ovld __cnfn convert_long3_rtp(ulong3);
2187 long3 __ovld __cnfn convert_long3_sat_rtp(ulong3);
2188 long3 __ovld __cnfn convert_long3_rtn(ulong3);
2189 long3 __ovld __cnfn convert_long3_sat_rtn(ulong3);
2190 long3 __ovld __cnfn convert_long3(ulong3);
2191 long3 __ovld __cnfn convert_long3_sat(ulong3);
2192 long3 __ovld __cnfn convert_long3_rte(float3);
2193 long3 __ovld __cnfn convert_long3_sat_rte(float3);
2194 long3 __ovld __cnfn convert_long3_rtz(float3);
2195 long3 __ovld __cnfn convert_long3_sat_rtz(float3);
2196 long3 __ovld __cnfn convert_long3_rtp(float3);
2197 long3 __ovld __cnfn convert_long3_sat_rtp(float3);
2198 long3 __ovld __cnfn convert_long3_rtn(float3);
2199 long3 __ovld __cnfn convert_long3_sat_rtn(float3);
2200 long3 __ovld __cnfn convert_long3(float3);
2201 long3 __ovld __cnfn convert_long3_sat(float3);
2202 ulong3 __ovld __cnfn convert_ulong3_rte(char3);
2203 ulong3 __ovld __cnfn convert_ulong3_sat_rte(char3);
2204 ulong3 __ovld __cnfn convert_ulong3_rtz(char3);
2205 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(char3);
2206 ulong3 __ovld __cnfn convert_ulong3_rtp(char3);
2207 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(char3);
2208 ulong3 __ovld __cnfn convert_ulong3_rtn(char3);
2209 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(char3);
2210 ulong3 __ovld __cnfn convert_ulong3(char3);
2211 ulong3 __ovld __cnfn convert_ulong3_sat(char3);
2212 ulong3 __ovld __cnfn convert_ulong3_rte(uchar3);
2213 ulong3 __ovld __cnfn convert_ulong3_sat_rte(uchar3);
2214 ulong3 __ovld __cnfn convert_ulong3_rtz(uchar3);
2215 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uchar3);
2216 ulong3 __ovld __cnfn convert_ulong3_rtp(uchar3);
2217 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uchar3);
2218 ulong3 __ovld __cnfn convert_ulong3_rtn(uchar3);
2219 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uchar3);
2220 ulong3 __ovld __cnfn convert_ulong3(uchar3);
2221 ulong3 __ovld __cnfn convert_ulong3_sat(uchar3);
2222 ulong3 __ovld __cnfn convert_ulong3_rte(short3);
2223 ulong3 __ovld __cnfn convert_ulong3_sat_rte(short3);
2224 ulong3 __ovld __cnfn convert_ulong3_rtz(short3);
2225 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(short3);
2226 ulong3 __ovld __cnfn convert_ulong3_rtp(short3);
2227 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(short3);
2228 ulong3 __ovld __cnfn convert_ulong3_rtn(short3);
2229 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(short3);
2230 ulong3 __ovld __cnfn convert_ulong3(short3);
2231 ulong3 __ovld __cnfn convert_ulong3_sat(short3);
2232 ulong3 __ovld __cnfn convert_ulong3_rte(ushort3);
2233 ulong3 __ovld __cnfn convert_ulong3_sat_rte(ushort3);
2234 ulong3 __ovld __cnfn convert_ulong3_rtz(ushort3);
2235 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ushort3);
2236 ulong3 __ovld __cnfn convert_ulong3_rtp(ushort3);
2237 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ushort3);
2238 ulong3 __ovld __cnfn convert_ulong3_rtn(ushort3);
2239 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ushort3);
2240 ulong3 __ovld __cnfn convert_ulong3(ushort3);
2241 ulong3 __ovld __cnfn convert_ulong3_sat(ushort3);
2242 ulong3 __ovld __cnfn convert_ulong3_rte(int3);
2243 ulong3 __ovld __cnfn convert_ulong3_sat_rte(int3);
2244 ulong3 __ovld __cnfn convert_ulong3_rtz(int3);
2245 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(int3);
2246 ulong3 __ovld __cnfn convert_ulong3_rtp(int3);
2247 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(int3);
2248 ulong3 __ovld __cnfn convert_ulong3_rtn(int3);
2249 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(int3);
2250 ulong3 __ovld __cnfn convert_ulong3(int3);
2251 ulong3 __ovld __cnfn convert_ulong3_sat(int3);
2252 ulong3 __ovld __cnfn convert_ulong3_rte(uint3);
2253 ulong3 __ovld __cnfn convert_ulong3_sat_rte(uint3);
2254 ulong3 __ovld __cnfn convert_ulong3_rtz(uint3);
2255 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uint3);
2256 ulong3 __ovld __cnfn convert_ulong3_rtp(uint3);
2257 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uint3);
2258 ulong3 __ovld __cnfn convert_ulong3_rtn(uint3);
2259 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uint3);
2260 ulong3 __ovld __cnfn convert_ulong3(uint3);
2261 ulong3 __ovld __cnfn convert_ulong3_sat(uint3);
2262 ulong3 __ovld __cnfn convert_ulong3_rte(long3);
2263 ulong3 __ovld __cnfn convert_ulong3_sat_rte(long3);
2264 ulong3 __ovld __cnfn convert_ulong3_rtz(long3);
2265 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(long3);
2266 ulong3 __ovld __cnfn convert_ulong3_rtp(long3);
2267 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(long3);
2268 ulong3 __ovld __cnfn convert_ulong3_rtn(long3);
2269 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(long3);
2270 ulong3 __ovld __cnfn convert_ulong3(long3);
2271 ulong3 __ovld __cnfn convert_ulong3_sat(long3);
2272 ulong3 __ovld __cnfn convert_ulong3_rte(ulong3);
2273 ulong3 __ovld __cnfn convert_ulong3_sat_rte(ulong3);
2274 ulong3 __ovld __cnfn convert_ulong3_rtz(ulong3);
2275 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ulong3);
2276 ulong3 __ovld __cnfn convert_ulong3_rtp(ulong3);
2277 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ulong3);
2278 ulong3 __ovld __cnfn convert_ulong3_rtn(ulong3);
2279 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ulong3);
2280 ulong3 __ovld __cnfn convert_ulong3(ulong3);
2281 ulong3 __ovld __cnfn convert_ulong3_sat(ulong3);
2282 ulong3 __ovld __cnfn convert_ulong3_rte(float3);
2283 ulong3 __ovld __cnfn convert_ulong3_sat_rte(float3);
2284 ulong3 __ovld __cnfn convert_ulong3_rtz(float3);
2285 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(float3);
2286 ulong3 __ovld __cnfn convert_ulong3_rtp(float3);
2287 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(float3);
2288 ulong3 __ovld __cnfn convert_ulong3_rtn(float3);
2289 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(float3);
2290 ulong3 __ovld __cnfn convert_ulong3(float3);
2291 ulong3 __ovld __cnfn convert_ulong3_sat(float3);
2292 float3 __ovld __cnfn convert_float3_rte(char3);
2293 float3 __ovld __cnfn convert_float3_rtz(char3);
2294 float3 __ovld __cnfn convert_float3_rtp(char3);
2295 float3 __ovld __cnfn convert_float3_rtn(char3);
2296 float3 __ovld __cnfn convert_float3(char3);
2297 float3 __ovld __cnfn convert_float3_rte(uchar3);
2298 float3 __ovld __cnfn convert_float3_rtz(uchar3);
2299 float3 __ovld __cnfn convert_float3_rtp(uchar3);
2300 float3 __ovld __cnfn convert_float3_rtn(uchar3);
2301 float3 __ovld __cnfn convert_float3(uchar3);
2302 float3 __ovld __cnfn convert_float3_rte(short3);
2303 float3 __ovld __cnfn convert_float3_rtz(short3);
2304 float3 __ovld __cnfn convert_float3_rtp(short3);
2305 float3 __ovld __cnfn convert_float3_rtn(short3);
2306 float3 __ovld __cnfn convert_float3(short3);
2307 float3 __ovld __cnfn convert_float3_rte(ushort3);
2308 float3 __ovld __cnfn convert_float3_rtz(ushort3);
2309 float3 __ovld __cnfn convert_float3_rtp(ushort3);
2310 float3 __ovld __cnfn convert_float3_rtn(ushort3);
2311 float3 __ovld __cnfn convert_float3(ushort3);
2312 float3 __ovld __cnfn convert_float3_rte(int3);
2313 float3 __ovld __cnfn convert_float3_rtz(int3);
2314 float3 __ovld __cnfn convert_float3_rtp(int3);
2315 float3 __ovld __cnfn convert_float3_rtn(int3);
2316 float3 __ovld __cnfn convert_float3(int3);
2317 float3 __ovld __cnfn convert_float3_rte(uint3);
2318 float3 __ovld __cnfn convert_float3_rtz(uint3);
2319 float3 __ovld __cnfn convert_float3_rtp(uint3);
2320 float3 __ovld __cnfn convert_float3_rtn(uint3);
2321 float3 __ovld __cnfn convert_float3(uint3);
2322 float3 __ovld __cnfn convert_float3_rte(long3);
2323 float3 __ovld __cnfn convert_float3_rtz(long3);
2324 float3 __ovld __cnfn convert_float3_rtp(long3);
2325 float3 __ovld __cnfn convert_float3_rtn(long3);
2326 float3 __ovld __cnfn convert_float3(long3);
2327 float3 __ovld __cnfn convert_float3_rte(ulong3);
2328 float3 __ovld __cnfn convert_float3_rtz(ulong3);
2329 float3 __ovld __cnfn convert_float3_rtp(ulong3);
2330 float3 __ovld __cnfn convert_float3_rtn(ulong3);
2331 float3 __ovld __cnfn convert_float3(ulong3);
2332 float3 __ovld __cnfn convert_float3_rte(float3);
2333 float3 __ovld __cnfn convert_float3_rtz(float3);
2334 float3 __ovld __cnfn convert_float3_rtp(float3);
2335 float3 __ovld __cnfn convert_float3_rtn(float3);
2336 float3 __ovld __cnfn convert_float3(float3);
2337 char4 __ovld __cnfn convert_char4_rte(char4);
2338 char4 __ovld __cnfn convert_char4_sat_rte(char4);
2339 char4 __ovld __cnfn convert_char4_rtz(char4);
2340 char4 __ovld __cnfn convert_char4_sat_rtz(char4);
2341 char4 __ovld __cnfn convert_char4_rtp(char4);
2342 char4 __ovld __cnfn convert_char4_sat_rtp(char4);
2343 char4 __ovld __cnfn convert_char4_rtn(char4);
2344 char4 __ovld __cnfn convert_char4_sat_rtn(char4);
2345 char4 __ovld __cnfn convert_char4(char4);
2346 char4 __ovld __cnfn convert_char4_sat(char4);
2347 char4 __ovld __cnfn convert_char4_rte(uchar4);
2348 char4 __ovld __cnfn convert_char4_sat_rte(uchar4);
2349 char4 __ovld __cnfn convert_char4_rtz(uchar4);
2350 char4 __ovld __cnfn convert_char4_sat_rtz(uchar4);
2351 char4 __ovld __cnfn convert_char4_rtp(uchar4);
2352 char4 __ovld __cnfn convert_char4_sat_rtp(uchar4);
2353 char4 __ovld __cnfn convert_char4_rtn(uchar4);
2354 char4 __ovld __cnfn convert_char4_sat_rtn(uchar4);
2355 char4 __ovld __cnfn convert_char4(uchar4);
2356 char4 __ovld __cnfn convert_char4_sat(uchar4);
2357 char4 __ovld __cnfn convert_char4_rte(short4);
2358 char4 __ovld __cnfn convert_char4_sat_rte(short4);
2359 char4 __ovld __cnfn convert_char4_rtz(short4);
2360 char4 __ovld __cnfn convert_char4_sat_rtz(short4);
2361 char4 __ovld __cnfn convert_char4_rtp(short4);
2362 char4 __ovld __cnfn convert_char4_sat_rtp(short4);
2363 char4 __ovld __cnfn convert_char4_rtn(short4);
2364 char4 __ovld __cnfn convert_char4_sat_rtn(short4);
2365 char4 __ovld __cnfn convert_char4(short4);
2366 char4 __ovld __cnfn convert_char4_sat(short4);
2367 char4 __ovld __cnfn convert_char4_rte(ushort4);
2368 char4 __ovld __cnfn convert_char4_sat_rte(ushort4);
2369 char4 __ovld __cnfn convert_char4_rtz(ushort4);
2370 char4 __ovld __cnfn convert_char4_sat_rtz(ushort4);
2371 char4 __ovld __cnfn convert_char4_rtp(ushort4);
2372 char4 __ovld __cnfn convert_char4_sat_rtp(ushort4);
2373 char4 __ovld __cnfn convert_char4_rtn(ushort4);
2374 char4 __ovld __cnfn convert_char4_sat_rtn(ushort4);
2375 char4 __ovld __cnfn convert_char4(ushort4);
2376 char4 __ovld __cnfn convert_char4_sat(ushort4);
2377 char4 __ovld __cnfn convert_char4_rte(int4);
2378 char4 __ovld __cnfn convert_char4_sat_rte(int4);
2379 char4 __ovld __cnfn convert_char4_rtz(int4);
2380 char4 __ovld __cnfn convert_char4_sat_rtz(int4);
2381 char4 __ovld __cnfn convert_char4_rtp(int4);
2382 char4 __ovld __cnfn convert_char4_sat_rtp(int4);
2383 char4 __ovld __cnfn convert_char4_rtn(int4);
2384 char4 __ovld __cnfn convert_char4_sat_rtn(int4);
2385 char4 __ovld __cnfn convert_char4(int4);
2386 char4 __ovld __cnfn convert_char4_sat(int4);
2387 char4 __ovld __cnfn convert_char4_rte(uint4);
2388 char4 __ovld __cnfn convert_char4_sat_rte(uint4);
2389 char4 __ovld __cnfn convert_char4_rtz(uint4);
2390 char4 __ovld __cnfn convert_char4_sat_rtz(uint4);
2391 char4 __ovld __cnfn convert_char4_rtp(uint4);
2392 char4 __ovld __cnfn convert_char4_sat_rtp(uint4);
2393 char4 __ovld __cnfn convert_char4_rtn(uint4);
2394 char4 __ovld __cnfn convert_char4_sat_rtn(uint4);
2395 char4 __ovld __cnfn convert_char4(uint4);
2396 char4 __ovld __cnfn convert_char4_sat(uint4);
2397 char4 __ovld __cnfn convert_char4_rte(long4);
2398 char4 __ovld __cnfn convert_char4_sat_rte(long4);
2399 char4 __ovld __cnfn convert_char4_rtz(long4);
2400 char4 __ovld __cnfn convert_char4_sat_rtz(long4);
2401 char4 __ovld __cnfn convert_char4_rtp(long4);
2402 char4 __ovld __cnfn convert_char4_sat_rtp(long4);
2403 char4 __ovld __cnfn convert_char4_rtn(long4);
2404 char4 __ovld __cnfn convert_char4_sat_rtn(long4);
2405 char4 __ovld __cnfn convert_char4(long4);
2406 char4 __ovld __cnfn convert_char4_sat(long4);
2407 char4 __ovld __cnfn convert_char4_rte(ulong4);
2408 char4 __ovld __cnfn convert_char4_sat_rte(ulong4);
2409 char4 __ovld __cnfn convert_char4_rtz(ulong4);
2410 char4 __ovld __cnfn convert_char4_sat_rtz(ulong4);
2411 char4 __ovld __cnfn convert_char4_rtp(ulong4);
2412 char4 __ovld __cnfn convert_char4_sat_rtp(ulong4);
2413 char4 __ovld __cnfn convert_char4_rtn(ulong4);
2414 char4 __ovld __cnfn convert_char4_sat_rtn(ulong4);
2415 char4 __ovld __cnfn convert_char4(ulong4);
2416 char4 __ovld __cnfn convert_char4_sat(ulong4);
2417 char4 __ovld __cnfn convert_char4_rte(float4);
2418 char4 __ovld __cnfn convert_char4_sat_rte(float4);
2419 char4 __ovld __cnfn convert_char4_rtz(float4);
2420 char4 __ovld __cnfn convert_char4_sat_rtz(float4);
2421 char4 __ovld __cnfn convert_char4_rtp(float4);
2422 char4 __ovld __cnfn convert_char4_sat_rtp(float4);
2423 char4 __ovld __cnfn convert_char4_rtn(float4);
2424 char4 __ovld __cnfn convert_char4_sat_rtn(float4);
2425 char4 __ovld __cnfn convert_char4(float4);
2426 char4 __ovld __cnfn convert_char4_sat(float4);
2427 uchar4 __ovld __cnfn convert_uchar4_rte(char4);
2428 uchar4 __ovld __cnfn convert_uchar4_sat_rte(char4);
2429 uchar4 __ovld __cnfn convert_uchar4_rtz(char4);
2430 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(char4);
2431 uchar4 __ovld __cnfn convert_uchar4_rtp(char4);
2432 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(char4);
2433 uchar4 __ovld __cnfn convert_uchar4_rtn(char4);
2434 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(char4);
2435 uchar4 __ovld __cnfn convert_uchar4(char4);
2436 uchar4 __ovld __cnfn convert_uchar4_sat(char4);
2437 uchar4 __ovld __cnfn convert_uchar4_rte(uchar4);
2438 uchar4 __ovld __cnfn convert_uchar4_sat_rte(uchar4);
2439 uchar4 __ovld __cnfn convert_uchar4_rtz(uchar4);
2440 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uchar4);
2441 uchar4 __ovld __cnfn convert_uchar4_rtp(uchar4);
2442 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uchar4);
2443 uchar4 __ovld __cnfn convert_uchar4_rtn(uchar4);
2444 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uchar4);
2445 uchar4 __ovld __cnfn convert_uchar4(uchar4);
2446 uchar4 __ovld __cnfn convert_uchar4_sat(uchar4);
2447 uchar4 __ovld __cnfn convert_uchar4_rte(short4);
2448 uchar4 __ovld __cnfn convert_uchar4_sat_rte(short4);
2449 uchar4 __ovld __cnfn convert_uchar4_rtz(short4);
2450 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(short4);
2451 uchar4 __ovld __cnfn convert_uchar4_rtp(short4);
2452 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(short4);
2453 uchar4 __ovld __cnfn convert_uchar4_rtn(short4);
2454 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(short4);
2455 uchar4 __ovld __cnfn convert_uchar4(short4);
2456 uchar4 __ovld __cnfn convert_uchar4_sat(short4);
2457 uchar4 __ovld __cnfn convert_uchar4_rte(ushort4);
2458 uchar4 __ovld __cnfn convert_uchar4_sat_rte(ushort4);
2459 uchar4 __ovld __cnfn convert_uchar4_rtz(ushort4);
2460 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ushort4);
2461 uchar4 __ovld __cnfn convert_uchar4_rtp(ushort4);
2462 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ushort4);
2463 uchar4 __ovld __cnfn convert_uchar4_rtn(ushort4);
2464 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ushort4);
2465 uchar4 __ovld __cnfn convert_uchar4(ushort4);
2466 uchar4 __ovld __cnfn convert_uchar4_sat(ushort4);
2467 uchar4 __ovld __cnfn convert_uchar4_rte(int4);
2468 uchar4 __ovld __cnfn convert_uchar4_sat_rte(int4);
2469 uchar4 __ovld __cnfn convert_uchar4_rtz(int4);
2470 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(int4);
2471 uchar4 __ovld __cnfn convert_uchar4_rtp(int4);
2472 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(int4);
2473 uchar4 __ovld __cnfn convert_uchar4_rtn(int4);
2474 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(int4);
2475 uchar4 __ovld __cnfn convert_uchar4(int4);
2476 uchar4 __ovld __cnfn convert_uchar4_sat(int4);
2477 uchar4 __ovld __cnfn convert_uchar4_rte(uint4);
2478 uchar4 __ovld __cnfn convert_uchar4_sat_rte(uint4);
2479 uchar4 __ovld __cnfn convert_uchar4_rtz(uint4);
2480 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uint4);
2481 uchar4 __ovld __cnfn convert_uchar4_rtp(uint4);
2482 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uint4);
2483 uchar4 __ovld __cnfn convert_uchar4_rtn(uint4);
2484 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uint4);
2485 uchar4 __ovld __cnfn convert_uchar4(uint4);
2486 uchar4 __ovld __cnfn convert_uchar4_sat(uint4);
2487 uchar4 __ovld __cnfn convert_uchar4_rte(long4);
2488 uchar4 __ovld __cnfn convert_uchar4_sat_rte(long4);
2489 uchar4 __ovld __cnfn convert_uchar4_rtz(long4);
2490 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(long4);
2491 uchar4 __ovld __cnfn convert_uchar4_rtp(long4);
2492 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(long4);
2493 uchar4 __ovld __cnfn convert_uchar4_rtn(long4);
2494 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(long4);
2495 uchar4 __ovld __cnfn convert_uchar4(long4);
2496 uchar4 __ovld __cnfn convert_uchar4_sat(long4);
2497 uchar4 __ovld __cnfn convert_uchar4_rte(ulong4);
2498 uchar4 __ovld __cnfn convert_uchar4_sat_rte(ulong4);
2499 uchar4 __ovld __cnfn convert_uchar4_rtz(ulong4);
2500 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ulong4);
2501 uchar4 __ovld __cnfn convert_uchar4_rtp(ulong4);
2502 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ulong4);
2503 uchar4 __ovld __cnfn convert_uchar4_rtn(ulong4);
2504 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ulong4);
2505 uchar4 __ovld __cnfn convert_uchar4(ulong4);
2506 uchar4 __ovld __cnfn convert_uchar4_sat(ulong4);
2507 uchar4 __ovld __cnfn convert_uchar4_rte(float4);
2508 uchar4 __ovld __cnfn convert_uchar4_sat_rte(float4);
2509 uchar4 __ovld __cnfn convert_uchar4_rtz(float4);
2510 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(float4);
2511 uchar4 __ovld __cnfn convert_uchar4_rtp(float4);
2512 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(float4);
2513 uchar4 __ovld __cnfn convert_uchar4_rtn(float4);
2514 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(float4);
2515 uchar4 __ovld __cnfn convert_uchar4(float4);
2516 uchar4 __ovld __cnfn convert_uchar4_sat(float4);
2517 short4 __ovld __cnfn convert_short4_rte(char4);
2518 short4 __ovld __cnfn convert_short4_sat_rte(char4);
2519 short4 __ovld __cnfn convert_short4_rtz(char4);
2520 short4 __ovld __cnfn convert_short4_sat_rtz(char4);
2521 short4 __ovld __cnfn convert_short4_rtp(char4);
2522 short4 __ovld __cnfn convert_short4_sat_rtp(char4);
2523 short4 __ovld __cnfn convert_short4_rtn(char4);
2524 short4 __ovld __cnfn convert_short4_sat_rtn(char4);
2525 short4 __ovld __cnfn convert_short4(char4);
2526 short4 __ovld __cnfn convert_short4_sat(char4);
2527 short4 __ovld __cnfn convert_short4_rte(uchar4);
2528 short4 __ovld __cnfn convert_short4_sat_rte(uchar4);
2529 short4 __ovld __cnfn convert_short4_rtz(uchar4);
2530 short4 __ovld __cnfn convert_short4_sat_rtz(uchar4);
2531 short4 __ovld __cnfn convert_short4_rtp(uchar4);
2532 short4 __ovld __cnfn convert_short4_sat_rtp(uchar4);
2533 short4 __ovld __cnfn convert_short4_rtn(uchar4);
2534 short4 __ovld __cnfn convert_short4_sat_rtn(uchar4);
2535 short4 __ovld __cnfn convert_short4(uchar4);
2536 short4 __ovld __cnfn convert_short4_sat(uchar4);
2537 short4 __ovld __cnfn convert_short4_rte(short4);
2538 short4 __ovld __cnfn convert_short4_sat_rte(short4);
2539 short4 __ovld __cnfn convert_short4_rtz(short4);
2540 short4 __ovld __cnfn convert_short4_sat_rtz(short4);
2541 short4 __ovld __cnfn convert_short4_rtp(short4);
2542 short4 __ovld __cnfn convert_short4_sat_rtp(short4);
2543 short4 __ovld __cnfn convert_short4_rtn(short4);
2544 short4 __ovld __cnfn convert_short4_sat_rtn(short4);
2545 short4 __ovld __cnfn convert_short4(short4);
2546 short4 __ovld __cnfn convert_short4_sat(short4);
2547 short4 __ovld __cnfn convert_short4_rte(ushort4);
2548 short4 __ovld __cnfn convert_short4_sat_rte(ushort4);
2549 short4 __ovld __cnfn convert_short4_rtz(ushort4);
2550 short4 __ovld __cnfn convert_short4_sat_rtz(ushort4);
2551 short4 __ovld __cnfn convert_short4_rtp(ushort4);
2552 short4 __ovld __cnfn convert_short4_sat_rtp(ushort4);
2553 short4 __ovld __cnfn convert_short4_rtn(ushort4);
2554 short4 __ovld __cnfn convert_short4_sat_rtn(ushort4);
2555 short4 __ovld __cnfn convert_short4(ushort4);
2556 short4 __ovld __cnfn convert_short4_sat(ushort4);
2557 short4 __ovld __cnfn convert_short4_rte(int4);
2558 short4 __ovld __cnfn convert_short4_sat_rte(int4);
2559 short4 __ovld __cnfn convert_short4_rtz(int4);
2560 short4 __ovld __cnfn convert_short4_sat_rtz(int4);
2561 short4 __ovld __cnfn convert_short4_rtp(int4);
2562 short4 __ovld __cnfn convert_short4_sat_rtp(int4);
2563 short4 __ovld __cnfn convert_short4_rtn(int4);
2564 short4 __ovld __cnfn convert_short4_sat_rtn(int4);
2565 short4 __ovld __cnfn convert_short4(int4);
2566 short4 __ovld __cnfn convert_short4_sat(int4);
2567 short4 __ovld __cnfn convert_short4_rte(uint4);
2568 short4 __ovld __cnfn convert_short4_sat_rte(uint4);
2569 short4 __ovld __cnfn convert_short4_rtz(uint4);
2570 short4 __ovld __cnfn convert_short4_sat_rtz(uint4);
2571 short4 __ovld __cnfn convert_short4_rtp(uint4);
2572 short4 __ovld __cnfn convert_short4_sat_rtp(uint4);
2573 short4 __ovld __cnfn convert_short4_rtn(uint4);
2574 short4 __ovld __cnfn convert_short4_sat_rtn(uint4);
2575 short4 __ovld __cnfn convert_short4(uint4);
2576 short4 __ovld __cnfn convert_short4_sat(uint4);
2577 short4 __ovld __cnfn convert_short4_rte(long4);
2578 short4 __ovld __cnfn convert_short4_sat_rte(long4);
2579 short4 __ovld __cnfn convert_short4_rtz(long4);
2580 short4 __ovld __cnfn convert_short4_sat_rtz(long4);
2581 short4 __ovld __cnfn convert_short4_rtp(long4);
2582 short4 __ovld __cnfn convert_short4_sat_rtp(long4);
2583 short4 __ovld __cnfn convert_short4_rtn(long4);
2584 short4 __ovld __cnfn convert_short4_sat_rtn(long4);
2585 short4 __ovld __cnfn convert_short4(long4);
2586 short4 __ovld __cnfn convert_short4_sat(long4);
2587 short4 __ovld __cnfn convert_short4_rte(ulong4);
2588 short4 __ovld __cnfn convert_short4_sat_rte(ulong4);
2589 short4 __ovld __cnfn convert_short4_rtz(ulong4);
2590 short4 __ovld __cnfn convert_short4_sat_rtz(ulong4);
2591 short4 __ovld __cnfn convert_short4_rtp(ulong4);
2592 short4 __ovld __cnfn convert_short4_sat_rtp(ulong4);
2593 short4 __ovld __cnfn convert_short4_rtn(ulong4);
2594 short4 __ovld __cnfn convert_short4_sat_rtn(ulong4);
2595 short4 __ovld __cnfn convert_short4(ulong4);
2596 short4 __ovld __cnfn convert_short4_sat(ulong4);
2597 short4 __ovld __cnfn convert_short4_rte(float4);
2598 short4 __ovld __cnfn convert_short4_sat_rte(float4);
2599 short4 __ovld __cnfn convert_short4_rtz(float4);
2600 short4 __ovld __cnfn convert_short4_sat_rtz(float4);
2601 short4 __ovld __cnfn convert_short4_rtp(float4);
2602 short4 __ovld __cnfn convert_short4_sat_rtp(float4);
2603 short4 __ovld __cnfn convert_short4_rtn(float4);
2604 short4 __ovld __cnfn convert_short4_sat_rtn(float4);
2605 short4 __ovld __cnfn convert_short4(float4);
2606 short4 __ovld __cnfn convert_short4_sat(float4);
2607 ushort4 __ovld __cnfn convert_ushort4_rte(char4);
2608 ushort4 __ovld __cnfn convert_ushort4_sat_rte(char4);
2609 ushort4 __ovld __cnfn convert_ushort4_rtz(char4);
2610 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(char4);
2611 ushort4 __ovld __cnfn convert_ushort4_rtp(char4);
2612 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(char4);
2613 ushort4 __ovld __cnfn convert_ushort4_rtn(char4);
2614 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(char4);
2615 ushort4 __ovld __cnfn convert_ushort4(char4);
2616 ushort4 __ovld __cnfn convert_ushort4_sat(char4);
2617 ushort4 __ovld __cnfn convert_ushort4_rte(uchar4);
2618 ushort4 __ovld __cnfn convert_ushort4_sat_rte(uchar4);
2619 ushort4 __ovld __cnfn convert_ushort4_rtz(uchar4);
2620 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uchar4);
2621 ushort4 __ovld __cnfn convert_ushort4_rtp(uchar4);
2622 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uchar4);
2623 ushort4 __ovld __cnfn convert_ushort4_rtn(uchar4);
2624 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uchar4);
2625 ushort4 __ovld __cnfn convert_ushort4(uchar4);
2626 ushort4 __ovld __cnfn convert_ushort4_sat(uchar4);
2627 ushort4 __ovld __cnfn convert_ushort4_rte(short4);
2628 ushort4 __ovld __cnfn convert_ushort4_sat_rte(short4);
2629 ushort4 __ovld __cnfn convert_ushort4_rtz(short4);
2630 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(short4);
2631 ushort4 __ovld __cnfn convert_ushort4_rtp(short4);
2632 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(short4);
2633 ushort4 __ovld __cnfn convert_ushort4_rtn(short4);
2634 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(short4);
2635 ushort4 __ovld __cnfn convert_ushort4(short4);
2636 ushort4 __ovld __cnfn convert_ushort4_sat(short4);
2637 ushort4 __ovld __cnfn convert_ushort4_rte(ushort4);
2638 ushort4 __ovld __cnfn convert_ushort4_sat_rte(ushort4);
2639 ushort4 __ovld __cnfn convert_ushort4_rtz(ushort4);
2640 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ushort4);
2641 ushort4 __ovld __cnfn convert_ushort4_rtp(ushort4);
2642 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ushort4);
2643 ushort4 __ovld __cnfn convert_ushort4_rtn(ushort4);
2644 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ushort4);
2645 ushort4 __ovld __cnfn convert_ushort4(ushort4);
2646 ushort4 __ovld __cnfn convert_ushort4_sat(ushort4);
2647 ushort4 __ovld __cnfn convert_ushort4_rte(int4);
2648 ushort4 __ovld __cnfn convert_ushort4_sat_rte(int4);
2649 ushort4 __ovld __cnfn convert_ushort4_rtz(int4);
2650 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(int4);
2651 ushort4 __ovld __cnfn convert_ushort4_rtp(int4);
2652 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(int4);
2653 ushort4 __ovld __cnfn convert_ushort4_rtn(int4);
2654 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(int4);
2655 ushort4 __ovld __cnfn convert_ushort4(int4);
2656 ushort4 __ovld __cnfn convert_ushort4_sat(int4);
2657 ushort4 __ovld __cnfn convert_ushort4_rte(uint4);
2658 ushort4 __ovld __cnfn convert_ushort4_sat_rte(uint4);
2659 ushort4 __ovld __cnfn convert_ushort4_rtz(uint4);
2660 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uint4);
2661 ushort4 __ovld __cnfn convert_ushort4_rtp(uint4);
2662 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uint4);
2663 ushort4 __ovld __cnfn convert_ushort4_rtn(uint4);
2664 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uint4);
2665 ushort4 __ovld __cnfn convert_ushort4(uint4);
2666 ushort4 __ovld __cnfn convert_ushort4_sat(uint4);
2667 ushort4 __ovld __cnfn convert_ushort4_rte(long4);
2668 ushort4 __ovld __cnfn convert_ushort4_sat_rte(long4);
2669 ushort4 __ovld __cnfn convert_ushort4_rtz(long4);
2670 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(long4);
2671 ushort4 __ovld __cnfn convert_ushort4_rtp(long4);
2672 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(long4);
2673 ushort4 __ovld __cnfn convert_ushort4_rtn(long4);
2674 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(long4);
2675 ushort4 __ovld __cnfn convert_ushort4(long4);
2676 ushort4 __ovld __cnfn convert_ushort4_sat(long4);
2677 ushort4 __ovld __cnfn convert_ushort4_rte(ulong4);
2678 ushort4 __ovld __cnfn convert_ushort4_sat_rte(ulong4);
2679 ushort4 __ovld __cnfn convert_ushort4_rtz(ulong4);
2680 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ulong4);
2681 ushort4 __ovld __cnfn convert_ushort4_rtp(ulong4);
2682 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ulong4);
2683 ushort4 __ovld __cnfn convert_ushort4_rtn(ulong4);
2684 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ulong4);
2685 ushort4 __ovld __cnfn convert_ushort4(ulong4);
2686 ushort4 __ovld __cnfn convert_ushort4_sat(ulong4);
2687 ushort4 __ovld __cnfn convert_ushort4_rte(float4);
2688 ushort4 __ovld __cnfn convert_ushort4_sat_rte(float4);
2689 ushort4 __ovld __cnfn convert_ushort4_rtz(float4);
2690 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(float4);
2691 ushort4 __ovld __cnfn convert_ushort4_rtp(float4);
2692 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(float4);
2693 ushort4 __ovld __cnfn convert_ushort4_rtn(float4);
2694 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(float4);
2695 ushort4 __ovld __cnfn convert_ushort4(float4);
2696 ushort4 __ovld __cnfn convert_ushort4_sat(float4);
2697 int4 __ovld __cnfn convert_int4_rte(char4);
2698 int4 __ovld __cnfn convert_int4_sat_rte(char4);
2699 int4 __ovld __cnfn convert_int4_rtz(char4);
2700 int4 __ovld __cnfn convert_int4_sat_rtz(char4);
2701 int4 __ovld __cnfn convert_int4_rtp(char4);
2702 int4 __ovld __cnfn convert_int4_sat_rtp(char4);
2703 int4 __ovld __cnfn convert_int4_rtn(char4);
2704 int4 __ovld __cnfn convert_int4_sat_rtn(char4);
2705 int4 __ovld __cnfn convert_int4(char4);
2706 int4 __ovld __cnfn convert_int4_sat(char4);
2707 int4 __ovld __cnfn convert_int4_rte(uchar4);
2708 int4 __ovld __cnfn convert_int4_sat_rte(uchar4);
2709 int4 __ovld __cnfn convert_int4_rtz(uchar4);
2710 int4 __ovld __cnfn convert_int4_sat_rtz(uchar4);
2711 int4 __ovld __cnfn convert_int4_rtp(uchar4);
2712 int4 __ovld __cnfn convert_int4_sat_rtp(uchar4);
2713 int4 __ovld __cnfn convert_int4_rtn(uchar4);
2714 int4 __ovld __cnfn convert_int4_sat_rtn(uchar4);
2715 int4 __ovld __cnfn convert_int4(uchar4);
2716 int4 __ovld __cnfn convert_int4_sat(uchar4);
2717 int4 __ovld __cnfn convert_int4_rte(short4);
2718 int4 __ovld __cnfn convert_int4_sat_rte(short4);
2719 int4 __ovld __cnfn convert_int4_rtz(short4);
2720 int4 __ovld __cnfn convert_int4_sat_rtz(short4);
2721 int4 __ovld __cnfn convert_int4_rtp(short4);
2722 int4 __ovld __cnfn convert_int4_sat_rtp(short4);
2723 int4 __ovld __cnfn convert_int4_rtn(short4);
2724 int4 __ovld __cnfn convert_int4_sat_rtn(short4);
2725 int4 __ovld __cnfn convert_int4(short4);
2726 int4 __ovld __cnfn convert_int4_sat(short4);
2727 int4 __ovld __cnfn convert_int4_rte(ushort4);
2728 int4 __ovld __cnfn convert_int4_sat_rte(ushort4);
2729 int4 __ovld __cnfn convert_int4_rtz(ushort4);
2730 int4 __ovld __cnfn convert_int4_sat_rtz(ushort4);
2731 int4 __ovld __cnfn convert_int4_rtp(ushort4);
2732 int4 __ovld __cnfn convert_int4_sat_rtp(ushort4);
2733 int4 __ovld __cnfn convert_int4_rtn(ushort4);
2734 int4 __ovld __cnfn convert_int4_sat_rtn(ushort4);
2735 int4 __ovld __cnfn convert_int4(ushort4);
2736 int4 __ovld __cnfn convert_int4_sat(ushort4);
2737 int4 __ovld __cnfn convert_int4_rte(int4);
2738 int4 __ovld __cnfn convert_int4_sat_rte(int4);
2739 int4 __ovld __cnfn convert_int4_rtz(int4);
2740 int4 __ovld __cnfn convert_int4_sat_rtz(int4);
2741 int4 __ovld __cnfn convert_int4_rtp(int4);
2742 int4 __ovld __cnfn convert_int4_sat_rtp(int4);
2743 int4 __ovld __cnfn convert_int4_rtn(int4);
2744 int4 __ovld __cnfn convert_int4_sat_rtn(int4);
2745 int4 __ovld __cnfn convert_int4(int4);
2746 int4 __ovld __cnfn convert_int4_sat(int4);
2747 int4 __ovld __cnfn convert_int4_rte(uint4);
2748 int4 __ovld __cnfn convert_int4_sat_rte(uint4);
2749 int4 __ovld __cnfn convert_int4_rtz(uint4);
2750 int4 __ovld __cnfn convert_int4_sat_rtz(uint4);
2751 int4 __ovld __cnfn convert_int4_rtp(uint4);
2752 int4 __ovld __cnfn convert_int4_sat_rtp(uint4);
2753 int4 __ovld __cnfn convert_int4_rtn(uint4);
2754 int4 __ovld __cnfn convert_int4_sat_rtn(uint4);
2755 int4 __ovld __cnfn convert_int4(uint4);
2756 int4 __ovld __cnfn convert_int4_sat(uint4);
2757 int4 __ovld __cnfn convert_int4_rte(long4);
2758 int4 __ovld __cnfn convert_int4_sat_rte(long4);
2759 int4 __ovld __cnfn convert_int4_rtz(long4);
2760 int4 __ovld __cnfn convert_int4_sat_rtz(long4);
2761 int4 __ovld __cnfn convert_int4_rtp(long4);
2762 int4 __ovld __cnfn convert_int4_sat_rtp(long4);
2763 int4 __ovld __cnfn convert_int4_rtn(long4);
2764 int4 __ovld __cnfn convert_int4_sat_rtn(long4);
2765 int4 __ovld __cnfn convert_int4(long4);
2766 int4 __ovld __cnfn convert_int4_sat(long4);
2767 int4 __ovld __cnfn convert_int4_rte(ulong4);
2768 int4 __ovld __cnfn convert_int4_sat_rte(ulong4);
2769 int4 __ovld __cnfn convert_int4_rtz(ulong4);
2770 int4 __ovld __cnfn convert_int4_sat_rtz(ulong4);
2771 int4 __ovld __cnfn convert_int4_rtp(ulong4);
2772 int4 __ovld __cnfn convert_int4_sat_rtp(ulong4);
2773 int4 __ovld __cnfn convert_int4_rtn(ulong4);
2774 int4 __ovld __cnfn convert_int4_sat_rtn(ulong4);
2775 int4 __ovld __cnfn convert_int4(ulong4);
2776 int4 __ovld __cnfn convert_int4_sat(ulong4);
2777 int4 __ovld __cnfn convert_int4_rte(float4);
2778 int4 __ovld __cnfn convert_int4_sat_rte(float4);
2779 int4 __ovld __cnfn convert_int4_rtz(float4);
2780 int4 __ovld __cnfn convert_int4_sat_rtz(float4);
2781 int4 __ovld __cnfn convert_int4_rtp(float4);
2782 int4 __ovld __cnfn convert_int4_sat_rtp(float4);
2783 int4 __ovld __cnfn convert_int4_rtn(float4);
2784 int4 __ovld __cnfn convert_int4_sat_rtn(float4);
2785 int4 __ovld __cnfn convert_int4(float4);
2786 int4 __ovld __cnfn convert_int4_sat(float4);
2787 uint4 __ovld __cnfn convert_uint4_rte(char4);
2788 uint4 __ovld __cnfn convert_uint4_sat_rte(char4);
2789 uint4 __ovld __cnfn convert_uint4_rtz(char4);
2790 uint4 __ovld __cnfn convert_uint4_sat_rtz(char4);
2791 uint4 __ovld __cnfn convert_uint4_rtp(char4);
2792 uint4 __ovld __cnfn convert_uint4_sat_rtp(char4);
2793 uint4 __ovld __cnfn convert_uint4_rtn(char4);
2794 uint4 __ovld __cnfn convert_uint4_sat_rtn(char4);
2795 uint4 __ovld __cnfn convert_uint4(char4);
2796 uint4 __ovld __cnfn convert_uint4_sat(char4);
2797 uint4 __ovld __cnfn convert_uint4_rte(uchar4);
2798 uint4 __ovld __cnfn convert_uint4_sat_rte(uchar4);
2799 uint4 __ovld __cnfn convert_uint4_rtz(uchar4);
2800 uint4 __ovld __cnfn convert_uint4_sat_rtz(uchar4);
2801 uint4 __ovld __cnfn convert_uint4_rtp(uchar4);
2802 uint4 __ovld __cnfn convert_uint4_sat_rtp(uchar4);
2803 uint4 __ovld __cnfn convert_uint4_rtn(uchar4);
2804 uint4 __ovld __cnfn convert_uint4_sat_rtn(uchar4);
2805 uint4 __ovld __cnfn convert_uint4(uchar4);
2806 uint4 __ovld __cnfn convert_uint4_sat(uchar4);
2807 uint4 __ovld __cnfn convert_uint4_rte(short4);
2808 uint4 __ovld __cnfn convert_uint4_sat_rte(short4);
2809 uint4 __ovld __cnfn convert_uint4_rtz(short4);
2810 uint4 __ovld __cnfn convert_uint4_sat_rtz(short4);
2811 uint4 __ovld __cnfn convert_uint4_rtp(short4);
2812 uint4 __ovld __cnfn convert_uint4_sat_rtp(short4);
2813 uint4 __ovld __cnfn convert_uint4_rtn(short4);
2814 uint4 __ovld __cnfn convert_uint4_sat_rtn(short4);
2815 uint4 __ovld __cnfn convert_uint4(short4);
2816 uint4 __ovld __cnfn convert_uint4_sat(short4);
2817 uint4 __ovld __cnfn convert_uint4_rte(ushort4);
2818 uint4 __ovld __cnfn convert_uint4_sat_rte(ushort4);
2819 uint4 __ovld __cnfn convert_uint4_rtz(ushort4);
2820 uint4 __ovld __cnfn convert_uint4_sat_rtz(ushort4);
2821 uint4 __ovld __cnfn convert_uint4_rtp(ushort4);
2822 uint4 __ovld __cnfn convert_uint4_sat_rtp(ushort4);
2823 uint4 __ovld __cnfn convert_uint4_rtn(ushort4);
2824 uint4 __ovld __cnfn convert_uint4_sat_rtn(ushort4);
2825 uint4 __ovld __cnfn convert_uint4(ushort4);
2826 uint4 __ovld __cnfn convert_uint4_sat(ushort4);
2827 uint4 __ovld __cnfn convert_uint4_rte(int4);
2828 uint4 __ovld __cnfn convert_uint4_sat_rte(int4);
2829 uint4 __ovld __cnfn convert_uint4_rtz(int4);
2830 uint4 __ovld __cnfn convert_uint4_sat_rtz(int4);
2831 uint4 __ovld __cnfn convert_uint4_rtp(int4);
2832 uint4 __ovld __cnfn convert_uint4_sat_rtp(int4);
2833 uint4 __ovld __cnfn convert_uint4_rtn(int4);
2834 uint4 __ovld __cnfn convert_uint4_sat_rtn(int4);
2835 uint4 __ovld __cnfn convert_uint4(int4);
2836 uint4 __ovld __cnfn convert_uint4_sat(int4);
2837 uint4 __ovld __cnfn convert_uint4_rte(uint4);
2838 uint4 __ovld __cnfn convert_uint4_sat_rte(uint4);
2839 uint4 __ovld __cnfn convert_uint4_rtz(uint4);
2840 uint4 __ovld __cnfn convert_uint4_sat_rtz(uint4);
2841 uint4 __ovld __cnfn convert_uint4_rtp(uint4);
2842 uint4 __ovld __cnfn convert_uint4_sat_rtp(uint4);
2843 uint4 __ovld __cnfn convert_uint4_rtn(uint4);
2844 uint4 __ovld __cnfn convert_uint4_sat_rtn(uint4);
2845 uint4 __ovld __cnfn convert_uint4(uint4);
2846 uint4 __ovld __cnfn convert_uint4_sat(uint4);
2847 uint4 __ovld __cnfn convert_uint4_rte(long4);
2848 uint4 __ovld __cnfn convert_uint4_sat_rte(long4);
2849 uint4 __ovld __cnfn convert_uint4_rtz(long4);
2850 uint4 __ovld __cnfn convert_uint4_sat_rtz(long4);
2851 uint4 __ovld __cnfn convert_uint4_rtp(long4);
2852 uint4 __ovld __cnfn convert_uint4_sat_rtp(long4);
2853 uint4 __ovld __cnfn convert_uint4_rtn(long4);
2854 uint4 __ovld __cnfn convert_uint4_sat_rtn(long4);
2855 uint4 __ovld __cnfn convert_uint4(long4);
2856 uint4 __ovld __cnfn convert_uint4_sat(long4);
2857 uint4 __ovld __cnfn convert_uint4_rte(ulong4);
2858 uint4 __ovld __cnfn convert_uint4_sat_rte(ulong4);
2859 uint4 __ovld __cnfn convert_uint4_rtz(ulong4);
2860 uint4 __ovld __cnfn convert_uint4_sat_rtz(ulong4);
2861 uint4 __ovld __cnfn convert_uint4_rtp(ulong4);
2862 uint4 __ovld __cnfn convert_uint4_sat_rtp(ulong4);
2863 uint4 __ovld __cnfn convert_uint4_rtn(ulong4);
2864 uint4 __ovld __cnfn convert_uint4_sat_rtn(ulong4);
2865 uint4 __ovld __cnfn convert_uint4(ulong4);
2866 uint4 __ovld __cnfn convert_uint4_sat(ulong4);
2867 uint4 __ovld __cnfn convert_uint4_rte(float4);
2868 uint4 __ovld __cnfn convert_uint4_sat_rte(float4);
2869 uint4 __ovld __cnfn convert_uint4_rtz(float4);
2870 uint4 __ovld __cnfn convert_uint4_sat_rtz(float4);
2871 uint4 __ovld __cnfn convert_uint4_rtp(float4);
2872 uint4 __ovld __cnfn convert_uint4_sat_rtp(float4);
2873 uint4 __ovld __cnfn convert_uint4_rtn(float4);
2874 uint4 __ovld __cnfn convert_uint4_sat_rtn(float4);
2875 uint4 __ovld __cnfn convert_uint4(float4);
2876 uint4 __ovld __cnfn convert_uint4_sat(float4);
2877 long4 __ovld __cnfn convert_long4_rte(char4);
2878 long4 __ovld __cnfn convert_long4_sat_rte(char4);
2879 long4 __ovld __cnfn convert_long4_rtz(char4);
2880 long4 __ovld __cnfn convert_long4_sat_rtz(char4);
2881 long4 __ovld __cnfn convert_long4_rtp(char4);
2882 long4 __ovld __cnfn convert_long4_sat_rtp(char4);
2883 long4 __ovld __cnfn convert_long4_rtn(char4);
2884 long4 __ovld __cnfn convert_long4_sat_rtn(char4);
2885 long4 __ovld __cnfn convert_long4(char4);
2886 long4 __ovld __cnfn convert_long4_sat(char4);
2887 long4 __ovld __cnfn convert_long4_rte(uchar4);
2888 long4 __ovld __cnfn convert_long4_sat_rte(uchar4);
2889 long4 __ovld __cnfn convert_long4_rtz(uchar4);
2890 long4 __ovld __cnfn convert_long4_sat_rtz(uchar4);
2891 long4 __ovld __cnfn convert_long4_rtp(uchar4);
2892 long4 __ovld __cnfn convert_long4_sat_rtp(uchar4);
2893 long4 __ovld __cnfn convert_long4_rtn(uchar4);
2894 long4 __ovld __cnfn convert_long4_sat_rtn(uchar4);
2895 long4 __ovld __cnfn convert_long4(uchar4);
2896 long4 __ovld __cnfn convert_long4_sat(uchar4);
2897 long4 __ovld __cnfn convert_long4_rte(short4);
2898 long4 __ovld __cnfn convert_long4_sat_rte(short4);
2899 long4 __ovld __cnfn convert_long4_rtz(short4);
2900 long4 __ovld __cnfn convert_long4_sat_rtz(short4);
2901 long4 __ovld __cnfn convert_long4_rtp(short4);
2902 long4 __ovld __cnfn convert_long4_sat_rtp(short4);
2903 long4 __ovld __cnfn convert_long4_rtn(short4);
2904 long4 __ovld __cnfn convert_long4_sat_rtn(short4);
2905 long4 __ovld __cnfn convert_long4(short4);
2906 long4 __ovld __cnfn convert_long4_sat(short4);
2907 long4 __ovld __cnfn convert_long4_rte(ushort4);
2908 long4 __ovld __cnfn convert_long4_sat_rte(ushort4);
2909 long4 __ovld __cnfn convert_long4_rtz(ushort4);
2910 long4 __ovld __cnfn convert_long4_sat_rtz(ushort4);
2911 long4 __ovld __cnfn convert_long4_rtp(ushort4);
2912 long4 __ovld __cnfn convert_long4_sat_rtp(ushort4);
2913 long4 __ovld __cnfn convert_long4_rtn(ushort4);
2914 long4 __ovld __cnfn convert_long4_sat_rtn(ushort4);
2915 long4 __ovld __cnfn convert_long4(ushort4);
2916 long4 __ovld __cnfn convert_long4_sat(ushort4);
2917 long4 __ovld __cnfn convert_long4_rte(int4);
2918 long4 __ovld __cnfn convert_long4_sat_rte(int4);
2919 long4 __ovld __cnfn convert_long4_rtz(int4);
2920 long4 __ovld __cnfn convert_long4_sat_rtz(int4);
2921 long4 __ovld __cnfn convert_long4_rtp(int4);
2922 long4 __ovld __cnfn convert_long4_sat_rtp(int4);
2923 long4 __ovld __cnfn convert_long4_rtn(int4);
2924 long4 __ovld __cnfn convert_long4_sat_rtn(int4);
2925 long4 __ovld __cnfn convert_long4(int4);
2926 long4 __ovld __cnfn convert_long4_sat(int4);
2927 long4 __ovld __cnfn convert_long4_rte(uint4);
2928 long4 __ovld __cnfn convert_long4_sat_rte(uint4);
2929 long4 __ovld __cnfn convert_long4_rtz(uint4);
2930 long4 __ovld __cnfn convert_long4_sat_rtz(uint4);
2931 long4 __ovld __cnfn convert_long4_rtp(uint4);
2932 long4 __ovld __cnfn convert_long4_sat_rtp(uint4);
2933 long4 __ovld __cnfn convert_long4_rtn(uint4);
2934 long4 __ovld __cnfn convert_long4_sat_rtn(uint4);
2935 long4 __ovld __cnfn convert_long4(uint4);
2936 long4 __ovld __cnfn convert_long4_sat(uint4);
2937 long4 __ovld __cnfn convert_long4_rte(long4);
2938 long4 __ovld __cnfn convert_long4_sat_rte(long4);
2939 long4 __ovld __cnfn convert_long4_rtz(long4);
2940 long4 __ovld __cnfn convert_long4_sat_rtz(long4);
2941 long4 __ovld __cnfn convert_long4_rtp(long4);
2942 long4 __ovld __cnfn convert_long4_sat_rtp(long4);
2943 long4 __ovld __cnfn convert_long4_rtn(long4);
2944 long4 __ovld __cnfn convert_long4_sat_rtn(long4);
2945 long4 __ovld __cnfn convert_long4(long4);
2946 long4 __ovld __cnfn convert_long4_sat(long4);
2947 long4 __ovld __cnfn convert_long4_rte(ulong4);
2948 long4 __ovld __cnfn convert_long4_sat_rte(ulong4);
2949 long4 __ovld __cnfn convert_long4_rtz(ulong4);
2950 long4 __ovld __cnfn convert_long4_sat_rtz(ulong4);
2951 long4 __ovld __cnfn convert_long4_rtp(ulong4);
2952 long4 __ovld __cnfn convert_long4_sat_rtp(ulong4);
2953 long4 __ovld __cnfn convert_long4_rtn(ulong4);
2954 long4 __ovld __cnfn convert_long4_sat_rtn(ulong4);
2955 long4 __ovld __cnfn convert_long4(ulong4);
2956 long4 __ovld __cnfn convert_long4_sat(ulong4);
2957 long4 __ovld __cnfn convert_long4_rte(float4);
2958 long4 __ovld __cnfn convert_long4_sat_rte(float4);
2959 long4 __ovld __cnfn convert_long4_rtz(float4);
2960 long4 __ovld __cnfn convert_long4_sat_rtz(float4);
2961 long4 __ovld __cnfn convert_long4_rtp(float4);
2962 long4 __ovld __cnfn convert_long4_sat_rtp(float4);
2963 long4 __ovld __cnfn convert_long4_rtn(float4);
2964 long4 __ovld __cnfn convert_long4_sat_rtn(float4);
2965 long4 __ovld __cnfn convert_long4(float4);
2966 long4 __ovld __cnfn convert_long4_sat(float4);
2967 ulong4 __ovld __cnfn convert_ulong4_rte(char4);
2968 ulong4 __ovld __cnfn convert_ulong4_sat_rte(char4);
2969 ulong4 __ovld __cnfn convert_ulong4_rtz(char4);
2970 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(char4);
2971 ulong4 __ovld __cnfn convert_ulong4_rtp(char4);
2972 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(char4);
2973 ulong4 __ovld __cnfn convert_ulong4_rtn(char4);
2974 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(char4);
2975 ulong4 __ovld __cnfn convert_ulong4(char4);
2976 ulong4 __ovld __cnfn convert_ulong4_sat(char4);
2977 ulong4 __ovld __cnfn convert_ulong4_rte(uchar4);
2978 ulong4 __ovld __cnfn convert_ulong4_sat_rte(uchar4);
2979 ulong4 __ovld __cnfn convert_ulong4_rtz(uchar4);
2980 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uchar4);
2981 ulong4 __ovld __cnfn convert_ulong4_rtp(uchar4);
2982 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uchar4);
2983 ulong4 __ovld __cnfn convert_ulong4_rtn(uchar4);
2984 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uchar4);
2985 ulong4 __ovld __cnfn convert_ulong4(uchar4);
2986 ulong4 __ovld __cnfn convert_ulong4_sat(uchar4);
2987 ulong4 __ovld __cnfn convert_ulong4_rte(short4);
2988 ulong4 __ovld __cnfn convert_ulong4_sat_rte(short4);
2989 ulong4 __ovld __cnfn convert_ulong4_rtz(short4);
2990 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(short4);
2991 ulong4 __ovld __cnfn convert_ulong4_rtp(short4);
2992 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(short4);
2993 ulong4 __ovld __cnfn convert_ulong4_rtn(short4);
2994 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(short4);
2995 ulong4 __ovld __cnfn convert_ulong4(short4);
2996 ulong4 __ovld __cnfn convert_ulong4_sat(short4);
2997 ulong4 __ovld __cnfn convert_ulong4_rte(ushort4);
2998 ulong4 __ovld __cnfn convert_ulong4_sat_rte(ushort4);
2999 ulong4 __ovld __cnfn convert_ulong4_rtz(ushort4);
3000 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ushort4);
3001 ulong4 __ovld __cnfn convert_ulong4_rtp(ushort4);
3002 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ushort4);
3003 ulong4 __ovld __cnfn convert_ulong4_rtn(ushort4);
3004 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ushort4);
3005 ulong4 __ovld __cnfn convert_ulong4(ushort4);
3006 ulong4 __ovld __cnfn convert_ulong4_sat(ushort4);
3007 ulong4 __ovld __cnfn convert_ulong4_rte(int4);
3008 ulong4 __ovld __cnfn convert_ulong4_sat_rte(int4);
3009 ulong4 __ovld __cnfn convert_ulong4_rtz(int4);
3010 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(int4);
3011 ulong4 __ovld __cnfn convert_ulong4_rtp(int4);
3012 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(int4);
3013 ulong4 __ovld __cnfn convert_ulong4_rtn(int4);
3014 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(int4);
3015 ulong4 __ovld __cnfn convert_ulong4(int4);
3016 ulong4 __ovld __cnfn convert_ulong4_sat(int4);
3017 ulong4 __ovld __cnfn convert_ulong4_rte(uint4);
3018 ulong4 __ovld __cnfn convert_ulong4_sat_rte(uint4);
3019 ulong4 __ovld __cnfn convert_ulong4_rtz(uint4);
3020 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uint4);
3021 ulong4 __ovld __cnfn convert_ulong4_rtp(uint4);
3022 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uint4);
3023 ulong4 __ovld __cnfn convert_ulong4_rtn(uint4);
3024 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uint4);
3025 ulong4 __ovld __cnfn convert_ulong4(uint4);
3026 ulong4 __ovld __cnfn convert_ulong4_sat(uint4);
3027 ulong4 __ovld __cnfn convert_ulong4_rte(long4);
3028 ulong4 __ovld __cnfn convert_ulong4_sat_rte(long4);
3029 ulong4 __ovld __cnfn convert_ulong4_rtz(long4);
3030 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(long4);
3031 ulong4 __ovld __cnfn convert_ulong4_rtp(long4);
3032 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(long4);
3033 ulong4 __ovld __cnfn convert_ulong4_rtn(long4);
3034 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(long4);
3035 ulong4 __ovld __cnfn convert_ulong4(long4);
3036 ulong4 __ovld __cnfn convert_ulong4_sat(long4);
3037 ulong4 __ovld __cnfn convert_ulong4_rte(ulong4);
3038 ulong4 __ovld __cnfn convert_ulong4_sat_rte(ulong4);
3039 ulong4 __ovld __cnfn convert_ulong4_rtz(ulong4);
3040 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ulong4);
3041 ulong4 __ovld __cnfn convert_ulong4_rtp(ulong4);
3042 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ulong4);
3043 ulong4 __ovld __cnfn convert_ulong4_rtn(ulong4);
3044 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ulong4);
3045 ulong4 __ovld __cnfn convert_ulong4(ulong4);
3046 ulong4 __ovld __cnfn convert_ulong4_sat(ulong4);
3047 ulong4 __ovld __cnfn convert_ulong4_rte(float4);
3048 ulong4 __ovld __cnfn convert_ulong4_sat_rte(float4);
3049 ulong4 __ovld __cnfn convert_ulong4_rtz(float4);
3050 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(float4);
3051 ulong4 __ovld __cnfn convert_ulong4_rtp(float4);
3052 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(float4);
3053 ulong4 __ovld __cnfn convert_ulong4_rtn(float4);
3054 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(float4);
3055 ulong4 __ovld __cnfn convert_ulong4(float4);
3056 ulong4 __ovld __cnfn convert_ulong4_sat(float4);
3057 float4 __ovld __cnfn convert_float4_rte(char4);
3058 float4 __ovld __cnfn convert_float4_rtz(char4);
3059 float4 __ovld __cnfn convert_float4_rtp(char4);
3060 float4 __ovld __cnfn convert_float4_rtn(char4);
3061 float4 __ovld __cnfn convert_float4(char4);
3062 float4 __ovld __cnfn convert_float4_rte(uchar4);
3063 float4 __ovld __cnfn convert_float4_rtz(uchar4);
3064 float4 __ovld __cnfn convert_float4_rtp(uchar4);
3065 float4 __ovld __cnfn convert_float4_rtn(uchar4);
3066 float4 __ovld __cnfn convert_float4(uchar4);
3067 float4 __ovld __cnfn convert_float4_rte(short4);
3068 float4 __ovld __cnfn convert_float4_rtz(short4);
3069 float4 __ovld __cnfn convert_float4_rtp(short4);
3070 float4 __ovld __cnfn convert_float4_rtn(short4);
3071 float4 __ovld __cnfn convert_float4(short4);
3072 float4 __ovld __cnfn convert_float4_rte(ushort4);
3073 float4 __ovld __cnfn convert_float4_rtz(ushort4);
3074 float4 __ovld __cnfn convert_float4_rtp(ushort4);
3075 float4 __ovld __cnfn convert_float4_rtn(ushort4);
3076 float4 __ovld __cnfn convert_float4(ushort4);
3077 float4 __ovld __cnfn convert_float4_rte(int4);
3078 float4 __ovld __cnfn convert_float4_rtz(int4);
3079 float4 __ovld __cnfn convert_float4_rtp(int4);
3080 float4 __ovld __cnfn convert_float4_rtn(int4);
3081 float4 __ovld __cnfn convert_float4(int4);
3082 float4 __ovld __cnfn convert_float4_rte(uint4);
3083 float4 __ovld __cnfn convert_float4_rtz(uint4);
3084 float4 __ovld __cnfn convert_float4_rtp(uint4);
3085 float4 __ovld __cnfn convert_float4_rtn(uint4);
3086 float4 __ovld __cnfn convert_float4(uint4);
3087 float4 __ovld __cnfn convert_float4_rte(long4);
3088 float4 __ovld __cnfn convert_float4_rtz(long4);
3089 float4 __ovld __cnfn convert_float4_rtp(long4);
3090 float4 __ovld __cnfn convert_float4_rtn(long4);
3091 float4 __ovld __cnfn convert_float4(long4);
3092 float4 __ovld __cnfn convert_float4_rte(ulong4);
3093 float4 __ovld __cnfn convert_float4_rtz(ulong4);
3094 float4 __ovld __cnfn convert_float4_rtp(ulong4);
3095 float4 __ovld __cnfn convert_float4_rtn(ulong4);
3096 float4 __ovld __cnfn convert_float4(ulong4);
3097 float4 __ovld __cnfn convert_float4_rte(float4);
3098 float4 __ovld __cnfn convert_float4_rtz(float4);
3099 float4 __ovld __cnfn convert_float4_rtp(float4);
3100 float4 __ovld __cnfn convert_float4_rtn(float4);
3101 float4 __ovld __cnfn convert_float4(float4);
3102 char8 __ovld __cnfn convert_char8_rte(char8);
3103 char8 __ovld __cnfn convert_char8_sat_rte(char8);
3104 char8 __ovld __cnfn convert_char8_rtz(char8);
3105 char8 __ovld __cnfn convert_char8_sat_rtz(char8);
3106 char8 __ovld __cnfn convert_char8_rtp(char8);
3107 char8 __ovld __cnfn convert_char8_sat_rtp(char8);
3108 char8 __ovld __cnfn convert_char8_rtn(char8);
3109 char8 __ovld __cnfn convert_char8_sat_rtn(char8);
3110 char8 __ovld __cnfn convert_char8(char8);
3111 char8 __ovld __cnfn convert_char8_sat(char8);
3112 char8 __ovld __cnfn convert_char8_rte(uchar8);
3113 char8 __ovld __cnfn convert_char8_sat_rte(uchar8);
3114 char8 __ovld __cnfn convert_char8_rtz(uchar8);
3115 char8 __ovld __cnfn convert_char8_sat_rtz(uchar8);
3116 char8 __ovld __cnfn convert_char8_rtp(uchar8);
3117 char8 __ovld __cnfn convert_char8_sat_rtp(uchar8);
3118 char8 __ovld __cnfn convert_char8_rtn(uchar8);
3119 char8 __ovld __cnfn convert_char8_sat_rtn(uchar8);
3120 char8 __ovld __cnfn convert_char8(uchar8);
3121 char8 __ovld __cnfn convert_char8_sat(uchar8);
3122 char8 __ovld __cnfn convert_char8_rte(short8);
3123 char8 __ovld __cnfn convert_char8_sat_rte(short8);
3124 char8 __ovld __cnfn convert_char8_rtz(short8);
3125 char8 __ovld __cnfn convert_char8_sat_rtz(short8);
3126 char8 __ovld __cnfn convert_char8_rtp(short8);
3127 char8 __ovld __cnfn convert_char8_sat_rtp(short8);
3128 char8 __ovld __cnfn convert_char8_rtn(short8);
3129 char8 __ovld __cnfn convert_char8_sat_rtn(short8);
3130 char8 __ovld __cnfn convert_char8(short8);
3131 char8 __ovld __cnfn convert_char8_sat(short8);
3132 char8 __ovld __cnfn convert_char8_rte(ushort8);
3133 char8 __ovld __cnfn convert_char8_sat_rte(ushort8);
3134 char8 __ovld __cnfn convert_char8_rtz(ushort8);
3135 char8 __ovld __cnfn convert_char8_sat_rtz(ushort8);
3136 char8 __ovld __cnfn convert_char8_rtp(ushort8);
3137 char8 __ovld __cnfn convert_char8_sat_rtp(ushort8);
3138 char8 __ovld __cnfn convert_char8_rtn(ushort8);
3139 char8 __ovld __cnfn convert_char8_sat_rtn(ushort8);
3140 char8 __ovld __cnfn convert_char8(ushort8);
3141 char8 __ovld __cnfn convert_char8_sat(ushort8);
3142 char8 __ovld __cnfn convert_char8_rte(int8);
3143 char8 __ovld __cnfn convert_char8_sat_rte(int8);
3144 char8 __ovld __cnfn convert_char8_rtz(int8);
3145 char8 __ovld __cnfn convert_char8_sat_rtz(int8);
3146 char8 __ovld __cnfn convert_char8_rtp(int8);
3147 char8 __ovld __cnfn convert_char8_sat_rtp(int8);
3148 char8 __ovld __cnfn convert_char8_rtn(int8);
3149 char8 __ovld __cnfn convert_char8_sat_rtn(int8);
3150 char8 __ovld __cnfn convert_char8(int8);
3151 char8 __ovld __cnfn convert_char8_sat(int8);
3152 char8 __ovld __cnfn convert_char8_rte(uint8);
3153 char8 __ovld __cnfn convert_char8_sat_rte(uint8);
3154 char8 __ovld __cnfn convert_char8_rtz(uint8);
3155 char8 __ovld __cnfn convert_char8_sat_rtz(uint8);
3156 char8 __ovld __cnfn convert_char8_rtp(uint8);
3157 char8 __ovld __cnfn convert_char8_sat_rtp(uint8);
3158 char8 __ovld __cnfn convert_char8_rtn(uint8);
3159 char8 __ovld __cnfn convert_char8_sat_rtn(uint8);
3160 char8 __ovld __cnfn convert_char8(uint8);
3161 char8 __ovld __cnfn convert_char8_sat(uint8);
3162 char8 __ovld __cnfn convert_char8_rte(long8);
3163 char8 __ovld __cnfn convert_char8_sat_rte(long8);
3164 char8 __ovld __cnfn convert_char8_rtz(long8);
3165 char8 __ovld __cnfn convert_char8_sat_rtz(long8);
3166 char8 __ovld __cnfn convert_char8_rtp(long8);
3167 char8 __ovld __cnfn convert_char8_sat_rtp(long8);
3168 char8 __ovld __cnfn convert_char8_rtn(long8);
3169 char8 __ovld __cnfn convert_char8_sat_rtn(long8);
3170 char8 __ovld __cnfn convert_char8(long8);
3171 char8 __ovld __cnfn convert_char8_sat(long8);
3172 char8 __ovld __cnfn convert_char8_rte(ulong8);
3173 char8 __ovld __cnfn convert_char8_sat_rte(ulong8);
3174 char8 __ovld __cnfn convert_char8_rtz(ulong8);
3175 char8 __ovld __cnfn convert_char8_sat_rtz(ulong8);
3176 char8 __ovld __cnfn convert_char8_rtp(ulong8);
3177 char8 __ovld __cnfn convert_char8_sat_rtp(ulong8);
3178 char8 __ovld __cnfn convert_char8_rtn(ulong8);
3179 char8 __ovld __cnfn convert_char8_sat_rtn(ulong8);
3180 char8 __ovld __cnfn convert_char8(ulong8);
3181 char8 __ovld __cnfn convert_char8_sat(ulong8);
3182 char8 __ovld __cnfn convert_char8_rte(float8);
3183 char8 __ovld __cnfn convert_char8_sat_rte(float8);
3184 char8 __ovld __cnfn convert_char8_rtz(float8);
3185 char8 __ovld __cnfn convert_char8_sat_rtz(float8);
3186 char8 __ovld __cnfn convert_char8_rtp(float8);
3187 char8 __ovld __cnfn convert_char8_sat_rtp(float8);
3188 char8 __ovld __cnfn convert_char8_rtn(float8);
3189 char8 __ovld __cnfn convert_char8_sat_rtn(float8);
3190 char8 __ovld __cnfn convert_char8(float8);
3191 char8 __ovld __cnfn convert_char8_sat(float8);
3192 uchar8 __ovld __cnfn convert_uchar8_rte(char8);
3193 uchar8 __ovld __cnfn convert_uchar8_sat_rte(char8);
3194 uchar8 __ovld __cnfn convert_uchar8_rtz(char8);
3195 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(char8);
3196 uchar8 __ovld __cnfn convert_uchar8_rtp(char8);
3197 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(char8);
3198 uchar8 __ovld __cnfn convert_uchar8_rtn(char8);
3199 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(char8);
3200 uchar8 __ovld __cnfn convert_uchar8(char8);
3201 uchar8 __ovld __cnfn convert_uchar8_sat(char8);
3202 uchar8 __ovld __cnfn convert_uchar8_rte(uchar8);
3203 uchar8 __ovld __cnfn convert_uchar8_sat_rte(uchar8);
3204 uchar8 __ovld __cnfn convert_uchar8_rtz(uchar8);
3205 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uchar8);
3206 uchar8 __ovld __cnfn convert_uchar8_rtp(uchar8);
3207 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uchar8);
3208 uchar8 __ovld __cnfn convert_uchar8_rtn(uchar8);
3209 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uchar8);
3210 uchar8 __ovld __cnfn convert_uchar8(uchar8);
3211 uchar8 __ovld __cnfn convert_uchar8_sat(uchar8);
3212 uchar8 __ovld __cnfn convert_uchar8_rte(short8);
3213 uchar8 __ovld __cnfn convert_uchar8_sat_rte(short8);
3214 uchar8 __ovld __cnfn convert_uchar8_rtz(short8);
3215 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(short8);
3216 uchar8 __ovld __cnfn convert_uchar8_rtp(short8);
3217 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(short8);
3218 uchar8 __ovld __cnfn convert_uchar8_rtn(short8);
3219 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(short8);
3220 uchar8 __ovld __cnfn convert_uchar8(short8);
3221 uchar8 __ovld __cnfn convert_uchar8_sat(short8);
3222 uchar8 __ovld __cnfn convert_uchar8_rte(ushort8);
3223 uchar8 __ovld __cnfn convert_uchar8_sat_rte(ushort8);
3224 uchar8 __ovld __cnfn convert_uchar8_rtz(ushort8);
3225 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ushort8);
3226 uchar8 __ovld __cnfn convert_uchar8_rtp(ushort8);
3227 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ushort8);
3228 uchar8 __ovld __cnfn convert_uchar8_rtn(ushort8);
3229 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ushort8);
3230 uchar8 __ovld __cnfn convert_uchar8(ushort8);
3231 uchar8 __ovld __cnfn convert_uchar8_sat(ushort8);
3232 uchar8 __ovld __cnfn convert_uchar8_rte(int8);
3233 uchar8 __ovld __cnfn convert_uchar8_sat_rte(int8);
3234 uchar8 __ovld __cnfn convert_uchar8_rtz(int8);
3235 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(int8);
3236 uchar8 __ovld __cnfn convert_uchar8_rtp(int8);
3237 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(int8);
3238 uchar8 __ovld __cnfn convert_uchar8_rtn(int8);
3239 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(int8);
3240 uchar8 __ovld __cnfn convert_uchar8(int8);
3241 uchar8 __ovld __cnfn convert_uchar8_sat(int8);
3242 uchar8 __ovld __cnfn convert_uchar8_rte(uint8);
3243 uchar8 __ovld __cnfn convert_uchar8_sat_rte(uint8);
3244 uchar8 __ovld __cnfn convert_uchar8_rtz(uint8);
3245 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uint8);
3246 uchar8 __ovld __cnfn convert_uchar8_rtp(uint8);
3247 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uint8);
3248 uchar8 __ovld __cnfn convert_uchar8_rtn(uint8);
3249 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uint8);
3250 uchar8 __ovld __cnfn convert_uchar8(uint8);
3251 uchar8 __ovld __cnfn convert_uchar8_sat(uint8);
3252 uchar8 __ovld __cnfn convert_uchar8_rte(long8);
3253 uchar8 __ovld __cnfn convert_uchar8_sat_rte(long8);
3254 uchar8 __ovld __cnfn convert_uchar8_rtz(long8);
3255 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(long8);
3256 uchar8 __ovld __cnfn convert_uchar8_rtp(long8);
3257 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(long8);
3258 uchar8 __ovld __cnfn convert_uchar8_rtn(long8);
3259 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(long8);
3260 uchar8 __ovld __cnfn convert_uchar8(long8);
3261 uchar8 __ovld __cnfn convert_uchar8_sat(long8);
3262 uchar8 __ovld __cnfn convert_uchar8_rte(ulong8);
3263 uchar8 __ovld __cnfn convert_uchar8_sat_rte(ulong8);
3264 uchar8 __ovld __cnfn convert_uchar8_rtz(ulong8);
3265 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ulong8);
3266 uchar8 __ovld __cnfn convert_uchar8_rtp(ulong8);
3267 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ulong8);
3268 uchar8 __ovld __cnfn convert_uchar8_rtn(ulong8);
3269 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ulong8);
3270 uchar8 __ovld __cnfn convert_uchar8(ulong8);
3271 uchar8 __ovld __cnfn convert_uchar8_sat(ulong8);
3272 uchar8 __ovld __cnfn convert_uchar8_rte(float8);
3273 uchar8 __ovld __cnfn convert_uchar8_sat_rte(float8);
3274 uchar8 __ovld __cnfn convert_uchar8_rtz(float8);
3275 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(float8);
3276 uchar8 __ovld __cnfn convert_uchar8_rtp(float8);
3277 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(float8);
3278 uchar8 __ovld __cnfn convert_uchar8_rtn(float8);
3279 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(float8);
3280 uchar8 __ovld __cnfn convert_uchar8(float8);
3281 uchar8 __ovld __cnfn convert_uchar8_sat(float8);
3282 short8 __ovld __cnfn convert_short8_rte(char8);
3283 short8 __ovld __cnfn convert_short8_sat_rte(char8);
3284 short8 __ovld __cnfn convert_short8_rtz(char8);
3285 short8 __ovld __cnfn convert_short8_sat_rtz(char8);
3286 short8 __ovld __cnfn convert_short8_rtp(char8);
3287 short8 __ovld __cnfn convert_short8_sat_rtp(char8);
3288 short8 __ovld __cnfn convert_short8_rtn(char8);
3289 short8 __ovld __cnfn convert_short8_sat_rtn(char8);
3290 short8 __ovld __cnfn convert_short8(char8);
3291 short8 __ovld __cnfn convert_short8_sat(char8);
3292 short8 __ovld __cnfn convert_short8_rte(uchar8);
3293 short8 __ovld __cnfn convert_short8_sat_rte(uchar8);
3294 short8 __ovld __cnfn convert_short8_rtz(uchar8);
3295 short8 __ovld __cnfn convert_short8_sat_rtz(uchar8);
3296 short8 __ovld __cnfn convert_short8_rtp(uchar8);
3297 short8 __ovld __cnfn convert_short8_sat_rtp(uchar8);
3298 short8 __ovld __cnfn convert_short8_rtn(uchar8);
3299 short8 __ovld __cnfn convert_short8_sat_rtn(uchar8);
3300 short8 __ovld __cnfn convert_short8(uchar8);
3301 short8 __ovld __cnfn convert_short8_sat(uchar8);
3302 short8 __ovld __cnfn convert_short8_rte(short8);
3303 short8 __ovld __cnfn convert_short8_sat_rte(short8);
3304 short8 __ovld __cnfn convert_short8_rtz(short8);
3305 short8 __ovld __cnfn convert_short8_sat_rtz(short8);
3306 short8 __ovld __cnfn convert_short8_rtp(short8);
3307 short8 __ovld __cnfn convert_short8_sat_rtp(short8);
3308 short8 __ovld __cnfn convert_short8_rtn(short8);
3309 short8 __ovld __cnfn convert_short8_sat_rtn(short8);
3310 short8 __ovld __cnfn convert_short8(short8);
3311 short8 __ovld __cnfn convert_short8_sat(short8);
3312 short8 __ovld __cnfn convert_short8_rte(ushort8);
3313 short8 __ovld __cnfn convert_short8_sat_rte(ushort8);
3314 short8 __ovld __cnfn convert_short8_rtz(ushort8);
3315 short8 __ovld __cnfn convert_short8_sat_rtz(ushort8);
3316 short8 __ovld __cnfn convert_short8_rtp(ushort8);
3317 short8 __ovld __cnfn convert_short8_sat_rtp(ushort8);
3318 short8 __ovld __cnfn convert_short8_rtn(ushort8);
3319 short8 __ovld __cnfn convert_short8_sat_rtn(ushort8);
3320 short8 __ovld __cnfn convert_short8(ushort8);
3321 short8 __ovld __cnfn convert_short8_sat(ushort8);
3322 short8 __ovld __cnfn convert_short8_rte(int8);
3323 short8 __ovld __cnfn convert_short8_sat_rte(int8);
3324 short8 __ovld __cnfn convert_short8_rtz(int8);
3325 short8 __ovld __cnfn convert_short8_sat_rtz(int8);
3326 short8 __ovld __cnfn convert_short8_rtp(int8);
3327 short8 __ovld __cnfn convert_short8_sat_rtp(int8);
3328 short8 __ovld __cnfn convert_short8_rtn(int8);
3329 short8 __ovld __cnfn convert_short8_sat_rtn(int8);
3330 short8 __ovld __cnfn convert_short8(int8);
3331 short8 __ovld __cnfn convert_short8_sat(int8);
3332 short8 __ovld __cnfn convert_short8_rte(uint8);
3333 short8 __ovld __cnfn convert_short8_sat_rte(uint8);
3334 short8 __ovld __cnfn convert_short8_rtz(uint8);
3335 short8 __ovld __cnfn convert_short8_sat_rtz(uint8);
3336 short8 __ovld __cnfn convert_short8_rtp(uint8);
3337 short8 __ovld __cnfn convert_short8_sat_rtp(uint8);
3338 short8 __ovld __cnfn convert_short8_rtn(uint8);
3339 short8 __ovld __cnfn convert_short8_sat_rtn(uint8);
3340 short8 __ovld __cnfn convert_short8(uint8);
3341 short8 __ovld __cnfn convert_short8_sat(uint8);
3342 short8 __ovld __cnfn convert_short8_rte(long8);
3343 short8 __ovld __cnfn convert_short8_sat_rte(long8);
3344 short8 __ovld __cnfn convert_short8_rtz(long8);
3345 short8 __ovld __cnfn convert_short8_sat_rtz(long8);
3346 short8 __ovld __cnfn convert_short8_rtp(long8);
3347 short8 __ovld __cnfn convert_short8_sat_rtp(long8);
3348 short8 __ovld __cnfn convert_short8_rtn(long8);
3349 short8 __ovld __cnfn convert_short8_sat_rtn(long8);
3350 short8 __ovld __cnfn convert_short8(long8);
3351 short8 __ovld __cnfn convert_short8_sat(long8);
3352 short8 __ovld __cnfn convert_short8_rte(ulong8);
3353 short8 __ovld __cnfn convert_short8_sat_rte(ulong8);
3354 short8 __ovld __cnfn convert_short8_rtz(ulong8);
3355 short8 __ovld __cnfn convert_short8_sat_rtz(ulong8);
3356 short8 __ovld __cnfn convert_short8_rtp(ulong8);
3357 short8 __ovld __cnfn convert_short8_sat_rtp(ulong8);
3358 short8 __ovld __cnfn convert_short8_rtn(ulong8);
3359 short8 __ovld __cnfn convert_short8_sat_rtn(ulong8);
3360 short8 __ovld __cnfn convert_short8(ulong8);
3361 short8 __ovld __cnfn convert_short8_sat(ulong8);
3362 short8 __ovld __cnfn convert_short8_rte(float8);
3363 short8 __ovld __cnfn convert_short8_sat_rte(float8);
3364 short8 __ovld __cnfn convert_short8_rtz(float8);
3365 short8 __ovld __cnfn convert_short8_sat_rtz(float8);
3366 short8 __ovld __cnfn convert_short8_rtp(float8);
3367 short8 __ovld __cnfn convert_short8_sat_rtp(float8);
3368 short8 __ovld __cnfn convert_short8_rtn(float8);
3369 short8 __ovld __cnfn convert_short8_sat_rtn(float8);
3370 short8 __ovld __cnfn convert_short8(float8);
3371 short8 __ovld __cnfn convert_short8_sat(float8);
3372 ushort8 __ovld __cnfn convert_ushort8_rte(char8);
3373 ushort8 __ovld __cnfn convert_ushort8_sat_rte(char8);
3374 ushort8 __ovld __cnfn convert_ushort8_rtz(char8);
3375 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(char8);
3376 ushort8 __ovld __cnfn convert_ushort8_rtp(char8);
3377 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(char8);
3378 ushort8 __ovld __cnfn convert_ushort8_rtn(char8);
3379 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(char8);
3380 ushort8 __ovld __cnfn convert_ushort8(char8);
3381 ushort8 __ovld __cnfn convert_ushort8_sat(char8);
3382 ushort8 __ovld __cnfn convert_ushort8_rte(uchar8);
3383 ushort8 __ovld __cnfn convert_ushort8_sat_rte(uchar8);
3384 ushort8 __ovld __cnfn convert_ushort8_rtz(uchar8);
3385 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uchar8);
3386 ushort8 __ovld __cnfn convert_ushort8_rtp(uchar8);
3387 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uchar8);
3388 ushort8 __ovld __cnfn convert_ushort8_rtn(uchar8);
3389 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uchar8);
3390 ushort8 __ovld __cnfn convert_ushort8(uchar8);
3391 ushort8 __ovld __cnfn convert_ushort8_sat(uchar8);
3392 ushort8 __ovld __cnfn convert_ushort8_rte(short8);
3393 ushort8 __ovld __cnfn convert_ushort8_sat_rte(short8);
3394 ushort8 __ovld __cnfn convert_ushort8_rtz(short8);
3395 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(short8);
3396 ushort8 __ovld __cnfn convert_ushort8_rtp(short8);
3397 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(short8);
3398 ushort8 __ovld __cnfn convert_ushort8_rtn(short8);
3399 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(short8);
3400 ushort8 __ovld __cnfn convert_ushort8(short8);
3401 ushort8 __ovld __cnfn convert_ushort8_sat(short8);
3402 ushort8 __ovld __cnfn convert_ushort8_rte(ushort8);
3403 ushort8 __ovld __cnfn convert_ushort8_sat_rte(ushort8);
3404 ushort8 __ovld __cnfn convert_ushort8_rtz(ushort8);
3405 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ushort8);
3406 ushort8 __ovld __cnfn convert_ushort8_rtp(ushort8);
3407 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ushort8);
3408 ushort8 __ovld __cnfn convert_ushort8_rtn(ushort8);
3409 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ushort8);
3410 ushort8 __ovld __cnfn convert_ushort8(ushort8);
3411 ushort8 __ovld __cnfn convert_ushort8_sat(ushort8);
3412 ushort8 __ovld __cnfn convert_ushort8_rte(int8);
3413 ushort8 __ovld __cnfn convert_ushort8_sat_rte(int8);
3414 ushort8 __ovld __cnfn convert_ushort8_rtz(int8);
3415 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(int8);
3416 ushort8 __ovld __cnfn convert_ushort8_rtp(int8);
3417 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(int8);
3418 ushort8 __ovld __cnfn convert_ushort8_rtn(int8);
3419 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(int8);
3420 ushort8 __ovld __cnfn convert_ushort8(int8);
3421 ushort8 __ovld __cnfn convert_ushort8_sat(int8);
3422 ushort8 __ovld __cnfn convert_ushort8_rte(uint8);
3423 ushort8 __ovld __cnfn convert_ushort8_sat_rte(uint8);
3424 ushort8 __ovld __cnfn convert_ushort8_rtz(uint8);
3425 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uint8);
3426 ushort8 __ovld __cnfn convert_ushort8_rtp(uint8);
3427 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uint8);
3428 ushort8 __ovld __cnfn convert_ushort8_rtn(uint8);
3429 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uint8);
3430 ushort8 __ovld __cnfn convert_ushort8(uint8);
3431 ushort8 __ovld __cnfn convert_ushort8_sat(uint8);
3432 ushort8 __ovld __cnfn convert_ushort8_rte(long8);
3433 ushort8 __ovld __cnfn convert_ushort8_sat_rte(long8);
3434 ushort8 __ovld __cnfn convert_ushort8_rtz(long8);
3435 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(long8);
3436 ushort8 __ovld __cnfn convert_ushort8_rtp(long8);
3437 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(long8);
3438 ushort8 __ovld __cnfn convert_ushort8_rtn(long8);
3439 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(long8);
3440 ushort8 __ovld __cnfn convert_ushort8(long8);
3441 ushort8 __ovld __cnfn convert_ushort8_sat(long8);
3442 ushort8 __ovld __cnfn convert_ushort8_rte(ulong8);
3443 ushort8 __ovld __cnfn convert_ushort8_sat_rte(ulong8);
3444 ushort8 __ovld __cnfn convert_ushort8_rtz(ulong8);
3445 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ulong8);
3446 ushort8 __ovld __cnfn convert_ushort8_rtp(ulong8);
3447 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ulong8);
3448 ushort8 __ovld __cnfn convert_ushort8_rtn(ulong8);
3449 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ulong8);
3450 ushort8 __ovld __cnfn convert_ushort8(ulong8);
3451 ushort8 __ovld __cnfn convert_ushort8_sat(ulong8);
3452 ushort8 __ovld __cnfn convert_ushort8_rte(float8);
3453 ushort8 __ovld __cnfn convert_ushort8_sat_rte(float8);
3454 ushort8 __ovld __cnfn convert_ushort8_rtz(float8);
3455 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(float8);
3456 ushort8 __ovld __cnfn convert_ushort8_rtp(float8);
3457 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(float8);
3458 ushort8 __ovld __cnfn convert_ushort8_rtn(float8);
3459 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(float8);
3460 ushort8 __ovld __cnfn convert_ushort8(float8);
3461 ushort8 __ovld __cnfn convert_ushort8_sat(float8);
3462 int8 __ovld __cnfn convert_int8_rte(char8);
3463 int8 __ovld __cnfn convert_int8_sat_rte(char8);
3464 int8 __ovld __cnfn convert_int8_rtz(char8);
3465 int8 __ovld __cnfn convert_int8_sat_rtz(char8);
3466 int8 __ovld __cnfn convert_int8_rtp(char8);
3467 int8 __ovld __cnfn convert_int8_sat_rtp(char8);
3468 int8 __ovld __cnfn convert_int8_rtn(char8);
3469 int8 __ovld __cnfn convert_int8_sat_rtn(char8);
3470 int8 __ovld __cnfn convert_int8(char8);
3471 int8 __ovld __cnfn convert_int8_sat(char8);
3472 int8 __ovld __cnfn convert_int8_rte(uchar8);
3473 int8 __ovld __cnfn convert_int8_sat_rte(uchar8);
3474 int8 __ovld __cnfn convert_int8_rtz(uchar8);
3475 int8 __ovld __cnfn convert_int8_sat_rtz(uchar8);
3476 int8 __ovld __cnfn convert_int8_rtp(uchar8);
3477 int8 __ovld __cnfn convert_int8_sat_rtp(uchar8);
3478 int8 __ovld __cnfn convert_int8_rtn(uchar8);
3479 int8 __ovld __cnfn convert_int8_sat_rtn(uchar8);
3480 int8 __ovld __cnfn convert_int8(uchar8);
3481 int8 __ovld __cnfn convert_int8_sat(uchar8);
3482 int8 __ovld __cnfn convert_int8_rte(short8);
3483 int8 __ovld __cnfn convert_int8_sat_rte(short8);
3484 int8 __ovld __cnfn convert_int8_rtz(short8);
3485 int8 __ovld __cnfn convert_int8_sat_rtz(short8);
3486 int8 __ovld __cnfn convert_int8_rtp(short8);
3487 int8 __ovld __cnfn convert_int8_sat_rtp(short8);
3488 int8 __ovld __cnfn convert_int8_rtn(short8);
3489 int8 __ovld __cnfn convert_int8_sat_rtn(short8);
3490 int8 __ovld __cnfn convert_int8(short8);
3491 int8 __ovld __cnfn convert_int8_sat(short8);
3492 int8 __ovld __cnfn convert_int8_rte(ushort8);
3493 int8 __ovld __cnfn convert_int8_sat_rte(ushort8);
3494 int8 __ovld __cnfn convert_int8_rtz(ushort8);
3495 int8 __ovld __cnfn convert_int8_sat_rtz(ushort8);
3496 int8 __ovld __cnfn convert_int8_rtp(ushort8);
3497 int8 __ovld __cnfn convert_int8_sat_rtp(ushort8);
3498 int8 __ovld __cnfn convert_int8_rtn(ushort8);
3499 int8 __ovld __cnfn convert_int8_sat_rtn(ushort8);
3500 int8 __ovld __cnfn convert_int8(ushort8);
3501 int8 __ovld __cnfn convert_int8_sat(ushort8);
3502 int8 __ovld __cnfn convert_int8_rte(int8);
3503 int8 __ovld __cnfn convert_int8_sat_rte(int8);
3504 int8 __ovld __cnfn convert_int8_rtz(int8);
3505 int8 __ovld __cnfn convert_int8_sat_rtz(int8);
3506 int8 __ovld __cnfn convert_int8_rtp(int8);
3507 int8 __ovld __cnfn convert_int8_sat_rtp(int8);
3508 int8 __ovld __cnfn convert_int8_rtn(int8);
3509 int8 __ovld __cnfn convert_int8_sat_rtn(int8);
3510 int8 __ovld __cnfn convert_int8(int8);
3511 int8 __ovld __cnfn convert_int8_sat(int8);
3512 int8 __ovld __cnfn convert_int8_rte(uint8);
3513 int8 __ovld __cnfn convert_int8_sat_rte(uint8);
3514 int8 __ovld __cnfn convert_int8_rtz(uint8);
3515 int8 __ovld __cnfn convert_int8_sat_rtz(uint8);
3516 int8 __ovld __cnfn convert_int8_rtp(uint8);
3517 int8 __ovld __cnfn convert_int8_sat_rtp(uint8);
3518 int8 __ovld __cnfn convert_int8_rtn(uint8);
3519 int8 __ovld __cnfn convert_int8_sat_rtn(uint8);
3520 int8 __ovld __cnfn convert_int8(uint8);
3521 int8 __ovld __cnfn convert_int8_sat(uint8);
3522 int8 __ovld __cnfn convert_int8_rte(long8);
3523 int8 __ovld __cnfn convert_int8_sat_rte(long8);
3524 int8 __ovld __cnfn convert_int8_rtz(long8);
3525 int8 __ovld __cnfn convert_int8_sat_rtz(long8);
3526 int8 __ovld __cnfn convert_int8_rtp(long8);
3527 int8 __ovld __cnfn convert_int8_sat_rtp(long8);
3528 int8 __ovld __cnfn convert_int8_rtn(long8);
3529 int8 __ovld __cnfn convert_int8_sat_rtn(long8);
3530 int8 __ovld __cnfn convert_int8(long8);
3531 int8 __ovld __cnfn convert_int8_sat(long8);
3532 int8 __ovld __cnfn convert_int8_rte(ulong8);
3533 int8 __ovld __cnfn convert_int8_sat_rte(ulong8);
3534 int8 __ovld __cnfn convert_int8_rtz(ulong8);
3535 int8 __ovld __cnfn convert_int8_sat_rtz(ulong8);
3536 int8 __ovld __cnfn convert_int8_rtp(ulong8);
3537 int8 __ovld __cnfn convert_int8_sat_rtp(ulong8);
3538 int8 __ovld __cnfn convert_int8_rtn(ulong8);
3539 int8 __ovld __cnfn convert_int8_sat_rtn(ulong8);
3540 int8 __ovld __cnfn convert_int8(ulong8);
3541 int8 __ovld __cnfn convert_int8_sat(ulong8);
3542 int8 __ovld __cnfn convert_int8_rte(float8);
3543 int8 __ovld __cnfn convert_int8_sat_rte(float8);
3544 int8 __ovld __cnfn convert_int8_rtz(float8);
3545 int8 __ovld __cnfn convert_int8_sat_rtz(float8);
3546 int8 __ovld __cnfn convert_int8_rtp(float8);
3547 int8 __ovld __cnfn convert_int8_sat_rtp(float8);
3548 int8 __ovld __cnfn convert_int8_rtn(float8);
3549 int8 __ovld __cnfn convert_int8_sat_rtn(float8);
3550 int8 __ovld __cnfn convert_int8(float8);
3551 int8 __ovld __cnfn convert_int8_sat(float8);
3552 uint8 __ovld __cnfn convert_uint8_rte(char8);
3553 uint8 __ovld __cnfn convert_uint8_sat_rte(char8);
3554 uint8 __ovld __cnfn convert_uint8_rtz(char8);
3555 uint8 __ovld __cnfn convert_uint8_sat_rtz(char8);
3556 uint8 __ovld __cnfn convert_uint8_rtp(char8);
3557 uint8 __ovld __cnfn convert_uint8_sat_rtp(char8);
3558 uint8 __ovld __cnfn convert_uint8_rtn(char8);
3559 uint8 __ovld __cnfn convert_uint8_sat_rtn(char8);
3560 uint8 __ovld __cnfn convert_uint8(char8);
3561 uint8 __ovld __cnfn convert_uint8_sat(char8);
3562 uint8 __ovld __cnfn convert_uint8_rte(uchar8);
3563 uint8 __ovld __cnfn convert_uint8_sat_rte(uchar8);
3564 uint8 __ovld __cnfn convert_uint8_rtz(uchar8);
3565 uint8 __ovld __cnfn convert_uint8_sat_rtz(uchar8);
3566 uint8 __ovld __cnfn convert_uint8_rtp(uchar8);
3567 uint8 __ovld __cnfn convert_uint8_sat_rtp(uchar8);
3568 uint8 __ovld __cnfn convert_uint8_rtn(uchar8);
3569 uint8 __ovld __cnfn convert_uint8_sat_rtn(uchar8);
3570 uint8 __ovld __cnfn convert_uint8(uchar8);
3571 uint8 __ovld __cnfn convert_uint8_sat(uchar8);
3572 uint8 __ovld __cnfn convert_uint8_rte(short8);
3573 uint8 __ovld __cnfn convert_uint8_sat_rte(short8);
3574 uint8 __ovld __cnfn convert_uint8_rtz(short8);
3575 uint8 __ovld __cnfn convert_uint8_sat_rtz(short8);
3576 uint8 __ovld __cnfn convert_uint8_rtp(short8);
3577 uint8 __ovld __cnfn convert_uint8_sat_rtp(short8);
3578 uint8 __ovld __cnfn convert_uint8_rtn(short8);
3579 uint8 __ovld __cnfn convert_uint8_sat_rtn(short8);
3580 uint8 __ovld __cnfn convert_uint8(short8);
3581 uint8 __ovld __cnfn convert_uint8_sat(short8);
3582 uint8 __ovld __cnfn convert_uint8_rte(ushort8);
3583 uint8 __ovld __cnfn convert_uint8_sat_rte(ushort8);
3584 uint8 __ovld __cnfn convert_uint8_rtz(ushort8);
3585 uint8 __ovld __cnfn convert_uint8_sat_rtz(ushort8);
3586 uint8 __ovld __cnfn convert_uint8_rtp(ushort8);
3587 uint8 __ovld __cnfn convert_uint8_sat_rtp(ushort8);
3588 uint8 __ovld __cnfn convert_uint8_rtn(ushort8);
3589 uint8 __ovld __cnfn convert_uint8_sat_rtn(ushort8);
3590 uint8 __ovld __cnfn convert_uint8(ushort8);
3591 uint8 __ovld __cnfn convert_uint8_sat(ushort8);
3592 uint8 __ovld __cnfn convert_uint8_rte(int8);
3593 uint8 __ovld __cnfn convert_uint8_sat_rte(int8);
3594 uint8 __ovld __cnfn convert_uint8_rtz(int8);
3595 uint8 __ovld __cnfn convert_uint8_sat_rtz(int8);
3596 uint8 __ovld __cnfn convert_uint8_rtp(int8);
3597 uint8 __ovld __cnfn convert_uint8_sat_rtp(int8);
3598 uint8 __ovld __cnfn convert_uint8_rtn(int8);
3599 uint8 __ovld __cnfn convert_uint8_sat_rtn(int8);
3600 uint8 __ovld __cnfn convert_uint8(int8);
3601 uint8 __ovld __cnfn convert_uint8_sat(int8);
3602 uint8 __ovld __cnfn convert_uint8_rte(uint8);
3603 uint8 __ovld __cnfn convert_uint8_sat_rte(uint8);
3604 uint8 __ovld __cnfn convert_uint8_rtz(uint8);
3605 uint8 __ovld __cnfn convert_uint8_sat_rtz(uint8);
3606 uint8 __ovld __cnfn convert_uint8_rtp(uint8);
3607 uint8 __ovld __cnfn convert_uint8_sat_rtp(uint8);
3608 uint8 __ovld __cnfn convert_uint8_rtn(uint8);
3609 uint8 __ovld __cnfn convert_uint8_sat_rtn(uint8);
3610 uint8 __ovld __cnfn convert_uint8(uint8);
3611 uint8 __ovld __cnfn convert_uint8_sat(uint8);
3612 uint8 __ovld __cnfn convert_uint8_rte(long8);
3613 uint8 __ovld __cnfn convert_uint8_sat_rte(long8);
3614 uint8 __ovld __cnfn convert_uint8_rtz(long8);
3615 uint8 __ovld __cnfn convert_uint8_sat_rtz(long8);
3616 uint8 __ovld __cnfn convert_uint8_rtp(long8);
3617 uint8 __ovld __cnfn convert_uint8_sat_rtp(long8);
3618 uint8 __ovld __cnfn convert_uint8_rtn(long8);
3619 uint8 __ovld __cnfn convert_uint8_sat_rtn(long8);
3620 uint8 __ovld __cnfn convert_uint8(long8);
3621 uint8 __ovld __cnfn convert_uint8_sat(long8);
3622 uint8 __ovld __cnfn convert_uint8_rte(ulong8);
3623 uint8 __ovld __cnfn convert_uint8_sat_rte(ulong8);
3624 uint8 __ovld __cnfn convert_uint8_rtz(ulong8);
3625 uint8 __ovld __cnfn convert_uint8_sat_rtz(ulong8);
3626 uint8 __ovld __cnfn convert_uint8_rtp(ulong8);
3627 uint8 __ovld __cnfn convert_uint8_sat_rtp(ulong8);
3628 uint8 __ovld __cnfn convert_uint8_rtn(ulong8);
3629 uint8 __ovld __cnfn convert_uint8_sat_rtn(ulong8);
3630 uint8 __ovld __cnfn convert_uint8(ulong8);
3631 uint8 __ovld __cnfn convert_uint8_sat(ulong8);
3632 uint8 __ovld __cnfn convert_uint8_rte(float8);
3633 uint8 __ovld __cnfn convert_uint8_sat_rte(float8);
3634 uint8 __ovld __cnfn convert_uint8_rtz(float8);
3635 uint8 __ovld __cnfn convert_uint8_sat_rtz(float8);
3636 uint8 __ovld __cnfn convert_uint8_rtp(float8);
3637 uint8 __ovld __cnfn convert_uint8_sat_rtp(float8);
3638 uint8 __ovld __cnfn convert_uint8_rtn(float8);
3639 uint8 __ovld __cnfn convert_uint8_sat_rtn(float8);
3640 uint8 __ovld __cnfn convert_uint8(float8);
3641 uint8 __ovld __cnfn convert_uint8_sat(float8);
3642 long8 __ovld __cnfn convert_long8_rte(char8);
3643 long8 __ovld __cnfn convert_long8_sat_rte(char8);
3644 long8 __ovld __cnfn convert_long8_rtz(char8);
3645 long8 __ovld __cnfn convert_long8_sat_rtz(char8);
3646 long8 __ovld __cnfn convert_long8_rtp(char8);
3647 long8 __ovld __cnfn convert_long8_sat_rtp(char8);
3648 long8 __ovld __cnfn convert_long8_rtn(char8);
3649 long8 __ovld __cnfn convert_long8_sat_rtn(char8);
3650 long8 __ovld __cnfn convert_long8(char8);
3651 long8 __ovld __cnfn convert_long8_sat(char8);
3652 long8 __ovld __cnfn convert_long8_rte(uchar8);
3653 long8 __ovld __cnfn convert_long8_sat_rte(uchar8);
3654 long8 __ovld __cnfn convert_long8_rtz(uchar8);
3655 long8 __ovld __cnfn convert_long8_sat_rtz(uchar8);
3656 long8 __ovld __cnfn convert_long8_rtp(uchar8);
3657 long8 __ovld __cnfn convert_long8_sat_rtp(uchar8);
3658 long8 __ovld __cnfn convert_long8_rtn(uchar8);
3659 long8 __ovld __cnfn convert_long8_sat_rtn(uchar8);
3660 long8 __ovld __cnfn convert_long8(uchar8);
3661 long8 __ovld __cnfn convert_long8_sat(uchar8);
3662 long8 __ovld __cnfn convert_long8_rte(short8);
3663 long8 __ovld __cnfn convert_long8_sat_rte(short8);
3664 long8 __ovld __cnfn convert_long8_rtz(short8);
3665 long8 __ovld __cnfn convert_long8_sat_rtz(short8);
3666 long8 __ovld __cnfn convert_long8_rtp(short8);
3667 long8 __ovld __cnfn convert_long8_sat_rtp(short8);
3668 long8 __ovld __cnfn convert_long8_rtn(short8);
3669 long8 __ovld __cnfn convert_long8_sat_rtn(short8);
3670 long8 __ovld __cnfn convert_long8(short8);
3671 long8 __ovld __cnfn convert_long8_sat(short8);
3672 long8 __ovld __cnfn convert_long8_rte(ushort8);
3673 long8 __ovld __cnfn convert_long8_sat_rte(ushort8);
3674 long8 __ovld __cnfn convert_long8_rtz(ushort8);
3675 long8 __ovld __cnfn convert_long8_sat_rtz(ushort8);
3676 long8 __ovld __cnfn convert_long8_rtp(ushort8);
3677 long8 __ovld __cnfn convert_long8_sat_rtp(ushort8);
3678 long8 __ovld __cnfn convert_long8_rtn(ushort8);
3679 long8 __ovld __cnfn convert_long8_sat_rtn(ushort8);
3680 long8 __ovld __cnfn convert_long8(ushort8);
3681 long8 __ovld __cnfn convert_long8_sat(ushort8);
3682 long8 __ovld __cnfn convert_long8_rte(int8);
3683 long8 __ovld __cnfn convert_long8_sat_rte(int8);
3684 long8 __ovld __cnfn convert_long8_rtz(int8);
3685 long8 __ovld __cnfn convert_long8_sat_rtz(int8);
3686 long8 __ovld __cnfn convert_long8_rtp(int8);
3687 long8 __ovld __cnfn convert_long8_sat_rtp(int8);
3688 long8 __ovld __cnfn convert_long8_rtn(int8);
3689 long8 __ovld __cnfn convert_long8_sat_rtn(int8);
3690 long8 __ovld __cnfn convert_long8(int8);
3691 long8 __ovld __cnfn convert_long8_sat(int8);
3692 long8 __ovld __cnfn convert_long8_rte(uint8);
3693 long8 __ovld __cnfn convert_long8_sat_rte(uint8);
3694 long8 __ovld __cnfn convert_long8_rtz(uint8);
3695 long8 __ovld __cnfn convert_long8_sat_rtz(uint8);
3696 long8 __ovld __cnfn convert_long8_rtp(uint8);
3697 long8 __ovld __cnfn convert_long8_sat_rtp(uint8);
3698 long8 __ovld __cnfn convert_long8_rtn(uint8);
3699 long8 __ovld __cnfn convert_long8_sat_rtn(uint8);
3700 long8 __ovld __cnfn convert_long8(uint8);
3701 long8 __ovld __cnfn convert_long8_sat(uint8);
3702 long8 __ovld __cnfn convert_long8_rte(long8);
3703 long8 __ovld __cnfn convert_long8_sat_rte(long8);
3704 long8 __ovld __cnfn convert_long8_rtz(long8);
3705 long8 __ovld __cnfn convert_long8_sat_rtz(long8);
3706 long8 __ovld __cnfn convert_long8_rtp(long8);
3707 long8 __ovld __cnfn convert_long8_sat_rtp(long8);
3708 long8 __ovld __cnfn convert_long8_rtn(long8);
3709 long8 __ovld __cnfn convert_long8_sat_rtn(long8);
3710 long8 __ovld __cnfn convert_long8(long8);
3711 long8 __ovld __cnfn convert_long8_sat(long8);
3712 long8 __ovld __cnfn convert_long8_rte(ulong8);
3713 long8 __ovld __cnfn convert_long8_sat_rte(ulong8);
3714 long8 __ovld __cnfn convert_long8_rtz(ulong8);
3715 long8 __ovld __cnfn convert_long8_sat_rtz(ulong8);
3716 long8 __ovld __cnfn convert_long8_rtp(ulong8);
3717 long8 __ovld __cnfn convert_long8_sat_rtp(ulong8);
3718 long8 __ovld __cnfn convert_long8_rtn(ulong8);
3719 long8 __ovld __cnfn convert_long8_sat_rtn(ulong8);
3720 long8 __ovld __cnfn convert_long8(ulong8);
3721 long8 __ovld __cnfn convert_long8_sat(ulong8);
3722 long8 __ovld __cnfn convert_long8_rte(float8);
3723 long8 __ovld __cnfn convert_long8_sat_rte(float8);
3724 long8 __ovld __cnfn convert_long8_rtz(float8);
3725 long8 __ovld __cnfn convert_long8_sat_rtz(float8);
3726 long8 __ovld __cnfn convert_long8_rtp(float8);
3727 long8 __ovld __cnfn convert_long8_sat_rtp(float8);
3728 long8 __ovld __cnfn convert_long8_rtn(float8);
3729 long8 __ovld __cnfn convert_long8_sat_rtn(float8);
3730 long8 __ovld __cnfn convert_long8(float8);
3731 long8 __ovld __cnfn convert_long8_sat(float8);
3732 ulong8 __ovld __cnfn convert_ulong8_rte(char8);
3733 ulong8 __ovld __cnfn convert_ulong8_sat_rte(char8);
3734 ulong8 __ovld __cnfn convert_ulong8_rtz(char8);
3735 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(char8);
3736 ulong8 __ovld __cnfn convert_ulong8_rtp(char8);
3737 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(char8);
3738 ulong8 __ovld __cnfn convert_ulong8_rtn(char8);
3739 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(char8);
3740 ulong8 __ovld __cnfn convert_ulong8(char8);
3741 ulong8 __ovld __cnfn convert_ulong8_sat(char8);
3742 ulong8 __ovld __cnfn convert_ulong8_rte(uchar8);
3743 ulong8 __ovld __cnfn convert_ulong8_sat_rte(uchar8);
3744 ulong8 __ovld __cnfn convert_ulong8_rtz(uchar8);
3745 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uchar8);
3746 ulong8 __ovld __cnfn convert_ulong8_rtp(uchar8);
3747 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uchar8);
3748 ulong8 __ovld __cnfn convert_ulong8_rtn(uchar8);
3749 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uchar8);
3750 ulong8 __ovld __cnfn convert_ulong8(uchar8);
3751 ulong8 __ovld __cnfn convert_ulong8_sat(uchar8);
3752 ulong8 __ovld __cnfn convert_ulong8_rte(short8);
3753 ulong8 __ovld __cnfn convert_ulong8_sat_rte(short8);
3754 ulong8 __ovld __cnfn convert_ulong8_rtz(short8);
3755 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(short8);
3756 ulong8 __ovld __cnfn convert_ulong8_rtp(short8);
3757 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(short8);
3758 ulong8 __ovld __cnfn convert_ulong8_rtn(short8);
3759 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(short8);
3760 ulong8 __ovld __cnfn convert_ulong8(short8);
3761 ulong8 __ovld __cnfn convert_ulong8_sat(short8);
3762 ulong8 __ovld __cnfn convert_ulong8_rte(ushort8);
3763 ulong8 __ovld __cnfn convert_ulong8_sat_rte(ushort8);
3764 ulong8 __ovld __cnfn convert_ulong8_rtz(ushort8);
3765 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ushort8);
3766 ulong8 __ovld __cnfn convert_ulong8_rtp(ushort8);
3767 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ushort8);
3768 ulong8 __ovld __cnfn convert_ulong8_rtn(ushort8);
3769 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ushort8);
3770 ulong8 __ovld __cnfn convert_ulong8(ushort8);
3771 ulong8 __ovld __cnfn convert_ulong8_sat(ushort8);
3772 ulong8 __ovld __cnfn convert_ulong8_rte(int8);
3773 ulong8 __ovld __cnfn convert_ulong8_sat_rte(int8);
3774 ulong8 __ovld __cnfn convert_ulong8_rtz(int8);
3775 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(int8);
3776 ulong8 __ovld __cnfn convert_ulong8_rtp(int8);
3777 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(int8);
3778 ulong8 __ovld __cnfn convert_ulong8_rtn(int8);
3779 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(int8);
3780 ulong8 __ovld __cnfn convert_ulong8(int8);
3781 ulong8 __ovld __cnfn convert_ulong8_sat(int8);
3782 ulong8 __ovld __cnfn convert_ulong8_rte(uint8);
3783 ulong8 __ovld __cnfn convert_ulong8_sat_rte(uint8);
3784 ulong8 __ovld __cnfn convert_ulong8_rtz(uint8);
3785 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uint8);
3786 ulong8 __ovld __cnfn convert_ulong8_rtp(uint8);
3787 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uint8);
3788 ulong8 __ovld __cnfn convert_ulong8_rtn(uint8);
3789 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uint8);
3790 ulong8 __ovld __cnfn convert_ulong8(uint8);
3791 ulong8 __ovld __cnfn convert_ulong8_sat(uint8);
3792 ulong8 __ovld __cnfn convert_ulong8_rte(long8);
3793 ulong8 __ovld __cnfn convert_ulong8_sat_rte(long8);
3794 ulong8 __ovld __cnfn convert_ulong8_rtz(long8);
3795 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(long8);
3796 ulong8 __ovld __cnfn convert_ulong8_rtp(long8);
3797 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(long8);
3798 ulong8 __ovld __cnfn convert_ulong8_rtn(long8);
3799 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(long8);
3800 ulong8 __ovld __cnfn convert_ulong8(long8);
3801 ulong8 __ovld __cnfn convert_ulong8_sat(long8);
3802 ulong8 __ovld __cnfn convert_ulong8_rte(ulong8);
3803 ulong8 __ovld __cnfn convert_ulong8_sat_rte(ulong8);
3804 ulong8 __ovld __cnfn convert_ulong8_rtz(ulong8);
3805 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ulong8);
3806 ulong8 __ovld __cnfn convert_ulong8_rtp(ulong8);
3807 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ulong8);
3808 ulong8 __ovld __cnfn convert_ulong8_rtn(ulong8);
3809 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ulong8);
3810 ulong8 __ovld __cnfn convert_ulong8(ulong8);
3811 ulong8 __ovld __cnfn convert_ulong8_sat(ulong8);
3812 ulong8 __ovld __cnfn convert_ulong8_rte(float8);
3813 ulong8 __ovld __cnfn convert_ulong8_sat_rte(float8);
3814 ulong8 __ovld __cnfn convert_ulong8_rtz(float8);
3815 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(float8);
3816 ulong8 __ovld __cnfn convert_ulong8_rtp(float8);
3817 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(float8);
3818 ulong8 __ovld __cnfn convert_ulong8_rtn(float8);
3819 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(float8);
3820 ulong8 __ovld __cnfn convert_ulong8(float8);
3821 ulong8 __ovld __cnfn convert_ulong8_sat(float8);
3822 float8 __ovld __cnfn convert_float8_rte(char8);
3823 float8 __ovld __cnfn convert_float8_rtz(char8);
3824 float8 __ovld __cnfn convert_float8_rtp(char8);
3825 float8 __ovld __cnfn convert_float8_rtn(char8);
3826 float8 __ovld __cnfn convert_float8(char8);
3827 float8 __ovld __cnfn convert_float8_rte(uchar8);
3828 float8 __ovld __cnfn convert_float8_rtz(uchar8);
3829 float8 __ovld __cnfn convert_float8_rtp(uchar8);
3830 float8 __ovld __cnfn convert_float8_rtn(uchar8);
3831 float8 __ovld __cnfn convert_float8(uchar8);
3832 float8 __ovld __cnfn convert_float8_rte(short8);
3833 float8 __ovld __cnfn convert_float8_rtz(short8);
3834 float8 __ovld __cnfn convert_float8_rtp(short8);
3835 float8 __ovld __cnfn convert_float8_rtn(short8);
3836 float8 __ovld __cnfn convert_float8(short8);
3837 float8 __ovld __cnfn convert_float8_rte(ushort8);
3838 float8 __ovld __cnfn convert_float8_rtz(ushort8);
3839 float8 __ovld __cnfn convert_float8_rtp(ushort8);
3840 float8 __ovld __cnfn convert_float8_rtn(ushort8);
3841 float8 __ovld __cnfn convert_float8(ushort8);
3842 float8 __ovld __cnfn convert_float8_rte(int8);
3843 float8 __ovld __cnfn convert_float8_rtz(int8);
3844 float8 __ovld __cnfn convert_float8_rtp(int8);
3845 float8 __ovld __cnfn convert_float8_rtn(int8);
3846 float8 __ovld __cnfn convert_float8(int8);
3847 float8 __ovld __cnfn convert_float8_rte(uint8);
3848 float8 __ovld __cnfn convert_float8_rtz(uint8);
3849 float8 __ovld __cnfn convert_float8_rtp(uint8);
3850 float8 __ovld __cnfn convert_float8_rtn(uint8);
3851 float8 __ovld __cnfn convert_float8(uint8);
3852 float8 __ovld __cnfn convert_float8_rte(long8);
3853 float8 __ovld __cnfn convert_float8_rtz(long8);
3854 float8 __ovld __cnfn convert_float8_rtp(long8);
3855 float8 __ovld __cnfn convert_float8_rtn(long8);
3856 float8 __ovld __cnfn convert_float8(long8);
3857 float8 __ovld __cnfn convert_float8_rte(ulong8);
3858 float8 __ovld __cnfn convert_float8_rtz(ulong8);
3859 float8 __ovld __cnfn convert_float8_rtp(ulong8);
3860 float8 __ovld __cnfn convert_float8_rtn(ulong8);
3861 float8 __ovld __cnfn convert_float8(ulong8);
3862 float8 __ovld __cnfn convert_float8_rte(float8);
3863 float8 __ovld __cnfn convert_float8_rtz(float8);
3864 float8 __ovld __cnfn convert_float8_rtp(float8);
3865 float8 __ovld __cnfn convert_float8_rtn(float8);
3866 float8 __ovld __cnfn convert_float8(float8);
3867 char16 __ovld __cnfn convert_char16_rte(char16);
3868 char16 __ovld __cnfn convert_char16_sat_rte(char16);
3869 char16 __ovld __cnfn convert_char16_rtz(char16);
3870 char16 __ovld __cnfn convert_char16_sat_rtz(char16);
3871 char16 __ovld __cnfn convert_char16_rtp(char16);
3872 char16 __ovld __cnfn convert_char16_sat_rtp(char16);
3873 char16 __ovld __cnfn convert_char16_rtn(char16);
3874 char16 __ovld __cnfn convert_char16_sat_rtn(char16);
3875 char16 __ovld __cnfn convert_char16(char16);
3876 char16 __ovld __cnfn convert_char16_sat(char16);
3877 char16 __ovld __cnfn convert_char16_rte(uchar16);
3878 char16 __ovld __cnfn convert_char16_sat_rte(uchar16);
3879 char16 __ovld __cnfn convert_char16_rtz(uchar16);
3880 char16 __ovld __cnfn convert_char16_sat_rtz(uchar16);
3881 char16 __ovld __cnfn convert_char16_rtp(uchar16);
3882 char16 __ovld __cnfn convert_char16_sat_rtp(uchar16);
3883 char16 __ovld __cnfn convert_char16_rtn(uchar16);
3884 char16 __ovld __cnfn convert_char16_sat_rtn(uchar16);
3885 char16 __ovld __cnfn convert_char16(uchar16);
3886 char16 __ovld __cnfn convert_char16_sat(uchar16);
3887 char16 __ovld __cnfn convert_char16_rte(short16);
3888 char16 __ovld __cnfn convert_char16_sat_rte(short16);
3889 char16 __ovld __cnfn convert_char16_rtz(short16);
3890 char16 __ovld __cnfn convert_char16_sat_rtz(short16);
3891 char16 __ovld __cnfn convert_char16_rtp(short16);
3892 char16 __ovld __cnfn convert_char16_sat_rtp(short16);
3893 char16 __ovld __cnfn convert_char16_rtn(short16);
3894 char16 __ovld __cnfn convert_char16_sat_rtn(short16);
3895 char16 __ovld __cnfn convert_char16(short16);
3896 char16 __ovld __cnfn convert_char16_sat(short16);
3897 char16 __ovld __cnfn convert_char16_rte(ushort16);
3898 char16 __ovld __cnfn convert_char16_sat_rte(ushort16);
3899 char16 __ovld __cnfn convert_char16_rtz(ushort16);
3900 char16 __ovld __cnfn convert_char16_sat_rtz(ushort16);
3901 char16 __ovld __cnfn convert_char16_rtp(ushort16);
3902 char16 __ovld __cnfn convert_char16_sat_rtp(ushort16);
3903 char16 __ovld __cnfn convert_char16_rtn(ushort16);
3904 char16 __ovld __cnfn convert_char16_sat_rtn(ushort16);
3905 char16 __ovld __cnfn convert_char16(ushort16);
3906 char16 __ovld __cnfn convert_char16_sat(ushort16);
3907 char16 __ovld __cnfn convert_char16_rte(int16);
3908 char16 __ovld __cnfn convert_char16_sat_rte(int16);
3909 char16 __ovld __cnfn convert_char16_rtz(int16);
3910 char16 __ovld __cnfn convert_char16_sat_rtz(int16);
3911 char16 __ovld __cnfn convert_char16_rtp(int16);
3912 char16 __ovld __cnfn convert_char16_sat_rtp(int16);
3913 char16 __ovld __cnfn convert_char16_rtn(int16);
3914 char16 __ovld __cnfn convert_char16_sat_rtn(int16);
3915 char16 __ovld __cnfn convert_char16(int16);
3916 char16 __ovld __cnfn convert_char16_sat(int16);
3917 char16 __ovld __cnfn convert_char16_rte(uint16);
3918 char16 __ovld __cnfn convert_char16_sat_rte(uint16);
3919 char16 __ovld __cnfn convert_char16_rtz(uint16);
3920 char16 __ovld __cnfn convert_char16_sat_rtz(uint16);
3921 char16 __ovld __cnfn convert_char16_rtp(uint16);
3922 char16 __ovld __cnfn convert_char16_sat_rtp(uint16);
3923 char16 __ovld __cnfn convert_char16_rtn(uint16);
3924 char16 __ovld __cnfn convert_char16_sat_rtn(uint16);
3925 char16 __ovld __cnfn convert_char16(uint16);
3926 char16 __ovld __cnfn convert_char16_sat(uint16);
3927 char16 __ovld __cnfn convert_char16_rte(long16);
3928 char16 __ovld __cnfn convert_char16_sat_rte(long16);
3929 char16 __ovld __cnfn convert_char16_rtz(long16);
3930 char16 __ovld __cnfn convert_char16_sat_rtz(long16);
3931 char16 __ovld __cnfn convert_char16_rtp(long16);
3932 char16 __ovld __cnfn convert_char16_sat_rtp(long16);
3933 char16 __ovld __cnfn convert_char16_rtn(long16);
3934 char16 __ovld __cnfn convert_char16_sat_rtn(long16);
3935 char16 __ovld __cnfn convert_char16(long16);
3936 char16 __ovld __cnfn convert_char16_sat(long16);
3937 char16 __ovld __cnfn convert_char16_rte(ulong16);
3938 char16 __ovld __cnfn convert_char16_sat_rte(ulong16);
3939 char16 __ovld __cnfn convert_char16_rtz(ulong16);
3940 char16 __ovld __cnfn convert_char16_sat_rtz(ulong16);
3941 char16 __ovld __cnfn convert_char16_rtp(ulong16);
3942 char16 __ovld __cnfn convert_char16_sat_rtp(ulong16);
3943 char16 __ovld __cnfn convert_char16_rtn(ulong16);
3944 char16 __ovld __cnfn convert_char16_sat_rtn(ulong16);
3945 char16 __ovld __cnfn convert_char16(ulong16);
3946 char16 __ovld __cnfn convert_char16_sat(ulong16);
3947 char16 __ovld __cnfn convert_char16_rte(float16);
3948 char16 __ovld __cnfn convert_char16_sat_rte(float16);
3949 char16 __ovld __cnfn convert_char16_rtz(float16);
3950 char16 __ovld __cnfn convert_char16_sat_rtz(float16);
3951 char16 __ovld __cnfn convert_char16_rtp(float16);
3952 char16 __ovld __cnfn convert_char16_sat_rtp(float16);
3953 char16 __ovld __cnfn convert_char16_rtn(float16);
3954 char16 __ovld __cnfn convert_char16_sat_rtn(float16);
3955 char16 __ovld __cnfn convert_char16(float16);
3956 char16 __ovld __cnfn convert_char16_sat(float16);
3957 uchar16 __ovld __cnfn convert_uchar16_rte(char16);
3958 uchar16 __ovld __cnfn convert_uchar16_sat_rte(char16);
3959 uchar16 __ovld __cnfn convert_uchar16_rtz(char16);
3960 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(char16);
3961 uchar16 __ovld __cnfn convert_uchar16_rtp(char16);
3962 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(char16);
3963 uchar16 __ovld __cnfn convert_uchar16_rtn(char16);
3964 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(char16);
3965 uchar16 __ovld __cnfn convert_uchar16(char16);
3966 uchar16 __ovld __cnfn convert_uchar16_sat(char16);
3967 uchar16 __ovld __cnfn convert_uchar16_rte(uchar16);
3968 uchar16 __ovld __cnfn convert_uchar16_sat_rte(uchar16);
3969 uchar16 __ovld __cnfn convert_uchar16_rtz(uchar16);
3970 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uchar16);
3971 uchar16 __ovld __cnfn convert_uchar16_rtp(uchar16);
3972 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uchar16);
3973 uchar16 __ovld __cnfn convert_uchar16_rtn(uchar16);
3974 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uchar16);
3975 uchar16 __ovld __cnfn convert_uchar16(uchar16);
3976 uchar16 __ovld __cnfn convert_uchar16_sat(uchar16);
3977 uchar16 __ovld __cnfn convert_uchar16_rte(short16);
3978 uchar16 __ovld __cnfn convert_uchar16_sat_rte(short16);
3979 uchar16 __ovld __cnfn convert_uchar16_rtz(short16);
3980 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(short16);
3981 uchar16 __ovld __cnfn convert_uchar16_rtp(short16);
3982 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(short16);
3983 uchar16 __ovld __cnfn convert_uchar16_rtn(short16);
3984 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(short16);
3985 uchar16 __ovld __cnfn convert_uchar16(short16);
3986 uchar16 __ovld __cnfn convert_uchar16_sat(short16);
3987 uchar16 __ovld __cnfn convert_uchar16_rte(ushort16);
3988 uchar16 __ovld __cnfn convert_uchar16_sat_rte(ushort16);
3989 uchar16 __ovld __cnfn convert_uchar16_rtz(ushort16);
3990 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ushort16);
3991 uchar16 __ovld __cnfn convert_uchar16_rtp(ushort16);
3992 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ushort16);
3993 uchar16 __ovld __cnfn convert_uchar16_rtn(ushort16);
3994 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ushort16);
3995 uchar16 __ovld __cnfn convert_uchar16(ushort16);
3996 uchar16 __ovld __cnfn convert_uchar16_sat(ushort16);
3997 uchar16 __ovld __cnfn convert_uchar16_rte(int16);
3998 uchar16 __ovld __cnfn convert_uchar16_sat_rte(int16);
3999 uchar16 __ovld __cnfn convert_uchar16_rtz(int16);
4000 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(int16);
4001 uchar16 __ovld __cnfn convert_uchar16_rtp(int16);
4002 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(int16);
4003 uchar16 __ovld __cnfn convert_uchar16_rtn(int16);
4004 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(int16);
4005 uchar16 __ovld __cnfn convert_uchar16(int16);
4006 uchar16 __ovld __cnfn convert_uchar16_sat(int16);
4007 uchar16 __ovld __cnfn convert_uchar16_rte(uint16);
4008 uchar16 __ovld __cnfn convert_uchar16_sat_rte(uint16);
4009 uchar16 __ovld __cnfn convert_uchar16_rtz(uint16);
4010 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uint16);
4011 uchar16 __ovld __cnfn convert_uchar16_rtp(uint16);
4012 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uint16);
4013 uchar16 __ovld __cnfn convert_uchar16_rtn(uint16);
4014 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uint16);
4015 uchar16 __ovld __cnfn convert_uchar16(uint16);
4016 uchar16 __ovld __cnfn convert_uchar16_sat(uint16);
4017 uchar16 __ovld __cnfn convert_uchar16_rte(long16);
4018 uchar16 __ovld __cnfn convert_uchar16_sat_rte(long16);
4019 uchar16 __ovld __cnfn convert_uchar16_rtz(long16);
4020 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(long16);
4021 uchar16 __ovld __cnfn convert_uchar16_rtp(long16);
4022 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(long16);
4023 uchar16 __ovld __cnfn convert_uchar16_rtn(long16);
4024 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(long16);
4025 uchar16 __ovld __cnfn convert_uchar16(long16);
4026 uchar16 __ovld __cnfn convert_uchar16_sat(long16);
4027 uchar16 __ovld __cnfn convert_uchar16_rte(ulong16);
4028 uchar16 __ovld __cnfn convert_uchar16_sat_rte(ulong16);
4029 uchar16 __ovld __cnfn convert_uchar16_rtz(ulong16);
4030 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ulong16);
4031 uchar16 __ovld __cnfn convert_uchar16_rtp(ulong16);
4032 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ulong16);
4033 uchar16 __ovld __cnfn convert_uchar16_rtn(ulong16);
4034 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ulong16);
4035 uchar16 __ovld __cnfn convert_uchar16(ulong16);
4036 uchar16 __ovld __cnfn convert_uchar16_sat(ulong16);
4037 uchar16 __ovld __cnfn convert_uchar16_rte(float16);
4038 uchar16 __ovld __cnfn convert_uchar16_sat_rte(float16);
4039 uchar16 __ovld __cnfn convert_uchar16_rtz(float16);
4040 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(float16);
4041 uchar16 __ovld __cnfn convert_uchar16_rtp(float16);
4042 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(float16);
4043 uchar16 __ovld __cnfn convert_uchar16_rtn(float16);
4044 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(float16);
4045 uchar16 __ovld __cnfn convert_uchar16(float16);
4046 uchar16 __ovld __cnfn convert_uchar16_sat(float16);
4047 short16 __ovld __cnfn convert_short16_rte(char16);
4048 short16 __ovld __cnfn convert_short16_sat_rte(char16);
4049 short16 __ovld __cnfn convert_short16_rtz(char16);
4050 short16 __ovld __cnfn convert_short16_sat_rtz(char16);
4051 short16 __ovld __cnfn convert_short16_rtp(char16);
4052 short16 __ovld __cnfn convert_short16_sat_rtp(char16);
4053 short16 __ovld __cnfn convert_short16_rtn(char16);
4054 short16 __ovld __cnfn convert_short16_sat_rtn(char16);
4055 short16 __ovld __cnfn convert_short16(char16);
4056 short16 __ovld __cnfn convert_short16_sat(char16);
4057 short16 __ovld __cnfn convert_short16_rte(uchar16);
4058 short16 __ovld __cnfn convert_short16_sat_rte(uchar16);
4059 short16 __ovld __cnfn convert_short16_rtz(uchar16);
4060 short16 __ovld __cnfn convert_short16_sat_rtz(uchar16);
4061 short16 __ovld __cnfn convert_short16_rtp(uchar16);
4062 short16 __ovld __cnfn convert_short16_sat_rtp(uchar16);
4063 short16 __ovld __cnfn convert_short16_rtn(uchar16);
4064 short16 __ovld __cnfn convert_short16_sat_rtn(uchar16);
4065 short16 __ovld __cnfn convert_short16(uchar16);
4066 short16 __ovld __cnfn convert_short16_sat(uchar16);
4067 short16 __ovld __cnfn convert_short16_rte(short16);
4068 short16 __ovld __cnfn convert_short16_sat_rte(short16);
4069 short16 __ovld __cnfn convert_short16_rtz(short16);
4070 short16 __ovld __cnfn convert_short16_sat_rtz(short16);
4071 short16 __ovld __cnfn convert_short16_rtp(short16);
4072 short16 __ovld __cnfn convert_short16_sat_rtp(short16);
4073 short16 __ovld __cnfn convert_short16_rtn(short16);
4074 short16 __ovld __cnfn convert_short16_sat_rtn(short16);
4075 short16 __ovld __cnfn convert_short16(short16);
4076 short16 __ovld __cnfn convert_short16_sat(short16);
4077 short16 __ovld __cnfn convert_short16_rte(ushort16);
4078 short16 __ovld __cnfn convert_short16_sat_rte(ushort16);
4079 short16 __ovld __cnfn convert_short16_rtz(ushort16);
4080 short16 __ovld __cnfn convert_short16_sat_rtz(ushort16);
4081 short16 __ovld __cnfn convert_short16_rtp(ushort16);
4082 short16 __ovld __cnfn convert_short16_sat_rtp(ushort16);
4083 short16 __ovld __cnfn convert_short16_rtn(ushort16);
4084 short16 __ovld __cnfn convert_short16_sat_rtn(ushort16);
4085 short16 __ovld __cnfn convert_short16(ushort16);
4086 short16 __ovld __cnfn convert_short16_sat(ushort16);
4087 short16 __ovld __cnfn convert_short16_rte(int16);
4088 short16 __ovld __cnfn convert_short16_sat_rte(int16);
4089 short16 __ovld __cnfn convert_short16_rtz(int16);
4090 short16 __ovld __cnfn convert_short16_sat_rtz(int16);
4091 short16 __ovld __cnfn convert_short16_rtp(int16);
4092 short16 __ovld __cnfn convert_short16_sat_rtp(int16);
4093 short16 __ovld __cnfn convert_short16_rtn(int16);
4094 short16 __ovld __cnfn convert_short16_sat_rtn(int16);
4095 short16 __ovld __cnfn convert_short16(int16);
4096 short16 __ovld __cnfn convert_short16_sat(int16);
4097 short16 __ovld __cnfn convert_short16_rte(uint16);
4098 short16 __ovld __cnfn convert_short16_sat_rte(uint16);
4099 short16 __ovld __cnfn convert_short16_rtz(uint16);
4100 short16 __ovld __cnfn convert_short16_sat_rtz(uint16);
4101 short16 __ovld __cnfn convert_short16_rtp(uint16);
4102 short16 __ovld __cnfn convert_short16_sat_rtp(uint16);
4103 short16 __ovld __cnfn convert_short16_rtn(uint16);
4104 short16 __ovld __cnfn convert_short16_sat_rtn(uint16);
4105 short16 __ovld __cnfn convert_short16(uint16);
4106 short16 __ovld __cnfn convert_short16_sat(uint16);
4107 short16 __ovld __cnfn convert_short16_rte(long16);
4108 short16 __ovld __cnfn convert_short16_sat_rte(long16);
4109 short16 __ovld __cnfn convert_short16_rtz(long16);
4110 short16 __ovld __cnfn convert_short16_sat_rtz(long16);
4111 short16 __ovld __cnfn convert_short16_rtp(long16);
4112 short16 __ovld __cnfn convert_short16_sat_rtp(long16);
4113 short16 __ovld __cnfn convert_short16_rtn(long16);
4114 short16 __ovld __cnfn convert_short16_sat_rtn(long16);
4115 short16 __ovld __cnfn convert_short16(long16);
4116 short16 __ovld __cnfn convert_short16_sat(long16);
4117 short16 __ovld __cnfn convert_short16_rte(ulong16);
4118 short16 __ovld __cnfn convert_short16_sat_rte(ulong16);
4119 short16 __ovld __cnfn convert_short16_rtz(ulong16);
4120 short16 __ovld __cnfn convert_short16_sat_rtz(ulong16);
4121 short16 __ovld __cnfn convert_short16_rtp(ulong16);
4122 short16 __ovld __cnfn convert_short16_sat_rtp(ulong16);
4123 short16 __ovld __cnfn convert_short16_rtn(ulong16);
4124 short16 __ovld __cnfn convert_short16_sat_rtn(ulong16);
4125 short16 __ovld __cnfn convert_short16(ulong16);
4126 short16 __ovld __cnfn convert_short16_sat(ulong16);
4127 short16 __ovld __cnfn convert_short16_rte(float16);
4128 short16 __ovld __cnfn convert_short16_sat_rte(float16);
4129 short16 __ovld __cnfn convert_short16_rtz(float16);
4130 short16 __ovld __cnfn convert_short16_sat_rtz(float16);
4131 short16 __ovld __cnfn convert_short16_rtp(float16);
4132 short16 __ovld __cnfn convert_short16_sat_rtp(float16);
4133 short16 __ovld __cnfn convert_short16_rtn(float16);
4134 short16 __ovld __cnfn convert_short16_sat_rtn(float16);
4135 short16 __ovld __cnfn convert_short16(float16);
4136 short16 __ovld __cnfn convert_short16_sat(float16);
4137 ushort16 __ovld __cnfn convert_ushort16_rte(char16);
4138 ushort16 __ovld __cnfn convert_ushort16_sat_rte(char16);
4139 ushort16 __ovld __cnfn convert_ushort16_rtz(char16);
4140 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(char16);
4141 ushort16 __ovld __cnfn convert_ushort16_rtp(char16);
4142 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(char16);
4143 ushort16 __ovld __cnfn convert_ushort16_rtn(char16);
4144 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(char16);
4145 ushort16 __ovld __cnfn convert_ushort16(char16);
4146 ushort16 __ovld __cnfn convert_ushort16_sat(char16);
4147 ushort16 __ovld __cnfn convert_ushort16_rte(uchar16);
4148 ushort16 __ovld __cnfn convert_ushort16_sat_rte(uchar16);
4149 ushort16 __ovld __cnfn convert_ushort16_rtz(uchar16);
4150 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uchar16);
4151 ushort16 __ovld __cnfn convert_ushort16_rtp(uchar16);
4152 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uchar16);
4153 ushort16 __ovld __cnfn convert_ushort16_rtn(uchar16);
4154 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uchar16);
4155 ushort16 __ovld __cnfn convert_ushort16(uchar16);
4156 ushort16 __ovld __cnfn convert_ushort16_sat(uchar16);
4157 ushort16 __ovld __cnfn convert_ushort16_rte(short16);
4158 ushort16 __ovld __cnfn convert_ushort16_sat_rte(short16);
4159 ushort16 __ovld __cnfn convert_ushort16_rtz(short16);
4160 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(short16);
4161 ushort16 __ovld __cnfn convert_ushort16_rtp(short16);
4162 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(short16);
4163 ushort16 __ovld __cnfn convert_ushort16_rtn(short16);
4164 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(short16);
4165 ushort16 __ovld __cnfn convert_ushort16(short16);
4166 ushort16 __ovld __cnfn convert_ushort16_sat(short16);
4167 ushort16 __ovld __cnfn convert_ushort16_rte(ushort16);
4168 ushort16 __ovld __cnfn convert_ushort16_sat_rte(ushort16);
4169 ushort16 __ovld __cnfn convert_ushort16_rtz(ushort16);
4170 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ushort16);
4171 ushort16 __ovld __cnfn convert_ushort16_rtp(ushort16);
4172 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ushort16);
4173 ushort16 __ovld __cnfn convert_ushort16_rtn(ushort16);
4174 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ushort16);
4175 ushort16 __ovld __cnfn convert_ushort16(ushort16);
4176 ushort16 __ovld __cnfn convert_ushort16_sat(ushort16);
4177 ushort16 __ovld __cnfn convert_ushort16_rte(int16);
4178 ushort16 __ovld __cnfn convert_ushort16_sat_rte(int16);
4179 ushort16 __ovld __cnfn convert_ushort16_rtz(int16);
4180 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(int16);
4181 ushort16 __ovld __cnfn convert_ushort16_rtp(int16);
4182 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(int16);
4183 ushort16 __ovld __cnfn convert_ushort16_rtn(int16);
4184 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(int16);
4185 ushort16 __ovld __cnfn convert_ushort16(int16);
4186 ushort16 __ovld __cnfn convert_ushort16_sat(int16);
4187 ushort16 __ovld __cnfn convert_ushort16_rte(uint16);
4188 ushort16 __ovld __cnfn convert_ushort16_sat_rte(uint16);
4189 ushort16 __ovld __cnfn convert_ushort16_rtz(uint16);
4190 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uint16);
4191 ushort16 __ovld __cnfn convert_ushort16_rtp(uint16);
4192 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uint16);
4193 ushort16 __ovld __cnfn convert_ushort16_rtn(uint16);
4194 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uint16);
4195 ushort16 __ovld __cnfn convert_ushort16(uint16);
4196 ushort16 __ovld __cnfn convert_ushort16_sat(uint16);
4197 ushort16 __ovld __cnfn convert_ushort16_rte(long16);
4198 ushort16 __ovld __cnfn convert_ushort16_sat_rte(long16);
4199 ushort16 __ovld __cnfn convert_ushort16_rtz(long16);
4200 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(long16);
4201 ushort16 __ovld __cnfn convert_ushort16_rtp(long16);
4202 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(long16);
4203 ushort16 __ovld __cnfn convert_ushort16_rtn(long16);
4204 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(long16);
4205 ushort16 __ovld __cnfn convert_ushort16(long16);
4206 ushort16 __ovld __cnfn convert_ushort16_sat(long16);
4207 ushort16 __ovld __cnfn convert_ushort16_rte(ulong16);
4208 ushort16 __ovld __cnfn convert_ushort16_sat_rte(ulong16);
4209 ushort16 __ovld __cnfn convert_ushort16_rtz(ulong16);
4210 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ulong16);
4211 ushort16 __ovld __cnfn convert_ushort16_rtp(ulong16);
4212 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ulong16);
4213 ushort16 __ovld __cnfn convert_ushort16_rtn(ulong16);
4214 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ulong16);
4215 ushort16 __ovld __cnfn convert_ushort16(ulong16);
4216 ushort16 __ovld __cnfn convert_ushort16_sat(ulong16);
4217 ushort16 __ovld __cnfn convert_ushort16_rte(float16);
4218 ushort16 __ovld __cnfn convert_ushort16_sat_rte(float16);
4219 ushort16 __ovld __cnfn convert_ushort16_rtz(float16);
4220 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(float16);
4221 ushort16 __ovld __cnfn convert_ushort16_rtp(float16);
4222 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(float16);
4223 ushort16 __ovld __cnfn convert_ushort16_rtn(float16);
4224 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(float16);
4225 ushort16 __ovld __cnfn convert_ushort16(float16);
4226 ushort16 __ovld __cnfn convert_ushort16_sat(float16);
4227 int16 __ovld __cnfn convert_int16_rte(char16);
4228 int16 __ovld __cnfn convert_int16_sat_rte(char16);
4229 int16 __ovld __cnfn convert_int16_rtz(char16);
4230 int16 __ovld __cnfn convert_int16_sat_rtz(char16);
4231 int16 __ovld __cnfn convert_int16_rtp(char16);
4232 int16 __ovld __cnfn convert_int16_sat_rtp(char16);
4233 int16 __ovld __cnfn convert_int16_rtn(char16);
4234 int16 __ovld __cnfn convert_int16_sat_rtn(char16);
4235 int16 __ovld __cnfn convert_int16(char16);
4236 int16 __ovld __cnfn convert_int16_sat(char16);
4237 int16 __ovld __cnfn convert_int16_rte(uchar16);
4238 int16 __ovld __cnfn convert_int16_sat_rte(uchar16);
4239 int16 __ovld __cnfn convert_int16_rtz(uchar16);
4240 int16 __ovld __cnfn convert_int16_sat_rtz(uchar16);
4241 int16 __ovld __cnfn convert_int16_rtp(uchar16);
4242 int16 __ovld __cnfn convert_int16_sat_rtp(uchar16);
4243 int16 __ovld __cnfn convert_int16_rtn(uchar16);
4244 int16 __ovld __cnfn convert_int16_sat_rtn(uchar16);
4245 int16 __ovld __cnfn convert_int16(uchar16);
4246 int16 __ovld __cnfn convert_int16_sat(uchar16);
4247 int16 __ovld __cnfn convert_int16_rte(short16);
4248 int16 __ovld __cnfn convert_int16_sat_rte(short16);
4249 int16 __ovld __cnfn convert_int16_rtz(short16);
4250 int16 __ovld __cnfn convert_int16_sat_rtz(short16);
4251 int16 __ovld __cnfn convert_int16_rtp(short16);
4252 int16 __ovld __cnfn convert_int16_sat_rtp(short16);
4253 int16 __ovld __cnfn convert_int16_rtn(short16);
4254 int16 __ovld __cnfn convert_int16_sat_rtn(short16);
4255 int16 __ovld __cnfn convert_int16(short16);
4256 int16 __ovld __cnfn convert_int16_sat(short16);
4257 int16 __ovld __cnfn convert_int16_rte(ushort16);
4258 int16 __ovld __cnfn convert_int16_sat_rte(ushort16);
4259 int16 __ovld __cnfn convert_int16_rtz(ushort16);
4260 int16 __ovld __cnfn convert_int16_sat_rtz(ushort16);
4261 int16 __ovld __cnfn convert_int16_rtp(ushort16);
4262 int16 __ovld __cnfn convert_int16_sat_rtp(ushort16);
4263 int16 __ovld __cnfn convert_int16_rtn(ushort16);
4264 int16 __ovld __cnfn convert_int16_sat_rtn(ushort16);
4265 int16 __ovld __cnfn convert_int16(ushort16);
4266 int16 __ovld __cnfn convert_int16_sat(ushort16);
4267 int16 __ovld __cnfn convert_int16_rte(int16);
4268 int16 __ovld __cnfn convert_int16_sat_rte(int16);
4269 int16 __ovld __cnfn convert_int16_rtz(int16);
4270 int16 __ovld __cnfn convert_int16_sat_rtz(int16);
4271 int16 __ovld __cnfn convert_int16_rtp(int16);
4272 int16 __ovld __cnfn convert_int16_sat_rtp(int16);
4273 int16 __ovld __cnfn convert_int16_rtn(int16);
4274 int16 __ovld __cnfn convert_int16_sat_rtn(int16);
4275 int16 __ovld __cnfn convert_int16(int16);
4276 int16 __ovld __cnfn convert_int16_sat(int16);
4277 int16 __ovld __cnfn convert_int16_rte(uint16);
4278 int16 __ovld __cnfn convert_int16_sat_rte(uint16);
4279 int16 __ovld __cnfn convert_int16_rtz(uint16);
4280 int16 __ovld __cnfn convert_int16_sat_rtz(uint16);
4281 int16 __ovld __cnfn convert_int16_rtp(uint16);
4282 int16 __ovld __cnfn convert_int16_sat_rtp(uint16);
4283 int16 __ovld __cnfn convert_int16_rtn(uint16);
4284 int16 __ovld __cnfn convert_int16_sat_rtn(uint16);
4285 int16 __ovld __cnfn convert_int16(uint16);
4286 int16 __ovld __cnfn convert_int16_sat(uint16);
4287 int16 __ovld __cnfn convert_int16_rte(long16);
4288 int16 __ovld __cnfn convert_int16_sat_rte(long16);
4289 int16 __ovld __cnfn convert_int16_rtz(long16);
4290 int16 __ovld __cnfn convert_int16_sat_rtz(long16);
4291 int16 __ovld __cnfn convert_int16_rtp(long16);
4292 int16 __ovld __cnfn convert_int16_sat_rtp(long16);
4293 int16 __ovld __cnfn convert_int16_rtn(long16);
4294 int16 __ovld __cnfn convert_int16_sat_rtn(long16);
4295 int16 __ovld __cnfn convert_int16(long16);
4296 int16 __ovld __cnfn convert_int16_sat(long16);
4297 int16 __ovld __cnfn convert_int16_rte(ulong16);
4298 int16 __ovld __cnfn convert_int16_sat_rte(ulong16);
4299 int16 __ovld __cnfn convert_int16_rtz(ulong16);
4300 int16 __ovld __cnfn convert_int16_sat_rtz(ulong16);
4301 int16 __ovld __cnfn convert_int16_rtp(ulong16);
4302 int16 __ovld __cnfn convert_int16_sat_rtp(ulong16);
4303 int16 __ovld __cnfn convert_int16_rtn(ulong16);
4304 int16 __ovld __cnfn convert_int16_sat_rtn(ulong16);
4305 int16 __ovld __cnfn convert_int16(ulong16);
4306 int16 __ovld __cnfn convert_int16_sat(ulong16);
4307 int16 __ovld __cnfn convert_int16_rte(float16);
4308 int16 __ovld __cnfn convert_int16_sat_rte(float16);
4309 int16 __ovld __cnfn convert_int16_rtz(float16);
4310 int16 __ovld __cnfn convert_int16_sat_rtz(float16);
4311 int16 __ovld __cnfn convert_int16_rtp(float16);
4312 int16 __ovld __cnfn convert_int16_sat_rtp(float16);
4313 int16 __ovld __cnfn convert_int16_rtn(float16);
4314 int16 __ovld __cnfn convert_int16_sat_rtn(float16);
4315 int16 __ovld __cnfn convert_int16(float16);
4316 int16 __ovld __cnfn convert_int16_sat(float16);
4317 uint16 __ovld __cnfn convert_uint16_rte(char16);
4318 uint16 __ovld __cnfn convert_uint16_sat_rte(char16);
4319 uint16 __ovld __cnfn convert_uint16_rtz(char16);
4320 uint16 __ovld __cnfn convert_uint16_sat_rtz(char16);
4321 uint16 __ovld __cnfn convert_uint16_rtp(char16);
4322 uint16 __ovld __cnfn convert_uint16_sat_rtp(char16);
4323 uint16 __ovld __cnfn convert_uint16_rtn(char16);
4324 uint16 __ovld __cnfn convert_uint16_sat_rtn(char16);
4325 uint16 __ovld __cnfn convert_uint16(char16);
4326 uint16 __ovld __cnfn convert_uint16_sat(char16);
4327 uint16 __ovld __cnfn convert_uint16_rte(uchar16);
4328 uint16 __ovld __cnfn convert_uint16_sat_rte(uchar16);
4329 uint16 __ovld __cnfn convert_uint16_rtz(uchar16);
4330 uint16 __ovld __cnfn convert_uint16_sat_rtz(uchar16);
4331 uint16 __ovld __cnfn convert_uint16_rtp(uchar16);
4332 uint16 __ovld __cnfn convert_uint16_sat_rtp(uchar16);
4333 uint16 __ovld __cnfn convert_uint16_rtn(uchar16);
4334 uint16 __ovld __cnfn convert_uint16_sat_rtn(uchar16);
4335 uint16 __ovld __cnfn convert_uint16(uchar16);
4336 uint16 __ovld __cnfn convert_uint16_sat(uchar16);
4337 uint16 __ovld __cnfn convert_uint16_rte(short16);
4338 uint16 __ovld __cnfn convert_uint16_sat_rte(short16);
4339 uint16 __ovld __cnfn convert_uint16_rtz(short16);
4340 uint16 __ovld __cnfn convert_uint16_sat_rtz(short16);
4341 uint16 __ovld __cnfn convert_uint16_rtp(short16);
4342 uint16 __ovld __cnfn convert_uint16_sat_rtp(short16);
4343 uint16 __ovld __cnfn convert_uint16_rtn(short16);
4344 uint16 __ovld __cnfn convert_uint16_sat_rtn(short16);
4345 uint16 __ovld __cnfn convert_uint16(short16);
4346 uint16 __ovld __cnfn convert_uint16_sat(short16);
4347 uint16 __ovld __cnfn convert_uint16_rte(ushort16);
4348 uint16 __ovld __cnfn convert_uint16_sat_rte(ushort16);
4349 uint16 __ovld __cnfn convert_uint16_rtz(ushort16);
4350 uint16 __ovld __cnfn convert_uint16_sat_rtz(ushort16);
4351 uint16 __ovld __cnfn convert_uint16_rtp(ushort16);
4352 uint16 __ovld __cnfn convert_uint16_sat_rtp(ushort16);
4353 uint16 __ovld __cnfn convert_uint16_rtn(ushort16);
4354 uint16 __ovld __cnfn convert_uint16_sat_rtn(ushort16);
4355 uint16 __ovld __cnfn convert_uint16(ushort16);
4356 uint16 __ovld __cnfn convert_uint16_sat(ushort16);
4357 uint16 __ovld __cnfn convert_uint16_rte(int16);
4358 uint16 __ovld __cnfn convert_uint16_sat_rte(int16);
4359 uint16 __ovld __cnfn convert_uint16_rtz(int16);
4360 uint16 __ovld __cnfn convert_uint16_sat_rtz(int16);
4361 uint16 __ovld __cnfn convert_uint16_rtp(int16);
4362 uint16 __ovld __cnfn convert_uint16_sat_rtp(int16);
4363 uint16 __ovld __cnfn convert_uint16_rtn(int16);
4364 uint16 __ovld __cnfn convert_uint16_sat_rtn(int16);
4365 uint16 __ovld __cnfn convert_uint16(int16);
4366 uint16 __ovld __cnfn convert_uint16_sat(int16);
4367 uint16 __ovld __cnfn convert_uint16_rte(uint16);
4368 uint16 __ovld __cnfn convert_uint16_sat_rte(uint16);
4369 uint16 __ovld __cnfn convert_uint16_rtz(uint16);
4370 uint16 __ovld __cnfn convert_uint16_sat_rtz(uint16);
4371 uint16 __ovld __cnfn convert_uint16_rtp(uint16);
4372 uint16 __ovld __cnfn convert_uint16_sat_rtp(uint16);
4373 uint16 __ovld __cnfn convert_uint16_rtn(uint16);
4374 uint16 __ovld __cnfn convert_uint16_sat_rtn(uint16);
4375 uint16 __ovld __cnfn convert_uint16(uint16);
4376 uint16 __ovld __cnfn convert_uint16_sat(uint16);
4377 uint16 __ovld __cnfn convert_uint16_rte(long16);
4378 uint16 __ovld __cnfn convert_uint16_sat_rte(long16);
4379 uint16 __ovld __cnfn convert_uint16_rtz(long16);
4380 uint16 __ovld __cnfn convert_uint16_sat_rtz(long16);
4381 uint16 __ovld __cnfn convert_uint16_rtp(long16);
4382 uint16 __ovld __cnfn convert_uint16_sat_rtp(long16);
4383 uint16 __ovld __cnfn convert_uint16_rtn(long16);
4384 uint16 __ovld __cnfn convert_uint16_sat_rtn(long16);
4385 uint16 __ovld __cnfn convert_uint16(long16);
4386 uint16 __ovld __cnfn convert_uint16_sat(long16);
4387 uint16 __ovld __cnfn convert_uint16_rte(ulong16);
4388 uint16 __ovld __cnfn convert_uint16_sat_rte(ulong16);
4389 uint16 __ovld __cnfn convert_uint16_rtz(ulong16);
4390 uint16 __ovld __cnfn convert_uint16_sat_rtz(ulong16);
4391 uint16 __ovld __cnfn convert_uint16_rtp(ulong16);
4392 uint16 __ovld __cnfn convert_uint16_sat_rtp(ulong16);
4393 uint16 __ovld __cnfn convert_uint16_rtn(ulong16);
4394 uint16 __ovld __cnfn convert_uint16_sat_rtn(ulong16);
4395 uint16 __ovld __cnfn convert_uint16(ulong16);
4396 uint16 __ovld __cnfn convert_uint16_sat(ulong16);
4397 uint16 __ovld __cnfn convert_uint16_rte(float16);
4398 uint16 __ovld __cnfn convert_uint16_sat_rte(float16);
4399 uint16 __ovld __cnfn convert_uint16_rtz(float16);
4400 uint16 __ovld __cnfn convert_uint16_sat_rtz(float16);
4401 uint16 __ovld __cnfn convert_uint16_rtp(float16);
4402 uint16 __ovld __cnfn convert_uint16_sat_rtp(float16);
4403 uint16 __ovld __cnfn convert_uint16_rtn(float16);
4404 uint16 __ovld __cnfn convert_uint16_sat_rtn(float16);
4405 uint16 __ovld __cnfn convert_uint16(float16);
4406 uint16 __ovld __cnfn convert_uint16_sat(float16);
4407 long16 __ovld __cnfn convert_long16_rte(char16);
4408 long16 __ovld __cnfn convert_long16_sat_rte(char16);
4409 long16 __ovld __cnfn convert_long16_rtz(char16);
4410 long16 __ovld __cnfn convert_long16_sat_rtz(char16);
4411 long16 __ovld __cnfn convert_long16_rtp(char16);
4412 long16 __ovld __cnfn convert_long16_sat_rtp(char16);
4413 long16 __ovld __cnfn convert_long16_rtn(char16);
4414 long16 __ovld __cnfn convert_long16_sat_rtn(char16);
4415 long16 __ovld __cnfn convert_long16(char16);
4416 long16 __ovld __cnfn convert_long16_sat(char16);
4417 long16 __ovld __cnfn convert_long16_rte(uchar16);
4418 long16 __ovld __cnfn convert_long16_sat_rte(uchar16);
4419 long16 __ovld __cnfn convert_long16_rtz(uchar16);
4420 long16 __ovld __cnfn convert_long16_sat_rtz(uchar16);
4421 long16 __ovld __cnfn convert_long16_rtp(uchar16);
4422 long16 __ovld __cnfn convert_long16_sat_rtp(uchar16);
4423 long16 __ovld __cnfn convert_long16_rtn(uchar16);
4424 long16 __ovld __cnfn convert_long16_sat_rtn(uchar16);
4425 long16 __ovld __cnfn convert_long16(uchar16);
4426 long16 __ovld __cnfn convert_long16_sat(uchar16);
4427 long16 __ovld __cnfn convert_long16_rte(short16);
4428 long16 __ovld __cnfn convert_long16_sat_rte(short16);
4429 long16 __ovld __cnfn convert_long16_rtz(short16);
4430 long16 __ovld __cnfn convert_long16_sat_rtz(short16);
4431 long16 __ovld __cnfn convert_long16_rtp(short16);
4432 long16 __ovld __cnfn convert_long16_sat_rtp(short16);
4433 long16 __ovld __cnfn convert_long16_rtn(short16);
4434 long16 __ovld __cnfn convert_long16_sat_rtn(short16);
4435 long16 __ovld __cnfn convert_long16(short16);
4436 long16 __ovld __cnfn convert_long16_sat(short16);
4437 long16 __ovld __cnfn convert_long16_rte(ushort16);
4438 long16 __ovld __cnfn convert_long16_sat_rte(ushort16);
4439 long16 __ovld __cnfn convert_long16_rtz(ushort16);
4440 long16 __ovld __cnfn convert_long16_sat_rtz(ushort16);
4441 long16 __ovld __cnfn convert_long16_rtp(ushort16);
4442 long16 __ovld __cnfn convert_long16_sat_rtp(ushort16);
4443 long16 __ovld __cnfn convert_long16_rtn(ushort16);
4444 long16 __ovld __cnfn convert_long16_sat_rtn(ushort16);
4445 long16 __ovld __cnfn convert_long16(ushort16);
4446 long16 __ovld __cnfn convert_long16_sat(ushort16);
4447 long16 __ovld __cnfn convert_long16_rte(int16);
4448 long16 __ovld __cnfn convert_long16_sat_rte(int16);
4449 long16 __ovld __cnfn convert_long16_rtz(int16);
4450 long16 __ovld __cnfn convert_long16_sat_rtz(int16);
4451 long16 __ovld __cnfn convert_long16_rtp(int16);
4452 long16 __ovld __cnfn convert_long16_sat_rtp(int16);
4453 long16 __ovld __cnfn convert_long16_rtn(int16);
4454 long16 __ovld __cnfn convert_long16_sat_rtn(int16);
4455 long16 __ovld __cnfn convert_long16(int16);
4456 long16 __ovld __cnfn convert_long16_sat(int16);
4457 long16 __ovld __cnfn convert_long16_rte(uint16);
4458 long16 __ovld __cnfn convert_long16_sat_rte(uint16);
4459 long16 __ovld __cnfn convert_long16_rtz(uint16);
4460 long16 __ovld __cnfn convert_long16_sat_rtz(uint16);
4461 long16 __ovld __cnfn convert_long16_rtp(uint16);
4462 long16 __ovld __cnfn convert_long16_sat_rtp(uint16);
4463 long16 __ovld __cnfn convert_long16_rtn(uint16);
4464 long16 __ovld __cnfn convert_long16_sat_rtn(uint16);
4465 long16 __ovld __cnfn convert_long16(uint16);
4466 long16 __ovld __cnfn convert_long16_sat(uint16);
4467 long16 __ovld __cnfn convert_long16_rte(long16);
4468 long16 __ovld __cnfn convert_long16_sat_rte(long16);
4469 long16 __ovld __cnfn convert_long16_rtz(long16);
4470 long16 __ovld __cnfn convert_long16_sat_rtz(long16);
4471 long16 __ovld __cnfn convert_long16_rtp(long16);
4472 long16 __ovld __cnfn convert_long16_sat_rtp(long16);
4473 long16 __ovld __cnfn convert_long16_rtn(long16);
4474 long16 __ovld __cnfn convert_long16_sat_rtn(long16);
4475 long16 __ovld __cnfn convert_long16(long16);
4476 long16 __ovld __cnfn convert_long16_sat(long16);
4477 long16 __ovld __cnfn convert_long16_rte(ulong16);
4478 long16 __ovld __cnfn convert_long16_sat_rte(ulong16);
4479 long16 __ovld __cnfn convert_long16_rtz(ulong16);
4480 long16 __ovld __cnfn convert_long16_sat_rtz(ulong16);
4481 long16 __ovld __cnfn convert_long16_rtp(ulong16);
4482 long16 __ovld __cnfn convert_long16_sat_rtp(ulong16);
4483 long16 __ovld __cnfn convert_long16_rtn(ulong16);
4484 long16 __ovld __cnfn convert_long16_sat_rtn(ulong16);
4485 long16 __ovld __cnfn convert_long16(ulong16);
4486 long16 __ovld __cnfn convert_long16_sat(ulong16);
4487 long16 __ovld __cnfn convert_long16_rte(float16);
4488 long16 __ovld __cnfn convert_long16_sat_rte(float16);
4489 long16 __ovld __cnfn convert_long16_rtz(float16);
4490 long16 __ovld __cnfn convert_long16_sat_rtz(float16);
4491 long16 __ovld __cnfn convert_long16_rtp(float16);
4492 long16 __ovld __cnfn convert_long16_sat_rtp(float16);
4493 long16 __ovld __cnfn convert_long16_rtn(float16);
4494 long16 __ovld __cnfn convert_long16_sat_rtn(float16);
4495 long16 __ovld __cnfn convert_long16(float16);
4496 long16 __ovld __cnfn convert_long16_sat(float16);
4497 ulong16 __ovld __cnfn convert_ulong16_rte(char16);
4498 ulong16 __ovld __cnfn convert_ulong16_sat_rte(char16);
4499 ulong16 __ovld __cnfn convert_ulong16_rtz(char16);
4500 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(char16);
4501 ulong16 __ovld __cnfn convert_ulong16_rtp(char16);
4502 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(char16);
4503 ulong16 __ovld __cnfn convert_ulong16_rtn(char16);
4504 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(char16);
4505 ulong16 __ovld __cnfn convert_ulong16(char16);
4506 ulong16 __ovld __cnfn convert_ulong16_sat(char16);
4507 ulong16 __ovld __cnfn convert_ulong16_rte(uchar16);
4508 ulong16 __ovld __cnfn convert_ulong16_sat_rte(uchar16);
4509 ulong16 __ovld __cnfn convert_ulong16_rtz(uchar16);
4510 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uchar16);
4511 ulong16 __ovld __cnfn convert_ulong16_rtp(uchar16);
4512 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uchar16);
4513 ulong16 __ovld __cnfn convert_ulong16_rtn(uchar16);
4514 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uchar16);
4515 ulong16 __ovld __cnfn convert_ulong16(uchar16);
4516 ulong16 __ovld __cnfn convert_ulong16_sat(uchar16);
4517 ulong16 __ovld __cnfn convert_ulong16_rte(short16);
4518 ulong16 __ovld __cnfn convert_ulong16_sat_rte(short16);
4519 ulong16 __ovld __cnfn convert_ulong16_rtz(short16);
4520 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(short16);
4521 ulong16 __ovld __cnfn convert_ulong16_rtp(short16);
4522 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(short16);
4523 ulong16 __ovld __cnfn convert_ulong16_rtn(short16);
4524 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(short16);
4525 ulong16 __ovld __cnfn convert_ulong16(short16);
4526 ulong16 __ovld __cnfn convert_ulong16_sat(short16);
4527 ulong16 __ovld __cnfn convert_ulong16_rte(ushort16);
4528 ulong16 __ovld __cnfn convert_ulong16_sat_rte(ushort16);
4529 ulong16 __ovld __cnfn convert_ulong16_rtz(ushort16);
4530 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ushort16);
4531 ulong16 __ovld __cnfn convert_ulong16_rtp(ushort16);
4532 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ushort16);
4533 ulong16 __ovld __cnfn convert_ulong16_rtn(ushort16);
4534 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ushort16);
4535 ulong16 __ovld __cnfn convert_ulong16(ushort16);
4536 ulong16 __ovld __cnfn convert_ulong16_sat(ushort16);
4537 ulong16 __ovld __cnfn convert_ulong16_rte(int16);
4538 ulong16 __ovld __cnfn convert_ulong16_sat_rte(int16);
4539 ulong16 __ovld __cnfn convert_ulong16_rtz(int16);
4540 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(int16);
4541 ulong16 __ovld __cnfn convert_ulong16_rtp(int16);
4542 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(int16);
4543 ulong16 __ovld __cnfn convert_ulong16_rtn(int16);
4544 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(int16);
4545 ulong16 __ovld __cnfn convert_ulong16(int16);
4546 ulong16 __ovld __cnfn convert_ulong16_sat(int16);
4547 ulong16 __ovld __cnfn convert_ulong16_rte(uint16);
4548 ulong16 __ovld __cnfn convert_ulong16_sat_rte(uint16);
4549 ulong16 __ovld __cnfn convert_ulong16_rtz(uint16);
4550 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uint16);
4551 ulong16 __ovld __cnfn convert_ulong16_rtp(uint16);
4552 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uint16);
4553 ulong16 __ovld __cnfn convert_ulong16_rtn(uint16);
4554 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uint16);
4555 ulong16 __ovld __cnfn convert_ulong16(uint16);
4556 ulong16 __ovld __cnfn convert_ulong16_sat(uint16);
4557 ulong16 __ovld __cnfn convert_ulong16_rte(long16);
4558 ulong16 __ovld __cnfn convert_ulong16_sat_rte(long16);
4559 ulong16 __ovld __cnfn convert_ulong16_rtz(long16);
4560 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(long16);
4561 ulong16 __ovld __cnfn convert_ulong16_rtp(long16);
4562 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(long16);
4563 ulong16 __ovld __cnfn convert_ulong16_rtn(long16);
4564 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(long16);
4565 ulong16 __ovld __cnfn convert_ulong16(long16);
4566 ulong16 __ovld __cnfn convert_ulong16_sat(long16);
4567 ulong16 __ovld __cnfn convert_ulong16_rte(ulong16);
4568 ulong16 __ovld __cnfn convert_ulong16_sat_rte(ulong16);
4569 ulong16 __ovld __cnfn convert_ulong16_rtz(ulong16);
4570 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ulong16);
4571 ulong16 __ovld __cnfn convert_ulong16_rtp(ulong16);
4572 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ulong16);
4573 ulong16 __ovld __cnfn convert_ulong16_rtn(ulong16);
4574 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ulong16);
4575 ulong16 __ovld __cnfn convert_ulong16(ulong16);
4576 ulong16 __ovld __cnfn convert_ulong16_sat(ulong16);
4577 ulong16 __ovld __cnfn convert_ulong16_rte(float16);
4578 ulong16 __ovld __cnfn convert_ulong16_sat_rte(float16);
4579 ulong16 __ovld __cnfn convert_ulong16_rtz(float16);
4580 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(float16);
4581 ulong16 __ovld __cnfn convert_ulong16_rtp(float16);
4582 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(float16);
4583 ulong16 __ovld __cnfn convert_ulong16_rtn(float16);
4584 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(float16);
4585 ulong16 __ovld __cnfn convert_ulong16(float16);
4586 ulong16 __ovld __cnfn convert_ulong16_sat(float16);
4587 float16 __ovld __cnfn convert_float16_rte(char16);
4588 float16 __ovld __cnfn convert_float16_rtz(char16);
4589 float16 __ovld __cnfn convert_float16_rtp(char16);
4590 float16 __ovld __cnfn convert_float16_rtn(char16);
4591 float16 __ovld __cnfn convert_float16(char16);
4592 float16 __ovld __cnfn convert_float16_rte(uchar16);
4593 float16 __ovld __cnfn convert_float16_rtz(uchar16);
4594 float16 __ovld __cnfn convert_float16_rtp(uchar16);
4595 float16 __ovld __cnfn convert_float16_rtn(uchar16);
4596 float16 __ovld __cnfn convert_float16(uchar16);
4597 float16 __ovld __cnfn convert_float16_rte(short16);
4598 float16 __ovld __cnfn convert_float16_rtz(short16);
4599 float16 __ovld __cnfn convert_float16_rtp(short16);
4600 float16 __ovld __cnfn convert_float16_rtn(short16);
4601 float16 __ovld __cnfn convert_float16(short16);
4602 float16 __ovld __cnfn convert_float16_rte(ushort16);
4603 float16 __ovld __cnfn convert_float16_rtz(ushort16);
4604 float16 __ovld __cnfn convert_float16_rtp(ushort16);
4605 float16 __ovld __cnfn convert_float16_rtn(ushort16);
4606 float16 __ovld __cnfn convert_float16(ushort16);
4607 float16 __ovld __cnfn convert_float16_rte(int16);
4608 float16 __ovld __cnfn convert_float16_rtz(int16);
4609 float16 __ovld __cnfn convert_float16_rtp(int16);
4610 float16 __ovld __cnfn convert_float16_rtn(int16);
4611 float16 __ovld __cnfn convert_float16(int16);
4612 float16 __ovld __cnfn convert_float16_rte(uint16);
4613 float16 __ovld __cnfn convert_float16_rtz(uint16);
4614 float16 __ovld __cnfn convert_float16_rtp(uint16);
4615 float16 __ovld __cnfn convert_float16_rtn(uint16);
4616 float16 __ovld __cnfn convert_float16(uint16);
4617 float16 __ovld __cnfn convert_float16_rte(long16);
4618 float16 __ovld __cnfn convert_float16_rtz(long16);
4619 float16 __ovld __cnfn convert_float16_rtp(long16);
4620 float16 __ovld __cnfn convert_float16_rtn(long16);
4621 float16 __ovld __cnfn convert_float16(long16);
4622 float16 __ovld __cnfn convert_float16_rte(ulong16);
4623 float16 __ovld __cnfn convert_float16_rtz(ulong16);
4624 float16 __ovld __cnfn convert_float16_rtp(ulong16);
4625 float16 __ovld __cnfn convert_float16_rtn(ulong16);
4626 float16 __ovld __cnfn convert_float16(ulong16);
4627 float16 __ovld __cnfn convert_float16_rte(float16);
4628 float16 __ovld __cnfn convert_float16_rtz(float16);
4629 float16 __ovld __cnfn convert_float16_rtp(float16);
4630 float16 __ovld __cnfn convert_float16_rtn(float16);
4631 float16 __ovld __cnfn convert_float16(float16);
4632
4633 // Conversions with double data type parameters or return value.
4634
4635 #ifdef cl_khr_fp64
4636 char __ovld __cnfn convert_char(double);
4637 char __ovld __cnfn convert_char_rte(double);
4638 char __ovld __cnfn convert_char_rtn(double);
4639 char __ovld __cnfn convert_char_rtp(double);
4640 char __ovld __cnfn convert_char_rtz(double);
4641 char __ovld __cnfn convert_char_sat(double);
4642 char __ovld __cnfn convert_char_sat_rte(double);
4643 char __ovld __cnfn convert_char_sat_rtn(double);
4644 char __ovld __cnfn convert_char_sat_rtp(double);
4645 char __ovld __cnfn convert_char_sat_rtz(double);
4646 char2 __ovld __cnfn convert_char2(double2);
4647 char2 __ovld __cnfn convert_char2_rte(double2);
4648 char2 __ovld __cnfn convert_char2_rtn(double2);
4649 char2 __ovld __cnfn convert_char2_rtp(double2);
4650 char2 __ovld __cnfn convert_char2_rtz(double2);
4651 char2 __ovld __cnfn convert_char2_sat(double2);
4652 char2 __ovld __cnfn convert_char2_sat_rte(double2);
4653 char2 __ovld __cnfn convert_char2_sat_rtn(double2);
4654 char2 __ovld __cnfn convert_char2_sat_rtp(double2);
4655 char2 __ovld __cnfn convert_char2_sat_rtz(double2);
4656 char3 __ovld __cnfn convert_char3(double3);
4657 char3 __ovld __cnfn convert_char3_rte(double3);
4658 char3 __ovld __cnfn convert_char3_rtn(double3);
4659 char3 __ovld __cnfn convert_char3_rtp(double3);
4660 char3 __ovld __cnfn convert_char3_rtz(double3);
4661 char3 __ovld __cnfn convert_char3_sat(double3);
4662 char3 __ovld __cnfn convert_char3_sat_rte(double3);
4663 char3 __ovld __cnfn convert_char3_sat_rtn(double3);
4664 char3 __ovld __cnfn convert_char3_sat_rtp(double3);
4665 char3 __ovld __cnfn convert_char3_sat_rtz(double3);
4666 char4 __ovld __cnfn convert_char4(double4);
4667 char4 __ovld __cnfn convert_char4_rte(double4);
4668 char4 __ovld __cnfn convert_char4_rtn(double4);
4669 char4 __ovld __cnfn convert_char4_rtp(double4);
4670 char4 __ovld __cnfn convert_char4_rtz(double4);
4671 char4 __ovld __cnfn convert_char4_sat(double4);
4672 char4 __ovld __cnfn convert_char4_sat_rte(double4);
4673 char4 __ovld __cnfn convert_char4_sat_rtn(double4);
4674 char4 __ovld __cnfn convert_char4_sat_rtp(double4);
4675 char4 __ovld __cnfn convert_char4_sat_rtz(double4);
4676 char8 __ovld __cnfn convert_char8(double8);
4677 char8 __ovld __cnfn convert_char8_rte(double8);
4678 char8 __ovld __cnfn convert_char8_rtn(double8);
4679 char8 __ovld __cnfn convert_char8_rtp(double8);
4680 char8 __ovld __cnfn convert_char8_rtz(double8);
4681 char8 __ovld __cnfn convert_char8_sat(double8);
4682 char8 __ovld __cnfn convert_char8_sat_rte(double8);
4683 char8 __ovld __cnfn convert_char8_sat_rtn(double8);
4684 char8 __ovld __cnfn convert_char8_sat_rtp(double8);
4685 char8 __ovld __cnfn convert_char8_sat_rtz(double8);
4686 char16 __ovld __cnfn convert_char16(double16);
4687 char16 __ovld __cnfn convert_char16_rte(double16);
4688 char16 __ovld __cnfn convert_char16_rtn(double16);
4689 char16 __ovld __cnfn convert_char16_rtp(double16);
4690 char16 __ovld __cnfn convert_char16_rtz(double16);
4691 char16 __ovld __cnfn convert_char16_sat(double16);
4692 char16 __ovld __cnfn convert_char16_sat_rte(double16);
4693 char16 __ovld __cnfn convert_char16_sat_rtn(double16);
4694 char16 __ovld __cnfn convert_char16_sat_rtp(double16);
4695 char16 __ovld __cnfn convert_char16_sat_rtz(double16);
4696
4697 uchar __ovld __cnfn convert_uchar(double);
4698 uchar __ovld __cnfn convert_uchar_rte(double);
4699 uchar __ovld __cnfn convert_uchar_rtn(double);
4700 uchar __ovld __cnfn convert_uchar_rtp(double);
4701 uchar __ovld __cnfn convert_uchar_rtz(double);
4702 uchar __ovld __cnfn convert_uchar_sat(double);
4703 uchar __ovld __cnfn convert_uchar_sat_rte(double);
4704 uchar __ovld __cnfn convert_uchar_sat_rtn(double);
4705 uchar __ovld __cnfn convert_uchar_sat_rtp(double);
4706 uchar __ovld __cnfn convert_uchar_sat_rtz(double);
4707 uchar2 __ovld __cnfn convert_uchar2(double2);
4708 uchar2 __ovld __cnfn convert_uchar2_rte(double2);
4709 uchar2 __ovld __cnfn convert_uchar2_rtn(double2);
4710 uchar2 __ovld __cnfn convert_uchar2_rtp(double2);
4711 uchar2 __ovld __cnfn convert_uchar2_rtz(double2);
4712 uchar2 __ovld __cnfn convert_uchar2_sat(double2);
4713 uchar2 __ovld __cnfn convert_uchar2_sat_rte(double2);
4714 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(double2);
4715 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(double2);
4716 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(double2);
4717 uchar3 __ovld __cnfn convert_uchar3(double3);
4718 uchar3 __ovld __cnfn convert_uchar3_rte(double3);
4719 uchar3 __ovld __cnfn convert_uchar3_rtn(double3);
4720 uchar3 __ovld __cnfn convert_uchar3_rtp(double3);
4721 uchar3 __ovld __cnfn convert_uchar3_rtz(double3);
4722 uchar3 __ovld __cnfn convert_uchar3_sat(double3);
4723 uchar3 __ovld __cnfn convert_uchar3_sat_rte(double3);
4724 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(double3);
4725 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(double3);
4726 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(double3);
4727 uchar4 __ovld __cnfn convert_uchar4(double4);
4728 uchar4 __ovld __cnfn convert_uchar4_rte(double4);
4729 uchar4 __ovld __cnfn convert_uchar4_rtn(double4);
4730 uchar4 __ovld __cnfn convert_uchar4_rtp(double4);
4731 uchar4 __ovld __cnfn convert_uchar4_rtz(double4);
4732 uchar4 __ovld __cnfn convert_uchar4_sat(double4);
4733 uchar4 __ovld __cnfn convert_uchar4_sat_rte(double4);
4734 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(double4);
4735 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(double4);
4736 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(double4);
4737 uchar8 __ovld __cnfn convert_uchar8(double8);
4738 uchar8 __ovld __cnfn convert_uchar8_rte(double8);
4739 uchar8 __ovld __cnfn convert_uchar8_rtn(double8);
4740 uchar8 __ovld __cnfn convert_uchar8_rtp(double8);
4741 uchar8 __ovld __cnfn convert_uchar8_rtz(double8);
4742 uchar8 __ovld __cnfn convert_uchar8_sat(double8);
4743 uchar8 __ovld __cnfn convert_uchar8_sat_rte(double8);
4744 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(double8);
4745 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(double8);
4746 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(double8);
4747 uchar16 __ovld __cnfn convert_uchar16(double16);
4748 uchar16 __ovld __cnfn convert_uchar16_rte(double16);
4749 uchar16 __ovld __cnfn convert_uchar16_rtn(double16);
4750 uchar16 __ovld __cnfn convert_uchar16_rtp(double16);
4751 uchar16 __ovld __cnfn convert_uchar16_rtz(double16);
4752 uchar16 __ovld __cnfn convert_uchar16_sat(double16);
4753 uchar16 __ovld __cnfn convert_uchar16_sat_rte(double16);
4754 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(double16);
4755 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(double16);
4756 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(double16);
4757
4758 short __ovld __cnfn convert_short(double);
4759 short __ovld __cnfn convert_short_rte(double);
4760 short __ovld __cnfn convert_short_rtn(double);
4761 short __ovld __cnfn convert_short_rtp(double);
4762 short __ovld __cnfn convert_short_rtz(double);
4763 short __ovld __cnfn convert_short_sat(double);
4764 short __ovld __cnfn convert_short_sat_rte(double);
4765 short __ovld __cnfn convert_short_sat_rtn(double);
4766 short __ovld __cnfn convert_short_sat_rtp(double);
4767 short __ovld __cnfn convert_short_sat_rtz(double);
4768 short2 __ovld __cnfn convert_short2(double2);
4769 short2 __ovld __cnfn convert_short2_rte(double2);
4770 short2 __ovld __cnfn convert_short2_rtn(double2);
4771 short2 __ovld __cnfn convert_short2_rtp(double2);
4772 short2 __ovld __cnfn convert_short2_rtz(double2);
4773 short2 __ovld __cnfn convert_short2_sat(double2);
4774 short2 __ovld __cnfn convert_short2_sat_rte(double2);
4775 short2 __ovld __cnfn convert_short2_sat_rtn(double2);
4776 short2 __ovld __cnfn convert_short2_sat_rtp(double2);
4777 short2 __ovld __cnfn convert_short2_sat_rtz(double2);
4778 short3 __ovld __cnfn convert_short3(double3);
4779 short3 __ovld __cnfn convert_short3_rte(double3);
4780 short3 __ovld __cnfn convert_short3_rtn(double3);
4781 short3 __ovld __cnfn convert_short3_rtp(double3);
4782 short3 __ovld __cnfn convert_short3_rtz(double3);
4783 short3 __ovld __cnfn convert_short3_sat(double3);
4784 short3 __ovld __cnfn convert_short3_sat_rte(double3);
4785 short3 __ovld __cnfn convert_short3_sat_rtn(double3);
4786 short3 __ovld __cnfn convert_short3_sat_rtp(double3);
4787 short3 __ovld __cnfn convert_short3_sat_rtz(double3);
4788 short4 __ovld __cnfn convert_short4(double4);
4789 short4 __ovld __cnfn convert_short4_rte(double4);
4790 short4 __ovld __cnfn convert_short4_rtn(double4);
4791 short4 __ovld __cnfn convert_short4_rtp(double4);
4792 short4 __ovld __cnfn convert_short4_rtz(double4);
4793 short4 __ovld __cnfn convert_short4_sat(double4);
4794 short4 __ovld __cnfn convert_short4_sat_rte(double4);
4795 short4 __ovld __cnfn convert_short4_sat_rtn(double4);
4796 short4 __ovld __cnfn convert_short4_sat_rtp(double4);
4797 short4 __ovld __cnfn convert_short4_sat_rtz(double4);
4798 short8 __ovld __cnfn convert_short8(double8);
4799 short8 __ovld __cnfn convert_short8_rte(double8);
4800 short8 __ovld __cnfn convert_short8_rtn(double8);
4801 short8 __ovld __cnfn convert_short8_rtp(double8);
4802 short8 __ovld __cnfn convert_short8_rtz(double8);
4803 short8 __ovld __cnfn convert_short8_sat(double8);
4804 short8 __ovld __cnfn convert_short8_sat_rte(double8);
4805 short8 __ovld __cnfn convert_short8_sat_rtn(double8);
4806 short8 __ovld __cnfn convert_short8_sat_rtp(double8);
4807 short8 __ovld __cnfn convert_short8_sat_rtz(double8);
4808 short16 __ovld __cnfn convert_short16(double16);
4809 short16 __ovld __cnfn convert_short16_rte(double16);
4810 short16 __ovld __cnfn convert_short16_rtn(double16);
4811 short16 __ovld __cnfn convert_short16_rtp(double16);
4812 short16 __ovld __cnfn convert_short16_rtz(double16);
4813 short16 __ovld __cnfn convert_short16_sat(double16);
4814 short16 __ovld __cnfn convert_short16_sat_rte(double16);
4815 short16 __ovld __cnfn convert_short16_sat_rtn(double16);
4816 short16 __ovld __cnfn convert_short16_sat_rtp(double16);
4817 short16 __ovld __cnfn convert_short16_sat_rtz(double16);
4818
4819 ushort __ovld __cnfn convert_ushort(double);
4820 ushort __ovld __cnfn convert_ushort_rte(double);
4821 ushort __ovld __cnfn convert_ushort_rtn(double);
4822 ushort __ovld __cnfn convert_ushort_rtp(double);
4823 ushort __ovld __cnfn convert_ushort_rtz(double);
4824 ushort __ovld __cnfn convert_ushort_sat(double);
4825 ushort __ovld __cnfn convert_ushort_sat_rte(double);
4826 ushort __ovld __cnfn convert_ushort_sat_rtn(double);
4827 ushort __ovld __cnfn convert_ushort_sat_rtp(double);
4828 ushort __ovld __cnfn convert_ushort_sat_rtz(double);
4829 ushort2 __ovld __cnfn convert_ushort2(double2);
4830 ushort2 __ovld __cnfn convert_ushort2_rte(double2);
4831 ushort2 __ovld __cnfn convert_ushort2_rtn(double2);
4832 ushort2 __ovld __cnfn convert_ushort2_rtp(double2);
4833 ushort2 __ovld __cnfn convert_ushort2_rtz(double2);
4834 ushort2 __ovld __cnfn convert_ushort2_sat(double2);
4835 ushort2 __ovld __cnfn convert_ushort2_sat_rte(double2);
4836 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(double2);
4837 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(double2);
4838 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(double2);
4839 ushort3 __ovld __cnfn convert_ushort3(double3);
4840 ushort3 __ovld __cnfn convert_ushort3_rte(double3);
4841 ushort3 __ovld __cnfn convert_ushort3_rtn(double3);
4842 ushort3 __ovld __cnfn convert_ushort3_rtp(double3);
4843 ushort3 __ovld __cnfn convert_ushort3_rtz(double3);
4844 ushort3 __ovld __cnfn convert_ushort3_sat(double3);
4845 ushort3 __ovld __cnfn convert_ushort3_sat_rte(double3);
4846 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(double3);
4847 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(double3);
4848 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(double3);
4849 ushort4 __ovld __cnfn convert_ushort4(double4);
4850 ushort4 __ovld __cnfn convert_ushort4_rte(double4);
4851 ushort4 __ovld __cnfn convert_ushort4_rtn(double4);
4852 ushort4 __ovld __cnfn convert_ushort4_rtp(double4);
4853 ushort4 __ovld __cnfn convert_ushort4_rtz(double4);
4854 ushort4 __ovld __cnfn convert_ushort4_sat(double4);
4855 ushort4 __ovld __cnfn convert_ushort4_sat_rte(double4);
4856 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(double4);
4857 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(double4);
4858 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(double4);
4859 ushort8 __ovld __cnfn convert_ushort8(double8);
4860 ushort8 __ovld __cnfn convert_ushort8_rte(double8);
4861 ushort8 __ovld __cnfn convert_ushort8_rtn(double8);
4862 ushort8 __ovld __cnfn convert_ushort8_rtp(double8);
4863 ushort8 __ovld __cnfn convert_ushort8_rtz(double8);
4864 ushort8 __ovld __cnfn convert_ushort8_sat(double8);
4865 ushort8 __ovld __cnfn convert_ushort8_sat_rte(double8);
4866 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(double8);
4867 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(double8);
4868 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(double8);
4869 ushort16 __ovld __cnfn convert_ushort16(double16);
4870 ushort16 __ovld __cnfn convert_ushort16_rte(double16);
4871 ushort16 __ovld __cnfn convert_ushort16_rtn(double16);
4872 ushort16 __ovld __cnfn convert_ushort16_rtp(double16);
4873 ushort16 __ovld __cnfn convert_ushort16_rtz(double16);
4874 ushort16 __ovld __cnfn convert_ushort16_sat(double16);
4875 ushort16 __ovld __cnfn convert_ushort16_sat_rte(double16);
4876 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(double16);
4877 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(double16);
4878 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(double16);
4879
4880 int __ovld __cnfn convert_int(double);
4881 int __ovld __cnfn convert_int_rte(double);
4882 int __ovld __cnfn convert_int_rtn(double);
4883 int __ovld __cnfn convert_int_rtp(double);
4884 int __ovld __cnfn convert_int_rtz(double);
4885 int __ovld __cnfn convert_int_sat(double);
4886 int __ovld __cnfn convert_int_sat_rte(double);
4887 int __ovld __cnfn convert_int_sat_rtn(double);
4888 int __ovld __cnfn convert_int_sat_rtp(double);
4889 int __ovld __cnfn convert_int_sat_rtz(double);
4890 int2 __ovld __cnfn convert_int2(double2);
4891 int2 __ovld __cnfn convert_int2_rte(double2);
4892 int2 __ovld __cnfn convert_int2_rtn(double2);
4893 int2 __ovld __cnfn convert_int2_rtp(double2);
4894 int2 __ovld __cnfn convert_int2_rtz(double2);
4895 int2 __ovld __cnfn convert_int2_sat(double2);
4896 int2 __ovld __cnfn convert_int2_sat_rte(double2);
4897 int2 __ovld __cnfn convert_int2_sat_rtn(double2);
4898 int2 __ovld __cnfn convert_int2_sat_rtp(double2);
4899 int2 __ovld __cnfn convert_int2_sat_rtz(double2);
4900 int3 __ovld __cnfn convert_int3(double3);
4901 int3 __ovld __cnfn convert_int3_rte(double3);
4902 int3 __ovld __cnfn convert_int3_rtn(double3);
4903 int3 __ovld __cnfn convert_int3_rtp(double3);
4904 int3 __ovld __cnfn convert_int3_rtz(double3);
4905 int3 __ovld __cnfn convert_int3_sat(double3);
4906 int3 __ovld __cnfn convert_int3_sat_rte(double3);
4907 int3 __ovld __cnfn convert_int3_sat_rtn(double3);
4908 int3 __ovld __cnfn convert_int3_sat_rtp(double3);
4909 int3 __ovld __cnfn convert_int3_sat_rtz(double3);
4910 int4 __ovld __cnfn convert_int4(double4);
4911 int4 __ovld __cnfn convert_int4_rte(double4);
4912 int4 __ovld __cnfn convert_int4_rtn(double4);
4913 int4 __ovld __cnfn convert_int4_rtp(double4);
4914 int4 __ovld __cnfn convert_int4_rtz(double4);
4915 int4 __ovld __cnfn convert_int4_sat(double4);
4916 int4 __ovld __cnfn convert_int4_sat_rte(double4);
4917 int4 __ovld __cnfn convert_int4_sat_rtn(double4);
4918 int4 __ovld __cnfn convert_int4_sat_rtp(double4);
4919 int4 __ovld __cnfn convert_int4_sat_rtz(double4);
4920 int8 __ovld __cnfn convert_int8(double8);
4921 int8 __ovld __cnfn convert_int8_rte(double8);
4922 int8 __ovld __cnfn convert_int8_rtn(double8);
4923 int8 __ovld __cnfn convert_int8_rtp(double8);
4924 int8 __ovld __cnfn convert_int8_rtz(double8);
4925 int8 __ovld __cnfn convert_int8_sat(double8);
4926 int8 __ovld __cnfn convert_int8_sat_rte(double8);
4927 int8 __ovld __cnfn convert_int8_sat_rtn(double8);
4928 int8 __ovld __cnfn convert_int8_sat_rtp(double8);
4929 int8 __ovld __cnfn convert_int8_sat_rtz(double8);
4930 int16 __ovld __cnfn convert_int16(double16);
4931 int16 __ovld __cnfn convert_int16_rte(double16);
4932 int16 __ovld __cnfn convert_int16_rtn(double16);
4933 int16 __ovld __cnfn convert_int16_rtp(double16);
4934 int16 __ovld __cnfn convert_int16_rtz(double16);
4935 int16 __ovld __cnfn convert_int16_sat(double16);
4936 int16 __ovld __cnfn convert_int16_sat_rte(double16);
4937 int16 __ovld __cnfn convert_int16_sat_rtn(double16);
4938 int16 __ovld __cnfn convert_int16_sat_rtp(double16);
4939 int16 __ovld __cnfn convert_int16_sat_rtz(double16);
4940
4941 uint __ovld __cnfn convert_uint(double);
4942 uint __ovld __cnfn convert_uint_rte(double);
4943 uint __ovld __cnfn convert_uint_rtn(double);
4944 uint __ovld __cnfn convert_uint_rtp(double);
4945 uint __ovld __cnfn convert_uint_rtz(double);
4946 uint __ovld __cnfn convert_uint_sat(double);
4947 uint __ovld __cnfn convert_uint_sat_rte(double);
4948 uint __ovld __cnfn convert_uint_sat_rtn(double);
4949 uint __ovld __cnfn convert_uint_sat_rtp(double);
4950 uint __ovld __cnfn convert_uint_sat_rtz(double);
4951 uint2 __ovld __cnfn convert_uint2(double2);
4952 uint2 __ovld __cnfn convert_uint2_rte(double2);
4953 uint2 __ovld __cnfn convert_uint2_rtn(double2);
4954 uint2 __ovld __cnfn convert_uint2_rtp(double2);
4955 uint2 __ovld __cnfn convert_uint2_rtz(double2);
4956 uint2 __ovld __cnfn convert_uint2_sat(double2);
4957 uint2 __ovld __cnfn convert_uint2_sat_rte(double2);
4958 uint2 __ovld __cnfn convert_uint2_sat_rtn(double2);
4959 uint2 __ovld __cnfn convert_uint2_sat_rtp(double2);
4960 uint2 __ovld __cnfn convert_uint2_sat_rtz(double2);
4961 uint3 __ovld __cnfn convert_uint3(double3);
4962 uint3 __ovld __cnfn convert_uint3_rte(double3);
4963 uint3 __ovld __cnfn convert_uint3_rtn(double3);
4964 uint3 __ovld __cnfn convert_uint3_rtp(double3);
4965 uint3 __ovld __cnfn convert_uint3_rtz(double3);
4966 uint3 __ovld __cnfn convert_uint3_sat(double3);
4967 uint3 __ovld __cnfn convert_uint3_sat_rte(double3);
4968 uint3 __ovld __cnfn convert_uint3_sat_rtn(double3);
4969 uint3 __ovld __cnfn convert_uint3_sat_rtp(double3);
4970 uint3 __ovld __cnfn convert_uint3_sat_rtz(double3);
4971 uint4 __ovld __cnfn convert_uint4(double4);
4972 uint4 __ovld __cnfn convert_uint4_rte(double4);
4973 uint4 __ovld __cnfn convert_uint4_rtn(double4);
4974 uint4 __ovld __cnfn convert_uint4_rtp(double4);
4975 uint4 __ovld __cnfn convert_uint4_rtz(double4);
4976 uint4 __ovld __cnfn convert_uint4_sat(double4);
4977 uint4 __ovld __cnfn convert_uint4_sat_rte(double4);
4978 uint4 __ovld __cnfn convert_uint4_sat_rtn(double4);
4979 uint4 __ovld __cnfn convert_uint4_sat_rtp(double4);
4980 uint4 __ovld __cnfn convert_uint4_sat_rtz(double4);
4981 uint8 __ovld __cnfn convert_uint8(double8);
4982 uint8 __ovld __cnfn convert_uint8_rte(double8);
4983 uint8 __ovld __cnfn convert_uint8_rtn(double8);
4984 uint8 __ovld __cnfn convert_uint8_rtp(double8);
4985 uint8 __ovld __cnfn convert_uint8_rtz(double8);
4986 uint8 __ovld __cnfn convert_uint8_sat(double8);
4987 uint8 __ovld __cnfn convert_uint8_sat_rte(double8);
4988 uint8 __ovld __cnfn convert_uint8_sat_rtn(double8);
4989 uint8 __ovld __cnfn convert_uint8_sat_rtp(double8);
4990 uint8 __ovld __cnfn convert_uint8_sat_rtz(double8);
4991 uint16 __ovld __cnfn convert_uint16(double16);
4992 uint16 __ovld __cnfn convert_uint16_rte(double16);
4993 uint16 __ovld __cnfn convert_uint16_rtn(double16);
4994 uint16 __ovld __cnfn convert_uint16_rtp(double16);
4995 uint16 __ovld __cnfn convert_uint16_rtz(double16);
4996 uint16 __ovld __cnfn convert_uint16_sat(double16);
4997 uint16 __ovld __cnfn convert_uint16_sat_rte(double16);
4998 uint16 __ovld __cnfn convert_uint16_sat_rtn(double16);
4999 uint16 __ovld __cnfn convert_uint16_sat_rtp(double16);
5000 uint16 __ovld __cnfn convert_uint16_sat_rtz(double16);
5001
5002 long __ovld __cnfn convert_long(double);
5003 long __ovld __cnfn convert_long_rte(double);
5004 long __ovld __cnfn convert_long_rtn(double);
5005 long __ovld __cnfn convert_long_rtp(double);
5006 long __ovld __cnfn convert_long_rtz(double);
5007 long __ovld __cnfn convert_long_sat(double);
5008 long __ovld __cnfn convert_long_sat_rte(double);
5009 long __ovld __cnfn convert_long_sat_rtn(double);
5010 long __ovld __cnfn convert_long_sat_rtp(double);
5011 long __ovld __cnfn convert_long_sat_rtz(double);
5012 long2 __ovld __cnfn convert_long2(double2);
5013 long2 __ovld __cnfn convert_long2_rte(double2);
5014 long2 __ovld __cnfn convert_long2_rtn(double2);
5015 long2 __ovld __cnfn convert_long2_rtp(double2);
5016 long2 __ovld __cnfn convert_long2_rtz(double2);
5017 long2 __ovld __cnfn convert_long2_sat(double2);
5018 long2 __ovld __cnfn convert_long2_sat_rte(double2);
5019 long2 __ovld __cnfn convert_long2_sat_rtn(double2);
5020 long2 __ovld __cnfn convert_long2_sat_rtp(double2);
5021 long2 __ovld __cnfn convert_long2_sat_rtz(double2);
5022 long3 __ovld __cnfn convert_long3(double3);
5023 long3 __ovld __cnfn convert_long3_rte(double3);
5024 long3 __ovld __cnfn convert_long3_rtn(double3);
5025 long3 __ovld __cnfn convert_long3_rtp(double3);
5026 long3 __ovld __cnfn convert_long3_rtz(double3);
5027 long3 __ovld __cnfn convert_long3_sat(double3);
5028 long3 __ovld __cnfn convert_long3_sat_rte(double3);
5029 long3 __ovld __cnfn convert_long3_sat_rtn(double3);
5030 long3 __ovld __cnfn convert_long3_sat_rtp(double3);
5031 long3 __ovld __cnfn convert_long3_sat_rtz(double3);
5032 long4 __ovld __cnfn convert_long4(double4);
5033 long4 __ovld __cnfn convert_long4_rte(double4);
5034 long4 __ovld __cnfn convert_long4_rtn(double4);
5035 long4 __ovld __cnfn convert_long4_rtp(double4);
5036 long4 __ovld __cnfn convert_long4_rtz(double4);
5037 long4 __ovld __cnfn convert_long4_sat(double4);
5038 long4 __ovld __cnfn convert_long4_sat_rte(double4);
5039 long4 __ovld __cnfn convert_long4_sat_rtn(double4);
5040 long4 __ovld __cnfn convert_long4_sat_rtp(double4);
5041 long4 __ovld __cnfn convert_long4_sat_rtz(double4);
5042 long8 __ovld __cnfn convert_long8(double8);
5043 long8 __ovld __cnfn convert_long8_rte(double8);
5044 long8 __ovld __cnfn convert_long8_rtn(double8);
5045 long8 __ovld __cnfn convert_long8_rtp(double8);
5046 long8 __ovld __cnfn convert_long8_rtz(double8);
5047 long8 __ovld __cnfn convert_long8_sat(double8);
5048 long8 __ovld __cnfn convert_long8_sat_rte(double8);
5049 long8 __ovld __cnfn convert_long8_sat_rtn(double8);
5050 long8 __ovld __cnfn convert_long8_sat_rtp(double8);
5051 long8 __ovld __cnfn convert_long8_sat_rtz(double8);
5052 long16 __ovld __cnfn convert_long16(double16);
5053 long16 __ovld __cnfn convert_long16_rte(double16);
5054 long16 __ovld __cnfn convert_long16_rtn(double16);
5055 long16 __ovld __cnfn convert_long16_rtp(double16);
5056 long16 __ovld __cnfn convert_long16_rtz(double16);
5057 long16 __ovld __cnfn convert_long16_sat(double16);
5058 long16 __ovld __cnfn convert_long16_sat_rte(double16);
5059 long16 __ovld __cnfn convert_long16_sat_rtn(double16);
5060 long16 __ovld __cnfn convert_long16_sat_rtp(double16);
5061 long16 __ovld __cnfn convert_long16_sat_rtz(double16);
5062
5063 ulong __ovld __cnfn convert_ulong(double);
5064 ulong __ovld __cnfn convert_ulong_rte(double);
5065 ulong __ovld __cnfn convert_ulong_rtn(double);
5066 ulong __ovld __cnfn convert_ulong_rtp(double);
5067 ulong __ovld __cnfn convert_ulong_rtz(double);
5068 ulong __ovld __cnfn convert_ulong_sat(double);
5069 ulong __ovld __cnfn convert_ulong_sat_rte(double);
5070 ulong __ovld __cnfn convert_ulong_sat_rtn(double);
5071 ulong __ovld __cnfn convert_ulong_sat_rtp(double);
5072 ulong __ovld __cnfn convert_ulong_sat_rtz(double);
5073 ulong2 __ovld __cnfn convert_ulong2(double2);
5074 ulong2 __ovld __cnfn convert_ulong2_rte(double2);
5075 ulong2 __ovld __cnfn convert_ulong2_rtn(double2);
5076 ulong2 __ovld __cnfn convert_ulong2_rtp(double2);
5077 ulong2 __ovld __cnfn convert_ulong2_rtz(double2);
5078 ulong2 __ovld __cnfn convert_ulong2_sat(double2);
5079 ulong2 __ovld __cnfn convert_ulong2_sat_rte(double2);
5080 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(double2);
5081 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(double2);
5082 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(double2);
5083 ulong3 __ovld __cnfn convert_ulong3(double3);
5084 ulong3 __ovld __cnfn convert_ulong3_rte(double3);
5085 ulong3 __ovld __cnfn convert_ulong3_rtn(double3);
5086 ulong3 __ovld __cnfn convert_ulong3_rtp(double3);
5087 ulong3 __ovld __cnfn convert_ulong3_rtz(double3);
5088 ulong3 __ovld __cnfn convert_ulong3_sat(double3);
5089 ulong3 __ovld __cnfn convert_ulong3_sat_rte(double3);
5090 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(double3);
5091 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(double3);
5092 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(double3);
5093 ulong4 __ovld __cnfn convert_ulong4(double4);
5094 ulong4 __ovld __cnfn convert_ulong4_rte(double4);
5095 ulong4 __ovld __cnfn convert_ulong4_rtn(double4);
5096 ulong4 __ovld __cnfn convert_ulong4_rtp(double4);
5097 ulong4 __ovld __cnfn convert_ulong4_rtz(double4);
5098 ulong4 __ovld __cnfn convert_ulong4_sat(double4);
5099 ulong4 __ovld __cnfn convert_ulong4_sat_rte(double4);
5100 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(double4);
5101 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(double4);
5102 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(double4);
5103 ulong8 __ovld __cnfn convert_ulong8(double8);
5104 ulong8 __ovld __cnfn convert_ulong8_rte(double8);
5105 ulong8 __ovld __cnfn convert_ulong8_rtn(double8);
5106 ulong8 __ovld __cnfn convert_ulong8_rtp(double8);
5107 ulong8 __ovld __cnfn convert_ulong8_rtz(double8);
5108 ulong8 __ovld __cnfn convert_ulong8_sat(double8);
5109 ulong8 __ovld __cnfn convert_ulong8_sat_rte(double8);
5110 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(double8);
5111 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(double8);
5112 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(double8);
5113 ulong16 __ovld __cnfn convert_ulong16(double16);
5114 ulong16 __ovld __cnfn convert_ulong16_rte(double16);
5115 ulong16 __ovld __cnfn convert_ulong16_rtn(double16);
5116 ulong16 __ovld __cnfn convert_ulong16_rtp(double16);
5117 ulong16 __ovld __cnfn convert_ulong16_rtz(double16);
5118 ulong16 __ovld __cnfn convert_ulong16_sat(double16);
5119 ulong16 __ovld __cnfn convert_ulong16_sat_rte(double16);
5120 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(double16);
5121 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(double16);
5122 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(double16);
5123
5124 float __ovld __cnfn convert_float(double);
5125 float __ovld __cnfn convert_float_rte(double);
5126 float __ovld __cnfn convert_float_rtn(double);
5127 float __ovld __cnfn convert_float_rtp(double);
5128 float __ovld __cnfn convert_float_rtz(double);
5129 float2 __ovld __cnfn convert_float2(double2);
5130 float2 __ovld __cnfn convert_float2_rte(double2);
5131 float2 __ovld __cnfn convert_float2_rtn(double2);
5132 float2 __ovld __cnfn convert_float2_rtp(double2);
5133 float2 __ovld __cnfn convert_float2_rtz(double2);
5134 float3 __ovld __cnfn convert_float3(double3);
5135 float3 __ovld __cnfn convert_float3_rte(double3);
5136 float3 __ovld __cnfn convert_float3_rtn(double3);
5137 float3 __ovld __cnfn convert_float3_rtp(double3);
5138 float3 __ovld __cnfn convert_float3_rtz(double3);
5139 float4 __ovld __cnfn convert_float4(double4);
5140 float4 __ovld __cnfn convert_float4_rte(double4);
5141 float4 __ovld __cnfn convert_float4_rtn(double4);
5142 float4 __ovld __cnfn convert_float4_rtp(double4);
5143 float4 __ovld __cnfn convert_float4_rtz(double4);
5144 float8 __ovld __cnfn convert_float8(double8);
5145 float8 __ovld __cnfn convert_float8_rte(double8);
5146 float8 __ovld __cnfn convert_float8_rtn(double8);
5147 float8 __ovld __cnfn convert_float8_rtp(double8);
5148 float8 __ovld __cnfn convert_float8_rtz(double8);
5149 float16 __ovld __cnfn convert_float16(double16);
5150 float16 __ovld __cnfn convert_float16_rte(double16);
5151 float16 __ovld __cnfn convert_float16_rtn(double16);
5152 float16 __ovld __cnfn convert_float16_rtp(double16);
5153 float16 __ovld __cnfn convert_float16_rtz(double16);
5154
5155 double __ovld __cnfn convert_double(char);
5156 double __ovld __cnfn convert_double(double);
5157 double __ovld __cnfn convert_double(float);
5158 double __ovld __cnfn convert_double(int);
5159 double __ovld __cnfn convert_double(long);
5160 double __ovld __cnfn convert_double(short);
5161 double __ovld __cnfn convert_double(uchar);
5162 double __ovld __cnfn convert_double(uint);
5163 double __ovld __cnfn convert_double(ulong);
5164 double __ovld __cnfn convert_double(ushort);
5165 double __ovld __cnfn convert_double_rte(char);
5166 double __ovld __cnfn convert_double_rte(double);
5167 double __ovld __cnfn convert_double_rte(float);
5168 double __ovld __cnfn convert_double_rte(int);
5169 double __ovld __cnfn convert_double_rte(long);
5170 double __ovld __cnfn convert_double_rte(short);
5171 double __ovld __cnfn convert_double_rte(uchar);
5172 double __ovld __cnfn convert_double_rte(uint);
5173 double __ovld __cnfn convert_double_rte(ulong);
5174 double __ovld __cnfn convert_double_rte(ushort);
5175 double __ovld __cnfn convert_double_rtn(char);
5176 double __ovld __cnfn convert_double_rtn(double);
5177 double __ovld __cnfn convert_double_rtn(float);
5178 double __ovld __cnfn convert_double_rtn(int);
5179 double __ovld __cnfn convert_double_rtn(long);
5180 double __ovld __cnfn convert_double_rtn(short);
5181 double __ovld __cnfn convert_double_rtn(uchar);
5182 double __ovld __cnfn convert_double_rtn(uint);
5183 double __ovld __cnfn convert_double_rtn(ulong);
5184 double __ovld __cnfn convert_double_rtn(ushort);
5185 double __ovld __cnfn convert_double_rtp(char);
5186 double __ovld __cnfn convert_double_rtp(double);
5187 double __ovld __cnfn convert_double_rtp(float);
5188 double __ovld __cnfn convert_double_rtp(int);
5189 double __ovld __cnfn convert_double_rtp(long);
5190 double __ovld __cnfn convert_double_rtp(short);
5191 double __ovld __cnfn convert_double_rtp(uchar);
5192 double __ovld __cnfn convert_double_rtp(uint);
5193 double __ovld __cnfn convert_double_rtp(ulong);
5194 double __ovld __cnfn convert_double_rtp(ushort);
5195 double __ovld __cnfn convert_double_rtz(char);
5196 double __ovld __cnfn convert_double_rtz(double);
5197 double __ovld __cnfn convert_double_rtz(float);
5198 double __ovld __cnfn convert_double_rtz(int);
5199 double __ovld __cnfn convert_double_rtz(long);
5200 double __ovld __cnfn convert_double_rtz(short);
5201 double __ovld __cnfn convert_double_rtz(uchar);
5202 double __ovld __cnfn convert_double_rtz(uint);
5203 double __ovld __cnfn convert_double_rtz(ulong);
5204 double __ovld __cnfn convert_double_rtz(ushort);
5205 double2 __ovld __cnfn convert_double2(char2);
5206 double2 __ovld __cnfn convert_double2(double2);
5207 double2 __ovld __cnfn convert_double2(float2);
5208 double2 __ovld __cnfn convert_double2(int2);
5209 double2 __ovld __cnfn convert_double2(long2);
5210 double2 __ovld __cnfn convert_double2(short2);
5211 double2 __ovld __cnfn convert_double2(uchar2);
5212 double2 __ovld __cnfn convert_double2(uint2);
5213 double2 __ovld __cnfn convert_double2(ulong2);
5214 double2 __ovld __cnfn convert_double2(ushort2);
5215 double2 __ovld __cnfn convert_double2_rte(char2);
5216 double2 __ovld __cnfn convert_double2_rte(double2);
5217 double2 __ovld __cnfn convert_double2_rte(float2);
5218 double2 __ovld __cnfn convert_double2_rte(int2);
5219 double2 __ovld __cnfn convert_double2_rte(long2);
5220 double2 __ovld __cnfn convert_double2_rte(short2);
5221 double2 __ovld __cnfn convert_double2_rte(uchar2);
5222 double2 __ovld __cnfn convert_double2_rte(uint2);
5223 double2 __ovld __cnfn convert_double2_rte(ulong2);
5224 double2 __ovld __cnfn convert_double2_rte(ushort2);
5225 double2 __ovld __cnfn convert_double2_rtn(char2);
5226 double2 __ovld __cnfn convert_double2_rtn(double2);
5227 double2 __ovld __cnfn convert_double2_rtn(float2);
5228 double2 __ovld __cnfn convert_double2_rtn(int2);
5229 double2 __ovld __cnfn convert_double2_rtn(long2);
5230 double2 __ovld __cnfn convert_double2_rtn(short2);
5231 double2 __ovld __cnfn convert_double2_rtn(uchar2);
5232 double2 __ovld __cnfn convert_double2_rtn(uint2);
5233 double2 __ovld __cnfn convert_double2_rtn(ulong2);
5234 double2 __ovld __cnfn convert_double2_rtn(ushort2);
5235 double2 __ovld __cnfn convert_double2_rtp(char2);
5236 double2 __ovld __cnfn convert_double2_rtp(double2);
5237 double2 __ovld __cnfn convert_double2_rtp(float2);
5238 double2 __ovld __cnfn convert_double2_rtp(int2);
5239 double2 __ovld __cnfn convert_double2_rtp(long2);
5240 double2 __ovld __cnfn convert_double2_rtp(short2);
5241 double2 __ovld __cnfn convert_double2_rtp(uchar2);
5242 double2 __ovld __cnfn convert_double2_rtp(uint2);
5243 double2 __ovld __cnfn convert_double2_rtp(ulong2);
5244 double2 __ovld __cnfn convert_double2_rtp(ushort2);
5245 double2 __ovld __cnfn convert_double2_rtz(char2);
5246 double2 __ovld __cnfn convert_double2_rtz(double2);
5247 double2 __ovld __cnfn convert_double2_rtz(float2);
5248 double2 __ovld __cnfn convert_double2_rtz(int2);
5249 double2 __ovld __cnfn convert_double2_rtz(long2);
5250 double2 __ovld __cnfn convert_double2_rtz(short2);
5251 double2 __ovld __cnfn convert_double2_rtz(uchar2);
5252 double2 __ovld __cnfn convert_double2_rtz(uint2);
5253 double2 __ovld __cnfn convert_double2_rtz(ulong2);
5254 double2 __ovld __cnfn convert_double2_rtz(ushort2);
5255 double3 __ovld __cnfn convert_double3(char3);
5256 double3 __ovld __cnfn convert_double3(double3);
5257 double3 __ovld __cnfn convert_double3(float3);
5258 double3 __ovld __cnfn convert_double3(int3);
5259 double3 __ovld __cnfn convert_double3(long3);
5260 double3 __ovld __cnfn convert_double3(short3);
5261 double3 __ovld __cnfn convert_double3(uchar3);
5262 double3 __ovld __cnfn convert_double3(uint3);
5263 double3 __ovld __cnfn convert_double3(ulong3);
5264 double3 __ovld __cnfn convert_double3(ushort3);
5265 double3 __ovld __cnfn convert_double3_rte(char3);
5266 double3 __ovld __cnfn convert_double3_rte(double3);
5267 double3 __ovld __cnfn convert_double3_rte(float3);
5268 double3 __ovld __cnfn convert_double3_rte(int3);
5269 double3 __ovld __cnfn convert_double3_rte(long3);
5270 double3 __ovld __cnfn convert_double3_rte(short3);
5271 double3 __ovld __cnfn convert_double3_rte(uchar3);
5272 double3 __ovld __cnfn convert_double3_rte(uint3);
5273 double3 __ovld __cnfn convert_double3_rte(ulong3);
5274 double3 __ovld __cnfn convert_double3_rte(ushort3);
5275 double3 __ovld __cnfn convert_double3_rtn(char3);
5276 double3 __ovld __cnfn convert_double3_rtn(double3);
5277 double3 __ovld __cnfn convert_double3_rtn(float3);
5278 double3 __ovld __cnfn convert_double3_rtn(int3);
5279 double3 __ovld __cnfn convert_double3_rtn(long3);
5280 double3 __ovld __cnfn convert_double3_rtn(short3);
5281 double3 __ovld __cnfn convert_double3_rtn(uchar3);
5282 double3 __ovld __cnfn convert_double3_rtn(uint3);
5283 double3 __ovld __cnfn convert_double3_rtn(ulong3);
5284 double3 __ovld __cnfn convert_double3_rtn(ushort3);
5285 double3 __ovld __cnfn convert_double3_rtp(char3);
5286 double3 __ovld __cnfn convert_double3_rtp(double3);
5287 double3 __ovld __cnfn convert_double3_rtp(float3);
5288 double3 __ovld __cnfn convert_double3_rtp(int3);
5289 double3 __ovld __cnfn convert_double3_rtp(long3);
5290 double3 __ovld __cnfn convert_double3_rtp(short3);
5291 double3 __ovld __cnfn convert_double3_rtp(uchar3);
5292 double3 __ovld __cnfn convert_double3_rtp(uint3);
5293 double3 __ovld __cnfn convert_double3_rtp(ulong3);
5294 double3 __ovld __cnfn convert_double3_rtp(ushort3);
5295 double3 __ovld __cnfn convert_double3_rtz(char3);
5296 double3 __ovld __cnfn convert_double3_rtz(double3);
5297 double3 __ovld __cnfn convert_double3_rtz(float3);
5298 double3 __ovld __cnfn convert_double3_rtz(int3);
5299 double3 __ovld __cnfn convert_double3_rtz(long3);
5300 double3 __ovld __cnfn convert_double3_rtz(short3);
5301 double3 __ovld __cnfn convert_double3_rtz(uchar3);
5302 double3 __ovld __cnfn convert_double3_rtz(uint3);
5303 double3 __ovld __cnfn convert_double3_rtz(ulong3);
5304 double3 __ovld __cnfn convert_double3_rtz(ushort3);
5305 double4 __ovld __cnfn convert_double4(char4);
5306 double4 __ovld __cnfn convert_double4(double4);
5307 double4 __ovld __cnfn convert_double4(float4);
5308 double4 __ovld __cnfn convert_double4(int4);
5309 double4 __ovld __cnfn convert_double4(long4);
5310 double4 __ovld __cnfn convert_double4(short4);
5311 double4 __ovld __cnfn convert_double4(uchar4);
5312 double4 __ovld __cnfn convert_double4(uint4);
5313 double4 __ovld __cnfn convert_double4(ulong4);
5314 double4 __ovld __cnfn convert_double4(ushort4);
5315 double4 __ovld __cnfn convert_double4_rte(char4);
5316 double4 __ovld __cnfn convert_double4_rte(double4);
5317 double4 __ovld __cnfn convert_double4_rte(float4);
5318 double4 __ovld __cnfn convert_double4_rte(int4);
5319 double4 __ovld __cnfn convert_double4_rte(long4);
5320 double4 __ovld __cnfn convert_double4_rte(short4);
5321 double4 __ovld __cnfn convert_double4_rte(uchar4);
5322 double4 __ovld __cnfn convert_double4_rte(uint4);
5323 double4 __ovld __cnfn convert_double4_rte(ulong4);
5324 double4 __ovld __cnfn convert_double4_rte(ushort4);
5325 double4 __ovld __cnfn convert_double4_rtn(char4);
5326 double4 __ovld __cnfn convert_double4_rtn(double4);
5327 double4 __ovld __cnfn convert_double4_rtn(float4);
5328 double4 __ovld __cnfn convert_double4_rtn(int4);
5329 double4 __ovld __cnfn convert_double4_rtn(long4);
5330 double4 __ovld __cnfn convert_double4_rtn(short4);
5331 double4 __ovld __cnfn convert_double4_rtn(uchar4);
5332 double4 __ovld __cnfn convert_double4_rtn(uint4);
5333 double4 __ovld __cnfn convert_double4_rtn(ulong4);
5334 double4 __ovld __cnfn convert_double4_rtn(ushort4);
5335 double4 __ovld __cnfn convert_double4_rtp(char4);
5336 double4 __ovld __cnfn convert_double4_rtp(double4);
5337 double4 __ovld __cnfn convert_double4_rtp(float4);
5338 double4 __ovld __cnfn convert_double4_rtp(int4);
5339 double4 __ovld __cnfn convert_double4_rtp(long4);
5340 double4 __ovld __cnfn convert_double4_rtp(short4);
5341 double4 __ovld __cnfn convert_double4_rtp(uchar4);
5342 double4 __ovld __cnfn convert_double4_rtp(uint4);
5343 double4 __ovld __cnfn convert_double4_rtp(ulong4);
5344 double4 __ovld __cnfn convert_double4_rtp(ushort4);
5345 double4 __ovld __cnfn convert_double4_rtz(char4);
5346 double4 __ovld __cnfn convert_double4_rtz(double4);
5347 double4 __ovld __cnfn convert_double4_rtz(float4);
5348 double4 __ovld __cnfn convert_double4_rtz(int4);
5349 double4 __ovld __cnfn convert_double4_rtz(long4);
5350 double4 __ovld __cnfn convert_double4_rtz(short4);
5351 double4 __ovld __cnfn convert_double4_rtz(uchar4);
5352 double4 __ovld __cnfn convert_double4_rtz(uint4);
5353 double4 __ovld __cnfn convert_double4_rtz(ulong4);
5354 double4 __ovld __cnfn convert_double4_rtz(ushort4);
5355 double8 __ovld __cnfn convert_double8(char8);
5356 double8 __ovld __cnfn convert_double8(double8);
5357 double8 __ovld __cnfn convert_double8(float8);
5358 double8 __ovld __cnfn convert_double8(int8);
5359 double8 __ovld __cnfn convert_double8(long8);
5360 double8 __ovld __cnfn convert_double8(short8);
5361 double8 __ovld __cnfn convert_double8(uchar8);
5362 double8 __ovld __cnfn convert_double8(uint8);
5363 double8 __ovld __cnfn convert_double8(ulong8);
5364 double8 __ovld __cnfn convert_double8(ushort8);
5365 double8 __ovld __cnfn convert_double8_rte(char8);
5366 double8 __ovld __cnfn convert_double8_rte(double8);
5367 double8 __ovld __cnfn convert_double8_rte(float8);
5368 double8 __ovld __cnfn convert_double8_rte(int8);
5369 double8 __ovld __cnfn convert_double8_rte(long8);
5370 double8 __ovld __cnfn convert_double8_rte(short8);
5371 double8 __ovld __cnfn convert_double8_rte(uchar8);
5372 double8 __ovld __cnfn convert_double8_rte(uint8);
5373 double8 __ovld __cnfn convert_double8_rte(ulong8);
5374 double8 __ovld __cnfn convert_double8_rte(ushort8);
5375 double8 __ovld __cnfn convert_double8_rtn(char8);
5376 double8 __ovld __cnfn convert_double8_rtn(double8);
5377 double8 __ovld __cnfn convert_double8_rtn(float8);
5378 double8 __ovld __cnfn convert_double8_rtn(int8);
5379 double8 __ovld __cnfn convert_double8_rtn(long8);
5380 double8 __ovld __cnfn convert_double8_rtn(short8);
5381 double8 __ovld __cnfn convert_double8_rtn(uchar8);
5382 double8 __ovld __cnfn convert_double8_rtn(uint8);
5383 double8 __ovld __cnfn convert_double8_rtn(ulong8);
5384 double8 __ovld __cnfn convert_double8_rtn(ushort8);
5385 double8 __ovld __cnfn convert_double8_rtp(char8);
5386 double8 __ovld __cnfn convert_double8_rtp(double8);
5387 double8 __ovld __cnfn convert_double8_rtp(float8);
5388 double8 __ovld __cnfn convert_double8_rtp(int8);
5389 double8 __ovld __cnfn convert_double8_rtp(long8);
5390 double8 __ovld __cnfn convert_double8_rtp(short8);
5391 double8 __ovld __cnfn convert_double8_rtp(uchar8);
5392 double8 __ovld __cnfn convert_double8_rtp(uint8);
5393 double8 __ovld __cnfn convert_double8_rtp(ulong8);
5394 double8 __ovld __cnfn convert_double8_rtp(ushort8);
5395 double8 __ovld __cnfn convert_double8_rtz(char8);
5396 double8 __ovld __cnfn convert_double8_rtz(double8);
5397 double8 __ovld __cnfn convert_double8_rtz(float8);
5398 double8 __ovld __cnfn convert_double8_rtz(int8);
5399 double8 __ovld __cnfn convert_double8_rtz(long8);
5400 double8 __ovld __cnfn convert_double8_rtz(short8);
5401 double8 __ovld __cnfn convert_double8_rtz(uchar8);
5402 double8 __ovld __cnfn convert_double8_rtz(uint8);
5403 double8 __ovld __cnfn convert_double8_rtz(ulong8);
5404 double8 __ovld __cnfn convert_double8_rtz(ushort8);
5405 double16 __ovld __cnfn convert_double16(char16);
5406 double16 __ovld __cnfn convert_double16(double16);
5407 double16 __ovld __cnfn convert_double16(float16);
5408 double16 __ovld __cnfn convert_double16(int16);
5409 double16 __ovld __cnfn convert_double16(long16);
5410 double16 __ovld __cnfn convert_double16(short16);
5411 double16 __ovld __cnfn convert_double16(uchar16);
5412 double16 __ovld __cnfn convert_double16(uint16);
5413 double16 __ovld __cnfn convert_double16(ulong16);
5414 double16 __ovld __cnfn convert_double16(ushort16);
5415 double16 __ovld __cnfn convert_double16_rte(char16);
5416 double16 __ovld __cnfn convert_double16_rte(double16);
5417 double16 __ovld __cnfn convert_double16_rte(float16);
5418 double16 __ovld __cnfn convert_double16_rte(int16);
5419 double16 __ovld __cnfn convert_double16_rte(long16);
5420 double16 __ovld __cnfn convert_double16_rte(short16);
5421 double16 __ovld __cnfn convert_double16_rte(uchar16);
5422 double16 __ovld __cnfn convert_double16_rte(uint16);
5423 double16 __ovld __cnfn convert_double16_rte(ulong16);
5424 double16 __ovld __cnfn convert_double16_rte(ushort16);
5425 double16 __ovld __cnfn convert_double16_rtn(char16);
5426 double16 __ovld __cnfn convert_double16_rtn(double16);
5427 double16 __ovld __cnfn convert_double16_rtn(float16);
5428 double16 __ovld __cnfn convert_double16_rtn(int16);
5429 double16 __ovld __cnfn convert_double16_rtn(long16);
5430 double16 __ovld __cnfn convert_double16_rtn(short16);
5431 double16 __ovld __cnfn convert_double16_rtn(uchar16);
5432 double16 __ovld __cnfn convert_double16_rtn(uint16);
5433 double16 __ovld __cnfn convert_double16_rtn(ulong16);
5434 double16 __ovld __cnfn convert_double16_rtn(ushort16);
5435 double16 __ovld __cnfn convert_double16_rtp(char16);
5436 double16 __ovld __cnfn convert_double16_rtp(double16);
5437 double16 __ovld __cnfn convert_double16_rtp(float16);
5438 double16 __ovld __cnfn convert_double16_rtp(int16);
5439 double16 __ovld __cnfn convert_double16_rtp(long16);
5440 double16 __ovld __cnfn convert_double16_rtp(short16);
5441 double16 __ovld __cnfn convert_double16_rtp(uchar16);
5442 double16 __ovld __cnfn convert_double16_rtp(uint16);
5443 double16 __ovld __cnfn convert_double16_rtp(ulong16);
5444 double16 __ovld __cnfn convert_double16_rtp(ushort16);
5445 double16 __ovld __cnfn convert_double16_rtz(char16);
5446 double16 __ovld __cnfn convert_double16_rtz(double16);
5447 double16 __ovld __cnfn convert_double16_rtz(float16);
5448 double16 __ovld __cnfn convert_double16_rtz(int16);
5449 double16 __ovld __cnfn convert_double16_rtz(long16);
5450 double16 __ovld __cnfn convert_double16_rtz(short16);
5451 double16 __ovld __cnfn convert_double16_rtz(uchar16);
5452 double16 __ovld __cnfn convert_double16_rtz(uint16);
5453 double16 __ovld __cnfn convert_double16_rtz(ulong16);
5454 double16 __ovld __cnfn convert_double16_rtz(ushort16);
5455 #endif //cl_khr_fp64
5456
5457 #ifdef cl_khr_fp16
5458 // Convert half types to non-double types.
5459 uchar __ovld __cnfn convert_uchar(half);
5460 uchar __ovld __cnfn convert_uchar_rte(half);
5461 uchar __ovld __cnfn convert_uchar_rtp(half);
5462 uchar __ovld __cnfn convert_uchar_rtn(half);
5463 uchar __ovld __cnfn convert_uchar_rtz(half);
5464 uchar __ovld __cnfn convert_uchar_sat(half);
5465 uchar __ovld __cnfn convert_uchar_sat_rte(half);
5466 uchar __ovld __cnfn convert_uchar_sat_rtp(half);
5467 uchar __ovld __cnfn convert_uchar_sat_rtn(half);
5468 uchar __ovld __cnfn convert_uchar_sat_rtz(half);
5469 uchar2 __ovld __cnfn convert_uchar2(half2);
5470 uchar2 __ovld __cnfn convert_uchar2_rte(half2);
5471 uchar2 __ovld __cnfn convert_uchar2_rtp(half2);
5472 uchar2 __ovld __cnfn convert_uchar2_rtn(half2);
5473 uchar2 __ovld __cnfn convert_uchar2_rtz(half2);
5474 uchar2 __ovld __cnfn convert_uchar2_sat(half2);
5475 uchar2 __ovld __cnfn convert_uchar2_sat_rte(half2);
5476 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(half2);
5477 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(half2);
5478 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(half2);
5479 uchar3 __ovld __cnfn convert_uchar3(half3);
5480 uchar3 __ovld __cnfn convert_uchar3_rte(half3);
5481 uchar3 __ovld __cnfn convert_uchar3_rtp(half3);
5482 uchar3 __ovld __cnfn convert_uchar3_rtn(half3);
5483 uchar3 __ovld __cnfn convert_uchar3_rtz(half3);
5484 uchar3 __ovld __cnfn convert_uchar3_sat(half3);
5485 uchar3 __ovld __cnfn convert_uchar3_sat_rte(half3);
5486 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(half3);
5487 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(half3);
5488 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(half3);
5489 uchar4 __ovld __cnfn convert_uchar4(half4);
5490 uchar4 __ovld __cnfn convert_uchar4_rte(half4);
5491 uchar4 __ovld __cnfn convert_uchar4_rtp(half4);
5492 uchar4 __ovld __cnfn convert_uchar4_rtn(half4);
5493 uchar4 __ovld __cnfn convert_uchar4_rtz(half4);
5494 uchar4 __ovld __cnfn convert_uchar4_sat(half4);
5495 uchar4 __ovld __cnfn convert_uchar4_sat_rte(half4);
5496 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(half4);
5497 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(half4);
5498 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(half4);
5499 uchar8 __ovld __cnfn convert_uchar8(half8);
5500 uchar8 __ovld __cnfn convert_uchar8_rte(half8);
5501 uchar8 __ovld __cnfn convert_uchar8_rtp(half8);
5502 uchar8 __ovld __cnfn convert_uchar8_rtn(half8);
5503 uchar8 __ovld __cnfn convert_uchar8_rtz(half8);
5504 uchar8 __ovld __cnfn convert_uchar8_sat(half8);
5505 uchar8 __ovld __cnfn convert_uchar8_sat_rte(half8);
5506 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(half8);
5507 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(half8);
5508 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(half8);
5509 uchar16 __ovld __cnfn convert_uchar16(half16);
5510 uchar16 __ovld __cnfn convert_uchar16_rte(half16);
5511 uchar16 __ovld __cnfn convert_uchar16_rtp(half16);
5512 uchar16 __ovld __cnfn convert_uchar16_rtn(half16);
5513 uchar16 __ovld __cnfn convert_uchar16_rtz(half16);
5514 uchar16 __ovld __cnfn convert_uchar16_sat(half16);
5515 uchar16 __ovld __cnfn convert_uchar16_sat_rte(half16);
5516 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(half16);
5517 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(half16);
5518 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(half16);
5519 ushort __ovld __cnfn convert_ushort(half);
5520 ushort __ovld __cnfn convert_ushort_rte(half);
5521 ushort __ovld __cnfn convert_ushort_rtp(half);
5522 ushort __ovld __cnfn convert_ushort_rtn(half);
5523 ushort __ovld __cnfn convert_ushort_rtz(half);
5524 ushort __ovld __cnfn convert_ushort_sat(half);
5525 ushort __ovld __cnfn convert_ushort_sat_rte(half);
5526 ushort __ovld __cnfn convert_ushort_sat_rtp(half);
5527 ushort __ovld __cnfn convert_ushort_sat_rtn(half);
5528 ushort __ovld __cnfn convert_ushort_sat_rtz(half);
5529 ushort2 __ovld __cnfn convert_ushort2(half2);
5530 ushort2 __ovld __cnfn convert_ushort2_rte(half2);
5531 ushort2 __ovld __cnfn convert_ushort2_rtp(half2);
5532 ushort2 __ovld __cnfn convert_ushort2_rtn(half2);
5533 ushort2 __ovld __cnfn convert_ushort2_rtz(half2);
5534 ushort2 __ovld __cnfn convert_ushort2_sat(half2);
5535 ushort2 __ovld __cnfn convert_ushort2_sat_rte(half2);
5536 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(half2);
5537 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(half2);
5538 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(half2);
5539 ushort3 __ovld __cnfn convert_ushort3(half3);
5540 ushort3 __ovld __cnfn convert_ushort3_rte(half3);
5541 ushort3 __ovld __cnfn convert_ushort3_rtp(half3);
5542 ushort3 __ovld __cnfn convert_ushort3_rtn(half3);
5543 ushort3 __ovld __cnfn convert_ushort3_rtz(half3);
5544 ushort3 __ovld __cnfn convert_ushort3_sat(half3);
5545 ushort3 __ovld __cnfn convert_ushort3_sat_rte(half3);
5546 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(half3);
5547 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(half3);
5548 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(half3);
5549 ushort4 __ovld __cnfn convert_ushort4(half4);
5550 ushort4 __ovld __cnfn convert_ushort4_rte(half4);
5551 ushort4 __ovld __cnfn convert_ushort4_rtp(half4);
5552 ushort4 __ovld __cnfn convert_ushort4_rtn(half4);
5553 ushort4 __ovld __cnfn convert_ushort4_rtz(half4);
5554 ushort4 __ovld __cnfn convert_ushort4_sat(half4);
5555 ushort4 __ovld __cnfn convert_ushort4_sat_rte(half4);
5556 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(half4);
5557 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(half4);
5558 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(half4);
5559 ushort8 __ovld __cnfn convert_ushort8(half8);
5560 ushort8 __ovld __cnfn convert_ushort8_rte(half8);
5561 ushort8 __ovld __cnfn convert_ushort8_rtp(half8);
5562 ushort8 __ovld __cnfn convert_ushort8_rtn(half8);
5563 ushort8 __ovld __cnfn convert_ushort8_rtz(half8);
5564 ushort8 __ovld __cnfn convert_ushort8_sat(half8);
5565 ushort8 __ovld __cnfn convert_ushort8_sat_rte(half8);
5566 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(half8);
5567 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(half8);
5568 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(half8);
5569 ushort16 __ovld __cnfn convert_ushort16(half16);
5570 ushort16 __ovld __cnfn convert_ushort16_rte(half16);
5571 ushort16 __ovld __cnfn convert_ushort16_rtp(half16);
5572 ushort16 __ovld __cnfn convert_ushort16_rtn(half16);
5573 ushort16 __ovld __cnfn convert_ushort16_rtz(half16);
5574 ushort16 __ovld __cnfn convert_ushort16_sat(half16);
5575 ushort16 __ovld __cnfn convert_ushort16_sat_rte(half16);
5576 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(half16);
5577 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(half16);
5578 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(half16);
5579 uint __ovld __cnfn convert_uint(half);
5580 uint __ovld __cnfn convert_uint_rte(half);
5581 uint __ovld __cnfn convert_uint_rtp(half);
5582 uint __ovld __cnfn convert_uint_rtn(half);
5583 uint __ovld __cnfn convert_uint_rtz(half);
5584 uint __ovld __cnfn convert_uint_sat(half);
5585 uint __ovld __cnfn convert_uint_sat_rte(half);
5586 uint __ovld __cnfn convert_uint_sat_rtp(half);
5587 uint __ovld __cnfn convert_uint_sat_rtn(half);
5588 uint __ovld __cnfn convert_uint_sat_rtz(half);
5589 uint2 __ovld __cnfn convert_uint2(half2);
5590 uint2 __ovld __cnfn convert_uint2_rte(half2);
5591 uint2 __ovld __cnfn convert_uint2_rtp(half2);
5592 uint2 __ovld __cnfn convert_uint2_rtn(half2);
5593 uint2 __ovld __cnfn convert_uint2_rtz(half2);
5594 uint2 __ovld __cnfn convert_uint2_sat(half2);
5595 uint2 __ovld __cnfn convert_uint2_sat_rte(half2);
5596 uint2 __ovld __cnfn convert_uint2_sat_rtp(half2);
5597 uint2 __ovld __cnfn convert_uint2_sat_rtn(half2);
5598 uint2 __ovld __cnfn convert_uint2_sat_rtz(half2);
5599 uint3 __ovld __cnfn convert_uint3(half3);
5600 uint3 __ovld __cnfn convert_uint3_rte(half3);
5601 uint3 __ovld __cnfn convert_uint3_rtp(half3);
5602 uint3 __ovld __cnfn convert_uint3_rtn(half3);
5603 uint3 __ovld __cnfn convert_uint3_rtz(half3);
5604 uint3 __ovld __cnfn convert_uint3_sat(half3);
5605 uint3 __ovld __cnfn convert_uint3_sat_rte(half3);
5606 uint3 __ovld __cnfn convert_uint3_sat_rtp(half3);
5607 uint3 __ovld __cnfn convert_uint3_sat_rtn(half3);
5608 uint3 __ovld __cnfn convert_uint3_sat_rtz(half3);
5609 uint4 __ovld __cnfn convert_uint4(half4);
5610 uint4 __ovld __cnfn convert_uint4_rte(half4);
5611 uint4 __ovld __cnfn convert_uint4_rtp(half4);
5612 uint4 __ovld __cnfn convert_uint4_rtn(half4);
5613 uint4 __ovld __cnfn convert_uint4_rtz(half4);
5614 uint4 __ovld __cnfn convert_uint4_sat(half4);
5615 uint4 __ovld __cnfn convert_uint4_sat_rte(half4);
5616 uint4 __ovld __cnfn convert_uint4_sat_rtp(half4);
5617 uint4 __ovld __cnfn convert_uint4_sat_rtn(half4);
5618 uint4 __ovld __cnfn convert_uint4_sat_rtz(half4);
5619 uint8 __ovld __cnfn convert_uint8(half8);
5620 uint8 __ovld __cnfn convert_uint8_rte(half8);
5621 uint8 __ovld __cnfn convert_uint8_rtp(half8);
5622 uint8 __ovld __cnfn convert_uint8_rtn(half8);
5623 uint8 __ovld __cnfn convert_uint8_rtz(half8);
5624 uint8 __ovld __cnfn convert_uint8_sat(half8);
5625 uint8 __ovld __cnfn convert_uint8_sat_rte(half8);
5626 uint8 __ovld __cnfn convert_uint8_sat_rtp(half8);
5627 uint8 __ovld __cnfn convert_uint8_sat_rtn(half8);
5628 uint8 __ovld __cnfn convert_uint8_sat_rtz(half8);
5629 uint16 __ovld __cnfn convert_uint16(half16);
5630 uint16 __ovld __cnfn convert_uint16_rte(half16);
5631 uint16 __ovld __cnfn convert_uint16_rtp(half16);
5632 uint16 __ovld __cnfn convert_uint16_rtn(half16);
5633 uint16 __ovld __cnfn convert_uint16_rtz(half16);
5634 uint16 __ovld __cnfn convert_uint16_sat(half16);
5635 uint16 __ovld __cnfn convert_uint16_sat_rte(half16);
5636 uint16 __ovld __cnfn convert_uint16_sat_rtp(half16);
5637 uint16 __ovld __cnfn convert_uint16_sat_rtn(half16);
5638 uint16 __ovld __cnfn convert_uint16_sat_rtz(half16);
5639 ulong __ovld __cnfn convert_ulong(half);
5640 ulong __ovld __cnfn convert_ulong_rte(half);
5641 ulong __ovld __cnfn convert_ulong_rtp(half);
5642 ulong __ovld __cnfn convert_ulong_rtn(half);
5643 ulong __ovld __cnfn convert_ulong_rtz(half);
5644 ulong __ovld __cnfn convert_ulong_sat(half);
5645 ulong __ovld __cnfn convert_ulong_sat_rte(half);
5646 ulong __ovld __cnfn convert_ulong_sat_rtp(half);
5647 ulong __ovld __cnfn convert_ulong_sat_rtn(half);
5648 ulong __ovld __cnfn convert_ulong_sat_rtz(half);
5649 ulong2 __ovld __cnfn convert_ulong2(half2);
5650 ulong2 __ovld __cnfn convert_ulong2_rte(half2);
5651 ulong2 __ovld __cnfn convert_ulong2_rtp(half2);
5652 ulong2 __ovld __cnfn convert_ulong2_rtn(half2);
5653 ulong2 __ovld __cnfn convert_ulong2_rtz(half2);
5654 ulong2 __ovld __cnfn convert_ulong2_sat(half2);
5655 ulong2 __ovld __cnfn convert_ulong2_sat_rte(half2);
5656 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(half2);
5657 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(half2);
5658 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(half2);
5659 ulong3 __ovld __cnfn convert_ulong3(half3);
5660 ulong3 __ovld __cnfn convert_ulong3_rte(half3);
5661 ulong3 __ovld __cnfn convert_ulong3_rtp(half3);
5662 ulong3 __ovld __cnfn convert_ulong3_rtn(half3);
5663 ulong3 __ovld __cnfn convert_ulong3_rtz(half3);
5664 ulong3 __ovld __cnfn convert_ulong3_sat(half3);
5665 ulong3 __ovld __cnfn convert_ulong3_sat_rte(half3);
5666 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(half3);
5667 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(half3);
5668 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(half3);
5669 ulong4 __ovld __cnfn convert_ulong4(half4);
5670 ulong4 __ovld __cnfn convert_ulong4_rte(half4);
5671 ulong4 __ovld __cnfn convert_ulong4_rtp(half4);
5672 ulong4 __ovld __cnfn convert_ulong4_rtn(half4);
5673 ulong4 __ovld __cnfn convert_ulong4_rtz(half4);
5674 ulong4 __ovld __cnfn convert_ulong4_sat(half4);
5675 ulong4 __ovld __cnfn convert_ulong4_sat_rte(half4);
5676 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(half4);
5677 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(half4);
5678 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(half4);
5679 ulong8 __ovld __cnfn convert_ulong8(half8);
5680 ulong8 __ovld __cnfn convert_ulong8_rte(half8);
5681 ulong8 __ovld __cnfn convert_ulong8_rtp(half8);
5682 ulong8 __ovld __cnfn convert_ulong8_rtn(half8);
5683 ulong8 __ovld __cnfn convert_ulong8_rtz(half8);
5684 ulong8 __ovld __cnfn convert_ulong8_sat(half8);
5685 ulong8 __ovld __cnfn convert_ulong8_sat_rte(half8);
5686 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(half8);
5687 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(half8);
5688 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(half8);
5689 ulong16 __ovld __cnfn convert_ulong16(half16);
5690 ulong16 __ovld __cnfn convert_ulong16_rte(half16);
5691 ulong16 __ovld __cnfn convert_ulong16_rtp(half16);
5692 ulong16 __ovld __cnfn convert_ulong16_rtn(half16);
5693 ulong16 __ovld __cnfn convert_ulong16_rtz(half16);
5694 ulong16 __ovld __cnfn convert_ulong16_sat(half16);
5695 ulong16 __ovld __cnfn convert_ulong16_sat_rte(half16);
5696 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(half16);
5697 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(half16);
5698 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(half16);
5699 char __ovld __cnfn convert_char(half);
5700 char __ovld __cnfn convert_char_rte(half);
5701 char __ovld __cnfn convert_char_rtp(half);
5702 char __ovld __cnfn convert_char_rtn(half);
5703 char __ovld __cnfn convert_char_rtz(half);
5704 char __ovld __cnfn convert_char_sat(half);
5705 char __ovld __cnfn convert_char_sat_rte(half);
5706 char __ovld __cnfn convert_char_sat_rtp(half);
5707 char __ovld __cnfn convert_char_sat_rtn(half);
5708 char __ovld __cnfn convert_char_sat_rtz(half);
5709 char2 __ovld __cnfn convert_char2(half2);
5710 char2 __ovld __cnfn convert_char2_rte(half2);
5711 char2 __ovld __cnfn convert_char2_rtp(half2);
5712 char2 __ovld __cnfn convert_char2_rtn(half2);
5713 char2 __ovld __cnfn convert_char2_rtz(half2);
5714 char2 __ovld __cnfn convert_char2_sat(half2);
5715 char2 __ovld __cnfn convert_char2_sat_rte(half2);
5716 char2 __ovld __cnfn convert_char2_sat_rtp(half2);
5717 char2 __ovld __cnfn convert_char2_sat_rtn(half2);
5718 char2 __ovld __cnfn convert_char2_sat_rtz(half2);
5719 char3 __ovld __cnfn convert_char3(half3);
5720 char3 __ovld __cnfn convert_char3_rte(half3);
5721 char3 __ovld __cnfn convert_char3_rtp(half3);
5722 char3 __ovld __cnfn convert_char3_rtn(half3);
5723 char3 __ovld __cnfn convert_char3_rtz(half3);
5724 char3 __ovld __cnfn convert_char3_sat(half3);
5725 char3 __ovld __cnfn convert_char3_sat_rte(half3);
5726 char3 __ovld __cnfn convert_char3_sat_rtp(half3);
5727 char3 __ovld __cnfn convert_char3_sat_rtn(half3);
5728 char3 __ovld __cnfn convert_char3_sat_rtz(half3);
5729 char4 __ovld __cnfn convert_char4(half4);
5730 char4 __ovld __cnfn convert_char4_rte(half4);
5731 char4 __ovld __cnfn convert_char4_rtp(half4);
5732 char4 __ovld __cnfn convert_char4_rtn(half4);
5733 char4 __ovld __cnfn convert_char4_rtz(half4);
5734 char4 __ovld __cnfn convert_char4_sat(half4);
5735 char4 __ovld __cnfn convert_char4_sat_rte(half4);
5736 char4 __ovld __cnfn convert_char4_sat_rtp(half4);
5737 char4 __ovld __cnfn convert_char4_sat_rtn(half4);
5738 char4 __ovld __cnfn convert_char4_sat_rtz(half4);
5739 char8 __ovld __cnfn convert_char8(half8);
5740 char8 __ovld __cnfn convert_char8_rte(half8);
5741 char8 __ovld __cnfn convert_char8_rtp(half8);
5742 char8 __ovld __cnfn convert_char8_rtn(half8);
5743 char8 __ovld __cnfn convert_char8_rtz(half8);
5744 char8 __ovld __cnfn convert_char8_sat(half8);
5745 char8 __ovld __cnfn convert_char8_sat_rte(half8);
5746 char8 __ovld __cnfn convert_char8_sat_rtp(half8);
5747 char8 __ovld __cnfn convert_char8_sat_rtn(half8);
5748 char8 __ovld __cnfn convert_char8_sat_rtz(half8);
5749 char16 __ovld __cnfn convert_char16(half16);
5750 char16 __ovld __cnfn convert_char16_rte(half16);
5751 char16 __ovld __cnfn convert_char16_rtp(half16);
5752 char16 __ovld __cnfn convert_char16_rtn(half16);
5753 char16 __ovld __cnfn convert_char16_rtz(half16);
5754 char16 __ovld __cnfn convert_char16_sat(half16);
5755 char16 __ovld __cnfn convert_char16_sat_rte(half16);
5756 char16 __ovld __cnfn convert_char16_sat_rtp(half16);
5757 char16 __ovld __cnfn convert_char16_sat_rtn(half16);
5758 char16 __ovld __cnfn convert_char16_sat_rtz(half16);
5759 short __ovld __cnfn convert_short(half);
5760 short __ovld __cnfn convert_short_rte(half);
5761 short __ovld __cnfn convert_short_rtp(half);
5762 short __ovld __cnfn convert_short_rtn(half);
5763 short __ovld __cnfn convert_short_rtz(half);
5764 short __ovld __cnfn convert_short_sat(half);
5765 short __ovld __cnfn convert_short_sat_rte(half);
5766 short __ovld __cnfn convert_short_sat_rtp(half);
5767 short __ovld __cnfn convert_short_sat_rtn(half);
5768 short __ovld __cnfn convert_short_sat_rtz(half);
5769 short2 __ovld __cnfn convert_short2(half2);
5770 short2 __ovld __cnfn convert_short2_rte(half2);
5771 short2 __ovld __cnfn convert_short2_rtp(half2);
5772 short2 __ovld __cnfn convert_short2_rtn(half2);
5773 short2 __ovld __cnfn convert_short2_rtz(half2);
5774 short2 __ovld __cnfn convert_short2_sat(half2);
5775 short2 __ovld __cnfn convert_short2_sat_rte(half2);
5776 short2 __ovld __cnfn convert_short2_sat_rtp(half2);
5777 short2 __ovld __cnfn convert_short2_sat_rtn(half2);
5778 short2 __ovld __cnfn convert_short2_sat_rtz(half2);
5779 short3 __ovld __cnfn convert_short3(half3);
5780 short3 __ovld __cnfn convert_short3_rte(half3);
5781 short3 __ovld __cnfn convert_short3_rtp(half3);
5782 short3 __ovld __cnfn convert_short3_rtn(half3);
5783 short3 __ovld __cnfn convert_short3_rtz(half3);
5784 short3 __ovld __cnfn convert_short3_sat(half3);
5785 short3 __ovld __cnfn convert_short3_sat_rte(half3);
5786 short3 __ovld __cnfn convert_short3_sat_rtp(half3);
5787 short3 __ovld __cnfn convert_short3_sat_rtn(half3);
5788 short3 __ovld __cnfn convert_short3_sat_rtz(half3);
5789 short4 __ovld __cnfn convert_short4(half4);
5790 short4 __ovld __cnfn convert_short4_rte(half4);
5791 short4 __ovld __cnfn convert_short4_rtp(half4);
5792 short4 __ovld __cnfn convert_short4_rtn(half4);
5793 short4 __ovld __cnfn convert_short4_rtz(half4);
5794 short4 __ovld __cnfn convert_short4_sat(half4);
5795 short4 __ovld __cnfn convert_short4_sat_rte(half4);
5796 short4 __ovld __cnfn convert_short4_sat_rtp(half4);
5797 short4 __ovld __cnfn convert_short4_sat_rtn(half4);
5798 short4 __ovld __cnfn convert_short4_sat_rtz(half4);
5799 short8 __ovld __cnfn convert_short8(half8);
5800 short8 __ovld __cnfn convert_short8_rte(half8);
5801 short8 __ovld __cnfn convert_short8_rtp(half8);
5802 short8 __ovld __cnfn convert_short8_rtn(half8);
5803 short8 __ovld __cnfn convert_short8_rtz(half8);
5804 short8 __ovld __cnfn convert_short8_sat(half8);
5805 short8 __ovld __cnfn convert_short8_sat_rte(half8);
5806 short8 __ovld __cnfn convert_short8_sat_rtp(half8);
5807 short8 __ovld __cnfn convert_short8_sat_rtn(half8);
5808 short8 __ovld __cnfn convert_short8_sat_rtz(half8);
5809 short16 __ovld __cnfn convert_short16(half16);
5810 short16 __ovld __cnfn convert_short16_rte(half16);
5811 short16 __ovld __cnfn convert_short16_rtp(half16);
5812 short16 __ovld __cnfn convert_short16_rtn(half16);
5813 short16 __ovld __cnfn convert_short16_rtz(half16);
5814 short16 __ovld __cnfn convert_short16_sat(half16);
5815 short16 __ovld __cnfn convert_short16_sat_rte(half16);
5816 short16 __ovld __cnfn convert_short16_sat_rtp(half16);
5817 short16 __ovld __cnfn convert_short16_sat_rtn(half16);
5818 short16 __ovld __cnfn convert_short16_sat_rtz(half16);
5819 int __ovld __cnfn convert_int(half);
5820 int __ovld __cnfn convert_int_rte(half);
5821 int __ovld __cnfn convert_int_rtp(half);
5822 int __ovld __cnfn convert_int_rtn(half);
5823 int __ovld __cnfn convert_int_rtz(half);
5824 int __ovld __cnfn convert_int_sat(half);
5825 int __ovld __cnfn convert_int_sat_rte(half);
5826 int __ovld __cnfn convert_int_sat_rtp(half);
5827 int __ovld __cnfn convert_int_sat_rtn(half);
5828 int __ovld __cnfn convert_int_sat_rtz(half);
5829 int2 __ovld __cnfn convert_int2(half2);
5830 int2 __ovld __cnfn convert_int2_rte(half2);
5831 int2 __ovld __cnfn convert_int2_rtp(half2);
5832 int2 __ovld __cnfn convert_int2_rtn(half2);
5833 int2 __ovld __cnfn convert_int2_rtz(half2);
5834 int2 __ovld __cnfn convert_int2_sat(half2);
5835 int2 __ovld __cnfn convert_int2_sat_rte(half2);
5836 int2 __ovld __cnfn convert_int2_sat_rtp(half2);
5837 int2 __ovld __cnfn convert_int2_sat_rtn(half2);
5838 int2 __ovld __cnfn convert_int2_sat_rtz(half2);
5839 int3 __ovld __cnfn convert_int3(half3);
5840 int3 __ovld __cnfn convert_int3_rte(half3);
5841 int3 __ovld __cnfn convert_int3_rtp(half3);
5842 int3 __ovld __cnfn convert_int3_rtn(half3);
5843 int3 __ovld __cnfn convert_int3_rtz(half3);
5844 int3 __ovld __cnfn convert_int3_sat(half3);
5845 int3 __ovld __cnfn convert_int3_sat_rte(half3);
5846 int3 __ovld __cnfn convert_int3_sat_rtp(half3);
5847 int3 __ovld __cnfn convert_int3_sat_rtn(half3);
5848 int3 __ovld __cnfn convert_int3_sat_rtz(half3);
5849 int4 __ovld __cnfn convert_int4(half4);
5850 int4 __ovld __cnfn convert_int4_rte(half4);
5851 int4 __ovld __cnfn convert_int4_rtp(half4);
5852 int4 __ovld __cnfn convert_int4_rtn(half4);
5853 int4 __ovld __cnfn convert_int4_rtz(half4);
5854 int4 __ovld __cnfn convert_int4_sat(half4);
5855 int4 __ovld __cnfn convert_int4_sat_rte(half4);
5856 int4 __ovld __cnfn convert_int4_sat_rtp(half4);
5857 int4 __ovld __cnfn convert_int4_sat_rtn(half4);
5858 int4 __ovld __cnfn convert_int4_sat_rtz(half4);
5859 int8 __ovld __cnfn convert_int8(half8);
5860 int8 __ovld __cnfn convert_int8_rte(half8);
5861 int8 __ovld __cnfn convert_int8_rtp(half8);
5862 int8 __ovld __cnfn convert_int8_rtn(half8);
5863 int8 __ovld __cnfn convert_int8_rtz(half8);
5864 int8 __ovld __cnfn convert_int8_sat(half8);
5865 int8 __ovld __cnfn convert_int8_sat_rte(half8);
5866 int8 __ovld __cnfn convert_int8_sat_rtp(half8);
5867 int8 __ovld __cnfn convert_int8_sat_rtn(half8);
5868 int8 __ovld __cnfn convert_int8_sat_rtz(half8);
5869 int16 __ovld __cnfn convert_int16(half16);
5870 int16 __ovld __cnfn convert_int16_rte(half16);
5871 int16 __ovld __cnfn convert_int16_rtp(half16);
5872 int16 __ovld __cnfn convert_int16_rtn(half16);
5873 int16 __ovld __cnfn convert_int16_rtz(half16);
5874 int16 __ovld __cnfn convert_int16_sat(half16);
5875 int16 __ovld __cnfn convert_int16_sat_rte(half16);
5876 int16 __ovld __cnfn convert_int16_sat_rtp(half16);
5877 int16 __ovld __cnfn convert_int16_sat_rtn(half16);
5878 int16 __ovld __cnfn convert_int16_sat_rtz(half16);
5879 long __ovld __cnfn convert_long(half);
5880 long __ovld __cnfn convert_long_rte(half);
5881 long __ovld __cnfn convert_long_rtp(half);
5882 long __ovld __cnfn convert_long_rtn(half);
5883 long __ovld __cnfn convert_long_rtz(half);
5884 long __ovld __cnfn convert_long_sat(half);
5885 long __ovld __cnfn convert_long_sat_rte(half);
5886 long __ovld __cnfn convert_long_sat_rtp(half);
5887 long __ovld __cnfn convert_long_sat_rtn(half);
5888 long __ovld __cnfn convert_long_sat_rtz(half);
5889 long2 __ovld __cnfn convert_long2(half2);
5890 long2 __ovld __cnfn convert_long2_rte(half2);
5891 long2 __ovld __cnfn convert_long2_rtp(half2);
5892 long2 __ovld __cnfn convert_long2_rtn(half2);
5893 long2 __ovld __cnfn convert_long2_rtz(half2);
5894 long2 __ovld __cnfn convert_long2_sat(half2);
5895 long2 __ovld __cnfn convert_long2_sat_rte(half2);
5896 long2 __ovld __cnfn convert_long2_sat_rtp(half2);
5897 long2 __ovld __cnfn convert_long2_sat_rtn(half2);
5898 long2 __ovld __cnfn convert_long2_sat_rtz(half2);
5899 long3 __ovld __cnfn convert_long3(half3);
5900 long3 __ovld __cnfn convert_long3_rte(half3);
5901 long3 __ovld __cnfn convert_long3_rtp(half3);
5902 long3 __ovld __cnfn convert_long3_rtn(half3);
5903 long3 __ovld __cnfn convert_long3_rtz(half3);
5904 long3 __ovld __cnfn convert_long3_sat(half3);
5905 long3 __ovld __cnfn convert_long3_sat_rte(half3);
5906 long3 __ovld __cnfn convert_long3_sat_rtp(half3);
5907 long3 __ovld __cnfn convert_long3_sat_rtn(half3);
5908 long3 __ovld __cnfn convert_long3_sat_rtz(half3);
5909 long4 __ovld __cnfn convert_long4(half4);
5910 long4 __ovld __cnfn convert_long4_rte(half4);
5911 long4 __ovld __cnfn convert_long4_rtp(half4);
5912 long4 __ovld __cnfn convert_long4_rtn(half4);
5913 long4 __ovld __cnfn convert_long4_rtz(half4);
5914 long4 __ovld __cnfn convert_long4_sat(half4);
5915 long4 __ovld __cnfn convert_long4_sat_rte(half4);
5916 long4 __ovld __cnfn convert_long4_sat_rtp(half4);
5917 long4 __ovld __cnfn convert_long4_sat_rtn(half4);
5918 long4 __ovld __cnfn convert_long4_sat_rtz(half4);
5919 long8 __ovld __cnfn convert_long8(half8);
5920 long8 __ovld __cnfn convert_long8_rte(half8);
5921 long8 __ovld __cnfn convert_long8_rtp(half8);
5922 long8 __ovld __cnfn convert_long8_rtn(half8);
5923 long8 __ovld __cnfn convert_long8_rtz(half8);
5924 long8 __ovld __cnfn convert_long8_sat(half8);
5925 long8 __ovld __cnfn convert_long8_sat_rte(half8);
5926 long8 __ovld __cnfn convert_long8_sat_rtp(half8);
5927 long8 __ovld __cnfn convert_long8_sat_rtn(half8);
5928 long8 __ovld __cnfn convert_long8_sat_rtz(half8);
5929 long16 __ovld __cnfn convert_long16(half16);
5930 long16 __ovld __cnfn convert_long16_rte(half16);
5931 long16 __ovld __cnfn convert_long16_rtp(half16);
5932 long16 __ovld __cnfn convert_long16_rtn(half16);
5933 long16 __ovld __cnfn convert_long16_rtz(half16);
5934 long16 __ovld __cnfn convert_long16_sat(half16);
5935 long16 __ovld __cnfn convert_long16_sat_rte(half16);
5936 long16 __ovld __cnfn convert_long16_sat_rtp(half16);
5937 long16 __ovld __cnfn convert_long16_sat_rtn(half16);
5938 long16 __ovld __cnfn convert_long16_sat_rtz(half16);
5939 float __ovld __cnfn convert_float(half);
5940 float __ovld __cnfn convert_float_rte(half);
5941 float __ovld __cnfn convert_float_rtp(half);
5942 float __ovld __cnfn convert_float_rtn(half);
5943 float __ovld __cnfn convert_float_rtz(half);
5944 float2 __ovld __cnfn convert_float2(half2);
5945 float2 __ovld __cnfn convert_float2_rte(half2);
5946 float2 __ovld __cnfn convert_float2_rtp(half2);
5947 float2 __ovld __cnfn convert_float2_rtn(half2);
5948 float2 __ovld __cnfn convert_float2_rtz(half2);
5949 float3 __ovld __cnfn convert_float3(half3);
5950 float3 __ovld __cnfn convert_float3_rte(half3);
5951 float3 __ovld __cnfn convert_float3_rtp(half3);
5952 float3 __ovld __cnfn convert_float3_rtn(half3);
5953 float3 __ovld __cnfn convert_float3_rtz(half3);
5954 float4 __ovld __cnfn convert_float4(half4);
5955 float4 __ovld __cnfn convert_float4_rte(half4);
5956 float4 __ovld __cnfn convert_float4_rtp(half4);
5957 float4 __ovld __cnfn convert_float4_rtn(half4);
5958 float4 __ovld __cnfn convert_float4_rtz(half4);
5959 float8 __ovld __cnfn convert_float8(half8);
5960 float8 __ovld __cnfn convert_float8_rte(half8);
5961 float8 __ovld __cnfn convert_float8_rtp(half8);
5962 float8 __ovld __cnfn convert_float8_rtn(half8);
5963 float8 __ovld __cnfn convert_float8_rtz(half8);
5964 float16 __ovld __cnfn convert_float16(half16);
5965 float16 __ovld __cnfn convert_float16_rte(half16);
5966 float16 __ovld __cnfn convert_float16_rtp(half16);
5967 float16 __ovld __cnfn convert_float16_rtn(half16);
5968 float16 __ovld __cnfn convert_float16_rtz(half16);
5969
5970 // Convert non-double types to half types.
5971 half __ovld __cnfn convert_half(uchar);
5972 half __ovld __cnfn convert_half(ushort);
5973 half __ovld __cnfn convert_half(uint);
5974 half __ovld __cnfn convert_half(ulong);
5975 half __ovld __cnfn convert_half(char);
5976 half __ovld __cnfn convert_half(short);
5977 half __ovld __cnfn convert_half(int);
5978 half __ovld __cnfn convert_half(long);
5979 half __ovld __cnfn convert_half(float);
5980 half __ovld __cnfn convert_half(half);
5981 half __ovld __cnfn convert_half_rte(uchar);
5982 half __ovld __cnfn convert_half_rte(ushort);
5983 half __ovld __cnfn convert_half_rte(uint);
5984 half __ovld __cnfn convert_half_rte(ulong);
5985 half __ovld __cnfn convert_half_rte(char);
5986 half __ovld __cnfn convert_half_rte(short);
5987 half __ovld __cnfn convert_half_rte(int);
5988 half __ovld __cnfn convert_half_rte(long);
5989 half __ovld __cnfn convert_half_rte(float);
5990 half __ovld __cnfn convert_half_rte(half);
5991 half __ovld __cnfn convert_half_rtp(uchar);
5992 half __ovld __cnfn convert_half_rtp(ushort);
5993 half __ovld __cnfn convert_half_rtp(uint);
5994 half __ovld __cnfn convert_half_rtp(ulong);
5995 half __ovld __cnfn convert_half_rtp(char);
5996 half __ovld __cnfn convert_half_rtp(short);
5997 half __ovld __cnfn convert_half_rtp(int);
5998 half __ovld __cnfn convert_half_rtp(long);
5999 half __ovld __cnfn convert_half_rtp(float);
6000 half __ovld __cnfn convert_half_rtp(half);
6001 half __ovld __cnfn convert_half_rtn(uchar);
6002 half __ovld __cnfn convert_half_rtn(ushort);
6003 half __ovld __cnfn convert_half_rtn(uint);
6004 half __ovld __cnfn convert_half_rtn(ulong);
6005 half __ovld __cnfn convert_half_rtn(char);
6006 half __ovld __cnfn convert_half_rtn(short);
6007 half __ovld __cnfn convert_half_rtn(int);
6008 half __ovld __cnfn convert_half_rtn(long);
6009 half __ovld __cnfn convert_half_rtn(float);
6010 half __ovld __cnfn convert_half_rtn(half);
6011 half __ovld __cnfn convert_half_rtz(uchar);
6012 half __ovld __cnfn convert_half_rtz(ushort);
6013 half __ovld __cnfn convert_half_rtz(uint);
6014 half __ovld __cnfn convert_half_rtz(ulong);
6015 half __ovld __cnfn convert_half_rtz(char);
6016 half __ovld __cnfn convert_half_rtz(short);
6017 half __ovld __cnfn convert_half_rtz(int);
6018 half __ovld __cnfn convert_half_rtz(long);
6019 half __ovld __cnfn convert_half_rtz(float);
6020 half __ovld __cnfn convert_half_rtz(half);
6021 half2 __ovld __cnfn convert_half2(char2);
6022 half2 __ovld __cnfn convert_half2(uchar2);
6023 half2 __ovld __cnfn convert_half2(short2);
6024 half2 __ovld __cnfn convert_half2(ushort2);
6025 half2 __ovld __cnfn convert_half2(int2);
6026 half2 __ovld __cnfn convert_half2(uint2);
6027 half2 __ovld __cnfn convert_half2(long2);
6028 half2 __ovld __cnfn convert_half2(ulong2);
6029 half2 __ovld __cnfn convert_half2(float2);
6030 half2 __ovld __cnfn convert_half2(half2);
6031 half2 __ovld __cnfn convert_half2_rte(char2);
6032 half2 __ovld __cnfn convert_half2_rte(uchar2);
6033 half2 __ovld __cnfn convert_half2_rte(short2);
6034 half2 __ovld __cnfn convert_half2_rte(ushort2);
6035 half2 __ovld __cnfn convert_half2_rte(int2);
6036 half2 __ovld __cnfn convert_half2_rte(uint2);
6037 half2 __ovld __cnfn convert_half2_rte(long2);
6038 half2 __ovld __cnfn convert_half2_rte(ulong2);
6039 half2 __ovld __cnfn convert_half2_rte(float2);
6040 half2 __ovld __cnfn convert_half2_rte(half2);
6041 half2 __ovld __cnfn convert_half2_rtp(char2);
6042 half2 __ovld __cnfn convert_half2_rtp(uchar2);
6043 half2 __ovld __cnfn convert_half2_rtp(short2);
6044 half2 __ovld __cnfn convert_half2_rtp(ushort2);
6045 half2 __ovld __cnfn convert_half2_rtp(int2);
6046 half2 __ovld __cnfn convert_half2_rtp(uint2);
6047 half2 __ovld __cnfn convert_half2_rtp(long2);
6048 half2 __ovld __cnfn convert_half2_rtp(ulong2);
6049 half2 __ovld __cnfn convert_half2_rtp(float2);
6050 half2 __ovld __cnfn convert_half2_rtp(half2);
6051 half2 __ovld __cnfn convert_half2_rtn(char2);
6052 half2 __ovld __cnfn convert_half2_rtn(uchar2);
6053 half2 __ovld __cnfn convert_half2_rtn(short2);
6054 half2 __ovld __cnfn convert_half2_rtn(ushort2);
6055 half2 __ovld __cnfn convert_half2_rtn(int2);
6056 half2 __ovld __cnfn convert_half2_rtn(uint2);
6057 half2 __ovld __cnfn convert_half2_rtn(long2);
6058 half2 __ovld __cnfn convert_half2_rtn(ulong2);
6059 half2 __ovld __cnfn convert_half2_rtn(float2);
6060 half2 __ovld __cnfn convert_half2_rtn(half2);
6061 half2 __ovld __cnfn convert_half2_rtz(char2);
6062 half2 __ovld __cnfn convert_half2_rtz(uchar2);
6063 half2 __ovld __cnfn convert_half2_rtz(short2);
6064 half2 __ovld __cnfn convert_half2_rtz(ushort2);
6065 half2 __ovld __cnfn convert_half2_rtz(int2);
6066 half2 __ovld __cnfn convert_half2_rtz(uint2);
6067 half2 __ovld __cnfn convert_half2_rtz(long2);
6068 half2 __ovld __cnfn convert_half2_rtz(ulong2);
6069 half2 __ovld __cnfn convert_half2_rtz(float2);
6070 half2 __ovld __cnfn convert_half2_rtz(half2);
6071 half3 __ovld __cnfn convert_half3(char3);
6072 half3 __ovld __cnfn convert_half3(uchar3);
6073 half3 __ovld __cnfn convert_half3(short3);
6074 half3 __ovld __cnfn convert_half3(ushort3);
6075 half3 __ovld __cnfn convert_half3(int3);
6076 half3 __ovld __cnfn convert_half3(uint3);
6077 half3 __ovld __cnfn convert_half3(long3);
6078 half3 __ovld __cnfn convert_half3(ulong3);
6079 half3 __ovld __cnfn convert_half3(float3);
6080 half3 __ovld __cnfn convert_half3(half3);
6081 half3 __ovld __cnfn convert_half3_rte(char3);
6082 half3 __ovld __cnfn convert_half3_rte(uchar3);
6083 half3 __ovld __cnfn convert_half3_rte(short3);
6084 half3 __ovld __cnfn convert_half3_rte(ushort3);
6085 half3 __ovld __cnfn convert_half3_rte(int3);
6086 half3 __ovld __cnfn convert_half3_rte(uint3);
6087 half3 __ovld __cnfn convert_half3_rte(long3);
6088 half3 __ovld __cnfn convert_half3_rte(ulong3);
6089 half3 __ovld __cnfn convert_half3_rte(float3);
6090 half3 __ovld __cnfn convert_half3_rte(half3);
6091 half3 __ovld __cnfn convert_half3_rtp(char3);
6092 half3 __ovld __cnfn convert_half3_rtp(uchar3);
6093 half3 __ovld __cnfn convert_half3_rtp(short3);
6094 half3 __ovld __cnfn convert_half3_rtp(ushort3);
6095 half3 __ovld __cnfn convert_half3_rtp(int3);
6096 half3 __ovld __cnfn convert_half3_rtp(uint3);
6097 half3 __ovld __cnfn convert_half3_rtp(long3);
6098 half3 __ovld __cnfn convert_half3_rtp(ulong3);
6099 half3 __ovld __cnfn convert_half3_rtp(float3);
6100 half3 __ovld __cnfn convert_half3_rtp(half3);
6101 half3 __ovld __cnfn convert_half3_rtn(char3);
6102 half3 __ovld __cnfn convert_half3_rtn(uchar3);
6103 half3 __ovld __cnfn convert_half3_rtn(short3);
6104 half3 __ovld __cnfn convert_half3_rtn(ushort3);
6105 half3 __ovld __cnfn convert_half3_rtn(int3);
6106 half3 __ovld __cnfn convert_half3_rtn(uint3);
6107 half3 __ovld __cnfn convert_half3_rtn(long3);
6108 half3 __ovld __cnfn convert_half3_rtn(ulong3);
6109 half3 __ovld __cnfn convert_half3_rtn(float3);
6110 half3 __ovld __cnfn convert_half3_rtn(half3);
6111 half3 __ovld __cnfn convert_half3_rtz(char3);
6112 half3 __ovld __cnfn convert_half3_rtz(uchar3);
6113 half3 __ovld __cnfn convert_half3_rtz(short3);
6114 half3 __ovld __cnfn convert_half3_rtz(ushort3);
6115 half3 __ovld __cnfn convert_half3_rtz(int3);
6116 half3 __ovld __cnfn convert_half3_rtz(uint3);
6117 half3 __ovld __cnfn convert_half3_rtz(long3);
6118 half3 __ovld __cnfn convert_half3_rtz(ulong3);
6119 half3 __ovld __cnfn convert_half3_rtz(float3);
6120 half3 __ovld __cnfn convert_half3_rtz(half3);
6121 half4 __ovld __cnfn convert_half4(char4);
6122 half4 __ovld __cnfn convert_half4(uchar4);
6123 half4 __ovld __cnfn convert_half4(short4);
6124 half4 __ovld __cnfn convert_half4(ushort4);
6125 half4 __ovld __cnfn convert_half4(int4);
6126 half4 __ovld __cnfn convert_half4(uint4);
6127 half4 __ovld __cnfn convert_half4(long4);
6128 half4 __ovld __cnfn convert_half4(ulong4);
6129 half4 __ovld __cnfn convert_half4(float4);
6130 half4 __ovld __cnfn convert_half4(half4);
6131 half4 __ovld __cnfn convert_half4_rte(char4);
6132 half4 __ovld __cnfn convert_half4_rte(uchar4);
6133 half4 __ovld __cnfn convert_half4_rte(short4);
6134 half4 __ovld __cnfn convert_half4_rte(ushort4);
6135 half4 __ovld __cnfn convert_half4_rte(int4);
6136 half4 __ovld __cnfn convert_half4_rte(uint4);
6137 half4 __ovld __cnfn convert_half4_rte(long4);
6138 half4 __ovld __cnfn convert_half4_rte(ulong4);
6139 half4 __ovld __cnfn convert_half4_rte(float4);
6140 half4 __ovld __cnfn convert_half4_rte(half4);
6141 half4 __ovld __cnfn convert_half4_rtp(char4);
6142 half4 __ovld __cnfn convert_half4_rtp(uchar4);
6143 half4 __ovld __cnfn convert_half4_rtp(short4);
6144 half4 __ovld __cnfn convert_half4_rtp(ushort4);
6145 half4 __ovld __cnfn convert_half4_rtp(int4);
6146 half4 __ovld __cnfn convert_half4_rtp(uint4);
6147 half4 __ovld __cnfn convert_half4_rtp(long4);
6148 half4 __ovld __cnfn convert_half4_rtp(ulong4);
6149 half4 __ovld __cnfn convert_half4_rtp(float4);
6150 half4 __ovld __cnfn convert_half4_rtp(half4);
6151 half4 __ovld __cnfn convert_half4_rtn(char4);
6152 half4 __ovld __cnfn convert_half4_rtn(uchar4);
6153 half4 __ovld __cnfn convert_half4_rtn(short4);
6154 half4 __ovld __cnfn convert_half4_rtn(ushort4);
6155 half4 __ovld __cnfn convert_half4_rtn(int4);
6156 half4 __ovld __cnfn convert_half4_rtn(uint4);
6157 half4 __ovld __cnfn convert_half4_rtn(long4);
6158 half4 __ovld __cnfn convert_half4_rtn(ulong4);
6159 half4 __ovld __cnfn convert_half4_rtn(float4);
6160 half4 __ovld __cnfn convert_half4_rtn(half4);
6161 half4 __ovld __cnfn convert_half4_rtz(char4);
6162 half4 __ovld __cnfn convert_half4_rtz(uchar4);
6163 half4 __ovld __cnfn convert_half4_rtz(short4);
6164 half4 __ovld __cnfn convert_half4_rtz(ushort4);
6165 half4 __ovld __cnfn convert_half4_rtz(int4);
6166 half4 __ovld __cnfn convert_half4_rtz(uint4);
6167 half4 __ovld __cnfn convert_half4_rtz(long4);
6168 half4 __ovld __cnfn convert_half4_rtz(ulong4);
6169 half4 __ovld __cnfn convert_half4_rtz(float4);
6170 half4 __ovld __cnfn convert_half4_rtz(half4);
6171 half8 __ovld __cnfn convert_half8(char8);
6172 half8 __ovld __cnfn convert_half8(uchar8);
6173 half8 __ovld __cnfn convert_half8(short8);
6174 half8 __ovld __cnfn convert_half8(ushort8);
6175 half8 __ovld __cnfn convert_half8(int8);
6176 half8 __ovld __cnfn convert_half8(uint8);
6177 half8 __ovld __cnfn convert_half8(long8);
6178 half8 __ovld __cnfn convert_half8(ulong8);
6179 half8 __ovld __cnfn convert_half8(float8);
6180 half8 __ovld __cnfn convert_half8(half8);
6181 half8 __ovld __cnfn convert_half8_rte(char8);
6182 half8 __ovld __cnfn convert_half8_rte(uchar8);
6183 half8 __ovld __cnfn convert_half8_rte(short8);
6184 half8 __ovld __cnfn convert_half8_rte(ushort8);
6185 half8 __ovld __cnfn convert_half8_rte(int8);
6186 half8 __ovld __cnfn convert_half8_rte(uint8);
6187 half8 __ovld __cnfn convert_half8_rte(long8);
6188 half8 __ovld __cnfn convert_half8_rte(ulong8);
6189 half8 __ovld __cnfn convert_half8_rte(float8);
6190 half8 __ovld __cnfn convert_half8_rte(half8);
6191 half8 __ovld __cnfn convert_half8_rtp(char8);
6192 half8 __ovld __cnfn convert_half8_rtp(uchar8);
6193 half8 __ovld __cnfn convert_half8_rtp(short8);
6194 half8 __ovld __cnfn convert_half8_rtp(ushort8);
6195 half8 __ovld __cnfn convert_half8_rtp(int8);
6196 half8 __ovld __cnfn convert_half8_rtp(uint8);
6197 half8 __ovld __cnfn convert_half8_rtp(long8);
6198 half8 __ovld __cnfn convert_half8_rtp(ulong8);
6199 half8 __ovld __cnfn convert_half8_rtp(float8);
6200 half8 __ovld __cnfn convert_half8_rtp(half8);
6201 half8 __ovld __cnfn convert_half8_rtn(char8);
6202 half8 __ovld __cnfn convert_half8_rtn(uchar8);
6203 half8 __ovld __cnfn convert_half8_rtn(short8);
6204 half8 __ovld __cnfn convert_half8_rtn(ushort8);
6205 half8 __ovld __cnfn convert_half8_rtn(int8);
6206 half8 __ovld __cnfn convert_half8_rtn(uint8);
6207 half8 __ovld __cnfn convert_half8_rtn(long8);
6208 half8 __ovld __cnfn convert_half8_rtn(ulong8);
6209 half8 __ovld __cnfn convert_half8_rtn(float8);
6210 half8 __ovld __cnfn convert_half8_rtn(half8);
6211 half8 __ovld __cnfn convert_half8_rtz(char8);
6212 half8 __ovld __cnfn convert_half8_rtz(uchar8);
6213 half8 __ovld __cnfn convert_half8_rtz(short8);
6214 half8 __ovld __cnfn convert_half8_rtz(ushort8);
6215 half8 __ovld __cnfn convert_half8_rtz(int8);
6216 half8 __ovld __cnfn convert_half8_rtz(uint8);
6217 half8 __ovld __cnfn convert_half8_rtz(long8);
6218 half8 __ovld __cnfn convert_half8_rtz(ulong8);
6219 half8 __ovld __cnfn convert_half8_rtz(float8);
6220 half8 __ovld __cnfn convert_half8_rtz(half8);
6221 half16 __ovld __cnfn convert_half16(char16);
6222 half16 __ovld __cnfn convert_half16(uchar16);
6223 half16 __ovld __cnfn convert_half16(short16);
6224 half16 __ovld __cnfn convert_half16(ushort16);
6225 half16 __ovld __cnfn convert_half16(int16);
6226 half16 __ovld __cnfn convert_half16(uint16);
6227 half16 __ovld __cnfn convert_half16(long16);
6228 half16 __ovld __cnfn convert_half16(ulong16);
6229 half16 __ovld __cnfn convert_half16(float16);
6230 half16 __ovld __cnfn convert_half16(half16);
6231 half16 __ovld __cnfn convert_half16_rte(char16);
6232 half16 __ovld __cnfn convert_half16_rte(uchar16);
6233 half16 __ovld __cnfn convert_half16_rte(short16);
6234 half16 __ovld __cnfn convert_half16_rte(ushort16);
6235 half16 __ovld __cnfn convert_half16_rte(int16);
6236 half16 __ovld __cnfn convert_half16_rte(uint16);
6237 half16 __ovld __cnfn convert_half16_rte(long16);
6238 half16 __ovld __cnfn convert_half16_rte(ulong16);
6239 half16 __ovld __cnfn convert_half16_rte(float16);
6240 half16 __ovld __cnfn convert_half16_rte(half16);
6241 half16 __ovld __cnfn convert_half16_rtp(char16);
6242 half16 __ovld __cnfn convert_half16_rtp(uchar16);
6243 half16 __ovld __cnfn convert_half16_rtp(short16);
6244 half16 __ovld __cnfn convert_half16_rtp(ushort16);
6245 half16 __ovld __cnfn convert_half16_rtp(int16);
6246 half16 __ovld __cnfn convert_half16_rtp(uint16);
6247 half16 __ovld __cnfn convert_half16_rtp(long16);
6248 half16 __ovld __cnfn convert_half16_rtp(ulong16);
6249 half16 __ovld __cnfn convert_half16_rtp(float16);
6250 half16 __ovld __cnfn convert_half16_rtp(half16);
6251 half16 __ovld __cnfn convert_half16_rtn(char16);
6252 half16 __ovld __cnfn convert_half16_rtn(uchar16);
6253 half16 __ovld __cnfn convert_half16_rtn(short16);
6254 half16 __ovld __cnfn convert_half16_rtn(ushort16);
6255 half16 __ovld __cnfn convert_half16_rtn(int16);
6256 half16 __ovld __cnfn convert_half16_rtn(uint16);
6257 half16 __ovld __cnfn convert_half16_rtn(long16);
6258 half16 __ovld __cnfn convert_half16_rtn(ulong16);
6259 half16 __ovld __cnfn convert_half16_rtn(float16);
6260 half16 __ovld __cnfn convert_half16_rtn(half16);
6261 half16 __ovld __cnfn convert_half16_rtz(char16);
6262 half16 __ovld __cnfn convert_half16_rtz(uchar16);
6263 half16 __ovld __cnfn convert_half16_rtz(short16);
6264 half16 __ovld __cnfn convert_half16_rtz(ushort16);
6265 half16 __ovld __cnfn convert_half16_rtz(int16);
6266 half16 __ovld __cnfn convert_half16_rtz(uint16);
6267 half16 __ovld __cnfn convert_half16_rtz(long16);
6268 half16 __ovld __cnfn convert_half16_rtz(ulong16);
6269 half16 __ovld __cnfn convert_half16_rtz(float16);
6270 half16 __ovld __cnfn convert_half16_rtz(half16);
6271
6272 // Convert half types to double types.
6273 #ifdef cl_khr_fp64
6274 double __ovld __cnfn convert_double(half);
6275 double __ovld __cnfn convert_double_rte(half);
6276 double __ovld __cnfn convert_double_rtp(half);
6277 double __ovld __cnfn convert_double_rtn(half);
6278 double __ovld __cnfn convert_double_rtz(half);
6279 double2 __ovld __cnfn convert_double2(half2);
6280 double2 __ovld __cnfn convert_double2_rte(half2);
6281 double2 __ovld __cnfn convert_double2_rtp(half2);
6282 double2 __ovld __cnfn convert_double2_rtn(half2);
6283 double2 __ovld __cnfn convert_double2_rtz(half2);
6284 double3 __ovld __cnfn convert_double3(half3);
6285 double3 __ovld __cnfn convert_double3_rte(half3);
6286 double3 __ovld __cnfn convert_double3_rtp(half3);
6287 double3 __ovld __cnfn convert_double3_rtn(half3);
6288 double3 __ovld __cnfn convert_double3_rtz(half3);
6289 double4 __ovld __cnfn convert_double4(half4);
6290 double4 __ovld __cnfn convert_double4_rte(half4);
6291 double4 __ovld __cnfn convert_double4_rtp(half4);
6292 double4 __ovld __cnfn convert_double4_rtn(half4);
6293 double4 __ovld __cnfn convert_double4_rtz(half4);
6294 double8 __ovld __cnfn convert_double8(half8);
6295 double8 __ovld __cnfn convert_double8_rte(half8);
6296 double8 __ovld __cnfn convert_double8_rtp(half8);
6297 double8 __ovld __cnfn convert_double8_rtn(half8);
6298 double8 __ovld __cnfn convert_double8_rtz(half8);
6299 double16 __ovld __cnfn convert_double16(half16);
6300 double16 __ovld __cnfn convert_double16_rte(half16);
6301 double16 __ovld __cnfn convert_double16_rtp(half16);
6302 double16 __ovld __cnfn convert_double16_rtn(half16);
6303 double16 __ovld __cnfn convert_double16_rtz(half16);
6304
6305 // Convert double types to half types.
6306 half __ovld __cnfn convert_half(double);
6307 half __ovld __cnfn convert_half_rte(double);
6308 half __ovld __cnfn convert_half_rtp(double);
6309 half __ovld __cnfn convert_half_rtn(double);
6310 half __ovld __cnfn convert_half_rtz(double);
6311 half2 __ovld __cnfn convert_half2(double2);
6312 half2 __ovld __cnfn convert_half2_rte(double2);
6313 half2 __ovld __cnfn convert_half2_rtp(double2);
6314 half2 __ovld __cnfn convert_half2_rtn(double2);
6315 half2 __ovld __cnfn convert_half2_rtz(double2);
6316 half3 __ovld __cnfn convert_half3(double3);
6317 half3 __ovld __cnfn convert_half3_rte(double3);
6318 half3 __ovld __cnfn convert_half3_rtp(double3);
6319 half3 __ovld __cnfn convert_half3_rtn(double3);
6320 half3 __ovld __cnfn convert_half3_rtz(double3);
6321 half4 __ovld __cnfn convert_half4(double4);
6322 half4 __ovld __cnfn convert_half4_rte(double4);
6323 half4 __ovld __cnfn convert_half4_rtp(double4);
6324 half4 __ovld __cnfn convert_half4_rtn(double4);
6325 half4 __ovld __cnfn convert_half4_rtz(double4);
6326 half8 __ovld __cnfn convert_half8(double8);
6327 half8 __ovld __cnfn convert_half8_rte(double8);
6328 half8 __ovld __cnfn convert_half8_rtp(double8);
6329 half8 __ovld __cnfn convert_half8_rtn(double8);
6330 half8 __ovld __cnfn convert_half8_rtz(double8);
6331 half16 __ovld __cnfn convert_half16(double16);
6332 half16 __ovld __cnfn convert_half16_rte(double16);
6333 half16 __ovld __cnfn convert_half16_rtp(double16);
6334 half16 __ovld __cnfn convert_half16_rtn(double16);
6335 half16 __ovld __cnfn convert_half16_rtz(double16);
6336 #endif //cl_khr_fp64
6337
6338 #endif // cl_khr_fp16
6339
6340 /**
6341  * OpenCL v1.1/1.2/2.0 s6.2.4.2 - as_type operators
6342  * Reinterprets a data type as another data type of the same size
6343  */
6344 #define as_char(x) __builtin_astype((x),   char)
6345 #define as_char2(x) __builtin_astype((x),  char2)
6346 #define as_char3(x) __builtin_astype((x),  char3)
6347 #define as_char4(x) __builtin_astype((x),  char4)
6348 #define as_char8(x) __builtin_astype((x),  char8)
6349 #define as_char16(x) __builtin_astype((x), char16)
6350
6351 #define as_uchar(x) __builtin_astype((x),   uchar)
6352 #define as_uchar2(x) __builtin_astype((x),  uchar2)
6353 #define as_uchar3(x) __builtin_astype((x),  uchar3)
6354 #define as_uchar4(x) __builtin_astype((x),  uchar4)
6355 #define as_uchar8(x) __builtin_astype((x),  uchar8)
6356 #define as_uchar16(x) __builtin_astype((x), uchar16)
6357
6358 #define as_short(x) __builtin_astype((x),   short)
6359 #define as_short2(x) __builtin_astype((x),  short2)
6360 #define as_short3(x) __builtin_astype((x),  short3)
6361 #define as_short4(x) __builtin_astype((x),  short4)
6362 #define as_short8(x) __builtin_astype((x),  short8)
6363 #define as_short16(x) __builtin_astype((x), short16)
6364
6365 #define as_ushort(x) __builtin_astype((x),   ushort)
6366 #define as_ushort2(x) __builtin_astype((x),  ushort2)
6367 #define as_ushort3(x) __builtin_astype((x),  ushort3)
6368 #define as_ushort4(x) __builtin_astype((x),  ushort4)
6369 #define as_ushort8(x) __builtin_astype((x),  ushort8)
6370 #define as_ushort16(x) __builtin_astype((x), ushort16)
6371
6372 #define as_int(x) __builtin_astype((x),   int)
6373 #define as_int2(x) __builtin_astype((x),  int2)
6374 #define as_int3(x) __builtin_astype((x),  int3)
6375 #define as_int4(x) __builtin_astype((x),  int4)
6376 #define as_int8(x) __builtin_astype((x),  int8)
6377 #define as_int16(x) __builtin_astype((x), int16)
6378
6379 #define as_uint(x) __builtin_astype((x),   uint)
6380 #define as_uint2(x) __builtin_astype((x),  uint2)
6381 #define as_uint3(x) __builtin_astype((x),  uint3)
6382 #define as_uint4(x) __builtin_astype((x),  uint4)
6383 #define as_uint8(x) __builtin_astype((x),  uint8)
6384 #define as_uint16(x) __builtin_astype((x), uint16)
6385
6386 #define as_long(x) __builtin_astype((x),   long)
6387 #define as_long2(x) __builtin_astype((x),  long2)
6388 #define as_long3(x) __builtin_astype((x),  long3)
6389 #define as_long4(x) __builtin_astype((x),  long4)
6390 #define as_long8(x) __builtin_astype((x),  long8)
6391 #define as_long16(x) __builtin_astype((x), long16)
6392
6393 #define as_ulong(x) __builtin_astype((x),   ulong)
6394 #define as_ulong2(x) __builtin_astype((x),  ulong2)
6395 #define as_ulong3(x) __builtin_astype((x),  ulong3)
6396 #define as_ulong4(x) __builtin_astype((x),  ulong4)
6397 #define as_ulong8(x) __builtin_astype((x),  ulong8)
6398 #define as_ulong16(x) __builtin_astype((x), ulong16)
6399
6400 #define as_float(x) __builtin_astype((x),   float)
6401 #define as_float2(x) __builtin_astype((x),  float2)
6402 #define as_float3(x) __builtin_astype((x),  float3)
6403 #define as_float4(x) __builtin_astype((x),  float4)
6404 #define as_float8(x) __builtin_astype((x),  float8)
6405 #define as_float16(x) __builtin_astype((x), float16)
6406
6407 #ifdef cl_khr_fp64
6408 #define as_double(x) __builtin_astype((x),   double)
6409 #define as_double2(x) __builtin_astype((x),  double2)
6410 #define as_double3(x) __builtin_astype((x),  double3)
6411 #define as_double4(x) __builtin_astype((x),  double4)
6412 #define as_double8(x) __builtin_astype((x),  double8)
6413 #define as_double16(x) __builtin_astype((x), double16)
6414 #endif //cl_khr_fp64
6415
6416 #ifdef cl_khr_fp16
6417 #define as_half(x) __builtin_astype((x),   half)
6418 #define as_half2(x) __builtin_astype((x),  half2)
6419 #define as_half3(x) __builtin_astype((x),  half3)
6420 #define as_half4(x) __builtin_astype((x),  half4)
6421 #define as_half8(x) __builtin_astype((x),  half8)
6422 #define as_half16(x) __builtin_astype((x), half16)
6423 #endif //cl_khr_fp16
6424
6425 // OpenCL v1.1 s6.9, v1.2/2.0 s6.10 - Function qualifiers
6426
6427 #define __kernel_exec(X, typen) __kernel \
6428         __attribute__((work_group_size_hint(X, 1, 1))) \
6429         __attribute__((vec_type_hint(typen)))
6430
6431 #define kernel_exec(X, typen) __kernel \
6432         __attribute__((work_group_size_hint(X, 1, 1))) \
6433         __attribute__((vec_type_hint(typen)))
6434
6435 // OpenCL v1.1 s6.11.1, v1.2 s6.12.1, v2.0 s6.13.1 - Work-item Functions
6436
6437 /**
6438  * Returns the number of dimensions in use. This is the
6439  * value given to the work_dim argument specified in
6440  * clEnqueueNDRangeKernel.
6441  * For clEnqueueTask, this returns 1.
6442  */
6443 uint __ovld __cnfn get_work_dim(void);
6444
6445 /**
6446  * Returns the number of global work-items specified for
6447  * dimension identified by dimindx. This value is given by
6448  * the global_work_size argument to
6449  * clEnqueueNDRangeKernel. Valid values of dimindx
6450  * are 0 to get_work_dim() - 1. For other values of
6451  * dimindx, get_global_size() returns 1.
6452  * For clEnqueueTask, this always returns 1.
6453  */
6454 size_t __ovld __cnfn get_global_size(uint dimindx);
6455
6456 /**
6457  * Returns the unique global work-item ID value for
6458  * dimension identified by dimindx. The global work-item
6459  * ID specifies the work-item ID based on the number of
6460  * global work-items specified to execute the kernel. Valid
6461  * values of dimindx are 0 to get_work_dim() - 1. For
6462  * other values of dimindx, get_global_id() returns 0.
6463  * For clEnqueueTask, this returns 0.
6464  */
6465 size_t __ovld __cnfn get_global_id(uint dimindx);
6466
6467 /**
6468  * Returns the number of local work-items specified in
6469  * dimension identified by dimindx. This value is given by
6470  * the local_work_size argument to
6471  * clEnqueueNDRangeKernel if local_work_size is not
6472  * NULL; otherwise the OpenCL implementation chooses
6473  * an appropriate local_work_size value which is returned
6474  * by this function. Valid values of dimindx are 0 to
6475  * get_work_dim() - 1. For other values of dimindx,
6476  * get_local_size() returns 1.
6477  * For clEnqueueTask, this always returns 1.
6478  */
6479 size_t __ovld __cnfn get_local_size(uint dimindx);
6480
6481 /**
6482  * Returns the unique local work-item ID i.e. a work-item
6483  * within a specific work-group for dimension identified by
6484  * dimindx. Valid values of dimindx are 0 to
6485  * get_work_dim() - 1. For other values of dimindx,
6486  * get_local_id() returns 0.
6487  * For clEnqueueTask, this returns 0.
6488  */
6489 size_t __ovld __cnfn get_local_id(uint dimindx);
6490
6491 /**
6492  * Returns the number of work-groups that will execute a
6493  * kernel for dimension identified by dimindx.
6494  * Valid values of dimindx are 0 to get_work_dim() - 1.
6495  * For other values of dimindx, get_num_groups () returns
6496  * 1.
6497  * For clEnqueueTask, this always returns 1.
6498  */
6499 size_t __ovld __cnfn get_num_groups(uint dimindx);
6500
6501 /**
6502  * get_group_id returns the work-group ID which is a
6503  * number from 0 .. get_num_groups(dimindx) - 1.
6504  * Valid values of dimindx are 0 to get_work_dim() - 1.
6505  * For other values, get_group_id() returns 0.
6506  * For clEnqueueTask, this returns 0.
6507  */
6508 size_t __ovld __cnfn get_group_id(uint dimindx);
6509
6510 /**
6511  * get_global_offset returns the offset values specified in
6512  * global_work_offset argument to
6513  * clEnqueueNDRangeKernel.
6514  * Valid values of dimindx are 0 to get_work_dim() - 1.
6515  * For other values, get_global_offset() returns 0.
6516  * For clEnqueueTask, this returns 0.
6517  */
6518 size_t __ovld __cnfn get_global_offset(uint dimindx);
6519
6520 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
6521 size_t __ovld get_enqueued_local_size(uint dimindx);
6522 size_t __ovld get_global_linear_id(void);
6523 size_t __ovld get_local_linear_id(void);
6524 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
6525
6526 // OpenCL v1.1 s6.11.2, v1.2 s6.12.2, v2.0 s6.13.2 - Math functions
6527
6528 /**
6529  * Arc cosine function.
6530  */
6531 float __ovld __cnfn acos(float);
6532 float2 __ovld __cnfn acos(float2);
6533 float3 __ovld __cnfn acos(float3);
6534 float4 __ovld __cnfn acos(float4);
6535 float8 __ovld __cnfn acos(float8);
6536 float16 __ovld __cnfn acos(float16);
6537 #ifdef cl_khr_fp64
6538 double __ovld __cnfn acos(double);
6539 double2 __ovld __cnfn acos(double2);
6540 double3 __ovld __cnfn acos(double3);
6541 double4 __ovld __cnfn acos(double4);
6542 double8 __ovld __cnfn acos(double8);
6543 double16 __ovld __cnfn acos(double16);
6544 #endif //cl_khr_fp64
6545 #ifdef cl_khr_fp16
6546 half __ovld __cnfn acos(half);
6547 half2 __ovld __cnfn acos(half2);
6548 half3 __ovld __cnfn acos(half3);
6549 half4 __ovld __cnfn acos(half4);
6550 half8 __ovld __cnfn acos(half8);
6551 half16 __ovld __cnfn acos(half16);
6552 #endif //cl_khr_fp16
6553
6554 /**
6555  * Inverse hyperbolic cosine.
6556  */
6557 float __ovld __cnfn acosh(float);
6558 float2 __ovld __cnfn acosh(float2);
6559 float3 __ovld __cnfn acosh(float3);
6560 float4 __ovld __cnfn acosh(float4);
6561 float8 __ovld __cnfn acosh(float8);
6562 float16 __ovld __cnfn acosh(float16);
6563 #ifdef cl_khr_fp64
6564 double __ovld __cnfn acosh(double);
6565 double2 __ovld __cnfn acosh(double2);
6566 double3 __ovld __cnfn acosh(double3);
6567 double4 __ovld __cnfn acosh(double4);
6568 double8 __ovld __cnfn acosh(double8);
6569 double16 __ovld __cnfn acosh(double16);
6570 #endif //cl_khr_fp64
6571 #ifdef cl_khr_fp16
6572 half __ovld __cnfn acosh(half);
6573 half2 __ovld __cnfn acosh(half2);
6574 half3 __ovld __cnfn acosh(half3);
6575 half4 __ovld __cnfn acosh(half4);
6576 half8 __ovld __cnfn acosh(half8);
6577 half16 __ovld __cnfn acosh(half16);
6578 #endif //cl_khr_fp16
6579
6580 /**
6581  * Compute acos (x) / PI.
6582  */
6583 float __ovld __cnfn acospi(float x);
6584 float2 __ovld __cnfn acospi(float2 x);
6585 float3 __ovld __cnfn acospi(float3 x);
6586 float4 __ovld __cnfn acospi(float4 x);
6587 float8 __ovld __cnfn acospi(float8 x);
6588 float16 __ovld __cnfn acospi(float16 x);
6589 #ifdef cl_khr_fp64
6590 double __ovld __cnfn acospi(double x);
6591 double2 __ovld __cnfn acospi(double2 x);
6592 double3 __ovld __cnfn acospi(double3 x);
6593 double4 __ovld __cnfn acospi(double4 x);
6594 double8 __ovld __cnfn acospi(double8 x);
6595 double16 __ovld __cnfn acospi(double16 x);
6596 #endif //cl_khr_fp64
6597 #ifdef cl_khr_fp16
6598 half __ovld __cnfn acospi(half x);
6599 half2 __ovld __cnfn acospi(half2 x);
6600 half3 __ovld __cnfn acospi(half3 x);
6601 half4 __ovld __cnfn acospi(half4 x);
6602 half8 __ovld __cnfn acospi(half8 x);
6603 half16 __ovld __cnfn acospi(half16 x);
6604 #endif //cl_khr_fp16
6605
6606 /**
6607  * Arc sine function.
6608  */
6609 float __ovld __cnfn asin(float);
6610 float2 __ovld __cnfn asin(float2);
6611 float3 __ovld __cnfn asin(float3);
6612 float4 __ovld __cnfn asin(float4);
6613 float8 __ovld __cnfn asin(float8);
6614 float16 __ovld __cnfn asin(float16);
6615 #ifdef cl_khr_fp64
6616 double __ovld __cnfn asin(double);
6617 double2 __ovld __cnfn asin(double2);
6618 double3 __ovld __cnfn asin(double3);
6619 double4 __ovld __cnfn asin(double4);
6620 double8 __ovld __cnfn asin(double8);
6621 double16 __ovld __cnfn asin(double16);
6622 #endif //cl_khr_fp64
6623 #ifdef cl_khr_fp16
6624 half __ovld __cnfn asin(half);
6625 half2 __ovld __cnfn asin(half2);
6626 half3 __ovld __cnfn asin(half3);
6627 half4 __ovld __cnfn asin(half4);
6628 half8 __ovld __cnfn asin(half8);
6629 half16 __ovld __cnfn asin(half16);
6630 #endif //cl_khr_fp16
6631
6632 /**
6633  * Inverse hyperbolic sine.
6634  */
6635 float __ovld __cnfn asinh(float);
6636 float2 __ovld __cnfn asinh(float2);
6637 float3 __ovld __cnfn asinh(float3);
6638 float4 __ovld __cnfn asinh(float4);
6639 float8 __ovld __cnfn asinh(float8);
6640 float16 __ovld __cnfn asinh(float16);
6641 #ifdef cl_khr_fp64
6642 double __ovld __cnfn asinh(double);
6643 double2 __ovld __cnfn asinh(double2);
6644 double3 __ovld __cnfn asinh(double3);
6645 double4 __ovld __cnfn asinh(double4);
6646 double8 __ovld __cnfn asinh(double8);
6647 double16 __ovld __cnfn asinh(double16);
6648 #endif //cl_khr_fp64
6649 #ifdef cl_khr_fp16
6650 half __ovld __cnfn asinh(half);
6651 half2 __ovld __cnfn asinh(half2);
6652 half3 __ovld __cnfn asinh(half3);
6653 half4 __ovld __cnfn asinh(half4);
6654 half8 __ovld __cnfn asinh(half8);
6655 half16 __ovld __cnfn asinh(half16);
6656 #endif //cl_khr_fp16
6657
6658 /**
6659  * Compute asin (x) / PI.
6660  */
6661 float __ovld __cnfn asinpi(float x);
6662 float2 __ovld __cnfn asinpi(float2 x);
6663 float3 __ovld __cnfn asinpi(float3 x);
6664 float4 __ovld __cnfn asinpi(float4 x);
6665 float8 __ovld __cnfn asinpi(float8 x);
6666 float16 __ovld __cnfn asinpi(float16 x);
6667 #ifdef cl_khr_fp64
6668 double __ovld __cnfn asinpi(double x);
6669 double2 __ovld __cnfn asinpi(double2 x);
6670 double3 __ovld __cnfn asinpi(double3 x);
6671 double4 __ovld __cnfn asinpi(double4 x);
6672 double8 __ovld __cnfn asinpi(double8 x);
6673 double16 __ovld __cnfn asinpi(double16 x);
6674 #endif //cl_khr_fp64
6675 #ifdef cl_khr_fp16
6676 half __ovld __cnfn asinpi(half x);
6677 half2 __ovld __cnfn asinpi(half2 x);
6678 half3 __ovld __cnfn asinpi(half3 x);
6679 half4 __ovld __cnfn asinpi(half4 x);
6680 half8 __ovld __cnfn asinpi(half8 x);
6681 half16 __ovld __cnfn asinpi(half16 x);
6682 #endif //cl_khr_fp16
6683
6684 /**
6685  * Arc tangent function.
6686  */
6687 float __ovld __cnfn atan(float y_over_x);
6688 float2 __ovld __cnfn atan(float2 y_over_x);
6689 float3 __ovld __cnfn atan(float3 y_over_x);
6690 float4 __ovld __cnfn atan(float4 y_over_x);
6691 float8 __ovld __cnfn atan(float8 y_over_x);
6692 float16 __ovld __cnfn atan(float16 y_over_x);
6693 #ifdef cl_khr_fp64
6694 double __ovld __cnfn atan(double y_over_x);
6695 double2 __ovld __cnfn atan(double2 y_over_x);
6696 double3 __ovld __cnfn atan(double3 y_over_x);
6697 double4 __ovld __cnfn atan(double4 y_over_x);
6698 double8 __ovld __cnfn atan(double8 y_over_x);
6699 double16 __ovld __cnfn atan(double16 y_over_x);
6700 #endif //cl_khr_fp64
6701 #ifdef cl_khr_fp16
6702 half __ovld __cnfn atan(half y_over_x);
6703 half2 __ovld __cnfn atan(half2 y_over_x);
6704 half3 __ovld __cnfn atan(half3 y_over_x);
6705 half4 __ovld __cnfn atan(half4 y_over_x);
6706 half8 __ovld __cnfn atan(half8 y_over_x);
6707 half16 __ovld __cnfn atan(half16 y_over_x);
6708 #endif //cl_khr_fp16
6709
6710 /**
6711  * Arc tangent of y / x.
6712  */
6713 float __ovld __cnfn atan2(float y, float x);
6714 float2 __ovld __cnfn atan2(float2 y, float2 x);
6715 float3 __ovld __cnfn atan2(float3 y, float3 x);
6716 float4 __ovld __cnfn atan2(float4 y, float4 x);
6717 float8 __ovld __cnfn atan2(float8 y, float8 x);
6718 float16 __ovld __cnfn atan2(float16 y, float16 x);
6719 #ifdef cl_khr_fp64
6720 double __ovld __cnfn atan2(double y, double x);
6721 double2 __ovld __cnfn atan2(double2 y, double2 x);
6722 double3 __ovld __cnfn atan2(double3 y, double3 x);
6723 double4 __ovld __cnfn atan2(double4 y, double4 x);
6724 double8 __ovld __cnfn atan2(double8 y, double8 x);
6725 double16 __ovld __cnfn atan2(double16 y, double16 x);
6726 #endif //cl_khr_fp64
6727 #ifdef cl_khr_fp16
6728 half __ovld __cnfn atan2(half y, half x);
6729 half2 __ovld __cnfn atan2(half2 y, half2 x);
6730 half3 __ovld __cnfn atan2(half3 y, half3 x);
6731 half4 __ovld __cnfn atan2(half4 y, half4 x);
6732 half8 __ovld __cnfn atan2(half8 y, half8 x);
6733 half16 __ovld __cnfn atan2(half16 y, half16 x);
6734 #endif //cl_khr_fp16
6735
6736 /**
6737  * Hyperbolic arc tangent.
6738  */
6739 float __ovld __cnfn atanh(float);
6740 float2 __ovld __cnfn atanh(float2);
6741 float3 __ovld __cnfn atanh(float3);
6742 float4 __ovld __cnfn atanh(float4);
6743 float8 __ovld __cnfn atanh(float8);
6744 float16 __ovld __cnfn atanh(float16);
6745 #ifdef cl_khr_fp64
6746 double __ovld __cnfn atanh(double);
6747 double2 __ovld __cnfn atanh(double2);
6748 double3 __ovld __cnfn atanh(double3);
6749 double4 __ovld __cnfn atanh(double4);
6750 double8 __ovld __cnfn atanh(double8);
6751 double16 __ovld __cnfn atanh(double16);
6752 #endif //cl_khr_fp64
6753 #ifdef cl_khr_fp16
6754 half __ovld __cnfn atanh(half);
6755 half2 __ovld __cnfn atanh(half2);
6756 half3 __ovld __cnfn atanh(half3);
6757 half4 __ovld __cnfn atanh(half4);
6758 half8 __ovld __cnfn atanh(half8);
6759 half16 __ovld __cnfn atanh(half16);
6760 #endif //cl_khr_fp16
6761
6762 /**
6763  * Compute atan (x) / PI.
6764  */
6765 float __ovld __cnfn atanpi(float x);
6766 float2 __ovld __cnfn atanpi(float2 x);
6767 float3 __ovld __cnfn atanpi(float3 x);
6768 float4 __ovld __cnfn atanpi(float4 x);
6769 float8 __ovld __cnfn atanpi(float8 x);
6770 float16 __ovld __cnfn atanpi(float16 x);
6771 #ifdef cl_khr_fp64
6772 double __ovld __cnfn atanpi(double x);
6773 double2 __ovld __cnfn atanpi(double2 x);
6774 double3 __ovld __cnfn atanpi(double3 x);
6775 double4 __ovld __cnfn atanpi(double4 x);
6776 double8 __ovld __cnfn atanpi(double8 x);
6777 double16 __ovld __cnfn atanpi(double16 x);
6778 #endif //cl_khr_fp64
6779 #ifdef cl_khr_fp16
6780 half __ovld __cnfn atanpi(half x);
6781 half2 __ovld __cnfn atanpi(half2 x);
6782 half3 __ovld __cnfn atanpi(half3 x);
6783 half4 __ovld __cnfn atanpi(half4 x);
6784 half8 __ovld __cnfn atanpi(half8 x);
6785 half16 __ovld __cnfn atanpi(half16 x);
6786 #endif //cl_khr_fp16
6787
6788 /**
6789  * Compute atan2 (y, x) / PI.
6790  */
6791 float __ovld __cnfn atan2pi(float y, float x);
6792 float2 __ovld __cnfn atan2pi(float2 y, float2 x);
6793 float3 __ovld __cnfn atan2pi(float3 y, float3 x);
6794 float4 __ovld __cnfn atan2pi(float4 y, float4 x);
6795 float8 __ovld __cnfn atan2pi(float8 y, float8 x);
6796 float16 __ovld __cnfn atan2pi(float16 y, float16 x);
6797 #ifdef cl_khr_fp64
6798 double __ovld __cnfn atan2pi(double y, double x);
6799 double2 __ovld __cnfn atan2pi(double2 y, double2 x);
6800 double3 __ovld __cnfn atan2pi(double3 y, double3 x);
6801 double4 __ovld __cnfn atan2pi(double4 y, double4 x);
6802 double8 __ovld __cnfn atan2pi(double8 y, double8 x);
6803 double16 __ovld __cnfn atan2pi(double16 y, double16 x);
6804 #endif //cl_khr_fp64
6805 #ifdef cl_khr_fp16
6806 half __ovld __cnfn atan2pi(half y, half x);
6807 half2 __ovld __cnfn atan2pi(half2 y, half2 x);
6808 half3 __ovld __cnfn atan2pi(half3 y, half3 x);
6809 half4 __ovld __cnfn atan2pi(half4 y, half4 x);
6810 half8 __ovld __cnfn atan2pi(half8 y, half8 x);
6811 half16 __ovld __cnfn atan2pi(half16 y, half16 x);
6812 #endif //cl_khr_fp16
6813
6814 /**
6815  * Compute cube-root.
6816  */
6817 float __ovld __cnfn cbrt(float);
6818 float2 __ovld __cnfn cbrt(float2);
6819 float3 __ovld __cnfn cbrt(float3);
6820 float4 __ovld __cnfn cbrt(float4);
6821 float8 __ovld __cnfn cbrt(float8);
6822 float16 __ovld __cnfn cbrt(float16);
6823 #ifdef cl_khr_fp64
6824 double __ovld __cnfn cbrt(double);
6825 double2 __ovld __cnfn cbrt(double2);
6826 double3 __ovld __cnfn cbrt(double3);
6827 double4 __ovld __cnfn cbrt(double4);
6828 double8 __ovld __cnfn cbrt(double8);
6829 double16 __ovld __cnfn cbrt(double16);
6830 #endif //cl_khr_fp64
6831 #ifdef cl_khr_fp16
6832 half __ovld __cnfn cbrt(half);
6833 half2 __ovld __cnfn cbrt(half2);
6834 half3 __ovld __cnfn cbrt(half3);
6835 half4 __ovld __cnfn cbrt(half4);
6836 half8 __ovld __cnfn cbrt(half8);
6837 half16 __ovld __cnfn cbrt(half16);
6838 #endif //cl_khr_fp16
6839
6840 /**
6841  * Round to integral value using the round to positive
6842  * infinity rounding mode.
6843  */
6844 float __ovld __cnfn ceil(float);
6845 float2 __ovld __cnfn ceil(float2);
6846 float3 __ovld __cnfn ceil(float3);
6847 float4 __ovld __cnfn ceil(float4);
6848 float8 __ovld __cnfn ceil(float8);
6849 float16 __ovld __cnfn ceil(float16);
6850 #ifdef cl_khr_fp64
6851 double __ovld __cnfn ceil(double);
6852 double2 __ovld __cnfn ceil(double2);
6853 double3 __ovld __cnfn ceil(double3);
6854 double4 __ovld __cnfn ceil(double4);
6855 double8 __ovld __cnfn ceil(double8);
6856 double16 __ovld __cnfn ceil(double16);
6857 #endif //cl_khr_fp64
6858 #ifdef cl_khr_fp16
6859 half __ovld __cnfn ceil(half);
6860 half2 __ovld __cnfn ceil(half2);
6861 half3 __ovld __cnfn ceil(half3);
6862 half4 __ovld __cnfn ceil(half4);
6863 half8 __ovld __cnfn ceil(half8);
6864 half16 __ovld __cnfn ceil(half16);
6865 #endif //cl_khr_fp16
6866
6867 /**
6868  * Returns x with its sign changed to match the sign of y.
6869  */
6870 float __ovld __cnfn copysign(float x, float y);
6871 float2 __ovld __cnfn copysign(float2 x, float2 y);
6872 float3 __ovld __cnfn copysign(float3 x, float3 y);
6873 float4 __ovld __cnfn copysign(float4 x, float4 y);
6874 float8 __ovld __cnfn copysign(float8 x, float8 y);
6875 float16 __ovld __cnfn copysign(float16 x, float16 y);
6876 #ifdef cl_khr_fp64
6877 double __ovld __cnfn copysign(double x, double y);
6878 double2 __ovld __cnfn copysign(double2 x, double2 y);
6879 double3 __ovld __cnfn copysign(double3 x, double3 y);
6880 double4 __ovld __cnfn copysign(double4 x, double4 y);
6881 double8 __ovld __cnfn copysign(double8 x, double8 y);
6882 double16 __ovld __cnfn copysign(double16 x, double16 y);
6883 #endif //cl_khr_fp64
6884 #ifdef cl_khr_fp16
6885 half __ovld __cnfn copysign(half x, half y);
6886 half2 __ovld __cnfn copysign(half2 x, half2 y);
6887 half3 __ovld __cnfn copysign(half3 x, half3 y);
6888 half4 __ovld __cnfn copysign(half4 x, half4 y);
6889 half8 __ovld __cnfn copysign(half8 x, half8 y);
6890 half16 __ovld __cnfn copysign(half16 x, half16 y);
6891 #endif //cl_khr_fp16
6892
6893 /**
6894  * Compute cosine.
6895  */
6896 float __ovld __cnfn cos(float);
6897 float2 __ovld __cnfn cos(float2);
6898 float3 __ovld __cnfn cos(float3);
6899 float4 __ovld __cnfn cos(float4);
6900 float8 __ovld __cnfn cos(float8);
6901 float16 __ovld __cnfn cos(float16);
6902 #ifdef cl_khr_fp64
6903 double __ovld __cnfn cos(double);
6904 double2 __ovld __cnfn cos(double2);
6905 double3 __ovld __cnfn cos(double3);
6906 double4 __ovld __cnfn cos(double4);
6907 double8 __ovld __cnfn cos(double8);
6908 double16 __ovld __cnfn cos(double16);
6909 #endif //cl_khr_fp64
6910 #ifdef cl_khr_fp16
6911 half __ovld __cnfn cos(half);
6912 half2 __ovld __cnfn cos(half2);
6913 half3 __ovld __cnfn cos(half3);
6914 half4 __ovld __cnfn cos(half4);
6915 half8 __ovld __cnfn cos(half8);
6916 half16 __ovld __cnfn cos(half16);
6917 #endif //cl_khr_fp16
6918
6919 /**
6920  * Compute hyperbolic cosine.
6921  */
6922 float __ovld __cnfn cosh(float);
6923 float2 __ovld __cnfn cosh(float2);
6924 float3 __ovld __cnfn cosh(float3);
6925 float4 __ovld __cnfn cosh(float4);
6926 float8 __ovld __cnfn cosh(float8);
6927 float16 __ovld __cnfn cosh(float16);
6928 #ifdef cl_khr_fp64
6929 double __ovld __cnfn cosh(double);
6930 double2 __ovld __cnfn cosh(double2);
6931 double3 __ovld __cnfn cosh(double3);
6932 double4 __ovld __cnfn cosh(double4);
6933 double8 __ovld __cnfn cosh(double8);
6934 double16 __ovld __cnfn cosh(double16);
6935 #endif //cl_khr_fp64
6936 #ifdef cl_khr_fp16
6937 half __ovld __cnfn cosh(half);
6938 half2 __ovld __cnfn cosh(half2);
6939 half3 __ovld __cnfn cosh(half3);
6940 half4 __ovld __cnfn cosh(half4);
6941 half8 __ovld __cnfn cosh(half8);
6942 half16 __ovld __cnfn cosh(half16);
6943 #endif //cl_khr_fp16
6944
6945 /**
6946  * Compute cos (PI * x).
6947  */
6948 float __ovld __cnfn cospi(float x);
6949 float2 __ovld __cnfn cospi(float2 x);
6950 float3 __ovld __cnfn cospi(float3 x);
6951 float4 __ovld __cnfn cospi(float4 x);
6952 float8 __ovld __cnfn cospi(float8 x);
6953 float16 __ovld __cnfn cospi(float16 x);
6954 #ifdef cl_khr_fp64
6955 double __ovld __cnfn cospi(double x);
6956 double2 __ovld __cnfn cospi(double2 x);
6957 double3 __ovld __cnfn cospi(double3 x);
6958 double4 __ovld __cnfn cospi(double4 x);
6959 double8 __ovld __cnfn cospi(double8 x);
6960 double16 __ovld __cnfn cospi(double16 x);
6961 #endif //cl_khr_fp64
6962 #ifdef cl_khr_fp16
6963 half __ovld __cnfn cospi(half x);
6964 half2 __ovld __cnfn cospi(half2 x);
6965 half3 __ovld __cnfn cospi(half3 x);
6966 half4 __ovld __cnfn cospi(half4 x);
6967 half8 __ovld __cnfn cospi(half8 x);
6968 half16 __ovld __cnfn cospi(half16 x);
6969 #endif //cl_khr_fp16
6970
6971 /**
6972  * Complementary error function.
6973  */
6974 float __ovld __cnfn erfc(float);
6975 float2 __ovld __cnfn erfc(float2);
6976 float3 __ovld __cnfn erfc(float3);
6977 float4 __ovld __cnfn erfc(float4);
6978 float8 __ovld __cnfn erfc(float8);
6979 float16 __ovld __cnfn erfc(float16);
6980 #ifdef cl_khr_fp64
6981 double __ovld __cnfn erfc(double);
6982 double2 __ovld __cnfn erfc(double2);
6983 double3 __ovld __cnfn erfc(double3);
6984 double4 __ovld __cnfn erfc(double4);
6985 double8 __ovld __cnfn erfc(double8);
6986 double16 __ovld __cnfn erfc(double16);
6987 #endif //cl_khr_fp64
6988 #ifdef cl_khr_fp16
6989 half __ovld __cnfn erfc(half);
6990 half2 __ovld __cnfn erfc(half2);
6991 half3 __ovld __cnfn erfc(half3);
6992 half4 __ovld __cnfn erfc(half4);
6993 half8 __ovld __cnfn erfc(half8);
6994 half16 __ovld __cnfn erfc(half16);
6995 #endif //cl_khr_fp16
6996
6997 /**
6998  * Error function encountered in integrating the
6999  * normal distribution.
7000  */
7001 float __ovld __cnfn erf(float);
7002 float2 __ovld __cnfn erf(float2);
7003 float3 __ovld __cnfn erf(float3);
7004 float4 __ovld __cnfn erf(float4);
7005 float8 __ovld __cnfn erf(float8);
7006 float16 __ovld __cnfn erf(float16);
7007 #ifdef cl_khr_fp64
7008 double __ovld __cnfn erf(double);
7009 double2 __ovld __cnfn erf(double2);
7010 double3 __ovld __cnfn erf(double3);
7011 double4 __ovld __cnfn erf(double4);
7012 double8 __ovld __cnfn erf(double8);
7013 double16 __ovld __cnfn erf(double16);
7014 #endif //cl_khr_fp64
7015 #ifdef cl_khr_fp16
7016 half __ovld __cnfn erf(half);
7017 half2 __ovld __cnfn erf(half2);
7018 half3 __ovld __cnfn erf(half3);
7019 half4 __ovld __cnfn erf(half4);
7020 half8 __ovld __cnfn erf(half8);
7021 half16 __ovld __cnfn erf(half16);
7022 #endif //cl_khr_fp16
7023
7024 /**
7025  * Compute the base e exponential function of x.
7026  */
7027 float __ovld __cnfn exp(float x);
7028 float2 __ovld __cnfn exp(float2 x);
7029 float3 __ovld __cnfn exp(float3 x);
7030 float4 __ovld __cnfn exp(float4 x);
7031 float8 __ovld __cnfn exp(float8 x);
7032 float16 __ovld __cnfn exp(float16 x);
7033 #ifdef cl_khr_fp64
7034 double __ovld __cnfn exp(double x);
7035 double2 __ovld __cnfn exp(double2 x);
7036 double3 __ovld __cnfn exp(double3 x);
7037 double4 __ovld __cnfn exp(double4 x);
7038 double8 __ovld __cnfn exp(double8 x);
7039 double16 __ovld __cnfn exp(double16 x);
7040 #endif //cl_khr_fp64
7041 #ifdef cl_khr_fp16
7042 half __ovld __cnfn exp(half x);
7043 half2 __ovld __cnfn exp(half2 x);
7044 half3 __ovld __cnfn exp(half3 x);
7045 half4 __ovld __cnfn exp(half4 x);
7046 half8 __ovld __cnfn exp(half8 x);
7047 half16 __ovld __cnfn exp(half16 x);
7048 #endif //cl_khr_fp16
7049
7050 /**
7051  * Exponential base 2 function.
7052  */
7053 float __ovld __cnfn exp2(float);
7054 float2 __ovld __cnfn exp2(float2);
7055 float3 __ovld __cnfn exp2(float3);
7056 float4 __ovld __cnfn exp2(float4);
7057 float8 __ovld __cnfn exp2(float8);
7058 float16 __ovld __cnfn exp2(float16);
7059 #ifdef cl_khr_fp64
7060 double __ovld __cnfn exp2(double);
7061 double2 __ovld __cnfn exp2(double2);
7062 double3 __ovld __cnfn exp2(double3);
7063 double4 __ovld __cnfn exp2(double4);
7064 double8 __ovld __cnfn exp2(double8);
7065 double16 __ovld __cnfn exp2(double16);
7066 #endif //cl_khr_fp64
7067 #ifdef cl_khr_fp16
7068 half __ovld __cnfn exp2(half);
7069 half2 __ovld __cnfn exp2(half2);
7070 half3 __ovld __cnfn exp2(half3);
7071 half4 __ovld __cnfn exp2(half4);
7072 half8 __ovld __cnfn exp2(half8);
7073 half16 __ovld __cnfn exp2(half16);
7074 #endif //cl_khr_fp16
7075
7076 /**
7077  * Exponential base 10 function.
7078  */
7079 float __ovld __cnfn exp10(float);
7080 float2 __ovld __cnfn exp10(float2);
7081 float3 __ovld __cnfn exp10(float3);
7082 float4 __ovld __cnfn exp10(float4);
7083 float8 __ovld __cnfn exp10(float8);
7084 float16 __ovld __cnfn exp10(float16);
7085 #ifdef cl_khr_fp64
7086 double __ovld __cnfn exp10(double);
7087 double2 __ovld __cnfn exp10(double2);
7088 double3 __ovld __cnfn exp10(double3);
7089 double4 __ovld __cnfn exp10(double4);
7090 double8 __ovld __cnfn exp10(double8);
7091 double16 __ovld __cnfn exp10(double16);
7092 #endif //cl_khr_fp64
7093 #ifdef cl_khr_fp16
7094 half __ovld __cnfn exp10(half);
7095 half2 __ovld __cnfn exp10(half2);
7096 half3 __ovld __cnfn exp10(half3);
7097 half4 __ovld __cnfn exp10(half4);
7098 half8 __ovld __cnfn exp10(half8);
7099 half16 __ovld __cnfn exp10(half16);
7100 #endif //cl_khr_fp16
7101
7102 /**
7103  * Compute e^x- 1.0.
7104  */
7105 float __ovld __cnfn expm1(float x);
7106 float2 __ovld __cnfn expm1(float2 x);
7107 float3 __ovld __cnfn expm1(float3 x);
7108 float4 __ovld __cnfn expm1(float4 x);
7109 float8 __ovld __cnfn expm1(float8 x);
7110 float16 __ovld __cnfn expm1(float16 x);
7111 #ifdef cl_khr_fp64
7112 double __ovld __cnfn expm1(double x);
7113 double2 __ovld __cnfn expm1(double2 x);
7114 double3 __ovld __cnfn expm1(double3 x);
7115 double4 __ovld __cnfn expm1(double4 x);
7116 double8 __ovld __cnfn expm1(double8 x);
7117 double16 __ovld __cnfn expm1(double16 x);
7118 #endif //cl_khr_fp64
7119 #ifdef cl_khr_fp16
7120 half __ovld __cnfn expm1(half x);
7121 half2 __ovld __cnfn expm1(half2 x);
7122 half3 __ovld __cnfn expm1(half3 x);
7123 half4 __ovld __cnfn expm1(half4 x);
7124 half8 __ovld __cnfn expm1(half8 x);
7125 half16 __ovld __cnfn expm1(half16 x);
7126 #endif //cl_khr_fp16
7127
7128 /**
7129  * Compute absolute value of a floating-point number.
7130  */
7131 float __ovld __cnfn fabs(float);
7132 float2 __ovld __cnfn fabs(float2);
7133 float3 __ovld __cnfn fabs(float3);
7134 float4 __ovld __cnfn fabs(float4);
7135 float8 __ovld __cnfn fabs(float8);
7136 float16 __ovld __cnfn fabs(float16);
7137 #ifdef cl_khr_fp64
7138 double __ovld __cnfn fabs(double);
7139 double2 __ovld __cnfn fabs(double2);
7140 double3 __ovld __cnfn fabs(double3);
7141 double4 __ovld __cnfn fabs(double4);
7142 double8 __ovld __cnfn fabs(double8);
7143 double16 __ovld __cnfn fabs(double16);
7144 #endif //cl_khr_fp64
7145 #ifdef cl_khr_fp16
7146 half __ovld __cnfn fabs(half);
7147 half2 __ovld __cnfn fabs(half2);
7148 half3 __ovld __cnfn fabs(half3);
7149 half4 __ovld __cnfn fabs(half4);
7150 half8 __ovld __cnfn fabs(half8);
7151 half16 __ovld __cnfn fabs(half16);
7152 #endif //cl_khr_fp16
7153
7154 /**
7155  * x - y if x > y, +0 if x is less than or equal to y.
7156  */
7157 float __ovld __cnfn fdim(float x, float y);
7158 float2 __ovld __cnfn fdim(float2 x, float2 y);
7159 float3 __ovld __cnfn fdim(float3 x, float3 y);
7160 float4 __ovld __cnfn fdim(float4 x, float4 y);
7161 float8 __ovld __cnfn fdim(float8 x, float8 y);
7162 float16 __ovld __cnfn fdim(float16 x, float16 y);
7163 #ifdef cl_khr_fp64
7164 double __ovld __cnfn fdim(double x, double y);
7165 double2 __ovld __cnfn fdim(double2 x, double2 y);
7166 double3 __ovld __cnfn fdim(double3 x, double3 y);
7167 double4 __ovld __cnfn fdim(double4 x, double4 y);
7168 double8 __ovld __cnfn fdim(double8 x, double8 y);
7169 double16 __ovld __cnfn fdim(double16 x, double16 y);
7170 #endif //cl_khr_fp64
7171 #ifdef cl_khr_fp16
7172 half __ovld __cnfn fdim(half x, half y);
7173 half2 __ovld __cnfn fdim(half2 x, half2 y);
7174 half3 __ovld __cnfn fdim(half3 x, half3 y);
7175 half4 __ovld __cnfn fdim(half4 x, half4 y);
7176 half8 __ovld __cnfn fdim(half8 x, half8 y);
7177 half16 __ovld __cnfn fdim(half16 x, half16 y);
7178 #endif //cl_khr_fp16
7179
7180 /**
7181  * Round to integral value using the round to -ve
7182  * infinity rounding mode.
7183  */
7184 float __ovld __cnfn floor(float);
7185 float2 __ovld __cnfn floor(float2);
7186 float3 __ovld __cnfn floor(float3);
7187 float4 __ovld __cnfn floor(float4);
7188 float8 __ovld __cnfn floor(float8);
7189 float16 __ovld __cnfn floor(float16);
7190 #ifdef cl_khr_fp64
7191 double __ovld __cnfn floor(double);
7192 double2 __ovld __cnfn floor(double2);
7193 double3 __ovld __cnfn floor(double3);
7194 double4 __ovld __cnfn floor(double4);
7195 double8 __ovld __cnfn floor(double8);
7196 double16 __ovld __cnfn floor(double16);
7197 #endif //cl_khr_fp64
7198 #ifdef cl_khr_fp16
7199 half __ovld __cnfn floor(half);
7200 half2 __ovld __cnfn floor(half2);
7201 half3 __ovld __cnfn floor(half3);
7202 half4 __ovld __cnfn floor(half4);
7203 half8 __ovld __cnfn floor(half8);
7204 half16 __ovld __cnfn floor(half16);
7205 #endif //cl_khr_fp16
7206
7207 /**
7208  * Returns the correctly rounded floating-point
7209  * representation of the sum of c with the infinitely
7210  * precise product of a and b. Rounding of
7211  * intermediate products shall not occur. Edge case
7212  * behavior is per the IEEE 754-2008 standard.
7213  */
7214 float __ovld __cnfn fma(float a, float b, float c);
7215 float2 __ovld __cnfn fma(float2 a, float2 b, float2 c);
7216 float3 __ovld __cnfn fma(float3 a, float3 b, float3 c);
7217 float4 __ovld __cnfn fma(float4 a, float4 b, float4 c);
7218 float8 __ovld __cnfn fma(float8 a, float8 b, float8 c);
7219 float16 __ovld __cnfn fma(float16 a, float16 b, float16 c);
7220 #ifdef cl_khr_fp64
7221 double __ovld __cnfn fma(double a, double b, double c);
7222 double2 __ovld __cnfn fma(double2 a, double2 b, double2 c);
7223 double3 __ovld __cnfn fma(double3 a, double3 b, double3 c);
7224 double4 __ovld __cnfn fma(double4 a, double4 b, double4 c);
7225 double8 __ovld __cnfn fma(double8 a, double8 b, double8 c);
7226 double16 __ovld __cnfn fma(double16 a, double16 b, double16 c);
7227 #endif //cl_khr_fp64
7228 #ifdef cl_khr_fp16
7229 half __ovld __cnfn fma(half a, half b, half c);
7230 half2 __ovld __cnfn fma(half2 a, half2 b, half2 c);
7231 half3 __ovld __cnfn fma(half3 a, half3 b, half3 c);
7232 half4 __ovld __cnfn fma(half4 a, half4 b, half4 c);
7233 half8 __ovld __cnfn fma(half8 a, half8 b, half8 c);
7234 half16 __ovld __cnfn fma(half16 a, half16 b, half16 c);
7235 #endif //cl_khr_fp16
7236
7237 /**
7238  * Returns y if x < y, otherwise it returns x. If one
7239  * argument is a NaN, fmax() returns the other
7240  * argument. If both arguments are NaNs, fmax()
7241  * returns a NaN.
7242  */
7243 float __ovld __cnfn fmax(float x, float y);
7244 float2 __ovld __cnfn fmax(float2 x, float2 y);
7245 float3 __ovld __cnfn fmax(float3 x, float3 y);
7246 float4 __ovld __cnfn fmax(float4 x, float4 y);
7247 float8 __ovld __cnfn fmax(float8 x, float8 y);
7248 float16 __ovld __cnfn fmax(float16 x, float16 y);
7249 float2 __ovld __cnfn fmax(float2 x, float y);
7250 float3 __ovld __cnfn fmax(float3 x, float y);
7251 float4 __ovld __cnfn fmax(float4 x, float y);
7252 float8 __ovld __cnfn fmax(float8 x, float y);
7253 float16 __ovld __cnfn fmax(float16 x, float y);
7254 #ifdef cl_khr_fp64
7255 double __ovld __cnfn fmax(double x, double y);
7256 double2 __ovld __cnfn fmax(double2 x, double2 y);
7257 double3 __ovld __cnfn fmax(double3 x, double3 y);
7258 double4 __ovld __cnfn fmax(double4 x, double4 y);
7259 double8 __ovld __cnfn fmax(double8 x, double8 y);
7260 double16 __ovld __cnfn fmax(double16 x, double16 y);
7261 double2 __ovld __cnfn fmax(double2 x, double y);
7262 double3 __ovld __cnfn fmax(double3 x, double y);
7263 double4 __ovld __cnfn fmax(double4 x, double y);
7264 double8 __ovld __cnfn fmax(double8 x, double y);
7265 double16 __ovld __cnfn fmax(double16 x, double y);
7266 #endif //cl_khr_fp64
7267 #ifdef cl_khr_fp16
7268 half __ovld __cnfn fmax(half x, half y);
7269 half2 __ovld __cnfn fmax(half2 x, half2 y);
7270 half3 __ovld __cnfn fmax(half3 x, half3 y);
7271 half4 __ovld __cnfn fmax(half4 x, half4 y);
7272 half8 __ovld __cnfn fmax(half8 x, half8 y);
7273 half16 __ovld __cnfn fmax(half16 x, half16 y);
7274 half2 __ovld __cnfn fmax(half2 x, half y);
7275 half3 __ovld __cnfn fmax(half3 x, half y);
7276 half4 __ovld __cnfn fmax(half4 x, half y);
7277 half8 __ovld __cnfn fmax(half8 x, half y);
7278 half16 __ovld __cnfn fmax(half16 x, half y);
7279 #endif //cl_khr_fp16
7280
7281 /**
7282  * Returns y if y < x, otherwise it returns x. If one
7283  * argument is a NaN, fmin() returns the other
7284  * argument. If both arguments are NaNs, fmin()
7285  * returns a NaN.
7286  */
7287 float __ovld __cnfn fmin(float x, float y);
7288 float2 __ovld __cnfn fmin(float2 x, float2 y);
7289 float3 __ovld __cnfn fmin(float3 x, float3 y);
7290 float4 __ovld __cnfn fmin(float4 x, float4 y);
7291 float8 __ovld __cnfn fmin(float8 x, float8 y);
7292 float16 __ovld __cnfn fmin(float16 x, float16 y);
7293 float2 __ovld __cnfn fmin(float2 x, float y);
7294 float3 __ovld __cnfn fmin(float3 x, float y);
7295 float4 __ovld __cnfn fmin(float4 x, float y);
7296 float8 __ovld __cnfn fmin(float8 x, float y);
7297 float16 __ovld __cnfn fmin(float16 x, float y);
7298 #ifdef cl_khr_fp64
7299 double __ovld __cnfn fmin(double x, double y);
7300 double2 __ovld __cnfn fmin(double2 x, double2 y);
7301 double3 __ovld __cnfn fmin(double3 x, double3 y);
7302 double4 __ovld __cnfn fmin(double4 x, double4 y);
7303 double8 __ovld __cnfn fmin(double8 x, double8 y);
7304 double16 __ovld __cnfn fmin(double16 x, double16 y);
7305 double2 __ovld __cnfn fmin(double2 x, double y);
7306 double3 __ovld __cnfn fmin(double3 x, double y);
7307 double4 __ovld __cnfn fmin(double4 x, double y);
7308 double8 __ovld __cnfn fmin(double8 x, double y);
7309 double16 __ovld __cnfn fmin(double16 x, double y);
7310 #endif //cl_khr_fp64
7311 #ifdef cl_khr_fp16
7312 half __ovld __cnfn fmin(half x, half y);
7313 half2 __ovld __cnfn fmin(half2 x, half2 y);
7314 half3 __ovld __cnfn fmin(half3 x, half3 y);
7315 half4 __ovld __cnfn fmin(half4 x, half4 y);
7316 half8 __ovld __cnfn fmin(half8 x, half8 y);
7317 half16 __ovld __cnfn fmin(half16 x, half16 y);
7318 half2 __ovld __cnfn fmin(half2 x, half y);
7319 half3 __ovld __cnfn fmin(half3 x, half y);
7320 half4 __ovld __cnfn fmin(half4 x, half y);
7321 half8 __ovld __cnfn fmin(half8 x, half y);
7322 half16 __ovld __cnfn fmin(half16 x, half y);
7323 #endif //cl_khr_fp16
7324
7325 /**
7326  * Modulus. Returns x - y * trunc (x/y).
7327  */
7328 float __ovld __cnfn fmod(float x, float y);
7329 float2 __ovld __cnfn fmod(float2 x, float2 y);
7330 float3 __ovld __cnfn fmod(float3 x, float3 y);
7331 float4 __ovld __cnfn fmod(float4 x, float4 y);
7332 float8 __ovld __cnfn fmod(float8 x, float8 y);
7333 float16 __ovld __cnfn fmod(float16 x, float16 y);
7334 #ifdef cl_khr_fp64
7335 double __ovld __cnfn fmod(double x, double y);
7336 double2 __ovld __cnfn fmod(double2 x, double2 y);
7337 double3 __ovld __cnfn fmod(double3 x, double3 y);
7338 double4 __ovld __cnfn fmod(double4 x, double4 y);
7339 double8 __ovld __cnfn fmod(double8 x, double8 y);
7340 double16 __ovld __cnfn fmod(double16 x, double16 y);
7341 #endif //cl_khr_fp64
7342 #ifdef cl_khr_fp16
7343 half __ovld __cnfn fmod(half x, half y);
7344 half2 __ovld __cnfn fmod(half2 x, half2 y);
7345 half3 __ovld __cnfn fmod(half3 x, half3 y);
7346 half4 __ovld __cnfn fmod(half4 x, half4 y);
7347 half8 __ovld __cnfn fmod(half8 x, half8 y);
7348 half16 __ovld __cnfn fmod(half16 x, half16 y);
7349 #endif //cl_khr_fp16
7350
7351 /**
7352  * Returns fmin(x - floor (x), 0x1.fffffep-1f ).
7353  * floor(x) is returned in iptr.
7354  */
7355 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7356 float __ovld fract(float x, float *iptr);
7357 float2 __ovld fract(float2 x, float2 *iptr);
7358 float3 __ovld fract(float3 x, float3 *iptr);
7359 float4 __ovld fract(float4 x, float4 *iptr);
7360 float8 __ovld fract(float8 x, float8 *iptr);
7361 float16 __ovld fract(float16 x, float16 *iptr);
7362 #ifdef cl_khr_fp64
7363 double __ovld fract(double x, double *iptr);
7364 double2 __ovld fract(double2 x, double2 *iptr);
7365 double3 __ovld fract(double3 x, double3 *iptr);
7366 double4 __ovld fract(double4 x, double4 *iptr);
7367 double8 __ovld fract(double8 x, double8 *iptr);
7368 double16 __ovld fract(double16 x, double16 *iptr);
7369 #endif //cl_khr_fp64
7370 #ifdef cl_khr_fp16
7371 half __ovld fract(half x, half *iptr);
7372 half2 __ovld fract(half2 x, half2 *iptr);
7373 half3 __ovld fract(half3 x, half3 *iptr);
7374 half4 __ovld fract(half4 x, half4 *iptr);
7375 half8 __ovld fract(half8 x, half8 *iptr);
7376 half16 __ovld fract(half16 x, half16 *iptr);
7377 #endif //cl_khr_fp16
7378 #else
7379 float __ovld fract(float x, __global float *iptr);
7380 float2 __ovld fract(float2 x, __global float2 *iptr);
7381 float3 __ovld fract(float3 x, __global float3 *iptr);
7382 float4 __ovld fract(float4 x, __global float4 *iptr);
7383 float8 __ovld fract(float8 x, __global float8 *iptr);
7384 float16 __ovld fract(float16 x, __global float16 *iptr);
7385 float __ovld fract(float x, __local float *iptr);
7386 float2 __ovld fract(float2 x, __local float2 *iptr);
7387 float3 __ovld fract(float3 x, __local float3 *iptr);
7388 float4 __ovld fract(float4 x, __local float4 *iptr);
7389 float8 __ovld fract(float8 x, __local float8 *iptr);
7390 float16 __ovld fract(float16 x, __local float16 *iptr);
7391 float __ovld fract(float x, __private float *iptr);
7392 float2 __ovld fract(float2 x, __private float2 *iptr);
7393 float3 __ovld fract(float3 x, __private float3 *iptr);
7394 float4 __ovld fract(float4 x, __private float4 *iptr);
7395 float8 __ovld fract(float8 x, __private float8 *iptr);
7396 float16 __ovld fract(float16 x, __private float16 *iptr);
7397 #ifdef cl_khr_fp64
7398 double __ovld fract(double x, __global double *iptr);
7399 double2 __ovld fract(double2 x, __global double2 *iptr);
7400 double3 __ovld fract(double3 x, __global double3 *iptr);
7401 double4 __ovld fract(double4 x, __global double4 *iptr);
7402 double8 __ovld fract(double8 x, __global double8 *iptr);
7403 double16 __ovld fract(double16 x, __global double16 *iptr);
7404 double __ovld fract(double x, __local double *iptr);
7405 double2 __ovld fract(double2 x, __local double2 *iptr);
7406 double3 __ovld fract(double3 x, __local double3 *iptr);
7407 double4 __ovld fract(double4 x, __local double4 *iptr);
7408 double8 __ovld fract(double8 x, __local double8 *iptr);
7409 double16 __ovld fract(double16 x, __local double16 *iptr);
7410 double __ovld fract(double x, __private double *iptr);
7411 double2 __ovld fract(double2 x, __private double2 *iptr);
7412 double3 __ovld fract(double3 x, __private double3 *iptr);
7413 double4 __ovld fract(double4 x, __private double4 *iptr);
7414 double8 __ovld fract(double8 x, __private double8 *iptr);
7415 double16 __ovld fract(double16 x, __private double16 *iptr);
7416 #endif //cl_khr_fp64
7417 #ifdef cl_khr_fp16
7418 half __ovld fract(half x, __global half *iptr);
7419 half2 __ovld fract(half2 x, __global half2 *iptr);
7420 half3 __ovld fract(half3 x, __global half3 *iptr);
7421 half4 __ovld fract(half4 x, __global half4 *iptr);
7422 half8 __ovld fract(half8 x, __global half8 *iptr);
7423 half16 __ovld fract(half16 x, __global half16 *iptr);
7424 half __ovld fract(half x, __local half *iptr);
7425 half2 __ovld fract(half2 x, __local half2 *iptr);
7426 half3 __ovld fract(half3 x, __local half3 *iptr);
7427 half4 __ovld fract(half4 x, __local half4 *iptr);
7428 half8 __ovld fract(half8 x, __local half8 *iptr);
7429 half16 __ovld fract(half16 x, __local half16 *iptr);
7430 half __ovld fract(half x, __private half *iptr);
7431 half2 __ovld fract(half2 x, __private half2 *iptr);
7432 half3 __ovld fract(half3 x, __private half3 *iptr);
7433 half4 __ovld fract(half4 x, __private half4 *iptr);
7434 half8 __ovld fract(half8 x, __private half8 *iptr);
7435 half16 __ovld fract(half16 x, __private half16 *iptr);
7436 #endif //cl_khr_fp16
7437 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7438
7439 /**
7440  * Extract mantissa and exponent from x. For each
7441  * component the mantissa returned is a float with
7442  * magnitude in the interval [1/2, 1) or 0. Each
7443  * component of x equals mantissa returned * 2^exp.
7444  */
7445 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7446 float __ovld frexp(float x, int *exp);
7447 float2 __ovld frexp(float2 x, int2 *exp);
7448 float3 __ovld frexp(float3 x, int3 *exp);
7449 float4 __ovld frexp(float4 x, int4 *exp);
7450 float8 __ovld frexp(float8 x, int8 *exp);
7451 float16 __ovld frexp(float16 x, int16 *exp);
7452 #ifdef cl_khr_fp64
7453 double __ovld frexp(double x, int *exp);
7454 double2 __ovld frexp(double2 x, int2 *exp);
7455 double3 __ovld frexp(double3 x, int3 *exp);
7456 double4 __ovld frexp(double4 x, int4 *exp);
7457 double8 __ovld frexp(double8 x, int8 *exp);
7458 double16 __ovld frexp(double16 x, int16 *exp);
7459 #endif //cl_khr_fp64
7460 #ifdef cl_khr_fp16
7461 half __ovld frexp(half x, int *exp);
7462 half2 __ovld frexp(half2 x, int2 *exp);
7463 half3 __ovld frexp(half3 x, int3 *exp);
7464 half4 __ovld frexp(half4 x, int4 *exp);
7465 half8 __ovld frexp(half8 x, int8 *exp);
7466 half16 __ovld frexp(half16 x, int16 *exp);
7467 #endif //cl_khr_fp16
7468 #else
7469 float __ovld frexp(float x, __global int *exp);
7470 float2 __ovld frexp(float2 x, __global int2 *exp);
7471 float3 __ovld frexp(float3 x, __global int3 *exp);
7472 float4 __ovld frexp(float4 x, __global int4 *exp);
7473 float8 __ovld frexp(float8 x, __global int8 *exp);
7474 float16 __ovld frexp(float16 x, __global int16 *exp);
7475 float __ovld frexp(float x, __local int *exp);
7476 float2 __ovld frexp(float2 x, __local int2 *exp);
7477 float3 __ovld frexp(float3 x, __local int3 *exp);
7478 float4 __ovld frexp(float4 x, __local int4 *exp);
7479 float8 __ovld frexp(float8 x, __local int8 *exp);
7480 float16 __ovld frexp(float16 x, __local int16 *exp);
7481 float __ovld frexp(float x, __private int *exp);
7482 float2 __ovld frexp(float2 x, __private int2 *exp);
7483 float3 __ovld frexp(float3 x, __private int3 *exp);
7484 float4 __ovld frexp(float4 x, __private int4 *exp);
7485 float8 __ovld frexp(float8 x, __private int8 *exp);
7486 float16 __ovld frexp(float16 x, __private int16 *exp);
7487 #ifdef cl_khr_fp64
7488 double __ovld frexp(double x, __global int *exp);
7489 double2 __ovld frexp(double2 x, __global int2 *exp);
7490 double3 __ovld frexp(double3 x, __global int3 *exp);
7491 double4 __ovld frexp(double4 x, __global int4 *exp);
7492 double8 __ovld frexp(double8 x, __global int8 *exp);
7493 double16 __ovld frexp(double16 x, __global int16 *exp);
7494 double __ovld frexp(double x, __local int *exp);
7495 double2 __ovld frexp(double2 x, __local int2 *exp);
7496 double3 __ovld frexp(double3 x, __local int3 *exp);
7497 double4 __ovld frexp(double4 x, __local int4 *exp);
7498 double8 __ovld frexp(double8 x, __local int8 *exp);
7499 double16 __ovld frexp(double16 x, __local int16 *exp);
7500 double __ovld frexp(double x, __private int *exp);
7501 double2 __ovld frexp(double2 x, __private int2 *exp);
7502 double3 __ovld frexp(double3 x, __private int3 *exp);
7503 double4 __ovld frexp(double4 x, __private int4 *exp);
7504 double8 __ovld frexp(double8 x, __private int8 *exp);
7505 double16 __ovld frexp(double16 x, __private int16 *exp);
7506 #endif //cl_khr_fp64
7507 #ifdef cl_khr_fp16
7508 half __ovld frexp(half x, __global int *exp);
7509 half2 __ovld frexp(half2 x, __global int2 *exp);
7510 half3 __ovld frexp(half3 x, __global int3 *exp);
7511 half4 __ovld frexp(half4 x, __global int4 *exp);
7512 half8 __ovld frexp(half8 x, __global int8 *exp);
7513 half16 __ovld frexp(half16 x, __global int16 *exp);
7514 half __ovld frexp(half x, __local int *exp);
7515 half2 __ovld frexp(half2 x, __local int2 *exp);
7516 half3 __ovld frexp(half3 x, __local int3 *exp);
7517 half4 __ovld frexp(half4 x, __local int4 *exp);
7518 half8 __ovld frexp(half8 x, __local int8 *exp);
7519 half16 __ovld frexp(half16 x, __local int16 *exp);
7520 half __ovld frexp(half x, __private int *exp);
7521 half2 __ovld frexp(half2 x, __private int2 *exp);
7522 half3 __ovld frexp(half3 x, __private int3 *exp);
7523 half4 __ovld frexp(half4 x, __private int4 *exp);
7524 half8 __ovld frexp(half8 x, __private int8 *exp);
7525 half16 __ovld frexp(half16 x, __private int16 *exp);
7526 #endif //cl_khr_fp16
7527 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7528
7529 /**
7530  * Compute the value of the square root of x^2 + y^2
7531  * without undue overflow or underflow.
7532  */
7533 float __ovld __cnfn hypot(float x, float y);
7534 float2 __ovld __cnfn hypot(float2 x, float2 y);
7535 float3 __ovld __cnfn hypot(float3 x, float3 y);
7536 float4 __ovld __cnfn hypot(float4 x, float4 y);
7537 float8 __ovld __cnfn hypot(float8 x, float8 y);
7538 float16 __ovld __cnfn hypot(float16 x, float16 y);
7539 #ifdef cl_khr_fp64
7540 double __ovld __cnfn hypot(double x, double y);
7541 double2 __ovld __cnfn hypot(double2 x, double2 y);
7542 double3 __ovld __cnfn hypot(double3 x, double3 y);
7543 double4 __ovld __cnfn hypot(double4 x, double4 y);
7544 double8 __ovld __cnfn hypot(double8 x, double8 y);
7545 double16 __ovld __cnfn hypot(double16 x, double16 y);
7546 #endif //cl_khr_fp64
7547 #ifdef cl_khr_fp16
7548 half __ovld __cnfn hypot(half x, half y);
7549 half2 __ovld __cnfn hypot(half2 x, half2 y);
7550 half3 __ovld __cnfn hypot(half3 x, half3 y);
7551 half4 __ovld __cnfn hypot(half4 x, half4 y);
7552 half8 __ovld __cnfn hypot(half8 x, half8 y);
7553 half16 __ovld __cnfn hypot(half16 x, half16 y);
7554 #endif //cl_khr_fp16
7555
7556 /**
7557  * Return the exponent as an integer value.
7558  */
7559 int __ovld __cnfn ilogb(float x);
7560 int2 __ovld __cnfn ilogb(float2 x);
7561 int3 __ovld __cnfn ilogb(float3 x);
7562 int4 __ovld __cnfn ilogb(float4 x);
7563 int8 __ovld __cnfn ilogb(float8 x);
7564 int16 __ovld __cnfn ilogb(float16 x);
7565 #ifdef cl_khr_fp64
7566 int __ovld __cnfn ilogb(double x);
7567 int2 __ovld __cnfn ilogb(double2 x);
7568 int3 __ovld __cnfn ilogb(double3 x);
7569 int4 __ovld __cnfn ilogb(double4 x);
7570 int8 __ovld __cnfn ilogb(double8 x);
7571 int16 __ovld __cnfn ilogb(double16 x);
7572 #endif //cl_khr_fp64
7573 #ifdef cl_khr_fp16
7574 int __ovld __cnfn ilogb(half x);
7575 int2 __ovld __cnfn ilogb(half2 x);
7576 int3 __ovld __cnfn ilogb(half3 x);
7577 int4 __ovld __cnfn ilogb(half4 x);
7578 int8 __ovld __cnfn ilogb(half8 x);
7579 int16 __ovld __cnfn ilogb(half16 x);
7580 #endif //cl_khr_fp16
7581
7582 /**
7583  * Multiply x by 2 to the power n.
7584  */
7585 float __ovld __cnfn ldexp(float x, int n);
7586 float2 __ovld __cnfn ldexp(float2 x, int2 n);
7587 float3 __ovld __cnfn ldexp(float3 x, int3 n);
7588 float4 __ovld __cnfn ldexp(float4 x, int4 n);
7589 float8 __ovld __cnfn ldexp(float8 x, int8 n);
7590 float16 __ovld __cnfn ldexp(float16 x, int16 n);
7591 float2 __ovld __cnfn ldexp(float2 x, int n);
7592 float3 __ovld __cnfn ldexp(float3 x, int n);
7593 float4 __ovld __cnfn ldexp(float4 x, int n);
7594 float8 __ovld __cnfn ldexp(float8 x, int n);
7595 float16 __ovld __cnfn ldexp(float16 x, int n);
7596 #ifdef cl_khr_fp64
7597 double __ovld __cnfn ldexp(double x, int n);
7598 double2 __ovld __cnfn ldexp(double2 x, int2 n);
7599 double3 __ovld __cnfn ldexp(double3 x, int3 n);
7600 double4 __ovld __cnfn ldexp(double4 x, int4 n);
7601 double8 __ovld __cnfn ldexp(double8 x, int8 n);
7602 double16 __ovld __cnfn ldexp(double16 x, int16 n);
7603 double2 __ovld __cnfn ldexp(double2 x, int n);
7604 double3 __ovld __cnfn ldexp(double3 x, int n);
7605 double4 __ovld __cnfn ldexp(double4 x, int n);
7606 double8 __ovld __cnfn ldexp(double8 x, int n);
7607 double16 __ovld __cnfn ldexp(double16 x, int n);
7608 #endif //cl_khr_fp64
7609 #ifdef cl_khr_fp16
7610 half __ovld __cnfn ldexp(half x, int n);
7611 half2 __ovld __cnfn ldexp(half2 x, int2 n);
7612 half3 __ovld __cnfn ldexp(half3 x, int3 n);
7613 half4 __ovld __cnfn ldexp(half4 x, int4 n);
7614 half8 __ovld __cnfn ldexp(half8 x, int8 n);
7615 half16 __ovld __cnfn ldexp(half16 x, int16 n);
7616 half2 __ovld __cnfn ldexp(half2 x, int n);
7617 half3 __ovld __cnfn ldexp(half3 x, int n);
7618 half4 __ovld __cnfn ldexp(half4 x, int n);
7619 half8 __ovld __cnfn ldexp(half8 x, int n);
7620 half16 __ovld __cnfn ldexp(half16 x, int n);
7621 #endif //cl_khr_fp16
7622
7623 /**
7624  * Log gamma function. Returns the natural
7625  * logarithm of the absolute value of the gamma
7626  * function. The sign of the gamma function is
7627  * returned in the signp argument of lgamma_r.
7628  */
7629 float __ovld __cnfn lgamma(float x);
7630 float2 __ovld __cnfn lgamma(float2 x);
7631 float3 __ovld __cnfn lgamma(float3 x);
7632 float4 __ovld __cnfn lgamma(float4 x);
7633 float8 __ovld __cnfn lgamma(float8 x);
7634 float16 __ovld __cnfn lgamma(float16 x);
7635 #ifdef cl_khr_fp64
7636 double __ovld __cnfn lgamma(double x);
7637 double2 __ovld __cnfn lgamma(double2 x);
7638 double3 __ovld __cnfn lgamma(double3 x);
7639 double4 __ovld __cnfn lgamma(double4 x);
7640 double8 __ovld __cnfn lgamma(double8 x);
7641 double16 __ovld __cnfn lgamma(double16 x);
7642 #endif //cl_khr_fp64
7643 #ifdef cl_khr_fp16
7644 half __ovld __cnfn lgamma(half x);
7645 half2 __ovld __cnfn lgamma(half2 x);
7646 half3 __ovld __cnfn lgamma(half3 x);
7647 half4 __ovld __cnfn lgamma(half4 x);
7648 half8 __ovld __cnfn lgamma(half8 x);
7649 half16 __ovld __cnfn lgamma(half16 x);
7650 #endif //cl_khr_fp16
7651
7652 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7653 float __ovld lgamma_r(float x, int *signp);
7654 float2 __ovld lgamma_r(float2 x, int2 *signp);
7655 float3 __ovld lgamma_r(float3 x, int3 *signp);
7656 float4 __ovld lgamma_r(float4 x, int4 *signp);
7657 float8 __ovld lgamma_r(float8 x, int8 *signp);
7658 float16 __ovld lgamma_r(float16 x, int16 *signp);
7659 #ifdef cl_khr_fp64
7660 double __ovld lgamma_r(double x, int *signp);
7661 double2 __ovld lgamma_r(double2 x, int2 *signp);
7662 double3 __ovld lgamma_r(double3 x, int3 *signp);
7663 double4 __ovld lgamma_r(double4 x, int4 *signp);
7664 double8 __ovld lgamma_r(double8 x, int8 *signp);
7665 double16 __ovld lgamma_r(double16 x, int16 *signp);
7666 #endif //cl_khr_fp64
7667 #ifdef cl_khr_fp16
7668 half __ovld lgamma_r(half x, int *signp);
7669 half2 __ovld lgamma_r(half2 x, int2 *signp);
7670 half3 __ovld lgamma_r(half3 x, int3 *signp);
7671 half4 __ovld lgamma_r(half4 x, int4 *signp);
7672 half8 __ovld lgamma_r(half8 x, int8 *signp);
7673 half16 __ovld lgamma_r(half16 x, int16 *signp);
7674 #endif //cl_khr_fp16
7675 #else
7676 float __ovld lgamma_r(float x, __global int *signp);
7677 float2 __ovld lgamma_r(float2 x, __global int2 *signp);
7678 float3 __ovld lgamma_r(float3 x, __global int3 *signp);
7679 float4 __ovld lgamma_r(float4 x, __global int4 *signp);
7680 float8 __ovld lgamma_r(float8 x, __global int8 *signp);
7681 float16 __ovld lgamma_r(float16 x, __global int16 *signp);
7682 float __ovld lgamma_r(float x, __local int *signp);
7683 float2 __ovld lgamma_r(float2 x, __local int2 *signp);
7684 float3 __ovld lgamma_r(float3 x, __local int3 *signp);
7685 float4 __ovld lgamma_r(float4 x, __local int4 *signp);
7686 float8 __ovld lgamma_r(float8 x, __local int8 *signp);
7687 float16 __ovld lgamma_r(float16 x, __local int16 *signp);
7688 float __ovld lgamma_r(float x, __private int *signp);
7689 float2 __ovld lgamma_r(float2 x, __private int2 *signp);
7690 float3 __ovld lgamma_r(float3 x, __private int3 *signp);
7691 float4 __ovld lgamma_r(float4 x, __private int4 *signp);
7692 float8 __ovld lgamma_r(float8 x, __private int8 *signp);
7693 float16 __ovld lgamma_r(float16 x, __private int16 *signp);
7694 #ifdef cl_khr_fp64
7695 double __ovld lgamma_r(double x, __global int *signp);
7696 double2 __ovld lgamma_r(double2 x, __global int2 *signp);
7697 double3 __ovld lgamma_r(double3 x, __global int3 *signp);
7698 double4 __ovld lgamma_r(double4 x, __global int4 *signp);
7699 double8 __ovld lgamma_r(double8 x, __global int8 *signp);
7700 double16 __ovld lgamma_r(double16 x, __global int16 *signp);
7701 double __ovld lgamma_r(double x, __local int *signp);
7702 double2 __ovld lgamma_r(double2 x, __local int2 *signp);
7703 double3 __ovld lgamma_r(double3 x, __local int3 *signp);
7704 double4 __ovld lgamma_r(double4 x, __local int4 *signp);
7705 double8 __ovld lgamma_r(double8 x, __local int8 *signp);
7706 double16 __ovld lgamma_r(double16 x, __local int16 *signp);
7707 double __ovld lgamma_r(double x, __private int *signp);
7708 double2 __ovld lgamma_r(double2 x, __private int2 *signp);
7709 double3 __ovld lgamma_r(double3 x, __private int3 *signp);
7710 double4 __ovld lgamma_r(double4 x, __private int4 *signp);
7711 double8 __ovld lgamma_r(double8 x, __private int8 *signp);
7712 double16 __ovld lgamma_r(double16 x, __private int16 *signp);
7713 #endif //cl_khr_fp64
7714 #ifdef cl_khr_fp16
7715 half __ovld lgamma_r(half x, __global int *signp);
7716 half2 __ovld lgamma_r(half2 x, __global int2 *signp);
7717 half3 __ovld lgamma_r(half3 x, __global int3 *signp);
7718 half4 __ovld lgamma_r(half4 x, __global int4 *signp);
7719 half8 __ovld lgamma_r(half8 x, __global int8 *signp);
7720 half16 __ovld lgamma_r(half16 x, __global int16 *signp);
7721 half __ovld lgamma_r(half x, __local int *signp);
7722 half2 __ovld lgamma_r(half2 x, __local int2 *signp);
7723 half3 __ovld lgamma_r(half3 x, __local int3 *signp);
7724 half4 __ovld lgamma_r(half4 x, __local int4 *signp);
7725 half8 __ovld lgamma_r(half8 x, __local int8 *signp);
7726 half16 __ovld lgamma_r(half16 x, __local int16 *signp);
7727 half __ovld lgamma_r(half x, __private int *signp);
7728 half2 __ovld lgamma_r(half2 x, __private int2 *signp);
7729 half3 __ovld lgamma_r(half3 x, __private int3 *signp);
7730 half4 __ovld lgamma_r(half4 x, __private int4 *signp);
7731 half8 __ovld lgamma_r(half8 x, __private int8 *signp);
7732 half16 __ovld lgamma_r(half16 x, __private int16 *signp);
7733 #endif //cl_khr_fp16
7734 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7735
7736 /**
7737  * Compute natural logarithm.
7738  */
7739 float __ovld __cnfn log(float);
7740 float2 __ovld __cnfn log(float2);
7741 float3 __ovld __cnfn log(float3);
7742 float4 __ovld __cnfn log(float4);
7743 float8 __ovld __cnfn log(float8);
7744 float16 __ovld __cnfn log(float16);
7745 #ifdef cl_khr_fp64
7746 double __ovld __cnfn log(double);
7747 double2 __ovld __cnfn log(double2);
7748 double3 __ovld __cnfn log(double3);
7749 double4 __ovld __cnfn log(double4);
7750 double8 __ovld __cnfn log(double8);
7751 double16 __ovld __cnfn log(double16);
7752 #endif //cl_khr_fp64
7753 #ifdef cl_khr_fp16
7754 half __ovld __cnfn log(half);
7755 half2 __ovld __cnfn log(half2);
7756 half3 __ovld __cnfn log(half3);
7757 half4 __ovld __cnfn log(half4);
7758 half8 __ovld __cnfn log(half8);
7759 half16 __ovld __cnfn log(half16);
7760 #endif //cl_khr_fp16
7761
7762 /**
7763  * Compute a base 2 logarithm.
7764  */
7765 float __ovld __cnfn log2(float);
7766 float2 __ovld __cnfn log2(float2);
7767 float3 __ovld __cnfn log2(float3);
7768 float4 __ovld __cnfn log2(float4);
7769 float8 __ovld __cnfn log2(float8);
7770 float16 __ovld __cnfn log2(float16);
7771 #ifdef cl_khr_fp64
7772 double __ovld __cnfn log2(double);
7773 double2 __ovld __cnfn log2(double2);
7774 double3 __ovld __cnfn log2(double3);
7775 double4 __ovld __cnfn log2(double4);
7776 double8 __ovld __cnfn log2(double8);
7777 double16 __ovld __cnfn log2(double16);
7778 #endif //cl_khr_fp64
7779 #ifdef cl_khr_fp16
7780 half __ovld __cnfn log2(half);
7781 half2 __ovld __cnfn log2(half2);
7782 half3 __ovld __cnfn log2(half3);
7783 half4 __ovld __cnfn log2(half4);
7784 half8 __ovld __cnfn log2(half8);
7785 half16 __ovld __cnfn log2(half16);
7786 #endif //cl_khr_fp16
7787
7788 /**
7789  * Compute a base 10 logarithm.
7790  */
7791 float __ovld __cnfn log10(float);
7792 float2 __ovld __cnfn log10(float2);
7793 float3 __ovld __cnfn log10(float3);
7794 float4 __ovld __cnfn log10(float4);
7795 float8 __ovld __cnfn log10(float8);
7796 float16 __ovld __cnfn log10(float16);
7797 #ifdef cl_khr_fp64
7798 double __ovld __cnfn log10(double);
7799 double2 __ovld __cnfn log10(double2);
7800 double3 __ovld __cnfn log10(double3);
7801 double4 __ovld __cnfn log10(double4);
7802 double8 __ovld __cnfn log10(double8);
7803 double16 __ovld __cnfn log10(double16);
7804 #endif //cl_khr_fp64
7805 #ifdef cl_khr_fp16
7806 half __ovld __cnfn log10(half);
7807 half2 __ovld __cnfn log10(half2);
7808 half3 __ovld __cnfn log10(half3);
7809 half4 __ovld __cnfn log10(half4);
7810 half8 __ovld __cnfn log10(half8);
7811 half16 __ovld __cnfn log10(half16);
7812 #endif //cl_khr_fp16
7813
7814 /**
7815  * Compute a base e logarithm of (1.0 + x).
7816  */
7817 float __ovld __cnfn log1p(float x);
7818 float2 __ovld __cnfn log1p(float2 x);
7819 float3 __ovld __cnfn log1p(float3 x);
7820 float4 __ovld __cnfn log1p(float4 x);
7821 float8 __ovld __cnfn log1p(float8 x);
7822 float16 __ovld __cnfn log1p(float16 x);
7823 #ifdef cl_khr_fp64
7824 double __ovld __cnfn log1p(double x);
7825 double2 __ovld __cnfn log1p(double2 x);
7826 double3 __ovld __cnfn log1p(double3 x);
7827 double4 __ovld __cnfn log1p(double4 x);
7828 double8 __ovld __cnfn log1p(double8 x);
7829 double16 __ovld __cnfn log1p(double16 x);
7830 #endif //cl_khr_fp64
7831 #ifdef cl_khr_fp16
7832 half __ovld __cnfn log1p(half x);
7833 half2 __ovld __cnfn log1p(half2 x);
7834 half3 __ovld __cnfn log1p(half3 x);
7835 half4 __ovld __cnfn log1p(half4 x);
7836 half8 __ovld __cnfn log1p(half8 x);
7837 half16 __ovld __cnfn log1p(half16 x);
7838 #endif //cl_khr_fp16
7839
7840 /**
7841  * Compute the exponent of x, which is the integral
7842  * part of logr | x |.
7843  */
7844 float __ovld __cnfn logb(float x);
7845 float2 __ovld __cnfn logb(float2 x);
7846 float3 __ovld __cnfn logb(float3 x);
7847 float4 __ovld __cnfn logb(float4 x);
7848 float8 __ovld __cnfn logb(float8 x);
7849 float16 __ovld __cnfn logb(float16 x);
7850 #ifdef cl_khr_fp64
7851 double __ovld __cnfn logb(double x);
7852 double2 __ovld __cnfn logb(double2 x);
7853 double3 __ovld __cnfn logb(double3 x);
7854 double4 __ovld __cnfn logb(double4 x);
7855 double8 __ovld __cnfn logb(double8 x);
7856 double16 __ovld __cnfn logb(double16 x);
7857 #endif //cl_khr_fp64
7858 #ifdef cl_khr_fp16
7859 half __ovld __cnfn logb(half x);
7860 half2 __ovld __cnfn logb(half2 x);
7861 half3 __ovld __cnfn logb(half3 x);
7862 half4 __ovld __cnfn logb(half4 x);
7863 half8 __ovld __cnfn logb(half8 x);
7864 half16 __ovld __cnfn logb(half16 x);
7865 #endif //cl_khr_fp16
7866
7867 /**
7868  * mad approximates a * b + c. Whether or how the
7869  * product of a * b is rounded and how supernormal or
7870  * subnormal intermediate products are handled is not
7871  * defined. mad is intended to be used where speed is
7872  * preferred over accuracy.
7873  */
7874 float __ovld __cnfn mad(float a, float b, float c);
7875 float2 __ovld __cnfn mad(float2 a, float2 b, float2 c);
7876 float3 __ovld __cnfn mad(float3 a, float3 b, float3 c);
7877 float4 __ovld __cnfn mad(float4 a, float4 b, float4 c);
7878 float8 __ovld __cnfn mad(float8 a, float8 b, float8 c);
7879 float16 __ovld __cnfn mad(float16 a, float16 b, float16 c);
7880 #ifdef cl_khr_fp64
7881 double __ovld __cnfn mad(double a, double b, double c);
7882 double2 __ovld __cnfn mad(double2 a, double2 b, double2 c);
7883 double3 __ovld __cnfn mad(double3 a, double3 b, double3 c);
7884 double4 __ovld __cnfn mad(double4 a, double4 b, double4 c);
7885 double8 __ovld __cnfn mad(double8 a, double8 b, double8 c);
7886 double16 __ovld __cnfn mad(double16 a, double16 b, double16 c);
7887 #endif //cl_khr_fp64
7888 #ifdef cl_khr_fp16
7889 half __ovld __cnfn mad(half a, half b, half c);
7890 half2 __ovld __cnfn mad(half2 a, half2 b, half2 c);
7891 half3 __ovld __cnfn mad(half3 a, half3 b, half3 c);
7892 half4 __ovld __cnfn mad(half4 a, half4 b, half4 c);
7893 half8 __ovld __cnfn mad(half8 a, half8 b, half8 c);
7894 half16 __ovld __cnfn mad(half16 a, half16 b, half16 c);
7895 #endif //cl_khr_fp16
7896
7897 /**
7898  * Returns x if | x | > | y |, y if | y | > | x |, otherwise
7899  * fmax(x, y).
7900  */
7901 float __ovld __cnfn maxmag(float x, float y);
7902 float2 __ovld __cnfn maxmag(float2 x, float2 y);
7903 float3 __ovld __cnfn maxmag(float3 x, float3 y);
7904 float4 __ovld __cnfn maxmag(float4 x, float4 y);
7905 float8 __ovld __cnfn maxmag(float8 x, float8 y);
7906 float16 __ovld __cnfn maxmag(float16 x, float16 y);
7907 #ifdef cl_khr_fp64
7908 double __ovld __cnfn maxmag(double x, double y);
7909 double2 __ovld __cnfn maxmag(double2 x, double2 y);
7910 double3 __ovld __cnfn maxmag(double3 x, double3 y);
7911 double4 __ovld __cnfn maxmag(double4 x, double4 y);
7912 double8 __ovld __cnfn maxmag(double8 x, double8 y);
7913 double16 __ovld __cnfn maxmag(double16 x, double16 y);
7914 #endif //cl_khr_fp64
7915 #ifdef cl_khr_fp16
7916 half __ovld __cnfn maxmag(half x, half y);
7917 half2 __ovld __cnfn maxmag(half2 x, half2 y);
7918 half3 __ovld __cnfn maxmag(half3 x, half3 y);
7919 half4 __ovld __cnfn maxmag(half4 x, half4 y);
7920 half8 __ovld __cnfn maxmag(half8 x, half8 y);
7921 half16 __ovld __cnfn maxmag(half16 x, half16 y);
7922 #endif //cl_khr_fp16
7923
7924 /**
7925  * Returns x if | x | < | y |, y if | y | < | x |, otherwise
7926  * fmin(x, y).
7927  */
7928 float __ovld __cnfn minmag(float x, float y);
7929 float2 __ovld __cnfn minmag(float2 x, float2 y);
7930 float3 __ovld __cnfn minmag(float3 x, float3 y);
7931 float4 __ovld __cnfn minmag(float4 x, float4 y);
7932 float8 __ovld __cnfn minmag(float8 x, float8 y);
7933 float16 __ovld __cnfn minmag(float16 x, float16 y);
7934 #ifdef cl_khr_fp64
7935 double __ovld __cnfn minmag(double x, double y);
7936 double2 __ovld __cnfn minmag(double2 x, double2 y);
7937 double3 __ovld __cnfn minmag(double3 x, double3 y);
7938 double4 __ovld __cnfn minmag(double4 x, double4 y);
7939 double8 __ovld __cnfn minmag(double8 x, double8 y);
7940 double16 __ovld __cnfn minmag(double16 x, double16 y);
7941 #endif //cl_khr_fp64
7942 #ifdef cl_khr_fp16
7943 half __ovld __cnfn minmag(half x, half y);
7944 half2 __ovld __cnfn minmag(half2 x, half2 y);
7945 half3 __ovld __cnfn minmag(half3 x, half3 y);
7946 half4 __ovld __cnfn minmag(half4 x, half4 y);
7947 half8 __ovld __cnfn minmag(half8 x, half8 y);
7948 half16 __ovld __cnfn minmag(half16 x, half16 y);
7949 #endif //cl_khr_fp16
7950
7951 /**
7952  * Decompose a floating-point number. The modf
7953  * function breaks the argument x into integral and
7954  * fractional parts, each of which has the same sign as
7955  * the argument. It stores the integral part in the object
7956  * pointed to by iptr.
7957  */
7958 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
7959 float __ovld modf(float x, float *iptr);
7960 float2 __ovld modf(float2 x, float2 *iptr);
7961 float3 __ovld modf(float3 x, float3 *iptr);
7962 float4 __ovld modf(float4 x, float4 *iptr);
7963 float8 __ovld modf(float8 x, float8 *iptr);
7964 float16 __ovld modf(float16 x, float16 *iptr);
7965 #ifdef cl_khr_fp64
7966 double __ovld modf(double x, double *iptr);
7967 double2 __ovld modf(double2 x, double2 *iptr);
7968 double3 __ovld modf(double3 x, double3 *iptr);
7969 double4 __ovld modf(double4 x, double4 *iptr);
7970 double8 __ovld modf(double8 x, double8 *iptr);
7971 double16 __ovld modf(double16 x, double16 *iptr);
7972 #endif //cl_khr_fp64
7973 #ifdef cl_khr_fp16
7974 half __ovld modf(half x, half *iptr);
7975 half2 __ovld modf(half2 x, half2 *iptr);
7976 half3 __ovld modf(half3 x, half3 *iptr);
7977 half4 __ovld modf(half4 x, half4 *iptr);
7978 half8 __ovld modf(half8 x, half8 *iptr);
7979 half16 __ovld modf(half16 x, half16 *iptr);
7980 #endif //cl_khr_fp16
7981 #else
7982 float __ovld modf(float x, __global float *iptr);
7983 float2 __ovld modf(float2 x, __global float2 *iptr);
7984 float3 __ovld modf(float3 x, __global float3 *iptr);
7985 float4 __ovld modf(float4 x, __global float4 *iptr);
7986 float8 __ovld modf(float8 x, __global float8 *iptr);
7987 float16 __ovld modf(float16 x, __global float16 *iptr);
7988 float __ovld modf(float x, __local float *iptr);
7989 float2 __ovld modf(float2 x, __local float2 *iptr);
7990 float3 __ovld modf(float3 x, __local float3 *iptr);
7991 float4 __ovld modf(float4 x, __local float4 *iptr);
7992 float8 __ovld modf(float8 x, __local float8 *iptr);
7993 float16 __ovld modf(float16 x, __local float16 *iptr);
7994 float __ovld modf(float x, __private float *iptr);
7995 float2 __ovld modf(float2 x, __private float2 *iptr);
7996 float3 __ovld modf(float3 x, __private float3 *iptr);
7997 float4 __ovld modf(float4 x, __private float4 *iptr);
7998 float8 __ovld modf(float8 x, __private float8 *iptr);
7999 float16 __ovld modf(float16 x, __private float16 *iptr);
8000 #ifdef cl_khr_fp64
8001 double __ovld modf(double x, __global double *iptr);
8002 double2 __ovld modf(double2 x, __global double2 *iptr);
8003 double3 __ovld modf(double3 x, __global double3 *iptr);
8004 double4 __ovld modf(double4 x, __global double4 *iptr);
8005 double8 __ovld modf(double8 x, __global double8 *iptr);
8006 double16 __ovld modf(double16 x, __global double16 *iptr);
8007 double __ovld modf(double x, __local double *iptr);
8008 double2 __ovld modf(double2 x, __local double2 *iptr);
8009 double3 __ovld modf(double3 x, __local double3 *iptr);
8010 double4 __ovld modf(double4 x, __local double4 *iptr);
8011 double8 __ovld modf(double8 x, __local double8 *iptr);
8012 double16 __ovld modf(double16 x, __local double16 *iptr);
8013 double __ovld modf(double x, __private double *iptr);
8014 double2 __ovld modf(double2 x, __private double2 *iptr);
8015 double3 __ovld modf(double3 x, __private double3 *iptr);
8016 double4 __ovld modf(double4 x, __private double4 *iptr);
8017 double8 __ovld modf(double8 x, __private double8 *iptr);
8018 double16 __ovld modf(double16 x, __private double16 *iptr);
8019 #endif //cl_khr_fp64
8020 #ifdef cl_khr_fp16
8021 half __ovld modf(half x, __global half *iptr);
8022 half2 __ovld modf(half2 x, __global half2 *iptr);
8023 half3 __ovld modf(half3 x, __global half3 *iptr);
8024 half4 __ovld modf(half4 x, __global half4 *iptr);
8025 half8 __ovld modf(half8 x, __global half8 *iptr);
8026 half16 __ovld modf(half16 x, __global half16 *iptr);
8027 half __ovld modf(half x, __local half *iptr);
8028 half2 __ovld modf(half2 x, __local half2 *iptr);
8029 half3 __ovld modf(half3 x, __local half3 *iptr);
8030 half4 __ovld modf(half4 x, __local half4 *iptr);
8031 half8 __ovld modf(half8 x, __local half8 *iptr);
8032 half16 __ovld modf(half16 x, __local half16 *iptr);
8033 half __ovld modf(half x, __private half *iptr);
8034 half2 __ovld modf(half2 x, __private half2 *iptr);
8035 half3 __ovld modf(half3 x, __private half3 *iptr);
8036 half4 __ovld modf(half4 x, __private half4 *iptr);
8037 half8 __ovld modf(half8 x, __private half8 *iptr);
8038 half16 __ovld modf(half16 x, __private half16 *iptr);
8039 #endif //cl_khr_fp16
8040 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
8041
8042 /**
8043  * Returns a quiet NaN. The nancode may be placed
8044  * in the significand of the resulting NaN.
8045  */
8046 float __ovld __cnfn nan(uint nancode);
8047 float2 __ovld __cnfn nan(uint2 nancode);
8048 float3 __ovld __cnfn nan(uint3 nancode);
8049 float4 __ovld __cnfn nan(uint4 nancode);
8050 float8 __ovld __cnfn nan(uint8 nancode);
8051 float16 __ovld __cnfn nan(uint16 nancode);
8052 #ifdef cl_khr_fp64
8053 double __ovld __cnfn nan(ulong nancode);
8054 double2 __ovld __cnfn nan(ulong2 nancode);
8055 double3 __ovld __cnfn nan(ulong3 nancode);
8056 double4 __ovld __cnfn nan(ulong4 nancode);
8057 double8 __ovld __cnfn nan(ulong8 nancode);
8058 double16 __ovld __cnfn nan(ulong16 nancode);
8059 #endif //cl_khr_fp64
8060 #ifdef cl_khr_fp16
8061 half __ovld __cnfn nan(ushort nancode);
8062 half2 __ovld __cnfn nan(ushort2 nancode);
8063 half3 __ovld __cnfn nan(ushort3 nancode);
8064 half4 __ovld __cnfn nan(ushort4 nancode);
8065 half8 __ovld __cnfn nan(ushort8 nancode);
8066 half16 __ovld __cnfn nan(ushort16 nancode);
8067 #endif //cl_khr_fp16
8068
8069 /**
8070  * Computes the next representable single-precision
8071  * floating-point value following x in the direction of
8072  * y. Thus, if y is less than x, nextafter() returns the
8073  * largest representable floating-point number less
8074  * than x.
8075  */
8076 float __ovld __cnfn nextafter(float x, float y);
8077 float2 __ovld __cnfn nextafter(float2 x, float2 y);
8078 float3 __ovld __cnfn nextafter(float3 x, float3 y);
8079 float4 __ovld __cnfn nextafter(float4 x, float4 y);
8080 float8 __ovld __cnfn nextafter(float8 x, float8 y);
8081 float16 __ovld __cnfn nextafter(float16 x, float16 y);
8082 #ifdef cl_khr_fp64
8083 double __ovld __cnfn nextafter(double x, double y);
8084 double2 __ovld __cnfn nextafter(double2 x, double2 y);
8085 double3 __ovld __cnfn nextafter(double3 x, double3 y);
8086 double4 __ovld __cnfn nextafter(double4 x, double4 y);
8087 double8 __ovld __cnfn nextafter(double8 x, double8 y);
8088 double16 __ovld __cnfn nextafter(double16 x, double16 y);
8089 #endif //cl_khr_fp64
8090 #ifdef cl_khr_fp16
8091 half __ovld __cnfn nextafter(half x, half y);
8092 half2 __ovld __cnfn nextafter(half2 x, half2 y);
8093 half3 __ovld __cnfn nextafter(half3 x, half3 y);
8094 half4 __ovld __cnfn nextafter(half4 x, half4 y);
8095 half8 __ovld __cnfn nextafter(half8 x, half8 y);
8096 half16 __ovld __cnfn nextafter(half16 x, half16 y);
8097 #endif //cl_khr_fp16
8098
8099 /**
8100  * Compute x to the power y.
8101  */
8102 float __ovld __cnfn pow(float x, float y);
8103 float2 __ovld __cnfn pow(float2 x, float2 y);
8104 float3 __ovld __cnfn pow(float3 x, float3 y);
8105 float4 __ovld __cnfn pow(float4 x, float4 y);
8106 float8 __ovld __cnfn pow(float8 x, float8 y);
8107 float16 __ovld __cnfn pow(float16 x, float16 y);
8108 #ifdef cl_khr_fp64
8109 double __ovld __cnfn pow(double x, double y);
8110 double2 __ovld __cnfn pow(double2 x, double2 y);
8111 double3 __ovld __cnfn pow(double3 x, double3 y);
8112 double4 __ovld __cnfn pow(double4 x, double4 y);
8113 double8 __ovld __cnfn pow(double8 x, double8 y);
8114 double16 __ovld __cnfn pow(double16 x, double16 y);
8115 #endif //cl_khr_fp64
8116 #ifdef cl_khr_fp16
8117 half __ovld __cnfn pow(half x, half y);
8118 half2 __ovld __cnfn pow(half2 x, half2 y);
8119 half3 __ovld __cnfn pow(half3 x, half3 y);
8120 half4 __ovld __cnfn pow(half4 x, half4 y);
8121 half8 __ovld __cnfn pow(half8 x, half8 y);
8122 half16 __ovld __cnfn pow(half16 x, half16 y);
8123 #endif //cl_khr_fp16
8124
8125 /**
8126  * Compute x to the power y, where y is an integer.
8127  */
8128 float __ovld __cnfn pown(float x, int y);
8129 float2 __ovld __cnfn pown(float2 x, int2 y);
8130 float3 __ovld __cnfn pown(float3 x, int3 y);
8131 float4 __ovld __cnfn pown(float4 x, int4 y);
8132 float8 __ovld __cnfn pown(float8 x, int8 y);
8133 float16 __ovld __cnfn pown(float16 x, int16 y);
8134 #ifdef cl_khr_fp64
8135 double __ovld __cnfn pown(double x, int y);
8136 double2 __ovld __cnfn pown(double2 x, int2 y);
8137 double3 __ovld __cnfn pown(double3 x, int3 y);
8138 double4 __ovld __cnfn pown(double4 x, int4 y);
8139 double8 __ovld __cnfn pown(double8 x, int8 y);
8140 double16 __ovld __cnfn pown(double16 x, int16 y);
8141 #endif //cl_khr_fp64
8142 #ifdef cl_khr_fp16
8143 half __ovld __cnfn pown(half x, int y);
8144 half2 __ovld __cnfn pown(half2 x, int2 y);
8145 half3 __ovld __cnfn pown(half3 x, int3 y);
8146 half4 __ovld __cnfn pown(half4 x, int4 y);
8147 half8 __ovld __cnfn pown(half8 x, int8 y);
8148 half16 __ovld __cnfn pown(half16 x, int16 y);
8149 #endif //cl_khr_fp16
8150
8151 /**
8152  * Compute x to the power y, where x is >= 0.
8153  */
8154 float __ovld __cnfn powr(float x, float y);
8155 float2 __ovld __cnfn powr(float2 x, float2 y);
8156 float3 __ovld __cnfn powr(float3 x, float3 y);
8157 float4 __ovld __cnfn powr(float4 x, float4 y);
8158 float8 __ovld __cnfn powr(float8 x, float8 y);
8159 float16 __ovld __cnfn powr(float16 x, float16 y);
8160 #ifdef cl_khr_fp64
8161 double __ovld __cnfn powr(double x, double y);
8162 double2 __ovld __cnfn powr(double2 x, double2 y);
8163 double3 __ovld __cnfn powr(double3 x, double3 y);
8164 double4 __ovld __cnfn powr(double4 x, double4 y);
8165 double8 __ovld __cnfn powr(double8 x, double8 y);
8166 double16 __ovld __cnfn powr(double16 x, double16 y);
8167 #endif //cl_khr_fp64
8168 #ifdef cl_khr_fp16
8169 half __ovld __cnfn powr(half x, half y);
8170 half2 __ovld __cnfn powr(half2 x, half2 y);
8171 half3 __ovld __cnfn powr(half3 x, half3 y);
8172 half4 __ovld __cnfn powr(half4 x, half4 y);
8173 half8 __ovld __cnfn powr(half8 x, half8 y);
8174 half16 __ovld __cnfn powr(half16 x, half16 y);
8175 #endif //cl_khr_fp16
8176
8177 /**
8178  * Compute the value r such that r = x - n*y, where n
8179  * is the integer nearest the exact value of x/y. If there
8180  * are two integers closest to x/y, n shall be the even
8181  * one. If r is zero, it is given the same sign as x.
8182  */
8183 float __ovld __cnfn remainder(float x, float y);
8184 float2 __ovld __cnfn remainder(float2 x, float2 y);
8185 float3 __ovld __cnfn remainder(float3 x, float3 y);
8186 float4 __ovld __cnfn remainder(float4 x, float4 y);
8187 float8 __ovld __cnfn remainder(float8 x, float8 y);
8188 float16 __ovld __cnfn remainder(float16 x, float16 y);
8189 #ifdef cl_khr_fp64
8190 double __ovld __cnfn remainder(double x, double y);
8191 double2 __ovld __cnfn remainder(double2 x, double2 y);
8192 double3 __ovld __cnfn remainder(double3 x, double3 y);
8193 double4 __ovld __cnfn remainder(double4 x, double4 y);
8194 double8 __ovld __cnfn remainder(double8 x, double8 y);
8195 double16 __ovld __cnfn remainder(double16 x, double16 y);
8196 #endif //cl_khr_fp64
8197 #ifdef cl_khr_fp16
8198 half __ovld __cnfn remainder(half x, half y);
8199 half2 __ovld __cnfn remainder(half2 x, half2 y);
8200 half3 __ovld __cnfn remainder(half3 x, half3 y);
8201 half4 __ovld __cnfn remainder(half4 x, half4 y);
8202 half8 __ovld __cnfn remainder(half8 x, half8 y);
8203 half16 __ovld __cnfn remainder(half16 x, half16 y);
8204 #endif //cl_khr_fp16
8205
8206 /**
8207  * The remquo function computes the value r such
8208  * that r = x - n*y, where n is the integer nearest the
8209  * exact value of x/y. If there are two integers closest
8210  * to x/y, n shall be the even one. If r is zero, it is
8211  * given the same sign as x. This is the same value
8212  * that is returned by the remainder function.
8213  * remquo also calculates the lower seven bits of the
8214  * integral quotient x/y, and gives that value the same
8215  * sign as x/y. It stores this signed value in the object
8216  * pointed to by quo.
8217  */
8218 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
8219 float __ovld remquo(float x, float y, int *quo);
8220 float2 __ovld remquo(float2 x, float2 y, int2 *quo);
8221 float3 __ovld remquo(float3 x, float3 y, int3 *quo);
8222 float4 __ovld remquo(float4 x, float4 y, int4 *quo);
8223 float8 __ovld remquo(float8 x, float8 y, int8 *quo);
8224 float16 __ovld remquo(float16 x, float16 y, int16 *quo);
8225 #ifdef cl_khr_fp64
8226 double __ovld remquo(double x, double y, int *quo);
8227 double2 __ovld remquo(double2 x, double2 y, int2 *quo);
8228 double3 __ovld remquo(double3 x, double3 y, int3 *quo);
8229 double4 __ovld remquo(double4 x, double4 y, int4 *quo);
8230 double8 __ovld remquo(double8 x, double8 y, int8 *quo);
8231 double16 __ovld remquo(double16 x, double16 y, int16 *quo);
8232 #endif //cl_khr_fp64
8233 #ifdef cl_khr_fp16
8234 half __ovld remquo(half x, half y, int *quo);
8235 half2 __ovld remquo(half2 x, half2 y, int2 *quo);
8236 half3 __ovld remquo(half3 x, half3 y, int3 *quo);
8237 half4 __ovld remquo(half4 x, half4 y, int4 *quo);
8238 half8 __ovld remquo(half8 x, half8 y, int8 *quo);
8239 half16 __ovld remquo(half16 x, half16 y, int16 *quo);
8240
8241 #endif //cl_khr_fp16
8242 #else
8243 float __ovld remquo(float x, float y, __global int *quo);
8244 float2 __ovld remquo(float2 x, float2 y, __global int2 *quo);
8245 float3 __ovld remquo(float3 x, float3 y, __global int3 *quo);
8246 float4 __ovld remquo(float4 x, float4 y, __global int4 *quo);
8247 float8 __ovld remquo(float8 x, float8 y, __global int8 *quo);
8248 float16 __ovld remquo(float16 x, float16 y, __global int16 *quo);
8249 float __ovld remquo(float x, float y, __local int *quo);
8250 float2 __ovld remquo(float2 x, float2 y, __local int2 *quo);
8251 float3 __ovld remquo(float3 x, float3 y, __local int3 *quo);
8252 float4 __ovld remquo(float4 x, float4 y, __local int4 *quo);
8253 float8 __ovld remquo(float8 x, float8 y, __local int8 *quo);
8254 float16 __ovld remquo(float16 x, float16 y, __local int16 *quo);
8255 float __ovld remquo(float x, float y, __private int *quo);
8256 float2 __ovld remquo(float2 x, float2 y, __private int2 *quo);
8257 float3 __ovld remquo(float3 x, float3 y, __private int3 *quo);
8258 float4 __ovld remquo(float4 x, float4 y, __private int4 *quo);
8259 float8 __ovld remquo(float8 x, float8 y, __private int8 *quo);
8260 float16 __ovld remquo(float16 x, float16 y, __private int16 *quo);
8261 #ifdef cl_khr_fp64
8262 double __ovld remquo(double x, double y, __global int *quo);
8263 double2 __ovld remquo(double2 x, double2 y, __global int2 *quo);
8264 double3 __ovld remquo(double3 x, double3 y, __global int3 *quo);
8265 double4 __ovld remquo(double4 x, double4 y, __global int4 *quo);
8266 double8 __ovld remquo(double8 x, double8 y, __global int8 *quo);
8267 double16 __ovld remquo(double16 x, double16 y, __global int16 *quo);
8268 double __ovld remquo(double x, double y, __local int *quo);
8269 double2 __ovld remquo(double2 x, double2 y, __local int2 *quo);
8270 double3 __ovld remquo(double3 x, double3 y, __local int3 *quo);
8271 double4 __ovld remquo(double4 x, double4 y, __local int4 *quo);
8272 double8 __ovld remquo(double8 x, double8 y, __local int8 *quo);
8273 double16 __ovld remquo(double16 x, double16 y, __local int16 *quo);
8274 double __ovld remquo(double x, double y, __private int *quo);
8275 double2 __ovld remquo(double2 x, double2 y, __private int2 *quo);
8276 double3 __ovld remquo(double3 x, double3 y, __private int3 *quo);
8277 double4 __ovld remquo(double4 x, double4 y, __private int4 *quo);
8278 double8 __ovld remquo(double8 x, double8 y, __private int8 *quo);
8279 double16 __ovld remquo(double16 x, double16 y, __private int16 *quo);
8280 #endif //cl_khr_fp64
8281 #ifdef cl_khr_fp16
8282 half __ovld remquo(half x, half y, __global int *quo);
8283 half2 __ovld remquo(half2 x, half2 y, __global int2 *quo);
8284 half3 __ovld remquo(half3 x, half3 y, __global int3 *quo);
8285 half4 __ovld remquo(half4 x, half4 y, __global int4 *quo);
8286 half8 __ovld remquo(half8 x, half8 y, __global int8 *quo);
8287 half16 __ovld remquo(half16 x, half16 y, __global int16 *quo);
8288 half __ovld remquo(half x, half y, __local int *quo);
8289 half2 __ovld remquo(half2 x, half2 y, __local int2 *quo);
8290 half3 __ovld remquo(half3 x, half3 y, __local int3 *quo);
8291 half4 __ovld remquo(half4 x, half4 y, __local int4 *quo);
8292 half8 __ovld remquo(half8 x, half8 y, __local int8 *quo);
8293 half16 __ovld remquo(half16 x, half16 y, __local int16 *quo);
8294 half __ovld remquo(half x, half y, __private int *quo);
8295 half2 __ovld remquo(half2 x, half2 y, __private int2 *quo);
8296 half3 __ovld remquo(half3 x, half3 y, __private int3 *quo);
8297 half4 __ovld remquo(half4 x, half4 y, __private int4 *quo);
8298 half8 __ovld remquo(half8 x, half8 y, __private int8 *quo);
8299 half16 __ovld remquo(half16 x, half16 y, __private int16 *quo);
8300 #endif //cl_khr_fp16
8301 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
8302 /**
8303  * Round to integral value (using round to nearest
8304  * even rounding mode) in floating-point format.
8305  * Refer to section 7.1 for description of rounding
8306  * modes.
8307  */
8308 float __ovld __cnfn rint(float);
8309 float2 __ovld __cnfn rint(float2);
8310 float3 __ovld __cnfn rint(float3);
8311 float4 __ovld __cnfn rint(float4);
8312 float8 __ovld __cnfn rint(float8);
8313 float16 __ovld __cnfn rint(float16);
8314 #ifdef cl_khr_fp64
8315 double __ovld __cnfn rint(double);
8316 double2 __ovld __cnfn rint(double2);
8317 double3 __ovld __cnfn rint(double3);
8318 double4 __ovld __cnfn rint(double4);
8319 double8 __ovld __cnfn rint(double8);
8320 double16 __ovld __cnfn rint(double16);
8321 #endif //cl_khr_fp64
8322 #ifdef cl_khr_fp16
8323 half __ovld __cnfn rint(half);
8324 half2 __ovld __cnfn rint(half2);
8325 half3 __ovld __cnfn rint(half3);
8326 half4 __ovld __cnfn rint(half4);
8327 half8 __ovld __cnfn rint(half8);
8328 half16 __ovld __cnfn rint(half16);
8329 #endif //cl_khr_fp16
8330
8331 /**
8332  * Compute x to the power 1/y.
8333  */
8334 float __ovld __cnfn rootn(float x, int y);
8335 float2 __ovld __cnfn rootn(float2 x, int2 y);
8336 float3 __ovld __cnfn rootn(float3 x, int3 y);
8337 float4 __ovld __cnfn rootn(float4 x, int4 y);
8338 float8 __ovld __cnfn rootn(float8 x, int8 y);
8339 float16 __ovld __cnfn rootn(float16 x, int16 y);
8340 #ifdef cl_khr_fp64
8341 double __ovld __cnfn rootn(double x, int y);
8342 double2 __ovld __cnfn rootn(double2 x, int2 y);
8343 double3 __ovld __cnfn rootn(double3 x, int3 y);
8344 double4 __ovld __cnfn rootn(double4 x, int4 y);
8345 double8 __ovld __cnfn rootn(double8 x, int8 y);
8346 double16 __ovld __cnfn rootn(double16 x, int16 y);
8347 #endif //cl_khr_fp64
8348 #ifdef cl_khr_fp16
8349 half __ovld __cnfn rootn(half x, int y);
8350 half2 __ovld __cnfn rootn(half2 x, int2 y);
8351 half3 __ovld __cnfn rootn(half3 x, int3 y);
8352 half4 __ovld __cnfn rootn(half4 x, int4 y);
8353 half8 __ovld __cnfn rootn(half8 x, int8 y);
8354 half16 __ovld __cnfn rootn(half16 x, int16 y);
8355 #endif //cl_khr_fp16
8356
8357 /**
8358  * Return the integral value nearest to x rounding
8359  * halfway cases away from zero, regardless of the
8360  * current rounding direction.
8361  */
8362 float __ovld __cnfn round(float x);
8363 float2 __ovld __cnfn round(float2 x);
8364 float3 __ovld __cnfn round(float3 x);
8365 float4 __ovld __cnfn round(float4 x);
8366 float8 __ovld __cnfn round(float8 x);
8367 float16 __ovld __cnfn round(float16 x);
8368 #ifdef cl_khr_fp64
8369 double __ovld __cnfn round(double x);
8370 double2 __ovld __cnfn round(double2 x);
8371 double3 __ovld __cnfn round(double3 x);
8372 double4 __ovld __cnfn round(double4 x);
8373 double8 __ovld __cnfn round(double8 x);
8374 double16 __ovld __cnfn round(double16 x);
8375 #endif //cl_khr_fp64
8376 #ifdef cl_khr_fp16
8377 half __ovld __cnfn round(half x);
8378 half2 __ovld __cnfn round(half2 x);
8379 half3 __ovld __cnfn round(half3 x);
8380 half4 __ovld __cnfn round(half4 x);
8381 half8 __ovld __cnfn round(half8 x);
8382 half16 __ovld __cnfn round(half16 x);
8383 #endif //cl_khr_fp16
8384
8385 /**
8386  * Compute inverse square root.
8387  */
8388 float __ovld __cnfn rsqrt(float);
8389 float2 __ovld __cnfn rsqrt(float2);
8390 float3 __ovld __cnfn rsqrt(float3);
8391 float4 __ovld __cnfn rsqrt(float4);
8392 float8 __ovld __cnfn rsqrt(float8);
8393 float16 __ovld __cnfn rsqrt(float16);
8394 #ifdef cl_khr_fp64
8395 double __ovld __cnfn rsqrt(double);
8396 double2 __ovld __cnfn rsqrt(double2);
8397 double3 __ovld __cnfn rsqrt(double3);
8398 double4 __ovld __cnfn rsqrt(double4);
8399 double8 __ovld __cnfn rsqrt(double8);
8400 double16 __ovld __cnfn rsqrt(double16);
8401 #endif //cl_khr_fp64
8402 #ifdef cl_khr_fp16
8403 half __ovld __cnfn rsqrt(half);
8404 half2 __ovld __cnfn rsqrt(half2);
8405 half3 __ovld __cnfn rsqrt(half3);
8406 half4 __ovld __cnfn rsqrt(half4);
8407 half8 __ovld __cnfn rsqrt(half8);
8408 half16 __ovld __cnfn rsqrt(half16);
8409 #endif //cl_khr_fp16
8410
8411 /**
8412  * Compute sine.
8413  */
8414 float __ovld __cnfn sin(float);
8415 float2 __ovld __cnfn sin(float2);
8416 float3 __ovld __cnfn sin(float3);
8417 float4 __ovld __cnfn sin(float4);
8418 float8 __ovld __cnfn sin(float8);
8419 float16 __ovld __cnfn sin(float16);
8420 #ifdef cl_khr_fp64
8421 double __ovld __cnfn sin(double);
8422 double2 __ovld __cnfn sin(double2);
8423 double3 __ovld __cnfn sin(double3);
8424 double4 __ovld __cnfn sin(double4);
8425 double8 __ovld __cnfn sin(double8);
8426 double16 __ovld __cnfn sin(double16);
8427 #endif //cl_khr_fp64
8428 #ifdef cl_khr_fp16
8429 half __ovld __cnfn sin(half);
8430 half2 __ovld __cnfn sin(half2);
8431 half3 __ovld __cnfn sin(half3);
8432 half4 __ovld __cnfn sin(half4);
8433 half8 __ovld __cnfn sin(half8);
8434 half16 __ovld __cnfn sin(half16);
8435 #endif //cl_khr_fp16
8436
8437 /**
8438  * Compute sine and cosine of x. The computed sine
8439  * is the return value and computed cosine is returned
8440  * in cosval.
8441  */
8442 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
8443 float __ovld sincos(float x, float *cosval);
8444 float2 __ovld sincos(float2 x, float2 *cosval);
8445 float3 __ovld sincos(float3 x, float3 *cosval);
8446 float4 __ovld sincos(float4 x, float4 *cosval);
8447 float8 __ovld sincos(float8 x, float8 *cosval);
8448 float16 __ovld sincos(float16 x, float16 *cosval);
8449 #ifdef cl_khr_fp64
8450 double __ovld sincos(double x, double *cosval);
8451 double2 __ovld sincos(double2 x, double2 *cosval);
8452 double3 __ovld sincos(double3 x, double3 *cosval);
8453 double4 __ovld sincos(double4 x, double4 *cosval);
8454 double8 __ovld sincos(double8 x, double8 *cosval);
8455 double16 __ovld sincos(double16 x, double16 *cosval);
8456 #endif //cl_khr_fp64
8457 #ifdef cl_khr_fp16
8458 half __ovld sincos(half x, half *cosval);
8459 half2 __ovld sincos(half2 x, half2 *cosval);
8460 half3 __ovld sincos(half3 x, half3 *cosval);
8461 half4 __ovld sincos(half4 x, half4 *cosval);
8462 half8 __ovld sincos(half8 x, half8 *cosval);
8463 half16 __ovld sincos(half16 x, half16 *cosval);
8464 #endif //cl_khr_fp16
8465 #else
8466 float __ovld sincos(float x, __global float *cosval);
8467 float2 __ovld sincos(float2 x, __global float2 *cosval);
8468 float3 __ovld sincos(float3 x, __global float3 *cosval);
8469 float4 __ovld sincos(float4 x, __global float4 *cosval);
8470 float8 __ovld sincos(float8 x, __global float8 *cosval);
8471 float16 __ovld sincos(float16 x, __global float16 *cosval);
8472 float __ovld sincos(float x, __local float *cosval);
8473 float2 __ovld sincos(float2 x, __local float2 *cosval);
8474 float3 __ovld sincos(float3 x, __local float3 *cosval);
8475 float4 __ovld sincos(float4 x, __local float4 *cosval);
8476 float8 __ovld sincos(float8 x, __local float8 *cosval);
8477 float16 __ovld sincos(float16 x, __local float16 *cosval);
8478 float __ovld sincos(float x, __private float *cosval);
8479 float2 __ovld sincos(float2 x, __private float2 *cosval);
8480 float3 __ovld sincos(float3 x, __private float3 *cosval);
8481 float4 __ovld sincos(float4 x, __private float4 *cosval);
8482 float8 __ovld sincos(float8 x, __private float8 *cosval);
8483 float16 __ovld sincos(float16 x, __private float16 *cosval);
8484 #ifdef cl_khr_fp64
8485 double __ovld sincos(double x, __global double *cosval);
8486 double2 __ovld sincos(double2 x, __global double2 *cosval);
8487 double3 __ovld sincos(double3 x, __global double3 *cosval);
8488 double4 __ovld sincos(double4 x, __global double4 *cosval);
8489 double8 __ovld sincos(double8 x, __global double8 *cosval);
8490 double16 __ovld sincos(double16 x, __global double16 *cosval);
8491 double __ovld sincos(double x, __local double *cosval);
8492 double2 __ovld sincos(double2 x, __local double2 *cosval);
8493 double3 __ovld sincos(double3 x, __local double3 *cosval);
8494 double4 __ovld sincos(double4 x, __local double4 *cosval);
8495 double8 __ovld sincos(double8 x, __local double8 *cosval);
8496 double16 __ovld sincos(double16 x, __local double16 *cosval);
8497 double __ovld sincos(double x, __private double *cosval);
8498 double2 __ovld sincos(double2 x, __private double2 *cosval);
8499 double3 __ovld sincos(double3 x, __private double3 *cosval);
8500 double4 __ovld sincos(double4 x, __private double4 *cosval);
8501 double8 __ovld sincos(double8 x, __private double8 *cosval);
8502 double16 __ovld sincos(double16 x, __private double16 *cosval);
8503 #endif //cl_khr_fp64
8504 #ifdef cl_khr_fp16
8505 half __ovld sincos(half x, __global half *cosval);
8506 half2 __ovld sincos(half2 x, __global half2 *cosval);
8507 half3 __ovld sincos(half3 x, __global half3 *cosval);
8508 half4 __ovld sincos(half4 x, __global half4 *cosval);
8509 half8 __ovld sincos(half8 x, __global half8 *cosval);
8510 half16 __ovld sincos(half16 x, __global half16 *cosval);
8511 half __ovld sincos(half x, __local half *cosval);
8512 half2 __ovld sincos(half2 x, __local half2 *cosval);
8513 half3 __ovld sincos(half3 x, __local half3 *cosval);
8514 half4 __ovld sincos(half4 x, __local half4 *cosval);
8515 half8 __ovld sincos(half8 x, __local half8 *cosval);
8516 half16 __ovld sincos(half16 x, __local half16 *cosval);
8517 half __ovld sincos(half x, __private half *cosval);
8518 half2 __ovld sincos(half2 x, __private half2 *cosval);
8519 half3 __ovld sincos(half3 x, __private half3 *cosval);
8520 half4 __ovld sincos(half4 x, __private half4 *cosval);
8521 half8 __ovld sincos(half8 x, __private half8 *cosval);
8522 half16 __ovld sincos(half16 x, __private half16 *cosval);
8523 #endif //cl_khr_fp16
8524 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
8525
8526 /**
8527  * Compute hyperbolic sine.
8528  */
8529 float __ovld __cnfn sinh(float);
8530 float2 __ovld __cnfn sinh(float2);
8531 float3 __ovld __cnfn sinh(float3);
8532 float4 __ovld __cnfn sinh(float4);
8533 float8 __ovld __cnfn sinh(float8);
8534 float16 __ovld __cnfn sinh(float16);
8535 #ifdef cl_khr_fp64
8536 double __ovld __cnfn sinh(double);
8537 double2 __ovld __cnfn sinh(double2);
8538 double3 __ovld __cnfn sinh(double3);
8539 double4 __ovld __cnfn sinh(double4);
8540 double8 __ovld __cnfn sinh(double8);
8541 double16 __ovld __cnfn sinh(double16);
8542 #endif //cl_khr_fp64
8543 #ifdef cl_khr_fp16
8544 half __ovld __cnfn sinh(half);
8545 half2 __ovld __cnfn sinh(half2);
8546 half3 __ovld __cnfn sinh(half3);
8547 half4 __ovld __cnfn sinh(half4);
8548 half8 __ovld __cnfn sinh(half8);
8549 half16 __ovld __cnfn sinh(half16);
8550 #endif //cl_khr_fp16
8551
8552 /**
8553  * Compute sin (PI * x).
8554  */
8555 float __ovld __cnfn sinpi(float x);
8556 float2 __ovld __cnfn sinpi(float2 x);
8557 float3 __ovld __cnfn sinpi(float3 x);
8558 float4 __ovld __cnfn sinpi(float4 x);
8559 float8 __ovld __cnfn sinpi(float8 x);
8560 float16 __ovld __cnfn sinpi(float16 x);
8561 #ifdef cl_khr_fp64
8562 double __ovld __cnfn sinpi(double x);
8563 double2 __ovld __cnfn sinpi(double2 x);
8564 double3 __ovld __cnfn sinpi(double3 x);
8565 double4 __ovld __cnfn sinpi(double4 x);
8566 double8 __ovld __cnfn sinpi(double8 x);
8567 double16 __ovld __cnfn sinpi(double16 x);
8568 #endif //cl_khr_fp64
8569 #ifdef cl_khr_fp16
8570 half __ovld __cnfn sinpi(half x);
8571 half2 __ovld __cnfn sinpi(half2 x);
8572 half3 __ovld __cnfn sinpi(half3 x);
8573 half4 __ovld __cnfn sinpi(half4 x);
8574 half8 __ovld __cnfn sinpi(half8 x);
8575 half16 __ovld __cnfn sinpi(half16 x);
8576 #endif //cl_khr_fp16
8577
8578 /**
8579  * Compute square root.
8580  */
8581 float __ovld __cnfn sqrt(float);
8582 float2 __ovld __cnfn sqrt(float2);
8583 float3 __ovld __cnfn sqrt(float3);
8584 float4 __ovld __cnfn sqrt(float4);
8585 float8 __ovld __cnfn sqrt(float8);
8586 float16 __ovld __cnfn sqrt(float16);
8587 #ifdef cl_khr_fp64
8588 double __ovld __cnfn sqrt(double);
8589 double2 __ovld __cnfn sqrt(double2);
8590 double3 __ovld __cnfn sqrt(double3);
8591 double4 __ovld __cnfn sqrt(double4);
8592 double8 __ovld __cnfn sqrt(double8);
8593 double16 __ovld __cnfn sqrt(double16);
8594 #endif //cl_khr_fp64
8595 #ifdef cl_khr_fp16
8596 half __ovld __cnfn sqrt(half);
8597 half2 __ovld __cnfn sqrt(half2);
8598 half3 __ovld __cnfn sqrt(half3);
8599 half4 __ovld __cnfn sqrt(half4);
8600 half8 __ovld __cnfn sqrt(half8);
8601 half16 __ovld __cnfn sqrt(half16);
8602 #endif //cl_khr_fp16
8603
8604 /**
8605  * Compute tangent.
8606  */
8607 float __ovld __cnfn tan(float);
8608 float2 __ovld __cnfn tan(float2);
8609 float3 __ovld __cnfn tan(float3);
8610 float4 __ovld __cnfn tan(float4);
8611 float8 __ovld __cnfn tan(float8);
8612 float16 __ovld __cnfn tan(float16);
8613 #ifdef cl_khr_fp64
8614 double __ovld __cnfn tan(double);
8615 double2 __ovld __cnfn tan(double2);
8616 double3 __ovld __cnfn tan(double3);
8617 double4 __ovld __cnfn tan(double4);
8618 double8 __ovld __cnfn tan(double8);
8619 double16 __ovld __cnfn tan(double16);
8620 #endif //cl_khr_fp64
8621 #ifdef cl_khr_fp16
8622 half __ovld __cnfn tan(half);
8623 half2 __ovld __cnfn tan(half2);
8624 half3 __ovld __cnfn tan(half3);
8625 half4 __ovld __cnfn tan(half4);
8626 half8 __ovld __cnfn tan(half8);
8627 half16 __ovld __cnfn tan(half16);
8628 #endif //cl_khr_fp16
8629
8630 /**
8631  * Compute hyperbolic tangent.
8632  */
8633 float __ovld __cnfn tanh(float);
8634 float2 __ovld __cnfn tanh(float2);
8635 float3 __ovld __cnfn tanh(float3);
8636 float4 __ovld __cnfn tanh(float4);
8637 float8 __ovld __cnfn tanh(float8);
8638 float16 __ovld __cnfn tanh(float16);
8639 #ifdef cl_khr_fp64
8640 double __ovld __cnfn tanh(double);
8641 double2 __ovld __cnfn tanh(double2);
8642 double3 __ovld __cnfn tanh(double3);
8643 double4 __ovld __cnfn tanh(double4);
8644 double8 __ovld __cnfn tanh(double8);
8645 double16 __ovld __cnfn tanh(double16);
8646 #endif //cl_khr_fp64
8647 #ifdef cl_khr_fp16
8648 half __ovld __cnfn tanh(half);
8649 half2 __ovld __cnfn tanh(half2);
8650 half3 __ovld __cnfn tanh(half3);
8651 half4 __ovld __cnfn tanh(half4);
8652 half8 __ovld __cnfn tanh(half8);
8653 half16 __ovld __cnfn tanh(half16);
8654 #endif //cl_khr_fp16
8655
8656 /**
8657  * Compute tan (PI * x).
8658  */
8659 float __ovld __cnfn tanpi(float x);
8660 float2 __ovld __cnfn tanpi(float2 x);
8661 float3 __ovld __cnfn tanpi(float3 x);
8662 float4 __ovld __cnfn tanpi(float4 x);
8663 float8 __ovld __cnfn tanpi(float8 x);
8664 float16 __ovld __cnfn tanpi(float16 x);
8665 #ifdef cl_khr_fp64
8666 double __ovld __cnfn tanpi(double x);
8667 double2 __ovld __cnfn tanpi(double2 x);
8668 double3 __ovld __cnfn tanpi(double3 x);
8669 double4 __ovld __cnfn tanpi(double4 x);
8670 double8 __ovld __cnfn tanpi(double8 x);
8671 double16 __ovld __cnfn tanpi(double16 x);
8672 #endif //cl_khr_fp64
8673 #ifdef cl_khr_fp16
8674 half __ovld __cnfn tanpi(half x);
8675 half2 __ovld __cnfn tanpi(half2 x);
8676 half3 __ovld __cnfn tanpi(half3 x);
8677 half4 __ovld __cnfn tanpi(half4 x);
8678 half8 __ovld __cnfn tanpi(half8 x);
8679 half16 __ovld __cnfn tanpi(half16 x);
8680 #endif //cl_khr_fp16
8681
8682 /**
8683  * Compute the gamma function.
8684  */
8685 float __ovld __cnfn tgamma(float);
8686 float2 __ovld __cnfn tgamma(float2);
8687 float3 __ovld __cnfn tgamma(float3);
8688 float4 __ovld __cnfn tgamma(float4);
8689 float8 __ovld __cnfn tgamma(float8);
8690 float16 __ovld __cnfn tgamma(float16);
8691 #ifdef cl_khr_fp64
8692 double __ovld __cnfn tgamma(double);
8693 double2 __ovld __cnfn tgamma(double2);
8694 double3 __ovld __cnfn tgamma(double3);
8695 double4 __ovld __cnfn tgamma(double4);
8696 double8 __ovld __cnfn tgamma(double8);
8697 double16 __ovld __cnfn tgamma(double16);
8698 #endif //cl_khr_fp64
8699 #ifdef cl_khr_fp16
8700 half __ovld __cnfn tgamma(half);
8701 half2 __ovld __cnfn tgamma(half2);
8702 half3 __ovld __cnfn tgamma(half3);
8703 half4 __ovld __cnfn tgamma(half4);
8704 half8 __ovld __cnfn tgamma(half8);
8705 half16 __ovld __cnfn tgamma(half16);
8706 #endif //cl_khr_fp16
8707
8708 /**
8709  * Round to integral value using the round to zero
8710  * rounding mode.
8711  */
8712 float __ovld __cnfn trunc(float);
8713 float2 __ovld __cnfn trunc(float2);
8714 float3 __ovld __cnfn trunc(float3);
8715 float4 __ovld __cnfn trunc(float4);
8716 float8 __ovld __cnfn trunc(float8);
8717 float16 __ovld __cnfn trunc(float16);
8718 #ifdef cl_khr_fp64
8719 double __ovld __cnfn trunc(double);
8720 double2 __ovld __cnfn trunc(double2);
8721 double3 __ovld __cnfn trunc(double3);
8722 double4 __ovld __cnfn trunc(double4);
8723 double8 __ovld __cnfn trunc(double8);
8724 double16 __ovld __cnfn trunc(double16);
8725 #endif //cl_khr_fp64
8726 #ifdef cl_khr_fp16
8727 half __ovld __cnfn trunc(half);
8728 half2 __ovld __cnfn trunc(half2);
8729 half3 __ovld __cnfn trunc(half3);
8730 half4 __ovld __cnfn trunc(half4);
8731 half8 __ovld __cnfn trunc(half8);
8732 half16 __ovld __cnfn trunc(half16);
8733 #endif //cl_khr_fp16
8734
8735 /**
8736  * Compute cosine. x must be in the range -2^16 ... +2^16.
8737  */
8738 float __ovld __cnfn half_cos(float x);
8739 float2 __ovld __cnfn half_cos(float2 x);
8740 float3 __ovld __cnfn half_cos(float3 x);
8741 float4 __ovld __cnfn half_cos(float4 x);
8742 float8 __ovld __cnfn half_cos(float8 x);
8743 float16 __ovld __cnfn half_cos(float16 x);
8744
8745 /**
8746  * Compute x / y.
8747  */
8748 float __ovld __cnfn half_divide(float x, float y);
8749 float2 __ovld __cnfn half_divide(float2 x, float2 y);
8750 float3 __ovld __cnfn half_divide(float3 x, float3 y);
8751 float4 __ovld __cnfn half_divide(float4 x, float4 y);
8752 float8 __ovld __cnfn half_divide(float8 x, float8 y);
8753 float16 __ovld __cnfn half_divide(float16 x, float16 y);
8754
8755 /**
8756  * Compute the base- e exponential of x.
8757  */
8758 float __ovld __cnfn half_exp(float x);
8759 float2 __ovld __cnfn half_exp(float2 x);
8760 float3 __ovld __cnfn half_exp(float3 x);
8761 float4 __ovld __cnfn half_exp(float4 x);
8762 float8 __ovld __cnfn half_exp(float8 x);
8763 float16 __ovld __cnfn half_exp(float16 x);
8764
8765 /**
8766  * Compute the base- 2 exponential of x.
8767  */
8768 float __ovld __cnfn half_exp2(float x);
8769 float2 __ovld __cnfn half_exp2(float2 x);
8770 float3 __ovld __cnfn half_exp2(float3 x);
8771 float4 __ovld __cnfn half_exp2(float4 x);
8772 float8 __ovld __cnfn half_exp2(float8 x);
8773 float16 __ovld __cnfn half_exp2(float16 x);
8774
8775 /**
8776  * Compute the base- 10 exponential of x.
8777  */
8778 float __ovld __cnfn half_exp10(float x);
8779 float2 __ovld __cnfn half_exp10(float2 x);
8780 float3 __ovld __cnfn half_exp10(float3 x);
8781 float4 __ovld __cnfn half_exp10(float4 x);
8782 float8 __ovld __cnfn half_exp10(float8 x);
8783 float16 __ovld __cnfn half_exp10(float16 x);
8784
8785 /**
8786  * Compute natural logarithm.
8787  */
8788 float __ovld __cnfn half_log(float x);
8789 float2 __ovld __cnfn half_log(float2 x);
8790 float3 __ovld __cnfn half_log(float3 x);
8791 float4 __ovld __cnfn half_log(float4 x);
8792 float8 __ovld __cnfn half_log(float8 x);
8793 float16 __ovld __cnfn half_log(float16 x);
8794
8795 /**
8796  * Compute a base 2 logarithm.
8797  */
8798 float __ovld __cnfn half_log2(float x);
8799 float2 __ovld __cnfn half_log2(float2 x);
8800 float3 __ovld __cnfn half_log2(float3 x);
8801 float4 __ovld __cnfn half_log2(float4 x);
8802 float8 __ovld __cnfn half_log2(float8 x);
8803 float16 __ovld __cnfn half_log2(float16 x);
8804
8805 /**
8806  * Compute a base 10 logarithm.
8807  */
8808 float __ovld __cnfn half_log10(float x);
8809 float2 __ovld __cnfn half_log10(float2 x);
8810 float3 __ovld __cnfn half_log10(float3 x);
8811 float4 __ovld __cnfn half_log10(float4 x);
8812 float8 __ovld __cnfn half_log10(float8 x);
8813 float16 __ovld __cnfn half_log10(float16 x);
8814
8815 /**
8816  * Compute x to the power y, where x is >= 0.
8817  */
8818 float __ovld __cnfn half_powr(float x, float y);
8819 float2 __ovld __cnfn half_powr(float2 x, float2 y);
8820 float3 __ovld __cnfn half_powr(float3 x, float3 y);
8821 float4 __ovld __cnfn half_powr(float4 x, float4 y);
8822 float8 __ovld __cnfn half_powr(float8 x, float8 y);
8823 float16 __ovld __cnfn half_powr(float16 x, float16 y);
8824
8825 /**
8826  * Compute reciprocal.
8827  */
8828 float __ovld __cnfn half_recip(float x);
8829 float2 __ovld __cnfn half_recip(float2 x);
8830 float3 __ovld __cnfn half_recip(float3 x);
8831 float4 __ovld __cnfn half_recip(float4 x);
8832 float8 __ovld __cnfn half_recip(float8 x);
8833 float16 __ovld __cnfn half_recip(float16 x);
8834
8835 /**
8836  * Compute inverse square root.
8837  */
8838 float __ovld __cnfn half_rsqrt(float x);
8839 float2 __ovld __cnfn half_rsqrt(float2 x);
8840 float3 __ovld __cnfn half_rsqrt(float3 x);
8841 float4 __ovld __cnfn half_rsqrt(float4 x);
8842 float8 __ovld __cnfn half_rsqrt(float8 x);
8843 float16 __ovld __cnfn half_rsqrt(float16 x);
8844
8845 /**
8846  * Compute sine. x must be in the range -2^16 ... +2^16.
8847  */
8848 float __ovld __cnfn half_sin(float x);
8849 float2 __ovld __cnfn half_sin(float2 x);
8850 float3 __ovld __cnfn half_sin(float3 x);
8851 float4 __ovld __cnfn half_sin(float4 x);
8852 float8 __ovld __cnfn half_sin(float8 x);
8853 float16 __ovld __cnfn half_sin(float16 x);
8854
8855 /**
8856  * Compute square root.
8857  */
8858 float __ovld __cnfn half_sqrt(float x);
8859 float2 __ovld __cnfn half_sqrt(float2 x);
8860 float3 __ovld __cnfn half_sqrt(float3 x);
8861 float4 __ovld __cnfn half_sqrt(float4 x);
8862 float8 __ovld __cnfn half_sqrt(float8 x);
8863 float16 __ovld __cnfn half_sqrt(float16 x);
8864
8865 /**
8866  * Compute tangent. x must be in the range -216 ... +216.
8867  */
8868 float __ovld __cnfn half_tan(float x);
8869 float2 __ovld __cnfn half_tan(float2 x);
8870 float3 __ovld __cnfn half_tan(float3 x);
8871 float4 __ovld __cnfn half_tan(float4 x);
8872 float8 __ovld __cnfn half_tan(float8 x);
8873 float16 __ovld __cnfn half_tan(float16 x);
8874
8875 /**
8876  * Compute cosine over an implementation-defined range.
8877  * The maximum error is implementation-defined.
8878  */
8879 float __ovld __cnfn native_cos(float x);
8880 float2 __ovld __cnfn native_cos(float2 x);
8881 float3 __ovld __cnfn native_cos(float3 x);
8882 float4 __ovld __cnfn native_cos(float4 x);
8883 float8 __ovld __cnfn native_cos(float8 x);
8884 float16 __ovld __cnfn native_cos(float16 x);
8885
8886 /**
8887  * Compute x / y over an implementation-defined range.
8888  * The maximum error is implementation-defined.
8889  */
8890 float __ovld __cnfn native_divide(float x, float y);
8891 float2 __ovld __cnfn native_divide(float2 x, float2 y);
8892 float3 __ovld __cnfn native_divide(float3 x, float3 y);
8893 float4 __ovld __cnfn native_divide(float4 x, float4 y);
8894 float8 __ovld __cnfn native_divide(float8 x, float8 y);
8895 float16 __ovld __cnfn native_divide(float16 x, float16 y);
8896
8897 /**
8898  * Compute the base- e exponential of x over an
8899  * implementation-defined range. The maximum error is
8900  * implementation-defined.
8901  */
8902 float __ovld __cnfn native_exp(float x);
8903 float2 __ovld __cnfn native_exp(float2 x);
8904 float3 __ovld __cnfn native_exp(float3 x);
8905 float4 __ovld __cnfn native_exp(float4 x);
8906 float8 __ovld __cnfn native_exp(float8 x);
8907 float16 __ovld __cnfn native_exp(float16 x);
8908
8909 /**
8910  * Compute the base- 2 exponential of x over an
8911  * implementation-defined range. The maximum error is
8912  * implementation-defined.
8913  */
8914 float __ovld __cnfn native_exp2(float x);
8915 float2 __ovld __cnfn native_exp2(float2 x);
8916 float3 __ovld __cnfn native_exp2(float3 x);
8917 float4 __ovld __cnfn native_exp2(float4 x);
8918 float8 __ovld __cnfn native_exp2(float8 x);
8919 float16 __ovld __cnfn native_exp2(float16 x);
8920
8921 /**
8922  * Compute the base- 10 exponential of x over an
8923  * implementation-defined range. The maximum error is
8924  * implementation-defined.
8925  */
8926 float __ovld __cnfn native_exp10(float x);
8927 float2 __ovld __cnfn native_exp10(float2 x);
8928 float3 __ovld __cnfn native_exp10(float3 x);
8929 float4 __ovld __cnfn native_exp10(float4 x);
8930 float8 __ovld __cnfn native_exp10(float8 x);
8931 float16 __ovld __cnfn native_exp10(float16 x);
8932
8933 /**
8934  * Compute natural logarithm over an implementationdefined
8935  * range. The maximum error is implementation
8936  * defined.
8937  */
8938 float __ovld __cnfn native_log(float x);
8939 float2 __ovld __cnfn native_log(float2 x);
8940 float3 __ovld __cnfn native_log(float3 x);
8941 float4 __ovld __cnfn native_log(float4 x);
8942 float8 __ovld __cnfn native_log(float8 x);
8943 float16 __ovld __cnfn native_log(float16 x);
8944
8945 /**
8946  * Compute a base 2 logarithm over an implementationdefined
8947  * range. The maximum error is implementationdefined.
8948  */
8949 float __ovld __cnfn native_log2(float x);
8950 float2 __ovld __cnfn native_log2(float2 x);
8951 float3 __ovld __cnfn native_log2(float3 x);
8952 float4 __ovld __cnfn native_log2(float4 x);
8953 float8 __ovld __cnfn native_log2(float8 x);
8954 float16 __ovld __cnfn native_log2(float16 x);
8955
8956 /**
8957  * Compute a base 10 logarithm over an implementationdefined
8958  * range. The maximum error is implementationdefined.
8959  */
8960 float __ovld __cnfn native_log10(float x);
8961 float2 __ovld __cnfn native_log10(float2 x);
8962 float3 __ovld __cnfn native_log10(float3 x);
8963 float4 __ovld __cnfn native_log10(float4 x);
8964 float8 __ovld __cnfn native_log10(float8 x);
8965 float16 __ovld __cnfn native_log10(float16 x);
8966
8967 /**
8968  * Compute x to the power y, where x is >= 0. The range of
8969  * x and y are implementation-defined. The maximum error
8970  * is implementation-defined.
8971  */
8972 float __ovld __cnfn native_powr(float x, float y);
8973 float2 __ovld __cnfn native_powr(float2 x, float2 y);
8974 float3 __ovld __cnfn native_powr(float3 x, float3 y);
8975 float4 __ovld __cnfn native_powr(float4 x, float4 y);
8976 float8 __ovld __cnfn native_powr(float8 x, float8 y);
8977 float16 __ovld __cnfn native_powr(float16 x, float16 y);
8978
8979 /**
8980  * Compute reciprocal over an implementation-defined
8981  * range. The maximum error is implementation-defined.
8982  */
8983 float __ovld __cnfn native_recip(float x);
8984 float2 __ovld __cnfn native_recip(float2 x);
8985 float3 __ovld __cnfn native_recip(float3 x);
8986 float4 __ovld __cnfn native_recip(float4 x);
8987 float8 __ovld __cnfn native_recip(float8 x);
8988 float16 __ovld __cnfn native_recip(float16 x);
8989
8990 /**
8991  * Compute inverse square root over an implementationdefined
8992  * range. The maximum error is implementationdefined.
8993  */
8994 float __ovld __cnfn native_rsqrt(float x);
8995 float2 __ovld __cnfn native_rsqrt(float2 x);
8996 float3 __ovld __cnfn native_rsqrt(float3 x);
8997 float4 __ovld __cnfn native_rsqrt(float4 x);
8998 float8 __ovld __cnfn native_rsqrt(float8 x);
8999 float16 __ovld __cnfn native_rsqrt(float16 x);
9000
9001 /**
9002  * Compute sine over an implementation-defined range.
9003  * The maximum error is implementation-defined.
9004  */
9005 float __ovld __cnfn native_sin(float x);
9006 float2 __ovld __cnfn native_sin(float2 x);
9007 float3 __ovld __cnfn native_sin(float3 x);
9008 float4 __ovld __cnfn native_sin(float4 x);
9009 float8 __ovld __cnfn native_sin(float8 x);
9010 float16 __ovld __cnfn native_sin(float16 x);
9011
9012 /**
9013  * Compute square root over an implementation-defined
9014  * range. The maximum error is implementation-defined.
9015  */
9016 float __ovld __cnfn native_sqrt(float x);
9017 float2 __ovld __cnfn native_sqrt(float2 x);
9018 float3 __ovld __cnfn native_sqrt(float3 x);
9019 float4 __ovld __cnfn native_sqrt(float4 x);
9020 float8 __ovld __cnfn native_sqrt(float8 x);
9021 float16 __ovld __cnfn native_sqrt(float16 x);
9022
9023 /**
9024  * Compute tangent over an implementation-defined range.
9025  * The maximum error is implementation-defined.
9026  */
9027 float __ovld __cnfn native_tan(float x);
9028 float2 __ovld __cnfn native_tan(float2 x);
9029 float3 __ovld __cnfn native_tan(float3 x);
9030 float4 __ovld __cnfn native_tan(float4 x);
9031 float8 __ovld __cnfn native_tan(float8 x);
9032 float16 __ovld __cnfn native_tan(float16 x);
9033
9034 // OpenCL v1.1 s6.11.3, v1.2 s6.12.3, v2.0 s6.13.3 - Integer Functions
9035
9036 /**
9037  * Returns | x |.
9038  */
9039 uchar __ovld __cnfn abs(char x);
9040 uchar __ovld __cnfn abs(uchar x);
9041 uchar2 __ovld __cnfn abs(char2 x);
9042 uchar2 __ovld __cnfn abs(uchar2 x);
9043 uchar3 __ovld __cnfn abs(char3 x);
9044 uchar3 __ovld __cnfn abs(uchar3 x);
9045 uchar4 __ovld __cnfn abs(char4 x);
9046 uchar4 __ovld __cnfn abs(uchar4 x);
9047 uchar8 __ovld __cnfn abs(char8 x);
9048 uchar8 __ovld __cnfn abs(uchar8 x);
9049 uchar16 __ovld __cnfn abs(char16 x);
9050 uchar16 __ovld __cnfn abs(uchar16 x);
9051 ushort __ovld __cnfn abs(short x);
9052 ushort __ovld __cnfn abs(ushort x);
9053 ushort2 __ovld __cnfn abs(short2 x);
9054 ushort2 __ovld __cnfn abs(ushort2 x);
9055 ushort3 __ovld __cnfn abs(short3 x);
9056 ushort3 __ovld __cnfn abs(ushort3 x);
9057 ushort4 __ovld __cnfn abs(short4 x);
9058 ushort4 __ovld __cnfn abs(ushort4 x);
9059 ushort8 __ovld __cnfn abs(short8 x);
9060 ushort8 __ovld __cnfn abs(ushort8 x);
9061 ushort16 __ovld __cnfn abs(short16 x);
9062 ushort16 __ovld __cnfn abs(ushort16 x);
9063 uint __ovld __cnfn abs(int x);
9064 uint __ovld __cnfn abs(uint x);
9065 uint2 __ovld __cnfn abs(int2 x);
9066 uint2 __ovld __cnfn abs(uint2 x);
9067 uint3 __ovld __cnfn abs(int3 x);
9068 uint3 __ovld __cnfn abs(uint3 x);
9069 uint4 __ovld __cnfn abs(int4 x);
9070 uint4 __ovld __cnfn abs(uint4 x);
9071 uint8 __ovld __cnfn abs(int8 x);
9072 uint8 __ovld __cnfn abs(uint8 x);
9073 uint16 __ovld __cnfn abs(int16 x);
9074 uint16 __ovld __cnfn abs(uint16 x);
9075 ulong __ovld __cnfn abs(long x);
9076 ulong __ovld __cnfn abs(ulong x);
9077 ulong2 __ovld __cnfn abs(long2 x);
9078 ulong2 __ovld __cnfn abs(ulong2 x);
9079 ulong3 __ovld __cnfn abs(long3 x);
9080 ulong3 __ovld __cnfn abs(ulong3 x);
9081 ulong4 __ovld __cnfn abs(long4 x);
9082 ulong4 __ovld __cnfn abs(ulong4 x);
9083 ulong8 __ovld __cnfn abs(long8 x);
9084 ulong8 __ovld __cnfn abs(ulong8 x);
9085 ulong16 __ovld __cnfn abs(long16 x);
9086 ulong16 __ovld __cnfn abs(ulong16 x);
9087
9088 /**
9089  * Returns | x - y | without modulo overflow.
9090  */
9091 uchar __ovld __cnfn abs_diff(char x, char y);
9092 uchar __ovld __cnfn abs_diff(uchar x, uchar y);
9093 uchar2 __ovld __cnfn abs_diff(char2 x, char2 y);
9094 uchar2 __ovld __cnfn abs_diff(uchar2 x, uchar2 y);
9095 uchar3 __ovld __cnfn abs_diff(char3 x, char3 y);
9096 uchar3 __ovld __cnfn abs_diff(uchar3 x, uchar3 y);
9097 uchar4 __ovld __cnfn abs_diff(char4 x, char4 y);
9098 uchar4 __ovld __cnfn abs_diff(uchar4 x, uchar4 y);
9099 uchar8 __ovld __cnfn abs_diff(char8 x, char8 y);
9100 uchar8 __ovld __cnfn abs_diff(uchar8 x, uchar8 y);
9101 uchar16 __ovld __cnfn abs_diff(char16 x, char16 y);
9102 uchar16 __ovld __cnfn abs_diff(uchar16 x, uchar16 y);
9103 ushort __ovld __cnfn abs_diff(short x, short y);
9104 ushort __ovld __cnfn abs_diff(ushort x, ushort y);
9105 ushort2 __ovld __cnfn abs_diff(short2 x, short2 y);
9106 ushort2 __ovld __cnfn abs_diff(ushort2 x, ushort2 y);
9107 ushort3 __ovld __cnfn abs_diff(short3 x, short3 y);
9108 ushort3 __ovld __cnfn abs_diff(ushort3 x, ushort3 y);
9109 ushort4 __ovld __cnfn abs_diff(short4 x, short4 y);
9110 ushort4 __ovld __cnfn abs_diff(ushort4 x, ushort4 y);
9111 ushort8 __ovld __cnfn abs_diff(short8 x, short8 y);
9112 ushort8 __ovld __cnfn abs_diff(ushort8 x, ushort8 y);
9113 ushort16 __ovld __cnfn abs_diff(short16 x, short16 y);
9114 ushort16 __ovld __cnfn abs_diff(ushort16 x, ushort16 y);
9115 uint __ovld __cnfn abs_diff(int x, int y);
9116 uint __ovld __cnfn abs_diff(uint x, uint y);
9117 uint2 __ovld __cnfn abs_diff(int2 x, int2 y);
9118 uint2 __ovld __cnfn abs_diff(uint2 x, uint2 y);
9119 uint3 __ovld __cnfn abs_diff(int3 x, int3 y);
9120 uint3 __ovld __cnfn abs_diff(uint3 x, uint3 y);
9121 uint4 __ovld __cnfn abs_diff(int4 x, int4 y);
9122 uint4 __ovld __cnfn abs_diff(uint4 x, uint4 y);
9123 uint8 __ovld __cnfn abs_diff(int8 x, int8 y);
9124 uint8 __ovld __cnfn abs_diff(uint8 x, uint8 y);
9125 uint16 __ovld __cnfn abs_diff(int16 x, int16 y);
9126 uint16 __ovld __cnfn abs_diff(uint16 x, uint16 y);
9127 ulong __ovld __cnfn abs_diff(long x, long y);
9128 ulong __ovld __cnfn abs_diff(ulong x, ulong y);
9129 ulong2 __ovld __cnfn abs_diff(long2 x, long2 y);
9130 ulong2 __ovld __cnfn abs_diff(ulong2 x, ulong2 y);
9131 ulong3 __ovld __cnfn abs_diff(long3 x, long3 y);
9132 ulong3 __ovld __cnfn abs_diff(ulong3 x, ulong3 y);
9133 ulong4 __ovld __cnfn abs_diff(long4 x, long4 y);
9134 ulong4 __ovld __cnfn abs_diff(ulong4 x, ulong4 y);
9135 ulong8 __ovld __cnfn abs_diff(long8 x, long8 y);
9136 ulong8 __ovld __cnfn abs_diff(ulong8 x, ulong8 y);
9137 ulong16 __ovld __cnfn abs_diff(long16 x, long16 y);
9138 ulong16 __ovld __cnfn abs_diff(ulong16 x, ulong16 y);
9139
9140 /**
9141  * Returns x + y and saturates the result.
9142  */
9143 char __ovld __cnfn add_sat(char x, char y);
9144 uchar __ovld __cnfn add_sat(uchar x, uchar y);
9145 char2 __ovld __cnfn add_sat(char2 x, char2 y);
9146 uchar2 __ovld __cnfn add_sat(uchar2 x, uchar2 y);
9147 char3 __ovld __cnfn add_sat(char3 x, char3 y);
9148 uchar3 __ovld __cnfn add_sat(uchar3 x, uchar3 y);
9149 char4 __ovld __cnfn add_sat(char4 x, char4 y);
9150 uchar4 __ovld __cnfn add_sat(uchar4 x, uchar4 y);
9151 char8 __ovld __cnfn add_sat(char8 x, char8 y);
9152 uchar8 __ovld __cnfn add_sat(uchar8 x, uchar8 y);
9153 char16 __ovld __cnfn add_sat(char16 x, char16 y);
9154 uchar16 __ovld __cnfn add_sat(uchar16 x, uchar16 y);
9155 short __ovld __cnfn add_sat(short x, short y);
9156 ushort __ovld __cnfn add_sat(ushort x, ushort y);
9157 short2 __ovld __cnfn add_sat(short2 x, short2 y);
9158 ushort2 __ovld __cnfn add_sat(ushort2 x, ushort2 y);
9159 short3 __ovld __cnfn add_sat(short3 x, short3 y);
9160 ushort3 __ovld __cnfn add_sat(ushort3 x, ushort3 y);
9161 short4 __ovld __cnfn add_sat(short4 x, short4 y);
9162 ushort4 __ovld __cnfn add_sat(ushort4 x, ushort4 y);
9163 short8 __ovld __cnfn add_sat(short8 x, short8 y);
9164 ushort8 __ovld __cnfn add_sat(ushort8 x, ushort8 y);
9165 short16 __ovld __cnfn add_sat(short16 x, short16 y);
9166 ushort16 __ovld __cnfn add_sat(ushort16 x, ushort16 y);
9167 int __ovld __cnfn add_sat(int x, int y);
9168 uint __ovld __cnfn add_sat(uint x, uint y);
9169 int2 __ovld __cnfn add_sat(int2 x, int2 y);
9170 uint2 __ovld __cnfn add_sat(uint2 x, uint2 y);
9171 int3 __ovld __cnfn add_sat(int3 x, int3 y);
9172 uint3 __ovld __cnfn add_sat(uint3 x, uint3 y);
9173 int4 __ovld __cnfn add_sat(int4 x, int4 y);
9174 uint4 __ovld __cnfn add_sat(uint4 x, uint4 y);
9175 int8 __ovld __cnfn add_sat(int8 x, int8 y);
9176 uint8 __ovld __cnfn add_sat(uint8 x, uint8 y);
9177 int16 __ovld __cnfn add_sat(int16 x, int16 y);
9178 uint16 __ovld __cnfn add_sat(uint16 x, uint16 y);
9179 long __ovld __cnfn add_sat(long x, long y);
9180 ulong __ovld __cnfn add_sat(ulong x, ulong y);
9181 long2 __ovld __cnfn add_sat(long2 x, long2 y);
9182 ulong2 __ovld __cnfn add_sat(ulong2 x, ulong2 y);
9183 long3 __ovld __cnfn add_sat(long3 x, long3 y);
9184 ulong3 __ovld __cnfn add_sat(ulong3 x, ulong3 y);
9185 long4 __ovld __cnfn add_sat(long4 x, long4 y);
9186 ulong4 __ovld __cnfn add_sat(ulong4 x, ulong4 y);
9187 long8 __ovld __cnfn add_sat(long8 x, long8 y);
9188 ulong8 __ovld __cnfn add_sat(ulong8 x, ulong8 y);
9189 long16 __ovld __cnfn add_sat(long16 x, long16 y);
9190 ulong16 __ovld __cnfn add_sat(ulong16 x, ulong16 y);
9191
9192 /**
9193  * Returns (x + y) >> 1. The intermediate sum does
9194  * not modulo overflow.
9195  */
9196 char __ovld __cnfn hadd(char x, char y);
9197 uchar __ovld __cnfn hadd(uchar x, uchar y);
9198 char2 __ovld __cnfn hadd(char2 x, char2 y);
9199 uchar2 __ovld __cnfn hadd(uchar2 x, uchar2 y);
9200 char3 __ovld __cnfn hadd(char3 x, char3 y);
9201 uchar3 __ovld __cnfn hadd(uchar3 x, uchar3 y);
9202 char4 __ovld __cnfn hadd(char4 x, char4 y);
9203 uchar4 __ovld __cnfn hadd(uchar4 x, uchar4 y);
9204 char8 __ovld __cnfn hadd(char8 x, char8 y);
9205 uchar8 __ovld __cnfn hadd(uchar8 x, uchar8 y);
9206 char16 __ovld __cnfn hadd(char16 x, char16 y);
9207 uchar16 __ovld __cnfn hadd(uchar16 x, uchar16 y);
9208 short __ovld __cnfn hadd(short x, short y);
9209 ushort __ovld __cnfn hadd(ushort x, ushort y);
9210 short2 __ovld __cnfn hadd(short2 x, short2 y);
9211 ushort2 __ovld __cnfn hadd(ushort2 x, ushort2 y);
9212 short3 __ovld __cnfn hadd(short3 x, short3 y);
9213 ushort3 __ovld __cnfn hadd(ushort3 x, ushort3 y);
9214 short4 __ovld __cnfn hadd(short4 x, short4 y);
9215 ushort4 __ovld __cnfn hadd(ushort4 x, ushort4 y);
9216 short8 __ovld __cnfn hadd(short8 x, short8 y);
9217 ushort8 __ovld __cnfn hadd(ushort8 x, ushort8 y);
9218 short16 __ovld __cnfn hadd(short16 x, short16 y);
9219 ushort16 __ovld __cnfn hadd(ushort16 x, ushort16 y);
9220 int __ovld __cnfn hadd(int x, int y);
9221 uint __ovld __cnfn hadd(uint x, uint y);
9222 int2 __ovld __cnfn hadd(int2 x, int2 y);
9223 uint2 __ovld __cnfn hadd(uint2 x, uint2 y);
9224 int3 __ovld __cnfn hadd(int3 x, int3 y);
9225 uint3 __ovld __cnfn hadd(uint3 x, uint3 y);
9226 int4 __ovld __cnfn hadd(int4 x, int4 y);
9227 uint4 __ovld __cnfn hadd(uint4 x, uint4 y);
9228 int8 __ovld __cnfn hadd(int8 x, int8 y);
9229 uint8 __ovld __cnfn hadd(uint8 x, uint8 y);
9230 int16 __ovld __cnfn hadd(int16 x, int16 y);
9231 uint16 __ovld __cnfn hadd(uint16 x, uint16 y);
9232 long __ovld __cnfn hadd(long x, long y);
9233 ulong __ovld __cnfn hadd(ulong x, ulong y);
9234 long2 __ovld __cnfn hadd(long2 x, long2 y);
9235 ulong2 __ovld __cnfn hadd(ulong2 x, ulong2 y);
9236 long3 __ovld __cnfn hadd(long3 x, long3 y);
9237 ulong3 __ovld __cnfn hadd(ulong3 x, ulong3 y);
9238 long4 __ovld __cnfn hadd(long4 x, long4 y);
9239 ulong4 __ovld __cnfn hadd(ulong4 x, ulong4 y);
9240 long8 __ovld __cnfn hadd(long8 x, long8 y);
9241 ulong8 __ovld __cnfn hadd(ulong8 x, ulong8 y);
9242 long16 __ovld __cnfn hadd(long16 x, long16 y);
9243 ulong16 __ovld __cnfn hadd(ulong16 x, ulong16 y);
9244
9245 /**
9246  * Returns (x + y + 1) >> 1. The intermediate sum
9247  * does not modulo overflow.
9248  */
9249 char __ovld __cnfn rhadd(char x, char y);
9250 uchar __ovld __cnfn rhadd(uchar x, uchar y);
9251 char2 __ovld __cnfn rhadd(char2 x, char2 y);
9252 uchar2 __ovld __cnfn rhadd(uchar2 x, uchar2 y);
9253 char3 __ovld __cnfn rhadd(char3 x, char3 y);
9254 uchar3 __ovld __cnfn rhadd(uchar3 x, uchar3 y);
9255 char4 __ovld __cnfn rhadd(char4 x, char4 y);
9256 uchar4 __ovld __cnfn rhadd(uchar4 x, uchar4 y);
9257 char8 __ovld __cnfn rhadd(char8 x, char8 y);
9258 uchar8 __ovld __cnfn rhadd(uchar8 x, uchar8 y);
9259 char16 __ovld __cnfn rhadd(char16 x, char16 y);
9260 uchar16 __ovld __cnfn rhadd(uchar16 x, uchar16 y);
9261 short __ovld __cnfn rhadd(short x, short y);
9262 ushort __ovld __cnfn rhadd(ushort x, ushort y);
9263 short2 __ovld __cnfn rhadd(short2 x, short2 y);
9264 ushort2 __ovld __cnfn rhadd(ushort2 x, ushort2 y);
9265 short3 __ovld __cnfn rhadd(short3 x, short3 y);
9266 ushort3 __ovld __cnfn rhadd(ushort3 x, ushort3 y);
9267 short4 __ovld __cnfn rhadd(short4 x, short4 y);
9268 ushort4 __ovld __cnfn rhadd(ushort4 x, ushort4 y);
9269 short8 __ovld __cnfn rhadd(short8 x, short8 y);
9270 ushort8 __ovld __cnfn rhadd(ushort8 x, ushort8 y);
9271 short16 __ovld __cnfn rhadd(short16 x, short16 y);
9272 ushort16 __ovld __cnfn rhadd(ushort16 x, ushort16 y);
9273 int __ovld __cnfn rhadd(int x, int y);
9274 uint __ovld __cnfn rhadd(uint x, uint y);
9275 int2 __ovld __cnfn rhadd(int2 x, int2 y);
9276 uint2 __ovld __cnfn rhadd(uint2 x, uint2 y);
9277 int3 __ovld __cnfn rhadd(int3 x, int3 y);
9278 uint3 __ovld __cnfn rhadd(uint3 x, uint3 y);
9279 int4 __ovld __cnfn rhadd(int4 x, int4 y);
9280 uint4 __ovld __cnfn rhadd(uint4 x, uint4 y);
9281 int8 __ovld __cnfn rhadd(int8 x, int8 y);
9282 uint8 __ovld __cnfn rhadd(uint8 x, uint8 y);
9283 int16 __ovld __cnfn rhadd(int16 x, int16 y);
9284 uint16 __ovld __cnfn rhadd(uint16 x, uint16 y);
9285 long __ovld __cnfn rhadd(long x, long y);
9286 ulong __ovld __cnfn rhadd(ulong x, ulong y);
9287 long2 __ovld __cnfn rhadd(long2 x, long2 y);
9288 ulong2 __ovld __cnfn rhadd(ulong2 x, ulong2 y);
9289 long3 __ovld __cnfn rhadd(long3 x, long3 y);
9290 ulong3 __ovld __cnfn rhadd(ulong3 x, ulong3 y);
9291 long4 __ovld __cnfn rhadd(long4 x, long4 y);
9292 ulong4 __ovld __cnfn rhadd(ulong4 x, ulong4 y);
9293 long8 __ovld __cnfn rhadd(long8 x, long8 y);
9294 ulong8 __ovld __cnfn rhadd(ulong8 x, ulong8 y);
9295 long16 __ovld __cnfn rhadd(long16 x, long16 y);
9296 ulong16 __ovld __cnfn rhadd(ulong16 x, ulong16 y);
9297
9298 /**
9299  * Returns min(max(x, minval), maxval).
9300  * Results are undefined if minval > maxval.
9301  */
9302 char __ovld __cnfn clamp(char x, char minval, char maxval);
9303 uchar __ovld __cnfn clamp(uchar x, uchar minval, uchar maxval);
9304 char2 __ovld __cnfn clamp(char2 x, char2 minval, char2 maxval);
9305 uchar2 __ovld __cnfn clamp(uchar2 x, uchar2 minval, uchar2 maxval);
9306 char3 __ovld __cnfn clamp(char3 x, char3 minval, char3 maxval);
9307 uchar3 __ovld __cnfn clamp(uchar3 x, uchar3 minval, uchar3 maxval);
9308 char4 __ovld __cnfn clamp(char4 x, char4 minval, char4 maxval);
9309 uchar4 __ovld __cnfn clamp(uchar4 x, uchar4 minval, uchar4 maxval);
9310 char8 __ovld __cnfn clamp(char8 x, char8 minval, char8 maxval);
9311 uchar8 __ovld __cnfn clamp(uchar8 x, uchar8 minval, uchar8 maxval);
9312 char16 __ovld __cnfn clamp(char16 x, char16 minval, char16 maxval);
9313 uchar16 __ovld __cnfn clamp(uchar16 x, uchar16 minval, uchar16 maxval);
9314 short __ovld __cnfn clamp(short x, short minval, short maxval);
9315 ushort __ovld __cnfn clamp(ushort x, ushort minval, ushort maxval);
9316 short2 __ovld __cnfn clamp(short2 x, short2 minval, short2 maxval);
9317 ushort2 __ovld __cnfn clamp(ushort2 x, ushort2 minval, ushort2 maxval);
9318 short3 __ovld __cnfn clamp(short3 x, short3 minval, short3 maxval);
9319 ushort3 __ovld __cnfn clamp(ushort3 x, ushort3 minval, ushort3 maxval);
9320 short4 __ovld __cnfn clamp(short4 x, short4 minval, short4 maxval);
9321 ushort4 __ovld __cnfn clamp(ushort4 x, ushort4 minval, ushort4 maxval);
9322 short8 __ovld __cnfn clamp(short8 x, short8 minval, short8 maxval);
9323 ushort8 __ovld __cnfn clamp(ushort8 x, ushort8 minval, ushort8 maxval);
9324 short16 __ovld __cnfn clamp(short16 x, short16 minval, short16 maxval);
9325 ushort16 __ovld __cnfn clamp(ushort16 x, ushort16 minval, ushort16 maxval);
9326 int __ovld __cnfn clamp(int x, int minval, int maxval);
9327 uint __ovld __cnfn clamp(uint x, uint minval, uint maxval);
9328 int2 __ovld __cnfn clamp(int2 x, int2 minval, int2 maxval);
9329 uint2 __ovld __cnfn clamp(uint2 x, uint2 minval, uint2 maxval);
9330 int3 __ovld __cnfn clamp(int3 x, int3 minval, int3 maxval);
9331 uint3 __ovld __cnfn clamp(uint3 x, uint3 minval, uint3 maxval);
9332 int4 __ovld __cnfn clamp(int4 x, int4 minval, int4 maxval);
9333 uint4 __ovld __cnfn clamp(uint4 x, uint4 minval, uint4 maxval);
9334 int8 __ovld __cnfn clamp(int8 x, int8 minval, int8 maxval);
9335 uint8 __ovld __cnfn clamp(uint8 x, uint8 minval, uint8 maxval);
9336 int16 __ovld __cnfn clamp(int16 x, int16 minval, int16 maxval);
9337 uint16 __ovld __cnfn clamp(uint16 x, uint16 minval, uint16 maxval);
9338 long __ovld __cnfn clamp(long x, long minval, long maxval);
9339 ulong __ovld __cnfn clamp(ulong x, ulong minval, ulong maxval);
9340 long2 __ovld __cnfn clamp(long2 x, long2 minval, long2 maxval);
9341 ulong2 __ovld __cnfn clamp(ulong2 x, ulong2 minval, ulong2 maxval);
9342 long3 __ovld __cnfn clamp(long3 x, long3 minval, long3 maxval);
9343 ulong3 __ovld __cnfn clamp(ulong3 x, ulong3 minval, ulong3 maxval);
9344 long4 __ovld __cnfn clamp(long4 x, long4 minval, long4 maxval);
9345 ulong4 __ovld __cnfn clamp(ulong4 x, ulong4 minval, ulong4 maxval);
9346 long8 __ovld __cnfn clamp(long8 x, long8 minval, long8 maxval);
9347 ulong8 __ovld __cnfn clamp(ulong8 x, ulong8 minval, ulong8 maxval);
9348 long16 __ovld __cnfn clamp(long16 x, long16 minval, long16 maxval);
9349 ulong16 __ovld __cnfn clamp(ulong16 x, ulong16 minval, ulong16 maxval);
9350 char2 __ovld __cnfn clamp(char2 x, char minval, char maxval);
9351 uchar2 __ovld __cnfn clamp(uchar2 x, uchar minval, uchar maxval);
9352 char3 __ovld __cnfn clamp(char3 x, char minval, char maxval);
9353 uchar3 __ovld __cnfn clamp(uchar3 x, uchar minval, uchar maxval);
9354 char4 __ovld __cnfn clamp(char4 x, char minval, char maxval);
9355 uchar4 __ovld __cnfn clamp(uchar4 x, uchar minval, uchar maxval);
9356 char8 __ovld __cnfn clamp(char8 x, char minval, char maxval);
9357 uchar8 __ovld __cnfn clamp(uchar8 x, uchar minval, uchar maxval);
9358 char16 __ovld __cnfn clamp(char16 x, char minval, char maxval);
9359 uchar16 __ovld __cnfn clamp(uchar16 x, uchar minval, uchar maxval);
9360 short2 __ovld __cnfn clamp(short2 x, short minval, short maxval);
9361 ushort2 __ovld __cnfn clamp(ushort2 x, ushort minval, ushort maxval);
9362 short3 __ovld __cnfn clamp(short3 x, short minval, short maxval);
9363 ushort3 __ovld __cnfn clamp(ushort3 x, ushort minval, ushort maxval);
9364 short4 __ovld __cnfn clamp(short4 x, short minval, short maxval);
9365 ushort4 __ovld __cnfn clamp(ushort4 x, ushort minval, ushort maxval);
9366 short8 __ovld __cnfn clamp(short8 x, short minval, short maxval);
9367 ushort8 __ovld __cnfn clamp(ushort8 x, ushort minval, ushort maxval);
9368 short16 __ovld __cnfn clamp(short16 x, short minval, short maxval);
9369 ushort16 __ovld __cnfn clamp(ushort16 x, ushort minval, ushort maxval);
9370 int2 __ovld __cnfn clamp(int2 x, int minval, int maxval);
9371 uint2 __ovld __cnfn clamp(uint2 x, uint minval, uint maxval);
9372 int3 __ovld __cnfn clamp(int3 x, int minval, int maxval);
9373 uint3 __ovld __cnfn clamp(uint3 x, uint minval, uint maxval);
9374 int4 __ovld __cnfn clamp(int4 x, int minval, int maxval);
9375 uint4 __ovld __cnfn clamp(uint4 x, uint minval, uint maxval);
9376 int8 __ovld __cnfn clamp(int8 x, int minval, int maxval);
9377 uint8 __ovld __cnfn clamp(uint8 x, uint minval, uint maxval);
9378 int16 __ovld __cnfn clamp(int16 x, int minval, int maxval);
9379 uint16 __ovld __cnfn clamp(uint16 x, uint minval, uint maxval);
9380 long2 __ovld __cnfn clamp(long2 x, long minval, long maxval);
9381 ulong2 __ovld __cnfn clamp(ulong2 x, ulong minval, ulong maxval);
9382 long3 __ovld __cnfn clamp(long3 x, long minval, long maxval);
9383 ulong3 __ovld __cnfn clamp(ulong3 x, ulong minval, ulong maxval);
9384 long4 __ovld __cnfn clamp(long4 x, long minval, long maxval);
9385 ulong4 __ovld __cnfn clamp(ulong4 x, ulong minval, ulong maxval);
9386 long8 __ovld __cnfn clamp(long8 x, long minval, long maxval);
9387 ulong8 __ovld __cnfn clamp(ulong8 x, ulong minval, ulong maxval);
9388 long16 __ovld __cnfn clamp(long16 x, long minval, long maxval);
9389 ulong16 __ovld __cnfn clamp(ulong16 x, ulong minval, ulong maxval);
9390
9391 /**
9392  * Returns the number of leading 0-bits in x, starting
9393  * at the most significant bit position.
9394  */
9395 char __ovld __cnfn clz(char x);
9396 uchar __ovld __cnfn clz(uchar x);
9397 char2 __ovld __cnfn clz(char2 x);
9398 uchar2 __ovld __cnfn clz(uchar2 x);
9399 char3 __ovld __cnfn clz(char3 x);
9400 uchar3 __ovld __cnfn clz(uchar3 x);
9401 char4 __ovld __cnfn clz(char4 x);
9402 uchar4 __ovld __cnfn clz(uchar4 x);
9403 char8 __ovld __cnfn clz(char8 x);
9404 uchar8 __ovld __cnfn clz(uchar8 x);
9405 char16 __ovld __cnfn clz(char16 x);
9406 uchar16 __ovld __cnfn clz(uchar16 x);
9407 short __ovld __cnfn clz(short x);
9408 ushort __ovld __cnfn clz(ushort x);
9409 short2 __ovld __cnfn clz(short2 x);
9410 ushort2 __ovld __cnfn clz(ushort2 x);
9411 short3 __ovld __cnfn clz(short3 x);
9412 ushort3 __ovld __cnfn clz(ushort3 x);
9413 short4 __ovld __cnfn clz(short4 x);
9414 ushort4 __ovld __cnfn clz(ushort4 x);
9415 short8 __ovld __cnfn clz(short8 x);
9416 ushort8 __ovld __cnfn clz(ushort8 x);
9417 short16 __ovld __cnfn clz(short16 x);
9418 ushort16 __ovld __cnfn clz(ushort16 x);
9419 int __ovld __cnfn clz(int x);
9420 uint __ovld __cnfn clz(uint x);
9421 int2 __ovld __cnfn clz(int2 x);
9422 uint2 __ovld __cnfn clz(uint2 x);
9423 int3 __ovld __cnfn clz(int3 x);
9424 uint3 __ovld __cnfn clz(uint3 x);
9425 int4 __ovld __cnfn clz(int4 x);
9426 uint4 __ovld __cnfn clz(uint4 x);
9427 int8 __ovld __cnfn clz(int8 x);
9428 uint8 __ovld __cnfn clz(uint8 x);
9429 int16 __ovld __cnfn clz(int16 x);
9430 uint16 __ovld __cnfn clz(uint16 x);
9431 long __ovld __cnfn clz(long x);
9432 ulong __ovld __cnfn clz(ulong x);
9433 long2 __ovld __cnfn clz(long2 x);
9434 ulong2 __ovld __cnfn clz(ulong2 x);
9435 long3 __ovld __cnfn clz(long3 x);
9436 ulong3 __ovld __cnfn clz(ulong3 x);
9437 long4 __ovld __cnfn clz(long4 x);
9438 ulong4 __ovld __cnfn clz(ulong4 x);
9439 long8 __ovld __cnfn clz(long8 x);
9440 ulong8 __ovld __cnfn clz(ulong8 x);
9441 long16 __ovld __cnfn clz(long16 x);
9442 ulong16 __ovld __cnfn clz(ulong16 x);
9443
9444 /**
9445  * Returns the count of trailing 0-bits in x. If x is 0,
9446  * returns the size in bits of the type of x or
9447  * component type of x, if x is a vector.
9448  */
9449 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
9450 char __ovld ctz(char x);
9451 uchar __ovld ctz(uchar x);
9452 char2 __ovld ctz(char2 x);
9453 uchar2 __ovld ctz(uchar2 x);
9454 char3 __ovld ctz(char3 x);
9455 uchar3 __ovld ctz(uchar3 x);
9456 char4 __ovld ctz(char4 x);
9457 uchar4 __ovld ctz(uchar4 x);
9458 char8 __ovld ctz(char8 x);
9459 uchar8 __ovld ctz(uchar8 x);
9460 char16 __ovld ctz(char16 x);
9461 uchar16 __ovld ctz(uchar16 x);
9462 short __ovld ctz(short x);
9463 ushort __ovld ctz(ushort x);
9464 short2 __ovld ctz(short2 x);
9465 ushort2 __ovld ctz(ushort2 x);
9466 short3 __ovld ctz(short3 x);
9467 ushort3 __ovld ctz(ushort3 x);
9468 short4 __ovld ctz(short4 x);
9469 ushort4 __ovld ctz(ushort4 x);
9470 short8 __ovld ctz(short8 x);
9471 ushort8 __ovld ctz(ushort8 x);
9472 short16 __ovld ctz(short16 x);
9473 ushort16 __ovld ctz(ushort16 x);
9474 int __ovld ctz(int x);
9475 uint __ovld ctz(uint x);
9476 int2 __ovld ctz(int2 x);
9477 uint2 __ovld ctz(uint2 x);
9478 int3 __ovld ctz(int3 x);
9479 uint3 __ovld ctz(uint3 x);
9480 int4 __ovld ctz(int4 x);
9481 uint4 __ovld ctz(uint4 x);
9482 int8 __ovld ctz(int8 x);
9483 uint8 __ovld ctz(uint8 x);
9484 int16 __ovld ctz(int16 x);
9485 uint16 __ovld ctz(uint16 x);
9486 long __ovld ctz(long x);
9487 ulong __ovld ctz(ulong x);
9488 long2 __ovld ctz(long2 x);
9489 ulong2 __ovld ctz(ulong2 x);
9490 long3 __ovld ctz(long3 x);
9491 ulong3 __ovld ctz(ulong3 x);
9492 long4 __ovld ctz(long4 x);
9493 ulong4 __ovld ctz(ulong4 x);
9494 long8 __ovld ctz(long8 x);
9495 ulong8 __ovld ctz(ulong8 x);
9496 long16 __ovld ctz(long16 x);
9497 ulong16 __ovld ctz(ulong16 x);
9498 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
9499
9500 /**
9501  * Returns mul_hi(a, b) + c.
9502  */
9503 char __ovld __cnfn mad_hi(char a, char b, char c);
9504 uchar __ovld __cnfn mad_hi(uchar a, uchar b, uchar c);
9505 char2 __ovld __cnfn mad_hi(char2 a, char2 b, char2 c);
9506 uchar2 __ovld __cnfn mad_hi(uchar2 a, uchar2 b, uchar2 c);
9507 char3 __ovld __cnfn mad_hi(char3 a, char3 b, char3 c);
9508 uchar3 __ovld __cnfn mad_hi(uchar3 a, uchar3 b, uchar3 c);
9509 char4 __ovld __cnfn mad_hi(char4 a, char4 b, char4 c);
9510 uchar4 __ovld __cnfn mad_hi(uchar4 a, uchar4 b, uchar4 c);
9511 char8 __ovld __cnfn mad_hi(char8 a, char8 b, char8 c);
9512 uchar8 __ovld __cnfn mad_hi(uchar8 a, uchar8 b, uchar8 c);
9513 char16 __ovld __cnfn mad_hi(char16 a, char16 b, char16 c);
9514 uchar16 __ovld __cnfn mad_hi(uchar16 a, uchar16 b, uchar16 c);
9515 short __ovld __cnfn mad_hi(short a, short b, short c);
9516 ushort __ovld __cnfn mad_hi(ushort a, ushort b, ushort c);
9517 short2 __ovld __cnfn mad_hi(short2 a, short2 b, short2 c);
9518 ushort2 __ovld __cnfn mad_hi(ushort2 a, ushort2 b, ushort2 c);
9519 short3 __ovld __cnfn mad_hi(short3 a, short3 b, short3 c);
9520 ushort3 __ovld __cnfn mad_hi(ushort3 a, ushort3 b, ushort3 c);
9521 short4 __ovld __cnfn mad_hi(short4 a, short4 b, short4 c);
9522 ushort4 __ovld __cnfn mad_hi(ushort4 a, ushort4 b, ushort4 c);
9523 short8 __ovld __cnfn mad_hi(short8 a, short8 b, short8 c);
9524 ushort8 __ovld __cnfn mad_hi(ushort8 a, ushort8 b, ushort8 c);
9525 short16 __ovld __cnfn mad_hi(short16 a, short16 b, short16 c);
9526 ushort16 __ovld __cnfn mad_hi(ushort16 a, ushort16 b, ushort16 c);
9527 int __ovld __cnfn mad_hi(int a, int b, int c);
9528 uint __ovld __cnfn mad_hi(uint a, uint b, uint c);
9529 int2 __ovld __cnfn mad_hi(int2 a, int2 b, int2 c);
9530 uint2 __ovld __cnfn mad_hi(uint2 a, uint2 b, uint2 c);
9531 int3 __ovld __cnfn mad_hi(int3 a, int3 b, int3 c);
9532 uint3 __ovld __cnfn mad_hi(uint3 a, uint3 b, uint3 c);
9533 int4 __ovld __cnfn mad_hi(int4 a, int4 b, int4 c);
9534 uint4 __ovld __cnfn mad_hi(uint4 a, uint4 b, uint4 c);
9535 int8 __ovld __cnfn mad_hi(int8 a, int8 b, int8 c);
9536 uint8 __ovld __cnfn mad_hi(uint8 a, uint8 b, uint8 c);
9537 int16 __ovld __cnfn mad_hi(int16 a, int16 b, int16 c);
9538 uint16 __ovld __cnfn mad_hi(uint16 a, uint16 b, uint16 c);
9539 long __ovld __cnfn mad_hi(long a, long b, long c);
9540 ulong __ovld __cnfn mad_hi(ulong a, ulong b, ulong c);
9541 long2 __ovld __cnfn mad_hi(long2 a, long2 b, long2 c);
9542 ulong2 __ovld __cnfn mad_hi(ulong2 a, ulong2 b, ulong2 c);
9543 long3 __ovld __cnfn mad_hi(long3 a, long3 b, long3 c);
9544 ulong3 __ovld __cnfn mad_hi(ulong3 a, ulong3 b, ulong3 c);
9545 long4 __ovld __cnfn mad_hi(long4 a, long4 b, long4 c);
9546 ulong4 __ovld __cnfn mad_hi(ulong4 a, ulong4 b, ulong4 c);
9547 long8 __ovld __cnfn mad_hi(long8 a, long8 b, long8 c);
9548 ulong8 __ovld __cnfn mad_hi(ulong8 a, ulong8 b, ulong8 c);
9549 long16 __ovld __cnfn mad_hi(long16 a, long16 b, long16 c);
9550 ulong16 __ovld __cnfn mad_hi(ulong16 a, ulong16 b, ulong16 c);
9551
9552 /**
9553  * Returns a * b + c and saturates the result.
9554  */
9555 char __ovld __cnfn mad_sat(char a, char b, char c);
9556 uchar __ovld __cnfn mad_sat(uchar a, uchar b, uchar c);
9557 char2 __ovld __cnfn mad_sat(char2 a, char2 b, char2 c);
9558 uchar2 __ovld __cnfn mad_sat(uchar2 a, uchar2 b, uchar2 c);
9559 char3 __ovld __cnfn mad_sat(char3 a, char3 b, char3 c);
9560 uchar3 __ovld __cnfn mad_sat(uchar3 a, uchar3 b, uchar3 c);
9561 char4 __ovld __cnfn mad_sat(char4 a, char4 b, char4 c);
9562 uchar4 __ovld __cnfn mad_sat(uchar4 a, uchar4 b, uchar4 c);
9563 char8 __ovld __cnfn mad_sat(char8 a, char8 b, char8 c);
9564 uchar8 __ovld __cnfn mad_sat(uchar8 a, uchar8 b, uchar8 c);
9565 char16 __ovld __cnfn mad_sat(char16 a, char16 b, char16 c);
9566 uchar16 __ovld __cnfn mad_sat(uchar16 a, uchar16 b, uchar16 c);
9567 short __ovld __cnfn mad_sat(short a, short b, short c);
9568 ushort __ovld __cnfn mad_sat(ushort a, ushort b, ushort c);
9569 short2 __ovld __cnfn mad_sat(short2 a, short2 b, short2 c);
9570 ushort2 __ovld __cnfn mad_sat(ushort2 a, ushort2 b, ushort2 c);
9571 short3 __ovld __cnfn mad_sat(short3 a, short3 b, short3 c);
9572 ushort3 __ovld __cnfn mad_sat(ushort3 a, ushort3 b, ushort3 c);
9573 short4 __ovld __cnfn mad_sat(short4 a, short4 b, short4 c);
9574 ushort4 __ovld __cnfn mad_sat(ushort4 a, ushort4 b, ushort4 c);
9575 short8 __ovld __cnfn mad_sat(short8 a, short8 b, short8 c);
9576 ushort8 __ovld __cnfn mad_sat(ushort8 a, ushort8 b, ushort8 c);
9577 short16 __ovld __cnfn mad_sat(short16 a, short16 b, short16 c);
9578 ushort16 __ovld __cnfn mad_sat(ushort16 a, ushort16 b, ushort16 c);
9579 int __ovld __cnfn mad_sat(int a, int b, int c);
9580 uint __ovld __cnfn mad_sat(uint a, uint b, uint c);
9581 int2 __ovld __cnfn mad_sat(int2 a, int2 b, int2 c);
9582 uint2 __ovld __cnfn mad_sat(uint2 a, uint2 b, uint2 c);
9583 int3 __ovld __cnfn mad_sat(int3 a, int3 b, int3 c);
9584 uint3 __ovld __cnfn mad_sat(uint3 a, uint3 b, uint3 c);
9585 int4 __ovld __cnfn mad_sat(int4 a, int4 b, int4 c);
9586 uint4 __ovld __cnfn mad_sat(uint4 a, uint4 b, uint4 c);
9587 int8 __ovld __cnfn mad_sat(int8 a, int8 b, int8 c);
9588 uint8 __ovld __cnfn mad_sat(uint8 a, uint8 b, uint8 c);
9589 int16 __ovld __cnfn mad_sat(int16 a, int16 b, int16 c);
9590 uint16 __ovld __cnfn mad_sat(uint16 a, uint16 b, uint16 c);
9591 long __ovld __cnfn mad_sat(long a, long b, long c);
9592 ulong __ovld __cnfn mad_sat(ulong a, ulong b, ulong c);
9593 long2 __ovld __cnfn mad_sat(long2 a, long2 b, long2 c);
9594 ulong2 __ovld __cnfn mad_sat(ulong2 a, ulong2 b, ulong2 c);
9595 long3 __ovld __cnfn mad_sat(long3 a, long3 b, long3 c);
9596 ulong3 __ovld __cnfn mad_sat(ulong3 a, ulong3 b, ulong3 c);
9597 long4 __ovld __cnfn mad_sat(long4 a, long4 b, long4 c);
9598 ulong4 __ovld __cnfn mad_sat(ulong4 a, ulong4 b, ulong4 c);
9599 long8 __ovld __cnfn mad_sat(long8 a, long8 b, long8 c);
9600 ulong8 __ovld __cnfn mad_sat(ulong8 a, ulong8 b, ulong8 c);
9601 long16 __ovld __cnfn mad_sat(long16 a, long16 b, long16 c);
9602 ulong16 __ovld __cnfn mad_sat(ulong16 a, ulong16 b, ulong16 c);
9603
9604 /**
9605  * Returns y if x < y, otherwise it returns x.
9606  */
9607 char __ovld __cnfn max(char x, char y);
9608 uchar __ovld __cnfn max(uchar x, uchar y);
9609 char2 __ovld __cnfn max(char2 x, char2 y);
9610 uchar2 __ovld __cnfn max(uchar2 x, uchar2 y);
9611 char3 __ovld __cnfn max(char3 x, char3 y);
9612 uchar3 __ovld __cnfn max(uchar3 x, uchar3 y);
9613 char4 __ovld __cnfn max(char4 x, char4 y);
9614 uchar4 __ovld __cnfn max(uchar4 x, uchar4 y);
9615 char8 __ovld __cnfn max(char8 x, char8 y);
9616 uchar8 __ovld __cnfn max(uchar8 x, uchar8 y);
9617 char16 __ovld __cnfn max(char16 x, char16 y);
9618 uchar16 __ovld __cnfn max(uchar16 x, uchar16 y);
9619 short __ovld __cnfn max(short x, short y);
9620 ushort __ovld __cnfn max(ushort x, ushort y);
9621 short2 __ovld __cnfn max(short2 x, short2 y);
9622 ushort2 __ovld __cnfn max(ushort2 x, ushort2 y);
9623 short3 __ovld __cnfn max(short3 x, short3 y);
9624 ushort3 __ovld __cnfn max(ushort3 x, ushort3 y);
9625 short4 __ovld __cnfn max(short4 x, short4 y);
9626 ushort4 __ovld __cnfn max(ushort4 x, ushort4 y);
9627 short8 __ovld __cnfn max(short8 x, short8 y);
9628 ushort8 __ovld __cnfn max(ushort8 x, ushort8 y);
9629 short16 __ovld __cnfn max(short16 x, short16 y);
9630 ushort16 __ovld __cnfn max(ushort16 x, ushort16 y);
9631 int __ovld __cnfn max(int x, int y);
9632 uint __ovld __cnfn max(uint x, uint y);
9633 int2 __ovld __cnfn max(int2 x, int2 y);
9634 uint2 __ovld __cnfn max(uint2 x, uint2 y);
9635 int3 __ovld __cnfn max(int3 x, int3 y);
9636 uint3 __ovld __cnfn max(uint3 x, uint3 y);
9637 int4 __ovld __cnfn max(int4 x, int4 y);
9638 uint4 __ovld __cnfn max(uint4 x, uint4 y);
9639 int8 __ovld __cnfn max(int8 x, int8 y);
9640 uint8 __ovld __cnfn max(uint8 x, uint8 y);
9641 int16 __ovld __cnfn max(int16 x, int16 y);
9642 uint16 __ovld __cnfn max(uint16 x, uint16 y);
9643 long __ovld __cnfn max(long x, long y);
9644 ulong __ovld __cnfn max(ulong x, ulong y);
9645 long2 __ovld __cnfn max(long2 x, long2 y);
9646 ulong2 __ovld __cnfn max(ulong2 x, ulong2 y);
9647 long3 __ovld __cnfn max(long3 x, long3 y);
9648 ulong3 __ovld __cnfn max(ulong3 x, ulong3 y);
9649 long4 __ovld __cnfn max(long4 x, long4 y);
9650 ulong4 __ovld __cnfn max(ulong4 x, ulong4 y);
9651 long8 __ovld __cnfn max(long8 x, long8 y);
9652 ulong8 __ovld __cnfn max(ulong8 x, ulong8 y);
9653 long16 __ovld __cnfn max(long16 x, long16 y);
9654 ulong16 __ovld __cnfn max(ulong16 x, ulong16 y);
9655 char2 __ovld __cnfn max(char2 x, char y);
9656 uchar2 __ovld __cnfn max(uchar2 x, uchar y);
9657 char3 __ovld __cnfn max(char3 x, char y);
9658 uchar3 __ovld __cnfn max(uchar3 x, uchar y);
9659 char4 __ovld __cnfn max(char4 x, char y);
9660 uchar4 __ovld __cnfn max(uchar4 x, uchar y);
9661 char8 __ovld __cnfn max(char8 x, char y);
9662 uchar8 __ovld __cnfn max(uchar8 x, uchar y);
9663 char16 __ovld __cnfn max(char16 x, char y);
9664 uchar16 __ovld __cnfn max(uchar16 x, uchar y);
9665 short2 __ovld __cnfn max(short2 x, short y);
9666 ushort2 __ovld __cnfn max(ushort2 x, ushort y);
9667 short3 __ovld __cnfn max(short3 x, short y);
9668 ushort3 __ovld __cnfn max(ushort3 x, ushort y);
9669 short4 __ovld __cnfn max(short4 x, short y);
9670 ushort4 __ovld __cnfn max(ushort4 x, ushort y);
9671 short8 __ovld __cnfn max(short8 x, short y);
9672 ushort8 __ovld __cnfn max(ushort8 x, ushort y);
9673 short16 __ovld __cnfn max(short16 x, short y);
9674 ushort16 __ovld __cnfn max(ushort16 x, ushort y);
9675 int2 __ovld __cnfn max(int2 x, int y);
9676 uint2 __ovld __cnfn max(uint2 x, uint y);
9677 int3 __ovld __cnfn max(int3 x, int y);
9678 uint3 __ovld __cnfn max(uint3 x, uint y);
9679 int4 __ovld __cnfn max(int4 x, int y);
9680 uint4 __ovld __cnfn max(uint4 x, uint y);
9681 int8 __ovld __cnfn max(int8 x, int y);
9682 uint8 __ovld __cnfn max(uint8 x, uint y);
9683 int16 __ovld __cnfn max(int16 x, int y);
9684 uint16 __ovld __cnfn max(uint16 x, uint y);
9685 long2 __ovld __cnfn max(long2 x, long y);
9686 ulong2 __ovld __cnfn max(ulong2 x, ulong y);
9687 long3 __ovld __cnfn max(long3 x, long y);
9688 ulong3 __ovld __cnfn max(ulong3 x, ulong y);
9689 long4 __ovld __cnfn max(long4 x, long y);
9690 ulong4 __ovld __cnfn max(ulong4 x, ulong y);
9691 long8 __ovld __cnfn max(long8 x, long y);
9692 ulong8 __ovld __cnfn max(ulong8 x, ulong y);
9693 long16 __ovld __cnfn max(long16 x, long y);
9694 ulong16 __ovld __cnfn max(ulong16 x, ulong y);
9695
9696 /**
9697  * Returns y if y < x, otherwise it returns x.
9698  */
9699 char __ovld __cnfn min(char x, char y);
9700 uchar __ovld __cnfn min(uchar x, uchar y);
9701 char2 __ovld __cnfn min(char2 x, char2 y);
9702 uchar2 __ovld __cnfn min(uchar2 x, uchar2 y);
9703 char3 __ovld __cnfn min(char3 x, char3 y);
9704 uchar3 __ovld __cnfn min(uchar3 x, uchar3 y);
9705 char4 __ovld __cnfn min(char4 x, char4 y);
9706 uchar4 __ovld __cnfn min(uchar4 x, uchar4 y);
9707 char8 __ovld __cnfn min(char8 x, char8 y);
9708 uchar8 __ovld __cnfn min(uchar8 x, uchar8 y);
9709 char16 __ovld __cnfn min(char16 x, char16 y);
9710 uchar16 __ovld __cnfn min(uchar16 x, uchar16 y);
9711 short __ovld __cnfn min(short x, short y);
9712 ushort __ovld __cnfn min(ushort x, ushort y);
9713 short2 __ovld __cnfn min(short2 x, short2 y);
9714 ushort2 __ovld __cnfn min(ushort2 x, ushort2 y);
9715 short3 __ovld __cnfn min(short3 x, short3 y);
9716 ushort3 __ovld __cnfn min(ushort3 x, ushort3 y);
9717 short4 __ovld __cnfn min(short4 x, short4 y);
9718 ushort4 __ovld __cnfn min(ushort4 x, ushort4 y);
9719 short8 __ovld __cnfn min(short8 x, short8 y);
9720 ushort8 __ovld __cnfn min(ushort8 x, ushort8 y);
9721 short16 __ovld __cnfn min(short16 x, short16 y);
9722 ushort16 __ovld __cnfn min(ushort16 x, ushort16 y);
9723 int __ovld __cnfn min(int x, int y);
9724 uint __ovld __cnfn min(uint x, uint y);
9725 int2 __ovld __cnfn min(int2 x, int2 y);
9726 uint2 __ovld __cnfn min(uint2 x, uint2 y);
9727 int3 __ovld __cnfn min(int3 x, int3 y);
9728 uint3 __ovld __cnfn min(uint3 x, uint3 y);
9729 int4 __ovld __cnfn min(int4 x, int4 y);
9730 uint4 __ovld __cnfn min(uint4 x, uint4 y);
9731 int8 __ovld __cnfn min(int8 x, int8 y);
9732 uint8 __ovld __cnfn min(uint8 x, uint8 y);
9733 int16 __ovld __cnfn min(int16 x, int16 y);
9734 uint16 __ovld __cnfn min(uint16 x, uint16 y);
9735 long __ovld __cnfn min(long x, long y);
9736 ulong __ovld __cnfn min(ulong x, ulong y);
9737 long2 __ovld __cnfn min(long2 x, long2 y);
9738 ulong2 __ovld __cnfn min(ulong2 x, ulong2 y);
9739 long3 __ovld __cnfn min(long3 x, long3 y);
9740 ulong3 __ovld __cnfn min(ulong3 x, ulong3 y);
9741 long4 __ovld __cnfn min(long4 x, long4 y);
9742 ulong4 __ovld __cnfn min(ulong4 x, ulong4 y);
9743 long8 __ovld __cnfn min(long8 x, long8 y);
9744 ulong8 __ovld __cnfn min(ulong8 x, ulong8 y);
9745 long16 __ovld __cnfn min(long16 x, long16 y);
9746 ulong16 __ovld __cnfn min(ulong16 x, ulong16 y);
9747 char2 __ovld __cnfn min(char2 x, char y);
9748 uchar2 __ovld __cnfn min(uchar2 x, uchar y);
9749 char3 __ovld __cnfn min(char3 x, char y);
9750 uchar3 __ovld __cnfn min(uchar3 x, uchar y);
9751 char4 __ovld __cnfn min(char4 x, char y);
9752 uchar4 __ovld __cnfn min(uchar4 x, uchar y);
9753 char8 __ovld __cnfn min(char8 x, char y);
9754 uchar8 __ovld __cnfn min(uchar8 x, uchar y);
9755 char16 __ovld __cnfn min(char16 x, char y);
9756 uchar16 __ovld __cnfn min(uchar16 x, uchar y);
9757 short2 __ovld __cnfn min(short2 x, short y);
9758 ushort2 __ovld __cnfn min(ushort2 x, ushort y);
9759 short3 __ovld __cnfn min(short3 x, short y);
9760 ushort3 __ovld __cnfn min(ushort3 x, ushort y);
9761 short4 __ovld __cnfn min(short4 x, short y);
9762 ushort4 __ovld __cnfn min(ushort4 x, ushort y);
9763 short8 __ovld __cnfn min(short8 x, short y);
9764 ushort8 __ovld __cnfn min(ushort8 x, ushort y);
9765 short16 __ovld __cnfn min(short16 x, short y);
9766 ushort16 __ovld __cnfn min(ushort16 x, ushort y);
9767 int2 __ovld __cnfn min(int2 x, int y);
9768 uint2 __ovld __cnfn min(uint2 x, uint y);
9769 int3 __ovld __cnfn min(int3 x, int y);
9770 uint3 __ovld __cnfn min(uint3 x, uint y);
9771 int4 __ovld __cnfn min(int4 x, int y);
9772 uint4 __ovld __cnfn min(uint4 x, uint y);
9773 int8 __ovld __cnfn min(int8 x, int y);
9774 uint8 __ovld __cnfn min(uint8 x, uint y);
9775 int16 __ovld __cnfn min(int16 x, int y);
9776 uint16 __ovld __cnfn min(uint16 x, uint y);
9777 long2 __ovld __cnfn min(long2 x, long y);
9778 ulong2 __ovld __cnfn min(ulong2 x, ulong y);
9779 long3 __ovld __cnfn min(long3 x, long y);
9780 ulong3 __ovld __cnfn min(ulong3 x, ulong y);
9781 long4 __ovld __cnfn min(long4 x, long y);
9782 ulong4 __ovld __cnfn min(ulong4 x, ulong y);
9783 long8 __ovld __cnfn min(long8 x, long y);
9784 ulong8 __ovld __cnfn min(ulong8 x, ulong y);
9785 long16 __ovld __cnfn min(long16 x, long y);
9786 ulong16 __ovld __cnfn min(ulong16 x, ulong y);
9787
9788 /**
9789  * Computes x * y and returns the high half of the
9790  * product of x and y.
9791  */
9792 char __ovld __cnfn mul_hi(char x, char y);
9793 uchar __ovld __cnfn mul_hi(uchar x, uchar y);
9794 char2 __ovld __cnfn mul_hi(char2 x, char2 y);
9795 uchar2 __ovld __cnfn mul_hi(uchar2 x, uchar2 y);
9796 char3 __ovld __cnfn mul_hi(char3 x, char3 y);
9797 uchar3 __ovld __cnfn mul_hi(uchar3 x, uchar3 y);
9798 char4 __ovld __cnfn mul_hi(char4 x, char4 y);
9799 uchar4 __ovld __cnfn mul_hi(uchar4 x, uchar4 y);
9800 char8 __ovld __cnfn mul_hi(char8 x, char8 y);
9801 uchar8 __ovld __cnfn mul_hi(uchar8 x, uchar8 y);
9802 char16 __ovld __cnfn mul_hi(char16 x, char16 y);
9803 uchar16 __ovld __cnfn mul_hi(uchar16 x, uchar16 y);
9804 short __ovld __cnfn mul_hi(short x, short y);
9805 ushort __ovld __cnfn mul_hi(ushort x, ushort y);
9806 short2 __ovld __cnfn mul_hi(short2 x, short2 y);
9807 ushort2 __ovld __cnfn mul_hi(ushort2 x, ushort2 y);
9808 short3 __ovld __cnfn mul_hi(short3 x, short3 y);
9809 ushort3 __ovld __cnfn mul_hi(ushort3 x, ushort3 y);
9810 short4 __ovld __cnfn mul_hi(short4 x, short4 y);
9811 ushort4 __ovld __cnfn mul_hi(ushort4 x, ushort4 y);
9812 short8 __ovld __cnfn mul_hi(short8 x, short8 y);
9813 ushort8 __ovld __cnfn mul_hi(ushort8 x, ushort8 y);
9814 short16 __ovld __cnfn mul_hi(short16 x, short16 y);
9815 ushort16 __ovld __cnfn mul_hi(ushort16 x, ushort16 y);
9816 int __ovld __cnfn mul_hi(int x, int y);
9817 uint __ovld __cnfn mul_hi(uint x, uint y);
9818 int2 __ovld __cnfn mul_hi(int2 x, int2 y);
9819 uint2 __ovld __cnfn mul_hi(uint2 x, uint2 y);
9820 int3 __ovld __cnfn mul_hi(int3 x, int3 y);
9821 uint3 __ovld __cnfn mul_hi(uint3 x, uint3 y);
9822 int4 __ovld __cnfn mul_hi(int4 x, int4 y);
9823 uint4 __ovld __cnfn mul_hi(uint4 x, uint4 y);
9824 int8 __ovld __cnfn mul_hi(int8 x, int8 y);
9825 uint8 __ovld __cnfn mul_hi(uint8 x, uint8 y);
9826 int16 __ovld __cnfn mul_hi(int16 x, int16 y);
9827 uint16 __ovld __cnfn mul_hi(uint16 x, uint16 y);
9828 long __ovld __cnfn mul_hi(long x, long y);
9829 ulong __ovld __cnfn mul_hi(ulong x, ulong y);
9830 long2 __ovld __cnfn mul_hi(long2 x, long2 y);
9831 ulong2 __ovld __cnfn mul_hi(ulong2 x, ulong2 y);
9832 long3 __ovld __cnfn mul_hi(long3 x, long3 y);
9833 ulong3 __ovld __cnfn mul_hi(ulong3 x, ulong3 y);
9834 long4 __ovld __cnfn mul_hi(long4 x, long4 y);
9835 ulong4 __ovld __cnfn mul_hi(ulong4 x, ulong4 y);
9836 long8 __ovld __cnfn mul_hi(long8 x, long8 y);
9837 ulong8 __ovld __cnfn mul_hi(ulong8 x, ulong8 y);
9838 long16 __ovld __cnfn mul_hi(long16 x, long16 y);
9839 ulong16 __ovld __cnfn mul_hi(ulong16 x, ulong16 y);
9840
9841 /**
9842  * For each element in v, the bits are shifted left by
9843  * the number of bits given by the corresponding
9844  * element in i (subject to usual shift modulo rules
9845  * described in section 6.3). Bits shifted off the left
9846  * side of the element are shifted back in from the
9847  * right.
9848  */
9849 char __ovld __cnfn rotate(char v, char i);
9850 uchar __ovld __cnfn rotate(uchar v, uchar i);
9851 char2 __ovld __cnfn rotate(char2 v, char2 i);
9852 uchar2 __ovld __cnfn rotate(uchar2 v, uchar2 i);
9853 char3 __ovld __cnfn rotate(char3 v, char3 i);
9854 uchar3 __ovld __cnfn rotate(uchar3 v, uchar3 i);
9855 char4 __ovld __cnfn rotate(char4 v, char4 i);
9856 uchar4 __ovld __cnfn rotate(uchar4 v, uchar4 i);
9857 char8 __ovld __cnfn rotate(char8 v, char8 i);
9858 uchar8 __ovld __cnfn rotate(uchar8 v, uchar8 i);
9859 char16 __ovld __cnfn rotate(char16 v, char16 i);
9860 uchar16 __ovld __cnfn rotate(uchar16 v, uchar16 i);
9861 short __ovld __cnfn rotate(short v, short i);
9862 ushort __ovld __cnfn rotate(ushort v, ushort i);
9863 short2 __ovld __cnfn rotate(short2 v, short2 i);
9864 ushort2 __ovld __cnfn rotate(ushort2 v, ushort2 i);
9865 short3 __ovld __cnfn rotate(short3 v, short3 i);
9866 ushort3 __ovld __cnfn rotate(ushort3 v, ushort3 i);
9867 short4 __ovld __cnfn rotate(short4 v, short4 i);
9868 ushort4 __ovld __cnfn rotate(ushort4 v, ushort4 i);
9869 short8 __ovld __cnfn rotate(short8 v, short8 i);
9870 ushort8 __ovld __cnfn rotate(ushort8 v, ushort8 i);
9871 short16 __ovld __cnfn rotate(short16 v, short16 i);
9872 ushort16 __ovld __cnfn rotate(ushort16 v, ushort16 i);
9873 int __ovld __cnfn rotate(int v, int i);
9874 uint __ovld __cnfn rotate(uint v, uint i);
9875 int2 __ovld __cnfn rotate(int2 v, int2 i);
9876 uint2 __ovld __cnfn rotate(uint2 v, uint2 i);
9877 int3 __ovld __cnfn rotate(int3 v, int3 i);
9878 uint3 __ovld __cnfn rotate(uint3 v, uint3 i);
9879 int4 __ovld __cnfn rotate(int4 v, int4 i);
9880 uint4 __ovld __cnfn rotate(uint4 v, uint4 i);
9881 int8 __ovld __cnfn rotate(int8 v, int8 i);
9882 uint8 __ovld __cnfn rotate(uint8 v, uint8 i);
9883 int16 __ovld __cnfn rotate(int16 v, int16 i);
9884 uint16 __ovld __cnfn rotate(uint16 v, uint16 i);
9885 long __ovld __cnfn rotate(long v, long i);
9886 ulong __ovld __cnfn rotate(ulong v, ulong i);
9887 long2 __ovld __cnfn rotate(long2 v, long2 i);
9888 ulong2 __ovld __cnfn rotate(ulong2 v, ulong2 i);
9889 long3 __ovld __cnfn rotate(long3 v, long3 i);
9890 ulong3 __ovld __cnfn rotate(ulong3 v, ulong3 i);
9891 long4 __ovld __cnfn rotate(long4 v, long4 i);
9892 ulong4 __ovld __cnfn rotate(ulong4 v, ulong4 i);
9893 long8 __ovld __cnfn rotate(long8 v, long8 i);
9894 ulong8 __ovld __cnfn rotate(ulong8 v, ulong8 i);
9895 long16 __ovld __cnfn rotate(long16 v, long16 i);
9896 ulong16 __ovld __cnfn rotate(ulong16 v, ulong16 i);
9897
9898 /**
9899  * Returns x - y and saturates the result.
9900  */
9901 char __ovld __cnfn sub_sat(char x, char y);
9902 uchar __ovld __cnfn sub_sat(uchar x, uchar y);
9903 char2 __ovld __cnfn sub_sat(char2 x, char2 y);
9904 uchar2 __ovld __cnfn sub_sat(uchar2 x, uchar2 y);
9905 char3 __ovld __cnfn sub_sat(char3 x, char3 y);
9906 uchar3 __ovld __cnfn sub_sat(uchar3 x, uchar3 y);
9907 char4 __ovld __cnfn sub_sat(char4 x, char4 y);
9908 uchar4 __ovld __cnfn sub_sat(uchar4 x, uchar4 y);
9909 char8 __ovld __cnfn sub_sat(char8 x, char8 y);
9910 uchar8 __ovld __cnfn sub_sat(uchar8 x, uchar8 y);
9911 char16 __ovld __cnfn sub_sat(char16 x, char16 y);
9912 uchar16 __ovld __cnfn sub_sat(uchar16 x, uchar16 y);
9913 short __ovld __cnfn sub_sat(short x, short y);
9914 ushort __ovld __cnfn sub_sat(ushort x, ushort y);
9915 short2 __ovld __cnfn sub_sat(short2 x, short2 y);
9916 ushort2 __ovld __cnfn sub_sat(ushort2 x, ushort2 y);
9917 short3 __ovld __cnfn sub_sat(short3 x, short3 y);
9918 ushort3 __ovld __cnfn sub_sat(ushort3 x, ushort3 y);
9919 short4 __ovld __cnfn sub_sat(short4 x, short4 y);
9920 ushort4 __ovld __cnfn sub_sat(ushort4 x, ushort4 y);
9921 short8 __ovld __cnfn sub_sat(short8 x, short8 y);
9922 ushort8 __ovld __cnfn sub_sat(ushort8 x, ushort8 y);
9923 short16 __ovld __cnfn sub_sat(short16 x, short16 y);
9924 ushort16 __ovld __cnfn sub_sat(ushort16 x, ushort16 y);
9925 int __ovld __cnfn sub_sat(int x, int y);
9926 uint __ovld __cnfn sub_sat(uint x, uint y);
9927 int2 __ovld __cnfn sub_sat(int2 x, int2 y);
9928 uint2 __ovld __cnfn sub_sat(uint2 x, uint2 y);
9929 int3 __ovld __cnfn sub_sat(int3 x, int3 y);
9930 uint3 __ovld __cnfn sub_sat(uint3 x, uint3 y);
9931 int4 __ovld __cnfn sub_sat(int4 x, int4 y);
9932 uint4 __ovld __cnfn sub_sat(uint4 x, uint4 y);
9933 int8 __ovld __cnfn sub_sat(int8 x, int8 y);
9934 uint8 __ovld __cnfn sub_sat(uint8 x, uint8 y);
9935 int16 __ovld __cnfn sub_sat(int16 x, int16 y);
9936 uint16 __ovld __cnfn sub_sat(uint16 x, uint16 y);
9937 long __ovld __cnfn sub_sat(long x, long y);
9938 ulong __ovld __cnfn sub_sat(ulong x, ulong y);
9939 long2 __ovld __cnfn sub_sat(long2 x, long2 y);
9940 ulong2 __ovld __cnfn sub_sat(ulong2 x, ulong2 y);
9941 long3 __ovld __cnfn sub_sat(long3 x, long3 y);
9942 ulong3 __ovld __cnfn sub_sat(ulong3 x, ulong3 y);
9943 long4 __ovld __cnfn sub_sat(long4 x, long4 y);
9944 ulong4 __ovld __cnfn sub_sat(ulong4 x, ulong4 y);
9945 long8 __ovld __cnfn sub_sat(long8 x, long8 y);
9946 ulong8 __ovld __cnfn sub_sat(ulong8 x, ulong8 y);
9947 long16 __ovld __cnfn sub_sat(long16 x, long16 y);
9948 ulong16 __ovld __cnfn sub_sat(ulong16 x, ulong16 y);
9949
9950 /**
9951  * result[i] = ((short)hi[i] << 8) | lo[i]
9952  * result[i] = ((ushort)hi[i] << 8) | lo[i]
9953  */
9954 short __ovld __cnfn upsample(char hi, uchar lo);
9955 ushort __ovld __cnfn upsample(uchar hi, uchar lo);
9956 short2 __ovld __cnfn upsample(char2 hi, uchar2 lo);
9957 short3 __ovld __cnfn upsample(char3 hi, uchar3 lo);
9958 short4 __ovld __cnfn upsample(char4 hi, uchar4 lo);
9959 short8 __ovld __cnfn upsample(char8 hi, uchar8 lo);
9960 short16 __ovld __cnfn upsample(char16 hi, uchar16 lo);
9961 ushort2 __ovld __cnfn upsample(uchar2 hi, uchar2 lo);
9962 ushort3 __ovld __cnfn upsample(uchar3 hi, uchar3 lo);
9963 ushort4 __ovld __cnfn upsample(uchar4 hi, uchar4 lo);
9964 ushort8 __ovld __cnfn upsample(uchar8 hi, uchar8 lo);
9965 ushort16 __ovld __cnfn upsample(uchar16 hi, uchar16 lo);
9966
9967 /**
9968  * result[i] = ((int)hi[i] << 16) | lo[i]
9969  * result[i] = ((uint)hi[i] << 16) | lo[i]
9970  */
9971 int __ovld __cnfn upsample(short hi, ushort lo);
9972 uint __ovld __cnfn upsample(ushort hi, ushort lo);
9973 int2 __ovld __cnfn upsample(short2 hi, ushort2 lo);
9974 int3 __ovld __cnfn upsample(short3 hi, ushort3 lo);
9975 int4 __ovld __cnfn upsample(short4 hi, ushort4 lo);
9976 int8 __ovld __cnfn upsample(short8 hi, ushort8 lo);
9977 int16 __ovld __cnfn upsample(short16 hi, ushort16 lo);
9978 uint2 __ovld __cnfn upsample(ushort2 hi, ushort2 lo);
9979 uint3 __ovld __cnfn upsample(ushort3 hi, ushort3 lo);
9980 uint4 __ovld __cnfn upsample(ushort4 hi, ushort4 lo);
9981 uint8 __ovld __cnfn upsample(ushort8 hi, ushort8 lo);
9982 uint16 __ovld __cnfn upsample(ushort16 hi, ushort16 lo);
9983 /**
9984  * result[i] = ((long)hi[i] << 32) | lo[i]
9985  * result[i] = ((ulong)hi[i] << 32) | lo[i]
9986  */
9987 long __ovld __cnfn upsample(int hi, uint lo);
9988 ulong __ovld __cnfn upsample(uint hi, uint lo);
9989 long2 __ovld __cnfn upsample(int2 hi, uint2 lo);
9990 long3 __ovld __cnfn upsample(int3 hi, uint3 lo);
9991 long4 __ovld __cnfn upsample(int4 hi, uint4 lo);
9992 long8 __ovld __cnfn upsample(int8 hi, uint8 lo);
9993 long16 __ovld __cnfn upsample(int16 hi, uint16 lo);
9994 ulong2 __ovld __cnfn upsample(uint2 hi, uint2 lo);
9995 ulong3 __ovld __cnfn upsample(uint3 hi, uint3 lo);
9996 ulong4 __ovld __cnfn upsample(uint4 hi, uint4 lo);
9997 ulong8 __ovld __cnfn upsample(uint8 hi, uint8 lo);
9998 ulong16 __ovld __cnfn upsample(uint16 hi, uint16 lo);
9999
10000 /*
10001  * popcount(x): returns the number of set bit in x
10002  */
10003 char __ovld __cnfn popcount(char x);
10004 uchar __ovld __cnfn popcount(uchar x);
10005 char2 __ovld __cnfn popcount(char2 x);
10006 uchar2 __ovld __cnfn popcount(uchar2 x);
10007 char3 __ovld __cnfn popcount(char3 x);
10008 uchar3 __ovld __cnfn popcount(uchar3 x);
10009 char4 __ovld __cnfn popcount(char4 x);
10010 uchar4 __ovld __cnfn popcount(uchar4 x);
10011 char8 __ovld __cnfn popcount(char8 x);
10012 uchar8 __ovld __cnfn popcount(uchar8 x);
10013 char16 __ovld __cnfn popcount(char16 x);
10014 uchar16 __ovld __cnfn popcount(uchar16 x);
10015 short __ovld __cnfn popcount(short x);
10016 ushort __ovld __cnfn popcount(ushort x);
10017 short2 __ovld __cnfn popcount(short2 x);
10018 ushort2 __ovld __cnfn popcount(ushort2 x);
10019 short3 __ovld __cnfn popcount(short3 x);
10020 ushort3 __ovld __cnfn popcount(ushort3 x);
10021 short4 __ovld __cnfn popcount(short4 x);
10022 ushort4 __ovld __cnfn popcount(ushort4 x);
10023 short8 __ovld __cnfn popcount(short8 x);
10024 ushort8 __ovld __cnfn popcount(ushort8 x);
10025 short16 __ovld __cnfn popcount(short16 x);
10026 ushort16 __ovld __cnfn popcount(ushort16 x);
10027 int __ovld __cnfn popcount(int x);
10028 uint __ovld __cnfn popcount(uint x);
10029 int2 __ovld __cnfn popcount(int2 x);
10030 uint2 __ovld __cnfn popcount(uint2 x);
10031 int3 __ovld __cnfn popcount(int3 x);
10032 uint3 __ovld __cnfn popcount(uint3 x);
10033 int4 __ovld __cnfn popcount(int4 x);
10034 uint4 __ovld __cnfn popcount(uint4 x);
10035 int8 __ovld __cnfn popcount(int8 x);
10036 uint8 __ovld __cnfn popcount(uint8 x);
10037 int16 __ovld __cnfn popcount(int16 x);
10038 uint16 __ovld __cnfn popcount(uint16 x);
10039 long __ovld __cnfn popcount(long x);
10040 ulong __ovld __cnfn popcount(ulong x);
10041 long2 __ovld __cnfn popcount(long2 x);
10042 ulong2 __ovld __cnfn popcount(ulong2 x);
10043 long3 __ovld __cnfn popcount(long3 x);
10044 ulong3 __ovld __cnfn popcount(ulong3 x);
10045 long4 __ovld __cnfn popcount(long4 x);
10046 ulong4 __ovld __cnfn popcount(ulong4 x);
10047 long8 __ovld __cnfn popcount(long8 x);
10048 ulong8 __ovld __cnfn popcount(ulong8 x);
10049 long16 __ovld __cnfn popcount(long16 x);
10050 ulong16 __ovld __cnfn popcount(ulong16 x);
10051
10052 /**
10053  * Multiply two 24-bit integer values x and y and add
10054  * the 32-bit integer result to the 32-bit integer z.
10055  * Refer to definition of mul24 to see how the 24-bit
10056  * integer multiplication is performed.
10057  */
10058 int __ovld __cnfn mad24(int x, int y, int z);
10059 uint __ovld __cnfn mad24(uint x, uint y, uint z);
10060 int2 __ovld __cnfn mad24(int2 x, int2 y, int2 z);
10061 uint2 __ovld __cnfn mad24(uint2 x, uint2 y, uint2 z);
10062 int3 __ovld __cnfn mad24(int3 x, int3 y, int3 z);
10063 uint3 __ovld __cnfn mad24(uint3 x, uint3 y, uint3 z);
10064 int4 __ovld __cnfn mad24(int4 x, int4 y, int4 z);
10065 uint4 __ovld __cnfn mad24(uint4 x, uint4 y, uint4 z);
10066 int8 __ovld __cnfn mad24(int8 x, int8 y, int8 z);
10067 uint8 __ovld __cnfn mad24(uint8 x, uint8 y, uint8 z);
10068 int16 __ovld __cnfn mad24(int16 x, int16 y, int16 z);
10069 uint16 __ovld __cnfn mad24(uint16 x, uint16 y, uint16 z);
10070
10071 /**
10072  * Multiply two 24-bit integer values x and y. x and y
10073  * are 32-bit integers but only the low 24-bits are used
10074  * to perform the multiplication. mul24 should only
10075  * be used when values in x and y are in the range [-
10076  * 2^23, 2^23-1] if x and y are signed integers and in the
10077  * range [0, 2^24-1] if x and y are unsigned integers. If
10078  * x and y are not in this range, the multiplication
10079  * result is implementation-defined.
10080  */
10081 int __ovld __cnfn mul24(int x, int y);
10082 uint __ovld __cnfn mul24(uint x, uint y);
10083 int2 __ovld __cnfn mul24(int2 x, int2 y);
10084 uint2 __ovld __cnfn mul24(uint2 x, uint2 y);
10085 int3 __ovld __cnfn mul24(int3 x, int3 y);
10086 uint3 __ovld __cnfn mul24(uint3 x, uint3 y);
10087 int4 __ovld __cnfn mul24(int4 x, int4 y);
10088 uint4 __ovld __cnfn mul24(uint4 x, uint4 y);
10089 int8 __ovld __cnfn mul24(int8 x, int8 y);
10090 uint8 __ovld __cnfn mul24(uint8 x, uint8 y);
10091 int16 __ovld __cnfn mul24(int16 x, int16 y);
10092 uint16 __ovld __cnfn mul24(uint16 x, uint16 y);
10093
10094 // OpenCL v1.1 s6.11.4, v1.2 s6.12.4, v2.0 s6.13.4 - Common Functions
10095
10096 /**
10097  * Returns fmin(fmax(x, minval), maxval).
10098  * Results are undefined if minval > maxval.
10099  */
10100 float __ovld __cnfn clamp(float x, float minval, float maxval);
10101 float2 __ovld __cnfn clamp(float2 x, float2 minval, float2 maxval);
10102 float3 __ovld __cnfn clamp(float3 x, float3 minval, float3 maxval);
10103 float4 __ovld __cnfn clamp(float4 x, float4 minval, float4 maxval);
10104 float8 __ovld __cnfn clamp(float8 x, float8 minval, float8 maxval);
10105 float16 __ovld __cnfn clamp(float16 x, float16 minval, float16 maxval);
10106 float2 __ovld __cnfn clamp(float2 x, float minval, float maxval);
10107 float3 __ovld __cnfn clamp(float3 x, float minval, float maxval);
10108 float4 __ovld __cnfn clamp(float4 x, float minval, float maxval);
10109 float8 __ovld __cnfn clamp(float8 x, float minval, float maxval);
10110 float16 __ovld __cnfn clamp(float16 x, float minval, float maxval);
10111 #ifdef cl_khr_fp64
10112 double __ovld __cnfn clamp(double x, double minval, double maxval);
10113 double2 __ovld __cnfn clamp(double2 x, double2 minval, double2 maxval);
10114 double3 __ovld __cnfn clamp(double3 x, double3 minval, double3 maxval);
10115 double4 __ovld __cnfn clamp(double4 x, double4 minval, double4 maxval);
10116 double8 __ovld __cnfn clamp(double8 x, double8 minval, double8 maxval);
10117 double16 __ovld __cnfn clamp(double16 x, double16 minval, double16 maxval);
10118 double2 __ovld __cnfn clamp(double2 x, double minval, double maxval);
10119 double3 __ovld __cnfn clamp(double3 x, double minval, double maxval);
10120 double4 __ovld __cnfn clamp(double4 x, double minval, double maxval);
10121 double8 __ovld __cnfn clamp(double8 x, double minval, double maxval);
10122 double16 __ovld __cnfn clamp(double16 x, double minval, double maxval);
10123 #endif //cl_khr_fp64
10124 #ifdef cl_khr_fp16
10125 half __ovld __cnfn clamp(half x, half minval, half maxval);
10126 half2 __ovld __cnfn clamp(half2 x, half2 minval, half2 maxval);
10127 half3 __ovld __cnfn clamp(half3 x, half3 minval, half3 maxval);
10128 half4 __ovld __cnfn clamp(half4 x, half4 minval, half4 maxval);
10129 half8 __ovld __cnfn clamp(half8 x, half8 minval, half8 maxval);
10130 half16 __ovld __cnfn clamp(half16 x, half16 minval, half16 maxval);
10131 half2 __ovld __cnfn clamp(half2 x, half minval, half maxval);
10132 half3 __ovld __cnfn clamp(half3 x, half minval, half maxval);
10133 half4 __ovld __cnfn clamp(half4 x, half minval, half maxval);
10134 half8 __ovld __cnfn clamp(half8 x, half minval, half maxval);
10135 half16 __ovld __cnfn clamp(half16 x, half minval, half maxval);
10136 #endif //cl_khr_fp16
10137
10138 /**
10139  * Converts radians to degrees, i.e. (180 / PI) *
10140  * radians.
10141  */
10142 float __ovld __cnfn degrees(float radians);
10143 float2 __ovld __cnfn degrees(float2 radians);
10144 float3 __ovld __cnfn degrees(float3 radians);
10145 float4 __ovld __cnfn degrees(float4 radians);
10146 float8 __ovld __cnfn degrees(float8 radians);
10147 float16 __ovld __cnfn degrees(float16 radians);
10148 #ifdef cl_khr_fp64
10149 double __ovld __cnfn degrees(double radians);
10150 double2 __ovld __cnfn degrees(double2 radians);
10151 double3 __ovld __cnfn degrees(double3 radians);
10152 double4 __ovld __cnfn degrees(double4 radians);
10153 double8 __ovld __cnfn degrees(double8 radians);
10154 double16 __ovld __cnfn degrees(double16 radians);
10155 #endif //cl_khr_fp64
10156 #ifdef cl_khr_fp16
10157 half __ovld __cnfn degrees(half radians);
10158 half2 __ovld __cnfn degrees(half2 radians);
10159 half3 __ovld __cnfn degrees(half3 radians);
10160 half4 __ovld __cnfn degrees(half4 radians);
10161 half8 __ovld __cnfn degrees(half8 radians);
10162 half16 __ovld __cnfn degrees(half16 radians);
10163 #endif //cl_khr_fp16
10164
10165 /**
10166  * Returns y if x < y, otherwise it returns x. If x and y
10167  * are infinite or NaN, the return values are undefined.
10168  */
10169 float __ovld __cnfn max(float x, float y);
10170 float2 __ovld __cnfn max(float2 x, float2 y);
10171 float3 __ovld __cnfn max(float3 x, float3 y);
10172 float4 __ovld __cnfn max(float4 x, float4 y);
10173 float8 __ovld __cnfn max(float8 x, float8 y);
10174 float16 __ovld __cnfn max(float16 x, float16 y);
10175 float2 __ovld __cnfn max(float2 x, float y);
10176 float3 __ovld __cnfn max(float3 x, float y);
10177 float4 __ovld __cnfn max(float4 x, float y);
10178 float8 __ovld __cnfn max(float8 x, float y);
10179 float16 __ovld __cnfn max(float16 x, float y);
10180 #ifdef cl_khr_fp64
10181 double __ovld __cnfn max(double x, double y);
10182 double2 __ovld __cnfn max(double2 x, double2 y);
10183 double3 __ovld __cnfn max(double3 x, double3 y);
10184 double4 __ovld __cnfn max(double4 x, double4 y);
10185 double8 __ovld __cnfn max(double8 x, double8 y);
10186 double16 __ovld __cnfn max(double16 x, double16 y);
10187 double2 __ovld __cnfn max(double2 x, double y);
10188 double3 __ovld __cnfn max(double3 x, double y);
10189 double4 __ovld __cnfn max(double4 x, double y);
10190 double8 __ovld __cnfn max(double8 x, double y);
10191 double16 __ovld __cnfn max(double16 x, double y);
10192 #endif //cl_khr_fp64
10193 #ifdef cl_khr_fp16
10194 half __ovld __cnfn max(half x, half y);
10195 half2 __ovld __cnfn max(half2 x, half2 y);
10196 half3 __ovld __cnfn max(half3 x, half3 y);
10197 half4 __ovld __cnfn max(half4 x, half4 y);
10198 half8 __ovld __cnfn max(half8 x, half8 y);
10199 half16 __ovld __cnfn max(half16 x, half16 y);
10200 half2 __ovld __cnfn max(half2 x, half y);
10201 half3 __ovld __cnfn max(half3 x, half y);
10202 half4 __ovld __cnfn max(half4 x, half y);
10203 half8 __ovld __cnfn max(half8 x, half y);
10204 half16 __ovld __cnfn max(half16 x, half y);
10205 #endif //cl_khr_fp16
10206
10207 /**
10208  * Returns y if y < x, otherwise it returns x. If x and y
10209  * are infinite or NaN, the return values are undefined.
10210  */
10211 float __ovld __cnfn min(float x, float y);
10212 float2 __ovld __cnfn min(float2 x, float2 y);
10213 float3 __ovld __cnfn min(float3 x, float3 y);
10214 float4 __ovld __cnfn min(float4 x, float4 y);
10215 float8 __ovld __cnfn min(float8 x, float8 y);
10216 float16 __ovld __cnfn min(float16 x, float16 y);
10217 float2 __ovld __cnfn min(float2 x, float y);
10218 float3 __ovld __cnfn min(float3 x, float y);
10219 float4 __ovld __cnfn min(float4 x, float y);
10220 float8 __ovld __cnfn min(float8 x, float y);
10221 float16 __ovld __cnfn min(float16 x, float y);
10222 #ifdef cl_khr_fp64
10223 double __ovld __cnfn min(double x, double y);
10224 double2 __ovld __cnfn min(double2 x, double2 y);
10225 double3 __ovld __cnfn min(double3 x, double3 y);
10226 double4 __ovld __cnfn min(double4 x, double4 y);
10227 double8 __ovld __cnfn min(double8 x, double8 y);
10228 double16 __ovld __cnfn min(double16 x, double16 y);
10229 double2 __ovld __cnfn min(double2 x, double y);
10230 double3 __ovld __cnfn min(double3 x, double y);
10231 double4 __ovld __cnfn min(double4 x, double y);
10232 double8 __ovld __cnfn min(double8 x, double y);
10233 double16 __ovld __cnfn min(double16 x, double y);
10234 #endif //cl_khr_fp64
10235 #ifdef cl_khr_fp16
10236 half __ovld __cnfn min(half x, half y);
10237 half2 __ovld __cnfn min(half2 x, half2 y);
10238 half3 __ovld __cnfn min(half3 x, half3 y);
10239 half4 __ovld __cnfn min(half4 x, half4 y);
10240 half8 __ovld __cnfn min(half8 x, half8 y);
10241 half16 __ovld __cnfn min(half16 x, half16 y);
10242 half2 __ovld __cnfn min(half2 x, half y);
10243 half3 __ovld __cnfn min(half3 x, half y);
10244 half4 __ovld __cnfn min(half4 x, half y);
10245 half8 __ovld __cnfn min(half8 x, half y);
10246 half16 __ovld __cnfn min(half16 x, half y);
10247 #endif //cl_khr_fp16
10248
10249 /**
10250  * Returns the linear blend of x & y implemented as:
10251  * x + (y - x) * a
10252  * a must be a value in the range 0.0 ... 1.0. If a is not
10253  * in the range 0.0 ... 1.0, the return values are
10254  * undefined.
10255  */
10256 float __ovld __cnfn mix(float x, float y, float a);
10257 float2 __ovld __cnfn mix(float2 x, float2 y, float2 a);
10258 float3 __ovld __cnfn mix(float3 x, float3 y, float3 a);
10259 float4 __ovld __cnfn mix(float4 x, float4 y, float4 a);
10260 float8 __ovld __cnfn mix(float8 x, float8 y, float8 a);
10261 float16 __ovld __cnfn mix(float16 x, float16 y, float16 a);
10262 float2 __ovld __cnfn mix(float2 x, float2 y, float a);
10263 float3 __ovld __cnfn mix(float3 x, float3 y, float a);
10264 float4 __ovld __cnfn mix(float4 x, float4 y, float a);
10265 float8 __ovld __cnfn mix(float8 x, float8 y, float a);
10266 float16 __ovld __cnfn mix(float16 x, float16 y, float a);
10267 #ifdef cl_khr_fp64
10268 double __ovld __cnfn mix(double x, double y, double a);
10269 double2 __ovld __cnfn mix(double2 x, double2 y, double2 a);
10270 double3 __ovld __cnfn mix(double3 x, double3 y, double3 a);
10271 double4 __ovld __cnfn mix(double4 x, double4 y, double4 a);
10272 double8 __ovld __cnfn mix(double8 x, double8 y, double8 a);
10273 double16 __ovld __cnfn mix(double16 x, double16 y, double16 a);
10274 double2 __ovld __cnfn mix(double2 x, double2 y, double a);
10275 double3 __ovld __cnfn mix(double3 x, double3 y, double a);
10276 double4 __ovld __cnfn mix(double4 x, double4 y, double a);
10277 double8 __ovld __cnfn mix(double8 x, double8 y, double a);
10278 double16 __ovld __cnfn mix(double16 x, double16 y, double a);
10279 #endif //cl_khr_fp64
10280 #ifdef cl_khr_fp16
10281 half __ovld __cnfn mix(half x, half y, half a);
10282 half2 __ovld __cnfn mix(half2 x, half2 y, half2 a);
10283 half3 __ovld __cnfn mix(half3 x, half3 y, half3 a);
10284 half4 __ovld __cnfn mix(half4 x, half4 y, half4 a);
10285 half8 __ovld __cnfn mix(half8 x, half8 y, half8 a);
10286 half16 __ovld __cnfn mix(half16 x, half16 y, half16 a);
10287 half2 __ovld __cnfn mix(half2 x, half2 y, half a);
10288 half3 __ovld __cnfn mix(half3 x, half3 y, half a);
10289 half4 __ovld __cnfn mix(half4 x, half4 y, half a);
10290 half8 __ovld __cnfn mix(half8 x, half8 y, half a);
10291 half16 __ovld __cnfn mix(half16 x, half16 y, half a);
10292 #endif //cl_khr_fp16
10293
10294 /**
10295  * Converts degrees to radians, i.e. (PI / 180) *
10296  * degrees.
10297  */
10298 float __ovld __cnfn radians(float degrees);
10299 float2 __ovld __cnfn radians(float2 degrees);
10300 float3 __ovld __cnfn radians(float3 degrees);
10301 float4 __ovld __cnfn radians(float4 degrees);
10302 float8 __ovld __cnfn radians(float8 degrees);
10303 float16 __ovld __cnfn radians(float16 degrees);
10304 #ifdef cl_khr_fp64
10305 double __ovld __cnfn radians(double degrees);
10306 double2 __ovld __cnfn radians(double2 degrees);
10307 double3 __ovld __cnfn radians(double3 degrees);
10308 double4 __ovld __cnfn radians(double4 degrees);
10309 double8 __ovld __cnfn radians(double8 degrees);
10310 double16 __ovld __cnfn radians(double16 degrees);
10311 #endif //cl_khr_fp64
10312 #ifdef cl_khr_fp16
10313 half __ovld __cnfn radians(half degrees);
10314 half2 __ovld __cnfn radians(half2 degrees);
10315 half3 __ovld __cnfn radians(half3 degrees);
10316 half4 __ovld __cnfn radians(half4 degrees);
10317 half8 __ovld __cnfn radians(half8 degrees);
10318 half16 __ovld __cnfn radians(half16 degrees);
10319 #endif //cl_khr_fp16
10320
10321 /**
10322  * Returns 0.0 if x < edge, otherwise it returns 1.0.
10323  */
10324 float __ovld __cnfn step(float edge, float x);
10325 float2 __ovld __cnfn step(float2 edge, float2 x);
10326 float3 __ovld __cnfn step(float3 edge, float3 x);
10327 float4 __ovld __cnfn step(float4 edge, float4 x);
10328 float8 __ovld __cnfn step(float8 edge, float8 x);
10329 float16 __ovld __cnfn step(float16 edge, float16 x);
10330 float2 __ovld __cnfn step(float edge, float2 x);
10331 float3 __ovld __cnfn step(float edge, float3 x);
10332 float4 __ovld __cnfn step(float edge, float4 x);
10333 float8 __ovld __cnfn step(float edge, float8 x);
10334 float16 __ovld __cnfn step(float edge, float16 x);
10335 #ifdef cl_khr_fp64
10336 double __ovld __cnfn step(double edge, double x);
10337 double2 __ovld __cnfn step(double2 edge, double2 x);
10338 double3 __ovld __cnfn step(double3 edge, double3 x);
10339 double4 __ovld __cnfn step(double4 edge, double4 x);
10340 double8 __ovld __cnfn step(double8 edge, double8 x);
10341 double16 __ovld __cnfn step(double16 edge, double16 x);
10342 double2 __ovld __cnfn step(double edge, double2 x);
10343 double3 __ovld __cnfn step(double edge, double3 x);
10344 double4 __ovld __cnfn step(double edge, double4 x);
10345 double8 __ovld __cnfn step(double edge, double8 x);
10346 double16 __ovld __cnfn step(double edge, double16 x);
10347 #endif //cl_khr_fp64
10348 #ifdef cl_khr_fp16
10349 half __ovld __cnfn step(half edge, half x);
10350 half2 __ovld __cnfn step(half2 edge, half2 x);
10351 half3 __ovld __cnfn step(half3 edge, half3 x);
10352 half4 __ovld __cnfn step(half4 edge, half4 x);
10353 half8 __ovld __cnfn step(half8 edge, half8 x);
10354 half16 __ovld __cnfn step(half16 edge, half16 x);
10355 half2 __ovld __cnfn step(half edge, half2 x);
10356 half3 __ovld __cnfn step(half edge, half3 x);
10357 half4 __ovld __cnfn step(half edge, half4 x);
10358 half8 __ovld __cnfn step(half edge, half8 x);
10359 half16 __ovld __cnfn step(half edge, half16 x);
10360 #endif //cl_khr_fp16
10361
10362 /**
10363  * Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and
10364  * performs smooth Hermite interpolation between 0
10365  * and 1when edge0 < x < edge1. This is useful in
10366  * cases where you would want a threshold function
10367  * with a smooth transition.
10368  * This is equivalent to:
10369  * gentype t;
10370  * t = clamp ((x - edge0) / (edge1 - edge0), 0, 1);
10371  * return t * t * (3 - 2 * t);
10372  * Results are undefined if edge0 >= edge1 or if x,
10373  * edge0 or edge1 is a NaN.
10374  */
10375 float __ovld __cnfn smoothstep(float edge0, float edge1, float x);
10376 float2 __ovld __cnfn smoothstep(float2 edge0, float2 edge1, float2 x);
10377 float3 __ovld __cnfn smoothstep(float3 edge0, float3 edge1, float3 x);
10378 float4 __ovld __cnfn smoothstep(float4 edge0, float4 edge1, float4 x);
10379 float8 __ovld __cnfn smoothstep(float8 edge0, float8 edge1, float8 x);
10380 float16 __ovld __cnfn smoothstep(float16 edge0, float16 edge1, float16 x);
10381 float2 __ovld __cnfn smoothstep(float edge0, float edge1, float2 x);
10382 float3 __ovld __cnfn smoothstep(float edge0, float edge1, float3 x);
10383 float4 __ovld __cnfn smoothstep(float edge0, float edge1, float4 x);
10384 float8 __ovld __cnfn smoothstep(float edge0, float edge1, float8 x);
10385 float16 __ovld __cnfn smoothstep(float edge0, float edge1, float16 x);
10386 #ifdef cl_khr_fp64
10387 double __ovld __cnfn smoothstep(double edge0, double edge1, double x);
10388 double2 __ovld __cnfn smoothstep(double2 edge0, double2 edge1, double2 x);
10389 double3 __ovld __cnfn smoothstep(double3 edge0, double3 edge1, double3 x);
10390 double4 __ovld __cnfn smoothstep(double4 edge0, double4 edge1, double4 x);
10391 double8 __ovld __cnfn smoothstep(double8 edge0, double8 edge1, double8 x);
10392 double16 __ovld __cnfn smoothstep(double16 edge0, double16 edge1, double16 x);
10393 double2 __ovld __cnfn smoothstep(double edge0, double edge1, double2 x);
10394 double3 __ovld __cnfn smoothstep(double edge0, double edge1, double3 x);
10395 double4 __ovld __cnfn smoothstep(double edge0, double edge1, double4 x);
10396 double8 __ovld __cnfn smoothstep(double edge0, double edge1, double8 x);
10397 double16 __ovld __cnfn smoothstep(double edge0, double edge1, double16 x);
10398 #endif //cl_khr_fp64
10399 #ifdef cl_khr_fp16
10400 half __ovld __cnfn smoothstep(half edge0, half edge1, half x);
10401 half2 __ovld __cnfn smoothstep(half2 edge0, half2 edge1, half2 x);
10402 half3 __ovld __cnfn smoothstep(half3 edge0, half3 edge1, half3 x);
10403 half4 __ovld __cnfn smoothstep(half4 edge0, half4 edge1, half4 x);
10404 half8 __ovld __cnfn smoothstep(half8 edge0, half8 edge1, half8 x);
10405 half16 __ovld __cnfn smoothstep(half16 edge0, half16 edge1, half16 x);
10406 half2 __ovld __cnfn smoothstep(half edge0, half edge1, half2 x);
10407 half3 __ovld __cnfn smoothstep(half edge0, half edge1, half3 x);
10408 half4 __ovld __cnfn smoothstep(half edge0, half edge1, half4 x);
10409 half8 __ovld __cnfn smoothstep(half edge0, half edge1, half8 x);
10410 half16 __ovld __cnfn smoothstep(half edge0, half edge1, half16 x);
10411 #endif //cl_khr_fp16
10412
10413 /**
10414  * Returns 1.0 if x > 0, -0.0 if x = -0.0, +0.0 if x =
10415  * +0.0, or -1.0 if x < 0. Returns 0.0 if x is a NaN.
10416  */
10417 float __ovld __cnfn sign(float x);
10418 float2 __ovld __cnfn sign(float2 x);
10419 float3 __ovld __cnfn sign(float3 x);
10420 float4 __ovld __cnfn sign(float4 x);
10421 float8 __ovld __cnfn sign(float8 x);
10422 float16 __ovld __cnfn sign(float16 x);
10423 #ifdef cl_khr_fp64
10424 double __ovld __cnfn sign(double x);
10425 double2 __ovld __cnfn sign(double2 x);
10426 double3 __ovld __cnfn sign(double3 x);
10427 double4 __ovld __cnfn sign(double4 x);
10428 double8 __ovld __cnfn sign(double8 x);
10429 double16 __ovld __cnfn sign(double16 x);
10430 #endif //cl_khr_fp64
10431 #ifdef cl_khr_fp16
10432 half __ovld __cnfn sign(half x);
10433 half2 __ovld __cnfn sign(half2 x);
10434 half3 __ovld __cnfn sign(half3 x);
10435 half4 __ovld __cnfn sign(half4 x);
10436 half8 __ovld __cnfn sign(half8 x);
10437 half16 __ovld __cnfn sign(half16 x);
10438 #endif //cl_khr_fp16
10439
10440 // OpenCL v1.1 s6.11.5, v1.2 s6.12.5, v2.0 s6.13.5 - Geometric Functions
10441
10442 /**
10443  * Returns the cross product of p0.xyz and p1.xyz. The
10444  * w component of float4 result returned will be 0.0.
10445  */
10446 float4 __ovld __cnfn cross(float4 p0, float4 p1);
10447 float3 __ovld __cnfn cross(float3 p0, float3 p1);
10448 #ifdef cl_khr_fp64
10449 double4 __ovld __cnfn cross(double4 p0, double4 p1);
10450 double3 __ovld __cnfn cross(double3 p0, double3 p1);
10451 #endif //cl_khr_fp64
10452 #ifdef cl_khr_fp16
10453 half4 __ovld __cnfn cross(half4 p0, half4 p1);
10454 half3 __ovld __cnfn cross(half3 p0, half3 p1);
10455 #endif //cl_khr_fp16
10456
10457 /**
10458  * Compute dot product.
10459  */
10460 float __ovld __cnfn dot(float p0, float p1);
10461 float __ovld __cnfn dot(float2 p0, float2 p1);
10462 float __ovld __cnfn dot(float3 p0, float3 p1);
10463 float __ovld __cnfn dot(float4 p0, float4 p1);
10464 #ifdef cl_khr_fp64
10465 double __ovld __cnfn dot(double p0, double p1);
10466 double __ovld __cnfn dot(double2 p0, double2 p1);
10467 double __ovld __cnfn dot(double3 p0, double3 p1);
10468 double __ovld __cnfn dot(double4 p0, double4 p1);
10469 #endif //cl_khr_fp64
10470 #ifdef cl_khr_fp16
10471 half __ovld __cnfn dot(half p0, half p1);
10472 half __ovld __cnfn dot(half2 p0, half2 p1);
10473 half __ovld __cnfn dot(half3 p0, half3 p1);
10474 half __ovld __cnfn dot(half4 p0, half4 p1);
10475 #endif //cl_khr_fp16
10476
10477 /**
10478  * Returns the distance between p0 and p1. This is
10479  * calculated as length(p0 - p1).
10480  */
10481 float __ovld __cnfn distance(float p0, float p1);
10482 float __ovld __cnfn distance(float2 p0, float2 p1);
10483 float __ovld __cnfn distance(float3 p0, float3 p1);
10484 float __ovld __cnfn distance(float4 p0, float4 p1);
10485 #ifdef cl_khr_fp64
10486 double __ovld __cnfn distance(double p0, double p1);
10487 double __ovld __cnfn distance(double2 p0, double2 p1);
10488 double __ovld __cnfn distance(double3 p0, double3 p1);
10489 double __ovld __cnfn distance(double4 p0, double4 p1);
10490 #endif //cl_khr_fp64
10491 #ifdef cl_khr_fp16
10492 half __ovld __cnfn distance(half p0, half p1);
10493 half __ovld __cnfn distance(half2 p0, half2 p1);
10494 half __ovld __cnfn distance(half3 p0, half3 p1);
10495 half __ovld __cnfn distance(half4 p0, half4 p1);
10496 #endif //cl_khr_fp16
10497
10498 /**
10499  * Return the length of vector p, i.e.,
10500  * sqrt(p.x2 + p.y 2 + ...)
10501  */
10502 float __ovld __cnfn length(float p);
10503 float __ovld __cnfn length(float2 p);
10504 float __ovld __cnfn length(float3 p);
10505 float __ovld __cnfn length(float4 p);
10506 #ifdef cl_khr_fp64
10507 double __ovld __cnfn length(double p);
10508 double __ovld __cnfn length(double2 p);
10509 double __ovld __cnfn length(double3 p);
10510 double __ovld __cnfn length(double4 p);
10511 #endif //cl_khr_fp64
10512 #ifdef cl_khr_fp16
10513 half __ovld __cnfn length(half p);
10514 half __ovld __cnfn length(half2 p);
10515 half __ovld __cnfn length(half3 p);
10516 half __ovld __cnfn length(half4 p);
10517 #endif //cl_khr_fp16
10518
10519 /**
10520  * Returns a vector in the same direction as p but with a
10521  * length of 1.
10522  */
10523 float __ovld __cnfn normalize(float p);
10524 float2 __ovld __cnfn normalize(float2 p);
10525 float3 __ovld __cnfn normalize(float3 p);
10526 float4 __ovld __cnfn normalize(float4 p);
10527 #ifdef cl_khr_fp64
10528 double __ovld __cnfn normalize(double p);
10529 double2 __ovld __cnfn normalize(double2 p);
10530 double3 __ovld __cnfn normalize(double3 p);
10531 double4 __ovld __cnfn normalize(double4 p);
10532 #endif //cl_khr_fp64
10533 #ifdef cl_khr_fp16
10534 half __ovld __cnfn normalize(half p);
10535 half2 __ovld __cnfn normalize(half2 p);
10536 half3 __ovld __cnfn normalize(half3 p);
10537 half4 __ovld __cnfn normalize(half4 p);
10538 #endif //cl_khr_fp16
10539
10540 /**
10541  * Returns fast_length(p0 - p1).
10542  */
10543 float __ovld __cnfn fast_distance(float p0, float p1);
10544 float __ovld __cnfn fast_distance(float2 p0, float2 p1);
10545 float __ovld __cnfn fast_distance(float3 p0, float3 p1);
10546 float __ovld __cnfn fast_distance(float4 p0, float4 p1);
10547 #ifdef cl_khr_fp16
10548 half __ovld __cnfn fast_distance(half p0, half p1);
10549 half __ovld __cnfn fast_distance(half2 p0, half2 p1);
10550 half __ovld __cnfn fast_distance(half3 p0, half3 p1);
10551 half __ovld __cnfn fast_distance(half4 p0, half4 p1);
10552 #endif //cl_khr_fp16
10553
10554 /**
10555  * Returns the length of vector p computed as:
10556  * half_sqrt(p.x2 + p.y2 + ...)
10557  */
10558 float __ovld __cnfn fast_length(float p);
10559 float __ovld __cnfn fast_length(float2 p);
10560 float __ovld __cnfn fast_length(float3 p);
10561 float __ovld __cnfn fast_length(float4 p);
10562 #ifdef cl_khr_fp16
10563 half __ovld __cnfn fast_length(half p);
10564 half __ovld __cnfn fast_length(half2 p);
10565 half __ovld __cnfn fast_length(half3 p);
10566 half __ovld __cnfn fast_length(half4 p);
10567 #endif //cl_khr_fp16
10568
10569 /**
10570  * Returns a vector in the same direction as p but with a
10571  * length of 1. fast_normalize is computed as:
10572  * p * half_rsqrt (p.x^2 + p.y^2 + ... )
10573  * The result shall be within 8192 ulps error from the
10574  * infinitely precise result of
10575  * if (all(p == 0.0f))
10576  * result = p;
10577  * else
10578  * result = p / sqrt (p.x^2 + p.y^2 + ...);
10579  * with the following exceptions:
10580  * 1) If the sum of squares is greater than FLT_MAX
10581  * then the value of the floating-point values in the
10582  * result vector are undefined.
10583  * 2) If the sum of squares is less than FLT_MIN then
10584  * the implementation may return back p.
10585  * 3) If the device is in "denorms are flushed to zero"
10586  * mode, individual operand elements with magnitude
10587  * less than sqrt(FLT_MIN) may be flushed to zero
10588  * before proceeding with the calculation.
10589  */
10590 float __ovld __cnfn fast_normalize(float p);
10591 float2 __ovld __cnfn fast_normalize(float2 p);
10592 float3 __ovld __cnfn fast_normalize(float3 p);
10593 float4 __ovld __cnfn fast_normalize(float4 p);
10594 #ifdef cl_khr_fp16
10595 half __ovld __cnfn fast_normalize(half p);
10596 half2 __ovld __cnfn fast_normalize(half2 p);
10597 half3 __ovld __cnfn fast_normalize(half3 p);
10598 half4 __ovld __cnfn fast_normalize(half4 p);
10599 #endif //cl_khr_fp16
10600
10601 // OpenCL v1.1 s6.11.6, v1.2 s6.12.6, v2.0 s6.13.6 - Relational Functions
10602
10603 /**
10604  * intn isequal (floatn x, floatn y)
10605  * Returns the component-wise compare of x == y.
10606  */
10607 int __ovld __cnfn isequal(float x, float y);
10608 int2 __ovld __cnfn isequal(float2 x, float2 y);
10609 int3 __ovld __cnfn isequal(float3 x, float3 y);
10610 int4 __ovld __cnfn isequal(float4 x, float4 y);
10611 int8 __ovld __cnfn isequal(float8 x, float8 y);
10612 int16 __ovld __cnfn isequal(float16 x, float16 y);
10613 #ifdef cl_khr_fp64
10614 int __ovld __cnfn isequal(double x, double y);
10615 long2 __ovld __cnfn isequal(double2 x, double2 y);
10616 long3 __ovld __cnfn isequal(double3 x, double3 y);
10617 long4 __ovld __cnfn isequal(double4 x, double4 y);
10618 long8 __ovld __cnfn isequal(double8 x, double8 y);
10619 long16 __ovld __cnfn isequal(double16 x, double16 y);
10620 #endif //cl_khr_fp64
10621 #ifdef cl_khr_fp16
10622 int __ovld __cnfn isequal(half x, half y);
10623 short2 __ovld __cnfn isequal(half2 x, half2 y);
10624 short3 __ovld __cnfn isequal(half3 x, half3 y);
10625 short4 __ovld __cnfn isequal(half4 x, half4 y);
10626 short8 __ovld __cnfn isequal(half8 x, half8 y);
10627 short16 __ovld __cnfn isequal(half16 x, half16 y);
10628 #endif //cl_khr_fp16
10629
10630 /**
10631  * Returns the component-wise compare of x != y.
10632  */
10633 int __ovld __cnfn isnotequal(float x, float y);
10634 int2 __ovld __cnfn isnotequal(float2 x, float2 y);
10635 int3 __ovld __cnfn isnotequal(float3 x, float3 y);
10636 int4 __ovld __cnfn isnotequal(float4 x, float4 y);
10637 int8 __ovld __cnfn isnotequal(float8 x, float8 y);
10638 int16 __ovld __cnfn isnotequal(float16 x, float16 y);
10639 #ifdef cl_khr_fp64
10640 int __ovld __cnfn isnotequal(double x, double y);
10641 long2 __ovld __cnfn isnotequal(double2 x, double2 y);
10642 long3 __ovld __cnfn isnotequal(double3 x, double3 y);
10643 long4 __ovld __cnfn isnotequal(double4 x, double4 y);
10644 long8 __ovld __cnfn isnotequal(double8 x, double8 y);
10645 long16 __ovld __cnfn isnotequal(double16 x, double16 y);
10646 #endif //cl_khr_fp64
10647 #ifdef cl_khr_fp16
10648 int __ovld __cnfn isnotequal(half x, half y);
10649 short2 __ovld __cnfn isnotequal(half2 x, half2 y);
10650 short3 __ovld __cnfn isnotequal(half3 x, half3 y);
10651 short4 __ovld __cnfn isnotequal(half4 x, half4 y);
10652 short8 __ovld __cnfn isnotequal(half8 x, half8 y);
10653 short16 __ovld __cnfn isnotequal(half16 x, half16 y);
10654 #endif //cl_khr_fp16
10655
10656 /**
10657  * Returns the component-wise compare of x > y.
10658  */
10659 int __ovld __cnfn isgreater(float x, float y);
10660 int2 __ovld __cnfn isgreater(float2 x, float2 y);
10661 int3 __ovld __cnfn isgreater(float3 x, float3 y);
10662 int4 __ovld __cnfn isgreater(float4 x, float4 y);
10663 int8 __ovld __cnfn isgreater(float8 x, float8 y);
10664 int16 __ovld __cnfn isgreater(float16 x, float16 y);
10665 #ifdef cl_khr_fp64
10666 int __ovld __cnfn isgreater(double x, double y);
10667 long2 __ovld __cnfn isgreater(double2 x, double2 y);
10668 long3 __ovld __cnfn isgreater(double3 x, double3 y);
10669 long4 __ovld __cnfn isgreater(double4 x, double4 y);
10670 long8 __ovld __cnfn isgreater(double8 x, double8 y);
10671 long16 __ovld __cnfn isgreater(double16 x, double16 y);
10672 #endif //cl_khr_fp64
10673 #ifdef cl_khr_fp16
10674 int __ovld __cnfn isgreater(half x, half y);
10675 short2 __ovld __cnfn isgreater(half2 x, half2 y);
10676 short3 __ovld __cnfn isgreater(half3 x, half3 y);
10677 short4 __ovld __cnfn isgreater(half4 x, half4 y);
10678 short8 __ovld __cnfn isgreater(half8 x, half8 y);
10679 short16 __ovld __cnfn isgreater(half16 x, half16 y);
10680 #endif //cl_khr_fp16
10681
10682 /**
10683  * Returns the component-wise compare of x >= y.
10684  */
10685 int __ovld __cnfn isgreaterequal(float x, float y);
10686 int2 __ovld __cnfn isgreaterequal(float2 x, float2 y);
10687 int3 __ovld __cnfn isgreaterequal(float3 x, float3 y);
10688 int4 __ovld __cnfn isgreaterequal(float4 x, float4 y);
10689 int8 __ovld __cnfn isgreaterequal(float8 x, float8 y);
10690 int16 __ovld __cnfn isgreaterequal(float16 x, float16 y);
10691 #ifdef cl_khr_fp64
10692 int __ovld __cnfn isgreaterequal(double x, double y);
10693 long2 __ovld __cnfn isgreaterequal(double2 x, double2 y);
10694 long3 __ovld __cnfn isgreaterequal(double3 x, double3 y);
10695 long4 __ovld __cnfn isgreaterequal(double4 x, double4 y);
10696 long8 __ovld __cnfn isgreaterequal(double8 x, double8 y);
10697 long16 __ovld __cnfn isgreaterequal(double16 x, double16 y);
10698 #endif //cl_khr_fp64
10699 #ifdef cl_khr_fp16
10700 int __ovld __cnfn isgreaterequal(half x, half y);
10701 short2 __ovld __cnfn isgreaterequal(half2 x, half2 y);
10702 short3 __ovld __cnfn isgreaterequal(half3 x, half3 y);
10703 short4 __ovld __cnfn isgreaterequal(half4 x, half4 y);
10704 short8 __ovld __cnfn isgreaterequal(half8 x, half8 y);
10705 short16 __ovld __cnfn isgreaterequal(half16 x, half16 y);
10706 #endif //cl_khr_fp16
10707
10708 /**
10709  * Returns the component-wise compare of x < y.
10710  */
10711 int __ovld __cnfn isless(float x, float y);
10712 int2 __ovld __cnfn isless(float2 x, float2 y);
10713 int3 __ovld __cnfn isless(float3 x, float3 y);
10714 int4 __ovld __cnfn isless(float4 x, float4 y);
10715 int8 __ovld __cnfn isless(float8 x, float8 y);
10716 int16 __ovld __cnfn isless(float16 x, float16 y);
10717 #ifdef cl_khr_fp64
10718 int __ovld __cnfn isless(double x, double y);
10719 long2 __ovld __cnfn isless(double2 x, double2 y);
10720 long3 __ovld __cnfn isless(double3 x, double3 y);
10721 long4 __ovld __cnfn isless(double4 x, double4 y);
10722 long8 __ovld __cnfn isless(double8 x, double8 y);
10723 long16 __ovld __cnfn isless(double16 x, double16 y);
10724 #endif //cl_khr_fp64
10725 #ifdef cl_khr_fp16
10726 int __ovld __cnfn isless(half x, half y);
10727 short2 __ovld __cnfn isless(half2 x, half2 y);
10728 short3 __ovld __cnfn isless(half3 x, half3 y);
10729 short4 __ovld __cnfn isless(half4 x, half4 y);
10730 short8 __ovld __cnfn isless(half8 x, half8 y);
10731 short16 __ovld __cnfn isless(half16 x, half16 y);
10732 #endif //cl_khr_fp16
10733
10734 /**
10735  * Returns the component-wise compare of x <= y.
10736  */
10737 int __ovld __cnfn islessequal(float x, float y);
10738 int2 __ovld __cnfn islessequal(float2 x, float2 y);
10739 int3 __ovld __cnfn islessequal(float3 x, float3 y);
10740 int4 __ovld __cnfn islessequal(float4 x, float4 y);
10741 int8 __ovld __cnfn islessequal(float8 x, float8 y);
10742 int16 __ovld __cnfn islessequal(float16 x, float16 y);
10743 #ifdef cl_khr_fp64
10744 int __ovld __cnfn islessequal(double x, double y);
10745 long2 __ovld __cnfn islessequal(double2 x, double2 y);
10746 long3 __ovld __cnfn islessequal(double3 x, double3 y);
10747 long4 __ovld __cnfn islessequal(double4 x, double4 y);
10748 long8 __ovld __cnfn islessequal(double8 x, double8 y);
10749 long16 __ovld __cnfn islessequal(double16 x, double16 y);
10750 #endif //cl_khr_fp64
10751 #ifdef cl_khr_fp16
10752 int __ovld __cnfn islessequal(half x, half y);
10753 short2 __ovld __cnfn islessequal(half2 x, half2 y);
10754 short3 __ovld __cnfn islessequal(half3 x, half3 y);
10755 short4 __ovld __cnfn islessequal(half4 x, half4 y);
10756 short8 __ovld __cnfn islessequal(half8 x, half8 y);
10757 short16 __ovld __cnfn islessequal(half16 x, half16 y);
10758 #endif //cl_khr_fp16
10759
10760 /**
10761  * Returns the component-wise compare of
10762  * (x < y) || (x > y) .
10763  */
10764 int __ovld __cnfn islessgreater(float x, float y);
10765 int2 __ovld __cnfn islessgreater(float2 x, float2 y);
10766 int3 __ovld __cnfn islessgreater(float3 x, float3 y);
10767 int4 __ovld __cnfn islessgreater(float4 x, float4 y);
10768 int8 __ovld __cnfn islessgreater(float8 x, float8 y);
10769 int16 __ovld __cnfn islessgreater(float16 x, float16 y);
10770 #ifdef cl_khr_fp64
10771 int __ovld __cnfn islessgreater(double x, double y);
10772 long2 __ovld __cnfn islessgreater(double2 x, double2 y);
10773 long3 __ovld __cnfn islessgreater(double3 x, double3 y);
10774 long4 __ovld __cnfn islessgreater(double4 x, double4 y);
10775 long8 __ovld __cnfn islessgreater(double8 x, double8 y);
10776 long16 __ovld __cnfn islessgreater(double16 x, double16 y);
10777 #endif //cl_khr_fp64
10778 #ifdef cl_khr_fp16
10779 int __ovld __cnfn islessgreater(half x, half y);
10780 short2 __ovld __cnfn islessgreater(half2 x, half2 y);
10781 short3 __ovld __cnfn islessgreater(half3 x, half3 y);
10782 short4 __ovld __cnfn islessgreater(half4 x, half4 y);
10783 short8 __ovld __cnfn islessgreater(half8 x, half8 y);
10784 short16 __ovld __cnfn islessgreater(half16 x, half16 y);
10785 #endif //cl_khr_fp16
10786
10787 /**
10788  * Test for finite value.
10789  */
10790 int __ovld __cnfn isfinite(float);
10791 int2 __ovld __cnfn isfinite(float2);
10792 int3 __ovld __cnfn isfinite(float3);
10793 int4 __ovld __cnfn isfinite(float4);
10794 int8 __ovld __cnfn isfinite(float8);
10795 int16 __ovld __cnfn isfinite(float16);
10796 #ifdef cl_khr_fp64
10797 int __ovld __cnfn isfinite(double);
10798 long2 __ovld __cnfn isfinite(double2);
10799 long3 __ovld __cnfn isfinite(double3);
10800 long4 __ovld __cnfn isfinite(double4);
10801 long8 __ovld __cnfn isfinite(double8);
10802 long16 __ovld __cnfn isfinite(double16);
10803 #endif //cl_khr_fp64
10804 #ifdef cl_khr_fp16
10805 int __ovld __cnfn isfinite(half);
10806 short2 __ovld __cnfn isfinite(half2);
10807 short3 __ovld __cnfn isfinite(half3);
10808 short4 __ovld __cnfn isfinite(half4);
10809 short8 __ovld __cnfn isfinite(half8);
10810 short16 __ovld __cnfn isfinite(half16);
10811 #endif //cl_khr_fp16
10812
10813 /**
10814  * Test for infinity value (+ve or -ve) .
10815  */
10816 int __ovld __cnfn isinf(float);
10817 int2 __ovld __cnfn isinf(float2);
10818 int3 __ovld __cnfn isinf(float3);
10819 int4 __ovld __cnfn isinf(float4);
10820 int8 __ovld __cnfn isinf(float8);
10821 int16 __ovld __cnfn isinf(float16);
10822 #ifdef cl_khr_fp64
10823 int __ovld __cnfn isinf(double);
10824 long2 __ovld __cnfn isinf(double2);
10825 long3 __ovld __cnfn isinf(double3);
10826 long4 __ovld __cnfn isinf(double4);
10827 long8 __ovld __cnfn isinf(double8);
10828 long16 __ovld __cnfn isinf(double16);
10829 #endif //cl_khr_fp64
10830 #ifdef cl_khr_fp16
10831 int __ovld __cnfn isinf(half);
10832 short2 __ovld __cnfn isinf(half2);
10833 short3 __ovld __cnfn isinf(half3);
10834 short4 __ovld __cnfn isinf(half4);
10835 short8 __ovld __cnfn isinf(half8);
10836 short16 __ovld __cnfn isinf(half16);
10837 #endif //cl_khr_fp16
10838
10839 /**
10840  * Test for a NaN.
10841  */
10842 int __ovld __cnfn isnan(float);
10843 int2 __ovld __cnfn isnan(float2);
10844 int3 __ovld __cnfn isnan(float3);
10845 int4 __ovld __cnfn isnan(float4);
10846 int8 __ovld __cnfn isnan(float8);
10847 int16 __ovld __cnfn isnan(float16);
10848 #ifdef cl_khr_fp64
10849 int __ovld __cnfn isnan(double);
10850 long2 __ovld __cnfn isnan(double2);
10851 long3 __ovld __cnfn isnan(double3);
10852 long4 __ovld __cnfn isnan(double4);
10853 long8 __ovld __cnfn isnan(double8);
10854 long16 __ovld __cnfn isnan(double16);
10855 #endif //cl_khr_fp64
10856 #ifdef cl_khr_fp16
10857 int __ovld __cnfn isnan(half);
10858 short2 __ovld __cnfn isnan(half2);
10859 short3 __ovld __cnfn isnan(half3);
10860 short4 __ovld __cnfn isnan(half4);
10861 short8 __ovld __cnfn isnan(half8);
10862 short16 __ovld __cnfn isnan(half16);
10863 #endif //cl_khr_fp16
10864
10865 /**
10866  * Test for a normal value.
10867  */
10868 int __ovld __cnfn isnormal(float);
10869 int2 __ovld __cnfn isnormal(float2);
10870 int3 __ovld __cnfn isnormal(float3);
10871 int4 __ovld __cnfn isnormal(float4);
10872 int8 __ovld __cnfn isnormal(float8);
10873 int16 __ovld __cnfn isnormal(float16);
10874 #ifdef cl_khr_fp64
10875 int __ovld __cnfn isnormal(double);
10876 long2 __ovld __cnfn isnormal(double2);
10877 long3 __ovld __cnfn isnormal(double3);
10878 long4 __ovld __cnfn isnormal(double4);
10879 long8 __ovld __cnfn isnormal(double8);
10880 long16 __ovld __cnfn isnormal(double16);
10881 #endif //cl_khr_fp64
10882 #ifdef cl_khr_fp16
10883 int __ovld __cnfn isnormal(half);
10884 short2 __ovld __cnfn isnormal(half2);
10885 short3 __ovld __cnfn isnormal(half3);
10886 short4 __ovld __cnfn isnormal(half4);
10887 short8 __ovld __cnfn isnormal(half8);
10888 short16 __ovld __cnfn isnormal(half16);
10889 #endif //cl_khr_fp16
10890
10891 /**
10892  * Test if arguments are ordered. isordered() takes
10893  * arguments x and y, and returns the result
10894  * isequal(x, x) && isequal(y, y).
10895  */
10896 int __ovld __cnfn isordered(float x, float y);
10897 int2 __ovld __cnfn isordered(float2 x, float2 y);
10898 int3 __ovld __cnfn isordered(float3 x, float3 y);
10899 int4 __ovld __cnfn isordered(float4 x, float4 y);
10900 int8 __ovld __cnfn isordered(float8 x, float8 y);
10901 int16 __ovld __cnfn isordered(float16 x, float16 y);
10902 #ifdef cl_khr_fp64
10903 int __ovld __cnfn isordered(double x, double y);
10904 long2 __ovld __cnfn isordered(double2 x, double2 y);
10905 long3 __ovld __cnfn isordered(double3 x, double3 y);
10906 long4 __ovld __cnfn isordered(double4 x, double4 y);
10907 long8 __ovld __cnfn isordered(double8 x, double8 y);
10908 long16 __ovld __cnfn isordered(double16 x, double16 y);
10909 #endif //cl_khr_fp64
10910 #ifdef cl_khr_fp16
10911 int __ovld __cnfn isordered(half x, half y);
10912 short2 __ovld __cnfn isordered(half2 x, half2 y);
10913 short3 __ovld __cnfn isordered(half3 x, half3 y);
10914 short4 __ovld __cnfn isordered(half4 x, half4 y);
10915 short8 __ovld __cnfn isordered(half8 x, half8 y);
10916 short16 __ovld __cnfn isordered(half16 x, half16 y);
10917 #endif //cl_khr_fp16
10918
10919 /**
10920  * Test if arguments are unordered. isunordered()
10921  * takes arguments x and y, returning non-zero if x or y
10922  * is NaN, and zero otherwise.
10923  */
10924 int __ovld __cnfn isunordered(float x, float y);
10925 int2 __ovld __cnfn isunordered(float2 x, float2 y);
10926 int3 __ovld __cnfn isunordered(float3 x, float3 y);
10927 int4 __ovld __cnfn isunordered(float4 x, float4 y);
10928 int8 __ovld __cnfn isunordered(float8 x, float8 y);
10929 int16 __ovld __cnfn isunordered(float16 x, float16 y);
10930 #ifdef cl_khr_fp64
10931 int __ovld __cnfn isunordered(double x, double y);
10932 long2 __ovld __cnfn isunordered(double2 x, double2 y);
10933 long3 __ovld __cnfn isunordered(double3 x, double3 y);
10934 long4 __ovld __cnfn isunordered(double4 x, double4 y);
10935 long8 __ovld __cnfn isunordered(double8 x, double8 y);
10936 long16 __ovld __cnfn isunordered(double16 x, double16 y);
10937 #endif //cl_khr_fp64
10938 #ifdef cl_khr_fp16
10939 int __ovld __cnfn isunordered(half x, half y);
10940 short2 __ovld __cnfn isunordered(half2 x, half2 y);
10941 short3 __ovld __cnfn isunordered(half3 x, half3 y);
10942 short4 __ovld __cnfn isunordered(half4 x, half4 y);
10943 short8 __ovld __cnfn isunordered(half8 x, half8 y);
10944 short16 __ovld __cnfn isunordered(half16 x, half16 y);
10945 #endif //cl_khr_fp16
10946
10947 /**
10948  * Test for sign bit. The scalar version of the function
10949  * returns a 1 if the sign bit in the float is set else returns
10950  * 0. The vector version of the function returns the
10951  * following for each component in floatn: a -1 if the
10952  * sign bit in the float is set else returns 0.
10953  */
10954 int __ovld __cnfn signbit(float);
10955 int2 __ovld __cnfn signbit(float2);
10956 int3 __ovld __cnfn signbit(float3);
10957 int4 __ovld __cnfn signbit(float4);
10958 int8 __ovld __cnfn signbit(float8);
10959 int16 __ovld __cnfn signbit(float16);
10960 #ifdef cl_khr_fp64
10961 int __ovld __cnfn signbit(double);
10962 long2 __ovld __cnfn signbit(double2);
10963 long3 __ovld __cnfn signbit(double3);
10964 long4 __ovld __cnfn signbit(double4);
10965 long8 __ovld __cnfn signbit(double8);
10966 long16 __ovld __cnfn signbit(double16);
10967 #endif //cl_khr_fp64
10968 #ifdef cl_khr_fp16
10969 int __ovld __cnfn signbit(half);
10970 short2 __ovld __cnfn signbit(half2);
10971 short3 __ovld __cnfn signbit(half3);
10972 short4 __ovld __cnfn signbit(half4);
10973 short8 __ovld __cnfn signbit(half8);
10974 short16 __ovld __cnfn signbit(half16);
10975 #endif //cl_khr_fp16
10976
10977 /**
10978  * Returns 1 if the most significant bit in any component
10979  * of x is set; otherwise returns 0.
10980  */
10981 int __ovld __cnfn any(char x);
10982 int __ovld __cnfn any(char2 x);
10983 int __ovld __cnfn any(char3 x);
10984 int __ovld __cnfn any(char4 x);
10985 int __ovld __cnfn any(char8 x);
10986 int __ovld __cnfn any(char16 x);
10987 int __ovld __cnfn any(short x);
10988 int __ovld __cnfn any(short2 x);
10989 int __ovld __cnfn any(short3 x);
10990 int __ovld __cnfn any(short4 x);
10991 int __ovld __cnfn any(short8 x);
10992 int __ovld __cnfn any(short16 x);
10993 int __ovld __cnfn any(int x);
10994 int __ovld __cnfn any(int2 x);
10995 int __ovld __cnfn any(int3 x);
10996 int __ovld __cnfn any(int4 x);
10997 int __ovld __cnfn any(int8 x);
10998 int __ovld __cnfn any(int16 x);
10999 int __ovld __cnfn any(long x);
11000 int __ovld __cnfn any(long2 x);
11001 int __ovld __cnfn any(long3 x);
11002 int __ovld __cnfn any(long4 x);
11003 int __ovld __cnfn any(long8 x);
11004 int __ovld __cnfn any(long16 x);
11005
11006 /**
11007  * Returns 1 if the most significant bit in all components
11008  * of x is set; otherwise returns 0.
11009  */
11010 int __ovld __cnfn all(char x);
11011 int __ovld __cnfn all(char2 x);
11012 int __ovld __cnfn all(char3 x);
11013 int __ovld __cnfn all(char4 x);
11014 int __ovld __cnfn all(char8 x);
11015 int __ovld __cnfn all(char16 x);
11016 int __ovld __cnfn all(short x);
11017 int __ovld __cnfn all(short2 x);
11018 int __ovld __cnfn all(short3 x);
11019 int __ovld __cnfn all(short4 x);
11020 int __ovld __cnfn all(short8 x);
11021 int __ovld __cnfn all(short16 x);
11022 int __ovld __cnfn all(int x);
11023 int __ovld __cnfn all(int2 x);
11024 int __ovld __cnfn all(int3 x);
11025 int __ovld __cnfn all(int4 x);
11026 int __ovld __cnfn all(int8 x);
11027 int __ovld __cnfn all(int16 x);
11028 int __ovld __cnfn all(long x);
11029 int __ovld __cnfn all(long2 x);
11030 int __ovld __cnfn all(long3 x);
11031 int __ovld __cnfn all(long4 x);
11032 int __ovld __cnfn all(long8 x);
11033 int __ovld __cnfn all(long16 x);
11034
11035 /**
11036  * Each bit of the result is the corresponding bit of a if
11037  * the corresponding bit of c is 0. Otherwise it is the
11038  * corresponding bit of b.
11039  */
11040 char __ovld __cnfn bitselect(char a, char b, char c);
11041 uchar __ovld __cnfn bitselect(uchar a, uchar b, uchar c);
11042 char2 __ovld __cnfn bitselect(char2 a, char2 b, char2 c);
11043 uchar2 __ovld __cnfn bitselect(uchar2 a, uchar2 b, uchar2 c);
11044 char3 __ovld __cnfn bitselect(char3 a, char3 b, char3 c);
11045 uchar3 __ovld __cnfn bitselect(uchar3 a, uchar3 b, uchar3 c);
11046 char4 __ovld __cnfn bitselect(char4 a, char4 b, char4 c);
11047 uchar4 __ovld __cnfn bitselect(uchar4 a, uchar4 b, uchar4 c);
11048 char8 __ovld __cnfn bitselect(char8 a, char8 b, char8 c);
11049 uchar8 __ovld __cnfn bitselect(uchar8 a, uchar8 b, uchar8 c);
11050 char16 __ovld __cnfn bitselect(char16 a, char16 b, char16 c);
11051 uchar16 __ovld __cnfn bitselect(uchar16 a, uchar16 b, uchar16 c);
11052 short __ovld __cnfn bitselect(short a, short b, short c);
11053 ushort __ovld __cnfn bitselect(ushort a, ushort b, ushort c);
11054 short2 __ovld __cnfn bitselect(short2 a, short2 b, short2 c);
11055 ushort2 __ovld __cnfn bitselect(ushort2 a, ushort2 b, ushort2 c);
11056 short3 __ovld __cnfn bitselect(short3 a, short3 b, short3 c);
11057 ushort3 __ovld __cnfn bitselect(ushort3 a, ushort3 b, ushort3 c);
11058 short4 __ovld __cnfn bitselect(short4 a, short4 b, short4 c);
11059 ushort4 __ovld __cnfn bitselect(ushort4 a, ushort4 b, ushort4 c);
11060 short8 __ovld __cnfn bitselect(short8 a, short8 b, short8 c);
11061 ushort8 __ovld __cnfn bitselect(ushort8 a, ushort8 b, ushort8 c);
11062 short16 __ovld __cnfn bitselect(short16 a, short16 b, short16 c);
11063 ushort16 __ovld __cnfn bitselect(ushort16 a, ushort16 b, ushort16 c);
11064 int __ovld __cnfn bitselect(int a, int b, int c);
11065 uint __ovld __cnfn bitselect(uint a, uint b, uint c);
11066 int2 __ovld __cnfn bitselect(int2 a, int2 b, int2 c);
11067 uint2 __ovld __cnfn bitselect(uint2 a, uint2 b, uint2 c);
11068 int3 __ovld __cnfn bitselect(int3 a, int3 b, int3 c);
11069 uint3 __ovld __cnfn bitselect(uint3 a, uint3 b, uint3 c);
11070 int4 __ovld __cnfn bitselect(int4 a, int4 b, int4 c);
11071 uint4 __ovld __cnfn bitselect(uint4 a, uint4 b, uint4 c);
11072 int8 __ovld __cnfn bitselect(int8 a, int8 b, int8 c);
11073 uint8 __ovld __cnfn bitselect(uint8 a, uint8 b, uint8 c);
11074 int16 __ovld __cnfn bitselect(int16 a, int16 b, int16 c);
11075 uint16 __ovld __cnfn bitselect(uint16 a, uint16 b, uint16 c);
11076 long __ovld __cnfn bitselect(long a, long b, long c);
11077 ulong __ovld __cnfn bitselect(ulong a, ulong b, ulong c);
11078 long2 __ovld __cnfn bitselect(long2 a, long2 b, long2 c);
11079 ulong2 __ovld __cnfn bitselect(ulong2 a, ulong2 b, ulong2 c);
11080 long3 __ovld __cnfn bitselect(long3 a, long3 b, long3 c);
11081 ulong3 __ovld __cnfn bitselect(ulong3 a, ulong3 b, ulong3 c);
11082 long4 __ovld __cnfn bitselect(long4 a, long4 b, long4 c);
11083 ulong4 __ovld __cnfn bitselect(ulong4 a, ulong4 b, ulong4 c);
11084 long8 __ovld __cnfn bitselect(long8 a, long8 b, long8 c);
11085 ulong8 __ovld __cnfn bitselect(ulong8 a, ulong8 b, ulong8 c);
11086 long16 __ovld __cnfn bitselect(long16 a, long16 b, long16 c);
11087 ulong16 __ovld __cnfn bitselect(ulong16 a, ulong16 b, ulong16 c);
11088 float __ovld __cnfn bitselect(float a, float b, float c);
11089 float2 __ovld __cnfn bitselect(float2 a, float2 b, float2 c);
11090 float3 __ovld __cnfn bitselect(float3 a, float3 b, float3 c);
11091 float4 __ovld __cnfn bitselect(float4 a, float4 b, float4 c);
11092 float8 __ovld __cnfn bitselect(float8 a, float8 b, float8 c);
11093 float16 __ovld __cnfn bitselect(float16 a, float16 b, float16 c);
11094 #ifdef cl_khr_fp64
11095 double __ovld __cnfn bitselect(double a, double b, double c);
11096 double2 __ovld __cnfn bitselect(double2 a, double2 b, double2 c);
11097 double3 __ovld __cnfn bitselect(double3 a, double3 b, double3 c);
11098 double4 __ovld __cnfn bitselect(double4 a, double4 b, double4 c);
11099 double8 __ovld __cnfn bitselect(double8 a, double8 b, double8 c);
11100 double16 __ovld __cnfn bitselect(double16 a, double16 b, double16 c);
11101 #endif //cl_khr_fp64
11102 #ifdef cl_khr_fp16
11103 half __ovld __cnfn bitselect(half a, half b, half c);
11104 half2 __ovld __cnfn bitselect(half2 a, half2 b, half2 c);
11105 half3 __ovld __cnfn bitselect(half3 a, half3 b, half3 c);
11106 half4 __ovld __cnfn bitselect(half4 a, half4 b, half4 c);
11107 half8 __ovld __cnfn bitselect(half8 a, half8 b, half8 c);
11108 half16 __ovld __cnfn bitselect(half16 a, half16 b, half16 c);
11109 #endif //cl_khr_fp16
11110
11111 /**
11112  * For each component of a vector type,
11113  * result[i] = if MSB of c[i] is set ? b[i] : a[i].
11114  * For a scalar type, result = c ? b : a.
11115  * b and a must have the same type.
11116  * c must have the same number of elements and bits as a.
11117  */
11118 char __ovld __cnfn select(char a, char b, char c);
11119 uchar __ovld __cnfn select(uchar a, uchar b, char c);
11120 char2 __ovld __cnfn select(char2 a, char2 b, char2 c);
11121 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, char2 c);
11122 char3 __ovld __cnfn select(char3 a, char3 b, char3 c);
11123 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, char3 c);
11124 char4 __ovld __cnfn select(char4 a, char4 b, char4 c);
11125 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, char4 c);
11126 char8 __ovld __cnfn select(char8 a, char8 b, char8 c);
11127 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, char8 c);
11128 char16 __ovld __cnfn select(char16 a, char16 b, char16 c);
11129 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, char16 c);
11130
11131 short __ovld __cnfn select(short a, short b, short c);
11132 ushort __ovld __cnfn select(ushort a, ushort b, short c);
11133 short2 __ovld __cnfn select(short2 a, short2 b, short2 c);
11134 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, short2 c);
11135 short3 __ovld __cnfn select(short3 a, short3 b, short3 c);
11136 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, short3 c);
11137 short4 __ovld __cnfn select(short4 a, short4 b, short4 c);
11138 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, short4 c);
11139 short8 __ovld __cnfn select(short8 a, short8 b, short8 c);
11140 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, short8 c);
11141 short16 __ovld __cnfn select(short16 a, short16 b, short16 c);
11142 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, short16 c);
11143
11144 int __ovld __cnfn select(int a, int b, int c);
11145 uint __ovld __cnfn select(uint a, uint b, int c);
11146 int2 __ovld __cnfn select(int2 a, int2 b, int2 c);
11147 uint2 __ovld __cnfn select(uint2 a, uint2 b, int2 c);
11148 int3 __ovld __cnfn select(int3 a, int3 b, int3 c);
11149 uint3 __ovld __cnfn select(uint3 a, uint3 b, int3 c);
11150 int4 __ovld __cnfn select(int4 a, int4 b, int4 c);
11151 uint4 __ovld __cnfn select(uint4 a, uint4 b, int4 c);
11152 int8 __ovld __cnfn select(int8 a, int8 b, int8 c);
11153 uint8 __ovld __cnfn select(uint8 a, uint8 b, int8 c);
11154 int16 __ovld __cnfn select(int16 a, int16 b, int16 c);
11155 uint16 __ovld __cnfn select(uint16 a, uint16 b, int16 c);
11156 float __ovld __cnfn select(float a, float b, int c);
11157 float2 __ovld __cnfn select(float2 a, float2 b, int2 c);
11158 float3 __ovld __cnfn select(float3 a, float3 b, int3 c);
11159 float4 __ovld __cnfn select(float4 a, float4 b, int4 c);
11160 float8 __ovld __cnfn select(float8 a, float8 b, int8 c);
11161 float16 __ovld __cnfn select(float16 a, float16 b, int16 c);
11162
11163 long __ovld __cnfn select(long a, long b, long c);
11164 ulong __ovld __cnfn select(ulong a, ulong b, long c);
11165 long2 __ovld __cnfn select(long2 a, long2 b, long2 c);
11166 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, long2 c);
11167 long3 __ovld __cnfn select(long3 a, long3 b, long3 c);
11168 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, long3 c);
11169 long4 __ovld __cnfn select(long4 a, long4 b, long4 c);
11170 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, long4 c);
11171 long8 __ovld __cnfn select(long8 a, long8 b, long8 c);
11172 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, long8 c);
11173 long16 __ovld __cnfn select(long16 a, long16 b, long16 c);
11174 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, long16 c);
11175
11176 char __ovld __cnfn select(char a, char b, uchar c);
11177 uchar __ovld __cnfn select(uchar a, uchar b, uchar c);
11178 char2 __ovld __cnfn select(char2 a, char2 b, uchar2 c);
11179 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, uchar2 c);
11180 char3 __ovld __cnfn select(char3 a, char3 b, uchar3 c);
11181 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, uchar3 c);
11182 char4 __ovld __cnfn select(char4 a, char4 b, uchar4 c);
11183 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, uchar4 c);
11184 char8 __ovld __cnfn select(char8 a, char8 b, uchar8 c);
11185 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, uchar8 c);
11186 char16 __ovld __cnfn select(char16 a, char16 b, uchar16 c);
11187 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, uchar16 c);
11188
11189 short __ovld __cnfn select(short a, short b, ushort c);
11190 ushort __ovld __cnfn select(ushort a, ushort b, ushort c);
11191 short2 __ovld __cnfn select(short2 a, short2 b, ushort2 c);
11192 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, ushort2 c);
11193 short3 __ovld __cnfn select(short3 a, short3 b, ushort3 c);
11194 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, ushort3 c);
11195 short4 __ovld __cnfn select(short4 a, short4 b, ushort4 c);
11196 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, ushort4 c);
11197 short8 __ovld __cnfn select(short8 a, short8 b, ushort8 c);
11198 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, ushort8 c);
11199 short16 __ovld __cnfn select(short16 a, short16 b, ushort16 c);
11200 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, ushort16 c);
11201
11202 int __ovld __cnfn select(int a, int b, uint c);
11203 uint __ovld __cnfn select(uint a, uint b, uint c);
11204 int2 __ovld __cnfn select(int2 a, int2 b, uint2 c);
11205 uint2 __ovld __cnfn select(uint2 a, uint2 b, uint2 c);
11206 int3 __ovld __cnfn select(int3 a, int3 b, uint3 c);
11207 uint3 __ovld __cnfn select(uint3 a, uint3 b, uint3 c);
11208 int4 __ovld __cnfn select(int4 a, int4 b, uint4 c);
11209 uint4 __ovld __cnfn select(uint4 a, uint4 b, uint4 c);
11210 int8 __ovld __cnfn select(int8 a, int8 b, uint8 c);
11211 uint8 __ovld __cnfn select(uint8 a, uint8 b, uint8 c);
11212 int16 __ovld __cnfn select(int16 a, int16 b, uint16 c);
11213 uint16 __ovld __cnfn select(uint16 a, uint16 b, uint16 c);
11214 float __ovld __cnfn select(float a, float b, uint c);
11215 float2 __ovld __cnfn select(float2 a, float2 b, uint2 c);
11216 float3 __ovld __cnfn select(float3 a, float3 b, uint3 c);
11217 float4 __ovld __cnfn select(float4 a, float4 b, uint4 c);
11218 float8 __ovld __cnfn select(float8 a, float8 b, uint8 c);
11219 float16 __ovld __cnfn select(float16 a, float16 b, uint16 c);
11220
11221 long __ovld __cnfn select(long a, long b, ulong c);
11222 ulong __ovld __cnfn select(ulong a, ulong b, ulong c);
11223 long2 __ovld __cnfn select(long2 a, long2 b, ulong2 c);
11224 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, ulong2 c);
11225 long3 __ovld __cnfn select(long3 a, long3 b, ulong3 c);
11226 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, ulong3 c);
11227 long4 __ovld __cnfn select(long4 a, long4 b, ulong4 c);
11228 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, ulong4 c);
11229 long8 __ovld __cnfn select(long8 a, long8 b, ulong8 c);
11230 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, ulong8 c);
11231 long16 __ovld __cnfn select(long16 a, long16 b, ulong16 c);
11232 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, ulong16 c);
11233
11234 #ifdef cl_khr_fp64
11235 double __ovld __cnfn select(double a, double b, long c);
11236 double2 __ovld __cnfn select(double2 a, double2 b, long2 c);
11237 double3 __ovld __cnfn select(double3 a, double3 b, long3 c);
11238 double4 __ovld __cnfn select(double4 a, double4 b, long4 c);
11239 double8 __ovld __cnfn select(double8 a, double8 b, long8 c);
11240 double16 __ovld __cnfn select(double16 a, double16 b, long16 c);
11241 double __ovld __cnfn select(double a, double b, ulong c);
11242 double2 __ovld __cnfn select(double2 a, double2 b, ulong2 c);
11243 double3 __ovld __cnfn select(double3 a, double3 b, ulong3 c);
11244 double4 __ovld __cnfn select(double4 a, double4 b, ulong4 c);
11245 double8 __ovld __cnfn select(double8 a, double8 b, ulong8 c);
11246 double16 __ovld __cnfn select(double16 a, double16 b, ulong16 c);
11247 #endif //cl_khr_fp64
11248 #ifdef cl_khr_fp16
11249 half __ovld __cnfn select(half a, half b, short c);
11250 half2 __ovld __cnfn select(half2 a, half2 b, short2 c);
11251 half3 __ovld __cnfn select(half3 a, half3 b, short3 c);
11252 half4 __ovld __cnfn select(half4 a, half4 b, short4 c);
11253 half8 __ovld __cnfn select(half8 a, half8 b, short8 c);
11254 half16 __ovld __cnfn select(half16 a, half16 b, short16 c);
11255 half __ovld __cnfn select(half a, half b, ushort c);
11256 half2 __ovld __cnfn select(half2 a, half2 b, ushort2 c);
11257 half3 __ovld __cnfn select(half3 a, half3 b, ushort3 c);
11258 half4 __ovld __cnfn select(half4 a, half4 b, ushort4 c);
11259 half8 __ovld __cnfn select(half8 a, half8 b, ushort8 c);
11260 half16 __ovld __cnfn select(half16 a, half16 b, ushort16 c);
11261 #endif //cl_khr_fp16
11262
11263 // OpenCL v1.1 s6.11.7, v1.2 s6.12.7, v2.0 s6.13.7 - Vector Data Load and Store Functions
11264 // OpenCL extensions v1.1 s9.6.6, v1.2 s9.5.6, v2.0 s9.4.6 - Vector Data Load and Store Functions for Half Type
11265 /**
11266  * Use generic type gentype to indicate the built-in data types
11267  * char, uchar, short, ushort, int, uint, long, ulong, float,
11268  * double or half.
11269  *
11270  * vloadn return sizeof (gentypen) bytes of data read from address (p + (offset * n)).
11271  *
11272  * vstoren write sizeof (gentypen) bytes given by data to address (p + (offset * n)).
11273  *
11274  * The address computed as (p + (offset * n)) must be
11275  * 8-bit aligned if gentype is char, uchar;
11276  * 16-bit aligned if gentype is short, ushort, half;
11277  * 32-bit aligned if gentype is int, uint, float;
11278  * 64-bit aligned if gentype is long, ulong, double.
11279  */
11280
11281 char2 __ovld vload2(size_t offset, const __constant char *p);
11282 uchar2 __ovld vload2(size_t offset, const __constant uchar *p);
11283 short2 __ovld vload2(size_t offset, const __constant short *p);
11284 ushort2 __ovld vload2(size_t offset, const __constant ushort *p);
11285 int2 __ovld vload2(size_t offset, const __constant int *p);
11286 uint2 __ovld vload2(size_t offset, const __constant uint *p);
11287 long2 __ovld vload2(size_t offset, const __constant long *p);
11288 ulong2 __ovld vload2(size_t offset, const __constant ulong *p);
11289 float2 __ovld vload2(size_t offset, const __constant float *p);
11290 char3 __ovld vload3(size_t offset, const __constant char *p);
11291 uchar3 __ovld vload3(size_t offset, const __constant uchar *p);
11292 short3 __ovld vload3(size_t offset, const __constant short *p);
11293 ushort3 __ovld vload3(size_t offset, const __constant ushort *p);
11294 int3 __ovld vload3(size_t offset, const __constant int *p);
11295 uint3 __ovld vload3(size_t offset, const __constant uint *p);
11296 long3 __ovld vload3(size_t offset, const __constant long *p);
11297 ulong3 __ovld vload3(size_t offset, const __constant ulong *p);
11298 float3 __ovld vload3(size_t offset, const __constant float *p);
11299 char4 __ovld vload4(size_t offset, const __constant char *p);
11300 uchar4 __ovld vload4(size_t offset, const __constant uchar *p);
11301 short4 __ovld vload4(size_t offset, const __constant short *p);
11302 ushort4 __ovld vload4(size_t offset, const __constant ushort *p);
11303 int4 __ovld vload4(size_t offset, const __constant int *p);
11304 uint4 __ovld vload4(size_t offset, const __constant uint *p);
11305 long4 __ovld vload4(size_t offset, const __constant long *p);
11306 ulong4 __ovld vload4(size_t offset, const __constant ulong *p);
11307 float4 __ovld vload4(size_t offset, const __constant float *p);
11308 char8 __ovld vload8(size_t offset, const __constant char *p);
11309 uchar8 __ovld vload8(size_t offset, const __constant uchar *p);
11310 short8 __ovld vload8(size_t offset, const __constant short *p);
11311 ushort8 __ovld vload8(size_t offset, const __constant ushort *p);
11312 int8 __ovld vload8(size_t offset, const __constant int *p);
11313 uint8 __ovld vload8(size_t offset, const __constant uint *p);
11314 long8 __ovld vload8(size_t offset, const __constant long *p);
11315 ulong8 __ovld vload8(size_t offset, const __constant ulong *p);
11316 float8 __ovld vload8(size_t offset, const __constant float *p);
11317 char16 __ovld vload16(size_t offset, const __constant char *p);
11318 uchar16 __ovld vload16(size_t offset, const __constant uchar *p);
11319 short16 __ovld vload16(size_t offset, const __constant short *p);
11320 ushort16 __ovld vload16(size_t offset, const __constant ushort *p);
11321 int16 __ovld vload16(size_t offset, const __constant int *p);
11322 uint16 __ovld vload16(size_t offset, const __constant uint *p);
11323 long16 __ovld vload16(size_t offset, const __constant long *p);
11324 ulong16 __ovld vload16(size_t offset, const __constant ulong *p);
11325 float16 __ovld vload16(size_t offset, const __constant float *p);
11326 #ifdef cl_khr_fp64
11327 double2 __ovld vload2(size_t offset, const __constant double *p);
11328 double3 __ovld vload3(size_t offset, const __constant double *p);
11329 double4 __ovld vload4(size_t offset, const __constant double *p);
11330 double8 __ovld vload8(size_t offset, const __constant double *p);
11331 double16 __ovld vload16(size_t offset, const __constant double *p);
11332 #endif //cl_khr_fp64
11333
11334 #ifdef cl_khr_fp16
11335 half __ovld vload(size_t offset, const __constant half *p);
11336 half2 __ovld vload2(size_t offset, const __constant half *p);
11337 half3 __ovld vload3(size_t offset, const __constant half *p);
11338 half4 __ovld vload4(size_t offset, const __constant half *p);
11339 half8 __ovld vload8(size_t offset, const __constant half *p);
11340 half16 __ovld vload16(size_t offset, const __constant half *p);
11341 #endif //cl_khr_fp16
11342
11343 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11344 char2 __ovld vload2(size_t offset, const char *p);
11345 uchar2 __ovld vload2(size_t offset, const uchar *p);
11346 short2 __ovld vload2(size_t offset, const short *p);
11347 ushort2 __ovld vload2(size_t offset, const ushort *p);
11348 int2 __ovld vload2(size_t offset, const int *p);
11349 uint2 __ovld vload2(size_t offset, const uint *p);
11350 long2 __ovld vload2(size_t offset, const long *p);
11351 ulong2 __ovld vload2(size_t offset, const ulong *p);
11352 float2 __ovld vload2(size_t offset, const float *p);
11353 char3 __ovld vload3(size_t offset, const char *p);
11354 uchar3 __ovld vload3(size_t offset, const uchar *p);
11355 short3 __ovld vload3(size_t offset, const short *p);
11356 ushort3 __ovld vload3(size_t offset, const ushort *p);
11357 int3 __ovld vload3(size_t offset, const int *p);
11358 uint3 __ovld vload3(size_t offset, const uint *p);
11359 long3 __ovld vload3(size_t offset, const long *p);
11360 ulong3 __ovld vload3(size_t offset, const ulong *p);
11361 float3 __ovld vload3(size_t offset, const float *p);
11362 char4 __ovld vload4(size_t offset, const char *p);
11363 uchar4 __ovld vload4(size_t offset, const uchar *p);
11364 short4 __ovld vload4(size_t offset, const short *p);
11365 ushort4 __ovld vload4(size_t offset, const ushort *p);
11366 int4 __ovld vload4(size_t offset, const int *p);
11367 uint4 __ovld vload4(size_t offset, const uint *p);
11368 long4 __ovld vload4(size_t offset, const long *p);
11369 ulong4 __ovld vload4(size_t offset, const ulong *p);
11370 float4 __ovld vload4(size_t offset, const float *p);
11371 char8 __ovld vload8(size_t offset, const char *p);
11372 uchar8 __ovld vload8(size_t offset, const uchar *p);
11373 short8 __ovld vload8(size_t offset, const short *p);
11374 ushort8 __ovld vload8(size_t offset, const ushort *p);
11375 int8 __ovld vload8(size_t offset, const int *p);
11376 uint8 __ovld vload8(size_t offset, const uint *p);
11377 long8 __ovld vload8(size_t offset, const long *p);
11378 ulong8 __ovld vload8(size_t offset, const ulong *p);
11379 float8 __ovld vload8(size_t offset, const float *p);
11380 char16 __ovld vload16(size_t offset, const char *p);
11381 uchar16 __ovld vload16(size_t offset, const uchar *p);
11382 short16 __ovld vload16(size_t offset, const short *p);
11383 ushort16 __ovld vload16(size_t offset, const ushort *p);
11384 int16 __ovld vload16(size_t offset, const int *p);
11385 uint16 __ovld vload16(size_t offset, const uint *p);
11386 long16 __ovld vload16(size_t offset, const long *p);
11387 ulong16 __ovld vload16(size_t offset, const ulong *p);
11388 float16 __ovld vload16(size_t offset, const float *p);
11389
11390 #ifdef cl_khr_fp64
11391 double2 __ovld vload2(size_t offset, const double *p);
11392 double3 __ovld vload3(size_t offset, const double *p);
11393 double4 __ovld vload4(size_t offset, const double *p);
11394 double8 __ovld vload8(size_t offset, const double *p);
11395 double16 __ovld vload16(size_t offset, const double *p);
11396 #endif //cl_khr_fp64
11397
11398 #ifdef cl_khr_fp16
11399 half __ovld vload(size_t offset, const half *p);
11400 half2 __ovld vload2(size_t offset, const half *p);
11401 half3 __ovld vload3(size_t offset, const half *p);
11402 half4 __ovld vload4(size_t offset, const half *p);
11403 half8 __ovld vload8(size_t offset, const half *p);
11404 half16 __ovld vload16(size_t offset, const half *p);
11405 #endif //cl_khr_fp16
11406 #else
11407 char2 __ovld vload2(size_t offset, const __global char *p);
11408 uchar2 __ovld vload2(size_t offset, const __global uchar *p);
11409 short2 __ovld vload2(size_t offset, const __global short *p);
11410 ushort2 __ovld vload2(size_t offset, const __global ushort *p);
11411 int2 __ovld vload2(size_t offset, const __global int *p);
11412 uint2 __ovld vload2(size_t offset, const __global uint *p);
11413 long2 __ovld vload2(size_t offset, const __global long *p);
11414 ulong2 __ovld vload2(size_t offset, const __global ulong *p);
11415 float2 __ovld vload2(size_t offset, const __global float *p);
11416 char3 __ovld vload3(size_t offset, const __global char *p);
11417 uchar3 __ovld vload3(size_t offset, const __global uchar *p);
11418 short3 __ovld vload3(size_t offset, const __global short *p);
11419 ushort3 __ovld vload3(size_t offset, const __global ushort *p);
11420 int3 __ovld vload3(size_t offset, const __global int *p);
11421 uint3 __ovld vload3(size_t offset, const __global uint *p);
11422 long3 __ovld vload3(size_t offset, const __global long *p);
11423 ulong3 __ovld vload3(size_t offset, const __global ulong *p);
11424 float3 __ovld vload3(size_t offset, const __global float *p);
11425 char4 __ovld vload4(size_t offset, const __global char *p);
11426 uchar4 __ovld vload4(size_t offset, const __global uchar *p);
11427 short4 __ovld vload4(size_t offset, const __global short *p);
11428 ushort4 __ovld vload4(size_t offset, const __global ushort *p);
11429 int4 __ovld vload4(size_t offset, const __global int *p);
11430 uint4 __ovld vload4(size_t offset, const __global uint *p);
11431 long4 __ovld vload4(size_t offset, const __global long *p);
11432 ulong4 __ovld vload4(size_t offset, const __global ulong *p);
11433 float4 __ovld vload4(size_t offset, const __global float *p);
11434 char8 __ovld vload8(size_t offset, const __global char *p);
11435 uchar8 __ovld vload8(size_t offset, const __global uchar *p);
11436 short8 __ovld vload8(size_t offset, const __global short *p);
11437 ushort8 __ovld vload8(size_t offset, const __global ushort *p);
11438 int8 __ovld vload8(size_t offset, const __global int *p);
11439 uint8 __ovld vload8(size_t offset, const __global uint *p);
11440 long8 __ovld vload8(size_t offset, const __global long *p);
11441 ulong8 __ovld vload8(size_t offset, const __global ulong *p);
11442 float8 __ovld vload8(size_t offset, const __global float *p);
11443 char16 __ovld vload16(size_t offset, const __global char *p);
11444 uchar16 __ovld vload16(size_t offset, const __global uchar *p);
11445 short16 __ovld vload16(size_t offset, const __global short *p);
11446 ushort16 __ovld vload16(size_t offset, const __global ushort *p);
11447 int16 __ovld vload16(size_t offset, const __global int *p);
11448 uint16 __ovld vload16(size_t offset, const __global uint *p);
11449 long16 __ovld vload16(size_t offset, const __global long *p);
11450 ulong16 __ovld vload16(size_t offset, const __global ulong *p);
11451 float16 __ovld vload16(size_t offset, const __global float *p);
11452 char2 __ovld vload2(size_t offset, const __local char *p);
11453 uchar2 __ovld vload2(size_t offset, const __local uchar *p);
11454 short2 __ovld vload2(size_t offset, const __local short *p);
11455 ushort2 __ovld vload2(size_t offset, const __local ushort *p);
11456 int2 __ovld vload2(size_t offset, const __local int *p);
11457 uint2 __ovld vload2(size_t offset, const __local uint *p);
11458 long2 __ovld vload2(size_t offset, const __local long *p);
11459 ulong2 __ovld vload2(size_t offset, const __local ulong *p);
11460 float2 __ovld vload2(size_t offset, const __local float *p);
11461 char3 __ovld vload3(size_t offset, const __local char *p);
11462 uchar3 __ovld vload3(size_t offset, const __local uchar *p);
11463 short3 __ovld vload3(size_t offset, const __local short *p);
11464 ushort3 __ovld vload3(size_t offset, const __local ushort *p);
11465 int3 __ovld vload3(size_t offset, const __local int *p);
11466 uint3 __ovld vload3(size_t offset, const __local uint *p);
11467 long3 __ovld vload3(size_t offset, const __local long *p);
11468 ulong3 __ovld vload3(size_t offset, const __local ulong *p);
11469 float3 __ovld vload3(size_t offset, const __local float *p);
11470 char4 __ovld vload4(size_t offset, const __local char *p);
11471 uchar4 __ovld vload4(size_t offset, const __local uchar *p);
11472 short4 __ovld vload4(size_t offset, const __local short *p);
11473 ushort4 __ovld vload4(size_t offset, const __local ushort *p);
11474 int4 __ovld vload4(size_t offset, const __local int *p);
11475 uint4 __ovld vload4(size_t offset, const __local uint *p);
11476 long4 __ovld vload4(size_t offset, const __local long *p);
11477 ulong4 __ovld vload4(size_t offset, const __local ulong *p);
11478 float4 __ovld vload4(size_t offset, const __local float *p);
11479 char8 __ovld vload8(size_t offset, const __local char *p);
11480 uchar8 __ovld vload8(size_t offset, const __local uchar *p);
11481 short8 __ovld vload8(size_t offset, const __local short *p);
11482 ushort8 __ovld vload8(size_t offset, const __local ushort *p);
11483 int8 __ovld vload8(size_t offset, const __local int *p);
11484 uint8 __ovld vload8(size_t offset, const __local uint *p);
11485 long8 __ovld vload8(size_t offset, const __local long *p);
11486 ulong8 __ovld vload8(size_t offset, const __local ulong *p);
11487 float8 __ovld vload8(size_t offset, const __local float *p);
11488 char16 __ovld vload16(size_t offset, const __local char *p);
11489 uchar16 __ovld vload16(size_t offset, const __local uchar *p);
11490 short16 __ovld vload16(size_t offset, const __local short *p);
11491 ushort16 __ovld vload16(size_t offset, const __local ushort *p);
11492 int16 __ovld vload16(size_t offset, const __local int *p);
11493 uint16 __ovld vload16(size_t offset, const __local uint *p);
11494 long16 __ovld vload16(size_t offset, const __local long *p);
11495 ulong16 __ovld vload16(size_t offset, const __local ulong *p);
11496 float16 __ovld vload16(size_t offset, const __local float *p);
11497 char2 __ovld vload2(size_t offset, const __private char *p);
11498 uchar2 __ovld vload2(size_t offset, const __private uchar *p);
11499 short2 __ovld vload2(size_t offset, const __private short *p);
11500 ushort2 __ovld vload2(size_t offset, const __private ushort *p);
11501 int2 __ovld vload2(size_t offset, const __private int *p);
11502 uint2 __ovld vload2(size_t offset, const __private uint *p);
11503 long2 __ovld vload2(size_t offset, const __private long *p);
11504 ulong2 __ovld vload2(size_t offset, const __private ulong *p);
11505 float2 __ovld vload2(size_t offset, const __private float *p);
11506 char3 __ovld vload3(size_t offset, const __private char *p);
11507 uchar3 __ovld vload3(size_t offset, const __private uchar *p);
11508 short3 __ovld vload3(size_t offset, const __private short *p);
11509 ushort3 __ovld vload3(size_t offset, const __private ushort *p);
11510 int3 __ovld vload3(size_t offset, const __private int *p);
11511 uint3 __ovld vload3(size_t offset, const __private uint *p);
11512 long3 __ovld vload3(size_t offset, const __private long *p);
11513 ulong3 __ovld vload3(size_t offset, const __private ulong *p);
11514 float3 __ovld vload3(size_t offset, const __private float *p);
11515 char4 __ovld vload4(size_t offset, const __private char *p);
11516 uchar4 __ovld vload4(size_t offset, const __private uchar *p);
11517 short4 __ovld vload4(size_t offset, const __private short *p);
11518 ushort4 __ovld vload4(size_t offset, const __private ushort *p);
11519 int4 __ovld vload4(size_t offset, const __private int *p);
11520 uint4 __ovld vload4(size_t offset, const __private uint *p);
11521 long4 __ovld vload4(size_t offset, const __private long *p);
11522 ulong4 __ovld vload4(size_t offset, const __private ulong *p);
11523 float4 __ovld vload4(size_t offset, const __private float *p);
11524 char8 __ovld vload8(size_t offset, const __private char *p);
11525 uchar8 __ovld vload8(size_t offset, const __private uchar *p);
11526 short8 __ovld vload8(size_t offset, const __private short *p);
11527 ushort8 __ovld vload8(size_t offset, const __private ushort *p);
11528 int8 __ovld vload8(size_t offset, const __private int *p);
11529 uint8 __ovld vload8(size_t offset, const __private uint *p);
11530 long8 __ovld vload8(size_t offset, const __private long *p);
11531 ulong8 __ovld vload8(size_t offset, const __private ulong *p);
11532 float8 __ovld vload8(size_t offset, const __private float *p);
11533 char16 __ovld vload16(size_t offset, const __private char *p);
11534 uchar16 __ovld vload16(size_t offset, const __private uchar *p);
11535 short16 __ovld vload16(size_t offset, const __private short *p);
11536 ushort16 __ovld vload16(size_t offset, const __private ushort *p);
11537 int16 __ovld vload16(size_t offset, const __private int *p);
11538 uint16 __ovld vload16(size_t offset, const __private uint *p);
11539 long16 __ovld vload16(size_t offset, const __private long *p);
11540 ulong16 __ovld vload16(size_t offset, const __private ulong *p);
11541 float16 __ovld vload16(size_t offset, const __private float *p);
11542
11543 #ifdef cl_khr_fp64
11544 double2 __ovld vload2(size_t offset, const __global double *p);
11545 double3 __ovld vload3(size_t offset, const __global double *p);
11546 double4 __ovld vload4(size_t offset, const __global double *p);
11547 double8 __ovld vload8(size_t offset, const __global double *p);
11548 double16 __ovld vload16(size_t offset, const __global double *p);
11549 double2 __ovld vload2(size_t offset, const __local double *p);
11550 double3 __ovld vload3(size_t offset, const __local double *p);
11551 double4 __ovld vload4(size_t offset, const __local double *p);
11552 double8 __ovld vload8(size_t offset, const __local double *p);
11553 double16 __ovld vload16(size_t offset, const __local double *p);
11554 double2 __ovld vload2(size_t offset, const __private double *p);
11555 double3 __ovld vload3(size_t offset, const __private double *p);
11556 double4 __ovld vload4(size_t offset, const __private double *p);
11557 double8 __ovld vload8(size_t offset, const __private double *p);
11558 double16 __ovld vload16(size_t offset, const __private double *p);
11559 #endif //cl_khr_fp64
11560
11561 #ifdef cl_khr_fp16
11562 half __ovld vload(size_t offset, const __global half *p);
11563 half2 __ovld vload2(size_t offset, const __global half *p);
11564 half3 __ovld vload3(size_t offset, const __global half *p);
11565 half4 __ovld vload4(size_t offset, const __global half *p);
11566 half8 __ovld vload8(size_t offset, const __global half *p);
11567 half16 __ovld vload16(size_t offset, const __global half *p);
11568 half __ovld vload(size_t offset, const __local half *p);
11569 half2 __ovld vload2(size_t offset, const __local half *p);
11570 half3 __ovld vload3(size_t offset, const __local half *p);
11571 half4 __ovld vload4(size_t offset, const __local half *p);
11572 half8 __ovld vload8(size_t offset, const __local half *p);
11573 half16 __ovld vload16(size_t offset, const __local half *p);
11574 half __ovld vload(size_t offset, const __private half *p);
11575 half2 __ovld vload2(size_t offset, const __private half *p);
11576 half3 __ovld vload3(size_t offset, const __private half *p);
11577 half4 __ovld vload4(size_t offset, const __private half *p);
11578 half8 __ovld vload8(size_t offset, const __private half *p);
11579 half16 __ovld vload16(size_t offset, const __private half *p);
11580 #endif //cl_khr_fp16
11581 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11582
11583 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11584 void __ovld vstore2(char2 data, size_t offset, char *p);
11585 void __ovld vstore2(uchar2 data, size_t offset, uchar *p);
11586 void __ovld vstore2(short2 data, size_t offset, short *p);
11587 void __ovld vstore2(ushort2 data, size_t offset, ushort *p);
11588 void __ovld vstore2(int2 data, size_t offset, int *p);
11589 void __ovld vstore2(uint2 data, size_t offset, uint *p);
11590 void __ovld vstore2(long2 data, size_t offset, long *p);
11591 void __ovld vstore2(ulong2 data, size_t offset, ulong *p);
11592 void __ovld vstore2(float2 data, size_t offset, float *p);
11593 void __ovld vstore3(char3 data, size_t offset, char *p);
11594 void __ovld vstore3(uchar3 data, size_t offset, uchar *p);
11595 void __ovld vstore3(short3 data, size_t offset, short *p);
11596 void __ovld vstore3(ushort3 data, size_t offset, ushort *p);
11597 void __ovld vstore3(int3 data, size_t offset, int *p);
11598 void __ovld vstore3(uint3 data, size_t offset, uint *p);
11599 void __ovld vstore3(long3 data, size_t offset, long *p);
11600 void __ovld vstore3(ulong3 data, size_t offset, ulong *p);
11601 void __ovld vstore3(float3 data, size_t offset, float *p);
11602 void __ovld vstore4(char4 data, size_t offset, char *p);
11603 void __ovld vstore4(uchar4 data, size_t offset, uchar *p);
11604 void __ovld vstore4(short4 data, size_t offset, short *p);
11605 void __ovld vstore4(ushort4 data, size_t offset, ushort *p);
11606 void __ovld vstore4(int4 data, size_t offset, int *p);
11607 void __ovld vstore4(uint4 data, size_t offset, uint *p);
11608 void __ovld vstore4(long4 data, size_t offset, long *p);
11609 void __ovld vstore4(ulong4 data, size_t offset, ulong *p);
11610 void __ovld vstore4(float4 data, size_t offset, float *p);
11611 void __ovld vstore8(char8 data, size_t offset, char *p);
11612 void __ovld vstore8(uchar8 data, size_t offset, uchar *p);
11613 void __ovld vstore8(short8 data, size_t offset, short *p);
11614 void __ovld vstore8(ushort8 data, size_t offset, ushort *p);
11615 void __ovld vstore8(int8 data, size_t offset, int *p);
11616 void __ovld vstore8(uint8 data, size_t offset, uint *p);
11617 void __ovld vstore8(long8 data, size_t offset, long *p);
11618 void __ovld vstore8(ulong8 data, size_t offset, ulong *p);
11619 void __ovld vstore8(float8 data, size_t offset, float *p);
11620 void __ovld vstore16(char16 data, size_t offset, char *p);
11621 void __ovld vstore16(uchar16 data, size_t offset, uchar *p);
11622 void __ovld vstore16(short16 data, size_t offset, short *p);
11623 void __ovld vstore16(ushort16 data, size_t offset, ushort *p);
11624 void __ovld vstore16(int16 data, size_t offset, int *p);
11625 void __ovld vstore16(uint16 data, size_t offset, uint *p);
11626 void __ovld vstore16(long16 data, size_t offset, long *p);
11627 void __ovld vstore16(ulong16 data, size_t offset, ulong *p);
11628 void __ovld vstore16(float16 data, size_t offset, float *p);
11629 #ifdef cl_khr_fp64
11630 void __ovld vstore2(double2 data, size_t offset, double *p);
11631 void __ovld vstore3(double3 data, size_t offset, double *p);
11632 void __ovld vstore4(double4 data, size_t offset, double *p);
11633 void __ovld vstore8(double8 data, size_t offset, double *p);
11634 void __ovld vstore16(double16 data, size_t offset, double *p);
11635 #endif //cl_khr_fp64
11636 #ifdef cl_khr_fp16
11637 void __ovld vstore(half data, size_t offset, half *p);
11638 void __ovld vstore2(half2 data, size_t offset, half *p);
11639 void __ovld vstore3(half3 data, size_t offset, half *p);
11640 void __ovld vstore4(half4 data, size_t offset, half *p);
11641 void __ovld vstore8(half8 data, size_t offset, half *p);
11642 void __ovld vstore16(half16 data, size_t offset, half *p);
11643 #endif //cl_khr_fp16
11644 #else
11645 void __ovld vstore2(char2 data, size_t offset, __global char *p);
11646 void __ovld vstore2(uchar2 data, size_t offset, __global uchar *p);
11647 void __ovld vstore2(short2 data, size_t offset, __global short *p);
11648 void __ovld vstore2(ushort2 data, size_t offset, __global ushort *p);
11649 void __ovld vstore2(int2 data, size_t offset, __global int *p);
11650 void __ovld vstore2(uint2 data, size_t offset, __global uint *p);
11651 void __ovld vstore2(long2 data, size_t offset, __global long *p);
11652 void __ovld vstore2(ulong2 data, size_t offset, __global ulong *p);
11653 void __ovld vstore2(float2 data, size_t offset, __global float *p);
11654 void __ovld vstore3(char3 data, size_t offset, __global char *p);
11655 void __ovld vstore3(uchar3 data, size_t offset, __global uchar *p);
11656 void __ovld vstore3(short3 data, size_t offset, __global short *p);
11657 void __ovld vstore3(ushort3 data, size_t offset, __global ushort *p);
11658 void __ovld vstore3(int3 data, size_t offset, __global int *p);
11659 void __ovld vstore3(uint3 data, size_t offset, __global uint *p);
11660 void __ovld vstore3(long3 data, size_t offset, __global long *p);
11661 void __ovld vstore3(ulong3 data, size_t offset, __global ulong *p);
11662 void __ovld vstore3(float3 data, size_t offset, __global float *p);
11663 void __ovld vstore4(char4 data, size_t offset, __global char *p);
11664 void __ovld vstore4(uchar4 data, size_t offset, __global uchar *p);
11665 void __ovld vstore4(short4 data, size_t offset, __global short *p);
11666 void __ovld vstore4(ushort4 data, size_t offset, __global ushort *p);
11667 void __ovld vstore4(int4 data, size_t offset, __global int *p);
11668 void __ovld vstore4(uint4 data, size_t offset, __global uint *p);
11669 void __ovld vstore4(long4 data, size_t offset, __global long *p);
11670 void __ovld vstore4(ulong4 data, size_t offset, __global ulong *p);
11671 void __ovld vstore4(float4 data, size_t offset, __global float *p);
11672 void __ovld vstore8(char8 data, size_t offset, __global char *p);
11673 void __ovld vstore8(uchar8 data, size_t offset, __global uchar *p);
11674 void __ovld vstore8(short8 data, size_t offset, __global short *p);
11675 void __ovld vstore8(ushort8 data, size_t offset, __global ushort *p);
11676 void __ovld vstore8(int8 data, size_t offset, __global int *p);
11677 void __ovld vstore8(uint8 data, size_t offset, __global uint *p);
11678 void __ovld vstore8(long8 data, size_t offset, __global long *p);
11679 void __ovld vstore8(ulong8 data, size_t offset, __global ulong *p);
11680 void __ovld vstore8(float8 data, size_t offset, __global float *p);
11681 void __ovld vstore16(char16 data, size_t offset, __global char *p);
11682 void __ovld vstore16(uchar16 data, size_t offset, __global uchar *p);
11683 void __ovld vstore16(short16 data, size_t offset, __global short *p);
11684 void __ovld vstore16(ushort16 data, size_t offset, __global ushort *p);
11685 void __ovld vstore16(int16 data, size_t offset, __global int *p);
11686 void __ovld vstore16(uint16 data, size_t offset, __global uint *p);
11687 void __ovld vstore16(long16 data, size_t offset, __global long *p);
11688 void __ovld vstore16(ulong16 data, size_t offset, __global ulong *p);
11689 void __ovld vstore16(float16 data, size_t offset, __global float *p);
11690 void __ovld vstore2(char2 data, size_t offset, __local char *p);
11691 void __ovld vstore2(uchar2 data, size_t offset, __local uchar *p);
11692 void __ovld vstore2(short2 data, size_t offset, __local short *p);
11693 void __ovld vstore2(ushort2 data, size_t offset, __local ushort *p);
11694 void __ovld vstore2(int2 data, size_t offset, __local int *p);
11695 void __ovld vstore2(uint2 data, size_t offset, __local uint *p);
11696 void __ovld vstore2(long2 data, size_t offset, __local long *p);
11697 void __ovld vstore2(ulong2 data, size_t offset, __local ulong *p);
11698 void __ovld vstore2(float2 data, size_t offset, __local float *p);
11699 void __ovld vstore3(char3 data, size_t offset, __local char *p);
11700 void __ovld vstore3(uchar3 data, size_t offset, __local uchar *p);
11701 void __ovld vstore3(short3 data, size_t offset, __local short *p);
11702 void __ovld vstore3(ushort3 data, size_t offset, __local ushort *p);
11703 void __ovld vstore3(int3 data, size_t offset, __local int *p);
11704 void __ovld vstore3(uint3 data, size_t offset, __local uint *p);
11705 void __ovld vstore3(long3 data, size_t offset, __local long *p);
11706 void __ovld vstore3(ulong3 data, size_t offset, __local ulong *p);
11707 void __ovld vstore3(float3 data, size_t offset, __local float *p);
11708 void __ovld vstore4(char4 data, size_t offset, __local char *p);
11709 void __ovld vstore4(uchar4 data, size_t offset, __local uchar *p);
11710 void __ovld vstore4(short4 data, size_t offset, __local short *p);
11711 void __ovld vstore4(ushort4 data, size_t offset, __local ushort *p);
11712 void __ovld vstore4(int4 data, size_t offset, __local int *p);
11713 void __ovld vstore4(uint4 data, size_t offset, __local uint *p);
11714 void __ovld vstore4(long4 data, size_t offset, __local long *p);
11715 void __ovld vstore4(ulong4 data, size_t offset, __local ulong *p);
11716 void __ovld vstore4(float4 data, size_t offset, __local float *p);
11717 void __ovld vstore8(char8 data, size_t offset, __local char *p);
11718 void __ovld vstore8(uchar8 data, size_t offset, __local uchar *p);
11719 void __ovld vstore8(short8 data, size_t offset, __local short *p);
11720 void __ovld vstore8(ushort8 data, size_t offset, __local ushort *p);
11721 void __ovld vstore8(int8 data, size_t offset, __local int *p);
11722 void __ovld vstore8(uint8 data, size_t offset, __local uint *p);
11723 void __ovld vstore8(long8 data, size_t offset, __local long *p);
11724 void __ovld vstore8(ulong8 data, size_t offset, __local ulong *p);
11725 void __ovld vstore8(float8 data, size_t offset, __local float *p);
11726 void __ovld vstore16(char16 data, size_t offset, __local char *p);
11727 void __ovld vstore16(uchar16 data, size_t offset, __local uchar *p);
11728 void __ovld vstore16(short16 data, size_t offset, __local short *p);
11729 void __ovld vstore16(ushort16 data, size_t offset, __local ushort *p);
11730 void __ovld vstore16(int16 data, size_t offset, __local int *p);
11731 void __ovld vstore16(uint16 data, size_t offset, __local uint *p);
11732 void __ovld vstore16(long16 data, size_t offset, __local long *p);
11733 void __ovld vstore16(ulong16 data, size_t offset, __local ulong *p);
11734 void __ovld vstore16(float16 data, size_t offset, __local float *p);
11735 void __ovld vstore2(char2 data, size_t offset, __private char *p);
11736 void __ovld vstore2(uchar2 data, size_t offset, __private uchar *p);
11737 void __ovld vstore2(short2 data, size_t offset, __private short *p);
11738 void __ovld vstore2(ushort2 data, size_t offset, __private ushort *p);
11739 void __ovld vstore2(int2 data, size_t offset, __private int *p);
11740 void __ovld vstore2(uint2 data, size_t offset, __private uint *p);
11741 void __ovld vstore2(long2 data, size_t offset, __private long *p);
11742 void __ovld vstore2(ulong2 data, size_t offset, __private ulong *p);
11743 void __ovld vstore2(float2 data, size_t offset, __private float *p);
11744 void __ovld vstore3(char3 data, size_t offset, __private char *p);
11745 void __ovld vstore3(uchar3 data, size_t offset, __private uchar *p);
11746 void __ovld vstore3(short3 data, size_t offset, __private short *p);
11747 void __ovld vstore3(ushort3 data, size_t offset, __private ushort *p);
11748 void __ovld vstore3(int3 data, size_t offset, __private int *p);
11749 void __ovld vstore3(uint3 data, size_t offset, __private uint *p);
11750 void __ovld vstore3(long3 data, size_t offset, __private long *p);
11751 void __ovld vstore3(ulong3 data, size_t offset, __private ulong *p);
11752 void __ovld vstore3(float3 data, size_t offset, __private float *p);
11753 void __ovld vstore4(char4 data, size_t offset, __private char *p);
11754 void __ovld vstore4(uchar4 data, size_t offset, __private uchar *p);
11755 void __ovld vstore4(short4 data, size_t offset, __private short *p);
11756 void __ovld vstore4(ushort4 data, size_t offset, __private ushort *p);
11757 void __ovld vstore4(int4 data, size_t offset, __private int *p);
11758 void __ovld vstore4(uint4 data, size_t offset, __private uint *p);
11759 void __ovld vstore4(long4 data, size_t offset, __private long *p);
11760 void __ovld vstore4(ulong4 data, size_t offset, __private ulong *p);
11761 void __ovld vstore4(float4 data, size_t offset, __private float *p);
11762 void __ovld vstore8(char8 data, size_t offset, __private char *p);
11763 void __ovld vstore8(uchar8 data, size_t offset, __private uchar *p);
11764 void __ovld vstore8(short8 data, size_t offset, __private short *p);
11765 void __ovld vstore8(ushort8 data, size_t offset, __private ushort *p);
11766 void __ovld vstore8(int8 data, size_t offset, __private int *p);
11767 void __ovld vstore8(uint8 data, size_t offset, __private uint *p);
11768 void __ovld vstore8(long8 data, size_t offset, __private long *p);
11769 void __ovld vstore8(ulong8 data, size_t offset, __private ulong *p);
11770 void __ovld vstore8(float8 data, size_t offset, __private float *p);
11771 void __ovld vstore16(char16 data, size_t offset, __private char *p);
11772 void __ovld vstore16(uchar16 data, size_t offset, __private uchar *p);
11773 void __ovld vstore16(short16 data, size_t offset, __private short *p);
11774 void __ovld vstore16(ushort16 data, size_t offset, __private ushort *p);
11775 void __ovld vstore16(int16 data, size_t offset, __private int *p);
11776 void __ovld vstore16(uint16 data, size_t offset, __private uint *p);
11777 void __ovld vstore16(long16 data, size_t offset, __private long *p);
11778 void __ovld vstore16(ulong16 data, size_t offset, __private ulong *p);
11779 void __ovld vstore16(float16 data, size_t offset, __private float *p);
11780 #ifdef cl_khr_fp64
11781 void __ovld vstore2(double2 data, size_t offset, __global double *p);
11782 void __ovld vstore3(double3 data, size_t offset, __global double *p);
11783 void __ovld vstore4(double4 data, size_t offset, __global double *p);
11784 void __ovld vstore8(double8 data, size_t offset, __global double *p);
11785 void __ovld vstore16(double16 data, size_t offset, __global double *p);
11786 void __ovld vstore2(double2 data, size_t offset, __local double *p);
11787 void __ovld vstore3(double3 data, size_t offset, __local double *p);
11788 void __ovld vstore4(double4 data, size_t offset, __local double *p);
11789 void __ovld vstore8(double8 data, size_t offset, __local double *p);
11790 void __ovld vstore16(double16 data, size_t offset, __local double *p);
11791 void __ovld vstore2(double2 data, size_t offset, __private double *p);
11792 void __ovld vstore3(double3 data, size_t offset, __private double *p);
11793 void __ovld vstore4(double4 data, size_t offset, __private double *p);
11794 void __ovld vstore8(double8 data, size_t offset, __private double *p);
11795 void __ovld vstore16(double16 data, size_t offset, __private double *p);
11796 #endif //cl_khr_fp64
11797 #ifdef cl_khr_fp16
11798 void __ovld vstore(half data, size_t offset, __global half *p);
11799 void __ovld vstore2(half2 data, size_t offset, __global half *p);
11800 void __ovld vstore3(half3 data, size_t offset, __global half *p);
11801 void __ovld vstore4(half4 data, size_t offset, __global half *p);
11802 void __ovld vstore8(half8 data, size_t offset, __global half *p);
11803 void __ovld vstore16(half16 data, size_t offset, __global half *p);
11804 void __ovld vstore(half data, size_t offset, __local half *p);
11805 void __ovld vstore2(half2 data, size_t offset, __local half *p);
11806 void __ovld vstore3(half3 data, size_t offset, __local half *p);
11807 void __ovld vstore4(half4 data, size_t offset, __local half *p);
11808 void __ovld vstore8(half8 data, size_t offset, __local half *p);
11809 void __ovld vstore16(half16 data, size_t offset, __local half *p);
11810 void __ovld vstore(half data, size_t offset, __private half *p);
11811 void __ovld vstore2(half2 data, size_t offset, __private half *p);
11812 void __ovld vstore3(half3 data, size_t offset, __private half *p);
11813 void __ovld vstore4(half4 data, size_t offset, __private half *p);
11814 void __ovld vstore8(half8 data, size_t offset, __private half *p);
11815 void __ovld vstore16(half16 data, size_t offset, __private half *p);
11816 #endif //cl_khr_fp16
11817 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11818
11819 /**
11820  * Read sizeof (half) bytes of data from address
11821  * (p + offset). The data read is interpreted as a
11822  * half value. The half value is converted to a
11823  * float value and the float value is returned.
11824  * The read address computed as (p + offset)
11825  * must be 16-bit aligned.
11826  */
11827 float __ovld vload_half(size_t offset, const __constant half *p);
11828 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11829 float __ovld vload_half(size_t offset, const half *p);
11830 #else
11831 float __ovld vload_half(size_t offset, const __global half *p);
11832 float __ovld vload_half(size_t offset, const __local half *p);
11833 float __ovld vload_half(size_t offset, const __private half *p);
11834 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11835
11836 /**
11837  * Read sizeof (halfn) bytes of data from address
11838  * (p + (offset * n)). The data read is interpreted
11839  * as a halfn value. The halfn value read is
11840  * converted to a floatn value and the floatn
11841  * value is returned. The read address computed
11842  * as (p + (offset * n)) must be 16-bit aligned.
11843  */
11844 float2 __ovld vload_half2(size_t offset, const __constant half *p);
11845 float3 __ovld vload_half3(size_t offset, const __constant half *p);
11846 float4 __ovld vload_half4(size_t offset, const __constant half *p);
11847 float8 __ovld vload_half8(size_t offset, const __constant half *p);
11848 float16 __ovld vload_half16(size_t offset, const __constant half *p);
11849 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11850 float2 __ovld vload_half2(size_t offset, const half *p);
11851 float3 __ovld vload_half3(size_t offset, const half *p);
11852 float4 __ovld vload_half4(size_t offset, const half *p);
11853 float8 __ovld vload_half8(size_t offset, const half *p);
11854 float16 __ovld vload_half16(size_t offset, const half *p);
11855 #else
11856 float2 __ovld vload_half2(size_t offset, const __global half *p);
11857 float3 __ovld vload_half3(size_t offset, const __global half *p);
11858 float4 __ovld vload_half4(size_t offset, const __global half *p);
11859 float8 __ovld vload_half8(size_t offset, const __global half *p);
11860 float16 __ovld vload_half16(size_t offset, const __global half *p);
11861 float2 __ovld vload_half2(size_t offset, const __local half *p);
11862 float3 __ovld vload_half3(size_t offset, const __local half *p);
11863 float4 __ovld vload_half4(size_t offset, const __local half *p);
11864 float8 __ovld vload_half8(size_t offset, const __local half *p);
11865 float16 __ovld vload_half16(size_t offset, const __local half *p);
11866 float2 __ovld vload_half2(size_t offset, const __private half *p);
11867 float3 __ovld vload_half3(size_t offset, const __private half *p);
11868 float4 __ovld vload_half4(size_t offset, const __private half *p);
11869 float8 __ovld vload_half8(size_t offset, const __private half *p);
11870 float16 __ovld vload_half16(size_t offset, const __private half *p);
11871 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11872
11873 /**
11874  * The float value given by data is first
11875  * converted to a half value using the appropriate
11876  * rounding mode. The half value is then written
11877  * to address computed as (p + offset). The
11878  * address computed as (p + offset) must be 16-
11879  * bit aligned.
11880  * vstore_half use the current rounding mode.
11881  * The default current rounding mode is round to
11882  * nearest even.
11883  */
11884 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11885 void __ovld vstore_half(float data, size_t offset, half *p);
11886 void __ovld vstore_half_rte(float data, size_t offset, half *p);
11887 void __ovld vstore_half_rtz(float data, size_t offset, half *p);
11888 void __ovld vstore_half_rtp(float data, size_t offset, half *p);
11889 void __ovld vstore_half_rtn(float data, size_t offset, half *p);
11890 #ifdef cl_khr_fp64
11891 void __ovld vstore_half(double data, size_t offset, half *p);
11892 void __ovld vstore_half_rte(double data, size_t offset, half *p);
11893 void __ovld vstore_half_rtz(double data, size_t offset, half *p);
11894 void __ovld vstore_half_rtp(double data, size_t offset, half *p);
11895 void __ovld vstore_half_rtn(double data, size_t offset, half *p);
11896 #endif //cl_khr_fp64
11897 #else
11898 void __ovld vstore_half(float data, size_t offset, __global half *p);
11899 void __ovld vstore_half_rte(float data, size_t offset, __global half *p);
11900 void __ovld vstore_half_rtz(float data, size_t offset, __global half *p);
11901 void __ovld vstore_half_rtp(float data, size_t offset, __global half *p);
11902 void __ovld vstore_half_rtn(float data, size_t offset, __global half *p);
11903 void __ovld vstore_half(float data, size_t offset, __local half *p);
11904 void __ovld vstore_half_rte(float data, size_t offset, __local half *p);
11905 void __ovld vstore_half_rtz(float data, size_t offset, __local half *p);
11906 void __ovld vstore_half_rtp(float data, size_t offset, __local half *p);
11907 void __ovld vstore_half_rtn(float data, size_t offset, __local half *p);
11908 void __ovld vstore_half(float data, size_t offset, __private half *p);
11909 void __ovld vstore_half_rte(float data, size_t offset, __private half *p);
11910 void __ovld vstore_half_rtz(float data, size_t offset, __private half *p);
11911 void __ovld vstore_half_rtp(float data, size_t offset, __private half *p);
11912 void __ovld vstore_half_rtn(float data, size_t offset, __private half *p);
11913 #ifdef cl_khr_fp64
11914 void __ovld vstore_half(double data, size_t offset, __global half *p);
11915 void __ovld vstore_half_rte(double data, size_t offset, __global half *p);
11916 void __ovld vstore_half_rtz(double data, size_t offset, __global half *p);
11917 void __ovld vstore_half_rtp(double data, size_t offset, __global half *p);
11918 void __ovld vstore_half_rtn(double data, size_t offset, __global half *p);
11919 void __ovld vstore_half(double data, size_t offset, __local half *p);
11920 void __ovld vstore_half_rte(double data, size_t offset, __local half *p);
11921 void __ovld vstore_half_rtz(double data, size_t offset, __local half *p);
11922 void __ovld vstore_half_rtp(double data, size_t offset, __local half *p);
11923 void __ovld vstore_half_rtn(double data, size_t offset, __local half *p);
11924 void __ovld vstore_half(double data, size_t offset, __private half *p);
11925 void __ovld vstore_half_rte(double data, size_t offset, __private half *p);
11926 void __ovld vstore_half_rtz(double data, size_t offset, __private half *p);
11927 void __ovld vstore_half_rtp(double data, size_t offset, __private half *p);
11928 void __ovld vstore_half_rtn(double data, size_t offset, __private half *p);
11929 #endif //cl_khr_fp64
11930 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11931
11932 /**
11933  * The floatn value given by data is converted to
11934  * a halfn value using the appropriate rounding
11935  * mode. The halfn value is then written to
11936  * address computed as (p + (offset * n)). The
11937  * address computed as (p + (offset * n)) must be
11938  * 16-bit aligned.
11939  * vstore_halfn uses the current rounding mode.
11940  * The default current rounding mode is round to
11941  * nearest even.
11942  */
11943 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
11944 void __ovld vstore_half2(float2 data, size_t offset, half *p);
11945 void __ovld vstore_half3(float3 data, size_t offset, half *p);
11946 void __ovld vstore_half4(float4 data, size_t offset, half *p);
11947 void __ovld vstore_half8(float8 data, size_t offset, half *p);
11948 void __ovld vstore_half16(float16 data, size_t offset, half *p);
11949 void __ovld vstore_half2_rte(float2 data, size_t offset, half *p);
11950 void __ovld vstore_half3_rte(float3 data, size_t offset, half *p);
11951 void __ovld vstore_half4_rte(float4 data, size_t offset, half *p);
11952 void __ovld vstore_half8_rte(float8 data, size_t offset, half *p);
11953 void __ovld vstore_half16_rte(float16 data, size_t offset, half *p);
11954 void __ovld vstore_half2_rtz(float2 data, size_t offset, half *p);
11955 void __ovld vstore_half3_rtz(float3 data, size_t offset, half *p);
11956 void __ovld vstore_half4_rtz(float4 data, size_t offset, half *p);
11957 void __ovld vstore_half8_rtz(float8 data, size_t offset, half *p);
11958 void __ovld vstore_half16_rtz(float16 data, size_t offset, half *p);
11959 void __ovld vstore_half2_rtp(float2 data, size_t offset, half *p);
11960 void __ovld vstore_half3_rtp(float3 data, size_t offset, half *p);
11961 void __ovld vstore_half4_rtp(float4 data, size_t offset, half *p);
11962 void __ovld vstore_half8_rtp(float8 data, size_t offset, half *p);
11963 void __ovld vstore_half16_rtp(float16 data, size_t offset, half *p);
11964 void __ovld vstore_half2_rtn(float2 data, size_t offset, half *p);
11965 void __ovld vstore_half3_rtn(float3 data, size_t offset, half *p);
11966 void __ovld vstore_half4_rtn(float4 data, size_t offset, half *p);
11967 void __ovld vstore_half8_rtn(float8 data, size_t offset, half *p);
11968 void __ovld vstore_half16_rtn(float16 data, size_t offset, half *p);
11969 #ifdef cl_khr_fp64
11970 void __ovld vstore_half2(double2 data, size_t offset, half *p);
11971 void __ovld vstore_half3(double3 data, size_t offset, half *p);
11972 void __ovld vstore_half4(double4 data, size_t offset, half *p);
11973 void __ovld vstore_half8(double8 data, size_t offset, half *p);
11974 void __ovld vstore_half16(double16 data, size_t offset, half *p);
11975 void __ovld vstore_half2_rte(double2 data, size_t offset, half *p);
11976 void __ovld vstore_half3_rte(double3 data, size_t offset, half *p);
11977 void __ovld vstore_half4_rte(double4 data, size_t offset, half *p);
11978 void __ovld vstore_half8_rte(double8 data, size_t offset, half *p);
11979 void __ovld vstore_half16_rte(double16 data, size_t offset, half *p);
11980 void __ovld vstore_half2_rtz(double2 data, size_t offset, half *p);
11981 void __ovld vstore_half3_rtz(double3 data, size_t offset, half *p);
11982 void __ovld vstore_half4_rtz(double4 data, size_t offset, half *p);
11983 void __ovld vstore_half8_rtz(double8 data, size_t offset, half *p);
11984 void __ovld vstore_half16_rtz(double16 data, size_t offset, half *p);
11985 void __ovld vstore_half2_rtp(double2 data, size_t offset, half *p);
11986 void __ovld vstore_half3_rtp(double3 data, size_t offset, half *p);
11987 void __ovld vstore_half4_rtp(double4 data, size_t offset, half *p);
11988 void __ovld vstore_half8_rtp(double8 data, size_t offset, half *p);
11989 void __ovld vstore_half16_rtp(double16 data, size_t offset, half *p);
11990 void __ovld vstore_half2_rtn(double2 data, size_t offset, half *p);
11991 void __ovld vstore_half3_rtn(double3 data, size_t offset, half *p);
11992 void __ovld vstore_half4_rtn(double4 data, size_t offset, half *p);
11993 void __ovld vstore_half8_rtn(double8 data, size_t offset, half *p);
11994 void __ovld vstore_half16_rtn(double16 data, size_t offset, half *p);
11995 #endif //cl_khr_fp64
11996 #else
11997 void __ovld vstore_half2(float2 data, size_t offset, __global half *p);
11998 void __ovld vstore_half3(float3 data, size_t offset, __global half *p);
11999 void __ovld vstore_half4(float4 data, size_t offset, __global half *p);
12000 void __ovld vstore_half8(float8 data, size_t offset, __global half *p);
12001 void __ovld vstore_half16(float16 data, size_t offset, __global half *p);
12002 void __ovld vstore_half2_rte(float2 data, size_t offset, __global half *p);
12003 void __ovld vstore_half3_rte(float3 data, size_t offset, __global half *p);
12004 void __ovld vstore_half4_rte(float4 data, size_t offset, __global half *p);
12005 void __ovld vstore_half8_rte(float8 data, size_t offset, __global half *p);
12006 void __ovld vstore_half16_rte(float16 data, size_t offset, __global half *p);
12007 void __ovld vstore_half2_rtz(float2 data, size_t offset, __global half *p);
12008 void __ovld vstore_half3_rtz(float3 data, size_t offset, __global half *p);
12009 void __ovld vstore_half4_rtz(float4 data, size_t offset, __global half *p);
12010 void __ovld vstore_half8_rtz(float8 data, size_t offset, __global half *p);
12011 void __ovld vstore_half16_rtz(float16 data, size_t offset, __global half *p);
12012 void __ovld vstore_half2_rtp(float2 data, size_t offset, __global half *p);
12013 void __ovld vstore_half3_rtp(float3 data, size_t offset, __global half *p);
12014 void __ovld vstore_half4_rtp(float4 data, size_t offset, __global half *p);
12015 void __ovld vstore_half8_rtp(float8 data, size_t offset, __global half *p);
12016 void __ovld vstore_half16_rtp(float16 data, size_t offset, __global half *p);
12017 void __ovld vstore_half2_rtn(float2 data, size_t offset, __global half *p);
12018 void __ovld vstore_half3_rtn(float3 data, size_t offset, __global half *p);
12019 void __ovld vstore_half4_rtn(float4 data, size_t offset, __global half *p);
12020 void __ovld vstore_half8_rtn(float8 data, size_t offset, __global half *p);
12021 void __ovld vstore_half16_rtn(float16 data, size_t offset, __global half *p);
12022 void __ovld vstore_half2(float2 data, size_t offset, __local half *p);
12023 void __ovld vstore_half3(float3 data, size_t offset, __local half *p);
12024 void __ovld vstore_half4(float4 data, size_t offset, __local half *p);
12025 void __ovld vstore_half8(float8 data, size_t offset, __local half *p);
12026 void __ovld vstore_half16(float16 data, size_t offset, __local half *p);
12027 void __ovld vstore_half2_rte(float2 data, size_t offset, __local half *p);
12028 void __ovld vstore_half3_rte(float3 data, size_t offset, __local half *p);
12029 void __ovld vstore_half4_rte(float4 data, size_t offset, __local half *p);
12030 void __ovld vstore_half8_rte(float8 data, size_t offset, __local half *p);
12031 void __ovld vstore_half16_rte(float16 data, size_t offset, __local half *p);
12032 void __ovld vstore_half2_rtz(float2 data, size_t offset, __local half *p);
12033 void __ovld vstore_half3_rtz(float3 data, size_t offset, __local half *p);
12034 void __ovld vstore_half4_rtz(float4 data, size_t offset, __local half *p);
12035 void __ovld vstore_half8_rtz(float8 data, size_t offset, __local half *p);
12036 void __ovld vstore_half16_rtz(float16 data, size_t offset, __local half *p);
12037 void __ovld vstore_half2_rtp(float2 data, size_t offset, __local half *p);
12038 void __ovld vstore_half3_rtp(float3 data, size_t offset, __local half *p);
12039 void __ovld vstore_half4_rtp(float4 data, size_t offset, __local half *p);
12040 void __ovld vstore_half8_rtp(float8 data, size_t offset, __local half *p);
12041 void __ovld vstore_half16_rtp(float16 data, size_t offset, __local half *p);
12042 void __ovld vstore_half2_rtn(float2 data, size_t offset, __local half *p);
12043 void __ovld vstore_half3_rtn(float3 data, size_t offset, __local half *p);
12044 void __ovld vstore_half4_rtn(float4 data, size_t offset, __local half *p);
12045 void __ovld vstore_half8_rtn(float8 data, size_t offset, __local half *p);
12046 void __ovld vstore_half16_rtn(float16 data, size_t offset, __local half *p);
12047 void __ovld vstore_half2(float2 data, size_t offset, __private half *p);
12048 void __ovld vstore_half3(float3 data, size_t offset, __private half *p);
12049 void __ovld vstore_half4(float4 data, size_t offset, __private half *p);
12050 void __ovld vstore_half8(float8 data, size_t offset, __private half *p);
12051 void __ovld vstore_half16(float16 data, size_t offset, __private half *p);
12052 void __ovld vstore_half2_rte(float2 data, size_t offset, __private half *p);
12053 void __ovld vstore_half3_rte(float3 data, size_t offset, __private half *p);
12054 void __ovld vstore_half4_rte(float4 data, size_t offset, __private half *p);
12055 void __ovld vstore_half8_rte(float8 data, size_t offset, __private half *p);
12056 void __ovld vstore_half16_rte(float16 data, size_t offset, __private half *p);
12057 void __ovld vstore_half2_rtz(float2 data, size_t offset, __private half *p);
12058 void __ovld vstore_half3_rtz(float3 data, size_t offset, __private half *p);
12059 void __ovld vstore_half4_rtz(float4 data, size_t offset, __private half *p);
12060 void __ovld vstore_half8_rtz(float8 data, size_t offset, __private half *p);
12061 void __ovld vstore_half16_rtz(float16 data, size_t offset, __private half *p);
12062 void __ovld vstore_half2_rtp(float2 data, size_t offset, __private half *p);
12063 void __ovld vstore_half3_rtp(float3 data, size_t offset, __private half *p);
12064 void __ovld vstore_half4_rtp(float4 data, size_t offset, __private half *p);
12065 void __ovld vstore_half8_rtp(float8 data, size_t offset, __private half *p);
12066 void __ovld vstore_half16_rtp(float16 data, size_t offset, __private half *p);
12067 void __ovld vstore_half2_rtn(float2 data, size_t offset, __private half *p);
12068 void __ovld vstore_half3_rtn(float3 data, size_t offset, __private half *p);
12069 void __ovld vstore_half4_rtn(float4 data, size_t offset, __private half *p);
12070 void __ovld vstore_half8_rtn(float8 data, size_t offset, __private half *p);
12071 void __ovld vstore_half16_rtn(float16 data, size_t offset, __private half *p);
12072 #ifdef cl_khr_fp64
12073 void __ovld vstore_half2(double2 data, size_t offset, __global half *p);
12074 void __ovld vstore_half3(double3 data, size_t offset, __global half *p);
12075 void __ovld vstore_half4(double4 data, size_t offset, __global half *p);
12076 void __ovld vstore_half8(double8 data, size_t offset, __global half *p);
12077 void __ovld vstore_half16(double16 data, size_t offset, __global half *p);
12078 void __ovld vstore_half2_rte(double2 data, size_t offset, __global half *p);
12079 void __ovld vstore_half3_rte(double3 data, size_t offset, __global half *p);
12080 void __ovld vstore_half4_rte(double4 data, size_t offset, __global half *p);
12081 void __ovld vstore_half8_rte(double8 data, size_t offset, __global half *p);
12082 void __ovld vstore_half16_rte(double16 data, size_t offset, __global half *p);
12083 void __ovld vstore_half2_rtz(double2 data, size_t offset, __global half *p);
12084 void __ovld vstore_half3_rtz(double3 data, size_t offset, __global half *p);
12085 void __ovld vstore_half4_rtz(double4 data, size_t offset, __global half *p);
12086 void __ovld vstore_half8_rtz(double8 data, size_t offset, __global half *p);
12087 void __ovld vstore_half16_rtz(double16 data, size_t offset, __global half *p);
12088 void __ovld vstore_half2_rtp(double2 data, size_t offset, __global half *p);
12089 void __ovld vstore_half3_rtp(double3 data, size_t offset, __global half *p);
12090 void __ovld vstore_half4_rtp(double4 data, size_t offset, __global half *p);
12091 void __ovld vstore_half8_rtp(double8 data, size_t offset, __global half *p);
12092 void __ovld vstore_half16_rtp(double16 data, size_t offset, __global half *p);
12093 void __ovld vstore_half2_rtn(double2 data, size_t offset, __global half *p);
12094 void __ovld vstore_half3_rtn(double3 data, size_t offset, __global half *p);
12095 void __ovld vstore_half4_rtn(double4 data, size_t offset, __global half *p);
12096 void __ovld vstore_half8_rtn(double8 data, size_t offset, __global half *p);
12097 void __ovld vstore_half16_rtn(double16 data, size_t offset, __global half *p);
12098 void __ovld vstore_half2(double2 data, size_t offset, __local half *p);
12099 void __ovld vstore_half3(double3 data, size_t offset, __local half *p);
12100 void __ovld vstore_half4(double4 data, size_t offset, __local half *p);
12101 void __ovld vstore_half8(double8 data, size_t offset, __local half *p);
12102 void __ovld vstore_half16(double16 data, size_t offset, __local half *p);
12103 void __ovld vstore_half2_rte(double2 data, size_t offset, __local half *p);
12104 void __ovld vstore_half3_rte(double3 data, size_t offset, __local half *p);
12105 void __ovld vstore_half4_rte(double4 data, size_t offset, __local half *p);
12106 void __ovld vstore_half8_rte(double8 data, size_t offset, __local half *p);
12107 void __ovld vstore_half16_rte(double16 data, size_t offset, __local half *p);
12108 void __ovld vstore_half2_rtz(double2 data, size_t offset, __local half *p);
12109 void __ovld vstore_half3_rtz(double3 data, size_t offset, __local half *p);
12110 void __ovld vstore_half4_rtz(double4 data, size_t offset, __local half *p);
12111 void __ovld vstore_half8_rtz(double8 data, size_t offset, __local half *p);
12112 void __ovld vstore_half16_rtz(double16 data, size_t offset, __local half *p);
12113 void __ovld vstore_half2_rtp(double2 data, size_t offset, __local half *p);
12114 void __ovld vstore_half3_rtp(double3 data, size_t offset, __local half *p);
12115 void __ovld vstore_half4_rtp(double4 data, size_t offset, __local half *p);
12116 void __ovld vstore_half8_rtp(double8 data, size_t offset, __local half *p);
12117 void __ovld vstore_half16_rtp(double16 data, size_t offset, __local half *p);
12118 void __ovld vstore_half2_rtn(double2 data, size_t offset, __local half *p);
12119 void __ovld vstore_half3_rtn(double3 data, size_t offset, __local half *p);
12120 void __ovld vstore_half4_rtn(double4 data, size_t offset, __local half *p);
12121 void __ovld vstore_half8_rtn(double8 data, size_t offset, __local half *p);
12122 void __ovld vstore_half16_rtn(double16 data, size_t offset, __local half *p);
12123 void __ovld vstore_half2(double2 data, size_t offset, __private half *p);
12124 void __ovld vstore_half3(double3 data, size_t offset, __private half *p);
12125 void __ovld vstore_half4(double4 data, size_t offset, __private half *p);
12126 void __ovld vstore_half8(double8 data, size_t offset, __private half *p);
12127 void __ovld vstore_half16(double16 data, size_t offset, __private half *p);
12128 void __ovld vstore_half2_rte(double2 data, size_t offset, __private half *p);
12129 void __ovld vstore_half3_rte(double3 data, size_t offset, __private half *p);
12130 void __ovld vstore_half4_rte(double4 data, size_t offset, __private half *p);
12131 void __ovld vstore_half8_rte(double8 data, size_t offset, __private half *p);
12132 void __ovld vstore_half16_rte(double16 data, size_t offset, __private half *p);
12133 void __ovld vstore_half2_rtz(double2 data, size_t offset, __private half *p);
12134 void __ovld vstore_half3_rtz(double3 data, size_t offset, __private half *p);
12135 void __ovld vstore_half4_rtz(double4 data, size_t offset, __private half *p);
12136 void __ovld vstore_half8_rtz(double8 data, size_t offset, __private half *p);
12137 void __ovld vstore_half16_rtz(double16 data, size_t offset, __private half *p);
12138 void __ovld vstore_half2_rtp(double2 data, size_t offset, __private half *p);
12139 void __ovld vstore_half3_rtp(double3 data, size_t offset, __private half *p);
12140 void __ovld vstore_half4_rtp(double4 data, size_t offset, __private half *p);
12141 void __ovld vstore_half8_rtp(double8 data, size_t offset, __private half *p);
12142 void __ovld vstore_half16_rtp(double16 data, size_t offset, __private half *p);
12143 void __ovld vstore_half2_rtn(double2 data, size_t offset, __private half *p);
12144 void __ovld vstore_half3_rtn(double3 data, size_t offset, __private half *p);
12145 void __ovld vstore_half4_rtn(double4 data, size_t offset, __private half *p);
12146 void __ovld vstore_half8_rtn(double8 data, size_t offset, __private half *p);
12147 void __ovld vstore_half16_rtn(double16 data, size_t offset, __private half *p);
12148 #endif //cl_khr_fp64
12149 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12150
12151 /**
12152  * For n = 1, 2, 4, 8 and 16 read sizeof (halfn)
12153  * bytes of data from address (p + (offset * n)).
12154  * The data read is interpreted as a halfn value.
12155  * The halfn value read is converted to a floatn
12156  * value and the floatn value is returned.
12157  * The address computed as (p + (offset * n))
12158  * must be aligned to sizeof (halfn) bytes.
12159  * For n = 3, vloada_half3 reads a half3 from
12160  * address (p + (offset * 4)) and returns a float3.
12161  * The address computed as (p + (offset * 4))
12162  * must be aligned to sizeof (half) * 4 bytes.
12163  */
12164 float __ovld vloada_half(size_t offset, const __constant half *p);
12165 float2 __ovld vloada_half2(size_t offset, const __constant half *p);
12166 float3 __ovld vloada_half3(size_t offset, const __constant half *p);
12167 float4 __ovld vloada_half4(size_t offset, const __constant half *p);
12168 float8 __ovld vloada_half8(size_t offset, const __constant half *p);
12169 float16 __ovld vloada_half16(size_t offset, const __constant half *p);
12170 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12171 float __ovld vloada_half(size_t offset, const half *p);
12172 float2 __ovld vloada_half2(size_t offset, const half *p);
12173 float3 __ovld vloada_half3(size_t offset, const half *p);
12174 float4 __ovld vloada_half4(size_t offset, const half *p);
12175 float8 __ovld vloada_half8(size_t offset, const half *p);
12176 float16 __ovld vloada_half16(size_t offset, const half *p);
12177 #else
12178 float __ovld vloada_half(size_t offset, const __global half *p);
12179 float2 __ovld vloada_half2(size_t offset, const __global half *p);
12180 float3 __ovld vloada_half3(size_t offset, const __global half *p);
12181 float4 __ovld vloada_half4(size_t offset, const __global half *p);
12182 float8 __ovld vloada_half8(size_t offset, const __global half *p);
12183 float16 __ovld vloada_half16(size_t offset, const __global half *p);
12184 float __ovld vloada_half(size_t offset, const __local half *p);
12185 float2 __ovld vloada_half2(size_t offset, const __local half *p);
12186 float3 __ovld vloada_half3(size_t offset, const __local half *p);
12187 float4 __ovld vloada_half4(size_t offset, const __local half *p);
12188 float8 __ovld vloada_half8(size_t offset, const __local half *p);
12189 float16 __ovld vloada_half16(size_t offset, const __local half *p);
12190 float __ovld vloada_half(size_t offset, const __private half *p);
12191 float2 __ovld vloada_half2(size_t offset, const __private half *p);
12192 float3 __ovld vloada_half3(size_t offset, const __private half *p);
12193 float4 __ovld vloada_half4(size_t offset, const __private half *p);
12194 float8 __ovld vloada_half8(size_t offset, const __private half *p);
12195 float16 __ovld vloada_half16(size_t offset, const __private half *p);
12196 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12197
12198 /**
12199  * The floatn value given by data is converted to
12200  * a halfn value using the appropriate rounding
12201  * mode.
12202  * For n = 1, 2, 4, 8 and 16, the halfn value is
12203  * written to the address computed as (p + (offset
12204  * * n)). The address computed as (p + (offset *
12205  * n)) must be aligned to sizeof (halfn) bytes.
12206  * For n = 3, the half3 value is written to the
12207  * address computed as (p + (offset * 4)). The
12208  * address computed as (p + (offset * 4)) must be
12209  * aligned to sizeof (half) * 4 bytes.
12210  * vstorea_halfn uses the current rounding
12211  * mode. The default current rounding mode is
12212  * round to nearest even.
12213  */
12214 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12215 void __ovld vstorea_half(float data, size_t offset, half *p);
12216 void __ovld vstorea_half2(float2 data, size_t offset, half *p);
12217 void __ovld vstorea_half3(float3 data, size_t offset, half *p);
12218 void __ovld vstorea_half4(float4 data, size_t offset, half *p);
12219 void __ovld vstorea_half8(float8 data, size_t offset, half *p);
12220 void __ovld vstorea_half16(float16 data, size_t offset, half *p);
12221
12222 void __ovld vstorea_half_rte(float data, size_t offset, half *p);
12223 void __ovld vstorea_half2_rte(float2 data, size_t offset, half *p);
12224 void __ovld vstorea_half3_rte(float3 data, size_t offset, half *p);
12225 void __ovld vstorea_half4_rte(float4 data, size_t offset, half *p);
12226 void __ovld vstorea_half8_rte(float8 data, size_t offset, half *p);
12227 void __ovld vstorea_half16_rte(float16 data, size_t offset, half *p);
12228
12229 void __ovld vstorea_half_rtz(float data, size_t offset, half *p);
12230 void __ovld vstorea_half2_rtz(float2 data, size_t offset, half *p);
12231 void __ovld vstorea_half3_rtz(float3 data, size_t offset, half *p);
12232 void __ovld vstorea_half4_rtz(float4 data, size_t offset, half *p);
12233 void __ovld vstorea_half8_rtz(float8 data, size_t offset, half *p);
12234 void __ovld vstorea_half16_rtz(float16 data, size_t offset, half *p);
12235
12236 void __ovld vstorea_half_rtp(float data, size_t offset, half *p);
12237 void __ovld vstorea_half2_rtp(float2 data, size_t offset, half *p);
12238 void __ovld vstorea_half3_rtp(float3 data, size_t offset, half *p);
12239 void __ovld vstorea_half4_rtp(float4 data, size_t offset, half *p);
12240 void __ovld vstorea_half8_rtp(float8 data, size_t offset, half *p);
12241 void __ovld vstorea_half16_rtp(float16 data, size_t offset, half *p);
12242
12243 void __ovld vstorea_half_rtn(float data, size_t offset, half *p);
12244 void __ovld vstorea_half2_rtn(float2 data, size_t offset, half *p);
12245 void __ovld vstorea_half3_rtn(float3 data, size_t offset, half *p);
12246 void __ovld vstorea_half4_rtn(float4 data, size_t offset, half *p);
12247 void __ovld vstorea_half8_rtn(float8 data, size_t offset, half *p);
12248 void __ovld vstorea_half16_rtn(float16 data, size_t offset, half *p);
12249
12250 #ifdef cl_khr_fp64
12251 void __ovld vstorea_half(double data, size_t offset, half *p);
12252 void __ovld vstorea_half2(double2 data, size_t offset, half *p);
12253 void __ovld vstorea_half3(double3 data, size_t offset, half *p);
12254 void __ovld vstorea_half4(double4 data, size_t offset, half *p);
12255 void __ovld vstorea_half8(double8 data, size_t offset, half *p);
12256 void __ovld vstorea_half16(double16 data, size_t offset, half *p);
12257
12258 void __ovld vstorea_half_rte(double data, size_t offset, half *p);
12259 void __ovld vstorea_half2_rte(double2 data, size_t offset, half *p);
12260 void __ovld vstorea_half3_rte(double3 data, size_t offset, half *p);
12261 void __ovld vstorea_half4_rte(double4 data, size_t offset, half *p);
12262 void __ovld vstorea_half8_rte(double8 data, size_t offset, half *p);
12263 void __ovld vstorea_half16_rte(double16 data, size_t offset, half *p);
12264
12265 void __ovld vstorea_half_rtz(double data, size_t offset, half *p);
12266 void __ovld vstorea_half2_rtz(double2 data, size_t offset, half *p);
12267 void __ovld vstorea_half3_rtz(double3 data, size_t offset, half *p);
12268 void __ovld vstorea_half4_rtz(double4 data, size_t offset, half *p);
12269 void __ovld vstorea_half8_rtz(double8 data, size_t offset, half *p);
12270 void __ovld vstorea_half16_rtz(double16 data, size_t offset, half *p);
12271
12272 void __ovld vstorea_half_rtp(double data, size_t offset, half *p);
12273 void __ovld vstorea_half2_rtp(double2 data, size_t offset, half *p);
12274 void __ovld vstorea_half3_rtp(double3 data, size_t offset, half *p);
12275 void __ovld vstorea_half4_rtp(double4 data, size_t offset, half *p);
12276 void __ovld vstorea_half8_rtp(double8 data, size_t offset, half *p);
12277 void __ovld vstorea_half16_rtp(double16 data, size_t offset, half *p);
12278
12279 void __ovld vstorea_half_rtn(double data, size_t offset, half *p);
12280 void __ovld vstorea_half2_rtn(double2 data, size_t offset, half *p);
12281 void __ovld vstorea_half3_rtn(double3 data, size_t offset, half *p);
12282 void __ovld vstorea_half4_rtn(double4 data, size_t offset, half *p);
12283 void __ovld vstorea_half8_rtn(double8 data, size_t offset, half *p);
12284 void __ovld vstorea_half16_rtn(double16 data, size_t offset, half *p);
12285 #endif //cl_khr_fp64
12286
12287 #else
12288 void __ovld vstorea_half(float data, size_t offset, __global half *p);
12289 void __ovld vstorea_half2(float2 data, size_t offset, __global half *p);
12290 void __ovld vstorea_half3(float3 data, size_t offset, __global half *p);
12291 void __ovld vstorea_half4(float4 data, size_t offset, __global half *p);
12292 void __ovld vstorea_half8(float8 data, size_t offset, __global half *p);
12293 void __ovld vstorea_half16(float16 data, size_t offset, __global half *p);
12294
12295 void __ovld vstorea_half_rte(float data, size_t offset, __global half *p);
12296 void __ovld vstorea_half2_rte(float2 data, size_t offset, __global half *p);
12297 void __ovld vstorea_half3_rte(float3 data, size_t offset, __global half *p);
12298 void __ovld vstorea_half4_rte(float4 data, size_t offset, __global half *p);
12299 void __ovld vstorea_half8_rte(float8 data, size_t offset, __global half *p);
12300 void __ovld vstorea_half16_rte(float16 data, size_t offset, __global half *p);
12301
12302 void __ovld vstorea_half_rtz(float data, size_t offset, __global half *p);
12303 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __global half *p);
12304 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __global half *p);
12305 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __global half *p);
12306 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __global half *p);
12307 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __global half *p);
12308
12309 void __ovld vstorea_half_rtp(float data, size_t offset, __global half *p);
12310 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __global half *p);
12311 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __global half *p);
12312 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __global half *p);
12313 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __global half *p);
12314 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __global half *p);
12315
12316 void __ovld vstorea_half_rtn(float data, size_t offset, __global half *p);
12317 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __global half *p);
12318 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __global half *p);
12319 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __global half *p);
12320 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __global half *p);
12321 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __global half *p);
12322
12323 void __ovld vstorea_half(float data, size_t offset, __local half *p);
12324 void __ovld vstorea_half2(float2 data, size_t offset, __local half *p);
12325 void __ovld vstorea_half3(float3 data, size_t offset, __local half *p);
12326 void __ovld vstorea_half4(float4 data, size_t offset, __local half *p);
12327 void __ovld vstorea_half8(float8 data, size_t offset, __local half *p);
12328 void __ovld vstorea_half16(float16 data, size_t offset, __local half *p);
12329
12330 void __ovld vstorea_half_rte(float data, size_t offset, __local half *p);
12331 void __ovld vstorea_half2_rte(float2 data, size_t offset, __local half *p);
12332 void __ovld vstorea_half3_rte(float3 data, size_t offset, __local half *p);
12333 void __ovld vstorea_half4_rte(float4 data, size_t offset, __local half *p);
12334 void __ovld vstorea_half8_rte(float8 data, size_t offset, __local half *p);
12335 void __ovld vstorea_half16_rte(float16 data, size_t offset, __local half *p);
12336
12337 void __ovld vstorea_half_rtz(float data, size_t offset, __local half *p);
12338 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __local half *p);
12339 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __local half *p);
12340 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __local half *p);
12341 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __local half *p);
12342 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __local half *p);
12343
12344 void __ovld vstorea_half_rtp(float data, size_t offset, __local half *p);
12345 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __local half *p);
12346 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __local half *p);
12347 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __local half *p);
12348 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __local half *p);
12349 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __local half *p);
12350
12351 void __ovld vstorea_half_rtn(float data, size_t offset, __local half *p);
12352 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __local half *p);
12353 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __local half *p);
12354 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __local half *p);
12355 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __local half *p);
12356 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __local half *p);
12357
12358 void __ovld vstorea_half(float data, size_t offset, __private half *p);
12359 void __ovld vstorea_half2(float2 data, size_t offset, __private half *p);
12360 void __ovld vstorea_half3(float3 data, size_t offset, __private half *p);
12361 void __ovld vstorea_half4(float4 data, size_t offset, __private half *p);
12362 void __ovld vstorea_half8(float8 data, size_t offset, __private half *p);
12363 void __ovld vstorea_half16(float16 data, size_t offset, __private half *p);
12364
12365 void __ovld vstorea_half_rte(float data, size_t offset, __private half *p);
12366 void __ovld vstorea_half2_rte(float2 data, size_t offset, __private half *p);
12367 void __ovld vstorea_half3_rte(float3 data, size_t offset, __private half *p);
12368 void __ovld vstorea_half4_rte(float4 data, size_t offset, __private half *p);
12369 void __ovld vstorea_half8_rte(float8 data, size_t offset, __private half *p);
12370 void __ovld vstorea_half16_rte(float16 data, size_t offset, __private half *p);
12371
12372 void __ovld vstorea_half_rtz(float data, size_t offset, __private half *p);
12373 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __private half *p);
12374 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __private half *p);
12375 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __private half *p);
12376 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __private half *p);
12377 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __private half *p);
12378
12379 void __ovld vstorea_half_rtp(float data, size_t offset, __private half *p);
12380 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __private half *p);
12381 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __private half *p);
12382 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __private half *p);
12383 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __private half *p);
12384 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __private half *p);
12385
12386 void __ovld vstorea_half_rtn(float data, size_t offset, __private half *p);
12387 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __private half *p);
12388 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __private half *p);
12389 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __private half *p);
12390 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __private half *p);
12391 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __private half *p);
12392
12393 #ifdef cl_khr_fp64
12394 void __ovld vstorea_half(double data, size_t offset, __global half *p);
12395 void __ovld vstorea_half2(double2 data, size_t offset, __global half *p);
12396 void __ovld vstorea_half3(double3 data, size_t offset, __global half *p);
12397 void __ovld vstorea_half4(double4 data, size_t offset, __global half *p);
12398 void __ovld vstorea_half8(double8 data, size_t offset, __global half *p);
12399 void __ovld vstorea_half16(double16 data, size_t offset, __global half *p);
12400
12401 void __ovld vstorea_half_rte(double data, size_t offset, __global half *p);
12402 void __ovld vstorea_half2_rte(double2 data, size_t offset, __global half *p);
12403 void __ovld vstorea_half3_rte(double3 data, size_t offset, __global half *p);
12404 void __ovld vstorea_half4_rte(double4 data, size_t offset, __global half *p);
12405 void __ovld vstorea_half8_rte(double8 data, size_t offset, __global half *p);
12406 void __ovld vstorea_half16_rte(double16 data, size_t offset, __global half *p);
12407
12408 void __ovld vstorea_half_rtz(double data, size_t offset, __global half *p);
12409 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __global half *p);
12410 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __global half *p);
12411 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __global half *p);
12412 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __global half *p);
12413 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __global half *p);
12414
12415 void __ovld vstorea_half_rtp(double data, size_t offset, __global half *p);
12416 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __global half *p);
12417 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __global half *p);
12418 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __global half *p);
12419 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __global half *p);
12420 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __global half *p);
12421
12422 void __ovld vstorea_half_rtn(double data, size_t offset, __global half *p);
12423 void __ovld vstorea_half2_rtn(double2 data, size_t offset, __global half *p);
12424 void __ovld vstorea_half3_rtn(double3 data, size_t offset, __global half *p);
12425 void __ovld vstorea_half4_rtn(double4 data, size_t offset, __global half *p);
12426 void __ovld vstorea_half8_rtn(double8 data, size_t offset, __global half *p);
12427 void __ovld vstorea_half16_rtn(double16 data, size_t offset, __global half *p);
12428
12429 void __ovld vstorea_half(double data, size_t offset, __local half *p);
12430 void __ovld vstorea_half2(double2 data, size_t offset, __local half *p);
12431 void __ovld vstorea_half3(double3 data, size_t offset, __local half *p);
12432 void __ovld vstorea_half4(double4 data, size_t offset, __local half *p);
12433 void __ovld vstorea_half8(double8 data, size_t offset, __local half *p);
12434 void __ovld vstorea_half16(double16 data, size_t offset, __local half *p);
12435
12436 void __ovld vstorea_half_rte(double data, size_t offset, __local half *p);
12437 void __ovld vstorea_half2_rte(double2 data, size_t offset, __local half *p);
12438 void __ovld vstorea_half3_rte(double3 data, size_t offset, __local half *p);
12439 void __ovld vstorea_half4_rte(double4 data, size_t offset, __local half *p);
12440 void __ovld vstorea_half8_rte(double8 data, size_t offset, __local half *p);
12441 void __ovld vstorea_half16_rte(double16 data, size_t offset, __local half *p);
12442
12443 void __ovld vstorea_half_rtz(double data, size_t offset, __local half *p);
12444 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __local half *p);
12445 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __local half *p);
12446 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __local half *p);
12447 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __local half *p);
12448 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __local half *p);
12449
12450 void __ovld vstorea_half_rtp(double data, size_t offset, __local half *p);
12451 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __local half *p);
12452 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __local half *p);
12453 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __local half *p);
12454 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __local half *p);
12455 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __local half *p);
12456
12457 void __ovld vstorea_half_rtn(double data, size_t offset, __local half *p);
12458 void __ovld vstorea_half2_rtn(double2 data, size_t offset, __local half *p);
12459 void __ovld vstorea_half3_rtn(double3 data, size_t offset, __local half *p);
12460 void __ovld vstorea_half4_rtn(double4 data, size_t offset, __local half *p);
12461 void __ovld vstorea_half8_rtn(double8 data, size_t offset, __local half *p);
12462 void __ovld vstorea_half16_rtn(double16 data, size_t offset, __local half *p);
12463
12464 void __ovld vstorea_half(double data, size_t offset, __private half *p);
12465 void __ovld vstorea_half2(double2 data, size_t offset, __private half *p);
12466 void __ovld vstorea_half3(double3 data, size_t offset, __private half *p);
12467 void __ovld vstorea_half4(double4 data, size_t offset, __private half *p);
12468 void __ovld vstorea_half8(double8 data, size_t offset, __private half *p);
12469 void __ovld vstorea_half16(double16 data, size_t offset, __private half *p);
12470
12471 void __ovld vstorea_half_rte(double data, size_t offset, __private half *p);
12472 void __ovld vstorea_half2_rte(double2 data, size_t offset, __private half *p);
12473 void __ovld vstorea_half3_rte(double3 data, size_t offset, __private half *p);
12474 void __ovld vstorea_half4_rte(double4 data, size_t offset, __private half *p);
12475 void __ovld vstorea_half8_rte(double8 data, size_t offset, __private half *p);
12476 void __ovld vstorea_half16_rte(double16 data, size_t offset, __private half *p);
12477
12478 void __ovld vstorea_half_rtz(double data, size_t offset, __private half *p);
12479 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __private half *p);
12480 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __private half *p);
12481 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __private half *p);
12482 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __private half *p);
12483 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __private half *p);
12484
12485 void __ovld vstorea_half_rtp(double data, size_t offset, __private half *p);
12486 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __private half *p);
12487 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __private half *p);
12488 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __private half *p);
12489 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __private half *p);
12490 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __private half *p);
12491
12492 void __ovld vstorea_half_rtn(double data, size_t offset, __private half *p);
12493 void __ovld vstorea_half2_rtn(double2 data,size_t offset, __private half *p);
12494 void __ovld vstorea_half3_rtn(double3 data,size_t offset, __private half *p);
12495 void __ovld vstorea_half4_rtn(double4 data,size_t offset, __private half *p);
12496 void __ovld vstorea_half8_rtn(double8 data,size_t offset, __private half *p);
12497 void __ovld vstorea_half16_rtn(double16 data,size_t offset, __private half *p);
12498 #endif //cl_khr_fp64
12499 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12500
12501 // OpenCL v1.1 s6.11.8, v1.2 s6.12.8, v2.0 s6.13.8 - Synchronization Functions
12502
12503 /**
12504  * All work-items in a work-group executing the kernel
12505  * on a processor must execute this function before any
12506  * are allowed to continue execution beyond the barrier.
12507  * This function must be encountered by all work-items in
12508  * a work-group executing the kernel.
12509  * If barrier is inside a conditional statement, then all
12510  * work-items must enter the conditional if any work-item
12511  * enters the conditional statement and executes the
12512  * barrier.
12513  * If barrer is inside a loop, all work-items must execute
12514  * the barrier for each iteration of the loop before any are
12515  * allowed to continue execution beyond the barrier.
12516  * The barrier function also queues a memory fence
12517  * (reads and writes) to ensure correct ordering of
12518  * memory operations to local or global memory.
12519  * The flags argument specifies the memory address space
12520  * and can be set to a combination of the following literal
12521  * values.
12522  * CLK_LOCAL_MEM_FENCE - The barrier function
12523  * will either flush any variables stored in local memory
12524  * or queue a memory fence to ensure correct ordering of
12525  * memory operations to local memory.
12526  * CLK_GLOBAL_MEM_FENCE - The barrier function
12527  * will queue a memory fence to ensure correct ordering
12528  * of memory operations to global memory. This can be
12529  * useful when work-items, for example, write to buffer or
12530  * image objects and then want to read the updated data.
12531  */
12532
12533 void __ovld __conv barrier(cl_mem_fence_flags flags);
12534
12535 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12536 void __ovld __conv work_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
12537 void __ovld __conv work_group_barrier(cl_mem_fence_flags flags);
12538 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12539
12540 // OpenCL v1.1 s6.11.9, v1.2 s6.12.9 - Explicit Memory Fence Functions
12541
12542 /**
12543  * Orders loads and stores of a work-item
12544  * executing a kernel. This means that loads
12545  * and stores preceding the mem_fence will
12546  * be committed to memory before any loads
12547  * and stores following the mem_fence.
12548  * The flags argument specifies the memory
12549  * address space and can be set to a
12550  * combination of the following literal
12551  * values:
12552  * CLK_LOCAL_MEM_FENCE
12553  * CLK_GLOBAL_MEM_FENCE.
12554  */
12555 void __ovld mem_fence(cl_mem_fence_flags flags);
12556
12557 /**
12558  * Read memory barrier that orders only
12559  * loads.
12560  * The flags argument specifies the memory
12561  * address space and can be set to a
12562  * combination of the following literal
12563  * values:
12564  * CLK_LOCAL_MEM_FENCE
12565  * CLK_GLOBAL_MEM_FENCE.
12566  */
12567 void __ovld read_mem_fence(cl_mem_fence_flags flags);
12568
12569 /**
12570  * Write memory barrier that orders only
12571  * stores.
12572  * The flags argument specifies the memory
12573  * address space and can be set to a
12574  * combination of the following literal
12575  * values:
12576  * CLK_LOCAL_MEM_FENCE
12577  * CLK_GLOBAL_MEM_FENCE.
12578  */
12579 void __ovld write_mem_fence(cl_mem_fence_flags flags);
12580
12581 // OpenCL v2.0 s6.13.9 - Address Space Qualifier Functions
12582
12583 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12584 cl_mem_fence_flags __ovld get_fence(const void *ptr);
12585 cl_mem_fence_flags __ovld get_fence(void *ptr);
12586
12587 /**
12588  * Builtin functions to_global, to_local, and to_private need to be declared as Clang builtin functions
12589  * and checked in Sema since they should be declared as
12590  *   addr gentype* to_addr (gentype*);
12591  * where gentype is builtin type or user defined type.
12592  */
12593
12594 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12595
12596 // OpenCL v1.1 s6.11.10, v1.2 s6.12.10, v2.0 s6.13.10 - Async Copies from Global to Local Memory, Local to Global Memory, and Prefetch
12597
12598 /**
12599  * event_t async_work_group_copy (
12600  * __global gentype *dst,
12601  * const __local gentype *src,
12602  * size_t num_elements,
12603  * event_t event)
12604  * Perform an async copy of num_elements
12605  * gentype elements from src to dst. The async
12606  * copy is performed by all work-items in a workgroup
12607  * and this built-in function must therefore
12608  * be encountered by all work-items in a workgroup
12609  * executing the kernel with the same
12610  * argument values; otherwise the results are
12611  * undefined.
12612  * Returns an event object that can be used by
12613  * wait_group_events to wait for the async copy
12614  * to finish. The event argument can also be used
12615  * to associate the async_work_group_copy with
12616  * a previous async copy allowing an event to be
12617  * shared by multiple async copies; otherwise event
12618  * should be zero.
12619  * If event argument is non-zero, the event object
12620  * supplied in event argument will be returned.
12621  * This function does not perform any implicit
12622  * synchronization of source data such as using a
12623  * barrier before performing the copy.
12624  */
12625 event_t __ovld async_work_group_copy(__local char *dst, const __global char *src, size_t num_elements, event_t event);
12626 event_t __ovld async_work_group_copy(__local uchar *dst, const __global uchar *src, size_t num_elements, event_t event);
12627 event_t __ovld async_work_group_copy(__local short *dst, const __global short *src, size_t num_elements, event_t event);
12628 event_t __ovld async_work_group_copy(__local ushort *dst, const __global ushort *src, size_t num_elements, event_t event);
12629 event_t __ovld async_work_group_copy(__local int *dst, const __global int *src, size_t num_elements, event_t event);
12630 event_t __ovld async_work_group_copy(__local uint *dst, const __global uint *src, size_t num_elements, event_t event);
12631 event_t __ovld async_work_group_copy(__local long *dst, const __global long *src, size_t num_elements, event_t event);
12632 event_t __ovld async_work_group_copy(__local ulong *dst, const __global ulong *src, size_t num_elements, event_t event);
12633 event_t __ovld async_work_group_copy(__local float *dst, const __global float *src, size_t num_elements, event_t event);
12634 event_t __ovld async_work_group_copy(__local char2 *dst, const __global char2 *src, size_t num_elements, event_t event);
12635 event_t __ovld async_work_group_copy(__local uchar2 *dst, const __global uchar2 *src, size_t num_elements, event_t event);
12636 event_t __ovld async_work_group_copy(__local short2 *dst, const __global short2 *src, size_t num_elements, event_t event);
12637 event_t __ovld async_work_group_copy(__local ushort2 *dst, const __global ushort2 *src, size_t num_elements, event_t event);
12638 event_t __ovld async_work_group_copy(__local int2 *dst, const __global int2 *src, size_t num_elements, event_t event);
12639 event_t __ovld async_work_group_copy(__local uint2 *dst, const __global uint2 *src, size_t num_elements, event_t event);
12640 event_t __ovld async_work_group_copy(__local long2 *dst, const __global long2 *src, size_t num_elements, event_t event);
12641 event_t __ovld async_work_group_copy(__local ulong2 *dst, const __global ulong2 *src, size_t num_elements, event_t event);
12642 event_t __ovld async_work_group_copy(__local float2 *dst, const __global float2 *src, size_t num_elements, event_t event);
12643 event_t __ovld async_work_group_copy(__local char3 *dst, const __global char3 *src, size_t num_elements, event_t event);
12644 event_t __ovld async_work_group_copy(__local uchar3 *dst, const __global uchar3 *src, size_t num_elements, event_t event);
12645 event_t __ovld async_work_group_copy(__local short3 *dst, const __global short3 *src, size_t num_elements, event_t event);
12646 event_t __ovld async_work_group_copy(__local ushort3 *dst, const __global ushort3 *src, size_t num_elements, event_t event);
12647 event_t __ovld async_work_group_copy(__local int3 *dst, const __global int3 *src, size_t num_elements, event_t event);
12648 event_t __ovld async_work_group_copy(__local uint3 *dst, const __global uint3 *src, size_t num_elements, event_t event);
12649 event_t __ovld async_work_group_copy(__local long3 *dst, const __global long3 *src, size_t num_elements, event_t event);
12650 event_t __ovld async_work_group_copy(__local ulong3 *dst, const __global ulong3 *src, size_t num_elements, event_t event);
12651 event_t __ovld async_work_group_copy(__local float3 *dst, const __global float3 *src, size_t num_elements, event_t event);
12652 event_t __ovld async_work_group_copy(__local char4 *dst, const __global char4 *src, size_t num_elements, event_t event);
12653 event_t __ovld async_work_group_copy(__local uchar4 *dst, const __global uchar4 *src, size_t num_elements, event_t event);
12654 event_t __ovld async_work_group_copy(__local short4 *dst, const __global short4 *src, size_t num_elements, event_t event);
12655 event_t __ovld async_work_group_copy(__local ushort4 *dst, const __global ushort4 *src, size_t num_elements, event_t event);
12656 event_t __ovld async_work_group_copy(__local int4 *dst, const __global int4 *src, size_t num_elements, event_t event);
12657 event_t __ovld async_work_group_copy(__local uint4 *dst, const __global uint4 *src, size_t num_elements, event_t event);
12658 event_t __ovld async_work_group_copy(__local long4 *dst, const __global long4 *src, size_t num_elements, event_t event);
12659 event_t __ovld async_work_group_copy(__local ulong4 *dst, const __global ulong4 *src, size_t num_elements, event_t event);
12660 event_t __ovld async_work_group_copy(__local float4 *dst, const __global float4 *src, size_t num_elements, event_t event);
12661 event_t __ovld async_work_group_copy(__local char8 *dst, const __global char8 *src, size_t num_elements, event_t event);
12662 event_t __ovld async_work_group_copy(__local uchar8 *dst, const __global uchar8 *src, size_t num_elements, event_t event);
12663 event_t __ovld async_work_group_copy(__local short8 *dst, const __global short8 *src, size_t num_elements, event_t event);
12664 event_t __ovld async_work_group_copy(__local ushort8 *dst, const __global ushort8 *src, size_t num_elements, event_t event);
12665 event_t __ovld async_work_group_copy(__local int8 *dst, const __global int8 *src, size_t num_elements, event_t event);
12666 event_t __ovld async_work_group_copy(__local uint8 *dst, const __global uint8 *src, size_t num_elements, event_t event);
12667 event_t __ovld async_work_group_copy(__local long8 *dst, const __global long8 *src, size_t num_elements, event_t event);
12668 event_t __ovld async_work_group_copy(__local ulong8 *dst, const __global ulong8 *src, size_t num_elements, event_t event);
12669 event_t __ovld async_work_group_copy(__local float8 *dst, const __global float8 *src, size_t num_elements, event_t event);
12670 event_t __ovld async_work_group_copy(__local char16 *dst, const __global char16 *src, size_t num_elements, event_t event);
12671 event_t __ovld async_work_group_copy(__local uchar16 *dst, const __global uchar16 *src, size_t num_elements, event_t event);
12672 event_t __ovld async_work_group_copy(__local short16 *dst, const __global short16 *src, size_t num_elements, event_t event);
12673 event_t __ovld async_work_group_copy(__local ushort16 *dst, const __global ushort16 *src, size_t num_elements, event_t event);
12674 event_t __ovld async_work_group_copy(__local int16 *dst, const __global int16 *src, size_t num_elements, event_t event);
12675 event_t __ovld async_work_group_copy(__local uint16 *dst, const __global uint16 *src, size_t num_elements, event_t event);
12676 event_t __ovld async_work_group_copy(__local long16 *dst, const __global long16 *src, size_t num_elements, event_t event);
12677 event_t __ovld async_work_group_copy(__local ulong16 *dst, const __global ulong16 *src, size_t num_elements, event_t event);
12678 event_t __ovld async_work_group_copy(__local float16 *dst, const __global float16 *src, size_t num_elements, event_t event);
12679 event_t __ovld async_work_group_copy(__global char *dst, const __local char *src, size_t num_elements, event_t event);
12680 event_t __ovld async_work_group_copy(__global uchar *dst, const __local uchar *src, size_t num_elements, event_t event);
12681 event_t __ovld async_work_group_copy(__global short *dst, const __local short *src, size_t num_elements, event_t event);
12682 event_t __ovld async_work_group_copy(__global ushort *dst, const __local ushort *src, size_t num_elements, event_t event);
12683 event_t __ovld async_work_group_copy(__global int *dst, const __local int *src, size_t num_elements, event_t event);
12684 event_t __ovld async_work_group_copy(__global uint *dst, const __local uint *src, size_t num_elements, event_t event);
12685 event_t __ovld async_work_group_copy(__global long *dst, const __local long *src, size_t num_elements, event_t event);
12686 event_t __ovld async_work_group_copy(__global ulong *dst, const __local ulong *src, size_t num_elements, event_t event);
12687 event_t __ovld async_work_group_copy(__global float *dst, const __local float *src, size_t num_elements, event_t event);
12688 event_t __ovld async_work_group_copy(__global char2 *dst, const __local char2 *src, size_t num_elements, event_t event);
12689 event_t __ovld async_work_group_copy(__global uchar2 *dst, const __local uchar2 *src, size_t num_elements, event_t event);
12690 event_t __ovld async_work_group_copy(__global short2 *dst, const __local short2 *src, size_t num_elements, event_t event);
12691 event_t __ovld async_work_group_copy(__global ushort2 *dst, const __local ushort2 *src, size_t num_elements, event_t event);
12692 event_t __ovld async_work_group_copy(__global int2 *dst, const __local int2 *src, size_t num_elements, event_t event);
12693 event_t __ovld async_work_group_copy(__global uint2 *dst, const __local uint2 *src, size_t num_elements, event_t event);
12694 event_t __ovld async_work_group_copy(__global long2 *dst, const __local long2 *src, size_t num_elements, event_t event);
12695 event_t __ovld async_work_group_copy(__global ulong2 *dst, const __local ulong2 *src, size_t num_elements, event_t event);
12696 event_t __ovld async_work_group_copy(__global float2 *dst, const __local float2 *src, size_t num_elements, event_t event);
12697 event_t __ovld async_work_group_copy(__global char3 *dst, const __local char3 *src, size_t num_elements, event_t event);
12698 event_t __ovld async_work_group_copy(__global uchar3 *dst, const __local uchar3 *src, size_t num_elements, event_t event);
12699 event_t __ovld async_work_group_copy(__global short3 *dst, const __local short3 *src, size_t num_elements, event_t event);
12700 event_t __ovld async_work_group_copy(__global ushort3 *dst, const __local ushort3 *src, size_t num_elements, event_t event);
12701 event_t __ovld async_work_group_copy(__global int3 *dst, const __local int3 *src, size_t num_elements, event_t event);
12702 event_t __ovld async_work_group_copy(__global uint3 *dst, const __local uint3 *src, size_t num_elements, event_t event);
12703 event_t __ovld async_work_group_copy(__global long3 *dst, const __local long3 *src, size_t num_elements, event_t event);
12704 event_t __ovld async_work_group_copy(__global ulong3 *dst, const __local ulong3 *src, size_t num_elements, event_t event);
12705 event_t __ovld async_work_group_copy(__global float3 *dst, const __local float3 *src, size_t num_elements, event_t event);
12706 event_t __ovld async_work_group_copy(__global char4 *dst, const __local char4 *src, size_t num_elements, event_t event);
12707 event_t __ovld async_work_group_copy(__global uchar4 *dst, const __local uchar4 *src, size_t num_elements, event_t event);
12708 event_t __ovld async_work_group_copy(__global short4 *dst, const __local short4 *src, size_t num_elements, event_t event);
12709 event_t __ovld async_work_group_copy(__global ushort4 *dst, const __local ushort4 *src, size_t num_elements, event_t event);
12710 event_t __ovld async_work_group_copy(__global int4 *dst, const __local int4 *src, size_t num_elements, event_t event);
12711 event_t __ovld async_work_group_copy(__global uint4 *dst, const __local uint4 *src, size_t num_elements, event_t event);
12712 event_t __ovld async_work_group_copy(__global long4 *dst, const __local long4 *src, size_t num_elements, event_t event);
12713 event_t __ovld async_work_group_copy(__global ulong4 *dst, const __local ulong4 *src, size_t num_elements, event_t event);
12714 event_t __ovld async_work_group_copy(__global float4 *dst, const __local float4 *src, size_t num_elements, event_t event);
12715 event_t __ovld async_work_group_copy(__global char8 *dst, const __local char8 *src, size_t num_elements, event_t event);
12716 event_t __ovld async_work_group_copy(__global uchar8 *dst, const __local uchar8 *src, size_t num_elements, event_t event);
12717 event_t __ovld async_work_group_copy(__global short8 *dst, const __local short8 *src, size_t num_elements, event_t event);
12718 event_t __ovld async_work_group_copy(__global ushort8 *dst, const __local ushort8 *src, size_t num_elements, event_t event);
12719 event_t __ovld async_work_group_copy(__global int8 *dst, const __local int8 *src, size_t num_elements, event_t event);
12720 event_t __ovld async_work_group_copy(__global uint8 *dst, const __local uint8 *src, size_t num_elements, event_t event);
12721 event_t __ovld async_work_group_copy(__global long8 *dst, const __local long8 *src, size_t num_elements, event_t event);
12722 event_t __ovld async_work_group_copy(__global ulong8 *dst, const __local ulong8 *src, size_t num_elements, event_t event);
12723 event_t __ovld async_work_group_copy(__global float8 *dst, const __local float8 *src, size_t num_elements, event_t event);
12724 event_t __ovld async_work_group_copy(__global char16 *dst, const __local char16 *src, size_t num_elements, event_t event);
12725 event_t __ovld async_work_group_copy(__global uchar16 *dst, const __local uchar16 *src, size_t num_elements, event_t event);
12726 event_t __ovld async_work_group_copy(__global short16 *dst, const __local short16 *src, size_t num_elements, event_t event);
12727 event_t __ovld async_work_group_copy(__global ushort16 *dst, const __local ushort16 *src, size_t num_elements, event_t event);
12728 event_t __ovld async_work_group_copy(__global int16 *dst, const __local int16 *src, size_t num_elements, event_t event);
12729 event_t __ovld async_work_group_copy(__global uint16 *dst, const __local uint16 *src, size_t num_elements, event_t event);
12730 event_t __ovld async_work_group_copy(__global long16 *dst, const __local long16 *src, size_t num_elements, event_t event);
12731 event_t __ovld async_work_group_copy(__global ulong16 *dst, const __local ulong16 *src, size_t num_elements, event_t event);
12732 event_t __ovld async_work_group_copy(__global float16 *dst, const __local float16 *src, size_t num_elements, event_t event);
12733 #ifdef cl_khr_fp64
12734 event_t __ovld async_work_group_copy(__local double *dst, const __global double *src, size_t num_elements, event_t event);
12735 event_t __ovld async_work_group_copy(__local double2 *dst, const __global double2 *src, size_t num_elements, event_t event);
12736 event_t __ovld async_work_group_copy(__local double3 *dst, const __global double3 *src, size_t num_elements, event_t event);
12737 event_t __ovld async_work_group_copy(__local double4 *dst, const __global double4 *src, size_t num_elements, event_t event);
12738 event_t __ovld async_work_group_copy(__local double8 *dst, const __global double8 *src, size_t num_elements, event_t event);
12739 event_t __ovld async_work_group_copy(__local double16 *dst, const __global double16 *src, size_t num_elements, event_t event);
12740 event_t __ovld async_work_group_copy(__global double *dst, const __local double *src, size_t num_elements, event_t event);
12741 event_t __ovld async_work_group_copy(__global double2 *dst, const __local double2 *src, size_t num_elements, event_t event);
12742 event_t __ovld async_work_group_copy(__global double3 *dst, const __local double3 *src, size_t num_elements, event_t event);
12743 event_t __ovld async_work_group_copy(__global double4 *dst, const __local double4 *src, size_t num_elements, event_t event);
12744 event_t __ovld async_work_group_copy(__global double8 *dst, const __local double8 *src, size_t num_elements, event_t event);
12745 event_t __ovld async_work_group_copy(__global double16 *dst, const __local double16 *src, size_t num_elements, event_t event);
12746 #endif //cl_khr_fp64
12747 #ifdef cl_khr_fp16
12748 event_t __ovld async_work_group_copy(__local half *dst, const __global half *src, size_t num_elements, event_t event);
12749 event_t __ovld async_work_group_copy(__local half2 *dst, const __global half2 *src, size_t num_elements, event_t event);
12750 event_t __ovld async_work_group_copy(__local half3 *dst, const __global half3 *src, size_t num_elements, event_t event);
12751 event_t __ovld async_work_group_copy(__local half4 *dst, const __global half4 *src, size_t num_elements, event_t event);
12752 event_t __ovld async_work_group_copy(__local half8 *dst, const __global half8 *src, size_t num_elements, event_t event);
12753 event_t __ovld async_work_group_copy(__local half16 *dst, const __global half16 *src, size_t num_elements, event_t event);
12754 event_t __ovld async_work_group_copy(__global half *dst, const __local half *src, size_t num_elements, event_t event);
12755 event_t __ovld async_work_group_copy(__global half2 *dst, const __local half2 *src, size_t num_elements, event_t event);
12756 event_t __ovld async_work_group_copy(__global half3 *dst, const __local half3 *src, size_t num_elements, event_t event);
12757 event_t __ovld async_work_group_copy(__global half4 *dst, const __local half4 *src, size_t num_elements, event_t event);
12758 event_t __ovld async_work_group_copy(__global half8 *dst, const __local half8 *src, size_t num_elements, event_t event);
12759 event_t __ovld async_work_group_copy(__global half16 *dst, const __local half16 *src, size_t num_elements, event_t event);
12760 #endif //cl_khr_fp16
12761
12762 /**
12763  * Perform an async gather of num_elements
12764  * gentype elements from src to dst. The
12765  * src_stride is the stride in elements for each
12766  * gentype element read from src. The dst_stride
12767  * is the stride in elements for each gentype
12768  * element written to dst. The async gather is
12769  * performed by all work-items in a work-group.
12770  * This built-in function must therefore be
12771  * encountered by all work-items in a work-group
12772  * executing the kernel with the same argument
12773  * values; otherwise the results are undefined.
12774  * Returns an event object that can be used by
12775  * wait_group_events to wait for the async copy
12776  * to finish. The event argument can also be used
12777  * to associate the
12778  * async_work_group_strided_copy with a
12779  * previous async copy allowing an event to be
12780  * shared by multiple async copies; otherwise event
12781  * should be zero.
12782  * If event argument is non-zero, the event object
12783  * supplied in event argument will be returned.
12784  * This function does not perform any implicit
12785  * synchronization of source data such as using a
12786  * barrier before performing the copy.
12787  */
12788 event_t __ovld async_work_group_strided_copy(__local char *dst, const __global char *src, size_t num_elements, size_t src_stride, event_t event);
12789 event_t __ovld async_work_group_strided_copy(__local uchar *dst, const __global uchar *src, size_t num_elements, size_t src_stride, event_t event);
12790 event_t __ovld async_work_group_strided_copy(__local short *dst, const __global short *src, size_t num_elements, size_t src_stride, event_t event);
12791 event_t __ovld async_work_group_strided_copy(__local ushort *dst, const __global ushort *src, size_t num_elements, size_t src_stride, event_t event);
12792 event_t __ovld async_work_group_strided_copy(__local int *dst, const __global int *src, size_t num_elements, size_t src_stride, event_t event);
12793 event_t __ovld async_work_group_strided_copy(__local uint *dst, const __global uint *src, size_t num_elements, size_t src_stride, event_t event);
12794 event_t __ovld async_work_group_strided_copy(__local long *dst, const __global long *src, size_t num_elements, size_t src_stride, event_t event);
12795 event_t __ovld async_work_group_strided_copy(__local ulong *dst, const __global ulong *src, size_t num_elements, size_t src_stride, event_t event);
12796 event_t __ovld async_work_group_strided_copy(__local float *dst, const __global float *src, size_t num_elements, size_t src_stride, event_t event);
12797 event_t __ovld async_work_group_strided_copy(__local char2 *dst, const __global char2 *src, size_t num_elements, size_t src_stride, event_t event);
12798 event_t __ovld async_work_group_strided_copy(__local uchar2 *dst, const __global uchar2 *src, size_t num_elements, size_t src_stride, event_t event);
12799 event_t __ovld async_work_group_strided_copy(__local short2 *dst, const __global short2 *src, size_t num_elements, size_t src_stride, event_t event);
12800 event_t __ovld async_work_group_strided_copy(__local ushort2 *dst, const __global ushort2 *src, size_t num_elements, size_t src_stride, event_t event);
12801 event_t __ovld async_work_group_strided_copy(__local int2 *dst, const __global int2 *src, size_t num_elements, size_t src_stride, event_t event);
12802 event_t __ovld async_work_group_strided_copy(__local uint2 *dst, const __global uint2 *src, size_t num_elements, size_t src_stride, event_t event);
12803 event_t __ovld async_work_group_strided_copy(__local long2 *dst, const __global long2 *src, size_t num_elements, size_t src_stride, event_t event);
12804 event_t __ovld async_work_group_strided_copy(__local ulong2 *dst, const __global ulong2 *src, size_t num_elements, size_t src_stride, event_t event);
12805 event_t __ovld async_work_group_strided_copy(__local float2 *dst, const __global float2 *src, size_t num_elements, size_t src_stride, event_t event);
12806 event_t __ovld async_work_group_strided_copy(__local char3 *dst, const __global char3 *src, size_t num_elements, size_t src_stride, event_t event);
12807 event_t __ovld async_work_group_strided_copy(__local uchar3 *dst, const __global uchar3 *src, size_t num_elements, size_t src_stride, event_t event);
12808 event_t __ovld async_work_group_strided_copy(__local short3 *dst, const __global short3 *src, size_t num_elements, size_t src_stride, event_t event);
12809 event_t __ovld async_work_group_strided_copy(__local ushort3 *dst, const __global ushort3 *src, size_t num_elements, size_t src_stride, event_t event);
12810 event_t __ovld async_work_group_strided_copy(__local int3 *dst, const __global int3 *src, size_t num_elements, size_t src_stride, event_t event);
12811 event_t __ovld async_work_group_strided_copy(__local uint3 *dst, const __global uint3 *src, size_t num_elements, size_t src_stride, event_t event);
12812 event_t __ovld async_work_group_strided_copy(__local long3 *dst, const __global long3 *src, size_t num_elements, size_t src_stride, event_t event);
12813 event_t __ovld async_work_group_strided_copy(__local ulong3 *dst, const __global ulong3 *src, size_t num_elements, size_t src_stride, event_t event);
12814 event_t __ovld async_work_group_strided_copy(__local float3 *dst, const __global float3 *src, size_t num_elements, size_t src_stride, event_t event);
12815 event_t __ovld async_work_group_strided_copy(__local char4 *dst, const __global char4 *src, size_t num_elements, size_t src_stride, event_t event);
12816 event_t __ovld async_work_group_strided_copy(__local uchar4 *dst, const __global uchar4 *src, size_t num_elements, size_t src_stride, event_t event);
12817 event_t __ovld async_work_group_strided_copy(__local short4 *dst, const __global short4 *src, size_t num_elements, size_t src_stride, event_t event);
12818 event_t __ovld async_work_group_strided_copy(__local ushort4 *dst, const __global ushort4 *src, size_t num_elements, size_t src_stride, event_t event);
12819 event_t __ovld async_work_group_strided_copy(__local int4 *dst, const __global int4 *src, size_t num_elements, size_t src_stride, event_t event);
12820 event_t __ovld async_work_group_strided_copy(__local uint4 *dst, const __global uint4 *src, size_t num_elements, size_t src_stride, event_t event);
12821 event_t __ovld async_work_group_strided_copy(__local long4 *dst, const __global long4 *src, size_t num_elements, size_t src_stride, event_t event);
12822 event_t __ovld async_work_group_strided_copy(__local ulong4 *dst, const __global ulong4 *src, size_t num_elements, size_t src_stride, event_t event);
12823 event_t __ovld async_work_group_strided_copy(__local float4 *dst, const __global float4 *src, size_t num_elements, size_t src_stride, event_t event);
12824 event_t __ovld async_work_group_strided_copy(__local char8 *dst, const __global char8 *src, size_t num_elements, size_t src_stride, event_t event);
12825 event_t __ovld async_work_group_strided_copy(__local uchar8 *dst, const __global uchar8 *src, size_t num_elements, size_t src_stride, event_t event);
12826 event_t __ovld async_work_group_strided_copy(__local short8 *dst, const __global short8 *src, size_t num_elements, size_t src_stride, event_t event);
12827 event_t __ovld async_work_group_strided_copy(__local ushort8 *dst, const __global ushort8 *src, size_t num_elements, size_t src_stride, event_t event);
12828 event_t __ovld async_work_group_strided_copy(__local int8 *dst, const __global int8 *src, size_t num_elements, size_t src_stride, event_t event);
12829 event_t __ovld async_work_group_strided_copy(__local uint8 *dst, const __global uint8 *src, size_t num_elements, size_t src_stride, event_t event);
12830 event_t __ovld async_work_group_strided_copy(__local long8 *dst, const __global long8 *src, size_t num_elements, size_t src_stride, event_t event);
12831 event_t __ovld async_work_group_strided_copy(__local ulong8 *dst, const __global ulong8 *src, size_t num_elements, size_t src_stride, event_t event);
12832 event_t __ovld async_work_group_strided_copy(__local float8 *dst, const __global float8 *src, size_t num_elements, size_t src_stride, event_t event);
12833 event_t __ovld async_work_group_strided_copy(__local char16 *dst, const __global char16 *src, size_t num_elements, size_t src_stride, event_t event);
12834 event_t __ovld async_work_group_strided_copy(__local uchar16 *dst, const __global uchar16 *src, size_t num_elements, size_t src_stride, event_t event);
12835 event_t __ovld async_work_group_strided_copy(__local short16 *dst, const __global short16 *src, size_t num_elements, size_t src_stride, event_t event);
12836 event_t __ovld async_work_group_strided_copy(__local ushort16 *dst, const __global ushort16 *src, size_t num_elements, size_t src_stride, event_t event);
12837 event_t __ovld async_work_group_strided_copy(__local int16 *dst, const __global int16 *src, size_t num_elements, size_t src_stride, event_t event);
12838 event_t __ovld async_work_group_strided_copy(__local uint16 *dst, const __global uint16 *src, size_t num_elements, size_t src_stride, event_t event);
12839 event_t __ovld async_work_group_strided_copy(__local long16 *dst, const __global long16 *src, size_t num_elements, size_t src_stride, event_t event);
12840 event_t __ovld async_work_group_strided_copy(__local ulong16 *dst, const __global ulong16 *src, size_t num_elements, size_t src_stride, event_t event);
12841 event_t __ovld async_work_group_strided_copy(__local float16 *dst, const __global float16 *src, size_t num_elements, size_t src_stride, event_t event);
12842 event_t __ovld async_work_group_strided_copy(__global char *dst, const __local char *src, size_t num_elements, size_t dst_stride, event_t event);
12843 event_t __ovld async_work_group_strided_copy(__global uchar *dst, const __local uchar *src, size_t num_elements, size_t dst_stride, event_t event);
12844 event_t __ovld async_work_group_strided_copy(__global short *dst, const __local short *src, size_t num_elements, size_t dst_stride, event_t event);
12845 event_t __ovld async_work_group_strided_copy(__global ushort *dst, const __local ushort *src, size_t num_elements, size_t dst_stride, event_t event);
12846 event_t __ovld async_work_group_strided_copy(__global int *dst, const __local int *src, size_t num_elements, size_t dst_stride, event_t event);
12847 event_t __ovld async_work_group_strided_copy(__global uint *dst, const __local uint *src, size_t num_elements, size_t dst_stride, event_t event);
12848 event_t __ovld async_work_group_strided_copy(__global long *dst, const __local long *src, size_t num_elements, size_t dst_stride, event_t event);
12849 event_t __ovld async_work_group_strided_copy(__global ulong *dst, const __local ulong *src, size_t num_elements, size_t dst_stride, event_t event);
12850 event_t __ovld async_work_group_strided_copy(__global float *dst, const __local float *src, size_t num_elements, size_t dst_stride, event_t event);
12851 event_t __ovld async_work_group_strided_copy(__global char2 *dst, const __local char2 *src, size_t num_elements, size_t dst_stride, event_t event);
12852 event_t __ovld async_work_group_strided_copy(__global uchar2 *dst, const __local uchar2 *src, size_t num_elements, size_t dst_stride, event_t event);
12853 event_t __ovld async_work_group_strided_copy(__global short2 *dst, const __local short2 *src, size_t num_elements, size_t dst_stride, event_t event);
12854 event_t __ovld async_work_group_strided_copy(__global ushort2 *dst, const __local ushort2 *src, size_t num_elements, size_t dst_stride, event_t event);
12855 event_t __ovld async_work_group_strided_copy(__global int2 *dst, const __local int2 *src, size_t num_elements, size_t dst_stride, event_t event);
12856 event_t __ovld async_work_group_strided_copy(__global uint2 *dst, const __local uint2 *src, size_t num_elements, size_t dst_stride, event_t event);
12857 event_t __ovld async_work_group_strided_copy(__global long2 *dst, const __local long2 *src, size_t num_elements, size_t dst_stride, event_t event);
12858 event_t __ovld async_work_group_strided_copy(__global ulong2 *dst, const __local ulong2 *src, size_t num_elements, size_t dst_stride, event_t event);
12859 event_t __ovld async_work_group_strided_copy(__global float2 *dst, const __local float2 *src, size_t num_elements, size_t dst_stride, event_t event);
12860 event_t __ovld async_work_group_strided_copy(__global char3 *dst, const __local char3 *src, size_t num_elements, size_t dst_stride, event_t event);
12861 event_t __ovld async_work_group_strided_copy(__global uchar3 *dst, const __local uchar3 *src, size_t num_elements, size_t dst_stride, event_t event);
12862 event_t __ovld async_work_group_strided_copy(__global short3 *dst, const __local short3 *src, size_t num_elements, size_t dst_stride, event_t event);
12863 event_t __ovld async_work_group_strided_copy(__global ushort3 *dst, const __local ushort3 *src, size_t num_elements, size_t dst_stride, event_t event);
12864 event_t __ovld async_work_group_strided_copy(__global int3 *dst, const __local int3 *src, size_t num_elements, size_t dst_stride, event_t event);
12865 event_t __ovld async_work_group_strided_copy(__global uint3 *dst, const __local uint3 *src, size_t num_elements, size_t dst_stride, event_t event);
12866 event_t __ovld async_work_group_strided_copy(__global long3 *dst, const __local long3 *src, size_t num_elements, size_t dst_stride, event_t event);
12867 event_t __ovld async_work_group_strided_copy(__global ulong3 *dst, const __local ulong3 *src, size_t num_elements, size_t dst_stride, event_t event);
12868 event_t __ovld async_work_group_strided_copy(__global float3 *dst, const __local float3 *src, size_t num_elements, size_t dst_stride, event_t event);
12869 event_t __ovld async_work_group_strided_copy(__global char4 *dst, const __local char4 *src, size_t num_elements, size_t dst_stride, event_t event);
12870 event_t __ovld async_work_group_strided_copy(__global uchar4 *dst, const __local uchar4 *src, size_t num_elements, size_t dst_stride, event_t event);
12871 event_t __ovld async_work_group_strided_copy(__global short4 *dst, const __local short4 *src, size_t num_elements, size_t dst_stride, event_t event);
12872 event_t __ovld async_work_group_strided_copy(__global ushort4 *dst, const __local ushort4 *src, size_t num_elements, size_t dst_stride, event_t event);
12873 event_t __ovld async_work_group_strided_copy(__global int4 *dst, const __local int4 *src, size_t num_elements, size_t dst_stride, event_t event);
12874 event_t __ovld async_work_group_strided_copy(__global uint4 *dst, const __local uint4 *src, size_t num_elements, size_t dst_stride, event_t event);
12875 event_t __ovld async_work_group_strided_copy(__global long4 *dst, const __local long4 *src, size_t num_elements, size_t dst_stride, event_t event);
12876 event_t __ovld async_work_group_strided_copy(__global ulong4 *dst, const __local ulong4 *src, size_t num_elements, size_t dst_stride, event_t event);
12877 event_t __ovld async_work_group_strided_copy(__global float4 *dst, const __local float4 *src, size_t num_elements, size_t dst_stride, event_t event);
12878 event_t __ovld async_work_group_strided_copy(__global char8 *dst, const __local char8 *src, size_t num_elements, size_t dst_stride, event_t event);
12879 event_t __ovld async_work_group_strided_copy(__global uchar8 *dst, const __local uchar8 *src, size_t num_elements, size_t dst_stride, event_t event);
12880 event_t __ovld async_work_group_strided_copy(__global short8 *dst, const __local short8 *src, size_t num_elements, size_t dst_stride, event_t event);
12881 event_t __ovld async_work_group_strided_copy(__global ushort8 *dst, const __local ushort8 *src, size_t num_elements, size_t dst_stride, event_t event);
12882 event_t __ovld async_work_group_strided_copy(__global int8 *dst, const __local int8 *src, size_t num_elements, size_t dst_stride, event_t event);
12883 event_t __ovld async_work_group_strided_copy(__global uint8 *dst, const __local uint8 *src, size_t num_elements, size_t dst_stride, event_t event);
12884 event_t __ovld async_work_group_strided_copy(__global long8 *dst, const __local long8 *src, size_t num_elements, size_t dst_stride, event_t event);
12885 event_t __ovld async_work_group_strided_copy(__global ulong8 *dst, const __local ulong8 *src, size_t num_elements, size_t dst_stride, event_t event);
12886 event_t __ovld async_work_group_strided_copy(__global float8 *dst, const __local float8 *src, size_t num_elements, size_t dst_stride, event_t event);
12887 event_t __ovld async_work_group_strided_copy(__global char16 *dst, const __local char16 *src, size_t num_elements, size_t dst_stride, event_t event);
12888 event_t __ovld async_work_group_strided_copy(__global uchar16 *dst, const __local uchar16 *src, size_t num_elements, size_t dst_stride, event_t event);
12889 event_t __ovld async_work_group_strided_copy(__global short16 *dst, const __local short16 *src, size_t num_elements, size_t dst_stride, event_t event);
12890 event_t __ovld async_work_group_strided_copy(__global ushort16 *dst, const __local ushort16 *src, size_t num_elements, size_t dst_stride, event_t event);
12891 event_t __ovld async_work_group_strided_copy(__global int16 *dst, const __local int16 *src, size_t num_elements, size_t dst_stride, event_t event);
12892 event_t __ovld async_work_group_strided_copy(__global uint16 *dst, const __local uint16 *src, size_t num_elements, size_t dst_stride, event_t event);
12893 event_t __ovld async_work_group_strided_copy(__global long16 *dst, const __local long16 *src, size_t num_elements, size_t dst_stride, event_t event);
12894 event_t __ovld async_work_group_strided_copy(__global ulong16 *dst, const __local ulong16 *src, size_t num_elements, size_t dst_stride, event_t event);
12895 event_t __ovld async_work_group_strided_copy(__global float16 *dst, const __local float16 *src, size_t num_elements, size_t dst_stride, event_t event);
12896 #ifdef cl_khr_fp64
12897 event_t __ovld async_work_group_strided_copy(__local double *dst, const __global double *src, size_t num_elements, size_t src_stride, event_t event);
12898 event_t __ovld async_work_group_strided_copy(__local double2 *dst, const __global double2 *src, size_t num_elements, size_t src_stride, event_t event);
12899 event_t __ovld async_work_group_strided_copy(__local double3 *dst, const __global double3 *src, size_t num_elements, size_t src_stride, event_t event);
12900 event_t __ovld async_work_group_strided_copy(__local double4 *dst, const __global double4 *src, size_t num_elements, size_t src_stride, event_t event);
12901 event_t __ovld async_work_group_strided_copy(__local double8 *dst, const __global double8 *src, size_t num_elements, size_t src_stride, event_t event);
12902 event_t __ovld async_work_group_strided_copy(__local double16 *dst, const __global double16 *src, size_t num_elements, size_t src_stride, event_t event);
12903 event_t __ovld async_work_group_strided_copy(__global double *dst, const __local double *src, size_t num_elements, size_t dst_stride, event_t event);
12904 event_t __ovld async_work_group_strided_copy(__global double2 *dst, const __local double2 *src, size_t num_elements, size_t dst_stride, event_t event);
12905 event_t __ovld async_work_group_strided_copy(__global double3 *dst, const __local double3 *src, size_t num_elements, size_t dst_stride, event_t event);
12906 event_t __ovld async_work_group_strided_copy(__global double4 *dst, const __local double4 *src, size_t num_elements, size_t dst_stride, event_t event);
12907 event_t __ovld async_work_group_strided_copy(__global double8 *dst, const __local double8 *src, size_t num_elements, size_t dst_stride, event_t event);
12908 event_t __ovld async_work_group_strided_copy(__global double16 *dst, const __local double16 *src, size_t num_elements, size_t dst_stride, event_t event);
12909 #endif //cl_khr_fp64
12910 #ifdef cl_khr_fp16
12911 event_t __ovld async_work_group_strided_copy(__local half *dst, const __global half *src, size_t num_elements, size_t src_stride, event_t event);
12912 event_t __ovld async_work_group_strided_copy(__local half2 *dst, const __global half2 *src, size_t num_elements, size_t src_stride, event_t event);
12913 event_t __ovld async_work_group_strided_copy(__local half3 *dst, const __global half3 *src, size_t num_elements, size_t src_stride, event_t event);
12914 event_t __ovld async_work_group_strided_copy(__local half4 *dst, const __global half4 *src, size_t num_elements, size_t src_stride, event_t event);
12915 event_t __ovld async_work_group_strided_copy(__local half8 *dst, const __global half8 *src, size_t num_elements, size_t src_stride, event_t event);
12916 event_t __ovld async_work_group_strided_copy(__local half16 *dst, const __global half16 *src, size_t num_elements, size_t src_stride, event_t event);
12917 event_t __ovld async_work_group_strided_copy(__global half *dst, const __local half *src, size_t num_elements, size_t dst_stride, event_t event);
12918 event_t __ovld async_work_group_strided_copy(__global half2 *dst, const __local half2 *src, size_t num_elements, size_t dst_stride, event_t event);
12919 event_t __ovld async_work_group_strided_copy(__global half3 *dst, const __local half3 *src, size_t num_elements, size_t dst_stride, event_t event);
12920 event_t __ovld async_work_group_strided_copy(__global half4 *dst, const __local half4 *src, size_t num_elements, size_t dst_stride, event_t event);
12921 event_t __ovld async_work_group_strided_copy(__global half8 *dst, const __local half8 *src, size_t num_elements, size_t dst_stride, event_t event);
12922 event_t __ovld async_work_group_strided_copy(__global half16 *dst, const __local half16 *src, size_t num_elements, size_t dst_stride, event_t event);
12923 #endif //cl_khr_fp16
12924
12925 /**
12926  * Wait for events that identify the
12927  * async_work_group_copy operations to
12928  * complete. The event objects specified in
12929  * event_list will be released after the wait is
12930  * performed.
12931  * This function must be encountered by all workitems
12932  * in a work-group executing the kernel with
12933  * the same num_events and event objects specified
12934  * in event_list; otherwise the results are undefined.
12935  */
12936 void __ovld wait_group_events(int num_events, event_t *event_list);
12937
12938 /**
12939  * Prefetch num_elements * sizeof(gentype)
12940  * bytes into the global cache. The prefetch
12941  * instruction is applied to a work-item in a workgroup
12942  * and does not affect the functional
12943  * behavior of the kernel.
12944  */
12945 void __ovld prefetch(const __global char *p, size_t num_elements);
12946 void __ovld prefetch(const __global uchar *p, size_t num_elements);
12947 void __ovld prefetch(const __global short *p, size_t num_elements);
12948 void __ovld prefetch(const __global ushort *p, size_t num_elements);
12949 void __ovld prefetch(const __global int *p, size_t num_elements);
12950 void __ovld prefetch(const __global uint *p, size_t num_elements);
12951 void __ovld prefetch(const __global long *p, size_t num_elements);
12952 void __ovld prefetch(const __global ulong *p, size_t num_elements);
12953 void __ovld prefetch(const __global float *p, size_t num_elements);
12954 void __ovld prefetch(const __global char2 *p, size_t num_elements);
12955 void __ovld prefetch(const __global uchar2 *p, size_t num_elements);
12956 void __ovld prefetch(const __global short2 *p, size_t num_elements);
12957 void __ovld prefetch(const __global ushort2 *p, size_t num_elements);
12958 void __ovld prefetch(const __global int2 *p, size_t num_elements);
12959 void __ovld prefetch(const __global uint2 *p, size_t num_elements);
12960 void __ovld prefetch(const __global long2 *p, size_t num_elements);
12961 void __ovld prefetch(const __global ulong2 *p, size_t num_elements);
12962 void __ovld prefetch(const __global float2 *p, size_t num_elements);
12963 void __ovld prefetch(const __global char3 *p, size_t num_elements);
12964 void __ovld prefetch(const __global uchar3 *p, size_t num_elements);
12965 void __ovld prefetch(const __global short3 *p, size_t num_elements);
12966 void __ovld prefetch(const __global ushort3 *p, size_t num_elements);
12967 void __ovld prefetch(const __global int3 *p, size_t num_elements);
12968 void __ovld prefetch(const __global uint3 *p, size_t num_elements);
12969 void __ovld prefetch(const __global long3 *p, size_t num_elements);
12970 void __ovld prefetch(const __global ulong3 *p, size_t num_elements);
12971 void __ovld prefetch(const __global float3 *p, size_t num_elements);
12972 void __ovld prefetch(const __global char4 *p, size_t num_elements);
12973 void __ovld prefetch(const __global uchar4 *p, size_t num_elements);
12974 void __ovld prefetch(const __global short4 *p, size_t num_elements);
12975 void __ovld prefetch(const __global ushort4 *p, size_t num_elements);
12976 void __ovld prefetch(const __global int4 *p, size_t num_elements);
12977 void __ovld prefetch(const __global uint4 *p, size_t num_elements);
12978 void __ovld prefetch(const __global long4 *p, size_t num_elements);
12979 void __ovld prefetch(const __global ulong4 *p, size_t num_elements);
12980 void __ovld prefetch(const __global float4 *p, size_t num_elements);
12981 void __ovld prefetch(const __global char8 *p, size_t num_elements);
12982 void __ovld prefetch(const __global uchar8 *p, size_t num_elements);
12983 void __ovld prefetch(const __global short8 *p, size_t num_elements);
12984 void __ovld prefetch(const __global ushort8 *p, size_t num_elements);
12985 void __ovld prefetch(const __global int8 *p, size_t num_elements);
12986 void __ovld prefetch(const __global uint8 *p, size_t num_elements);
12987 void __ovld prefetch(const __global long8 *p, size_t num_elements);
12988 void __ovld prefetch(const __global ulong8 *p, size_t num_elements);
12989 void __ovld prefetch(const __global float8 *p, size_t num_elements);
12990 void __ovld prefetch(const __global char16 *p, size_t num_elements);
12991 void __ovld prefetch(const __global uchar16 *p, size_t num_elements);
12992 void __ovld prefetch(const __global short16 *p, size_t num_elements);
12993 void __ovld prefetch(const __global ushort16 *p, size_t num_elements);
12994 void __ovld prefetch(const __global int16 *p, size_t num_elements);
12995 void __ovld prefetch(const __global uint16 *p, size_t num_elements);
12996 void __ovld prefetch(const __global long16 *p, size_t num_elements);
12997 void __ovld prefetch(const __global ulong16 *p, size_t num_elements);
12998 void __ovld prefetch(const __global float16 *p, size_t num_elements);
12999 #ifdef cl_khr_fp64
13000 void __ovld prefetch(const __global double *p, size_t num_elements);
13001 void __ovld prefetch(const __global double2 *p, size_t num_elements);
13002 void __ovld prefetch(const __global double3 *p, size_t num_elements);
13003 void __ovld prefetch(const __global double4 *p, size_t num_elements);
13004 void __ovld prefetch(const __global double8 *p, size_t num_elements);
13005 void __ovld prefetch(const __global double16 *p, size_t num_elements);
13006 #endif //cl_khr_fp64
13007 #ifdef cl_khr_fp16
13008 void __ovld prefetch(const __global half *p, size_t num_elements);
13009 void __ovld prefetch(const __global half2 *p, size_t num_elements);
13010 void __ovld prefetch(const __global half3 *p, size_t num_elements);
13011 void __ovld prefetch(const __global half4 *p, size_t num_elements);
13012 void __ovld prefetch(const __global half8 *p, size_t num_elements);
13013 void __ovld prefetch(const __global half16 *p, size_t num_elements);
13014 #endif // cl_khr_fp16
13015
13016 // OpenCL v1.1 s6.11.1, v1.2 s6.12.11 - Atomic Functions
13017
13018 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13019 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
13020 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
13021 #endif
13022 /**
13023  * Read the 32-bit value (referred to as old)
13024  * stored at location pointed by p. Compute
13025  * (old + val) and store result at location
13026  * pointed by p. The function returns old.
13027  */
13028 int __ovld atomic_add(volatile __global int *p, int val);
13029 unsigned int __ovld atomic_add(volatile __global unsigned int *p, unsigned int val);
13030 int __ovld atomic_add(volatile __local int *p, int val);
13031 unsigned int __ovld atomic_add(volatile __local unsigned int *p, unsigned int val);
13032 #ifdef __OPENCL_CPP_VERSION__
13033 int __ovld atomic_add(volatile int *p, int val);
13034 unsigned int __ovld atomic_add(volatile unsigned int *p, unsigned int val);
13035 #endif
13036
13037 #if defined(cl_khr_global_int32_base_atomics)
13038 int __ovld atom_add(volatile __global int *p, int val);
13039 unsigned int __ovld atom_add(volatile __global unsigned int *p, unsigned int val);
13040 #endif
13041 #if defined(cl_khr_local_int32_base_atomics)
13042 int __ovld atom_add(volatile __local int *p, int val);
13043 unsigned int __ovld atom_add(volatile __local unsigned int *p, unsigned int val);
13044 #endif
13045
13046 #if defined(cl_khr_int64_base_atomics)
13047 long __ovld atom_add(volatile __global long *p, long val);
13048 unsigned long __ovld atom_add(volatile __global unsigned long *p, unsigned long val);
13049 long __ovld atom_add(volatile __local long *p, long val);
13050 unsigned long __ovld atom_add(volatile __local unsigned long *p, unsigned long val);
13051 #endif
13052
13053 /**
13054  * Read the 32-bit value (referred to as old) stored at location pointed by p.
13055  * Compute (old - val) and store result at location pointed by p. The function
13056  * returns old.
13057  */
13058 int __ovld atomic_sub(volatile __global int *p, int val);
13059 unsigned int __ovld atomic_sub(volatile __global unsigned int *p, unsigned int val);
13060 int __ovld atomic_sub(volatile __local int *p, int val);
13061 unsigned int __ovld atomic_sub(volatile __local unsigned int *p, unsigned int val);
13062 #ifdef __OPENCL_CPP_VERSION__
13063 int __ovld atomic_sub(volatile int *p, int val);
13064 unsigned int __ovld atomic_sub(volatile unsigned int *p, unsigned int val);
13065 #endif
13066
13067 #if defined(cl_khr_global_int32_base_atomics)
13068 int __ovld atom_sub(volatile __global int *p, int val);
13069 unsigned int __ovld atom_sub(volatile __global unsigned int *p, unsigned int val);
13070 #endif
13071 #if defined(cl_khr_local_int32_base_atomics)
13072 int __ovld atom_sub(volatile __local int *p, int val);
13073 unsigned int __ovld atom_sub(volatile __local unsigned int *p, unsigned int val);
13074 #endif
13075
13076 #if defined(cl_khr_int64_base_atomics)
13077 long __ovld atom_sub(volatile __global long *p, long val);
13078 unsigned long __ovld atom_sub(volatile __global unsigned long *p, unsigned long val);
13079 long __ovld atom_sub(volatile __local long *p, long val);
13080 unsigned long __ovld atom_sub(volatile __local unsigned long *p, unsigned long val);
13081 #endif
13082
13083 /**
13084  * Swaps the old value stored at location p
13085  * with new value given by val. Returns old
13086  * value.
13087  */
13088 int __ovld atomic_xchg(volatile __global int *p, int val);
13089 unsigned int __ovld atomic_xchg(volatile __global unsigned int *p, unsigned int val);
13090 int __ovld atomic_xchg(volatile __local int *p, int val);
13091 unsigned int __ovld atomic_xchg(volatile __local unsigned int *p, unsigned int val);
13092 float __ovld atomic_xchg(volatile __global float *p, float val);
13093 float __ovld atomic_xchg(volatile __local float *p, float val);
13094 #ifdef __OPENCL_CPP_VERSION__
13095 int __ovld atomic_xchg(volatile int *p, int val);
13096 unsigned int __ovld atomic_xchg(volatile unsigned int *p, unsigned int val);
13097 float __ovld atomic_xchg(volatile float *p, float val);
13098 #endif
13099
13100 #if defined(cl_khr_global_int32_base_atomics)
13101 int __ovld atom_xchg(volatile __global int *p, int val);
13102 unsigned int __ovld atom_xchg(volatile __global unsigned int *p, unsigned int val);
13103 #endif
13104 #if defined(cl_khr_local_int32_base_atomics)
13105 int __ovld atom_xchg(volatile __local int *p, int val);
13106 unsigned int __ovld atom_xchg(volatile __local unsigned int *p, unsigned int val);
13107 #endif
13108
13109 #if defined(cl_khr_int64_base_atomics)
13110 long __ovld atom_xchg(volatile __global long *p, long val);
13111 long __ovld atom_xchg(volatile __local long *p, long val);
13112 unsigned long __ovld atom_xchg(volatile __global unsigned long *p, unsigned long val);
13113 unsigned long __ovld atom_xchg(volatile __local unsigned long *p, unsigned long val);
13114 #endif
13115
13116 /**
13117  * Read the 32-bit value (referred to as old)
13118  * stored at location pointed by p. Compute
13119  * (old + 1) and store result at location
13120  * pointed by p. The function returns old.
13121  */
13122 int __ovld atomic_inc(volatile __global int *p);
13123 unsigned int __ovld atomic_inc(volatile __global unsigned int *p);
13124 int __ovld atomic_inc(volatile __local int *p);
13125 unsigned int __ovld atomic_inc(volatile __local unsigned int *p);
13126 #ifdef __OPENCL_CPP_VERSION__
13127 int __ovld atomic_inc(volatile int *p);
13128 unsigned int __ovld atomic_inc(volatile unsigned int *p);
13129 #endif
13130
13131 #if defined(cl_khr_global_int32_base_atomics)
13132 int __ovld atom_inc(volatile __global int *p);
13133 unsigned int __ovld atom_inc(volatile __global unsigned int *p);
13134 #endif
13135 #if defined(cl_khr_local_int32_base_atomics)
13136 int __ovld atom_inc(volatile __local int *p);
13137 unsigned int __ovld atom_inc(volatile __local unsigned int *p);
13138 #endif
13139
13140 #if defined(cl_khr_int64_base_atomics)
13141 long __ovld atom_inc(volatile __global long *p);
13142 unsigned long __ovld atom_inc(volatile __global unsigned long *p);
13143 long __ovld atom_inc(volatile __local long *p);
13144 unsigned long __ovld atom_inc(volatile __local unsigned long *p);
13145 #endif
13146
13147 /**
13148  * Read the 32-bit value (referred to as old)
13149  * stored at location pointed by p. Compute
13150  * (old - 1) and store result at location
13151  * pointed by p. The function returns old.
13152  */
13153 int __ovld atomic_dec(volatile __global int *p);
13154 unsigned int __ovld atomic_dec(volatile __global unsigned int *p);
13155 int __ovld atomic_dec(volatile __local int *p);
13156 unsigned int __ovld atomic_dec(volatile __local unsigned int *p);
13157 #ifdef __OPENCL_CPP_VERSION__
13158 int __ovld atomic_dec(volatile int *p);
13159 unsigned int __ovld atomic_dec(volatile unsigned int *p);
13160 #endif
13161
13162 #if defined(cl_khr_global_int32_base_atomics)
13163 int __ovld atom_dec(volatile __global int *p);
13164 unsigned int __ovld atom_dec(volatile __global unsigned int *p);
13165 #endif
13166 #if defined(cl_khr_local_int32_base_atomics)
13167 int __ovld atom_dec(volatile __local int *p);
13168 unsigned int __ovld atom_dec(volatile __local unsigned int *p);
13169 #endif
13170
13171 #if defined(cl_khr_int64_base_atomics)
13172 long __ovld atom_dec(volatile __global long *p);
13173 unsigned long __ovld atom_dec(volatile __global unsigned long *p);
13174 long __ovld atom_dec(volatile __local long *p);
13175 unsigned long __ovld atom_dec(volatile __local unsigned long *p);
13176 #endif
13177
13178 /**
13179  * Read the 32-bit value (referred to as old)
13180  * stored at location pointed by p. Compute
13181  * (old == cmp) ? val : old and store result at
13182  * location pointed by p. The function
13183  * returns old.
13184  */
13185 int __ovld atomic_cmpxchg(volatile __global int *p, int cmp, int val);
13186 unsigned int __ovld atomic_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
13187 int __ovld atomic_cmpxchg(volatile __local int *p, int cmp, int val);
13188 unsigned int __ovld atomic_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
13189 #ifdef __OPENCL_CPP_VERSION__
13190 int __ovld atomic_cmpxchg(volatile int *p, int cmp, int val);
13191 unsigned int __ovld atomic_cmpxchg(volatile unsigned int *p, unsigned int cmp, unsigned int val);
13192 #endif
13193
13194 #if defined(cl_khr_global_int32_base_atomics)
13195 int __ovld atom_cmpxchg(volatile __global int *p, int cmp, int val);
13196 unsigned int __ovld atom_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
13197 #endif
13198 #if defined(cl_khr_local_int32_base_atomics)
13199 int __ovld atom_cmpxchg(volatile __local int *p, int cmp, int val);
13200 unsigned int __ovld atom_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
13201 #endif
13202
13203 #if defined(cl_khr_int64_base_atomics)
13204 long __ovld atom_cmpxchg(volatile __global long *p, long cmp, long val);
13205 unsigned long __ovld atom_cmpxchg(volatile __global unsigned long *p, unsigned long cmp, unsigned long val);
13206 long __ovld atom_cmpxchg(volatile __local long *p, long cmp, long val);
13207 unsigned long __ovld atom_cmpxchg(volatile __local unsigned long *p, unsigned long cmp, unsigned long val);
13208 #endif
13209
13210 /**
13211  * Read the 32-bit value (referred to as old)
13212  * stored at location pointed by p. Compute
13213  * min(old, val) and store minimum value at
13214  * location pointed by p. The function
13215  * returns old.
13216  */
13217 int __ovld atomic_min(volatile __global int *p, int val);
13218 unsigned int __ovld atomic_min(volatile __global unsigned int *p, unsigned int val);
13219 int __ovld atomic_min(volatile __local int *p, int val);
13220 unsigned int __ovld atomic_min(volatile __local unsigned int *p, unsigned int val);
13221 #ifdef __OPENCL_CPP_VERSION__
13222 int __ovld atomic_min(volatile int *p, int val);
13223 unsigned int __ovld atomic_min(volatile unsigned int *p, unsigned int val);
13224 #endif
13225
13226 #if defined(cl_khr_global_int32_extended_atomics)
13227 int __ovld atom_min(volatile __global int *p, int val);
13228 unsigned int __ovld atom_min(volatile __global unsigned int *p, unsigned int val);
13229 #endif
13230 #if defined(cl_khr_local_int32_extended_atomics)
13231 int __ovld atom_min(volatile __local int *p, int val);
13232 unsigned int __ovld atom_min(volatile __local unsigned int *p, unsigned int val);
13233 #endif
13234
13235 #if defined(cl_khr_int64_extended_atomics)
13236 long __ovld atom_min(volatile __global long *p, long val);
13237 unsigned long __ovld atom_min(volatile __global unsigned long *p, unsigned long val);
13238 long __ovld atom_min(volatile __local long *p, long val);
13239 unsigned long __ovld atom_min(volatile __local unsigned long *p, unsigned long val);
13240 #endif
13241
13242 /**
13243  * Read the 32-bit value (referred to as old)
13244  * stored at location pointed by p. Compute
13245  * max(old, val) and store maximum value at
13246  * location pointed by p. The function
13247  * returns old.
13248  */
13249 int __ovld atomic_max(volatile __global int *p, int val);
13250 unsigned int __ovld atomic_max(volatile __global unsigned int *p, unsigned int val);
13251 int __ovld atomic_max(volatile __local int *p, int val);
13252 unsigned int __ovld atomic_max(volatile __local unsigned int *p, unsigned int val);
13253 #ifdef __OPENCL_CPP_VERSION__
13254 int __ovld atomic_max(volatile int *p, int val);
13255 unsigned int __ovld atomic_max(volatile unsigned int *p, unsigned int val);
13256 #endif
13257
13258 #if defined(cl_khr_global_int32_extended_atomics)
13259 int __ovld atom_max(volatile __global int *p, int val);
13260 unsigned int __ovld atom_max(volatile __global unsigned int *p, unsigned int val);
13261 #endif
13262 #if defined(cl_khr_local_int32_extended_atomics)
13263 int __ovld atom_max(volatile __local int *p, int val);
13264 unsigned int __ovld atom_max(volatile __local unsigned int *p, unsigned int val);
13265 #endif
13266
13267 #if defined(cl_khr_int64_extended_atomics)
13268 long __ovld atom_max(volatile __global long *p, long val);
13269 unsigned long __ovld atom_max(volatile __global unsigned long *p, unsigned long val);
13270 long __ovld atom_max(volatile __local long *p, long val);
13271 unsigned long __ovld atom_max(volatile __local unsigned long *p, unsigned long val);
13272 #endif
13273
13274 /**
13275  * Read the 32-bit value (referred to as old)
13276  * stored at location pointed by p. Compute
13277  * (old & val) and store result at location
13278  * pointed by p. The function returns old.
13279  */
13280 int __ovld atomic_and(volatile __global int *p, int val);
13281 unsigned int __ovld atomic_and(volatile __global unsigned int *p, unsigned int val);
13282 int __ovld atomic_and(volatile __local int *p, int val);
13283 unsigned int __ovld atomic_and(volatile __local unsigned int *p, unsigned int val);
13284 #ifdef __OPENCL_CPP_VERSION__
13285 int __ovld atomic_and(volatile int *p, int val);
13286 unsigned int __ovld atomic_and(volatile unsigned int *p, unsigned int val);
13287 #endif
13288
13289 #if defined(cl_khr_global_int32_extended_atomics)
13290 int __ovld atom_and(volatile __global int *p, int val);
13291 unsigned int __ovld atom_and(volatile __global unsigned int *p, unsigned int val);
13292 #endif
13293 #if defined(cl_khr_local_int32_extended_atomics)
13294 int __ovld atom_and(volatile __local int *p, int val);
13295 unsigned int __ovld atom_and(volatile __local unsigned int *p, unsigned int val);
13296 #endif
13297
13298 #if defined(cl_khr_int64_extended_atomics)
13299 long __ovld atom_and(volatile __global long *p, long val);
13300 unsigned long __ovld atom_and(volatile __global unsigned long *p, unsigned long val);
13301 long __ovld atom_and(volatile __local long *p, long val);
13302 unsigned long __ovld atom_and(volatile __local unsigned long *p, unsigned long val);
13303 #endif
13304
13305 /**
13306  * Read the 32-bit value (referred to as old)
13307  * stored at location pointed by p. Compute
13308  * (old | val) and store result at location
13309  * pointed by p. The function returns old.
13310  */
13311 int __ovld atomic_or(volatile __global int *p, int val);
13312 unsigned int __ovld atomic_or(volatile __global unsigned int *p, unsigned int val);
13313 int __ovld atomic_or(volatile __local int *p, int val);
13314 unsigned int __ovld atomic_or(volatile __local unsigned int *p, unsigned int val);
13315 #ifdef __OPENCL_CPP_VERSION__
13316 int __ovld atomic_or(volatile int *p, int val);
13317 unsigned int __ovld atomic_or(volatile unsigned int *p, unsigned int val);
13318 #endif
13319
13320 #if defined(cl_khr_global_int32_extended_atomics)
13321 int __ovld atom_or(volatile __global int *p, int val);
13322 unsigned int __ovld atom_or(volatile __global unsigned int *p, unsigned int val);
13323 #endif
13324 #if defined(cl_khr_local_int32_extended_atomics)
13325 int __ovld atom_or(volatile __local int *p, int val);
13326 unsigned int __ovld atom_or(volatile __local unsigned int *p, unsigned int val);
13327 #endif
13328
13329 #if defined(cl_khr_int64_extended_atomics)
13330 long __ovld atom_or(volatile __global long *p, long val);
13331 unsigned long __ovld atom_or(volatile __global unsigned long *p, unsigned long val);
13332 long __ovld atom_or(volatile __local long *p, long val);
13333 unsigned long __ovld atom_or(volatile __local unsigned long *p, unsigned long val);
13334 #endif
13335
13336 /**
13337  * Read the 32-bit value (referred to as old)
13338  * stored at location pointed by p. Compute
13339  * (old ^ val) and store result at location
13340  * pointed by p. The function returns old.
13341  */
13342 int __ovld atomic_xor(volatile __global int *p, int val);
13343 unsigned int __ovld atomic_xor(volatile __global unsigned int *p, unsigned int val);
13344 int __ovld atomic_xor(volatile __local int *p, int val);
13345 unsigned int __ovld atomic_xor(volatile __local unsigned int *p, unsigned int val);
13346 #ifdef __OPENCL_CPP_VERSION__
13347 int __ovld atomic_xor(volatile int *p, int val);
13348 unsigned int __ovld atomic_xor(volatile unsigned int *p, unsigned int val);
13349 #endif
13350
13351 #if defined(cl_khr_global_int32_extended_atomics)
13352 int __ovld atom_xor(volatile __global int *p, int val);
13353 unsigned int __ovld atom_xor(volatile __global unsigned int *p, unsigned int val);
13354 #endif
13355 #if defined(cl_khr_local_int32_extended_atomics)
13356 int __ovld atom_xor(volatile __local int *p, int val);
13357 unsigned int __ovld atom_xor(volatile __local unsigned int *p, unsigned int val);
13358 #endif
13359
13360 #if defined(cl_khr_int64_extended_atomics)
13361 long __ovld atom_xor(volatile __global long *p, long val);
13362 unsigned long __ovld atom_xor(volatile __global unsigned long *p, unsigned long val);
13363 long __ovld atom_xor(volatile __local long *p, long val);
13364 unsigned long __ovld atom_xor(volatile __local unsigned long *p, unsigned long val);
13365 #endif
13366
13367 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13368 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : disable
13369 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : disable
13370 #endif
13371
13372 // OpenCL v2.0 s6.13.11 - Atomics Functions
13373
13374 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
13375
13376 // double atomics support requires extensions cl_khr_int64_base_atomics and cl_khr_int64_extended_atomics
13377 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13378 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
13379 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
13380 #endif
13381
13382 // atomic_init()
13383 void __ovld atomic_init(volatile atomic_int *object, int value);
13384 void __ovld atomic_init(volatile atomic_uint *object, uint value);
13385 void __ovld atomic_init(volatile atomic_float *object, float value);
13386 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13387 void __ovld atomic_init(volatile atomic_long *object, long value);
13388 void __ovld atomic_init(volatile atomic_ulong *object, ulong value);
13389 #ifdef cl_khr_fp64
13390 void __ovld atomic_init(volatile atomic_double *object, double value);
13391 #endif //cl_khr_fp64
13392 #endif
13393
13394 // atomic_work_item_fence()
13395 void __ovld atomic_work_item_fence(cl_mem_fence_flags flags, memory_order order, memory_scope scope);
13396
13397 // atomic_fetch()
13398
13399 int __ovld atomic_fetch_add(volatile atomic_int *object, int operand);
13400 int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order);
13401 int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13402 uint __ovld atomic_fetch_add(volatile atomic_uint *object, uint operand);
13403 uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13404 uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13405 int __ovld atomic_fetch_sub(volatile atomic_int *object, int operand);
13406 int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order);
13407 int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13408 uint __ovld atomic_fetch_sub(volatile atomic_uint *object, uint operand);
13409 uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13410 uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13411 int __ovld atomic_fetch_or(volatile atomic_int *object, int operand);
13412 int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order);
13413 int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13414 uint __ovld atomic_fetch_or(volatile atomic_uint *object, uint operand);
13415 uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13416 uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13417 int __ovld atomic_fetch_xor(volatile atomic_int *object, int operand);
13418 int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order);
13419 int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13420 uint __ovld atomic_fetch_xor(volatile atomic_uint *object, uint operand);
13421 uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13422 uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13423 int __ovld atomic_fetch_and(volatile atomic_int *object, int operand);
13424 int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order);
13425 int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13426 uint __ovld atomic_fetch_and(volatile atomic_uint *object, uint operand);
13427 uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13428 uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13429 int __ovld atomic_fetch_min(volatile atomic_int *object, int operand);
13430 int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order);
13431 int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13432 uint __ovld atomic_fetch_min(volatile atomic_uint *object, uint operand);
13433 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13434 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13435 uint __ovld atomic_fetch_min(volatile atomic_uint *object, int operand);
13436 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, int operand, memory_order order);
13437 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, int operand, memory_order order, memory_scope scope);
13438 int __ovld atomic_fetch_max(volatile atomic_int *object, int operand);
13439 int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order);
13440 int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13441 uint __ovld atomic_fetch_max(volatile atomic_uint *object, uint operand);
13442 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13443 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13444 uint __ovld atomic_fetch_max(volatile atomic_uint *object, int operand);
13445 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, int operand, memory_order order);
13446 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, int operand, memory_order order, memory_scope scope);
13447
13448 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13449 long __ovld atomic_fetch_add(volatile atomic_long *object, long operand);
13450 long __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order);
13451 long __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13452 ulong __ovld atomic_fetch_add(volatile atomic_ulong *object, ulong operand);
13453 ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13454 ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13455 long __ovld atomic_fetch_sub(volatile atomic_long *object, long operand);
13456 long __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order);
13457 long __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13458 ulong __ovld atomic_fetch_sub(volatile atomic_ulong *object, ulong operand);
13459 ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13460 ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13461 long __ovld atomic_fetch_or(volatile atomic_long *object, long operand);
13462 long __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order);
13463 long __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13464 ulong __ovld atomic_fetch_or(volatile atomic_ulong *object, ulong operand);
13465 ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13466 ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13467 long __ovld atomic_fetch_xor(volatile atomic_long *object, long operand);
13468 long __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order);
13469 long __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13470 ulong __ovld atomic_fetch_xor(volatile atomic_ulong *object, ulong operand);
13471 ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13472 ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13473 long __ovld atomic_fetch_and(volatile atomic_long *object, long operand);
13474 long __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order);
13475 long __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13476 ulong __ovld atomic_fetch_and(volatile atomic_ulong *object, ulong operand);
13477 ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13478 ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13479 long __ovld atomic_fetch_min(volatile atomic_long *object, long operand);
13480 long __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order);
13481 long __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13482 ulong __ovld atomic_fetch_min(volatile atomic_ulong *object, ulong operand);
13483 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13484 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13485 ulong __ovld atomic_fetch_min(volatile atomic_ulong *object, long operand);
13486 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, long operand, memory_order order);
13487 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, long operand, memory_order order, memory_scope scope);
13488 long __ovld atomic_fetch_max(volatile atomic_long *object, long operand);
13489 long __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order);
13490 long __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13491 ulong __ovld atomic_fetch_max(volatile atomic_ulong *object, ulong operand);
13492 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13493 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13494 ulong __ovld atomic_fetch_max(volatile atomic_ulong *object, long operand);
13495 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, long operand, memory_order order);
13496 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, long operand, memory_order order, memory_scope scope);
13497 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13498
13499 // OpenCL v2.0 s6.13.11.7.5:
13500 // add/sub: atomic type argument can be uintptr_t/intptr_t, value type argument can be ptrdiff_t.
13501 // or/xor/and/min/max: atomic type argument can be intptr_t/uintptr_t, value type argument can be intptr_t/uintptr_t.
13502
13503 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13504 uintptr_t __ovld atomic_fetch_add(volatile atomic_uintptr_t *object, ptrdiff_t operand);
13505 uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
13506 uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
13507 uintptr_t __ovld atomic_fetch_sub(volatile atomic_uintptr_t *object, ptrdiff_t operand);
13508 uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
13509 uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
13510
13511 uintptr_t __ovld atomic_fetch_or(volatile atomic_uintptr_t *object, intptr_t operand);
13512 uintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
13513 uintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
13514 uintptr_t __ovld atomic_fetch_xor(volatile atomic_uintptr_t *object, intptr_t operand);
13515 uintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
13516 uintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
13517 uintptr_t __ovld atomic_fetch_and(volatile atomic_uintptr_t *object, intptr_t operand);
13518 uintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
13519 uintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
13520 uintptr_t __ovld atomic_fetch_min(volatile atomic_uintptr_t *object, intptr_t opermax);
13521 uintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
13522 uintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
13523 uintptr_t __ovld atomic_fetch_max(volatile atomic_uintptr_t *object, intptr_t opermax);
13524 uintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
13525 uintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
13526
13527 intptr_t __ovld atomic_fetch_or(volatile atomic_intptr_t *object, uintptr_t operand);
13528 intptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
13529 intptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
13530 intptr_t __ovld atomic_fetch_xor(volatile atomic_intptr_t *object, uintptr_t operand);
13531 intptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
13532 intptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
13533 intptr_t __ovld atomic_fetch_and(volatile atomic_intptr_t *object, uintptr_t operand);
13534 intptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
13535 intptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
13536 intptr_t __ovld atomic_fetch_min(volatile atomic_intptr_t *object, uintptr_t opermax);
13537 intptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
13538 intptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
13539 intptr_t __ovld atomic_fetch_max(volatile atomic_intptr_t *object, uintptr_t opermax);
13540 intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
13541 intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
13542 #endif
13543
13544 // atomic_store()
13545
13546 void __ovld atomic_store(volatile atomic_int *object, int desired);
13547 void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order);
13548 void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
13549 void __ovld atomic_store(volatile atomic_uint *object, uint desired);
13550 void __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order);
13551 void __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
13552 void __ovld atomic_store(volatile atomic_float *object, float desired);
13553 void __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order);
13554 void __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
13555 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13556 #ifdef cl_khr_fp64
13557 void __ovld atomic_store(volatile atomic_double *object, double desired);
13558 void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order);
13559 void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
13560 #endif //cl_khr_fp64
13561 void __ovld atomic_store(volatile atomic_long *object, long desired);
13562 void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order);
13563 void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
13564 void __ovld atomic_store(volatile atomic_ulong *object, ulong desired);
13565 void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
13566 void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
13567 #endif
13568
13569 // atomic_load()
13570
13571 int __ovld atomic_load(volatile atomic_int *object);
13572 int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order);
13573 int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order, memory_scope scope);
13574 uint __ovld atomic_load(volatile atomic_uint *object);
13575 uint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order);
13576 uint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order, memory_scope scope);
13577 float __ovld atomic_load(volatile atomic_float *object);
13578 float __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order);
13579 float __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order, memory_scope scope);
13580 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13581 #ifdef cl_khr_fp64
13582 double __ovld atomic_load(volatile atomic_double *object);
13583 double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order);
13584 double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order, memory_scope scope);
13585 #endif //cl_khr_fp64
13586 long __ovld atomic_load(volatile atomic_long *object);
13587 long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order);
13588 long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order, memory_scope scope);
13589 ulong __ovld atomic_load(volatile atomic_ulong *object);
13590 ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order);
13591 ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order, memory_scope scope);
13592 #endif
13593
13594 // atomic_exchange()
13595
13596 int __ovld atomic_exchange(volatile atomic_int *object, int desired);
13597 int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order);
13598 int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
13599 uint __ovld atomic_exchange(volatile atomic_uint *object, uint desired);
13600 uint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order);
13601 uint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
13602 float __ovld atomic_exchange(volatile atomic_float *object, float desired);
13603 float __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order);
13604 float __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
13605 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13606 #ifdef cl_khr_fp64
13607 double __ovld atomic_exchange(volatile atomic_double *object, double desired);
13608 double __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order);
13609 double __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
13610 #endif //cl_khr_fp64
13611 long __ovld atomic_exchange(volatile atomic_long *object, long desired);
13612 long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order);
13613 long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
13614 ulong __ovld atomic_exchange(volatile atomic_ulong *object, ulong desired);
13615 ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
13616 ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
13617 #endif
13618
13619 // atomic_compare_exchange_strong() and atomic_compare_exchange_weak()
13620
13621 bool __ovld atomic_compare_exchange_strong(volatile atomic_int *object, int *expected, int desired);
13622 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
13623                                                                                  int desired, memory_order success, memory_order failure);
13624 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
13625                                                                                  int desired, memory_order success, memory_order failure, memory_scope scope);
13626 bool __ovld atomic_compare_exchange_strong(volatile atomic_uint *object, uint *expected, uint desired);
13627 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
13628                                                                                  uint desired, memory_order success, memory_order failure);
13629 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
13630                                                                                  uint desired, memory_order success, memory_order failure, memory_scope scope);
13631 bool __ovld atomic_compare_exchange_weak(volatile atomic_int *object, int *expected, int desired);
13632 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
13633                                                                                  int desired, memory_order success, memory_order failure);
13634 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
13635                                                                                  int desired, memory_order success, memory_order failure, memory_scope scope);
13636 bool __ovld atomic_compare_exchange_weak(volatile atomic_uint *object, uint *expected, uint desired);
13637 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
13638                                                                                  uint desired, memory_order success, memory_order failure);
13639 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
13640                                                                                  uint desired, memory_order success, memory_order failure, memory_scope scope);
13641 bool __ovld atomic_compare_exchange_strong(volatile atomic_float *object, float *expected, float desired);
13642 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
13643                                                                                  float desired, memory_order success, memory_order failure);
13644 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
13645                                                                                  float desired, memory_order success, memory_order failure, memory_scope scope);
13646 bool __ovld atomic_compare_exchange_weak(volatile atomic_float *object, float *expected, float desired);
13647 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
13648                                                                                  float desired, memory_order success, memory_order failure);
13649 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
13650                                                                                  float desired, memory_order success, memory_order failure, memory_scope scope);
13651 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13652 #ifdef cl_khr_fp64
13653 bool __ovld atomic_compare_exchange_strong(volatile atomic_double *object, double *expected, double desired);
13654 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
13655                                                                                  double desired, memory_order success, memory_order failure);
13656 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
13657                                                                                  double desired, memory_order success, memory_order failure, memory_scope scope);
13658 bool __ovld atomic_compare_exchange_weak(volatile atomic_double *object, double *expected, double desired);
13659 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
13660                                                                                  double desired, memory_order success, memory_order failure);
13661 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
13662                                                                                  double desired, memory_order success, memory_order failure, memory_scope scope);
13663 #endif //cl_khr_fp64
13664 bool __ovld atomic_compare_exchange_strong(volatile atomic_long *object, long *expected, long desired);
13665 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
13666                                                                                  long desired, memory_order success, memory_order failure);
13667 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
13668                                                                                  long desired, memory_order success, memory_order failure, memory_scope scope);
13669 bool __ovld atomic_compare_exchange_weak(volatile atomic_long *object, long *expected, long desired);
13670 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
13671                                                                                  long desired, memory_order success, memory_order failure);
13672 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
13673                                                                                  long desired, memory_order success, memory_order failure, memory_scope scope);
13674 bool __ovld atomic_compare_exchange_strong(volatile atomic_ulong *object, ulong *expected, ulong desired);
13675 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
13676                                                                                  ulong desired, memory_order success, memory_order failure);
13677 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
13678                                                                                  ulong desired, memory_order success, memory_order failure, memory_scope scope);
13679 bool __ovld atomic_compare_exchange_weak(volatile atomic_ulong *object, ulong *expected, ulong desired);
13680 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
13681                                                                                  ulong desired, memory_order success, memory_order failure);
13682 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
13683                                                                                  ulong desired, memory_order success, memory_order failure, memory_scope scope);
13684 #endif
13685
13686 // atomic_flag_test_and_set() and atomic_flag_clear()
13687
13688 bool __ovld atomic_flag_test_and_set(volatile atomic_flag *object);
13689 bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order);
13690 bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
13691 void __ovld atomic_flag_clear(volatile atomic_flag *object);
13692 void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order);
13693 void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
13694
13695 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
13696
13697 // OpenCL v1.1 s6.11.12, v1.2 s6.12.12, v2.0 s6.13.12 - Miscellaneous Vector Functions
13698
13699 /**
13700  * The shuffle and shuffle2 built-in functions construct
13701  * a permutation of elements from one or two input
13702  * vectors respectively that are of the same type,
13703  * returning a vector with the same element type as the
13704  * input and length that is the same as the shuffle mask.
13705  * The size of each element in the mask must match the
13706  * size of each element in the result. For shuffle, only
13707  * the ilogb(2m-1) least significant bits of each mask
13708  * element are considered. For shuffle2, only the
13709  * ilogb(2m-1)+1 least significant bits of each mask
13710  * element are considered. Other bits in the mask shall
13711  * be ignored.
13712  * The elements of the input vectors are numbered from
13713  * left to right across one or both of the vectors. For this
13714  * purpose, the number of elements in a vector is given
13715  * by vec_step(gentypem). The shuffle mask operand
13716  * specifies, for each element of the result vector, which
13717  * element of the one or two input vectors the result
13718  * element gets.
13719  * Examples:
13720  * uint4 mask = (uint4)(3, 2,
13721  * 1, 0);
13722  * float4 a;
13723  * float4 r = shuffle(a, mask);
13724  * // r.s0123 = a.wzyx
13725  * uint8 mask = (uint8)(0, 1, 2, 3,
13726  * 4, 5, 6, 7);
13727  * float4 a, b;
13728  * float8 r = shuffle2(a, b, mask);
13729  * // r.s0123 = a.xyzw
13730  * // r.s4567 = b.xyzw
13731  * uint4 mask;
13732  * float8 a;
13733  * float4 b;
13734  * b = shuffle(a, mask);
13735  * Examples that are not valid are:
13736  * uint8 mask;
13737  * short16 a;
13738  * short8 b;
13739  * b = shuffle(a, mask); <- not valid
13740  */
13741 char2 __ovld __cnfn shuffle(char2 x, uchar2 mask);
13742 char2 __ovld __cnfn shuffle(char4 x, uchar2 mask);
13743 char2 __ovld __cnfn shuffle(char8 x, uchar2 mask);
13744 char2 __ovld __cnfn shuffle(char16 x, uchar2 mask);
13745
13746 uchar2 __ovld __cnfn shuffle(uchar2 x, uchar2 mask);
13747 uchar2 __ovld __cnfn shuffle(uchar4 x, uchar2 mask);
13748 uchar2 __ovld __cnfn shuffle(uchar8 x, uchar2 mask);
13749 uchar2 __ovld __cnfn shuffle(uchar16 x, uchar2 mask);
13750
13751 short2 __ovld __cnfn shuffle(short2 x, ushort2 mask);
13752 short2 __ovld __cnfn shuffle(short4 x, ushort2 mask);
13753 short2 __ovld __cnfn shuffle(short8 x, ushort2 mask);
13754 short2 __ovld __cnfn shuffle(short16 x, ushort2 mask);
13755
13756 ushort2 __ovld __cnfn shuffle(ushort2 x, ushort2 mask);
13757 ushort2 __ovld __cnfn shuffle(ushort4 x, ushort2 mask);
13758 ushort2 __ovld __cnfn shuffle(ushort8 x, ushort2 mask);
13759 ushort2 __ovld __cnfn shuffle(ushort16 x, ushort2 mask);
13760
13761 int2 __ovld __cnfn shuffle(int2 x, uint2 mask);
13762 int2 __ovld __cnfn shuffle(int4 x, uint2 mask);
13763 int2 __ovld __cnfn shuffle(int8 x, uint2 mask);
13764 int2 __ovld __cnfn shuffle(int16 x, uint2 mask);
13765
13766 uint2 __ovld __cnfn shuffle(uint2 x, uint2 mask);
13767 uint2 __ovld __cnfn shuffle(uint4 x, uint2 mask);
13768 uint2 __ovld __cnfn shuffle(uint8 x, uint2 mask);
13769 uint2 __ovld __cnfn shuffle(uint16 x, uint2 mask);
13770
13771 long2 __ovld __cnfn shuffle(long2 x, ulong2 mask);
13772 long2 __ovld __cnfn shuffle(long4 x, ulong2 mask);
13773 long2 __ovld __cnfn shuffle(long8 x, ulong2 mask);
13774 long2 __ovld __cnfn shuffle(long16 x, ulong2 mask);
13775
13776 ulong2 __ovld __cnfn shuffle(ulong2 x, ulong2 mask);
13777 ulong2 __ovld __cnfn shuffle(ulong4 x, ulong2 mask);
13778 ulong2 __ovld __cnfn shuffle(ulong8 x, ulong2 mask);
13779 ulong2 __ovld __cnfn shuffle(ulong16 x, ulong2 mask);
13780
13781 float2 __ovld __cnfn shuffle(float2 x, uint2 mask);
13782 float2 __ovld __cnfn shuffle(float4 x, uint2 mask);
13783 float2 __ovld __cnfn shuffle(float8 x, uint2 mask);
13784 float2 __ovld __cnfn shuffle(float16 x, uint2 mask);
13785
13786 char4 __ovld __cnfn shuffle(char2 x, uchar4 mask);
13787 char4 __ovld __cnfn shuffle(char4 x, uchar4 mask);
13788 char4 __ovld __cnfn shuffle(char8 x, uchar4 mask);
13789 char4 __ovld __cnfn shuffle(char16 x, uchar4 mask);
13790
13791 uchar4 __ovld __cnfn shuffle(uchar2 x, uchar4 mask);
13792 uchar4 __ovld __cnfn shuffle(uchar4 x, uchar4 mask);
13793 uchar4 __ovld __cnfn shuffle(uchar8 x, uchar4 mask);
13794 uchar4 __ovld __cnfn shuffle(uchar16 x, uchar4 mask);
13795
13796 short4 __ovld __cnfn shuffle(short2 x, ushort4 mask);
13797 short4 __ovld __cnfn shuffle(short4 x, ushort4 mask);
13798 short4 __ovld __cnfn shuffle(short8 x, ushort4 mask);
13799 short4 __ovld __cnfn shuffle(short16 x, ushort4 mask);
13800
13801 ushort4 __ovld __cnfn shuffle(ushort2 x, ushort4 mask);
13802 ushort4 __ovld __cnfn shuffle(ushort4 x, ushort4 mask);
13803 ushort4 __ovld __cnfn shuffle(ushort8 x, ushort4 mask);
13804 ushort4 __ovld __cnfn shuffle(ushort16 x, ushort4 mask);
13805
13806 int4 __ovld __cnfn shuffle(int2 x, uint4 mask);
13807 int4 __ovld __cnfn shuffle(int4 x, uint4 mask);
13808 int4 __ovld __cnfn shuffle(int8 x, uint4 mask);
13809 int4 __ovld __cnfn shuffle(int16 x, uint4 mask);
13810
13811 uint4 __ovld __cnfn shuffle(uint2 x, uint4 mask);
13812 uint4 __ovld __cnfn shuffle(uint4 x, uint4 mask);
13813 uint4 __ovld __cnfn shuffle(uint8 x, uint4 mask);
13814 uint4 __ovld __cnfn shuffle(uint16 x, uint4 mask);
13815
13816 long4 __ovld __cnfn shuffle(long2 x, ulong4 mask);
13817 long4 __ovld __cnfn shuffle(long4 x, ulong4 mask);
13818 long4 __ovld __cnfn shuffle(long8 x, ulong4 mask);
13819 long4 __ovld __cnfn shuffle(long16 x, ulong4 mask);
13820
13821 ulong4 __ovld __cnfn shuffle(ulong2 x, ulong4 mask);
13822 ulong4 __ovld __cnfn shuffle(ulong4 x, ulong4 mask);
13823 ulong4 __ovld __cnfn shuffle(ulong8 x, ulong4 mask);
13824 ulong4 __ovld __cnfn shuffle(ulong16 x, ulong4 mask);
13825
13826 float4 __ovld __cnfn shuffle(float2 x, uint4 mask);
13827 float4 __ovld __cnfn shuffle(float4 x, uint4 mask);
13828 float4 __ovld __cnfn shuffle(float8 x, uint4 mask);
13829 float4 __ovld __cnfn shuffle(float16 x, uint4 mask);
13830
13831 char8 __ovld __cnfn shuffle(char2 x, uchar8 mask);
13832 char8 __ovld __cnfn shuffle(char4 x, uchar8 mask);
13833 char8 __ovld __cnfn shuffle(char8 x, uchar8 mask);
13834 char8 __ovld __cnfn shuffle(char16 x, uchar8 mask);
13835
13836 uchar8 __ovld __cnfn shuffle(uchar2 x, uchar8 mask);
13837 uchar8 __ovld __cnfn shuffle(uchar4 x, uchar8 mask);
13838 uchar8 __ovld __cnfn shuffle(uchar8 x, uchar8 mask);
13839 uchar8 __ovld __cnfn shuffle(uchar16 x, uchar8 mask);
13840
13841 short8 __ovld __cnfn shuffle(short2 x, ushort8 mask);
13842 short8 __ovld __cnfn shuffle(short4 x, ushort8 mask);
13843 short8 __ovld __cnfn shuffle(short8 x, ushort8 mask);
13844 short8 __ovld __cnfn shuffle(short16 x, ushort8 mask);
13845
13846 ushort8 __ovld __cnfn shuffle(ushort2 x, ushort8 mask);
13847 ushort8 __ovld __cnfn shuffle(ushort4 x, ushort8 mask);
13848 ushort8 __ovld __cnfn shuffle(ushort8 x, ushort8 mask);
13849 ushort8 __ovld __cnfn shuffle(ushort16 x, ushort8 mask);
13850
13851 int8 __ovld __cnfn shuffle(int2 x, uint8 mask);
13852 int8 __ovld __cnfn shuffle(int4 x, uint8 mask);
13853 int8 __ovld __cnfn shuffle(int8 x, uint8 mask);
13854 int8 __ovld __cnfn shuffle(int16 x, uint8 mask);
13855
13856 uint8 __ovld __cnfn shuffle(uint2 x, uint8 mask);
13857 uint8 __ovld __cnfn shuffle(uint4 x, uint8 mask);
13858 uint8 __ovld __cnfn shuffle(uint8 x, uint8 mask);
13859 uint8 __ovld __cnfn shuffle(uint16 x, uint8 mask);
13860
13861 long8 __ovld __cnfn shuffle(long2 x, ulong8 mask);
13862 long8 __ovld __cnfn shuffle(long4 x, ulong8 mask);
13863 long8 __ovld __cnfn shuffle(long8 x, ulong8 mask);
13864 long8 __ovld __cnfn shuffle(long16 x, ulong8 mask);
13865
13866 ulong8 __ovld __cnfn shuffle(ulong2 x, ulong8 mask);
13867 ulong8 __ovld __cnfn shuffle(ulong4 x, ulong8 mask);
13868 ulong8 __ovld __cnfn shuffle(ulong8 x, ulong8 mask);
13869 ulong8 __ovld __cnfn shuffle(ulong16 x, ulong8 mask);
13870
13871 float8 __ovld __cnfn shuffle(float2 x, uint8 mask);
13872 float8 __ovld __cnfn shuffle(float4 x, uint8 mask);
13873 float8 __ovld __cnfn shuffle(float8 x, uint8 mask);
13874 float8 __ovld __cnfn shuffle(float16 x, uint8 mask);
13875
13876 char16 __ovld __cnfn shuffle(char2 x, uchar16 mask);
13877 char16 __ovld __cnfn shuffle(char4 x, uchar16 mask);
13878 char16 __ovld __cnfn shuffle(char8 x, uchar16 mask);
13879 char16 __ovld __cnfn shuffle(char16 x, uchar16 mask);
13880
13881 uchar16 __ovld __cnfn shuffle(uchar2 x, uchar16 mask);
13882 uchar16 __ovld __cnfn shuffle(uchar4 x, uchar16 mask);
13883 uchar16 __ovld __cnfn shuffle(uchar8 x, uchar16 mask);
13884 uchar16 __ovld __cnfn shuffle(uchar16 x, uchar16 mask);
13885
13886 short16 __ovld __cnfn shuffle(short2 x, ushort16 mask);
13887 short16 __ovld __cnfn shuffle(short4 x, ushort16 mask);
13888 short16 __ovld __cnfn shuffle(short8 x, ushort16 mask);
13889 short16 __ovld __cnfn shuffle(short16 x, ushort16 mask);
13890
13891 ushort16 __ovld __cnfn shuffle(ushort2 x, ushort16 mask);
13892 ushort16 __ovld __cnfn shuffle(ushort4 x, ushort16 mask);
13893 ushort16 __ovld __cnfn shuffle(ushort8 x, ushort16 mask);
13894 ushort16 __ovld __cnfn shuffle(ushort16 x, ushort16 mask);
13895
13896 int16 __ovld __cnfn shuffle(int2 x, uint16 mask);
13897 int16 __ovld __cnfn shuffle(int4 x, uint16 mask);
13898 int16 __ovld __cnfn shuffle(int8 x, uint16 mask);
13899 int16 __ovld __cnfn shuffle(int16 x, uint16 mask);
13900
13901 uint16 __ovld __cnfn shuffle(uint2 x, uint16 mask);
13902 uint16 __ovld __cnfn shuffle(uint4 x, uint16 mask);
13903 uint16 __ovld __cnfn shuffle(uint8 x, uint16 mask);
13904 uint16 __ovld __cnfn shuffle(uint16 x, uint16 mask);
13905
13906 long16 __ovld __cnfn shuffle(long2 x, ulong16 mask);
13907 long16 __ovld __cnfn shuffle(long4 x, ulong16 mask);
13908 long16 __ovld __cnfn shuffle(long8 x, ulong16 mask);
13909 long16 __ovld __cnfn shuffle(long16 x, ulong16 mask);
13910
13911 ulong16 __ovld __cnfn shuffle(ulong2 x, ulong16 mask);
13912 ulong16 __ovld __cnfn shuffle(ulong4 x, ulong16 mask);
13913 ulong16 __ovld __cnfn shuffle(ulong8 x, ulong16 mask);
13914 ulong16 __ovld __cnfn shuffle(ulong16 x, ulong16 mask);
13915
13916 float16 __ovld __cnfn shuffle(float2 x, uint16 mask);
13917 float16 __ovld __cnfn shuffle(float4 x, uint16 mask);
13918 float16 __ovld __cnfn shuffle(float8 x, uint16 mask);
13919 float16 __ovld __cnfn shuffle(float16 x, uint16 mask);
13920
13921 #ifdef cl_khr_fp64
13922 double2 __ovld __cnfn shuffle(double2 x, ulong2 mask);
13923 double2 __ovld __cnfn shuffle(double4 x, ulong2 mask);
13924 double2 __ovld __cnfn shuffle(double8 x, ulong2 mask);
13925 double2 __ovld __cnfn shuffle(double16 x, ulong2 mask);
13926
13927 double4 __ovld __cnfn shuffle(double2 x, ulong4 mask);
13928 double4 __ovld __cnfn shuffle(double4 x, ulong4 mask);
13929 double4 __ovld __cnfn shuffle(double8 x, ulong4 mask);
13930 double4 __ovld __cnfn shuffle(double16 x, ulong4 mask);
13931
13932 double8 __ovld __cnfn shuffle(double2 x, ulong8 mask);
13933 double8 __ovld __cnfn shuffle(double4 x, ulong8 mask);
13934 double8 __ovld __cnfn shuffle(double8 x, ulong8 mask);
13935 double8 __ovld __cnfn shuffle(double16 x, ulong8 mask);
13936
13937 double16 __ovld __cnfn shuffle(double2 x, ulong16 mask);
13938 double16 __ovld __cnfn shuffle(double4 x, ulong16 mask);
13939 double16 __ovld __cnfn shuffle(double8 x, ulong16 mask);
13940 double16 __ovld __cnfn shuffle(double16 x, ulong16 mask);
13941 #endif //cl_khr_fp64
13942
13943 #ifdef cl_khr_fp16
13944 half2 __ovld __cnfn shuffle(half2 x, ushort2 mask);
13945 half2 __ovld __cnfn shuffle(half4 x, ushort2 mask);
13946 half2 __ovld __cnfn shuffle(half8 x, ushort2 mask);
13947 half2 __ovld __cnfn shuffle(half16 x, ushort2 mask);
13948
13949 half4 __ovld __cnfn shuffle(half2 x, ushort4 mask);
13950 half4 __ovld __cnfn shuffle(half4 x, ushort4 mask);
13951 half4 __ovld __cnfn shuffle(half8 x, ushort4 mask);
13952 half4 __ovld __cnfn shuffle(half16 x, ushort4 mask);
13953
13954 half8 __ovld __cnfn shuffle(half2 x, ushort8 mask);
13955 half8 __ovld __cnfn shuffle(half4 x, ushort8 mask);
13956 half8 __ovld __cnfn shuffle(half8 x, ushort8 mask);
13957 half8 __ovld __cnfn shuffle(half16 x, ushort8 mask);
13958
13959 half16 __ovld __cnfn shuffle(half2 x, ushort16 mask);
13960 half16 __ovld __cnfn shuffle(half4 x, ushort16 mask);
13961 half16 __ovld __cnfn shuffle(half8 x, ushort16 mask);
13962 half16 __ovld __cnfn shuffle(half16 x, ushort16 mask);
13963 #endif //cl_khr_fp16
13964
13965 char2 __ovld __cnfn shuffle2(char2 x, char2 y, uchar2 mask);
13966 char2 __ovld __cnfn shuffle2(char4 x, char4 y, uchar2 mask);
13967 char2 __ovld __cnfn shuffle2(char8 x, char8 y, uchar2 mask);
13968 char2 __ovld __cnfn shuffle2(char16 x, char16 y, uchar2 mask);
13969
13970 uchar2 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar2 mask);
13971 uchar2 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar2 mask);
13972 uchar2 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar2 mask);
13973 uchar2 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar2 mask);
13974
13975 short2 __ovld __cnfn shuffle2(short2 x, short2 y, ushort2 mask);
13976 short2 __ovld __cnfn shuffle2(short4 x, short4 y, ushort2 mask);
13977 short2 __ovld __cnfn shuffle2(short8 x, short8 y, ushort2 mask);
13978 short2 __ovld __cnfn shuffle2(short16 x, short16 y, ushort2 mask);
13979
13980 ushort2 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort2 mask);
13981 ushort2 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort2 mask);
13982 ushort2 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort2 mask);
13983 ushort2 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort2 mask);
13984
13985 int2 __ovld __cnfn shuffle2(int2 x, int2 y, uint2 mask);
13986 int2 __ovld __cnfn shuffle2(int4 x, int4 y, uint2 mask);
13987 int2 __ovld __cnfn shuffle2(int8 x, int8 y, uint2 mask);
13988 int2 __ovld __cnfn shuffle2(int16 x, int16 y, uint2 mask);
13989
13990 uint2 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint2 mask);
13991 uint2 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint2 mask);
13992 uint2 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint2 mask);
13993 uint2 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint2 mask);
13994
13995 long2 __ovld __cnfn shuffle2(long2 x, long2 y, ulong2 mask);
13996 long2 __ovld __cnfn shuffle2(long4 x, long4 y, ulong2 mask);
13997 long2 __ovld __cnfn shuffle2(long8 x, long8 y, ulong2 mask);
13998 long2 __ovld __cnfn shuffle2(long16 x, long16 y, ulong2 mask);
13999
14000 ulong2 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong2 mask);
14001 ulong2 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong2 mask);
14002 ulong2 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong2 mask);
14003 ulong2 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong2 mask);
14004
14005 float2 __ovld __cnfn shuffle2(float2 x, float2 y, uint2 mask);
14006 float2 __ovld __cnfn shuffle2(float4 x, float4 y, uint2 mask);
14007 float2 __ovld __cnfn shuffle2(float8 x, float8 y, uint2 mask);
14008 float2 __ovld __cnfn shuffle2(float16 x, float16 y, uint2 mask);
14009
14010 char4 __ovld __cnfn shuffle2(char2 x, char2 y, uchar4 mask);
14011 char4 __ovld __cnfn shuffle2(char4 x, char4 y, uchar4 mask);
14012 char4 __ovld __cnfn shuffle2(char8 x, char8 y, uchar4 mask);
14013 char4 __ovld __cnfn shuffle2(char16 x, char16 y, uchar4 mask);
14014
14015 uchar4 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar4 mask);
14016 uchar4 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar4 mask);
14017 uchar4 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar4 mask);
14018 uchar4 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar4 mask);
14019
14020 short4 __ovld __cnfn shuffle2(short2 x, short2 y, ushort4 mask);
14021 short4 __ovld __cnfn shuffle2(short4 x, short4 y, ushort4 mask);
14022 short4 __ovld __cnfn shuffle2(short8 x, short8 y, ushort4 mask);
14023 short4 __ovld __cnfn shuffle2(short16 x, short16 y, ushort4 mask);
14024
14025 ushort4 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort4 mask);
14026 ushort4 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort4 mask);
14027 ushort4 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort4 mask);
14028 ushort4 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort4 mask);
14029
14030 int4 __ovld __cnfn shuffle2(int2 x, int2 y, uint4 mask);
14031 int4 __ovld __cnfn shuffle2(int4 x, int4 y, uint4 mask);
14032 int4 __ovld __cnfn shuffle2(int8 x, int8 y, uint4 mask);
14033 int4 __ovld __cnfn shuffle2(int16 x, int16 y, uint4 mask);
14034
14035 uint4 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint4 mask);
14036 uint4 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint4 mask);
14037 uint4 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint4 mask);
14038 uint4 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint4 mask);
14039
14040 long4 __ovld __cnfn shuffle2(long2 x, long2 y, ulong4 mask);
14041 long4 __ovld __cnfn shuffle2(long4 x, long4 y, ulong4 mask);
14042 long4 __ovld __cnfn shuffle2(long8 x, long8 y, ulong4 mask);
14043 long4 __ovld __cnfn shuffle2(long16 x, long16 y, ulong4 mask);
14044
14045 ulong4 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong4 mask);
14046 ulong4 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong4 mask);
14047 ulong4 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong4 mask);
14048 ulong4 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong4 mask);
14049
14050 float4 __ovld __cnfn shuffle2(float2 x, float2 y, uint4 mask);
14051 float4 __ovld __cnfn shuffle2(float4 x, float4 y, uint4 mask);
14052 float4 __ovld __cnfn shuffle2(float8 x, float8 y, uint4 mask);
14053 float4 __ovld __cnfn shuffle2(float16 x, float16 y, uint4 mask);
14054
14055 char8 __ovld __cnfn shuffle2(char2 x, char2 y, uchar8 mask);
14056 char8 __ovld __cnfn shuffle2(char4 x, char4 y, uchar8 mask);
14057 char8 __ovld __cnfn shuffle2(char8 x, char8 y, uchar8 mask);
14058 char8 __ovld __cnfn shuffle2(char16 x, char16 y, uchar8 mask);
14059
14060 uchar8 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar8 mask);
14061 uchar8 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar8 mask);
14062 uchar8 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar8 mask);
14063 uchar8 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar8 mask);
14064
14065 short8 __ovld __cnfn shuffle2(short2 x, short2 y, ushort8 mask);
14066 short8 __ovld __cnfn shuffle2(short4 x, short4 y, ushort8 mask);
14067 short8 __ovld __cnfn shuffle2(short8 x, short8 y, ushort8 mask);
14068 short8 __ovld __cnfn shuffle2(short16 x, short16 y, ushort8 mask);
14069
14070 ushort8 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort8 mask);
14071 ushort8 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort8 mask);
14072 ushort8 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort8 mask);
14073 ushort8 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort8 mask);
14074
14075 int8 __ovld __cnfn shuffle2(int2 x, int2 y, uint8 mask);
14076 int8 __ovld __cnfn shuffle2(int4 x, int4 y, uint8 mask);
14077 int8 __ovld __cnfn shuffle2(int8 x, int8 y, uint8 mask);
14078 int8 __ovld __cnfn shuffle2(int16 x, int16 y, uint8 mask);
14079
14080 uint8 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint8 mask);
14081 uint8 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint8 mask);
14082 uint8 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint8 mask);
14083 uint8 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint8 mask);
14084
14085 long8 __ovld __cnfn shuffle2(long2 x, long2 y, ulong8 mask);
14086 long8 __ovld __cnfn shuffle2(long4 x, long4 y, ulong8 mask);
14087 long8 __ovld __cnfn shuffle2(long8 x, long8 y, ulong8 mask);
14088 long8 __ovld __cnfn shuffle2(long16 x, long16 y, ulong8 mask);
14089
14090 ulong8 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong8 mask);
14091 ulong8 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong8 mask);
14092 ulong8 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong8 mask);
14093 ulong8 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong8 mask);
14094
14095 float8 __ovld __cnfn shuffle2(float2 x, float2 y, uint8 mask);
14096 float8 __ovld __cnfn shuffle2(float4 x, float4 y, uint8 mask);
14097 float8 __ovld __cnfn shuffle2(float8 x, float8 y, uint8 mask);
14098 float8 __ovld __cnfn shuffle2(float16 x, float16 y, uint8 mask);
14099
14100 char16 __ovld __cnfn shuffle2(char2 x, char2 y, uchar16 mask);
14101 char16 __ovld __cnfn shuffle2(char4 x, char4 y, uchar16 mask);
14102 char16 __ovld __cnfn shuffle2(char8 x, char8 y, uchar16 mask);
14103 char16 __ovld __cnfn shuffle2(char16 x, char16 y, uchar16 mask);
14104
14105 uchar16 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar16 mask);
14106 uchar16 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar16 mask);
14107 uchar16 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar16 mask);
14108 uchar16 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar16 mask);
14109
14110 short16 __ovld __cnfn shuffle2(short2 x, short2 y, ushort16 mask);
14111 short16 __ovld __cnfn shuffle2(short4 x, short4 y, ushort16 mask);
14112 short16 __ovld __cnfn shuffle2(short8 x, short8 y, ushort16 mask);
14113 short16 __ovld __cnfn shuffle2(short16 x, short16 y, ushort16 mask);
14114
14115 ushort16 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort16 mask);
14116 ushort16 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort16 mask);
14117 ushort16 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort16 mask);
14118 ushort16 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort16 mask);
14119
14120 int16 __ovld __cnfn shuffle2(int2 x, int2 y, uint16 mask);
14121 int16 __ovld __cnfn shuffle2(int4 x, int4 y, uint16 mask);
14122 int16 __ovld __cnfn shuffle2(int8 x, int8 y, uint16 mask);
14123 int16 __ovld __cnfn shuffle2(int16 x, int16 y, uint16 mask);
14124
14125 uint16 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint16 mask);
14126 uint16 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint16 mask);
14127 uint16 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint16 mask);
14128 uint16 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint16 mask);
14129
14130 long16 __ovld __cnfn shuffle2(long2 x, long2 y, ulong16 mask);
14131 long16 __ovld __cnfn shuffle2(long4 x, long4 y, ulong16 mask);
14132 long16 __ovld __cnfn shuffle2(long8 x, long8 y, ulong16 mask);
14133 long16 __ovld __cnfn shuffle2(long16 x, long16 y, ulong16 mask);
14134
14135 ulong16 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong16 mask);
14136 ulong16 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong16 mask);
14137 ulong16 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong16 mask);
14138 ulong16 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong16 mask);
14139
14140 float16 __ovld __cnfn shuffle2(float2 x, float2 y, uint16 mask);
14141 float16 __ovld __cnfn shuffle2(float4 x, float4 y, uint16 mask);
14142 float16 __ovld __cnfn shuffle2(float8 x, float8 y, uint16 mask);
14143 float16 __ovld __cnfn shuffle2(float16 x, float16 y, uint16 mask);
14144
14145 #ifdef cl_khr_fp64
14146 double2 __ovld __cnfn shuffle2(double2 x, double2 y, ulong2 mask);
14147 double2 __ovld __cnfn shuffle2(double4 x, double4 y, ulong2 mask);
14148 double2 __ovld __cnfn shuffle2(double8 x, double8 y, ulong2 mask);
14149 double2 __ovld __cnfn shuffle2(double16 x, double16 y, ulong2 mask);
14150
14151 double4 __ovld __cnfn shuffle2(double2 x, double2 y, ulong4 mask);
14152 double4 __ovld __cnfn shuffle2(double4 x, double4 y, ulong4 mask);
14153 double4 __ovld __cnfn shuffle2(double8 x, double8 y, ulong4 mask);
14154 double4 __ovld __cnfn shuffle2(double16 x, double16 y, ulong4 mask);
14155
14156 double8 __ovld __cnfn shuffle2(double2 x, double2 y, ulong8 mask);
14157 double8 __ovld __cnfn shuffle2(double4 x, double4 y, ulong8 mask);
14158 double8 __ovld __cnfn shuffle2(double8 x, double8 y, ulong8 mask);
14159 double8 __ovld __cnfn shuffle2(double16 x, double16 y, ulong8 mask);
14160
14161 double16 __ovld __cnfn shuffle2(double2 x, double2 y, ulong16 mask);
14162 double16 __ovld __cnfn shuffle2(double4 x, double4 y, ulong16 mask);
14163 double16 __ovld __cnfn shuffle2(double8 x, double8 y, ulong16 mask);
14164 double16 __ovld __cnfn shuffle2(double16 x, double16 y, ulong16 mask);
14165 #endif //cl_khr_fp64
14166
14167 #ifdef cl_khr_fp16
14168 half2 __ovld __cnfn shuffle2(half2 x, half2 y, ushort2 mask);
14169 half2 __ovld __cnfn shuffle2(half4 x, half4 y, ushort2 mask);
14170 half2 __ovld __cnfn shuffle2(half8 x, half8 y, ushort2 mask);
14171 half2 __ovld __cnfn shuffle2(half16 x, half16 y, ushort2 mask);
14172
14173 half4 __ovld __cnfn shuffle2(half2 x, half2 y, ushort4 mask);
14174 half4 __ovld __cnfn shuffle2(half4 x, half4 y, ushort4 mask);
14175 half4 __ovld __cnfn shuffle2(half8 x, half8 y, ushort4 mask);
14176 half4 __ovld __cnfn shuffle2(half16 x, half16 y, ushort4 mask);
14177
14178 half8 __ovld __cnfn shuffle2(half2 x, half2 y, ushort8 mask);
14179 half8 __ovld __cnfn shuffle2(half4 x, half4 y, ushort8 mask);
14180 half8 __ovld __cnfn shuffle2(half8 x, half8 y, ushort8 mask);
14181 half8 __ovld __cnfn shuffle2(half16 x, half16 y, ushort8 mask);
14182
14183 half16 __ovld __cnfn shuffle2(half2 x, half2 y, ushort16 mask);
14184 half16 __ovld __cnfn shuffle2(half4 x, half4 y, ushort16 mask);
14185 half16 __ovld __cnfn shuffle2(half8 x, half8 y, ushort16 mask);
14186 half16 __ovld __cnfn shuffle2(half16 x, half16 y, ushort16 mask);
14187 #endif //cl_khr_fp16
14188
14189 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14190 // OpenCL v1.2 s6.12.13, v2.0 s6.13.13 - printf
14191
14192 int printf(__constant const char* st, ...) __attribute__((format(printf, 1, 2)));
14193 #endif
14194
14195 // OpenCL v1.1 s6.11.3, v1.2 s6.12.14, v2.0 s6.13.14 - Image Read and Write Functions
14196
14197 #ifdef cl_khr_gl_msaa_sharing
14198 #pragma OPENCL EXTENSION cl_khr_gl_msaa_sharing : enable
14199 #endif //cl_khr_gl_msaa_sharing
14200
14201 /**
14202  * Use the coordinate (coord.xy) to do an element lookup in
14203  * the 2D image object specified by image.
14204  *
14205  * Use the coordinate (coord.x, coord.y, coord.z) to do
14206  * an element lookup in the 3D image object specified
14207  * by image. coord.w is ignored.
14208  *
14209  * Use the coordinate (coord.z) to index into the
14210  * 2D image array object specified by image_array
14211  * and (coord.x, coord.y) to do an element lookup in
14212  * the 2D image object specified by image.
14213  *
14214  * Use the coordinate (x) to do an element lookup in
14215  * the 1D image object specified by image.
14216  *
14217  * Use the coordinate (coord.y) to index into the
14218  * 1D image array object specified by image_array
14219  * and (coord.x) to do an element lookup in
14220  * the 1D image object specified by image.
14221  *
14222  * Use the coordinate (cood.xy) and sample to do an
14223  * element lookup in the 2D multi-sample image specified
14224  * by image.
14225  *
14226  * Use coord.xy and sample to do an element
14227  * lookup in the 2D multi-sample image layer
14228  * identified by index coord.z in the 2D multi-sample
14229  * image array specified by image.
14230  *
14231  * For mipmap images, use the mip-level specified by
14232  * the Level-of-Detail (lod) or use gradients for LOD
14233  * computation.
14234  *
14235  * read_imagef returns floating-point values in the
14236  * range [0.0 ... 1.0] for image objects created with
14237  * image_channel_data_type set to one of the predefined
14238  * packed formats or CL_UNORM_INT8, or
14239  * CL_UNORM_INT16.
14240  *
14241  * read_imagef returns floating-point values in the
14242  * range [-1.0 ... 1.0] for image objects created with
14243  * image_channel_data_type set to CL_SNORM_INT8,
14244  * or CL_SNORM_INT16.
14245  *
14246  * read_imagef returns floating-point values for image
14247  * objects created with image_channel_data_type set to
14248  * CL_HALF_FLOAT or CL_FLOAT.
14249  *
14250  * read_imagei and read_imageui return
14251  * unnormalized signed integer and unsigned integer
14252  * values respectively. Each channel will be stored in a
14253  * 32-bit integer.
14254  *
14255  * read_imagei can only be used with image objects
14256  * created with image_channel_data_type set to one of
14257  * the following values:
14258  * CL_SIGNED_INT8,
14259  * CL_SIGNED_INT16 and
14260  * CL_SIGNED_INT32.
14261  * If the image_channel_data_type is not one of the
14262  * above values, the values returned by read_imagei
14263  * are undefined.
14264  *
14265  * read_imageui can only be used with image objects
14266  * created with image_channel_data_type set to one of
14267  * the following values:
14268  * CL_UNSIGNED_INT8,
14269  * CL_UNSIGNED_INT16 and
14270  * CL_UNSIGNED_INT32.
14271  * If the image_channel_data_type is not one of the
14272  * above values, the values returned by read_imageui
14273  * are undefined.
14274  *
14275  * The read_image{i|ui} calls support a nearest filter
14276  * only. The filter_mode specified in sampler
14277  * must be set to CLK_FILTER_NEAREST; otherwise
14278  * the values returned are undefined.
14279
14280  * The read_image{f|i|ui} calls that take
14281  * integer coordinates must use a sampler with
14282  * normalized coordinates set to
14283  * CLK_NORMALIZED_COORDS_FALSE and
14284  * addressing mode set to
14285  * CLK_ADDRESS_CLAMP_TO_EDGE,
14286  * CLK_ADDRESS_CLAMP or CLK_ADDRESS_NONE;
14287  * otherwise the values returned are undefined.
14288  *
14289  * Values returned by read_imagef for image objects
14290  * with image_channel_data_type values not specified
14291  * in the description above are undefined.
14292  */
14293
14294 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, int2 coord);
14295 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord);
14296
14297 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, int2 coord);
14298 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord);
14299 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, int2 coord);
14300 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord);
14301
14302 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, int4 coord);
14303 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord);
14304
14305 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, int4 coord);
14306 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord);
14307 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, int4 coord);
14308 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord);
14309
14310 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14311 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
14312 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
14313
14314 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
14315 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
14316 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
14317 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
14318 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14319
14320 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, int coord);
14321 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord);
14322
14323 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, int coord);
14324 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord);
14325 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, int coord);
14326 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord);
14327
14328 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14329 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
14330 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
14331
14332 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
14333 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
14334 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
14335 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
14336 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14337
14338 #ifdef cl_khr_depth_images
14339 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord);
14340 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, int2 coord);
14341
14342 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord);
14343 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, int4 coord);
14344 #endif //cl_khr_depth_images
14345
14346 #if defined(cl_khr_gl_msaa_sharing)
14347 float4 __purefn __ovld read_imagef(read_only image2d_msaa_t image, int2 coord, int sample);
14348 int4 __purefn __ovld read_imagei(read_only image2d_msaa_t image, int2 coord, int sample);
14349 uint4 __purefn __ovld read_imageui(read_only image2d_msaa_t image, int2 coord, int sample);
14350
14351 float __purefn __ovld read_imagef(read_only image2d_msaa_depth_t image, int2 coord, int sample);
14352
14353 float4 __purefn __ovld read_imagef(read_only image2d_array_msaa_t image, int4 coord, int sample);
14354 int4 __purefn __ovld read_imagei(read_only image2d_array_msaa_t image, int4 coord, int sample);
14355 uint4 __purefn __ovld read_imageui(read_only image2d_array_msaa_t image, int4 coord, int sample);
14356
14357 float __purefn __ovld read_imagef(read_only image2d_array_msaa_depth_t image, int4 coord, int sample);
14358 #endif //cl_khr_gl_msaa_sharing
14359
14360 // OpenCL Extension v2.0 s9.18 - Mipmaps
14361 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14362 #ifdef cl_khr_mipmap_image
14363
14364 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float lod);
14365 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float lod);
14366 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float lod);
14367
14368 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14369 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14370 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14371
14372 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
14373 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
14374 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
14375
14376 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
14377
14378 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14379 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14380 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14381
14382 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
14383
14384 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
14385 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
14386 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
14387
14388 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14389 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14390 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14391
14392 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14393 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14394 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14395
14396 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14397 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14398 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14399
14400 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14401
14402 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14403 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14404 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14405
14406 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14407
14408 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14409 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14410 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14411
14412 #endif //cl_khr_mipmap_image
14413 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14414
14415 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14416
14417 /**
14418 * Sampler-less Image Access
14419 */
14420
14421 float4 __purefn __ovld read_imagef(read_only image1d_t image, int coord);
14422 int4 __purefn __ovld read_imagei(read_only image1d_t image, int coord);
14423 uint4 __purefn __ovld read_imageui(read_only image1d_t image, int coord);
14424
14425 float4 __purefn __ovld read_imagef(read_only image1d_buffer_t image, int coord);
14426 int4 __purefn __ovld read_imagei(read_only image1d_buffer_t image, int coord);
14427 uint4 __purefn __ovld read_imageui(read_only image1d_buffer_t image, int coord);
14428
14429 float4 __purefn __ovld read_imagef(read_only image1d_array_t image, int2 coord);
14430 int4 __purefn __ovld read_imagei(read_only image1d_array_t image, int2 coord);
14431 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image, int2 coord);
14432
14433 float4 __purefn __ovld read_imagef(read_only image2d_t image, int2 coord);
14434 int4 __purefn __ovld read_imagei(read_only image2d_t image, int2 coord);
14435 uint4 __purefn __ovld read_imageui(read_only image2d_t image, int2 coord);
14436
14437 float4 __purefn __ovld read_imagef(read_only image2d_array_t image, int4 coord);
14438 int4 __purefn __ovld read_imagei(read_only image2d_array_t image, int4 coord);
14439 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image, int4 coord);
14440
14441 #ifdef cl_khr_depth_images
14442 float __purefn __ovld read_imagef(read_only image2d_depth_t image, int2 coord);
14443 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, int4 coord);
14444 #endif //cl_khr_depth_images
14445
14446 float4 __purefn __ovld read_imagef(read_only image3d_t image, int4 coord);
14447 int4 __purefn __ovld read_imagei(read_only image3d_t image, int4 coord);
14448 uint4 __purefn __ovld read_imageui(read_only image3d_t image, int4 coord);
14449
14450 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14451
14452 // Image read functions returning half4 type
14453 #ifdef cl_khr_fp16
14454 half4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, int coord);
14455 half4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, float coord);
14456 half4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, int2 coord);
14457 half4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, float2 coord);
14458 half4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, int4 coord);
14459 half4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, float4 coord);
14460 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14461 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, int2 coord);
14462 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, float2 coord);
14463 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, int4 coord);
14464 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, float4 coord);
14465 /**
14466  * Sampler-less Image Access
14467  */
14468 half4 __purefn __ovld read_imageh(read_only image1d_t image, int coord);
14469 half4 __purefn __ovld read_imageh(read_only image2d_t image, int2 coord);
14470 half4 __purefn __ovld read_imageh(read_only image3d_t image, int4 coord);
14471 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, int2 coord);
14472 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, int4 coord);
14473 half4 __purefn __ovld read_imageh(read_only image1d_buffer_t image, int coord);
14474 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
14475 #endif //cl_khr_fp16
14476
14477 // Image read functions for read_write images
14478 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14479 float4 __purefn __ovld read_imagef(read_write image1d_t image, int coord);
14480 int4 __purefn __ovld read_imagei(read_write image1d_t image, int coord);
14481 uint4 __purefn __ovld read_imageui(read_write image1d_t image, int coord);
14482
14483 float4 __purefn __ovld read_imagef(read_write image1d_buffer_t image, int coord);
14484 int4 __purefn __ovld read_imagei(read_write image1d_buffer_t image, int coord);
14485 uint4 __purefn __ovld read_imageui(read_write image1d_buffer_t image, int coord);
14486
14487 float4 __purefn __ovld read_imagef(read_write image1d_array_t image, int2 coord);
14488 int4 __purefn __ovld read_imagei(read_write image1d_array_t image, int2 coord);
14489 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image, int2 coord);
14490
14491 float4 __purefn __ovld read_imagef(read_write image2d_t image, int2 coord);
14492 int4 __purefn __ovld read_imagei(read_write image2d_t image, int2 coord);
14493 uint4 __purefn __ovld read_imageui(read_write image2d_t image, int2 coord);
14494
14495 float4 __purefn __ovld read_imagef(read_write image2d_array_t image, int4 coord);
14496 int4 __purefn __ovld read_imagei(read_write image2d_array_t image, int4 coord);
14497 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image, int4 coord);
14498
14499 float4 __purefn __ovld read_imagef(read_write image3d_t image, int4 coord);
14500 int4 __purefn __ovld read_imagei(read_write image3d_t image, int4 coord);
14501 uint4 __purefn __ovld read_imageui(read_write image3d_t image, int4 coord);
14502
14503 #ifdef cl_khr_depth_images
14504 float __purefn __ovld read_imagef(read_write image2d_depth_t image, int2 coord);
14505 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, int4 coord);
14506 #endif //cl_khr_depth_images
14507
14508 #if cl_khr_gl_msaa_sharing
14509 float4 __purefn __ovld read_imagef(read_write image2d_msaa_t image, int2 coord, int sample);
14510 int4 __purefn __ovld read_imagei(read_write image2d_msaa_t image, int2 coord, int sample);
14511 uint4 __purefn __ovld read_imageui(read_write image2d_msaa_t image, int2 coord, int sample);
14512
14513 float4 __purefn __ovld read_imagef(read_write image2d_array_msaa_t image, int4 coord, int sample);
14514 int4 __purefn __ovld read_imagei(read_write image2d_array_msaa_t image, int4 coord, int sample);
14515 uint4 __purefn __ovld read_imageui(read_write image2d_array_msaa_t image, int4 coord, int sample);
14516
14517 float __purefn __ovld read_imagef(read_write image2d_msaa_depth_t image, int2 coord, int sample);
14518 float __purefn __ovld read_imagef(read_write image2d_array_msaa_depth_t image, int4 coord, int sample);
14519 #endif //cl_khr_gl_msaa_sharing
14520
14521 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14522 #ifdef cl_khr_mipmap_image
14523 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float lod);
14524 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float lod);
14525 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float lod);
14526
14527 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14528 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14529 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14530
14531 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
14532 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
14533 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
14534
14535 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
14536
14537 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14538 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14539 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14540
14541 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
14542
14543 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
14544 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
14545 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
14546
14547 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14548 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14549 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14550
14551 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14552 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14553 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14554
14555 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14556 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14557 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14558
14559 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14560
14561 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14562 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14563 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14564
14565 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14566
14567 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14568 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14569 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14570
14571 #endif //cl_khr_mipmap_image
14572 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14573
14574 // Image read functions returning half4 type
14575 #ifdef cl_khr_fp16
14576 half4 __purefn __ovld read_imageh(read_write image1d_t image, int coord);
14577 half4 __purefn __ovld read_imageh(read_write image2d_t image, int2 coord);
14578 half4 __purefn __ovld read_imageh(read_write image3d_t image, int4 coord);
14579 half4 __purefn __ovld read_imageh(read_write image1d_array_t image, int2 coord);
14580 half4 __purefn __ovld read_imageh(read_write image2d_array_t image, int4 coord);
14581 half4 __purefn __ovld read_imageh(read_write image1d_buffer_t image, int coord);
14582 #endif //cl_khr_fp16
14583 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14584
14585 /**
14586  * Write color value to location specified by coordinate
14587  * (coord.x, coord.y) in the 2D image object specified by image.
14588  * (coord.x, coord.y) are considered to be unnormalized coordinates
14589  * and must be in the range 0 ... image width - 1, and 0
14590  * ... image height - 1.
14591
14592  * Write color value to location specified by coordinate
14593  * (coord.x, coord.y) in the 2D image object specified by index
14594  * (coord.z) of the 2D image array object image_array.
14595  * (coord.x, coord.y) are considered to be unnormalized
14596  * coordinates and must be in the range 0 ... image width
14597  * - 1.
14598  *
14599  * Write color value to location specified by coordinate
14600  * (coord) in the 1D image (buffer) object specified by image.
14601  * coord is considered to be unnormalized coordinates
14602  * and must be in the range 0 ... image width - 1.
14603  *
14604  * Write color value to location specified by coordinate
14605  * (coord.x) in the 1D image object specified by index
14606  * (coord.y) of the 1D image array object image_array.
14607  * x is considered to be unnormalized coordinates
14608  * and must be in the range 0 ... image width - 1.
14609  *
14610  * Write color value to location specified by coordinate
14611  * (coord.x, coord.y, coord.z) in the 3D image object specified by image.
14612  * coord.x & coord.y are considered to be unnormalized coordinates
14613  * and must be in the range 0 ... image width - 1, and 0
14614  * ... image height - 1.
14615  *
14616  * For mipmap images, use mip-level specified by lod.
14617  *
14618  * Appropriate data format conversion to the specified
14619  * image format is done before writing the color value.
14620  *
14621  * write_imagef can only be used with image objects
14622  * created with image_channel_data_type set to one of
14623  * the pre-defined packed formats or set to
14624  * CL_SNORM_INT8, CL_UNORM_INT8,
14625  * CL_SNORM_INT16, CL_UNORM_INT16,
14626  * CL_HALF_FLOAT or CL_FLOAT. Appropriate data
14627  * format conversion will be done to convert channel
14628  * data from a floating-point value to actual data format
14629  * in which the channels are stored.
14630  *
14631  * write_imagei can only be used with image objects
14632  * created with image_channel_data_type set to one of
14633  * the following values:
14634  * CL_SIGNED_INT8,
14635  * CL_SIGNED_INT16 and
14636  * CL_SIGNED_INT32.
14637  *
14638  * write_imageui can only be used with image objects
14639  * created with image_channel_data_type set to one of
14640  * the following values:
14641  * CL_UNSIGNED_INT8,
14642  * CL_UNSIGNED_INT16 and
14643  * CL_UNSIGNED_INT32.
14644  *
14645  * The behavior of write_imagef, write_imagei and
14646  * write_imageui for image objects created with
14647  * image_channel_data_type values not specified in
14648  * the description above or with (x, y) coordinate
14649  * values that are not in the range (0 ... image width -1,
14650  * 0 ... image height - 1), respectively, is undefined.
14651  */
14652 void __ovld write_imagef(write_only image2d_t image, int2 coord, float4 color);
14653 void __ovld write_imagei(write_only image2d_t image, int2 coord, int4 color);
14654 void __ovld write_imageui(write_only image2d_t image, int2 coord, uint4 color);
14655
14656 void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, float4 color);
14657 void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int4 color);
14658 void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, uint4 color);
14659
14660 void __ovld write_imagef(write_only image1d_t image, int coord, float4 color);
14661 void __ovld write_imagei(write_only image1d_t image, int coord, int4 color);
14662 void __ovld write_imageui(write_only image1d_t image, int coord, uint4 color);
14663
14664 void __ovld write_imagef(write_only image1d_buffer_t image, int coord, float4 color);
14665 void __ovld write_imagei(write_only image1d_buffer_t image, int coord, int4 color);
14666 void __ovld write_imageui(write_only image1d_buffer_t image, int coord, uint4 color);
14667
14668 void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, float4 color);
14669 void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int4 color);
14670 void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, uint4 color);
14671
14672 #ifdef cl_khr_3d_image_writes
14673 void __ovld write_imagef(write_only image3d_t image, int4 coord, float4 color);
14674 void __ovld write_imagei(write_only image3d_t image, int4 coord, int4 color);
14675 void __ovld write_imageui(write_only image3d_t image, int4 coord, uint4 color);
14676 #endif
14677
14678 #ifdef cl_khr_depth_images
14679 void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, float color);
14680 void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, float color);
14681 #endif //cl_khr_depth_images
14682
14683 // OpenCL Extension v2.0 s9.18 - Mipmaps
14684 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14685 #ifdef cl_khr_mipmap_image
14686 void __ovld write_imagef(write_only image1d_t image, int coord, int lod, float4 color);
14687 void __ovld write_imagei(write_only image1d_t image, int coord, int lod, int4 color);
14688 void __ovld write_imageui(write_only image1d_t image, int coord, int lod, uint4 color);
14689
14690 void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, int lod, float4 color);
14691 void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int lod, int4 color);
14692 void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, int lod, uint4 color);
14693
14694 void __ovld write_imagef(write_only image2d_t image, int2 coord, int lod, float4 color);
14695 void __ovld write_imagei(write_only image2d_t image, int2 coord, int lod, int4 color);
14696 void __ovld write_imageui(write_only image2d_t image, int2 coord, int lod, uint4 color);
14697
14698 void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, int lod, float4 color);
14699 void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int lod, int4 color);
14700 void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, int lod, uint4 color);
14701
14702 void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, int lod, float color);
14703 void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, int lod, float color);
14704
14705 #ifdef cl_khr_3d_image_writes
14706 void __ovld write_imagef(write_only image3d_t image, int4 coord, int lod, float4 color);
14707 void __ovld write_imagei(write_only image3d_t image, int4 coord, int lod, int4 color);
14708 void __ovld write_imageui(write_only image3d_t image, int4 coord, int lod, uint4 color);
14709 #endif
14710 #endif //cl_khr_mipmap_image
14711 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14712
14713 // Image write functions for half4 type
14714 #ifdef cl_khr_fp16
14715 void __ovld write_imageh(write_only image1d_t image, int coord, half4 color);
14716 void __ovld write_imageh(write_only image2d_t image, int2 coord, half4 color);
14717 #ifdef cl_khr_3d_image_writes
14718 void __ovld write_imageh(write_only image3d_t image, int4 coord, half4 color);
14719 #endif
14720 void __ovld write_imageh(write_only image1d_array_t image, int2 coord, half4 color);
14721 void __ovld write_imageh(write_only image2d_array_t image, int4 coord, half4 color);
14722 void __ovld write_imageh(write_only image1d_buffer_t image, int coord, half4 color);
14723 #endif //cl_khr_fp16
14724
14725 // Image write functions for read_write images
14726 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14727 void __ovld write_imagef(read_write image2d_t image, int2 coord, float4 color);
14728 void __ovld write_imagei(read_write image2d_t image, int2 coord, int4 color);
14729 void __ovld write_imageui(read_write image2d_t image, int2 coord, uint4 color);
14730
14731 void __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, float4 color);
14732 void __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int4 color);
14733 void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, uint4 color);
14734
14735 void __ovld write_imagef(read_write image1d_t image, int coord, float4 color);
14736 void __ovld write_imagei(read_write image1d_t image, int coord, int4 color);
14737 void __ovld write_imageui(read_write image1d_t image, int coord, uint4 color);
14738
14739 void __ovld write_imagef(read_write image1d_buffer_t image, int coord, float4 color);
14740 void __ovld write_imagei(read_write image1d_buffer_t image, int coord, int4 color);
14741 void __ovld write_imageui(read_write image1d_buffer_t image, int coord, uint4 color);
14742
14743 void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, float4 color);
14744 void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int4 color);
14745 void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, uint4 color);
14746
14747 #ifdef cl_khr_3d_image_writes
14748 void __ovld write_imagef(read_write image3d_t image, int4 coord, float4 color);
14749 void __ovld write_imagei(read_write image3d_t image, int4 coord, int4 color);
14750 void __ovld write_imageui(read_write image3d_t image, int4 coord, uint4 color);
14751 #endif
14752
14753 #ifdef cl_khr_depth_images
14754 void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, float color);
14755 void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, float color);
14756 #endif //cl_khr_depth_images
14757
14758 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14759 #ifdef cl_khr_mipmap_image
14760 void __ovld write_imagef(read_write image1d_t image, int coord, int lod, float4 color);
14761 void __ovld write_imagei(read_write image1d_t image, int coord, int lod, int4 color);
14762 void __ovld write_imageui(read_write image1d_t image, int coord, int lod, uint4 color);
14763
14764 void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, int lod, float4 color);
14765 void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int lod, int4 color);
14766 void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, int lod, uint4 color);
14767
14768 void __ovld write_imagef(read_write image2d_t image, int2 coord, int lod, float4 color);
14769 void __ovld write_imagei(read_write image2d_t image, int2 coord, int lod, int4 color);
14770 void __ovld write_imageui(read_write image2d_t image, int2 coord, int lod, uint4 color);
14771
14772 void __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, int lod, float4 color);
14773 void __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int lod, int4 color);
14774 void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, int lod, uint4 color);
14775
14776 void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, int lod, float color);
14777 void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, int lod, float color);
14778
14779 #ifdef cl_khr_3d_image_writes
14780 void __ovld write_imagef(read_write image3d_t image, int4 coord, int lod, float4 color);
14781 void __ovld write_imagei(read_write image3d_t image, int4 coord, int lod, int4 color);
14782 void __ovld write_imageui(read_write image3d_t image, int4 coord, int lod, uint4 color);
14783 #endif
14784 #endif //cl_khr_mipmap_image
14785 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14786
14787 // Image write functions for half4 type
14788 #ifdef cl_khr_fp16
14789 void __ovld write_imageh(read_write image1d_t image, int coord, half4 color);
14790 void __ovld write_imageh(read_write image2d_t image, int2 coord, half4 color);
14791 #ifdef cl_khr_3d_image_writes
14792 void __ovld write_imageh(read_write image3d_t image, int4 coord, half4 color);
14793 #endif
14794 void __ovld write_imageh(read_write image1d_array_t image, int2 coord, half4 color);
14795 void __ovld write_imageh(read_write image2d_array_t image, int4 coord, half4 color);
14796 void __ovld write_imageh(read_write image1d_buffer_t image, int coord, half4 color);
14797 #endif //cl_khr_fp16
14798 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14799
14800 // Note: In OpenCL v1.0/1.1/1.2, image argument of image query builtin functions does not have
14801 // access qualifier, which by default assume read_only access qualifier. Image query builtin
14802 // functions with write_only image argument should also be declared.
14803
14804 /**
14805  * Return the image width in pixels.
14806  *
14807   */
14808 int __ovld __cnfn get_image_width(read_only image1d_t image);
14809 int __ovld __cnfn get_image_width(read_only image1d_buffer_t image);
14810 int __ovld __cnfn get_image_width(read_only image2d_t image);
14811 #ifdef cl_khr_3d_image_writes
14812 int __ovld __cnfn get_image_width(read_only image3d_t image);
14813 #endif
14814 int __ovld __cnfn get_image_width(read_only image1d_array_t image);
14815 int __ovld __cnfn get_image_width(read_only image2d_array_t image);
14816 #ifdef cl_khr_depth_images
14817 int __ovld __cnfn get_image_width(read_only image2d_depth_t image);
14818 int __ovld __cnfn get_image_width(read_only image2d_array_depth_t image);
14819 #endif //cl_khr_depth_images
14820 #if defined(cl_khr_gl_msaa_sharing)
14821 int __ovld __cnfn get_image_width(read_only image2d_msaa_t image);
14822 int __ovld __cnfn get_image_width(read_only image2d_msaa_depth_t image);
14823 int __ovld __cnfn get_image_width(read_only image2d_array_msaa_t image);
14824 int __ovld __cnfn get_image_width(read_only image2d_array_msaa_depth_t image);
14825 #endif //cl_khr_gl_msaa_sharing
14826
14827 int __ovld __cnfn get_image_width(write_only image1d_t image);
14828 int __ovld __cnfn get_image_width(write_only image1d_buffer_t image);
14829 int __ovld __cnfn get_image_width(write_only image2d_t image);
14830 #ifdef cl_khr_3d_image_writes
14831 int __ovld __cnfn get_image_width(write_only image3d_t image);
14832 #endif
14833 int __ovld __cnfn get_image_width(write_only image1d_array_t image);
14834 int __ovld __cnfn get_image_width(write_only image2d_array_t image);
14835 #ifdef cl_khr_depth_images
14836 int __ovld __cnfn get_image_width(write_only image2d_depth_t image);
14837 int __ovld __cnfn get_image_width(write_only image2d_array_depth_t image);
14838 #endif //cl_khr_depth_images
14839 #if defined(cl_khr_gl_msaa_sharing)
14840 int __ovld __cnfn get_image_width(write_only image2d_msaa_t image);
14841 int __ovld __cnfn get_image_width(write_only image2d_msaa_depth_t image);
14842 int __ovld __cnfn get_image_width(write_only image2d_array_msaa_t image);
14843 int __ovld __cnfn get_image_width(write_only image2d_array_msaa_depth_t image);
14844 #endif //cl_khr_gl_msaa_sharing
14845
14846 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14847 int __ovld __cnfn get_image_width(read_write image1d_t image);
14848 int __ovld __cnfn get_image_width(read_write image1d_buffer_t image);
14849 int __ovld __cnfn get_image_width(read_write image2d_t image);
14850 int __ovld __cnfn get_image_width(read_write image3d_t image);
14851 int __ovld __cnfn get_image_width(read_write image1d_array_t image);
14852 int __ovld __cnfn get_image_width(read_write image2d_array_t image);
14853 #ifdef cl_khr_depth_images
14854 int __ovld __cnfn get_image_width(read_write image2d_depth_t image);
14855 int __ovld __cnfn get_image_width(read_write image2d_array_depth_t image);
14856 #endif //cl_khr_depth_images
14857 #if defined(cl_khr_gl_msaa_sharing)
14858 int __ovld __cnfn get_image_width(read_write image2d_msaa_t image);
14859 int __ovld __cnfn get_image_width(read_write image2d_msaa_depth_t image);
14860 int __ovld __cnfn get_image_width(read_write image2d_array_msaa_t image);
14861 int __ovld __cnfn get_image_width(read_write image2d_array_msaa_depth_t image);
14862 #endif //cl_khr_gl_msaa_sharing
14863 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14864
14865 /**
14866  * Return the image height in pixels.
14867  */
14868 int __ovld __cnfn get_image_height(read_only image2d_t image);
14869 int __ovld __cnfn get_image_height(read_only image3d_t image);
14870 int __ovld __cnfn get_image_height(read_only image2d_array_t image);
14871 #ifdef cl_khr_depth_images
14872 int __ovld __cnfn get_image_height(read_only image2d_depth_t image);
14873 int __ovld __cnfn get_image_height(read_only image2d_array_depth_t image);
14874 #endif //cl_khr_depth_images
14875 #if defined(cl_khr_gl_msaa_sharing)
14876 int __ovld __cnfn get_image_height(read_only image2d_msaa_t image);
14877 int __ovld __cnfn get_image_height(read_only image2d_msaa_depth_t image);
14878 int __ovld __cnfn get_image_height(read_only image2d_array_msaa_t image);
14879 int __ovld __cnfn get_image_height(read_only image2d_array_msaa_depth_t image);
14880 #endif //cl_khr_gl_msaa_sharing
14881
14882 int __ovld __cnfn get_image_height(write_only image2d_t image);
14883 #ifdef cl_khr_3d_image_writes
14884 int __ovld __cnfn get_image_height(write_only image3d_t image);
14885 #endif
14886 int __ovld __cnfn get_image_height(write_only image2d_array_t image);
14887 #ifdef cl_khr_depth_images
14888 int __ovld __cnfn get_image_height(write_only image2d_depth_t image);
14889 int __ovld __cnfn get_image_height(write_only image2d_array_depth_t image);
14890 #endif //cl_khr_depth_images
14891 #if defined(cl_khr_gl_msaa_sharing)
14892 int __ovld __cnfn get_image_height(write_only image2d_msaa_t image);
14893 int __ovld __cnfn get_image_height(write_only image2d_msaa_depth_t image);
14894 int __ovld __cnfn get_image_height(write_only image2d_array_msaa_t image);
14895 int __ovld __cnfn get_image_height(write_only image2d_array_msaa_depth_t image);
14896 #endif //cl_khr_gl_msaa_sharing
14897
14898 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14899 int __ovld __cnfn get_image_height(read_write image2d_t image);
14900 int __ovld __cnfn get_image_height(read_write image3d_t image);
14901 int __ovld __cnfn get_image_height(read_write image2d_array_t image);
14902 #ifdef cl_khr_depth_images
14903 int __ovld __cnfn get_image_height(read_write image2d_depth_t image);
14904 int __ovld __cnfn get_image_height(read_write image2d_array_depth_t image);
14905 #endif //cl_khr_depth_images
14906 #if defined(cl_khr_gl_msaa_sharing)
14907 int __ovld __cnfn get_image_height(read_write image2d_msaa_t image);
14908 int __ovld __cnfn get_image_height(read_write image2d_msaa_depth_t image);
14909 int __ovld __cnfn get_image_height(read_write image2d_array_msaa_t image);
14910 int __ovld __cnfn get_image_height(read_write image2d_array_msaa_depth_t image);
14911 #endif //cl_khr_gl_msaa_sharing
14912 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14913
14914 /**
14915  * Return the image depth in pixels.
14916  */
14917 int __ovld __cnfn get_image_depth(read_only image3d_t image);
14918
14919 #ifdef cl_khr_3d_image_writes
14920 int __ovld __cnfn get_image_depth(write_only image3d_t image);
14921 #endif
14922
14923 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14924 int __ovld __cnfn get_image_depth(read_write image3d_t image);
14925 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14926
14927 // OpenCL Extension v2.0 s9.18 - Mipmaps
14928 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14929 #ifdef cl_khr_mipmap_image
14930 /**
14931  * Return the image miplevels.
14932  */
14933
14934 int __ovld get_image_num_mip_levels(read_only image1d_t image);
14935 int __ovld get_image_num_mip_levels(read_only image2d_t image);
14936 int __ovld get_image_num_mip_levels(read_only image3d_t image);
14937
14938 int __ovld get_image_num_mip_levels(write_only image1d_t image);
14939 int __ovld get_image_num_mip_levels(write_only image2d_t image);
14940 #ifdef cl_khr_3d_image_writes
14941 int __ovld get_image_num_mip_levels(write_only image3d_t image);
14942 #endif
14943
14944 int __ovld get_image_num_mip_levels(read_write image1d_t image);
14945 int __ovld get_image_num_mip_levels(read_write image2d_t image);
14946 int __ovld get_image_num_mip_levels(read_write image3d_t image);
14947
14948 int __ovld get_image_num_mip_levels(read_only image1d_array_t image);
14949 int __ovld get_image_num_mip_levels(read_only image2d_array_t image);
14950 int __ovld get_image_num_mip_levels(read_only image2d_array_depth_t image);
14951 int __ovld get_image_num_mip_levels(read_only image2d_depth_t image);
14952
14953 int __ovld get_image_num_mip_levels(write_only image1d_array_t image);
14954 int __ovld get_image_num_mip_levels(write_only image2d_array_t image);
14955 int __ovld get_image_num_mip_levels(write_only image2d_array_depth_t image);
14956 int __ovld get_image_num_mip_levels(write_only image2d_depth_t image);
14957
14958 int __ovld get_image_num_mip_levels(read_write image1d_array_t image);
14959 int __ovld get_image_num_mip_levels(read_write image2d_array_t image);
14960 int __ovld get_image_num_mip_levels(read_write image2d_array_depth_t image);
14961 int __ovld get_image_num_mip_levels(read_write image2d_depth_t image);
14962
14963 #endif //cl_khr_mipmap_image
14964 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14965
14966 /**
14967  * Return the channel data type. Valid values are:
14968  * CLK_SNORM_INT8
14969  * CLK_SNORM_INT16
14970  * CLK_UNORM_INT8
14971  * CLK_UNORM_INT16
14972  * CLK_UNORM_SHORT_565
14973  * CLK_UNORM_SHORT_555
14974  * CLK_UNORM_SHORT_101010
14975  * CLK_SIGNED_INT8
14976  * CLK_SIGNED_INT16
14977  * CLK_SIGNED_INT32
14978  * CLK_UNSIGNED_INT8
14979  * CLK_UNSIGNED_INT16
14980  * CLK_UNSIGNED_INT32
14981  * CLK_HALF_FLOAT
14982  * CLK_FLOAT
14983  */
14984
14985 int __ovld __cnfn get_image_channel_data_type(read_only image1d_t image);
14986 int __ovld __cnfn get_image_channel_data_type(read_only image1d_buffer_t image);
14987 int __ovld __cnfn get_image_channel_data_type(read_only image2d_t image);
14988 int __ovld __cnfn get_image_channel_data_type(read_only image3d_t image);
14989 int __ovld __cnfn get_image_channel_data_type(read_only image1d_array_t image);
14990 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_t image);
14991 #ifdef cl_khr_depth_images
14992 int __ovld __cnfn get_image_channel_data_type(read_only image2d_depth_t image);
14993 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_depth_t image);
14994 #endif //cl_khr_depth_images
14995 #if defined(cl_khr_gl_msaa_sharing)
14996 int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_t image);
14997 int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_depth_t image);
14998 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_t image);
14999 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_depth_t image);
15000 #endif //cl_khr_gl_msaa_sharing
15001
15002 int __ovld __cnfn get_image_channel_data_type(write_only image1d_t image);
15003 int __ovld __cnfn get_image_channel_data_type(write_only image1d_buffer_t image);
15004 int __ovld __cnfn get_image_channel_data_type(write_only image2d_t image);
15005 #ifdef cl_khr_3d_image_writes
15006 int __ovld __cnfn get_image_channel_data_type(write_only image3d_t image);
15007 #endif
15008 int __ovld __cnfn get_image_channel_data_type(write_only image1d_array_t image);
15009 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_t image);
15010 #ifdef cl_khr_depth_images
15011 int __ovld __cnfn get_image_channel_data_type(write_only image2d_depth_t image);
15012 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_depth_t image);
15013 #endif //cl_khr_depth_images
15014 #if defined(cl_khr_gl_msaa_sharing)
15015 int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_t image);
15016 int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_depth_t image);
15017 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_t image);
15018 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_depth_t image);
15019 #endif //cl_khr_gl_msaa_sharing
15020
15021 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15022 int __ovld __cnfn get_image_channel_data_type(read_write image1d_t image);
15023 int __ovld __cnfn get_image_channel_data_type(read_write image1d_buffer_t image);
15024 int __ovld __cnfn get_image_channel_data_type(read_write image2d_t image);
15025 int __ovld __cnfn get_image_channel_data_type(read_write image3d_t image);
15026 int __ovld __cnfn get_image_channel_data_type(read_write image1d_array_t image);
15027 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_t image);
15028 #ifdef cl_khr_depth_images
15029 int __ovld __cnfn get_image_channel_data_type(read_write image2d_depth_t image);
15030 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_depth_t image);
15031 #endif //cl_khr_depth_images
15032 #if defined(cl_khr_gl_msaa_sharing)
15033 int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_t image);
15034 int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_depth_t image);
15035 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_t image);
15036 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_depth_t image);
15037 #endif //cl_khr_gl_msaa_sharing
15038 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15039
15040 /**
15041  * Return the image channel order. Valid values are:
15042  * CLK_A
15043  * CLK_R
15044  * CLK_Rx
15045  * CLK_RG
15046  * CLK_RGx
15047  * CLK_RA
15048  * CLK_RGB
15049  * CLK_RGBx
15050  * CLK_RGBA
15051  * CLK_ARGB
15052  * CLK_BGRA
15053  * CLK_INTENSITY
15054  * CLK_LUMINANCE
15055  */
15056
15057 int __ovld __cnfn get_image_channel_order(read_only image1d_t image);
15058 int __ovld __cnfn get_image_channel_order(read_only image1d_buffer_t image);
15059 int __ovld __cnfn get_image_channel_order(read_only image2d_t image);
15060 int __ovld __cnfn get_image_channel_order(read_only image3d_t image);
15061 int __ovld __cnfn get_image_channel_order(read_only image1d_array_t image);
15062 int __ovld __cnfn get_image_channel_order(read_only image2d_array_t image);
15063 #ifdef cl_khr_depth_images
15064 int __ovld __cnfn get_image_channel_order(read_only image2d_depth_t image);
15065 int __ovld __cnfn get_image_channel_order(read_only image2d_array_depth_t image);
15066 #endif //cl_khr_depth_images
15067 #if defined(cl_khr_gl_msaa_sharing)
15068 int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_t image);
15069 int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_depth_t image);
15070 int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_t image);
15071 int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_depth_t image);
15072 #endif //cl_khr_gl_msaa_sharing
15073
15074 int __ovld __cnfn get_image_channel_order(write_only image1d_t image);
15075 int __ovld __cnfn get_image_channel_order(write_only image1d_buffer_t image);
15076 int __ovld __cnfn get_image_channel_order(write_only image2d_t image);
15077 #ifdef cl_khr_3d_image_writes
15078 int __ovld __cnfn get_image_channel_order(write_only image3d_t image);
15079 #endif
15080 int __ovld __cnfn get_image_channel_order(write_only image1d_array_t image);
15081 int __ovld __cnfn get_image_channel_order(write_only image2d_array_t image);
15082 #ifdef cl_khr_depth_images
15083 int __ovld __cnfn get_image_channel_order(write_only image2d_depth_t image);
15084 int __ovld __cnfn get_image_channel_order(write_only image2d_array_depth_t image);
15085 #endif //cl_khr_depth_images
15086 #if defined(cl_khr_gl_msaa_sharing)
15087 int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_t image);
15088 int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_depth_t image);
15089 int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_t image);
15090 int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_depth_t image);
15091 #endif //cl_khr_gl_msaa_sharing
15092
15093 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15094 int __ovld __cnfn get_image_channel_order(read_write image1d_t image);
15095 int __ovld __cnfn get_image_channel_order(read_write image1d_buffer_t image);
15096 int __ovld __cnfn get_image_channel_order(read_write image2d_t image);
15097 int __ovld __cnfn get_image_channel_order(read_write image3d_t image);
15098 int __ovld __cnfn get_image_channel_order(read_write image1d_array_t image);
15099 int __ovld __cnfn get_image_channel_order(read_write image2d_array_t image);
15100 #ifdef cl_khr_depth_images
15101 int __ovld __cnfn get_image_channel_order(read_write image2d_depth_t image);
15102 int __ovld __cnfn get_image_channel_order(read_write image2d_array_depth_t image);
15103 #endif //cl_khr_depth_images
15104 #if defined(cl_khr_gl_msaa_sharing)
15105 int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_t image);
15106 int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_depth_t image);
15107 int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_t image);
15108 int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_depth_t image);
15109 #endif //cl_khr_gl_msaa_sharing
15110 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15111
15112 /**
15113  * Return the 2D image width and height as an int2
15114  * type. The width is returned in the x component, and
15115  * the height in the y component.
15116  */
15117 int2 __ovld __cnfn get_image_dim(read_only image2d_t image);
15118 int2 __ovld __cnfn get_image_dim(read_only image2d_array_t image);
15119 #ifdef cl_khr_depth_images
15120 int2 __ovld __cnfn get_image_dim(read_only image2d_array_depth_t image);
15121 int2 __ovld __cnfn get_image_dim(read_only image2d_depth_t image);
15122 #endif //cl_khr_depth_images
15123 #if defined(cl_khr_gl_msaa_sharing)
15124 int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_t image);
15125 int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_depth_t image);
15126 int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_t image);
15127 int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_depth_t image);
15128 #endif //cl_khr_gl_msaa_sharing
15129
15130 int2 __ovld __cnfn get_image_dim(write_only image2d_t image);
15131 int2 __ovld __cnfn get_image_dim(write_only image2d_array_t image);
15132 #ifdef cl_khr_depth_images
15133 int2 __ovld __cnfn get_image_dim(write_only image2d_array_depth_t image);
15134 int2 __ovld __cnfn get_image_dim(write_only image2d_depth_t image);
15135 #endif //cl_khr_depth_images
15136 #if defined(cl_khr_gl_msaa_sharing)
15137 int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_t image);
15138 int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_depth_t image);
15139 int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_t image);
15140 int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_depth_t image);
15141 #endif //cl_khr_gl_msaa_sharing
15142
15143 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15144 int2 __ovld __cnfn get_image_dim(read_write image2d_t image);
15145 int2 __ovld __cnfn get_image_dim(read_write image2d_array_t image);
15146 #ifdef cl_khr_depth_images
15147 int2 __ovld __cnfn get_image_dim(read_write image2d_array_depth_t image);
15148 int2 __ovld __cnfn get_image_dim(read_write image2d_depth_t image);
15149 #endif //cl_khr_depth_images
15150 #if defined(cl_khr_gl_msaa_sharing)
15151 int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_t image);
15152 int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_depth_t image);
15153 int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_t image);
15154 int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_depth_t image);
15155 #endif //cl_khr_gl_msaa_sharing
15156 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15157
15158 /**
15159  * Return the 3D image width, height, and depth as an
15160  * int4 type. The width is returned in the x
15161  * component, height in the y component, depth in the z
15162  * component and the w component is 0.
15163  */
15164 int4 __ovld __cnfn get_image_dim(read_only image3d_t image);
15165 #ifdef cl_khr_3d_image_writes
15166 int4 __ovld __cnfn get_image_dim(write_only image3d_t image);
15167 #endif
15168 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15169 int4 __ovld __cnfn get_image_dim(read_write image3d_t image);
15170 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15171
15172 /**
15173  * Return the image array size.
15174  */
15175
15176 size_t __ovld __cnfn get_image_array_size(read_only image1d_array_t image_array);
15177 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_t image_array);
15178 #ifdef cl_khr_depth_images
15179 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_depth_t image_array);
15180 #endif //cl_khr_depth_images
15181 #if defined(cl_khr_gl_msaa_sharing)
15182 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_t image_array);
15183 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_depth_t image_array);
15184 #endif //cl_khr_gl_msaa_sharing
15185
15186 size_t __ovld __cnfn get_image_array_size(write_only image1d_array_t image_array);
15187 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_t image_array);
15188 #ifdef cl_khr_depth_images
15189 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_depth_t image_array);
15190 #endif //cl_khr_depth_images
15191 #if defined(cl_khr_gl_msaa_sharing)
15192 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_t image_array);
15193 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_depth_t image_array);
15194 #endif //cl_khr_gl_msaa_sharing
15195
15196 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15197 size_t __ovld __cnfn get_image_array_size(read_write image1d_array_t image_array);
15198 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_t image_array);
15199 #ifdef cl_khr_depth_images
15200 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_depth_t image_array);
15201 #endif //cl_khr_depth_images
15202 #if defined(cl_khr_gl_msaa_sharing)
15203 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_t image_array);
15204 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_depth_t image_array);
15205 #endif //cl_khr_gl_msaa_sharing
15206 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15207
15208 /**
15209 * Return the number of samples associated with image
15210 */
15211 #if defined(cl_khr_gl_msaa_sharing)
15212 int __ovld get_image_num_samples(read_only image2d_msaa_t image);
15213 int __ovld get_image_num_samples(read_only image2d_msaa_depth_t image);
15214 int __ovld get_image_num_samples(read_only image2d_array_msaa_t image);
15215 int __ovld get_image_num_samples(read_only image2d_array_msaa_depth_t image);
15216
15217 int __ovld get_image_num_samples(write_only image2d_msaa_t image);
15218 int __ovld get_image_num_samples(write_only image2d_msaa_depth_t image);
15219 int __ovld get_image_num_samples(write_only image2d_array_msaa_t image);
15220 int __ovld get_image_num_samples(write_only image2d_array_msaa_depth_t image);
15221
15222 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15223 int __ovld get_image_num_samples(read_write image2d_msaa_t image);
15224 int __ovld get_image_num_samples(read_write image2d_msaa_depth_t image);
15225 int __ovld get_image_num_samples(read_write image2d_array_msaa_t image);
15226 int __ovld get_image_num_samples(read_write image2d_array_msaa_depth_t image);
15227 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15228 #endif
15229
15230 // OpenCL v2.0 s6.13.15 - Work-group Functions
15231
15232 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15233 int __ovld __conv work_group_all(int predicate);
15234 int __ovld __conv work_group_any(int predicate);
15235
15236 #ifdef cl_khr_fp16
15237 half __ovld __conv work_group_broadcast(half a, size_t local_id);
15238 half __ovld __conv work_group_broadcast(half a, size_t x, size_t y);
15239 half __ovld __conv work_group_broadcast(half a, size_t x, size_t y, size_t z);
15240 #endif
15241 int __ovld __conv work_group_broadcast(int a, size_t local_id);
15242 int __ovld __conv work_group_broadcast(int a, size_t x, size_t y);
15243 int __ovld __conv work_group_broadcast(int a, size_t x, size_t y, size_t z);
15244 uint __ovld __conv work_group_broadcast(uint a, size_t local_id);
15245 uint __ovld __conv work_group_broadcast(uint a, size_t x, size_t y);
15246 uint __ovld __conv work_group_broadcast(uint a, size_t x, size_t y, size_t z);
15247 long __ovld __conv work_group_broadcast(long a, size_t local_id);
15248 long __ovld __conv work_group_broadcast(long a, size_t x, size_t y);
15249 long __ovld __conv work_group_broadcast(long a, size_t x, size_t y, size_t z);
15250 ulong __ovld __conv work_group_broadcast(ulong a, size_t local_id);
15251 ulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y);
15252 ulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y, size_t z);
15253 float __ovld __conv work_group_broadcast(float a, size_t local_id);
15254 float __ovld __conv work_group_broadcast(float a, size_t x, size_t y);
15255 float __ovld __conv work_group_broadcast(float a, size_t x, size_t y, size_t z);
15256 #ifdef cl_khr_fp64
15257 double __ovld __conv work_group_broadcast(double a, size_t local_id);
15258 double __ovld __conv work_group_broadcast(double a, size_t x, size_t y);
15259 double __ovld __conv work_group_broadcast(double a, size_t x, size_t y, size_t z);
15260 #endif //cl_khr_fp64
15261
15262 #ifdef cl_khr_fp16
15263 half __ovld __conv work_group_reduce_add(half x);
15264 half __ovld __conv work_group_reduce_min(half x);
15265 half __ovld __conv work_group_reduce_max(half x);
15266 half __ovld __conv work_group_scan_exclusive_add(half x);
15267 half __ovld __conv work_group_scan_exclusive_min(half x);
15268 half __ovld __conv work_group_scan_exclusive_max(half x);
15269 half __ovld __conv work_group_scan_inclusive_add(half x);
15270 half __ovld __conv work_group_scan_inclusive_min(half x);
15271 half __ovld __conv work_group_scan_inclusive_max(half x);
15272 #endif
15273 int __ovld __conv work_group_reduce_add(int x);
15274 int __ovld __conv work_group_reduce_min(int x);
15275 int __ovld __conv work_group_reduce_max(int x);
15276 int __ovld __conv work_group_scan_exclusive_add(int x);
15277 int __ovld __conv work_group_scan_exclusive_min(int x);
15278 int __ovld __conv work_group_scan_exclusive_max(int x);
15279 int __ovld __conv work_group_scan_inclusive_add(int x);
15280 int __ovld __conv work_group_scan_inclusive_min(int x);
15281 int __ovld __conv work_group_scan_inclusive_max(int x);
15282 uint __ovld __conv work_group_reduce_add(uint x);
15283 uint __ovld __conv work_group_reduce_min(uint x);
15284 uint __ovld __conv work_group_reduce_max(uint x);
15285 uint __ovld __conv work_group_scan_exclusive_add(uint x);
15286 uint __ovld __conv work_group_scan_exclusive_min(uint x);
15287 uint __ovld __conv work_group_scan_exclusive_max(uint x);
15288 uint __ovld __conv work_group_scan_inclusive_add(uint x);
15289 uint __ovld __conv work_group_scan_inclusive_min(uint x);
15290 uint __ovld __conv work_group_scan_inclusive_max(uint x);
15291 long __ovld __conv work_group_reduce_add(long x);
15292 long __ovld __conv work_group_reduce_min(long x);
15293 long __ovld __conv work_group_reduce_max(long x);
15294 long __ovld __conv work_group_scan_exclusive_add(long x);
15295 long __ovld __conv work_group_scan_exclusive_min(long x);
15296 long __ovld __conv work_group_scan_exclusive_max(long x);
15297 long __ovld __conv work_group_scan_inclusive_add(long x);
15298 long __ovld __conv work_group_scan_inclusive_min(long x);
15299 long __ovld __conv work_group_scan_inclusive_max(long x);
15300 ulong __ovld __conv work_group_reduce_add(ulong x);
15301 ulong __ovld __conv work_group_reduce_min(ulong x);
15302 ulong __ovld __conv work_group_reduce_max(ulong x);
15303 ulong __ovld __conv work_group_scan_exclusive_add(ulong x);
15304 ulong __ovld __conv work_group_scan_exclusive_min(ulong x);
15305 ulong __ovld __conv work_group_scan_exclusive_max(ulong x);
15306 ulong __ovld __conv work_group_scan_inclusive_add(ulong x);
15307 ulong __ovld __conv work_group_scan_inclusive_min(ulong x);
15308 ulong __ovld __conv work_group_scan_inclusive_max(ulong x);
15309 float __ovld __conv work_group_reduce_add(float x);
15310 float __ovld __conv work_group_reduce_min(float x);
15311 float __ovld __conv work_group_reduce_max(float x);
15312 float __ovld __conv work_group_scan_exclusive_add(float x);
15313 float __ovld __conv work_group_scan_exclusive_min(float x);
15314 float __ovld __conv work_group_scan_exclusive_max(float x);
15315 float __ovld __conv work_group_scan_inclusive_add(float x);
15316 float __ovld __conv work_group_scan_inclusive_min(float x);
15317 float __ovld __conv work_group_scan_inclusive_max(float x);
15318 #ifdef cl_khr_fp64
15319 double __ovld __conv work_group_reduce_add(double x);
15320 double __ovld __conv work_group_reduce_min(double x);
15321 double __ovld __conv work_group_reduce_max(double x);
15322 double __ovld __conv work_group_scan_exclusive_add(double x);
15323 double __ovld __conv work_group_scan_exclusive_min(double x);
15324 double __ovld __conv work_group_scan_exclusive_max(double x);
15325 double __ovld __conv work_group_scan_inclusive_add(double x);
15326 double __ovld __conv work_group_scan_inclusive_min(double x);
15327 double __ovld __conv work_group_scan_inclusive_max(double x);
15328 #endif //cl_khr_fp64
15329
15330 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15331
15332 // OpenCL v2.0 s6.13.16 - Pipe Functions
15333 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15334 bool __ovld is_valid_reserve_id(reserve_id_t reserve_id);
15335 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15336
15337
15338 // OpenCL v2.0 s6.13.17 - Enqueue Kernels
15339 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15340
15341 ndrange_t __ovld ndrange_1D(size_t);
15342 ndrange_t __ovld ndrange_1D(size_t, size_t);
15343 ndrange_t __ovld ndrange_1D(size_t, size_t, size_t);
15344
15345 ndrange_t __ovld ndrange_2D(const size_t[2]);
15346 ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2]);
15347 ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2], const size_t[2]);
15348
15349 ndrange_t __ovld ndrange_3D(const size_t[3]);
15350 ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3]);
15351 ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3], const size_t[3]);
15352
15353 int __ovld enqueue_marker(queue_t, uint, const clk_event_t*, clk_event_t*);
15354
15355 void __ovld retain_event(clk_event_t);
15356
15357 void __ovld release_event(clk_event_t);
15358
15359 clk_event_t __ovld create_user_event(void);
15360
15361 void __ovld set_user_event_status(clk_event_t e, int state);
15362
15363 bool __ovld is_valid_event (clk_event_t event);
15364
15365 void __ovld capture_event_profiling_info(clk_event_t, clk_profiling_info, __global void* value);
15366
15367 queue_t __ovld get_default_queue(void);
15368 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15369
15370 // OpenCL Extension v2.0 s9.17 - Sub-groups
15371
15372 #if defined(cl_intel_subgroups) || defined(cl_khr_subgroups)
15373 // Shared Sub Group Functions
15374 uint    __ovld get_sub_group_size(void);
15375 uint    __ovld get_max_sub_group_size(void);
15376 uint    __ovld get_num_sub_groups(void);
15377 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15378 uint    __ovld get_enqueued_num_sub_groups(void);
15379 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15380 uint    __ovld get_sub_group_id(void);
15381 uint    __ovld get_sub_group_local_id(void);
15382
15383 void    __ovld __conv sub_group_barrier(cl_mem_fence_flags flags);
15384 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15385 void    __ovld __conv sub_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
15386 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15387
15388 int     __ovld __conv sub_group_all(int predicate);
15389 int     __ovld __conv sub_group_any(int predicate);
15390
15391 int     __ovld __conv sub_group_broadcast(int   x, uint sub_group_local_id);
15392 uint    __ovld __conv sub_group_broadcast(uint  x, uint sub_group_local_id);
15393 long    __ovld __conv sub_group_broadcast(long  x, uint sub_group_local_id);
15394 ulong   __ovld __conv sub_group_broadcast(ulong x, uint sub_group_local_id);
15395 float   __ovld __conv sub_group_broadcast(float x, uint sub_group_local_id);
15396
15397 int     __ovld __conv sub_group_reduce_add(int   x);
15398 uint    __ovld __conv sub_group_reduce_add(uint  x);
15399 long    __ovld __conv sub_group_reduce_add(long  x);
15400 ulong   __ovld __conv sub_group_reduce_add(ulong x);
15401 float   __ovld __conv sub_group_reduce_add(float x);
15402 int     __ovld __conv sub_group_reduce_min(int   x);
15403 uint    __ovld __conv sub_group_reduce_min(uint  x);
15404 long    __ovld __conv sub_group_reduce_min(long  x);
15405 ulong   __ovld __conv sub_group_reduce_min(ulong x);
15406 float   __ovld __conv sub_group_reduce_min(float x);
15407 int     __ovld __conv sub_group_reduce_max(int   x);
15408 uint    __ovld __conv sub_group_reduce_max(uint  x);
15409 long    __ovld __conv sub_group_reduce_max(long  x);
15410 ulong   __ovld __conv sub_group_reduce_max(ulong x);
15411 float   __ovld __conv sub_group_reduce_max(float x);
15412
15413 int     __ovld __conv sub_group_scan_exclusive_add(int   x);
15414 uint    __ovld __conv sub_group_scan_exclusive_add(uint  x);
15415 long    __ovld __conv sub_group_scan_exclusive_add(long  x);
15416 ulong   __ovld __conv sub_group_scan_exclusive_add(ulong x);
15417 float   __ovld __conv sub_group_scan_exclusive_add(float x);
15418 int     __ovld __conv sub_group_scan_exclusive_min(int   x);
15419 uint    __ovld __conv sub_group_scan_exclusive_min(uint  x);
15420 long    __ovld __conv sub_group_scan_exclusive_min(long  x);
15421 ulong   __ovld __conv sub_group_scan_exclusive_min(ulong x);
15422 float   __ovld __conv sub_group_scan_exclusive_min(float x);
15423 int     __ovld __conv sub_group_scan_exclusive_max(int   x);
15424 uint    __ovld __conv sub_group_scan_exclusive_max(uint  x);
15425 long    __ovld __conv sub_group_scan_exclusive_max(long  x);
15426 ulong   __ovld __conv sub_group_scan_exclusive_max(ulong x);
15427 float   __ovld __conv sub_group_scan_exclusive_max(float x);
15428
15429 int     __ovld __conv sub_group_scan_inclusive_add(int   x);
15430 uint    __ovld __conv sub_group_scan_inclusive_add(uint  x);
15431 long    __ovld __conv sub_group_scan_inclusive_add(long  x);
15432 ulong   __ovld __conv sub_group_scan_inclusive_add(ulong x);
15433 float   __ovld __conv sub_group_scan_inclusive_add(float x);
15434 int     __ovld __conv sub_group_scan_inclusive_min(int   x);
15435 uint    __ovld __conv sub_group_scan_inclusive_min(uint  x);
15436 long    __ovld __conv sub_group_scan_inclusive_min(long  x);
15437 ulong   __ovld __conv sub_group_scan_inclusive_min(ulong x);
15438 float   __ovld __conv sub_group_scan_inclusive_min(float x);
15439 int     __ovld __conv sub_group_scan_inclusive_max(int   x);
15440 uint    __ovld __conv sub_group_scan_inclusive_max(uint  x);
15441 long    __ovld __conv sub_group_scan_inclusive_max(long  x);
15442 ulong   __ovld __conv sub_group_scan_inclusive_max(ulong x);
15443 float   __ovld __conv sub_group_scan_inclusive_max(float x);
15444
15445 #ifdef cl_khr_fp16
15446 half    __ovld __conv sub_group_broadcast(half x, uint sub_group_local_id);
15447 half    __ovld __conv sub_group_reduce_add(half x);
15448 half    __ovld __conv sub_group_reduce_min(half x);
15449 half    __ovld __conv sub_group_reduce_max(half x);
15450 half    __ovld __conv sub_group_scan_exclusive_add(half x);
15451 half    __ovld __conv sub_group_scan_exclusive_min(half x);
15452 half    __ovld __conv sub_group_scan_exclusive_max(half x);
15453 half    __ovld __conv sub_group_scan_inclusive_add(half x);
15454 half    __ovld __conv sub_group_scan_inclusive_min(half x);
15455 half    __ovld __conv sub_group_scan_inclusive_max(half x);
15456 #endif //cl_khr_fp16
15457
15458 #ifdef cl_khr_fp64
15459 double  __ovld __conv sub_group_broadcast(double x, uint sub_group_local_id);
15460 double  __ovld __conv sub_group_reduce_add(double x);
15461 double  __ovld __conv sub_group_reduce_min(double x);
15462 double  __ovld __conv sub_group_reduce_max(double x);
15463 double  __ovld __conv sub_group_scan_exclusive_add(double x);
15464 double  __ovld __conv sub_group_scan_exclusive_min(double x);
15465 double  __ovld __conv sub_group_scan_exclusive_max(double x);
15466 double  __ovld __conv sub_group_scan_inclusive_add(double x);
15467 double  __ovld __conv sub_group_scan_inclusive_min(double x);
15468 double  __ovld __conv sub_group_scan_inclusive_max(double x);
15469 #endif //cl_khr_fp64
15470
15471 #endif //cl_khr_subgroups cl_intel_subgroups
15472
15473 #if defined(cl_intel_subgroups)
15474 // Intel-Specific Sub Group Functions
15475 float   __ovld __conv intel_sub_group_shuffle( float  x, uint c );
15476 float2  __ovld __conv intel_sub_group_shuffle( float2 x, uint c );
15477 float3  __ovld __conv intel_sub_group_shuffle( float3 x, uint c );
15478 float4  __ovld __conv intel_sub_group_shuffle( float4 x, uint c );
15479 float8  __ovld __conv intel_sub_group_shuffle( float8 x, uint c );
15480 float16 __ovld __conv intel_sub_group_shuffle( float16 x, uint c );
15481
15482 int     __ovld __conv intel_sub_group_shuffle( int  x, uint c );
15483 int2    __ovld __conv intel_sub_group_shuffle( int2 x, uint c );
15484 int3    __ovld __conv intel_sub_group_shuffle( int3 x, uint c );
15485 int4    __ovld __conv intel_sub_group_shuffle( int4 x, uint c );
15486 int8    __ovld __conv intel_sub_group_shuffle( int8 x, uint c );
15487 int16   __ovld __conv intel_sub_group_shuffle( int16 x, uint c );
15488
15489 uint    __ovld __conv intel_sub_group_shuffle( uint  x, uint c );
15490 uint2   __ovld __conv intel_sub_group_shuffle( uint2 x, uint c );
15491 uint3   __ovld __conv intel_sub_group_shuffle( uint3 x, uint c );
15492 uint4   __ovld __conv intel_sub_group_shuffle( uint4 x, uint c );
15493 uint8   __ovld __conv intel_sub_group_shuffle( uint8 x, uint c );
15494 uint16  __ovld __conv intel_sub_group_shuffle( uint16 x, uint c );
15495
15496 long    __ovld __conv intel_sub_group_shuffle( long x, uint c );
15497 ulong   __ovld __conv intel_sub_group_shuffle( ulong x, uint c );
15498
15499 float   __ovld __conv intel_sub_group_shuffle_down( float  cur, float  next, uint c );
15500 float2  __ovld __conv intel_sub_group_shuffle_down( float2 cur, float2 next, uint c );
15501 float3  __ovld __conv intel_sub_group_shuffle_down( float3 cur, float3 next, uint c );
15502 float4  __ovld __conv intel_sub_group_shuffle_down( float4 cur, float4 next, uint c );
15503 float8  __ovld __conv intel_sub_group_shuffle_down( float8 cur, float8 next, uint c );
15504 float16 __ovld __conv intel_sub_group_shuffle_down( float16 cur, float16 next, uint c );
15505
15506 int     __ovld __conv intel_sub_group_shuffle_down( int  cur, int  next, uint c );
15507 int2    __ovld __conv intel_sub_group_shuffle_down( int2 cur, int2 next, uint c );
15508 int3    __ovld __conv intel_sub_group_shuffle_down( int3 cur, int3 next, uint c );
15509 int4    __ovld __conv intel_sub_group_shuffle_down( int4 cur, int4 next, uint c );
15510 int8    __ovld __conv intel_sub_group_shuffle_down( int8 cur, int8 next, uint c );
15511 int16   __ovld __conv intel_sub_group_shuffle_down( int16 cur, int16 next, uint c );
15512
15513 uint    __ovld __conv intel_sub_group_shuffle_down( uint  cur, uint  next, uint c );
15514 uint2   __ovld __conv intel_sub_group_shuffle_down( uint2 cur, uint2 next, uint c );
15515 uint3   __ovld __conv intel_sub_group_shuffle_down( uint3 cur, uint3 next, uint c );
15516 uint4   __ovld __conv intel_sub_group_shuffle_down( uint4 cur, uint4 next, uint c );
15517 uint8   __ovld __conv intel_sub_group_shuffle_down( uint8 cur, uint8 next, uint c );
15518 uint16  __ovld __conv intel_sub_group_shuffle_down( uint16 cur, uint16 next, uint c );
15519
15520 long    __ovld __conv intel_sub_group_shuffle_down( long prev, long cur, uint c );
15521 ulong   __ovld __conv intel_sub_group_shuffle_down( ulong prev, ulong cur, uint c );
15522
15523 float   __ovld __conv intel_sub_group_shuffle_up( float  prev, float  cur, uint c );
15524 float2  __ovld __conv intel_sub_group_shuffle_up( float2 prev, float2 cur, uint c );
15525 float3  __ovld __conv intel_sub_group_shuffle_up( float3 prev, float3 cur, uint c );
15526 float4  __ovld __conv intel_sub_group_shuffle_up( float4 prev, float4 cur, uint c );
15527 float8  __ovld __conv intel_sub_group_shuffle_up( float8 prev, float8 cur, uint c );
15528 float16 __ovld __conv intel_sub_group_shuffle_up( float16 prev, float16 cur, uint c );
15529
15530 int     __ovld __conv intel_sub_group_shuffle_up( int  prev, int  cur, uint c );
15531 int2    __ovld __conv intel_sub_group_shuffle_up( int2 prev, int2 cur, uint c );
15532 int3    __ovld __conv intel_sub_group_shuffle_up( int3 prev, int3 cur, uint c );
15533 int4    __ovld __conv intel_sub_group_shuffle_up( int4 prev, int4 cur, uint c );
15534 int8    __ovld __conv intel_sub_group_shuffle_up( int8 prev, int8 cur, uint c );
15535 int16   __ovld __conv intel_sub_group_shuffle_up( int16 prev, int16 cur, uint c );
15536
15537 uint    __ovld __conv intel_sub_group_shuffle_up( uint  prev, uint  cur, uint c );
15538 uint2   __ovld __conv intel_sub_group_shuffle_up( uint2 prev, uint2 cur, uint c );
15539 uint3   __ovld __conv intel_sub_group_shuffle_up( uint3 prev, uint3 cur, uint c );
15540 uint4   __ovld __conv intel_sub_group_shuffle_up( uint4 prev, uint4 cur, uint c );
15541 uint8   __ovld __conv intel_sub_group_shuffle_up( uint8 prev, uint8 cur, uint c );
15542 uint16  __ovld __conv intel_sub_group_shuffle_up( uint16 prev, uint16 cur, uint c );
15543
15544 long    __ovld __conv intel_sub_group_shuffle_up( long prev, long cur, uint c );
15545 ulong   __ovld __conv intel_sub_group_shuffle_up( ulong prev, ulong cur, uint c );
15546
15547 float   __ovld __conv intel_sub_group_shuffle_xor( float  x, uint c );
15548 float2  __ovld __conv intel_sub_group_shuffle_xor( float2 x, uint c );
15549 float3  __ovld __conv intel_sub_group_shuffle_xor( float3 x, uint c );
15550 float4  __ovld __conv intel_sub_group_shuffle_xor( float4 x, uint c );
15551 float8  __ovld __conv intel_sub_group_shuffle_xor( float8 x, uint c );
15552 float16 __ovld __conv intel_sub_group_shuffle_xor( float16 x, uint c );
15553
15554 int     __ovld __conv intel_sub_group_shuffle_xor( int  x, uint c );
15555 int2    __ovld __conv intel_sub_group_shuffle_xor( int2 x, uint c );
15556 int3    __ovld __conv intel_sub_group_shuffle_xor( int3 x, uint c );
15557 int4    __ovld __conv intel_sub_group_shuffle_xor( int4 x, uint c );
15558 int8    __ovld __conv intel_sub_group_shuffle_xor( int8 x, uint c );
15559 int16   __ovld __conv intel_sub_group_shuffle_xor( int16 x, uint c );
15560
15561 uint    __ovld __conv intel_sub_group_shuffle_xor( uint  x, uint c );
15562 uint2   __ovld __conv intel_sub_group_shuffle_xor( uint2 x, uint c );
15563 uint3   __ovld __conv intel_sub_group_shuffle_xor( uint3 x, uint c );
15564 uint4   __ovld __conv intel_sub_group_shuffle_xor( uint4 x, uint c );
15565 uint8   __ovld __conv intel_sub_group_shuffle_xor( uint8 x, uint c );
15566 uint16  __ovld __conv intel_sub_group_shuffle_xor( uint16 x, uint c );
15567
15568 long    __ovld __conv intel_sub_group_shuffle_xor( long x, uint c );
15569 ulong   __ovld __conv intel_sub_group_shuffle_xor( ulong x, uint c );
15570
15571 uint    __ovld __conv intel_sub_group_block_read( read_only image2d_t image, int2 coord );
15572 uint2   __ovld __conv intel_sub_group_block_read2( read_only image2d_t image, int2 coord );
15573 uint4   __ovld __conv intel_sub_group_block_read4( read_only image2d_t image, int2 coord );
15574 uint8   __ovld __conv intel_sub_group_block_read8( read_only image2d_t image, int2 coord );
15575
15576 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15577 uint    __ovld __conv intel_sub_group_block_read(read_write image2d_t image, int2 coord);
15578 uint2   __ovld __conv intel_sub_group_block_read2(read_write image2d_t image, int2 coord);
15579 uint4   __ovld __conv intel_sub_group_block_read4(read_write image2d_t image, int2 coord);
15580 uint8   __ovld __conv intel_sub_group_block_read8(read_write image2d_t image, int2 coord);
15581 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15582
15583 uint    __ovld __conv intel_sub_group_block_read( const __global uint* p );
15584 uint2   __ovld __conv intel_sub_group_block_read2( const __global uint* p );
15585 uint4   __ovld __conv intel_sub_group_block_read4( const __global uint* p );
15586 uint8   __ovld __conv intel_sub_group_block_read8( const __global uint* p );
15587
15588 void    __ovld __conv intel_sub_group_block_write(write_only image2d_t image, int2 coord, uint data);
15589 void    __ovld __conv intel_sub_group_block_write2(write_only image2d_t image, int2 coord, uint2 data);
15590 void    __ovld __conv intel_sub_group_block_write4(write_only image2d_t image, int2 coord, uint4 data);
15591 void    __ovld __conv intel_sub_group_block_write8(write_only image2d_t image, int2 coord, uint8 data);
15592
15593 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15594 void    __ovld __conv intel_sub_group_block_write(read_write image2d_t image, int2 coord, uint data);
15595 void    __ovld __conv intel_sub_group_block_write2(read_write image2d_t image, int2 coord, uint2 data);
15596 void    __ovld __conv intel_sub_group_block_write4(read_write image2d_t image, int2 coord, uint4 data);
15597 void    __ovld __conv intel_sub_group_block_write8(read_write image2d_t image, int2 coord, uint8 data);
15598 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15599
15600 void    __ovld __conv intel_sub_group_block_write( __global uint* p, uint data );
15601 void    __ovld __conv intel_sub_group_block_write2( __global uint* p, uint2 data );
15602 void    __ovld __conv intel_sub_group_block_write4( __global uint* p, uint4 data );
15603 void    __ovld __conv intel_sub_group_block_write8( __global uint* p, uint8 data );
15604
15605 #ifdef cl_khr_fp16
15606 half    __ovld __conv intel_sub_group_shuffle( half x, uint c );
15607 half    __ovld __conv intel_sub_group_shuffle_down( half prev, half cur, uint c );
15608 half    __ovld __conv intel_sub_group_shuffle_up( half prev, half cur, uint c );
15609 half    __ovld __conv intel_sub_group_shuffle_xor( half x, uint c );
15610 #endif
15611
15612 #if defined(cl_khr_fp64)
15613 double  __ovld __conv intel_sub_group_shuffle( double x, uint c );
15614 double  __ovld __conv intel_sub_group_shuffle_down( double prev, double cur, uint c );
15615 double  __ovld __conv intel_sub_group_shuffle_up( double prev, double cur, uint c );
15616 double  __ovld __conv intel_sub_group_shuffle_xor( double x, uint c );
15617 #endif
15618
15619 #endif //cl_intel_subgroups
15620
15621 #if defined(cl_intel_subgroups_short)
15622 short       __ovld __conv intel_sub_group_broadcast( short  x, uint sub_group_local_id );
15623 short2      __ovld __conv intel_sub_group_broadcast( short2 x, uint sub_group_local_id );
15624 short3      __ovld __conv intel_sub_group_broadcast( short3 x, uint sub_group_local_id );
15625 short4      __ovld __conv intel_sub_group_broadcast( short4 x, uint sub_group_local_id );
15626 short8      __ovld __conv intel_sub_group_broadcast( short8 x, uint sub_group_local_id );
15627
15628 ushort      __ovld __conv intel_sub_group_broadcast( ushort  x, uint sub_group_local_id );
15629 ushort2     __ovld __conv intel_sub_group_broadcast( ushort2 x, uint sub_group_local_id );
15630 ushort3     __ovld __conv intel_sub_group_broadcast( ushort3 x, uint sub_group_local_id );
15631 ushort4     __ovld __conv intel_sub_group_broadcast( ushort4 x, uint sub_group_local_id );
15632 ushort8     __ovld __conv intel_sub_group_broadcast( ushort8 x, uint sub_group_local_id );
15633
15634 short       __ovld __conv intel_sub_group_shuffle( short   x, uint c );
15635 short2      __ovld __conv intel_sub_group_shuffle( short2  x, uint c );
15636 short3      __ovld __conv intel_sub_group_shuffle( short3  x, uint c );
15637 short4      __ovld __conv intel_sub_group_shuffle( short4  x, uint c );
15638 short8      __ovld __conv intel_sub_group_shuffle( short8  x, uint c );
15639 short16     __ovld __conv intel_sub_group_shuffle( short16 x, uint c);
15640
15641 ushort      __ovld __conv intel_sub_group_shuffle( ushort   x, uint c );
15642 ushort2     __ovld __conv intel_sub_group_shuffle( ushort2  x, uint c );
15643 ushort3     __ovld __conv intel_sub_group_shuffle( ushort3  x, uint c );
15644 ushort4     __ovld __conv intel_sub_group_shuffle( ushort4  x, uint c );
15645 ushort8     __ovld __conv intel_sub_group_shuffle( ushort8  x, uint c );
15646 ushort16    __ovld __conv intel_sub_group_shuffle( ushort16 x, uint c );
15647
15648 short       __ovld __conv intel_sub_group_shuffle_down( short   cur, short   next, uint c );
15649 short2      __ovld __conv intel_sub_group_shuffle_down( short2  cur, short2  next, uint c );
15650 short3      __ovld __conv intel_sub_group_shuffle_down( short3  cur, short3  next, uint c );
15651 short4      __ovld __conv intel_sub_group_shuffle_down( short4  cur, short4  next, uint c );
15652 short8      __ovld __conv intel_sub_group_shuffle_down( short8  cur, short8  next, uint c );
15653 short16     __ovld __conv intel_sub_group_shuffle_down( short16 cur, short16 next, uint c );
15654
15655 ushort      __ovld __conv intel_sub_group_shuffle_down( ushort   cur, ushort   next, uint c );
15656 ushort2     __ovld __conv intel_sub_group_shuffle_down( ushort2  cur, ushort2  next, uint c );
15657 ushort3     __ovld __conv intel_sub_group_shuffle_down( ushort3  cur, ushort3  next, uint c );
15658 ushort4     __ovld __conv intel_sub_group_shuffle_down( ushort4  cur, ushort4  next, uint c );
15659 ushort8     __ovld __conv intel_sub_group_shuffle_down( ushort8  cur, ushort8  next, uint c );
15660 ushort16    __ovld __conv intel_sub_group_shuffle_down( ushort16 cur, ushort16 next, uint c );
15661
15662 short       __ovld __conv intel_sub_group_shuffle_up( short   cur, short   next, uint c );
15663 short2      __ovld __conv intel_sub_group_shuffle_up( short2  cur, short2  next, uint c );
15664 short3      __ovld __conv intel_sub_group_shuffle_up( short3  cur, short3  next, uint c );
15665 short4      __ovld __conv intel_sub_group_shuffle_up( short4  cur, short4  next, uint c );
15666 short8      __ovld __conv intel_sub_group_shuffle_up( short8  cur, short8  next, uint c );
15667 short16     __ovld __conv intel_sub_group_shuffle_up( short16 cur, short16 next, uint c );
15668
15669 ushort      __ovld __conv intel_sub_group_shuffle_up( ushort   cur, ushort   next, uint c );
15670 ushort2     __ovld __conv intel_sub_group_shuffle_up( ushort2  cur, ushort2  next, uint c );
15671 ushort3     __ovld __conv intel_sub_group_shuffle_up( ushort3  cur, ushort3  next, uint c );
15672 ushort4     __ovld __conv intel_sub_group_shuffle_up( ushort4  cur, ushort4  next, uint c );
15673 ushort8     __ovld __conv intel_sub_group_shuffle_up( ushort8  cur, ushort8  next, uint c );
15674 ushort16    __ovld __conv intel_sub_group_shuffle_up( ushort16 cur, ushort16 next, uint c );
15675
15676 short       __ovld __conv intel_sub_group_shuffle_xor( short   x, uint c );
15677 short2      __ovld __conv intel_sub_group_shuffle_xor( short2  x, uint c );
15678 short3      __ovld __conv intel_sub_group_shuffle_xor( short3  x, uint c );
15679 short4      __ovld __conv intel_sub_group_shuffle_xor( short4  x, uint c );
15680 short8      __ovld __conv intel_sub_group_shuffle_xor( short8  x, uint c );
15681 short16     __ovld __conv intel_sub_group_shuffle_xor( short16 x, uint c );
15682
15683 ushort      __ovld __conv intel_sub_group_shuffle_xor( ushort   x, uint c );
15684 ushort2     __ovld __conv intel_sub_group_shuffle_xor( ushort2  x, uint c );
15685 ushort3     __ovld __conv intel_sub_group_shuffle_xor( ushort3  x, uint c );
15686 ushort4     __ovld __conv intel_sub_group_shuffle_xor( ushort4  x, uint c );
15687 ushort8     __ovld __conv intel_sub_group_shuffle_xor( ushort8  x, uint c );
15688 ushort16    __ovld __conv intel_sub_group_shuffle_xor( ushort16 x, uint c );
15689
15690 short       __ovld __conv intel_sub_group_reduce_add( short   x );
15691 ushort      __ovld __conv intel_sub_group_reduce_add( ushort  x );
15692 short       __ovld __conv intel_sub_group_reduce_min( short   x );
15693 ushort      __ovld __conv intel_sub_group_reduce_min( ushort  x );
15694 short       __ovld __conv intel_sub_group_reduce_max( short   x );
15695 ushort      __ovld __conv intel_sub_group_reduce_max( ushort  x );
15696
15697 short       __ovld __conv intel_sub_group_scan_exclusive_add( short   x );
15698 ushort      __ovld __conv intel_sub_group_scan_exclusive_add( ushort  x );
15699 short       __ovld __conv intel_sub_group_scan_exclusive_min( short   x );
15700 ushort      __ovld __conv intel_sub_group_scan_exclusive_min( ushort  x );
15701 short       __ovld __conv intel_sub_group_scan_exclusive_max( short   x );
15702 ushort      __ovld __conv intel_sub_group_scan_exclusive_max( ushort  x );
15703
15704 short       __ovld __conv intel_sub_group_scan_inclusive_add( short   x );
15705 ushort      __ovld __conv intel_sub_group_scan_inclusive_add( ushort  x );
15706 short       __ovld __conv intel_sub_group_scan_inclusive_min( short   x );
15707 ushort      __ovld __conv intel_sub_group_scan_inclusive_min( ushort  x );
15708 short       __ovld __conv intel_sub_group_scan_inclusive_max( short   x );
15709 ushort      __ovld __conv intel_sub_group_scan_inclusive_max( ushort  x );
15710
15711 uint       __ovld __conv intel_sub_group_block_read_ui( read_only image2d_t image, int2 byte_coord );
15712 uint2      __ovld __conv intel_sub_group_block_read_ui2( read_only image2d_t image, int2 byte_coord );
15713 uint4      __ovld __conv intel_sub_group_block_read_ui4( read_only image2d_t image, int2 byte_coord );
15714 uint8      __ovld __conv intel_sub_group_block_read_ui8( read_only image2d_t image, int2 byte_coord );
15715
15716 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15717 uint       __ovld __conv intel_sub_group_block_read_ui( read_write image2d_t image, int2 byte_coord );
15718 uint2      __ovld __conv intel_sub_group_block_read_ui2( read_write image2d_t image, int2 byte_coord );
15719 uint4      __ovld __conv intel_sub_group_block_read_ui4( read_write image2d_t image, int2 byte_coord );
15720 uint8      __ovld __conv intel_sub_group_block_read_ui8( read_write image2d_t image, int2 byte_coord );
15721 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15722
15723 uint       __ovld __conv intel_sub_group_block_read_ui( const __global uint* p );
15724 uint2      __ovld __conv intel_sub_group_block_read_ui2( const __global uint* p );
15725 uint4      __ovld __conv intel_sub_group_block_read_ui4( const __global uint* p );
15726 uint8      __ovld __conv intel_sub_group_block_read_ui8( const __global uint* p );
15727
15728 void       __ovld __conv intel_sub_group_block_write_ui( read_only image2d_t image, int2 byte_coord, uint data );
15729 void       __ovld __conv intel_sub_group_block_write_ui2( read_only image2d_t image, int2 byte_coord, uint2 data );
15730 void       __ovld __conv intel_sub_group_block_write_ui4( read_only image2d_t image, int2 byte_coord, uint4 data );
15731 void       __ovld __conv intel_sub_group_block_write_ui8( read_only image2d_t image, int2 byte_coord, uint8 data );
15732
15733 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15734 void       __ovld __conv intel_sub_group_block_write_ui( read_write image2d_t image, int2 byte_coord, uint data );
15735 void       __ovld __conv intel_sub_group_block_write_ui2( read_write image2d_t image, int2 byte_coord, uint2 data );
15736 void       __ovld __conv intel_sub_group_block_write_ui4( read_write image2d_t image, int2 byte_coord, uint4 data );
15737 void       __ovld __conv intel_sub_group_block_write_ui8( read_write image2d_t image, int2 byte_coord, uint8 data );
15738 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15739
15740 void       __ovld __conv intel_sub_group_block_write_ui( __global uint* p, uint data );
15741 void       __ovld __conv intel_sub_group_block_write_ui2( __global uint* p, uint2 data );
15742 void       __ovld __conv intel_sub_group_block_write_ui4( __global uint* p, uint4 data );
15743 void       __ovld __conv intel_sub_group_block_write_ui8( __global uint* p, uint8 data );
15744
15745 ushort      __ovld __conv intel_sub_group_block_read_us( read_only image2d_t image, int2 coord );
15746 ushort2     __ovld __conv intel_sub_group_block_read_us2( read_only image2d_t image, int2 coord );
15747 ushort4     __ovld __conv intel_sub_group_block_read_us4( read_only image2d_t image, int2 coord );
15748 ushort8     __ovld __conv intel_sub_group_block_read_us8( read_only image2d_t image, int2 coord );
15749
15750 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15751 ushort      __ovld __conv intel_sub_group_block_read_us(read_write image2d_t image, int2 coord);
15752 ushort2     __ovld __conv intel_sub_group_block_read_us2(read_write image2d_t image, int2 coord);
15753 ushort4     __ovld __conv intel_sub_group_block_read_us4(read_write image2d_t image, int2 coord);
15754 ushort8     __ovld __conv intel_sub_group_block_read_us8(read_write image2d_t image, int2 coord);
15755 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15756
15757 ushort      __ovld __conv intel_sub_group_block_read_us(  const __global ushort* p );
15758 ushort2     __ovld __conv intel_sub_group_block_read_us2( const __global ushort* p );
15759 ushort4     __ovld __conv intel_sub_group_block_read_us4( const __global ushort* p );
15760 ushort8     __ovld __conv intel_sub_group_block_read_us8( const __global ushort* p );
15761
15762 void        __ovld __conv intel_sub_group_block_write_us(write_only image2d_t image, int2 coord, ushort  data);
15763 void        __ovld __conv intel_sub_group_block_write_us2(write_only image2d_t image, int2 coord, ushort2 data);
15764 void        __ovld __conv intel_sub_group_block_write_us4(write_only image2d_t image, int2 coord, ushort4 data);
15765 void        __ovld __conv intel_sub_group_block_write_us8(write_only image2d_t image, int2 coord, ushort8 data);
15766
15767 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15768 void        __ovld __conv intel_sub_group_block_write_us(read_write image2d_t image, int2 coord, ushort  data);
15769 void        __ovld __conv intel_sub_group_block_write_us2(read_write image2d_t image, int2 coord, ushort2 data);
15770 void        __ovld __conv intel_sub_group_block_write_us4(read_write image2d_t image, int2 coord, ushort4 data);
15771 void        __ovld __conv intel_sub_group_block_write_us8(read_write image2d_t image, int2 coord, ushort8 data);
15772 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15773
15774 void        __ovld __conv intel_sub_group_block_write_us(  __global ushort* p, ushort  data );
15775 void        __ovld __conv intel_sub_group_block_write_us2( __global ushort* p, ushort2 data );
15776 void        __ovld __conv intel_sub_group_block_write_us4( __global ushort* p, ushort4 data );
15777 void        __ovld __conv intel_sub_group_block_write_us8( __global ushort* p, ushort8 data );
15778 #endif // cl_intel_subgroups_short
15779
15780 #ifdef cl_intel_device_side_avc_motion_estimation
15781 #pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : begin
15782
15783 // MCE built-in functions
15784 uchar __ovld
15785 intel_sub_group_avc_mce_get_default_inter_base_multi_reference_penalty(
15786     uchar slice_type, uchar qp);
15787 ulong __ovld intel_sub_group_avc_mce_get_default_inter_shape_penalty(
15788     uchar slice_type, uchar qp);
15789 uchar __ovld intel_sub_group_avc_mce_get_default_inter_direction_penalty(
15790     uchar slice_type, uchar qp);
15791 uint __ovld intel_sub_group_avc_mce_get_default_intra_luma_shape_penalty(
15792     uchar slice_type, uchar qp);
15793 uint2 __ovld
15794 intel_sub_group_avc_mce_get_default_inter_motion_vector_cost_table(
15795     uchar slice_type, uchar qp);
15796 uchar __ovld intel_sub_group_avc_mce_get_default_intra_luma_mode_penalty(
15797     uchar slice_type, uchar qp);
15798
15799 uint2 __ovld intel_sub_group_avc_mce_get_default_high_penalty_cost_table();
15800 uint2 __ovld intel_sub_group_avc_mce_get_default_medium_penalty_cost_table();
15801 uint2 __ovld intel_sub_group_avc_mce_get_default_low_penalty_cost_table();
15802 uint __ovld intel_sub_group_avc_mce_get_default_non_dc_luma_intra_penalty();
15803 uchar __ovld
15804 intel_sub_group_avc_mce_get_default_intra_chroma_mode_base_penalty();
15805
15806 intel_sub_group_avc_mce_payload_t __ovld
15807 intel_sub_group_avc_mce_set_inter_base_multi_reference_penalty(
15808     uchar reference_base_penalty, intel_sub_group_avc_mce_payload_t payload);
15809 intel_sub_group_avc_mce_payload_t __ovld
15810 intel_sub_group_avc_mce_set_inter_shape_penalty(
15811     ulong packed_shape_penalty, intel_sub_group_avc_mce_payload_t payload);
15812 intel_sub_group_avc_mce_payload_t __ovld
15813 intel_sub_group_avc_mce_set_inter_direction_penalty(
15814     uchar direction_cost, intel_sub_group_avc_mce_payload_t payload);
15815 intel_sub_group_avc_mce_payload_t __ovld
15816 intel_sub_group_avc_mce_set_motion_vector_cost_function(
15817     ulong packed_cost_center_delta, uint2 packed_cost_table,
15818     uchar cost_precision, intel_sub_group_avc_mce_payload_t payload);
15819 intel_sub_group_avc_mce_payload_t __ovld
15820 intel_sub_group_avc_mce_set_ac_only_haar(
15821     intel_sub_group_avc_mce_payload_t payload);
15822 intel_sub_group_avc_mce_payload_t __ovld
15823 intel_sub_group_avc_mce_set_source_interlaced_field_polarity(
15824     uchar src_field_polarity, intel_sub_group_avc_mce_payload_t payload);
15825 intel_sub_group_avc_mce_payload_t __ovld
15826 intel_sub_group_avc_mce_set_single_reference_interlaced_field_polarity(
15827     uchar ref_field_polarity, intel_sub_group_avc_mce_payload_t payload);
15828 intel_sub_group_avc_mce_payload_t __ovld
15829 intel_sub_group_avc_mce_set_dual_reference_interlaced_field_polarities(
15830     uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
15831     intel_sub_group_avc_mce_payload_t payload);
15832
15833 ulong __ovld intel_sub_group_avc_mce_get_motion_vectors(
15834     intel_sub_group_avc_mce_result_t result);
15835 ushort __ovld intel_sub_group_avc_mce_get_inter_distortions(
15836     intel_sub_group_avc_mce_result_t result);
15837 ushort __ovld intel_sub_group_avc_mce_get_best_inter_distortion(
15838     intel_sub_group_avc_mce_result_t result);
15839 uchar __ovld intel_sub_group_avc_mce_get_inter_major_shape(
15840     intel_sub_group_avc_mce_result_t result);
15841 uchar __ovld intel_sub_group_avc_mce_get_inter_minor_shapes(
15842     intel_sub_group_avc_mce_result_t result);
15843 uchar __ovld intel_sub_group_avc_mce_get_inter_directions(
15844     intel_sub_group_avc_mce_result_t result);
15845 uchar __ovld intel_sub_group_avc_mce_get_inter_motion_vector_count(
15846     intel_sub_group_avc_mce_result_t result);
15847 uint __ovld intel_sub_group_avc_mce_get_inter_reference_ids(
15848     intel_sub_group_avc_mce_result_t result);
15849 uchar __ovld
15850 intel_sub_group_avc_mce_get_inter_reference_interlaced_field_polarities(
15851     uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
15852     intel_sub_group_avc_mce_result_t result);
15853
15854 // IME built-in functions
15855 intel_sub_group_avc_ime_payload_t __ovld
15856 intel_sub_group_avc_ime_initialize(
15857     ushort2 src_coord, uchar partition_mask, uchar sad_adjustment);
15858 intel_sub_group_avc_ime_payload_t __ovld
15859 intel_sub_group_avc_ime_set_single_reference(
15860     short2 ref_offset, uchar search_window_config,
15861     intel_sub_group_avc_ime_payload_t payload);
15862 intel_sub_group_avc_ime_payload_t __ovld
15863 intel_sub_group_avc_ime_set_dual_reference(
15864     short2 fwd_ref_offset, short2 bwd_ref_offset, uchar search_window_config,
15865     intel_sub_group_avc_ime_payload_t payload);
15866 intel_sub_group_avc_ime_payload_t __ovld
15867 intel_sub_group_avc_ime_set_max_motion_vector_count(
15868     uchar max_motion_vector_count, intel_sub_group_avc_ime_payload_t payload);
15869 intel_sub_group_avc_ime_payload_t __ovld
15870 intel_sub_group_avc_ime_set_unidirectional_mix_disable(
15871     intel_sub_group_avc_ime_payload_t payload);
15872 intel_sub_group_avc_ime_payload_t __ovld
15873 intel_sub_group_avc_ime_set_early_search_termination_threshold(
15874     uchar threshold, intel_sub_group_avc_ime_payload_t payload);
15875 intel_sub_group_avc_ime_payload_t __ovld
15876 intel_sub_group_avc_ime_set_weighted_sad(
15877     uint packed_sad_weights, intel_sub_group_avc_ime_payload_t payload);
15878
15879 __attribute__((deprecated("If you use the latest Intel driver, please use "
15880                           "intel_sub_group_avc_ime_ref_window_size instead",
15881                           "intel_sub_group_avc_ime_ref_window_size")))
15882 ushort2 __ovld
15883 intel_sub_group_ime_ref_window_size(uchar search_window_config, char dual_ref);
15884 ushort2 __ovld intel_sub_group_avc_ime_ref_window_size(
15885     uchar search_window_config, char dual_ref);
15886 short2 __ovld intel_sub_group_avc_ime_adjust_ref_offset(
15887     short2 ref_offset, ushort2 src_coord, ushort2 ref_window_size,
15888     ushort2 image_size);
15889
15890 intel_sub_group_avc_ime_result_t __ovld
15891 intel_sub_group_avc_ime_evaluate_with_single_reference(
15892     read_only image2d_t src_image, read_only image2d_t ref_image,
15893     sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload);
15894 intel_sub_group_avc_ime_result_t __ovld
15895 intel_sub_group_avc_ime_evaluate_with_dual_reference(
15896     read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
15897     read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
15898     intel_sub_group_avc_ime_payload_t payload);
15899 intel_sub_group_avc_ime_result_single_reference_streamout_t __ovld
15900 intel_sub_group_avc_ime_evaluate_with_single_reference_streamout(
15901     read_only image2d_t src_image, read_only image2d_t ref_image,
15902     sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload);
15903 intel_sub_group_avc_ime_result_dual_reference_streamout_t __ovld
15904 intel_sub_group_avc_ime_evaluate_with_dual_reference_streamout(
15905     read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
15906     read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
15907     intel_sub_group_avc_ime_payload_t payload);
15908 intel_sub_group_avc_ime_result_t __ovld
15909 intel_sub_group_avc_ime_evaluate_with_single_reference_streamin(
15910     read_only image2d_t src_image, read_only image2d_t ref_image,
15911     sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload,
15912     intel_sub_group_avc_ime_single_reference_streamin_t streamin_components);
15913 intel_sub_group_avc_ime_result_t __ovld
15914 intel_sub_group_avc_ime_evaluate_with_dual_reference_streamin(
15915     read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
15916     read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
15917     intel_sub_group_avc_ime_payload_t payload,
15918     intel_sub_group_avc_ime_dual_reference_streamin_t streamin_components);
15919 intel_sub_group_avc_ime_result_single_reference_streamout_t __ovld
15920 intel_sub_group_avc_ime_evaluate_with_single_reference_streaminout(
15921     read_only image2d_t src_image, read_only image2d_t ref_image,
15922     sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload,
15923     intel_sub_group_avc_ime_single_reference_streamin_t streamin_components);
15924 intel_sub_group_avc_ime_result_dual_reference_streamout_t __ovld
15925 intel_sub_group_avc_ime_evaluate_with_dual_reference_streaminout(
15926     read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
15927     read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
15928     intel_sub_group_avc_ime_payload_t payload,
15929     intel_sub_group_avc_ime_dual_reference_streamin_t streamin_components);
15930
15931 intel_sub_group_avc_ime_single_reference_streamin_t __ovld
15932 intel_sub_group_avc_ime_get_single_reference_streamin(
15933     intel_sub_group_avc_ime_result_single_reference_streamout_t result);
15934 intel_sub_group_avc_ime_dual_reference_streamin_t __ovld
15935 intel_sub_group_avc_ime_get_dual_reference_streamin(
15936     intel_sub_group_avc_ime_result_dual_reference_streamout_t result);
15937 intel_sub_group_avc_ime_result_t __ovld
15938 intel_sub_group_avc_ime_strip_single_reference_streamout(
15939     intel_sub_group_avc_ime_result_single_reference_streamout_t result);
15940 intel_sub_group_avc_ime_result_t __ovld
15941 intel_sub_group_avc_ime_strip_dual_reference_streamout(
15942     intel_sub_group_avc_ime_result_dual_reference_streamout_t result);
15943
15944 uint __ovld intel_sub_group_avc_ime_get_streamout_major_shape_motion_vectors(
15945     intel_sub_group_avc_ime_result_single_reference_streamout_t result,
15946     uchar major_shape);
15947 ushort __ovld intel_sub_group_avc_ime_get_streamout_major_shape_distortions(
15948     intel_sub_group_avc_ime_result_single_reference_streamout_t result,
15949     uchar major_shape);
15950 uchar __ovld intel_sub_group_avc_ime_get_streamout_major_shape_reference_ids(
15951     intel_sub_group_avc_ime_result_single_reference_streamout_t result,
15952     uchar major_shape);
15953 uint __ovld intel_sub_group_avc_ime_get_streamout_major_shape_motion_vectors(
15954     intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
15955     uchar major_shape, uchar direction);
15956 ushort __ovld intel_sub_group_avc_ime_get_streamout_major_shape_distortions(
15957     intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
15958     uchar major_shape, uchar direction);
15959 uchar __ovld intel_sub_group_avc_ime_get_streamout_major_shape_reference_ids(
15960     intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
15961     uchar major_shape, uchar direction);
15962
15963 uchar __ovld intel_sub_group_avc_ime_get_border_reached(
15964     uchar image_select, intel_sub_group_avc_ime_result_t result);
15965 uchar __ovld intel_sub_group_avc_ime_get_truncated_search_indication(
15966     intel_sub_group_avc_ime_result_t result);
15967 uchar __ovld
15968 intel_sub_group_avc_ime_get_unidirectional_early_search_termination(
15969     intel_sub_group_avc_ime_result_t result);
15970 uint __ovld intel_sub_group_avc_ime_get_weighting_pattern_minimum_motion_vector(
15971     intel_sub_group_avc_ime_result_t result);
15972 ushort __ovld intel_sub_group_avc_ime_get_weighting_pattern_minimum_distortion(
15973     intel_sub_group_avc_ime_result_t result);
15974
15975 // REF built-in functions
15976 intel_sub_group_avc_ref_payload_t __ovld
15977 intel_sub_group_avc_fme_initialize(
15978     ushort2 src_coord, ulong motion_vectors, uchar major_shapes,
15979     uchar minor_shapes, uchar directions, uchar pixel_resolution,
15980     uchar sad_adjustment);
15981 intel_sub_group_avc_ref_payload_t __ovld
15982 intel_sub_group_avc_bme_initialize(
15983     ushort2 src_coord, ulong motion_vectors, uchar major_shapes,
15984     uchar minor_shapes, uchar directions, uchar pixel_resolution,
15985     uchar bidirectional_weight, uchar sad_adjustment);
15986
15987 intel_sub_group_avc_ref_payload_t __ovld
15988 intel_sub_group_avc_ref_set_bidirectional_mix_disable(
15989     intel_sub_group_avc_ref_payload_t payload);
15990 intel_sub_group_avc_ref_payload_t __ovld
15991 intel_sub_group_avc_ref_set_bilinear_filter_enable(
15992     intel_sub_group_avc_ref_payload_t payload);
15993
15994 intel_sub_group_avc_ref_result_t __ovld
15995 intel_sub_group_avc_ref_evaluate_with_single_reference(
15996     read_only image2d_t src_image, read_only image2d_t ref_image,
15997     sampler_t vme_media_sampler, intel_sub_group_avc_ref_payload_t payload);
15998 intel_sub_group_avc_ref_result_t __ovld
15999 intel_sub_group_avc_ref_evaluate_with_dual_reference(
16000     read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
16001     read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
16002     intel_sub_group_avc_ref_payload_t payload);
16003 intel_sub_group_avc_ref_result_t __ovld
16004 intel_sub_group_avc_ref_evaluate_with_multi_reference(
16005     read_only image2d_t src_image, uint packed_reference_ids,
16006     sampler_t vme_media_sampler, intel_sub_group_avc_ref_payload_t payload);
16007 intel_sub_group_avc_ref_result_t __ovld
16008 intel_sub_group_avc_ref_evaluate_with_multi_reference(
16009     read_only image2d_t src_image, uint packed_reference_ids,
16010     uchar packed_reference_field_polarities, sampler_t vme_media_sampler,
16011     intel_sub_group_avc_ref_payload_t payload);
16012
16013 // SIC built-in functions
16014 intel_sub_group_avc_sic_payload_t __ovld
16015 intel_sub_group_avc_sic_initialize(
16016     ushort2 src_coord);
16017 intel_sub_group_avc_sic_payload_t __ovld
16018 intel_sub_group_avc_sic_configure_skc(
16019     uint skip_block_partition_type, uint skip_motion_vector_mask,
16020     ulong motion_vectors, uchar bidirectional_weight, uchar skip_sad_adjustment,
16021     intel_sub_group_avc_sic_payload_t payload);
16022 intel_sub_group_avc_sic_payload_t __ovld
16023 intel_sub_group_avc_sic_configure_ipe(
16024     uchar luma_intra_partition_mask, uchar intra_neighbour_availabilty,
16025     uchar left_edge_luma_pixels, uchar upper_left_corner_luma_pixel,
16026     uchar upper_edge_luma_pixels, uchar upper_right_edge_luma_pixels,
16027     uchar intra_sad_adjustment, intel_sub_group_avc_sic_payload_t payload);
16028 intel_sub_group_avc_sic_payload_t __ovld
16029 intel_sub_group_avc_sic_configure_ipe(
16030     uchar luma_intra_partition_mask, uchar intra_neighbour_availabilty,
16031     uchar left_edge_luma_pixels, uchar upper_left_corner_luma_pixel,
16032     uchar upper_edge_luma_pixels, uchar upper_right_edge_luma_pixels,
16033     ushort left_edge_chroma_pixels, ushort upper_left_corner_chroma_pixel,
16034     ushort upper_edge_chroma_pixels, uchar intra_sad_adjustment,
16035     intel_sub_group_avc_sic_payload_t payload);
16036 uint __ovld
16037 intel_sub_group_avc_sic_get_motion_vector_mask(
16038     uint skip_block_partition_type, uchar direction);
16039
16040 intel_sub_group_avc_sic_payload_t __ovld
16041 intel_sub_group_avc_sic_set_intra_luma_shape_penalty(
16042     uint packed_shape_cost, intel_sub_group_avc_sic_payload_t payload);
16043 intel_sub_group_avc_sic_payload_t __ovld
16044 intel_sub_group_avc_sic_set_intra_luma_mode_cost_function(
16045     uchar luma_mode_penalty, uint luma_packed_neighbor_modes,
16046     uint luma_packed_non_dc_penalty, intel_sub_group_avc_sic_payload_t payload);
16047 intel_sub_group_avc_sic_payload_t __ovld
16048 intel_sub_group_avc_sic_set_intra_chroma_mode_cost_function(
16049     uchar chroma_mode_penalty, intel_sub_group_avc_sic_payload_t payload);
16050
16051 intel_sub_group_avc_sic_payload_t __ovld
16052 intel_sub_group_avc_sic_set_skc_bilinear_filter_enable(
16053     intel_sub_group_avc_sic_payload_t payload);
16054 intel_sub_group_avc_sic_payload_t __ovld
16055 intel_sub_group_avc_sic_set_skc_forward_transform_enable(
16056     ulong packed_sad_coefficients, intel_sub_group_avc_sic_payload_t payload);
16057 intel_sub_group_avc_sic_payload_t __ovld
16058 intel_sub_group_avc_sic_set_block_based_raw_skip_sad(
16059     uchar block_based_skip_type,
16060     intel_sub_group_avc_sic_payload_t payload);
16061
16062 intel_sub_group_avc_sic_result_t __ovld
16063 intel_sub_group_avc_sic_evaluate_ipe(
16064     read_only image2d_t src_image, sampler_t vme_media_sampler,
16065     intel_sub_group_avc_sic_payload_t payload);
16066 intel_sub_group_avc_sic_result_t __ovld
16067 intel_sub_group_avc_sic_evaluate_with_single_reference(
16068     read_only image2d_t src_image, read_only image2d_t ref_image,
16069     sampler_t vme_media_sampler, intel_sub_group_avc_sic_payload_t payload);
16070 intel_sub_group_avc_sic_result_t __ovld
16071 intel_sub_group_avc_sic_evaluate_with_dual_reference(
16072     read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
16073     read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
16074     intel_sub_group_avc_sic_payload_t payload);
16075 intel_sub_group_avc_sic_result_t __ovld
16076 intel_sub_group_avc_sic_evaluate_with_multi_reference(
16077     read_only image2d_t src_image, uint packed_reference_ids,
16078     sampler_t vme_media_sampler, intel_sub_group_avc_sic_payload_t payload);
16079 intel_sub_group_avc_sic_result_t __ovld
16080 intel_sub_group_avc_sic_evaluate_with_multi_reference(
16081     read_only image2d_t src_image, uint packed_reference_ids,
16082     uchar packed_reference_field_polarities, sampler_t vme_media_sampler,
16083     intel_sub_group_avc_sic_payload_t payload);
16084
16085 uchar __ovld intel_sub_group_avc_sic_get_ipe_luma_shape(
16086     intel_sub_group_avc_sic_result_t result);
16087 ushort __ovld intel_sub_group_avc_sic_get_best_ipe_luma_distortion(
16088     intel_sub_group_avc_sic_result_t result);
16089 ushort __ovld intel_sub_group_avc_sic_get_best_ipe_chroma_distortion(
16090     intel_sub_group_avc_sic_result_t result);
16091 ulong __ovld intel_sub_group_avc_sic_get_packed_ipe_luma_modes(
16092     intel_sub_group_avc_sic_result_t result);
16093 uchar __ovld intel_sub_group_avc_sic_get_ipe_chroma_mode(
16094     intel_sub_group_avc_sic_result_t result);
16095 uint __ovld intel_sub_group_avc_sic_get_packed_skc_luma_count_threshold(
16096     intel_sub_group_avc_sic_result_t result);
16097 ulong __ovld intel_sub_group_avc_sic_get_packed_skc_luma_sum_threshold(
16098     intel_sub_group_avc_sic_result_t result);
16099 ushort __ovld intel_sub_group_avc_sic_get_inter_raw_sads(
16100     intel_sub_group_avc_sic_result_t result);
16101
16102 // Wrappers
16103 intel_sub_group_avc_ime_payload_t __ovld
16104 intel_sub_group_avc_ime_set_inter_base_multi_reference_penalty(
16105     uchar reference_base_penalty, intel_sub_group_avc_ime_payload_t payload);
16106 intel_sub_group_avc_ref_payload_t __ovld
16107 intel_sub_group_avc_ref_set_inter_base_multi_reference_penalty(
16108     uchar reference_base_penalty, intel_sub_group_avc_ref_payload_t payload);
16109 intel_sub_group_avc_sic_payload_t __ovld
16110 intel_sub_group_avc_sic_set_inter_base_multi_reference_penalty(
16111     uchar reference_base_penalty, intel_sub_group_avc_sic_payload_t payload);
16112
16113 intel_sub_group_avc_ime_payload_t __ovld
16114 intel_sub_group_avc_ime_set_inter_shape_penalty(
16115     ulong packed_shape_cost, intel_sub_group_avc_ime_payload_t payload);
16116 intel_sub_group_avc_ref_payload_t __ovld
16117 intel_sub_group_avc_ref_set_inter_shape_penalty(
16118     ulong packed_shape_cost, intel_sub_group_avc_ref_payload_t payload);
16119 intel_sub_group_avc_sic_payload_t __ovld
16120 intel_sub_group_avc_sic_set_inter_shape_penalty(
16121     ulong packed_shape_cost, intel_sub_group_avc_sic_payload_t payload);
16122
16123 intel_sub_group_avc_ime_payload_t __ovld
16124 intel_sub_group_avc_ime_set_inter_direction_penalty(
16125     uchar direction_cost, intel_sub_group_avc_ime_payload_t payload);
16126 intel_sub_group_avc_ref_payload_t __ovld
16127 intel_sub_group_avc_ref_set_inter_direction_penalty(
16128     uchar direction_cost, intel_sub_group_avc_ref_payload_t payload);
16129 intel_sub_group_avc_sic_payload_t __ovld
16130 intel_sub_group_avc_sic_set_inter_direction_penalty(
16131     uchar direction_cost, intel_sub_group_avc_sic_payload_t payload);
16132
16133 intel_sub_group_avc_ime_payload_t __ovld
16134 intel_sub_group_avc_ime_set_motion_vector_cost_function(
16135     ulong packed_cost_center_delta, uint2 packed_cost_table,
16136     uchar cost_precision, intel_sub_group_avc_ime_payload_t payload);
16137 intel_sub_group_avc_ref_payload_t __ovld
16138 intel_sub_group_avc_ref_set_motion_vector_cost_function(
16139     ulong packed_cost_center_delta, uint2 packed_cost_table,
16140     uchar cost_precision, intel_sub_group_avc_ref_payload_t payload);
16141 intel_sub_group_avc_sic_payload_t __ovld
16142 intel_sub_group_avc_sic_set_motion_vector_cost_function(
16143     ulong packed_cost_center_delta, uint2 packed_cost_table,
16144     uchar cost_precision, intel_sub_group_avc_sic_payload_t payload);
16145
16146 intel_sub_group_avc_ime_payload_t __ovld
16147 intel_sub_group_avc_ime_set_source_interlaced_field_polarity(
16148     uchar src_field_polarity, intel_sub_group_avc_ime_payload_t payload);
16149 intel_sub_group_avc_ref_payload_t __ovld
16150 intel_sub_group_avc_ref_set_source_interlaced_field_polarity(
16151     uchar src_field_polarity, intel_sub_group_avc_ref_payload_t payload);
16152 intel_sub_group_avc_sic_payload_t __ovld
16153 intel_sub_group_avc_sic_set_source_interlaced_field_polarity(
16154     uchar src_field_polarity, intel_sub_group_avc_sic_payload_t payload);
16155
16156 intel_sub_group_avc_ime_payload_t __ovld
16157 intel_sub_group_avc_ime_set_single_reference_interlaced_field_polarity(
16158     uchar ref_field_polarity, intel_sub_group_avc_ime_payload_t payload);
16159 intel_sub_group_avc_ref_payload_t __ovld
16160 intel_sub_group_avc_ref_set_single_reference_interlaced_field_polarity(
16161     uchar ref_field_polarity, intel_sub_group_avc_ref_payload_t payload);
16162 intel_sub_group_avc_sic_payload_t __ovld
16163 intel_sub_group_avc_sic_set_single_reference_interlaced_field_polarity(
16164     uchar ref_field_polarity, intel_sub_group_avc_sic_payload_t payload);
16165 intel_sub_group_avc_ime_payload_t __ovld
16166 intel_sub_group_avc_ime_set_dual_reference_interlaced_field_polarities(
16167     uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
16168     intel_sub_group_avc_ime_payload_t payload);
16169 intel_sub_group_avc_ref_payload_t __ovld
16170 intel_sub_group_avc_ref_set_dual_reference_interlaced_field_polarities(
16171     uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
16172     intel_sub_group_avc_ref_payload_t payload);
16173 intel_sub_group_avc_sic_payload_t __ovld
16174 intel_sub_group_avc_sic_set_dual_reference_interlaced_field_polarities(
16175     uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
16176     intel_sub_group_avc_sic_payload_t payload);
16177
16178 intel_sub_group_avc_ime_payload_t __ovld
16179 intel_sub_group_avc_ime_set_ac_only_haar(
16180     intel_sub_group_avc_ime_payload_t payload);
16181 intel_sub_group_avc_ref_payload_t __ovld
16182 intel_sub_group_avc_ref_set_ac_only_haar(
16183     intel_sub_group_avc_ref_payload_t payload);
16184 intel_sub_group_avc_sic_payload_t __ovld
16185 intel_sub_group_avc_sic_set_ac_only_haar(
16186     intel_sub_group_avc_sic_payload_t payload);
16187
16188 ulong __ovld intel_sub_group_avc_ime_get_motion_vectors(
16189     intel_sub_group_avc_ime_result_t result);
16190 ulong __ovld intel_sub_group_avc_ref_get_motion_vectors(
16191     intel_sub_group_avc_ref_result_t result);
16192
16193 ushort __ovld intel_sub_group_avc_ime_get_inter_distortions(
16194     intel_sub_group_avc_ime_result_t result);
16195 ushort __ovld intel_sub_group_avc_ref_get_inter_distortions(
16196     intel_sub_group_avc_ref_result_t result);
16197 ushort __ovld intel_sub_group_avc_sic_get_inter_distortions(
16198     intel_sub_group_avc_sic_result_t result);
16199
16200 ushort __ovld intel_sub_group_avc_ime_get_best_inter_distortion(
16201     intel_sub_group_avc_ime_result_t result);
16202 ushort __ovld intel_sub_group_avc_ref_get_best_inter_distortion(
16203     intel_sub_group_avc_ref_result_t result);
16204
16205 uchar __ovld intel_sub_group_avc_ime_get_inter_major_shape(
16206     intel_sub_group_avc_ime_result_t result);
16207 uchar __ovld intel_sub_group_avc_ref_get_inter_major_shape(
16208     intel_sub_group_avc_ref_result_t result);
16209 uchar __ovld intel_sub_group_avc_ime_get_inter_minor_shapes(
16210     intel_sub_group_avc_ime_result_t result);
16211 uchar __ovld intel_sub_group_avc_ref_get_inter_minor_shapes(
16212     intel_sub_group_avc_ref_result_t result);
16213
16214 uchar __ovld intel_sub_group_avc_ime_get_inter_directions(
16215     intel_sub_group_avc_ime_result_t result);
16216 uchar __ovld intel_sub_group_avc_ref_get_inter_directions(
16217     intel_sub_group_avc_ref_result_t result);
16218
16219 uchar __ovld intel_sub_group_avc_ime_get_inter_motion_vector_count(
16220     intel_sub_group_avc_ime_result_t result);
16221 uchar __ovld intel_sub_group_avc_ref_get_inter_motion_vector_count(
16222     intel_sub_group_avc_ref_result_t result);
16223
16224 uint __ovld intel_sub_group_avc_ime_get_inter_reference_ids(
16225     intel_sub_group_avc_ime_result_t result);
16226 uint __ovld intel_sub_group_avc_ref_get_inter_reference_ids(
16227     intel_sub_group_avc_ref_result_t result);
16228
16229 uchar __ovld
16230 intel_sub_group_avc_ime_get_inter_reference_interlaced_field_polarities(
16231     uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
16232     intel_sub_group_avc_ime_result_t result);
16233 uchar __ovld
16234 intel_sub_group_avc_ref_get_inter_reference_interlaced_field_polarities(
16235     uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
16236     intel_sub_group_avc_ref_result_t result);
16237
16238 // Type conversion functions
16239 intel_sub_group_avc_mce_payload_t __ovld
16240 intel_sub_group_avc_ime_convert_to_mce_payload(
16241     intel_sub_group_avc_ime_payload_t payload);
16242 intel_sub_group_avc_ime_payload_t __ovld
16243 intel_sub_group_avc_mce_convert_to_ime_payload(
16244     intel_sub_group_avc_mce_payload_t payload);
16245 intel_sub_group_avc_mce_payload_t __ovld
16246 intel_sub_group_avc_ref_convert_to_mce_payload(
16247     intel_sub_group_avc_ref_payload_t payload);
16248 intel_sub_group_avc_ref_payload_t __ovld
16249 intel_sub_group_avc_mce_convert_to_ref_payload(
16250     intel_sub_group_avc_mce_payload_t payload);
16251 intel_sub_group_avc_mce_payload_t __ovld
16252 intel_sub_group_avc_sic_convert_to_mce_payload(
16253     intel_sub_group_avc_sic_payload_t payload);
16254 intel_sub_group_avc_sic_payload_t __ovld
16255 intel_sub_group_avc_mce_convert_to_sic_payload(
16256     intel_sub_group_avc_mce_payload_t payload);
16257
16258 intel_sub_group_avc_mce_result_t __ovld
16259 intel_sub_group_avc_ime_convert_to_mce_result(
16260     intel_sub_group_avc_ime_result_t result);
16261 intel_sub_group_avc_ime_result_t __ovld
16262 intel_sub_group_avc_mce_convert_to_ime_result(
16263     intel_sub_group_avc_mce_result_t result);
16264 intel_sub_group_avc_mce_result_t __ovld
16265 intel_sub_group_avc_ref_convert_to_mce_result(
16266     intel_sub_group_avc_ref_result_t result);
16267 intel_sub_group_avc_ref_result_t __ovld
16268 intel_sub_group_avc_mce_convert_to_ref_result(
16269     intel_sub_group_avc_mce_result_t result);
16270 intel_sub_group_avc_mce_result_t __ovld
16271 intel_sub_group_avc_sic_convert_to_mce_result(
16272     intel_sub_group_avc_sic_result_t result);
16273 intel_sub_group_avc_sic_result_t __ovld
16274 intel_sub_group_avc_mce_convert_to_sic_result(
16275     intel_sub_group_avc_mce_result_t result);
16276 #pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : end
16277 #endif // cl_intel_device_side_avc_motion_estimation
16278
16279 #ifdef cl_amd_media_ops
16280 uint __ovld amd_bitalign(uint a, uint b, uint c);
16281 uint2 __ovld amd_bitalign(uint2 a, uint2 b, uint2 c);
16282 uint3 __ovld amd_bitalign(uint3 a, uint3 b, uint3 c);
16283 uint4 __ovld amd_bitalign(uint4 a, uint4 b, uint4 c);
16284 uint8 __ovld amd_bitalign(uint8 a, uint8 b, uint8 c);
16285 uint16 __ovld amd_bitalign(uint16 a, uint16 b, uint16 c);
16286
16287 uint __ovld amd_bytealign(uint a, uint b, uint c);
16288 uint2 __ovld amd_bytealign(uint2 a, uint2 b, uint2 c);
16289 uint3 __ovld amd_bytealign(uint3 a, uint3 b, uint3 c);
16290 uint4 __ovld amd_bytealign(uint4 a, uint4 b, uint4 c);
16291 uint8 __ovld amd_bytealign(uint8 a, uint8 b, uint8 c);
16292 uint16 __ovld amd_bytealign(uint16 a, uint16 b, uint16 c);
16293
16294 uint __ovld amd_lerp(uint a, uint b, uint c);
16295 uint2 __ovld amd_lerp(uint2 a, uint2 b, uint2 c);
16296 uint3 __ovld amd_lerp(uint3 a, uint3 b, uint3 c);
16297 uint4 __ovld amd_lerp(uint4 a, uint4 b, uint4 c);
16298 uint8 __ovld amd_lerp(uint8 a, uint8 b, uint8 c);
16299 uint16 __ovld amd_lerp(uint16 a, uint16 b, uint16 c);
16300
16301 uint __ovld amd_pack(float4 v);
16302
16303 uint __ovld amd_sad4(uint4 x, uint4 y, uint z);
16304
16305 uint __ovld amd_sadhi(uint a, uint b, uint c);
16306 uint2 __ovld amd_sadhi(uint2 a, uint2 b, uint2 c);
16307 uint3 __ovld amd_sadhi(uint3 a, uint3 b, uint3 c);
16308 uint4 __ovld amd_sadhi(uint4 a, uint4 b, uint4 c);
16309 uint8 __ovld amd_sadhi(uint8 a, uint8 b, uint8 c);
16310 uint16 __ovld amd_sadhi(uint16 a, uint16 b, uint16 c);
16311
16312 uint __ovld amd_sad(uint a, uint b, uint c);
16313 uint2 __ovld amd_sad(uint2 a, uint2 b, uint2 c);
16314 uint3 __ovld amd_sad(uint3 a, uint3 b, uint3 c);
16315 uint4 __ovld amd_sad(uint4 a, uint4 b, uint4 c);
16316 uint8 __ovld amd_sad(uint8 a, uint8 b, uint8 c);
16317 uint16 __ovld amd_sad(uint16 a, uint16 b, uint16 c);
16318
16319 float __ovld amd_unpack0(uint a);
16320 float2 __ovld amd_unpack0(uint2 a);
16321 float3 __ovld amd_unpack0(uint3 a);
16322 float4 __ovld amd_unpack0(uint4 a);
16323 float8 __ovld amd_unpack0(uint8 a);
16324 float16 __ovld amd_unpack0(uint16 a);
16325
16326 float __ovld amd_unpack1(uint a);
16327 float2 __ovld amd_unpack1(uint2 a);
16328 float3 __ovld amd_unpack1(uint3 a);
16329 float4 __ovld amd_unpack1(uint4 a);
16330 float8 __ovld amd_unpack1(uint8 a);
16331 float16 __ovld amd_unpack1(uint16 a);
16332
16333 float __ovld amd_unpack2(uint a);
16334 float2 __ovld amd_unpack2(uint2 a);
16335 float3 __ovld amd_unpack2(uint3 a);
16336 float4 __ovld amd_unpack2(uint4 a);
16337 float8 __ovld amd_unpack2(uint8 a);
16338 float16 __ovld amd_unpack2(uint16 a);
16339
16340 float __ovld amd_unpack3(uint a);
16341 float2 __ovld amd_unpack3(uint2 a);
16342 float3 __ovld amd_unpack3(uint3 a);
16343 float4 __ovld amd_unpack3(uint4 a);
16344 float8 __ovld amd_unpack3(uint8 a);
16345 float16 __ovld amd_unpack3(uint16 a);
16346 #endif // cl_amd_media_ops
16347
16348 #ifdef cl_amd_media_ops2
16349 int __ovld amd_bfe(int src0, uint src1, uint src2);
16350 int2 __ovld amd_bfe(int2 src0, uint2 src1, uint2 src2);
16351 int3 __ovld amd_bfe(int3 src0, uint3 src1, uint3 src2);
16352 int4 __ovld amd_bfe(int4 src0, uint4 src1, uint4 src2);
16353 int8 __ovld amd_bfe(int8 src0, uint8 src1, uint8 src2);
16354 int16 __ovld amd_bfe(int16 src0, uint16 src1, uint16 src2);
16355
16356 uint __ovld amd_bfe(uint src0, uint src1, uint src2);
16357 uint2 __ovld amd_bfe(uint2 src0, uint2 src1, uint2 src2);
16358 uint3 __ovld amd_bfe(uint3 src0, uint3 src1, uint3 src2);
16359 uint4 __ovld amd_bfe(uint4 src0, uint4 src1, uint4 src2);
16360 uint8 __ovld amd_bfe(uint8 src0, uint8 src1, uint8 src2);
16361 uint16 __ovld amd_bfe(uint16 src0, uint16 src1, uint16 src2);
16362
16363 uint __ovld amd_bfm(uint src0, uint src1);
16364 uint2 __ovld amd_bfm(uint2 src0, uint2 src1);
16365 uint3 __ovld amd_bfm(uint3 src0, uint3 src1);
16366 uint4 __ovld amd_bfm(uint4 src0, uint4 src1);
16367 uint8 __ovld amd_bfm(uint8 src0, uint8 src1);
16368 uint16 __ovld amd_bfm(uint16 src0, uint16 src1);
16369
16370 float __ovld amd_max3(float src0, float src1, float src2);
16371 float2 __ovld amd_max3(float2 src0, float2 src1, float2 src2);
16372 float3 __ovld amd_max3(float3 src0, float3 src1, float3 src2);
16373 float4 __ovld amd_max3(float4 src0, float4 src1, float4 src2);
16374 float8 __ovld amd_max3(float8 src0, float8 src1, float8 src2);
16375 float16 __ovld amd_max3(float16 src0, float16 src1, float16 src2);
16376
16377 int __ovld amd_max3(int src0, int src1, int src2);
16378 int2 __ovld amd_max3(int2 src0, int2 src1, int2 src2);
16379 int3 __ovld amd_max3(int3 src0, int3 src1, int3 src2);
16380 int4 __ovld amd_max3(int4 src0, int4 src1, int4 src2);
16381 int8 __ovld amd_max3(int8 src0, int8 src1, int8 src2);
16382 int16 __ovld amd_max3(int16 src0, int16 src1, int16 src2);
16383
16384 uint __ovld amd_max3(uint src0, uint src1, uint src2);
16385 uint2 __ovld amd_max3(uint2 src0, uint2 src1, uint2 src2);
16386 uint3 __ovld amd_max3(uint3 src0, uint3 src1, uint3 src2);
16387 uint4 __ovld amd_max3(uint4 src0, uint4 src1, uint4 src2);
16388 uint8 __ovld amd_max3(uint8 src0, uint8 src1, uint8 src2);
16389 uint16 __ovld amd_max3(uint16 src0, uint16 src1, uint16 src2);
16390
16391 float __ovld amd_median3(float src0, float src1, float src2);
16392 float2 __ovld amd_median3(float2 src0, float2 src1, float2 src2);
16393 float3 __ovld amd_median3(float3 src0, float3 src1, float3 src2);
16394 float4 __ovld amd_median3(float4 src0, float4 src1, float4 src2);
16395 float8 __ovld amd_median3(float8 src0, float8 src1, float8 src2);
16396 float16 __ovld amd_median3(float16 src0, float16 src1, float16 src2);
16397
16398 int __ovld amd_median3(int src0, int src1, int src2);
16399 int2 __ovld amd_median3(int2 src0, int2 src1, int2 src2);
16400 int3 __ovld amd_median3(int3 src0, int3 src1, int3 src2);
16401 int4 __ovld amd_median3(int4 src0, int4 src1, int4 src2);
16402 int8 __ovld amd_median3(int8 src0, int8 src1, int8 src2);
16403 int16 __ovld amd_median3(int16 src0, int16 src1, int16 src2);
16404
16405 uint __ovld amd_median3(uint src0, uint src1, uint src2);
16406 uint2 __ovld amd_median3(uint2 src0, uint2 src1, uint2 src2);
16407 uint3 __ovld amd_median3(uint3 src0, uint3 src1, uint3 src2);
16408 uint4 __ovld amd_median3(uint4 src0, uint4 src1, uint4 src2);
16409 uint8 __ovld amd_median3(uint8 src0, uint8 src1, uint8 src2);
16410 uint16 __ovld amd_median3(uint16 src0, uint16 src1, uint16 src2);
16411
16412 float __ovld amd_min3(float src0, float src1, float src);
16413 float2 __ovld amd_min3(float2 src0, float2 src1, float2 src);
16414 float3 __ovld amd_min3(float3 src0, float3 src1, float3 src);
16415 float4 __ovld amd_min3(float4 src0, float4 src1, float4 src);
16416 float8 __ovld amd_min3(float8 src0, float8 src1, float8 src);
16417 float16 __ovld amd_min3(float16 src0, float16 src1, float16 src);
16418
16419 int __ovld amd_min3(int src0, int src1, int src2);
16420 int2 __ovld amd_min3(int2 src0, int2 src1, int2 src2);
16421 int3 __ovld amd_min3(int3 src0, int3 src1, int3 src2);
16422 int4 __ovld amd_min3(int4 src0, int4 src1, int4 src2);
16423 int8 __ovld amd_min3(int8 src0, int8 src1, int8 src2);
16424 int16 __ovld amd_min3(int16 src0, int16 src1, int16 src2);
16425
16426 uint __ovld amd_min3(uint src0, uint src1, uint src2);
16427 uint2 __ovld amd_min3(uint2 src0, uint2 src1, uint2 src2);
16428 uint3 __ovld amd_min3(uint3 src0, uint3 src1, uint3 src2);
16429 uint4 __ovld amd_min3(uint4 src0, uint4 src1, uint4 src2);
16430 uint8 __ovld amd_min3(uint8 src0, uint8 src1, uint8 src2);
16431 uint16 __ovld amd_min3(uint16 src0, uint16 src1, uint16 src2);
16432
16433 ulong __ovld amd_mqsad(ulong src0, uint src1, ulong src2);
16434 ulong2 __ovld amd_mqsad(ulong2 src0, uint2 src1, ulong2 src2);
16435 ulong3 __ovld amd_mqsad(ulong3 src0, uint3 src1, ulong3 src2);
16436 ulong4 __ovld amd_mqsad(ulong4 src0, uint4 src1, ulong4 src2);
16437 ulong8 __ovld amd_mqsad(ulong8 src0, uint8 src1, ulong8 src2);
16438 ulong16 __ovld amd_mqsad(ulong16 src0, uint16 src1, ulong16 src2);
16439
16440 ulong __ovld amd_qsad(ulong src0, uint src1, ulong src2);
16441 ulong2 __ovld amd_qsad(ulong2 src0, uint2 src1, ulong2 src2);
16442 ulong3 __ovld amd_qsad(ulong3 src0, uint3 src1, ulong3 src2);
16443 ulong4 __ovld amd_qsad(ulong4 src0, uint4 src1, ulong4 src2);
16444 ulong8 __ovld amd_qsad(ulong8 src0, uint8 src1, ulong8 src2);
16445 ulong16 __ovld amd_qsad(ulong16 src0, uint16 src1, ulong16 src2);
16446
16447 uint __ovld amd_msad(uint src0, uint src1, uint src2);
16448 uint2 __ovld amd_msad(uint2 src0, uint2 src1, uint2 src2);
16449 uint3 __ovld amd_msad(uint3 src0, uint3 src1, uint3 src2);
16450 uint4 __ovld amd_msad(uint4 src0, uint4 src1, uint4 src2);
16451 uint8 __ovld amd_msad(uint8 src0, uint8 src1, uint8 src2);
16452 uint16 __ovld amd_msad(uint16 src0, uint16 src1, uint16 src2);
16453
16454 uint __ovld amd_sadd(uint src0, uint src1, uint src2);
16455 uint2 __ovld amd_sadd(uint2 src0, uint2 src1, uint2 src2);
16456 uint3 __ovld amd_sadd(uint3 src0, uint3 src1, uint3 src2);
16457 uint4 __ovld amd_sadd(uint4 src0, uint4 src1, uint4 src2);
16458 uint8 __ovld amd_sadd(uint8 src0, uint8 src1, uint8 src2);
16459 uint16 __ovld amd_sadd(uint16 src0, uint16 src1, uint16 src2);
16460
16461 uint __ovld amd_sadw(uint src0, uint src1, uint src2);
16462 uint2 __ovld amd_sadw(uint2 src0, uint2 src1, uint2 src2);
16463 uint3 __ovld amd_sadw(uint3 src0, uint3 src1, uint3 src2);
16464 uint4 __ovld amd_sadw(uint4 src0, uint4 src1, uint4 src2);
16465 uint8 __ovld amd_sadw(uint8 src0, uint8 src1, uint8 src2);
16466 uint16 __ovld amd_sadw(uint16 src0, uint16 src1, uint16 src2);
16467 #endif // cl_amd_media_ops2
16468
16469 #if defined(cl_arm_integer_dot_product_int8)
16470 #pragma OPENCL EXTENSION cl_arm_integer_dot_product_int8 : begin
16471 uint __ovld arm_dot(uchar4 a, uchar4 b);
16472 int __ovld arm_dot(char4 a, char4 b);
16473 #pragma OPENCL EXTENSION cl_arm_integer_dot_product_int8 : end
16474 #endif // defined(cl_arm_integer_dot_product_int8)
16475
16476 #if defined(cl_arm_integer_dot_product_accumulate_int8)
16477 #pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_int8 : begin
16478 uint __ovld arm_dot_acc(uchar4 a, uchar4 b, uint c);
16479 int __ovld arm_dot_acc(char4 a, char4 b, int c);
16480 #pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_int8 : end
16481 #endif // defined(cl_arm_integer_dot_product_accumulate_int8)
16482
16483 #if defined(cl_arm_integer_dot_product_accumulate_int16)
16484 #pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_int16 : begin
16485 uint __ovld arm_dot_acc(ushort2 a, ushort2 b, uint c);
16486 int __ovld arm_dot_acc(short2 a, short2 b, int c);
16487 #pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_int16 : end
16488 #endif // defined(cl_arm_integer_dot_product_accumulate_int16)
16489
16490 #if defined(cl_arm_integer_dot_product_accumulate_saturate_int8)
16491 #pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_saturate_int8 : begin
16492 uint __ovld arm_dot_acc_sat(uchar4 a, uchar4 b, uint c);
16493 int __ovld arm_dot_acc_sat(char4 a, char4 b, int c);
16494 #pragma OPENCL EXTENSION cl_arm_integer_dot_product_accumulate_saturate_int8 : end
16495 #endif // defined(cl_arm_integer_dot_product_accumulate_saturate_int8)
16496
16497 // Disable any extensions we may have enabled previously.
16498 #pragma OPENCL EXTENSION all : disable
16499
16500 #undef __cnfn
16501 #undef __ovld
16502 #endif //_OPENCL_H_