Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Blame | Last modification | View Log | Download | RSS feed

  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_c_images)
  15. #ifndef cl_khr_depth_images
  16. #define cl_khr_depth_images
  17. #endif //cl_khr_depth_images
  18. #endif //defined(__opencl_c_images)
  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__) ||                                        \
  27.      (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)) &&                              \
  28.     (defined(__SPIR__) || defined(__SPIRV__))
  29. #pragma OPENCL EXTENSION cl_intel_planar_yuv : begin
  30. #pragma OPENCL EXTENSION cl_intel_planar_yuv : end
  31. #endif // (defined(__OPENCL_CPP_VERSION__) ||
  32.        //  (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)) &&
  33.        // (defined(__SPIR__) || defined(__SPIRV__))
  34.  
  35. #define __ovld __attribute__((overloadable))
  36. #define __conv __attribute__((convergent))
  37.  
  38. // Optimizations
  39. #define __purefn __attribute__((pure))
  40. #define __cnfn __attribute__((const))
  41.  
  42.  
  43. // OpenCL v1.1/1.2/2.0 s6.2.3 - Explicit conversions
  44.  
  45. char __ovld __cnfn convert_char_rte(char);
  46. char __ovld __cnfn convert_char_sat_rte(char);
  47. char __ovld __cnfn convert_char_rtz(char);
  48. char __ovld __cnfn convert_char_sat_rtz(char);
  49. char __ovld __cnfn convert_char_rtp(char);
  50. char __ovld __cnfn convert_char_sat_rtp(char);
  51. char __ovld __cnfn convert_char_rtn(char);
  52. char __ovld __cnfn convert_char_sat_rtn(char);
  53. char __ovld __cnfn convert_char(char);
  54. char __ovld __cnfn convert_char_sat(char);
  55. char __ovld __cnfn convert_char_rte(uchar);
  56. char __ovld __cnfn convert_char_sat_rte(uchar);
  57. char __ovld __cnfn convert_char_rtz(uchar);
  58. char __ovld __cnfn convert_char_sat_rtz(uchar);
  59. char __ovld __cnfn convert_char_rtp(uchar);
  60. char __ovld __cnfn convert_char_sat_rtp(uchar);
  61. char __ovld __cnfn convert_char_rtn(uchar);
  62. char __ovld __cnfn convert_char_sat_rtn(uchar);
  63. char __ovld __cnfn convert_char(uchar);
  64. char __ovld __cnfn convert_char_sat(uchar);
  65. char __ovld __cnfn convert_char_rte(short);
  66. char __ovld __cnfn convert_char_sat_rte(short);
  67. char __ovld __cnfn convert_char_rtz(short);
  68. char __ovld __cnfn convert_char_sat_rtz(short);
  69. char __ovld __cnfn convert_char_rtp(short);
  70. char __ovld __cnfn convert_char_sat_rtp(short);
  71. char __ovld __cnfn convert_char_rtn(short);
  72. char __ovld __cnfn convert_char_sat_rtn(short);
  73. char __ovld __cnfn convert_char(short);
  74. char __ovld __cnfn convert_char_sat(short);
  75. char __ovld __cnfn convert_char_rte(ushort);
  76. char __ovld __cnfn convert_char_sat_rte(ushort);
  77. char __ovld __cnfn convert_char_rtz(ushort);
  78. char __ovld __cnfn convert_char_sat_rtz(ushort);
  79. char __ovld __cnfn convert_char_rtp(ushort);
  80. char __ovld __cnfn convert_char_sat_rtp(ushort);
  81. char __ovld __cnfn convert_char_rtn(ushort);
  82. char __ovld __cnfn convert_char_sat_rtn(ushort);
  83. char __ovld __cnfn convert_char(ushort);
  84. char __ovld __cnfn convert_char_sat(ushort);
  85. char __ovld __cnfn convert_char_rte(int);
  86. char __ovld __cnfn convert_char_sat_rte(int);
  87. char __ovld __cnfn convert_char_rtz(int);
  88. char __ovld __cnfn convert_char_sat_rtz(int);
  89. char __ovld __cnfn convert_char_rtp(int);
  90. char __ovld __cnfn convert_char_sat_rtp(int);
  91. char __ovld __cnfn convert_char_rtn(int);
  92. char __ovld __cnfn convert_char_sat_rtn(int);
  93. char __ovld __cnfn convert_char(int);
  94. char __ovld __cnfn convert_char_sat(int);
  95. char __ovld __cnfn convert_char_rte(uint);
  96. char __ovld __cnfn convert_char_sat_rte(uint);
  97. char __ovld __cnfn convert_char_rtz(uint);
  98. char __ovld __cnfn convert_char_sat_rtz(uint);
  99. char __ovld __cnfn convert_char_rtp(uint);
  100. char __ovld __cnfn convert_char_sat_rtp(uint);
  101. char __ovld __cnfn convert_char_rtn(uint);
  102. char __ovld __cnfn convert_char_sat_rtn(uint);
  103. char __ovld __cnfn convert_char(uint);
  104. char __ovld __cnfn convert_char_sat(uint);
  105. char __ovld __cnfn convert_char_rte(long);
  106. char __ovld __cnfn convert_char_sat_rte(long);
  107. char __ovld __cnfn convert_char_rtz(long);
  108. char __ovld __cnfn convert_char_sat_rtz(long);
  109. char __ovld __cnfn convert_char_rtp(long);
  110. char __ovld __cnfn convert_char_sat_rtp(long);
  111. char __ovld __cnfn convert_char_rtn(long);
  112. char __ovld __cnfn convert_char_sat_rtn(long);
  113. char __ovld __cnfn convert_char(long);
  114. char __ovld __cnfn convert_char_sat(long);
  115. char __ovld __cnfn convert_char_rte(ulong);
  116. char __ovld __cnfn convert_char_sat_rte(ulong);
  117. char __ovld __cnfn convert_char_rtz(ulong);
  118. char __ovld __cnfn convert_char_sat_rtz(ulong);
  119. char __ovld __cnfn convert_char_rtp(ulong);
  120. char __ovld __cnfn convert_char_sat_rtp(ulong);
  121. char __ovld __cnfn convert_char_rtn(ulong);
  122. char __ovld __cnfn convert_char_sat_rtn(ulong);
  123. char __ovld __cnfn convert_char(ulong);
  124. char __ovld __cnfn convert_char_sat(ulong);
  125. char __ovld __cnfn convert_char_rte(float);
  126. char __ovld __cnfn convert_char_sat_rte(float);
  127. char __ovld __cnfn convert_char_rtz(float);
  128. char __ovld __cnfn convert_char_sat_rtz(float);
  129. char __ovld __cnfn convert_char_rtp(float);
  130. char __ovld __cnfn convert_char_sat_rtp(float);
  131. char __ovld __cnfn convert_char_rtn(float);
  132. char __ovld __cnfn convert_char_sat_rtn(float);
  133. char __ovld __cnfn convert_char(float);
  134. char __ovld __cnfn convert_char_sat(float);
  135. uchar __ovld __cnfn convert_uchar_rte(char);
  136. uchar __ovld __cnfn convert_uchar_sat_rte(char);
  137. uchar __ovld __cnfn convert_uchar_rtz(char);
  138. uchar __ovld __cnfn convert_uchar_sat_rtz(char);
  139. uchar __ovld __cnfn convert_uchar_rtp(char);
  140. uchar __ovld __cnfn convert_uchar_sat_rtp(char);
  141. uchar __ovld __cnfn convert_uchar_rtn(char);
  142. uchar __ovld __cnfn convert_uchar_sat_rtn(char);
  143. uchar __ovld __cnfn convert_uchar(char);
  144. uchar __ovld __cnfn convert_uchar_sat(char);
  145. uchar __ovld __cnfn convert_uchar_rte(uchar);
  146. uchar __ovld __cnfn convert_uchar_sat_rte(uchar);
  147. uchar __ovld __cnfn convert_uchar_rtz(uchar);
  148. uchar __ovld __cnfn convert_uchar_sat_rtz(uchar);
  149. uchar __ovld __cnfn convert_uchar_rtp(uchar);
  150. uchar __ovld __cnfn convert_uchar_sat_rtp(uchar);
  151. uchar __ovld __cnfn convert_uchar_rtn(uchar);
  152. uchar __ovld __cnfn convert_uchar_sat_rtn(uchar);
  153. uchar __ovld __cnfn convert_uchar(uchar);
  154. uchar __ovld __cnfn convert_uchar_sat(uchar);
  155. uchar __ovld __cnfn convert_uchar_rte(short);
  156. uchar __ovld __cnfn convert_uchar_sat_rte(short);
  157. uchar __ovld __cnfn convert_uchar_rtz(short);
  158. uchar __ovld __cnfn convert_uchar_sat_rtz(short);
  159. uchar __ovld __cnfn convert_uchar_rtp(short);
  160. uchar __ovld __cnfn convert_uchar_sat_rtp(short);
  161. uchar __ovld __cnfn convert_uchar_rtn(short);
  162. uchar __ovld __cnfn convert_uchar_sat_rtn(short);
  163. uchar __ovld __cnfn convert_uchar(short);
  164. uchar __ovld __cnfn convert_uchar_sat(short);
  165. uchar __ovld __cnfn convert_uchar_rte(ushort);
  166. uchar __ovld __cnfn convert_uchar_sat_rte(ushort);
  167. uchar __ovld __cnfn convert_uchar_rtz(ushort);
  168. uchar __ovld __cnfn convert_uchar_sat_rtz(ushort);
  169. uchar __ovld __cnfn convert_uchar_rtp(ushort);
  170. uchar __ovld __cnfn convert_uchar_sat_rtp(ushort);
  171. uchar __ovld __cnfn convert_uchar_rtn(ushort);
  172. uchar __ovld __cnfn convert_uchar_sat_rtn(ushort);
  173. uchar __ovld __cnfn convert_uchar(ushort);
  174. uchar __ovld __cnfn convert_uchar_sat(ushort);
  175. uchar __ovld __cnfn convert_uchar_rte(int);
  176. uchar __ovld __cnfn convert_uchar_sat_rte(int);
  177. uchar __ovld __cnfn convert_uchar_rtz(int);
  178. uchar __ovld __cnfn convert_uchar_sat_rtz(int);
  179. uchar __ovld __cnfn convert_uchar_rtp(int);
  180. uchar __ovld __cnfn convert_uchar_sat_rtp(int);
  181. uchar __ovld __cnfn convert_uchar_rtn(int);
  182. uchar __ovld __cnfn convert_uchar_sat_rtn(int);
  183. uchar __ovld __cnfn convert_uchar(int);
  184. uchar __ovld __cnfn convert_uchar_sat(int);
  185. uchar __ovld __cnfn convert_uchar_rte(uint);
  186. uchar __ovld __cnfn convert_uchar_sat_rte(uint);
  187. uchar __ovld __cnfn convert_uchar_rtz(uint);
  188. uchar __ovld __cnfn convert_uchar_sat_rtz(uint);
  189. uchar __ovld __cnfn convert_uchar_rtp(uint);
  190. uchar __ovld __cnfn convert_uchar_sat_rtp(uint);
  191. uchar __ovld __cnfn convert_uchar_rtn(uint);
  192. uchar __ovld __cnfn convert_uchar_sat_rtn(uint);
  193. uchar __ovld __cnfn convert_uchar(uint);
  194. uchar __ovld __cnfn convert_uchar_sat(uint);
  195. uchar __ovld __cnfn convert_uchar_rte(long);
  196. uchar __ovld __cnfn convert_uchar_sat_rte(long);
  197. uchar __ovld __cnfn convert_uchar_rtz(long);
  198. uchar __ovld __cnfn convert_uchar_sat_rtz(long);
  199. uchar __ovld __cnfn convert_uchar_rtp(long);
  200. uchar __ovld __cnfn convert_uchar_sat_rtp(long);
  201. uchar __ovld __cnfn convert_uchar_rtn(long);
  202. uchar __ovld __cnfn convert_uchar_sat_rtn(long);
  203. uchar __ovld __cnfn convert_uchar(long);
  204. uchar __ovld __cnfn convert_uchar_sat(long);
  205. uchar __ovld __cnfn convert_uchar_rte(ulong);
  206. uchar __ovld __cnfn convert_uchar_sat_rte(ulong);
  207. uchar __ovld __cnfn convert_uchar_rtz(ulong);
  208. uchar __ovld __cnfn convert_uchar_sat_rtz(ulong);
  209. uchar __ovld __cnfn convert_uchar_rtp(ulong);
  210. uchar __ovld __cnfn convert_uchar_sat_rtp(ulong);
  211. uchar __ovld __cnfn convert_uchar_rtn(ulong);
  212. uchar __ovld __cnfn convert_uchar_sat_rtn(ulong);
  213. uchar __ovld __cnfn convert_uchar(ulong);
  214. uchar __ovld __cnfn convert_uchar_sat(ulong);
  215. uchar __ovld __cnfn convert_uchar_rte(float);
  216. uchar __ovld __cnfn convert_uchar_sat_rte(float);
  217. uchar __ovld __cnfn convert_uchar_rtz(float);
  218. uchar __ovld __cnfn convert_uchar_sat_rtz(float);
  219. uchar __ovld __cnfn convert_uchar_rtp(float);
  220. uchar __ovld __cnfn convert_uchar_sat_rtp(float);
  221. uchar __ovld __cnfn convert_uchar_rtn(float);
  222. uchar __ovld __cnfn convert_uchar_sat_rtn(float);
  223. uchar __ovld __cnfn convert_uchar(float);
  224. uchar __ovld __cnfn convert_uchar_sat(float);
  225.  
  226. short __ovld __cnfn convert_short_rte(char);
  227. short __ovld __cnfn convert_short_sat_rte(char);
  228. short __ovld __cnfn convert_short_rtz(char);
  229. short __ovld __cnfn convert_short_sat_rtz(char);
  230. short __ovld __cnfn convert_short_rtp(char);
  231. short __ovld __cnfn convert_short_sat_rtp(char);
  232. short __ovld __cnfn convert_short_rtn(char);
  233. short __ovld __cnfn convert_short_sat_rtn(char);
  234. short __ovld __cnfn convert_short(char);
  235. short __ovld __cnfn convert_short_sat(char);
  236. short __ovld __cnfn convert_short_rte(uchar);
  237. short __ovld __cnfn convert_short_sat_rte(uchar);
  238. short __ovld __cnfn convert_short_rtz(uchar);
  239. short __ovld __cnfn convert_short_sat_rtz(uchar);
  240. short __ovld __cnfn convert_short_rtp(uchar);
  241. short __ovld __cnfn convert_short_sat_rtp(uchar);
  242. short __ovld __cnfn convert_short_rtn(uchar);
  243. short __ovld __cnfn convert_short_sat_rtn(uchar);
  244. short __ovld __cnfn convert_short(uchar);
  245. short __ovld __cnfn convert_short_sat(uchar);
  246. short __ovld __cnfn convert_short_rte(short);
  247. short __ovld __cnfn convert_short_sat_rte(short);
  248. short __ovld __cnfn convert_short_rtz(short);
  249. short __ovld __cnfn convert_short_sat_rtz(short);
  250. short __ovld __cnfn convert_short_rtp(short);
  251. short __ovld __cnfn convert_short_sat_rtp(short);
  252. short __ovld __cnfn convert_short_rtn(short);
  253. short __ovld __cnfn convert_short_sat_rtn(short);
  254. short __ovld __cnfn convert_short(short);
  255. short __ovld __cnfn convert_short_sat(short);
  256. short __ovld __cnfn convert_short_rte(ushort);
  257. short __ovld __cnfn convert_short_sat_rte(ushort);
  258. short __ovld __cnfn convert_short_rtz(ushort);
  259. short __ovld __cnfn convert_short_sat_rtz(ushort);
  260. short __ovld __cnfn convert_short_rtp(ushort);
  261. short __ovld __cnfn convert_short_sat_rtp(ushort);
  262. short __ovld __cnfn convert_short_rtn(ushort);
  263. short __ovld __cnfn convert_short_sat_rtn(ushort);
  264. short __ovld __cnfn convert_short(ushort);
  265. short __ovld __cnfn convert_short_sat(ushort);
  266. short __ovld __cnfn convert_short_rte(int);
  267. short __ovld __cnfn convert_short_sat_rte(int);
  268. short __ovld __cnfn convert_short_rtz(int);
  269. short __ovld __cnfn convert_short_sat_rtz(int);
  270. short __ovld __cnfn convert_short_rtp(int);
  271. short __ovld __cnfn convert_short_sat_rtp(int);
  272. short __ovld __cnfn convert_short_rtn(int);
  273. short __ovld __cnfn convert_short_sat_rtn(int);
  274. short __ovld __cnfn convert_short(int);
  275. short __ovld __cnfn convert_short_sat(int);
  276. short __ovld __cnfn convert_short_rte(uint);
  277. short __ovld __cnfn convert_short_sat_rte(uint);
  278. short __ovld __cnfn convert_short_rtz(uint);
  279. short __ovld __cnfn convert_short_sat_rtz(uint);
  280. short __ovld __cnfn convert_short_rtp(uint);
  281. short __ovld __cnfn convert_short_sat_rtp(uint);
  282. short __ovld __cnfn convert_short_rtn(uint);
  283. short __ovld __cnfn convert_short_sat_rtn(uint);
  284. short __ovld __cnfn convert_short(uint);
  285. short __ovld __cnfn convert_short_sat(uint);
  286. short __ovld __cnfn convert_short_rte(long);
  287. short __ovld __cnfn convert_short_sat_rte(long);
  288. short __ovld __cnfn convert_short_rtz(long);
  289. short __ovld __cnfn convert_short_sat_rtz(long);
  290. short __ovld __cnfn convert_short_rtp(long);
  291. short __ovld __cnfn convert_short_sat_rtp(long);
  292. short __ovld __cnfn convert_short_rtn(long);
  293. short __ovld __cnfn convert_short_sat_rtn(long);
  294. short __ovld __cnfn convert_short(long);
  295. short __ovld __cnfn convert_short_sat(long);
  296. short __ovld __cnfn convert_short_rte(ulong);
  297. short __ovld __cnfn convert_short_sat_rte(ulong);
  298. short __ovld __cnfn convert_short_rtz(ulong);
  299. short __ovld __cnfn convert_short_sat_rtz(ulong);
  300. short __ovld __cnfn convert_short_rtp(ulong);
  301. short __ovld __cnfn convert_short_sat_rtp(ulong);
  302. short __ovld __cnfn convert_short_rtn(ulong);
  303. short __ovld __cnfn convert_short_sat_rtn(ulong);
  304. short __ovld __cnfn convert_short(ulong);
  305. short __ovld __cnfn convert_short_sat(ulong);
  306. short __ovld __cnfn convert_short_rte(float);
  307. short __ovld __cnfn convert_short_sat_rte(float);
  308. short __ovld __cnfn convert_short_rtz(float);
  309. short __ovld __cnfn convert_short_sat_rtz(float);
  310. short __ovld __cnfn convert_short_rtp(float);
  311. short __ovld __cnfn convert_short_sat_rtp(float);
  312. short __ovld __cnfn convert_short_rtn(float);
  313. short __ovld __cnfn convert_short_sat_rtn(float);
  314. short __ovld __cnfn convert_short(float);
  315. short __ovld __cnfn convert_short_sat(float);
  316. ushort __ovld __cnfn convert_ushort_rte(char);
  317. ushort __ovld __cnfn convert_ushort_sat_rte(char);
  318. ushort __ovld __cnfn convert_ushort_rtz(char);
  319. ushort __ovld __cnfn convert_ushort_sat_rtz(char);
  320. ushort __ovld __cnfn convert_ushort_rtp(char);
  321. ushort __ovld __cnfn convert_ushort_sat_rtp(char);
  322. ushort __ovld __cnfn convert_ushort_rtn(char);
  323. ushort __ovld __cnfn convert_ushort_sat_rtn(char);
  324. ushort __ovld __cnfn convert_ushort(char);
  325. ushort __ovld __cnfn convert_ushort_sat(char);
  326. ushort __ovld __cnfn convert_ushort_rte(uchar);
  327. ushort __ovld __cnfn convert_ushort_sat_rte(uchar);
  328. ushort __ovld __cnfn convert_ushort_rtz(uchar);
  329. ushort __ovld __cnfn convert_ushort_sat_rtz(uchar);
  330. ushort __ovld __cnfn convert_ushort_rtp(uchar);
  331. ushort __ovld __cnfn convert_ushort_sat_rtp(uchar);
  332. ushort __ovld __cnfn convert_ushort_rtn(uchar);
  333. ushort __ovld __cnfn convert_ushort_sat_rtn(uchar);
  334. ushort __ovld __cnfn convert_ushort(uchar);
  335. ushort __ovld __cnfn convert_ushort_sat(uchar);
  336. ushort __ovld __cnfn convert_ushort_rte(short);
  337. ushort __ovld __cnfn convert_ushort_sat_rte(short);
  338. ushort __ovld __cnfn convert_ushort_rtz(short);
  339. ushort __ovld __cnfn convert_ushort_sat_rtz(short);
  340. ushort __ovld __cnfn convert_ushort_rtp(short);
  341. ushort __ovld __cnfn convert_ushort_sat_rtp(short);
  342. ushort __ovld __cnfn convert_ushort_rtn(short);
  343. ushort __ovld __cnfn convert_ushort_sat_rtn(short);
  344. ushort __ovld __cnfn convert_ushort(short);
  345. ushort __ovld __cnfn convert_ushort_sat(short);
  346. ushort __ovld __cnfn convert_ushort_rte(ushort);
  347. ushort __ovld __cnfn convert_ushort_sat_rte(ushort);
  348. ushort __ovld __cnfn convert_ushort_rtz(ushort);
  349. ushort __ovld __cnfn convert_ushort_sat_rtz(ushort);
  350. ushort __ovld __cnfn convert_ushort_rtp(ushort);
  351. ushort __ovld __cnfn convert_ushort_sat_rtp(ushort);
  352. ushort __ovld __cnfn convert_ushort_rtn(ushort);
  353. ushort __ovld __cnfn convert_ushort_sat_rtn(ushort);
  354. ushort __ovld __cnfn convert_ushort(ushort);
  355. ushort __ovld __cnfn convert_ushort_sat(ushort);
  356. ushort __ovld __cnfn convert_ushort_rte(int);
  357. ushort __ovld __cnfn convert_ushort_sat_rte(int);
  358. ushort __ovld __cnfn convert_ushort_rtz(int);
  359. ushort __ovld __cnfn convert_ushort_sat_rtz(int);
  360. ushort __ovld __cnfn convert_ushort_rtp(int);
  361. ushort __ovld __cnfn convert_ushort_sat_rtp(int);
  362. ushort __ovld __cnfn convert_ushort_rtn(int);
  363. ushort __ovld __cnfn convert_ushort_sat_rtn(int);
  364. ushort __ovld __cnfn convert_ushort(int);
  365. ushort __ovld __cnfn convert_ushort_sat(int);
  366. ushort __ovld __cnfn convert_ushort_rte(uint);
  367. ushort __ovld __cnfn convert_ushort_sat_rte(uint);
  368. ushort __ovld __cnfn convert_ushort_rtz(uint);
  369. ushort __ovld __cnfn convert_ushort_sat_rtz(uint);
  370. ushort __ovld __cnfn convert_ushort_rtp(uint);
  371. ushort __ovld __cnfn convert_ushort_sat_rtp(uint);
  372. ushort __ovld __cnfn convert_ushort_rtn(uint);
  373. ushort __ovld __cnfn convert_ushort_sat_rtn(uint);
  374. ushort __ovld __cnfn convert_ushort(uint);
  375. ushort __ovld __cnfn convert_ushort_sat(uint);
  376. ushort __ovld __cnfn convert_ushort_rte(long);
  377. ushort __ovld __cnfn convert_ushort_sat_rte(long);
  378. ushort __ovld __cnfn convert_ushort_rtz(long);
  379. ushort __ovld __cnfn convert_ushort_sat_rtz(long);
  380. ushort __ovld __cnfn convert_ushort_rtp(long);
  381. ushort __ovld __cnfn convert_ushort_sat_rtp(long);
  382. ushort __ovld __cnfn convert_ushort_rtn(long);
  383. ushort __ovld __cnfn convert_ushort_sat_rtn(long);
  384. ushort __ovld __cnfn convert_ushort(long);
  385. ushort __ovld __cnfn convert_ushort_sat(long);
  386. ushort __ovld __cnfn convert_ushort_rte(ulong);
  387. ushort __ovld __cnfn convert_ushort_sat_rte(ulong);
  388. ushort __ovld __cnfn convert_ushort_rtz(ulong);
  389. ushort __ovld __cnfn convert_ushort_sat_rtz(ulong);
  390. ushort __ovld __cnfn convert_ushort_rtp(ulong);
  391. ushort __ovld __cnfn convert_ushort_sat_rtp(ulong);
  392. ushort __ovld __cnfn convert_ushort_rtn(ulong);
  393. ushort __ovld __cnfn convert_ushort_sat_rtn(ulong);
  394. ushort __ovld __cnfn convert_ushort(ulong);
  395. ushort __ovld __cnfn convert_ushort_sat(ulong);
  396. ushort __ovld __cnfn convert_ushort_rte(float);
  397. ushort __ovld __cnfn convert_ushort_sat_rte(float);
  398. ushort __ovld __cnfn convert_ushort_rtz(float);
  399. ushort __ovld __cnfn convert_ushort_sat_rtz(float);
  400. ushort __ovld __cnfn convert_ushort_rtp(float);
  401. ushort __ovld __cnfn convert_ushort_sat_rtp(float);
  402. ushort __ovld __cnfn convert_ushort_rtn(float);
  403. ushort __ovld __cnfn convert_ushort_sat_rtn(float);
  404. ushort __ovld __cnfn convert_ushort(float);
  405. ushort __ovld __cnfn convert_ushort_sat(float);
  406. int __ovld __cnfn convert_int_rte(char);
  407. int __ovld __cnfn convert_int_sat_rte(char);
  408. int __ovld __cnfn convert_int_rtz(char);
  409. int __ovld __cnfn convert_int_sat_rtz(char);
  410. int __ovld __cnfn convert_int_rtp(char);
  411. int __ovld __cnfn convert_int_sat_rtp(char);
  412. int __ovld __cnfn convert_int_rtn(char);
  413. int __ovld __cnfn convert_int_sat_rtn(char);
  414. int __ovld __cnfn convert_int(char);
  415. int __ovld __cnfn convert_int_sat(char);
  416. int __ovld __cnfn convert_int_rte(uchar);
  417. int __ovld __cnfn convert_int_sat_rte(uchar);
  418. int __ovld __cnfn convert_int_rtz(uchar);
  419. int __ovld __cnfn convert_int_sat_rtz(uchar);
  420. int __ovld __cnfn convert_int_rtp(uchar);
  421. int __ovld __cnfn convert_int_sat_rtp(uchar);
  422. int __ovld __cnfn convert_int_rtn(uchar);
  423. int __ovld __cnfn convert_int_sat_rtn(uchar);
  424. int __ovld __cnfn convert_int(uchar);
  425. int __ovld __cnfn convert_int_sat(uchar);
  426. int __ovld __cnfn convert_int_rte(short);
  427. int __ovld __cnfn convert_int_sat_rte(short);
  428. int __ovld __cnfn convert_int_rtz(short);
  429. int __ovld __cnfn convert_int_sat_rtz(short);
  430. int __ovld __cnfn convert_int_rtp(short);
  431. int __ovld __cnfn convert_int_sat_rtp(short);
  432. int __ovld __cnfn convert_int_rtn(short);
  433. int __ovld __cnfn convert_int_sat_rtn(short);
  434. int __ovld __cnfn convert_int(short);
  435. int __ovld __cnfn convert_int_sat(short);
  436. int __ovld __cnfn convert_int_rte(ushort);
  437. int __ovld __cnfn convert_int_sat_rte(ushort);
  438. int __ovld __cnfn convert_int_rtz(ushort);
  439. int __ovld __cnfn convert_int_sat_rtz(ushort);
  440. int __ovld __cnfn convert_int_rtp(ushort);
  441. int __ovld __cnfn convert_int_sat_rtp(ushort);
  442. int __ovld __cnfn convert_int_rtn(ushort);
  443. int __ovld __cnfn convert_int_sat_rtn(ushort);
  444. int __ovld __cnfn convert_int(ushort);
  445. int __ovld __cnfn convert_int_sat(ushort);
  446. int __ovld __cnfn convert_int_rte(int);
  447. int __ovld __cnfn convert_int_sat_rte(int);
  448. int __ovld __cnfn convert_int_rtz(int);
  449. int __ovld __cnfn convert_int_sat_rtz(int);
  450. int __ovld __cnfn convert_int_rtp(int);
  451. int __ovld __cnfn convert_int_sat_rtp(int);
  452. int __ovld __cnfn convert_int_rtn(int);
  453. int __ovld __cnfn convert_int_sat_rtn(int);
  454. int __ovld __cnfn convert_int(int);
  455. int __ovld __cnfn convert_int_sat(int);
  456. int __ovld __cnfn convert_int_rte(uint);
  457. int __ovld __cnfn convert_int_sat_rte(uint);
  458. int __ovld __cnfn convert_int_rtz(uint);
  459. int __ovld __cnfn convert_int_sat_rtz(uint);
  460. int __ovld __cnfn convert_int_rtp(uint);
  461. int __ovld __cnfn convert_int_sat_rtp(uint);
  462. int __ovld __cnfn convert_int_rtn(uint);
  463. int __ovld __cnfn convert_int_sat_rtn(uint);
  464. int __ovld __cnfn convert_int(uint);
  465. int __ovld __cnfn convert_int_sat(uint);
  466. int __ovld __cnfn convert_int_rte(long);
  467. int __ovld __cnfn convert_int_sat_rte(long);
  468. int __ovld __cnfn convert_int_rtz(long);
  469. int __ovld __cnfn convert_int_sat_rtz(long);
  470. int __ovld __cnfn convert_int_rtp(long);
  471. int __ovld __cnfn convert_int_sat_rtp(long);
  472. int __ovld __cnfn convert_int_rtn(long);
  473. int __ovld __cnfn convert_int_sat_rtn(long);
  474. int __ovld __cnfn convert_int(long);
  475. int __ovld __cnfn convert_int_sat(long);
  476. int __ovld __cnfn convert_int_rte(ulong);
  477. int __ovld __cnfn convert_int_sat_rte(ulong);
  478. int __ovld __cnfn convert_int_rtz(ulong);
  479. int __ovld __cnfn convert_int_sat_rtz(ulong);
  480. int __ovld __cnfn convert_int_rtp(ulong);
  481. int __ovld __cnfn convert_int_sat_rtp(ulong);
  482. int __ovld __cnfn convert_int_rtn(ulong);
  483. int __ovld __cnfn convert_int_sat_rtn(ulong);
  484. int __ovld __cnfn convert_int(ulong);
  485. int __ovld __cnfn convert_int_sat(ulong);
  486. int __ovld __cnfn convert_int_rte(float);
  487. int __ovld __cnfn convert_int_sat_rte(float);
  488. int __ovld __cnfn convert_int_rtz(float);
  489. int __ovld __cnfn convert_int_sat_rtz(float);
  490. int __ovld __cnfn convert_int_rtp(float);
  491. int __ovld __cnfn convert_int_sat_rtp(float);
  492. int __ovld __cnfn convert_int_rtn(float);
  493. int __ovld __cnfn convert_int_sat_rtn(float);
  494. int __ovld __cnfn convert_int(float);
  495. int __ovld __cnfn convert_int_sat(float);
  496. uint __ovld __cnfn convert_uint_rte(char);
  497. uint __ovld __cnfn convert_uint_sat_rte(char);
  498. uint __ovld __cnfn convert_uint_rtz(char);
  499. uint __ovld __cnfn convert_uint_sat_rtz(char);
  500. uint __ovld __cnfn convert_uint_rtp(char);
  501. uint __ovld __cnfn convert_uint_sat_rtp(char);
  502. uint __ovld __cnfn convert_uint_rtn(char);
  503. uint __ovld __cnfn convert_uint_sat_rtn(char);
  504. uint __ovld __cnfn convert_uint(char);
  505. uint __ovld __cnfn convert_uint_sat(char);
  506. uint __ovld __cnfn convert_uint_rte(uchar);
  507. uint __ovld __cnfn convert_uint_sat_rte(uchar);
  508. uint __ovld __cnfn convert_uint_rtz(uchar);
  509. uint __ovld __cnfn convert_uint_sat_rtz(uchar);
  510. uint __ovld __cnfn convert_uint_rtp(uchar);
  511. uint __ovld __cnfn convert_uint_sat_rtp(uchar);
  512. uint __ovld __cnfn convert_uint_rtn(uchar);
  513. uint __ovld __cnfn convert_uint_sat_rtn(uchar);
  514. uint __ovld __cnfn convert_uint(uchar);
  515. uint __ovld __cnfn convert_uint_sat(uchar);
  516. uint __ovld __cnfn convert_uint_rte(short);
  517. uint __ovld __cnfn convert_uint_sat_rte(short);
  518. uint __ovld __cnfn convert_uint_rtz(short);
  519. uint __ovld __cnfn convert_uint_sat_rtz(short);
  520. uint __ovld __cnfn convert_uint_rtp(short);
  521. uint __ovld __cnfn convert_uint_sat_rtp(short);
  522. uint __ovld __cnfn convert_uint_rtn(short);
  523. uint __ovld __cnfn convert_uint_sat_rtn(short);
  524. uint __ovld __cnfn convert_uint(short);
  525. uint __ovld __cnfn convert_uint_sat(short);
  526. uint __ovld __cnfn convert_uint_rte(ushort);
  527. uint __ovld __cnfn convert_uint_sat_rte(ushort);
  528. uint __ovld __cnfn convert_uint_rtz(ushort);
  529. uint __ovld __cnfn convert_uint_sat_rtz(ushort);
  530. uint __ovld __cnfn convert_uint_rtp(ushort);
  531. uint __ovld __cnfn convert_uint_sat_rtp(ushort);
  532. uint __ovld __cnfn convert_uint_rtn(ushort);
  533. uint __ovld __cnfn convert_uint_sat_rtn(ushort);
  534. uint __ovld __cnfn convert_uint(ushort);
  535. uint __ovld __cnfn convert_uint_sat(ushort);
  536. uint __ovld __cnfn convert_uint_rte(int);
  537. uint __ovld __cnfn convert_uint_sat_rte(int);
  538. uint __ovld __cnfn convert_uint_rtz(int);
  539. uint __ovld __cnfn convert_uint_sat_rtz(int);
  540. uint __ovld __cnfn convert_uint_rtp(int);
  541. uint __ovld __cnfn convert_uint_sat_rtp(int);
  542. uint __ovld __cnfn convert_uint_rtn(int);
  543. uint __ovld __cnfn convert_uint_sat_rtn(int);
  544. uint __ovld __cnfn convert_uint(int);
  545. uint __ovld __cnfn convert_uint_sat(int);
  546. uint __ovld __cnfn convert_uint_rte(uint);
  547. uint __ovld __cnfn convert_uint_sat_rte(uint);
  548. uint __ovld __cnfn convert_uint_rtz(uint);
  549. uint __ovld __cnfn convert_uint_sat_rtz(uint);
  550. uint __ovld __cnfn convert_uint_rtp(uint);
  551. uint __ovld __cnfn convert_uint_sat_rtp(uint);
  552. uint __ovld __cnfn convert_uint_rtn(uint);
  553. uint __ovld __cnfn convert_uint_sat_rtn(uint);
  554. uint __ovld __cnfn convert_uint(uint);
  555. uint __ovld __cnfn convert_uint_sat(uint);
  556. uint __ovld __cnfn convert_uint_rte(long);
  557. uint __ovld __cnfn convert_uint_sat_rte(long);
  558. uint __ovld __cnfn convert_uint_rtz(long);
  559. uint __ovld __cnfn convert_uint_sat_rtz(long);
  560. uint __ovld __cnfn convert_uint_rtp(long);
  561. uint __ovld __cnfn convert_uint_sat_rtp(long);
  562. uint __ovld __cnfn convert_uint_rtn(long);
  563. uint __ovld __cnfn convert_uint_sat_rtn(long);
  564. uint __ovld __cnfn convert_uint(long);
  565. uint __ovld __cnfn convert_uint_sat(long);
  566. uint __ovld __cnfn convert_uint_rte(ulong);
  567. uint __ovld __cnfn convert_uint_sat_rte(ulong);
  568. uint __ovld __cnfn convert_uint_rtz(ulong);
  569. uint __ovld __cnfn convert_uint_sat_rtz(ulong);
  570. uint __ovld __cnfn convert_uint_rtp(ulong);
  571. uint __ovld __cnfn convert_uint_sat_rtp(ulong);
  572. uint __ovld __cnfn convert_uint_rtn(ulong);
  573. uint __ovld __cnfn convert_uint_sat_rtn(ulong);
  574. uint __ovld __cnfn convert_uint(ulong);
  575. uint __ovld __cnfn convert_uint_sat(ulong);
  576. uint __ovld __cnfn convert_uint_rte(float);
  577. uint __ovld __cnfn convert_uint_sat_rte(float);
  578. uint __ovld __cnfn convert_uint_rtz(float);
  579. uint __ovld __cnfn convert_uint_sat_rtz(float);
  580. uint __ovld __cnfn convert_uint_rtp(float);
  581. uint __ovld __cnfn convert_uint_sat_rtp(float);
  582. uint __ovld __cnfn convert_uint_rtn(float);
  583. uint __ovld __cnfn convert_uint_sat_rtn(float);
  584. uint __ovld __cnfn convert_uint(float);
  585. uint __ovld __cnfn convert_uint_sat(float);
  586. long __ovld __cnfn convert_long_rte(char);
  587. long __ovld __cnfn convert_long_sat_rte(char);
  588. long __ovld __cnfn convert_long_rtz(char);
  589. long __ovld __cnfn convert_long_sat_rtz(char);
  590. long __ovld __cnfn convert_long_rtp(char);
  591. long __ovld __cnfn convert_long_sat_rtp(char);
  592. long __ovld __cnfn convert_long_rtn(char);
  593. long __ovld __cnfn convert_long_sat_rtn(char);
  594. long __ovld __cnfn convert_long(char);
  595. long __ovld __cnfn convert_long_sat(char);
  596. long __ovld __cnfn convert_long_rte(uchar);
  597. long __ovld __cnfn convert_long_sat_rte(uchar);
  598. long __ovld __cnfn convert_long_rtz(uchar);
  599. long __ovld __cnfn convert_long_sat_rtz(uchar);
  600. long __ovld __cnfn convert_long_rtp(uchar);
  601. long __ovld __cnfn convert_long_sat_rtp(uchar);
  602. long __ovld __cnfn convert_long_rtn(uchar);
  603. long __ovld __cnfn convert_long_sat_rtn(uchar);
  604. long __ovld __cnfn convert_long(uchar);
  605. long __ovld __cnfn convert_long_sat(uchar);
  606. long __ovld __cnfn convert_long_rte(short);
  607. long __ovld __cnfn convert_long_sat_rte(short);
  608. long __ovld __cnfn convert_long_rtz(short);
  609. long __ovld __cnfn convert_long_sat_rtz(short);
  610. long __ovld __cnfn convert_long_rtp(short);
  611. long __ovld __cnfn convert_long_sat_rtp(short);
  612. long __ovld __cnfn convert_long_rtn(short);
  613. long __ovld __cnfn convert_long_sat_rtn(short);
  614. long __ovld __cnfn convert_long(short);
  615. long __ovld __cnfn convert_long_sat(short);
  616. long __ovld __cnfn convert_long_rte(ushort);
  617. long __ovld __cnfn convert_long_sat_rte(ushort);
  618. long __ovld __cnfn convert_long_rtz(ushort);
  619. long __ovld __cnfn convert_long_sat_rtz(ushort);
  620. long __ovld __cnfn convert_long_rtp(ushort);
  621. long __ovld __cnfn convert_long_sat_rtp(ushort);
  622. long __ovld __cnfn convert_long_rtn(ushort);
  623. long __ovld __cnfn convert_long_sat_rtn(ushort);
  624. long __ovld __cnfn convert_long(ushort);
  625. long __ovld __cnfn convert_long_sat(ushort);
  626. long __ovld __cnfn convert_long_rte(int);
  627. long __ovld __cnfn convert_long_sat_rte(int);
  628. long __ovld __cnfn convert_long_rtz(int);
  629. long __ovld __cnfn convert_long_sat_rtz(int);
  630. long __ovld __cnfn convert_long_rtp(int);
  631. long __ovld __cnfn convert_long_sat_rtp(int);
  632. long __ovld __cnfn convert_long_rtn(int);
  633. long __ovld __cnfn convert_long_sat_rtn(int);
  634. long __ovld __cnfn convert_long(int);
  635. long __ovld __cnfn convert_long_sat(int);
  636. long __ovld __cnfn convert_long_rte(uint);
  637. long __ovld __cnfn convert_long_sat_rte(uint);
  638. long __ovld __cnfn convert_long_rtz(uint);
  639. long __ovld __cnfn convert_long_sat_rtz(uint);
  640. long __ovld __cnfn convert_long_rtp(uint);
  641. long __ovld __cnfn convert_long_sat_rtp(uint);
  642. long __ovld __cnfn convert_long_rtn(uint);
  643. long __ovld __cnfn convert_long_sat_rtn(uint);
  644. long __ovld __cnfn convert_long(uint);
  645. long __ovld __cnfn convert_long_sat(uint);
  646. long __ovld __cnfn convert_long_rte(long);
  647. long __ovld __cnfn convert_long_sat_rte(long);
  648. long __ovld __cnfn convert_long_rtz(long);
  649. long __ovld __cnfn convert_long_sat_rtz(long);
  650. long __ovld __cnfn convert_long_rtp(long);
  651. long __ovld __cnfn convert_long_sat_rtp(long);
  652. long __ovld __cnfn convert_long_rtn(long);
  653. long __ovld __cnfn convert_long_sat_rtn(long);
  654. long __ovld __cnfn convert_long(long);
  655. long __ovld __cnfn convert_long_sat(long);
  656. long __ovld __cnfn convert_long_rte(ulong);
  657. long __ovld __cnfn convert_long_sat_rte(ulong);
  658. long __ovld __cnfn convert_long_rtz(ulong);
  659. long __ovld __cnfn convert_long_sat_rtz(ulong);
  660. long __ovld __cnfn convert_long_rtp(ulong);
  661. long __ovld __cnfn convert_long_sat_rtp(ulong);
  662. long __ovld __cnfn convert_long_rtn(ulong);
  663. long __ovld __cnfn convert_long_sat_rtn(ulong);
  664. long __ovld __cnfn convert_long(ulong);
  665. long __ovld __cnfn convert_long_sat(ulong);
  666. long __ovld __cnfn convert_long_rte(float);
  667. long __ovld __cnfn convert_long_sat_rte(float);
  668. long __ovld __cnfn convert_long_rtz(float);
  669. long __ovld __cnfn convert_long_sat_rtz(float);
  670. long __ovld __cnfn convert_long_rtp(float);
  671. long __ovld __cnfn convert_long_sat_rtp(float);
  672. long __ovld __cnfn convert_long_rtn(float);
  673. long __ovld __cnfn convert_long_sat_rtn(float);
  674. long __ovld __cnfn convert_long(float);
  675. long __ovld __cnfn convert_long_sat(float);
  676. ulong __ovld __cnfn convert_ulong_rte(char);
  677. ulong __ovld __cnfn convert_ulong_sat_rte(char);
  678. ulong __ovld __cnfn convert_ulong_rtz(char);
  679. ulong __ovld __cnfn convert_ulong_sat_rtz(char);
  680. ulong __ovld __cnfn convert_ulong_rtp(char);
  681. ulong __ovld __cnfn convert_ulong_sat_rtp(char);
  682. ulong __ovld __cnfn convert_ulong_rtn(char);
  683. ulong __ovld __cnfn convert_ulong_sat_rtn(char);
  684. ulong __ovld __cnfn convert_ulong(char);
  685. ulong __ovld __cnfn convert_ulong_sat(char);
  686. ulong __ovld __cnfn convert_ulong_rte(uchar);
  687. ulong __ovld __cnfn convert_ulong_sat_rte(uchar);
  688. ulong __ovld __cnfn convert_ulong_rtz(uchar);
  689. ulong __ovld __cnfn convert_ulong_sat_rtz(uchar);
  690. ulong __ovld __cnfn convert_ulong_rtp(uchar);
  691. ulong __ovld __cnfn convert_ulong_sat_rtp(uchar);
  692. ulong __ovld __cnfn convert_ulong_rtn(uchar);
  693. ulong __ovld __cnfn convert_ulong_sat_rtn(uchar);
  694. ulong __ovld __cnfn convert_ulong(uchar);
  695. ulong __ovld __cnfn convert_ulong_sat(uchar);
  696. ulong __ovld __cnfn convert_ulong_rte(short);
  697. ulong __ovld __cnfn convert_ulong_sat_rte(short);
  698. ulong __ovld __cnfn convert_ulong_rtz(short);
  699. ulong __ovld __cnfn convert_ulong_sat_rtz(short);
  700. ulong __ovld __cnfn convert_ulong_rtp(short);
  701. ulong __ovld __cnfn convert_ulong_sat_rtp(short);
  702. ulong __ovld __cnfn convert_ulong_rtn(short);
  703. ulong __ovld __cnfn convert_ulong_sat_rtn(short);
  704. ulong __ovld __cnfn convert_ulong(short);
  705. ulong __ovld __cnfn convert_ulong_sat(short);
  706. ulong __ovld __cnfn convert_ulong_rte(ushort);
  707. ulong __ovld __cnfn convert_ulong_sat_rte(ushort);
  708. ulong __ovld __cnfn convert_ulong_rtz(ushort);
  709. ulong __ovld __cnfn convert_ulong_sat_rtz(ushort);
  710. ulong __ovld __cnfn convert_ulong_rtp(ushort);
  711. ulong __ovld __cnfn convert_ulong_sat_rtp(ushort);
  712. ulong __ovld __cnfn convert_ulong_rtn(ushort);
  713. ulong __ovld __cnfn convert_ulong_sat_rtn(ushort);
  714. ulong __ovld __cnfn convert_ulong(ushort);
  715. ulong __ovld __cnfn convert_ulong_sat(ushort);
  716. ulong __ovld __cnfn convert_ulong_rte(int);
  717. ulong __ovld __cnfn convert_ulong_sat_rte(int);
  718. ulong __ovld __cnfn convert_ulong_rtz(int);
  719. ulong __ovld __cnfn convert_ulong_sat_rtz(int);
  720. ulong __ovld __cnfn convert_ulong_rtp(int);
  721. ulong __ovld __cnfn convert_ulong_sat_rtp(int);
  722. ulong __ovld __cnfn convert_ulong_rtn(int);
  723. ulong __ovld __cnfn convert_ulong_sat_rtn(int);
  724. ulong __ovld __cnfn convert_ulong(int);
  725. ulong __ovld __cnfn convert_ulong_sat(int);
  726. ulong __ovld __cnfn convert_ulong_rte(uint);
  727. ulong __ovld __cnfn convert_ulong_sat_rte(uint);
  728. ulong __ovld __cnfn convert_ulong_rtz(uint);
  729. ulong __ovld __cnfn convert_ulong_sat_rtz(uint);
  730. ulong __ovld __cnfn convert_ulong_rtp(uint);
  731. ulong __ovld __cnfn convert_ulong_sat_rtp(uint);
  732. ulong __ovld __cnfn convert_ulong_rtn(uint);
  733. ulong __ovld __cnfn convert_ulong_sat_rtn(uint);
  734. ulong __ovld __cnfn convert_ulong(uint);
  735. ulong __ovld __cnfn convert_ulong_sat(uint);
  736. ulong __ovld __cnfn convert_ulong_rte(long);
  737. ulong __ovld __cnfn convert_ulong_sat_rte(long);
  738. ulong __ovld __cnfn convert_ulong_rtz(long);
  739. ulong __ovld __cnfn convert_ulong_sat_rtz(long);
  740. ulong __ovld __cnfn convert_ulong_rtp(long);
  741. ulong __ovld __cnfn convert_ulong_sat_rtp(long);
  742. ulong __ovld __cnfn convert_ulong_rtn(long);
  743. ulong __ovld __cnfn convert_ulong_sat_rtn(long);
  744. ulong __ovld __cnfn convert_ulong(long);
  745. ulong __ovld __cnfn convert_ulong_sat(long);
  746. ulong __ovld __cnfn convert_ulong_rte(ulong);
  747. ulong __ovld __cnfn convert_ulong_sat_rte(ulong);
  748. ulong __ovld __cnfn convert_ulong_rtz(ulong);
  749. ulong __ovld __cnfn convert_ulong_sat_rtz(ulong);
  750. ulong __ovld __cnfn convert_ulong_rtp(ulong);
  751. ulong __ovld __cnfn convert_ulong_sat_rtp(ulong);
  752. ulong __ovld __cnfn convert_ulong_rtn(ulong);
  753. ulong __ovld __cnfn convert_ulong_sat_rtn(ulong);
  754. ulong __ovld __cnfn convert_ulong(ulong);
  755. ulong __ovld __cnfn convert_ulong_sat(ulong);
  756. ulong __ovld __cnfn convert_ulong_rte(float);
  757. ulong __ovld __cnfn convert_ulong_sat_rte(float);
  758. ulong __ovld __cnfn convert_ulong_rtz(float);
  759. ulong __ovld __cnfn convert_ulong_sat_rtz(float);
  760. ulong __ovld __cnfn convert_ulong_rtp(float);
  761. ulong __ovld __cnfn convert_ulong_sat_rtp(float);
  762. ulong __ovld __cnfn convert_ulong_rtn(float);
  763. ulong __ovld __cnfn convert_ulong_sat_rtn(float);
  764. ulong __ovld __cnfn convert_ulong(float);
  765. ulong __ovld __cnfn convert_ulong_sat(float);
  766. float __ovld __cnfn convert_float_rte(char);
  767. float __ovld __cnfn convert_float_rtz(char);
  768. float __ovld __cnfn convert_float_rtp(char);
  769. float __ovld __cnfn convert_float_rtn(char);
  770. float __ovld __cnfn convert_float(char);
  771. float __ovld __cnfn convert_float_rte(uchar);
  772. float __ovld __cnfn convert_float_rtz(uchar);
  773. float __ovld __cnfn convert_float_rtp(uchar);
  774. float __ovld __cnfn convert_float_rtn(uchar);
  775. float __ovld __cnfn convert_float(uchar);
  776. float __ovld __cnfn convert_float_rte(short);
  777. float __ovld __cnfn convert_float_rtz(short);
  778. float __ovld __cnfn convert_float_rtp(short);
  779. float __ovld __cnfn convert_float_rtn(short);
  780. float __ovld __cnfn convert_float(short);
  781. float __ovld __cnfn convert_float_rte(ushort);
  782. float __ovld __cnfn convert_float_rtz(ushort);
  783. float __ovld __cnfn convert_float_rtp(ushort);
  784. float __ovld __cnfn convert_float_rtn(ushort);
  785. float __ovld __cnfn convert_float(ushort);
  786. float __ovld __cnfn convert_float_rte(int);
  787. float __ovld __cnfn convert_float_rtz(int);
  788. float __ovld __cnfn convert_float_rtp(int);
  789. float __ovld __cnfn convert_float_rtn(int);
  790. float __ovld __cnfn convert_float(int);
  791. float __ovld __cnfn convert_float_rte(uint);
  792. float __ovld __cnfn convert_float_rtz(uint);
  793. float __ovld __cnfn convert_float_rtp(uint);
  794. float __ovld __cnfn convert_float_rtn(uint);
  795. float __ovld __cnfn convert_float(uint);
  796. float __ovld __cnfn convert_float_rte(long);
  797. float __ovld __cnfn convert_float_rtz(long);
  798. float __ovld __cnfn convert_float_rtp(long);
  799. float __ovld __cnfn convert_float_rtn(long);
  800. float __ovld __cnfn convert_float(long);
  801. float __ovld __cnfn convert_float_rte(ulong);
  802. float __ovld __cnfn convert_float_rtz(ulong);
  803. float __ovld __cnfn convert_float_rtp(ulong);
  804. float __ovld __cnfn convert_float_rtn(ulong);
  805. float __ovld __cnfn convert_float(ulong);
  806. float __ovld __cnfn convert_float_rte(float);
  807. float __ovld __cnfn convert_float_rtz(float);
  808. float __ovld __cnfn convert_float_rtp(float);
  809. float __ovld __cnfn convert_float_rtn(float);
  810. float __ovld __cnfn convert_float(float);
  811. char2 __ovld __cnfn convert_char2_rte(char2);
  812. char2 __ovld __cnfn convert_char2_sat_rte(char2);
  813. char2 __ovld __cnfn convert_char2_rtz(char2);
  814. char2 __ovld __cnfn convert_char2_sat_rtz(char2);
  815. char2 __ovld __cnfn convert_char2_rtp(char2);
  816. char2 __ovld __cnfn convert_char2_sat_rtp(char2);
  817. char2 __ovld __cnfn convert_char2_rtn(char2);
  818. char2 __ovld __cnfn convert_char2_sat_rtn(char2);
  819. char2 __ovld __cnfn convert_char2(char2);
  820. char2 __ovld __cnfn convert_char2_sat(char2);
  821. char2 __ovld __cnfn convert_char2_rte(uchar2);
  822. char2 __ovld __cnfn convert_char2_sat_rte(uchar2);
  823. char2 __ovld __cnfn convert_char2_rtz(uchar2);
  824. char2 __ovld __cnfn convert_char2_sat_rtz(uchar2);
  825. char2 __ovld __cnfn convert_char2_rtp(uchar2);
  826. char2 __ovld __cnfn convert_char2_sat_rtp(uchar2);
  827. char2 __ovld __cnfn convert_char2_rtn(uchar2);
  828. char2 __ovld __cnfn convert_char2_sat_rtn(uchar2);
  829. char2 __ovld __cnfn convert_char2(uchar2);
  830. char2 __ovld __cnfn convert_char2_sat(uchar2);
  831. char2 __ovld __cnfn convert_char2_rte(short2);
  832. char2 __ovld __cnfn convert_char2_sat_rte(short2);
  833. char2 __ovld __cnfn convert_char2_rtz(short2);
  834. char2 __ovld __cnfn convert_char2_sat_rtz(short2);
  835. char2 __ovld __cnfn convert_char2_rtp(short2);
  836. char2 __ovld __cnfn convert_char2_sat_rtp(short2);
  837. char2 __ovld __cnfn convert_char2_rtn(short2);
  838. char2 __ovld __cnfn convert_char2_sat_rtn(short2);
  839. char2 __ovld __cnfn convert_char2(short2);
  840. char2 __ovld __cnfn convert_char2_sat(short2);
  841. char2 __ovld __cnfn convert_char2_rte(ushort2);
  842. char2 __ovld __cnfn convert_char2_sat_rte(ushort2);
  843. char2 __ovld __cnfn convert_char2_rtz(ushort2);
  844. char2 __ovld __cnfn convert_char2_sat_rtz(ushort2);
  845. char2 __ovld __cnfn convert_char2_rtp(ushort2);
  846. char2 __ovld __cnfn convert_char2_sat_rtp(ushort2);
  847. char2 __ovld __cnfn convert_char2_rtn(ushort2);
  848. char2 __ovld __cnfn convert_char2_sat_rtn(ushort2);
  849. char2 __ovld __cnfn convert_char2(ushort2);
  850. char2 __ovld __cnfn convert_char2_sat(ushort2);
  851. char2 __ovld __cnfn convert_char2_rte(int2);
  852. char2 __ovld __cnfn convert_char2_sat_rte(int2);
  853. char2 __ovld __cnfn convert_char2_rtz(int2);
  854. char2 __ovld __cnfn convert_char2_sat_rtz(int2);
  855. char2 __ovld __cnfn convert_char2_rtp(int2);
  856. char2 __ovld __cnfn convert_char2_sat_rtp(int2);
  857. char2 __ovld __cnfn convert_char2_rtn(int2);
  858. char2 __ovld __cnfn convert_char2_sat_rtn(int2);
  859. char2 __ovld __cnfn convert_char2(int2);
  860. char2 __ovld __cnfn convert_char2_sat(int2);
  861. char2 __ovld __cnfn convert_char2_rte(uint2);
  862. char2 __ovld __cnfn convert_char2_sat_rte(uint2);
  863. char2 __ovld __cnfn convert_char2_rtz(uint2);
  864. char2 __ovld __cnfn convert_char2_sat_rtz(uint2);
  865. char2 __ovld __cnfn convert_char2_rtp(uint2);
  866. char2 __ovld __cnfn convert_char2_sat_rtp(uint2);
  867. char2 __ovld __cnfn convert_char2_rtn(uint2);
  868. char2 __ovld __cnfn convert_char2_sat_rtn(uint2);
  869. char2 __ovld __cnfn convert_char2(uint2);
  870. char2 __ovld __cnfn convert_char2_sat(uint2);
  871. char2 __ovld __cnfn convert_char2_rte(long2);
  872. char2 __ovld __cnfn convert_char2_sat_rte(long2);
  873. char2 __ovld __cnfn convert_char2_rtz(long2);
  874. char2 __ovld __cnfn convert_char2_sat_rtz(long2);
  875. char2 __ovld __cnfn convert_char2_rtp(long2);
  876. char2 __ovld __cnfn convert_char2_sat_rtp(long2);
  877. char2 __ovld __cnfn convert_char2_rtn(long2);
  878. char2 __ovld __cnfn convert_char2_sat_rtn(long2);
  879. char2 __ovld __cnfn convert_char2(long2);
  880. char2 __ovld __cnfn convert_char2_sat(long2);
  881. char2 __ovld __cnfn convert_char2_rte(ulong2);
  882. char2 __ovld __cnfn convert_char2_sat_rte(ulong2);
  883. char2 __ovld __cnfn convert_char2_rtz(ulong2);
  884. char2 __ovld __cnfn convert_char2_sat_rtz(ulong2);
  885. char2 __ovld __cnfn convert_char2_rtp(ulong2);
  886. char2 __ovld __cnfn convert_char2_sat_rtp(ulong2);
  887. char2 __ovld __cnfn convert_char2_rtn(ulong2);
  888. char2 __ovld __cnfn convert_char2_sat_rtn(ulong2);
  889. char2 __ovld __cnfn convert_char2(ulong2);
  890. char2 __ovld __cnfn convert_char2_sat(ulong2);
  891. char2 __ovld __cnfn convert_char2_rte(float2);
  892. char2 __ovld __cnfn convert_char2_sat_rte(float2);
  893. char2 __ovld __cnfn convert_char2_rtz(float2);
  894. char2 __ovld __cnfn convert_char2_sat_rtz(float2);
  895. char2 __ovld __cnfn convert_char2_rtp(float2);
  896. char2 __ovld __cnfn convert_char2_sat_rtp(float2);
  897. char2 __ovld __cnfn convert_char2_rtn(float2);
  898. char2 __ovld __cnfn convert_char2_sat_rtn(float2);
  899. char2 __ovld __cnfn convert_char2(float2);
  900. char2 __ovld __cnfn convert_char2_sat(float2);
  901. uchar2 __ovld __cnfn convert_uchar2_rte(char2);
  902. uchar2 __ovld __cnfn convert_uchar2_sat_rte(char2);
  903. uchar2 __ovld __cnfn convert_uchar2_rtz(char2);
  904. uchar2 __ovld __cnfn convert_uchar2_sat_rtz(char2);
  905. uchar2 __ovld __cnfn convert_uchar2_rtp(char2);
  906. uchar2 __ovld __cnfn convert_uchar2_sat_rtp(char2);
  907. uchar2 __ovld __cnfn convert_uchar2_rtn(char2);
  908. uchar2 __ovld __cnfn convert_uchar2_sat_rtn(char2);
  909. uchar2 __ovld __cnfn convert_uchar2(char2);
  910. uchar2 __ovld __cnfn convert_uchar2_sat(char2);
  911. uchar2 __ovld __cnfn convert_uchar2_rte(uchar2);
  912. uchar2 __ovld __cnfn convert_uchar2_sat_rte(uchar2);
  913. uchar2 __ovld __cnfn convert_uchar2_rtz(uchar2);
  914. uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uchar2);
  915. uchar2 __ovld __cnfn convert_uchar2_rtp(uchar2);
  916. uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uchar2);
  917. uchar2 __ovld __cnfn convert_uchar2_rtn(uchar2);
  918. uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uchar2);
  919. uchar2 __ovld __cnfn convert_uchar2(uchar2);
  920. uchar2 __ovld __cnfn convert_uchar2_sat(uchar2);
  921. uchar2 __ovld __cnfn convert_uchar2_rte(short2);
  922. uchar2 __ovld __cnfn convert_uchar2_sat_rte(short2);
  923. uchar2 __ovld __cnfn convert_uchar2_rtz(short2);
  924. uchar2 __ovld __cnfn convert_uchar2_sat_rtz(short2);
  925. uchar2 __ovld __cnfn convert_uchar2_rtp(short2);
  926. uchar2 __ovld __cnfn convert_uchar2_sat_rtp(short2);
  927. uchar2 __ovld __cnfn convert_uchar2_rtn(short2);
  928. uchar2 __ovld __cnfn convert_uchar2_sat_rtn(short2);
  929. uchar2 __ovld __cnfn convert_uchar2(short2);
  930. uchar2 __ovld __cnfn convert_uchar2_sat(short2);
  931. uchar2 __ovld __cnfn convert_uchar2_rte(ushort2);
  932. uchar2 __ovld __cnfn convert_uchar2_sat_rte(ushort2);
  933. uchar2 __ovld __cnfn convert_uchar2_rtz(ushort2);
  934. uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ushort2);
  935. uchar2 __ovld __cnfn convert_uchar2_rtp(ushort2);
  936. uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ushort2);
  937. uchar2 __ovld __cnfn convert_uchar2_rtn(ushort2);
  938. uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ushort2);
  939. uchar2 __ovld __cnfn convert_uchar2(ushort2);
  940. uchar2 __ovld __cnfn convert_uchar2_sat(ushort2);
  941. uchar2 __ovld __cnfn convert_uchar2_rte(int2);
  942. uchar2 __ovld __cnfn convert_uchar2_sat_rte(int2);
  943. uchar2 __ovld __cnfn convert_uchar2_rtz(int2);
  944. uchar2 __ovld __cnfn convert_uchar2_sat_rtz(int2);
  945. uchar2 __ovld __cnfn convert_uchar2_rtp(int2);
  946. uchar2 __ovld __cnfn convert_uchar2_sat_rtp(int2);
  947. uchar2 __ovld __cnfn convert_uchar2_rtn(int2);
  948. uchar2 __ovld __cnfn convert_uchar2_sat_rtn(int2);
  949. uchar2 __ovld __cnfn convert_uchar2(int2);
  950. uchar2 __ovld __cnfn convert_uchar2_sat(int2);
  951. uchar2 __ovld __cnfn convert_uchar2_rte(uint2);
  952. uchar2 __ovld __cnfn convert_uchar2_sat_rte(uint2);
  953. uchar2 __ovld __cnfn convert_uchar2_rtz(uint2);
  954. uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uint2);
  955. uchar2 __ovld __cnfn convert_uchar2_rtp(uint2);
  956. uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uint2);
  957. uchar2 __ovld __cnfn convert_uchar2_rtn(uint2);
  958. uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uint2);
  959. uchar2 __ovld __cnfn convert_uchar2(uint2);
  960. uchar2 __ovld __cnfn convert_uchar2_sat(uint2);
  961. uchar2 __ovld __cnfn convert_uchar2_rte(long2);
  962. uchar2 __ovld __cnfn convert_uchar2_sat_rte(long2);
  963. uchar2 __ovld __cnfn convert_uchar2_rtz(long2);
  964. uchar2 __ovld __cnfn convert_uchar2_sat_rtz(long2);
  965. uchar2 __ovld __cnfn convert_uchar2_rtp(long2);
  966. uchar2 __ovld __cnfn convert_uchar2_sat_rtp(long2);
  967. uchar2 __ovld __cnfn convert_uchar2_rtn(long2);
  968. uchar2 __ovld __cnfn convert_uchar2_sat_rtn(long2);
  969. uchar2 __ovld __cnfn convert_uchar2(long2);
  970. uchar2 __ovld __cnfn convert_uchar2_sat(long2);
  971. uchar2 __ovld __cnfn convert_uchar2_rte(ulong2);
  972. uchar2 __ovld __cnfn convert_uchar2_sat_rte(ulong2);
  973. uchar2 __ovld __cnfn convert_uchar2_rtz(ulong2);
  974. uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ulong2);
  975. uchar2 __ovld __cnfn convert_uchar2_rtp(ulong2);
  976. uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ulong2);
  977. uchar2 __ovld __cnfn convert_uchar2_rtn(ulong2);
  978. uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ulong2);
  979. uchar2 __ovld __cnfn convert_uchar2(ulong2);
  980. uchar2 __ovld __cnfn convert_uchar2_sat(ulong2);
  981. uchar2 __ovld __cnfn convert_uchar2_rte(float2);
  982. uchar2 __ovld __cnfn convert_uchar2_sat_rte(float2);
  983. uchar2 __ovld __cnfn convert_uchar2_rtz(float2);
  984. uchar2 __ovld __cnfn convert_uchar2_sat_rtz(float2);
  985. uchar2 __ovld __cnfn convert_uchar2_rtp(float2);
  986. uchar2 __ovld __cnfn convert_uchar2_sat_rtp(float2);
  987. uchar2 __ovld __cnfn convert_uchar2_rtn(float2);
  988. uchar2 __ovld __cnfn convert_uchar2_sat_rtn(float2);
  989. uchar2 __ovld __cnfn convert_uchar2(float2);
  990. uchar2 __ovld __cnfn convert_uchar2_sat(float2);
  991. short2 __ovld __cnfn convert_short2_rte(char2);
  992. short2 __ovld __cnfn convert_short2_sat_rte(char2);
  993. short2 __ovld __cnfn convert_short2_rtz(char2);
  994. short2 __ovld __cnfn convert_short2_sat_rtz(char2);
  995. short2 __ovld __cnfn convert_short2_rtp(char2);
  996. short2 __ovld __cnfn convert_short2_sat_rtp(char2);
  997. short2 __ovld __cnfn convert_short2_rtn(char2);
  998. short2 __ovld __cnfn convert_short2_sat_rtn(char2);
  999. short2 __ovld __cnfn convert_short2(char2);
  1000. short2 __ovld __cnfn convert_short2_sat(char2);
  1001. short2 __ovld __cnfn convert_short2_rte(uchar2);
  1002. short2 __ovld __cnfn convert_short2_sat_rte(uchar2);
  1003. short2 __ovld __cnfn convert_short2_rtz(uchar2);
  1004. short2 __ovld __cnfn convert_short2_sat_rtz(uchar2);
  1005. short2 __ovld __cnfn convert_short2_rtp(uchar2);
  1006. short2 __ovld __cnfn convert_short2_sat_rtp(uchar2);
  1007. short2 __ovld __cnfn convert_short2_rtn(uchar2);
  1008. short2 __ovld __cnfn convert_short2_sat_rtn(uchar2);
  1009. short2 __ovld __cnfn convert_short2(uchar2);
  1010. short2 __ovld __cnfn convert_short2_sat(uchar2);
  1011. short2 __ovld __cnfn convert_short2_rte(short2);
  1012. short2 __ovld __cnfn convert_short2_sat_rte(short2);
  1013. short2 __ovld __cnfn convert_short2_rtz(short2);
  1014. short2 __ovld __cnfn convert_short2_sat_rtz(short2);
  1015. short2 __ovld __cnfn convert_short2_rtp(short2);
  1016. short2 __ovld __cnfn convert_short2_sat_rtp(short2);
  1017. short2 __ovld __cnfn convert_short2_rtn(short2);
  1018. short2 __ovld __cnfn convert_short2_sat_rtn(short2);
  1019. short2 __ovld __cnfn convert_short2(short2);
  1020. short2 __ovld __cnfn convert_short2_sat(short2);
  1021. short2 __ovld __cnfn convert_short2_rte(ushort2);
  1022. short2 __ovld __cnfn convert_short2_sat_rte(ushort2);
  1023. short2 __ovld __cnfn convert_short2_rtz(ushort2);
  1024. short2 __ovld __cnfn convert_short2_sat_rtz(ushort2);
  1025. short2 __ovld __cnfn convert_short2_rtp(ushort2);
  1026. short2 __ovld __cnfn convert_short2_sat_rtp(ushort2);
  1027. short2 __ovld __cnfn convert_short2_rtn(ushort2);
  1028. short2 __ovld __cnfn convert_short2_sat_rtn(ushort2);
  1029. short2 __ovld __cnfn convert_short2(ushort2);
  1030. short2 __ovld __cnfn convert_short2_sat(ushort2);
  1031. short2 __ovld __cnfn convert_short2_rte(int2);
  1032. short2 __ovld __cnfn convert_short2_sat_rte(int2);
  1033. short2 __ovld __cnfn convert_short2_rtz(int2);
  1034. short2 __ovld __cnfn convert_short2_sat_rtz(int2);
  1035. short2 __ovld __cnfn convert_short2_rtp(int2);
  1036. short2 __ovld __cnfn convert_short2_sat_rtp(int2);
  1037. short2 __ovld __cnfn convert_short2_rtn(int2);
  1038. short2 __ovld __cnfn convert_short2_sat_rtn(int2);
  1039. short2 __ovld __cnfn convert_short2(int2);
  1040. short2 __ovld __cnfn convert_short2_sat(int2);
  1041. short2 __ovld __cnfn convert_short2_rte(uint2);
  1042. short2 __ovld __cnfn convert_short2_sat_rte(uint2);
  1043. short2 __ovld __cnfn convert_short2_rtz(uint2);
  1044. short2 __ovld __cnfn convert_short2_sat_rtz(uint2);
  1045. short2 __ovld __cnfn convert_short2_rtp(uint2);
  1046. short2 __ovld __cnfn convert_short2_sat_rtp(uint2);
  1047. short2 __ovld __cnfn convert_short2_rtn(uint2);
  1048. short2 __ovld __cnfn convert_short2_sat_rtn(uint2);
  1049. short2 __ovld __cnfn convert_short2(uint2);
  1050. short2 __ovld __cnfn convert_short2_sat(uint2);
  1051. short2 __ovld __cnfn convert_short2_rte(long2);
  1052. short2 __ovld __cnfn convert_short2_sat_rte(long2);
  1053. short2 __ovld __cnfn convert_short2_rtz(long2);
  1054. short2 __ovld __cnfn convert_short2_sat_rtz(long2);
  1055. short2 __ovld __cnfn convert_short2_rtp(long2);
  1056. short2 __ovld __cnfn convert_short2_sat_rtp(long2);
  1057. short2 __ovld __cnfn convert_short2_rtn(long2);
  1058. short2 __ovld __cnfn convert_short2_sat_rtn(long2);
  1059. short2 __ovld __cnfn convert_short2(long2);
  1060. short2 __ovld __cnfn convert_short2_sat(long2);
  1061. short2 __ovld __cnfn convert_short2_rte(ulong2);
  1062. short2 __ovld __cnfn convert_short2_sat_rte(ulong2);
  1063. short2 __ovld __cnfn convert_short2_rtz(ulong2);
  1064. short2 __ovld __cnfn convert_short2_sat_rtz(ulong2);
  1065. short2 __ovld __cnfn convert_short2_rtp(ulong2);
  1066. short2 __ovld __cnfn convert_short2_sat_rtp(ulong2);
  1067. short2 __ovld __cnfn convert_short2_rtn(ulong2);
  1068. short2 __ovld __cnfn convert_short2_sat_rtn(ulong2);
  1069. short2 __ovld __cnfn convert_short2(ulong2);
  1070. short2 __ovld __cnfn convert_short2_sat(ulong2);
  1071. short2 __ovld __cnfn convert_short2_rte(float2);
  1072. short2 __ovld __cnfn convert_short2_sat_rte(float2);
  1073. short2 __ovld __cnfn convert_short2_rtz(float2);
  1074. short2 __ovld __cnfn convert_short2_sat_rtz(float2);
  1075. short2 __ovld __cnfn convert_short2_rtp(float2);
  1076. short2 __ovld __cnfn convert_short2_sat_rtp(float2);
  1077. short2 __ovld __cnfn convert_short2_rtn(float2);
  1078. short2 __ovld __cnfn convert_short2_sat_rtn(float2);
  1079. short2 __ovld __cnfn convert_short2(float2);
  1080. short2 __ovld __cnfn convert_short2_sat(float2);
  1081. ushort2 __ovld __cnfn convert_ushort2_rte(char2);
  1082. ushort2 __ovld __cnfn convert_ushort2_sat_rte(char2);
  1083. ushort2 __ovld __cnfn convert_ushort2_rtz(char2);
  1084. ushort2 __ovld __cnfn convert_ushort2_sat_rtz(char2);
  1085. ushort2 __ovld __cnfn convert_ushort2_rtp(char2);
  1086. ushort2 __ovld __cnfn convert_ushort2_sat_rtp(char2);
  1087. ushort2 __ovld __cnfn convert_ushort2_rtn(char2);
  1088. ushort2 __ovld __cnfn convert_ushort2_sat_rtn(char2);
  1089. ushort2 __ovld __cnfn convert_ushort2(char2);
  1090. ushort2 __ovld __cnfn convert_ushort2_sat(char2);
  1091. ushort2 __ovld __cnfn convert_ushort2_rte(uchar2);
  1092. ushort2 __ovld __cnfn convert_ushort2_sat_rte(uchar2);
  1093. ushort2 __ovld __cnfn convert_ushort2_rtz(uchar2);
  1094. ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uchar2);
  1095. ushort2 __ovld __cnfn convert_ushort2_rtp(uchar2);
  1096. ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uchar2);
  1097. ushort2 __ovld __cnfn convert_ushort2_rtn(uchar2);
  1098. ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uchar2);
  1099. ushort2 __ovld __cnfn convert_ushort2(uchar2);
  1100. ushort2 __ovld __cnfn convert_ushort2_sat(uchar2);
  1101. ushort2 __ovld __cnfn convert_ushort2_rte(short2);
  1102. ushort2 __ovld __cnfn convert_ushort2_sat_rte(short2);
  1103. ushort2 __ovld __cnfn convert_ushort2_rtz(short2);
  1104. ushort2 __ovld __cnfn convert_ushort2_sat_rtz(short2);
  1105. ushort2 __ovld __cnfn convert_ushort2_rtp(short2);
  1106. ushort2 __ovld __cnfn convert_ushort2_sat_rtp(short2);
  1107. ushort2 __ovld __cnfn convert_ushort2_rtn(short2);
  1108. ushort2 __ovld __cnfn convert_ushort2_sat_rtn(short2);
  1109. ushort2 __ovld __cnfn convert_ushort2(short2);
  1110. ushort2 __ovld __cnfn convert_ushort2_sat(short2);
  1111. ushort2 __ovld __cnfn convert_ushort2_rte(ushort2);
  1112. ushort2 __ovld __cnfn convert_ushort2_sat_rte(ushort2);
  1113. ushort2 __ovld __cnfn convert_ushort2_rtz(ushort2);
  1114. ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ushort2);
  1115. ushort2 __ovld __cnfn convert_ushort2_rtp(ushort2);
  1116. ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ushort2);
  1117. ushort2 __ovld __cnfn convert_ushort2_rtn(ushort2);
  1118. ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ushort2);
  1119. ushort2 __ovld __cnfn convert_ushort2(ushort2);
  1120. ushort2 __ovld __cnfn convert_ushort2_sat(ushort2);
  1121. ushort2 __ovld __cnfn convert_ushort2_rte(int2);
  1122. ushort2 __ovld __cnfn convert_ushort2_sat_rte(int2);
  1123. ushort2 __ovld __cnfn convert_ushort2_rtz(int2);
  1124. ushort2 __ovld __cnfn convert_ushort2_sat_rtz(int2);
  1125. ushort2 __ovld __cnfn convert_ushort2_rtp(int2);
  1126. ushort2 __ovld __cnfn convert_ushort2_sat_rtp(int2);
  1127. ushort2 __ovld __cnfn convert_ushort2_rtn(int2);
  1128. ushort2 __ovld __cnfn convert_ushort2_sat_rtn(int2);
  1129. ushort2 __ovld __cnfn convert_ushort2(int2);
  1130. ushort2 __ovld __cnfn convert_ushort2_sat(int2);
  1131. ushort2 __ovld __cnfn convert_ushort2_rte(uint2);
  1132. ushort2 __ovld __cnfn convert_ushort2_sat_rte(uint2);
  1133. ushort2 __ovld __cnfn convert_ushort2_rtz(uint2);
  1134. ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uint2);
  1135. ushort2 __ovld __cnfn convert_ushort2_rtp(uint2);
  1136. ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uint2);
  1137. ushort2 __ovld __cnfn convert_ushort2_rtn(uint2);
  1138. ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uint2);
  1139. ushort2 __ovld __cnfn convert_ushort2(uint2);
  1140. ushort2 __ovld __cnfn convert_ushort2_sat(uint2);
  1141. ushort2 __ovld __cnfn convert_ushort2_rte(long2);
  1142. ushort2 __ovld __cnfn convert_ushort2_sat_rte(long2);
  1143. ushort2 __ovld __cnfn convert_ushort2_rtz(long2);
  1144. ushort2 __ovld __cnfn convert_ushort2_sat_rtz(long2);
  1145. ushort2 __ovld __cnfn convert_ushort2_rtp(long2);
  1146. ushort2 __ovld __cnfn convert_ushort2_sat_rtp(long2);
  1147. ushort2 __ovld __cnfn convert_ushort2_rtn(long2);
  1148. ushort2 __ovld __cnfn convert_ushort2_sat_rtn(long2);
  1149. ushort2 __ovld __cnfn convert_ushort2(long2);
  1150. ushort2 __ovld __cnfn convert_ushort2_sat(long2);
  1151. ushort2 __ovld __cnfn convert_ushort2_rte(ulong2);
  1152. ushort2 __ovld __cnfn convert_ushort2_sat_rte(ulong2);
  1153. ushort2 __ovld __cnfn convert_ushort2_rtz(ulong2);
  1154. ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ulong2);
  1155. ushort2 __ovld __cnfn convert_ushort2_rtp(ulong2);
  1156. ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ulong2);
  1157. ushort2 __ovld __cnfn convert_ushort2_rtn(ulong2);
  1158. ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ulong2);
  1159. ushort2 __ovld __cnfn convert_ushort2(ulong2);
  1160. ushort2 __ovld __cnfn convert_ushort2_sat(ulong2);
  1161. ushort2 __ovld __cnfn convert_ushort2_rte(float2);
  1162. ushort2 __ovld __cnfn convert_ushort2_sat_rte(float2);
  1163. ushort2 __ovld __cnfn convert_ushort2_rtz(float2);
  1164. ushort2 __ovld __cnfn convert_ushort2_sat_rtz(float2);
  1165. ushort2 __ovld __cnfn convert_ushort2_rtp(float2);
  1166. ushort2 __ovld __cnfn convert_ushort2_sat_rtp(float2);
  1167. ushort2 __ovld __cnfn convert_ushort2_rtn(float2);
  1168. ushort2 __ovld __cnfn convert_ushort2_sat_rtn(float2);
  1169. ushort2 __ovld __cnfn convert_ushort2(float2);
  1170. ushort2 __ovld __cnfn convert_ushort2_sat(float2);
  1171. int2 __ovld __cnfn convert_int2_rte(char2);
  1172. int2 __ovld __cnfn convert_int2_sat_rte(char2);
  1173. int2 __ovld __cnfn convert_int2_rtz(char2);
  1174. int2 __ovld __cnfn convert_int2_sat_rtz(char2);
  1175. int2 __ovld __cnfn convert_int2_rtp(char2);
  1176. int2 __ovld __cnfn convert_int2_sat_rtp(char2);
  1177. int2 __ovld __cnfn convert_int2_rtn(char2);
  1178. int2 __ovld __cnfn convert_int2_sat_rtn(char2);
  1179. int2 __ovld __cnfn convert_int2(char2);
  1180. int2 __ovld __cnfn convert_int2_sat(char2);
  1181. int2 __ovld __cnfn convert_int2_rte(uchar2);
  1182. int2 __ovld __cnfn convert_int2_sat_rte(uchar2);
  1183. int2 __ovld __cnfn convert_int2_rtz(uchar2);
  1184. int2 __ovld __cnfn convert_int2_sat_rtz(uchar2);
  1185. int2 __ovld __cnfn convert_int2_rtp(uchar2);
  1186. int2 __ovld __cnfn convert_int2_sat_rtp(uchar2);
  1187. int2 __ovld __cnfn convert_int2_rtn(uchar2);
  1188. int2 __ovld __cnfn convert_int2_sat_rtn(uchar2);
  1189. int2 __ovld __cnfn convert_int2(uchar2);
  1190. int2 __ovld __cnfn convert_int2_sat(uchar2);
  1191. int2 __ovld __cnfn convert_int2_rte(short2);
  1192. int2 __ovld __cnfn convert_int2_sat_rte(short2);
  1193. int2 __ovld __cnfn convert_int2_rtz(short2);
  1194. int2 __ovld __cnfn convert_int2_sat_rtz(short2);
  1195. int2 __ovld __cnfn convert_int2_rtp(short2);
  1196. int2 __ovld __cnfn convert_int2_sat_rtp(short2);
  1197. int2 __ovld __cnfn convert_int2_rtn(short2);
  1198. int2 __ovld __cnfn convert_int2_sat_rtn(short2);
  1199. int2 __ovld __cnfn convert_int2(short2);
  1200. int2 __ovld __cnfn convert_int2_sat(short2);
  1201. int2 __ovld __cnfn convert_int2_rte(ushort2);
  1202. int2 __ovld __cnfn convert_int2_sat_rte(ushort2);
  1203. int2 __ovld __cnfn convert_int2_rtz(ushort2);
  1204. int2 __ovld __cnfn convert_int2_sat_rtz(ushort2);
  1205. int2 __ovld __cnfn convert_int2_rtp(ushort2);
  1206. int2 __ovld __cnfn convert_int2_sat_rtp(ushort2);
  1207. int2 __ovld __cnfn convert_int2_rtn(ushort2);
  1208. int2 __ovld __cnfn convert_int2_sat_rtn(ushort2);
  1209. int2 __ovld __cnfn convert_int2(ushort2);
  1210. int2 __ovld __cnfn convert_int2_sat(ushort2);
  1211. int2 __ovld __cnfn convert_int2_rte(int2);
  1212. int2 __ovld __cnfn convert_int2_sat_rte(int2);
  1213. int2 __ovld __cnfn convert_int2_rtz(int2);
  1214. int2 __ovld __cnfn convert_int2_sat_rtz(int2);
  1215. int2 __ovld __cnfn convert_int2_rtp(int2);
  1216. int2 __ovld __cnfn convert_int2_sat_rtp(int2);
  1217. int2 __ovld __cnfn convert_int2_rtn(int2);
  1218. int2 __ovld __cnfn convert_int2_sat_rtn(int2);
  1219. int2 __ovld __cnfn convert_int2(int2);
  1220. int2 __ovld __cnfn convert_int2_sat(int2);
  1221. int2 __ovld __cnfn convert_int2_rte(uint2);
  1222. int2 __ovld __cnfn convert_int2_sat_rte(uint2);
  1223. int2 __ovld __cnfn convert_int2_rtz(uint2);
  1224. int2 __ovld __cnfn convert_int2_sat_rtz(uint2);
  1225. int2 __ovld __cnfn convert_int2_rtp(uint2);
  1226. int2 __ovld __cnfn convert_int2_sat_rtp(uint2);
  1227. int2 __ovld __cnfn convert_int2_rtn(uint2);
  1228. int2 __ovld __cnfn convert_int2_sat_rtn(uint2);
  1229. int2 __ovld __cnfn convert_int2(uint2);
  1230. int2 __ovld __cnfn convert_int2_sat(uint2);
  1231. int2 __ovld __cnfn convert_int2_rte(long2);
  1232. int2 __ovld __cnfn convert_int2_sat_rte(long2);
  1233. int2 __ovld __cnfn convert_int2_rtz(long2);
  1234. int2 __ovld __cnfn convert_int2_sat_rtz(long2);
  1235. int2 __ovld __cnfn convert_int2_rtp(long2);
  1236. int2 __ovld __cnfn convert_int2_sat_rtp(long2);
  1237. int2 __ovld __cnfn convert_int2_rtn(long2);
  1238. int2 __ovld __cnfn convert_int2_sat_rtn(long2);
  1239. int2 __ovld __cnfn convert_int2(long2);
  1240. int2 __ovld __cnfn convert_int2_sat(long2);
  1241. int2 __ovld __cnfn convert_int2_rte(ulong2);
  1242. int2 __ovld __cnfn convert_int2_sat_rte(ulong2);
  1243. int2 __ovld __cnfn convert_int2_rtz(ulong2);
  1244. int2 __ovld __cnfn convert_int2_sat_rtz(ulong2);
  1245. int2 __ovld __cnfn convert_int2_rtp(ulong2);
  1246. int2 __ovld __cnfn convert_int2_sat_rtp(ulong2);
  1247. int2 __ovld __cnfn convert_int2_rtn(ulong2);
  1248. int2 __ovld __cnfn convert_int2_sat_rtn(ulong2);
  1249. int2 __ovld __cnfn convert_int2(ulong2);
  1250. int2 __ovld __cnfn convert_int2_sat(ulong2);
  1251. int2 __ovld __cnfn convert_int2_rte(float2);
  1252. int2 __ovld __cnfn convert_int2_sat_rte(float2);
  1253. int2 __ovld __cnfn convert_int2_rtz(float2);
  1254. int2 __ovld __cnfn convert_int2_sat_rtz(float2);
  1255. int2 __ovld __cnfn convert_int2_rtp(float2);
  1256. int2 __ovld __cnfn convert_int2_sat_rtp(float2);
  1257. int2 __ovld __cnfn convert_int2_rtn(float2);
  1258. int2 __ovld __cnfn convert_int2_sat_rtn(float2);
  1259. int2 __ovld __cnfn convert_int2(float2);
  1260. int2 __ovld __cnfn convert_int2_sat(float2);
  1261. uint2 __ovld __cnfn convert_uint2_rte(char2);
  1262. uint2 __ovld __cnfn convert_uint2_sat_rte(char2);
  1263. uint2 __ovld __cnfn convert_uint2_rtz(char2);
  1264. uint2 __ovld __cnfn convert_uint2_sat_rtz(char2);
  1265. uint2 __ovld __cnfn convert_uint2_rtp(char2);
  1266. uint2 __ovld __cnfn convert_uint2_sat_rtp(char2);
  1267. uint2 __ovld __cnfn convert_uint2_rtn(char2);
  1268. uint2 __ovld __cnfn convert_uint2_sat_rtn(char2);
  1269. uint2 __ovld __cnfn convert_uint2(char2);
  1270. uint2 __ovld __cnfn convert_uint2_sat(char2);
  1271. uint2 __ovld __cnfn convert_uint2_rte(uchar2);
  1272. uint2 __ovld __cnfn convert_uint2_sat_rte(uchar2);
  1273. uint2 __ovld __cnfn convert_uint2_rtz(uchar2);
  1274. uint2 __ovld __cnfn convert_uint2_sat_rtz(uchar2);
  1275. uint2 __ovld __cnfn convert_uint2_rtp(uchar2);
  1276. uint2 __ovld __cnfn convert_uint2_sat_rtp(uchar2);
  1277. uint2 __ovld __cnfn convert_uint2_rtn(uchar2);
  1278. uint2 __ovld __cnfn convert_uint2_sat_rtn(uchar2);
  1279. uint2 __ovld __cnfn convert_uint2(uchar2);
  1280. uint2 __ovld __cnfn convert_uint2_sat(uchar2);
  1281. uint2 __ovld __cnfn convert_uint2_rte(short2);
  1282. uint2 __ovld __cnfn convert_uint2_sat_rte(short2);
  1283. uint2 __ovld __cnfn convert_uint2_rtz(short2);
  1284. uint2 __ovld __cnfn convert_uint2_sat_rtz(short2);
  1285. uint2 __ovld __cnfn convert_uint2_rtp(short2);
  1286. uint2 __ovld __cnfn convert_uint2_sat_rtp(short2);
  1287. uint2 __ovld __cnfn convert_uint2_rtn(short2);
  1288. uint2 __ovld __cnfn convert_uint2_sat_rtn(short2);
  1289. uint2 __ovld __cnfn convert_uint2(short2);
  1290. uint2 __ovld __cnfn convert_uint2_sat(short2);
  1291. uint2 __ovld __cnfn convert_uint2_rte(ushort2);
  1292. uint2 __ovld __cnfn convert_uint2_sat_rte(ushort2);
  1293. uint2 __ovld __cnfn convert_uint2_rtz(ushort2);
  1294. uint2 __ovld __cnfn convert_uint2_sat_rtz(ushort2);
  1295. uint2 __ovld __cnfn convert_uint2_rtp(ushort2);
  1296. uint2 __ovld __cnfn convert_uint2_sat_rtp(ushort2);
  1297. uint2 __ovld __cnfn convert_uint2_rtn(ushort2);
  1298. uint2 __ovld __cnfn convert_uint2_sat_rtn(ushort2);
  1299. uint2 __ovld __cnfn convert_uint2(ushort2);
  1300. uint2 __ovld __cnfn convert_uint2_sat(ushort2);
  1301. uint2 __ovld __cnfn convert_uint2_rte(int2);
  1302. uint2 __ovld __cnfn convert_uint2_sat_rte(int2);
  1303. uint2 __ovld __cnfn convert_uint2_rtz(int2);
  1304. uint2 __ovld __cnfn convert_uint2_sat_rtz(int2);
  1305. uint2 __ovld __cnfn convert_uint2_rtp(int2);
  1306. uint2 __ovld __cnfn convert_uint2_sat_rtp(int2);
  1307. uint2 __ovld __cnfn convert_uint2_rtn(int2);
  1308. uint2 __ovld __cnfn convert_uint2_sat_rtn(int2);
  1309. uint2 __ovld __cnfn convert_uint2(int2);
  1310. uint2 __ovld __cnfn convert_uint2_sat(int2);
  1311. uint2 __ovld __cnfn convert_uint2_rte(uint2);
  1312. uint2 __ovld __cnfn convert_uint2_sat_rte(uint2);
  1313. uint2 __ovld __cnfn convert_uint2_rtz(uint2);
  1314. uint2 __ovld __cnfn convert_uint2_sat_rtz(uint2);
  1315. uint2 __ovld __cnfn convert_uint2_rtp(uint2);
  1316. uint2 __ovld __cnfn convert_uint2_sat_rtp(uint2);
  1317. uint2 __ovld __cnfn convert_uint2_rtn(uint2);
  1318. uint2 __ovld __cnfn convert_uint2_sat_rtn(uint2);
  1319. uint2 __ovld __cnfn convert_uint2(uint2);
  1320. uint2 __ovld __cnfn convert_uint2_sat(uint2);
  1321. uint2 __ovld __cnfn convert_uint2_rte(long2);
  1322. uint2 __ovld __cnfn convert_uint2_sat_rte(long2);
  1323. uint2 __ovld __cnfn convert_uint2_rtz(long2);
  1324. uint2 __ovld __cnfn convert_uint2_sat_rtz(long2);
  1325. uint2 __ovld __cnfn convert_uint2_rtp(long2);
  1326. uint2 __ovld __cnfn convert_uint2_sat_rtp(long2);
  1327. uint2 __ovld __cnfn convert_uint2_rtn(long2);
  1328. uint2 __ovld __cnfn convert_uint2_sat_rtn(long2);
  1329. uint2 __ovld __cnfn convert_uint2(long2);
  1330. uint2 __ovld __cnfn convert_uint2_sat(long2);
  1331. uint2 __ovld __cnfn convert_uint2_rte(ulong2);
  1332. uint2 __ovld __cnfn convert_uint2_sat_rte(ulong2);
  1333. uint2 __ovld __cnfn convert_uint2_rtz(ulong2);
  1334. uint2 __ovld __cnfn convert_uint2_sat_rtz(ulong2);
  1335. uint2 __ovld __cnfn convert_uint2_rtp(ulong2);
  1336. uint2 __ovld __cnfn convert_uint2_sat_rtp(ulong2);
  1337. uint2 __ovld __cnfn convert_uint2_rtn(ulong2);
  1338. uint2 __ovld __cnfn convert_uint2_sat_rtn(ulong2);
  1339. uint2 __ovld __cnfn convert_uint2(ulong2);
  1340. uint2 __ovld __cnfn convert_uint2_sat(ulong2);
  1341. uint2 __ovld __cnfn convert_uint2_rte(float2);
  1342. uint2 __ovld __cnfn convert_uint2_sat_rte(float2);
  1343. uint2 __ovld __cnfn convert_uint2_rtz(float2);
  1344. uint2 __ovld __cnfn convert_uint2_sat_rtz(float2);
  1345. uint2 __ovld __cnfn convert_uint2_rtp(float2);
  1346. uint2 __ovld __cnfn convert_uint2_sat_rtp(float2);
  1347. uint2 __ovld __cnfn convert_uint2_rtn(float2);
  1348. uint2 __ovld __cnfn convert_uint2_sat_rtn(float2);
  1349. uint2 __ovld __cnfn convert_uint2(float2);
  1350. uint2 __ovld __cnfn convert_uint2_sat(float2);
  1351. long2 __ovld __cnfn convert_long2_rte(char2);
  1352. long2 __ovld __cnfn convert_long2_sat_rte(char2);
  1353. long2 __ovld __cnfn convert_long2_rtz(char2);
  1354. long2 __ovld __cnfn convert_long2_sat_rtz(char2);
  1355. long2 __ovld __cnfn convert_long2_rtp(char2);
  1356. long2 __ovld __cnfn convert_long2_sat_rtp(char2);
  1357. long2 __ovld __cnfn convert_long2_rtn(char2);
  1358. long2 __ovld __cnfn convert_long2_sat_rtn(char2);
  1359. long2 __ovld __cnfn convert_long2(char2);
  1360. long2 __ovld __cnfn convert_long2_sat(char2);
  1361. long2 __ovld __cnfn convert_long2_rte(uchar2);
  1362. long2 __ovld __cnfn convert_long2_sat_rte(uchar2);
  1363. long2 __ovld __cnfn convert_long2_rtz(uchar2);
  1364. long2 __ovld __cnfn convert_long2_sat_rtz(uchar2);
  1365. long2 __ovld __cnfn convert_long2_rtp(uchar2);
  1366. long2 __ovld __cnfn convert_long2_sat_rtp(uchar2);
  1367. long2 __ovld __cnfn convert_long2_rtn(uchar2);
  1368. long2 __ovld __cnfn convert_long2_sat_rtn(uchar2);
  1369. long2 __ovld __cnfn convert_long2(uchar2);
  1370. long2 __ovld __cnfn convert_long2_sat(uchar2);
  1371. long2 __ovld __cnfn convert_long2_rte(short2);
  1372. long2 __ovld __cnfn convert_long2_sat_rte(short2);
  1373. long2 __ovld __cnfn convert_long2_rtz(short2);
  1374. long2 __ovld __cnfn convert_long2_sat_rtz(short2);
  1375. long2 __ovld __cnfn convert_long2_rtp(short2);
  1376. long2 __ovld __cnfn convert_long2_sat_rtp(short2);
  1377. long2 __ovld __cnfn convert_long2_rtn(short2);
  1378. long2 __ovld __cnfn convert_long2_sat_rtn(short2);
  1379. long2 __ovld __cnfn convert_long2(short2);
  1380. long2 __ovld __cnfn convert_long2_sat(short2);
  1381. long2 __ovld __cnfn convert_long2_rte(ushort2);
  1382. long2 __ovld __cnfn convert_long2_sat_rte(ushort2);
  1383. long2 __ovld __cnfn convert_long2_rtz(ushort2);
  1384. long2 __ovld __cnfn convert_long2_sat_rtz(ushort2);
  1385. long2 __ovld __cnfn convert_long2_rtp(ushort2);
  1386. long2 __ovld __cnfn convert_long2_sat_rtp(ushort2);
  1387. long2 __ovld __cnfn convert_long2_rtn(ushort2);
  1388. long2 __ovld __cnfn convert_long2_sat_rtn(ushort2);
  1389. long2 __ovld __cnfn convert_long2(ushort2);
  1390. long2 __ovld __cnfn convert_long2_sat(ushort2);
  1391. long2 __ovld __cnfn convert_long2_rte(int2);
  1392. long2 __ovld __cnfn convert_long2_sat_rte(int2);
  1393. long2 __ovld __cnfn convert_long2_rtz(int2);
  1394. long2 __ovld __cnfn convert_long2_sat_rtz(int2);
  1395. long2 __ovld __cnfn convert_long2_rtp(int2);
  1396. long2 __ovld __cnfn convert_long2_sat_rtp(int2);
  1397. long2 __ovld __cnfn convert_long2_rtn(int2);
  1398. long2 __ovld __cnfn convert_long2_sat_rtn(int2);
  1399. long2 __ovld __cnfn convert_long2(int2);
  1400. long2 __ovld __cnfn convert_long2_sat(int2);
  1401. long2 __ovld __cnfn convert_long2_rte(uint2);
  1402. long2 __ovld __cnfn convert_long2_sat_rte(uint2);
  1403. long2 __ovld __cnfn convert_long2_rtz(uint2);
  1404. long2 __ovld __cnfn convert_long2_sat_rtz(uint2);
  1405. long2 __ovld __cnfn convert_long2_rtp(uint2);
  1406. long2 __ovld __cnfn convert_long2_sat_rtp(uint2);
  1407. long2 __ovld __cnfn convert_long2_rtn(uint2);
  1408. long2 __ovld __cnfn convert_long2_sat_rtn(uint2);
  1409. long2 __ovld __cnfn convert_long2(uint2);
  1410. long2 __ovld __cnfn convert_long2_sat(uint2);
  1411. long2 __ovld __cnfn convert_long2_rte(long2);
  1412. long2 __ovld __cnfn convert_long2_sat_rte(long2);
  1413. long2 __ovld __cnfn convert_long2_rtz(long2);
  1414. long2 __ovld __cnfn convert_long2_sat_rtz(long2);
  1415. long2 __ovld __cnfn convert_long2_rtp(long2);
  1416. long2 __ovld __cnfn convert_long2_sat_rtp(long2);
  1417. long2 __ovld __cnfn convert_long2_rtn(long2);
  1418. long2 __ovld __cnfn convert_long2_sat_rtn(long2);
  1419. long2 __ovld __cnfn convert_long2(long2);
  1420. long2 __ovld __cnfn convert_long2_sat(long2);
  1421. long2 __ovld __cnfn convert_long2_rte(ulong2);
  1422. long2 __ovld __cnfn convert_long2_sat_rte(ulong2);
  1423. long2 __ovld __cnfn convert_long2_rtz(ulong2);
  1424. long2 __ovld __cnfn convert_long2_sat_rtz(ulong2);
  1425. long2 __ovld __cnfn convert_long2_rtp(ulong2);
  1426. long2 __ovld __cnfn convert_long2_sat_rtp(ulong2);
  1427. long2 __ovld __cnfn convert_long2_rtn(ulong2);
  1428. long2 __ovld __cnfn convert_long2_sat_rtn(ulong2);
  1429. long2 __ovld __cnfn convert_long2(ulong2);
  1430. long2 __ovld __cnfn convert_long2_sat(ulong2);
  1431. long2 __ovld __cnfn convert_long2_rte(float2);
  1432. long2 __ovld __cnfn convert_long2_sat_rte(float2);
  1433. long2 __ovld __cnfn convert_long2_rtz(float2);
  1434. long2 __ovld __cnfn convert_long2_sat_rtz(float2);
  1435. long2 __ovld __cnfn convert_long2_rtp(float2);
  1436. long2 __ovld __cnfn convert_long2_sat_rtp(float2);
  1437. long2 __ovld __cnfn convert_long2_rtn(float2);
  1438. long2 __ovld __cnfn convert_long2_sat_rtn(float2);
  1439. long2 __ovld __cnfn convert_long2(float2);
  1440. long2 __ovld __cnfn convert_long2_sat(float2);
  1441. ulong2 __ovld __cnfn convert_ulong2_rte(char2);
  1442. ulong2 __ovld __cnfn convert_ulong2_sat_rte(char2);
  1443. ulong2 __ovld __cnfn convert_ulong2_rtz(char2);
  1444. ulong2 __ovld __cnfn convert_ulong2_sat_rtz(char2);
  1445. ulong2 __ovld __cnfn convert_ulong2_rtp(char2);
  1446. ulong2 __ovld __cnfn convert_ulong2_sat_rtp(char2);
  1447. ulong2 __ovld __cnfn convert_ulong2_rtn(char2);
  1448. ulong2 __ovld __cnfn convert_ulong2_sat_rtn(char2);
  1449. ulong2 __ovld __cnfn convert_ulong2(char2);
  1450. ulong2 __ovld __cnfn convert_ulong2_sat(char2);
  1451. ulong2 __ovld __cnfn convert_ulong2_rte(uchar2);
  1452. ulong2 __ovld __cnfn convert_ulong2_sat_rte(uchar2);
  1453. ulong2 __ovld __cnfn convert_ulong2_rtz(uchar2);
  1454. ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uchar2);
  1455. ulong2 __ovld __cnfn convert_ulong2_rtp(uchar2);
  1456. ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uchar2);
  1457. ulong2 __ovld __cnfn convert_ulong2_rtn(uchar2);
  1458. ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uchar2);
  1459. ulong2 __ovld __cnfn convert_ulong2(uchar2);
  1460. ulong2 __ovld __cnfn convert_ulong2_sat(uchar2);
  1461. ulong2 __ovld __cnfn convert_ulong2_rte(short2);
  1462. ulong2 __ovld __cnfn convert_ulong2_sat_rte(short2);
  1463. ulong2 __ovld __cnfn convert_ulong2_rtz(short2);
  1464. ulong2 __ovld __cnfn convert_ulong2_sat_rtz(short2);
  1465. ulong2 __ovld __cnfn convert_ulong2_rtp(short2);
  1466. ulong2 __ovld __cnfn convert_ulong2_sat_rtp(short2);
  1467. ulong2 __ovld __cnfn convert_ulong2_rtn(short2);
  1468. ulong2 __ovld __cnfn convert_ulong2_sat_rtn(short2);
  1469. ulong2 __ovld __cnfn convert_ulong2(short2);
  1470. ulong2 __ovld __cnfn convert_ulong2_sat(short2);
  1471. ulong2 __ovld __cnfn convert_ulong2_rte(ushort2);
  1472. ulong2 __ovld __cnfn convert_ulong2_sat_rte(ushort2);
  1473. ulong2 __ovld __cnfn convert_ulong2_rtz(ushort2);
  1474. ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ushort2);
  1475. ulong2 __ovld __cnfn convert_ulong2_rtp(ushort2);
  1476. ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ushort2);
  1477. ulong2 __ovld __cnfn convert_ulong2_rtn(ushort2);
  1478. ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ushort2);
  1479. ulong2 __ovld __cnfn convert_ulong2(ushort2);
  1480. ulong2 __ovld __cnfn convert_ulong2_sat(ushort2);
  1481. ulong2 __ovld __cnfn convert_ulong2_rte(int2);
  1482. ulong2 __ovld __cnfn convert_ulong2_sat_rte(int2);
  1483. ulong2 __ovld __cnfn convert_ulong2_rtz(int2);
  1484. ulong2 __ovld __cnfn convert_ulong2_sat_rtz(int2);
  1485. ulong2 __ovld __cnfn convert_ulong2_rtp(int2);
  1486. ulong2 __ovld __cnfn convert_ulong2_sat_rtp(int2);
  1487. ulong2 __ovld __cnfn convert_ulong2_rtn(int2);
  1488. ulong2 __ovld __cnfn convert_ulong2_sat_rtn(int2);
  1489. ulong2 __ovld __cnfn convert_ulong2(int2);
  1490. ulong2 __ovld __cnfn convert_ulong2_sat(int2);
  1491. ulong2 __ovld __cnfn convert_ulong2_rte(uint2);
  1492. ulong2 __ovld __cnfn convert_ulong2_sat_rte(uint2);
  1493. ulong2 __ovld __cnfn convert_ulong2_rtz(uint2);
  1494. ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uint2);
  1495. ulong2 __ovld __cnfn convert_ulong2_rtp(uint2);
  1496. ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uint2);
  1497. ulong2 __ovld __cnfn convert_ulong2_rtn(uint2);
  1498. ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uint2);
  1499. ulong2 __ovld __cnfn convert_ulong2(uint2);
  1500. ulong2 __ovld __cnfn convert_ulong2_sat(uint2);
  1501. ulong2 __ovld __cnfn convert_ulong2_rte(long2);
  1502. ulong2 __ovld __cnfn convert_ulong2_sat_rte(long2);
  1503. ulong2 __ovld __cnfn convert_ulong2_rtz(long2);
  1504. ulong2 __ovld __cnfn convert_ulong2_sat_rtz(long2);
  1505. ulong2 __ovld __cnfn convert_ulong2_rtp(long2);
  1506. ulong2 __ovld __cnfn convert_ulong2_sat_rtp(long2);
  1507. ulong2 __ovld __cnfn convert_ulong2_rtn(long2);
  1508. ulong2 __ovld __cnfn convert_ulong2_sat_rtn(long2);
  1509. ulong2 __ovld __cnfn convert_ulong2(long2);
  1510. ulong2 __ovld __cnfn convert_ulong2_sat(long2);
  1511. ulong2 __ovld __cnfn convert_ulong2_rte(ulong2);
  1512. ulong2 __ovld __cnfn convert_ulong2_sat_rte(ulong2);
  1513. ulong2 __ovld __cnfn convert_ulong2_rtz(ulong2);
  1514. ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ulong2);
  1515. ulong2 __ovld __cnfn convert_ulong2_rtp(ulong2);
  1516. ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ulong2);
  1517. ulong2 __ovld __cnfn convert_ulong2_rtn(ulong2);
  1518. ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ulong2);
  1519. ulong2 __ovld __cnfn convert_ulong2(ulong2);
  1520. ulong2 __ovld __cnfn convert_ulong2_sat(ulong2);
  1521. ulong2 __ovld __cnfn convert_ulong2_rte(float2);
  1522. ulong2 __ovld __cnfn convert_ulong2_sat_rte(float2);
  1523. ulong2 __ovld __cnfn convert_ulong2_rtz(float2);
  1524. ulong2 __ovld __cnfn convert_ulong2_sat_rtz(float2);
  1525. ulong2 __ovld __cnfn convert_ulong2_rtp(float2);
  1526. ulong2 __ovld __cnfn convert_ulong2_sat_rtp(float2);
  1527. ulong2 __ovld __cnfn convert_ulong2_rtn(float2);
  1528. ulong2 __ovld __cnfn convert_ulong2_sat_rtn(float2);
  1529. ulong2 __ovld __cnfn convert_ulong2(float2);
  1530. ulong2 __ovld __cnfn convert_ulong2_sat(float2);
  1531. float2 __ovld __cnfn convert_float2_rte(char2);
  1532. float2 __ovld __cnfn convert_float2_rtz(char2);
  1533. float2 __ovld __cnfn convert_float2_rtp(char2);
  1534. float2 __ovld __cnfn convert_float2_rtn(char2);
  1535. float2 __ovld __cnfn convert_float2(char2);
  1536. float2 __ovld __cnfn convert_float2_rte(uchar2);
  1537. float2 __ovld __cnfn convert_float2_rtz(uchar2);
  1538. float2 __ovld __cnfn convert_float2_rtp(uchar2);
  1539. float2 __ovld __cnfn convert_float2_rtn(uchar2);
  1540. float2 __ovld __cnfn convert_float2(uchar2);
  1541. float2 __ovld __cnfn convert_float2_rte(short2);
  1542. float2 __ovld __cnfn convert_float2_rtz(short2);
  1543. float2 __ovld __cnfn convert_float2_rtp(short2);
  1544. float2 __ovld __cnfn convert_float2_rtn(short2);
  1545. float2 __ovld __cnfn convert_float2(short2);
  1546. float2 __ovld __cnfn convert_float2_rte(ushort2);
  1547. float2 __ovld __cnfn convert_float2_rtz(ushort2);
  1548. float2 __ovld __cnfn convert_float2_rtp(ushort2);
  1549. float2 __ovld __cnfn convert_float2_rtn(ushort2);
  1550. float2 __ovld __cnfn convert_float2(ushort2);
  1551. float2 __ovld __cnfn convert_float2_rte(int2);
  1552. float2 __ovld __cnfn convert_float2_rtz(int2);
  1553. float2 __ovld __cnfn convert_float2_rtp(int2);
  1554. float2 __ovld __cnfn convert_float2_rtn(int2);
  1555. float2 __ovld __cnfn convert_float2(int2);
  1556. float2 __ovld __cnfn convert_float2_rte(uint2);
  1557. float2 __ovld __cnfn convert_float2_rtz(uint2);
  1558. float2 __ovld __cnfn convert_float2_rtp(uint2);
  1559. float2 __ovld __cnfn convert_float2_rtn(uint2);
  1560. float2 __ovld __cnfn convert_float2(uint2);
  1561. float2 __ovld __cnfn convert_float2_rte(long2);
  1562. float2 __ovld __cnfn convert_float2_rtz(long2);
  1563. float2 __ovld __cnfn convert_float2_rtp(long2);
  1564. float2 __ovld __cnfn convert_float2_rtn(long2);
  1565. float2 __ovld __cnfn convert_float2(long2);
  1566. float2 __ovld __cnfn convert_float2_rte(ulong2);
  1567. float2 __ovld __cnfn convert_float2_rtz(ulong2);
  1568. float2 __ovld __cnfn convert_float2_rtp(ulong2);
  1569. float2 __ovld __cnfn convert_float2_rtn(ulong2);
  1570. float2 __ovld __cnfn convert_float2(ulong2);
  1571. float2 __ovld __cnfn convert_float2_rte(float2);
  1572. float2 __ovld __cnfn convert_float2_rtz(float2);
  1573. float2 __ovld __cnfn convert_float2_rtp(float2);
  1574. float2 __ovld __cnfn convert_float2_rtn(float2);
  1575. float2 __ovld __cnfn convert_float2(float2);
  1576. char3 __ovld __cnfn convert_char3_rte(char3);
  1577. char3 __ovld __cnfn convert_char3_sat_rte(char3);
  1578. char3 __ovld __cnfn convert_char3_rtz(char3);
  1579. char3 __ovld __cnfn convert_char3_sat_rtz(char3);
  1580. char3 __ovld __cnfn convert_char3_rtp(char3);
  1581. char3 __ovld __cnfn convert_char3_sat_rtp(char3);
  1582. char3 __ovld __cnfn convert_char3_rtn(char3);
  1583. char3 __ovld __cnfn convert_char3_sat_rtn(char3);
  1584. char3 __ovld __cnfn convert_char3(char3);
  1585. char3 __ovld __cnfn convert_char3_sat(char3);
  1586. char3 __ovld __cnfn convert_char3_rte(uchar3);
  1587. char3 __ovld __cnfn convert_char3_sat_rte(uchar3);
  1588. char3 __ovld __cnfn convert_char3_rtz(uchar3);
  1589. char3 __ovld __cnfn convert_char3_sat_rtz(uchar3);
  1590. char3 __ovld __cnfn convert_char3_rtp(uchar3);
  1591. char3 __ovld __cnfn convert_char3_sat_rtp(uchar3);
  1592. char3 __ovld __cnfn convert_char3_rtn(uchar3);
  1593. char3 __ovld __cnfn convert_char3_sat_rtn(uchar3);
  1594. char3 __ovld __cnfn convert_char3(uchar3);
  1595. char3 __ovld __cnfn convert_char3_sat(uchar3);
  1596. char3 __ovld __cnfn convert_char3_rte(short3);
  1597. char3 __ovld __cnfn convert_char3_sat_rte(short3);
  1598. char3 __ovld __cnfn convert_char3_rtz(short3);
  1599. char3 __ovld __cnfn convert_char3_sat_rtz(short3);
  1600. char3 __ovld __cnfn convert_char3_rtp(short3);
  1601. char3 __ovld __cnfn convert_char3_sat_rtp(short3);
  1602. char3 __ovld __cnfn convert_char3_rtn(short3);
  1603. char3 __ovld __cnfn convert_char3_sat_rtn(short3);
  1604. char3 __ovld __cnfn convert_char3(short3);
  1605. char3 __ovld __cnfn convert_char3_sat(short3);
  1606. char3 __ovld __cnfn convert_char3_rte(ushort3);
  1607. char3 __ovld __cnfn convert_char3_sat_rte(ushort3);
  1608. char3 __ovld __cnfn convert_char3_rtz(ushort3);
  1609. char3 __ovld __cnfn convert_char3_sat_rtz(ushort3);
  1610. char3 __ovld __cnfn convert_char3_rtp(ushort3);
  1611. char3 __ovld __cnfn convert_char3_sat_rtp(ushort3);
  1612. char3 __ovld __cnfn convert_char3_rtn(ushort3);
  1613. char3 __ovld __cnfn convert_char3_sat_rtn(ushort3);
  1614. char3 __ovld __cnfn convert_char3(ushort3);
  1615. char3 __ovld __cnfn convert_char3_sat(ushort3);
  1616. char3 __ovld __cnfn convert_char3_rte(int3);
  1617. char3 __ovld __cnfn convert_char3_sat_rte(int3);
  1618. char3 __ovld __cnfn convert_char3_rtz(int3);
  1619. char3 __ovld __cnfn convert_char3_sat_rtz(int3);
  1620. char3 __ovld __cnfn convert_char3_rtp(int3);
  1621. char3 __ovld __cnfn convert_char3_sat_rtp(int3);
  1622. char3 __ovld __cnfn convert_char3_rtn(int3);
  1623. char3 __ovld __cnfn convert_char3_sat_rtn(int3);
  1624. char3 __ovld __cnfn convert_char3(int3);
  1625. char3 __ovld __cnfn convert_char3_sat(int3);
  1626. char3 __ovld __cnfn convert_char3_rte(uint3);
  1627. char3 __ovld __cnfn convert_char3_sat_rte(uint3);
  1628. char3 __ovld __cnfn convert_char3_rtz(uint3);
  1629. char3 __ovld __cnfn convert_char3_sat_rtz(uint3);
  1630. char3 __ovld __cnfn convert_char3_rtp(uint3);
  1631. char3 __ovld __cnfn convert_char3_sat_rtp(uint3);
  1632. char3 __ovld __cnfn convert_char3_rtn(uint3);
  1633. char3 __ovld __cnfn convert_char3_sat_rtn(uint3);
  1634. char3 __ovld __cnfn convert_char3(uint3);
  1635. char3 __ovld __cnfn convert_char3_sat(uint3);
  1636. char3 __ovld __cnfn convert_char3_rte(long3);
  1637. char3 __ovld __cnfn convert_char3_sat_rte(long3);
  1638. char3 __ovld __cnfn convert_char3_rtz(long3);
  1639. char3 __ovld __cnfn convert_char3_sat_rtz(long3);
  1640. char3 __ovld __cnfn convert_char3_rtp(long3);
  1641. char3 __ovld __cnfn convert_char3_sat_rtp(long3);
  1642. char3 __ovld __cnfn convert_char3_rtn(long3);
  1643. char3 __ovld __cnfn convert_char3_sat_rtn(long3);
  1644. char3 __ovld __cnfn convert_char3(long3);
  1645. char3 __ovld __cnfn convert_char3_sat(long3);
  1646. char3 __ovld __cnfn convert_char3_rte(ulong3);
  1647. char3 __ovld __cnfn convert_char3_sat_rte(ulong3);
  1648. char3 __ovld __cnfn convert_char3_rtz(ulong3);
  1649. char3 __ovld __cnfn convert_char3_sat_rtz(ulong3);
  1650. char3 __ovld __cnfn convert_char3_rtp(ulong3);
  1651. char3 __ovld __cnfn convert_char3_sat_rtp(ulong3);
  1652. char3 __ovld __cnfn convert_char3_rtn(ulong3);
  1653. char3 __ovld __cnfn convert_char3_sat_rtn(ulong3);
  1654. char3 __ovld __cnfn convert_char3(ulong3);
  1655. char3 __ovld __cnfn convert_char3_sat(ulong3);
  1656. char3 __ovld __cnfn convert_char3_rte(float3);
  1657. char3 __ovld __cnfn convert_char3_sat_rte(float3);
  1658. char3 __ovld __cnfn convert_char3_rtz(float3);
  1659. char3 __ovld __cnfn convert_char3_sat_rtz(float3);
  1660. char3 __ovld __cnfn convert_char3_rtp(float3);
  1661. char3 __ovld __cnfn convert_char3_sat_rtp(float3);
  1662. char3 __ovld __cnfn convert_char3_rtn(float3);
  1663. char3 __ovld __cnfn convert_char3_sat_rtn(float3);
  1664. char3 __ovld __cnfn convert_char3(float3);
  1665. char3 __ovld __cnfn convert_char3_sat(float3);
  1666. uchar3 __ovld __cnfn convert_uchar3_rte(char3);
  1667. uchar3 __ovld __cnfn convert_uchar3_sat_rte(char3);
  1668. uchar3 __ovld __cnfn convert_uchar3_rtz(char3);
  1669. uchar3 __ovld __cnfn convert_uchar3_sat_rtz(char3);
  1670. uchar3 __ovld __cnfn convert_uchar3_rtp(char3);
  1671. uchar3 __ovld __cnfn convert_uchar3_sat_rtp(char3);
  1672. uchar3 __ovld __cnfn convert_uchar3_rtn(char3);
  1673. uchar3 __ovld __cnfn convert_uchar3_sat_rtn(char3);
  1674. uchar3 __ovld __cnfn convert_uchar3(char3);
  1675. uchar3 __ovld __cnfn convert_uchar3_sat(char3);
  1676. uchar3 __ovld __cnfn convert_uchar3_rte(uchar3);
  1677. uchar3 __ovld __cnfn convert_uchar3_sat_rte(uchar3);
  1678. uchar3 __ovld __cnfn convert_uchar3_rtz(uchar3);
  1679. uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uchar3);
  1680. uchar3 __ovld __cnfn convert_uchar3_rtp(uchar3);
  1681. uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uchar3);
  1682. uchar3 __ovld __cnfn convert_uchar3_rtn(uchar3);
  1683. uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uchar3);
  1684. uchar3 __ovld __cnfn convert_uchar3(uchar3);
  1685. uchar3 __ovld __cnfn convert_uchar3_sat(uchar3);
  1686. uchar3 __ovld __cnfn convert_uchar3_rte(short3);
  1687. uchar3 __ovld __cnfn convert_uchar3_sat_rte(short3);
  1688. uchar3 __ovld __cnfn convert_uchar3_rtz(short3);
  1689. uchar3 __ovld __cnfn convert_uchar3_sat_rtz(short3);
  1690. uchar3 __ovld __cnfn convert_uchar3_rtp(short3);
  1691. uchar3 __ovld __cnfn convert_uchar3_sat_rtp(short3);
  1692. uchar3 __ovld __cnfn convert_uchar3_rtn(short3);
  1693. uchar3 __ovld __cnfn convert_uchar3_sat_rtn(short3);
  1694. uchar3 __ovld __cnfn convert_uchar3(short3);
  1695. uchar3 __ovld __cnfn convert_uchar3_sat(short3);
  1696. uchar3 __ovld __cnfn convert_uchar3_rte(ushort3);
  1697. uchar3 __ovld __cnfn convert_uchar3_sat_rte(ushort3);
  1698. uchar3 __ovld __cnfn convert_uchar3_rtz(ushort3);
  1699. uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ushort3);
  1700. uchar3 __ovld __cnfn convert_uchar3_rtp(ushort3);
  1701. uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ushort3);
  1702. uchar3 __ovld __cnfn convert_uchar3_rtn(ushort3);
  1703. uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ushort3);
  1704. uchar3 __ovld __cnfn convert_uchar3(ushort3);
  1705. uchar3 __ovld __cnfn convert_uchar3_sat(ushort3);
  1706. uchar3 __ovld __cnfn convert_uchar3_rte(int3);
  1707. uchar3 __ovld __cnfn convert_uchar3_sat_rte(int3);
  1708. uchar3 __ovld __cnfn convert_uchar3_rtz(int3);
  1709. uchar3 __ovld __cnfn convert_uchar3_sat_rtz(int3);
  1710. uchar3 __ovld __cnfn convert_uchar3_rtp(int3);
  1711. uchar3 __ovld __cnfn convert_uchar3_sat_rtp(int3);
  1712. uchar3 __ovld __cnfn convert_uchar3_rtn(int3);
  1713. uchar3 __ovld __cnfn convert_uchar3_sat_rtn(int3);
  1714. uchar3 __ovld __cnfn convert_uchar3(int3);
  1715. uchar3 __ovld __cnfn convert_uchar3_sat(int3);
  1716. uchar3 __ovld __cnfn convert_uchar3_rte(uint3);
  1717. uchar3 __ovld __cnfn convert_uchar3_sat_rte(uint3);
  1718. uchar3 __ovld __cnfn convert_uchar3_rtz(uint3);
  1719. uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uint3);
  1720. uchar3 __ovld __cnfn convert_uchar3_rtp(uint3);
  1721. uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uint3);
  1722. uchar3 __ovld __cnfn convert_uchar3_rtn(uint3);
  1723. uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uint3);
  1724. uchar3 __ovld __cnfn convert_uchar3(uint3);
  1725. uchar3 __ovld __cnfn convert_uchar3_sat(uint3);
  1726. uchar3 __ovld __cnfn convert_uchar3_rte(long3);
  1727. uchar3 __ovld __cnfn convert_uchar3_sat_rte(long3);
  1728. uchar3 __ovld __cnfn convert_uchar3_rtz(long3);
  1729. uchar3 __ovld __cnfn convert_uchar3_sat_rtz(long3);
  1730. uchar3 __ovld __cnfn convert_uchar3_rtp(long3);
  1731. uchar3 __ovld __cnfn convert_uchar3_sat_rtp(long3);
  1732. uchar3 __ovld __cnfn convert_uchar3_rtn(long3);
  1733. uchar3 __ovld __cnfn convert_uchar3_sat_rtn(long3);
  1734. uchar3 __ovld __cnfn convert_uchar3(long3);
  1735. uchar3 __ovld __cnfn convert_uchar3_sat(long3);
  1736. uchar3 __ovld __cnfn convert_uchar3_rte(ulong3);
  1737. uchar3 __ovld __cnfn convert_uchar3_sat_rte(ulong3);
  1738. uchar3 __ovld __cnfn convert_uchar3_rtz(ulong3);
  1739. uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ulong3);
  1740. uchar3 __ovld __cnfn convert_uchar3_rtp(ulong3);
  1741. uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ulong3);
  1742. uchar3 __ovld __cnfn convert_uchar3_rtn(ulong3);
  1743. uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ulong3);
  1744. uchar3 __ovld __cnfn convert_uchar3(ulong3);
  1745. uchar3 __ovld __cnfn convert_uchar3_sat(ulong3);
  1746. uchar3 __ovld __cnfn convert_uchar3_rte(float3);
  1747. uchar3 __ovld __cnfn convert_uchar3_sat_rte(float3);
  1748. uchar3 __ovld __cnfn convert_uchar3_rtz(float3);
  1749. uchar3 __ovld __cnfn convert_uchar3_sat_rtz(float3);
  1750. uchar3 __ovld __cnfn convert_uchar3_rtp(float3);
  1751. uchar3 __ovld __cnfn convert_uchar3_sat_rtp(float3);
  1752. uchar3 __ovld __cnfn convert_uchar3_rtn(float3);
  1753. uchar3 __ovld __cnfn convert_uchar3_sat_rtn(float3);
  1754. uchar3 __ovld __cnfn convert_uchar3(float3);
  1755. uchar3 __ovld __cnfn convert_uchar3_sat(float3);
  1756. short3 __ovld __cnfn convert_short3_rte(char3);
  1757. short3 __ovld __cnfn convert_short3_sat_rte(char3);
  1758. short3 __ovld __cnfn convert_short3_rtz(char3);
  1759. short3 __ovld __cnfn convert_short3_sat_rtz(char3);
  1760. short3 __ovld __cnfn convert_short3_rtp(char3);
  1761. short3 __ovld __cnfn convert_short3_sat_rtp(char3);
  1762. short3 __ovld __cnfn convert_short3_rtn(char3);
  1763. short3 __ovld __cnfn convert_short3_sat_rtn(char3);
  1764. short3 __ovld __cnfn convert_short3(char3);
  1765. short3 __ovld __cnfn convert_short3_sat(char3);
  1766. short3 __ovld __cnfn convert_short3_rte(uchar3);
  1767. short3 __ovld __cnfn convert_short3_sat_rte(uchar3);
  1768. short3 __ovld __cnfn convert_short3_rtz(uchar3);
  1769. short3 __ovld __cnfn convert_short3_sat_rtz(uchar3);
  1770. short3 __ovld __cnfn convert_short3_rtp(uchar3);
  1771. short3 __ovld __cnfn convert_short3_sat_rtp(uchar3);
  1772. short3 __ovld __cnfn convert_short3_rtn(uchar3);
  1773. short3 __ovld __cnfn convert_short3_sat_rtn(uchar3);
  1774. short3 __ovld __cnfn convert_short3(uchar3);
  1775. short3 __ovld __cnfn convert_short3_sat(uchar3);
  1776. short3 __ovld __cnfn convert_short3_rte(short3);
  1777. short3 __ovld __cnfn convert_short3_sat_rte(short3);
  1778. short3 __ovld __cnfn convert_short3_rtz(short3);
  1779. short3 __ovld __cnfn convert_short3_sat_rtz(short3);
  1780. short3 __ovld __cnfn convert_short3_rtp(short3);
  1781. short3 __ovld __cnfn convert_short3_sat_rtp(short3);
  1782. short3 __ovld __cnfn convert_short3_rtn(short3);
  1783. short3 __ovld __cnfn convert_short3_sat_rtn(short3);
  1784. short3 __ovld __cnfn convert_short3(short3);
  1785. short3 __ovld __cnfn convert_short3_sat(short3);
  1786. short3 __ovld __cnfn convert_short3_rte(ushort3);
  1787. short3 __ovld __cnfn convert_short3_sat_rte(ushort3);
  1788. short3 __ovld __cnfn convert_short3_rtz(ushort3);
  1789. short3 __ovld __cnfn convert_short3_sat_rtz(ushort3);
  1790. short3 __ovld __cnfn convert_short3_rtp(ushort3);
  1791. short3 __ovld __cnfn convert_short3_sat_rtp(ushort3);
  1792. short3 __ovld __cnfn convert_short3_rtn(ushort3);
  1793. short3 __ovld __cnfn convert_short3_sat_rtn(ushort3);
  1794. short3 __ovld __cnfn convert_short3(ushort3);
  1795. short3 __ovld __cnfn convert_short3_sat(ushort3);
  1796. short3 __ovld __cnfn convert_short3_rte(int3);
  1797. short3 __ovld __cnfn convert_short3_sat_rte(int3);
  1798. short3 __ovld __cnfn convert_short3_rtz(int3);
  1799. short3 __ovld __cnfn convert_short3_sat_rtz(int3);
  1800. short3 __ovld __cnfn convert_short3_rtp(int3);
  1801. short3 __ovld __cnfn convert_short3_sat_rtp(int3);
  1802. short3 __ovld __cnfn convert_short3_rtn(int3);
  1803. short3 __ovld __cnfn convert_short3_sat_rtn(int3);
  1804. short3 __ovld __cnfn convert_short3(int3);
  1805. short3 __ovld __cnfn convert_short3_sat(int3);
  1806. short3 __ovld __cnfn convert_short3_rte(uint3);
  1807. short3 __ovld __cnfn convert_short3_sat_rte(uint3);
  1808. short3 __ovld __cnfn convert_short3_rtz(uint3);
  1809. short3 __ovld __cnfn convert_short3_sat_rtz(uint3);
  1810. short3 __ovld __cnfn convert_short3_rtp(uint3);
  1811. short3 __ovld __cnfn convert_short3_sat_rtp(uint3);
  1812. short3 __ovld __cnfn convert_short3_rtn(uint3);
  1813. short3 __ovld __cnfn convert_short3_sat_rtn(uint3);
  1814. short3 __ovld __cnfn convert_short3(uint3);
  1815. short3 __ovld __cnfn convert_short3_sat(uint3);
  1816. short3 __ovld __cnfn convert_short3_rte(long3);
  1817. short3 __ovld __cnfn convert_short3_sat_rte(long3);
  1818. short3 __ovld __cnfn convert_short3_rtz(long3);
  1819. short3 __ovld __cnfn convert_short3_sat_rtz(long3);
  1820. short3 __ovld __cnfn convert_short3_rtp(long3);
  1821. short3 __ovld __cnfn convert_short3_sat_rtp(long3);
  1822. short3 __ovld __cnfn convert_short3_rtn(long3);
  1823. short3 __ovld __cnfn convert_short3_sat_rtn(long3);
  1824. short3 __ovld __cnfn convert_short3(long3);
  1825. short3 __ovld __cnfn convert_short3_sat(long3);
  1826. short3 __ovld __cnfn convert_short3_rte(ulong3);
  1827. short3 __ovld __cnfn convert_short3_sat_rte(ulong3);
  1828. short3 __ovld __cnfn convert_short3_rtz(ulong3);
  1829. short3 __ovld __cnfn convert_short3_sat_rtz(ulong3);
  1830. short3 __ovld __cnfn convert_short3_rtp(ulong3);
  1831. short3 __ovld __cnfn convert_short3_sat_rtp(ulong3);
  1832. short3 __ovld __cnfn convert_short3_rtn(ulong3);
  1833. short3 __ovld __cnfn convert_short3_sat_rtn(ulong3);
  1834. short3 __ovld __cnfn convert_short3(ulong3);
  1835. short3 __ovld __cnfn convert_short3_sat(ulong3);
  1836. short3 __ovld __cnfn convert_short3_rte(float3);
  1837. short3 __ovld __cnfn convert_short3_sat_rte(float3);
  1838. short3 __ovld __cnfn convert_short3_rtz(float3);
  1839. short3 __ovld __cnfn convert_short3_sat_rtz(float3);
  1840. short3 __ovld __cnfn convert_short3_rtp(float3);
  1841. short3 __ovld __cnfn convert_short3_sat_rtp(float3);
  1842. short3 __ovld __cnfn convert_short3_rtn(float3);
  1843. short3 __ovld __cnfn convert_short3_sat_rtn(float3);
  1844. short3 __ovld __cnfn convert_short3(float3);
  1845. short3 __ovld __cnfn convert_short3_sat(float3);
  1846. ushort3 __ovld __cnfn convert_ushort3_rte(char3);
  1847. ushort3 __ovld __cnfn convert_ushort3_sat_rte(char3);
  1848. ushort3 __ovld __cnfn convert_ushort3_rtz(char3);
  1849. ushort3 __ovld __cnfn convert_ushort3_sat_rtz(char3);
  1850. ushort3 __ovld __cnfn convert_ushort3_rtp(char3);
  1851. ushort3 __ovld __cnfn convert_ushort3_sat_rtp(char3);
  1852. ushort3 __ovld __cnfn convert_ushort3_rtn(char3);
  1853. ushort3 __ovld __cnfn convert_ushort3_sat_rtn(char3);
  1854. ushort3 __ovld __cnfn convert_ushort3(char3);
  1855. ushort3 __ovld __cnfn convert_ushort3_sat(char3);
  1856. ushort3 __ovld __cnfn convert_ushort3_rte(uchar3);
  1857. ushort3 __ovld __cnfn convert_ushort3_sat_rte(uchar3);
  1858. ushort3 __ovld __cnfn convert_ushort3_rtz(uchar3);
  1859. ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uchar3);
  1860. ushort3 __ovld __cnfn convert_ushort3_rtp(uchar3);
  1861. ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uchar3);
  1862. ushort3 __ovld __cnfn convert_ushort3_rtn(uchar3);
  1863. ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uchar3);
  1864. ushort3 __ovld __cnfn convert_ushort3(uchar3);
  1865. ushort3 __ovld __cnfn convert_ushort3_sat(uchar3);
  1866. ushort3 __ovld __cnfn convert_ushort3_rte(short3);
  1867. ushort3 __ovld __cnfn convert_ushort3_sat_rte(short3);
  1868. ushort3 __ovld __cnfn convert_ushort3_rtz(short3);
  1869. ushort3 __ovld __cnfn convert_ushort3_sat_rtz(short3);
  1870. ushort3 __ovld __cnfn convert_ushort3_rtp(short3);
  1871. ushort3 __ovld __cnfn convert_ushort3_sat_rtp(short3);
  1872. ushort3 __ovld __cnfn convert_ushort3_rtn(short3);
  1873. ushort3 __ovld __cnfn convert_ushort3_sat_rtn(short3);
  1874. ushort3 __ovld __cnfn convert_ushort3(short3);
  1875. ushort3 __ovld __cnfn convert_ushort3_sat(short3);
  1876. ushort3 __ovld __cnfn convert_ushort3_rte(ushort3);
  1877. ushort3 __ovld __cnfn convert_ushort3_sat_rte(ushort3);
  1878. ushort3 __ovld __cnfn convert_ushort3_rtz(ushort3);
  1879. ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ushort3);
  1880. ushort3 __ovld __cnfn convert_ushort3_rtp(ushort3);
  1881. ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ushort3);
  1882. ushort3 __ovld __cnfn convert_ushort3_rtn(ushort3);
  1883. ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ushort3);
  1884. ushort3 __ovld __cnfn convert_ushort3(ushort3);
  1885. ushort3 __ovld __cnfn convert_ushort3_sat(ushort3);
  1886. ushort3 __ovld __cnfn convert_ushort3_rte(int3);
  1887. ushort3 __ovld __cnfn convert_ushort3_sat_rte(int3);
  1888. ushort3 __ovld __cnfn convert_ushort3_rtz(int3);
  1889. ushort3 __ovld __cnfn convert_ushort3_sat_rtz(int3);
  1890. ushort3 __ovld __cnfn convert_ushort3_rtp(int3);
  1891. ushort3 __ovld __cnfn convert_ushort3_sat_rtp(int3);
  1892. ushort3 __ovld __cnfn convert_ushort3_rtn(int3);
  1893. ushort3 __ovld __cnfn convert_ushort3_sat_rtn(int3);
  1894. ushort3 __ovld __cnfn convert_ushort3(int3);
  1895. ushort3 __ovld __cnfn convert_ushort3_sat(int3);
  1896. ushort3 __ovld __cnfn convert_ushort3_rte(uint3);
  1897. ushort3 __ovld __cnfn convert_ushort3_sat_rte(uint3);
  1898. ushort3 __ovld __cnfn convert_ushort3_rtz(uint3);
  1899. ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uint3);
  1900. ushort3 __ovld __cnfn convert_ushort3_rtp(uint3);
  1901. ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uint3);
  1902. ushort3 __ovld __cnfn convert_ushort3_rtn(uint3);
  1903. ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uint3);
  1904. ushort3 __ovld __cnfn convert_ushort3(uint3);
  1905. ushort3 __ovld __cnfn convert_ushort3_sat(uint3);
  1906. ushort3 __ovld __cnfn convert_ushort3_rte(long3);
  1907. ushort3 __ovld __cnfn convert_ushort3_sat_rte(long3);
  1908. ushort3 __ovld __cnfn convert_ushort3_rtz(long3);
  1909. ushort3 __ovld __cnfn convert_ushort3_sat_rtz(long3);
  1910. ushort3 __ovld __cnfn convert_ushort3_rtp(long3);
  1911. ushort3 __ovld __cnfn convert_ushort3_sat_rtp(long3);
  1912. ushort3 __ovld __cnfn convert_ushort3_rtn(long3);
  1913. ushort3 __ovld __cnfn convert_ushort3_sat_rtn(long3);
  1914. ushort3 __ovld __cnfn convert_ushort3(long3);
  1915. ushort3 __ovld __cnfn convert_ushort3_sat(long3);
  1916. ushort3 __ovld __cnfn convert_ushort3_rte(ulong3);
  1917. ushort3 __ovld __cnfn convert_ushort3_sat_rte(ulong3);
  1918. ushort3 __ovld __cnfn convert_ushort3_rtz(ulong3);
  1919. ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ulong3);
  1920. ushort3 __ovld __cnfn convert_ushort3_rtp(ulong3);
  1921. ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ulong3);
  1922. ushort3 __ovld __cnfn convert_ushort3_rtn(ulong3);
  1923. ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ulong3);
  1924. ushort3 __ovld __cnfn convert_ushort3(ulong3);
  1925. ushort3 __ovld __cnfn convert_ushort3_sat(ulong3);
  1926. ushort3 __ovld __cnfn convert_ushort3_rte(float3);
  1927. ushort3 __ovld __cnfn convert_ushort3_sat_rte(float3);
  1928. ushort3 __ovld __cnfn convert_ushort3_rtz(float3);
  1929. ushort3 __ovld __cnfn convert_ushort3_sat_rtz(float3);
  1930. ushort3 __ovld __cnfn convert_ushort3_rtp(float3);
  1931. ushort3 __ovld __cnfn convert_ushort3_sat_rtp(float3);
  1932. ushort3 __ovld __cnfn convert_ushort3_rtn(float3);
  1933. ushort3 __ovld __cnfn convert_ushort3_sat_rtn(float3);
  1934. ushort3 __ovld __cnfn convert_ushort3(float3);
  1935. ushort3 __ovld __cnfn convert_ushort3_sat(float3);
  1936. int3 __ovld __cnfn convert_int3_rte(char3);
  1937. int3 __ovld __cnfn convert_int3_sat_rte(char3);
  1938. int3 __ovld __cnfn convert_int3_rtz(char3);
  1939. int3 __ovld __cnfn convert_int3_sat_rtz(char3);
  1940. int3 __ovld __cnfn convert_int3_rtp(char3);
  1941. int3 __ovld __cnfn convert_int3_sat_rtp(char3);
  1942. int3 __ovld __cnfn convert_int3_rtn(char3);
  1943. int3 __ovld __cnfn convert_int3_sat_rtn(char3);
  1944. int3 __ovld __cnfn convert_int3(char3);
  1945. int3 __ovld __cnfn convert_int3_sat(char3);
  1946. int3 __ovld __cnfn convert_int3_rte(uchar3);
  1947. int3 __ovld __cnfn convert_int3_sat_rte(uchar3);
  1948. int3 __ovld __cnfn convert_int3_rtz(uchar3);
  1949. int3 __ovld __cnfn convert_int3_sat_rtz(uchar3);
  1950. int3 __ovld __cnfn convert_int3_rtp(uchar3);
  1951. int3 __ovld __cnfn convert_int3_sat_rtp(uchar3);
  1952. int3 __ovld __cnfn convert_int3_rtn(uchar3);
  1953. int3 __ovld __cnfn convert_int3_sat_rtn(uchar3);
  1954. int3 __ovld __cnfn convert_int3(uchar3);
  1955. int3 __ovld __cnfn convert_int3_sat(uchar3);
  1956. int3 __ovld __cnfn convert_int3_rte(short3);
  1957. int3 __ovld __cnfn convert_int3_sat_rte(short3);
  1958. int3 __ovld __cnfn convert_int3_rtz(short3);
  1959. int3 __ovld __cnfn convert_int3_sat_rtz(short3);
  1960. int3 __ovld __cnfn convert_int3_rtp(short3);
  1961. int3 __ovld __cnfn convert_int3_sat_rtp(short3);
  1962. int3 __ovld __cnfn convert_int3_rtn(short3);
  1963. int3 __ovld __cnfn convert_int3_sat_rtn(short3);
  1964. int3 __ovld __cnfn convert_int3(short3);
  1965. int3 __ovld __cnfn convert_int3_sat(short3);
  1966. int3 __ovld __cnfn convert_int3_rte(ushort3);
  1967. int3 __ovld __cnfn convert_int3_sat_rte(ushort3);
  1968. int3 __ovld __cnfn convert_int3_rtz(ushort3);
  1969. int3 __ovld __cnfn convert_int3_sat_rtz(ushort3);
  1970. int3 __ovld __cnfn convert_int3_rtp(ushort3);
  1971. int3 __ovld __cnfn convert_int3_sat_rtp(ushort3);
  1972. int3 __ovld __cnfn convert_int3_rtn(ushort3);
  1973. int3 __ovld __cnfn convert_int3_sat_rtn(ushort3);
  1974. int3 __ovld __cnfn convert_int3(ushort3);
  1975. int3 __ovld __cnfn convert_int3_sat(ushort3);
  1976. int3 __ovld __cnfn convert_int3_rte(int3);
  1977. int3 __ovld __cnfn convert_int3_sat_rte(int3);
  1978. int3 __ovld __cnfn convert_int3_rtz(int3);
  1979. int3 __ovld __cnfn convert_int3_sat_rtz(int3);
  1980. int3 __ovld __cnfn convert_int3_rtp(int3);
  1981. int3 __ovld __cnfn convert_int3_sat_rtp(int3);
  1982. int3 __ovld __cnfn convert_int3_rtn(int3);
  1983. int3 __ovld __cnfn convert_int3_sat_rtn(int3);
  1984. int3 __ovld __cnfn convert_int3(int3);
  1985. int3 __ovld __cnfn convert_int3_sat(int3);
  1986. int3 __ovld __cnfn convert_int3_rte(uint3);
  1987. int3 __ovld __cnfn convert_int3_sat_rte(uint3);
  1988. int3 __ovld __cnfn convert_int3_rtz(uint3);
  1989. int3 __ovld __cnfn convert_int3_sat_rtz(uint3);
  1990. int3 __ovld __cnfn convert_int3_rtp(uint3);
  1991. int3 __ovld __cnfn convert_int3_sat_rtp(uint3);
  1992. int3 __ovld __cnfn convert_int3_rtn(uint3);
  1993. int3 __ovld __cnfn convert_int3_sat_rtn(uint3);
  1994. int3 __ovld __cnfn convert_int3(uint3);
  1995. int3 __ovld __cnfn convert_int3_sat(uint3);
  1996. int3 __ovld __cnfn convert_int3_rte(long3);
  1997. int3 __ovld __cnfn convert_int3_sat_rte(long3);
  1998. int3 __ovld __cnfn convert_int3_rtz(long3);
  1999. int3 __ovld __cnfn convert_int3_sat_rtz(long3);
  2000. int3 __ovld __cnfn convert_int3_rtp(long3);
  2001. int3 __ovld __cnfn convert_int3_sat_rtp(long3);
  2002. int3 __ovld __cnfn convert_int3_rtn(long3);
  2003. int3 __ovld __cnfn convert_int3_sat_rtn(long3);
  2004. int3 __ovld __cnfn convert_int3(long3);
  2005. int3 __ovld __cnfn convert_int3_sat(long3);
  2006. int3 __ovld __cnfn convert_int3_rte(ulong3);
  2007. int3 __ovld __cnfn convert_int3_sat_rte(ulong3);
  2008. int3 __ovld __cnfn convert_int3_rtz(ulong3);
  2009. int3 __ovld __cnfn convert_int3_sat_rtz(ulong3);
  2010. int3 __ovld __cnfn convert_int3_rtp(ulong3);
  2011. int3 __ovld __cnfn convert_int3_sat_rtp(ulong3);
  2012. int3 __ovld __cnfn convert_int3_rtn(ulong3);
  2013. int3 __ovld __cnfn convert_int3_sat_rtn(ulong3);
  2014. int3 __ovld __cnfn convert_int3(ulong3);
  2015. int3 __ovld __cnfn convert_int3_sat(ulong3);
  2016. int3 __ovld __cnfn convert_int3_rte(float3);
  2017. int3 __ovld __cnfn convert_int3_sat_rte(float3);
  2018. int3 __ovld __cnfn convert_int3_rtz(float3);
  2019. int3 __ovld __cnfn convert_int3_sat_rtz(float3);
  2020. int3 __ovld __cnfn convert_int3_rtp(float3);
  2021. int3 __ovld __cnfn convert_int3_sat_rtp(float3);
  2022. int3 __ovld __cnfn convert_int3_rtn(float3);
  2023. int3 __ovld __cnfn convert_int3_sat_rtn(float3);
  2024. int3 __ovld __cnfn convert_int3(float3);
  2025. int3 __ovld __cnfn convert_int3_sat(float3);
  2026. uint3 __ovld __cnfn convert_uint3_rte(char3);
  2027. uint3 __ovld __cnfn convert_uint3_sat_rte(char3);
  2028. uint3 __ovld __cnfn convert_uint3_rtz(char3);
  2029. uint3 __ovld __cnfn convert_uint3_sat_rtz(char3);
  2030. uint3 __ovld __cnfn convert_uint3_rtp(char3);
  2031. uint3 __ovld __cnfn convert_uint3_sat_rtp(char3);
  2032. uint3 __ovld __cnfn convert_uint3_rtn(char3);
  2033. uint3 __ovld __cnfn convert_uint3_sat_rtn(char3);
  2034. uint3 __ovld __cnfn convert_uint3(char3);
  2035. uint3 __ovld __cnfn convert_uint3_sat(char3);
  2036. uint3 __ovld __cnfn convert_uint3_rte(uchar3);
  2037. uint3 __ovld __cnfn convert_uint3_sat_rte(uchar3);
  2038. uint3 __ovld __cnfn convert_uint3_rtz(uchar3);
  2039. uint3 __ovld __cnfn convert_uint3_sat_rtz(uchar3);
  2040. uint3 __ovld __cnfn convert_uint3_rtp(uchar3);
  2041. uint3 __ovld __cnfn convert_uint3_sat_rtp(uchar3);
  2042. uint3 __ovld __cnfn convert_uint3_rtn(uchar3);
  2043. uint3 __ovld __cnfn convert_uint3_sat_rtn(uchar3);
  2044. uint3 __ovld __cnfn convert_uint3(uchar3);
  2045. uint3 __ovld __cnfn convert_uint3_sat(uchar3);
  2046. uint3 __ovld __cnfn convert_uint3_rte(short3);
  2047. uint3 __ovld __cnfn convert_uint3_sat_rte(short3);
  2048. uint3 __ovld __cnfn convert_uint3_rtz(short3);
  2049. uint3 __ovld __cnfn convert_uint3_sat_rtz(short3);
  2050. uint3 __ovld __cnfn convert_uint3_rtp(short3);
  2051. uint3 __ovld __cnfn convert_uint3_sat_rtp(short3);
  2052. uint3 __ovld __cnfn convert_uint3_rtn(short3);
  2053. uint3 __ovld __cnfn convert_uint3_sat_rtn(short3);
  2054. uint3 __ovld __cnfn convert_uint3(short3);
  2055. uint3 __ovld __cnfn convert_uint3_sat(short3);
  2056. uint3 __ovld __cnfn convert_uint3_rte(ushort3);
  2057. uint3 __ovld __cnfn convert_uint3_sat_rte(ushort3);
  2058. uint3 __ovld __cnfn convert_uint3_rtz(ushort3);
  2059. uint3 __ovld __cnfn convert_uint3_sat_rtz(ushort3);
  2060. uint3 __ovld __cnfn convert_uint3_rtp(ushort3);
  2061. uint3 __ovld __cnfn convert_uint3_sat_rtp(ushort3);
  2062. uint3 __ovld __cnfn convert_uint3_rtn(ushort3);
  2063. uint3 __ovld __cnfn convert_uint3_sat_rtn(ushort3);
  2064. uint3 __ovld __cnfn convert_uint3(ushort3);
  2065. uint3 __ovld __cnfn convert_uint3_sat(ushort3);
  2066. uint3 __ovld __cnfn convert_uint3_rte(int3);
  2067. uint3 __ovld __cnfn convert_uint3_sat_rte(int3);
  2068. uint3 __ovld __cnfn convert_uint3_rtz(int3);
  2069. uint3 __ovld __cnfn convert_uint3_sat_rtz(int3);
  2070. uint3 __ovld __cnfn convert_uint3_rtp(int3);
  2071. uint3 __ovld __cnfn convert_uint3_sat_rtp(int3);
  2072. uint3 __ovld __cnfn convert_uint3_rtn(int3);
  2073. uint3 __ovld __cnfn convert_uint3_sat_rtn(int3);
  2074. uint3 __ovld __cnfn convert_uint3(int3);
  2075. uint3 __ovld __cnfn convert_uint3_sat(int3);
  2076. uint3 __ovld __cnfn convert_uint3_rte(uint3);
  2077. uint3 __ovld __cnfn convert_uint3_sat_rte(uint3);
  2078. uint3 __ovld __cnfn convert_uint3_rtz(uint3);
  2079. uint3 __ovld __cnfn convert_uint3_sat_rtz(uint3);
  2080. uint3 __ovld __cnfn convert_uint3_rtp(uint3);
  2081. uint3 __ovld __cnfn convert_uint3_sat_rtp(uint3);
  2082. uint3 __ovld __cnfn convert_uint3_rtn(uint3);
  2083. uint3 __ovld __cnfn convert_uint3_sat_rtn(uint3);
  2084. uint3 __ovld __cnfn convert_uint3(uint3);
  2085. uint3 __ovld __cnfn convert_uint3_sat(uint3);
  2086. uint3 __ovld __cnfn convert_uint3_rte(long3);
  2087. uint3 __ovld __cnfn convert_uint3_sat_rte(long3);
  2088. uint3 __ovld __cnfn convert_uint3_rtz(long3);
  2089. uint3 __ovld __cnfn convert_uint3_sat_rtz(long3);
  2090. uint3 __ovld __cnfn convert_uint3_rtp(long3);
  2091. uint3 __ovld __cnfn convert_uint3_sat_rtp(long3);
  2092. uint3 __ovld __cnfn convert_uint3_rtn(long3);
  2093. uint3 __ovld __cnfn convert_uint3_sat_rtn(long3);
  2094. uint3 __ovld __cnfn convert_uint3(long3);
  2095. uint3 __ovld __cnfn convert_uint3_sat(long3);
  2096. uint3 __ovld __cnfn convert_uint3_rte(ulong3);
  2097. uint3 __ovld __cnfn convert_uint3_sat_rte(ulong3);
  2098. uint3 __ovld __cnfn convert_uint3_rtz(ulong3);
  2099. uint3 __ovld __cnfn convert_uint3_sat_rtz(ulong3);
  2100. uint3 __ovld __cnfn convert_uint3_rtp(ulong3);
  2101. uint3 __ovld __cnfn convert_uint3_sat_rtp(ulong3);
  2102. uint3 __ovld __cnfn convert_uint3_rtn(ulong3);
  2103. uint3 __ovld __cnfn convert_uint3_sat_rtn(ulong3);
  2104. uint3 __ovld __cnfn convert_uint3(ulong3);
  2105. uint3 __ovld __cnfn convert_uint3_sat(ulong3);
  2106. uint3 __ovld __cnfn convert_uint3_rte(float3);
  2107. uint3 __ovld __cnfn convert_uint3_sat_rte(float3);
  2108. uint3 __ovld __cnfn convert_uint3_rtz(float3);
  2109. uint3 __ovld __cnfn convert_uint3_sat_rtz(float3);
  2110. uint3 __ovld __cnfn convert_uint3_rtp(float3);
  2111. uint3 __ovld __cnfn convert_uint3_sat_rtp(float3);
  2112. uint3 __ovld __cnfn convert_uint3_rtn(float3);
  2113. uint3 __ovld __cnfn convert_uint3_sat_rtn(float3);
  2114. uint3 __ovld __cnfn convert_uint3(float3);
  2115. uint3 __ovld __cnfn convert_uint3_sat(float3);
  2116. long3 __ovld __cnfn convert_long3_rte(char3);
  2117. long3 __ovld __cnfn convert_long3_sat_rte(char3);
  2118. long3 __ovld __cnfn convert_long3_rtz(char3);
  2119. long3 __ovld __cnfn convert_long3_sat_rtz(char3);
  2120. long3 __ovld __cnfn convert_long3_rtp(char3);
  2121. long3 __ovld __cnfn convert_long3_sat_rtp(char3);
  2122. long3 __ovld __cnfn convert_long3_rtn(char3);
  2123. long3 __ovld __cnfn convert_long3_sat_rtn(char3);
  2124. long3 __ovld __cnfn convert_long3(char3);
  2125. long3 __ovld __cnfn convert_long3_sat(char3);
  2126. long3 __ovld __cnfn convert_long3_rte(uchar3);
  2127. long3 __ovld __cnfn convert_long3_sat_rte(uchar3);
  2128. long3 __ovld __cnfn convert_long3_rtz(uchar3);
  2129. long3 __ovld __cnfn convert_long3_sat_rtz(uchar3);
  2130. long3 __ovld __cnfn convert_long3_rtp(uchar3);
  2131. long3 __ovld __cnfn convert_long3_sat_rtp(uchar3);
  2132. long3 __ovld __cnfn convert_long3_rtn(uchar3);
  2133. long3 __ovld __cnfn convert_long3_sat_rtn(uchar3);
  2134. long3 __ovld __cnfn convert_long3(uchar3);
  2135. long3 __ovld __cnfn convert_long3_sat(uchar3);
  2136. long3 __ovld __cnfn convert_long3_rte(short3);
  2137. long3 __ovld __cnfn convert_long3_sat_rte(short3);
  2138. long3 __ovld __cnfn convert_long3_rtz(short3);
  2139. long3 __ovld __cnfn convert_long3_sat_rtz(short3);
  2140. long3 __ovld __cnfn convert_long3_rtp(short3);
  2141. long3 __ovld __cnfn convert_long3_sat_rtp(short3);
  2142. long3 __ovld __cnfn convert_long3_rtn(short3);
  2143. long3 __ovld __cnfn convert_long3_sat_rtn(short3);
  2144. long3 __ovld __cnfn convert_long3(short3);
  2145. long3 __ovld __cnfn convert_long3_sat(short3);
  2146. long3 __ovld __cnfn convert_long3_rte(ushort3);
  2147. long3 __ovld __cnfn convert_long3_sat_rte(ushort3);
  2148. long3 __ovld __cnfn convert_long3_rtz(ushort3);
  2149. long3 __ovld __cnfn convert_long3_sat_rtz(ushort3);
  2150. long3 __ovld __cnfn convert_long3_rtp(ushort3);
  2151. long3 __ovld __cnfn convert_long3_sat_rtp(ushort3);
  2152. long3 __ovld __cnfn convert_long3_rtn(ushort3);
  2153. long3 __ovld __cnfn convert_long3_sat_rtn(ushort3);
  2154. long3 __ovld __cnfn convert_long3(ushort3);
  2155. long3 __ovld __cnfn convert_long3_sat(ushort3);
  2156. long3 __ovld __cnfn convert_long3_rte(int3);
  2157. long3 __ovld __cnfn convert_long3_sat_rte(int3);
  2158. long3 __ovld __cnfn convert_long3_rtz(int3);
  2159. long3 __ovld __cnfn convert_long3_sat_rtz(int3);
  2160. long3 __ovld __cnfn convert_long3_rtp(int3);
  2161. long3 __ovld __cnfn convert_long3_sat_rtp(int3);
  2162. long3 __ovld __cnfn convert_long3_rtn(int3);
  2163. long3 __ovld __cnfn convert_long3_sat_rtn(int3);
  2164. long3 __ovld __cnfn convert_long3(int3);
  2165. long3 __ovld __cnfn convert_long3_sat(int3);
  2166. long3 __ovld __cnfn convert_long3_rte(uint3);
  2167. long3 __ovld __cnfn convert_long3_sat_rte(uint3);
  2168. long3 __ovld __cnfn convert_long3_rtz(uint3);
  2169. long3 __ovld __cnfn convert_long3_sat_rtz(uint3);
  2170. long3 __ovld __cnfn convert_long3_rtp(uint3);
  2171. long3 __ovld __cnfn convert_long3_sat_rtp(uint3);
  2172. long3 __ovld __cnfn convert_long3_rtn(uint3);
  2173. long3 __ovld __cnfn convert_long3_sat_rtn(uint3);
  2174. long3 __ovld __cnfn convert_long3(uint3);
  2175. long3 __ovld __cnfn convert_long3_sat(uint3);
  2176. long3 __ovld __cnfn convert_long3_rte(long3);
  2177. long3 __ovld __cnfn convert_long3_sat_rte(long3);
  2178. long3 __ovld __cnfn convert_long3_rtz(long3);
  2179. long3 __ovld __cnfn convert_long3_sat_rtz(long3);
  2180. long3 __ovld __cnfn convert_long3_rtp(long3);
  2181. long3 __ovld __cnfn convert_long3_sat_rtp(long3);
  2182. long3 __ovld __cnfn convert_long3_rtn(long3);
  2183. long3 __ovld __cnfn convert_long3_sat_rtn(long3);
  2184. long3 __ovld __cnfn convert_long3(long3);
  2185. long3 __ovld __cnfn convert_long3_sat(long3);
  2186. long3 __ovld __cnfn convert_long3_rte(ulong3);
  2187. long3 __ovld __cnfn convert_long3_sat_rte(ulong3);
  2188. long3 __ovld __cnfn convert_long3_rtz(ulong3);
  2189. long3 __ovld __cnfn convert_long3_sat_rtz(ulong3);
  2190. long3 __ovld __cnfn convert_long3_rtp(ulong3);
  2191. long3 __ovld __cnfn convert_long3_sat_rtp(ulong3);
  2192. long3 __ovld __cnfn convert_long3_rtn(ulong3);
  2193. long3 __ovld __cnfn convert_long3_sat_rtn(ulong3);
  2194. long3 __ovld __cnfn convert_long3(ulong3);
  2195. long3 __ovld __cnfn convert_long3_sat(ulong3);
  2196. long3 __ovld __cnfn convert_long3_rte(float3);
  2197. long3 __ovld __cnfn convert_long3_sat_rte(float3);
  2198. long3 __ovld __cnfn convert_long3_rtz(float3);
  2199. long3 __ovld __cnfn convert_long3_sat_rtz(float3);
  2200. long3 __ovld __cnfn convert_long3_rtp(float3);
  2201. long3 __ovld __cnfn convert_long3_sat_rtp(float3);
  2202. long3 __ovld __cnfn convert_long3_rtn(float3);
  2203. long3 __ovld __cnfn convert_long3_sat_rtn(float3);
  2204. long3 __ovld __cnfn convert_long3(float3);
  2205. long3 __ovld __cnfn convert_long3_sat(float3);
  2206. ulong3 __ovld __cnfn convert_ulong3_rte(char3);
  2207. ulong3 __ovld __cnfn convert_ulong3_sat_rte(char3);
  2208. ulong3 __ovld __cnfn convert_ulong3_rtz(char3);
  2209. ulong3 __ovld __cnfn convert_ulong3_sat_rtz(char3);
  2210. ulong3 __ovld __cnfn convert_ulong3_rtp(char3);
  2211. ulong3 __ovld __cnfn convert_ulong3_sat_rtp(char3);
  2212. ulong3 __ovld __cnfn convert_ulong3_rtn(char3);
  2213. ulong3 __ovld __cnfn convert_ulong3_sat_rtn(char3);
  2214. ulong3 __ovld __cnfn convert_ulong3(char3);
  2215. ulong3 __ovld __cnfn convert_ulong3_sat(char3);
  2216. ulong3 __ovld __cnfn convert_ulong3_rte(uchar3);
  2217. ulong3 __ovld __cnfn convert_ulong3_sat_rte(uchar3);
  2218. ulong3 __ovld __cnfn convert_ulong3_rtz(uchar3);
  2219. ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uchar3);
  2220. ulong3 __ovld __cnfn convert_ulong3_rtp(uchar3);
  2221. ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uchar3);
  2222. ulong3 __ovld __cnfn convert_ulong3_rtn(uchar3);
  2223. ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uchar3);
  2224. ulong3 __ovld __cnfn convert_ulong3(uchar3);
  2225. ulong3 __ovld __cnfn convert_ulong3_sat(uchar3);
  2226. ulong3 __ovld __cnfn convert_ulong3_rte(short3);
  2227. ulong3 __ovld __cnfn convert_ulong3_sat_rte(short3);
  2228. ulong3 __ovld __cnfn convert_ulong3_rtz(short3);
  2229. ulong3 __ovld __cnfn convert_ulong3_sat_rtz(short3);
  2230. ulong3 __ovld __cnfn convert_ulong3_rtp(short3);
  2231. ulong3 __ovld __cnfn convert_ulong3_sat_rtp(short3);
  2232. ulong3 __ovld __cnfn convert_ulong3_rtn(short3);
  2233. ulong3 __ovld __cnfn convert_ulong3_sat_rtn(short3);
  2234. ulong3 __ovld __cnfn convert_ulong3(short3);
  2235. ulong3 __ovld __cnfn convert_ulong3_sat(short3);
  2236. ulong3 __ovld __cnfn convert_ulong3_rte(ushort3);
  2237. ulong3 __ovld __cnfn convert_ulong3_sat_rte(ushort3);
  2238. ulong3 __ovld __cnfn convert_ulong3_rtz(ushort3);
  2239. ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ushort3);
  2240. ulong3 __ovld __cnfn convert_ulong3_rtp(ushort3);
  2241. ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ushort3);
  2242. ulong3 __ovld __cnfn convert_ulong3_rtn(ushort3);
  2243. ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ushort3);
  2244. ulong3 __ovld __cnfn convert_ulong3(ushort3);
  2245. ulong3 __ovld __cnfn convert_ulong3_sat(ushort3);
  2246. ulong3 __ovld __cnfn convert_ulong3_rte(int3);
  2247. ulong3 __ovld __cnfn convert_ulong3_sat_rte(int3);
  2248. ulong3 __ovld __cnfn convert_ulong3_rtz(int3);
  2249. ulong3 __ovld __cnfn convert_ulong3_sat_rtz(int3);
  2250. ulong3 __ovld __cnfn convert_ulong3_rtp(int3);
  2251. ulong3 __ovld __cnfn convert_ulong3_sat_rtp(int3);
  2252. ulong3 __ovld __cnfn convert_ulong3_rtn(int3);
  2253. ulong3 __ovld __cnfn convert_ulong3_sat_rtn(int3);
  2254. ulong3 __ovld __cnfn convert_ulong3(int3);
  2255. ulong3 __ovld __cnfn convert_ulong3_sat(int3);
  2256. ulong3 __ovld __cnfn convert_ulong3_rte(uint3);
  2257. ulong3 __ovld __cnfn convert_ulong3_sat_rte(uint3);
  2258. ulong3 __ovld __cnfn convert_ulong3_rtz(uint3);
  2259. ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uint3);
  2260. ulong3 __ovld __cnfn convert_ulong3_rtp(uint3);
  2261. ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uint3);
  2262. ulong3 __ovld __cnfn convert_ulong3_rtn(uint3);
  2263. ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uint3);
  2264. ulong3 __ovld __cnfn convert_ulong3(uint3);
  2265. ulong3 __ovld __cnfn convert_ulong3_sat(uint3);
  2266. ulong3 __ovld __cnfn convert_ulong3_rte(long3);
  2267. ulong3 __ovld __cnfn convert_ulong3_sat_rte(long3);
  2268. ulong3 __ovld __cnfn convert_ulong3_rtz(long3);
  2269. ulong3 __ovld __cnfn convert_ulong3_sat_rtz(long3);
  2270. ulong3 __ovld __cnfn convert_ulong3_rtp(long3);
  2271. ulong3 __ovld __cnfn convert_ulong3_sat_rtp(long3);
  2272. ulong3 __ovld __cnfn convert_ulong3_rtn(long3);
  2273. ulong3 __ovld __cnfn convert_ulong3_sat_rtn(long3);
  2274. ulong3 __ovld __cnfn convert_ulong3(long3);
  2275. ulong3 __ovld __cnfn convert_ulong3_sat(long3);
  2276. ulong3 __ovld __cnfn convert_ulong3_rte(ulong3);
  2277. ulong3 __ovld __cnfn convert_ulong3_sat_rte(ulong3);
  2278. ulong3 __ovld __cnfn convert_ulong3_rtz(ulong3);
  2279. ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ulong3);
  2280. ulong3 __ovld __cnfn convert_ulong3_rtp(ulong3);
  2281. ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ulong3);
  2282. ulong3 __ovld __cnfn convert_ulong3_rtn(ulong3);
  2283. ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ulong3);
  2284. ulong3 __ovld __cnfn convert_ulong3(ulong3);
  2285. ulong3 __ovld __cnfn convert_ulong3_sat(ulong3);
  2286. ulong3 __ovld __cnfn convert_ulong3_rte(float3);
  2287. ulong3 __ovld __cnfn convert_ulong3_sat_rte(float3);
  2288. ulong3 __ovld __cnfn convert_ulong3_rtz(float3);
  2289. ulong3 __ovld __cnfn convert_ulong3_sat_rtz(float3);
  2290. ulong3 __ovld __cnfn convert_ulong3_rtp(float3);
  2291. ulong3 __ovld __cnfn convert_ulong3_sat_rtp(float3);
  2292. ulong3 __ovld __cnfn convert_ulong3_rtn(float3);
  2293. ulong3 __ovld __cnfn convert_ulong3_sat_rtn(float3);
  2294. ulong3 __ovld __cnfn convert_ulong3(float3);
  2295. ulong3 __ovld __cnfn convert_ulong3_sat(float3);
  2296. float3 __ovld __cnfn convert_float3_rte(char3);
  2297. float3 __ovld __cnfn convert_float3_rtz(char3);
  2298. float3 __ovld __cnfn convert_float3_rtp(char3);
  2299. float3 __ovld __cnfn convert_float3_rtn(char3);
  2300. float3 __ovld __cnfn convert_float3(char3);
  2301. float3 __ovld __cnfn convert_float3_rte(uchar3);
  2302. float3 __ovld __cnfn convert_float3_rtz(uchar3);
  2303. float3 __ovld __cnfn convert_float3_rtp(uchar3);
  2304. float3 __ovld __cnfn convert_float3_rtn(uchar3);
  2305. float3 __ovld __cnfn convert_float3(uchar3);
  2306. float3 __ovld __cnfn convert_float3_rte(short3);
  2307. float3 __ovld __cnfn convert_float3_rtz(short3);
  2308. float3 __ovld __cnfn convert_float3_rtp(short3);
  2309. float3 __ovld __cnfn convert_float3_rtn(short3);
  2310. float3 __ovld __cnfn convert_float3(short3);
  2311. float3 __ovld __cnfn convert_float3_rte(ushort3);
  2312. float3 __ovld __cnfn convert_float3_rtz(ushort3);
  2313. float3 __ovld __cnfn convert_float3_rtp(ushort3);
  2314. float3 __ovld __cnfn convert_float3_rtn(ushort3);
  2315. float3 __ovld __cnfn convert_float3(ushort3);
  2316. float3 __ovld __cnfn convert_float3_rte(int3);
  2317. float3 __ovld __cnfn convert_float3_rtz(int3);
  2318. float3 __ovld __cnfn convert_float3_rtp(int3);
  2319. float3 __ovld __cnfn convert_float3_rtn(int3);
  2320. float3 __ovld __cnfn convert_float3(int3);
  2321. float3 __ovld __cnfn convert_float3_rte(uint3);
  2322. float3 __ovld __cnfn convert_float3_rtz(uint3);
  2323. float3 __ovld __cnfn convert_float3_rtp(uint3);
  2324. float3 __ovld __cnfn convert_float3_rtn(uint3);
  2325. float3 __ovld __cnfn convert_float3(uint3);
  2326. float3 __ovld __cnfn convert_float3_rte(long3);
  2327. float3 __ovld __cnfn convert_float3_rtz(long3);
  2328. float3 __ovld __cnfn convert_float3_rtp(long3);
  2329. float3 __ovld __cnfn convert_float3_rtn(long3);
  2330. float3 __ovld __cnfn convert_float3(long3);
  2331. float3 __ovld __cnfn convert_float3_rte(ulong3);
  2332. float3 __ovld __cnfn convert_float3_rtz(ulong3);
  2333. float3 __ovld __cnfn convert_float3_rtp(ulong3);
  2334. float3 __ovld __cnfn convert_float3_rtn(ulong3);
  2335. float3 __ovld __cnfn convert_float3(ulong3);
  2336. float3 __ovld __cnfn convert_float3_rte(float3);
  2337. float3 __ovld __cnfn convert_float3_rtz(float3);
  2338. float3 __ovld __cnfn convert_float3_rtp(float3);
  2339. float3 __ovld __cnfn convert_float3_rtn(float3);
  2340. float3 __ovld __cnfn convert_float3(float3);
  2341. char4 __ovld __cnfn convert_char4_rte(char4);
  2342. char4 __ovld __cnfn convert_char4_sat_rte(char4);
  2343. char4 __ovld __cnfn convert_char4_rtz(char4);
  2344. char4 __ovld __cnfn convert_char4_sat_rtz(char4);
  2345. char4 __ovld __cnfn convert_char4_rtp(char4);
  2346. char4 __ovld __cnfn convert_char4_sat_rtp(char4);
  2347. char4 __ovld __cnfn convert_char4_rtn(char4);
  2348. char4 __ovld __cnfn convert_char4_sat_rtn(char4);
  2349. char4 __ovld __cnfn convert_char4(char4);
  2350. char4 __ovld __cnfn convert_char4_sat(char4);
  2351. char4 __ovld __cnfn convert_char4_rte(uchar4);
  2352. char4 __ovld __cnfn convert_char4_sat_rte(uchar4);
  2353. char4 __ovld __cnfn convert_char4_rtz(uchar4);
  2354. char4 __ovld __cnfn convert_char4_sat_rtz(uchar4);
  2355. char4 __ovld __cnfn convert_char4_rtp(uchar4);
  2356. char4 __ovld __cnfn convert_char4_sat_rtp(uchar4);
  2357. char4 __ovld __cnfn convert_char4_rtn(uchar4);
  2358. char4 __ovld __cnfn convert_char4_sat_rtn(uchar4);
  2359. char4 __ovld __cnfn convert_char4(uchar4);
  2360. char4 __ovld __cnfn convert_char4_sat(uchar4);
  2361. char4 __ovld __cnfn convert_char4_rte(short4);
  2362. char4 __ovld __cnfn convert_char4_sat_rte(short4);
  2363. char4 __ovld __cnfn convert_char4_rtz(short4);
  2364. char4 __ovld __cnfn convert_char4_sat_rtz(short4);
  2365. char4 __ovld __cnfn convert_char4_rtp(short4);
  2366. char4 __ovld __cnfn convert_char4_sat_rtp(short4);
  2367. char4 __ovld __cnfn convert_char4_rtn(short4);
  2368. char4 __ovld __cnfn convert_char4_sat_rtn(short4);
  2369. char4 __ovld __cnfn convert_char4(short4);
  2370. char4 __ovld __cnfn convert_char4_sat(short4);
  2371. char4 __ovld __cnfn convert_char4_rte(ushort4);
  2372. char4 __ovld __cnfn convert_char4_sat_rte(ushort4);
  2373. char4 __ovld __cnfn convert_char4_rtz(ushort4);
  2374. char4 __ovld __cnfn convert_char4_sat_rtz(ushort4);
  2375. char4 __ovld __cnfn convert_char4_rtp(ushort4);
  2376. char4 __ovld __cnfn convert_char4_sat_rtp(ushort4);
  2377. char4 __ovld __cnfn convert_char4_rtn(ushort4);
  2378. char4 __ovld __cnfn convert_char4_sat_rtn(ushort4);
  2379. char4 __ovld __cnfn convert_char4(ushort4);
  2380. char4 __ovld __cnfn convert_char4_sat(ushort4);
  2381. char4 __ovld __cnfn convert_char4_rte(int4);
  2382. char4 __ovld __cnfn convert_char4_sat_rte(int4);
  2383. char4 __ovld __cnfn convert_char4_rtz(int4);
  2384. char4 __ovld __cnfn convert_char4_sat_rtz(int4);
  2385. char4 __ovld __cnfn convert_char4_rtp(int4);
  2386. char4 __ovld __cnfn convert_char4_sat_rtp(int4);
  2387. char4 __ovld __cnfn convert_char4_rtn(int4);
  2388. char4 __ovld __cnfn convert_char4_sat_rtn(int4);
  2389. char4 __ovld __cnfn convert_char4(int4);
  2390. char4 __ovld __cnfn convert_char4_sat(int4);
  2391. char4 __ovld __cnfn convert_char4_rte(uint4);
  2392. char4 __ovld __cnfn convert_char4_sat_rte(uint4);
  2393. char4 __ovld __cnfn convert_char4_rtz(uint4);
  2394. char4 __ovld __cnfn convert_char4_sat_rtz(uint4);
  2395. char4 __ovld __cnfn convert_char4_rtp(uint4);
  2396. char4 __ovld __cnfn convert_char4_sat_rtp(uint4);
  2397. char4 __ovld __cnfn convert_char4_rtn(uint4);
  2398. char4 __ovld __cnfn convert_char4_sat_rtn(uint4);
  2399. char4 __ovld __cnfn convert_char4(uint4);
  2400. char4 __ovld __cnfn convert_char4_sat(uint4);
  2401. char4 __ovld __cnfn convert_char4_rte(long4);
  2402. char4 __ovld __cnfn convert_char4_sat_rte(long4);
  2403. char4 __ovld __cnfn convert_char4_rtz(long4);
  2404. char4 __ovld __cnfn convert_char4_sat_rtz(long4);
  2405. char4 __ovld __cnfn convert_char4_rtp(long4);
  2406. char4 __ovld __cnfn convert_char4_sat_rtp(long4);
  2407. char4 __ovld __cnfn convert_char4_rtn(long4);
  2408. char4 __ovld __cnfn convert_char4_sat_rtn(long4);
  2409. char4 __ovld __cnfn convert_char4(long4);
  2410. char4 __ovld __cnfn convert_char4_sat(long4);
  2411. char4 __ovld __cnfn convert_char4_rte(ulong4);
  2412. char4 __ovld __cnfn convert_char4_sat_rte(ulong4);
  2413. char4 __ovld __cnfn convert_char4_rtz(ulong4);
  2414. char4 __ovld __cnfn convert_char4_sat_rtz(ulong4);
  2415. char4 __ovld __cnfn convert_char4_rtp(ulong4);
  2416. char4 __ovld __cnfn convert_char4_sat_rtp(ulong4);
  2417. char4 __ovld __cnfn convert_char4_rtn(ulong4);
  2418. char4 __ovld __cnfn convert_char4_sat_rtn(ulong4);
  2419. char4 __ovld __cnfn convert_char4(ulong4);
  2420. char4 __ovld __cnfn convert_char4_sat(ulong4);
  2421. char4 __ovld __cnfn convert_char4_rte(float4);
  2422. char4 __ovld __cnfn convert_char4_sat_rte(float4);
  2423. char4 __ovld __cnfn convert_char4_rtz(float4);
  2424. char4 __ovld __cnfn convert_char4_sat_rtz(float4);
  2425. char4 __ovld __cnfn convert_char4_rtp(float4);
  2426. char4 __ovld __cnfn convert_char4_sat_rtp(float4);
  2427. char4 __ovld __cnfn convert_char4_rtn(float4);
  2428. char4 __ovld __cnfn convert_char4_sat_rtn(float4);
  2429. char4 __ovld __cnfn convert_char4(float4);
  2430. char4 __ovld __cnfn convert_char4_sat(float4);
  2431. uchar4 __ovld __cnfn convert_uchar4_rte(char4);
  2432. uchar4 __ovld __cnfn convert_uchar4_sat_rte(char4);
  2433. uchar4 __ovld __cnfn convert_uchar4_rtz(char4);
  2434. uchar4 __ovld __cnfn convert_uchar4_sat_rtz(char4);
  2435. uchar4 __ovld __cnfn convert_uchar4_rtp(char4);
  2436. uchar4 __ovld __cnfn convert_uchar4_sat_rtp(char4);
  2437. uchar4 __ovld __cnfn convert_uchar4_rtn(char4);
  2438. uchar4 __ovld __cnfn convert_uchar4_sat_rtn(char4);
  2439. uchar4 __ovld __cnfn convert_uchar4(char4);
  2440. uchar4 __ovld __cnfn convert_uchar4_sat(char4);
  2441. uchar4 __ovld __cnfn convert_uchar4_rte(uchar4);
  2442. uchar4 __ovld __cnfn convert_uchar4_sat_rte(uchar4);
  2443. uchar4 __ovld __cnfn convert_uchar4_rtz(uchar4);
  2444. uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uchar4);
  2445. uchar4 __ovld __cnfn convert_uchar4_rtp(uchar4);
  2446. uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uchar4);
  2447. uchar4 __ovld __cnfn convert_uchar4_rtn(uchar4);
  2448. uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uchar4);
  2449. uchar4 __ovld __cnfn convert_uchar4(uchar4);
  2450. uchar4 __ovld __cnfn convert_uchar4_sat(uchar4);
  2451. uchar4 __ovld __cnfn convert_uchar4_rte(short4);
  2452. uchar4 __ovld __cnfn convert_uchar4_sat_rte(short4);
  2453. uchar4 __ovld __cnfn convert_uchar4_rtz(short4);
  2454. uchar4 __ovld __cnfn convert_uchar4_sat_rtz(short4);
  2455. uchar4 __ovld __cnfn convert_uchar4_rtp(short4);
  2456. uchar4 __ovld __cnfn convert_uchar4_sat_rtp(short4);
  2457. uchar4 __ovld __cnfn convert_uchar4_rtn(short4);
  2458. uchar4 __ovld __cnfn convert_uchar4_sat_rtn(short4);
  2459. uchar4 __ovld __cnfn convert_uchar4(short4);
  2460. uchar4 __ovld __cnfn convert_uchar4_sat(short4);
  2461. uchar4 __ovld __cnfn convert_uchar4_rte(ushort4);
  2462. uchar4 __ovld __cnfn convert_uchar4_sat_rte(ushort4);
  2463. uchar4 __ovld __cnfn convert_uchar4_rtz(ushort4);
  2464. uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ushort4);
  2465. uchar4 __ovld __cnfn convert_uchar4_rtp(ushort4);
  2466. uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ushort4);
  2467. uchar4 __ovld __cnfn convert_uchar4_rtn(ushort4);
  2468. uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ushort4);
  2469. uchar4 __ovld __cnfn convert_uchar4(ushort4);
  2470. uchar4 __ovld __cnfn convert_uchar4_sat(ushort4);
  2471. uchar4 __ovld __cnfn convert_uchar4_rte(int4);
  2472. uchar4 __ovld __cnfn convert_uchar4_sat_rte(int4);
  2473. uchar4 __ovld __cnfn convert_uchar4_rtz(int4);
  2474. uchar4 __ovld __cnfn convert_uchar4_sat_rtz(int4);
  2475. uchar4 __ovld __cnfn convert_uchar4_rtp(int4);
  2476. uchar4 __ovld __cnfn convert_uchar4_sat_rtp(int4);
  2477. uchar4 __ovld __cnfn convert_uchar4_rtn(int4);
  2478. uchar4 __ovld __cnfn convert_uchar4_sat_rtn(int4);
  2479. uchar4 __ovld __cnfn convert_uchar4(int4);
  2480. uchar4 __ovld __cnfn convert_uchar4_sat(int4);
  2481. uchar4 __ovld __cnfn convert_uchar4_rte(uint4);
  2482. uchar4 __ovld __cnfn convert_uchar4_sat_rte(uint4);
  2483. uchar4 __ovld __cnfn convert_uchar4_rtz(uint4);
  2484. uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uint4);
  2485. uchar4 __ovld __cnfn convert_uchar4_rtp(uint4);
  2486. uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uint4);
  2487. uchar4 __ovld __cnfn convert_uchar4_rtn(uint4);
  2488. uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uint4);
  2489. uchar4 __ovld __cnfn convert_uchar4(uint4);
  2490. uchar4 __ovld __cnfn convert_uchar4_sat(uint4);
  2491. uchar4 __ovld __cnfn convert_uchar4_rte(long4);
  2492. uchar4 __ovld __cnfn convert_uchar4_sat_rte(long4);
  2493. uchar4 __ovld __cnfn convert_uchar4_rtz(long4);
  2494. uchar4 __ovld __cnfn convert_uchar4_sat_rtz(long4);
  2495. uchar4 __ovld __cnfn convert_uchar4_rtp(long4);
  2496. uchar4 __ovld __cnfn convert_uchar4_sat_rtp(long4);
  2497. uchar4 __ovld __cnfn convert_uchar4_rtn(long4);
  2498. uchar4 __ovld __cnfn convert_uchar4_sat_rtn(long4);
  2499. uchar4 __ovld __cnfn convert_uchar4(long4);
  2500. uchar4 __ovld __cnfn convert_uchar4_sat(long4);
  2501. uchar4 __ovld __cnfn convert_uchar4_rte(ulong4);
  2502. uchar4 __ovld __cnfn convert_uchar4_sat_rte(ulong4);
  2503. uchar4 __ovld __cnfn convert_uchar4_rtz(ulong4);
  2504. uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ulong4);
  2505. uchar4 __ovld __cnfn convert_uchar4_rtp(ulong4);
  2506. uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ulong4);
  2507. uchar4 __ovld __cnfn convert_uchar4_rtn(ulong4);
  2508. uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ulong4);
  2509. uchar4 __ovld __cnfn convert_uchar4(ulong4);
  2510. uchar4 __ovld __cnfn convert_uchar4_sat(ulong4);
  2511. uchar4 __ovld __cnfn convert_uchar4_rte(float4);
  2512. uchar4 __ovld __cnfn convert_uchar4_sat_rte(float4);
  2513. uchar4 __ovld __cnfn convert_uchar4_rtz(float4);
  2514. uchar4 __ovld __cnfn convert_uchar4_sat_rtz(float4);
  2515. uchar4 __ovld __cnfn convert_uchar4_rtp(float4);
  2516. uchar4 __ovld __cnfn convert_uchar4_sat_rtp(float4);
  2517. uchar4 __ovld __cnfn convert_uchar4_rtn(float4);
  2518. uchar4 __ovld __cnfn convert_uchar4_sat_rtn(float4);
  2519. uchar4 __ovld __cnfn convert_uchar4(float4);
  2520. uchar4 __ovld __cnfn convert_uchar4_sat(float4);
  2521. short4 __ovld __cnfn convert_short4_rte(char4);
  2522. short4 __ovld __cnfn convert_short4_sat_rte(char4);
  2523. short4 __ovld __cnfn convert_short4_rtz(char4);
  2524. short4 __ovld __cnfn convert_short4_sat_rtz(char4);
  2525. short4 __ovld __cnfn convert_short4_rtp(char4);
  2526. short4 __ovld __cnfn convert_short4_sat_rtp(char4);
  2527. short4 __ovld __cnfn convert_short4_rtn(char4);
  2528. short4 __ovld __cnfn convert_short4_sat_rtn(char4);
  2529. short4 __ovld __cnfn convert_short4(char4);
  2530. short4 __ovld __cnfn convert_short4_sat(char4);
  2531. short4 __ovld __cnfn convert_short4_rte(uchar4);
  2532. short4 __ovld __cnfn convert_short4_sat_rte(uchar4);
  2533. short4 __ovld __cnfn convert_short4_rtz(uchar4);
  2534. short4 __ovld __cnfn convert_short4_sat_rtz(uchar4);
  2535. short4 __ovld __cnfn convert_short4_rtp(uchar4);
  2536. short4 __ovld __cnfn convert_short4_sat_rtp(uchar4);
  2537. short4 __ovld __cnfn convert_short4_rtn(uchar4);
  2538. short4 __ovld __cnfn convert_short4_sat_rtn(uchar4);
  2539. short4 __ovld __cnfn convert_short4(uchar4);
  2540. short4 __ovld __cnfn convert_short4_sat(uchar4);
  2541. short4 __ovld __cnfn convert_short4_rte(short4);
  2542. short4 __ovld __cnfn convert_short4_sat_rte(short4);
  2543. short4 __ovld __cnfn convert_short4_rtz(short4);
  2544. short4 __ovld __cnfn convert_short4_sat_rtz(short4);
  2545. short4 __ovld __cnfn convert_short4_rtp(short4);
  2546. short4 __ovld __cnfn convert_short4_sat_rtp(short4);
  2547. short4 __ovld __cnfn convert_short4_rtn(short4);
  2548. short4 __ovld __cnfn convert_short4_sat_rtn(short4);
  2549. short4 __ovld __cnfn convert_short4(short4);
  2550. short4 __ovld __cnfn convert_short4_sat(short4);
  2551. short4 __ovld __cnfn convert_short4_rte(ushort4);
  2552. short4 __ovld __cnfn convert_short4_sat_rte(ushort4);
  2553. short4 __ovld __cnfn convert_short4_rtz(ushort4);
  2554. short4 __ovld __cnfn convert_short4_sat_rtz(ushort4);
  2555. short4 __ovld __cnfn convert_short4_rtp(ushort4);
  2556. short4 __ovld __cnfn convert_short4_sat_rtp(ushort4);
  2557. short4 __ovld __cnfn convert_short4_rtn(ushort4);
  2558. short4 __ovld __cnfn convert_short4_sat_rtn(ushort4);
  2559. short4 __ovld __cnfn convert_short4(ushort4);
  2560. short4 __ovld __cnfn convert_short4_sat(ushort4);
  2561. short4 __ovld __cnfn convert_short4_rte(int4);
  2562. short4 __ovld __cnfn convert_short4_sat_rte(int4);
  2563. short4 __ovld __cnfn convert_short4_rtz(int4);
  2564. short4 __ovld __cnfn convert_short4_sat_rtz(int4);
  2565. short4 __ovld __cnfn convert_short4_rtp(int4);
  2566. short4 __ovld __cnfn convert_short4_sat_rtp(int4);
  2567. short4 __ovld __cnfn convert_short4_rtn(int4);
  2568. short4 __ovld __cnfn convert_short4_sat_rtn(int4);
  2569. short4 __ovld __cnfn convert_short4(int4);
  2570. short4 __ovld __cnfn convert_short4_sat(int4);
  2571. short4 __ovld __cnfn convert_short4_rte(uint4);
  2572. short4 __ovld __cnfn convert_short4_sat_rte(uint4);
  2573. short4 __ovld __cnfn convert_short4_rtz(uint4);
  2574. short4 __ovld __cnfn convert_short4_sat_rtz(uint4);
  2575. short4 __ovld __cnfn convert_short4_rtp(uint4);
  2576. short4 __ovld __cnfn convert_short4_sat_rtp(uint4);
  2577. short4 __ovld __cnfn convert_short4_rtn(uint4);
  2578. short4 __ovld __cnfn convert_short4_sat_rtn(uint4);
  2579. short4 __ovld __cnfn convert_short4(uint4);
  2580. short4 __ovld __cnfn convert_short4_sat(uint4);
  2581. short4 __ovld __cnfn convert_short4_rte(long4);
  2582. short4 __ovld __cnfn convert_short4_sat_rte(long4);
  2583. short4 __ovld __cnfn convert_short4_rtz(long4);
  2584. short4 __ovld __cnfn convert_short4_sat_rtz(long4);
  2585. short4 __ovld __cnfn convert_short4_rtp(long4);
  2586. short4 __ovld __cnfn convert_short4_sat_rtp(long4);
  2587. short4 __ovld __cnfn convert_short4_rtn(long4);
  2588. short4 __ovld __cnfn convert_short4_sat_rtn(long4);
  2589. short4 __ovld __cnfn convert_short4(long4);
  2590. short4 __ovld __cnfn convert_short4_sat(long4);
  2591. short4 __ovld __cnfn convert_short4_rte(ulong4);
  2592. short4 __ovld __cnfn convert_short4_sat_rte(ulong4);
  2593. short4 __ovld __cnfn convert_short4_rtz(ulong4);
  2594. short4 __ovld __cnfn convert_short4_sat_rtz(ulong4);
  2595. short4 __ovld __cnfn convert_short4_rtp(ulong4);
  2596. short4 __ovld __cnfn convert_short4_sat_rtp(ulong4);
  2597. short4 __ovld __cnfn convert_short4_rtn(ulong4);
  2598. short4 __ovld __cnfn convert_short4_sat_rtn(ulong4);
  2599. short4 __ovld __cnfn convert_short4(ulong4);
  2600. short4 __ovld __cnfn convert_short4_sat(ulong4);
  2601. short4 __ovld __cnfn convert_short4_rte(float4);
  2602. short4 __ovld __cnfn convert_short4_sat_rte(float4);
  2603. short4 __ovld __cnfn convert_short4_rtz(float4);
  2604. short4 __ovld __cnfn convert_short4_sat_rtz(float4);
  2605. short4 __ovld __cnfn convert_short4_rtp(float4);
  2606. short4 __ovld __cnfn convert_short4_sat_rtp(float4);
  2607. short4 __ovld __cnfn convert_short4_rtn(float4);
  2608. short4 __ovld __cnfn convert_short4_sat_rtn(float4);
  2609. short4 __ovld __cnfn convert_short4(float4);
  2610. short4 __ovld __cnfn convert_short4_sat(float4);
  2611. ushort4 __ovld __cnfn convert_ushort4_rte(char4);
  2612. ushort4 __ovld __cnfn convert_ushort4_sat_rte(char4);
  2613. ushort4 __ovld __cnfn convert_ushort4_rtz(char4);
  2614. ushort4 __ovld __cnfn convert_ushort4_sat_rtz(char4);
  2615. ushort4 __ovld __cnfn convert_ushort4_rtp(char4);
  2616. ushort4 __ovld __cnfn convert_ushort4_sat_rtp(char4);
  2617. ushort4 __ovld __cnfn convert_ushort4_rtn(char4);
  2618. ushort4 __ovld __cnfn convert_ushort4_sat_rtn(char4);
  2619. ushort4 __ovld __cnfn convert_ushort4(char4);
  2620. ushort4 __ovld __cnfn convert_ushort4_sat(char4);
  2621. ushort4 __ovld __cnfn convert_ushort4_rte(uchar4);
  2622. ushort4 __ovld __cnfn convert_ushort4_sat_rte(uchar4);
  2623. ushort4 __ovld __cnfn convert_ushort4_rtz(uchar4);
  2624. ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uchar4);
  2625. ushort4 __ovld __cnfn convert_ushort4_rtp(uchar4);
  2626. ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uchar4);
  2627. ushort4 __ovld __cnfn convert_ushort4_rtn(uchar4);
  2628. ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uchar4);
  2629. ushort4 __ovld __cnfn convert_ushort4(uchar4);
  2630. ushort4 __ovld __cnfn convert_ushort4_sat(uchar4);
  2631. ushort4 __ovld __cnfn convert_ushort4_rte(short4);
  2632. ushort4 __ovld __cnfn convert_ushort4_sat_rte(short4);
  2633. ushort4 __ovld __cnfn convert_ushort4_rtz(short4);
  2634. ushort4 __ovld __cnfn convert_ushort4_sat_rtz(short4);
  2635. ushort4 __ovld __cnfn convert_ushort4_rtp(short4);
  2636. ushort4 __ovld __cnfn convert_ushort4_sat_rtp(short4);
  2637. ushort4 __ovld __cnfn convert_ushort4_rtn(short4);
  2638. ushort4 __ovld __cnfn convert_ushort4_sat_rtn(short4);
  2639. ushort4 __ovld __cnfn convert_ushort4(short4);
  2640. ushort4 __ovld __cnfn convert_ushort4_sat(short4);
  2641. ushort4 __ovld __cnfn convert_ushort4_rte(ushort4);
  2642. ushort4 __ovld __cnfn convert_ushort4_sat_rte(ushort4);
  2643. ushort4 __ovld __cnfn convert_ushort4_rtz(ushort4);
  2644. ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ushort4);
  2645. ushort4 __ovld __cnfn convert_ushort4_rtp(ushort4);
  2646. ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ushort4);
  2647. ushort4 __ovld __cnfn convert_ushort4_rtn(ushort4);
  2648. ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ushort4);
  2649. ushort4 __ovld __cnfn convert_ushort4(ushort4);
  2650. ushort4 __ovld __cnfn convert_ushort4_sat(ushort4);
  2651. ushort4 __ovld __cnfn convert_ushort4_rte(int4);
  2652. ushort4 __ovld __cnfn convert_ushort4_sat_rte(int4);
  2653. ushort4 __ovld __cnfn convert_ushort4_rtz(int4);
  2654. ushort4 __ovld __cnfn convert_ushort4_sat_rtz(int4);
  2655. ushort4 __ovld __cnfn convert_ushort4_rtp(int4);
  2656. ushort4 __ovld __cnfn convert_ushort4_sat_rtp(int4);
  2657. ushort4 __ovld __cnfn convert_ushort4_rtn(int4);
  2658. ushort4 __ovld __cnfn convert_ushort4_sat_rtn(int4);
  2659. ushort4 __ovld __cnfn convert_ushort4(int4);
  2660. ushort4 __ovld __cnfn convert_ushort4_sat(int4);
  2661. ushort4 __ovld __cnfn convert_ushort4_rte(uint4);
  2662. ushort4 __ovld __cnfn convert_ushort4_sat_rte(uint4);
  2663. ushort4 __ovld __cnfn convert_ushort4_rtz(uint4);
  2664. ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uint4);
  2665. ushort4 __ovld __cnfn convert_ushort4_rtp(uint4);
  2666. ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uint4);
  2667. ushort4 __ovld __cnfn convert_ushort4_rtn(uint4);
  2668. ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uint4);
  2669. ushort4 __ovld __cnfn convert_ushort4(uint4);
  2670. ushort4 __ovld __cnfn convert_ushort4_sat(uint4);
  2671. ushort4 __ovld __cnfn convert_ushort4_rte(long4);
  2672. ushort4 __ovld __cnfn convert_ushort4_sat_rte(long4);
  2673. ushort4 __ovld __cnfn convert_ushort4_rtz(long4);
  2674. ushort4 __ovld __cnfn convert_ushort4_sat_rtz(long4);
  2675. ushort4 __ovld __cnfn convert_ushort4_rtp(long4);
  2676. ushort4 __ovld __cnfn convert_ushort4_sat_rtp(long4);
  2677. ushort4 __ovld __cnfn convert_ushort4_rtn(long4);
  2678. ushort4 __ovld __cnfn convert_ushort4_sat_rtn(long4);
  2679. ushort4 __ovld __cnfn convert_ushort4(long4);
  2680. ushort4 __ovld __cnfn convert_ushort4_sat(long4);
  2681. ushort4 __ovld __cnfn convert_ushort4_rte(ulong4);
  2682. ushort4 __ovld __cnfn convert_ushort4_sat_rte(ulong4);
  2683. ushort4 __ovld __cnfn convert_ushort4_rtz(ulong4);
  2684. ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ulong4);
  2685. ushort4 __ovld __cnfn convert_ushort4_rtp(ulong4);
  2686. ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ulong4);
  2687. ushort4 __ovld __cnfn convert_ushort4_rtn(ulong4);
  2688. ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ulong4);
  2689. ushort4 __ovld __cnfn convert_ushort4(ulong4);
  2690. ushort4 __ovld __cnfn convert_ushort4_sat(ulong4);
  2691. ushort4 __ovld __cnfn convert_ushort4_rte(float4);
  2692. ushort4 __ovld __cnfn convert_ushort4_sat_rte(float4);
  2693. ushort4 __ovld __cnfn convert_ushort4_rtz(float4);
  2694. ushort4 __ovld __cnfn convert_ushort4_sat_rtz(float4);
  2695. ushort4 __ovld __cnfn convert_ushort4_rtp(float4);
  2696. ushort4 __ovld __cnfn convert_ushort4_sat_rtp(float4);
  2697. ushort4 __ovld __cnfn convert_ushort4_rtn(float4);
  2698. ushort4 __ovld __cnfn convert_ushort4_sat_rtn(float4);
  2699. ushort4 __ovld __cnfn convert_ushort4(float4);
  2700. ushort4 __ovld __cnfn convert_ushort4_sat(float4);
  2701. int4 __ovld __cnfn convert_int4_rte(char4);
  2702. int4 __ovld __cnfn convert_int4_sat_rte(char4);
  2703. int4 __ovld __cnfn convert_int4_rtz(char4);
  2704. int4 __ovld __cnfn convert_int4_sat_rtz(char4);
  2705. int4 __ovld __cnfn convert_int4_rtp(char4);
  2706. int4 __ovld __cnfn convert_int4_sat_rtp(char4);
  2707. int4 __ovld __cnfn convert_int4_rtn(char4);
  2708. int4 __ovld __cnfn convert_int4_sat_rtn(char4);
  2709. int4 __ovld __cnfn convert_int4(char4);
  2710. int4 __ovld __cnfn convert_int4_sat(char4);
  2711. int4 __ovld __cnfn convert_int4_rte(uchar4);
  2712. int4 __ovld __cnfn convert_int4_sat_rte(uchar4);
  2713. int4 __ovld __cnfn convert_int4_rtz(uchar4);
  2714. int4 __ovld __cnfn convert_int4_sat_rtz(uchar4);
  2715. int4 __ovld __cnfn convert_int4_rtp(uchar4);
  2716. int4 __ovld __cnfn convert_int4_sat_rtp(uchar4);
  2717. int4 __ovld __cnfn convert_int4_rtn(uchar4);
  2718. int4 __ovld __cnfn convert_int4_sat_rtn(uchar4);
  2719. int4 __ovld __cnfn convert_int4(uchar4);
  2720. int4 __ovld __cnfn convert_int4_sat(uchar4);
  2721. int4 __ovld __cnfn convert_int4_rte(short4);
  2722. int4 __ovld __cnfn convert_int4_sat_rte(short4);
  2723. int4 __ovld __cnfn convert_int4_rtz(short4);
  2724. int4 __ovld __cnfn convert_int4_sat_rtz(short4);
  2725. int4 __ovld __cnfn convert_int4_rtp(short4);
  2726. int4 __ovld __cnfn convert_int4_sat_rtp(short4);
  2727. int4 __ovld __cnfn convert_int4_rtn(short4);
  2728. int4 __ovld __cnfn convert_int4_sat_rtn(short4);
  2729. int4 __ovld __cnfn convert_int4(short4);
  2730. int4 __ovld __cnfn convert_int4_sat(short4);
  2731. int4 __ovld __cnfn convert_int4_rte(ushort4);
  2732. int4 __ovld __cnfn convert_int4_sat_rte(ushort4);
  2733. int4 __ovld __cnfn convert_int4_rtz(ushort4);
  2734. int4 __ovld __cnfn convert_int4_sat_rtz(ushort4);
  2735. int4 __ovld __cnfn convert_int4_rtp(ushort4);
  2736. int4 __ovld __cnfn convert_int4_sat_rtp(ushort4);
  2737. int4 __ovld __cnfn convert_int4_rtn(ushort4);
  2738. int4 __ovld __cnfn convert_int4_sat_rtn(ushort4);
  2739. int4 __ovld __cnfn convert_int4(ushort4);
  2740. int4 __ovld __cnfn convert_int4_sat(ushort4);
  2741. int4 __ovld __cnfn convert_int4_rte(int4);
  2742. int4 __ovld __cnfn convert_int4_sat_rte(int4);
  2743. int4 __ovld __cnfn convert_int4_rtz(int4);
  2744. int4 __ovld __cnfn convert_int4_sat_rtz(int4);
  2745. int4 __ovld __cnfn convert_int4_rtp(int4);
  2746. int4 __ovld __cnfn convert_int4_sat_rtp(int4);
  2747. int4 __ovld __cnfn convert_int4_rtn(int4);
  2748. int4 __ovld __cnfn convert_int4_sat_rtn(int4);
  2749. int4 __ovld __cnfn convert_int4(int4);
  2750. int4 __ovld __cnfn convert_int4_sat(int4);
  2751. int4 __ovld __cnfn convert_int4_rte(uint4);
  2752. int4 __ovld __cnfn convert_int4_sat_rte(uint4);
  2753. int4 __ovld __cnfn convert_int4_rtz(uint4);
  2754. int4 __ovld __cnfn convert_int4_sat_rtz(uint4);
  2755. int4 __ovld __cnfn convert_int4_rtp(uint4);
  2756. int4 __ovld __cnfn convert_int4_sat_rtp(uint4);
  2757. int4 __ovld __cnfn convert_int4_rtn(uint4);
  2758. int4 __ovld __cnfn convert_int4_sat_rtn(uint4);
  2759. int4 __ovld __cnfn convert_int4(uint4);
  2760. int4 __ovld __cnfn convert_int4_sat(uint4);
  2761. int4 __ovld __cnfn convert_int4_rte(long4);
  2762. int4 __ovld __cnfn convert_int4_sat_rte(long4);
  2763. int4 __ovld __cnfn convert_int4_rtz(long4);
  2764. int4 __ovld __cnfn convert_int4_sat_rtz(long4);
  2765. int4 __ovld __cnfn convert_int4_rtp(long4);
  2766. int4 __ovld __cnfn convert_int4_sat_rtp(long4);
  2767. int4 __ovld __cnfn convert_int4_rtn(long4);
  2768. int4 __ovld __cnfn convert_int4_sat_rtn(long4);
  2769. int4 __ovld __cnfn convert_int4(long4);
  2770. int4 __ovld __cnfn convert_int4_sat(long4);
  2771. int4 __ovld __cnfn convert_int4_rte(ulong4);
  2772. int4 __ovld __cnfn convert_int4_sat_rte(ulong4);
  2773. int4 __ovld __cnfn convert_int4_rtz(ulong4);
  2774. int4 __ovld __cnfn convert_int4_sat_rtz(ulong4);
  2775. int4 __ovld __cnfn convert_int4_rtp(ulong4);
  2776. int4 __ovld __cnfn convert_int4_sat_rtp(ulong4);
  2777. int4 __ovld __cnfn convert_int4_rtn(ulong4);
  2778. int4 __ovld __cnfn convert_int4_sat_rtn(ulong4);
  2779. int4 __ovld __cnfn convert_int4(ulong4);
  2780. int4 __ovld __cnfn convert_int4_sat(ulong4);
  2781. int4 __ovld __cnfn convert_int4_rte(float4);
  2782. int4 __ovld __cnfn convert_int4_sat_rte(float4);
  2783. int4 __ovld __cnfn convert_int4_rtz(float4);
  2784. int4 __ovld __cnfn convert_int4_sat_rtz(float4);
  2785. int4 __ovld __cnfn convert_int4_rtp(float4);
  2786. int4 __ovld __cnfn convert_int4_sat_rtp(float4);
  2787. int4 __ovld __cnfn convert_int4_rtn(float4);
  2788. int4 __ovld __cnfn convert_int4_sat_rtn(float4);
  2789. int4 __ovld __cnfn convert_int4(float4);
  2790. int4 __ovld __cnfn convert_int4_sat(float4);
  2791. uint4 __ovld __cnfn convert_uint4_rte(char4);
  2792. uint4 __ovld __cnfn convert_uint4_sat_rte(char4);
  2793. uint4 __ovld __cnfn convert_uint4_rtz(char4);
  2794. uint4 __ovld __cnfn convert_uint4_sat_rtz(char4);
  2795. uint4 __ovld __cnfn convert_uint4_rtp(char4);
  2796. uint4 __ovld __cnfn convert_uint4_sat_rtp(char4);
  2797. uint4 __ovld __cnfn convert_uint4_rtn(char4);
  2798. uint4 __ovld __cnfn convert_uint4_sat_rtn(char4);
  2799. uint4 __ovld __cnfn convert_uint4(char4);
  2800. uint4 __ovld __cnfn convert_uint4_sat(char4);
  2801. uint4 __ovld __cnfn convert_uint4_rte(uchar4);
  2802. uint4 __ovld __cnfn convert_uint4_sat_rte(uchar4);
  2803. uint4 __ovld __cnfn convert_uint4_rtz(uchar4);
  2804. uint4 __ovld __cnfn convert_uint4_sat_rtz(uchar4);
  2805. uint4 __ovld __cnfn convert_uint4_rtp(uchar4);
  2806. uint4 __ovld __cnfn convert_uint4_sat_rtp(uchar4);
  2807. uint4 __ovld __cnfn convert_uint4_rtn(uchar4);
  2808. uint4 __ovld __cnfn convert_uint4_sat_rtn(uchar4);
  2809. uint4 __ovld __cnfn convert_uint4(uchar4);
  2810. uint4 __ovld __cnfn convert_uint4_sat(uchar4);
  2811. uint4 __ovld __cnfn convert_uint4_rte(short4);
  2812. uint4 __ovld __cnfn convert_uint4_sat_rte(short4);
  2813. uint4 __ovld __cnfn convert_uint4_rtz(short4);
  2814. uint4 __ovld __cnfn convert_uint4_sat_rtz(short4);
  2815. uint4 __ovld __cnfn convert_uint4_rtp(short4);
  2816. uint4 __ovld __cnfn convert_uint4_sat_rtp(short4);
  2817. uint4 __ovld __cnfn convert_uint4_rtn(short4);
  2818. uint4 __ovld __cnfn convert_uint4_sat_rtn(short4);
  2819. uint4 __ovld __cnfn convert_uint4(short4);
  2820. uint4 __ovld __cnfn convert_uint4_sat(short4);
  2821. uint4 __ovld __cnfn convert_uint4_rte(ushort4);
  2822. uint4 __ovld __cnfn convert_uint4_sat_rte(ushort4);
  2823. uint4 __ovld __cnfn convert_uint4_rtz(ushort4);
  2824. uint4 __ovld __cnfn convert_uint4_sat_rtz(ushort4);
  2825. uint4 __ovld __cnfn convert_uint4_rtp(ushort4);
  2826. uint4 __ovld __cnfn convert_uint4_sat_rtp(ushort4);
  2827. uint4 __ovld __cnfn convert_uint4_rtn(ushort4);
  2828. uint4 __ovld __cnfn convert_uint4_sat_rtn(ushort4);
  2829. uint4 __ovld __cnfn convert_uint4(ushort4);
  2830. uint4 __ovld __cnfn convert_uint4_sat(ushort4);
  2831. uint4 __ovld __cnfn convert_uint4_rte(int4);
  2832. uint4 __ovld __cnfn convert_uint4_sat_rte(int4);
  2833. uint4 __ovld __cnfn convert_uint4_rtz(int4);
  2834. uint4 __ovld __cnfn convert_uint4_sat_rtz(int4);
  2835. uint4 __ovld __cnfn convert_uint4_rtp(int4);
  2836. uint4 __ovld __cnfn convert_uint4_sat_rtp(int4);
  2837. uint4 __ovld __cnfn convert_uint4_rtn(int4);
  2838. uint4 __ovld __cnfn convert_uint4_sat_rtn(int4);
  2839. uint4 __ovld __cnfn convert_uint4(int4);
  2840. uint4 __ovld __cnfn convert_uint4_sat(int4);
  2841. uint4 __ovld __cnfn convert_uint4_rte(uint4);
  2842. uint4 __ovld __cnfn convert_uint4_sat_rte(uint4);
  2843. uint4 __ovld __cnfn convert_uint4_rtz(uint4);
  2844. uint4 __ovld __cnfn convert_uint4_sat_rtz(uint4);
  2845. uint4 __ovld __cnfn convert_uint4_rtp(uint4);
  2846. uint4 __ovld __cnfn convert_uint4_sat_rtp(uint4);
  2847. uint4 __ovld __cnfn convert_uint4_rtn(uint4);
  2848. uint4 __ovld __cnfn convert_uint4_sat_rtn(uint4);
  2849. uint4 __ovld __cnfn convert_uint4(uint4);
  2850. uint4 __ovld __cnfn convert_uint4_sat(uint4);
  2851. uint4 __ovld __cnfn convert_uint4_rte(long4);
  2852. uint4 __ovld __cnfn convert_uint4_sat_rte(long4);
  2853. uint4 __ovld __cnfn convert_uint4_rtz(long4);
  2854. uint4 __ovld __cnfn convert_uint4_sat_rtz(long4);
  2855. uint4 __ovld __cnfn convert_uint4_rtp(long4);
  2856. uint4 __ovld __cnfn convert_uint4_sat_rtp(long4);
  2857. uint4 __ovld __cnfn convert_uint4_rtn(long4);
  2858. uint4 __ovld __cnfn convert_uint4_sat_rtn(long4);
  2859. uint4 __ovld __cnfn convert_uint4(long4);
  2860. uint4 __ovld __cnfn convert_uint4_sat(long4);
  2861. uint4 __ovld __cnfn convert_uint4_rte(ulong4);
  2862. uint4 __ovld __cnfn convert_uint4_sat_rte(ulong4);
  2863. uint4 __ovld __cnfn convert_uint4_rtz(ulong4);
  2864. uint4 __ovld __cnfn convert_uint4_sat_rtz(ulong4);
  2865. uint4 __ovld __cnfn convert_uint4_rtp(ulong4);
  2866. uint4 __ovld __cnfn convert_uint4_sat_rtp(ulong4);
  2867. uint4 __ovld __cnfn convert_uint4_rtn(ulong4);
  2868. uint4 __ovld __cnfn convert_uint4_sat_rtn(ulong4);
  2869. uint4 __ovld __cnfn convert_uint4(ulong4);
  2870. uint4 __ovld __cnfn convert_uint4_sat(ulong4);
  2871. uint4 __ovld __cnfn convert_uint4_rte(float4);
  2872. uint4 __ovld __cnfn convert_uint4_sat_rte(float4);
  2873. uint4 __ovld __cnfn convert_uint4_rtz(float4);
  2874. uint4 __ovld __cnfn convert_uint4_sat_rtz(float4);
  2875. uint4 __ovld __cnfn convert_uint4_rtp(float4);
  2876. uint4 __ovld __cnfn convert_uint4_sat_rtp(float4);
  2877. uint4 __ovld __cnfn convert_uint4_rtn(float4);
  2878. uint4 __ovld __cnfn convert_uint4_sat_rtn(float4);
  2879. uint4 __ovld __cnfn convert_uint4(float4);
  2880. uint4 __ovld __cnfn convert_uint4_sat(float4);
  2881. long4 __ovld __cnfn convert_long4_rte(char4);
  2882. long4 __ovld __cnfn convert_long4_sat_rte(char4);
  2883. long4 __ovld __cnfn convert_long4_rtz(char4);
  2884. long4 __ovld __cnfn convert_long4_sat_rtz(char4);
  2885. long4 __ovld __cnfn convert_long4_rtp(char4);
  2886. long4 __ovld __cnfn convert_long4_sat_rtp(char4);
  2887. long4 __ovld __cnfn convert_long4_rtn(char4);
  2888. long4 __ovld __cnfn convert_long4_sat_rtn(char4);
  2889. long4 __ovld __cnfn convert_long4(char4);
  2890. long4 __ovld __cnfn convert_long4_sat(char4);
  2891. long4 __ovld __cnfn convert_long4_rte(uchar4);
  2892. long4 __ovld __cnfn convert_long4_sat_rte(uchar4);
  2893. long4 __ovld __cnfn convert_long4_rtz(uchar4);
  2894. long4 __ovld __cnfn convert_long4_sat_rtz(uchar4);
  2895. long4 __ovld __cnfn convert_long4_rtp(uchar4);
  2896. long4 __ovld __cnfn convert_long4_sat_rtp(uchar4);
  2897. long4 __ovld __cnfn convert_long4_rtn(uchar4);
  2898. long4 __ovld __cnfn convert_long4_sat_rtn(uchar4);
  2899. long4 __ovld __cnfn convert_long4(uchar4);
  2900. long4 __ovld __cnfn convert_long4_sat(uchar4);
  2901. long4 __ovld __cnfn convert_long4_rte(short4);
  2902. long4 __ovld __cnfn convert_long4_sat_rte(short4);
  2903. long4 __ovld __cnfn convert_long4_rtz(short4);
  2904. long4 __ovld __cnfn convert_long4_sat_rtz(short4);
  2905. long4 __ovld __cnfn convert_long4_rtp(short4);
  2906. long4 __ovld __cnfn convert_long4_sat_rtp(short4);
  2907. long4 __ovld __cnfn convert_long4_rtn(short4);
  2908. long4 __ovld __cnfn convert_long4_sat_rtn(short4);
  2909. long4 __ovld __cnfn convert_long4(short4);
  2910. long4 __ovld __cnfn convert_long4_sat(short4);
  2911. long4 __ovld __cnfn convert_long4_rte(ushort4);
  2912. long4 __ovld __cnfn convert_long4_sat_rte(ushort4);
  2913. long4 __ovld __cnfn convert_long4_rtz(ushort4);
  2914. long4 __ovld __cnfn convert_long4_sat_rtz(ushort4);
  2915. long4 __ovld __cnfn convert_long4_rtp(ushort4);
  2916. long4 __ovld __cnfn convert_long4_sat_rtp(ushort4);
  2917. long4 __ovld __cnfn convert_long4_rtn(ushort4);
  2918. long4 __ovld __cnfn convert_long4_sat_rtn(ushort4);
  2919. long4 __ovld __cnfn convert_long4(ushort4);
  2920. long4 __ovld __cnfn convert_long4_sat(ushort4);
  2921. long4 __ovld __cnfn convert_long4_rte(int4);
  2922. long4 __ovld __cnfn convert_long4_sat_rte(int4);
  2923. long4 __ovld __cnfn convert_long4_rtz(int4);
  2924. long4 __ovld __cnfn convert_long4_sat_rtz(int4);
  2925. long4 __ovld __cnfn convert_long4_rtp(int4);
  2926. long4 __ovld __cnfn convert_long4_sat_rtp(int4);
  2927. long4 __ovld __cnfn convert_long4_rtn(int4);
  2928. long4 __ovld __cnfn convert_long4_sat_rtn(int4);
  2929. long4 __ovld __cnfn convert_long4(int4);
  2930. long4 __ovld __cnfn convert_long4_sat(int4);
  2931. long4 __ovld __cnfn convert_long4_rte(uint4);
  2932. long4 __ovld __cnfn convert_long4_sat_rte(uint4);
  2933. long4 __ovld __cnfn convert_long4_rtz(uint4);
  2934. long4 __ovld __cnfn convert_long4_sat_rtz(uint4);
  2935. long4 __ovld __cnfn convert_long4_rtp(uint4);
  2936. long4 __ovld __cnfn convert_long4_sat_rtp(uint4);
  2937. long4 __ovld __cnfn convert_long4_rtn(uint4);
  2938. long4 __ovld __cnfn convert_long4_sat_rtn(uint4);
  2939. long4 __ovld __cnfn convert_long4(uint4);
  2940. long4 __ovld __cnfn convert_long4_sat(uint4);
  2941. long4 __ovld __cnfn convert_long4_rte(long4);
  2942. long4 __ovld __cnfn convert_long4_sat_rte(long4);
  2943. long4 __ovld __cnfn convert_long4_rtz(long4);
  2944. long4 __ovld __cnfn convert_long4_sat_rtz(long4);
  2945. long4 __ovld __cnfn convert_long4_rtp(long4);
  2946. long4 __ovld __cnfn convert_long4_sat_rtp(long4);
  2947. long4 __ovld __cnfn convert_long4_rtn(long4);
  2948. long4 __ovld __cnfn convert_long4_sat_rtn(long4);
  2949. long4 __ovld __cnfn convert_long4(long4);
  2950. long4 __ovld __cnfn convert_long4_sat(long4);
  2951. long4 __ovld __cnfn convert_long4_rte(ulong4);
  2952. long4 __ovld __cnfn convert_long4_sat_rte(ulong4);
  2953. long4 __ovld __cnfn convert_long4_rtz(ulong4);
  2954. long4 __ovld __cnfn convert_long4_sat_rtz(ulong4);
  2955. long4 __ovld __cnfn convert_long4_rtp(ulong4);
  2956. long4 __ovld __cnfn convert_long4_sat_rtp(ulong4);
  2957. long4 __ovld __cnfn convert_long4_rtn(ulong4);
  2958. long4 __ovld __cnfn convert_long4_sat_rtn(ulong4);
  2959. long4 __ovld __cnfn convert_long4(ulong4);
  2960. long4 __ovld __cnfn convert_long4_sat(ulong4);
  2961. long4 __ovld __cnfn convert_long4_rte(float4);
  2962. long4 __ovld __cnfn convert_long4_sat_rte(float4);
  2963. long4 __ovld __cnfn convert_long4_rtz(float4);
  2964. long4 __ovld __cnfn convert_long4_sat_rtz(float4);
  2965. long4 __ovld __cnfn convert_long4_rtp(float4);
  2966. long4 __ovld __cnfn convert_long4_sat_rtp(float4);
  2967. long4 __ovld __cnfn convert_long4_rtn(float4);
  2968. long4 __ovld __cnfn convert_long4_sat_rtn(float4);
  2969. long4 __ovld __cnfn convert_long4(float4);
  2970. long4 __ovld __cnfn convert_long4_sat(float4);
  2971. ulong4 __ovld __cnfn convert_ulong4_rte(char4);
  2972. ulong4 __ovld __cnfn convert_ulong4_sat_rte(char4);
  2973. ulong4 __ovld __cnfn convert_ulong4_rtz(char4);
  2974. ulong4 __ovld __cnfn convert_ulong4_sat_rtz(char4);
  2975. ulong4 __ovld __cnfn convert_ulong4_rtp(char4);
  2976. ulong4 __ovld __cnfn convert_ulong4_sat_rtp(char4);
  2977. ulong4 __ovld __cnfn convert_ulong4_rtn(char4);
  2978. ulong4 __ovld __cnfn convert_ulong4_sat_rtn(char4);
  2979. ulong4 __ovld __cnfn convert_ulong4(char4);
  2980. ulong4 __ovld __cnfn convert_ulong4_sat(char4);
  2981. ulong4 __ovld __cnfn convert_ulong4_rte(uchar4);
  2982. ulong4 __ovld __cnfn convert_ulong4_sat_rte(uchar4);
  2983. ulong4 __ovld __cnfn convert_ulong4_rtz(uchar4);
  2984. ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uchar4);
  2985. ulong4 __ovld __cnfn convert_ulong4_rtp(uchar4);
  2986. ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uchar4);
  2987. ulong4 __ovld __cnfn convert_ulong4_rtn(uchar4);
  2988. ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uchar4);
  2989. ulong4 __ovld __cnfn convert_ulong4(uchar4);
  2990. ulong4 __ovld __cnfn convert_ulong4_sat(uchar4);
  2991. ulong4 __ovld __cnfn convert_ulong4_rte(short4);
  2992. ulong4 __ovld __cnfn convert_ulong4_sat_rte(short4);
  2993. ulong4 __ovld __cnfn convert_ulong4_rtz(short4);
  2994. ulong4 __ovld __cnfn convert_ulong4_sat_rtz(short4);
  2995. ulong4 __ovld __cnfn convert_ulong4_rtp(short4);
  2996. ulong4 __ovld __cnfn convert_ulong4_sat_rtp(short4);
  2997. ulong4 __ovld __cnfn convert_ulong4_rtn(short4);
  2998. ulong4 __ovld __cnfn convert_ulong4_sat_rtn(short4);
  2999. ulong4 __ovld __cnfn convert_ulong4(short4);
  3000. ulong4 __ovld __cnfn convert_ulong4_sat(short4);
  3001. ulong4 __ovld __cnfn convert_ulong4_rte(ushort4);
  3002. ulong4 __ovld __cnfn convert_ulong4_sat_rte(ushort4);
  3003. ulong4 __ovld __cnfn convert_ulong4_rtz(ushort4);
  3004. ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ushort4);
  3005. ulong4 __ovld __cnfn convert_ulong4_rtp(ushort4);
  3006. ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ushort4);
  3007. ulong4 __ovld __cnfn convert_ulong4_rtn(ushort4);
  3008. ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ushort4);
  3009. ulong4 __ovld __cnfn convert_ulong4(ushort4);
  3010. ulong4 __ovld __cnfn convert_ulong4_sat(ushort4);
  3011. ulong4 __ovld __cnfn convert_ulong4_rte(int4);
  3012. ulong4 __ovld __cnfn convert_ulong4_sat_rte(int4);
  3013. ulong4 __ovld __cnfn convert_ulong4_rtz(int4);
  3014. ulong4 __ovld __cnfn convert_ulong4_sat_rtz(int4);
  3015. ulong4 __ovld __cnfn convert_ulong4_rtp(int4);
  3016. ulong4 __ovld __cnfn convert_ulong4_sat_rtp(int4);
  3017. ulong4 __ovld __cnfn convert_ulong4_rtn(int4);
  3018. ulong4 __ovld __cnfn convert_ulong4_sat_rtn(int4);
  3019. ulong4 __ovld __cnfn convert_ulong4(int4);
  3020. ulong4 __ovld __cnfn convert_ulong4_sat(int4);
  3021. ulong4 __ovld __cnfn convert_ulong4_rte(uint4);
  3022. ulong4 __ovld __cnfn convert_ulong4_sat_rte(uint4);
  3023. ulong4 __ovld __cnfn convert_ulong4_rtz(uint4);
  3024. ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uint4);
  3025. ulong4 __ovld __cnfn convert_ulong4_rtp(uint4);
  3026. ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uint4);
  3027. ulong4 __ovld __cnfn convert_ulong4_rtn(uint4);
  3028. ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uint4);
  3029. ulong4 __ovld __cnfn convert_ulong4(uint4);
  3030. ulong4 __ovld __cnfn convert_ulong4_sat(uint4);
  3031. ulong4 __ovld __cnfn convert_ulong4_rte(long4);
  3032. ulong4 __ovld __cnfn convert_ulong4_sat_rte(long4);
  3033. ulong4 __ovld __cnfn convert_ulong4_rtz(long4);
  3034. ulong4 __ovld __cnfn convert_ulong4_sat_rtz(long4);
  3035. ulong4 __ovld __cnfn convert_ulong4_rtp(long4);
  3036. ulong4 __ovld __cnfn convert_ulong4_sat_rtp(long4);
  3037. ulong4 __ovld __cnfn convert_ulong4_rtn(long4);
  3038. ulong4 __ovld __cnfn convert_ulong4_sat_rtn(long4);
  3039. ulong4 __ovld __cnfn convert_ulong4(long4);
  3040. ulong4 __ovld __cnfn convert_ulong4_sat(long4);
  3041. ulong4 __ovld __cnfn convert_ulong4_rte(ulong4);
  3042. ulong4 __ovld __cnfn convert_ulong4_sat_rte(ulong4);
  3043. ulong4 __ovld __cnfn convert_ulong4_rtz(ulong4);
  3044. ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ulong4);
  3045. ulong4 __ovld __cnfn convert_ulong4_rtp(ulong4);
  3046. ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ulong4);
  3047. ulong4 __ovld __cnfn convert_ulong4_rtn(ulong4);
  3048. ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ulong4);
  3049. ulong4 __ovld __cnfn convert_ulong4(ulong4);
  3050. ulong4 __ovld __cnfn convert_ulong4_sat(ulong4);
  3051. ulong4 __ovld __cnfn convert_ulong4_rte(float4);
  3052. ulong4 __ovld __cnfn convert_ulong4_sat_rte(float4);
  3053. ulong4 __ovld __cnfn convert_ulong4_rtz(float4);
  3054. ulong4 __ovld __cnfn convert_ulong4_sat_rtz(float4);
  3055. ulong4 __ovld __cnfn convert_ulong4_rtp(float4);
  3056. ulong4 __ovld __cnfn convert_ulong4_sat_rtp(float4);
  3057. ulong4 __ovld __cnfn convert_ulong4_rtn(float4);
  3058. ulong4 __ovld __cnfn convert_ulong4_sat_rtn(float4);
  3059. ulong4 __ovld __cnfn convert_ulong4(float4);
  3060. ulong4 __ovld __cnfn convert_ulong4_sat(float4);
  3061. float4 __ovld __cnfn convert_float4_rte(char4);
  3062. float4 __ovld __cnfn convert_float4_rtz(char4);
  3063. float4 __ovld __cnfn convert_float4_rtp(char4);
  3064. float4 __ovld __cnfn convert_float4_rtn(char4);
  3065. float4 __ovld __cnfn convert_float4(char4);
  3066. float4 __ovld __cnfn convert_float4_rte(uchar4);
  3067. float4 __ovld __cnfn convert_float4_rtz(uchar4);
  3068. float4 __ovld __cnfn convert_float4_rtp(uchar4);
  3069. float4 __ovld __cnfn convert_float4_rtn(uchar4);
  3070. float4 __ovld __cnfn convert_float4(uchar4);
  3071. float4 __ovld __cnfn convert_float4_rte(short4);
  3072. float4 __ovld __cnfn convert_float4_rtz(short4);
  3073. float4 __ovld __cnfn convert_float4_rtp(short4);
  3074. float4 __ovld __cnfn convert_float4_rtn(short4);
  3075. float4 __ovld __cnfn convert_float4(short4);
  3076. float4 __ovld __cnfn convert_float4_rte(ushort4);
  3077. float4 __ovld __cnfn convert_float4_rtz(ushort4);
  3078. float4 __ovld __cnfn convert_float4_rtp(ushort4);
  3079. float4 __ovld __cnfn convert_float4_rtn(ushort4);
  3080. float4 __ovld __cnfn convert_float4(ushort4);
  3081. float4 __ovld __cnfn convert_float4_rte(int4);
  3082. float4 __ovld __cnfn convert_float4_rtz(int4);
  3083. float4 __ovld __cnfn convert_float4_rtp(int4);
  3084. float4 __ovld __cnfn convert_float4_rtn(int4);
  3085. float4 __ovld __cnfn convert_float4(int4);
  3086. float4 __ovld __cnfn convert_float4_rte(uint4);
  3087. float4 __ovld __cnfn convert_float4_rtz(uint4);
  3088. float4 __ovld __cnfn convert_float4_rtp(uint4);
  3089. float4 __ovld __cnfn convert_float4_rtn(uint4);
  3090. float4 __ovld __cnfn convert_float4(uint4);
  3091. float4 __ovld __cnfn convert_float4_rte(long4);
  3092. float4 __ovld __cnfn convert_float4_rtz(long4);
  3093. float4 __ovld __cnfn convert_float4_rtp(long4);
  3094. float4 __ovld __cnfn convert_float4_rtn(long4);
  3095. float4 __ovld __cnfn convert_float4(long4);
  3096. float4 __ovld __cnfn convert_float4_rte(ulong4);
  3097. float4 __ovld __cnfn convert_float4_rtz(ulong4);
  3098. float4 __ovld __cnfn convert_float4_rtp(ulong4);
  3099. float4 __ovld __cnfn convert_float4_rtn(ulong4);
  3100. float4 __ovld __cnfn convert_float4(ulong4);
  3101. float4 __ovld __cnfn convert_float4_rte(float4);
  3102. float4 __ovld __cnfn convert_float4_rtz(float4);
  3103. float4 __ovld __cnfn convert_float4_rtp(float4);
  3104. float4 __ovld __cnfn convert_float4_rtn(float4);
  3105. float4 __ovld __cnfn convert_float4(float4);
  3106. char8 __ovld __cnfn convert_char8_rte(char8);
  3107. char8 __ovld __cnfn convert_char8_sat_rte(char8);
  3108. char8 __ovld __cnfn convert_char8_rtz(char8);
  3109. char8 __ovld __cnfn convert_char8_sat_rtz(char8);
  3110. char8 __ovld __cnfn convert_char8_rtp(char8);
  3111. char8 __ovld __cnfn convert_char8_sat_rtp(char8);
  3112. char8 __ovld __cnfn convert_char8_rtn(char8);
  3113. char8 __ovld __cnfn convert_char8_sat_rtn(char8);
  3114. char8 __ovld __cnfn convert_char8(char8);
  3115. char8 __ovld __cnfn convert_char8_sat(char8);
  3116. char8 __ovld __cnfn convert_char8_rte(uchar8);
  3117. char8 __ovld __cnfn convert_char8_sat_rte(uchar8);
  3118. char8 __ovld __cnfn convert_char8_rtz(uchar8);
  3119. char8 __ovld __cnfn convert_char8_sat_rtz(uchar8);
  3120. char8 __ovld __cnfn convert_char8_rtp(uchar8);
  3121. char8 __ovld __cnfn convert_char8_sat_rtp(uchar8);
  3122. char8 __ovld __cnfn convert_char8_rtn(uchar8);
  3123. char8 __ovld __cnfn convert_char8_sat_rtn(uchar8);
  3124. char8 __ovld __cnfn convert_char8(uchar8);
  3125. char8 __ovld __cnfn convert_char8_sat(uchar8);
  3126. char8 __ovld __cnfn convert_char8_rte(short8);
  3127. char8 __ovld __cnfn convert_char8_sat_rte(short8);
  3128. char8 __ovld __cnfn convert_char8_rtz(short8);
  3129. char8 __ovld __cnfn convert_char8_sat_rtz(short8);
  3130. char8 __ovld __cnfn convert_char8_rtp(short8);
  3131. char8 __ovld __cnfn convert_char8_sat_rtp(short8);
  3132. char8 __ovld __cnfn convert_char8_rtn(short8);
  3133. char8 __ovld __cnfn convert_char8_sat_rtn(short8);
  3134. char8 __ovld __cnfn convert_char8(short8);
  3135. char8 __ovld __cnfn convert_char8_sat(short8);
  3136. char8 __ovld __cnfn convert_char8_rte(ushort8);
  3137. char8 __ovld __cnfn convert_char8_sat_rte(ushort8);
  3138. char8 __ovld __cnfn convert_char8_rtz(ushort8);
  3139. char8 __ovld __cnfn convert_char8_sat_rtz(ushort8);
  3140. char8 __ovld __cnfn convert_char8_rtp(ushort8);
  3141. char8 __ovld __cnfn convert_char8_sat_rtp(ushort8);
  3142. char8 __ovld __cnfn convert_char8_rtn(ushort8);
  3143. char8 __ovld __cnfn convert_char8_sat_rtn(ushort8);
  3144. char8 __ovld __cnfn convert_char8(ushort8);
  3145. char8 __ovld __cnfn convert_char8_sat(ushort8);
  3146. char8 __ovld __cnfn convert_char8_rte(int8);
  3147. char8 __ovld __cnfn convert_char8_sat_rte(int8);
  3148. char8 __ovld __cnfn convert_char8_rtz(int8);
  3149. char8 __ovld __cnfn convert_char8_sat_rtz(int8);
  3150. char8 __ovld __cnfn convert_char8_rtp(int8);
  3151. char8 __ovld __cnfn convert_char8_sat_rtp(int8);
  3152. char8 __ovld __cnfn convert_char8_rtn(int8);
  3153. char8 __ovld __cnfn convert_char8_sat_rtn(int8);
  3154. char8 __ovld __cnfn convert_char8(int8);
  3155. char8 __ovld __cnfn convert_char8_sat(int8);
  3156. char8 __ovld __cnfn convert_char8_rte(uint8);
  3157. char8 __ovld __cnfn convert_char8_sat_rte(uint8);
  3158. char8 __ovld __cnfn convert_char8_rtz(uint8);
  3159. char8 __ovld __cnfn convert_char8_sat_rtz(uint8);
  3160. char8 __ovld __cnfn convert_char8_rtp(uint8);
  3161. char8 __ovld __cnfn convert_char8_sat_rtp(uint8);
  3162. char8 __ovld __cnfn convert_char8_rtn(uint8);
  3163. char8 __ovld __cnfn convert_char8_sat_rtn(uint8);
  3164. char8 __ovld __cnfn convert_char8(uint8);
  3165. char8 __ovld __cnfn convert_char8_sat(uint8);
  3166. char8 __ovld __cnfn convert_char8_rte(long8);
  3167. char8 __ovld __cnfn convert_char8_sat_rte(long8);
  3168. char8 __ovld __cnfn convert_char8_rtz(long8);
  3169. char8 __ovld __cnfn convert_char8_sat_rtz(long8);
  3170. char8 __ovld __cnfn convert_char8_rtp(long8);
  3171. char8 __ovld __cnfn convert_char8_sat_rtp(long8);
  3172. char8 __ovld __cnfn convert_char8_rtn(long8);
  3173. char8 __ovld __cnfn convert_char8_sat_rtn(long8);
  3174. char8 __ovld __cnfn convert_char8(long8);
  3175. char8 __ovld __cnfn convert_char8_sat(long8);
  3176. char8 __ovld __cnfn convert_char8_rte(ulong8);
  3177. char8 __ovld __cnfn convert_char8_sat_rte(ulong8);
  3178. char8 __ovld __cnfn convert_char8_rtz(ulong8);
  3179. char8 __ovld __cnfn convert_char8_sat_rtz(ulong8);
  3180. char8 __ovld __cnfn convert_char8_rtp(ulong8);
  3181. char8 __ovld __cnfn convert_char8_sat_rtp(ulong8);
  3182. char8 __ovld __cnfn convert_char8_rtn(ulong8);
  3183. char8 __ovld __cnfn convert_char8_sat_rtn(ulong8);
  3184. char8 __ovld __cnfn convert_char8(ulong8);
  3185. char8 __ovld __cnfn convert_char8_sat(ulong8);
  3186. char8 __ovld __cnfn convert_char8_rte(float8);
  3187. char8 __ovld __cnfn convert_char8_sat_rte(float8);
  3188. char8 __ovld __cnfn convert_char8_rtz(float8);
  3189. char8 __ovld __cnfn convert_char8_sat_rtz(float8);
  3190. char8 __ovld __cnfn convert_char8_rtp(float8);
  3191. char8 __ovld __cnfn convert_char8_sat_rtp(float8);
  3192. char8 __ovld __cnfn convert_char8_rtn(float8);
  3193. char8 __ovld __cnfn convert_char8_sat_rtn(float8);
  3194. char8 __ovld __cnfn convert_char8(float8);
  3195. char8 __ovld __cnfn convert_char8_sat(float8);
  3196. uchar8 __ovld __cnfn convert_uchar8_rte(char8);
  3197. uchar8 __ovld __cnfn convert_uchar8_sat_rte(char8);
  3198. uchar8 __ovld __cnfn convert_uchar8_rtz(char8);
  3199. uchar8 __ovld __cnfn convert_uchar8_sat_rtz(char8);
  3200. uchar8 __ovld __cnfn convert_uchar8_rtp(char8);
  3201. uchar8 __ovld __cnfn convert_uchar8_sat_rtp(char8);
  3202. uchar8 __ovld __cnfn convert_uchar8_rtn(char8);
  3203. uchar8 __ovld __cnfn convert_uchar8_sat_rtn(char8);
  3204. uchar8 __ovld __cnfn convert_uchar8(char8);
  3205. uchar8 __ovld __cnfn convert_uchar8_sat(char8);
  3206. uchar8 __ovld __cnfn convert_uchar8_rte(uchar8);
  3207. uchar8 __ovld __cnfn convert_uchar8_sat_rte(uchar8);
  3208. uchar8 __ovld __cnfn convert_uchar8_rtz(uchar8);
  3209. uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uchar8);
  3210. uchar8 __ovld __cnfn convert_uchar8_rtp(uchar8);
  3211. uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uchar8);
  3212. uchar8 __ovld __cnfn convert_uchar8_rtn(uchar8);
  3213. uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uchar8);
  3214. uchar8 __ovld __cnfn convert_uchar8(uchar8);
  3215. uchar8 __ovld __cnfn convert_uchar8_sat(uchar8);
  3216. uchar8 __ovld __cnfn convert_uchar8_rte(short8);
  3217. uchar8 __ovld __cnfn convert_uchar8_sat_rte(short8);
  3218. uchar8 __ovld __cnfn convert_uchar8_rtz(short8);
  3219. uchar8 __ovld __cnfn convert_uchar8_sat_rtz(short8);
  3220. uchar8 __ovld __cnfn convert_uchar8_rtp(short8);
  3221. uchar8 __ovld __cnfn convert_uchar8_sat_rtp(short8);
  3222. uchar8 __ovld __cnfn convert_uchar8_rtn(short8);
  3223. uchar8 __ovld __cnfn convert_uchar8_sat_rtn(short8);
  3224. uchar8 __ovld __cnfn convert_uchar8(short8);
  3225. uchar8 __ovld __cnfn convert_uchar8_sat(short8);
  3226. uchar8 __ovld __cnfn convert_uchar8_rte(ushort8);
  3227. uchar8 __ovld __cnfn convert_uchar8_sat_rte(ushort8);
  3228. uchar8 __ovld __cnfn convert_uchar8_rtz(ushort8);
  3229. uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ushort8);
  3230. uchar8 __ovld __cnfn convert_uchar8_rtp(ushort8);
  3231. uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ushort8);
  3232. uchar8 __ovld __cnfn convert_uchar8_rtn(ushort8);
  3233. uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ushort8);
  3234. uchar8 __ovld __cnfn convert_uchar8(ushort8);
  3235. uchar8 __ovld __cnfn convert_uchar8_sat(ushort8);
  3236. uchar8 __ovld __cnfn convert_uchar8_rte(int8);
  3237. uchar8 __ovld __cnfn convert_uchar8_sat_rte(int8);
  3238. uchar8 __ovld __cnfn convert_uchar8_rtz(int8);
  3239. uchar8 __ovld __cnfn convert_uchar8_sat_rtz(int8);
  3240. uchar8 __ovld __cnfn convert_uchar8_rtp(int8);
  3241. uchar8 __ovld __cnfn convert_uchar8_sat_rtp(int8);
  3242. uchar8 __ovld __cnfn convert_uchar8_rtn(int8);
  3243. uchar8 __ovld __cnfn convert_uchar8_sat_rtn(int8);
  3244. uchar8 __ovld __cnfn convert_uchar8(int8);
  3245. uchar8 __ovld __cnfn convert_uchar8_sat(int8);
  3246. uchar8 __ovld __cnfn convert_uchar8_rte(uint8);
  3247. uchar8 __ovld __cnfn convert_uchar8_sat_rte(uint8);
  3248. uchar8 __ovld __cnfn convert_uchar8_rtz(uint8);
  3249. uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uint8);
  3250. uchar8 __ovld __cnfn convert_uchar8_rtp(uint8);
  3251. uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uint8);
  3252. uchar8 __ovld __cnfn convert_uchar8_rtn(uint8);
  3253. uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uint8);
  3254. uchar8 __ovld __cnfn convert_uchar8(uint8);
  3255. uchar8 __ovld __cnfn convert_uchar8_sat(uint8);
  3256. uchar8 __ovld __cnfn convert_uchar8_rte(long8);
  3257. uchar8 __ovld __cnfn convert_uchar8_sat_rte(long8);
  3258. uchar8 __ovld __cnfn convert_uchar8_rtz(long8);
  3259. uchar8 __ovld __cnfn convert_uchar8_sat_rtz(long8);
  3260. uchar8 __ovld __cnfn convert_uchar8_rtp(long8);
  3261. uchar8 __ovld __cnfn convert_uchar8_sat_rtp(long8);
  3262. uchar8 __ovld __cnfn convert_uchar8_rtn(long8);
  3263. uchar8 __ovld __cnfn convert_uchar8_sat_rtn(long8);
  3264. uchar8 __ovld __cnfn convert_uchar8(long8);
  3265. uchar8 __ovld __cnfn convert_uchar8_sat(long8);
  3266. uchar8 __ovld __cnfn convert_uchar8_rte(ulong8);
  3267. uchar8 __ovld __cnfn convert_uchar8_sat_rte(ulong8);
  3268. uchar8 __ovld __cnfn convert_uchar8_rtz(ulong8);
  3269. uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ulong8);
  3270. uchar8 __ovld __cnfn convert_uchar8_rtp(ulong8);
  3271. uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ulong8);
  3272. uchar8 __ovld __cnfn convert_uchar8_rtn(ulong8);
  3273. uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ulong8);
  3274. uchar8 __ovld __cnfn convert_uchar8(ulong8);
  3275. uchar8 __ovld __cnfn convert_uchar8_sat(ulong8);
  3276. uchar8 __ovld __cnfn convert_uchar8_rte(float8);
  3277. uchar8 __ovld __cnfn convert_uchar8_sat_rte(float8);
  3278. uchar8 __ovld __cnfn convert_uchar8_rtz(float8);
  3279. uchar8 __ovld __cnfn convert_uchar8_sat_rtz(float8);
  3280. uchar8 __ovld __cnfn convert_uchar8_rtp(float8);
  3281. uchar8 __ovld __cnfn convert_uchar8_sat_rtp(float8);
  3282. uchar8 __ovld __cnfn convert_uchar8_rtn(float8);
  3283. uchar8 __ovld __cnfn convert_uchar8_sat_rtn(float8);
  3284. uchar8 __ovld __cnfn convert_uchar8(float8);
  3285. uchar8 __ovld __cnfn convert_uchar8_sat(float8);
  3286. short8 __ovld __cnfn convert_short8_rte(char8);
  3287. short8 __ovld __cnfn convert_short8_sat_rte(char8);
  3288. short8 __ovld __cnfn convert_short8_rtz(char8);
  3289. short8 __ovld __cnfn convert_short8_sat_rtz(char8);
  3290. short8 __ovld __cnfn convert_short8_rtp(char8);
  3291. short8 __ovld __cnfn convert_short8_sat_rtp(char8);
  3292. short8 __ovld __cnfn convert_short8_rtn(char8);
  3293. short8 __ovld __cnfn convert_short8_sat_rtn(char8);
  3294. short8 __ovld __cnfn convert_short8(char8);
  3295. short8 __ovld __cnfn convert_short8_sat(char8);
  3296. short8 __ovld __cnfn convert_short8_rte(uchar8);
  3297. short8 __ovld __cnfn convert_short8_sat_rte(uchar8);
  3298. short8 __ovld __cnfn convert_short8_rtz(uchar8);
  3299. short8 __ovld __cnfn convert_short8_sat_rtz(uchar8);
  3300. short8 __ovld __cnfn convert_short8_rtp(uchar8);
  3301. short8 __ovld __cnfn convert_short8_sat_rtp(uchar8);
  3302. short8 __ovld __cnfn convert_short8_rtn(uchar8);
  3303. short8 __ovld __cnfn convert_short8_sat_rtn(uchar8);
  3304. short8 __ovld __cnfn convert_short8(uchar8);
  3305. short8 __ovld __cnfn convert_short8_sat(uchar8);
  3306. short8 __ovld __cnfn convert_short8_rte(short8);
  3307. short8 __ovld __cnfn convert_short8_sat_rte(short8);
  3308. short8 __ovld __cnfn convert_short8_rtz(short8);
  3309. short8 __ovld __cnfn convert_short8_sat_rtz(short8);
  3310. short8 __ovld __cnfn convert_short8_rtp(short8);
  3311. short8 __ovld __cnfn convert_short8_sat_rtp(short8);
  3312. short8 __ovld __cnfn convert_short8_rtn(short8);
  3313. short8 __ovld __cnfn convert_short8_sat_rtn(short8);
  3314. short8 __ovld __cnfn convert_short8(short8);
  3315. short8 __ovld __cnfn convert_short8_sat(short8);
  3316. short8 __ovld __cnfn convert_short8_rte(ushort8);
  3317. short8 __ovld __cnfn convert_short8_sat_rte(ushort8);
  3318. short8 __ovld __cnfn convert_short8_rtz(ushort8);
  3319. short8 __ovld __cnfn convert_short8_sat_rtz(ushort8);
  3320. short8 __ovld __cnfn convert_short8_rtp(ushort8);
  3321. short8 __ovld __cnfn convert_short8_sat_rtp(ushort8);
  3322. short8 __ovld __cnfn convert_short8_rtn(ushort8);
  3323. short8 __ovld __cnfn convert_short8_sat_rtn(ushort8);
  3324. short8 __ovld __cnfn convert_short8(ushort8);
  3325. short8 __ovld __cnfn convert_short8_sat(ushort8);
  3326. short8 __ovld __cnfn convert_short8_rte(int8);
  3327. short8 __ovld __cnfn convert_short8_sat_rte(int8);
  3328. short8 __ovld __cnfn convert_short8_rtz(int8);
  3329. short8 __ovld __cnfn convert_short8_sat_rtz(int8);
  3330. short8 __ovld __cnfn convert_short8_rtp(int8);
  3331. short8 __ovld __cnfn convert_short8_sat_rtp(int8);
  3332. short8 __ovld __cnfn convert_short8_rtn(int8);
  3333. short8 __ovld __cnfn convert_short8_sat_rtn(int8);
  3334. short8 __ovld __cnfn convert_short8(int8);
  3335. short8 __ovld __cnfn convert_short8_sat(int8);
  3336. short8 __ovld __cnfn convert_short8_rte(uint8);
  3337. short8 __ovld __cnfn convert_short8_sat_rte(uint8);
  3338. short8 __ovld __cnfn convert_short8_rtz(uint8);
  3339. short8 __ovld __cnfn convert_short8_sat_rtz(uint8);
  3340. short8 __ovld __cnfn convert_short8_rtp(uint8);
  3341. short8 __ovld __cnfn convert_short8_sat_rtp(uint8);
  3342. short8 __ovld __cnfn convert_short8_rtn(uint8);
  3343. short8 __ovld __cnfn convert_short8_sat_rtn(uint8);
  3344. short8 __ovld __cnfn convert_short8(uint8);
  3345. short8 __ovld __cnfn convert_short8_sat(uint8);
  3346. short8 __ovld __cnfn convert_short8_rte(long8);
  3347. short8 __ovld __cnfn convert_short8_sat_rte(long8);
  3348. short8 __ovld __cnfn convert_short8_rtz(long8);
  3349. short8 __ovld __cnfn convert_short8_sat_rtz(long8);
  3350. short8 __ovld __cnfn convert_short8_rtp(long8);
  3351. short8 __ovld __cnfn convert_short8_sat_rtp(long8);
  3352. short8 __ovld __cnfn convert_short8_rtn(long8);
  3353. short8 __ovld __cnfn convert_short8_sat_rtn(long8);
  3354. short8 __ovld __cnfn convert_short8(long8);
  3355. short8 __ovld __cnfn convert_short8_sat(long8);
  3356. short8 __ovld __cnfn convert_short8_rte(ulong8);
  3357. short8 __ovld __cnfn convert_short8_sat_rte(ulong8);
  3358. short8 __ovld __cnfn convert_short8_rtz(ulong8);
  3359. short8 __ovld __cnfn convert_short8_sat_rtz(ulong8);
  3360. short8 __ovld __cnfn convert_short8_rtp(ulong8);
  3361. short8 __ovld __cnfn convert_short8_sat_rtp(ulong8);
  3362. short8 __ovld __cnfn convert_short8_rtn(ulong8);
  3363. short8 __ovld __cnfn convert_short8_sat_rtn(ulong8);
  3364. short8 __ovld __cnfn convert_short8(ulong8);
  3365. short8 __ovld __cnfn convert_short8_sat(ulong8);
  3366. short8 __ovld __cnfn convert_short8_rte(float8);
  3367. short8 __ovld __cnfn convert_short8_sat_rte(float8);
  3368. short8 __ovld __cnfn convert_short8_rtz(float8);
  3369. short8 __ovld __cnfn convert_short8_sat_rtz(float8);
  3370. short8 __ovld __cnfn convert_short8_rtp(float8);
  3371. short8 __ovld __cnfn convert_short8_sat_rtp(float8);
  3372. short8 __ovld __cnfn convert_short8_rtn(float8);
  3373. short8 __ovld __cnfn convert_short8_sat_rtn(float8);
  3374. short8 __ovld __cnfn convert_short8(float8);
  3375. short8 __ovld __cnfn convert_short8_sat(float8);
  3376. ushort8 __ovld __cnfn convert_ushort8_rte(char8);
  3377. ushort8 __ovld __cnfn convert_ushort8_sat_rte(char8);
  3378. ushort8 __ovld __cnfn convert_ushort8_rtz(char8);
  3379. ushort8 __ovld __cnfn convert_ushort8_sat_rtz(char8);
  3380. ushort8 __ovld __cnfn convert_ushort8_rtp(char8);
  3381. ushort8 __ovld __cnfn convert_ushort8_sat_rtp(char8);
  3382. ushort8 __ovld __cnfn convert_ushort8_rtn(char8);
  3383. ushort8 __ovld __cnfn convert_ushort8_sat_rtn(char8);
  3384. ushort8 __ovld __cnfn convert_ushort8(char8);
  3385. ushort8 __ovld __cnfn convert_ushort8_sat(char8);
  3386. ushort8 __ovld __cnfn convert_ushort8_rte(uchar8);
  3387. ushort8 __ovld __cnfn convert_ushort8_sat_rte(uchar8);
  3388. ushort8 __ovld __cnfn convert_ushort8_rtz(uchar8);
  3389. ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uchar8);
  3390. ushort8 __ovld __cnfn convert_ushort8_rtp(uchar8);
  3391. ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uchar8);
  3392. ushort8 __ovld __cnfn convert_ushort8_rtn(uchar8);
  3393. ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uchar8);
  3394. ushort8 __ovld __cnfn convert_ushort8(uchar8);
  3395. ushort8 __ovld __cnfn convert_ushort8_sat(uchar8);
  3396. ushort8 __ovld __cnfn convert_ushort8_rte(short8);
  3397. ushort8 __ovld __cnfn convert_ushort8_sat_rte(short8);
  3398. ushort8 __ovld __cnfn convert_ushort8_rtz(short8);
  3399. ushort8 __ovld __cnfn convert_ushort8_sat_rtz(short8);
  3400. ushort8 __ovld __cnfn convert_ushort8_rtp(short8);
  3401. ushort8 __ovld __cnfn convert_ushort8_sat_rtp(short8);
  3402. ushort8 __ovld __cnfn convert_ushort8_rtn(short8);
  3403. ushort8 __ovld __cnfn convert_ushort8_sat_rtn(short8);
  3404. ushort8 __ovld __cnfn convert_ushort8(short8);
  3405. ushort8 __ovld __cnfn convert_ushort8_sat(short8);
  3406. ushort8 __ovld __cnfn convert_ushort8_rte(ushort8);
  3407. ushort8 __ovld __cnfn convert_ushort8_sat_rte(ushort8);
  3408. ushort8 __ovld __cnfn convert_ushort8_rtz(ushort8);
  3409. ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ushort8);
  3410. ushort8 __ovld __cnfn convert_ushort8_rtp(ushort8);
  3411. ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ushort8);
  3412. ushort8 __ovld __cnfn convert_ushort8_rtn(ushort8);
  3413. ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ushort8);
  3414. ushort8 __ovld __cnfn convert_ushort8(ushort8);
  3415. ushort8 __ovld __cnfn convert_ushort8_sat(ushort8);
  3416. ushort8 __ovld __cnfn convert_ushort8_rte(int8);
  3417. ushort8 __ovld __cnfn convert_ushort8_sat_rte(int8);
  3418. ushort8 __ovld __cnfn convert_ushort8_rtz(int8);
  3419. ushort8 __ovld __cnfn convert_ushort8_sat_rtz(int8);
  3420. ushort8 __ovld __cnfn convert_ushort8_rtp(int8);
  3421. ushort8 __ovld __cnfn convert_ushort8_sat_rtp(int8);
  3422. ushort8 __ovld __cnfn convert_ushort8_rtn(int8);
  3423. ushort8 __ovld __cnfn convert_ushort8_sat_rtn(int8);
  3424. ushort8 __ovld __cnfn convert_ushort8(int8);
  3425. ushort8 __ovld __cnfn convert_ushort8_sat(int8);
  3426. ushort8 __ovld __cnfn convert_ushort8_rte(uint8);
  3427. ushort8 __ovld __cnfn convert_ushort8_sat_rte(uint8);
  3428. ushort8 __ovld __cnfn convert_ushort8_rtz(uint8);
  3429. ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uint8);
  3430. ushort8 __ovld __cnfn convert_ushort8_rtp(uint8);
  3431. ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uint8);
  3432. ushort8 __ovld __cnfn convert_ushort8_rtn(uint8);
  3433. ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uint8);
  3434. ushort8 __ovld __cnfn convert_ushort8(uint8);
  3435. ushort8 __ovld __cnfn convert_ushort8_sat(uint8);
  3436. ushort8 __ovld __cnfn convert_ushort8_rte(long8);
  3437. ushort8 __ovld __cnfn convert_ushort8_sat_rte(long8);
  3438. ushort8 __ovld __cnfn convert_ushort8_rtz(long8);
  3439. ushort8 __ovld __cnfn convert_ushort8_sat_rtz(long8);
  3440. ushort8 __ovld __cnfn convert_ushort8_rtp(long8);
  3441. ushort8 __ovld __cnfn convert_ushort8_sat_rtp(long8);
  3442. ushort8 __ovld __cnfn convert_ushort8_rtn(long8);
  3443. ushort8 __ovld __cnfn convert_ushort8_sat_rtn(long8);
  3444. ushort8 __ovld __cnfn convert_ushort8(long8);
  3445. ushort8 __ovld __cnfn convert_ushort8_sat(long8);
  3446. ushort8 __ovld __cnfn convert_ushort8_rte(ulong8);
  3447. ushort8 __ovld __cnfn convert_ushort8_sat_rte(ulong8);
  3448. ushort8 __ovld __cnfn convert_ushort8_rtz(ulong8);
  3449. ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ulong8);
  3450. ushort8 __ovld __cnfn convert_ushort8_rtp(ulong8);
  3451. ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ulong8);
  3452. ushort8 __ovld __cnfn convert_ushort8_rtn(ulong8);
  3453. ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ulong8);
  3454. ushort8 __ovld __cnfn convert_ushort8(ulong8);
  3455. ushort8 __ovld __cnfn convert_ushort8_sat(ulong8);
  3456. ushort8 __ovld __cnfn convert_ushort8_rte(float8);
  3457. ushort8 __ovld __cnfn convert_ushort8_sat_rte(float8);
  3458. ushort8 __ovld __cnfn convert_ushort8_rtz(float8);
  3459. ushort8 __ovld __cnfn convert_ushort8_sat_rtz(float8);
  3460. ushort8 __ovld __cnfn convert_ushort8_rtp(float8);
  3461. ushort8 __ovld __cnfn convert_ushort8_sat_rtp(float8);
  3462. ushort8 __ovld __cnfn convert_ushort8_rtn(float8);
  3463. ushort8 __ovld __cnfn convert_ushort8_sat_rtn(float8);
  3464. ushort8 __ovld __cnfn convert_ushort8(float8);
  3465. ushort8 __ovld __cnfn convert_ushort8_sat(float8);
  3466. int8 __ovld __cnfn convert_int8_rte(char8);
  3467. int8 __ovld __cnfn convert_int8_sat_rte(char8);
  3468. int8 __ovld __cnfn convert_int8_rtz(char8);
  3469. int8 __ovld __cnfn convert_int8_sat_rtz(char8);
  3470. int8 __ovld __cnfn convert_int8_rtp(char8);
  3471. int8 __ovld __cnfn convert_int8_sat_rtp(char8);
  3472. int8 __ovld __cnfn convert_int8_rtn(char8);
  3473. int8 __ovld __cnfn convert_int8_sat_rtn(char8);
  3474. int8 __ovld __cnfn convert_int8(char8);
  3475. int8 __ovld __cnfn convert_int8_sat(char8);
  3476. int8 __ovld __cnfn convert_int8_rte(uchar8);
  3477. int8 __ovld __cnfn convert_int8_sat_rte(uchar8);
  3478. int8 __ovld __cnfn convert_int8_rtz(uchar8);
  3479. int8 __ovld __cnfn convert_int8_sat_rtz(uchar8);
  3480. int8 __ovld __cnfn convert_int8_rtp(uchar8);
  3481. int8 __ovld __cnfn convert_int8_sat_rtp(uchar8);
  3482. int8 __ovld __cnfn convert_int8_rtn(uchar8);
  3483. int8 __ovld __cnfn convert_int8_sat_rtn(uchar8);
  3484. int8 __ovld __cnfn convert_int8(uchar8);
  3485. int8 __ovld __cnfn convert_int8_sat(uchar8);
  3486. int8 __ovld __cnfn convert_int8_rte(short8);
  3487. int8 __ovld __cnfn convert_int8_sat_rte(short8);
  3488. int8 __ovld __cnfn convert_int8_rtz(short8);
  3489. int8 __ovld __cnfn convert_int8_sat_rtz(short8);
  3490. int8 __ovld __cnfn convert_int8_rtp(short8);
  3491. int8 __ovld __cnfn convert_int8_sat_rtp(short8);
  3492. int8 __ovld __cnfn convert_int8_rtn(short8);
  3493. int8 __ovld __cnfn convert_int8_sat_rtn(short8);
  3494. int8 __ovld __cnfn convert_int8(short8);
  3495. int8 __ovld __cnfn convert_int8_sat(short8);
  3496. int8 __ovld __cnfn convert_int8_rte(ushort8);
  3497. int8 __ovld __cnfn convert_int8_sat_rte(ushort8);
  3498. int8 __ovld __cnfn convert_int8_rtz(ushort8);
  3499. int8 __ovld __cnfn convert_int8_sat_rtz(ushort8);
  3500. int8 __ovld __cnfn convert_int8_rtp(ushort8);
  3501. int8 __ovld __cnfn convert_int8_sat_rtp(ushort8);
  3502. int8 __ovld __cnfn convert_int8_rtn(ushort8);
  3503. int8 __ovld __cnfn convert_int8_sat_rtn(ushort8);
  3504. int8 __ovld __cnfn convert_int8(ushort8);
  3505. int8 __ovld __cnfn convert_int8_sat(ushort8);
  3506. int8 __ovld __cnfn convert_int8_rte(int8);
  3507. int8 __ovld __cnfn convert_int8_sat_rte(int8);
  3508. int8 __ovld __cnfn convert_int8_rtz(int8);
  3509. int8 __ovld __cnfn convert_int8_sat_rtz(int8);
  3510. int8 __ovld __cnfn convert_int8_rtp(int8);
  3511. int8 __ovld __cnfn convert_int8_sat_rtp(int8);
  3512. int8 __ovld __cnfn convert_int8_rtn(int8);
  3513. int8 __ovld __cnfn convert_int8_sat_rtn(int8);
  3514. int8 __ovld __cnfn convert_int8(int8);
  3515. int8 __ovld __cnfn convert_int8_sat(int8);
  3516. int8 __ovld __cnfn convert_int8_rte(uint8);
  3517. int8 __ovld __cnfn convert_int8_sat_rte(uint8);
  3518. int8 __ovld __cnfn convert_int8_rtz(uint8);
  3519. int8 __ovld __cnfn convert_int8_sat_rtz(uint8);
  3520. int8 __ovld __cnfn convert_int8_rtp(uint8);
  3521. int8 __ovld __cnfn convert_int8_sat_rtp(uint8);
  3522. int8 __ovld __cnfn convert_int8_rtn(uint8);
  3523. int8 __ovld __cnfn convert_int8_sat_rtn(uint8);
  3524. int8 __ovld __cnfn convert_int8(uint8);
  3525. int8 __ovld __cnfn convert_int8_sat(uint8);
  3526. int8 __ovld __cnfn convert_int8_rte(long8);
  3527. int8 __ovld __cnfn convert_int8_sat_rte(long8);
  3528. int8 __ovld __cnfn convert_int8_rtz(long8);
  3529. int8 __ovld __cnfn convert_int8_sat_rtz(long8);
  3530. int8 __ovld __cnfn convert_int8_rtp(long8);
  3531. int8 __ovld __cnfn convert_int8_sat_rtp(long8);
  3532. int8 __ovld __cnfn convert_int8_rtn(long8);
  3533. int8 __ovld __cnfn convert_int8_sat_rtn(long8);
  3534. int8 __ovld __cnfn convert_int8(long8);
  3535. int8 __ovld __cnfn convert_int8_sat(long8);
  3536. int8 __ovld __cnfn convert_int8_rte(ulong8);
  3537. int8 __ovld __cnfn convert_int8_sat_rte(ulong8);
  3538. int8 __ovld __cnfn convert_int8_rtz(ulong8);
  3539. int8 __ovld __cnfn convert_int8_sat_rtz(ulong8);
  3540. int8 __ovld __cnfn convert_int8_rtp(ulong8);
  3541. int8 __ovld __cnfn convert_int8_sat_rtp(ulong8);
  3542. int8 __ovld __cnfn convert_int8_rtn(ulong8);
  3543. int8 __ovld __cnfn convert_int8_sat_rtn(ulong8);
  3544. int8 __ovld __cnfn convert_int8(ulong8);
  3545. int8 __ovld __cnfn convert_int8_sat(ulong8);
  3546. int8 __ovld __cnfn convert_int8_rte(float8);
  3547. int8 __ovld __cnfn convert_int8_sat_rte(float8);
  3548. int8 __ovld __cnfn convert_int8_rtz(float8);
  3549. int8 __ovld __cnfn convert_int8_sat_rtz(float8);
  3550. int8 __ovld __cnfn convert_int8_rtp(float8);
  3551. int8 __ovld __cnfn convert_int8_sat_rtp(float8);
  3552. int8 __ovld __cnfn convert_int8_rtn(float8);
  3553. int8 __ovld __cnfn convert_int8_sat_rtn(float8);
  3554. int8 __ovld __cnfn convert_int8(float8);
  3555. int8 __ovld __cnfn convert_int8_sat(float8);
  3556. uint8 __ovld __cnfn convert_uint8_rte(char8);
  3557. uint8 __ovld __cnfn convert_uint8_sat_rte(char8);
  3558. uint8 __ovld __cnfn convert_uint8_rtz(char8);
  3559. uint8 __ovld __cnfn convert_uint8_sat_rtz(char8);
  3560. uint8 __ovld __cnfn convert_uint8_rtp(char8);
  3561. uint8 __ovld __cnfn convert_uint8_sat_rtp(char8);
  3562. uint8 __ovld __cnfn convert_uint8_rtn(char8);
  3563. uint8 __ovld __cnfn convert_uint8_sat_rtn(char8);
  3564. uint8 __ovld __cnfn convert_uint8(char8);
  3565. uint8 __ovld __cnfn convert_uint8_sat(char8);
  3566. uint8 __ovld __cnfn convert_uint8_rte(uchar8);
  3567. uint8 __ovld __cnfn convert_uint8_sat_rte(uchar8);
  3568. uint8 __ovld __cnfn convert_uint8_rtz(uchar8);
  3569. uint8 __ovld __cnfn convert_uint8_sat_rtz(uchar8);
  3570. uint8 __ovld __cnfn convert_uint8_rtp(uchar8);
  3571. uint8 __ovld __cnfn convert_uint8_sat_rtp(uchar8);
  3572. uint8 __ovld __cnfn convert_uint8_rtn(uchar8);
  3573. uint8 __ovld __cnfn convert_uint8_sat_rtn(uchar8);
  3574. uint8 __ovld __cnfn convert_uint8(uchar8);
  3575. uint8 __ovld __cnfn convert_uint8_sat(uchar8);
  3576. uint8 __ovld __cnfn convert_uint8_rte(short8);
  3577. uint8 __ovld __cnfn convert_uint8_sat_rte(short8);
  3578. uint8 __ovld __cnfn convert_uint8_rtz(short8);
  3579. uint8 __ovld __cnfn convert_uint8_sat_rtz(short8);
  3580. uint8 __ovld __cnfn convert_uint8_rtp(short8);
  3581. uint8 __ovld __cnfn convert_uint8_sat_rtp(short8);
  3582. uint8 __ovld __cnfn convert_uint8_rtn(short8);
  3583. uint8 __ovld __cnfn convert_uint8_sat_rtn(short8);
  3584. uint8 __ovld __cnfn convert_uint8(short8);
  3585. uint8 __ovld __cnfn convert_uint8_sat(short8);
  3586. uint8 __ovld __cnfn convert_uint8_rte(ushort8);
  3587. uint8 __ovld __cnfn convert_uint8_sat_rte(ushort8);
  3588. uint8 __ovld __cnfn convert_uint8_rtz(ushort8);
  3589. uint8 __ovld __cnfn convert_uint8_sat_rtz(ushort8);
  3590. uint8 __ovld __cnfn convert_uint8_rtp(ushort8);
  3591. uint8 __ovld __cnfn convert_uint8_sat_rtp(ushort8);
  3592. uint8 __ovld __cnfn convert_uint8_rtn(ushort8);
  3593. uint8 __ovld __cnfn convert_uint8_sat_rtn(ushort8);
  3594. uint8 __ovld __cnfn convert_uint8(ushort8);
  3595. uint8 __ovld __cnfn convert_uint8_sat(ushort8);
  3596. uint8 __ovld __cnfn convert_uint8_rte(int8);
  3597. uint8 __ovld __cnfn convert_uint8_sat_rte(int8);
  3598. uint8 __ovld __cnfn convert_uint8_rtz(int8);
  3599. uint8 __ovld __cnfn convert_uint8_sat_rtz(int8);
  3600. uint8 __ovld __cnfn convert_uint8_rtp(int8);
  3601. uint8 __ovld __cnfn convert_uint8_sat_rtp(int8);
  3602. uint8 __ovld __cnfn convert_uint8_rtn(int8);
  3603. uint8 __ovld __cnfn convert_uint8_sat_rtn(int8);
  3604. uint8 __ovld __cnfn convert_uint8(int8);
  3605. uint8 __ovld __cnfn convert_uint8_sat(int8);
  3606. uint8 __ovld __cnfn convert_uint8_rte(uint8);
  3607. uint8 __ovld __cnfn convert_uint8_sat_rte(uint8);
  3608. uint8 __ovld __cnfn convert_uint8_rtz(uint8);
  3609. uint8 __ovld __cnfn convert_uint8_sat_rtz(uint8);
  3610. uint8 __ovld __cnfn convert_uint8_rtp(uint8);
  3611. uint8 __ovld __cnfn convert_uint8_sat_rtp(uint8);
  3612. uint8 __ovld __cnfn convert_uint8_rtn(uint8);
  3613. uint8 __ovld __cnfn convert_uint8_sat_rtn(uint8);
  3614. uint8 __ovld __cnfn convert_uint8(uint8);
  3615. uint8 __ovld __cnfn convert_uint8_sat(uint8);
  3616. uint8 __ovld __cnfn convert_uint8_rte(long8);
  3617. uint8 __ovld __cnfn convert_uint8_sat_rte(long8);
  3618. uint8 __ovld __cnfn convert_uint8_rtz(long8);
  3619. uint8 __ovld __cnfn convert_uint8_sat_rtz(long8);
  3620. uint8 __ovld __cnfn convert_uint8_rtp(long8);
  3621. uint8 __ovld __cnfn convert_uint8_sat_rtp(long8);
  3622. uint8 __ovld __cnfn convert_uint8_rtn(long8);
  3623. uint8 __ovld __cnfn convert_uint8_sat_rtn(long8);
  3624. uint8 __ovld __cnfn convert_uint8(long8);
  3625. uint8 __ovld __cnfn convert_uint8_sat(long8);
  3626. uint8 __ovld __cnfn convert_uint8_rte(ulong8);
  3627. uint8 __ovld __cnfn convert_uint8_sat_rte(ulong8);
  3628. uint8 __ovld __cnfn convert_uint8_rtz(ulong8);
  3629. uint8 __ovld __cnfn convert_uint8_sat_rtz(ulong8);
  3630. uint8 __ovld __cnfn convert_uint8_rtp(ulong8);
  3631. uint8 __ovld __cnfn convert_uint8_sat_rtp(ulong8);
  3632. uint8 __ovld __cnfn convert_uint8_rtn(ulong8);
  3633. uint8 __ovld __cnfn convert_uint8_sat_rtn(ulong8);
  3634. uint8 __ovld __cnfn convert_uint8(ulong8);
  3635. uint8 __ovld __cnfn convert_uint8_sat(ulong8);
  3636. uint8 __ovld __cnfn convert_uint8_rte(float8);
  3637. uint8 __ovld __cnfn convert_uint8_sat_rte(float8);
  3638. uint8 __ovld __cnfn convert_uint8_rtz(float8);
  3639. uint8 __ovld __cnfn convert_uint8_sat_rtz(float8);
  3640. uint8 __ovld __cnfn convert_uint8_rtp(float8);
  3641. uint8 __ovld __cnfn convert_uint8_sat_rtp(float8);
  3642. uint8 __ovld __cnfn convert_uint8_rtn(float8);
  3643. uint8 __ovld __cnfn convert_uint8_sat_rtn(float8);
  3644. uint8 __ovld __cnfn convert_uint8(float8);
  3645. uint8 __ovld __cnfn convert_uint8_sat(float8);
  3646. long8 __ovld __cnfn convert_long8_rte(char8);
  3647. long8 __ovld __cnfn convert_long8_sat_rte(char8);
  3648. long8 __ovld __cnfn convert_long8_rtz(char8);
  3649. long8 __ovld __cnfn convert_long8_sat_rtz(char8);
  3650. long8 __ovld __cnfn convert_long8_rtp(char8);
  3651. long8 __ovld __cnfn convert_long8_sat_rtp(char8);
  3652. long8 __ovld __cnfn convert_long8_rtn(char8);
  3653. long8 __ovld __cnfn convert_long8_sat_rtn(char8);
  3654. long8 __ovld __cnfn convert_long8(char8);
  3655. long8 __ovld __cnfn convert_long8_sat(char8);
  3656. long8 __ovld __cnfn convert_long8_rte(uchar8);
  3657. long8 __ovld __cnfn convert_long8_sat_rte(uchar8);
  3658. long8 __ovld __cnfn convert_long8_rtz(uchar8);
  3659. long8 __ovld __cnfn convert_long8_sat_rtz(uchar8);
  3660. long8 __ovld __cnfn convert_long8_rtp(uchar8);
  3661. long8 __ovld __cnfn convert_long8_sat_rtp(uchar8);
  3662. long8 __ovld __cnfn convert_long8_rtn(uchar8);
  3663. long8 __ovld __cnfn convert_long8_sat_rtn(uchar8);
  3664. long8 __ovld __cnfn convert_long8(uchar8);
  3665. long8 __ovld __cnfn convert_long8_sat(uchar8);
  3666. long8 __ovld __cnfn convert_long8_rte(short8);
  3667. long8 __ovld __cnfn convert_long8_sat_rte(short8);
  3668. long8 __ovld __cnfn convert_long8_rtz(short8);
  3669. long8 __ovld __cnfn convert_long8_sat_rtz(short8);
  3670. long8 __ovld __cnfn convert_long8_rtp(short8);
  3671. long8 __ovld __cnfn convert_long8_sat_rtp(short8);
  3672. long8 __ovld __cnfn convert_long8_rtn(short8);
  3673. long8 __ovld __cnfn convert_long8_sat_rtn(short8);
  3674. long8 __ovld __cnfn convert_long8(short8);
  3675. long8 __ovld __cnfn convert_long8_sat(short8);
  3676. long8 __ovld __cnfn convert_long8_rte(ushort8);
  3677. long8 __ovld __cnfn convert_long8_sat_rte(ushort8);
  3678. long8 __ovld __cnfn convert_long8_rtz(ushort8);
  3679. long8 __ovld __cnfn convert_long8_sat_rtz(ushort8);
  3680. long8 __ovld __cnfn convert_long8_rtp(ushort8);
  3681. long8 __ovld __cnfn convert_long8_sat_rtp(ushort8);
  3682. long8 __ovld __cnfn convert_long8_rtn(ushort8);
  3683. long8 __ovld __cnfn convert_long8_sat_rtn(ushort8);
  3684. long8 __ovld __cnfn convert_long8(ushort8);
  3685. long8 __ovld __cnfn convert_long8_sat(ushort8);
  3686. long8 __ovld __cnfn convert_long8_rte(int8);
  3687. long8 __ovld __cnfn convert_long8_sat_rte(int8);
  3688. long8 __ovld __cnfn convert_long8_rtz(int8);
  3689. long8 __ovld __cnfn convert_long8_sat_rtz(int8);
  3690. long8 __ovld __cnfn convert_long8_rtp(int8);
  3691. long8 __ovld __cnfn convert_long8_sat_rtp(int8);
  3692. long8 __ovld __cnfn convert_long8_rtn(int8);
  3693. long8 __ovld __cnfn convert_long8_sat_rtn(int8);
  3694. long8 __ovld __cnfn convert_long8(int8);
  3695. long8 __ovld __cnfn convert_long8_sat(int8);
  3696. long8 __ovld __cnfn convert_long8_rte(uint8);
  3697. long8 __ovld __cnfn convert_long8_sat_rte(uint8);
  3698. long8 __ovld __cnfn convert_long8_rtz(uint8);
  3699. long8 __ovld __cnfn convert_long8_sat_rtz(uint8);
  3700. long8 __ovld __cnfn convert_long8_rtp(uint8);
  3701. long8 __ovld __cnfn convert_long8_sat_rtp(uint8);
  3702. long8 __ovld __cnfn convert_long8_rtn(uint8);
  3703. long8 __ovld __cnfn convert_long8_sat_rtn(uint8);
  3704. long8 __ovld __cnfn convert_long8(uint8);
  3705. long8 __ovld __cnfn convert_long8_sat(uint8);
  3706. long8 __ovld __cnfn convert_long8_rte(long8);
  3707. long8 __ovld __cnfn convert_long8_sat_rte(long8);
  3708. long8 __ovld __cnfn convert_long8_rtz(long8);
  3709. long8 __ovld __cnfn convert_long8_sat_rtz(long8);
  3710. long8 __ovld __cnfn convert_long8_rtp(long8);
  3711. long8 __ovld __cnfn convert_long8_sat_rtp(long8);
  3712. long8 __ovld __cnfn convert_long8_rtn(long8);
  3713. long8 __ovld __cnfn convert_long8_sat_rtn(long8);
  3714. long8 __ovld __cnfn convert_long8(long8);
  3715. long8 __ovld __cnfn convert_long8_sat(long8);
  3716. long8 __ovld __cnfn convert_long8_rte(ulong8);
  3717. long8 __ovld __cnfn convert_long8_sat_rte(ulong8);
  3718. long8 __ovld __cnfn convert_long8_rtz(ulong8);
  3719. long8 __ovld __cnfn convert_long8_sat_rtz(ulong8);
  3720. long8 __ovld __cnfn convert_long8_rtp(ulong8);
  3721. long8 __ovld __cnfn convert_long8_sat_rtp(ulong8);
  3722. long8 __ovld __cnfn convert_long8_rtn(ulong8);
  3723. long8 __ovld __cnfn convert_long8_sat_rtn(ulong8);
  3724. long8 __ovld __cnfn convert_long8(ulong8);
  3725. long8 __ovld __cnfn convert_long8_sat(ulong8);
  3726. long8 __ovld __cnfn convert_long8_rte(float8);
  3727. long8 __ovld __cnfn convert_long8_sat_rte(float8);
  3728. long8 __ovld __cnfn convert_long8_rtz(float8);
  3729. long8 __ovld __cnfn convert_long8_sat_rtz(float8);
  3730. long8 __ovld __cnfn convert_long8_rtp(float8);
  3731. long8 __ovld __cnfn convert_long8_sat_rtp(float8);
  3732. long8 __ovld __cnfn convert_long8_rtn(float8);
  3733. long8 __ovld __cnfn convert_long8_sat_rtn(float8);
  3734. long8 __ovld __cnfn convert_long8(float8);
  3735. long8 __ovld __cnfn convert_long8_sat(float8);
  3736. ulong8 __ovld __cnfn convert_ulong8_rte(char8);
  3737. ulong8 __ovld __cnfn convert_ulong8_sat_rte(char8);
  3738. ulong8 __ovld __cnfn convert_ulong8_rtz(char8);
  3739. ulong8 __ovld __cnfn convert_ulong8_sat_rtz(char8);
  3740. ulong8 __ovld __cnfn convert_ulong8_rtp(char8);
  3741. ulong8 __ovld __cnfn convert_ulong8_sat_rtp(char8);
  3742. ulong8 __ovld __cnfn convert_ulong8_rtn(char8);
  3743. ulong8 __ovld __cnfn convert_ulong8_sat_rtn(char8);
  3744. ulong8 __ovld __cnfn convert_ulong8(char8);
  3745. ulong8 __ovld __cnfn convert_ulong8_sat(char8);
  3746. ulong8 __ovld __cnfn convert_ulong8_rte(uchar8);
  3747. ulong8 __ovld __cnfn convert_ulong8_sat_rte(uchar8);
  3748. ulong8 __ovld __cnfn convert_ulong8_rtz(uchar8);
  3749. ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uchar8);
  3750. ulong8 __ovld __cnfn convert_ulong8_rtp(uchar8);
  3751. ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uchar8);
  3752. ulong8 __ovld __cnfn convert_ulong8_rtn(uchar8);
  3753. ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uchar8);
  3754. ulong8 __ovld __cnfn convert_ulong8(uchar8);
  3755. ulong8 __ovld __cnfn convert_ulong8_sat(uchar8);
  3756. ulong8 __ovld __cnfn convert_ulong8_rte(short8);
  3757. ulong8 __ovld __cnfn convert_ulong8_sat_rte(short8);
  3758. ulong8 __ovld __cnfn convert_ulong8_rtz(short8);
  3759. ulong8 __ovld __cnfn convert_ulong8_sat_rtz(short8);
  3760. ulong8 __ovld __cnfn convert_ulong8_rtp(short8);
  3761. ulong8 __ovld __cnfn convert_ulong8_sat_rtp(short8);
  3762. ulong8 __ovld __cnfn convert_ulong8_rtn(short8);
  3763. ulong8 __ovld __cnfn convert_ulong8_sat_rtn(short8);
  3764. ulong8 __ovld __cnfn convert_ulong8(short8);
  3765. ulong8 __ovld __cnfn convert_ulong8_sat(short8);
  3766. ulong8 __ovld __cnfn convert_ulong8_rte(ushort8);
  3767. ulong8 __ovld __cnfn convert_ulong8_sat_rte(ushort8);
  3768. ulong8 __ovld __cnfn convert_ulong8_rtz(ushort8);
  3769. ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ushort8);
  3770. ulong8 __ovld __cnfn convert_ulong8_rtp(ushort8);
  3771. ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ushort8);
  3772. ulong8 __ovld __cnfn convert_ulong8_rtn(ushort8);
  3773. ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ushort8);
  3774. ulong8 __ovld __cnfn convert_ulong8(ushort8);
  3775. ulong8 __ovld __cnfn convert_ulong8_sat(ushort8);
  3776. ulong8 __ovld __cnfn convert_ulong8_rte(int8);
  3777. ulong8 __ovld __cnfn convert_ulong8_sat_rte(int8);
  3778. ulong8 __ovld __cnfn convert_ulong8_rtz(int8);
  3779. ulong8 __ovld __cnfn convert_ulong8_sat_rtz(int8);
  3780. ulong8 __ovld __cnfn convert_ulong8_rtp(int8);
  3781. ulong8 __ovld __cnfn convert_ulong8_sat_rtp(int8);
  3782. ulong8 __ovld __cnfn convert_ulong8_rtn(int8);
  3783. ulong8 __ovld __cnfn convert_ulong8_sat_rtn(int8);
  3784. ulong8 __ovld __cnfn convert_ulong8(int8);
  3785. ulong8 __ovld __cnfn convert_ulong8_sat(int8);
  3786. ulong8 __ovld __cnfn convert_ulong8_rte(uint8);
  3787. ulong8 __ovld __cnfn convert_ulong8_sat_rte(uint8);
  3788. ulong8 __ovld __cnfn convert_ulong8_rtz(uint8);
  3789. ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uint8);
  3790. ulong8 __ovld __cnfn convert_ulong8_rtp(uint8);
  3791. ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uint8);
  3792. ulong8 __ovld __cnfn convert_ulong8_rtn(uint8);
  3793. ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uint8);
  3794. ulong8 __ovld __cnfn convert_ulong8(uint8);
  3795. ulong8 __ovld __cnfn convert_ulong8_sat(uint8);
  3796. ulong8 __ovld __cnfn convert_ulong8_rte(long8);
  3797. ulong8 __ovld __cnfn convert_ulong8_sat_rte(long8);
  3798. ulong8 __ovld __cnfn convert_ulong8_rtz(long8);
  3799. ulong8 __ovld __cnfn convert_ulong8_sat_rtz(long8);
  3800. ulong8 __ovld __cnfn convert_ulong8_rtp(long8);
  3801. ulong8 __ovld __cnfn convert_ulong8_sat_rtp(long8);
  3802. ulong8 __ovld __cnfn convert_ulong8_rtn(long8);
  3803. ulong8 __ovld __cnfn convert_ulong8_sat_rtn(long8);
  3804. ulong8 __ovld __cnfn convert_ulong8(long8);
  3805. ulong8 __ovld __cnfn convert_ulong8_sat(long8);
  3806. ulong8 __ovld __cnfn convert_ulong8_rte(ulong8);
  3807. ulong8 __ovld __cnfn convert_ulong8_sat_rte(ulong8);
  3808. ulong8 __ovld __cnfn convert_ulong8_rtz(ulong8);
  3809. ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ulong8);
  3810. ulong8 __ovld __cnfn convert_ulong8_rtp(ulong8);
  3811. ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ulong8);
  3812. ulong8 __ovld __cnfn convert_ulong8_rtn(ulong8);
  3813. ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ulong8);
  3814. ulong8 __ovld __cnfn convert_ulong8(ulong8);
  3815. ulong8 __ovld __cnfn convert_ulong8_sat(ulong8);
  3816. ulong8 __ovld __cnfn convert_ulong8_rte(float8);
  3817. ulong8 __ovld __cnfn convert_ulong8_sat_rte(float8);
  3818. ulong8 __ovld __cnfn convert_ulong8_rtz(float8);
  3819. ulong8 __ovld __cnfn convert_ulong8_sat_rtz(float8);
  3820. ulong8 __ovld __cnfn convert_ulong8_rtp(float8);
  3821. ulong8 __ovld __cnfn convert_ulong8_sat_rtp(float8);
  3822. ulong8 __ovld __cnfn convert_ulong8_rtn(float8);
  3823. ulong8 __ovld __cnfn convert_ulong8_sat_rtn(float8);
  3824. ulong8 __ovld __cnfn convert_ulong8(float8);
  3825. ulong8 __ovld __cnfn convert_ulong8_sat(float8);
  3826. float8 __ovld __cnfn convert_float8_rte(char8);
  3827. float8 __ovld __cnfn convert_float8_rtz(char8);
  3828. float8 __ovld __cnfn convert_float8_rtp(char8);
  3829. float8 __ovld __cnfn convert_float8_rtn(char8);
  3830. float8 __ovld __cnfn convert_float8(char8);
  3831. float8 __ovld __cnfn convert_float8_rte(uchar8);
  3832. float8 __ovld __cnfn convert_float8_rtz(uchar8);
  3833. float8 __ovld __cnfn convert_float8_rtp(uchar8);
  3834. float8 __ovld __cnfn convert_float8_rtn(uchar8);
  3835. float8 __ovld __cnfn convert_float8(uchar8);
  3836. float8 __ovld __cnfn convert_float8_rte(short8);
  3837. float8 __ovld __cnfn convert_float8_rtz(short8);
  3838. float8 __ovld __cnfn convert_float8_rtp(short8);
  3839. float8 __ovld __cnfn convert_float8_rtn(short8);
  3840. float8 __ovld __cnfn convert_float8(short8);
  3841. float8 __ovld __cnfn convert_float8_rte(ushort8);
  3842. float8 __ovld __cnfn convert_float8_rtz(ushort8);
  3843. float8 __ovld __cnfn convert_float8_rtp(ushort8);
  3844. float8 __ovld __cnfn convert_float8_rtn(ushort8);
  3845. float8 __ovld __cnfn convert_float8(ushort8);
  3846. float8 __ovld __cnfn convert_float8_rte(int8);
  3847. float8 __ovld __cnfn convert_float8_rtz(int8);
  3848. float8 __ovld __cnfn convert_float8_rtp(int8);
  3849. float8 __ovld __cnfn convert_float8_rtn(int8);
  3850. float8 __ovld __cnfn convert_float8(int8);
  3851. float8 __ovld __cnfn convert_float8_rte(uint8);
  3852. float8 __ovld __cnfn convert_float8_rtz(uint8);
  3853. float8 __ovld __cnfn convert_float8_rtp(uint8);
  3854. float8 __ovld __cnfn convert_float8_rtn(uint8);
  3855. float8 __ovld __cnfn convert_float8(uint8);
  3856. float8 __ovld __cnfn convert_float8_rte(long8);
  3857. float8 __ovld __cnfn convert_float8_rtz(long8);
  3858. float8 __ovld __cnfn convert_float8_rtp(long8);
  3859. float8 __ovld __cnfn convert_float8_rtn(long8);
  3860. float8 __ovld __cnfn convert_float8(long8);
  3861. float8 __ovld __cnfn convert_float8_rte(ulong8);
  3862. float8 __ovld __cnfn convert_float8_rtz(ulong8);
  3863. float8 __ovld __cnfn convert_float8_rtp(ulong8);
  3864. float8 __ovld __cnfn convert_float8_rtn(ulong8);
  3865. float8 __ovld __cnfn convert_float8(ulong8);
  3866. float8 __ovld __cnfn convert_float8_rte(float8);
  3867. float8 __ovld __cnfn convert_float8_rtz(float8);
  3868. float8 __ovld __cnfn convert_float8_rtp(float8);
  3869. float8 __ovld __cnfn convert_float8_rtn(float8);
  3870. float8 __ovld __cnfn convert_float8(float8);
  3871. char16 __ovld __cnfn convert_char16_rte(char16);
  3872. char16 __ovld __cnfn convert_char16_sat_rte(char16);
  3873. char16 __ovld __cnfn convert_char16_rtz(char16);
  3874. char16 __ovld __cnfn convert_char16_sat_rtz(char16);
  3875. char16 __ovld __cnfn convert_char16_rtp(char16);
  3876. char16 __ovld __cnfn convert_char16_sat_rtp(char16);
  3877. char16 __ovld __cnfn convert_char16_rtn(char16);
  3878. char16 __ovld __cnfn convert_char16_sat_rtn(char16);
  3879. char16 __ovld __cnfn convert_char16(char16);
  3880. char16 __ovld __cnfn convert_char16_sat(char16);
  3881. char16 __ovld __cnfn convert_char16_rte(uchar16);
  3882. char16 __ovld __cnfn convert_char16_sat_rte(uchar16);
  3883. char16 __ovld __cnfn convert_char16_rtz(uchar16);
  3884. char16 __ovld __cnfn convert_char16_sat_rtz(uchar16);
  3885. char16 __ovld __cnfn convert_char16_rtp(uchar16);
  3886. char16 __ovld __cnfn convert_char16_sat_rtp(uchar16);
  3887. char16 __ovld __cnfn convert_char16_rtn(uchar16);
  3888. char16 __ovld __cnfn convert_char16_sat_rtn(uchar16);
  3889. char16 __ovld __cnfn convert_char16(uchar16);
  3890. char16 __ovld __cnfn convert_char16_sat(uchar16);
  3891. char16 __ovld __cnfn convert_char16_rte(short16);
  3892. char16 __ovld __cnfn convert_char16_sat_rte(short16);
  3893. char16 __ovld __cnfn convert_char16_rtz(short16);
  3894. char16 __ovld __cnfn convert_char16_sat_rtz(short16);
  3895. char16 __ovld __cnfn convert_char16_rtp(short16);
  3896. char16 __ovld __cnfn convert_char16_sat_rtp(short16);
  3897. char16 __ovld __cnfn convert_char16_rtn(short16);
  3898. char16 __ovld __cnfn convert_char16_sat_rtn(short16);
  3899. char16 __ovld __cnfn convert_char16(short16);
  3900. char16 __ovld __cnfn convert_char16_sat(short16);
  3901. char16 __ovld __cnfn convert_char16_rte(ushort16);
  3902. char16 __ovld __cnfn convert_char16_sat_rte(ushort16);
  3903. char16 __ovld __cnfn convert_char16_rtz(ushort16);
  3904. char16 __ovld __cnfn convert_char16_sat_rtz(ushort16);
  3905. char16 __ovld __cnfn convert_char16_rtp(ushort16);
  3906. char16 __ovld __cnfn convert_char16_sat_rtp(ushort16);
  3907. char16 __ovld __cnfn convert_char16_rtn(ushort16);
  3908. char16 __ovld __cnfn convert_char16_sat_rtn(ushort16);
  3909. char16 __ovld __cnfn convert_char16(ushort16);
  3910. char16 __ovld __cnfn convert_char16_sat(ushort16);
  3911. char16 __ovld __cnfn convert_char16_rte(int16);
  3912. char16 __ovld __cnfn convert_char16_sat_rte(int16);
  3913. char16 __ovld __cnfn convert_char16_rtz(int16);
  3914. char16 __ovld __cnfn convert_char16_sat_rtz(int16);
  3915. char16 __ovld __cnfn convert_char16_rtp(int16);
  3916. char16 __ovld __cnfn convert_char16_sat_rtp(int16);
  3917. char16 __ovld __cnfn convert_char16_rtn(int16);
  3918. char16 __ovld __cnfn convert_char16_sat_rtn(int16);
  3919. char16 __ovld __cnfn convert_char16(int16);
  3920. char16 __ovld __cnfn convert_char16_sat(int16);
  3921. char16 __ovld __cnfn convert_char16_rte(uint16);
  3922. char16 __ovld __cnfn convert_char16_sat_rte(uint16);
  3923. char16 __ovld __cnfn convert_char16_rtz(uint16);
  3924. char16 __ovld __cnfn convert_char16_sat_rtz(uint16);
  3925. char16 __ovld __cnfn convert_char16_rtp(uint16);
  3926. char16 __ovld __cnfn convert_char16_sat_rtp(uint16);
  3927. char16 __ovld __cnfn convert_char16_rtn(uint16);
  3928. char16 __ovld __cnfn convert_char16_sat_rtn(uint16);
  3929. char16 __ovld __cnfn convert_char16(uint16);
  3930. char16 __ovld __cnfn convert_char16_sat(uint16);
  3931. char16 __ovld __cnfn convert_char16_rte(long16);
  3932. char16 __ovld __cnfn convert_char16_sat_rte(long16);
  3933. char16 __ovld __cnfn convert_char16_rtz(long16);
  3934. char16 __ovld __cnfn convert_char16_sat_rtz(long16);
  3935. char16 __ovld __cnfn convert_char16_rtp(long16);
  3936. char16 __ovld __cnfn convert_char16_sat_rtp(long16);
  3937. char16 __ovld __cnfn convert_char16_rtn(long16);
  3938. char16 __ovld __cnfn convert_char16_sat_rtn(long16);
  3939. char16 __ovld __cnfn convert_char16(long16);
  3940. char16 __ovld __cnfn convert_char16_sat(long16);
  3941. char16 __ovld __cnfn convert_char16_rte(ulong16);
  3942. char16 __ovld __cnfn convert_char16_sat_rte(ulong16);
  3943. char16 __ovld __cnfn convert_char16_rtz(ulong16);
  3944. char16 __ovld __cnfn convert_char16_sat_rtz(ulong16);
  3945. char16 __ovld __cnfn convert_char16_rtp(ulong16);
  3946. char16 __ovld __cnfn convert_char16_sat_rtp(ulong16);
  3947. char16 __ovld __cnfn convert_char16_rtn(ulong16);
  3948. char16 __ovld __cnfn convert_char16_sat_rtn(ulong16);
  3949. char16 __ovld __cnfn convert_char16(ulong16);
  3950. char16 __ovld __cnfn convert_char16_sat(ulong16);
  3951. char16 __ovld __cnfn convert_char16_rte(float16);
  3952. char16 __ovld __cnfn convert_char16_sat_rte(float16);
  3953. char16 __ovld __cnfn convert_char16_rtz(float16);
  3954. char16 __ovld __cnfn convert_char16_sat_rtz(float16);
  3955. char16 __ovld __cnfn convert_char16_rtp(float16);
  3956. char16 __ovld __cnfn convert_char16_sat_rtp(float16);
  3957. char16 __ovld __cnfn convert_char16_rtn(float16);
  3958. char16 __ovld __cnfn convert_char16_sat_rtn(float16);
  3959. char16 __ovld __cnfn convert_char16(float16);
  3960. char16 __ovld __cnfn convert_char16_sat(float16);
  3961. uchar16 __ovld __cnfn convert_uchar16_rte(char16);
  3962. uchar16 __ovld __cnfn convert_uchar16_sat_rte(char16);
  3963. uchar16 __ovld __cnfn convert_uchar16_rtz(char16);
  3964. uchar16 __ovld __cnfn convert_uchar16_sat_rtz(char16);
  3965. uchar16 __ovld __cnfn convert_uchar16_rtp(char16);
  3966. uchar16 __ovld __cnfn convert_uchar16_sat_rtp(char16);
  3967. uchar16 __ovld __cnfn convert_uchar16_rtn(char16);
  3968. uchar16 __ovld __cnfn convert_uchar16_sat_rtn(char16);
  3969. uchar16 __ovld __cnfn convert_uchar16(char16);
  3970. uchar16 __ovld __cnfn convert_uchar16_sat(char16);
  3971. uchar16 __ovld __cnfn convert_uchar16_rte(uchar16);
  3972. uchar16 __ovld __cnfn convert_uchar16_sat_rte(uchar16);
  3973. uchar16 __ovld __cnfn convert_uchar16_rtz(uchar16);
  3974. uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uchar16);
  3975. uchar16 __ovld __cnfn convert_uchar16_rtp(uchar16);
  3976. uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uchar16);
  3977. uchar16 __ovld __cnfn convert_uchar16_rtn(uchar16);
  3978. uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uchar16);
  3979. uchar16 __ovld __cnfn convert_uchar16(uchar16);
  3980. uchar16 __ovld __cnfn convert_uchar16_sat(uchar16);
  3981. uchar16 __ovld __cnfn convert_uchar16_rte(short16);
  3982. uchar16 __ovld __cnfn convert_uchar16_sat_rte(short16);
  3983. uchar16 __ovld __cnfn convert_uchar16_rtz(short16);
  3984. uchar16 __ovld __cnfn convert_uchar16_sat_rtz(short16);
  3985. uchar16 __ovld __cnfn convert_uchar16_rtp(short16);
  3986. uchar16 __ovld __cnfn convert_uchar16_sat_rtp(short16);
  3987. uchar16 __ovld __cnfn convert_uchar16_rtn(short16);
  3988. uchar16 __ovld __cnfn convert_uchar16_sat_rtn(short16);
  3989. uchar16 __ovld __cnfn convert_uchar16(short16);
  3990. uchar16 __ovld __cnfn convert_uchar16_sat(short16);
  3991. uchar16 __ovld __cnfn convert_uchar16_rte(ushort16);
  3992. uchar16 __ovld __cnfn convert_uchar16_sat_rte(ushort16);
  3993. uchar16 __ovld __cnfn convert_uchar16_rtz(ushort16);
  3994. uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ushort16);
  3995. uchar16 __ovld __cnfn convert_uchar16_rtp(ushort16);
  3996. uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ushort16);
  3997. uchar16 __ovld __cnfn convert_uchar16_rtn(ushort16);
  3998. uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ushort16);
  3999. uchar16 __ovld __cnfn convert_uchar16(ushort16);
  4000. uchar16 __ovld __cnfn convert_uchar16_sat(ushort16);
  4001. uchar16 __ovld __cnfn convert_uchar16_rte(int16);
  4002. uchar16 __ovld __cnfn convert_uchar16_sat_rte(int16);
  4003. uchar16 __ovld __cnfn convert_uchar16_rtz(int16);
  4004. uchar16 __ovld __cnfn convert_uchar16_sat_rtz(int16);
  4005. uchar16 __ovld __cnfn convert_uchar16_rtp(int16);
  4006. uchar16 __ovld __cnfn convert_uchar16_sat_rtp(int16);
  4007. uchar16 __ovld __cnfn convert_uchar16_rtn(int16);
  4008. uchar16 __ovld __cnfn convert_uchar16_sat_rtn(int16);
  4009. uchar16 __ovld __cnfn convert_uchar16(int16);
  4010. uchar16 __ovld __cnfn convert_uchar16_sat(int16);
  4011. uchar16 __ovld __cnfn convert_uchar16_rte(uint16);
  4012. uchar16 __ovld __cnfn convert_uchar16_sat_rte(uint16);
  4013. uchar16 __ovld __cnfn convert_uchar16_rtz(uint16);
  4014. uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uint16);
  4015. uchar16 __ovld __cnfn convert_uchar16_rtp(uint16);
  4016. uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uint16);
  4017. uchar16 __ovld __cnfn convert_uchar16_rtn(uint16);
  4018. uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uint16);
  4019. uchar16 __ovld __cnfn convert_uchar16(uint16);
  4020. uchar16 __ovld __cnfn convert_uchar16_sat(uint16);
  4021. uchar16 __ovld __cnfn convert_uchar16_rte(long16);
  4022. uchar16 __ovld __cnfn convert_uchar16_sat_rte(long16);
  4023. uchar16 __ovld __cnfn convert_uchar16_rtz(long16);
  4024. uchar16 __ovld __cnfn convert_uchar16_sat_rtz(long16);
  4025. uchar16 __ovld __cnfn convert_uchar16_rtp(long16);
  4026. uchar16 __ovld __cnfn convert_uchar16_sat_rtp(long16);
  4027. uchar16 __ovld __cnfn convert_uchar16_rtn(long16);
  4028. uchar16 __ovld __cnfn convert_uchar16_sat_rtn(long16);
  4029. uchar16 __ovld __cnfn convert_uchar16(long16);
  4030. uchar16 __ovld __cnfn convert_uchar16_sat(long16);
  4031. uchar16 __ovld __cnfn convert_uchar16_rte(ulong16);
  4032. uchar16 __ovld __cnfn convert_uchar16_sat_rte(ulong16);
  4033. uchar16 __ovld __cnfn convert_uchar16_rtz(ulong16);
  4034. uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ulong16);
  4035. uchar16 __ovld __cnfn convert_uchar16_rtp(ulong16);
  4036. uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ulong16);
  4037. uchar16 __ovld __cnfn convert_uchar16_rtn(ulong16);
  4038. uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ulong16);
  4039. uchar16 __ovld __cnfn convert_uchar16(ulong16);
  4040. uchar16 __ovld __cnfn convert_uchar16_sat(ulong16);
  4041. uchar16 __ovld __cnfn convert_uchar16_rte(float16);
  4042. uchar16 __ovld __cnfn convert_uchar16_sat_rte(float16);
  4043. uchar16 __ovld __cnfn convert_uchar16_rtz(float16);
  4044. uchar16 __ovld __cnfn convert_uchar16_sat_rtz(float16);
  4045. uchar16 __ovld __cnfn convert_uchar16_rtp(float16);
  4046. uchar16 __ovld __cnfn convert_uchar16_sat_rtp(float16);
  4047. uchar16 __ovld __cnfn convert_uchar16_rtn(float16);
  4048. uchar16 __ovld __cnfn convert_uchar16_sat_rtn(float16);
  4049. uchar16 __ovld __cnfn convert_uchar16(float16);
  4050. uchar16 __ovld __cnfn convert_uchar16_sat(float16);
  4051. short16 __ovld __cnfn convert_short16_rte(char16);
  4052. short16 __ovld __cnfn convert_short16_sat_rte(char16);
  4053. short16 __ovld __cnfn convert_short16_rtz(char16);
  4054. short16 __ovld __cnfn convert_short16_sat_rtz(char16);
  4055. short16 __ovld __cnfn convert_short16_rtp(char16);
  4056. short16 __ovld __cnfn convert_short16_sat_rtp(char16);
  4057. short16 __ovld __cnfn convert_short16_rtn(char16);
  4058. short16 __ovld __cnfn convert_short16_sat_rtn(char16);
  4059. short16 __ovld __cnfn convert_short16(char16);
  4060. short16 __ovld __cnfn convert_short16_sat(char16);
  4061. short16 __ovld __cnfn convert_short16_rte(uchar16);
  4062. short16 __ovld __cnfn convert_short16_sat_rte(uchar16);
  4063. short16 __ovld __cnfn convert_short16_rtz(uchar16);
  4064. short16 __ovld __cnfn convert_short16_sat_rtz(uchar16);
  4065. short16 __ovld __cnfn convert_short16_rtp(uchar16);
  4066. short16 __ovld __cnfn convert_short16_sat_rtp(uchar16);
  4067. short16 __ovld __cnfn convert_short16_rtn(uchar16);
  4068. short16 __ovld __cnfn convert_short16_sat_rtn(uchar16);
  4069. short16 __ovld __cnfn convert_short16(uchar16);
  4070. short16 __ovld __cnfn convert_short16_sat(uchar16);
  4071. short16 __ovld __cnfn convert_short16_rte(short16);
  4072. short16 __ovld __cnfn convert_short16_sat_rte(short16);
  4073. short16 __ovld __cnfn convert_short16_rtz(short16);
  4074. short16 __ovld __cnfn convert_short16_sat_rtz(short16);
  4075. short16 __ovld __cnfn convert_short16_rtp(short16);
  4076. short16 __ovld __cnfn convert_short16_sat_rtp(short16);
  4077. short16 __ovld __cnfn convert_short16_rtn(short16);
  4078. short16 __ovld __cnfn convert_short16_sat_rtn(short16);
  4079. short16 __ovld __cnfn convert_short16(short16);
  4080. short16 __ovld __cnfn convert_short16_sat(short16);
  4081. short16 __ovld __cnfn convert_short16_rte(ushort16);
  4082. short16 __ovld __cnfn convert_short16_sat_rte(ushort16);
  4083. short16 __ovld __cnfn convert_short16_rtz(ushort16);
  4084. short16 __ovld __cnfn convert_short16_sat_rtz(ushort16);
  4085. short16 __ovld __cnfn convert_short16_rtp(ushort16);
  4086. short16 __ovld __cnfn convert_short16_sat_rtp(ushort16);
  4087. short16 __ovld __cnfn convert_short16_rtn(ushort16);
  4088. short16 __ovld __cnfn convert_short16_sat_rtn(ushort16);
  4089. short16 __ovld __cnfn convert_short16(ushort16);
  4090. short16 __ovld __cnfn convert_short16_sat(ushort16);
  4091. short16 __ovld __cnfn convert_short16_rte(int16);
  4092. short16 __ovld __cnfn convert_short16_sat_rte(int16);
  4093. short16 __ovld __cnfn convert_short16_rtz(int16);
  4094. short16 __ovld __cnfn convert_short16_sat_rtz(int16);
  4095. short16 __ovld __cnfn convert_short16_rtp(int16);
  4096. short16 __ovld __cnfn convert_short16_sat_rtp(int16);
  4097. short16 __ovld __cnfn convert_short16_rtn(int16);
  4098. short16 __ovld __cnfn convert_short16_sat_rtn(int16);
  4099. short16 __ovld __cnfn convert_short16(int16);
  4100. short16 __ovld __cnfn convert_short16_sat(int16);
  4101. short16 __ovld __cnfn convert_short16_rte(uint16);
  4102. short16 __ovld __cnfn convert_short16_sat_rte(uint16);
  4103. short16 __ovld __cnfn convert_short16_rtz(uint16);
  4104. short16 __ovld __cnfn convert_short16_sat_rtz(uint16);
  4105. short16 __ovld __cnfn convert_short16_rtp(uint16);
  4106. short16 __ovld __cnfn convert_short16_sat_rtp(uint16);
  4107. short16 __ovld __cnfn convert_short16_rtn(uint16);
  4108. short16 __ovld __cnfn convert_short16_sat_rtn(uint16);
  4109. short16 __ovld __cnfn convert_short16(uint16);
  4110. short16 __ovld __cnfn convert_short16_sat(uint16);
  4111. short16 __ovld __cnfn convert_short16_rte(long16);
  4112. short16 __ovld __cnfn convert_short16_sat_rte(long16);
  4113. short16 __ovld __cnfn convert_short16_rtz(long16);
  4114. short16 __ovld __cnfn convert_short16_sat_rtz(long16);
  4115. short16 __ovld __cnfn convert_short16_rtp(long16);
  4116. short16 __ovld __cnfn convert_short16_sat_rtp(long16);
  4117. short16 __ovld __cnfn convert_short16_rtn(long16);
  4118. short16 __ovld __cnfn convert_short16_sat_rtn(long16);
  4119. short16 __ovld __cnfn convert_short16(long16);
  4120. short16 __ovld __cnfn convert_short16_sat(long16);
  4121. short16 __ovld __cnfn convert_short16_rte(ulong16);
  4122. short16 __ovld __cnfn convert_short16_sat_rte(ulong16);
  4123. short16 __ovld __cnfn convert_short16_rtz(ulong16);
  4124. short16 __ovld __cnfn convert_short16_sat_rtz(ulong16);
  4125. short16 __ovld __cnfn convert_short16_rtp(ulong16);
  4126. short16 __ovld __cnfn convert_short16_sat_rtp(ulong16);
  4127. short16 __ovld __cnfn convert_short16_rtn(ulong16);
  4128. short16 __ovld __cnfn convert_short16_sat_rtn(ulong16);
  4129. short16 __ovld __cnfn convert_short16(ulong16);
  4130. short16 __ovld __cnfn convert_short16_sat(ulong16);
  4131. short16 __ovld __cnfn convert_short16_rte(float16);
  4132. short16 __ovld __cnfn convert_short16_sat_rte(float16);
  4133. short16 __ovld __cnfn convert_short16_rtz(float16);
  4134. short16 __ovld __cnfn convert_short16_sat_rtz(float16);
  4135. short16 __ovld __cnfn convert_short16_rtp(float16);
  4136. short16 __ovld __cnfn convert_short16_sat_rtp(float16);
  4137. short16 __ovld __cnfn convert_short16_rtn(float16);
  4138. short16 __ovld __cnfn convert_short16_sat_rtn(float16);
  4139. short16 __ovld __cnfn convert_short16(float16);
  4140. short16 __ovld __cnfn convert_short16_sat(float16);
  4141. ushort16 __ovld __cnfn convert_ushort16_rte(char16);
  4142. ushort16 __ovld __cnfn convert_ushort16_sat_rte(char16);
  4143. ushort16 __ovld __cnfn convert_ushort16_rtz(char16);
  4144. ushort16 __ovld __cnfn convert_ushort16_sat_rtz(char16);
  4145. ushort16 __ovld __cnfn convert_ushort16_rtp(char16);
  4146. ushort16 __ovld __cnfn convert_ushort16_sat_rtp(char16);
  4147. ushort16 __ovld __cnfn convert_ushort16_rtn(char16);
  4148. ushort16 __ovld __cnfn convert_ushort16_sat_rtn(char16);
  4149. ushort16 __ovld __cnfn convert_ushort16(char16);
  4150. ushort16 __ovld __cnfn convert_ushort16_sat(char16);
  4151. ushort16 __ovld __cnfn convert_ushort16_rte(uchar16);
  4152. ushort16 __ovld __cnfn convert_ushort16_sat_rte(uchar16);
  4153. ushort16 __ovld __cnfn convert_ushort16_rtz(uchar16);
  4154. ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uchar16);
  4155. ushort16 __ovld __cnfn convert_ushort16_rtp(uchar16);
  4156. ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uchar16);
  4157. ushort16 __ovld __cnfn convert_ushort16_rtn(uchar16);
  4158. ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uchar16);
  4159. ushort16 __ovld __cnfn convert_ushort16(uchar16);
  4160. ushort16 __ovld __cnfn convert_ushort16_sat(uchar16);
  4161. ushort16 __ovld __cnfn convert_ushort16_rte(short16);
  4162. ushort16 __ovld __cnfn convert_ushort16_sat_rte(short16);
  4163. ushort16 __ovld __cnfn convert_ushort16_rtz(short16);
  4164. ushort16 __ovld __cnfn convert_ushort16_sat_rtz(short16);
  4165. ushort16 __ovld __cnfn convert_ushort16_rtp(short16);
  4166. ushort16 __ovld __cnfn convert_ushort16_sat_rtp(short16);
  4167. ushort16 __ovld __cnfn convert_ushort16_rtn(short16);
  4168. ushort16 __ovld __cnfn convert_ushort16_sat_rtn(short16);
  4169. ushort16 __ovld __cnfn convert_ushort16(short16);
  4170. ushort16 __ovld __cnfn convert_ushort16_sat(short16);
  4171. ushort16 __ovld __cnfn convert_ushort16_rte(ushort16);
  4172. ushort16 __ovld __cnfn convert_ushort16_sat_rte(ushort16);
  4173. ushort16 __ovld __cnfn convert_ushort16_rtz(ushort16);
  4174. ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ushort16);
  4175. ushort16 __ovld __cnfn convert_ushort16_rtp(ushort16);
  4176. ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ushort16);
  4177. ushort16 __ovld __cnfn convert_ushort16_rtn(ushort16);
  4178. ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ushort16);
  4179. ushort16 __ovld __cnfn convert_ushort16(ushort16);
  4180. ushort16 __ovld __cnfn convert_ushort16_sat(ushort16);
  4181. ushort16 __ovld __cnfn convert_ushort16_rte(int16);
  4182. ushort16 __ovld __cnfn convert_ushort16_sat_rte(int16);
  4183. ushort16 __ovld __cnfn convert_ushort16_rtz(int16);
  4184. ushort16 __ovld __cnfn convert_ushort16_sat_rtz(int16);
  4185. ushort16 __ovld __cnfn convert_ushort16_rtp(int16);
  4186. ushort16 __ovld __cnfn convert_ushort16_sat_rtp(int16);
  4187. ushort16 __ovld __cnfn convert_ushort16_rtn(int16);
  4188. ushort16 __ovld __cnfn convert_ushort16_sat_rtn(int16);
  4189. ushort16 __ovld __cnfn convert_ushort16(int16);
  4190. ushort16 __ovld __cnfn convert_ushort16_sat(int16);
  4191. ushort16 __ovld __cnfn convert_ushort16_rte(uint16);
  4192. ushort16 __ovld __cnfn convert_ushort16_sat_rte(uint16);
  4193. ushort16 __ovld __cnfn convert_ushort16_rtz(uint16);
  4194. ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uint16);
  4195. ushort16 __ovld __cnfn convert_ushort16_rtp(uint16);
  4196. ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uint16);
  4197. ushort16 __ovld __cnfn convert_ushort16_rtn(uint16);
  4198. ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uint16);
  4199. ushort16 __ovld __cnfn convert_ushort16(uint16);
  4200. ushort16 __ovld __cnfn convert_ushort16_sat(uint16);
  4201. ushort16 __ovld __cnfn convert_ushort16_rte(long16);
  4202. ushort16 __ovld __cnfn convert_ushort16_sat_rte(long16);
  4203. ushort16 __ovld __cnfn convert_ushort16_rtz(long16);
  4204. ushort16 __ovld __cnfn convert_ushort16_sat_rtz(long16);
  4205. ushort16 __ovld __cnfn convert_ushort16_rtp(long16);
  4206. ushort16 __ovld __cnfn convert_ushort16_sat_rtp(long16);
  4207. ushort16 __ovld __cnfn convert_ushort16_rtn(long16);
  4208. ushort16 __ovld __cnfn convert_ushort16_sat_rtn(long16);
  4209. ushort16 __ovld __cnfn convert_ushort16(long16);
  4210. ushort16 __ovld __cnfn convert_ushort16_sat(long16);
  4211. ushort16 __ovld __cnfn convert_ushort16_rte(ulong16);
  4212. ushort16 __ovld __cnfn convert_ushort16_sat_rte(ulong16);
  4213. ushort16 __ovld __cnfn convert_ushort16_rtz(ulong16);
  4214. ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ulong16);
  4215. ushort16 __ovld __cnfn convert_ushort16_rtp(ulong16);
  4216. ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ulong16);
  4217. ushort16 __ovld __cnfn convert_ushort16_rtn(ulong16);
  4218. ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ulong16);
  4219. ushort16 __ovld __cnfn convert_ushort16(ulong16);
  4220. ushort16 __ovld __cnfn convert_ushort16_sat(ulong16);
  4221. ushort16 __ovld __cnfn convert_ushort16_rte(float16);
  4222. ushort16 __ovld __cnfn convert_ushort16_sat_rte(float16);
  4223. ushort16 __ovld __cnfn convert_ushort16_rtz(float16);
  4224. ushort16 __ovld __cnfn convert_ushort16_sat_rtz(float16);
  4225. ushort16 __ovld __cnfn convert_ushort16_rtp(float16);
  4226. ushort16 __ovld __cnfn convert_ushort16_sat_rtp(float16);
  4227. ushort16 __ovld __cnfn convert_ushort16_rtn(float16);
  4228. ushort16 __ovld __cnfn convert_ushort16_sat_rtn(float16);
  4229. ushort16 __ovld __cnfn convert_ushort16(float16);
  4230. ushort16 __ovld __cnfn convert_ushort16_sat(float16);
  4231. int16 __ovld __cnfn convert_int16_rte(char16);
  4232. int16 __ovld __cnfn convert_int16_sat_rte(char16);
  4233. int16 __ovld __cnfn convert_int16_rtz(char16);
  4234. int16 __ovld __cnfn convert_int16_sat_rtz(char16);
  4235. int16 __ovld __cnfn convert_int16_rtp(char16);
  4236. int16 __ovld __cnfn convert_int16_sat_rtp(char16);
  4237. int16 __ovld __cnfn convert_int16_rtn(char16);
  4238. int16 __ovld __cnfn convert_int16_sat_rtn(char16);
  4239. int16 __ovld __cnfn convert_int16(char16);
  4240. int16 __ovld __cnfn convert_int16_sat(char16);
  4241. int16 __ovld __cnfn convert_int16_rte(uchar16);
  4242. int16 __ovld __cnfn convert_int16_sat_rte(uchar16);
  4243. int16 __ovld __cnfn convert_int16_rtz(uchar16);
  4244. int16 __ovld __cnfn convert_int16_sat_rtz(uchar16);
  4245. int16 __ovld __cnfn convert_int16_rtp(uchar16);
  4246. int16 __ovld __cnfn convert_int16_sat_rtp(uchar16);
  4247. int16 __ovld __cnfn convert_int16_rtn(uchar16);
  4248. int16 __ovld __cnfn convert_int16_sat_rtn(uchar16);
  4249. int16 __ovld __cnfn convert_int16(uchar16);
  4250. int16 __ovld __cnfn convert_int16_sat(uchar16);
  4251. int16 __ovld __cnfn convert_int16_rte(short16);
  4252. int16 __ovld __cnfn convert_int16_sat_rte(short16);
  4253. int16 __ovld __cnfn convert_int16_rtz(short16);
  4254. int16 __ovld __cnfn convert_int16_sat_rtz(short16);
  4255. int16 __ovld __cnfn convert_int16_rtp(short16);
  4256. int16 __ovld __cnfn convert_int16_sat_rtp(short16);
  4257. int16 __ovld __cnfn convert_int16_rtn(short16);
  4258. int16 __ovld __cnfn convert_int16_sat_rtn(short16);
  4259. int16 __ovld __cnfn convert_int16(short16);
  4260. int16 __ovld __cnfn convert_int16_sat(short16);
  4261. int16 __ovld __cnfn convert_int16_rte(ushort16);
  4262. int16 __ovld __cnfn convert_int16_sat_rte(ushort16);
  4263. int16 __ovld __cnfn convert_int16_rtz(ushort16);
  4264. int16 __ovld __cnfn convert_int16_sat_rtz(ushort16);
  4265. int16 __ovld __cnfn convert_int16_rtp(ushort16);
  4266. int16 __ovld __cnfn convert_int16_sat_rtp(ushort16);
  4267. int16 __ovld __cnfn convert_int16_rtn(ushort16);
  4268. int16 __ovld __cnfn convert_int16_sat_rtn(ushort16);
  4269. int16 __ovld __cnfn convert_int16(ushort16);
  4270. int16 __ovld __cnfn convert_int16_sat(ushort16);
  4271. int16 __ovld __cnfn convert_int16_rte(int16);
  4272. int16 __ovld __cnfn convert_int16_sat_rte(int16);
  4273. int16 __ovld __cnfn convert_int16_rtz(int16);
  4274. int16 __ovld __cnfn convert_int16_sat_rtz(int16);
  4275. int16 __ovld __cnfn convert_int16_rtp(int16);
  4276. int16 __ovld __cnfn convert_int16_sat_rtp(int16);
  4277. int16 __ovld __cnfn convert_int16_rtn(int16);
  4278. int16 __ovld __cnfn convert_int16_sat_rtn(int16);
  4279. int16 __ovld __cnfn convert_int16(int16);
  4280. int16 __ovld __cnfn convert_int16_sat(int16);
  4281. int16 __ovld __cnfn convert_int16_rte(uint16);
  4282. int16 __ovld __cnfn convert_int16_sat_rte(uint16);
  4283. int16 __ovld __cnfn convert_int16_rtz(uint16);
  4284. int16 __ovld __cnfn convert_int16_sat_rtz(uint16);
  4285. int16 __ovld __cnfn convert_int16_rtp(uint16);
  4286. int16 __ovld __cnfn convert_int16_sat_rtp(uint16);
  4287. int16 __ovld __cnfn convert_int16_rtn(uint16);
  4288. int16 __ovld __cnfn convert_int16_sat_rtn(uint16);
  4289. int16 __ovld __cnfn convert_int16(uint16);
  4290. int16 __ovld __cnfn convert_int16_sat(uint16);
  4291. int16 __ovld __cnfn convert_int16_rte(long16);
  4292. int16 __ovld __cnfn convert_int16_sat_rte(long16);
  4293. int16 __ovld __cnfn convert_int16_rtz(long16);
  4294. int16 __ovld __cnfn convert_int16_sat_rtz(long16);
  4295. int16 __ovld __cnfn convert_int16_rtp(long16);
  4296. int16 __ovld __cnfn convert_int16_sat_rtp(long16);
  4297. int16 __ovld __cnfn convert_int16_rtn(long16);
  4298. int16 __ovld __cnfn convert_int16_sat_rtn(long16);
  4299. int16 __ovld __cnfn convert_int16(long16);
  4300. int16 __ovld __cnfn convert_int16_sat(long16);
  4301. int16 __ovld __cnfn convert_int16_rte(ulong16);
  4302. int16 __ovld __cnfn convert_int16_sat_rte(ulong16);
  4303. int16 __ovld __cnfn convert_int16_rtz(ulong16);
  4304. int16 __ovld __cnfn convert_int16_sat_rtz(ulong16);
  4305. int16 __ovld __cnfn convert_int16_rtp(ulong16);
  4306. int16 __ovld __cnfn convert_int16_sat_rtp(ulong16);
  4307. int16 __ovld __cnfn convert_int16_rtn(ulong16);
  4308. int16 __ovld __cnfn convert_int16_sat_rtn(ulong16);
  4309. int16 __ovld __cnfn convert_int16(ulong16);
  4310. int16 __ovld __cnfn convert_int16_sat(ulong16);
  4311. int16 __ovld __cnfn convert_int16_rte(float16);
  4312. int16 __ovld __cnfn convert_int16_sat_rte(float16);
  4313. int16 __ovld __cnfn convert_int16_rtz(float16);
  4314. int16 __ovld __cnfn convert_int16_sat_rtz(float16);
  4315. int16 __ovld __cnfn convert_int16_rtp(float16);
  4316. int16 __ovld __cnfn convert_int16_sat_rtp(float16);
  4317. int16 __ovld __cnfn convert_int16_rtn(float16);
  4318. int16 __ovld __cnfn convert_int16_sat_rtn(float16);
  4319. int16 __ovld __cnfn convert_int16(float16);
  4320. int16 __ovld __cnfn convert_int16_sat(float16);
  4321. uint16 __ovld __cnfn convert_uint16_rte(char16);
  4322. uint16 __ovld __cnfn convert_uint16_sat_rte(char16);
  4323. uint16 __ovld __cnfn convert_uint16_rtz(char16);
  4324. uint16 __ovld __cnfn convert_uint16_sat_rtz(char16);
  4325. uint16 __ovld __cnfn convert_uint16_rtp(char16);
  4326. uint16 __ovld __cnfn convert_uint16_sat_rtp(char16);
  4327. uint16 __ovld __cnfn convert_uint16_rtn(char16);
  4328. uint16 __ovld __cnfn convert_uint16_sat_rtn(char16);
  4329. uint16 __ovld __cnfn convert_uint16(char16);
  4330. uint16 __ovld __cnfn convert_uint16_sat(char16);
  4331. uint16 __ovld __cnfn convert_uint16_rte(uchar16);
  4332. uint16 __ovld __cnfn convert_uint16_sat_rte(uchar16);
  4333. uint16 __ovld __cnfn convert_uint16_rtz(uchar16);
  4334. uint16 __ovld __cnfn convert_uint16_sat_rtz(uchar16);
  4335. uint16 __ovld __cnfn convert_uint16_rtp(uchar16);
  4336. uint16 __ovld __cnfn convert_uint16_sat_rtp(uchar16);
  4337. uint16 __ovld __cnfn convert_uint16_rtn(uchar16);
  4338. uint16 __ovld __cnfn convert_uint16_sat_rtn(uchar16);
  4339. uint16 __ovld __cnfn convert_uint16(uchar16);
  4340. uint16 __ovld __cnfn convert_uint16_sat(uchar16);
  4341. uint16 __ovld __cnfn convert_uint16_rte(short16);
  4342. uint16 __ovld __cnfn convert_uint16_sat_rte(short16);
  4343. uint16 __ovld __cnfn convert_uint16_rtz(short16);
  4344. uint16 __ovld __cnfn convert_uint16_sat_rtz(short16);
  4345. uint16 __ovld __cnfn convert_uint16_rtp(short16);
  4346. uint16 __ovld __cnfn convert_uint16_sat_rtp(short16);
  4347. uint16 __ovld __cnfn convert_uint16_rtn(short16);
  4348. uint16 __ovld __cnfn convert_uint16_sat_rtn(short16);
  4349. uint16 __ovld __cnfn convert_uint16(short16);
  4350. uint16 __ovld __cnfn convert_uint16_sat(short16);
  4351. uint16 __ovld __cnfn convert_uint16_rte(ushort16);
  4352. uint16 __ovld __cnfn convert_uint16_sat_rte(ushort16);
  4353. uint16 __ovld __cnfn convert_uint16_rtz(ushort16);
  4354. uint16 __ovld __cnfn convert_uint16_sat_rtz(ushort16);
  4355. uint16 __ovld __cnfn convert_uint16_rtp(ushort16);
  4356. uint16 __ovld __cnfn convert_uint16_sat_rtp(ushort16);
  4357. uint16 __ovld __cnfn convert_uint16_rtn(ushort16);
  4358. uint16 __ovld __cnfn convert_uint16_sat_rtn(ushort16);
  4359. uint16 __ovld __cnfn convert_uint16(ushort16);
  4360. uint16 __ovld __cnfn convert_uint16_sat(ushort16);
  4361. uint16 __ovld __cnfn convert_uint16_rte(int16);
  4362. uint16 __ovld __cnfn convert_uint16_sat_rte(int16);
  4363. uint16 __ovld __cnfn convert_uint16_rtz(int16);
  4364. uint16 __ovld __cnfn convert_uint16_sat_rtz(int16);
  4365. uint16 __ovld __cnfn convert_uint16_rtp(int16);
  4366. uint16 __ovld __cnfn convert_uint16_sat_rtp(int16);
  4367. uint16 __ovld __cnfn convert_uint16_rtn(int16);
  4368. uint16 __ovld __cnfn convert_uint16_sat_rtn(int16);
  4369. uint16 __ovld __cnfn convert_uint16(int16);
  4370. uint16 __ovld __cnfn convert_uint16_sat(int16);
  4371. uint16 __ovld __cnfn convert_uint16_rte(uint16);
  4372. uint16 __ovld __cnfn convert_uint16_sat_rte(uint16);
  4373. uint16 __ovld __cnfn convert_uint16_rtz(uint16);
  4374. uint16 __ovld __cnfn convert_uint16_sat_rtz(uint16);
  4375. uint16 __ovld __cnfn convert_uint16_rtp(uint16);
  4376. uint16 __ovld __cnfn convert_uint16_sat_rtp(uint16);
  4377. uint16 __ovld __cnfn convert_uint16_rtn(uint16);
  4378. uint16 __ovld __cnfn convert_uint16_sat_rtn(uint16);
  4379. uint16 __ovld __cnfn convert_uint16(uint16);
  4380. uint16 __ovld __cnfn convert_uint16_sat(uint16);
  4381. uint16 __ovld __cnfn convert_uint16_rte(long16);
  4382. uint16 __ovld __cnfn convert_uint16_sat_rte(long16);
  4383. uint16 __ovld __cnfn convert_uint16_rtz(long16);
  4384. uint16 __ovld __cnfn convert_uint16_sat_rtz(long16);
  4385. uint16 __ovld __cnfn convert_uint16_rtp(long16);
  4386. uint16 __ovld __cnfn convert_uint16_sat_rtp(long16);
  4387. uint16 __ovld __cnfn convert_uint16_rtn(long16);
  4388. uint16 __ovld __cnfn convert_uint16_sat_rtn(long16);
  4389. uint16 __ovld __cnfn convert_uint16(long16);
  4390. uint16 __ovld __cnfn convert_uint16_sat(long16);
  4391. uint16 __ovld __cnfn convert_uint16_rte(ulong16);
  4392. uint16 __ovld __cnfn convert_uint16_sat_rte(ulong16);
  4393. uint16 __ovld __cnfn convert_uint16_rtz(ulong16);
  4394. uint16 __ovld __cnfn convert_uint16_sat_rtz(ulong16);
  4395. uint16 __ovld __cnfn convert_uint16_rtp(ulong16);
  4396. uint16 __ovld __cnfn convert_uint16_sat_rtp(ulong16);
  4397. uint16 __ovld __cnfn convert_uint16_rtn(ulong16);
  4398. uint16 __ovld __cnfn convert_uint16_sat_rtn(ulong16);
  4399. uint16 __ovld __cnfn convert_uint16(ulong16);
  4400. uint16 __ovld __cnfn convert_uint16_sat(ulong16);
  4401. uint16 __ovld __cnfn convert_uint16_rte(float16);
  4402. uint16 __ovld __cnfn convert_uint16_sat_rte(float16);
  4403. uint16 __ovld __cnfn convert_uint16_rtz(float16);
  4404. uint16 __ovld __cnfn convert_uint16_sat_rtz(float16);
  4405. uint16 __ovld __cnfn convert_uint16_rtp(float16);
  4406. uint16 __ovld __cnfn convert_uint16_sat_rtp(float16);
  4407. uint16 __ovld __cnfn convert_uint16_rtn(float16);
  4408. uint16 __ovld __cnfn convert_uint16_sat_rtn(float16);
  4409. uint16 __ovld __cnfn convert_uint16(float16);
  4410. uint16 __ovld __cnfn convert_uint16_sat(float16);
  4411. long16 __ovld __cnfn convert_long16_rte(char16);
  4412. long16 __ovld __cnfn convert_long16_sat_rte(char16);
  4413. long16 __ovld __cnfn convert_long16_rtz(char16);
  4414. long16 __ovld __cnfn convert_long16_sat_rtz(char16);
  4415. long16 __ovld __cnfn convert_long16_rtp(char16);
  4416. long16 __ovld __cnfn convert_long16_sat_rtp(char16);
  4417. long16 __ovld __cnfn convert_long16_rtn(char16);
  4418. long16 __ovld __cnfn convert_long16_sat_rtn(char16);
  4419. long16 __ovld __cnfn convert_long16(char16);
  4420. long16 __ovld __cnfn convert_long16_sat(char16);
  4421. long16 __ovld __cnfn convert_long16_rte(uchar16);
  4422. long16 __ovld __cnfn convert_long16_sat_rte(uchar16);
  4423. long16 __ovld __cnfn convert_long16_rtz(uchar16);
  4424. long16 __ovld __cnfn convert_long16_sat_rtz(uchar16);
  4425. long16 __ovld __cnfn convert_long16_rtp(uchar16);
  4426. long16 __ovld __cnfn convert_long16_sat_rtp(uchar16);
  4427. long16 __ovld __cnfn convert_long16_rtn(uchar16);
  4428. long16 __ovld __cnfn convert_long16_sat_rtn(uchar16);
  4429. long16 __ovld __cnfn convert_long16(uchar16);
  4430. long16 __ovld __cnfn convert_long16_sat(uchar16);
  4431. long16 __ovld __cnfn convert_long16_rte(short16);
  4432. long16 __ovld __cnfn convert_long16_sat_rte(short16);
  4433. long16 __ovld __cnfn convert_long16_rtz(short16);
  4434. long16 __ovld __cnfn convert_long16_sat_rtz(short16);
  4435. long16 __ovld __cnfn convert_long16_rtp(short16);
  4436. long16 __ovld __cnfn convert_long16_sat_rtp(short16);
  4437. long16 __ovld __cnfn convert_long16_rtn(short16);
  4438. long16 __ovld __cnfn convert_long16_sat_rtn(short16);
  4439. long16 __ovld __cnfn convert_long16(short16);
  4440. long16 __ovld __cnfn convert_long16_sat(short16);
  4441. long16 __ovld __cnfn convert_long16_rte(ushort16);
  4442. long16 __ovld __cnfn convert_long16_sat_rte(ushort16);
  4443. long16 __ovld __cnfn convert_long16_rtz(ushort16);
  4444. long16 __ovld __cnfn convert_long16_sat_rtz(ushort16);
  4445. long16 __ovld __cnfn convert_long16_rtp(ushort16);
  4446. long16 __ovld __cnfn convert_long16_sat_rtp(ushort16);
  4447. long16 __ovld __cnfn convert_long16_rtn(ushort16);
  4448. long16 __ovld __cnfn convert_long16_sat_rtn(ushort16);
  4449. long16 __ovld __cnfn convert_long16(ushort16);
  4450. long16 __ovld __cnfn convert_long16_sat(ushort16);
  4451. long16 __ovld __cnfn convert_long16_rte(int16);
  4452. long16 __ovld __cnfn convert_long16_sat_rte(int16);
  4453. long16 __ovld __cnfn convert_long16_rtz(int16);
  4454. long16 __ovld __cnfn convert_long16_sat_rtz(int16);
  4455. long16 __ovld __cnfn convert_long16_rtp(int16);
  4456. long16 __ovld __cnfn convert_long16_sat_rtp(int16);
  4457. long16 __ovld __cnfn convert_long16_rtn(int16);
  4458. long16 __ovld __cnfn convert_long16_sat_rtn(int16);
  4459. long16 __ovld __cnfn convert_long16(int16);
  4460. long16 __ovld __cnfn convert_long16_sat(int16);
  4461. long16 __ovld __cnfn convert_long16_rte(uint16);
  4462. long16 __ovld __cnfn convert_long16_sat_rte(uint16);
  4463. long16 __ovld __cnfn convert_long16_rtz(uint16);
  4464. long16 __ovld __cnfn convert_long16_sat_rtz(uint16);
  4465. long16 __ovld __cnfn convert_long16_rtp(uint16);
  4466. long16 __ovld __cnfn convert_long16_sat_rtp(uint16);
  4467. long16 __ovld __cnfn convert_long16_rtn(uint16);
  4468. long16 __ovld __cnfn convert_long16_sat_rtn(uint16);
  4469. long16 __ovld __cnfn convert_long16(uint16);
  4470. long16 __ovld __cnfn convert_long16_sat(uint16);
  4471. long16 __ovld __cnfn convert_long16_rte(long16);
  4472. long16 __ovld __cnfn convert_long16_sat_rte(long16);
  4473. long16 __ovld __cnfn convert_long16_rtz(long16);
  4474. long16 __ovld __cnfn convert_long16_sat_rtz(long16);
  4475. long16 __ovld __cnfn convert_long16_rtp(long16);
  4476. long16 __ovld __cnfn convert_long16_sat_rtp(long16);
  4477. long16 __ovld __cnfn convert_long16_rtn(long16);
  4478. long16 __ovld __cnfn convert_long16_sat_rtn(long16);
  4479. long16 __ovld __cnfn convert_long16(long16);
  4480. long16 __ovld __cnfn convert_long16_sat(long16);
  4481. long16 __ovld __cnfn convert_long16_rte(ulong16);
  4482. long16 __ovld __cnfn convert_long16_sat_rte(ulong16);
  4483. long16 __ovld __cnfn convert_long16_rtz(ulong16);
  4484. long16 __ovld __cnfn convert_long16_sat_rtz(ulong16);
  4485. long16 __ovld __cnfn convert_long16_rtp(ulong16);
  4486. long16 __ovld __cnfn convert_long16_sat_rtp(ulong16);
  4487. long16 __ovld __cnfn convert_long16_rtn(ulong16);
  4488. long16 __ovld __cnfn convert_long16_sat_rtn(ulong16);
  4489. long16 __ovld __cnfn convert_long16(ulong16);
  4490. long16 __ovld __cnfn convert_long16_sat(ulong16);
  4491. long16 __ovld __cnfn convert_long16_rte(float16);
  4492. long16 __ovld __cnfn convert_long16_sat_rte(float16);
  4493. long16 __ovld __cnfn convert_long16_rtz(float16);
  4494. long16 __ovld __cnfn convert_long16_sat_rtz(float16);
  4495. long16 __ovld __cnfn convert_long16_rtp(float16);
  4496. long16 __ovld __cnfn convert_long16_sat_rtp(float16);
  4497. long16 __ovld __cnfn convert_long16_rtn(float16);
  4498. long16 __ovld __cnfn convert_long16_sat_rtn(float16);
  4499. long16 __ovld __cnfn convert_long16(float16);
  4500. long16 __ovld __cnfn convert_long16_sat(float16);
  4501. ulong16 __ovld __cnfn convert_ulong16_rte(char16);
  4502. ulong16 __ovld __cnfn convert_ulong16_sat_rte(char16);
  4503. ulong16 __ovld __cnfn convert_ulong16_rtz(char16);
  4504. ulong16 __ovld __cnfn convert_ulong16_sat_rtz(char16);
  4505. ulong16 __ovld __cnfn convert_ulong16_rtp(char16);
  4506. ulong16 __ovld __cnfn convert_ulong16_sat_rtp(char16);
  4507. ulong16 __ovld __cnfn convert_ulong16_rtn(char16);
  4508. ulong16 __ovld __cnfn convert_ulong16_sat_rtn(char16);
  4509. ulong16 __ovld __cnfn convert_ulong16(char16);
  4510. ulong16 __ovld __cnfn convert_ulong16_sat(char16);
  4511. ulong16 __ovld __cnfn convert_ulong16_rte(uchar16);
  4512. ulong16 __ovld __cnfn convert_ulong16_sat_rte(uchar16);
  4513. ulong16 __ovld __cnfn convert_ulong16_rtz(uchar16);
  4514. ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uchar16);
  4515. ulong16 __ovld __cnfn convert_ulong16_rtp(uchar16);
  4516. ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uchar16);
  4517. ulong16 __ovld __cnfn convert_ulong16_rtn(uchar16);
  4518. ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uchar16);
  4519. ulong16 __ovld __cnfn convert_ulong16(uchar16);
  4520. ulong16 __ovld __cnfn convert_ulong16_sat(uchar16);
  4521. ulong16 __ovld __cnfn convert_ulong16_rte(short16);
  4522. ulong16 __ovld __cnfn convert_ulong16_sat_rte(short16);
  4523. ulong16 __ovld __cnfn convert_ulong16_rtz(short16);
  4524. ulong16 __ovld __cnfn convert_ulong16_sat_rtz(short16);
  4525. ulong16 __ovld __cnfn convert_ulong16_rtp(short16);
  4526. ulong16 __ovld __cnfn convert_ulong16_sat_rtp(short16);
  4527. ulong16 __ovld __cnfn convert_ulong16_rtn(short16);
  4528. ulong16 __ovld __cnfn convert_ulong16_sat_rtn(short16);
  4529. ulong16 __ovld __cnfn convert_ulong16(short16);
  4530. ulong16 __ovld __cnfn convert_ulong16_sat(short16);
  4531. ulong16 __ovld __cnfn convert_ulong16_rte(ushort16);
  4532. ulong16 __ovld __cnfn convert_ulong16_sat_rte(ushort16);
  4533. ulong16 __ovld __cnfn convert_ulong16_rtz(ushort16);
  4534. ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ushort16);
  4535. ulong16 __ovld __cnfn convert_ulong16_rtp(ushort16);
  4536. ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ushort16);
  4537. ulong16 __ovld __cnfn convert_ulong16_rtn(ushort16);
  4538. ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ushort16);
  4539. ulong16 __ovld __cnfn convert_ulong16(ushort16);
  4540. ulong16 __ovld __cnfn convert_ulong16_sat(ushort16);
  4541. ulong16 __ovld __cnfn convert_ulong16_rte(int16);
  4542. ulong16 __ovld __cnfn convert_ulong16_sat_rte(int16);
  4543. ulong16 __ovld __cnfn convert_ulong16_rtz(int16);
  4544. ulong16 __ovld __cnfn convert_ulong16_sat_rtz(int16);
  4545. ulong16 __ovld __cnfn convert_ulong16_rtp(int16);
  4546. ulong16 __ovld __cnfn convert_ulong16_sat_rtp(int16);
  4547. ulong16 __ovld __cnfn convert_ulong16_rtn(int16);
  4548. ulong16 __ovld __cnfn convert_ulong16_sat_rtn(int16);
  4549. ulong16 __ovld __cnfn convert_ulong16(int16);
  4550. ulong16 __ovld __cnfn convert_ulong16_sat(int16);
  4551. ulong16 __ovld __cnfn convert_ulong16_rte(uint16);
  4552. ulong16 __ovld __cnfn convert_ulong16_sat_rte(uint16);
  4553. ulong16 __ovld __cnfn convert_ulong16_rtz(uint16);
  4554. ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uint16);
  4555. ulong16 __ovld __cnfn convert_ulong16_rtp(uint16);
  4556. ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uint16);
  4557. ulong16 __ovld __cnfn convert_ulong16_rtn(uint16);
  4558. ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uint16);
  4559. ulong16 __ovld __cnfn convert_ulong16(uint16);
  4560. ulong16 __ovld __cnfn convert_ulong16_sat(uint16);
  4561. ulong16 __ovld __cnfn convert_ulong16_rte(long16);
  4562. ulong16 __ovld __cnfn convert_ulong16_sat_rte(long16);
  4563. ulong16 __ovld __cnfn convert_ulong16_rtz(long16);
  4564. ulong16 __ovld __cnfn convert_ulong16_sat_rtz(long16);
  4565. ulong16 __ovld __cnfn convert_ulong16_rtp(long16);
  4566. ulong16 __ovld __cnfn convert_ulong16_sat_rtp(long16);
  4567. ulong16 __ovld __cnfn convert_ulong16_rtn(long16);
  4568. ulong16 __ovld __cnfn convert_ulong16_sat_rtn(long16);
  4569. ulong16 __ovld __cnfn convert_ulong16(long16);
  4570. ulong16 __ovld __cnfn convert_ulong16_sat(long16);
  4571. ulong16 __ovld __cnfn convert_ulong16_rte(ulong16);
  4572. ulong16 __ovld __cnfn convert_ulong16_sat_rte(ulong16);
  4573. ulong16 __ovld __cnfn convert_ulong16_rtz(ulong16);
  4574. ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ulong16);
  4575. ulong16 __ovld __cnfn convert_ulong16_rtp(ulong16);
  4576. ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ulong16);
  4577. ulong16 __ovld __cnfn convert_ulong16_rtn(ulong16);
  4578. ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ulong16);
  4579. ulong16 __ovld __cnfn convert_ulong16(ulong16);
  4580. ulong16 __ovld __cnfn convert_ulong16_sat(ulong16);
  4581. ulong16 __ovld __cnfn convert_ulong16_rte(float16);
  4582. ulong16 __ovld __cnfn convert_ulong16_sat_rte(float16);
  4583. ulong16 __ovld __cnfn convert_ulong16_rtz(float16);
  4584. ulong16 __ovld __cnfn convert_ulong16_sat_rtz(float16);
  4585. ulong16 __ovld __cnfn convert_ulong16_rtp(float16);
  4586. ulong16 __ovld __cnfn convert_ulong16_sat_rtp(float16);
  4587. ulong16 __ovld __cnfn convert_ulong16_rtn(float16);
  4588. ulong16 __ovld __cnfn convert_ulong16_sat_rtn(float16);
  4589. ulong16 __ovld __cnfn convert_ulong16(float16);
  4590. ulong16 __ovld __cnfn convert_ulong16_sat(float16);
  4591. float16 __ovld __cnfn convert_float16_rte(char16);
  4592. float16 __ovld __cnfn convert_float16_rtz(char16);
  4593. float16 __ovld __cnfn convert_float16_rtp(char16);
  4594. float16 __ovld __cnfn convert_float16_rtn(char16);
  4595. float16 __ovld __cnfn convert_float16(char16);
  4596. float16 __ovld __cnfn convert_float16_rte(uchar16);
  4597. float16 __ovld __cnfn convert_float16_rtz(uchar16);
  4598. float16 __ovld __cnfn convert_float16_rtp(uchar16);
  4599. float16 __ovld __cnfn convert_float16_rtn(uchar16);
  4600. float16 __ovld __cnfn convert_float16(uchar16);
  4601. float16 __ovld __cnfn convert_float16_rte(short16);
  4602. float16 __ovld __cnfn convert_float16_rtz(short16);
  4603. float16 __ovld __cnfn convert_float16_rtp(short16);
  4604. float16 __ovld __cnfn convert_float16_rtn(short16);
  4605. float16 __ovld __cnfn convert_float16(short16);
  4606. float16 __ovld __cnfn convert_float16_rte(ushort16);
  4607. float16 __ovld __cnfn convert_float16_rtz(ushort16);
  4608. float16 __ovld __cnfn convert_float16_rtp(ushort16);
  4609. float16 __ovld __cnfn convert_float16_rtn(ushort16);
  4610. float16 __ovld __cnfn convert_float16(ushort16);
  4611. float16 __ovld __cnfn convert_float16_rte(int16);
  4612. float16 __ovld __cnfn convert_float16_rtz(int16);
  4613. float16 __ovld __cnfn convert_float16_rtp(int16);
  4614. float16 __ovld __cnfn convert_float16_rtn(int16);
  4615. float16 __ovld __cnfn convert_float16(int16);
  4616. float16 __ovld __cnfn convert_float16_rte(uint16);
  4617. float16 __ovld __cnfn convert_float16_rtz(uint16);
  4618. float16 __ovld __cnfn convert_float16_rtp(uint16);
  4619. float16 __ovld __cnfn convert_float16_rtn(uint16);
  4620. float16 __ovld __cnfn convert_float16(uint16);
  4621. float16 __ovld __cnfn convert_float16_rte(long16);
  4622. float16 __ovld __cnfn convert_float16_rtz(long16);
  4623. float16 __ovld __cnfn convert_float16_rtp(long16);
  4624. float16 __ovld __cnfn convert_float16_rtn(long16);
  4625. float16 __ovld __cnfn convert_float16(long16);
  4626. float16 __ovld __cnfn convert_float16_rte(ulong16);
  4627. float16 __ovld __cnfn convert_float16_rtz(ulong16);
  4628. float16 __ovld __cnfn convert_float16_rtp(ulong16);
  4629. float16 __ovld __cnfn convert_float16_rtn(ulong16);
  4630. float16 __ovld __cnfn convert_float16(ulong16);
  4631. float16 __ovld __cnfn convert_float16_rte(float16);
  4632. float16 __ovld __cnfn convert_float16_rtz(float16);
  4633. float16 __ovld __cnfn convert_float16_rtp(float16);
  4634. float16 __ovld __cnfn convert_float16_rtn(float16);
  4635. float16 __ovld __cnfn convert_float16(float16);
  4636.  
  4637. // Conversions with double data type parameters or return value.
  4638.  
  4639. #ifdef cl_khr_fp64
  4640. #pragma OPENCL EXTENSION cl_khr_fp64 : enable
  4641. char __ovld __cnfn convert_char(double);
  4642. char __ovld __cnfn convert_char_rte(double);
  4643. char __ovld __cnfn convert_char_rtn(double);
  4644. char __ovld __cnfn convert_char_rtp(double);
  4645. char __ovld __cnfn convert_char_rtz(double);
  4646. char __ovld __cnfn convert_char_sat(double);
  4647. char __ovld __cnfn convert_char_sat_rte(double);
  4648. char __ovld __cnfn convert_char_sat_rtn(double);
  4649. char __ovld __cnfn convert_char_sat_rtp(double);
  4650. char __ovld __cnfn convert_char_sat_rtz(double);
  4651. char2 __ovld __cnfn convert_char2(double2);
  4652. char2 __ovld __cnfn convert_char2_rte(double2);
  4653. char2 __ovld __cnfn convert_char2_rtn(double2);
  4654. char2 __ovld __cnfn convert_char2_rtp(double2);
  4655. char2 __ovld __cnfn convert_char2_rtz(double2);
  4656. char2 __ovld __cnfn convert_char2_sat(double2);
  4657. char2 __ovld __cnfn convert_char2_sat_rte(double2);
  4658. char2 __ovld __cnfn convert_char2_sat_rtn(double2);
  4659. char2 __ovld __cnfn convert_char2_sat_rtp(double2);
  4660. char2 __ovld __cnfn convert_char2_sat_rtz(double2);
  4661. char3 __ovld __cnfn convert_char3(double3);
  4662. char3 __ovld __cnfn convert_char3_rte(double3);
  4663. char3 __ovld __cnfn convert_char3_rtn(double3);
  4664. char3 __ovld __cnfn convert_char3_rtp(double3);
  4665. char3 __ovld __cnfn convert_char3_rtz(double3);
  4666. char3 __ovld __cnfn convert_char3_sat(double3);
  4667. char3 __ovld __cnfn convert_char3_sat_rte(double3);
  4668. char3 __ovld __cnfn convert_char3_sat_rtn(double3);
  4669. char3 __ovld __cnfn convert_char3_sat_rtp(double3);
  4670. char3 __ovld __cnfn convert_char3_sat_rtz(double3);
  4671. char4 __ovld __cnfn convert_char4(double4);
  4672. char4 __ovld __cnfn convert_char4_rte(double4);
  4673. char4 __ovld __cnfn convert_char4_rtn(double4);
  4674. char4 __ovld __cnfn convert_char4_rtp(double4);
  4675. char4 __ovld __cnfn convert_char4_rtz(double4);
  4676. char4 __ovld __cnfn convert_char4_sat(double4);
  4677. char4 __ovld __cnfn convert_char4_sat_rte(double4);
  4678. char4 __ovld __cnfn convert_char4_sat_rtn(double4);
  4679. char4 __ovld __cnfn convert_char4_sat_rtp(double4);
  4680. char4 __ovld __cnfn convert_char4_sat_rtz(double4);
  4681. char8 __ovld __cnfn convert_char8(double8);
  4682. char8 __ovld __cnfn convert_char8_rte(double8);
  4683. char8 __ovld __cnfn convert_char8_rtn(double8);
  4684. char8 __ovld __cnfn convert_char8_rtp(double8);
  4685. char8 __ovld __cnfn convert_char8_rtz(double8);
  4686. char8 __ovld __cnfn convert_char8_sat(double8);
  4687. char8 __ovld __cnfn convert_char8_sat_rte(double8);
  4688. char8 __ovld __cnfn convert_char8_sat_rtn(double8);
  4689. char8 __ovld __cnfn convert_char8_sat_rtp(double8);
  4690. char8 __ovld __cnfn convert_char8_sat_rtz(double8);
  4691. char16 __ovld __cnfn convert_char16(double16);
  4692. char16 __ovld __cnfn convert_char16_rte(double16);
  4693. char16 __ovld __cnfn convert_char16_rtn(double16);
  4694. char16 __ovld __cnfn convert_char16_rtp(double16);
  4695. char16 __ovld __cnfn convert_char16_rtz(double16);
  4696. char16 __ovld __cnfn convert_char16_sat(double16);
  4697. char16 __ovld __cnfn convert_char16_sat_rte(double16);
  4698. char16 __ovld __cnfn convert_char16_sat_rtn(double16);
  4699. char16 __ovld __cnfn convert_char16_sat_rtp(double16);
  4700. char16 __ovld __cnfn convert_char16_sat_rtz(double16);
  4701.  
  4702. uchar __ovld __cnfn convert_uchar(double);
  4703. uchar __ovld __cnfn convert_uchar_rte(double);
  4704. uchar __ovld __cnfn convert_uchar_rtn(double);
  4705. uchar __ovld __cnfn convert_uchar_rtp(double);
  4706. uchar __ovld __cnfn convert_uchar_rtz(double);
  4707. uchar __ovld __cnfn convert_uchar_sat(double);
  4708. uchar __ovld __cnfn convert_uchar_sat_rte(double);
  4709. uchar __ovld __cnfn convert_uchar_sat_rtn(double);
  4710. uchar __ovld __cnfn convert_uchar_sat_rtp(double);
  4711. uchar __ovld __cnfn convert_uchar_sat_rtz(double);
  4712. uchar2 __ovld __cnfn convert_uchar2(double2);
  4713. uchar2 __ovld __cnfn convert_uchar2_rte(double2);
  4714. uchar2 __ovld __cnfn convert_uchar2_rtn(double2);
  4715. uchar2 __ovld __cnfn convert_uchar2_rtp(double2);
  4716. uchar2 __ovld __cnfn convert_uchar2_rtz(double2);
  4717. uchar2 __ovld __cnfn convert_uchar2_sat(double2);
  4718. uchar2 __ovld __cnfn convert_uchar2_sat_rte(double2);
  4719. uchar2 __ovld __cnfn convert_uchar2_sat_rtn(double2);
  4720. uchar2 __ovld __cnfn convert_uchar2_sat_rtp(double2);
  4721. uchar2 __ovld __cnfn convert_uchar2_sat_rtz(double2);
  4722. uchar3 __ovld __cnfn convert_uchar3(double3);
  4723. uchar3 __ovld __cnfn convert_uchar3_rte(double3);
  4724. uchar3 __ovld __cnfn convert_uchar3_rtn(double3);
  4725. uchar3 __ovld __cnfn convert_uchar3_rtp(double3);
  4726. uchar3 __ovld __cnfn convert_uchar3_rtz(double3);
  4727. uchar3 __ovld __cnfn convert_uchar3_sat(double3);
  4728. uchar3 __ovld __cnfn convert_uchar3_sat_rte(double3);
  4729. uchar3 __ovld __cnfn convert_uchar3_sat_rtn(double3);
  4730. uchar3 __ovld __cnfn convert_uchar3_sat_rtp(double3);
  4731. uchar3 __ovld __cnfn convert_uchar3_sat_rtz(double3);
  4732. uchar4 __ovld __cnfn convert_uchar4(double4);
  4733. uchar4 __ovld __cnfn convert_uchar4_rte(double4);
  4734. uchar4 __ovld __cnfn convert_uchar4_rtn(double4);
  4735. uchar4 __ovld __cnfn convert_uchar4_rtp(double4);
  4736. uchar4 __ovld __cnfn convert_uchar4_rtz(double4);
  4737. uchar4 __ovld __cnfn convert_uchar4_sat(double4);
  4738. uchar4 __ovld __cnfn convert_uchar4_sat_rte(double4);
  4739. uchar4 __ovld __cnfn convert_uchar4_sat_rtn(double4);
  4740. uchar4 __ovld __cnfn convert_uchar4_sat_rtp(double4);
  4741. uchar4 __ovld __cnfn convert_uchar4_sat_rtz(double4);
  4742. uchar8 __ovld __cnfn convert_uchar8(double8);
  4743. uchar8 __ovld __cnfn convert_uchar8_rte(double8);
  4744. uchar8 __ovld __cnfn convert_uchar8_rtn(double8);
  4745. uchar8 __ovld __cnfn convert_uchar8_rtp(double8);
  4746. uchar8 __ovld __cnfn convert_uchar8_rtz(double8);
  4747. uchar8 __ovld __cnfn convert_uchar8_sat(double8);
  4748. uchar8 __ovld __cnfn convert_uchar8_sat_rte(double8);
  4749. uchar8 __ovld __cnfn convert_uchar8_sat_rtn(double8);
  4750. uchar8 __ovld __cnfn convert_uchar8_sat_rtp(double8);
  4751. uchar8 __ovld __cnfn convert_uchar8_sat_rtz(double8);
  4752. uchar16 __ovld __cnfn convert_uchar16(double16);
  4753. uchar16 __ovld __cnfn convert_uchar16_rte(double16);
  4754. uchar16 __ovld __cnfn convert_uchar16_rtn(double16);
  4755. uchar16 __ovld __cnfn convert_uchar16_rtp(double16);
  4756. uchar16 __ovld __cnfn convert_uchar16_rtz(double16);
  4757. uchar16 __ovld __cnfn convert_uchar16_sat(double16);
  4758. uchar16 __ovld __cnfn convert_uchar16_sat_rte(double16);
  4759. uchar16 __ovld __cnfn convert_uchar16_sat_rtn(double16);
  4760. uchar16 __ovld __cnfn convert_uchar16_sat_rtp(double16);
  4761. uchar16 __ovld __cnfn convert_uchar16_sat_rtz(double16);
  4762.  
  4763. short __ovld __cnfn convert_short(double);
  4764. short __ovld __cnfn convert_short_rte(double);
  4765. short __ovld __cnfn convert_short_rtn(double);
  4766. short __ovld __cnfn convert_short_rtp(double);
  4767. short __ovld __cnfn convert_short_rtz(double);
  4768. short __ovld __cnfn convert_short_sat(double);
  4769. short __ovld __cnfn convert_short_sat_rte(double);
  4770. short __ovld __cnfn convert_short_sat_rtn(double);
  4771. short __ovld __cnfn convert_short_sat_rtp(double);
  4772. short __ovld __cnfn convert_short_sat_rtz(double);
  4773. short2 __ovld __cnfn convert_short2(double2);
  4774. short2 __ovld __cnfn convert_short2_rte(double2);
  4775. short2 __ovld __cnfn convert_short2_rtn(double2);
  4776. short2 __ovld __cnfn convert_short2_rtp(double2);
  4777. short2 __ovld __cnfn convert_short2_rtz(double2);
  4778. short2 __ovld __cnfn convert_short2_sat(double2);
  4779. short2 __ovld __cnfn convert_short2_sat_rte(double2);
  4780. short2 __ovld __cnfn convert_short2_sat_rtn(double2);
  4781. short2 __ovld __cnfn convert_short2_sat_rtp(double2);
  4782. short2 __ovld __cnfn convert_short2_sat_rtz(double2);
  4783. short3 __ovld __cnfn convert_short3(double3);
  4784. short3 __ovld __cnfn convert_short3_rte(double3);
  4785. short3 __ovld __cnfn convert_short3_rtn(double3);
  4786. short3 __ovld __cnfn convert_short3_rtp(double3);
  4787. short3 __ovld __cnfn convert_short3_rtz(double3);
  4788. short3 __ovld __cnfn convert_short3_sat(double3);
  4789. short3 __ovld __cnfn convert_short3_sat_rte(double3);
  4790. short3 __ovld __cnfn convert_short3_sat_rtn(double3);
  4791. short3 __ovld __cnfn convert_short3_sat_rtp(double3);
  4792. short3 __ovld __cnfn convert_short3_sat_rtz(double3);
  4793. short4 __ovld __cnfn convert_short4(double4);
  4794. short4 __ovld __cnfn convert_short4_rte(double4);
  4795. short4 __ovld __cnfn convert_short4_rtn(double4);
  4796. short4 __ovld __cnfn convert_short4_rtp(double4);
  4797. short4 __ovld __cnfn convert_short4_rtz(double4);
  4798. short4 __ovld __cnfn convert_short4_sat(double4);
  4799. short4 __ovld __cnfn convert_short4_sat_rte(double4);
  4800. short4 __ovld __cnfn convert_short4_sat_rtn(double4);
  4801. short4 __ovld __cnfn convert_short4_sat_rtp(double4);
  4802. short4 __ovld __cnfn convert_short4_sat_rtz(double4);
  4803. short8 __ovld __cnfn convert_short8(double8);
  4804. short8 __ovld __cnfn convert_short8_rte(double8);
  4805. short8 __ovld __cnfn convert_short8_rtn(double8);
  4806. short8 __ovld __cnfn convert_short8_rtp(double8);
  4807. short8 __ovld __cnfn convert_short8_rtz(double8);
  4808. short8 __ovld __cnfn convert_short8_sat(double8);
  4809. short8 __ovld __cnfn convert_short8_sat_rte(double8);
  4810. short8 __ovld __cnfn convert_short8_sat_rtn(double8);
  4811. short8 __ovld __cnfn convert_short8_sat_rtp(double8);
  4812. short8 __ovld __cnfn convert_short8_sat_rtz(double8);
  4813. short16 __ovld __cnfn convert_short16(double16);
  4814. short16 __ovld __cnfn convert_short16_rte(double16);
  4815. short16 __ovld __cnfn convert_short16_rtn(double16);
  4816. short16 __ovld __cnfn convert_short16_rtp(double16);
  4817. short16 __ovld __cnfn convert_short16_rtz(double16);
  4818. short16 __ovld __cnfn convert_short16_sat(double16);
  4819. short16 __ovld __cnfn convert_short16_sat_rte(double16);
  4820. short16 __ovld __cnfn convert_short16_sat_rtn(double16);
  4821. short16 __ovld __cnfn convert_short16_sat_rtp(double16);
  4822. short16 __ovld __cnfn convert_short16_sat_rtz(double16);
  4823.  
  4824. ushort __ovld __cnfn convert_ushort(double);
  4825. ushort __ovld __cnfn convert_ushort_rte(double);
  4826. ushort __ovld __cnfn convert_ushort_rtn(double);
  4827. ushort __ovld __cnfn convert_ushort_rtp(double);
  4828. ushort __ovld __cnfn convert_ushort_rtz(double);
  4829. ushort __ovld __cnfn convert_ushort_sat(double);
  4830. ushort __ovld __cnfn convert_ushort_sat_rte(double);
  4831. ushort __ovld __cnfn convert_ushort_sat_rtn(double);
  4832. ushort __ovld __cnfn convert_ushort_sat_rtp(double);
  4833. ushort __ovld __cnfn convert_ushort_sat_rtz(double);
  4834. ushort2 __ovld __cnfn convert_ushort2(double2);
  4835. ushort2 __ovld __cnfn convert_ushort2_rte(double2);
  4836. ushort2 __ovld __cnfn convert_ushort2_rtn(double2);
  4837. ushort2 __ovld __cnfn convert_ushort2_rtp(double2);
  4838. ushort2 __ovld __cnfn convert_ushort2_rtz(double2);
  4839. ushort2 __ovld __cnfn convert_ushort2_sat(double2);
  4840. ushort2 __ovld __cnfn convert_ushort2_sat_rte(double2);
  4841. ushort2 __ovld __cnfn convert_ushort2_sat_rtn(double2);
  4842. ushort2 __ovld __cnfn convert_ushort2_sat_rtp(double2);
  4843. ushort2 __ovld __cnfn convert_ushort2_sat_rtz(double2);
  4844. ushort3 __ovld __cnfn convert_ushort3(double3);
  4845. ushort3 __ovld __cnfn convert_ushort3_rte(double3);
  4846. ushort3 __ovld __cnfn convert_ushort3_rtn(double3);
  4847. ushort3 __ovld __cnfn convert_ushort3_rtp(double3);
  4848. ushort3 __ovld __cnfn convert_ushort3_rtz(double3);
  4849. ushort3 __ovld __cnfn convert_ushort3_sat(double3);
  4850. ushort3 __ovld __cnfn convert_ushort3_sat_rte(double3);
  4851. ushort3 __ovld __cnfn convert_ushort3_sat_rtn(double3);
  4852. ushort3 __ovld __cnfn convert_ushort3_sat_rtp(double3);
  4853. ushort3 __ovld __cnfn convert_ushort3_sat_rtz(double3);
  4854. ushort4 __ovld __cnfn convert_ushort4(double4);
  4855. ushort4 __ovld __cnfn convert_ushort4_rte(double4);
  4856. ushort4 __ovld __cnfn convert_ushort4_rtn(double4);
  4857. ushort4 __ovld __cnfn convert_ushort4_rtp(double4);
  4858. ushort4 __ovld __cnfn convert_ushort4_rtz(double4);
  4859. ushort4 __ovld __cnfn convert_ushort4_sat(double4);
  4860. ushort4 __ovld __cnfn convert_ushort4_sat_rte(double4);
  4861. ushort4 __ovld __cnfn convert_ushort4_sat_rtn(double4);
  4862. ushort4 __ovld __cnfn convert_ushort4_sat_rtp(double4);
  4863. ushort4 __ovld __cnfn convert_ushort4_sat_rtz(double4);
  4864. ushort8 __ovld __cnfn convert_ushort8(double8);
  4865. ushort8 __ovld __cnfn convert_ushort8_rte(double8);
  4866. ushort8 __ovld __cnfn convert_ushort8_rtn(double8);
  4867. ushort8 __ovld __cnfn convert_ushort8_rtp(double8);
  4868. ushort8 __ovld __cnfn convert_ushort8_rtz(double8);
  4869. ushort8 __ovld __cnfn convert_ushort8_sat(double8);
  4870. ushort8 __ovld __cnfn convert_ushort8_sat_rte(double8);
  4871. ushort8 __ovld __cnfn convert_ushort8_sat_rtn(double8);
  4872. ushort8 __ovld __cnfn convert_ushort8_sat_rtp(double8);
  4873. ushort8 __ovld __cnfn convert_ushort8_sat_rtz(double8);
  4874. ushort16 __ovld __cnfn convert_ushort16(double16);
  4875. ushort16 __ovld __cnfn convert_ushort16_rte(double16);
  4876. ushort16 __ovld __cnfn convert_ushort16_rtn(double16);
  4877. ushort16 __ovld __cnfn convert_ushort16_rtp(double16);
  4878. ushort16 __ovld __cnfn convert_ushort16_rtz(double16);
  4879. ushort16 __ovld __cnfn convert_ushort16_sat(double16);
  4880. ushort16 __ovld __cnfn convert_ushort16_sat_rte(double16);
  4881. ushort16 __ovld __cnfn convert_ushort16_sat_rtn(double16);
  4882. ushort16 __ovld __cnfn convert_ushort16_sat_rtp(double16);
  4883. ushort16 __ovld __cnfn convert_ushort16_sat_rtz(double16);
  4884.  
  4885. int __ovld __cnfn convert_int(double);
  4886. int __ovld __cnfn convert_int_rte(double);
  4887. int __ovld __cnfn convert_int_rtn(double);
  4888. int __ovld __cnfn convert_int_rtp(double);
  4889. int __ovld __cnfn convert_int_rtz(double);
  4890. int __ovld __cnfn convert_int_sat(double);
  4891. int __ovld __cnfn convert_int_sat_rte(double);
  4892. int __ovld __cnfn convert_int_sat_rtn(double);
  4893. int __ovld __cnfn convert_int_sat_rtp(double);
  4894. int __ovld __cnfn convert_int_sat_rtz(double);
  4895. int2 __ovld __cnfn convert_int2(double2);
  4896. int2 __ovld __cnfn convert_int2_rte(double2);
  4897. int2 __ovld __cnfn convert_int2_rtn(double2);
  4898. int2 __ovld __cnfn convert_int2_rtp(double2);
  4899. int2 __ovld __cnfn convert_int2_rtz(double2);
  4900. int2 __ovld __cnfn convert_int2_sat(double2);
  4901. int2 __ovld __cnfn convert_int2_sat_rte(double2);
  4902. int2 __ovld __cnfn convert_int2_sat_rtn(double2);
  4903. int2 __ovld __cnfn convert_int2_sat_rtp(double2);
  4904. int2 __ovld __cnfn convert_int2_sat_rtz(double2);
  4905. int3 __ovld __cnfn convert_int3(double3);
  4906. int3 __ovld __cnfn convert_int3_rte(double3);
  4907. int3 __ovld __cnfn convert_int3_rtn(double3);
  4908. int3 __ovld __cnfn convert_int3_rtp(double3);
  4909. int3 __ovld __cnfn convert_int3_rtz(double3);
  4910. int3 __ovld __cnfn convert_int3_sat(double3);
  4911. int3 __ovld __cnfn convert_int3_sat_rte(double3);
  4912. int3 __ovld __cnfn convert_int3_sat_rtn(double3);
  4913. int3 __ovld __cnfn convert_int3_sat_rtp(double3);
  4914. int3 __ovld __cnfn convert_int3_sat_rtz(double3);
  4915. int4 __ovld __cnfn convert_int4(double4);
  4916. int4 __ovld __cnfn convert_int4_rte(double4);
  4917. int4 __ovld __cnfn convert_int4_rtn(double4);
  4918. int4 __ovld __cnfn convert_int4_rtp(double4);
  4919. int4 __ovld __cnfn convert_int4_rtz(double4);
  4920. int4 __ovld __cnfn convert_int4_sat(double4);
  4921. int4 __ovld __cnfn convert_int4_sat_rte(double4);
  4922. int4 __ovld __cnfn convert_int4_sat_rtn(double4);
  4923. int4 __ovld __cnfn convert_int4_sat_rtp(double4);
  4924. int4 __ovld __cnfn convert_int4_sat_rtz(double4);
  4925. int8 __ovld __cnfn convert_int8(double8);
  4926. int8 __ovld __cnfn convert_int8_rte(double8);
  4927. int8 __ovld __cnfn convert_int8_rtn(double8);
  4928. int8 __ovld __cnfn convert_int8_rtp(double8);
  4929. int8 __ovld __cnfn convert_int8_rtz(double8);
  4930. int8 __ovld __cnfn convert_int8_sat(double8);
  4931. int8 __ovld __cnfn convert_int8_sat_rte(double8);
  4932. int8 __ovld __cnfn convert_int8_sat_rtn(double8);
  4933. int8 __ovld __cnfn convert_int8_sat_rtp(double8);
  4934. int8 __ovld __cnfn convert_int8_sat_rtz(double8);
  4935. int16 __ovld __cnfn convert_int16(double16);
  4936. int16 __ovld __cnfn convert_int16_rte(double16);
  4937. int16 __ovld __cnfn convert_int16_rtn(double16);
  4938. int16 __ovld __cnfn convert_int16_rtp(double16);
  4939. int16 __ovld __cnfn convert_int16_rtz(double16);
  4940. int16 __ovld __cnfn convert_int16_sat(double16);
  4941. int16 __ovld __cnfn convert_int16_sat_rte(double16);
  4942. int16 __ovld __cnfn convert_int16_sat_rtn(double16);
  4943. int16 __ovld __cnfn convert_int16_sat_rtp(double16);
  4944. int16 __ovld __cnfn convert_int16_sat_rtz(double16);
  4945.  
  4946. uint __ovld __cnfn convert_uint(double);
  4947. uint __ovld __cnfn convert_uint_rte(double);
  4948. uint __ovld __cnfn convert_uint_rtn(double);
  4949. uint __ovld __cnfn convert_uint_rtp(double);
  4950. uint __ovld __cnfn convert_uint_rtz(double);
  4951. uint __ovld __cnfn convert_uint_sat(double);
  4952. uint __ovld __cnfn convert_uint_sat_rte(double);
  4953. uint __ovld __cnfn convert_uint_sat_rtn(double);
  4954. uint __ovld __cnfn convert_uint_sat_rtp(double);
  4955. uint __ovld __cnfn convert_uint_sat_rtz(double);
  4956. uint2 __ovld __cnfn convert_uint2(double2);
  4957. uint2 __ovld __cnfn convert_uint2_rte(double2);
  4958. uint2 __ovld __cnfn convert_uint2_rtn(double2);
  4959. uint2 __ovld __cnfn convert_uint2_rtp(double2);
  4960. uint2 __ovld __cnfn convert_uint2_rtz(double2);
  4961. uint2 __ovld __cnfn convert_uint2_sat(double2);
  4962. uint2 __ovld __cnfn convert_uint2_sat_rte(double2);
  4963. uint2 __ovld __cnfn convert_uint2_sat_rtn(double2);
  4964. uint2 __ovld __cnfn convert_uint2_sat_rtp(double2);
  4965. uint2 __ovld __cnfn convert_uint2_sat_rtz(double2);
  4966. uint3 __ovld __cnfn convert_uint3(double3);
  4967. uint3 __ovld __cnfn convert_uint3_rte(double3);
  4968. uint3 __ovld __cnfn convert_uint3_rtn(double3);
  4969. uint3 __ovld __cnfn convert_uint3_rtp(double3);
  4970. uint3 __ovld __cnfn convert_uint3_rtz(double3);
  4971. uint3 __ovld __cnfn convert_uint3_sat(double3);
  4972. uint3 __ovld __cnfn convert_uint3_sat_rte(double3);
  4973. uint3 __ovld __cnfn convert_uint3_sat_rtn(double3);
  4974. uint3 __ovld __cnfn convert_uint3_sat_rtp(double3);
  4975. uint3 __ovld __cnfn convert_uint3_sat_rtz(double3);
  4976. uint4 __ovld __cnfn convert_uint4(double4);
  4977. uint4 __ovld __cnfn convert_uint4_rte(double4);
  4978. uint4 __ovld __cnfn convert_uint4_rtn(double4);
  4979. uint4 __ovld __cnfn convert_uint4_rtp(double4);
  4980. uint4 __ovld __cnfn convert_uint4_rtz(double4);
  4981. uint4 __ovld __cnfn convert_uint4_sat(double4);
  4982. uint4 __ovld __cnfn convert_uint4_sat_rte(double4);
  4983. uint4 __ovld __cnfn convert_uint4_sat_rtn(double4);
  4984. uint4 __ovld __cnfn convert_uint4_sat_rtp(double4);
  4985. uint4 __ovld __cnfn convert_uint4_sat_rtz(double4);
  4986. uint8 __ovld __cnfn convert_uint8(double8);
  4987. uint8 __ovld __cnfn convert_uint8_rte(double8);
  4988. uint8 __ovld __cnfn convert_uint8_rtn(double8);
  4989. uint8 __ovld __cnfn convert_uint8_rtp(double8);
  4990. uint8 __ovld __cnfn convert_uint8_rtz(double8);
  4991. uint8 __ovld __cnfn convert_uint8_sat(double8);
  4992. uint8 __ovld __cnfn convert_uint8_sat_rte(double8);
  4993. uint8 __ovld __cnfn convert_uint8_sat_rtn(double8);
  4994. uint8 __ovld __cnfn convert_uint8_sat_rtp(double8);
  4995. uint8 __ovld __cnfn convert_uint8_sat_rtz(double8);
  4996. uint16 __ovld __cnfn convert_uint16(double16);
  4997. uint16 __ovld __cnfn convert_uint16_rte(double16);
  4998. uint16 __ovld __cnfn convert_uint16_rtn(double16);
  4999. uint16 __ovld __cnfn convert_uint16_rtp(double16);
  5000. uint16 __ovld __cnfn convert_uint16_rtz(double16);
  5001. uint16 __ovld __cnfn convert_uint16_sat(double16);
  5002. uint16 __ovld __cnfn convert_uint16_sat_rte(double16);
  5003. uint16 __ovld __cnfn convert_uint16_sat_rtn(double16);
  5004. uint16 __ovld __cnfn convert_uint16_sat_rtp(double16);
  5005. uint16 __ovld __cnfn convert_uint16_sat_rtz(double16);
  5006.  
  5007. long __ovld __cnfn convert_long(double);
  5008. long __ovld __cnfn convert_long_rte(double);
  5009. long __ovld __cnfn convert_long_rtn(double);
  5010. long __ovld __cnfn convert_long_rtp(double);
  5011. long __ovld __cnfn convert_long_rtz(double);
  5012. long __ovld __cnfn convert_long_sat(double);
  5013. long __ovld __cnfn convert_long_sat_rte(double);
  5014. long __ovld __cnfn convert_long_sat_rtn(double);
  5015. long __ovld __cnfn convert_long_sat_rtp(double);
  5016. long __ovld __cnfn convert_long_sat_rtz(double);
  5017. long2 __ovld __cnfn convert_long2(double2);
  5018. long2 __ovld __cnfn convert_long2_rte(double2);
  5019. long2 __ovld __cnfn convert_long2_rtn(double2);
  5020. long2 __ovld __cnfn convert_long2_rtp(double2);
  5021. long2 __ovld __cnfn convert_long2_rtz(double2);
  5022. long2 __ovld __cnfn convert_long2_sat(double2);
  5023. long2 __ovld __cnfn convert_long2_sat_rte(double2);
  5024. long2 __ovld __cnfn convert_long2_sat_rtn(double2);
  5025. long2 __ovld __cnfn convert_long2_sat_rtp(double2);
  5026. long2 __ovld __cnfn convert_long2_sat_rtz(double2);
  5027. long3 __ovld __cnfn convert_long3(double3);
  5028. long3 __ovld __cnfn convert_long3_rte(double3);
  5029. long3 __ovld __cnfn convert_long3_rtn(double3);
  5030. long3 __ovld __cnfn convert_long3_rtp(double3);
  5031. long3 __ovld __cnfn convert_long3_rtz(double3);
  5032. long3 __ovld __cnfn convert_long3_sat(double3);
  5033. long3 __ovld __cnfn convert_long3_sat_rte(double3);
  5034. long3 __ovld __cnfn convert_long3_sat_rtn(double3);
  5035. long3 __ovld __cnfn convert_long3_sat_rtp(double3);
  5036. long3 __ovld __cnfn convert_long3_sat_rtz(double3);
  5037. long4 __ovld __cnfn convert_long4(double4);
  5038. long4 __ovld __cnfn convert_long4_rte(double4);
  5039. long4 __ovld __cnfn convert_long4_rtn(double4);
  5040. long4 __ovld __cnfn convert_long4_rtp(double4);
  5041. long4 __ovld __cnfn convert_long4_rtz(double4);
  5042. long4 __ovld __cnfn convert_long4_sat(double4);
  5043. long4 __ovld __cnfn convert_long4_sat_rte(double4);
  5044. long4 __ovld __cnfn convert_long4_sat_rtn(double4);
  5045. long4 __ovld __cnfn convert_long4_sat_rtp(double4);
  5046. long4 __ovld __cnfn convert_long4_sat_rtz(double4);
  5047. long8 __ovld __cnfn convert_long8(double8);
  5048. long8 __ovld __cnfn convert_long8_rte(double8);
  5049. long8 __ovld __cnfn convert_long8_rtn(double8);
  5050. long8 __ovld __cnfn convert_long8_rtp(double8);
  5051. long8 __ovld __cnfn convert_long8_rtz(double8);
  5052. long8 __ovld __cnfn convert_long8_sat(double8);
  5053. long8 __ovld __cnfn convert_long8_sat_rte(double8);
  5054. long8 __ovld __cnfn convert_long8_sat_rtn(double8);
  5055. long8 __ovld __cnfn convert_long8_sat_rtp(double8);
  5056. long8 __ovld __cnfn convert_long8_sat_rtz(double8);
  5057. long16 __ovld __cnfn convert_long16(double16);
  5058. long16 __ovld __cnfn convert_long16_rte(double16);
  5059. long16 __ovld __cnfn convert_long16_rtn(double16);
  5060. long16 __ovld __cnfn convert_long16_rtp(double16);
  5061. long16 __ovld __cnfn convert_long16_rtz(double16);
  5062. long16 __ovld __cnfn convert_long16_sat(double16);
  5063. long16 __ovld __cnfn convert_long16_sat_rte(double16);
  5064. long16 __ovld __cnfn convert_long16_sat_rtn(double16);
  5065. long16 __ovld __cnfn convert_long16_sat_rtp(double16);
  5066. long16 __ovld __cnfn convert_long16_sat_rtz(double16);
  5067.  
  5068. ulong __ovld __cnfn convert_ulong(double);
  5069. ulong __ovld __cnfn convert_ulong_rte(double);
  5070. ulong __ovld __cnfn convert_ulong_rtn(double);
  5071. ulong __ovld __cnfn convert_ulong_rtp(double);
  5072. ulong __ovld __cnfn convert_ulong_rtz(double);
  5073. ulong __ovld __cnfn convert_ulong_sat(double);
  5074. ulong __ovld __cnfn convert_ulong_sat_rte(double);
  5075. ulong __ovld __cnfn convert_ulong_sat_rtn(double);
  5076. ulong __ovld __cnfn convert_ulong_sat_rtp(double);
  5077. ulong __ovld __cnfn convert_ulong_sat_rtz(double);
  5078. ulong2 __ovld __cnfn convert_ulong2(double2);
  5079. ulong2 __ovld __cnfn convert_ulong2_rte(double2);
  5080. ulong2 __ovld __cnfn convert_ulong2_rtn(double2);
  5081. ulong2 __ovld __cnfn convert_ulong2_rtp(double2);
  5082. ulong2 __ovld __cnfn convert_ulong2_rtz(double2);
  5083. ulong2 __ovld __cnfn convert_ulong2_sat(double2);
  5084. ulong2 __ovld __cnfn convert_ulong2_sat_rte(double2);
  5085. ulong2 __ovld __cnfn convert_ulong2_sat_rtn(double2);
  5086. ulong2 __ovld __cnfn convert_ulong2_sat_rtp(double2);
  5087. ulong2 __ovld __cnfn convert_ulong2_sat_rtz(double2);
  5088. ulong3 __ovld __cnfn convert_ulong3(double3);
  5089. ulong3 __ovld __cnfn convert_ulong3_rte(double3);
  5090. ulong3 __ovld __cnfn convert_ulong3_rtn(double3);
  5091. ulong3 __ovld __cnfn convert_ulong3_rtp(double3);
  5092. ulong3 __ovld __cnfn convert_ulong3_rtz(double3);
  5093. ulong3 __ovld __cnfn convert_ulong3_sat(double3);
  5094. ulong3 __ovld __cnfn convert_ulong3_sat_rte(double3);
  5095. ulong3 __ovld __cnfn convert_ulong3_sat_rtn(double3);
  5096. ulong3 __ovld __cnfn convert_ulong3_sat_rtp(double3);
  5097. ulong3 __ovld __cnfn convert_ulong3_sat_rtz(double3);
  5098. ulong4 __ovld __cnfn convert_ulong4(double4);
  5099. ulong4 __ovld __cnfn convert_ulong4_rte(double4);
  5100. ulong4 __ovld __cnfn convert_ulong4_rtn(double4);
  5101. ulong4 __ovld __cnfn convert_ulong4_rtp(double4);
  5102. ulong4 __ovld __cnfn convert_ulong4_rtz(double4);
  5103. ulong4 __ovld __cnfn convert_ulong4_sat(double4);
  5104. ulong4 __ovld __cnfn convert_ulong4_sat_rte(double4);
  5105. ulong4 __ovld __cnfn convert_ulong4_sat_rtn(double4);
  5106. ulong4 __ovld __cnfn convert_ulong4_sat_rtp(double4);
  5107. ulong4 __ovld __cnfn convert_ulong4_sat_rtz(double4);
  5108. ulong8 __ovld __cnfn convert_ulong8(double8);
  5109. ulong8 __ovld __cnfn convert_ulong8_rte(double8);
  5110. ulong8 __ovld __cnfn convert_ulong8_rtn(double8);
  5111. ulong8 __ovld __cnfn convert_ulong8_rtp(double8);
  5112. ulong8 __ovld __cnfn convert_ulong8_rtz(double8);
  5113. ulong8 __ovld __cnfn convert_ulong8_sat(double8);
  5114. ulong8 __ovld __cnfn convert_ulong8_sat_rte(double8);
  5115. ulong8 __ovld __cnfn convert_ulong8_sat_rtn(double8);
  5116. ulong8 __ovld __cnfn convert_ulong8_sat_rtp(double8);
  5117. ulong8 __ovld __cnfn convert_ulong8_sat_rtz(double8);
  5118. ulong16 __ovld __cnfn convert_ulong16(double16);
  5119. ulong16 __ovld __cnfn convert_ulong16_rte(double16);
  5120. ulong16 __ovld __cnfn convert_ulong16_rtn(double16);
  5121. ulong16 __ovld __cnfn convert_ulong16_rtp(double16);
  5122. ulong16 __ovld __cnfn convert_ulong16_rtz(double16);
  5123. ulong16 __ovld __cnfn convert_ulong16_sat(double16);
  5124. ulong16 __ovld __cnfn convert_ulong16_sat_rte(double16);
  5125. ulong16 __ovld __cnfn convert_ulong16_sat_rtn(double16);
  5126. ulong16 __ovld __cnfn convert_ulong16_sat_rtp(double16);
  5127. ulong16 __ovld __cnfn convert_ulong16_sat_rtz(double16);
  5128.  
  5129. float __ovld __cnfn convert_float(double);
  5130. float __ovld __cnfn convert_float_rte(double);
  5131. float __ovld __cnfn convert_float_rtn(double);
  5132. float __ovld __cnfn convert_float_rtp(double);
  5133. float __ovld __cnfn convert_float_rtz(double);
  5134. float2 __ovld __cnfn convert_float2(double2);
  5135. float2 __ovld __cnfn convert_float2_rte(double2);
  5136. float2 __ovld __cnfn convert_float2_rtn(double2);
  5137. float2 __ovld __cnfn convert_float2_rtp(double2);
  5138. float2 __ovld __cnfn convert_float2_rtz(double2);
  5139. float3 __ovld __cnfn convert_float3(double3);
  5140. float3 __ovld __cnfn convert_float3_rte(double3);
  5141. float3 __ovld __cnfn convert_float3_rtn(double3);
  5142. float3 __ovld __cnfn convert_float3_rtp(double3);
  5143. float3 __ovld __cnfn convert_float3_rtz(double3);
  5144. float4 __ovld __cnfn convert_float4(double4);
  5145. float4 __ovld __cnfn convert_float4_rte(double4);
  5146. float4 __ovld __cnfn convert_float4_rtn(double4);
  5147. float4 __ovld __cnfn convert_float4_rtp(double4);
  5148. float4 __ovld __cnfn convert_float4_rtz(double4);
  5149. float8 __ovld __cnfn convert_float8(double8);
  5150. float8 __ovld __cnfn convert_float8_rte(double8);
  5151. float8 __ovld __cnfn convert_float8_rtn(double8);
  5152. float8 __ovld __cnfn convert_float8_rtp(double8);
  5153. float8 __ovld __cnfn convert_float8_rtz(double8);
  5154. float16 __ovld __cnfn convert_float16(double16);
  5155. float16 __ovld __cnfn convert_float16_rte(double16);
  5156. float16 __ovld __cnfn convert_float16_rtn(double16);
  5157. float16 __ovld __cnfn convert_float16_rtp(double16);
  5158. float16 __ovld __cnfn convert_float16_rtz(double16);
  5159.  
  5160. double __ovld __cnfn convert_double(char);
  5161. double __ovld __cnfn convert_double(double);
  5162. double __ovld __cnfn convert_double(float);
  5163. double __ovld __cnfn convert_double(int);
  5164. double __ovld __cnfn convert_double(long);
  5165. double __ovld __cnfn convert_double(short);
  5166. double __ovld __cnfn convert_double(uchar);
  5167. double __ovld __cnfn convert_double(uint);
  5168. double __ovld __cnfn convert_double(ulong);
  5169. double __ovld __cnfn convert_double(ushort);
  5170. double __ovld __cnfn convert_double_rte(char);
  5171. double __ovld __cnfn convert_double_rte(double);
  5172. double __ovld __cnfn convert_double_rte(float);
  5173. double __ovld __cnfn convert_double_rte(int);
  5174. double __ovld __cnfn convert_double_rte(long);
  5175. double __ovld __cnfn convert_double_rte(short);
  5176. double __ovld __cnfn convert_double_rte(uchar);
  5177. double __ovld __cnfn convert_double_rte(uint);
  5178. double __ovld __cnfn convert_double_rte(ulong);
  5179. double __ovld __cnfn convert_double_rte(ushort);
  5180. double __ovld __cnfn convert_double_rtn(char);
  5181. double __ovld __cnfn convert_double_rtn(double);
  5182. double __ovld __cnfn convert_double_rtn(float);
  5183. double __ovld __cnfn convert_double_rtn(int);
  5184. double __ovld __cnfn convert_double_rtn(long);
  5185. double __ovld __cnfn convert_double_rtn(short);
  5186. double __ovld __cnfn convert_double_rtn(uchar);
  5187. double __ovld __cnfn convert_double_rtn(uint);
  5188. double __ovld __cnfn convert_double_rtn(ulong);
  5189. double __ovld __cnfn convert_double_rtn(ushort);
  5190. double __ovld __cnfn convert_double_rtp(char);
  5191. double __ovld __cnfn convert_double_rtp(double);
  5192. double __ovld __cnfn convert_double_rtp(float);
  5193. double __ovld __cnfn convert_double_rtp(int);
  5194. double __ovld __cnfn convert_double_rtp(long);
  5195. double __ovld __cnfn convert_double_rtp(short);
  5196. double __ovld __cnfn convert_double_rtp(uchar);
  5197. double __ovld __cnfn convert_double_rtp(uint);
  5198. double __ovld __cnfn convert_double_rtp(ulong);
  5199. double __ovld __cnfn convert_double_rtp(ushort);
  5200. double __ovld __cnfn convert_double_rtz(char);
  5201. double __ovld __cnfn convert_double_rtz(double);
  5202. double __ovld __cnfn convert_double_rtz(float);
  5203. double __ovld __cnfn convert_double_rtz(int);
  5204. double __ovld __cnfn convert_double_rtz(long);
  5205. double __ovld __cnfn convert_double_rtz(short);
  5206. double __ovld __cnfn convert_double_rtz(uchar);
  5207. double __ovld __cnfn convert_double_rtz(uint);
  5208. double __ovld __cnfn convert_double_rtz(ulong);
  5209. double __ovld __cnfn convert_double_rtz(ushort);
  5210. double2 __ovld __cnfn convert_double2(char2);
  5211. double2 __ovld __cnfn convert_double2(double2);
  5212. double2 __ovld __cnfn convert_double2(float2);
  5213. double2 __ovld __cnfn convert_double2(int2);
  5214. double2 __ovld __cnfn convert_double2(long2);
  5215. double2 __ovld __cnfn convert_double2(short2);
  5216. double2 __ovld __cnfn convert_double2(uchar2);
  5217. double2 __ovld __cnfn convert_double2(uint2);
  5218. double2 __ovld __cnfn convert_double2(ulong2);
  5219. double2 __ovld __cnfn convert_double2(ushort2);
  5220. double2 __ovld __cnfn convert_double2_rte(char2);
  5221. double2 __ovld __cnfn convert_double2_rte(double2);
  5222. double2 __ovld __cnfn convert_double2_rte(float2);
  5223. double2 __ovld __cnfn convert_double2_rte(int2);
  5224. double2 __ovld __cnfn convert_double2_rte(long2);
  5225. double2 __ovld __cnfn convert_double2_rte(short2);
  5226. double2 __ovld __cnfn convert_double2_rte(uchar2);
  5227. double2 __ovld __cnfn convert_double2_rte(uint2);
  5228. double2 __ovld __cnfn convert_double2_rte(ulong2);
  5229. double2 __ovld __cnfn convert_double2_rte(ushort2);
  5230. double2 __ovld __cnfn convert_double2_rtn(char2);
  5231. double2 __ovld __cnfn convert_double2_rtn(double2);
  5232. double2 __ovld __cnfn convert_double2_rtn(float2);
  5233. double2 __ovld __cnfn convert_double2_rtn(int2);
  5234. double2 __ovld __cnfn convert_double2_rtn(long2);
  5235. double2 __ovld __cnfn convert_double2_rtn(short2);
  5236. double2 __ovld __cnfn convert_double2_rtn(uchar2);
  5237. double2 __ovld __cnfn convert_double2_rtn(uint2);
  5238. double2 __ovld __cnfn convert_double2_rtn(ulong2);
  5239. double2 __ovld __cnfn convert_double2_rtn(ushort2);
  5240. double2 __ovld __cnfn convert_double2_rtp(char2);
  5241. double2 __ovld __cnfn convert_double2_rtp(double2);
  5242. double2 __ovld __cnfn convert_double2_rtp(float2);
  5243. double2 __ovld __cnfn convert_double2_rtp(int2);
  5244. double2 __ovld __cnfn convert_double2_rtp(long2);
  5245. double2 __ovld __cnfn convert_double2_rtp(short2);
  5246. double2 __ovld __cnfn convert_double2_rtp(uchar2);
  5247. double2 __ovld __cnfn convert_double2_rtp(uint2);
  5248. double2 __ovld __cnfn convert_double2_rtp(ulong2);
  5249. double2 __ovld __cnfn convert_double2_rtp(ushort2);
  5250. double2 __ovld __cnfn convert_double2_rtz(char2);
  5251. double2 __ovld __cnfn convert_double2_rtz(double2);
  5252. double2 __ovld __cnfn convert_double2_rtz(float2);
  5253. double2 __ovld __cnfn convert_double2_rtz(int2);
  5254. double2 __ovld __cnfn convert_double2_rtz(long2);
  5255. double2 __ovld __cnfn convert_double2_rtz(short2);
  5256. double2 __ovld __cnfn convert_double2_rtz(uchar2);
  5257. double2 __ovld __cnfn convert_double2_rtz(uint2);
  5258. double2 __ovld __cnfn convert_double2_rtz(ulong2);
  5259. double2 __ovld __cnfn convert_double2_rtz(ushort2);
  5260. double3 __ovld __cnfn convert_double3(char3);
  5261. double3 __ovld __cnfn convert_double3(double3);
  5262. double3 __ovld __cnfn convert_double3(float3);
  5263. double3 __ovld __cnfn convert_double3(int3);
  5264. double3 __ovld __cnfn convert_double3(long3);
  5265. double3 __ovld __cnfn convert_double3(short3);
  5266. double3 __ovld __cnfn convert_double3(uchar3);
  5267. double3 __ovld __cnfn convert_double3(uint3);
  5268. double3 __ovld __cnfn convert_double3(ulong3);
  5269. double3 __ovld __cnfn convert_double3(ushort3);
  5270. double3 __ovld __cnfn convert_double3_rte(char3);
  5271. double3 __ovld __cnfn convert_double3_rte(double3);
  5272. double3 __ovld __cnfn convert_double3_rte(float3);
  5273. double3 __ovld __cnfn convert_double3_rte(int3);
  5274. double3 __ovld __cnfn convert_double3_rte(long3);
  5275. double3 __ovld __cnfn convert_double3_rte(short3);
  5276. double3 __ovld __cnfn convert_double3_rte(uchar3);
  5277. double3 __ovld __cnfn convert_double3_rte(uint3);
  5278. double3 __ovld __cnfn convert_double3_rte(ulong3);
  5279. double3 __ovld __cnfn convert_double3_rte(ushort3);
  5280. double3 __ovld __cnfn convert_double3_rtn(char3);
  5281. double3 __ovld __cnfn convert_double3_rtn(double3);
  5282. double3 __ovld __cnfn convert_double3_rtn(float3);
  5283. double3 __ovld __cnfn convert_double3_rtn(int3);
  5284. double3 __ovld __cnfn convert_double3_rtn(long3);
  5285. double3 __ovld __cnfn convert_double3_rtn(short3);
  5286. double3 __ovld __cnfn convert_double3_rtn(uchar3);
  5287. double3 __ovld __cnfn convert_double3_rtn(uint3);
  5288. double3 __ovld __cnfn convert_double3_rtn(ulong3);
  5289. double3 __ovld __cnfn convert_double3_rtn(ushort3);
  5290. double3 __ovld __cnfn convert_double3_rtp(char3);
  5291. double3 __ovld __cnfn convert_double3_rtp(double3);
  5292. double3 __ovld __cnfn convert_double3_rtp(float3);
  5293. double3 __ovld __cnfn convert_double3_rtp(int3);
  5294. double3 __ovld __cnfn convert_double3_rtp(long3);
  5295. double3 __ovld __cnfn convert_double3_rtp(short3);
  5296. double3 __ovld __cnfn convert_double3_rtp(uchar3);
  5297. double3 __ovld __cnfn convert_double3_rtp(uint3);
  5298. double3 __ovld __cnfn convert_double3_rtp(ulong3);
  5299. double3 __ovld __cnfn convert_double3_rtp(ushort3);
  5300. double3 __ovld __cnfn convert_double3_rtz(char3);
  5301. double3 __ovld __cnfn convert_double3_rtz(double3);
  5302. double3 __ovld __cnfn convert_double3_rtz(float3);
  5303. double3 __ovld __cnfn convert_double3_rtz(int3);
  5304. double3 __ovld __cnfn convert_double3_rtz(long3);
  5305. double3 __ovld __cnfn convert_double3_rtz(short3);
  5306. double3 __ovld __cnfn convert_double3_rtz(uchar3);
  5307. double3 __ovld __cnfn convert_double3_rtz(uint3);
  5308. double3 __ovld __cnfn convert_double3_rtz(ulong3);
  5309. double3 __ovld __cnfn convert_double3_rtz(ushort3);
  5310. double4 __ovld __cnfn convert_double4(char4);
  5311. double4 __ovld __cnfn convert_double4(double4);
  5312. double4 __ovld __cnfn convert_double4(float4);
  5313. double4 __ovld __cnfn convert_double4(int4);
  5314. double4 __ovld __cnfn convert_double4(long4);
  5315. double4 __ovld __cnfn convert_double4(short4);
  5316. double4 __ovld __cnfn convert_double4(uchar4);
  5317. double4 __ovld __cnfn convert_double4(uint4);
  5318. double4 __ovld __cnfn convert_double4(ulong4);
  5319. double4 __ovld __cnfn convert_double4(ushort4);
  5320. double4 __ovld __cnfn convert_double4_rte(char4);
  5321. double4 __ovld __cnfn convert_double4_rte(double4);
  5322. double4 __ovld __cnfn convert_double4_rte(float4);
  5323. double4 __ovld __cnfn convert_double4_rte(int4);
  5324. double4 __ovld __cnfn convert_double4_rte(long4);
  5325. double4 __ovld __cnfn convert_double4_rte(short4);
  5326. double4 __ovld __cnfn convert_double4_rte(uchar4);
  5327. double4 __ovld __cnfn convert_double4_rte(uint4);
  5328. double4 __ovld __cnfn convert_double4_rte(ulong4);
  5329. double4 __ovld __cnfn convert_double4_rte(ushort4);
  5330. double4 __ovld __cnfn convert_double4_rtn(char4);
  5331. double4 __ovld __cnfn convert_double4_rtn(double4);
  5332. double4 __ovld __cnfn convert_double4_rtn(float4);
  5333. double4 __ovld __cnfn convert_double4_rtn(int4);
  5334. double4 __ovld __cnfn convert_double4_rtn(long4);
  5335. double4 __ovld __cnfn convert_double4_rtn(short4);
  5336. double4 __ovld __cnfn convert_double4_rtn(uchar4);
  5337. double4 __ovld __cnfn convert_double4_rtn(uint4);
  5338. double4 __ovld __cnfn convert_double4_rtn(ulong4);
  5339. double4 __ovld __cnfn convert_double4_rtn(ushort4);
  5340. double4 __ovld __cnfn convert_double4_rtp(char4);
  5341. double4 __ovld __cnfn convert_double4_rtp(double4);
  5342. double4 __ovld __cnfn convert_double4_rtp(float4);
  5343. double4 __ovld __cnfn convert_double4_rtp(int4);
  5344. double4 __ovld __cnfn convert_double4_rtp(long4);
  5345. double4 __ovld __cnfn convert_double4_rtp(short4);
  5346. double4 __ovld __cnfn convert_double4_rtp(uchar4);
  5347. double4 __ovld __cnfn convert_double4_rtp(uint4);
  5348. double4 __ovld __cnfn convert_double4_rtp(ulong4);
  5349. double4 __ovld __cnfn convert_double4_rtp(ushort4);
  5350. double4 __ovld __cnfn convert_double4_rtz(char4);
  5351. double4 __ovld __cnfn convert_double4_rtz(double4);
  5352. double4 __ovld __cnfn convert_double4_rtz(float4);
  5353. double4 __ovld __cnfn convert_double4_rtz(int4);
  5354. double4 __ovld __cnfn convert_double4_rtz(long4);
  5355. double4 __ovld __cnfn convert_double4_rtz(short4);
  5356. double4 __ovld __cnfn convert_double4_rtz(uchar4);
  5357. double4 __ovld __cnfn convert_double4_rtz(uint4);
  5358. double4 __ovld __cnfn convert_double4_rtz(ulong4);
  5359. double4 __ovld __cnfn convert_double4_rtz(ushort4);
  5360. double8 __ovld __cnfn convert_double8(char8);
  5361. double8 __ovld __cnfn convert_double8(double8);
  5362. double8 __ovld __cnfn convert_double8(float8);
  5363. double8 __ovld __cnfn convert_double8(int8);
  5364. double8 __ovld __cnfn convert_double8(long8);
  5365. double8 __ovld __cnfn convert_double8(short8);
  5366. double8 __ovld __cnfn convert_double8(uchar8);
  5367. double8 __ovld __cnfn convert_double8(uint8);
  5368. double8 __ovld __cnfn convert_double8(ulong8);
  5369. double8 __ovld __cnfn convert_double8(ushort8);
  5370. double8 __ovld __cnfn convert_double8_rte(char8);
  5371. double8 __ovld __cnfn convert_double8_rte(double8);
  5372. double8 __ovld __cnfn convert_double8_rte(float8);
  5373. double8 __ovld __cnfn convert_double8_rte(int8);
  5374. double8 __ovld __cnfn convert_double8_rte(long8);
  5375. double8 __ovld __cnfn convert_double8_rte(short8);
  5376. double8 __ovld __cnfn convert_double8_rte(uchar8);
  5377. double8 __ovld __cnfn convert_double8_rte(uint8);
  5378. double8 __ovld __cnfn convert_double8_rte(ulong8);
  5379. double8 __ovld __cnfn convert_double8_rte(ushort8);
  5380. double8 __ovld __cnfn convert_double8_rtn(char8);
  5381. double8 __ovld __cnfn convert_double8_rtn(double8);
  5382. double8 __ovld __cnfn convert_double8_rtn(float8);
  5383. double8 __ovld __cnfn convert_double8_rtn(int8);
  5384. double8 __ovld __cnfn convert_double8_rtn(long8);
  5385. double8 __ovld __cnfn convert_double8_rtn(short8);
  5386. double8 __ovld __cnfn convert_double8_rtn(uchar8);
  5387. double8 __ovld __cnfn convert_double8_rtn(uint8);
  5388. double8 __ovld __cnfn convert_double8_rtn(ulong8);
  5389. double8 __ovld __cnfn convert_double8_rtn(ushort8);
  5390. double8 __ovld __cnfn convert_double8_rtp(char8);
  5391. double8 __ovld __cnfn convert_double8_rtp(double8);
  5392. double8 __ovld __cnfn convert_double8_rtp(float8);
  5393. double8 __ovld __cnfn convert_double8_rtp(int8);
  5394. double8 __ovld __cnfn convert_double8_rtp(long8);
  5395. double8 __ovld __cnfn convert_double8_rtp(short8);
  5396. double8 __ovld __cnfn convert_double8_rtp(uchar8);
  5397. double8 __ovld __cnfn convert_double8_rtp(uint8);
  5398. double8 __ovld __cnfn convert_double8_rtp(ulong8);
  5399. double8 __ovld __cnfn convert_double8_rtp(ushort8);
  5400. double8 __ovld __cnfn convert_double8_rtz(char8);
  5401. double8 __ovld __cnfn convert_double8_rtz(double8);
  5402. double8 __ovld __cnfn convert_double8_rtz(float8);
  5403. double8 __ovld __cnfn convert_double8_rtz(int8);
  5404. double8 __ovld __cnfn convert_double8_rtz(long8);
  5405. double8 __ovld __cnfn convert_double8_rtz(short8);
  5406. double8 __ovld __cnfn convert_double8_rtz(uchar8);
  5407. double8 __ovld __cnfn convert_double8_rtz(uint8);
  5408. double8 __ovld __cnfn convert_double8_rtz(ulong8);
  5409. double8 __ovld __cnfn convert_double8_rtz(ushort8);
  5410. double16 __ovld __cnfn convert_double16(char16);
  5411. double16 __ovld __cnfn convert_double16(double16);
  5412. double16 __ovld __cnfn convert_double16(float16);
  5413. double16 __ovld __cnfn convert_double16(int16);
  5414. double16 __ovld __cnfn convert_double16(long16);
  5415. double16 __ovld __cnfn convert_double16(short16);
  5416. double16 __ovld __cnfn convert_double16(uchar16);
  5417. double16 __ovld __cnfn convert_double16(uint16);
  5418. double16 __ovld __cnfn convert_double16(ulong16);
  5419. double16 __ovld __cnfn convert_double16(ushort16);
  5420. double16 __ovld __cnfn convert_double16_rte(char16);
  5421. double16 __ovld __cnfn convert_double16_rte(double16);
  5422. double16 __ovld __cnfn convert_double16_rte(float16);
  5423. double16 __ovld __cnfn convert_double16_rte(int16);
  5424. double16 __ovld __cnfn convert_double16_rte(long16);
  5425. double16 __ovld __cnfn convert_double16_rte(short16);
  5426. double16 __ovld __cnfn convert_double16_rte(uchar16);
  5427. double16 __ovld __cnfn convert_double16_rte(uint16);
  5428. double16 __ovld __cnfn convert_double16_rte(ulong16);
  5429. double16 __ovld __cnfn convert_double16_rte(ushort16);
  5430. double16 __ovld __cnfn convert_double16_rtn(char16);
  5431. double16 __ovld __cnfn convert_double16_rtn(double16);
  5432. double16 __ovld __cnfn convert_double16_rtn(float16);
  5433. double16 __ovld __cnfn convert_double16_rtn(int16);
  5434. double16 __ovld __cnfn convert_double16_rtn(long16);
  5435. double16 __ovld __cnfn convert_double16_rtn(short16);
  5436. double16 __ovld __cnfn convert_double16_rtn(uchar16);
  5437. double16 __ovld __cnfn convert_double16_rtn(uint16);
  5438. double16 __ovld __cnfn convert_double16_rtn(ulong16);
  5439. double16 __ovld __cnfn convert_double16_rtn(ushort16);
  5440. double16 __ovld __cnfn convert_double16_rtp(char16);
  5441. double16 __ovld __cnfn convert_double16_rtp(double16);
  5442. double16 __ovld __cnfn convert_double16_rtp(float16);
  5443. double16 __ovld __cnfn convert_double16_rtp(int16);
  5444. double16 __ovld __cnfn convert_double16_rtp(long16);
  5445. double16 __ovld __cnfn convert_double16_rtp(short16);
  5446. double16 __ovld __cnfn convert_double16_rtp(uchar16);
  5447. double16 __ovld __cnfn convert_double16_rtp(uint16);
  5448. double16 __ovld __cnfn convert_double16_rtp(ulong16);
  5449. double16 __ovld __cnfn convert_double16_rtp(ushort16);
  5450. double16 __ovld __cnfn convert_double16_rtz(char16);
  5451. double16 __ovld __cnfn convert_double16_rtz(double16);
  5452. double16 __ovld __cnfn convert_double16_rtz(float16);
  5453. double16 __ovld __cnfn convert_double16_rtz(int16);
  5454. double16 __ovld __cnfn convert_double16_rtz(long16);
  5455. double16 __ovld __cnfn convert_double16_rtz(short16);
  5456. double16 __ovld __cnfn convert_double16_rtz(uchar16);
  5457. double16 __ovld __cnfn convert_double16_rtz(uint16);
  5458. double16 __ovld __cnfn convert_double16_rtz(ulong16);
  5459. double16 __ovld __cnfn convert_double16_rtz(ushort16);
  5460. #endif //cl_khr_fp64
  5461.  
  5462. #ifdef cl_khr_fp16
  5463. #pragma OPENCL EXTENSION cl_khr_fp16 : enable
  5464. // Convert half types to non-double types.
  5465. uchar __ovld __cnfn convert_uchar(half);
  5466. uchar __ovld __cnfn convert_uchar_rte(half);
  5467. uchar __ovld __cnfn convert_uchar_rtp(half);
  5468. uchar __ovld __cnfn convert_uchar_rtn(half);
  5469. uchar __ovld __cnfn convert_uchar_rtz(half);
  5470. uchar __ovld __cnfn convert_uchar_sat(half);
  5471. uchar __ovld __cnfn convert_uchar_sat_rte(half);
  5472. uchar __ovld __cnfn convert_uchar_sat_rtp(half);
  5473. uchar __ovld __cnfn convert_uchar_sat_rtn(half);
  5474. uchar __ovld __cnfn convert_uchar_sat_rtz(half);
  5475. uchar2 __ovld __cnfn convert_uchar2(half2);
  5476. uchar2 __ovld __cnfn convert_uchar2_rte(half2);
  5477. uchar2 __ovld __cnfn convert_uchar2_rtp(half2);
  5478. uchar2 __ovld __cnfn convert_uchar2_rtn(half2);
  5479. uchar2 __ovld __cnfn convert_uchar2_rtz(half2);
  5480. uchar2 __ovld __cnfn convert_uchar2_sat(half2);
  5481. uchar2 __ovld __cnfn convert_uchar2_sat_rte(half2);
  5482. uchar2 __ovld __cnfn convert_uchar2_sat_rtp(half2);
  5483. uchar2 __ovld __cnfn convert_uchar2_sat_rtn(half2);
  5484. uchar2 __ovld __cnfn convert_uchar2_sat_rtz(half2);
  5485. uchar3 __ovld __cnfn convert_uchar3(half3);
  5486. uchar3 __ovld __cnfn convert_uchar3_rte(half3);
  5487. uchar3 __ovld __cnfn convert_uchar3_rtp(half3);
  5488. uchar3 __ovld __cnfn convert_uchar3_rtn(half3);
  5489. uchar3 __ovld __cnfn convert_uchar3_rtz(half3);
  5490. uchar3 __ovld __cnfn convert_uchar3_sat(half3);
  5491. uchar3 __ovld __cnfn convert_uchar3_sat_rte(half3);
  5492. uchar3 __ovld __cnfn convert_uchar3_sat_rtp(half3);
  5493. uchar3 __ovld __cnfn convert_uchar3_sat_rtn(half3);
  5494. uchar3 __ovld __cnfn convert_uchar3_sat_rtz(half3);
  5495. uchar4 __ovld __cnfn convert_uchar4(half4);
  5496. uchar4 __ovld __cnfn convert_uchar4_rte(half4);
  5497. uchar4 __ovld __cnfn convert_uchar4_rtp(half4);
  5498. uchar4 __ovld __cnfn convert_uchar4_rtn(half4);
  5499. uchar4 __ovld __cnfn convert_uchar4_rtz(half4);
  5500. uchar4 __ovld __cnfn convert_uchar4_sat(half4);
  5501. uchar4 __ovld __cnfn convert_uchar4_sat_rte(half4);
  5502. uchar4 __ovld __cnfn convert_uchar4_sat_rtp(half4);
  5503. uchar4 __ovld __cnfn convert_uchar4_sat_rtn(half4);
  5504. uchar4 __ovld __cnfn convert_uchar4_sat_rtz(half4);
  5505. uchar8 __ovld __cnfn convert_uchar8(half8);
  5506. uchar8 __ovld __cnfn convert_uchar8_rte(half8);
  5507. uchar8 __ovld __cnfn convert_uchar8_rtp(half8);
  5508. uchar8 __ovld __cnfn convert_uchar8_rtn(half8);
  5509. uchar8 __ovld __cnfn convert_uchar8_rtz(half8);
  5510. uchar8 __ovld __cnfn convert_uchar8_sat(half8);
  5511. uchar8 __ovld __cnfn convert_uchar8_sat_rte(half8);
  5512. uchar8 __ovld __cnfn convert_uchar8_sat_rtp(half8);
  5513. uchar8 __ovld __cnfn convert_uchar8_sat_rtn(half8);
  5514. uchar8 __ovld __cnfn convert_uchar8_sat_rtz(half8);
  5515. uchar16 __ovld __cnfn convert_uchar16(half16);
  5516. uchar16 __ovld __cnfn convert_uchar16_rte(half16);
  5517. uchar16 __ovld __cnfn convert_uchar16_rtp(half16);
  5518. uchar16 __ovld __cnfn convert_uchar16_rtn(half16);
  5519. uchar16 __ovld __cnfn convert_uchar16_rtz(half16);
  5520. uchar16 __ovld __cnfn convert_uchar16_sat(half16);
  5521. uchar16 __ovld __cnfn convert_uchar16_sat_rte(half16);
  5522. uchar16 __ovld __cnfn convert_uchar16_sat_rtp(half16);
  5523. uchar16 __ovld __cnfn convert_uchar16_sat_rtn(half16);
  5524. uchar16 __ovld __cnfn convert_uchar16_sat_rtz(half16);
  5525. ushort __ovld __cnfn convert_ushort(half);
  5526. ushort __ovld __cnfn convert_ushort_rte(half);
  5527. ushort __ovld __cnfn convert_ushort_rtp(half);
  5528. ushort __ovld __cnfn convert_ushort_rtn(half);
  5529. ushort __ovld __cnfn convert_ushort_rtz(half);
  5530. ushort __ovld __cnfn convert_ushort_sat(half);
  5531. ushort __ovld __cnfn convert_ushort_sat_rte(half);
  5532. ushort __ovld __cnfn convert_ushort_sat_rtp(half);
  5533. ushort __ovld __cnfn convert_ushort_sat_rtn(half);
  5534. ushort __ovld __cnfn convert_ushort_sat_rtz(half);
  5535. ushort2 __ovld __cnfn convert_ushort2(half2);
  5536. ushort2 __ovld __cnfn convert_ushort2_rte(half2);
  5537. ushort2 __ovld __cnfn convert_ushort2_rtp(half2);
  5538. ushort2 __ovld __cnfn convert_ushort2_rtn(half2);
  5539. ushort2 __ovld __cnfn convert_ushort2_rtz(half2);
  5540. ushort2 __ovld __cnfn convert_ushort2_sat(half2);
  5541. ushort2 __ovld __cnfn convert_ushort2_sat_rte(half2);
  5542. ushort2 __ovld __cnfn convert_ushort2_sat_rtp(half2);
  5543. ushort2 __ovld __cnfn convert_ushort2_sat_rtn(half2);
  5544. ushort2 __ovld __cnfn convert_ushort2_sat_rtz(half2);
  5545. ushort3 __ovld __cnfn convert_ushort3(half3);
  5546. ushort3 __ovld __cnfn convert_ushort3_rte(half3);
  5547. ushort3 __ovld __cnfn convert_ushort3_rtp(half3);
  5548. ushort3 __ovld __cnfn convert_ushort3_rtn(half3);
  5549. ushort3 __ovld __cnfn convert_ushort3_rtz(half3);
  5550. ushort3 __ovld __cnfn convert_ushort3_sat(half3);
  5551. ushort3 __ovld __cnfn convert_ushort3_sat_rte(half3);
  5552. ushort3 __ovld __cnfn convert_ushort3_sat_rtp(half3);
  5553. ushort3 __ovld __cnfn convert_ushort3_sat_rtn(half3);
  5554. ushort3 __ovld __cnfn convert_ushort3_sat_rtz(half3);
  5555. ushort4 __ovld __cnfn convert_ushort4(half4);
  5556. ushort4 __ovld __cnfn convert_ushort4_rte(half4);
  5557. ushort4 __ovld __cnfn convert_ushort4_rtp(half4);
  5558. ushort4 __ovld __cnfn convert_ushort4_rtn(half4);
  5559. ushort4 __ovld __cnfn convert_ushort4_rtz(half4);
  5560. ushort4 __ovld __cnfn convert_ushort4_sat(half4);
  5561. ushort4 __ovld __cnfn convert_ushort4_sat_rte(half4);
  5562. ushort4 __ovld __cnfn convert_ushort4_sat_rtp(half4);
  5563. ushort4 __ovld __cnfn convert_ushort4_sat_rtn(half4);
  5564. ushort4 __ovld __cnfn convert_ushort4_sat_rtz(half4);
  5565. ushort8 __ovld __cnfn convert_ushort8(half8);
  5566. ushort8 __ovld __cnfn convert_ushort8_rte(half8);
  5567. ushort8 __ovld __cnfn convert_ushort8_rtp(half8);
  5568. ushort8 __ovld __cnfn convert_ushort8_rtn(half8);
  5569. ushort8 __ovld __cnfn convert_ushort8_rtz(half8);
  5570. ushort8 __ovld __cnfn convert_ushort8_sat(half8);
  5571. ushort8 __ovld __cnfn convert_ushort8_sat_rte(half8);
  5572. ushort8 __ovld __cnfn convert_ushort8_sat_rtp(half8);
  5573. ushort8 __ovld __cnfn convert_ushort8_sat_rtn(half8);
  5574. ushort8 __ovld __cnfn convert_ushort8_sat_rtz(half8);
  5575. ushort16 __ovld __cnfn convert_ushort16(half16);
  5576. ushort16 __ovld __cnfn convert_ushort16_rte(half16);
  5577. ushort16 __ovld __cnfn convert_ushort16_rtp(half16);
  5578. ushort16 __ovld __cnfn convert_ushort16_rtn(half16);
  5579. ushort16 __ovld __cnfn convert_ushort16_rtz(half16);
  5580. ushort16 __ovld __cnfn convert_ushort16_sat(half16);
  5581. ushort16 __ovld __cnfn convert_ushort16_sat_rte(half16);
  5582. ushort16 __ovld __cnfn convert_ushort16_sat_rtp(half16);
  5583. ushort16 __ovld __cnfn convert_ushort16_sat_rtn(half16);
  5584. ushort16 __ovld __cnfn convert_ushort16_sat_rtz(half16);
  5585. uint __ovld __cnfn convert_uint(half);
  5586. uint __ovld __cnfn convert_uint_rte(half);
  5587. uint __ovld __cnfn convert_uint_rtp(half);
  5588. uint __ovld __cnfn convert_uint_rtn(half);
  5589. uint __ovld __cnfn convert_uint_rtz(half);
  5590. uint __ovld __cnfn convert_uint_sat(half);
  5591. uint __ovld __cnfn convert_uint_sat_rte(half);
  5592. uint __ovld __cnfn convert_uint_sat_rtp(half);
  5593. uint __ovld __cnfn convert_uint_sat_rtn(half);
  5594. uint __ovld __cnfn convert_uint_sat_rtz(half);
  5595. uint2 __ovld __cnfn convert_uint2(half2);
  5596. uint2 __ovld __cnfn convert_uint2_rte(half2);
  5597. uint2 __ovld __cnfn convert_uint2_rtp(half2);
  5598. uint2 __ovld __cnfn convert_uint2_rtn(half2);
  5599. uint2 __ovld __cnfn convert_uint2_rtz(half2);
  5600. uint2 __ovld __cnfn convert_uint2_sat(half2);
  5601. uint2 __ovld __cnfn convert_uint2_sat_rte(half2);
  5602. uint2 __ovld __cnfn convert_uint2_sat_rtp(half2);
  5603. uint2 __ovld __cnfn convert_uint2_sat_rtn(half2);
  5604. uint2 __ovld __cnfn convert_uint2_sat_rtz(half2);
  5605. uint3 __ovld __cnfn convert_uint3(half3);
  5606. uint3 __ovld __cnfn convert_uint3_rte(half3);
  5607. uint3 __ovld __cnfn convert_uint3_rtp(half3);
  5608. uint3 __ovld __cnfn convert_uint3_rtn(half3);
  5609. uint3 __ovld __cnfn convert_uint3_rtz(half3);
  5610. uint3 __ovld __cnfn convert_uint3_sat(half3);
  5611. uint3 __ovld __cnfn convert_uint3_sat_rte(half3);
  5612. uint3 __ovld __cnfn convert_uint3_sat_rtp(half3);
  5613. uint3 __ovld __cnfn convert_uint3_sat_rtn(half3);
  5614. uint3 __ovld __cnfn convert_uint3_sat_rtz(half3);
  5615. uint4 __ovld __cnfn convert_uint4(half4);
  5616. uint4 __ovld __cnfn convert_uint4_rte(half4);
  5617. uint4 __ovld __cnfn convert_uint4_rtp(half4);
  5618. uint4 __ovld __cnfn convert_uint4_rtn(half4);
  5619. uint4 __ovld __cnfn convert_uint4_rtz(half4);
  5620. uint4 __ovld __cnfn convert_uint4_sat(half4);
  5621. uint4 __ovld __cnfn convert_uint4_sat_rte(half4);
  5622. uint4 __ovld __cnfn convert_uint4_sat_rtp(half4);
  5623. uint4 __ovld __cnfn convert_uint4_sat_rtn(half4);
  5624. uint4 __ovld __cnfn convert_uint4_sat_rtz(half4);
  5625. uint8 __ovld __cnfn convert_uint8(half8);
  5626. uint8 __ovld __cnfn convert_uint8_rte(half8);
  5627. uint8 __ovld __cnfn convert_uint8_rtp(half8);
  5628. uint8 __ovld __cnfn convert_uint8_rtn(half8);
  5629. uint8 __ovld __cnfn convert_uint8_rtz(half8);
  5630. uint8 __ovld __cnfn convert_uint8_sat(half8);
  5631. uint8 __ovld __cnfn convert_uint8_sat_rte(half8);
  5632. uint8 __ovld __cnfn convert_uint8_sat_rtp(half8);
  5633. uint8 __ovld __cnfn convert_uint8_sat_rtn(half8);
  5634. uint8 __ovld __cnfn convert_uint8_sat_rtz(half8);
  5635. uint16 __ovld __cnfn convert_uint16(half16);
  5636. uint16 __ovld __cnfn convert_uint16_rte(half16);
  5637. uint16 __ovld __cnfn convert_uint16_rtp(half16);
  5638. uint16 __ovld __cnfn convert_uint16_rtn(half16);
  5639. uint16 __ovld __cnfn convert_uint16_rtz(half16);
  5640. uint16 __ovld __cnfn convert_uint16_sat(half16);
  5641. uint16 __ovld __cnfn convert_uint16_sat_rte(half16);
  5642. uint16 __ovld __cnfn convert_uint16_sat_rtp(half16);
  5643. uint16 __ovld __cnfn convert_uint16_sat_rtn(half16);
  5644. uint16 __ovld __cnfn convert_uint16_sat_rtz(half16);
  5645. ulong __ovld __cnfn convert_ulong(half);
  5646. ulong __ovld __cnfn convert_ulong_rte(half);
  5647. ulong __ovld __cnfn convert_ulong_rtp(half);
  5648. ulong __ovld __cnfn convert_ulong_rtn(half);
  5649. ulong __ovld __cnfn convert_ulong_rtz(half);
  5650. ulong __ovld __cnfn convert_ulong_sat(half);
  5651. ulong __ovld __cnfn convert_ulong_sat_rte(half);
  5652. ulong __ovld __cnfn convert_ulong_sat_rtp(half);
  5653. ulong __ovld __cnfn convert_ulong_sat_rtn(half);
  5654. ulong __ovld __cnfn convert_ulong_sat_rtz(half);
  5655. ulong2 __ovld __cnfn convert_ulong2(half2);
  5656. ulong2 __ovld __cnfn convert_ulong2_rte(half2);
  5657. ulong2 __ovld __cnfn convert_ulong2_rtp(half2);
  5658. ulong2 __ovld __cnfn convert_ulong2_rtn(half2);
  5659. ulong2 __ovld __cnfn convert_ulong2_rtz(half2);
  5660. ulong2 __ovld __cnfn convert_ulong2_sat(half2);
  5661. ulong2 __ovld __cnfn convert_ulong2_sat_rte(half2);
  5662. ulong2 __ovld __cnfn convert_ulong2_sat_rtp(half2);
  5663. ulong2 __ovld __cnfn convert_ulong2_sat_rtn(half2);
  5664. ulong2 __ovld __cnfn convert_ulong2_sat_rtz(half2);
  5665. ulong3 __ovld __cnfn convert_ulong3(half3);
  5666. ulong3 __ovld __cnfn convert_ulong3_rte(half3);
  5667. ulong3 __ovld __cnfn convert_ulong3_rtp(half3);
  5668. ulong3 __ovld __cnfn convert_ulong3_rtn(half3);
  5669. ulong3 __ovld __cnfn convert_ulong3_rtz(half3);
  5670. ulong3 __ovld __cnfn convert_ulong3_sat(half3);
  5671. ulong3 __ovld __cnfn convert_ulong3_sat_rte(half3);
  5672. ulong3 __ovld __cnfn convert_ulong3_sat_rtp(half3);
  5673. ulong3 __ovld __cnfn convert_ulong3_sat_rtn(half3);
  5674. ulong3 __ovld __cnfn convert_ulong3_sat_rtz(half3);
  5675. ulong4 __ovld __cnfn convert_ulong4(half4);
  5676. ulong4 __ovld __cnfn convert_ulong4_rte(half4);
  5677. ulong4 __ovld __cnfn convert_ulong4_rtp(half4);
  5678. ulong4 __ovld __cnfn convert_ulong4_rtn(half4);
  5679. ulong4 __ovld __cnfn convert_ulong4_rtz(half4);
  5680. ulong4 __ovld __cnfn convert_ulong4_sat(half4);
  5681. ulong4 __ovld __cnfn convert_ulong4_sat_rte(half4);
  5682. ulong4 __ovld __cnfn convert_ulong4_sat_rtp(half4);
  5683. ulong4 __ovld __cnfn convert_ulong4_sat_rtn(half4);
  5684. ulong4 __ovld __cnfn convert_ulong4_sat_rtz(half4);
  5685. ulong8 __ovld __cnfn convert_ulong8(half8);
  5686. ulong8 __ovld __cnfn convert_ulong8_rte(half8);
  5687. ulong8 __ovld __cnfn convert_ulong8_rtp(half8);
  5688. ulong8 __ovld __cnfn convert_ulong8_rtn(half8);
  5689. ulong8 __ovld __cnfn convert_ulong8_rtz(half8);
  5690. ulong8 __ovld __cnfn convert_ulong8_sat(half8);
  5691. ulong8 __ovld __cnfn convert_ulong8_sat_rte(half8);
  5692. ulong8 __ovld __cnfn convert_ulong8_sat_rtp(half8);
  5693. ulong8 __ovld __cnfn convert_ulong8_sat_rtn(half8);
  5694. ulong8 __ovld __cnfn convert_ulong8_sat_rtz(half8);
  5695. ulong16 __ovld __cnfn convert_ulong16(half16);
  5696. ulong16 __ovld __cnfn convert_ulong16_rte(half16);
  5697. ulong16 __ovld __cnfn convert_ulong16_rtp(half16);
  5698. ulong16 __ovld __cnfn convert_ulong16_rtn(half16);
  5699. ulong16 __ovld __cnfn convert_ulong16_rtz(half16);
  5700. ulong16 __ovld __cnfn convert_ulong16_sat(half16);
  5701. ulong16 __ovld __cnfn convert_ulong16_sat_rte(half16);
  5702. ulong16 __ovld __cnfn convert_ulong16_sat_rtp(half16);
  5703. ulong16 __ovld __cnfn convert_ulong16_sat_rtn(half16);
  5704. ulong16 __ovld __cnfn convert_ulong16_sat_rtz(half16);
  5705. char __ovld __cnfn convert_char(half);
  5706. char __ovld __cnfn convert_char_rte(half);
  5707. char __ovld __cnfn convert_char_rtp(half);
  5708. char __ovld __cnfn convert_char_rtn(half);
  5709. char __ovld __cnfn convert_char_rtz(half);
  5710. char __ovld __cnfn convert_char_sat(half);
  5711. char __ovld __cnfn convert_char_sat_rte(half);
  5712. char __ovld __cnfn convert_char_sat_rtp(half);
  5713. char __ovld __cnfn convert_char_sat_rtn(half);
  5714. char __ovld __cnfn convert_char_sat_rtz(half);
  5715. char2 __ovld __cnfn convert_char2(half2);
  5716. char2 __ovld __cnfn convert_char2_rte(half2);
  5717. char2 __ovld __cnfn convert_char2_rtp(half2);
  5718. char2 __ovld __cnfn convert_char2_rtn(half2);
  5719. char2 __ovld __cnfn convert_char2_rtz(half2);
  5720. char2 __ovld __cnfn convert_char2_sat(half2);
  5721. char2 __ovld __cnfn convert_char2_sat_rte(half2);
  5722. char2 __ovld __cnfn convert_char2_sat_rtp(half2);
  5723. char2 __ovld __cnfn convert_char2_sat_rtn(half2);
  5724. char2 __ovld __cnfn convert_char2_sat_rtz(half2);
  5725. char3 __ovld __cnfn convert_char3(half3);
  5726. char3 __ovld __cnfn convert_char3_rte(half3);
  5727. char3 __ovld __cnfn convert_char3_rtp(half3);
  5728. char3 __ovld __cnfn convert_char3_rtn(half3);
  5729. char3 __ovld __cnfn convert_char3_rtz(half3);
  5730. char3 __ovld __cnfn convert_char3_sat(half3);
  5731. char3 __ovld __cnfn convert_char3_sat_rte(half3);
  5732. char3 __ovld __cnfn convert_char3_sat_rtp(half3);
  5733. char3 __ovld __cnfn convert_char3_sat_rtn(half3);
  5734. char3 __ovld __cnfn convert_char3_sat_rtz(half3);
  5735. char4 __ovld __cnfn convert_char4(half4);
  5736. char4 __ovld __cnfn convert_char4_rte(half4);
  5737. char4 __ovld __cnfn convert_char4_rtp(half4);
  5738. char4 __ovld __cnfn convert_char4_rtn(half4);
  5739. char4 __ovld __cnfn convert_char4_rtz(half4);
  5740. char4 __ovld __cnfn convert_char4_sat(half4);
  5741. char4 __ovld __cnfn convert_char4_sat_rte(half4);
  5742. char4 __ovld __cnfn convert_char4_sat_rtp(half4);
  5743. char4 __ovld __cnfn convert_char4_sat_rtn(half4);
  5744. char4 __ovld __cnfn convert_char4_sat_rtz(half4);
  5745. char8 __ovld __cnfn convert_char8(half8);
  5746. char8 __ovld __cnfn convert_char8_rte(half8);
  5747. char8 __ovld __cnfn convert_char8_rtp(half8);
  5748. char8 __ovld __cnfn convert_char8_rtn(half8);
  5749. char8 __ovld __cnfn convert_char8_rtz(half8);
  5750. char8 __ovld __cnfn convert_char8_sat(half8);
  5751. char8 __ovld __cnfn convert_char8_sat_rte(half8);
  5752. char8 __ovld __cnfn convert_char8_sat_rtp(half8);
  5753. char8 __ovld __cnfn convert_char8_sat_rtn(half8);
  5754. char8 __ovld __cnfn convert_char8_sat_rtz(half8);
  5755. char16 __ovld __cnfn convert_char16(half16);
  5756. char16 __ovld __cnfn convert_char16_rte(half16);
  5757. char16 __ovld __cnfn convert_char16_rtp(half16);
  5758. char16 __ovld __cnfn convert_char16_rtn(half16);
  5759. char16 __ovld __cnfn convert_char16_rtz(half16);
  5760. char16 __ovld __cnfn convert_char16_sat(half16);
  5761. char16 __ovld __cnfn convert_char16_sat_rte(half16);
  5762. char16 __ovld __cnfn convert_char16_sat_rtp(half16);
  5763. char16 __ovld __cnfn convert_char16_sat_rtn(half16);
  5764. char16 __ovld __cnfn convert_char16_sat_rtz(half16);
  5765. short __ovld __cnfn convert_short(half);
  5766. short __ovld __cnfn convert_short_rte(half);
  5767. short __ovld __cnfn convert_short_rtp(half);
  5768. short __ovld __cnfn convert_short_rtn(half);
  5769. short __ovld __cnfn convert_short_rtz(half);
  5770. short __ovld __cnfn convert_short_sat(half);
  5771. short __ovld __cnfn convert_short_sat_rte(half);
  5772. short __ovld __cnfn convert_short_sat_rtp(half);
  5773. short __ovld __cnfn convert_short_sat_rtn(half);
  5774. short __ovld __cnfn convert_short_sat_rtz(half);
  5775. short2 __ovld __cnfn convert_short2(half2);
  5776. short2 __ovld __cnfn convert_short2_rte(half2);
  5777. short2 __ovld __cnfn convert_short2_rtp(half2);
  5778. short2 __ovld __cnfn convert_short2_rtn(half2);
  5779. short2 __ovld __cnfn convert_short2_rtz(half2);
  5780. short2 __ovld __cnfn convert_short2_sat(half2);
  5781. short2 __ovld __cnfn convert_short2_sat_rte(half2);
  5782. short2 __ovld __cnfn convert_short2_sat_rtp(half2);
  5783. short2 __ovld __cnfn convert_short2_sat_rtn(half2);
  5784. short2 __ovld __cnfn convert_short2_sat_rtz(half2);
  5785. short3 __ovld __cnfn convert_short3(half3);
  5786. short3 __ovld __cnfn convert_short3_rte(half3);
  5787. short3 __ovld __cnfn convert_short3_rtp(half3);
  5788. short3 __ovld __cnfn convert_short3_rtn(half3);
  5789. short3 __ovld __cnfn convert_short3_rtz(half3);
  5790. short3 __ovld __cnfn convert_short3_sat(half3);
  5791. short3 __ovld __cnfn convert_short3_sat_rte(half3);
  5792. short3 __ovld __cnfn convert_short3_sat_rtp(half3);
  5793. short3 __ovld __cnfn convert_short3_sat_rtn(half3);
  5794. short3 __ovld __cnfn convert_short3_sat_rtz(half3);
  5795. short4 __ovld __cnfn convert_short4(half4);
  5796. short4 __ovld __cnfn convert_short4_rte(half4);
  5797. short4 __ovld __cnfn convert_short4_rtp(half4);
  5798. short4 __ovld __cnfn convert_short4_rtn(half4);
  5799. short4 __ovld __cnfn convert_short4_rtz(half4);
  5800. short4 __ovld __cnfn convert_short4_sat(half4);
  5801. short4 __ovld __cnfn convert_short4_sat_rte(half4);
  5802. short4 __ovld __cnfn convert_short4_sat_rtp(half4);
  5803. short4 __ovld __cnfn convert_short4_sat_rtn(half4);
  5804. short4 __ovld __cnfn convert_short4_sat_rtz(half4);
  5805. short8 __ovld __cnfn convert_short8(half8);
  5806. short8 __ovld __cnfn convert_short8_rte(half8);
  5807. short8 __ovld __cnfn convert_short8_rtp(half8);
  5808. short8 __ovld __cnfn convert_short8_rtn(half8);
  5809. short8 __ovld __cnfn convert_short8_rtz(half8);
  5810. short8 __ovld __cnfn convert_short8_sat(half8);
  5811. short8 __ovld __cnfn convert_short8_sat_rte(half8);
  5812. short8 __ovld __cnfn convert_short8_sat_rtp(half8);
  5813. short8 __ovld __cnfn convert_short8_sat_rtn(half8);
  5814. short8 __ovld __cnfn convert_short8_sat_rtz(half8);
  5815. short16 __ovld __cnfn convert_short16(half16);
  5816. short16 __ovld __cnfn convert_short16_rte(half16);
  5817. short16 __ovld __cnfn convert_short16_rtp(half16);
  5818. short16 __ovld __cnfn convert_short16_rtn(half16);
  5819. short16 __ovld __cnfn convert_short16_rtz(half16);
  5820. short16 __ovld __cnfn convert_short16_sat(half16);
  5821. short16 __ovld __cnfn convert_short16_sat_rte(half16);
  5822. short16 __ovld __cnfn convert_short16_sat_rtp(half16);
  5823. short16 __ovld __cnfn convert_short16_sat_rtn(half16);
  5824. short16 __ovld __cnfn convert_short16_sat_rtz(half16);
  5825. int __ovld __cnfn convert_int(half);
  5826. int __ovld __cnfn convert_int_rte(half);
  5827. int __ovld __cnfn convert_int_rtp(half);
  5828. int __ovld __cnfn convert_int_rtn(half);
  5829. int __ovld __cnfn convert_int_rtz(half);
  5830. int __ovld __cnfn convert_int_sat(half);
  5831. int __ovld __cnfn convert_int_sat_rte(half);
  5832. int __ovld __cnfn convert_int_sat_rtp(half);
  5833. int __ovld __cnfn convert_int_sat_rtn(half);
  5834. int __ovld __cnfn convert_int_sat_rtz(half);
  5835. int2 __ovld __cnfn convert_int2(half2);
  5836. int2 __ovld __cnfn convert_int2_rte(half2);
  5837. int2 __ovld __cnfn convert_int2_rtp(half2);
  5838. int2 __ovld __cnfn convert_int2_rtn(half2);
  5839. int2 __ovld __cnfn convert_int2_rtz(half2);
  5840. int2 __ovld __cnfn convert_int2_sat(half2);
  5841. int2 __ovld __cnfn convert_int2_sat_rte(half2);
  5842. int2 __ovld __cnfn convert_int2_sat_rtp(half2);
  5843. int2 __ovld __cnfn convert_int2_sat_rtn(half2);
  5844. int2 __ovld __cnfn convert_int2_sat_rtz(half2);
  5845. int3 __ovld __cnfn convert_int3(half3);
  5846. int3 __ovld __cnfn convert_int3_rte(half3);
  5847. int3 __ovld __cnfn convert_int3_rtp(half3);
  5848. int3 __ovld __cnfn convert_int3_rtn(half3);
  5849. int3 __ovld __cnfn convert_int3_rtz(half3);
  5850. int3 __ovld __cnfn convert_int3_sat(half3);
  5851. int3 __ovld __cnfn convert_int3_sat_rte(half3);
  5852. int3 __ovld __cnfn convert_int3_sat_rtp(half3);
  5853. int3 __ovld __cnfn convert_int3_sat_rtn(half3);
  5854. int3 __ovld __cnfn convert_int3_sat_rtz(half3);
  5855. int4 __ovld __cnfn convert_int4(half4);
  5856. int4 __ovld __cnfn convert_int4_rte(half4);
  5857. int4 __ovld __cnfn convert_int4_rtp(half4);
  5858. int4 __ovld __cnfn convert_int4_rtn(half4);
  5859. int4 __ovld __cnfn convert_int4_rtz(half4);
  5860. int4 __ovld __cnfn convert_int4_sat(half4);
  5861. int4 __ovld __cnfn convert_int4_sat_rte(half4);
  5862. int4 __ovld __cnfn convert_int4_sat_rtp(half4);
  5863. int4 __ovld __cnfn convert_int4_sat_rtn(half4);
  5864. int4 __ovld __cnfn convert_int4_sat_rtz(half4);
  5865. int8 __ovld __cnfn convert_int8(half8);
  5866. int8 __ovld __cnfn convert_int8_rte(half8);
  5867. int8 __ovld __cnfn convert_int8_rtp(half8);
  5868. int8 __ovld __cnfn convert_int8_rtn(half8);
  5869. int8 __ovld __cnfn convert_int8_rtz(half8);
  5870. int8 __ovld __cnfn convert_int8_sat(half8);
  5871. int8 __ovld __cnfn convert_int8_sat_rte(half8);
  5872. int8 __ovld __cnfn convert_int8_sat_rtp(half8);
  5873. int8 __ovld __cnfn convert_int8_sat_rtn(half8);
  5874. int8 __ovld __cnfn convert_int8_sat_rtz(half8);
  5875. int16 __ovld __cnfn convert_int16(half16);
  5876. int16 __ovld __cnfn convert_int16_rte(half16);
  5877. int16 __ovld __cnfn convert_int16_rtp(half16);
  5878. int16 __ovld __cnfn convert_int16_rtn(half16);
  5879. int16 __ovld __cnfn convert_int16_rtz(half16);
  5880. int16 __ovld __cnfn convert_int16_sat(half16);
  5881. int16 __ovld __cnfn convert_int16_sat_rte(half16);
  5882. int16 __ovld __cnfn convert_int16_sat_rtp(half16);
  5883. int16 __ovld __cnfn convert_int16_sat_rtn(half16);
  5884. int16 __ovld __cnfn convert_int16_sat_rtz(half16);
  5885. long __ovld __cnfn convert_long(half);
  5886. long __ovld __cnfn convert_long_rte(half);
  5887. long __ovld __cnfn convert_long_rtp(half);
  5888. long __ovld __cnfn convert_long_rtn(half);
  5889. long __ovld __cnfn convert_long_rtz(half);
  5890. long __ovld __cnfn convert_long_sat(half);
  5891. long __ovld __cnfn convert_long_sat_rte(half);
  5892. long __ovld __cnfn convert_long_sat_rtp(half);
  5893. long __ovld __cnfn convert_long_sat_rtn(half);
  5894. long __ovld __cnfn convert_long_sat_rtz(half);
  5895. long2 __ovld __cnfn convert_long2(half2);
  5896. long2 __ovld __cnfn convert_long2_rte(half2);
  5897. long2 __ovld __cnfn convert_long2_rtp(half2);
  5898. long2 __ovld __cnfn convert_long2_rtn(half2);
  5899. long2 __ovld __cnfn convert_long2_rtz(half2);
  5900. long2 __ovld __cnfn convert_long2_sat(half2);
  5901. long2 __ovld __cnfn convert_long2_sat_rte(half2);
  5902. long2 __ovld __cnfn convert_long2_sat_rtp(half2);
  5903. long2 __ovld __cnfn convert_long2_sat_rtn(half2);
  5904. long2 __ovld __cnfn convert_long2_sat_rtz(half2);
  5905. long3 __ovld __cnfn convert_long3(half3);
  5906. long3 __ovld __cnfn convert_long3_rte(half3);
  5907. long3 __ovld __cnfn convert_long3_rtp(half3);
  5908. long3 __ovld __cnfn convert_long3_rtn(half3);
  5909. long3 __ovld __cnfn convert_long3_rtz(half3);
  5910. long3 __ovld __cnfn convert_long3_sat(half3);
  5911. long3 __ovld __cnfn convert_long3_sat_rte(half3);
  5912. long3 __ovld __cnfn convert_long3_sat_rtp(half3);
  5913. long3 __ovld __cnfn convert_long3_sat_rtn(half3);
  5914. long3 __ovld __cnfn convert_long3_sat_rtz(half3);
  5915. long4 __ovld __cnfn convert_long4(half4);
  5916. long4 __ovld __cnfn convert_long4_rte(half4);
  5917. long4 __ovld __cnfn convert_long4_rtp(half4);
  5918. long4 __ovld __cnfn convert_long4_rtn(half4);
  5919. long4 __ovld __cnfn convert_long4_rtz(half4);
  5920. long4 __ovld __cnfn convert_long4_sat(half4);
  5921. long4 __ovld __cnfn convert_long4_sat_rte(half4);
  5922. long4 __ovld __cnfn convert_long4_sat_rtp(half4);
  5923. long4 __ovld __cnfn convert_long4_sat_rtn(half4);
  5924. long4 __ovld __cnfn convert_long4_sat_rtz(half4);
  5925. long8 __ovld __cnfn convert_long8(half8);
  5926. long8 __ovld __cnfn convert_long8_rte(half8);
  5927. long8 __ovld __cnfn convert_long8_rtp(half8);
  5928. long8 __ovld __cnfn convert_long8_rtn(half8);
  5929. long8 __ovld __cnfn convert_long8_rtz(half8);
  5930. long8 __ovld __cnfn convert_long8_sat(half8);
  5931. long8 __ovld __cnfn convert_long8_sat_rte(half8);
  5932. long8 __ovld __cnfn convert_long8_sat_rtp(half8);
  5933. long8 __ovld __cnfn convert_long8_sat_rtn(half8);
  5934. long8 __ovld __cnfn convert_long8_sat_rtz(half8);
  5935. long16 __ovld __cnfn convert_long16(half16);
  5936. long16 __ovld __cnfn convert_long16_rte(half16);
  5937. long16 __ovld __cnfn convert_long16_rtp(half16);
  5938. long16 __ovld __cnfn convert_long16_rtn(half16);
  5939. long16 __ovld __cnfn convert_long16_rtz(half16);
  5940. long16 __ovld __cnfn convert_long16_sat(half16);
  5941. long16 __ovld __cnfn convert_long16_sat_rte(half16);
  5942. long16 __ovld __cnfn convert_long16_sat_rtp(half16);
  5943. long16 __ovld __cnfn convert_long16_sat_rtn(half16);
  5944. long16 __ovld __cnfn convert_long16_sat_rtz(half16);
  5945. float __ovld __cnfn convert_float(half);
  5946. float __ovld __cnfn convert_float_rte(half);
  5947. float __ovld __cnfn convert_float_rtp(half);
  5948. float __ovld __cnfn convert_float_rtn(half);
  5949. float __ovld __cnfn convert_float_rtz(half);
  5950. float2 __ovld __cnfn convert_float2(half2);
  5951. float2 __ovld __cnfn convert_float2_rte(half2);
  5952. float2 __ovld __cnfn convert_float2_rtp(half2);
  5953. float2 __ovld __cnfn convert_float2_rtn(half2);
  5954. float2 __ovld __cnfn convert_float2_rtz(half2);
  5955. float3 __ovld __cnfn convert_float3(half3);
  5956. float3 __ovld __cnfn convert_float3_rte(half3);
  5957. float3 __ovld __cnfn convert_float3_rtp(half3);
  5958. float3 __ovld __cnfn convert_float3_rtn(half3);
  5959. float3 __ovld __cnfn convert_float3_rtz(half3);
  5960. float4 __ovld __cnfn convert_float4(half4);
  5961. float4 __ovld __cnfn convert_float4_rte(half4);
  5962. float4 __ovld __cnfn convert_float4_rtp(half4);
  5963. float4 __ovld __cnfn convert_float4_rtn(half4);
  5964. float4 __ovld __cnfn convert_float4_rtz(half4);
  5965. float8 __ovld __cnfn convert_float8(half8);
  5966. float8 __ovld __cnfn convert_float8_rte(half8);
  5967. float8 __ovld __cnfn convert_float8_rtp(half8);
  5968. float8 __ovld __cnfn convert_float8_rtn(half8);
  5969. float8 __ovld __cnfn convert_float8_rtz(half8);
  5970. float16 __ovld __cnfn convert_float16(half16);
  5971. float16 __ovld __cnfn convert_float16_rte(half16);
  5972. float16 __ovld __cnfn convert_float16_rtp(half16);
  5973. float16 __ovld __cnfn convert_float16_rtn(half16);
  5974. float16 __ovld __cnfn convert_float16_rtz(half16);
  5975.  
  5976. // Convert non-double types to half types.
  5977. half __ovld __cnfn convert_half(uchar);
  5978. half __ovld __cnfn convert_half(ushort);
  5979. half __ovld __cnfn convert_half(uint);
  5980. half __ovld __cnfn convert_half(ulong);
  5981. half __ovld __cnfn convert_half(char);
  5982. half __ovld __cnfn convert_half(short);
  5983. half __ovld __cnfn convert_half(int);
  5984. half __ovld __cnfn convert_half(long);
  5985. half __ovld __cnfn convert_half(float);
  5986. half __ovld __cnfn convert_half(half);
  5987. half __ovld __cnfn convert_half_rte(uchar);
  5988. half __ovld __cnfn convert_half_rte(ushort);
  5989. half __ovld __cnfn convert_half_rte(uint);
  5990. half __ovld __cnfn convert_half_rte(ulong);
  5991. half __ovld __cnfn convert_half_rte(char);
  5992. half __ovld __cnfn convert_half_rte(short);
  5993. half __ovld __cnfn convert_half_rte(int);
  5994. half __ovld __cnfn convert_half_rte(long);
  5995. half __ovld __cnfn convert_half_rte(float);
  5996. half __ovld __cnfn convert_half_rte(half);
  5997. half __ovld __cnfn convert_half_rtp(uchar);
  5998. half __ovld __cnfn convert_half_rtp(ushort);
  5999. half __ovld __cnfn convert_half_rtp(uint);
  6000. half __ovld __cnfn convert_half_rtp(ulong);
  6001. half __ovld __cnfn convert_half_rtp(char);
  6002. half __ovld __cnfn convert_half_rtp(short);
  6003. half __ovld __cnfn convert_half_rtp(int);
  6004. half __ovld __cnfn convert_half_rtp(long);
  6005. half __ovld __cnfn convert_half_rtp(float);
  6006. half __ovld __cnfn convert_half_rtp(half);
  6007. half __ovld __cnfn convert_half_rtn(uchar);
  6008. half __ovld __cnfn convert_half_rtn(ushort);
  6009. half __ovld __cnfn convert_half_rtn(uint);
  6010. half __ovld __cnfn convert_half_rtn(ulong);
  6011. half __ovld __cnfn convert_half_rtn(char);
  6012. half __ovld __cnfn convert_half_rtn(short);
  6013. half __ovld __cnfn convert_half_rtn(int);
  6014. half __ovld __cnfn convert_half_rtn(long);
  6015. half __ovld __cnfn convert_half_rtn(float);
  6016. half __ovld __cnfn convert_half_rtn(half);
  6017. half __ovld __cnfn convert_half_rtz(uchar);
  6018. half __ovld __cnfn convert_half_rtz(ushort);
  6019. half __ovld __cnfn convert_half_rtz(uint);
  6020. half __ovld __cnfn convert_half_rtz(ulong);
  6021. half __ovld __cnfn convert_half_rtz(char);
  6022. half __ovld __cnfn convert_half_rtz(short);
  6023. half __ovld __cnfn convert_half_rtz(int);
  6024. half __ovld __cnfn convert_half_rtz(long);
  6025. half __ovld __cnfn convert_half_rtz(float);
  6026. half __ovld __cnfn convert_half_rtz(half);
  6027. half2 __ovld __cnfn convert_half2(char2);
  6028. half2 __ovld __cnfn convert_half2(uchar2);
  6029. half2 __ovld __cnfn convert_half2(short2);
  6030. half2 __ovld __cnfn convert_half2(ushort2);
  6031. half2 __ovld __cnfn convert_half2(int2);
  6032. half2 __ovld __cnfn convert_half2(uint2);
  6033. half2 __ovld __cnfn convert_half2(long2);
  6034. half2 __ovld __cnfn convert_half2(ulong2);
  6035. half2 __ovld __cnfn convert_half2(float2);
  6036. half2 __ovld __cnfn convert_half2(half2);
  6037. half2 __ovld __cnfn convert_half2_rte(char2);
  6038. half2 __ovld __cnfn convert_half2_rte(uchar2);
  6039. half2 __ovld __cnfn convert_half2_rte(short2);
  6040. half2 __ovld __cnfn convert_half2_rte(ushort2);
  6041. half2 __ovld __cnfn convert_half2_rte(int2);
  6042. half2 __ovld __cnfn convert_half2_rte(uint2);
  6043. half2 __ovld __cnfn convert_half2_rte(long2);
  6044. half2 __ovld __cnfn convert_half2_rte(ulong2);
  6045. half2 __ovld __cnfn convert_half2_rte(float2);
  6046. half2 __ovld __cnfn convert_half2_rte(half2);
  6047. half2 __ovld __cnfn convert_half2_rtp(char2);
  6048. half2 __ovld __cnfn convert_half2_rtp(uchar2);
  6049. half2 __ovld __cnfn convert_half2_rtp(short2);
  6050. half2 __ovld __cnfn convert_half2_rtp(ushort2);
  6051. half2 __ovld __cnfn convert_half2_rtp(int2);
  6052. half2 __ovld __cnfn convert_half2_rtp(uint2);
  6053. half2 __ovld __cnfn convert_half2_rtp(long2);
  6054. half2 __ovld __cnfn convert_half2_rtp(ulong2);
  6055. half2 __ovld __cnfn convert_half2_rtp(float2);
  6056. half2 __ovld __cnfn convert_half2_rtp(half2);
  6057. half2 __ovld __cnfn convert_half2_rtn(char2);
  6058. half2 __ovld __cnfn convert_half2_rtn(uchar2);
  6059. half2 __ovld __cnfn convert_half2_rtn(short2);
  6060. half2 __ovld __cnfn convert_half2_rtn(ushort2);
  6061. half2 __ovld __cnfn convert_half2_rtn(int2);
  6062. half2 __ovld __cnfn convert_half2_rtn(uint2);
  6063. half2 __ovld __cnfn convert_half2_rtn(long2);
  6064. half2 __ovld __cnfn convert_half2_rtn(ulong2);
  6065. half2 __ovld __cnfn convert_half2_rtn(float2);
  6066. half2 __ovld __cnfn convert_half2_rtn(half2);
  6067. half2 __ovld __cnfn convert_half2_rtz(char2);
  6068. half2 __ovld __cnfn convert_half2_rtz(uchar2);
  6069. half2 __ovld __cnfn convert_half2_rtz(short2);
  6070. half2 __ovld __cnfn convert_half2_rtz(ushort2);
  6071. half2 __ovld __cnfn convert_half2_rtz(int2);
  6072. half2 __ovld __cnfn convert_half2_rtz(uint2);
  6073. half2 __ovld __cnfn convert_half2_rtz(long2);
  6074. half2 __ovld __cnfn convert_half2_rtz(ulong2);
  6075. half2 __ovld __cnfn convert_half2_rtz(float2);
  6076. half2 __ovld __cnfn convert_half2_rtz(half2);
  6077. half3 __ovld __cnfn convert_half3(char3);
  6078. half3 __ovld __cnfn convert_half3(uchar3);
  6079. half3 __ovld __cnfn convert_half3(short3);
  6080. half3 __ovld __cnfn convert_half3(ushort3);
  6081. half3 __ovld __cnfn convert_half3(int3);
  6082. half3 __ovld __cnfn convert_half3(uint3);
  6083. half3 __ovld __cnfn convert_half3(long3);
  6084. half3 __ovld __cnfn convert_half3(ulong3);
  6085. half3 __ovld __cnfn convert_half3(float3);
  6086. half3 __ovld __cnfn convert_half3(half3);
  6087. half3 __ovld __cnfn convert_half3_rte(char3);
  6088. half3 __ovld __cnfn convert_half3_rte(uchar3);
  6089. half3 __ovld __cnfn convert_half3_rte(short3);
  6090. half3 __ovld __cnfn convert_half3_rte(ushort3);
  6091. half3 __ovld __cnfn convert_half3_rte(int3);
  6092. half3 __ovld __cnfn convert_half3_rte(uint3);
  6093. half3 __ovld __cnfn convert_half3_rte(long3);
  6094. half3 __ovld __cnfn convert_half3_rte(ulong3);
  6095. half3 __ovld __cnfn convert_half3_rte(float3);
  6096. half3 __ovld __cnfn convert_half3_rte(half3);
  6097. half3 __ovld __cnfn convert_half3_rtp(char3);
  6098. half3 __ovld __cnfn convert_half3_rtp(uchar3);
  6099. half3 __ovld __cnfn convert_half3_rtp(short3);
  6100. half3 __ovld __cnfn convert_half3_rtp(ushort3);
  6101. half3 __ovld __cnfn convert_half3_rtp(int3);
  6102. half3 __ovld __cnfn convert_half3_rtp(uint3);
  6103. half3 __ovld __cnfn convert_half3_rtp(long3);
  6104. half3 __ovld __cnfn convert_half3_rtp(ulong3);
  6105. half3 __ovld __cnfn convert_half3_rtp(float3);
  6106. half3 __ovld __cnfn convert_half3_rtp(half3);
  6107. half3 __ovld __cnfn convert_half3_rtn(char3);
  6108. half3 __ovld __cnfn convert_half3_rtn(uchar3);
  6109. half3 __ovld __cnfn convert_half3_rtn(short3);
  6110. half3 __ovld __cnfn convert_half3_rtn(ushort3);
  6111. half3 __ovld __cnfn convert_half3_rtn(int3);
  6112. half3 __ovld __cnfn convert_half3_rtn(uint3);
  6113. half3 __ovld __cnfn convert_half3_rtn(long3);
  6114. half3 __ovld __cnfn convert_half3_rtn(ulong3);
  6115. half3 __ovld __cnfn convert_half3_rtn(float3);
  6116. half3 __ovld __cnfn convert_half3_rtn(half3);
  6117. half3 __ovld __cnfn convert_half3_rtz(char3);
  6118. half3 __ovld __cnfn convert_half3_rtz(uchar3);
  6119. half3 __ovld __cnfn convert_half3_rtz(short3);
  6120. half3 __ovld __cnfn convert_half3_rtz(ushort3);
  6121. half3 __ovld __cnfn convert_half3_rtz(int3);
  6122. half3 __ovld __cnfn convert_half3_rtz(uint3);
  6123. half3 __ovld __cnfn convert_half3_rtz(long3);
  6124. half3 __ovld __cnfn convert_half3_rtz(ulong3);
  6125. half3 __ovld __cnfn convert_half3_rtz(float3);
  6126. half3 __ovld __cnfn convert_half3_rtz(half3);
  6127. half4 __ovld __cnfn convert_half4(char4);
  6128. half4 __ovld __cnfn convert_half4(uchar4);
  6129. half4 __ovld __cnfn convert_half4(short4);
  6130. half4 __ovld __cnfn convert_half4(ushort4);
  6131. half4 __ovld __cnfn convert_half4(int4);
  6132. half4 __ovld __cnfn convert_half4(uint4);
  6133. half4 __ovld __cnfn convert_half4(long4);
  6134. half4 __ovld __cnfn convert_half4(ulong4);
  6135. half4 __ovld __cnfn convert_half4(float4);
  6136. half4 __ovld __cnfn convert_half4(half4);
  6137. half4 __ovld __cnfn convert_half4_rte(char4);
  6138. half4 __ovld __cnfn convert_half4_rte(uchar4);
  6139. half4 __ovld __cnfn convert_half4_rte(short4);
  6140. half4 __ovld __cnfn convert_half4_rte(ushort4);
  6141. half4 __ovld __cnfn convert_half4_rte(int4);
  6142. half4 __ovld __cnfn convert_half4_rte(uint4);
  6143. half4 __ovld __cnfn convert_half4_rte(long4);
  6144. half4 __ovld __cnfn convert_half4_rte(ulong4);
  6145. half4 __ovld __cnfn convert_half4_rte(float4);
  6146. half4 __ovld __cnfn convert_half4_rte(half4);
  6147. half4 __ovld __cnfn convert_half4_rtp(char4);
  6148. half4 __ovld __cnfn convert_half4_rtp(uchar4);
  6149. half4 __ovld __cnfn convert_half4_rtp(short4);
  6150. half4 __ovld __cnfn convert_half4_rtp(ushort4);
  6151. half4 __ovld __cnfn convert_half4_rtp(int4);
  6152. half4 __ovld __cnfn convert_half4_rtp(uint4);
  6153. half4 __ovld __cnfn convert_half4_rtp(long4);
  6154. half4 __ovld __cnfn convert_half4_rtp(ulong4);
  6155. half4 __ovld __cnfn convert_half4_rtp(float4);
  6156. half4 __ovld __cnfn convert_half4_rtp(half4);
  6157. half4 __ovld __cnfn convert_half4_rtn(char4);
  6158. half4 __ovld __cnfn convert_half4_rtn(uchar4);
  6159. half4 __ovld __cnfn convert_half4_rtn(short4);
  6160. half4 __ovld __cnfn convert_half4_rtn(ushort4);
  6161. half4 __ovld __cnfn convert_half4_rtn(int4);
  6162. half4 __ovld __cnfn convert_half4_rtn(uint4);
  6163. half4 __ovld __cnfn convert_half4_rtn(long4);
  6164. half4 __ovld __cnfn convert_half4_rtn(ulong4);
  6165. half4 __ovld __cnfn convert_half4_rtn(float4);
  6166. half4 __ovld __cnfn convert_half4_rtn(half4);
  6167. half4 __ovld __cnfn convert_half4_rtz(char4);
  6168. half4 __ovld __cnfn convert_half4_rtz(uchar4);
  6169. half4 __ovld __cnfn convert_half4_rtz(short4);
  6170. half4 __ovld __cnfn convert_half4_rtz(ushort4);
  6171. half4 __ovld __cnfn convert_half4_rtz(int4);
  6172. half4 __ovld __cnfn convert_half4_rtz(uint4);
  6173. half4 __ovld __cnfn convert_half4_rtz(long4);
  6174. half4 __ovld __cnfn convert_half4_rtz(ulong4);
  6175. half4 __ovld __cnfn convert_half4_rtz(float4);
  6176. half4 __ovld __cnfn convert_half4_rtz(half4);
  6177. half8 __ovld __cnfn convert_half8(char8);
  6178. half8 __ovld __cnfn convert_half8(uchar8);
  6179. half8 __ovld __cnfn convert_half8(short8);
  6180. half8 __ovld __cnfn convert_half8(ushort8);
  6181. half8 __ovld __cnfn convert_half8(int8);
  6182. half8 __ovld __cnfn convert_half8(uint8);
  6183. half8 __ovld __cnfn convert_half8(long8);
  6184. half8 __ovld __cnfn convert_half8(ulong8);
  6185. half8 __ovld __cnfn convert_half8(float8);
  6186. half8 __ovld __cnfn convert_half8(half8);
  6187. half8 __ovld __cnfn convert_half8_rte(char8);
  6188. half8 __ovld __cnfn convert_half8_rte(uchar8);
  6189. half8 __ovld __cnfn convert_half8_rte(short8);
  6190. half8 __ovld __cnfn convert_half8_rte(ushort8);
  6191. half8 __ovld __cnfn convert_half8_rte(int8);
  6192. half8 __ovld __cnfn convert_half8_rte(uint8);
  6193. half8 __ovld __cnfn convert_half8_rte(long8);
  6194. half8 __ovld __cnfn convert_half8_rte(ulong8);
  6195. half8 __ovld __cnfn convert_half8_rte(float8);
  6196. half8 __ovld __cnfn convert_half8_rte(half8);
  6197. half8 __ovld __cnfn convert_half8_rtp(char8);
  6198. half8 __ovld __cnfn convert_half8_rtp(uchar8);
  6199. half8 __ovld __cnfn convert_half8_rtp(short8);
  6200. half8 __ovld __cnfn convert_half8_rtp(ushort8);
  6201. half8 __ovld __cnfn convert_half8_rtp(int8);
  6202. half8 __ovld __cnfn convert_half8_rtp(uint8);
  6203. half8 __ovld __cnfn convert_half8_rtp(long8);
  6204. half8 __ovld __cnfn convert_half8_rtp(ulong8);
  6205. half8 __ovld __cnfn convert_half8_rtp(float8);
  6206. half8 __ovld __cnfn convert_half8_rtp(half8);
  6207. half8 __ovld __cnfn convert_half8_rtn(char8);
  6208. half8 __ovld __cnfn convert_half8_rtn(uchar8);
  6209. half8 __ovld __cnfn convert_half8_rtn(short8);
  6210. half8 __ovld __cnfn convert_half8_rtn(ushort8);
  6211. half8 __ovld __cnfn convert_half8_rtn(int8);
  6212. half8 __ovld __cnfn convert_half8_rtn(uint8);
  6213. half8 __ovld __cnfn convert_half8_rtn(long8);
  6214. half8 __ovld __cnfn convert_half8_rtn(ulong8);
  6215. half8 __ovld __cnfn convert_half8_rtn(float8);
  6216. half8 __ovld __cnfn convert_half8_rtn(half8);
  6217. half8 __ovld __cnfn convert_half8_rtz(char8);
  6218. half8 __ovld __cnfn convert_half8_rtz(uchar8);
  6219. half8 __ovld __cnfn convert_half8_rtz(short8);
  6220. half8 __ovld __cnfn convert_half8_rtz(ushort8);
  6221. half8 __ovld __cnfn convert_half8_rtz(int8);
  6222. half8 __ovld __cnfn convert_half8_rtz(uint8);
  6223. half8 __ovld __cnfn convert_half8_rtz(long8);
  6224. half8 __ovld __cnfn convert_half8_rtz(ulong8);
  6225. half8 __ovld __cnfn convert_half8_rtz(float8);
  6226. half8 __ovld __cnfn convert_half8_rtz(half8);
  6227. half16 __ovld __cnfn convert_half16(char16);
  6228. half16 __ovld __cnfn convert_half16(uchar16);
  6229. half16 __ovld __cnfn convert_half16(short16);
  6230. half16 __ovld __cnfn convert_half16(ushort16);
  6231. half16 __ovld __cnfn convert_half16(int16);
  6232. half16 __ovld __cnfn convert_half16(uint16);
  6233. half16 __ovld __cnfn convert_half16(long16);
  6234. half16 __ovld __cnfn convert_half16(ulong16);
  6235. half16 __ovld __cnfn convert_half16(float16);
  6236. half16 __ovld __cnfn convert_half16(half16);
  6237. half16 __ovld __cnfn convert_half16_rte(char16);
  6238. half16 __ovld __cnfn convert_half16_rte(uchar16);
  6239. half16 __ovld __cnfn convert_half16_rte(short16);
  6240. half16 __ovld __cnfn convert_half16_rte(ushort16);
  6241. half16 __ovld __cnfn convert_half16_rte(int16);
  6242. half16 __ovld __cnfn convert_half16_rte(uint16);
  6243. half16 __ovld __cnfn convert_half16_rte(long16);
  6244. half16 __ovld __cnfn convert_half16_rte(ulong16);
  6245. half16 __ovld __cnfn convert_half16_rte(float16);
  6246. half16 __ovld __cnfn convert_half16_rte(half16);
  6247. half16 __ovld __cnfn convert_half16_rtp(char16);
  6248. half16 __ovld __cnfn convert_half16_rtp(uchar16);
  6249. half16 __ovld __cnfn convert_half16_rtp(short16);
  6250. half16 __ovld __cnfn convert_half16_rtp(ushort16);
  6251. half16 __ovld __cnfn convert_half16_rtp(int16);
  6252. half16 __ovld __cnfn convert_half16_rtp(uint16);
  6253. half16 __ovld __cnfn convert_half16_rtp(long16);
  6254. half16 __ovld __cnfn convert_half16_rtp(ulong16);
  6255. half16 __ovld __cnfn convert_half16_rtp(float16);
  6256. half16 __ovld __cnfn convert_half16_rtp(half16);
  6257. half16 __ovld __cnfn convert_half16_rtn(char16);
  6258. half16 __ovld __cnfn convert_half16_rtn(uchar16);
  6259. half16 __ovld __cnfn convert_half16_rtn(short16);
  6260. half16 __ovld __cnfn convert_half16_rtn(ushort16);
  6261. half16 __ovld __cnfn convert_half16_rtn(int16);
  6262. half16 __ovld __cnfn convert_half16_rtn(uint16);
  6263. half16 __ovld __cnfn convert_half16_rtn(long16);
  6264. half16 __ovld __cnfn convert_half16_rtn(ulong16);
  6265. half16 __ovld __cnfn convert_half16_rtn(float16);
  6266. half16 __ovld __cnfn convert_half16_rtn(half16);
  6267. half16 __ovld __cnfn convert_half16_rtz(char16);
  6268. half16 __ovld __cnfn convert_half16_rtz(uchar16);
  6269. half16 __ovld __cnfn convert_half16_rtz(short16);
  6270. half16 __ovld __cnfn convert_half16_rtz(ushort16);
  6271. half16 __ovld __cnfn convert_half16_rtz(int16);
  6272. half16 __ovld __cnfn convert_half16_rtz(uint16);
  6273. half16 __ovld __cnfn convert_half16_rtz(long16);
  6274. half16 __ovld __cnfn convert_half16_rtz(ulong16);
  6275. half16 __ovld __cnfn convert_half16_rtz(float16);
  6276. half16 __ovld __cnfn convert_half16_rtz(half16);
  6277.  
  6278. // Convert half types to double types.
  6279. #ifdef cl_khr_fp64
  6280. double __ovld __cnfn convert_double(half);
  6281. double __ovld __cnfn convert_double_rte(half);
  6282. double __ovld __cnfn convert_double_rtp(half);
  6283. double __ovld __cnfn convert_double_rtn(half);
  6284. double __ovld __cnfn convert_double_rtz(half);
  6285. double2 __ovld __cnfn convert_double2(half2);
  6286. double2 __ovld __cnfn convert_double2_rte(half2);
  6287. double2 __ovld __cnfn convert_double2_rtp(half2);
  6288. double2 __ovld __cnfn convert_double2_rtn(half2);
  6289. double2 __ovld __cnfn convert_double2_rtz(half2);
  6290. double3 __ovld __cnfn convert_double3(half3);
  6291. double3 __ovld __cnfn convert_double3_rte(half3);
  6292. double3 __ovld __cnfn convert_double3_rtp(half3);
  6293. double3 __ovld __cnfn convert_double3_rtn(half3);
  6294. double3 __ovld __cnfn convert_double3_rtz(half3);
  6295. double4 __ovld __cnfn convert_double4(half4);
  6296. double4 __ovld __cnfn convert_double4_rte(half4);
  6297. double4 __ovld __cnfn convert_double4_rtp(half4);
  6298. double4 __ovld __cnfn convert_double4_rtn(half4);
  6299. double4 __ovld __cnfn convert_double4_rtz(half4);
  6300. double8 __ovld __cnfn convert_double8(half8);
  6301. double8 __ovld __cnfn convert_double8_rte(half8);
  6302. double8 __ovld __cnfn convert_double8_rtp(half8);
  6303. double8 __ovld __cnfn convert_double8_rtn(half8);
  6304. double8 __ovld __cnfn convert_double8_rtz(half8);
  6305. double16 __ovld __cnfn convert_double16(half16);
  6306. double16 __ovld __cnfn convert_double16_rte(half16);
  6307. double16 __ovld __cnfn convert_double16_rtp(half16);
  6308. double16 __ovld __cnfn convert_double16_rtn(half16);
  6309. double16 __ovld __cnfn convert_double16_rtz(half16);
  6310.  
  6311. // Convert double types to half types.
  6312. half __ovld __cnfn convert_half(double);
  6313. half __ovld __cnfn convert_half_rte(double);
  6314. half __ovld __cnfn convert_half_rtp(double);
  6315. half __ovld __cnfn convert_half_rtn(double);
  6316. half __ovld __cnfn convert_half_rtz(double);
  6317. half2 __ovld __cnfn convert_half2(double2);
  6318. half2 __ovld __cnfn convert_half2_rte(double2);
  6319. half2 __ovld __cnfn convert_half2_rtp(double2);
  6320. half2 __ovld __cnfn convert_half2_rtn(double2);
  6321. half2 __ovld __cnfn convert_half2_rtz(double2);
  6322. half3 __ovld __cnfn convert_half3(double3);
  6323. half3 __ovld __cnfn convert_half3_rte(double3);
  6324. half3 __ovld __cnfn convert_half3_rtp(double3);
  6325. half3 __ovld __cnfn convert_half3_rtn(double3);
  6326. half3 __ovld __cnfn convert_half3_rtz(double3);
  6327. half4 __ovld __cnfn convert_half4(double4);
  6328. half4 __ovld __cnfn convert_half4_rte(double4);
  6329. half4 __ovld __cnfn convert_half4_rtp(double4);
  6330. half4 __ovld __cnfn convert_half4_rtn(double4);
  6331. half4 __ovld __cnfn convert_half4_rtz(double4);
  6332. half8 __ovld __cnfn convert_half8(double8);
  6333. half8 __ovld __cnfn convert_half8_rte(double8);
  6334. half8 __ovld __cnfn convert_half8_rtp(double8);
  6335. half8 __ovld __cnfn convert_half8_rtn(double8);
  6336. half8 __ovld __cnfn convert_half8_rtz(double8);
  6337. half16 __ovld __cnfn convert_half16(double16);
  6338. half16 __ovld __cnfn convert_half16_rte(double16);
  6339. half16 __ovld __cnfn convert_half16_rtp(double16);
  6340. half16 __ovld __cnfn convert_half16_rtn(double16);
  6341. half16 __ovld __cnfn convert_half16_rtz(double16);
  6342. #endif //cl_khr_fp64
  6343.  
  6344. #endif // cl_khr_fp16
  6345.  
  6346. // OpenCL v1.1 s6.11.1, v1.2 s6.12.1, v2.0 s6.13.1 - Work-item Functions
  6347.  
  6348. /**
  6349.  * Returns the number of dimensions in use. This is the
  6350.  * value given to the work_dim argument specified in
  6351.  * clEnqueueNDRangeKernel.
  6352.  * For clEnqueueTask, this returns 1.
  6353.  */
  6354. uint __ovld __cnfn get_work_dim(void);
  6355.  
  6356. /**
  6357.  * Returns the number of global work-items specified for
  6358.  * dimension identified by dimindx. This value is given by
  6359.  * the global_work_size argument to
  6360.  * clEnqueueNDRangeKernel. Valid values of dimindx
  6361.  * are 0 to get_work_dim() - 1. For other values of
  6362.  * dimindx, get_global_size() returns 1.
  6363.  * For clEnqueueTask, this always returns 1.
  6364.  */
  6365. size_t __ovld __cnfn get_global_size(uint);
  6366.  
  6367. /**
  6368.  * Returns the unique global work-item ID value for
  6369.  * dimension identified by dimindx. The global work-item
  6370.  * ID specifies the work-item ID based on the number of
  6371.  * global work-items specified to execute the kernel. Valid
  6372.  * values of dimindx are 0 to get_work_dim() - 1. For
  6373.  * other values of dimindx, get_global_id() returns 0.
  6374.  * For clEnqueueTask, this returns 0.
  6375.  */
  6376. size_t __ovld __cnfn get_global_id(uint);
  6377.  
  6378. /**
  6379.  * Returns the number of local work-items specified in
  6380.  * dimension identified by dimindx. This value is given by
  6381.  * the local_work_size argument to
  6382.  * clEnqueueNDRangeKernel if local_work_size is not
  6383.  * NULL; otherwise the OpenCL implementation chooses
  6384.  * an appropriate local_work_size value which is returned
  6385.  * by this function. Valid values of dimindx are 0 to
  6386.  * get_work_dim() - 1. For other values of dimindx,
  6387.  * get_local_size() returns 1.
  6388.  * For clEnqueueTask, this always returns 1.
  6389.  */
  6390. size_t __ovld __cnfn get_local_size(uint);
  6391.  
  6392. /**
  6393.  * Returns the unique local work-item ID i.e. a work-item
  6394.  * within a specific work-group for dimension identified by
  6395.  * dimindx. Valid values of dimindx are 0 to
  6396.  * get_work_dim() - 1. For other values of dimindx,
  6397.  * get_local_id() returns 0.
  6398.  * For clEnqueueTask, this returns 0.
  6399.  */
  6400. size_t __ovld __cnfn get_local_id(uint);
  6401.  
  6402. /**
  6403.  * Returns the number of work-groups that will execute a
  6404.  * kernel for dimension identified by dimindx.
  6405.  * Valid values of dimindx are 0 to get_work_dim() - 1.
  6406.  * For other values of dimindx, get_num_groups() returns 1.
  6407.  * For clEnqueueTask, this always returns 1.
  6408.  */
  6409. size_t __ovld __cnfn get_num_groups(uint);
  6410.  
  6411. /**
  6412.  * get_group_id returns the work-group ID which is a
  6413.  * number from 0 .. get_num_groups(dimindx) - 1.
  6414.  * Valid values of dimindx are 0 to get_work_dim() - 1.
  6415.  * For other values, get_group_id() returns 0.
  6416.  * For clEnqueueTask, this returns 0.
  6417.  */
  6418. size_t __ovld __cnfn get_group_id(uint);
  6419.  
  6420. /**
  6421.  * get_global_offset returns the offset values specified in
  6422.  * global_work_offset argument to
  6423.  * clEnqueueNDRangeKernel.
  6424.  * Valid values of dimindx are 0 to get_work_dim() - 1.
  6425.  * For other values, get_global_offset() returns 0.
  6426.  * For clEnqueueTask, this returns 0.
  6427.  */
  6428. size_t __ovld __cnfn get_global_offset(uint);
  6429.  
  6430. #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
  6431. size_t __ovld get_enqueued_local_size(uint);
  6432. size_t __ovld get_global_linear_id(void);
  6433. size_t __ovld get_local_linear_id(void);
  6434. #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
  6435.  
  6436. // OpenCL v1.1 s6.11.2, v1.2 s6.12.2, v2.0 s6.13.2 - Math functions
  6437.  
  6438. /**
  6439.  * Arc cosine function.
  6440.  */
  6441. float __ovld __cnfn acos(float);
  6442. float2 __ovld __cnfn acos(float2);
  6443. float3 __ovld __cnfn acos(float3);
  6444. float4 __ovld __cnfn acos(float4);
  6445. float8 __ovld __cnfn acos(float8);
  6446. float16 __ovld __cnfn acos(float16);
  6447. #ifdef cl_khr_fp64
  6448. double __ovld __cnfn acos(double);
  6449. double2 __ovld __cnfn acos(double2);
  6450. double3 __ovld __cnfn acos(double3);
  6451. double4 __ovld __cnfn acos(double4);
  6452. double8 __ovld __cnfn acos(double8);
  6453. double16 __ovld __cnfn acos(double16);
  6454. #endif //cl_khr_fp64
  6455. #ifdef cl_khr_fp16
  6456. half __ovld __cnfn acos(half);
  6457. half2 __ovld __cnfn acos(half2);
  6458. half3 __ovld __cnfn acos(half3);
  6459. half4 __ovld __cnfn acos(half4);
  6460. half8 __ovld __cnfn acos(half8);
  6461. half16 __ovld __cnfn acos(half16);
  6462. #endif //cl_khr_fp16
  6463.  
  6464. /**
  6465.  * Inverse hyperbolic cosine.
  6466.  */
  6467. float __ovld __cnfn acosh(float);
  6468. float2 __ovld __cnfn acosh(float2);
  6469. float3 __ovld __cnfn acosh(float3);
  6470. float4 __ovld __cnfn acosh(float4);
  6471. float8 __ovld __cnfn acosh(float8);
  6472. float16 __ovld __cnfn acosh(float16);
  6473. #ifdef cl_khr_fp64
  6474. double __ovld __cnfn acosh(double);
  6475. double2 __ovld __cnfn acosh(double2);
  6476. double3 __ovld __cnfn acosh(double3);
  6477. double4 __ovld __cnfn acosh(double4);
  6478. double8 __ovld __cnfn acosh(double8);
  6479. double16 __ovld __cnfn acosh(double16);
  6480. #endif //cl_khr_fp64
  6481. #ifdef cl_khr_fp16
  6482. half __ovld __cnfn acosh(half);
  6483. half2 __ovld __cnfn acosh(half2);
  6484. half3 __ovld __cnfn acosh(half3);
  6485. half4 __ovld __cnfn acosh(half4);
  6486. half8 __ovld __cnfn acosh(half8);
  6487. half16 __ovld __cnfn acosh(half16);
  6488. #endif //cl_khr_fp16
  6489.  
  6490. /**
  6491.  * Compute acos (x) / PI.
  6492.  */
  6493. float __ovld __cnfn acospi(float);
  6494. float2 __ovld __cnfn acospi(float2);
  6495. float3 __ovld __cnfn acospi(float3);
  6496. float4 __ovld __cnfn acospi(float4);
  6497. float8 __ovld __cnfn acospi(float8);
  6498. float16 __ovld __cnfn acospi(float16);
  6499. #ifdef cl_khr_fp64
  6500. double __ovld __cnfn acospi(double);
  6501. double2 __ovld __cnfn acospi(double2);
  6502. double3 __ovld __cnfn acospi(double3);
  6503. double4 __ovld __cnfn acospi(double4);
  6504. double8 __ovld __cnfn acospi(double8);
  6505. double16 __ovld __cnfn acospi(double16);
  6506. #endif //cl_khr_fp64
  6507. #ifdef cl_khr_fp16
  6508. half __ovld __cnfn acospi(half);
  6509. half2 __ovld __cnfn acospi(half2);
  6510. half3 __ovld __cnfn acospi(half3);
  6511. half4 __ovld __cnfn acospi(half4);
  6512. half8 __ovld __cnfn acospi(half8);
  6513. half16 __ovld __cnfn acospi(half16);
  6514. #endif //cl_khr_fp16
  6515.  
  6516. /**
  6517.  * Arc sine function.
  6518.  */
  6519. float __ovld __cnfn asin(float);
  6520. float2 __ovld __cnfn asin(float2);
  6521. float3 __ovld __cnfn asin(float3);
  6522. float4 __ovld __cnfn asin(float4);
  6523. float8 __ovld __cnfn asin(float8);
  6524. float16 __ovld __cnfn asin(float16);
  6525. #ifdef cl_khr_fp64
  6526. double __ovld __cnfn asin(double);
  6527. double2 __ovld __cnfn asin(double2);
  6528. double3 __ovld __cnfn asin(double3);
  6529. double4 __ovld __cnfn asin(double4);
  6530. double8 __ovld __cnfn asin(double8);
  6531. double16 __ovld __cnfn asin(double16);
  6532. #endif //cl_khr_fp64
  6533. #ifdef cl_khr_fp16
  6534. half __ovld __cnfn asin(half);
  6535. half2 __ovld __cnfn asin(half2);
  6536. half3 __ovld __cnfn asin(half3);
  6537. half4 __ovld __cnfn asin(half4);
  6538. half8 __ovld __cnfn asin(half8);
  6539. half16 __ovld __cnfn asin(half16);
  6540. #endif //cl_khr_fp16
  6541.  
  6542. /**
  6543.  * Inverse hyperbolic sine.
  6544.  */
  6545. float __ovld __cnfn asinh(float);
  6546. float2 __ovld __cnfn asinh(float2);
  6547. float3 __ovld __cnfn asinh(float3);
  6548. float4 __ovld __cnfn asinh(float4);
  6549. float8 __ovld __cnfn asinh(float8);
  6550. float16 __ovld __cnfn asinh(float16);
  6551. #ifdef cl_khr_fp64
  6552. double __ovld __cnfn asinh(double);
  6553. double2 __ovld __cnfn asinh(double2);
  6554. double3 __ovld __cnfn asinh(double3);
  6555. double4 __ovld __cnfn asinh(double4);
  6556. double8 __ovld __cnfn asinh(double8);
  6557. double16 __ovld __cnfn asinh(double16);
  6558. #endif //cl_khr_fp64
  6559. #ifdef cl_khr_fp16
  6560. half __ovld __cnfn asinh(half);
  6561. half2 __ovld __cnfn asinh(half2);
  6562. half3 __ovld __cnfn asinh(half3);
  6563. half4 __ovld __cnfn asinh(half4);
  6564. half8 __ovld __cnfn asinh(half8);
  6565. half16 __ovld __cnfn asinh(half16);
  6566. #endif //cl_khr_fp16
  6567.  
  6568. /**
  6569.  * Compute asin (x) / PI.
  6570.  */
  6571. float __ovld __cnfn asinpi(float);
  6572. float2 __ovld __cnfn asinpi(float2);
  6573. float3 __ovld __cnfn asinpi(float3);
  6574. float4 __ovld __cnfn asinpi(float4);
  6575. float8 __ovld __cnfn asinpi(float8);
  6576. float16 __ovld __cnfn asinpi(float16);
  6577. #ifdef cl_khr_fp64
  6578. double __ovld __cnfn asinpi(double);
  6579. double2 __ovld __cnfn asinpi(double2);
  6580. double3 __ovld __cnfn asinpi(double3);
  6581. double4 __ovld __cnfn asinpi(double4);
  6582. double8 __ovld __cnfn asinpi(double8);
  6583. double16 __ovld __cnfn asinpi(double16);
  6584. #endif //cl_khr_fp64
  6585. #ifdef cl_khr_fp16
  6586. half __ovld __cnfn asinpi(half);
  6587. half2 __ovld __cnfn asinpi(half2);
  6588. half3 __ovld __cnfn asinpi(half3);
  6589. half4 __ovld __cnfn asinpi(half4);
  6590. half8 __ovld __cnfn asinpi(half8);
  6591. half16 __ovld __cnfn asinpi(half16);
  6592. #endif //cl_khr_fp16
  6593.  
  6594. /**
  6595.  * Arc tangent function.
  6596.  */
  6597. float __ovld __cnfn atan(float);
  6598. float2 __ovld __cnfn atan(float2);
  6599. float3 __ovld __cnfn atan(float3);
  6600. float4 __ovld __cnfn atan(float4);
  6601. float8 __ovld __cnfn atan(float8);
  6602. float16 __ovld __cnfn atan(float16);
  6603. #ifdef cl_khr_fp64
  6604. double __ovld __cnfn atan(double);
  6605. double2 __ovld __cnfn atan(double2);
  6606. double3 __ovld __cnfn atan(double3);
  6607. double4 __ovld __cnfn atan(double4);
  6608. double8 __ovld __cnfn atan(double8);
  6609. double16 __ovld __cnfn atan(double16);
  6610. #endif //cl_khr_fp64
  6611. #ifdef cl_khr_fp16
  6612. half __ovld __cnfn atan(half);
  6613. half2 __ovld __cnfn atan(half2);
  6614. half3 __ovld __cnfn atan(half3);
  6615. half4 __ovld __cnfn atan(half4);
  6616. half8 __ovld __cnfn atan(half8);
  6617. half16 __ovld __cnfn atan(half16);
  6618. #endif //cl_khr_fp16
  6619.  
  6620. /**
  6621.  * Arc tangent of y / x.
  6622.  */
  6623. float __ovld __cnfn atan2(float, float);
  6624. float2 __ovld __cnfn atan2(float2, float2);
  6625. float3 __ovld __cnfn atan2(float3, float3);
  6626. float4 __ovld __cnfn atan2(float4, float4);
  6627. float8 __ovld __cnfn atan2(float8, float8);
  6628. float16 __ovld __cnfn atan2(float16, float16);
  6629. #ifdef cl_khr_fp64
  6630. double __ovld __cnfn atan2(double, double);
  6631. double2 __ovld __cnfn atan2(double2, double2);
  6632. double3 __ovld __cnfn atan2(double3, double3);
  6633. double4 __ovld __cnfn atan2(double4, double4);
  6634. double8 __ovld __cnfn atan2(double8, double8);
  6635. double16 __ovld __cnfn atan2(double16, double16);
  6636. #endif //cl_khr_fp64
  6637. #ifdef cl_khr_fp16
  6638. half __ovld __cnfn atan2(half, half);
  6639. half2 __ovld __cnfn atan2(half2, half2);
  6640. half3 __ovld __cnfn atan2(half3, half3);
  6641. half4 __ovld __cnfn atan2(half4, half4);
  6642. half8 __ovld __cnfn atan2(half8, half8);
  6643. half16 __ovld __cnfn atan2(half16, half16);
  6644. #endif //cl_khr_fp16
  6645.  
  6646. /**
  6647.  * Hyperbolic arc tangent.
  6648.  */
  6649. float __ovld __cnfn atanh(float);
  6650. float2 __ovld __cnfn atanh(float2);
  6651. float3 __ovld __cnfn atanh(float3);
  6652. float4 __ovld __cnfn atanh(float4);
  6653. float8 __ovld __cnfn atanh(float8);
  6654. float16 __ovld __cnfn atanh(float16);
  6655. #ifdef cl_khr_fp64
  6656. double __ovld __cnfn atanh(double);
  6657. double2 __ovld __cnfn atanh(double2);
  6658. double3 __ovld __cnfn atanh(double3);
  6659. double4 __ovld __cnfn atanh(double4);
  6660. double8 __ovld __cnfn atanh(double8);
  6661. double16 __ovld __cnfn atanh(double16);
  6662. #endif //cl_khr_fp64
  6663. #ifdef cl_khr_fp16
  6664. half __ovld __cnfn atanh(half);
  6665. half2 __ovld __cnfn atanh(half2);
  6666. half3 __ovld __cnfn atanh(half3);
  6667. half4 __ovld __cnfn atanh(half4);
  6668. half8 __ovld __cnfn atanh(half8);
  6669. half16 __ovld __cnfn atanh(half16);
  6670. #endif //cl_khr_fp16
  6671.  
  6672. /**
  6673.  * Compute atan (x) / PI.
  6674.  */
  6675. float __ovld __cnfn atanpi(float);
  6676. float2 __ovld __cnfn atanpi(float2);
  6677. float3 __ovld __cnfn atanpi(float3);
  6678. float4 __ovld __cnfn atanpi(float4);
  6679. float8 __ovld __cnfn atanpi(float8);
  6680. float16 __ovld __cnfn atanpi(float16);
  6681. #ifdef cl_khr_fp64
  6682. double __ovld __cnfn atanpi(double);
  6683. double2 __ovld __cnfn atanpi(double2);
  6684. double3 __ovld __cnfn atanpi(double3);
  6685. double4 __ovld __cnfn atanpi(double4);
  6686. double8 __ovld __cnfn atanpi(double8);
  6687. double16 __ovld __cnfn atanpi(double16);
  6688. #endif //cl_khr_fp64
  6689. #ifdef cl_khr_fp16
  6690. half __ovld __cnfn atanpi(half);
  6691. half2 __ovld __cnfn atanpi(half2);
  6692. half3 __ovld __cnfn atanpi(half3);
  6693. half4 __ovld __cnfn atanpi(half4);
  6694. half8 __ovld __cnfn atanpi(half8);
  6695. half16 __ovld __cnfn atanpi(half16);
  6696. #endif //cl_khr_fp16
  6697.  
  6698. /**
  6699.  * Compute atan2 (y, x) / PI.
  6700.  */
  6701. float __ovld __cnfn atan2pi(float, float);
  6702. float2 __ovld __cnfn atan2pi(float2, float2);
  6703. float3 __ovld __cnfn atan2pi(float3, float3);
  6704. float4 __ovld __cnfn atan2pi(float4, float4);
  6705. float8 __ovld __cnfn atan2pi(float8, float8);
  6706. float16 __ovld __cnfn atan2pi(float16, float16);
  6707. #ifdef cl_khr_fp64
  6708. double __ovld __cnfn atan2pi(double, double);
  6709. double2 __ovld __cnfn atan2pi(double2, double2);
  6710. double3 __ovld __cnfn atan2pi(double3, double3);
  6711. double4 __ovld __cnfn atan2pi(double4, double4);
  6712. double8 __ovld __cnfn atan2pi(double8, double8);
  6713. double16 __ovld __cnfn atan2pi(double16, double16);
  6714. #endif //cl_khr_fp64
  6715. #ifdef cl_khr_fp16
  6716. half __ovld __cnfn atan2pi(half, half);
  6717. half2 __ovld __cnfn atan2pi(half2, half2);
  6718. half3 __ovld __cnfn atan2pi(half3, half3);
  6719. half4 __ovld __cnfn atan2pi(half4, half4);
  6720. half8 __ovld __cnfn atan2pi(half8, half8);
  6721. half16 __ovld __cnfn atan2pi(half16, half16);
  6722. #endif //cl_khr_fp16
  6723.  
  6724. /**
  6725.  * Compute cube-root.
  6726.  */
  6727. float __ovld __cnfn cbrt(float);
  6728. float2 __ovld __cnfn cbrt(float2);
  6729. float3 __ovld __cnfn cbrt(float3);
  6730. float4 __ovld __cnfn cbrt(float4);
  6731. float8 __ovld __cnfn cbrt(float8);
  6732. float16 __ovld __cnfn cbrt(float16);
  6733. #ifdef cl_khr_fp64
  6734. double __ovld __cnfn cbrt(double);
  6735. double2 __ovld __cnfn cbrt(double2);
  6736. double3 __ovld __cnfn cbrt(double3);
  6737. double4 __ovld __cnfn cbrt(double4);
  6738. double8 __ovld __cnfn cbrt(double8);
  6739. double16 __ovld __cnfn cbrt(double16);
  6740. #endif //cl_khr_fp64
  6741. #ifdef cl_khr_fp16
  6742. half __ovld __cnfn cbrt(half);
  6743. half2 __ovld __cnfn cbrt(half2);
  6744. half3 __ovld __cnfn cbrt(half3);
  6745. half4 __ovld __cnfn cbrt(half4);
  6746. half8 __ovld __cnfn cbrt(half8);
  6747. half16 __ovld __cnfn cbrt(half16);
  6748. #endif //cl_khr_fp16
  6749.  
  6750. /**
  6751.  * Round to integral value using the round to positive
  6752.  * infinity rounding mode.
  6753.  */
  6754. float __ovld __cnfn ceil(float);
  6755. float2 __ovld __cnfn ceil(float2);
  6756. float3 __ovld __cnfn ceil(float3);
  6757. float4 __ovld __cnfn ceil(float4);
  6758. float8 __ovld __cnfn ceil(float8);
  6759. float16 __ovld __cnfn ceil(float16);
  6760. #ifdef cl_khr_fp64
  6761. double __ovld __cnfn ceil(double);
  6762. double2 __ovld __cnfn ceil(double2);
  6763. double3 __ovld __cnfn ceil(double3);
  6764. double4 __ovld __cnfn ceil(double4);
  6765. double8 __ovld __cnfn ceil(double8);
  6766. double16 __ovld __cnfn ceil(double16);
  6767. #endif //cl_khr_fp64
  6768. #ifdef cl_khr_fp16
  6769. half __ovld __cnfn ceil(half);
  6770. half2 __ovld __cnfn ceil(half2);
  6771. half3 __ovld __cnfn ceil(half3);
  6772. half4 __ovld __cnfn ceil(half4);
  6773. half8 __ovld __cnfn ceil(half8);
  6774. half16 __ovld __cnfn ceil(half16);
  6775. #endif //cl_khr_fp16
  6776.  
  6777. /**
  6778.  * Returns x with its sign changed to match the sign of y.
  6779.  */
  6780. float __ovld __cnfn copysign(float, float);
  6781. float2 __ovld __cnfn copysign(float2, float2);
  6782. float3 __ovld __cnfn copysign(float3, float3);
  6783. float4 __ovld __cnfn copysign(float4, float4);
  6784. float8 __ovld __cnfn copysign(float8, float8);
  6785. float16 __ovld __cnfn copysign(float16, float16);
  6786. #ifdef cl_khr_fp64
  6787. double __ovld __cnfn copysign(double, double);
  6788. double2 __ovld __cnfn copysign(double2, double2);
  6789. double3 __ovld __cnfn copysign(double3, double3);
  6790. double4 __ovld __cnfn copysign(double4, double4);
  6791. double8 __ovld __cnfn copysign(double8, double8);
  6792. double16 __ovld __cnfn copysign(double16, double16);
  6793. #endif //cl_khr_fp64
  6794. #ifdef cl_khr_fp16
  6795. half __ovld __cnfn copysign(half, half);
  6796. half2 __ovld __cnfn copysign(half2, half2);
  6797. half3 __ovld __cnfn copysign(half3, half3);
  6798. half4 __ovld __cnfn copysign(half4, half4);
  6799. half8 __ovld __cnfn copysign(half8, half8);
  6800. half16 __ovld __cnfn copysign(half16, half16);
  6801. #endif //cl_khr_fp16
  6802.  
  6803. /**
  6804.  * Compute cosine.
  6805.  */
  6806. float __ovld __cnfn cos(float);
  6807. float2 __ovld __cnfn cos(float2);
  6808. float3 __ovld __cnfn cos(float3);
  6809. float4 __ovld __cnfn cos(float4);
  6810. float8 __ovld __cnfn cos(float8);
  6811. float16 __ovld __cnfn cos(float16);
  6812. #ifdef cl_khr_fp64
  6813. double __ovld __cnfn cos(double);
  6814. double2 __ovld __cnfn cos(double2);
  6815. double3 __ovld __cnfn cos(double3);
  6816. double4 __ovld __cnfn cos(double4);
  6817. double8 __ovld __cnfn cos(double8);
  6818. double16 __ovld __cnfn cos(double16);
  6819. #endif //cl_khr_fp64
  6820. #ifdef cl_khr_fp16
  6821. half __ovld __cnfn cos(half);
  6822. half2 __ovld __cnfn cos(half2);
  6823. half3 __ovld __cnfn cos(half3);
  6824. half4 __ovld __cnfn cos(half4);
  6825. half8 __ovld __cnfn cos(half8);
  6826. half16 __ovld __cnfn cos(half16);
  6827. #endif //cl_khr_fp16
  6828.  
  6829. /**
  6830.  * Compute hyperbolic cosine.
  6831.  */
  6832. float __ovld __cnfn cosh(float);
  6833. float2 __ovld __cnfn cosh(float2);
  6834. float3 __ovld __cnfn cosh(float3);
  6835. float4 __ovld __cnfn cosh(float4);
  6836. float8 __ovld __cnfn cosh(float8);
  6837. float16 __ovld __cnfn cosh(float16);
  6838. #ifdef cl_khr_fp64
  6839. double __ovld __cnfn cosh(double);
  6840. double2 __ovld __cnfn cosh(double2);
  6841. double3 __ovld __cnfn cosh(double3);
  6842. double4 __ovld __cnfn cosh(double4);
  6843. double8 __ovld __cnfn cosh(double8);
  6844. double16 __ovld __cnfn cosh(double16);
  6845. #endif //cl_khr_fp64
  6846. #ifdef cl_khr_fp16
  6847. half __ovld __cnfn cosh(half);
  6848. half2 __ovld __cnfn cosh(half2);
  6849. half3 __ovld __cnfn cosh(half3);
  6850. half4 __ovld __cnfn cosh(half4);
  6851. half8 __ovld __cnfn cosh(half8);
  6852. half16 __ovld __cnfn cosh(half16);
  6853. #endif //cl_khr_fp16
  6854.  
  6855. /**
  6856.  * Compute cos (PI * x).
  6857.  */
  6858. float __ovld __cnfn cospi(float);
  6859. float2 __ovld __cnfn cospi(float2);
  6860. float3 __ovld __cnfn cospi(float3);
  6861. float4 __ovld __cnfn cospi(float4);
  6862. float8 __ovld __cnfn cospi(float8);
  6863. float16 __ovld __cnfn cospi(float16);
  6864. #ifdef cl_khr_fp64
  6865. double __ovld __cnfn cospi(double);
  6866. double2 __ovld __cnfn cospi(double2);
  6867. double3 __ovld __cnfn cospi(double3);
  6868. double4 __ovld __cnfn cospi(double4);
  6869. double8 __ovld __cnfn cospi(double8);
  6870. double16 __ovld __cnfn cospi(double16);
  6871. #endif //cl_khr_fp64
  6872. #ifdef cl_khr_fp16
  6873. half __ovld __cnfn cospi(half);
  6874. half2 __ovld __cnfn cospi(half2);
  6875. half3 __ovld __cnfn cospi(half3);
  6876. half4 __ovld __cnfn cospi(half4);
  6877. half8 __ovld __cnfn cospi(half8);
  6878. half16 __ovld __cnfn cospi(half16);
  6879. #endif //cl_khr_fp16
  6880.  
  6881. /**
  6882.  * Complementary error function.
  6883.  */
  6884. float __ovld __cnfn erfc(float);
  6885. float2 __ovld __cnfn erfc(float2);
  6886. float3 __ovld __cnfn erfc(float3);
  6887. float4 __ovld __cnfn erfc(float4);
  6888. float8 __ovld __cnfn erfc(float8);
  6889. float16 __ovld __cnfn erfc(float16);
  6890. #ifdef cl_khr_fp64
  6891. double __ovld __cnfn erfc(double);
  6892. double2 __ovld __cnfn erfc(double2);
  6893. double3 __ovld __cnfn erfc(double3);
  6894. double4 __ovld __cnfn erfc(double4);
  6895. double8 __ovld __cnfn erfc(double8);
  6896. double16 __ovld __cnfn erfc(double16);
  6897. #endif //cl_khr_fp64
  6898. #ifdef cl_khr_fp16
  6899. half __ovld __cnfn erfc(half);
  6900. half2 __ovld __cnfn erfc(half2);
  6901. half3 __ovld __cnfn erfc(half3);
  6902. half4 __ovld __cnfn erfc(half4);
  6903. half8 __ovld __cnfn erfc(half8);
  6904. half16 __ovld __cnfn erfc(half16);
  6905. #endif //cl_khr_fp16
  6906.  
  6907. /**
  6908.  * Error function encountered in integrating the
  6909.  * normal distribution.
  6910.  */
  6911. float __ovld __cnfn erf(float);
  6912. float2 __ovld __cnfn erf(float2);
  6913. float3 __ovld __cnfn erf(float3);
  6914. float4 __ovld __cnfn erf(float4);
  6915. float8 __ovld __cnfn erf(float8);
  6916. float16 __ovld __cnfn erf(float16);
  6917. #ifdef cl_khr_fp64
  6918. double __ovld __cnfn erf(double);
  6919. double2 __ovld __cnfn erf(double2);
  6920. double3 __ovld __cnfn erf(double3);
  6921. double4 __ovld __cnfn erf(double4);
  6922. double8 __ovld __cnfn erf(double8);
  6923. double16 __ovld __cnfn erf(double16);
  6924. #endif //cl_khr_fp64
  6925. #ifdef cl_khr_fp16
  6926. half __ovld __cnfn erf(half);
  6927. half2 __ovld __cnfn erf(half2);
  6928. half3 __ovld __cnfn erf(half3);
  6929. half4 __ovld __cnfn erf(half4);
  6930. half8 __ovld __cnfn erf(half8);
  6931. half16 __ovld __cnfn erf(half16);
  6932. #endif //cl_khr_fp16
  6933.  
  6934. /**
  6935.  * Compute the base e exponential function of x.
  6936.  */
  6937. float __ovld __cnfn exp(float);
  6938. float2 __ovld __cnfn exp(float2);
  6939. float3 __ovld __cnfn exp(float3);
  6940. float4 __ovld __cnfn exp(float4);
  6941. float8 __ovld __cnfn exp(float8);
  6942. float16 __ovld __cnfn exp(float16);
  6943. #ifdef cl_khr_fp64
  6944. double __ovld __cnfn exp(double);
  6945. double2 __ovld __cnfn exp(double2);
  6946. double3 __ovld __cnfn exp(double3);
  6947. double4 __ovld __cnfn exp(double4);
  6948. double8 __ovld __cnfn exp(double8);
  6949. double16 __ovld __cnfn exp(double16);
  6950. #endif //cl_khr_fp64
  6951. #ifdef cl_khr_fp16
  6952. half __ovld __cnfn exp(half);
  6953. half2 __ovld __cnfn exp(half2);
  6954. half3 __ovld __cnfn exp(half3);
  6955. half4 __ovld __cnfn exp(half4);
  6956. half8 __ovld __cnfn exp(half8);
  6957. half16 __ovld __cnfn exp(half16);
  6958. #endif //cl_khr_fp16
  6959.  
  6960. /**
  6961.  * Exponential base 2 function.
  6962.  */
  6963. float __ovld __cnfn exp2(float);
  6964. float2 __ovld __cnfn exp2(float2);
  6965. float3 __ovld __cnfn exp2(float3);
  6966. float4 __ovld __cnfn exp2(float4);
  6967. float8 __ovld __cnfn exp2(float8);
  6968. float16 __ovld __cnfn exp2(float16);
  6969. #ifdef cl_khr_fp64
  6970. double __ovld __cnfn exp2(double);
  6971. double2 __ovld __cnfn exp2(double2);
  6972. double3 __ovld __cnfn exp2(double3);
  6973. double4 __ovld __cnfn exp2(double4);
  6974. double8 __ovld __cnfn exp2(double8);
  6975. double16 __ovld __cnfn exp2(double16);
  6976. #endif //cl_khr_fp64
  6977. #ifdef cl_khr_fp16
  6978. half __ovld __cnfn exp2(half);
  6979. half2 __ovld __cnfn exp2(half2);
  6980. half3 __ovld __cnfn exp2(half3);
  6981. half4 __ovld __cnfn exp2(half4);
  6982. half8 __ovld __cnfn exp2(half8);
  6983. half16 __ovld __cnfn exp2(half16);
  6984. #endif //cl_khr_fp16
  6985.  
  6986. /**
  6987.  * Exponential base 10 function.
  6988.  */
  6989. float __ovld __cnfn exp10(float);
  6990. float2 __ovld __cnfn exp10(float2);
  6991. float3 __ovld __cnfn exp10(float3);
  6992. float4 __ovld __cnfn exp10(float4);
  6993. float8 __ovld __cnfn exp10(float8);
  6994. float16 __ovld __cnfn exp10(float16);
  6995. #ifdef cl_khr_fp64
  6996. double __ovld __cnfn exp10(double);
  6997. double2 __ovld __cnfn exp10(double2);
  6998. double3 __ovld __cnfn exp10(double3);
  6999. double4 __ovld __cnfn exp10(double4);
  7000. double8 __ovld __cnfn exp10(double8);
  7001. double16 __ovld __cnfn exp10(double16);
  7002. #endif //cl_khr_fp64
  7003. #ifdef cl_khr_fp16
  7004. half __ovld __cnfn exp10(half);
  7005. half2 __ovld __cnfn exp10(half2);
  7006. half3 __ovld __cnfn exp10(half3);
  7007. half4 __ovld __cnfn exp10(half4);
  7008. half8 __ovld __cnfn exp10(half8);
  7009. half16 __ovld __cnfn exp10(half16);
  7010. #endif //cl_khr_fp16
  7011.  
  7012. /**
  7013.  * Compute e^x- 1.0.
  7014.  */
  7015. float __ovld __cnfn expm1(float);
  7016. float2 __ovld __cnfn expm1(float2);
  7017. float3 __ovld __cnfn expm1(float3);
  7018. float4 __ovld __cnfn expm1(float4);
  7019. float8 __ovld __cnfn expm1(float8);
  7020. float16 __ovld __cnfn expm1(float16);
  7021. #ifdef cl_khr_fp64
  7022. double __ovld __cnfn expm1(double);
  7023. double2 __ovld __cnfn expm1(double2);
  7024. double3 __ovld __cnfn expm1(double3);
  7025. double4 __ovld __cnfn expm1(double4);
  7026. double8 __ovld __cnfn expm1(double8);
  7027. double16 __ovld __cnfn expm1(double16);
  7028. #endif //cl_khr_fp64
  7029. #ifdef cl_khr_fp16
  7030. half __ovld __cnfn expm1(half);
  7031. half2 __ovld __cnfn expm1(half2);
  7032. half3 __ovld __cnfn expm1(half3);
  7033. half4 __ovld __cnfn expm1(half4);
  7034. half8 __ovld __cnfn expm1(half8);
  7035. half16 __ovld __cnfn expm1(half16);
  7036. #endif //cl_khr_fp16
  7037.  
  7038. /**
  7039.  * Compute absolute value of a floating-point number.
  7040.  */
  7041. float __ovld __cnfn fabs(float);
  7042. float2 __ovld __cnfn fabs(float2);
  7043. float3 __ovld __cnfn fabs(float3);
  7044. float4 __ovld __cnfn fabs(float4);
  7045. float8 __ovld __cnfn fabs(float8);
  7046. float16 __ovld __cnfn fabs(float16);
  7047. #ifdef cl_khr_fp64
  7048. double __ovld __cnfn fabs(double);
  7049. double2 __ovld __cnfn fabs(double2);
  7050. double3 __ovld __cnfn fabs(double3);
  7051. double4 __ovld __cnfn fabs(double4);
  7052. double8 __ovld __cnfn fabs(double8);
  7053. double16 __ovld __cnfn fabs(double16);
  7054. #endif //cl_khr_fp64
  7055. #ifdef cl_khr_fp16
  7056. half __ovld __cnfn fabs(half);
  7057. half2 __ovld __cnfn fabs(half2);
  7058. half3 __ovld __cnfn fabs(half3);
  7059. half4 __ovld __cnfn fabs(half4);
  7060. half8 __ovld __cnfn fabs(half8);
  7061. half16 __ovld __cnfn fabs(half16);
  7062. #endif //cl_khr_fp16
  7063.  
  7064. /**
  7065.  * x - y if x > y, +0 if x is less than or equal to y.
  7066.  */
  7067. float __ovld __cnfn fdim(float, float);
  7068. float2 __ovld __cnfn fdim(float2, float2);
  7069. float3 __ovld __cnfn fdim(float3, float3);
  7070. float4 __ovld __cnfn fdim(float4, float4);
  7071. float8 __ovld __cnfn fdim(float8, float8);
  7072. float16 __ovld __cnfn fdim(float16, float16);
  7073. #ifdef cl_khr_fp64
  7074. double __ovld __cnfn fdim(double, double);
  7075. double2 __ovld __cnfn fdim(double2, double2);
  7076. double3 __ovld __cnfn fdim(double3, double3);
  7077. double4 __ovld __cnfn fdim(double4, double4);
  7078. double8 __ovld __cnfn fdim(double8, double8);
  7079. double16 __ovld __cnfn fdim(double16, double16);
  7080. #endif //cl_khr_fp64
  7081. #ifdef cl_khr_fp16
  7082. half __ovld __cnfn fdim(half, half);
  7083. half2 __ovld __cnfn fdim(half2, half2);
  7084. half3 __ovld __cnfn fdim(half3, half3);
  7085. half4 __ovld __cnfn fdim(half4, half4);
  7086. half8 __ovld __cnfn fdim(half8, half8);
  7087. half16 __ovld __cnfn fdim(half16, half16);
  7088. #endif //cl_khr_fp16
  7089.  
  7090. /**
  7091.  * Round to integral value using the round to -ve
  7092.  * infinity rounding mode.
  7093.  */
  7094. float __ovld __cnfn floor(float);
  7095. float2 __ovld __cnfn floor(float2);
  7096. float3 __ovld __cnfn floor(float3);
  7097. float4 __ovld __cnfn floor(float4);
  7098. float8 __ovld __cnfn floor(float8);
  7099. float16 __ovld __cnfn floor(float16);
  7100. #ifdef cl_khr_fp64
  7101. double __ovld __cnfn floor(double);
  7102. double2 __ovld __cnfn floor(double2);
  7103. double3 __ovld __cnfn floor(double3);
  7104. double4 __ovld __cnfn floor(double4);
  7105. double8 __ovld __cnfn floor(double8);
  7106. double16 __ovld __cnfn floor(double16);
  7107. #endif //cl_khr_fp64
  7108. #ifdef cl_khr_fp16
  7109. half __ovld __cnfn floor(half);
  7110. half2 __ovld __cnfn floor(half2);
  7111. half3 __ovld __cnfn floor(half3);
  7112. half4 __ovld __cnfn floor(half4);
  7113. half8 __ovld __cnfn floor(half8);
  7114. half16 __ovld __cnfn floor(half16);
  7115. #endif //cl_khr_fp16
  7116.  
  7117. /**
  7118.  * Returns the correctly rounded floating-point
  7119.  * representation of the sum of c with the infinitely
  7120.  * precise product of a and b. Rounding of
  7121.  * intermediate products shall not occur. Edge case
  7122.  * behavior is per the IEEE 754-2008 standard.
  7123.  */
  7124. float __ovld __cnfn fma(float, float, float);
  7125. float2 __ovld __cnfn fma(float2, float2, float2);
  7126. float3 __ovld __cnfn fma(float3, float3, float3);
  7127. float4 __ovld __cnfn fma(float4, float4, float4);
  7128. float8 __ovld __cnfn fma(float8, float8, float8);
  7129. float16 __ovld __cnfn fma(float16, float16, float16);
  7130. #ifdef cl_khr_fp64
  7131. double __ovld __cnfn fma(double, double, double);
  7132. double2 __ovld __cnfn fma(double2, double2, double2);
  7133. double3 __ovld __cnfn fma(double3, double3, double3);
  7134. double4 __ovld __cnfn fma(double4, double4, double4);
  7135. double8 __ovld __cnfn fma(double8, double8, double8);
  7136. double16 __ovld __cnfn fma(double16, double16, double16);
  7137. #endif //cl_khr_fp64
  7138. #ifdef cl_khr_fp16
  7139. half __ovld __cnfn fma(half, half, half);
  7140. half2 __ovld __cnfn fma(half2, half2, half2);
  7141. half3 __ovld __cnfn fma(half3, half3, half3);
  7142. half4 __ovld __cnfn fma(half4, half4, half4);
  7143. half8 __ovld __cnfn fma(half8, half8, half8);
  7144. half16 __ovld __cnfn fma(half16, half16, half16);
  7145. #endif //cl_khr_fp16
  7146.  
  7147. /**
  7148.  * Returns y if x < y, otherwise it returns x. If one
  7149.  * argument is a NaN, fmax() returns the other
  7150.  * argument. If both arguments are NaNs, fmax()
  7151.  * returns a NaN.
  7152.  */
  7153. float __ovld __cnfn fmax(float, float);
  7154. float2 __ovld __cnfn fmax(float2, float2);
  7155. float3 __ovld __cnfn fmax(float3, float3);
  7156. float4 __ovld __cnfn fmax(float4, float4);
  7157. float8 __ovld __cnfn fmax(float8, float8);
  7158. float16 __ovld __cnfn fmax(float16, float16);
  7159. float2 __ovld __cnfn fmax(float2, float);
  7160. float3 __ovld __cnfn fmax(float3, float);
  7161. float4 __ovld __cnfn fmax(float4, float);
  7162. float8 __ovld __cnfn fmax(float8, float);
  7163. float16 __ovld __cnfn fmax(float16, float);
  7164. #ifdef cl_khr_fp64
  7165. double __ovld __cnfn fmax(double, double);
  7166. double2 __ovld __cnfn fmax(double2, double2);
  7167. double3 __ovld __cnfn fmax(double3, double3);
  7168. double4 __ovld __cnfn fmax(double4, double4);
  7169. double8 __ovld __cnfn fmax(double8, double8);
  7170. double16 __ovld __cnfn fmax(double16, double16);
  7171. double2 __ovld __cnfn fmax(double2, double);
  7172. double3 __ovld __cnfn fmax(double3, double);
  7173. double4 __ovld __cnfn fmax(double4, double);
  7174. double8 __ovld __cnfn fmax(double8, double);
  7175. double16 __ovld __cnfn fmax(double16, double);
  7176. #endif //cl_khr_fp64
  7177. #ifdef cl_khr_fp16
  7178. half __ovld __cnfn fmax(half, half);
  7179. half2 __ovld __cnfn fmax(half2, half2);
  7180. half3 __ovld __cnfn fmax(half3, half3);
  7181. half4 __ovld __cnfn fmax(half4, half4);
  7182. half8 __ovld __cnfn fmax(half8, half8);
  7183. half16 __ovld __cnfn fmax(half16, half16);
  7184. half2 __ovld __cnfn fmax(half2, half);
  7185. half3 __ovld __cnfn fmax(half3, half);
  7186. half4 __ovld __cnfn fmax(half4, half);
  7187. half8 __ovld __cnfn fmax(half8, half);
  7188. half16 __ovld __cnfn fmax(half16, half);
  7189. #endif //cl_khr_fp16
  7190.  
  7191. /**
  7192.  * Returns y if y < x, otherwise it returns x. If one
  7193.  * argument is a NaN, fmin() returns the other
  7194.  * argument. If both arguments are NaNs, fmin()
  7195.  * returns a NaN.
  7196.  */
  7197. float __ovld __cnfn fmin(float, float);
  7198. float2 __ovld __cnfn fmin(float2, float2);
  7199. float3 __ovld __cnfn fmin(float3, float3);
  7200. float4 __ovld __cnfn fmin(float4, float4);
  7201. float8 __ovld __cnfn fmin(float8, float8);
  7202. float16 __ovld __cnfn fmin(float16, float16);
  7203. float2 __ovld __cnfn fmin(float2, float);
  7204. float3 __ovld __cnfn fmin(float3, float);
  7205. float4 __ovld __cnfn fmin(float4, float);
  7206. float8 __ovld __cnfn fmin(float8, float);
  7207. float16 __ovld __cnfn fmin(float16, float);
  7208. #ifdef cl_khr_fp64
  7209. double __ovld __cnfn fmin(double, double);
  7210. double2 __ovld __cnfn fmin(double2, double2);
  7211. double3 __ovld __cnfn fmin(double3, double3);
  7212. double4 __ovld __cnfn fmin(double4, double4);
  7213. double8 __ovld __cnfn fmin(double8, double8);
  7214. double16 __ovld __cnfn fmin(double16, double16);
  7215. double2 __ovld __cnfn fmin(double2, double);
  7216. double3 __ovld __cnfn fmin(double3, double);
  7217. double4 __ovld __cnfn fmin(double4, double);
  7218. double8 __ovld __cnfn fmin(double8, double);
  7219. double16 __ovld __cnfn fmin(double16, double);
  7220. #endif //cl_khr_fp64
  7221. #ifdef cl_khr_fp16
  7222. half __ovld __cnfn fmin(half, half);
  7223. half2 __ovld __cnfn fmin(half2, half2);
  7224. half3 __ovld __cnfn fmin(half3, half3);
  7225. half4 __ovld __cnfn fmin(half4, half4);
  7226. half8 __ovld __cnfn fmin(half8, half8);
  7227. half16 __ovld __cnfn fmin(half16, half16);
  7228. half2 __ovld __cnfn fmin(half2, half);
  7229. half3 __ovld __cnfn fmin(half3, half);
  7230. half4 __ovld __cnfn fmin(half4, half);
  7231. half8 __ovld __cnfn fmin(half8, half);
  7232. half16 __ovld __cnfn fmin(half16, half);
  7233. #endif //cl_khr_fp16
  7234.  
  7235. /**
  7236.  * Modulus. Returns x - y * trunc (x/y).
  7237.  */
  7238. float __ovld __cnfn fmod(float, float);
  7239. float2 __ovld __cnfn fmod(float2, float2);
  7240. float3 __ovld __cnfn fmod(float3, float3);
  7241. float4 __ovld __cnfn fmod(float4, float4);
  7242. float8 __ovld __cnfn fmod(float8, float8);
  7243. float16 __ovld __cnfn fmod(float16, float16);
  7244. #ifdef cl_khr_fp64
  7245. double __ovld __cnfn fmod(double, double);
  7246. double2 __ovld __cnfn fmod(double2, double2);
  7247. double3 __ovld __cnfn fmod(double3, double3);
  7248. double4 __ovld __cnfn fmod(double4, double4);
  7249. double8 __ovld __cnfn fmod(double8, double8);
  7250. double16 __ovld __cnfn fmod(double16, double16);
  7251. #endif //cl_khr_fp64
  7252. #ifdef cl_khr_fp16
  7253. half __ovld __cnfn fmod(half, half);
  7254. half2 __ovld __cnfn fmod(half2, half2);
  7255. half3 __ovld __cnfn fmod(half3, half3);
  7256. half4 __ovld __cnfn fmod(half4, half4);
  7257. half8 __ovld __cnfn fmod(half8, half8);
  7258. half16 __ovld __cnfn fmod(half16, half16);
  7259. #endif //cl_khr_fp16
  7260.  
  7261. /**
  7262.  * Returns fmin(x - floor (x), 0x1.fffffep-1f ).
  7263.  * floor(x) is returned in iptr.
  7264.  */
  7265. #if defined(__opencl_c_generic_address_space)
  7266. float __ovld fract(float, float *);
  7267. float2 __ovld fract(float2, float2 *);
  7268. float3 __ovld fract(float3, float3 *);
  7269. float4 __ovld fract(float4, float4 *);
  7270. float8 __ovld fract(float8, float8 *);
  7271. float16 __ovld fract(float16, float16 *);
  7272. #ifdef cl_khr_fp64
  7273. double __ovld fract(double, double *);
  7274. double2 __ovld fract(double2, double2 *);
  7275. double3 __ovld fract(double3, double3 *);
  7276. double4 __ovld fract(double4, double4 *);
  7277. double8 __ovld fract(double8, double8 *);
  7278. double16 __ovld fract(double16, double16 *);
  7279. #endif //cl_khr_fp64
  7280. #ifdef cl_khr_fp16
  7281. half __ovld fract(half, half *);
  7282. half2 __ovld fract(half2, half2 *);
  7283. half3 __ovld fract(half3, half3 *);
  7284. half4 __ovld fract(half4, half4 *);
  7285. half8 __ovld fract(half8, half8 *);
  7286. half16 __ovld fract(half16, half16 *);
  7287. #endif //cl_khr_fp16
  7288. #endif //defined(__opencl_c_generic_address_space)
  7289.  
  7290. #if defined(__opencl_c_named_address_space_builtins)
  7291. float __ovld fract(float, __global float *);
  7292. float2 __ovld fract(float2, __global float2 *);
  7293. float3 __ovld fract(float3, __global float3 *);
  7294. float4 __ovld fract(float4, __global float4 *);
  7295. float8 __ovld fract(float8, __global float8 *);
  7296. float16 __ovld fract(float16, __global float16 *);
  7297. float __ovld fract(float, __local float *);
  7298. float2 __ovld fract(float2, __local float2 *);
  7299. float3 __ovld fract(float3, __local float3 *);
  7300. float4 __ovld fract(float4, __local float4 *);
  7301. float8 __ovld fract(float8, __local float8 *);
  7302. float16 __ovld fract(float16, __local float16 *);
  7303. float __ovld fract(float, __private float *);
  7304. float2 __ovld fract(float2, __private float2 *);
  7305. float3 __ovld fract(float3, __private float3 *);
  7306. float4 __ovld fract(float4, __private float4 *);
  7307. float8 __ovld fract(float8, __private float8 *);
  7308. float16 __ovld fract(float16, __private float16 *);
  7309. #ifdef cl_khr_fp64
  7310. double __ovld fract(double, __global double *);
  7311. double2 __ovld fract(double2, __global double2 *);
  7312. double3 __ovld fract(double3, __global double3 *);
  7313. double4 __ovld fract(double4, __global double4 *);
  7314. double8 __ovld fract(double8, __global double8 *);
  7315. double16 __ovld fract(double16, __global double16 *);
  7316. double __ovld fract(double, __local double *);
  7317. double2 __ovld fract(double2, __local double2 *);
  7318. double3 __ovld fract(double3, __local double3 *);
  7319. double4 __ovld fract(double4, __local double4 *);
  7320. double8 __ovld fract(double8, __local double8 *);
  7321. double16 __ovld fract(double16, __local double16 *);
  7322. double __ovld fract(double, __private double *);
  7323. double2 __ovld fract(double2, __private double2 *);
  7324. double3 __ovld fract(double3, __private double3 *);
  7325. double4 __ovld fract(double4, __private double4 *);
  7326. double8 __ovld fract(double8, __private double8 *);
  7327. double16 __ovld fract(double16, __private double16 *);
  7328. #endif //cl_khr_fp64
  7329. #ifdef cl_khr_fp16
  7330. half __ovld fract(half, __global half *);
  7331. half2 __ovld fract(half2, __global half2 *);
  7332. half3 __ovld fract(half3, __global half3 *);
  7333. half4 __ovld fract(half4, __global half4 *);
  7334. half8 __ovld fract(half8, __global half8 *);
  7335. half16 __ovld fract(half16, __global half16 *);
  7336. half __ovld fract(half, __local half *);
  7337. half2 __ovld fract(half2, __local half2 *);
  7338. half3 __ovld fract(half3, __local half3 *);
  7339. half4 __ovld fract(half4, __local half4 *);
  7340. half8 __ovld fract(half8, __local half8 *);
  7341. half16 __ovld fract(half16, __local half16 *);
  7342. half __ovld fract(half, __private half *);
  7343. half2 __ovld fract(half2, __private half2 *);
  7344. half3 __ovld fract(half3, __private half3 *);
  7345. half4 __ovld fract(half4, __private half4 *);
  7346. half8 __ovld fract(half8, __private half8 *);
  7347. half16 __ovld fract(half16, __private half16 *);
  7348. #endif //cl_khr_fp16
  7349. #endif //defined(__opencl_c_named_address_space_builtins)
  7350.  
  7351. /**
  7352.  * Extract mantissa and exponent from x. For each
  7353.  * component the mantissa returned is a float with
  7354.  * magnitude in the interval [1/2, 1) or 0. Each
  7355.  * component of x equals mantissa returned * 2^exp.
  7356.  */
  7357. #if defined(__opencl_c_generic_address_space)
  7358. float __ovld frexp(float, int *);
  7359. float2 __ovld frexp(float2, int2 *);
  7360. float3 __ovld frexp(float3, int3 *);
  7361. float4 __ovld frexp(float4, int4 *);
  7362. float8 __ovld frexp(float8, int8 *);
  7363. float16 __ovld frexp(float16, int16 *);
  7364. #ifdef cl_khr_fp64
  7365. double __ovld frexp(double, int *);
  7366. double2 __ovld frexp(double2, int2 *);
  7367. double3 __ovld frexp(double3, int3 *);
  7368. double4 __ovld frexp(double4, int4 *);
  7369. double8 __ovld frexp(double8, int8 *);
  7370. double16 __ovld frexp(double16, int16 *);
  7371. #endif //cl_khr_fp64
  7372. #ifdef cl_khr_fp16
  7373. half __ovld frexp(half, int *);
  7374. half2 __ovld frexp(half2, int2 *);
  7375. half3 __ovld frexp(half3, int3 *);
  7376. half4 __ovld frexp(half4, int4 *);
  7377. half8 __ovld frexp(half8, int8 *);
  7378. half16 __ovld frexp(half16, int16 *);
  7379. #endif //cl_khr_fp16
  7380. #endif //defined(__opencl_c_generic_address_space)
  7381.  
  7382. #if defined(__opencl_c_named_address_space_builtins)
  7383. float __ovld frexp(float, __global int *);
  7384. float2 __ovld frexp(float2, __global int2 *);
  7385. float3 __ovld frexp(float3, __global int3 *);
  7386. float4 __ovld frexp(float4, __global int4 *);
  7387. float8 __ovld frexp(float8, __global int8 *);
  7388. float16 __ovld frexp(float16, __global int16 *);
  7389. float __ovld frexp(float, __local int *);
  7390. float2 __ovld frexp(float2, __local int2 *);
  7391. float3 __ovld frexp(float3, __local int3 *);
  7392. float4 __ovld frexp(float4, __local int4 *);
  7393. float8 __ovld frexp(float8, __local int8 *);
  7394. float16 __ovld frexp(float16, __local int16 *);
  7395. float __ovld frexp(float, __private int *);
  7396. float2 __ovld frexp(float2, __private int2 *);
  7397. float3 __ovld frexp(float3, __private int3 *);
  7398. float4 __ovld frexp(float4, __private int4 *);
  7399. float8 __ovld frexp(float8, __private int8 *);
  7400. float16 __ovld frexp(float16, __private int16 *);
  7401. #ifdef cl_khr_fp64
  7402. double __ovld frexp(double, __global int *);
  7403. double2 __ovld frexp(double2, __global int2 *);
  7404. double3 __ovld frexp(double3, __global int3 *);
  7405. double4 __ovld frexp(double4, __global int4 *);
  7406. double8 __ovld frexp(double8, __global int8 *);
  7407. double16 __ovld frexp(double16, __global int16 *);
  7408. double __ovld frexp(double, __local int *);
  7409. double2 __ovld frexp(double2, __local int2 *);
  7410. double3 __ovld frexp(double3, __local int3 *);
  7411. double4 __ovld frexp(double4, __local int4 *);
  7412. double8 __ovld frexp(double8, __local int8 *);
  7413. double16 __ovld frexp(double16, __local int16 *);
  7414. double __ovld frexp(double, __private int *);
  7415. double2 __ovld frexp(double2, __private int2 *);
  7416. double3 __ovld frexp(double3, __private int3 *);
  7417. double4 __ovld frexp(double4, __private int4 *);
  7418. double8 __ovld frexp(double8, __private int8 *);
  7419. double16 __ovld frexp(double16, __private int16 *);
  7420. #endif //cl_khr_fp64
  7421. #ifdef cl_khr_fp16
  7422. half __ovld frexp(half, __global int *);
  7423. half2 __ovld frexp(half2, __global int2 *);
  7424. half3 __ovld frexp(half3, __global int3 *);
  7425. half4 __ovld frexp(half4, __global int4 *);
  7426. half8 __ovld frexp(half8, __global int8 *);
  7427. half16 __ovld frexp(half16, __global int16 *);
  7428. half __ovld frexp(half, __local int *);
  7429. half2 __ovld frexp(half2, __local int2 *);
  7430. half3 __ovld frexp(half3, __local int3 *);
  7431. half4 __ovld frexp(half4, __local int4 *);
  7432. half8 __ovld frexp(half8, __local int8 *);
  7433. half16 __ovld frexp(half16, __local int16 *);
  7434. half __ovld frexp(half, __private int *);
  7435. half2 __ovld frexp(half2, __private int2 *);
  7436. half3 __ovld frexp(half3, __private int3 *);
  7437. half4 __ovld frexp(half4, __private int4 *);
  7438. half8 __ovld frexp(half8, __private int8 *);
  7439. half16 __ovld frexp(half16, __private int16 *);
  7440. #endif //cl_khr_fp16
  7441. #endif //defined(__opencl_c_named_address_space_builtins)
  7442.  
  7443. /**
  7444.  * Compute the value of the square root of x^2 + y^2
  7445.  * without undue overflow or underflow.
  7446.  */
  7447. float __ovld __cnfn hypot(float, float);
  7448. float2 __ovld __cnfn hypot(float2, float2);
  7449. float3 __ovld __cnfn hypot(float3, float3);
  7450. float4 __ovld __cnfn hypot(float4, float4);
  7451. float8 __ovld __cnfn hypot(float8, float8);
  7452. float16 __ovld __cnfn hypot(float16, float16);
  7453. #ifdef cl_khr_fp64
  7454. double __ovld __cnfn hypot(double, double);
  7455. double2 __ovld __cnfn hypot(double2, double2);
  7456. double3 __ovld __cnfn hypot(double3, double3);
  7457. double4 __ovld __cnfn hypot(double4, double4);
  7458. double8 __ovld __cnfn hypot(double8, double8);
  7459. double16 __ovld __cnfn hypot(double16, double16);
  7460. #endif //cl_khr_fp64
  7461. #ifdef cl_khr_fp16
  7462. half __ovld __cnfn hypot(half, half);
  7463. half2 __ovld __cnfn hypot(half2, half2);
  7464. half3 __ovld __cnfn hypot(half3, half3);
  7465. half4 __ovld __cnfn hypot(half4, half4);
  7466. half8 __ovld __cnfn hypot(half8, half8);
  7467. half16 __ovld __cnfn hypot(half16, half16);
  7468. #endif //cl_khr_fp16
  7469.  
  7470. /**
  7471.  * Return the exponent as an integer value.
  7472.  */
  7473. int __ovld __cnfn ilogb(float);
  7474. int2 __ovld __cnfn ilogb(float2);
  7475. int3 __ovld __cnfn ilogb(float3);
  7476. int4 __ovld __cnfn ilogb(float4);
  7477. int8 __ovld __cnfn ilogb(float8);
  7478. int16 __ovld __cnfn ilogb(float16);
  7479. #ifdef cl_khr_fp64
  7480. int __ovld __cnfn ilogb(double);
  7481. int2 __ovld __cnfn ilogb(double2);
  7482. int3 __ovld __cnfn ilogb(double3);
  7483. int4 __ovld __cnfn ilogb(double4);
  7484. int8 __ovld __cnfn ilogb(double8);
  7485. int16 __ovld __cnfn ilogb(double16);
  7486. #endif //cl_khr_fp64
  7487. #ifdef cl_khr_fp16
  7488. int __ovld __cnfn ilogb(half);
  7489. int2 __ovld __cnfn ilogb(half2);
  7490. int3 __ovld __cnfn ilogb(half3);
  7491. int4 __ovld __cnfn ilogb(half4);
  7492. int8 __ovld __cnfn ilogb(half8);
  7493. int16 __ovld __cnfn ilogb(half16);
  7494. #endif //cl_khr_fp16
  7495.  
  7496. /**
  7497.  * Multiply x by 2 to the power n.
  7498.  */
  7499. float __ovld __cnfn ldexp(float, int);
  7500. float2 __ovld __cnfn ldexp(float2, int2);
  7501. float3 __ovld __cnfn ldexp(float3, int3);
  7502. float4 __ovld __cnfn ldexp(float4, int4);
  7503. float8 __ovld __cnfn ldexp(float8, int8);
  7504. float16 __ovld __cnfn ldexp(float16, int16);
  7505. float2 __ovld __cnfn ldexp(float2, int);
  7506. float3 __ovld __cnfn ldexp(float3, int);
  7507. float4 __ovld __cnfn ldexp(float4, int);
  7508. float8 __ovld __cnfn ldexp(float8, int);
  7509. float16 __ovld __cnfn ldexp(float16, int);
  7510. #ifdef cl_khr_fp64
  7511. double __ovld __cnfn ldexp(double, int);
  7512. double2 __ovld __cnfn ldexp(double2, int2);
  7513. double3 __ovld __cnfn ldexp(double3, int3);
  7514. double4 __ovld __cnfn ldexp(double4, int4);
  7515. double8 __ovld __cnfn ldexp(double8, int8);
  7516. double16 __ovld __cnfn ldexp(double16, int16);
  7517. double2 __ovld __cnfn ldexp(double2, int);
  7518. double3 __ovld __cnfn ldexp(double3, int);
  7519. double4 __ovld __cnfn ldexp(double4, int);
  7520. double8 __ovld __cnfn ldexp(double8, int);
  7521. double16 __ovld __cnfn ldexp(double16, int);
  7522. #endif //cl_khr_fp64
  7523. #ifdef cl_khr_fp16
  7524. half __ovld __cnfn ldexp(half, int);
  7525. half2 __ovld __cnfn ldexp(half2, int2);
  7526. half3 __ovld __cnfn ldexp(half3, int3);
  7527. half4 __ovld __cnfn ldexp(half4, int4);
  7528. half8 __ovld __cnfn ldexp(half8, int8);
  7529. half16 __ovld __cnfn ldexp(half16, int16);
  7530. half2 __ovld __cnfn ldexp(half2, int);
  7531. half3 __ovld __cnfn ldexp(half3, int);
  7532. half4 __ovld __cnfn ldexp(half4, int);
  7533. half8 __ovld __cnfn ldexp(half8, int);
  7534. half16 __ovld __cnfn ldexp(half16, int);
  7535. #endif //cl_khr_fp16
  7536.  
  7537. /**
  7538.  * Log gamma function. Returns the natural
  7539.  * logarithm of the absolute value of the gamma
  7540.  * function. The sign of the gamma function is
  7541.  * returned in the signp argument of lgamma_r.
  7542.  */
  7543. float __ovld __cnfn lgamma(float);
  7544. float2 __ovld __cnfn lgamma(float2);
  7545. float3 __ovld __cnfn lgamma(float3);
  7546. float4 __ovld __cnfn lgamma(float4);
  7547. float8 __ovld __cnfn lgamma(float8);
  7548. float16 __ovld __cnfn lgamma(float16);
  7549. #ifdef cl_khr_fp64
  7550. double __ovld __cnfn lgamma(double);
  7551. double2 __ovld __cnfn lgamma(double2);
  7552. double3 __ovld __cnfn lgamma(double3);
  7553. double4 __ovld __cnfn lgamma(double4);
  7554. double8 __ovld __cnfn lgamma(double8);
  7555. double16 __ovld __cnfn lgamma(double16);
  7556. #endif //cl_khr_fp64
  7557. #ifdef cl_khr_fp16
  7558. half __ovld __cnfn lgamma(half);
  7559. half2 __ovld __cnfn lgamma(half2);
  7560. half3 __ovld __cnfn lgamma(half3);
  7561. half4 __ovld __cnfn lgamma(half4);
  7562. half8 __ovld __cnfn lgamma(half8);
  7563. half16 __ovld __cnfn lgamma(half16);
  7564. #endif //cl_khr_fp16
  7565.  
  7566. #if defined(__opencl_c_generic_address_space)
  7567. float __ovld lgamma_r(float, int *);
  7568. float2 __ovld lgamma_r(float2, int2 *);
  7569. float3 __ovld lgamma_r(float3, int3 *);
  7570. float4 __ovld lgamma_r(float4, int4 *);
  7571. float8 __ovld lgamma_r(float8, int8 *);
  7572. float16 __ovld lgamma_r(float16, int16 *);
  7573. #ifdef cl_khr_fp64
  7574. double __ovld lgamma_r(double, int *);
  7575. double2 __ovld lgamma_r(double2, int2 *);
  7576. double3 __ovld lgamma_r(double3, int3 *);
  7577. double4 __ovld lgamma_r(double4, int4 *);
  7578. double8 __ovld lgamma_r(double8, int8 *);
  7579. double16 __ovld lgamma_r(double16, int16 *);
  7580. #endif //cl_khr_fp64
  7581. #ifdef cl_khr_fp16
  7582. half __ovld lgamma_r(half, int *);
  7583. half2 __ovld lgamma_r(half2, int2 *);
  7584. half3 __ovld lgamma_r(half3, int3 *);
  7585. half4 __ovld lgamma_r(half4, int4 *);
  7586. half8 __ovld lgamma_r(half8, int8 *);
  7587. half16 __ovld lgamma_r(half16, int16 *);
  7588. #endif //cl_khr_fp16
  7589. #endif //defined(__opencl_c_generic_address_space)
  7590.  
  7591. #if defined(__opencl_c_named_address_space_builtins)
  7592. float __ovld lgamma_r(float, __global int *);
  7593. float2 __ovld lgamma_r(float2, __global int2 *);
  7594. float3 __ovld lgamma_r(float3, __global int3 *);
  7595. float4 __ovld lgamma_r(float4, __global int4 *);
  7596. float8 __ovld lgamma_r(float8, __global int8 *);
  7597. float16 __ovld lgamma_r(float16, __global int16 *);
  7598. float __ovld lgamma_r(float, __local int *);
  7599. float2 __ovld lgamma_r(float2, __local int2 *);
  7600. float3 __ovld lgamma_r(float3, __local int3 *);
  7601. float4 __ovld lgamma_r(float4, __local int4 *);
  7602. float8 __ovld lgamma_r(float8, __local int8 *);
  7603. float16 __ovld lgamma_r(float16, __local int16 *);
  7604. float __ovld lgamma_r(float, __private int *);
  7605. float2 __ovld lgamma_r(float2, __private int2 *);
  7606. float3 __ovld lgamma_r(float3, __private int3 *);
  7607. float4 __ovld lgamma_r(float4, __private int4 *);
  7608. float8 __ovld lgamma_r(float8, __private int8 *);
  7609. float16 __ovld lgamma_r(float16, __private int16 *);
  7610. #ifdef cl_khr_fp64
  7611. double __ovld lgamma_r(double, __global int *);
  7612. double2 __ovld lgamma_r(double2, __global int2 *);
  7613. double3 __ovld lgamma_r(double3, __global int3 *);
  7614. double4 __ovld lgamma_r(double4, __global int4 *);
  7615. double8 __ovld lgamma_r(double8, __global int8 *);
  7616. double16 __ovld lgamma_r(double16, __global int16 *);
  7617. double __ovld lgamma_r(double, __local int *);
  7618. double2 __ovld lgamma_r(double2, __local int2 *);
  7619. double3 __ovld lgamma_r(double3, __local int3 *);
  7620. double4 __ovld lgamma_r(double4, __local int4 *);
  7621. double8 __ovld lgamma_r(double8, __local int8 *);
  7622. double16 __ovld lgamma_r(double16, __local int16 *);
  7623. double __ovld lgamma_r(double, __private int *);
  7624. double2 __ovld lgamma_r(double2, __private int2 *);
  7625. double3 __ovld lgamma_r(double3, __private int3 *);
  7626. double4 __ovld lgamma_r(double4, __private int4 *);
  7627. double8 __ovld lgamma_r(double8, __private int8 *);
  7628. double16 __ovld lgamma_r(double16, __private int16 *);
  7629. #endif //cl_khr_fp64
  7630. #ifdef cl_khr_fp16
  7631. half __ovld lgamma_r(half, __global int *);
  7632. half2 __ovld lgamma_r(half2, __global int2 *);
  7633. half3 __ovld lgamma_r(half3, __global int3 *);
  7634. half4 __ovld lgamma_r(half4, __global int4 *);
  7635. half8 __ovld lgamma_r(half8, __global int8 *);
  7636. half16 __ovld lgamma_r(half16, __global int16 *);
  7637. half __ovld lgamma_r(half, __local int *);
  7638. half2 __ovld lgamma_r(half2, __local int2 *);
  7639. half3 __ovld lgamma_r(half3, __local int3 *);
  7640. half4 __ovld lgamma_r(half4, __local int4 *);
  7641. half8 __ovld lgamma_r(half8, __local int8 *);
  7642. half16 __ovld lgamma_r(half16, __local int16 *);
  7643. half __ovld lgamma_r(half, __private int *);
  7644. half2 __ovld lgamma_r(half2, __private int2 *);
  7645. half3 __ovld lgamma_r(half3, __private int3 *);
  7646. half4 __ovld lgamma_r(half4, __private int4 *);
  7647. half8 __ovld lgamma_r(half8, __private int8 *);
  7648. half16 __ovld lgamma_r(half16, __private int16 *);
  7649. #endif //cl_khr_fp16
  7650. #endif //defined(__opencl_c_named_address_space_builtins)
  7651.  
  7652. /**
  7653.  * Compute natural logarithm.
  7654.  */
  7655. float __ovld __cnfn log(float);
  7656. float2 __ovld __cnfn log(float2);
  7657. float3 __ovld __cnfn log(float3);
  7658. float4 __ovld __cnfn log(float4);
  7659. float8 __ovld __cnfn log(float8);
  7660. float16 __ovld __cnfn log(float16);
  7661. #ifdef cl_khr_fp64
  7662. double __ovld __cnfn log(double);
  7663. double2 __ovld __cnfn log(double2);
  7664. double3 __ovld __cnfn log(double3);
  7665. double4 __ovld __cnfn log(double4);
  7666. double8 __ovld __cnfn log(double8);
  7667. double16 __ovld __cnfn log(double16);
  7668. #endif //cl_khr_fp64
  7669. #ifdef cl_khr_fp16
  7670. half __ovld __cnfn log(half);
  7671. half2 __ovld __cnfn log(half2);
  7672. half3 __ovld __cnfn log(half3);
  7673. half4 __ovld __cnfn log(half4);
  7674. half8 __ovld __cnfn log(half8);
  7675. half16 __ovld __cnfn log(half16);
  7676. #endif //cl_khr_fp16
  7677.  
  7678. /**
  7679.  * Compute a base 2 logarithm.
  7680.  */
  7681. float __ovld __cnfn log2(float);
  7682. float2 __ovld __cnfn log2(float2);
  7683. float3 __ovld __cnfn log2(float3);
  7684. float4 __ovld __cnfn log2(float4);
  7685. float8 __ovld __cnfn log2(float8);
  7686. float16 __ovld __cnfn log2(float16);
  7687. #ifdef cl_khr_fp64
  7688. double __ovld __cnfn log2(double);
  7689. double2 __ovld __cnfn log2(double2);
  7690. double3 __ovld __cnfn log2(double3);
  7691. double4 __ovld __cnfn log2(double4);
  7692. double8 __ovld __cnfn log2(double8);
  7693. double16 __ovld __cnfn log2(double16);
  7694. #endif //cl_khr_fp64
  7695. #ifdef cl_khr_fp16
  7696. half __ovld __cnfn log2(half);
  7697. half2 __ovld __cnfn log2(half2);
  7698. half3 __ovld __cnfn log2(half3);
  7699. half4 __ovld __cnfn log2(half4);
  7700. half8 __ovld __cnfn log2(half8);
  7701. half16 __ovld __cnfn log2(half16);
  7702. #endif //cl_khr_fp16
  7703.  
  7704. /**
  7705.  * Compute a base 10 logarithm.
  7706.  */
  7707. float __ovld __cnfn log10(float);
  7708. float2 __ovld __cnfn log10(float2);
  7709. float3 __ovld __cnfn log10(float3);
  7710. float4 __ovld __cnfn log10(float4);
  7711. float8 __ovld __cnfn log10(float8);
  7712. float16 __ovld __cnfn log10(float16);
  7713. #ifdef cl_khr_fp64
  7714. double __ovld __cnfn log10(double);
  7715. double2 __ovld __cnfn log10(double2);
  7716. double3 __ovld __cnfn log10(double3);
  7717. double4 __ovld __cnfn log10(double4);
  7718. double8 __ovld __cnfn log10(double8);
  7719. double16 __ovld __cnfn log10(double16);
  7720. #endif //cl_khr_fp64
  7721. #ifdef cl_khr_fp16
  7722. half __ovld __cnfn log10(half);
  7723. half2 __ovld __cnfn log10(half2);
  7724. half3 __ovld __cnfn log10(half3);
  7725. half4 __ovld __cnfn log10(half4);
  7726. half8 __ovld __cnfn log10(half8);
  7727. half16 __ovld __cnfn log10(half16);
  7728. #endif //cl_khr_fp16
  7729.  
  7730. /**
  7731.  * Compute a base e logarithm of (1.0 + x).
  7732.  */
  7733. float __ovld __cnfn log1p(float);
  7734. float2 __ovld __cnfn log1p(float2);
  7735. float3 __ovld __cnfn log1p(float3);
  7736. float4 __ovld __cnfn log1p(float4);
  7737. float8 __ovld __cnfn log1p(float8);
  7738. float16 __ovld __cnfn log1p(float16);
  7739. #ifdef cl_khr_fp64
  7740. double __ovld __cnfn log1p(double);
  7741. double2 __ovld __cnfn log1p(double2);
  7742. double3 __ovld __cnfn log1p(double3);
  7743. double4 __ovld __cnfn log1p(double4);
  7744. double8 __ovld __cnfn log1p(double8);
  7745. double16 __ovld __cnfn log1p(double16);
  7746. #endif //cl_khr_fp64
  7747. #ifdef cl_khr_fp16
  7748. half __ovld __cnfn log1p(half);
  7749. half2 __ovld __cnfn log1p(half2);
  7750. half3 __ovld __cnfn log1p(half3);
  7751. half4 __ovld __cnfn log1p(half4);
  7752. half8 __ovld __cnfn log1p(half8);
  7753. half16 __ovld __cnfn log1p(half16);
  7754. #endif //cl_khr_fp16
  7755.  
  7756. /**
  7757.  * Compute the exponent of x, which is the integral
  7758.  * part of logr | x |.
  7759.  */
  7760. float __ovld __cnfn logb(float);
  7761. float2 __ovld __cnfn logb(float2);
  7762. float3 __ovld __cnfn logb(float3);
  7763. float4 __ovld __cnfn logb(float4);
  7764. float8 __ovld __cnfn logb(float8);
  7765. float16 __ovld __cnfn logb(float16);
  7766. #ifdef cl_khr_fp64
  7767. double __ovld __cnfn logb(double);
  7768. double2 __ovld __cnfn logb(double2);
  7769. double3 __ovld __cnfn logb(double3);
  7770. double4 __ovld __cnfn logb(double4);
  7771. double8 __ovld __cnfn logb(double8);
  7772. double16 __ovld __cnfn logb(double16);
  7773. #endif //cl_khr_fp64
  7774. #ifdef cl_khr_fp16
  7775. half __ovld __cnfn logb(half);
  7776. half2 __ovld __cnfn logb(half2);
  7777. half3 __ovld __cnfn logb(half3);
  7778. half4 __ovld __cnfn logb(half4);
  7779. half8 __ovld __cnfn logb(half8);
  7780. half16 __ovld __cnfn logb(half16);
  7781. #endif //cl_khr_fp16
  7782.  
  7783. /**
  7784.  * mad approximates a * b + c. Whether or how the
  7785.  * product of a * b is rounded and how supernormal or
  7786.  * subnormal intermediate products are handled is not
  7787.  * defined. mad is intended to be used where speed is
  7788.  * preferred over accuracy.
  7789.  */
  7790. float __ovld __cnfn mad(float, float, float);
  7791. float2 __ovld __cnfn mad(float2, float2, float2);
  7792. float3 __ovld __cnfn mad(float3, float3, float3);
  7793. float4 __ovld __cnfn mad(float4, float4, float4);
  7794. float8 __ovld __cnfn mad(float8, float8, float8);
  7795. float16 __ovld __cnfn mad(float16, float16, float16);
  7796. #ifdef cl_khr_fp64
  7797. double __ovld __cnfn mad(double, double, double);
  7798. double2 __ovld __cnfn mad(double2, double2, double2);
  7799. double3 __ovld __cnfn mad(double3, double3, double3);
  7800. double4 __ovld __cnfn mad(double4, double4, double4);
  7801. double8 __ovld __cnfn mad(double8, double8, double8);
  7802. double16 __ovld __cnfn mad(double16, double16, double16);
  7803. #endif //cl_khr_fp64
  7804. #ifdef cl_khr_fp16
  7805. half __ovld __cnfn mad(half, half, half);
  7806. half2 __ovld __cnfn mad(half2, half2, half2);
  7807. half3 __ovld __cnfn mad(half3, half3, half3);
  7808. half4 __ovld __cnfn mad(half4, half4, half4);
  7809. half8 __ovld __cnfn mad(half8, half8, half8);
  7810. half16 __ovld __cnfn mad(half16, half16, half16);
  7811. #endif //cl_khr_fp16
  7812.  
  7813. /**
  7814.  * Returns x if | x | > | y |, y if | y | > | x |, otherwise
  7815.  * fmax(x, y).
  7816.  */
  7817. float __ovld __cnfn maxmag(float, float);
  7818. float2 __ovld __cnfn maxmag(float2, float2);
  7819. float3 __ovld __cnfn maxmag(float3, float3);
  7820. float4 __ovld __cnfn maxmag(float4, float4);
  7821. float8 __ovld __cnfn maxmag(float8, float8);
  7822. float16 __ovld __cnfn maxmag(float16, float16);
  7823. #ifdef cl_khr_fp64
  7824. double __ovld __cnfn maxmag(double, double);
  7825. double2 __ovld __cnfn maxmag(double2, double2);
  7826. double3 __ovld __cnfn maxmag(double3, double3);
  7827. double4 __ovld __cnfn maxmag(double4, double4);
  7828. double8 __ovld __cnfn maxmag(double8, double8);
  7829. double16 __ovld __cnfn maxmag(double16, double16);
  7830. #endif //cl_khr_fp64
  7831. #ifdef cl_khr_fp16
  7832. half __ovld __cnfn maxmag(half, half);
  7833. half2 __ovld __cnfn maxmag(half2, half2);
  7834. half3 __ovld __cnfn maxmag(half3, half3);
  7835. half4 __ovld __cnfn maxmag(half4, half4);
  7836. half8 __ovld __cnfn maxmag(half8, half8);
  7837. half16 __ovld __cnfn maxmag(half16, half16);
  7838. #endif //cl_khr_fp16
  7839.  
  7840. /**
  7841.  * Returns x if | x | < | y |, y if | y | < | x |, otherwise
  7842.  * fmin(x, y).
  7843.  */
  7844. float __ovld __cnfn minmag(float, float);
  7845. float2 __ovld __cnfn minmag(float2, float2);
  7846. float3 __ovld __cnfn minmag(float3, float3);
  7847. float4 __ovld __cnfn minmag(float4, float4);
  7848. float8 __ovld __cnfn minmag(float8, float8);
  7849. float16 __ovld __cnfn minmag(float16, float16);
  7850. #ifdef cl_khr_fp64
  7851. double __ovld __cnfn minmag(double, double);
  7852. double2 __ovld __cnfn minmag(double2, double2);
  7853. double3 __ovld __cnfn minmag(double3, double3);
  7854. double4 __ovld __cnfn minmag(double4, double4);
  7855. double8 __ovld __cnfn minmag(double8, double8);
  7856. double16 __ovld __cnfn minmag(double16, double16);
  7857. #endif //cl_khr_fp64
  7858. #ifdef cl_khr_fp16
  7859. half __ovld __cnfn minmag(half, half);
  7860. half2 __ovld __cnfn minmag(half2, half2);
  7861. half3 __ovld __cnfn minmag(half3, half3);
  7862. half4 __ovld __cnfn minmag(half4, half4);
  7863. half8 __ovld __cnfn minmag(half8, half8);
  7864. half16 __ovld __cnfn minmag(half16, half16);
  7865. #endif //cl_khr_fp16
  7866.  
  7867. /**
  7868.  * Decompose a floating-point number. The modf
  7869.  * function breaks the argument x into integral and
  7870.  * fractional parts, each of which has the same sign as
  7871.  * the argument. It stores the integral part in the object
  7872.  * pointed to by iptr.
  7873.  */
  7874. #if defined(__opencl_c_generic_address_space)
  7875. float __ovld modf(float, float *);
  7876. float2 __ovld modf(float2, float2 *);
  7877. float3 __ovld modf(float3, float3 *);
  7878. float4 __ovld modf(float4, float4 *);
  7879. float8 __ovld modf(float8, float8 *);
  7880. float16 __ovld modf(float16, float16 *);
  7881. #ifdef cl_khr_fp64
  7882. double __ovld modf(double, double *);
  7883. double2 __ovld modf(double2, double2 *);
  7884. double3 __ovld modf(double3, double3 *);
  7885. double4 __ovld modf(double4, double4 *);
  7886. double8 __ovld modf(double8, double8 *);
  7887. double16 __ovld modf(double16, double16 *);
  7888. #endif //cl_khr_fp64
  7889. #ifdef cl_khr_fp16
  7890. half __ovld modf(half, half *);
  7891. half2 __ovld modf(half2, half2 *);
  7892. half3 __ovld modf(half3, half3 *);
  7893. half4 __ovld modf(half4, half4 *);
  7894. half8 __ovld modf(half8, half8 *);
  7895. half16 __ovld modf(half16, half16 *);
  7896. #endif //cl_khr_fp16
  7897. #endif //defined(__opencl_c_generic_address_space)
  7898.  
  7899. #if defined(__opencl_c_named_address_space_builtins)
  7900. float __ovld modf(float, __global float *);
  7901. float2 __ovld modf(float2, __global float2 *);
  7902. float3 __ovld modf(float3, __global float3 *);
  7903. float4 __ovld modf(float4, __global float4 *);
  7904. float8 __ovld modf(float8, __global float8 *);
  7905. float16 __ovld modf(float16, __global float16 *);
  7906. float __ovld modf(float, __local float *);
  7907. float2 __ovld modf(float2, __local float2 *);
  7908. float3 __ovld modf(float3, __local float3 *);
  7909. float4 __ovld modf(float4, __local float4 *);
  7910. float8 __ovld modf(float8, __local float8 *);
  7911. float16 __ovld modf(float16, __local float16 *);
  7912. float __ovld modf(float, __private float *);
  7913. float2 __ovld modf(float2, __private float2 *);
  7914. float3 __ovld modf(float3, __private float3 *);
  7915. float4 __ovld modf(float4, __private float4 *);
  7916. float8 __ovld modf(float8, __private float8 *);
  7917. float16 __ovld modf(float16, __private float16 *);
  7918. #ifdef cl_khr_fp64
  7919. double __ovld modf(double, __global double *);
  7920. double2 __ovld modf(double2, __global double2 *);
  7921. double3 __ovld modf(double3, __global double3 *);
  7922. double4 __ovld modf(double4, __global double4 *);
  7923. double8 __ovld modf(double8, __global double8 *);
  7924. double16 __ovld modf(double16, __global double16 *);
  7925. double __ovld modf(double, __local double *);
  7926. double2 __ovld modf(double2, __local double2 *);
  7927. double3 __ovld modf(double3, __local double3 *);
  7928. double4 __ovld modf(double4, __local double4 *);
  7929. double8 __ovld modf(double8, __local double8 *);
  7930. double16 __ovld modf(double16, __local double16 *);
  7931. double __ovld modf(double, __private double *);
  7932. double2 __ovld modf(double2, __private double2 *);
  7933. double3 __ovld modf(double3, __private double3 *);
  7934. double4 __ovld modf(double4, __private double4 *);
  7935. double8 __ovld modf(double8, __private double8 *);
  7936. double16 __ovld modf(double16, __private double16 *);
  7937. #endif //cl_khr_fp64
  7938. #ifdef cl_khr_fp16
  7939. half __ovld modf(half, __global half *);
  7940. half2 __ovld modf(half2, __global half2 *);
  7941. half3 __ovld modf(half3, __global half3 *);
  7942. half4 __ovld modf(half4, __global half4 *);
  7943. half8 __ovld modf(half8, __global half8 *);
  7944. half16 __ovld modf(half16, __global half16 *);
  7945. half __ovld modf(half, __local half *);
  7946. half2 __ovld modf(half2, __local half2 *);
  7947. half3 __ovld modf(half3, __local half3 *);
  7948. half4 __ovld modf(half4, __local half4 *);
  7949. half8 __ovld modf(half8, __local half8 *);
  7950. half16 __ovld modf(half16, __local half16 *);
  7951. half __ovld modf(half, __private half *);
  7952. half2 __ovld modf(half2, __private half2 *);
  7953. half3 __ovld modf(half3, __private half3 *);
  7954. half4 __ovld modf(half4, __private half4 *);
  7955. half8 __ovld modf(half8, __private half8 *);
  7956. half16 __ovld modf(half16, __private half16 *);
  7957. #endif //cl_khr_fp16
  7958. #endif //defined(__opencl_c_named_address_space_builtins)
  7959.  
  7960. /**
  7961.  * Returns a quiet NaN. The nancode may be placed
  7962.  * in the significand of the resulting NaN.
  7963.  */
  7964. float __ovld __cnfn nan(uint);
  7965. float2 __ovld __cnfn nan(uint2);
  7966. float3 __ovld __cnfn nan(uint3);
  7967. float4 __ovld __cnfn nan(uint4);
  7968. float8 __ovld __cnfn nan(uint8);
  7969. float16 __ovld __cnfn nan(uint16);
  7970. #ifdef cl_khr_fp64
  7971. double __ovld __cnfn nan(ulong);
  7972. double2 __ovld __cnfn nan(ulong2);
  7973. double3 __ovld __cnfn nan(ulong3);
  7974. double4 __ovld __cnfn nan(ulong4);
  7975. double8 __ovld __cnfn nan(ulong8);
  7976. double16 __ovld __cnfn nan(ulong16);
  7977. #endif //cl_khr_fp64
  7978. #ifdef cl_khr_fp16
  7979. half __ovld __cnfn nan(ushort);
  7980. half2 __ovld __cnfn nan(ushort2);
  7981. half3 __ovld __cnfn nan(ushort3);
  7982. half4 __ovld __cnfn nan(ushort4);
  7983. half8 __ovld __cnfn nan(ushort8);
  7984. half16 __ovld __cnfn nan(ushort16);
  7985. #endif //cl_khr_fp16
  7986.  
  7987. /**
  7988.  * Computes the next representable single-precision
  7989.  * floating-point value following x in the direction of
  7990.  * y. Thus, if y is less than x, nextafter() returns the
  7991.  * largest representable floating-point number less
  7992.  * than x.
  7993.  */
  7994. float __ovld __cnfn nextafter(float, float);
  7995. float2 __ovld __cnfn nextafter(float2, float2);
  7996. float3 __ovld __cnfn nextafter(float3, float3);
  7997. float4 __ovld __cnfn nextafter(float4, float4);
  7998. float8 __ovld __cnfn nextafter(float8, float8);
  7999. float16 __ovld __cnfn nextafter(float16, float16);
  8000. #ifdef cl_khr_fp64
  8001. double __ovld __cnfn nextafter(double, double);
  8002. double2 __ovld __cnfn nextafter(double2, double2);
  8003. double3 __ovld __cnfn nextafter(double3, double3);
  8004. double4 __ovld __cnfn nextafter(double4, double4);
  8005. double8 __ovld __cnfn nextafter(double8, double8);
  8006. double16 __ovld __cnfn nextafter(double16, double16);
  8007. #endif //cl_khr_fp64
  8008. #ifdef cl_khr_fp16
  8009. half __ovld __cnfn nextafter(half, half);
  8010. half2 __ovld __cnfn nextafter(half2, half2);
  8011. half3 __ovld __cnfn nextafter(half3, half3);
  8012. half4 __ovld __cnfn nextafter(half4, half4);
  8013. half8 __ovld __cnfn nextafter(half8, half8);
  8014. half16 __ovld __cnfn nextafter(half16, half16);
  8015. #endif //cl_khr_fp16
  8016.  
  8017. /**
  8018.  * Compute x to the power y.
  8019.  */
  8020. float __ovld __cnfn pow(float, float);
  8021. float2 __ovld __cnfn pow(float2, float2);
  8022. float3 __ovld __cnfn pow(float3, float3);
  8023. float4 __ovld __cnfn pow(float4, float4);
  8024. float8 __ovld __cnfn pow(float8, float8);
  8025. float16 __ovld __cnfn pow(float16, float16);
  8026. #ifdef cl_khr_fp64
  8027. double __ovld __cnfn pow(double, double);
  8028. double2 __ovld __cnfn pow(double2, double2);
  8029. double3 __ovld __cnfn pow(double3, double3);
  8030. double4 __ovld __cnfn pow(double4, double4);
  8031. double8 __ovld __cnfn pow(double8, double8);
  8032. double16 __ovld __cnfn pow(double16, double16);
  8033. #endif //cl_khr_fp64
  8034. #ifdef cl_khr_fp16
  8035. half __ovld __cnfn pow(half, half);
  8036. half2 __ovld __cnfn pow(half2, half2);
  8037. half3 __ovld __cnfn pow(half3, half3);
  8038. half4 __ovld __cnfn pow(half4, half4);
  8039. half8 __ovld __cnfn pow(half8, half8);
  8040. half16 __ovld __cnfn pow(half16, half16);
  8041. #endif //cl_khr_fp16
  8042.  
  8043. /**
  8044.  * Compute x to the power y, where y is an integer.
  8045.  */
  8046. float __ovld __cnfn pown(float, int);
  8047. float2 __ovld __cnfn pown(float2, int2);
  8048. float3 __ovld __cnfn pown(float3, int3);
  8049. float4 __ovld __cnfn pown(float4, int4);
  8050. float8 __ovld __cnfn pown(float8, int8);
  8051. float16 __ovld __cnfn pown(float16, int16);
  8052. #ifdef cl_khr_fp64
  8053. double __ovld __cnfn pown(double, int);
  8054. double2 __ovld __cnfn pown(double2, int2);
  8055. double3 __ovld __cnfn pown(double3, int3);
  8056. double4 __ovld __cnfn pown(double4, int4);
  8057. double8 __ovld __cnfn pown(double8, int8);
  8058. double16 __ovld __cnfn pown(double16, int16);
  8059. #endif //cl_khr_fp64
  8060. #ifdef cl_khr_fp16
  8061. half __ovld __cnfn pown(half, int);
  8062. half2 __ovld __cnfn pown(half2, int2);
  8063. half3 __ovld __cnfn pown(half3, int3);
  8064. half4 __ovld __cnfn pown(half4, int4);
  8065. half8 __ovld __cnfn pown(half8, int8);
  8066. half16 __ovld __cnfn pown(half16, int16);
  8067. #endif //cl_khr_fp16
  8068.  
  8069. /**
  8070.  * Compute x to the power y, where x is >= 0.
  8071.  */
  8072. float __ovld __cnfn powr(float, float);
  8073. float2 __ovld __cnfn powr(float2, float2);
  8074. float3 __ovld __cnfn powr(float3, float3);
  8075. float4 __ovld __cnfn powr(float4, float4);
  8076. float8 __ovld __cnfn powr(float8, float8);
  8077. float16 __ovld __cnfn powr(float16, float16);
  8078. #ifdef cl_khr_fp64
  8079. double __ovld __cnfn powr(double, double);
  8080. double2 __ovld __cnfn powr(double2, double2);
  8081. double3 __ovld __cnfn powr(double3, double3);
  8082. double4 __ovld __cnfn powr(double4, double4);
  8083. double8 __ovld __cnfn powr(double8, double8);
  8084. double16 __ovld __cnfn powr(double16, double16);
  8085. #endif //cl_khr_fp64
  8086. #ifdef cl_khr_fp16
  8087. half __ovld __cnfn powr(half, half);
  8088. half2 __ovld __cnfn powr(half2, half2);
  8089. half3 __ovld __cnfn powr(half3, half3);
  8090. half4 __ovld __cnfn powr(half4, half4);
  8091. half8 __ovld __cnfn powr(half8, half8);
  8092. half16 __ovld __cnfn powr(half16, half16);
  8093. #endif //cl_khr_fp16
  8094.  
  8095. /**
  8096.  * Compute the value r such that r = x - n*y, where n
  8097.  * is the integer nearest the exact value of x/y. If there
  8098.  * are two integers closest to x/y, n shall be the even
  8099.  * one. If r is zero, it is given the same sign as x.
  8100.  */
  8101. float __ovld __cnfn remainder(float, float);
  8102. float2 __ovld __cnfn remainder(float2, float2);
  8103. float3 __ovld __cnfn remainder(float3, float3);
  8104. float4 __ovld __cnfn remainder(float4, float4);
  8105. float8 __ovld __cnfn remainder(float8, float8);
  8106. float16 __ovld __cnfn remainder(float16, float16);
  8107. #ifdef cl_khr_fp64
  8108. double __ovld __cnfn remainder(double, double);
  8109. double2 __ovld __cnfn remainder(double2, double2);
  8110. double3 __ovld __cnfn remainder(double3, double3);
  8111. double4 __ovld __cnfn remainder(double4, double4);
  8112. double8 __ovld __cnfn remainder(double8, double8);
  8113. double16 __ovld __cnfn remainder(double16, double16);
  8114. #endif //cl_khr_fp64
  8115. #ifdef cl_khr_fp16
  8116. half __ovld __cnfn remainder(half, half);
  8117. half2 __ovld __cnfn remainder(half2, half2);
  8118. half3 __ovld __cnfn remainder(half3, half3);
  8119. half4 __ovld __cnfn remainder(half4, half4);
  8120. half8 __ovld __cnfn remainder(half8, half8);
  8121. half16 __ovld __cnfn remainder(half16, half16);
  8122. #endif //cl_khr_fp16
  8123.  
  8124. /**
  8125.  * The remquo function computes the value r such
  8126.  * that r = x - n*y, where n is the integer nearest the
  8127.  * exact value of x/y. If there are two integers closest
  8128.  * to x/y, n shall be the even one. If r is zero, it is
  8129.  * given the same sign as x. This is the same value
  8130.  * that is returned by the remainder function.
  8131.  * remquo also calculates the lower seven bits of the
  8132.  * integral quotient x/y, and gives that value the same
  8133.  * sign as x/y. It stores this signed value in the object
  8134.  * pointed to by quo.
  8135.  */
  8136. #if defined(__opencl_c_generic_address_space)
  8137. float __ovld remquo(float, float, int *);
  8138. float2 __ovld remquo(float2, float2, int2 *);
  8139. float3 __ovld remquo(float3, float3, int3 *);
  8140. float4 __ovld remquo(float4, float4, int4 *);
  8141. float8 __ovld remquo(float8, float8, int8 *);
  8142. float16 __ovld remquo(float16, float16, int16 *);
  8143. #ifdef cl_khr_fp64
  8144. double __ovld remquo(double, double, int *);
  8145. double2 __ovld remquo(double2, double2, int2 *);
  8146. double3 __ovld remquo(double3, double3, int3 *);
  8147. double4 __ovld remquo(double4, double4, int4 *);
  8148. double8 __ovld remquo(double8, double8, int8 *);
  8149. double16 __ovld remquo(double16, double16, int16 *);
  8150. #endif //cl_khr_fp64
  8151. #ifdef cl_khr_fp16
  8152. half __ovld remquo(half, half, int *);
  8153. half2 __ovld remquo(half2, half2, int2 *);
  8154. half3 __ovld remquo(half3, half3, int3 *);
  8155. half4 __ovld remquo(half4, half4, int4 *);
  8156. half8 __ovld remquo(half8, half8, int8 *);
  8157. half16 __ovld remquo(half16, half16, int16 *);
  8158. #endif //cl_khr_fp16
  8159. #endif //defined(__opencl_c_generic_address_space)
  8160.  
  8161. #if defined(__opencl_c_named_address_space_builtins)
  8162. float __ovld remquo(float, float, __global int *);
  8163. float2 __ovld remquo(float2, float2, __global int2 *);
  8164. float3 __ovld remquo(float3, float3, __global int3 *);
  8165. float4 __ovld remquo(float4, float4, __global int4 *);
  8166. float8 __ovld remquo(float8, float8, __global int8 *);
  8167. float16 __ovld remquo(float16, float16, __global int16 *);
  8168. float __ovld remquo(float, float, __local int *);
  8169. float2 __ovld remquo(float2, float2, __local int2 *);
  8170. float3 __ovld remquo(float3, float3, __local int3 *);
  8171. float4 __ovld remquo(float4, float4, __local int4 *);
  8172. float8 __ovld remquo(float8, float8, __local int8 *);
  8173. float16 __ovld remquo(float16, float16, __local int16 *);
  8174. float __ovld remquo(float, float, __private int *);
  8175. float2 __ovld remquo(float2, float2, __private int2 *);
  8176. float3 __ovld remquo(float3, float3, __private int3 *);
  8177. float4 __ovld remquo(float4, float4, __private int4 *);
  8178. float8 __ovld remquo(float8, float8, __private int8 *);
  8179. float16 __ovld remquo(float16, float16, __private int16 *);
  8180. #ifdef cl_khr_fp64
  8181. double __ovld remquo(double, double, __global int *);
  8182. double2 __ovld remquo(double2, double2, __global int2 *);
  8183. double3 __ovld remquo(double3, double3, __global int3 *);
  8184. double4 __ovld remquo(double4, double4, __global int4 *);
  8185. double8 __ovld remquo(double8, double8, __global int8 *);
  8186. double16 __ovld remquo(double16, double16, __global int16 *);
  8187. double __ovld remquo(double, double, __local int *);
  8188. double2 __ovld remquo(double2, double2, __local int2 *);
  8189. double3 __ovld remquo(double3, double3, __local int3 *);
  8190. double4 __ovld remquo(double4, double4, __local int4 *);
  8191. double8 __ovld remquo(double8, double8, __local int8 *);
  8192. double16 __ovld remquo(double16, double16, __local int16 *);
  8193. double __ovld remquo(double, double, __private int *);
  8194. double2 __ovld remquo(double2, double2, __private int2 *);
  8195. double3 __ovld remquo(double3, double3, __private int3 *);
  8196. double4 __ovld remquo(double4, double4, __private int4 *);
  8197. double8 __ovld remquo(double8, double8, __private int8 *);
  8198. double16 __ovld remquo(double16, double16, __private int16 *);
  8199. #endif //cl_khr_fp64
  8200. #ifdef cl_khr_fp16
  8201. half __ovld remquo(half, half, __global int *);
  8202. half2 __ovld remquo(half2, half2, __global int2 *);
  8203. half3 __ovld remquo(half3, half3, __global int3 *);
  8204. half4 __ovld remquo(half4, half4, __global int4 *);
  8205. half8 __ovld remquo(half8, half8, __global int8 *);
  8206. half16 __ovld remquo(half16, half16, __global int16 *);
  8207. half __ovld remquo(half, half, __local int *);
  8208. half2 __ovld remquo(half2, half2, __local int2 *);
  8209. half3 __ovld remquo(half3, half3, __local int3 *);
  8210. half4 __ovld remquo(half4, half4, __local int4 *);
  8211. half8 __ovld remquo(half8, half8, __local int8 *);
  8212. half16 __ovld remquo(half16, half16, __local int16 *);
  8213. half __ovld remquo(half, half, __private int *);
  8214. half2 __ovld remquo(half2, half2, __private int2 *);
  8215. half3 __ovld remquo(half3, half3, __private int3 *);
  8216. half4 __ovld remquo(half4, half4, __private int4 *);
  8217. half8 __ovld remquo(half8, half8, __private int8 *);
  8218. half16 __ovld remquo(half16, half16, __private int16 *);
  8219. #endif //cl_khr_fp16
  8220. #endif //defined(__opencl_c_named_address_space_builtins)
  8221. /**
  8222.  * Round to integral value (using round to nearest
  8223.  * even rounding mode) in floating-point format.
  8224.  * Refer to section 7.1 for description of rounding
  8225.  * modes.
  8226.  */
  8227. float __ovld __cnfn rint(float);
  8228. float2 __ovld __cnfn rint(float2);
  8229. float3 __ovld __cnfn rint(float3);
  8230. float4 __ovld __cnfn rint(float4);
  8231. float8 __ovld __cnfn rint(float8);
  8232. float16 __ovld __cnfn rint(float16);
  8233. #ifdef cl_khr_fp64
  8234. double __ovld __cnfn rint(double);
  8235. double2 __ovld __cnfn rint(double2);
  8236. double3 __ovld __cnfn rint(double3);
  8237. double4 __ovld __cnfn rint(double4);
  8238. double8 __ovld __cnfn rint(double8);
  8239. double16 __ovld __cnfn rint(double16);
  8240. #endif //cl_khr_fp64
  8241. #ifdef cl_khr_fp16
  8242. half __ovld __cnfn rint(half);
  8243. half2 __ovld __cnfn rint(half2);
  8244. half3 __ovld __cnfn rint(half3);
  8245. half4 __ovld __cnfn rint(half4);
  8246. half8 __ovld __cnfn rint(half8);
  8247. half16 __ovld __cnfn rint(half16);
  8248. #endif //cl_khr_fp16
  8249.  
  8250. /**
  8251.  * Compute x to the power 1/y.
  8252.  */
  8253. float __ovld __cnfn rootn(float, int);
  8254. float2 __ovld __cnfn rootn(float2, int2);
  8255. float3 __ovld __cnfn rootn(float3, int3);
  8256. float4 __ovld __cnfn rootn(float4, int4);
  8257. float8 __ovld __cnfn rootn(float8, int8);
  8258. float16 __ovld __cnfn rootn(float16, int16);
  8259. #ifdef cl_khr_fp64
  8260. double __ovld __cnfn rootn(double, int);
  8261. double2 __ovld __cnfn rootn(double2, int2);
  8262. double3 __ovld __cnfn rootn(double3, int3);
  8263. double4 __ovld __cnfn rootn(double4, int4);
  8264. double8 __ovld __cnfn rootn(double8, int8);
  8265. double16 __ovld __cnfn rootn(double16, int16);
  8266. #endif //cl_khr_fp64
  8267. #ifdef cl_khr_fp16
  8268. half __ovld __cnfn rootn(half, int);
  8269. half2 __ovld __cnfn rootn(half2, int2);
  8270. half3 __ovld __cnfn rootn(half3, int3);
  8271. half4 __ovld __cnfn rootn(half4, int4);
  8272. half8 __ovld __cnfn rootn(half8, int8);
  8273. half16 __ovld __cnfn rootn(half16, int16);
  8274. #endif //cl_khr_fp16
  8275.  
  8276. /**
  8277.  * Return the integral value nearest to x rounding
  8278.  * halfway cases away from zero, regardless of the
  8279.  * current rounding direction.
  8280.  */
  8281. float __ovld __cnfn round(float);
  8282. float2 __ovld __cnfn round(float2);
  8283. float3 __ovld __cnfn round(float3);
  8284. float4 __ovld __cnfn round(float4);
  8285. float8 __ovld __cnfn round(float8);
  8286. float16 __ovld __cnfn round(float16);
  8287. #ifdef cl_khr_fp64
  8288. double __ovld __cnfn round(double);
  8289. double2 __ovld __cnfn round(double2);
  8290. double3 __ovld __cnfn round(double3);
  8291. double4 __ovld __cnfn round(double4);
  8292. double8 __ovld __cnfn round(double8);
  8293. double16 __ovld __cnfn round(double16);
  8294. #endif //cl_khr_fp64
  8295. #ifdef cl_khr_fp16
  8296. half __ovld __cnfn round(half);
  8297. half2 __ovld __cnfn round(half2);
  8298. half3 __ovld __cnfn round(half3);
  8299. half4 __ovld __cnfn round(half4);
  8300. half8 __ovld __cnfn round(half8);
  8301. half16 __ovld __cnfn round(half16);
  8302. #endif //cl_khr_fp16
  8303.  
  8304. /**
  8305.  * Compute inverse square root.
  8306.  */
  8307. float __ovld __cnfn rsqrt(float);
  8308. float2 __ovld __cnfn rsqrt(float2);
  8309. float3 __ovld __cnfn rsqrt(float3);
  8310. float4 __ovld __cnfn rsqrt(float4);
  8311. float8 __ovld __cnfn rsqrt(float8);
  8312. float16 __ovld __cnfn rsqrt(float16);
  8313. #ifdef cl_khr_fp64
  8314. double __ovld __cnfn rsqrt(double);
  8315. double2 __ovld __cnfn rsqrt(double2);
  8316. double3 __ovld __cnfn rsqrt(double3);
  8317. double4 __ovld __cnfn rsqrt(double4);
  8318. double8 __ovld __cnfn rsqrt(double8);
  8319. double16 __ovld __cnfn rsqrt(double16);
  8320. #endif //cl_khr_fp64
  8321. #ifdef cl_khr_fp16
  8322. half __ovld __cnfn rsqrt(half);
  8323. half2 __ovld __cnfn rsqrt(half2);
  8324. half3 __ovld __cnfn rsqrt(half3);
  8325. half4 __ovld __cnfn rsqrt(half4);
  8326. half8 __ovld __cnfn rsqrt(half8);
  8327. half16 __ovld __cnfn rsqrt(half16);
  8328. #endif //cl_khr_fp16
  8329.  
  8330. /**
  8331.  * Compute sine.
  8332.  */
  8333. float __ovld __cnfn sin(float);
  8334. float2 __ovld __cnfn sin(float2);
  8335. float3 __ovld __cnfn sin(float3);
  8336. float4 __ovld __cnfn sin(float4);
  8337. float8 __ovld __cnfn sin(float8);
  8338. float16 __ovld __cnfn sin(float16);
  8339. #ifdef cl_khr_fp64
  8340. double __ovld __cnfn sin(double);
  8341. double2 __ovld __cnfn sin(double2);
  8342. double3 __ovld __cnfn sin(double3);
  8343. double4 __ovld __cnfn sin(double4);
  8344. double8 __ovld __cnfn sin(double8);
  8345. double16 __ovld __cnfn sin(double16);
  8346. #endif //cl_khr_fp64
  8347. #ifdef cl_khr_fp16
  8348. half __ovld __cnfn sin(half);
  8349. half2 __ovld __cnfn sin(half2);
  8350. half3 __ovld __cnfn sin(half3);
  8351. half4 __ovld __cnfn sin(half4);
  8352. half8 __ovld __cnfn sin(half8);
  8353. half16 __ovld __cnfn sin(half16);
  8354. #endif //cl_khr_fp16
  8355.  
  8356. /**
  8357.  * Compute sine and cosine of x. The computed sine
  8358.  * is the return value and computed cosine is returned
  8359.  * in cosval.
  8360.  */
  8361. #if defined(__opencl_c_generic_address_space)
  8362. float __ovld sincos(float, float *);
  8363. float2 __ovld sincos(float2, float2 *);
  8364. float3 __ovld sincos(float3, float3 *);
  8365. float4 __ovld sincos(float4, float4 *);
  8366. float8 __ovld sincos(float8, float8 *);
  8367. float16 __ovld sincos(float16, float16 *);
  8368. #ifdef cl_khr_fp64
  8369. double __ovld sincos(double, double *);
  8370. double2 __ovld sincos(double2, double2 *);
  8371. double3 __ovld sincos(double3, double3 *);
  8372. double4 __ovld sincos(double4, double4 *);
  8373. double8 __ovld sincos(double8, double8 *);
  8374. double16 __ovld sincos(double16, double16 *);
  8375. #endif //cl_khr_fp64
  8376. #ifdef cl_khr_fp16
  8377. half __ovld sincos(half, half *);
  8378. half2 __ovld sincos(half2, half2 *);
  8379. half3 __ovld sincos(half3, half3 *);
  8380. half4 __ovld sincos(half4, half4 *);
  8381. half8 __ovld sincos(half8, half8 *);
  8382. half16 __ovld sincos(half16, half16 *);
  8383. #endif //cl_khr_fp16
  8384. #endif //defined(__opencl_c_generic_address_space)
  8385.  
  8386. #if defined(__opencl_c_named_address_space_builtins)
  8387. float __ovld sincos(float, __global float *);
  8388. float2 __ovld sincos(float2, __global float2 *);
  8389. float3 __ovld sincos(float3, __global float3 *);
  8390. float4 __ovld sincos(float4, __global float4 *);
  8391. float8 __ovld sincos(float8, __global float8 *);
  8392. float16 __ovld sincos(float16, __global float16 *);
  8393. float __ovld sincos(float, __local float *);
  8394. float2 __ovld sincos(float2, __local float2 *);
  8395. float3 __ovld sincos(float3, __local float3 *);
  8396. float4 __ovld sincos(float4, __local float4 *);
  8397. float8 __ovld sincos(float8, __local float8 *);
  8398. float16 __ovld sincos(float16, __local float16 *);
  8399. float __ovld sincos(float, __private float *);
  8400. float2 __ovld sincos(float2, __private float2 *);
  8401. float3 __ovld sincos(float3, __private float3 *);
  8402. float4 __ovld sincos(float4, __private float4 *);
  8403. float8 __ovld sincos(float8, __private float8 *);
  8404. float16 __ovld sincos(float16, __private float16 *);
  8405. #ifdef cl_khr_fp64
  8406. double __ovld sincos(double, __global double *);
  8407. double2 __ovld sincos(double2, __global double2 *);
  8408. double3 __ovld sincos(double3, __global double3 *);
  8409. double4 __ovld sincos(double4, __global double4 *);
  8410. double8 __ovld sincos(double8, __global double8 *);
  8411. double16 __ovld sincos(double16, __global double16 *);
  8412. double __ovld sincos(double, __local double *);
  8413. double2 __ovld sincos(double2, __local double2 *);
  8414. double3 __ovld sincos(double3, __local double3 *);
  8415. double4 __ovld sincos(double4, __local double4 *);
  8416. double8 __ovld sincos(double8, __local double8 *);
  8417. double16 __ovld sincos(double16, __local double16 *);
  8418. double __ovld sincos(double, __private double *);
  8419. double2 __ovld sincos(double2, __private double2 *);
  8420. double3 __ovld sincos(double3, __private double3 *);
  8421. double4 __ovld sincos(double4, __private double4 *);
  8422. double8 __ovld sincos(double8, __private double8 *);
  8423. double16 __ovld sincos(double16, __private double16 *);
  8424. #endif //cl_khr_fp64
  8425. #ifdef cl_khr_fp16
  8426. half __ovld sincos(half, __global half *);
  8427. half2 __ovld sincos(half2, __global half2 *);
  8428. half3 __ovld sincos(half3, __global half3 *);
  8429. half4 __ovld sincos(half4, __global half4 *);
  8430. half8 __ovld sincos(half8, __global half8 *);
  8431. half16 __ovld sincos(half16, __global half16 *);
  8432. half __ovld sincos(half, __local half *);
  8433. half2 __ovld sincos(half2, __local half2 *);
  8434. half3 __ovld sincos(half3, __local half3 *);
  8435. half4 __ovld sincos(half4, __local half4 *);
  8436. half8 __ovld sincos(half8, __local half8 *);
  8437. half16 __ovld sincos(half16, __local half16 *);
  8438. half __ovld sincos(half, __private half *);
  8439. half2 __ovld sincos(half2, __private half2 *);
  8440. half3 __ovld sincos(half3, __private half3 *);
  8441. half4 __ovld sincos(half4, __private half4 *);
  8442. half8 __ovld sincos(half8, __private half8 *);
  8443. half16 __ovld sincos(half16, __private half16 *);
  8444. #endif //cl_khr_fp16
  8445. #endif //defined(__opencl_c_named_address_space_builtins)
  8446.  
  8447. /**
  8448.  * Compute hyperbolic sine.
  8449.  */
  8450. float __ovld __cnfn sinh(float);
  8451. float2 __ovld __cnfn sinh(float2);
  8452. float3 __ovld __cnfn sinh(float3);
  8453. float4 __ovld __cnfn sinh(float4);
  8454. float8 __ovld __cnfn sinh(float8);
  8455. float16 __ovld __cnfn sinh(float16);
  8456. #ifdef cl_khr_fp64
  8457. double __ovld __cnfn sinh(double);
  8458. double2 __ovld __cnfn sinh(double2);
  8459. double3 __ovld __cnfn sinh(double3);
  8460. double4 __ovld __cnfn sinh(double4);
  8461. double8 __ovld __cnfn sinh(double8);
  8462. double16 __ovld __cnfn sinh(double16);
  8463. #endif //cl_khr_fp64
  8464. #ifdef cl_khr_fp16
  8465. half __ovld __cnfn sinh(half);
  8466. half2 __ovld __cnfn sinh(half2);
  8467. half3 __ovld __cnfn sinh(half3);
  8468. half4 __ovld __cnfn sinh(half4);
  8469. half8 __ovld __cnfn sinh(half8);
  8470. half16 __ovld __cnfn sinh(half16);
  8471. #endif //cl_khr_fp16
  8472.  
  8473. /**
  8474.  * Compute sin (PI * x).
  8475.  */
  8476. float __ovld __cnfn sinpi(float);
  8477. float2 __ovld __cnfn sinpi(float2);
  8478. float3 __ovld __cnfn sinpi(float3);
  8479. float4 __ovld __cnfn sinpi(float4);
  8480. float8 __ovld __cnfn sinpi(float8);
  8481. float16 __ovld __cnfn sinpi(float16);
  8482. #ifdef cl_khr_fp64
  8483. double __ovld __cnfn sinpi(double);
  8484. double2 __ovld __cnfn sinpi(double2);
  8485. double3 __ovld __cnfn sinpi(double3);
  8486. double4 __ovld __cnfn sinpi(double4);
  8487. double8 __ovld __cnfn sinpi(double8);
  8488. double16 __ovld __cnfn sinpi(double16);
  8489. #endif //cl_khr_fp64
  8490. #ifdef cl_khr_fp16
  8491. half __ovld __cnfn sinpi(half);
  8492. half2 __ovld __cnfn sinpi(half2);
  8493. half3 __ovld __cnfn sinpi(half3);
  8494. half4 __ovld __cnfn sinpi(half4);
  8495. half8 __ovld __cnfn sinpi(half8);
  8496. half16 __ovld __cnfn sinpi(half16);
  8497. #endif //cl_khr_fp16
  8498.  
  8499. /**
  8500.  * Compute square root.
  8501.  */
  8502. float __ovld __cnfn sqrt(float);
  8503. float2 __ovld __cnfn sqrt(float2);
  8504. float3 __ovld __cnfn sqrt(float3);
  8505. float4 __ovld __cnfn sqrt(float4);
  8506. float8 __ovld __cnfn sqrt(float8);
  8507. float16 __ovld __cnfn sqrt(float16);
  8508. #ifdef cl_khr_fp64
  8509. double __ovld __cnfn sqrt(double);
  8510. double2 __ovld __cnfn sqrt(double2);
  8511. double3 __ovld __cnfn sqrt(double3);
  8512. double4 __ovld __cnfn sqrt(double4);
  8513. double8 __ovld __cnfn sqrt(double8);
  8514. double16 __ovld __cnfn sqrt(double16);
  8515. #endif //cl_khr_fp64
  8516. #ifdef cl_khr_fp16
  8517. half __ovld __cnfn sqrt(half);
  8518. half2 __ovld __cnfn sqrt(half2);
  8519. half3 __ovld __cnfn sqrt(half3);
  8520. half4 __ovld __cnfn sqrt(half4);
  8521. half8 __ovld __cnfn sqrt(half8);
  8522. half16 __ovld __cnfn sqrt(half16);
  8523. #endif //cl_khr_fp16
  8524.  
  8525. /**
  8526.  * Compute tangent.
  8527.  */
  8528. float __ovld __cnfn tan(float);
  8529. float2 __ovld __cnfn tan(float2);
  8530. float3 __ovld __cnfn tan(float3);
  8531. float4 __ovld __cnfn tan(float4);
  8532. float8 __ovld __cnfn tan(float8);
  8533. float16 __ovld __cnfn tan(float16);
  8534. #ifdef cl_khr_fp64
  8535. double __ovld __cnfn tan(double);
  8536. double2 __ovld __cnfn tan(double2);
  8537. double3 __ovld __cnfn tan(double3);
  8538. double4 __ovld __cnfn tan(double4);
  8539. double8 __ovld __cnfn tan(double8);
  8540. double16 __ovld __cnfn tan(double16);
  8541. #endif //cl_khr_fp64
  8542. #ifdef cl_khr_fp16
  8543. half __ovld __cnfn tan(half);
  8544. half2 __ovld __cnfn tan(half2);
  8545. half3 __ovld __cnfn tan(half3);
  8546. half4 __ovld __cnfn tan(half4);
  8547. half8 __ovld __cnfn tan(half8);
  8548. half16 __ovld __cnfn tan(half16);
  8549. #endif //cl_khr_fp16
  8550.  
  8551. /**
  8552.  * Compute hyperbolic tangent.
  8553.  */
  8554. float __ovld __cnfn tanh(float);
  8555. float2 __ovld __cnfn tanh(float2);
  8556. float3 __ovld __cnfn tanh(float3);
  8557. float4 __ovld __cnfn tanh(float4);
  8558. float8 __ovld __cnfn tanh(float8);
  8559. float16 __ovld __cnfn tanh(float16);
  8560. #ifdef cl_khr_fp64
  8561. double __ovld __cnfn tanh(double);
  8562. double2 __ovld __cnfn tanh(double2);
  8563. double3 __ovld __cnfn tanh(double3);
  8564. double4 __ovld __cnfn tanh(double4);
  8565. double8 __ovld __cnfn tanh(double8);
  8566. double16 __ovld __cnfn tanh(double16);
  8567. #endif //cl_khr_fp64
  8568. #ifdef cl_khr_fp16
  8569. half __ovld __cnfn tanh(half);
  8570. half2 __ovld __cnfn tanh(half2);
  8571. half3 __ovld __cnfn tanh(half3);
  8572. half4 __ovld __cnfn tanh(half4);
  8573. half8 __ovld __cnfn tanh(half8);
  8574. half16 __ovld __cnfn tanh(half16);
  8575. #endif //cl_khr_fp16
  8576.  
  8577. /**
  8578.  * Compute tan (PI * x).
  8579.  */
  8580. float __ovld __cnfn tanpi(float);
  8581. float2 __ovld __cnfn tanpi(float2);
  8582. float3 __ovld __cnfn tanpi(float3);
  8583. float4 __ovld __cnfn tanpi(float4);
  8584. float8 __ovld __cnfn tanpi(float8);
  8585. float16 __ovld __cnfn tanpi(float16);
  8586. #ifdef cl_khr_fp64
  8587. double __ovld __cnfn tanpi(double);
  8588. double2 __ovld __cnfn tanpi(double2);
  8589. double3 __ovld __cnfn tanpi(double3);
  8590. double4 __ovld __cnfn tanpi(double4);
  8591. double8 __ovld __cnfn tanpi(double8);
  8592. double16 __ovld __cnfn tanpi(double16);
  8593. #endif //cl_khr_fp64
  8594. #ifdef cl_khr_fp16
  8595. half __ovld __cnfn tanpi(half);
  8596. half2 __ovld __cnfn tanpi(half2);
  8597. half3 __ovld __cnfn tanpi(half3);
  8598. half4 __ovld __cnfn tanpi(half4);
  8599. half8 __ovld __cnfn tanpi(half8);
  8600. half16 __ovld __cnfn tanpi(half16);
  8601. #endif //cl_khr_fp16
  8602.  
  8603. /**
  8604.  * Compute the gamma function.
  8605.  */
  8606. float __ovld __cnfn tgamma(float);
  8607. float2 __ovld __cnfn tgamma(float2);
  8608. float3 __ovld __cnfn tgamma(float3);
  8609. float4 __ovld __cnfn tgamma(float4);
  8610. float8 __ovld __cnfn tgamma(float8);
  8611. float16 __ovld __cnfn tgamma(float16);
  8612. #ifdef cl_khr_fp64
  8613. double __ovld __cnfn tgamma(double);
  8614. double2 __ovld __cnfn tgamma(double2);
  8615. double3 __ovld __cnfn tgamma(double3);
  8616. double4 __ovld __cnfn tgamma(double4);
  8617. double8 __ovld __cnfn tgamma(double8);
  8618. double16 __ovld __cnfn tgamma(double16);
  8619. #endif //cl_khr_fp64
  8620. #ifdef cl_khr_fp16
  8621. half __ovld __cnfn tgamma(half);
  8622. half2 __ovld __cnfn tgamma(half2);
  8623. half3 __ovld __cnfn tgamma(half3);
  8624. half4 __ovld __cnfn tgamma(half4);
  8625. half8 __ovld __cnfn tgamma(half8);
  8626. half16 __ovld __cnfn tgamma(half16);
  8627. #endif //cl_khr_fp16
  8628.  
  8629. /**
  8630.  * Round to integral value using the round to zero
  8631.  * rounding mode.
  8632.  */
  8633. float __ovld __cnfn trunc(float);
  8634. float2 __ovld __cnfn trunc(float2);
  8635. float3 __ovld __cnfn trunc(float3);
  8636. float4 __ovld __cnfn trunc(float4);
  8637. float8 __ovld __cnfn trunc(float8);
  8638. float16 __ovld __cnfn trunc(float16);
  8639. #ifdef cl_khr_fp64
  8640. double __ovld __cnfn trunc(double);
  8641. double2 __ovld __cnfn trunc(double2);
  8642. double3 __ovld __cnfn trunc(double3);
  8643. double4 __ovld __cnfn trunc(double4);
  8644. double8 __ovld __cnfn trunc(double8);
  8645. double16 __ovld __cnfn trunc(double16);
  8646. #endif //cl_khr_fp64
  8647. #ifdef cl_khr_fp16
  8648. half __ovld __cnfn trunc(half);
  8649. half2 __ovld __cnfn trunc(half2);
  8650. half3 __ovld __cnfn trunc(half3);
  8651. half4 __ovld __cnfn trunc(half4);
  8652. half8 __ovld __cnfn trunc(half8);
  8653. half16 __ovld __cnfn trunc(half16);
  8654. #endif //cl_khr_fp16
  8655.  
  8656. /**
  8657.  * Compute cosine. x must be in the range -2^16 ... +2^16.
  8658.  */
  8659. float __ovld __cnfn half_cos(float);
  8660. float2 __ovld __cnfn half_cos(float2);
  8661. float3 __ovld __cnfn half_cos(float3);
  8662. float4 __ovld __cnfn half_cos(float4);
  8663. float8 __ovld __cnfn half_cos(float8);
  8664. float16 __ovld __cnfn half_cos(float16);
  8665.  
  8666. /**
  8667.  * Compute x / y.
  8668.  */
  8669. float __ovld __cnfn half_divide(float, float);
  8670. float2 __ovld __cnfn half_divide(float2, float2);
  8671. float3 __ovld __cnfn half_divide(float3, float3);
  8672. float4 __ovld __cnfn half_divide(float4, float4);
  8673. float8 __ovld __cnfn half_divide(float8, float8);
  8674. float16 __ovld __cnfn half_divide(float16, float16);
  8675.  
  8676. /**
  8677.  * Compute the base- e exponential of x.
  8678.  */
  8679. float __ovld __cnfn half_exp(float);
  8680. float2 __ovld __cnfn half_exp(float2);
  8681. float3 __ovld __cnfn half_exp(float3);
  8682. float4 __ovld __cnfn half_exp(float4);
  8683. float8 __ovld __cnfn half_exp(float8);
  8684. float16 __ovld __cnfn half_exp(float16);
  8685.  
  8686. /**
  8687.  * Compute the base- 2 exponential of x.
  8688.  */
  8689. float __ovld __cnfn half_exp2(float);
  8690. float2 __ovld __cnfn half_exp2(float2);
  8691. float3 __ovld __cnfn half_exp2(float3);
  8692. float4 __ovld __cnfn half_exp2(float4);
  8693. float8 __ovld __cnfn half_exp2(float8);
  8694. float16 __ovld __cnfn half_exp2(float16);
  8695.  
  8696. /**
  8697.  * Compute the base- 10 exponential of x.
  8698.  */
  8699. float __ovld __cnfn half_exp10(float);
  8700. float2 __ovld __cnfn half_exp10(float2);
  8701. float3 __ovld __cnfn half_exp10(float3);
  8702. float4 __ovld __cnfn half_exp10(float4);
  8703. float8 __ovld __cnfn half_exp10(float8);
  8704. float16 __ovld __cnfn half_exp10(float16);
  8705.  
  8706. /**
  8707.  * Compute natural logarithm.
  8708.  */
  8709. float __ovld __cnfn half_log(float);
  8710. float2 __ovld __cnfn half_log(float2);
  8711. float3 __ovld __cnfn half_log(float3);
  8712. float4 __ovld __cnfn half_log(float4);
  8713. float8 __ovld __cnfn half_log(float8);
  8714. float16 __ovld __cnfn half_log(float16);
  8715.  
  8716. /**
  8717.  * Compute a base 2 logarithm.
  8718.  */
  8719. float __ovld __cnfn half_log2(float);
  8720. float2 __ovld __cnfn half_log2(float2);
  8721. float3 __ovld __cnfn half_log2(float3);
  8722. float4 __ovld __cnfn half_log2(float4);
  8723. float8 __ovld __cnfn half_log2(float8);
  8724. float16 __ovld __cnfn half_log2(float16);
  8725.  
  8726. /**
  8727.  * Compute a base 10 logarithm.
  8728.  */
  8729. float __ovld __cnfn half_log10(float);
  8730. float2 __ovld __cnfn half_log10(float2);
  8731. float3 __ovld __cnfn half_log10(float3);
  8732. float4 __ovld __cnfn half_log10(float4);
  8733. float8 __ovld __cnfn half_log10(float8);
  8734. float16 __ovld __cnfn half_log10(float16);
  8735.  
  8736. /**
  8737.  * Compute x to the power y, where x is >= 0.
  8738.  */
  8739. float __ovld __cnfn half_powr(float, float);
  8740. float2 __ovld __cnfn half_powr(float2, float2);
  8741. float3 __ovld __cnfn half_powr(float3, float3);
  8742. float4 __ovld __cnfn half_powr(float4, float4);
  8743. float8 __ovld __cnfn half_powr(float8, float8);
  8744. float16 __ovld __cnfn half_powr(float16, float16);
  8745.  
  8746. /**
  8747.  * Compute reciprocal.
  8748.  */
  8749. float __ovld __cnfn half_recip(float);
  8750. float2 __ovld __cnfn half_recip(float2);
  8751. float3 __ovld __cnfn half_recip(float3);
  8752. float4 __ovld __cnfn half_recip(float4);
  8753. float8 __ovld __cnfn half_recip(float8);
  8754. float16 __ovld __cnfn half_recip(float16);
  8755.  
  8756. /**
  8757.  * Compute inverse square root.
  8758.  */
  8759. float __ovld __cnfn half_rsqrt(float);
  8760. float2 __ovld __cnfn half_rsqrt(float2);
  8761. float3 __ovld __cnfn half_rsqrt(float3);
  8762. float4 __ovld __cnfn half_rsqrt(float4);
  8763. float8 __ovld __cnfn half_rsqrt(float8);
  8764. float16 __ovld __cnfn half_rsqrt(float16);
  8765.  
  8766. /**
  8767.  * Compute sine. x must be in the range -2^16 ... +2^16.
  8768.  */
  8769. float __ovld __cnfn half_sin(float);
  8770. float2 __ovld __cnfn half_sin(float2);
  8771. float3 __ovld __cnfn half_sin(float3);
  8772. float4 __ovld __cnfn half_sin(float4);
  8773. float8 __ovld __cnfn half_sin(float8);
  8774. float16 __ovld __cnfn half_sin(float16);
  8775.  
  8776. /**
  8777.  * Compute square root.
  8778.  */
  8779. float __ovld __cnfn half_sqrt(float);
  8780. float2 __ovld __cnfn half_sqrt(float2);
  8781. float3 __ovld __cnfn half_sqrt(float3);
  8782. float4 __ovld __cnfn half_sqrt(float4);
  8783. float8 __ovld __cnfn half_sqrt(float8);
  8784. float16 __ovld __cnfn half_sqrt(float16);
  8785.  
  8786. /**
  8787.  * Compute tangent. x must be in the range -216 ... +216.
  8788.  */
  8789. float __ovld __cnfn half_tan(float);
  8790. float2 __ovld __cnfn half_tan(float2);
  8791. float3 __ovld __cnfn half_tan(float3);
  8792. float4 __ovld __cnfn half_tan(float4);
  8793. float8 __ovld __cnfn half_tan(float8);
  8794. float16 __ovld __cnfn half_tan(float16);
  8795.  
  8796. /**
  8797.  * Compute cosine over an implementation-defined range.
  8798.  * The maximum error is implementation-defined.
  8799.  */
  8800. float __ovld __cnfn native_cos(float);
  8801. float2 __ovld __cnfn native_cos(float2);
  8802. float3 __ovld __cnfn native_cos(float3);
  8803. float4 __ovld __cnfn native_cos(float4);
  8804. float8 __ovld __cnfn native_cos(float8);
  8805. float16 __ovld __cnfn native_cos(float16);
  8806.  
  8807. /**
  8808.  * Compute x / y over an implementation-defined range.
  8809.  * The maximum error is implementation-defined.
  8810.  */
  8811. float __ovld __cnfn native_divide(float, float);
  8812. float2 __ovld __cnfn native_divide(float2, float2);
  8813. float3 __ovld __cnfn native_divide(float3, float3);
  8814. float4 __ovld __cnfn native_divide(float4, float4);
  8815. float8 __ovld __cnfn native_divide(float8, float8);
  8816. float16 __ovld __cnfn native_divide(float16, float16);
  8817.  
  8818. /**
  8819.  * Compute the base- e exponential of x over an
  8820.  * implementation-defined range. The maximum error is
  8821.  * implementation-defined.
  8822.  */
  8823. float __ovld __cnfn native_exp(float);
  8824. float2 __ovld __cnfn native_exp(float2);
  8825. float3 __ovld __cnfn native_exp(float3);
  8826. float4 __ovld __cnfn native_exp(float4);
  8827. float8 __ovld __cnfn native_exp(float8);
  8828. float16 __ovld __cnfn native_exp(float16);
  8829.  
  8830. /**
  8831.  * Compute the base- 2 exponential of x over an
  8832.  * implementation-defined range. The maximum error is
  8833.  * implementation-defined.
  8834.  */
  8835. float __ovld __cnfn native_exp2(float);
  8836. float2 __ovld __cnfn native_exp2(float2);
  8837. float3 __ovld __cnfn native_exp2(float3);
  8838. float4 __ovld __cnfn native_exp2(float4);
  8839. float8 __ovld __cnfn native_exp2(float8);
  8840. float16 __ovld __cnfn native_exp2(float16);
  8841.  
  8842. /**
  8843.  * Compute the base- 10 exponential of x over an
  8844.  * implementation-defined range. The maximum error is
  8845.  * implementation-defined.
  8846.  */
  8847. float __ovld __cnfn native_exp10(float);
  8848. float2 __ovld __cnfn native_exp10(float2);
  8849. float3 __ovld __cnfn native_exp10(float3);
  8850. float4 __ovld __cnfn native_exp10(float4);
  8851. float8 __ovld __cnfn native_exp10(float8);
  8852. float16 __ovld __cnfn native_exp10(float16);
  8853.  
  8854. /**
  8855.  * Compute natural logarithm over an implementationdefined
  8856.  * range. The maximum error is implementation
  8857.  * defined.
  8858.  */
  8859. float __ovld __cnfn native_log(float);
  8860. float2 __ovld __cnfn native_log(float2);
  8861. float3 __ovld __cnfn native_log(float3);
  8862. float4 __ovld __cnfn native_log(float4);
  8863. float8 __ovld __cnfn native_log(float8);
  8864. float16 __ovld __cnfn native_log(float16);
  8865.  
  8866. /**
  8867.  * Compute a base 2 logarithm over an implementationdefined
  8868.  * range. The maximum error is implementationdefined.
  8869.  */
  8870. float __ovld __cnfn native_log2(float);
  8871. float2 __ovld __cnfn native_log2(float2);
  8872. float3 __ovld __cnfn native_log2(float3);
  8873. float4 __ovld __cnfn native_log2(float4);
  8874. float8 __ovld __cnfn native_log2(float8);
  8875. float16 __ovld __cnfn native_log2(float16);
  8876.  
  8877. /**
  8878.  * Compute a base 10 logarithm over an implementationdefined
  8879.  * range. The maximum error is implementationdefined.
  8880.  */
  8881. float __ovld __cnfn native_log10(float);
  8882. float2 __ovld __cnfn native_log10(float2);
  8883. float3 __ovld __cnfn native_log10(float3);
  8884. float4 __ovld __cnfn native_log10(float4);
  8885. float8 __ovld __cnfn native_log10(float8);
  8886. float16 __ovld __cnfn native_log10(float16);
  8887.  
  8888. /**
  8889.  * Compute x to the power y, where x is >= 0. The range of
  8890.  * x and y are implementation-defined. The maximum error
  8891.  * is implementation-defined.
  8892.  */
  8893. float __ovld __cnfn native_powr(float, float);
  8894. float2 __ovld __cnfn native_powr(float2, float2);
  8895. float3 __ovld __cnfn native_powr(float3, float3);
  8896. float4 __ovld __cnfn native_powr(float4, float4);
  8897. float8 __ovld __cnfn native_powr(float8, float8);
  8898. float16 __ovld __cnfn native_powr(float16, float16);
  8899.  
  8900. /**
  8901.  * Compute reciprocal over an implementation-defined
  8902.  * range. The maximum error is implementation-defined.
  8903.  */
  8904. float __ovld __cnfn native_recip(float);
  8905. float2 __ovld __cnfn native_recip(float2);
  8906. float3 __ovld __cnfn native_recip(float3);
  8907. float4 __ovld __cnfn native_recip(float4);
  8908. float8 __ovld __cnfn native_recip(float8);
  8909. float16 __ovld __cnfn native_recip(float16);
  8910.  
  8911. /**
  8912.  * Compute inverse square root over an implementationdefined
  8913.  * range. The maximum error is implementationdefined.
  8914.  */
  8915. float __ovld __cnfn native_rsqrt(float);
  8916. float2 __ovld __cnfn native_rsqrt(float2);
  8917. float3 __ovld __cnfn native_rsqrt(float3);
  8918. float4 __ovld __cnfn native_rsqrt(float4);
  8919. float8 __ovld __cnfn native_rsqrt(float8);
  8920. float16 __ovld __cnfn native_rsqrt(float16);
  8921.  
  8922. /**
  8923.  * Compute sine over an implementation-defined range.
  8924.  * The maximum error is implementation-defined.
  8925.  */
  8926. float __ovld __cnfn native_sin(float);
  8927. float2 __ovld __cnfn native_sin(float2);
  8928. float3 __ovld __cnfn native_sin(float3);
  8929. float4 __ovld __cnfn native_sin(float4);
  8930. float8 __ovld __cnfn native_sin(float8);
  8931. float16 __ovld __cnfn native_sin(float16);
  8932.  
  8933. /**
  8934.  * Compute square root over an implementation-defined
  8935.  * range. The maximum error is implementation-defined.
  8936.  */
  8937. float __ovld __cnfn native_sqrt(float);
  8938. float2 __ovld __cnfn native_sqrt(float2);
  8939. float3 __ovld __cnfn native_sqrt(float3);
  8940. float4 __ovld __cnfn native_sqrt(float4);
  8941. float8 __ovld __cnfn native_sqrt(float8);
  8942. float16 __ovld __cnfn native_sqrt(float16);
  8943.  
  8944. /**
  8945.  * Compute tangent over an implementation-defined range.
  8946.  * The maximum error is implementation-defined.
  8947.  */
  8948. float __ovld __cnfn native_tan(float);
  8949. float2 __ovld __cnfn native_tan(float2);
  8950. float3 __ovld __cnfn native_tan(float3);
  8951. float4 __ovld __cnfn native_tan(float4);
  8952. float8 __ovld __cnfn native_tan(float8);
  8953. float16 __ovld __cnfn native_tan(float16);
  8954.  
  8955. // OpenCL v1.1 s6.11.3, v1.2 s6.12.3, v2.0 s6.13.3 - Integer Functions
  8956.  
  8957. /**
  8958.  * Returns | x |.
  8959.  */
  8960. uchar __ovld __cnfn abs(char);
  8961. uchar __ovld __cnfn abs(uchar);
  8962. uchar2 __ovld __cnfn abs(char2);
  8963. uchar2 __ovld __cnfn abs(uchar2);
  8964. uchar3 __ovld __cnfn abs(char3);
  8965. uchar3 __ovld __cnfn abs(uchar3);
  8966. uchar4 __ovld __cnfn abs(char4);
  8967. uchar4 __ovld __cnfn abs(uchar4);
  8968. uchar8 __ovld __cnfn abs(char8);
  8969. uchar8 __ovld __cnfn abs(uchar8);
  8970. uchar16 __ovld __cnfn abs(char16);
  8971. uchar16 __ovld __cnfn abs(uchar16);
  8972. ushort __ovld __cnfn abs(short);
  8973. ushort __ovld __cnfn abs(ushort);
  8974. ushort2 __ovld __cnfn abs(short2);
  8975. ushort2 __ovld __cnfn abs(ushort2);
  8976. ushort3 __ovld __cnfn abs(short3);
  8977. ushort3 __ovld __cnfn abs(ushort3);
  8978. ushort4 __ovld __cnfn abs(short4);
  8979. ushort4 __ovld __cnfn abs(ushort4);
  8980. ushort8 __ovld __cnfn abs(short8);
  8981. ushort8 __ovld __cnfn abs(ushort8);
  8982. ushort16 __ovld __cnfn abs(short16);
  8983. ushort16 __ovld __cnfn abs(ushort16);
  8984. uint __ovld __cnfn abs(int);
  8985. uint __ovld __cnfn abs(uint);
  8986. uint2 __ovld __cnfn abs(int2);
  8987. uint2 __ovld __cnfn abs(uint2);
  8988. uint3 __ovld __cnfn abs(int3);
  8989. uint3 __ovld __cnfn abs(uint3);
  8990. uint4 __ovld __cnfn abs(int4);
  8991. uint4 __ovld __cnfn abs(uint4);
  8992. uint8 __ovld __cnfn abs(int8);
  8993. uint8 __ovld __cnfn abs(uint8);
  8994. uint16 __ovld __cnfn abs(int16);
  8995. uint16 __ovld __cnfn abs(uint16);
  8996. ulong __ovld __cnfn abs(long);
  8997. ulong __ovld __cnfn abs(ulong);
  8998. ulong2 __ovld __cnfn abs(long2);
  8999. ulong2 __ovld __cnfn abs(ulong2);
  9000. ulong3 __ovld __cnfn abs(long3);
  9001. ulong3 __ovld __cnfn abs(ulong3);
  9002. ulong4 __ovld __cnfn abs(long4);
  9003. ulong4 __ovld __cnfn abs(ulong4);
  9004. ulong8 __ovld __cnfn abs(long8);
  9005. ulong8 __ovld __cnfn abs(ulong8);
  9006. ulong16 __ovld __cnfn abs(long16);
  9007. ulong16 __ovld __cnfn abs(ulong16);
  9008.  
  9009. /**
  9010.  * Returns | x - y | without modulo overflow.
  9011.  */
  9012. uchar __ovld __cnfn abs_diff(char, char);
  9013. uchar __ovld __cnfn abs_diff(uchar, uchar);
  9014. uchar2 __ovld __cnfn abs_diff(char2, char2);
  9015. uchar2 __ovld __cnfn abs_diff(uchar2, uchar2);
  9016. uchar3 __ovld __cnfn abs_diff(char3, char3);
  9017. uchar3 __ovld __cnfn abs_diff(uchar3, uchar3);
  9018. uchar4 __ovld __cnfn abs_diff(char4, char4);
  9019. uchar4 __ovld __cnfn abs_diff(uchar4, uchar4);
  9020. uchar8 __ovld __cnfn abs_diff(char8, char8);
  9021. uchar8 __ovld __cnfn abs_diff(uchar8, uchar8);
  9022. uchar16 __ovld __cnfn abs_diff(char16, char16);
  9023. uchar16 __ovld __cnfn abs_diff(uchar16, uchar16);
  9024. ushort __ovld __cnfn abs_diff(short, short);
  9025. ushort __ovld __cnfn abs_diff(ushort, ushort);
  9026. ushort2 __ovld __cnfn abs_diff(short2, short2);
  9027. ushort2 __ovld __cnfn abs_diff(ushort2, ushort2);
  9028. ushort3 __ovld __cnfn abs_diff(short3, short3);
  9029. ushort3 __ovld __cnfn abs_diff(ushort3, ushort3);
  9030. ushort4 __ovld __cnfn abs_diff(short4, short4);
  9031. ushort4 __ovld __cnfn abs_diff(ushort4, ushort4);
  9032. ushort8 __ovld __cnfn abs_diff(short8, short8);
  9033. ushort8 __ovld __cnfn abs_diff(ushort8, ushort8);
  9034. ushort16 __ovld __cnfn abs_diff(short16, short16);
  9035. ushort16 __ovld __cnfn abs_diff(ushort16, ushort16);
  9036. uint __ovld __cnfn abs_diff(int, int);
  9037. uint __ovld __cnfn abs_diff(uint, uint);
  9038. uint2 __ovld __cnfn abs_diff(int2, int2);
  9039. uint2 __ovld __cnfn abs_diff(uint2, uint2);
  9040. uint3 __ovld __cnfn abs_diff(int3, int3);
  9041. uint3 __ovld __cnfn abs_diff(uint3, uint3);
  9042. uint4 __ovld __cnfn abs_diff(int4, int4);
  9043. uint4 __ovld __cnfn abs_diff(uint4, uint4);
  9044. uint8 __ovld __cnfn abs_diff(int8, int8);
  9045. uint8 __ovld __cnfn abs_diff(uint8, uint8);
  9046. uint16 __ovld __cnfn abs_diff(int16, int16);
  9047. uint16 __ovld __cnfn abs_diff(uint16, uint16);
  9048. ulong __ovld __cnfn abs_diff(long, long);
  9049. ulong __ovld __cnfn abs_diff(ulong, ulong);
  9050. ulong2 __ovld __cnfn abs_diff(long2, long2);
  9051. ulong2 __ovld __cnfn abs_diff(ulong2, ulong2);
  9052. ulong3 __ovld __cnfn abs_diff(long3, long3);
  9053. ulong3 __ovld __cnfn abs_diff(ulong3, ulong3);
  9054. ulong4 __ovld __cnfn abs_diff(long4, long4);
  9055. ulong4 __ovld __cnfn abs_diff(ulong4, ulong4);
  9056. ulong8 __ovld __cnfn abs_diff(long8, long8);
  9057. ulong8 __ovld __cnfn abs_diff(ulong8, ulong8);
  9058. ulong16 __ovld __cnfn abs_diff(long16, long16);
  9059. ulong16 __ovld __cnfn abs_diff(ulong16, ulong16);
  9060.  
  9061. /**
  9062.  * Returns x + y and saturates the result.
  9063.  */
  9064. char __ovld __cnfn add_sat(char, char);
  9065. uchar __ovld __cnfn add_sat(uchar, uchar);
  9066. char2 __ovld __cnfn add_sat(char2, char2);
  9067. uchar2 __ovld __cnfn add_sat(uchar2, uchar2);
  9068. char3 __ovld __cnfn add_sat(char3, char3);
  9069. uchar3 __ovld __cnfn add_sat(uchar3, uchar3);
  9070. char4 __ovld __cnfn add_sat(char4, char4);
  9071. uchar4 __ovld __cnfn add_sat(uchar4, uchar4);
  9072. char8 __ovld __cnfn add_sat(char8, char8);
  9073. uchar8 __ovld __cnfn add_sat(uchar8, uchar8);
  9074. char16 __ovld __cnfn add_sat(char16, char16);
  9075. uchar16 __ovld __cnfn add_sat(uchar16, uchar16);
  9076. short __ovld __cnfn add_sat(short, short);
  9077. ushort __ovld __cnfn add_sat(ushort, ushort);
  9078. short2 __ovld __cnfn add_sat(short2, short2);
  9079. ushort2 __ovld __cnfn add_sat(ushort2, ushort2);
  9080. short3 __ovld __cnfn add_sat(short3, short3);
  9081. ushort3 __ovld __cnfn add_sat(ushort3, ushort3);
  9082. short4 __ovld __cnfn add_sat(short4, short4);
  9083. ushort4 __ovld __cnfn add_sat(ushort4, ushort4);
  9084. short8 __ovld __cnfn add_sat(short8, short8);
  9085. ushort8 __ovld __cnfn add_sat(ushort8, ushort8);
  9086. short16 __ovld __cnfn add_sat(short16, short16);
  9087. ushort16 __ovld __cnfn add_sat(ushort16, ushort16);
  9088. int __ovld __cnfn add_sat(int, int);
  9089. uint __ovld __cnfn add_sat(uint, uint);
  9090. int2 __ovld __cnfn add_sat(int2, int2);
  9091. uint2 __ovld __cnfn add_sat(uint2, uint2);
  9092. int3 __ovld __cnfn add_sat(int3, int3);
  9093. uint3 __ovld __cnfn add_sat(uint3, uint3);
  9094. int4 __ovld __cnfn add_sat(int4, int4);
  9095. uint4 __ovld __cnfn add_sat(uint4, uint4);
  9096. int8 __ovld __cnfn add_sat(int8, int8);
  9097. uint8 __ovld __cnfn add_sat(uint8, uint8);
  9098. int16 __ovld __cnfn add_sat(int16, int16);
  9099. uint16 __ovld __cnfn add_sat(uint16, uint16);
  9100. long __ovld __cnfn add_sat(long, long);
  9101. ulong __ovld __cnfn add_sat(ulong, ulong);
  9102. long2 __ovld __cnfn add_sat(long2, long2);
  9103. ulong2 __ovld __cnfn add_sat(ulong2, ulong2);
  9104. long3 __ovld __cnfn add_sat(long3, long3);
  9105. ulong3 __ovld __cnfn add_sat(ulong3, ulong3);
  9106. long4 __ovld __cnfn add_sat(long4, long4);
  9107. ulong4 __ovld __cnfn add_sat(ulong4, ulong4);
  9108. long8 __ovld __cnfn add_sat(long8, long8);
  9109. ulong8 __ovld __cnfn add_sat(ulong8, ulong8);
  9110. long16 __ovld __cnfn add_sat(long16, long16);
  9111. ulong16 __ovld __cnfn add_sat(ulong16, ulong16);
  9112.  
  9113. /**
  9114.  * Returns (x + y) >> 1. The intermediate sum does
  9115.  * not modulo overflow.
  9116.  */
  9117. char __ovld __cnfn hadd(char, char);
  9118. uchar __ovld __cnfn hadd(uchar, uchar);
  9119. char2 __ovld __cnfn hadd(char2, char2);
  9120. uchar2 __ovld __cnfn hadd(uchar2, uchar2);
  9121. char3 __ovld __cnfn hadd(char3, char3);
  9122. uchar3 __ovld __cnfn hadd(uchar3, uchar3);
  9123. char4 __ovld __cnfn hadd(char4, char4);
  9124. uchar4 __ovld __cnfn hadd(uchar4, uchar4);
  9125. char8 __ovld __cnfn hadd(char8, char8);
  9126. uchar8 __ovld __cnfn hadd(uchar8, uchar8);
  9127. char16 __ovld __cnfn hadd(char16, char16);
  9128. uchar16 __ovld __cnfn hadd(uchar16, uchar16);
  9129. short __ovld __cnfn hadd(short, short);
  9130. ushort __ovld __cnfn hadd(ushort, ushort);
  9131. short2 __ovld __cnfn hadd(short2, short2);
  9132. ushort2 __ovld __cnfn hadd(ushort2, ushort2);
  9133. short3 __ovld __cnfn hadd(short3, short3);
  9134. ushort3 __ovld __cnfn hadd(ushort3, ushort3);
  9135. short4 __ovld __cnfn hadd(short4, short4);
  9136. ushort4 __ovld __cnfn hadd(ushort4, ushort4);
  9137. short8 __ovld __cnfn hadd(short8, short8);
  9138. ushort8 __ovld __cnfn hadd(ushort8, ushort8);
  9139. short16 __ovld __cnfn hadd(short16, short16);
  9140. ushort16 __ovld __cnfn hadd(ushort16, ushort16);
  9141. int __ovld __cnfn hadd(int, int);
  9142. uint __ovld __cnfn hadd(uint, uint);
  9143. int2 __ovld __cnfn hadd(int2, int2);
  9144. uint2 __ovld __cnfn hadd(uint2, uint2);
  9145. int3 __ovld __cnfn hadd(int3, int3);
  9146. uint3 __ovld __cnfn hadd(uint3, uint3);
  9147. int4 __ovld __cnfn hadd(int4, int4);
  9148. uint4 __ovld __cnfn hadd(uint4, uint4);
  9149. int8 __ovld __cnfn hadd(int8, int8);
  9150. uint8 __ovld __cnfn hadd(uint8, uint8);
  9151. int16 __ovld __cnfn hadd(int16, int16);
  9152. uint16 __ovld __cnfn hadd(uint16, uint16);
  9153. long __ovld __cnfn hadd(long, long);
  9154. ulong __ovld __cnfn hadd(ulong, ulong);
  9155. long2 __ovld __cnfn hadd(long2, long2);
  9156. ulong2 __ovld __cnfn hadd(ulong2, ulong2);
  9157. long3 __ovld __cnfn hadd(long3, long3);
  9158. ulong3 __ovld __cnfn hadd(ulong3, ulong3);
  9159. long4 __ovld __cnfn hadd(long4, long4);
  9160. ulong4 __ovld __cnfn hadd(ulong4, ulong4);
  9161. long8 __ovld __cnfn hadd(long8, long8);
  9162. ulong8 __ovld __cnfn hadd(ulong8, ulong8);
  9163. long16 __ovld __cnfn hadd(long16, long16);
  9164. ulong16 __ovld __cnfn hadd(ulong16, ulong16);
  9165.  
  9166. /**
  9167.  * Returns (x + y + 1) >> 1. The intermediate sum
  9168.  * does not modulo overflow.
  9169.  */
  9170. char __ovld __cnfn rhadd(char, char);
  9171. uchar __ovld __cnfn rhadd(uchar, uchar);
  9172. char2 __ovld __cnfn rhadd(char2, char2);
  9173. uchar2 __ovld __cnfn rhadd(uchar2, uchar2);
  9174. char3 __ovld __cnfn rhadd(char3, char3);
  9175. uchar3 __ovld __cnfn rhadd(uchar3, uchar3);
  9176. char4 __ovld __cnfn rhadd(char4, char4);
  9177. uchar4 __ovld __cnfn rhadd(uchar4, uchar4);
  9178. char8 __ovld __cnfn rhadd(char8, char8);
  9179. uchar8 __ovld __cnfn rhadd(uchar8, uchar8);
  9180. char16 __ovld __cnfn rhadd(char16, char16);
  9181. uchar16 __ovld __cnfn rhadd(uchar16, uchar16);
  9182. short __ovld __cnfn rhadd(short, short);
  9183. ushort __ovld __cnfn rhadd(ushort, ushort);
  9184. short2 __ovld __cnfn rhadd(short2, short2);
  9185. ushort2 __ovld __cnfn rhadd(ushort2, ushort2);
  9186. short3 __ovld __cnfn rhadd(short3, short3);
  9187. ushort3 __ovld __cnfn rhadd(ushort3, ushort3);
  9188. short4 __ovld __cnfn rhadd(short4, short4);
  9189. ushort4 __ovld __cnfn rhadd(ushort4, ushort4);
  9190. short8 __ovld __cnfn rhadd(short8, short8);
  9191. ushort8 __ovld __cnfn rhadd(ushort8, ushort8);
  9192. short16 __ovld __cnfn rhadd(short16, short16);
  9193. ushort16 __ovld __cnfn rhadd(ushort16, ushort16);
  9194. int __ovld __cnfn rhadd(int, int);
  9195. uint __ovld __cnfn rhadd(uint, uint);
  9196. int2 __ovld __cnfn rhadd(int2, int2);
  9197. uint2 __ovld __cnfn rhadd(uint2, uint2);
  9198. int3 __ovld __cnfn rhadd(int3, int3);
  9199. uint3 __ovld __cnfn rhadd(uint3, uint3);
  9200. int4 __ovld __cnfn rhadd(int4, int4);
  9201. uint4 __ovld __cnfn rhadd(uint4, uint4);
  9202. int8 __ovld __cnfn rhadd(int8, int8);
  9203. uint8 __ovld __cnfn rhadd(uint8, uint8);
  9204. int16 __ovld __cnfn rhadd(int16, int16);
  9205. uint16 __ovld __cnfn rhadd(uint16, uint16);
  9206. long __ovld __cnfn rhadd(long, long);
  9207. ulong __ovld __cnfn rhadd(ulong, ulong);
  9208. long2 __ovld __cnfn rhadd(long2, long2);
  9209. ulong2 __ovld __cnfn rhadd(ulong2, ulong2);
  9210. long3 __ovld __cnfn rhadd(long3, long3);
  9211. ulong3 __ovld __cnfn rhadd(ulong3, ulong3);
  9212. long4 __ovld __cnfn rhadd(long4, long4);
  9213. ulong4 __ovld __cnfn rhadd(ulong4, ulong4);
  9214. long8 __ovld __cnfn rhadd(long8, long8);
  9215. ulong8 __ovld __cnfn rhadd(ulong8, ulong8);
  9216. long16 __ovld __cnfn rhadd(long16, long16);
  9217. ulong16 __ovld __cnfn rhadd(ulong16, ulong16);
  9218.  
  9219. /**
  9220.  * Returns min(max(x, minval), maxval).
  9221.  * Results are undefined if minval > maxval.
  9222.  */
  9223. char __ovld __cnfn clamp(char, char, char);
  9224. uchar __ovld __cnfn clamp(uchar, uchar, uchar);
  9225. char2 __ovld __cnfn clamp(char2, char2, char2);
  9226. uchar2 __ovld __cnfn clamp(uchar2, uchar2, uchar2);
  9227. char3 __ovld __cnfn clamp(char3, char3, char3);
  9228. uchar3 __ovld __cnfn clamp(uchar3, uchar3, uchar3);
  9229. char4 __ovld __cnfn clamp(char4, char4, char4);
  9230. uchar4 __ovld __cnfn clamp(uchar4, uchar4, uchar4);
  9231. char8 __ovld __cnfn clamp(char8, char8, char8);
  9232. uchar8 __ovld __cnfn clamp(uchar8, uchar8, uchar8);
  9233. char16 __ovld __cnfn clamp(char16, char16, char16);
  9234. uchar16 __ovld __cnfn clamp(uchar16, uchar16, uchar16);
  9235. short __ovld __cnfn clamp(short, short, short);
  9236. ushort __ovld __cnfn clamp(ushort, ushort, ushort);
  9237. short2 __ovld __cnfn clamp(short2, short2, short2);
  9238. ushort2 __ovld __cnfn clamp(ushort2, ushort2, ushort2);
  9239. short3 __ovld __cnfn clamp(short3, short3, short3);
  9240. ushort3 __ovld __cnfn clamp(ushort3, ushort3, ushort3);
  9241. short4 __ovld __cnfn clamp(short4, short4, short4);
  9242. ushort4 __ovld __cnfn clamp(ushort4, ushort4, ushort4);
  9243. short8 __ovld __cnfn clamp(short8, short8, short8);
  9244. ushort8 __ovld __cnfn clamp(ushort8, ushort8, ushort8);
  9245. short16 __ovld __cnfn clamp(short16, short16, short16);
  9246. ushort16 __ovld __cnfn clamp(ushort16, ushort16, ushort16);
  9247. int __ovld __cnfn clamp(int, int, int);
  9248. uint __ovld __cnfn clamp(uint, uint, uint);
  9249. int2 __ovld __cnfn clamp(int2, int2, int2);
  9250. uint2 __ovld __cnfn clamp(uint2, uint2, uint2);
  9251. int3 __ovld __cnfn clamp(int3, int3, int3);
  9252. uint3 __ovld __cnfn clamp(uint3, uint3, uint3);
  9253. int4 __ovld __cnfn clamp(int4, int4, int4);
  9254. uint4 __ovld __cnfn clamp(uint4, uint4, uint4);
  9255. int8 __ovld __cnfn clamp(int8, int8, int8);
  9256. uint8 __ovld __cnfn clamp(uint8, uint8, uint8);
  9257. int16 __ovld __cnfn clamp(int16, int16, int16);
  9258. uint16 __ovld __cnfn clamp(uint16, uint16, uint16);
  9259. long __ovld __cnfn clamp(long, long, long);
  9260. ulong __ovld __cnfn clamp(ulong, ulong, ulong);
  9261. long2 __ovld __cnfn clamp(long2, long2, long2);
  9262. ulong2 __ovld __cnfn clamp(ulong2, ulong2, ulong2);
  9263. long3 __ovld __cnfn clamp(long3, long3, long3);
  9264. ulong3 __ovld __cnfn clamp(ulong3, ulong3, ulong3);
  9265. long4 __ovld __cnfn clamp(long4, long4, long4);
  9266. ulong4 __ovld __cnfn clamp(ulong4, ulong4, ulong4);
  9267. long8 __ovld __cnfn clamp(long8, long8, long8);
  9268. ulong8 __ovld __cnfn clamp(ulong8, ulong8, ulong8);
  9269. long16 __ovld __cnfn clamp(long16, long16, long16);
  9270. ulong16 __ovld __cnfn clamp(ulong16, ulong16, ulong16);
  9271. char2 __ovld __cnfn clamp(char2, char, char);
  9272. uchar2 __ovld __cnfn clamp(uchar2, uchar, uchar);
  9273. char3 __ovld __cnfn clamp(char3, char, char);
  9274. uchar3 __ovld __cnfn clamp(uchar3, uchar, uchar);
  9275. char4 __ovld __cnfn clamp(char4, char, char);
  9276. uchar4 __ovld __cnfn clamp(uchar4, uchar, uchar);
  9277. char8 __ovld __cnfn clamp(char8, char, char);
  9278. uchar8 __ovld __cnfn clamp(uchar8, uchar, uchar);
  9279. char16 __ovld __cnfn clamp(char16, char, char);
  9280. uchar16 __ovld __cnfn clamp(uchar16, uchar, uchar);
  9281. short2 __ovld __cnfn clamp(short2, short, short);
  9282. ushort2 __ovld __cnfn clamp(ushort2, ushort, ushort);
  9283. short3 __ovld __cnfn clamp(short3, short, short);
  9284. ushort3 __ovld __cnfn clamp(ushort3, ushort, ushort);
  9285. short4 __ovld __cnfn clamp(short4, short, short);
  9286. ushort4 __ovld __cnfn clamp(ushort4, ushort, ushort);
  9287. short8 __ovld __cnfn clamp(short8, short, short);
  9288. ushort8 __ovld __cnfn clamp(ushort8, ushort, ushort);
  9289. short16 __ovld __cnfn clamp(short16, short, short);
  9290. ushort16 __ovld __cnfn clamp(ushort16, ushort, ushort);
  9291. int2 __ovld __cnfn clamp(int2, int, int);
  9292. uint2 __ovld __cnfn clamp(uint2, uint, uint);
  9293. int3 __ovld __cnfn clamp(int3, int, int);
  9294. uint3 __ovld __cnfn clamp(uint3, uint, uint);
  9295. int4 __ovld __cnfn clamp(int4, int, int);
  9296. uint4 __ovld __cnfn clamp(uint4, uint, uint);
  9297. int8 __ovld __cnfn clamp(int8, int, int);
  9298. uint8 __ovld __cnfn clamp(uint8, uint, uint);
  9299. int16 __ovld __cnfn clamp(int16, int, int);
  9300. uint16 __ovld __cnfn clamp(uint16, uint, uint);
  9301. long2 __ovld __cnfn clamp(long2, long, long);
  9302. ulong2 __ovld __cnfn clamp(ulong2, ulong, ulong);
  9303. long3 __ovld __cnfn clamp(long3, long, long);
  9304. ulong3 __ovld __cnfn clamp(ulong3, ulong, ulong);
  9305. long4 __ovld __cnfn clamp(long4, long, long);
  9306. ulong4 __ovld __cnfn clamp(ulong4, ulong, ulong);
  9307. long8 __ovld __cnfn clamp(long8, long, long);
  9308. ulong8 __ovld __cnfn clamp(ulong8, ulong, ulong);
  9309. long16 __ovld __cnfn clamp(long16, long, long);
  9310. ulong16 __ovld __cnfn clamp(ulong16, ulong, ulong);
  9311.  
  9312. /**
  9313.  * Returns the number of leading 0-bits in x, starting
  9314.  * at the most significant bit position.
  9315.  */
  9316. char __ovld __cnfn clz(char);
  9317. uchar __ovld __cnfn clz(uchar);
  9318. char2 __ovld __cnfn clz(char2);
  9319. uchar2 __ovld __cnfn clz(uchar2);
  9320. char3 __ovld __cnfn clz(char3);
  9321. uchar3 __ovld __cnfn clz(uchar3);
  9322. char4 __ovld __cnfn clz(char4);
  9323. uchar4 __ovld __cnfn clz(uchar4);
  9324. char8 __ovld __cnfn clz(char8);
  9325. uchar8 __ovld __cnfn clz(uchar8);
  9326. char16 __ovld __cnfn clz(char16);
  9327. uchar16 __ovld __cnfn clz(uchar16);
  9328. short __ovld __cnfn clz(short);
  9329. ushort __ovld __cnfn clz(ushort);
  9330. short2 __ovld __cnfn clz(short2);
  9331. ushort2 __ovld __cnfn clz(ushort2);
  9332. short3 __ovld __cnfn clz(short3);
  9333. ushort3 __ovld __cnfn clz(ushort3);
  9334. short4 __ovld __cnfn clz(short4);
  9335. ushort4 __ovld __cnfn clz(ushort4);
  9336. short8 __ovld __cnfn clz(short8);
  9337. ushort8 __ovld __cnfn clz(ushort8);
  9338. short16 __ovld __cnfn clz(short16);
  9339. ushort16 __ovld __cnfn clz(ushort16);
  9340. int __ovld __cnfn clz(int);
  9341. uint __ovld __cnfn clz(uint);
  9342. int2 __ovld __cnfn clz(int2);
  9343. uint2 __ovld __cnfn clz(uint2);
  9344. int3 __ovld __cnfn clz(int3);
  9345. uint3 __ovld __cnfn clz(uint3);
  9346. int4 __ovld __cnfn clz(int4);
  9347. uint4 __ovld __cnfn clz(uint4);
  9348. int8 __ovld __cnfn clz(int8);
  9349. uint8 __ovld __cnfn clz(uint8);
  9350. int16 __ovld __cnfn clz(int16);
  9351. uint16 __ovld __cnfn clz(uint16);
  9352. long __ovld __cnfn clz(long);
  9353. ulong __ovld __cnfn clz(ulong);
  9354. long2 __ovld __cnfn clz(long2);
  9355. ulong2 __ovld __cnfn clz(ulong2);
  9356. long3 __ovld __cnfn clz(long3);
  9357. ulong3 __ovld __cnfn clz(ulong3);
  9358. long4 __ovld __cnfn clz(long4);
  9359. ulong4 __ovld __cnfn clz(ulong4);
  9360. long8 __ovld __cnfn clz(long8);
  9361. ulong8 __ovld __cnfn clz(ulong8);
  9362. long16 __ovld __cnfn clz(long16);
  9363. ulong16 __ovld __cnfn clz(ulong16);
  9364.  
  9365. /**
  9366.  * Returns the count of trailing 0-bits in x. If x is 0,
  9367.  * returns the size in bits of the type of x or
  9368.  * component type of x, if x is a vector.
  9369.  */
  9370. #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
  9371. char __ovld __cnfn ctz(char);
  9372. uchar __ovld __cnfn ctz(uchar);
  9373. char2 __ovld __cnfn ctz(char2);
  9374. uchar2 __ovld __cnfn ctz(uchar2);
  9375. char3 __ovld __cnfn ctz(char3);
  9376. uchar3 __ovld __cnfn ctz(uchar3);
  9377. char4 __ovld __cnfn ctz(char4);
  9378. uchar4 __ovld __cnfn ctz(uchar4);
  9379. char8 __ovld __cnfn ctz(char8);
  9380. uchar8 __ovld __cnfn ctz(uchar8);
  9381. char16 __ovld __cnfn ctz(char16);
  9382. uchar16 __ovld __cnfn ctz(uchar16);
  9383. short __ovld __cnfn ctz(short);
  9384. ushort __ovld __cnfn ctz(ushort);
  9385. short2 __ovld __cnfn ctz(short2);
  9386. ushort2 __ovld __cnfn ctz(ushort2);
  9387. short3 __ovld __cnfn ctz(short3);
  9388. ushort3 __ovld __cnfn ctz(ushort3);
  9389. short4 __ovld __cnfn ctz(short4);
  9390. ushort4 __ovld __cnfn ctz(ushort4);
  9391. short8 __ovld __cnfn ctz(short8);
  9392. ushort8 __ovld __cnfn ctz(ushort8);
  9393. short16 __ovld __cnfn ctz(short16);
  9394. ushort16 __ovld __cnfn ctz(ushort16);
  9395. int __ovld __cnfn ctz(int);
  9396. uint __ovld __cnfn ctz(uint);
  9397. int2 __ovld __cnfn ctz(int2);
  9398. uint2 __ovld __cnfn ctz(uint2);
  9399. int3 __ovld __cnfn ctz(int3);
  9400. uint3 __ovld __cnfn ctz(uint3);
  9401. int4 __ovld __cnfn ctz(int4);
  9402. uint4 __ovld __cnfn ctz(uint4);
  9403. int8 __ovld __cnfn ctz(int8);
  9404. uint8 __ovld __cnfn ctz(uint8);
  9405. int16 __ovld __cnfn ctz(int16);
  9406. uint16 __ovld __cnfn ctz(uint16);
  9407. long __ovld __cnfn ctz(long);
  9408. ulong __ovld __cnfn ctz(ulong);
  9409. long2 __ovld __cnfn ctz(long2);
  9410. ulong2 __ovld __cnfn ctz(ulong2);
  9411. long3 __ovld __cnfn ctz(long3);
  9412. ulong3 __ovld __cnfn ctz(ulong3);
  9413. long4 __ovld __cnfn ctz(long4);
  9414. ulong4 __ovld __cnfn ctz(ulong4);
  9415. long8 __ovld __cnfn ctz(long8);
  9416. ulong8 __ovld __cnfn ctz(ulong8);
  9417. long16 __ovld __cnfn ctz(long16);
  9418. ulong16 __ovld __cnfn ctz(ulong16);
  9419. #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
  9420.  
  9421. /**
  9422.  * Returns mul_hi(a, b) + c.
  9423.  */
  9424. char __ovld __cnfn mad_hi(char, char, char);
  9425. uchar __ovld __cnfn mad_hi(uchar, uchar, uchar);
  9426. char2 __ovld __cnfn mad_hi(char2, char2, char2);
  9427. uchar2 __ovld __cnfn mad_hi(uchar2, uchar2, uchar2);
  9428. char3 __ovld __cnfn mad_hi(char3, char3, char3);
  9429. uchar3 __ovld __cnfn mad_hi(uchar3, uchar3, uchar3);
  9430. char4 __ovld __cnfn mad_hi(char4, char4, char4);
  9431. uchar4 __ovld __cnfn mad_hi(uchar4, uchar4, uchar4);
  9432. char8 __ovld __cnfn mad_hi(char8, char8, char8);
  9433. uchar8 __ovld __cnfn mad_hi(uchar8, uchar8, uchar8);
  9434. char16 __ovld __cnfn mad_hi(char16, char16, char16);
  9435. uchar16 __ovld __cnfn mad_hi(uchar16, uchar16, uchar16);
  9436. short __ovld __cnfn mad_hi(short, short, short);
  9437. ushort __ovld __cnfn mad_hi(ushort, ushort, ushort);
  9438. short2 __ovld __cnfn mad_hi(short2, short2, short2);
  9439. ushort2 __ovld __cnfn mad_hi(ushort2, ushort2, ushort2);
  9440. short3 __ovld __cnfn mad_hi(short3, short3, short3);
  9441. ushort3 __ovld __cnfn mad_hi(ushort3, ushort3, ushort3);
  9442. short4 __ovld __cnfn mad_hi(short4, short4, short4);
  9443. ushort4 __ovld __cnfn mad_hi(ushort4, ushort4, ushort4);
  9444. short8 __ovld __cnfn mad_hi(short8, short8, short8);
  9445. ushort8 __ovld __cnfn mad_hi(ushort8, ushort8, ushort8);
  9446. short16 __ovld __cnfn mad_hi(short16, short16, short16);
  9447. ushort16 __ovld __cnfn mad_hi(ushort16, ushort16, ushort16);
  9448. int __ovld __cnfn mad_hi(int, int, int);
  9449. uint __ovld __cnfn mad_hi(uint, uint, uint);
  9450. int2 __ovld __cnfn mad_hi(int2, int2, int2);
  9451. uint2 __ovld __cnfn mad_hi(uint2, uint2, uint2);
  9452. int3 __ovld __cnfn mad_hi(int3, int3, int3);
  9453. uint3 __ovld __cnfn mad_hi(uint3, uint3, uint3);
  9454. int4 __ovld __cnfn mad_hi(int4, int4, int4);
  9455. uint4 __ovld __cnfn mad_hi(uint4, uint4, uint4);
  9456. int8 __ovld __cnfn mad_hi(int8, int8, int8);
  9457. uint8 __ovld __cnfn mad_hi(uint8, uint8, uint8);
  9458. int16 __ovld __cnfn mad_hi(int16, int16, int16);
  9459. uint16 __ovld __cnfn mad_hi(uint16, uint16, uint16);
  9460. long __ovld __cnfn mad_hi(long, long, long);
  9461. ulong __ovld __cnfn mad_hi(ulong, ulong, ulong);
  9462. long2 __ovld __cnfn mad_hi(long2, long2, long2);
  9463. ulong2 __ovld __cnfn mad_hi(ulong2, ulong2, ulong2);
  9464. long3 __ovld __cnfn mad_hi(long3, long3, long3);
  9465. ulong3 __ovld __cnfn mad_hi(ulong3, ulong3, ulong3);
  9466. long4 __ovld __cnfn mad_hi(long4, long4, long4);
  9467. ulong4 __ovld __cnfn mad_hi(ulong4, ulong4, ulong4);
  9468. long8 __ovld __cnfn mad_hi(long8, long8, long8);
  9469. ulong8 __ovld __cnfn mad_hi(ulong8, ulong8, ulong8);
  9470. long16 __ovld __cnfn mad_hi(long16, long16, long16);
  9471. ulong16 __ovld __cnfn mad_hi(ulong16, ulong16, ulong16);
  9472.  
  9473. /**
  9474.  * Returns a * b + c and saturates the result.
  9475.  */
  9476. char __ovld __cnfn mad_sat(char, char, char);
  9477. uchar __ovld __cnfn mad_sat(uchar, uchar, uchar);
  9478. char2 __ovld __cnfn mad_sat(char2, char2, char2);
  9479. uchar2 __ovld __cnfn mad_sat(uchar2, uchar2, uchar2);
  9480. char3 __ovld __cnfn mad_sat(char3, char3, char3);
  9481. uchar3 __ovld __cnfn mad_sat(uchar3, uchar3, uchar3);
  9482. char4 __ovld __cnfn mad_sat(char4, char4, char4);
  9483. uchar4 __ovld __cnfn mad_sat(uchar4, uchar4, uchar4);
  9484. char8 __ovld __cnfn mad_sat(char8, char8, char8);
  9485. uchar8 __ovld __cnfn mad_sat(uchar8, uchar8, uchar8);
  9486. char16 __ovld __cnfn mad_sat(char16, char16, char16);
  9487. uchar16 __ovld __cnfn mad_sat(uchar16, uchar16, uchar16);
  9488. short __ovld __cnfn mad_sat(short, short, short);
  9489. ushort __ovld __cnfn mad_sat(ushort, ushort, ushort);
  9490. short2 __ovld __cnfn mad_sat(short2, short2, short2);
  9491. ushort2 __ovld __cnfn mad_sat(ushort2, ushort2, ushort2);
  9492. short3 __ovld __cnfn mad_sat(short3, short3, short3);
  9493. ushort3 __ovld __cnfn mad_sat(ushort3, ushort3, ushort3);
  9494. short4 __ovld __cnfn mad_sat(short4, short4, short4);
  9495. ushort4 __ovld __cnfn mad_sat(ushort4, ushort4, ushort4);
  9496. short8 __ovld __cnfn mad_sat(short8, short8, short8);
  9497. ushort8 __ovld __cnfn mad_sat(ushort8, ushort8, ushort8);
  9498. short16 __ovld __cnfn mad_sat(short16, short16, short16);
  9499. ushort16 __ovld __cnfn mad_sat(ushort16, ushort16, ushort16);
  9500. int __ovld __cnfn mad_sat(int, int, int);
  9501. uint __ovld __cnfn mad_sat(uint, uint, uint);
  9502. int2 __ovld __cnfn mad_sat(int2, int2, int2);
  9503. uint2 __ovld __cnfn mad_sat(uint2, uint2, uint2);
  9504. int3 __ovld __cnfn mad_sat(int3, int3, int3);
  9505. uint3 __ovld __cnfn mad_sat(uint3, uint3, uint3);
  9506. int4 __ovld __cnfn mad_sat(int4, int4, int4);
  9507. uint4 __ovld __cnfn mad_sat(uint4, uint4, uint4);
  9508. int8 __ovld __cnfn mad_sat(int8, int8, int8);
  9509. uint8 __ovld __cnfn mad_sat(uint8, uint8, uint8);
  9510. int16 __ovld __cnfn mad_sat(int16, int16, int16);
  9511. uint16 __ovld __cnfn mad_sat(uint16, uint16, uint16);
  9512. long __ovld __cnfn mad_sat(long, long, long);
  9513. ulong __ovld __cnfn mad_sat(ulong, ulong, ulong);
  9514. long2 __ovld __cnfn mad_sat(long2, long2, long2);
  9515. ulong2 __ovld __cnfn mad_sat(ulong2, ulong2, ulong2);
  9516. long3 __ovld __cnfn mad_sat(long3, long3, long3);
  9517. ulong3 __ovld __cnfn mad_sat(ulong3, ulong3, ulong3);
  9518. long4 __ovld __cnfn mad_sat(long4, long4, long4);
  9519. ulong4 __ovld __cnfn mad_sat(ulong4, ulong4, ulong4);
  9520. long8 __ovld __cnfn mad_sat(long8, long8, long8);
  9521. ulong8 __ovld __cnfn mad_sat(ulong8, ulong8, ulong8);
  9522. long16 __ovld __cnfn mad_sat(long16, long16, long16);
  9523. ulong16 __ovld __cnfn mad_sat(ulong16, ulong16, ulong16);
  9524.  
  9525. /**
  9526.  * Returns y if x < y, otherwise it returns x.
  9527.  */
  9528. char __ovld __cnfn max(char, char);
  9529. uchar __ovld __cnfn max(uchar, uchar);
  9530. char2 __ovld __cnfn max(char2, char2);
  9531. uchar2 __ovld __cnfn max(uchar2, uchar2);
  9532. char3 __ovld __cnfn max(char3, char3);
  9533. uchar3 __ovld __cnfn max(uchar3, uchar3);
  9534. char4 __ovld __cnfn max(char4, char4);
  9535. uchar4 __ovld __cnfn max(uchar4, uchar4);
  9536. char8 __ovld __cnfn max(char8, char8);
  9537. uchar8 __ovld __cnfn max(uchar8, uchar8);
  9538. char16 __ovld __cnfn max(char16, char16);
  9539. uchar16 __ovld __cnfn max(uchar16, uchar16);
  9540. short __ovld __cnfn max(short, short);
  9541. ushort __ovld __cnfn max(ushort, ushort);
  9542. short2 __ovld __cnfn max(short2, short2);
  9543. ushort2 __ovld __cnfn max(ushort2, ushort2);
  9544. short3 __ovld __cnfn max(short3, short3);
  9545. ushort3 __ovld __cnfn max(ushort3, ushort3);
  9546. short4 __ovld __cnfn max(short4, short4);
  9547. ushort4 __ovld __cnfn max(ushort4, ushort4);
  9548. short8 __ovld __cnfn max(short8, short8);
  9549. ushort8 __ovld __cnfn max(ushort8, ushort8);
  9550. short16 __ovld __cnfn max(short16, short16);
  9551. ushort16 __ovld __cnfn max(ushort16, ushort16);
  9552. int __ovld __cnfn max(int, int);
  9553. uint __ovld __cnfn max(uint, uint);
  9554. int2 __ovld __cnfn max(int2, int2);
  9555. uint2 __ovld __cnfn max(uint2, uint2);
  9556. int3 __ovld __cnfn max(int3, int3);
  9557. uint3 __ovld __cnfn max(uint3, uint3);
  9558. int4 __ovld __cnfn max(int4, int4);
  9559. uint4 __ovld __cnfn max(uint4, uint4);
  9560. int8 __ovld __cnfn max(int8, int8);
  9561. uint8 __ovld __cnfn max(uint8, uint8);
  9562. int16 __ovld __cnfn max(int16, int16);
  9563. uint16 __ovld __cnfn max(uint16, uint16);
  9564. long __ovld __cnfn max(long, long);
  9565. ulong __ovld __cnfn max(ulong, ulong);
  9566. long2 __ovld __cnfn max(long2, long2);
  9567. ulong2 __ovld __cnfn max(ulong2, ulong2);
  9568. long3 __ovld __cnfn max(long3, long3);
  9569. ulong3 __ovld __cnfn max(ulong3, ulong3);
  9570. long4 __ovld __cnfn max(long4, long4);
  9571. ulong4 __ovld __cnfn max(ulong4, ulong4);
  9572. long8 __ovld __cnfn max(long8, long8);
  9573. ulong8 __ovld __cnfn max(ulong8, ulong8);
  9574. long16 __ovld __cnfn max(long16, long16);
  9575. ulong16 __ovld __cnfn max(ulong16, ulong16);
  9576. char2 __ovld __cnfn max(char2, char);
  9577. uchar2 __ovld __cnfn max(uchar2, uchar);
  9578. char3 __ovld __cnfn max(char3, char);
  9579. uchar3 __ovld __cnfn max(uchar3, uchar);
  9580. char4 __ovld __cnfn max(char4, char);
  9581. uchar4 __ovld __cnfn max(uchar4, uchar);
  9582. char8 __ovld __cnfn max(char8, char);
  9583. uchar8 __ovld __cnfn max(uchar8, uchar);
  9584. char16 __ovld __cnfn max(char16, char);
  9585. uchar16 __ovld __cnfn max(uchar16, uchar);
  9586. short2 __ovld __cnfn max(short2, short);
  9587. ushort2 __ovld __cnfn max(ushort2, ushort);
  9588. short3 __ovld __cnfn max(short3, short);
  9589. ushort3 __ovld __cnfn max(ushort3, ushort);
  9590. short4 __ovld __cnfn max(short4, short);
  9591. ushort4 __ovld __cnfn max(ushort4, ushort);
  9592. short8 __ovld __cnfn max(short8, short);
  9593. ushort8 __ovld __cnfn max(ushort8, ushort);
  9594. short16 __ovld __cnfn max(short16, short);
  9595. ushort16 __ovld __cnfn max(ushort16, ushort);
  9596. int2 __ovld __cnfn max(int2, int);
  9597. uint2 __ovld __cnfn max(uint2, uint);
  9598. int3 __ovld __cnfn max(int3, int);
  9599. uint3 __ovld __cnfn max(uint3, uint);
  9600. int4 __ovld __cnfn max(int4, int);
  9601. uint4 __ovld __cnfn max(uint4, uint);
  9602. int8 __ovld __cnfn max(int8, int);
  9603. uint8 __ovld __cnfn max(uint8, uint);
  9604. int16 __ovld __cnfn max(int16, int);
  9605. uint16 __ovld __cnfn max(uint16, uint);
  9606. long2 __ovld __cnfn max(long2, long);
  9607. ulong2 __ovld __cnfn max(ulong2, ulong);
  9608. long3 __ovld __cnfn max(long3, long);
  9609. ulong3 __ovld __cnfn max(ulong3, ulong);
  9610. long4 __ovld __cnfn max(long4, long);
  9611. ulong4 __ovld __cnfn max(ulong4, ulong);
  9612. long8 __ovld __cnfn max(long8, long);
  9613. ulong8 __ovld __cnfn max(ulong8, ulong);
  9614. long16 __ovld __cnfn max(long16, long);
  9615. ulong16 __ovld __cnfn max(ulong16, ulong);
  9616.  
  9617. /**
  9618.  * Returns y if y < x, otherwise it returns x.
  9619.  */
  9620. char __ovld __cnfn min(char, char);
  9621. uchar __ovld __cnfn min(uchar, uchar);
  9622. char2 __ovld __cnfn min(char2, char2);
  9623. uchar2 __ovld __cnfn min(uchar2, uchar2);
  9624. char3 __ovld __cnfn min(char3, char3);
  9625. uchar3 __ovld __cnfn min(uchar3, uchar3);
  9626. char4 __ovld __cnfn min(char4, char4);
  9627. uchar4 __ovld __cnfn min(uchar4, uchar4);
  9628. char8 __ovld __cnfn min(char8, char8);
  9629. uchar8 __ovld __cnfn min(uchar8, uchar8);
  9630. char16 __ovld __cnfn min(char16, char16);
  9631. uchar16 __ovld __cnfn min(uchar16, uchar16);
  9632. short __ovld __cnfn min(short, short);
  9633. ushort __ovld __cnfn min(ushort, ushort);
  9634. short2 __ovld __cnfn min(short2, short2);
  9635. ushort2 __ovld __cnfn min(ushort2, ushort2);
  9636. short3 __ovld __cnfn min(short3, short3);
  9637. ushort3 __ovld __cnfn min(ushort3, ushort3);
  9638. short4 __ovld __cnfn min(short4, short4);
  9639. ushort4 __ovld __cnfn min(ushort4, ushort4);
  9640. short8 __ovld __cnfn min(short8, short8);
  9641. ushort8 __ovld __cnfn min(ushort8, ushort8);
  9642. short16 __ovld __cnfn min(short16, short16);
  9643. ushort16 __ovld __cnfn min(ushort16, ushort16);
  9644. int __ovld __cnfn min(int, int);
  9645. uint __ovld __cnfn min(uint, uint);
  9646. int2 __ovld __cnfn min(int2, int2);
  9647. uint2 __ovld __cnfn min(uint2, uint2);
  9648. int3 __ovld __cnfn min(int3, int3);
  9649. uint3 __ovld __cnfn min(uint3, uint3);
  9650. int4 __ovld __cnfn min(int4, int4);
  9651. uint4 __ovld __cnfn min(uint4, uint4);
  9652. int8 __ovld __cnfn min(int8, int8);
  9653. uint8 __ovld __cnfn min(uint8, uint8);
  9654. int16 __ovld __cnfn min(int16, int16);
  9655. uint16 __ovld __cnfn min(uint16, uint16);
  9656. long __ovld __cnfn min(long, long);
  9657. ulong __ovld __cnfn min(ulong, ulong);
  9658. long2 __ovld __cnfn min(long2, long2);
  9659. ulong2 __ovld __cnfn min(ulong2, ulong2);
  9660. long3 __ovld __cnfn min(long3, long3);
  9661. ulong3 __ovld __cnfn min(ulong3, ulong3);
  9662. long4 __ovld __cnfn min(long4, long4);
  9663. ulong4 __ovld __cnfn min(ulong4, ulong4);
  9664. long8 __ovld __cnfn min(long8, long8);
  9665. ulong8 __ovld __cnfn min(ulong8, ulong8);
  9666. long16 __ovld __cnfn min(long16, long16);
  9667. ulong16 __ovld __cnfn min(ulong16, ulong16);
  9668. char2 __ovld __cnfn min(char2, char);
  9669. uchar2 __ovld __cnfn min(uchar2, uchar);
  9670. char3 __ovld __cnfn min(char3, char);
  9671. uchar3 __ovld __cnfn min(uchar3, uchar);
  9672. char4 __ovld __cnfn min(char4, char);
  9673. uchar4 __ovld __cnfn min(uchar4, uchar);
  9674. char8 __ovld __cnfn min(char8, char);
  9675. uchar8 __ovld __cnfn min(uchar8, uchar);
  9676. char16 __ovld __cnfn min(char16, char);
  9677. uchar16 __ovld __cnfn min(uchar16, uchar);
  9678. short2 __ovld __cnfn min(short2, short);
  9679. ushort2 __ovld __cnfn min(ushort2, ushort);
  9680. short3 __ovld __cnfn min(short3, short);
  9681. ushort3 __ovld __cnfn min(ushort3, ushort);
  9682. short4 __ovld __cnfn min(short4, short);
  9683. ushort4 __ovld __cnfn min(ushort4, ushort);
  9684. short8 __ovld __cnfn min(short8, short);
  9685. ushort8 __ovld __cnfn min(ushort8, ushort);
  9686. short16 __ovld __cnfn min(short16, short);
  9687. ushort16 __ovld __cnfn min(ushort16, ushort);
  9688. int2 __ovld __cnfn min(int2, int);
  9689. uint2 __ovld __cnfn min(uint2, uint);
  9690. int3 __ovld __cnfn min(int3, int);
  9691. uint3 __ovld __cnfn min(uint3, uint);
  9692. int4 __ovld __cnfn min(int4, int);
  9693. uint4 __ovld __cnfn min(uint4, uint);
  9694. int8 __ovld __cnfn min(int8, int);
  9695. uint8 __ovld __cnfn min(uint8, uint);
  9696. int16 __ovld __cnfn min(int16, int);
  9697. uint16 __ovld __cnfn min(uint16, uint);
  9698. long2 __ovld __cnfn min(long2, long);
  9699. ulong2 __ovld __cnfn min(ulong2, ulong);
  9700. long3 __ovld __cnfn min(long3, long);
  9701. ulong3 __ovld __cnfn min(ulong3, ulong);
  9702. long4 __ovld __cnfn min(long4, long);
  9703. ulong4 __ovld __cnfn min(ulong4, ulong);
  9704. long8 __ovld __cnfn min(long8, long);
  9705. ulong8 __ovld __cnfn min(ulong8, ulong);
  9706. long16 __ovld __cnfn min(long16, long);
  9707. ulong16 __ovld __cnfn min(ulong16, ulong);
  9708.  
  9709. /**
  9710.  * Computes x * y and returns the high half of the
  9711.  * product of x and y.
  9712.  */
  9713. char __ovld __cnfn mul_hi(char, char);
  9714. uchar __ovld __cnfn mul_hi(uchar, uchar);
  9715. char2 __ovld __cnfn mul_hi(char2, char2);
  9716. uchar2 __ovld __cnfn mul_hi(uchar2, uchar2);
  9717. char3 __ovld __cnfn mul_hi(char3, char3);
  9718. uchar3 __ovld __cnfn mul_hi(uchar3, uchar3);
  9719. char4 __ovld __cnfn mul_hi(char4, char4);
  9720. uchar4 __ovld __cnfn mul_hi(uchar4, uchar4);
  9721. char8 __ovld __cnfn mul_hi(char8, char8);
  9722. uchar8 __ovld __cnfn mul_hi(uchar8, uchar8);
  9723. char16 __ovld __cnfn mul_hi(char16, char16);
  9724. uchar16 __ovld __cnfn mul_hi(uchar16, uchar16);
  9725. short __ovld __cnfn mul_hi(short, short);
  9726. ushort __ovld __cnfn mul_hi(ushort, ushort);
  9727. short2 __ovld __cnfn mul_hi(short2, short2);
  9728. ushort2 __ovld __cnfn mul_hi(ushort2, ushort2);
  9729. short3 __ovld __cnfn mul_hi(short3, short3);
  9730. ushort3 __ovld __cnfn mul_hi(ushort3, ushort3);
  9731. short4 __ovld __cnfn mul_hi(short4, short4);
  9732. ushort4 __ovld __cnfn mul_hi(ushort4, ushort4);
  9733. short8 __ovld __cnfn mul_hi(short8, short8);
  9734. ushort8 __ovld __cnfn mul_hi(ushort8, ushort8);
  9735. short16 __ovld __cnfn mul_hi(short16, short16);
  9736. ushort16 __ovld __cnfn mul_hi(ushort16, ushort16);
  9737. int __ovld __cnfn mul_hi(int, int);
  9738. uint __ovld __cnfn mul_hi(uint, uint);
  9739. int2 __ovld __cnfn mul_hi(int2, int2);
  9740. uint2 __ovld __cnfn mul_hi(uint2, uint2);
  9741. int3 __ovld __cnfn mul_hi(int3, int3);
  9742. uint3 __ovld __cnfn mul_hi(uint3, uint3);
  9743. int4 __ovld __cnfn mul_hi(int4, int4);
  9744. uint4 __ovld __cnfn mul_hi(uint4, uint4);
  9745. int8 __ovld __cnfn mul_hi(int8, int8);
  9746. uint8 __ovld __cnfn mul_hi(uint8, uint8);
  9747. int16 __ovld __cnfn mul_hi(int16, int16);
  9748. uint16 __ovld __cnfn mul_hi(uint16, uint16);
  9749. long __ovld __cnfn mul_hi(long, long);
  9750. ulong __ovld __cnfn mul_hi(ulong, ulong);
  9751. long2 __ovld __cnfn mul_hi(long2, long2);
  9752. ulong2 __ovld __cnfn mul_hi(ulong2, ulong2);
  9753. long3 __ovld __cnfn mul_hi(long3, long3);
  9754. ulong3 __ovld __cnfn mul_hi(ulong3, ulong3);
  9755. long4 __ovld __cnfn mul_hi(long4, long4);
  9756. ulong4 __ovld __cnfn mul_hi(ulong4, ulong4);
  9757. long8 __ovld __cnfn mul_hi(long8, long8);
  9758. ulong8 __ovld __cnfn mul_hi(ulong8, ulong8);
  9759. long16 __ovld __cnfn mul_hi(long16, long16);
  9760. ulong16 __ovld __cnfn mul_hi(ulong16, ulong16);
  9761.  
  9762. /**
  9763.  * For each element in v, the bits are shifted left by
  9764.  * the number of bits given by the corresponding
  9765.  * element in i (subject to usual shift modulo rules
  9766.  * described in section 6.3). Bits shifted off the left
  9767.  * side of the element are shifted back in from the
  9768.  * right.
  9769.  */
  9770. char __ovld __cnfn rotate(char, char);
  9771. uchar __ovld __cnfn rotate(uchar, uchar);
  9772. char2 __ovld __cnfn rotate(char2, char2);
  9773. uchar2 __ovld __cnfn rotate(uchar2, uchar2);
  9774. char3 __ovld __cnfn rotate(char3, char3);
  9775. uchar3 __ovld __cnfn rotate(uchar3, uchar3);
  9776. char4 __ovld __cnfn rotate(char4, char4);
  9777. uchar4 __ovld __cnfn rotate(uchar4, uchar4);
  9778. char8 __ovld __cnfn rotate(char8, char8);
  9779. uchar8 __ovld __cnfn rotate(uchar8, uchar8);
  9780. char16 __ovld __cnfn rotate(char16, char16);
  9781. uchar16 __ovld __cnfn rotate(uchar16, uchar16);
  9782. short __ovld __cnfn rotate(short, short);
  9783. ushort __ovld __cnfn rotate(ushort, ushort);
  9784. short2 __ovld __cnfn rotate(short2, short2);
  9785. ushort2 __ovld __cnfn rotate(ushort2, ushort2);
  9786. short3 __ovld __cnfn rotate(short3, short3);
  9787. ushort3 __ovld __cnfn rotate(ushort3, ushort3);
  9788. short4 __ovld __cnfn rotate(short4, short4);
  9789. ushort4 __ovld __cnfn rotate(ushort4, ushort4);
  9790. short8 __ovld __cnfn rotate(short8, short8);
  9791. ushort8 __ovld __cnfn rotate(ushort8, ushort8);
  9792. short16 __ovld __cnfn rotate(short16, short16);
  9793. ushort16 __ovld __cnfn rotate(ushort16, ushort16);
  9794. int __ovld __cnfn rotate(int, int);
  9795. uint __ovld __cnfn rotate(uint, uint);
  9796. int2 __ovld __cnfn rotate(int2, int2);
  9797. uint2 __ovld __cnfn rotate(uint2, uint2);
  9798. int3 __ovld __cnfn rotate(int3, int3);
  9799. uint3 __ovld __cnfn rotate(uint3, uint3);
  9800. int4 __ovld __cnfn rotate(int4, int4);
  9801. uint4 __ovld __cnfn rotate(uint4, uint4);
  9802. int8 __ovld __cnfn rotate(int8, int8);
  9803. uint8 __ovld __cnfn rotate(uint8, uint8);
  9804. int16 __ovld __cnfn rotate(int16, int16);
  9805. uint16 __ovld __cnfn rotate(uint16, uint16);
  9806. long __ovld __cnfn rotate(long, long);
  9807. ulong __ovld __cnfn rotate(ulong, ulong);
  9808. long2 __ovld __cnfn rotate(long2, long2);
  9809. ulong2 __ovld __cnfn rotate(ulong2, ulong2);
  9810. long3 __ovld __cnfn rotate(long3, long3);
  9811. ulong3 __ovld __cnfn rotate(ulong3, ulong3);
  9812. long4 __ovld __cnfn rotate(long4, long4);
  9813. ulong4 __ovld __cnfn rotate(ulong4, ulong4);
  9814. long8 __ovld __cnfn rotate(long8, long8);
  9815. ulong8 __ovld __cnfn rotate(ulong8, ulong8);
  9816. long16 __ovld __cnfn rotate(long16, long16);
  9817. ulong16 __ovld __cnfn rotate(ulong16, ulong16);
  9818.  
  9819. /**
  9820.  * Returns x - y and saturates the result.
  9821.  */
  9822. char __ovld __cnfn sub_sat(char, char);
  9823. uchar __ovld __cnfn sub_sat(uchar, uchar);
  9824. char2 __ovld __cnfn sub_sat(char2, char2);
  9825. uchar2 __ovld __cnfn sub_sat(uchar2, uchar2);
  9826. char3 __ovld __cnfn sub_sat(char3, char3);
  9827. uchar3 __ovld __cnfn sub_sat(uchar3, uchar3);
  9828. char4 __ovld __cnfn sub_sat(char4, char4);
  9829. uchar4 __ovld __cnfn sub_sat(uchar4, uchar4);
  9830. char8 __ovld __cnfn sub_sat(char8, char8);
  9831. uchar8 __ovld __cnfn sub_sat(uchar8, uchar8);
  9832. char16 __ovld __cnfn sub_sat(char16, char16);
  9833. uchar16 __ovld __cnfn sub_sat(uchar16, uchar16);
  9834. short __ovld __cnfn sub_sat(short, short);
  9835. ushort __ovld __cnfn sub_sat(ushort, ushort);
  9836. short2 __ovld __cnfn sub_sat(short2, short2);
  9837. ushort2 __ovld __cnfn sub_sat(ushort2, ushort2);
  9838. short3 __ovld __cnfn sub_sat(short3, short3);
  9839. ushort3 __ovld __cnfn sub_sat(ushort3, ushort3);
  9840. short4 __ovld __cnfn sub_sat(short4, short4);
  9841. ushort4 __ovld __cnfn sub_sat(ushort4, ushort4);
  9842. short8 __ovld __cnfn sub_sat(short8, short8);
  9843. ushort8 __ovld __cnfn sub_sat(ushort8, ushort8);
  9844. short16 __ovld __cnfn sub_sat(short16, short16);
  9845. ushort16 __ovld __cnfn sub_sat(ushort16, ushort16);
  9846. int __ovld __cnfn sub_sat(int, int);
  9847. uint __ovld __cnfn sub_sat(uint, uint);
  9848. int2 __ovld __cnfn sub_sat(int2, int2);
  9849. uint2 __ovld __cnfn sub_sat(uint2, uint2);
  9850. int3 __ovld __cnfn sub_sat(int3, int3);
  9851. uint3 __ovld __cnfn sub_sat(uint3, uint3);
  9852. int4 __ovld __cnfn sub_sat(int4, int4);
  9853. uint4 __ovld __cnfn sub_sat(uint4, uint4);
  9854. int8 __ovld __cnfn sub_sat(int8, int8);
  9855. uint8 __ovld __cnfn sub_sat(uint8, uint8);
  9856. int16 __ovld __cnfn sub_sat(int16, int16);
  9857. uint16 __ovld __cnfn sub_sat(uint16, uint16);
  9858. long __ovld __cnfn sub_sat(long, long);
  9859. ulong __ovld __cnfn sub_sat(ulong, ulong);
  9860. long2 __ovld __cnfn sub_sat(long2, long2);
  9861. ulong2 __ovld __cnfn sub_sat(ulong2, ulong2);
  9862. long3 __ovld __cnfn sub_sat(long3, long3);
  9863. ulong3 __ovld __cnfn sub_sat(ulong3, ulong3);
  9864. long4 __ovld __cnfn sub_sat(long4, long4);
  9865. ulong4 __ovld __cnfn sub_sat(ulong4, ulong4);
  9866. long8 __ovld __cnfn sub_sat(long8, long8);
  9867. ulong8 __ovld __cnfn sub_sat(ulong8, ulong8);
  9868. long16 __ovld __cnfn sub_sat(long16, long16);
  9869. ulong16 __ovld __cnfn sub_sat(ulong16, ulong16);
  9870.  
  9871. /**
  9872.  * result[i] = ((short)hi[i] << 8) | lo[i]
  9873.  * result[i] = ((ushort)hi[i] << 8) | lo[i]
  9874.  */
  9875. short __ovld __cnfn upsample(char, uchar);
  9876. ushort __ovld __cnfn upsample(uchar, uchar);
  9877. short2 __ovld __cnfn upsample(char2, uchar2);
  9878. short3 __ovld __cnfn upsample(char3, uchar3);
  9879. short4 __ovld __cnfn upsample(char4, uchar4);
  9880. short8 __ovld __cnfn upsample(char8, uchar8);
  9881. short16 __ovld __cnfn upsample(char16, uchar16);
  9882. ushort2 __ovld __cnfn upsample(uchar2, uchar2);
  9883. ushort3 __ovld __cnfn upsample(uchar3, uchar3);
  9884. ushort4 __ovld __cnfn upsample(uchar4, uchar4);
  9885. ushort8 __ovld __cnfn upsample(uchar8, uchar8);
  9886. ushort16 __ovld __cnfn upsample(uchar16, uchar16);
  9887.  
  9888. /**
  9889.  * result[i] = ((int)hi[i] << 16) | lo[i]
  9890.  * result[i] = ((uint)hi[i] << 16) | lo[i]
  9891.  */
  9892. int __ovld __cnfn upsample(short, ushort);
  9893. uint __ovld __cnfn upsample(ushort, ushort);
  9894. int2 __ovld __cnfn upsample(short2, ushort2);
  9895. int3 __ovld __cnfn upsample(short3, ushort3);
  9896. int4 __ovld __cnfn upsample(short4, ushort4);
  9897. int8 __ovld __cnfn upsample(short8, ushort8);
  9898. int16 __ovld __cnfn upsample(short16, ushort16);
  9899. uint2 __ovld __cnfn upsample(ushort2, ushort2);
  9900. uint3 __ovld __cnfn upsample(ushort3, ushort3);
  9901. uint4 __ovld __cnfn upsample(ushort4, ushort4);
  9902. uint8 __ovld __cnfn upsample(ushort8, ushort8);
  9903. uint16 __ovld __cnfn upsample(ushort16, ushort16);
  9904. /**
  9905.  * result[i] = ((long)hi[i] << 32) | lo[i]
  9906.  * result[i] = ((ulong)hi[i] << 32) | lo[i]
  9907.  */
  9908. long __ovld __cnfn upsample(int, uint);
  9909. ulong __ovld __cnfn upsample(uint, uint);
  9910. long2 __ovld __cnfn upsample(int2, uint2);
  9911. long3 __ovld __cnfn upsample(int3, uint3);
  9912. long4 __ovld __cnfn upsample(int4, uint4);
  9913. long8 __ovld __cnfn upsample(int8, uint8);
  9914. long16 __ovld __cnfn upsample(int16, uint16);
  9915. ulong2 __ovld __cnfn upsample(uint2, uint2);
  9916. ulong3 __ovld __cnfn upsample(uint3, uint3);
  9917. ulong4 __ovld __cnfn upsample(uint4, uint4);
  9918. ulong8 __ovld __cnfn upsample(uint8, uint8);
  9919. ulong16 __ovld __cnfn upsample(uint16, uint16);
  9920.  
  9921. /*
  9922.  * popcount(x): returns the number of set bit in x
  9923.  */
  9924. #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
  9925. char __ovld __cnfn popcount(char);
  9926. uchar __ovld __cnfn popcount(uchar);
  9927. char2 __ovld __cnfn popcount(char2);
  9928. uchar2 __ovld __cnfn popcount(uchar2);
  9929. char3 __ovld __cnfn popcount(char3);
  9930. uchar3 __ovld __cnfn popcount(uchar3);
  9931. char4 __ovld __cnfn popcount(char4);
  9932. uchar4 __ovld __cnfn popcount(uchar4);
  9933. char8 __ovld __cnfn popcount(char8);
  9934. uchar8 __ovld __cnfn popcount(uchar8);
  9935. char16 __ovld __cnfn popcount(char16);
  9936. uchar16 __ovld __cnfn popcount(uchar16);
  9937. short __ovld __cnfn popcount(short);
  9938. ushort __ovld __cnfn popcount(ushort);
  9939. short2 __ovld __cnfn popcount(short2);
  9940. ushort2 __ovld __cnfn popcount(ushort2);
  9941. short3 __ovld __cnfn popcount(short3);
  9942. ushort3 __ovld __cnfn popcount(ushort3);
  9943. short4 __ovld __cnfn popcount(short4);
  9944. ushort4 __ovld __cnfn popcount(ushort4);
  9945. short8 __ovld __cnfn popcount(short8);
  9946. ushort8 __ovld __cnfn popcount(ushort8);
  9947. short16 __ovld __cnfn popcount(short16);
  9948. ushort16 __ovld __cnfn popcount(ushort16);
  9949. int __ovld __cnfn popcount(int);
  9950. uint __ovld __cnfn popcount(uint);
  9951. int2 __ovld __cnfn popcount(int2);
  9952. uint2 __ovld __cnfn popcount(uint2);
  9953. int3 __ovld __cnfn popcount(int3);
  9954. uint3 __ovld __cnfn popcount(uint3);
  9955. int4 __ovld __cnfn popcount(int4);
  9956. uint4 __ovld __cnfn popcount(uint4);
  9957. int8 __ovld __cnfn popcount(int8);
  9958. uint8 __ovld __cnfn popcount(uint8);
  9959. int16 __ovld __cnfn popcount(int16);
  9960. uint16 __ovld __cnfn popcount(uint16);
  9961. long __ovld __cnfn popcount(long);
  9962. ulong __ovld __cnfn popcount(ulong);
  9963. long2 __ovld __cnfn popcount(long2);
  9964. ulong2 __ovld __cnfn popcount(ulong2);
  9965. long3 __ovld __cnfn popcount(long3);
  9966. ulong3 __ovld __cnfn popcount(ulong3);
  9967. long4 __ovld __cnfn popcount(long4);
  9968. ulong4 __ovld __cnfn popcount(ulong4);
  9969. long8 __ovld __cnfn popcount(long8);
  9970. ulong8 __ovld __cnfn popcount(ulong8);
  9971. long16 __ovld __cnfn popcount(long16);
  9972. ulong16 __ovld __cnfn popcount(ulong16);
  9973. #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
  9974.  
  9975. /**
  9976.  * Multiply two 24-bit integer values x and y and add
  9977.  * the 32-bit integer result to the 32-bit integer z.
  9978.  * Refer to definition of mul24 to see how the 24-bit
  9979.  * integer multiplication is performed.
  9980.  */
  9981. int __ovld __cnfn mad24(int, int, int);
  9982. uint __ovld __cnfn mad24(uint, uint, uint);
  9983. int2 __ovld __cnfn mad24(int2, int2, int2);
  9984. uint2 __ovld __cnfn mad24(uint2, uint2, uint2);
  9985. int3 __ovld __cnfn mad24(int3, int3, int3);
  9986. uint3 __ovld __cnfn mad24(uint3, uint3, uint3);
  9987. int4 __ovld __cnfn mad24(int4, int4, int4);
  9988. uint4 __ovld __cnfn mad24(uint4, uint4, uint4);
  9989. int8 __ovld __cnfn mad24(int8, int8, int8);
  9990. uint8 __ovld __cnfn mad24(uint8, uint8, uint8);
  9991. int16 __ovld __cnfn mad24(int16, int16, int16);
  9992. uint16 __ovld __cnfn mad24(uint16, uint16, uint16);
  9993.  
  9994. /**
  9995.  * Multiply two 24-bit integer values x and y. x and y
  9996.  * are 32-bit integers but only the low 24-bits are used
  9997.  * to perform the multiplication. mul24 should only
  9998.  * be used when values in x and y are in the range [-
  9999.  * 2^23, 2^23-1] if x and y are signed integers and in the
  10000.  * range [0, 2^24-1] if x and y are unsigned integers. If
  10001.  * x and y are not in this range, the multiplication
  10002.  * result is implementation-defined.
  10003.  */
  10004. int __ovld __cnfn mul24(int, int);
  10005. uint __ovld __cnfn mul24(uint, uint);
  10006. int2 __ovld __cnfn mul24(int2, int2);
  10007. uint2 __ovld __cnfn mul24(uint2, uint2);
  10008. int3 __ovld __cnfn mul24(int3, int3);
  10009. uint3 __ovld __cnfn mul24(uint3, uint3);
  10010. int4 __ovld __cnfn mul24(int4, int4);
  10011. uint4 __ovld __cnfn mul24(uint4, uint4);
  10012. int8 __ovld __cnfn mul24(int8, int8);
  10013. uint8 __ovld __cnfn mul24(uint8, uint8);
  10014. int16 __ovld __cnfn mul24(int16, int16);
  10015. uint16 __ovld __cnfn mul24(uint16, uint16);
  10016.  
  10017. // OpenCL v1.1 s6.11.4, v1.2 s6.12.4, v2.0 s6.13.4 - Common Functions
  10018.  
  10019. /**
  10020.  * Returns fmin(fmax(x, minval), maxval).
  10021.  * Results are undefined if minval > maxval.
  10022.  */
  10023. float __ovld __cnfn clamp(float, float, float);
  10024. float2 __ovld __cnfn clamp(float2, float2, float2);
  10025. float3 __ovld __cnfn clamp(float3, float3, float3);
  10026. float4 __ovld __cnfn clamp(float4, float4, float4);
  10027. float8 __ovld __cnfn clamp(float8, float8, float8);
  10028. float16 __ovld __cnfn clamp(float16, float16, float16);
  10029. float2 __ovld __cnfn clamp(float2, float, float);
  10030. float3 __ovld __cnfn clamp(float3, float, float);
  10031. float4 __ovld __cnfn clamp(float4, float, float);
  10032. float8 __ovld __cnfn clamp(float8, float, float);
  10033. float16 __ovld __cnfn clamp(float16, float, float);
  10034. #ifdef cl_khr_fp64
  10035. double __ovld __cnfn clamp(double, double, double);
  10036. double2 __ovld __cnfn clamp(double2, double2, double2);
  10037. double3 __ovld __cnfn clamp(double3, double3, double3);
  10038. double4 __ovld __cnfn clamp(double4, double4, double4);
  10039. double8 __ovld __cnfn clamp(double8, double8, double8);
  10040. double16 __ovld __cnfn clamp(double16, double16, double16);
  10041. double2 __ovld __cnfn clamp(double2, double, double);
  10042. double3 __ovld __cnfn clamp(double3, double, double);
  10043. double4 __ovld __cnfn clamp(double4, double, double);
  10044. double8 __ovld __cnfn clamp(double8, double, double);
  10045. double16 __ovld __cnfn clamp(double16, double, double);
  10046. #endif //cl_khr_fp64
  10047. #ifdef cl_khr_fp16
  10048. half __ovld __cnfn clamp(half, half, half);
  10049. half2 __ovld __cnfn clamp(half2, half2, half2);
  10050. half3 __ovld __cnfn clamp(half3, half3, half3);
  10051. half4 __ovld __cnfn clamp(half4, half4, half4);
  10052. half8 __ovld __cnfn clamp(half8, half8, half8);
  10053. half16 __ovld __cnfn clamp(half16, half16, half16);
  10054. half2 __ovld __cnfn clamp(half2, half, half);
  10055. half3 __ovld __cnfn clamp(half3, half, half);
  10056. half4 __ovld __cnfn clamp(half4, half, half);
  10057. half8 __ovld __cnfn clamp(half8, half, half);
  10058. half16 __ovld __cnfn clamp(half16, half, half);
  10059. #endif //cl_khr_fp16
  10060.  
  10061. /**
  10062.  * Converts radians to degrees, i.e. (180 / PI) *
  10063.  * radians.
  10064.  */
  10065. float __ovld __cnfn degrees(float);
  10066. float2 __ovld __cnfn degrees(float2);
  10067. float3 __ovld __cnfn degrees(float3);
  10068. float4 __ovld __cnfn degrees(float4);
  10069. float8 __ovld __cnfn degrees(float8);
  10070. float16 __ovld __cnfn degrees(float16);
  10071. #ifdef cl_khr_fp64
  10072. double __ovld __cnfn degrees(double);
  10073. double2 __ovld __cnfn degrees(double2);
  10074. double3 __ovld __cnfn degrees(double3);
  10075. double4 __ovld __cnfn degrees(double4);
  10076. double8 __ovld __cnfn degrees(double8);
  10077. double16 __ovld __cnfn degrees(double16);
  10078. #endif //cl_khr_fp64
  10079. #ifdef cl_khr_fp16
  10080. half __ovld __cnfn degrees(half);
  10081. half2 __ovld __cnfn degrees(half2);
  10082. half3 __ovld __cnfn degrees(half3);
  10083. half4 __ovld __cnfn degrees(half4);
  10084. half8 __ovld __cnfn degrees(half8);
  10085. half16 __ovld __cnfn degrees(half16);
  10086. #endif //cl_khr_fp16
  10087.  
  10088. /**
  10089.  * Returns y if x < y, otherwise it returns x. If x and y
  10090.  * are infinite or NaN, the return values are undefined.
  10091.  */
  10092. float __ovld __cnfn max(float, float);
  10093. float2 __ovld __cnfn max(float2, float2);
  10094. float3 __ovld __cnfn max(float3, float3);
  10095. float4 __ovld __cnfn max(float4, float4);
  10096. float8 __ovld __cnfn max(float8, float8);
  10097. float16 __ovld __cnfn max(float16, float16);
  10098. float2 __ovld __cnfn max(float2, float);
  10099. float3 __ovld __cnfn max(float3, float);
  10100. float4 __ovld __cnfn max(float4, float);
  10101. float8 __ovld __cnfn max(float8, float);
  10102. float16 __ovld __cnfn max(float16, float);
  10103. #ifdef cl_khr_fp64
  10104. double __ovld __cnfn max(double, double);
  10105. double2 __ovld __cnfn max(double2, double2);
  10106. double3 __ovld __cnfn max(double3, double3);
  10107. double4 __ovld __cnfn max(double4, double4);
  10108. double8 __ovld __cnfn max(double8, double8);
  10109. double16 __ovld __cnfn max(double16, double16);
  10110. double2 __ovld __cnfn max(double2, double);
  10111. double3 __ovld __cnfn max(double3, double);
  10112. double4 __ovld __cnfn max(double4, double);
  10113. double8 __ovld __cnfn max(double8, double);
  10114. double16 __ovld __cnfn max(double16, double);
  10115. #endif //cl_khr_fp64
  10116. #ifdef cl_khr_fp16
  10117. half __ovld __cnfn max(half, half);
  10118. half2 __ovld __cnfn max(half2, half2);
  10119. half3 __ovld __cnfn max(half3, half3);
  10120. half4 __ovld __cnfn max(half4, half4);
  10121. half8 __ovld __cnfn max(half8, half8);
  10122. half16 __ovld __cnfn max(half16, half16);
  10123. half2 __ovld __cnfn max(half2, half);
  10124. half3 __ovld __cnfn max(half3, half);
  10125. half4 __ovld __cnfn max(half4, half);
  10126. half8 __ovld __cnfn max(half8, half);
  10127. half16 __ovld __cnfn max(half16, half);
  10128. #endif //cl_khr_fp16
  10129.  
  10130. /**
  10131.  * Returns y if y < x, otherwise it returns x. If x and y
  10132.  * are infinite or NaN, the return values are undefined.
  10133.  */
  10134. float __ovld __cnfn min(float, float);
  10135. float2 __ovld __cnfn min(float2, float2);
  10136. float3 __ovld __cnfn min(float3, float3);
  10137. float4 __ovld __cnfn min(float4, float4);
  10138. float8 __ovld __cnfn min(float8, float8);
  10139. float16 __ovld __cnfn min(float16, float16);
  10140. float2 __ovld __cnfn min(float2, float);
  10141. float3 __ovld __cnfn min(float3, float);
  10142. float4 __ovld __cnfn min(float4, float);
  10143. float8 __ovld __cnfn min(float8, float);
  10144. float16 __ovld __cnfn min(float16, float);
  10145. #ifdef cl_khr_fp64
  10146. double __ovld __cnfn min(double, double);
  10147. double2 __ovld __cnfn min(double2, double2);
  10148. double3 __ovld __cnfn min(double3, double3);
  10149. double4 __ovld __cnfn min(double4, double4);
  10150. double8 __ovld __cnfn min(double8, double8);
  10151. double16 __ovld __cnfn min(double16, double16);
  10152. double2 __ovld __cnfn min(double2, double);
  10153. double3 __ovld __cnfn min(double3, double);
  10154. double4 __ovld __cnfn min(double4, double);
  10155. double8 __ovld __cnfn min(double8, double);
  10156. double16 __ovld __cnfn min(double16, double);
  10157. #endif //cl_khr_fp64
  10158. #ifdef cl_khr_fp16
  10159. half __ovld __cnfn min(half, half);
  10160. half2 __ovld __cnfn min(half2, half2);
  10161. half3 __ovld __cnfn min(half3, half3);
  10162. half4 __ovld __cnfn min(half4, half4);
  10163. half8 __ovld __cnfn min(half8, half8);
  10164. half16 __ovld __cnfn min(half16, half16);
  10165. half2 __ovld __cnfn min(half2, half);
  10166. half3 __ovld __cnfn min(half3, half);
  10167. half4 __ovld __cnfn min(half4, half);
  10168. half8 __ovld __cnfn min(half8, half);
  10169. half16 __ovld __cnfn min(half16, half);
  10170. #endif //cl_khr_fp16
  10171.  
  10172. /**
  10173.  * Returns the linear blend of x & y implemented as:
  10174.  * x + (y - x) * a
  10175.  * a must be a value in the range 0.0 ... 1.0. If a is not
  10176.  * in the range 0.0 ... 1.0, the return values are
  10177.  * undefined.
  10178.  */
  10179. float __ovld __cnfn mix(float, float, float);
  10180. float2 __ovld __cnfn mix(float2, float2, float2);
  10181. float3 __ovld __cnfn mix(float3, float3, float3);
  10182. float4 __ovld __cnfn mix(float4, float4, float4);
  10183. float8 __ovld __cnfn mix(float8, float8, float8);
  10184. float16 __ovld __cnfn mix(float16, float16, float16);
  10185. float2 __ovld __cnfn mix(float2, float2, float);
  10186. float3 __ovld __cnfn mix(float3, float3, float);
  10187. float4 __ovld __cnfn mix(float4, float4, float);
  10188. float8 __ovld __cnfn mix(float8, float8, float);
  10189. float16 __ovld __cnfn mix(float16, float16, float);
  10190. #ifdef cl_khr_fp64
  10191. double __ovld __cnfn mix(double, double, double);
  10192. double2 __ovld __cnfn mix(double2, double2, double2);
  10193. double3 __ovld __cnfn mix(double3, double3, double3);
  10194. double4 __ovld __cnfn mix(double4, double4, double4);
  10195. double8 __ovld __cnfn mix(double8, double8, double8);
  10196. double16 __ovld __cnfn mix(double16, double16, double16);
  10197. double2 __ovld __cnfn mix(double2, double2, double);
  10198. double3 __ovld __cnfn mix(double3, double3, double);
  10199. double4 __ovld __cnfn mix(double4, double4, double);
  10200. double8 __ovld __cnfn mix(double8, double8, double);
  10201. double16 __ovld __cnfn mix(double16, double16, double);
  10202. #endif //cl_khr_fp64
  10203. #ifdef cl_khr_fp16
  10204. half __ovld __cnfn mix(half, half, half);
  10205. half2 __ovld __cnfn mix(half2, half2, half2);
  10206. half3 __ovld __cnfn mix(half3, half3, half3);
  10207. half4 __ovld __cnfn mix(half4, half4, half4);
  10208. half8 __ovld __cnfn mix(half8, half8, half8);
  10209. half16 __ovld __cnfn mix(half16, half16, half16);
  10210. half2 __ovld __cnfn mix(half2, half2, half);
  10211. half3 __ovld __cnfn mix(half3, half3, half);
  10212. half4 __ovld __cnfn mix(half4, half4, half);
  10213. half8 __ovld __cnfn mix(half8, half8, half);
  10214. half16 __ovld __cnfn mix(half16, half16, half);
  10215. #endif //cl_khr_fp16
  10216.  
  10217. /**
  10218.  * Converts degrees to radians, i.e. (PI / 180) *
  10219.  * degrees.
  10220.  */
  10221. float __ovld __cnfn radians(float);
  10222. float2 __ovld __cnfn radians(float2);
  10223. float3 __ovld __cnfn radians(float3);
  10224. float4 __ovld __cnfn radians(float4);
  10225. float8 __ovld __cnfn radians(float8);
  10226. float16 __ovld __cnfn radians(float16);
  10227. #ifdef cl_khr_fp64
  10228. double __ovld __cnfn radians(double);
  10229. double2 __ovld __cnfn radians(double2);
  10230. double3 __ovld __cnfn radians(double3);
  10231. double4 __ovld __cnfn radians(double4);
  10232. double8 __ovld __cnfn radians(double8);
  10233. double16 __ovld __cnfn radians(double16);
  10234. #endif //cl_khr_fp64
  10235. #ifdef cl_khr_fp16
  10236. half __ovld __cnfn radians(half);
  10237. half2 __ovld __cnfn radians(half2);
  10238. half3 __ovld __cnfn radians(half3);
  10239. half4 __ovld __cnfn radians(half4);
  10240. half8 __ovld __cnfn radians(half8);
  10241. half16 __ovld __cnfn radians(half16);
  10242. #endif //cl_khr_fp16
  10243.  
  10244. /**
  10245.  * Returns 0.0 if x < edge, otherwise it returns 1.0.
  10246.  */
  10247. float __ovld __cnfn step(float, float);
  10248. float2 __ovld __cnfn step(float2, float2);
  10249. float3 __ovld __cnfn step(float3, float3);
  10250. float4 __ovld __cnfn step(float4, float4);
  10251. float8 __ovld __cnfn step(float8, float8);
  10252. float16 __ovld __cnfn step(float16, float16);
  10253. float2 __ovld __cnfn step(float, float2);
  10254. float3 __ovld __cnfn step(float, float3);
  10255. float4 __ovld __cnfn step(float, float4);
  10256. float8 __ovld __cnfn step(float, float8);
  10257. float16 __ovld __cnfn step(float, float16);
  10258. #ifdef cl_khr_fp64
  10259. double __ovld __cnfn step(double, double);
  10260. double2 __ovld __cnfn step(double2, double2);
  10261. double3 __ovld __cnfn step(double3, double3);
  10262. double4 __ovld __cnfn step(double4, double4);
  10263. double8 __ovld __cnfn step(double8, double8);
  10264. double16 __ovld __cnfn step(double16, double16);
  10265. double2 __ovld __cnfn step(double, double2);
  10266. double3 __ovld __cnfn step(double, double3);
  10267. double4 __ovld __cnfn step(double, double4);
  10268. double8 __ovld __cnfn step(double, double8);
  10269. double16 __ovld __cnfn step(double, double16);
  10270. #endif //cl_khr_fp64
  10271. #ifdef cl_khr_fp16
  10272. half __ovld __cnfn step(half, half);
  10273. half2 __ovld __cnfn step(half2, half2);
  10274. half3 __ovld __cnfn step(half3, half3);
  10275. half4 __ovld __cnfn step(half4, half4);
  10276. half8 __ovld __cnfn step(half8, half8);
  10277. half16 __ovld __cnfn step(half16, half16);
  10278. half2 __ovld __cnfn step(half, half2);
  10279. half3 __ovld __cnfn step(half, half3);
  10280. half4 __ovld __cnfn step(half, half4);
  10281. half8 __ovld __cnfn step(half, half8);
  10282. half16 __ovld __cnfn step(half, half16);
  10283. #endif //cl_khr_fp16
  10284.  
  10285. /**
  10286.  * Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and
  10287.  * performs smooth Hermite interpolation between 0
  10288.  * and 1when edge0 < x < edge1. This is useful in
  10289.  * cases where you would want a threshold function
  10290.  * with a smooth transition.
  10291.  * This is equivalent to:
  10292.  * gentype t;
  10293.  * t = clamp ((x - edge0) / (edge1 - edge0), 0, 1);
  10294.  * return t * t * (3 - 2 * t);
  10295.  * Results are undefined if edge0 >= edge1 or if x,
  10296.  * edge0 or edge1 is a NaN.
  10297.  */
  10298. float __ovld __cnfn smoothstep(float, float, float);
  10299. float2 __ovld __cnfn smoothstep(float2, float2, float2);
  10300. float3 __ovld __cnfn smoothstep(float3, float3, float3);
  10301. float4 __ovld __cnfn smoothstep(float4, float4, float4);
  10302. float8 __ovld __cnfn smoothstep(float8, float8, float8);
  10303. float16 __ovld __cnfn smoothstep(float16, float16, float16);
  10304. float2 __ovld __cnfn smoothstep(float, float, float2);
  10305. float3 __ovld __cnfn smoothstep(float, float, float3);
  10306. float4 __ovld __cnfn smoothstep(float, float, float4);
  10307. float8 __ovld __cnfn smoothstep(float, float, float8);
  10308. float16 __ovld __cnfn smoothstep(float, float, float16);
  10309. #ifdef cl_khr_fp64
  10310. double __ovld __cnfn smoothstep(double, double, double);
  10311. double2 __ovld __cnfn smoothstep(double2, double2, double2);
  10312. double3 __ovld __cnfn smoothstep(double3, double3, double3);
  10313. double4 __ovld __cnfn smoothstep(double4, double4, double4);
  10314. double8 __ovld __cnfn smoothstep(double8, double8, double8);
  10315. double16 __ovld __cnfn smoothstep(double16, double16, double16);
  10316. double2 __ovld __cnfn smoothstep(double, double, double2);
  10317. double3 __ovld __cnfn smoothstep(double, double, double3);
  10318. double4 __ovld __cnfn smoothstep(double, double, double4);
  10319. double8 __ovld __cnfn smoothstep(double, double, double8);
  10320. double16 __ovld __cnfn smoothstep(double, double, double16);
  10321. #endif //cl_khr_fp64
  10322. #ifdef cl_khr_fp16
  10323. half __ovld __cnfn smoothstep(half, half, half);
  10324. half2 __ovld __cnfn smoothstep(half2, half2, half2);
  10325. half3 __ovld __cnfn smoothstep(half3, half3, half3);
  10326. half4 __ovld __cnfn smoothstep(half4, half4, half4);
  10327. half8 __ovld __cnfn smoothstep(half8, half8, half8);
  10328. half16 __ovld __cnfn smoothstep(half16, half16, half16);
  10329. half2 __ovld __cnfn smoothstep(half, half, half2);
  10330. half3 __ovld __cnfn smoothstep(half, half, half3);
  10331. half4 __ovld __cnfn smoothstep(half, half, half4);
  10332. half8 __ovld __cnfn smoothstep(half, half, half8);
  10333. half16 __ovld __cnfn smoothstep(half, half, half16);
  10334. #endif //cl_khr_fp16
  10335.  
  10336. /**
  10337.  * Returns 1.0 if x > 0, -0.0 if x = -0.0, +0.0 if x =
  10338.  * +0.0, or -1.0 if x < 0. Returns 0.0 if x is a NaN.
  10339.  */
  10340. float __ovld __cnfn sign(float);
  10341. float2 __ovld __cnfn sign(float2);
  10342. float3 __ovld __cnfn sign(float3);
  10343. float4 __ovld __cnfn sign(float4);
  10344. float8 __ovld __cnfn sign(float8);
  10345. float16 __ovld __cnfn sign(float16);
  10346. #ifdef cl_khr_fp64
  10347. double __ovld __cnfn sign(double);
  10348. double2 __ovld __cnfn sign(double2);
  10349. double3 __ovld __cnfn sign(double3);
  10350. double4 __ovld __cnfn sign(double4);
  10351. double8 __ovld __cnfn sign(double8);
  10352. double16 __ovld __cnfn sign(double16);
  10353. #endif //cl_khr_fp64
  10354. #ifdef cl_khr_fp16
  10355. half __ovld __cnfn sign(half);
  10356. half2 __ovld __cnfn sign(half2);
  10357. half3 __ovld __cnfn sign(half3);
  10358. half4 __ovld __cnfn sign(half4);
  10359. half8 __ovld __cnfn sign(half8);
  10360. half16 __ovld __cnfn sign(half16);
  10361. #endif //cl_khr_fp16
  10362.  
  10363. // OpenCL v1.1 s6.11.5, v1.2 s6.12.5, v2.0 s6.13.5 - Geometric Functions
  10364.  
  10365. /**
  10366.  * Returns the cross product of p0.xyz and p1.xyz. The
  10367.  * w component of float4 result returned will be 0.0.
  10368.  */
  10369. float4 __ovld __cnfn cross(float4, float4);
  10370. float3 __ovld __cnfn cross(float3, float3);
  10371. #ifdef cl_khr_fp64
  10372. double4 __ovld __cnfn cross(double4, double4);
  10373. double3 __ovld __cnfn cross(double3, double3);
  10374. #endif //cl_khr_fp64
  10375. #ifdef cl_khr_fp16
  10376. half4 __ovld __cnfn cross(half4, half4);
  10377. half3 __ovld __cnfn cross(half3, half3);
  10378. #endif //cl_khr_fp16
  10379.  
  10380. /**
  10381.  * Compute dot product.
  10382.  */
  10383. float __ovld __cnfn dot(float, float);
  10384. float __ovld __cnfn dot(float2, float2);
  10385. float __ovld __cnfn dot(float3, float3);
  10386. float __ovld __cnfn dot(float4, float4);
  10387. #ifdef cl_khr_fp64
  10388. double __ovld __cnfn dot(double, double);
  10389. double __ovld __cnfn dot(double2, double2);
  10390. double __ovld __cnfn dot(double3, double3);
  10391. double __ovld __cnfn dot(double4, double4);
  10392. #endif //cl_khr_fp64
  10393. #ifdef cl_khr_fp16
  10394. half __ovld __cnfn dot(half, half);
  10395. half __ovld __cnfn dot(half2, half2);
  10396. half __ovld __cnfn dot(half3, half3);
  10397. half __ovld __cnfn dot(half4, half4);
  10398. #endif //cl_khr_fp16
  10399.  
  10400. /**
  10401.  * Returns the distance between p0 and p1. This is
  10402.  * calculated as length(p0 - p1).
  10403.  */
  10404. float __ovld __cnfn distance(float, float);
  10405. float __ovld __cnfn distance(float2, float2);
  10406. float __ovld __cnfn distance(float3, float3);
  10407. float __ovld __cnfn distance(float4, float4);
  10408. #ifdef cl_khr_fp64
  10409. double __ovld __cnfn distance(double, double);
  10410. double __ovld __cnfn distance(double2, double2);
  10411. double __ovld __cnfn distance(double3, double3);
  10412. double __ovld __cnfn distance(double4, double4);
  10413. #endif //cl_khr_fp64
  10414. #ifdef cl_khr_fp16
  10415. half __ovld __cnfn distance(half, half);
  10416. half __ovld __cnfn distance(half2, half2);
  10417. half __ovld __cnfn distance(half3, half3);
  10418. half __ovld __cnfn distance(half4, half4);
  10419. #endif //cl_khr_fp16
  10420.  
  10421. /**
  10422.  * Return the length of vector p, i.e.,
  10423.  * sqrt(p.x2 + p.y 2 + ...)
  10424.  */
  10425. float __ovld __cnfn length(float);
  10426. float __ovld __cnfn length(float2);
  10427. float __ovld __cnfn length(float3);
  10428. float __ovld __cnfn length(float4);
  10429. #ifdef cl_khr_fp64
  10430. double __ovld __cnfn length(double);
  10431. double __ovld __cnfn length(double2);
  10432. double __ovld __cnfn length(double3);
  10433. double __ovld __cnfn length(double4);
  10434. #endif //cl_khr_fp64
  10435. #ifdef cl_khr_fp16
  10436. half __ovld __cnfn length(half);
  10437. half __ovld __cnfn length(half2);
  10438. half __ovld __cnfn length(half3);
  10439. half __ovld __cnfn length(half4);
  10440. #endif //cl_khr_fp16
  10441.  
  10442. /**
  10443.  * Returns a vector in the same direction as p but with a
  10444.  * length of 1.
  10445.  */
  10446. float __ovld __cnfn normalize(float);
  10447. float2 __ovld __cnfn normalize(float2);
  10448. float3 __ovld __cnfn normalize(float3);
  10449. float4 __ovld __cnfn normalize(float4);
  10450. #ifdef cl_khr_fp64
  10451. double __ovld __cnfn normalize(double);
  10452. double2 __ovld __cnfn normalize(double2);
  10453. double3 __ovld __cnfn normalize(double3);
  10454. double4 __ovld __cnfn normalize(double4);
  10455. #endif //cl_khr_fp64
  10456. #ifdef cl_khr_fp16
  10457. half __ovld __cnfn normalize(half);
  10458. half2 __ovld __cnfn normalize(half2);
  10459. half3 __ovld __cnfn normalize(half3);
  10460. half4 __ovld __cnfn normalize(half4);
  10461. #endif //cl_khr_fp16
  10462.  
  10463. /**
  10464.  * Returns fast_length(p0 - p1).
  10465.  */
  10466. float __ovld __cnfn fast_distance(float, float);
  10467. float __ovld __cnfn fast_distance(float2, float2);
  10468. float __ovld __cnfn fast_distance(float3, float3);
  10469. float __ovld __cnfn fast_distance(float4, float4);
  10470.  
  10471. /**
  10472.  * Returns the length of vector p computed as:
  10473.  * half_sqrt(p.x2 + p.y2 + ...)
  10474.  */
  10475. float __ovld __cnfn fast_length(float);
  10476. float __ovld __cnfn fast_length(float2);
  10477. float __ovld __cnfn fast_length(float3);
  10478. float __ovld __cnfn fast_length(float4);
  10479.  
  10480. /**
  10481.  * Returns a vector in the same direction as p but with a
  10482.  * length of 1. fast_normalize is computed as:
  10483.  * p * half_rsqrt (p.x^2 + p.y^2 + ... )
  10484.  * The result shall be within 8192 ulps error from the
  10485.  * infinitely precise result of
  10486.  * if (all(p == 0.0f))
  10487.  * result = p;
  10488.  * else
  10489.  * result = p / sqrt (p.x^2 + p.y^2 + ...);
  10490.  * with the following exceptions:
  10491.  * 1) If the sum of squares is greater than FLT_MAX
  10492.  * then the value of the floating-point values in the
  10493.  * result vector are undefined.
  10494.  * 2) If the sum of squares is less than FLT_MIN then
  10495.  * the implementation may return back p.
  10496.  * 3) If the device is in "denorms are flushed to zero"
  10497.  * mode, individual operand elements with magnitude
  10498.  * less than sqrt(FLT_MIN) may be flushed to zero
  10499.  * before proceeding with the calculation.
  10500.  */
  10501. float __ovld __cnfn fast_normalize(float);
  10502. float2 __ovld __cnfn fast_normalize(float2);
  10503. float3 __ovld __cnfn fast_normalize(float3);
  10504. float4 __ovld __cnfn fast_normalize(float4);
  10505.  
  10506. // OpenCL v1.1 s6.11.6, v1.2 s6.12.6, v2.0 s6.13.6 - Relational Functions
  10507.  
  10508. /**
  10509.  * intn isequal (floatn x, floatn y)
  10510.  * Returns the component-wise compare of x == y.
  10511.  */
  10512. int __ovld __cnfn isequal(float, float);
  10513. int2 __ovld __cnfn isequal(float2, float2);
  10514. int3 __ovld __cnfn isequal(float3, float3);
  10515. int4 __ovld __cnfn isequal(float4, float4);
  10516. int8 __ovld __cnfn isequal(float8, float8);
  10517. int16 __ovld __cnfn isequal(float16, float16);
  10518. #ifdef cl_khr_fp64
  10519. int __ovld __cnfn isequal(double, double);
  10520. long2 __ovld __cnfn isequal(double2, double2);
  10521. long3 __ovld __cnfn isequal(double3, double3);
  10522. long4 __ovld __cnfn isequal(double4, double4);
  10523. long8 __ovld __cnfn isequal(double8, double8);
  10524. long16 __ovld __cnfn isequal(double16, double16);
  10525. #endif //cl_khr_fp64
  10526. #ifdef cl_khr_fp16
  10527. int __ovld __cnfn isequal(half, half);
  10528. short2 __ovld __cnfn isequal(half2, half2);
  10529. short3 __ovld __cnfn isequal(half3, half3);
  10530. short4 __ovld __cnfn isequal(half4, half4);
  10531. short8 __ovld __cnfn isequal(half8, half8);
  10532. short16 __ovld __cnfn isequal(half16, half16);
  10533. #endif //cl_khr_fp16
  10534.  
  10535. /**
  10536.  * Returns the component-wise compare of x != y.
  10537.  */
  10538. int __ovld __cnfn isnotequal(float, float);
  10539. int2 __ovld __cnfn isnotequal(float2, float2);
  10540. int3 __ovld __cnfn isnotequal(float3, float3);
  10541. int4 __ovld __cnfn isnotequal(float4, float4);
  10542. int8 __ovld __cnfn isnotequal(float8, float8);
  10543. int16 __ovld __cnfn isnotequal(float16, float16);
  10544. #ifdef cl_khr_fp64
  10545. int __ovld __cnfn isnotequal(double, double);
  10546. long2 __ovld __cnfn isnotequal(double2, double2);
  10547. long3 __ovld __cnfn isnotequal(double3, double3);
  10548. long4 __ovld __cnfn isnotequal(double4, double4);
  10549. long8 __ovld __cnfn isnotequal(double8, double8);
  10550. long16 __ovld __cnfn isnotequal(double16, double16);
  10551. #endif //cl_khr_fp64
  10552. #ifdef cl_khr_fp16
  10553. int __ovld __cnfn isnotequal(half, half);
  10554. short2 __ovld __cnfn isnotequal(half2, half2);
  10555. short3 __ovld __cnfn isnotequal(half3, half3);
  10556. short4 __ovld __cnfn isnotequal(half4, half4);
  10557. short8 __ovld __cnfn isnotequal(half8, half8);
  10558. short16 __ovld __cnfn isnotequal(half16, half16);
  10559. #endif //cl_khr_fp16
  10560.  
  10561. /**
  10562.  * Returns the component-wise compare of x > y.
  10563.  */
  10564. int __ovld __cnfn isgreater(float, float);
  10565. int2 __ovld __cnfn isgreater(float2, float2);
  10566. int3 __ovld __cnfn isgreater(float3, float3);
  10567. int4 __ovld __cnfn isgreater(float4, float4);
  10568. int8 __ovld __cnfn isgreater(float8, float8);
  10569. int16 __ovld __cnfn isgreater(float16, float16);
  10570. #ifdef cl_khr_fp64
  10571. int __ovld __cnfn isgreater(double, double);
  10572. long2 __ovld __cnfn isgreater(double2, double2);
  10573. long3 __ovld __cnfn isgreater(double3, double3);
  10574. long4 __ovld __cnfn isgreater(double4, double4);
  10575. long8 __ovld __cnfn isgreater(double8, double8);
  10576. long16 __ovld __cnfn isgreater(double16, double16);
  10577. #endif //cl_khr_fp64
  10578. #ifdef cl_khr_fp16
  10579. int __ovld __cnfn isgreater(half, half);
  10580. short2 __ovld __cnfn isgreater(half2, half2);
  10581. short3 __ovld __cnfn isgreater(half3, half3);
  10582. short4 __ovld __cnfn isgreater(half4, half4);
  10583. short8 __ovld __cnfn isgreater(half8, half8);
  10584. short16 __ovld __cnfn isgreater(half16, half16);
  10585. #endif //cl_khr_fp16
  10586.  
  10587. /**
  10588.  * Returns the component-wise compare of x >= y.
  10589.  */
  10590. int __ovld __cnfn isgreaterequal(float, float);
  10591. int2 __ovld __cnfn isgreaterequal(float2, float2);
  10592. int3 __ovld __cnfn isgreaterequal(float3, float3);
  10593. int4 __ovld __cnfn isgreaterequal(float4, float4);
  10594. int8 __ovld __cnfn isgreaterequal(float8, float8);
  10595. int16 __ovld __cnfn isgreaterequal(float16, float16);
  10596. #ifdef cl_khr_fp64
  10597. int __ovld __cnfn isgreaterequal(double, double);
  10598. long2 __ovld __cnfn isgreaterequal(double2, double2);
  10599. long3 __ovld __cnfn isgreaterequal(double3, double3);
  10600. long4 __ovld __cnfn isgreaterequal(double4, double4);
  10601. long8 __ovld __cnfn isgreaterequal(double8, double8);
  10602. long16 __ovld __cnfn isgreaterequal(double16, double16);
  10603. #endif //cl_khr_fp64
  10604. #ifdef cl_khr_fp16
  10605. int __ovld __cnfn isgreaterequal(half, half);
  10606. short2 __ovld __cnfn isgreaterequal(half2, half2);
  10607. short3 __ovld __cnfn isgreaterequal(half3, half3);
  10608. short4 __ovld __cnfn isgreaterequal(half4, half4);
  10609. short8 __ovld __cnfn isgreaterequal(half8, half8);
  10610. short16 __ovld __cnfn isgreaterequal(half16, half16);
  10611. #endif //cl_khr_fp16
  10612.  
  10613. /**
  10614.  * Returns the component-wise compare of x < y.
  10615.  */
  10616. int __ovld __cnfn isless(float, float);
  10617. int2 __ovld __cnfn isless(float2, float2);
  10618. int3 __ovld __cnfn isless(float3, float3);
  10619. int4 __ovld __cnfn isless(float4, float4);
  10620. int8 __ovld __cnfn isless(float8, float8);
  10621. int16 __ovld __cnfn isless(float16, float16);
  10622. #ifdef cl_khr_fp64
  10623. int __ovld __cnfn isless(double, double);
  10624. long2 __ovld __cnfn isless(double2, double2);
  10625. long3 __ovld __cnfn isless(double3, double3);
  10626. long4 __ovld __cnfn isless(double4, double4);
  10627. long8 __ovld __cnfn isless(double8, double8);
  10628. long16 __ovld __cnfn isless(double16, double16);
  10629. #endif //cl_khr_fp64
  10630. #ifdef cl_khr_fp16
  10631. int __ovld __cnfn isless(half, half);
  10632. short2 __ovld __cnfn isless(half2, half2);
  10633. short3 __ovld __cnfn isless(half3, half3);
  10634. short4 __ovld __cnfn isless(half4, half4);
  10635. short8 __ovld __cnfn isless(half8, half8);
  10636. short16 __ovld __cnfn isless(half16, half16);
  10637. #endif //cl_khr_fp16
  10638.  
  10639. /**
  10640.  * Returns the component-wise compare of x <= y.
  10641.  */
  10642. int __ovld __cnfn islessequal(float, float);
  10643. int2 __ovld __cnfn islessequal(float2, float2);
  10644. int3 __ovld __cnfn islessequal(float3, float3);
  10645. int4 __ovld __cnfn islessequal(float4, float4);
  10646. int8 __ovld __cnfn islessequal(float8, float8);
  10647. int16 __ovld __cnfn islessequal(float16, float16);
  10648. #ifdef cl_khr_fp64
  10649. int __ovld __cnfn islessequal(double, double);
  10650. long2 __ovld __cnfn islessequal(double2, double2);
  10651. long3 __ovld __cnfn islessequal(double3, double3);
  10652. long4 __ovld __cnfn islessequal(double4, double4);
  10653. long8 __ovld __cnfn islessequal(double8, double8);
  10654. long16 __ovld __cnfn islessequal(double16, double16);
  10655. #endif //cl_khr_fp64
  10656. #ifdef cl_khr_fp16
  10657. int __ovld __cnfn islessequal(half, half);
  10658. short2 __ovld __cnfn islessequal(half2, half2);
  10659. short3 __ovld __cnfn islessequal(half3, half3);
  10660. short4 __ovld __cnfn islessequal(half4, half4);
  10661. short8 __ovld __cnfn islessequal(half8, half8);
  10662. short16 __ovld __cnfn islessequal(half16, half16);
  10663. #endif //cl_khr_fp16
  10664.  
  10665. /**
  10666.  * Returns the component-wise compare of
  10667.  * (x < y) || (x > y) .
  10668.  */
  10669. int __ovld __cnfn islessgreater(float, float);
  10670. int2 __ovld __cnfn islessgreater(float2, float2);
  10671. int3 __ovld __cnfn islessgreater(float3, float3);
  10672. int4 __ovld __cnfn islessgreater(float4, float4);
  10673. int8 __ovld __cnfn islessgreater(float8, float8);
  10674. int16 __ovld __cnfn islessgreater(float16, float16);
  10675. #ifdef cl_khr_fp64
  10676. int __ovld __cnfn islessgreater(double, double);
  10677. long2 __ovld __cnfn islessgreater(double2, double2);
  10678. long3 __ovld __cnfn islessgreater(double3, double3);
  10679. long4 __ovld __cnfn islessgreater(double4, double4);
  10680. long8 __ovld __cnfn islessgreater(double8, double8);
  10681. long16 __ovld __cnfn islessgreater(double16, double16);
  10682. #endif //cl_khr_fp64
  10683. #ifdef cl_khr_fp16
  10684. int __ovld __cnfn islessgreater(half, half);
  10685. short2 __ovld __cnfn islessgreater(half2, half2);
  10686. short3 __ovld __cnfn islessgreater(half3, half3);
  10687. short4 __ovld __cnfn islessgreater(half4, half4);
  10688. short8 __ovld __cnfn islessgreater(half8, half8);
  10689. short16 __ovld __cnfn islessgreater(half16, half16);
  10690. #endif //cl_khr_fp16
  10691.  
  10692. /**
  10693.  * Test for finite value.
  10694.  */
  10695. int __ovld __cnfn isfinite(float);
  10696. int2 __ovld __cnfn isfinite(float2);
  10697. int3 __ovld __cnfn isfinite(float3);
  10698. int4 __ovld __cnfn isfinite(float4);
  10699. int8 __ovld __cnfn isfinite(float8);
  10700. int16 __ovld __cnfn isfinite(float16);
  10701. #ifdef cl_khr_fp64
  10702. int __ovld __cnfn isfinite(double);
  10703. long2 __ovld __cnfn isfinite(double2);
  10704. long3 __ovld __cnfn isfinite(double3);
  10705. long4 __ovld __cnfn isfinite(double4);
  10706. long8 __ovld __cnfn isfinite(double8);
  10707. long16 __ovld __cnfn isfinite(double16);
  10708. #endif //cl_khr_fp64
  10709. #ifdef cl_khr_fp16
  10710. int __ovld __cnfn isfinite(half);
  10711. short2 __ovld __cnfn isfinite(half2);
  10712. short3 __ovld __cnfn isfinite(half3);
  10713. short4 __ovld __cnfn isfinite(half4);
  10714. short8 __ovld __cnfn isfinite(half8);
  10715. short16 __ovld __cnfn isfinite(half16);
  10716. #endif //cl_khr_fp16
  10717.  
  10718. /**
  10719.  * Test for infinity value (+ve or -ve) .
  10720.  */
  10721. int __ovld __cnfn isinf(float);
  10722. int2 __ovld __cnfn isinf(float2);
  10723. int3 __ovld __cnfn isinf(float3);
  10724. int4 __ovld __cnfn isinf(float4);
  10725. int8 __ovld __cnfn isinf(float8);
  10726. int16 __ovld __cnfn isinf(float16);
  10727. #ifdef cl_khr_fp64
  10728. int __ovld __cnfn isinf(double);
  10729. long2 __ovld __cnfn isinf(double2);
  10730. long3 __ovld __cnfn isinf(double3);
  10731. long4 __ovld __cnfn isinf(double4);
  10732. long8 __ovld __cnfn isinf(double8);
  10733. long16 __ovld __cnfn isinf(double16);
  10734. #endif //cl_khr_fp64
  10735. #ifdef cl_khr_fp16
  10736. int __ovld __cnfn isinf(half);
  10737. short2 __ovld __cnfn isinf(half2);
  10738. short3 __ovld __cnfn isinf(half3);
  10739. short4 __ovld __cnfn isinf(half4);
  10740. short8 __ovld __cnfn isinf(half8);
  10741. short16 __ovld __cnfn isinf(half16);
  10742. #endif //cl_khr_fp16
  10743.  
  10744. /**
  10745.  * Test for a NaN.
  10746.  */
  10747. int __ovld __cnfn isnan(float);
  10748. int2 __ovld __cnfn isnan(float2);
  10749. int3 __ovld __cnfn isnan(float3);
  10750. int4 __ovld __cnfn isnan(float4);
  10751. int8 __ovld __cnfn isnan(float8);
  10752. int16 __ovld __cnfn isnan(float16);
  10753. #ifdef cl_khr_fp64
  10754. int __ovld __cnfn isnan(double);
  10755. long2 __ovld __cnfn isnan(double2);
  10756. long3 __ovld __cnfn isnan(double3);
  10757. long4 __ovld __cnfn isnan(double4);
  10758. long8 __ovld __cnfn isnan(double8);
  10759. long16 __ovld __cnfn isnan(double16);
  10760. #endif //cl_khr_fp64
  10761. #ifdef cl_khr_fp16
  10762. int __ovld __cnfn isnan(half);
  10763. short2 __ovld __cnfn isnan(half2);
  10764. short3 __ovld __cnfn isnan(half3);
  10765. short4 __ovld __cnfn isnan(half4);
  10766. short8 __ovld __cnfn isnan(half8);
  10767. short16 __ovld __cnfn isnan(half16);
  10768. #endif //cl_khr_fp16
  10769.  
  10770. /**
  10771.  * Test for a normal value.
  10772.  */
  10773. int __ovld __cnfn isnormal(float);
  10774. int2 __ovld __cnfn isnormal(float2);
  10775. int3 __ovld __cnfn isnormal(float3);
  10776. int4 __ovld __cnfn isnormal(float4);
  10777. int8 __ovld __cnfn isnormal(float8);
  10778. int16 __ovld __cnfn isnormal(float16);
  10779. #ifdef cl_khr_fp64
  10780. int __ovld __cnfn isnormal(double);
  10781. long2 __ovld __cnfn isnormal(double2);
  10782. long3 __ovld __cnfn isnormal(double3);
  10783. long4 __ovld __cnfn isnormal(double4);
  10784. long8 __ovld __cnfn isnormal(double8);
  10785. long16 __ovld __cnfn isnormal(double16);
  10786. #endif //cl_khr_fp64
  10787. #ifdef cl_khr_fp16
  10788. int __ovld __cnfn isnormal(half);
  10789. short2 __ovld __cnfn isnormal(half2);
  10790. short3 __ovld __cnfn isnormal(half3);
  10791. short4 __ovld __cnfn isnormal(half4);
  10792. short8 __ovld __cnfn isnormal(half8);
  10793. short16 __ovld __cnfn isnormal(half16);
  10794. #endif //cl_khr_fp16
  10795.  
  10796. /**
  10797.  * Test if arguments are ordered. isordered() takes
  10798.  * arguments x and y, and returns the result
  10799.  * isequal(x, x) && isequal(y, y).
  10800.  */
  10801. int __ovld __cnfn isordered(float, float);
  10802. int2 __ovld __cnfn isordered(float2, float2);
  10803. int3 __ovld __cnfn isordered(float3, float3);
  10804. int4 __ovld __cnfn isordered(float4, float4);
  10805. int8 __ovld __cnfn isordered(float8, float8);
  10806. int16 __ovld __cnfn isordered(float16, float16);
  10807. #ifdef cl_khr_fp64
  10808. int __ovld __cnfn isordered(double, double);
  10809. long2 __ovld __cnfn isordered(double2, double2);
  10810. long3 __ovld __cnfn isordered(double3, double3);
  10811. long4 __ovld __cnfn isordered(double4, double4);
  10812. long8 __ovld __cnfn isordered(double8, double8);
  10813. long16 __ovld __cnfn isordered(double16, double16);
  10814. #endif //cl_khr_fp64
  10815. #ifdef cl_khr_fp16
  10816. int __ovld __cnfn isordered(half, half);
  10817. short2 __ovld __cnfn isordered(half2, half2);
  10818. short3 __ovld __cnfn isordered(half3, half3);
  10819. short4 __ovld __cnfn isordered(half4, half4);
  10820. short8 __ovld __cnfn isordered(half8, half8);
  10821. short16 __ovld __cnfn isordered(half16, half16);
  10822. #endif //cl_khr_fp16
  10823.  
  10824. /**
  10825.  * Test if arguments are unordered. isunordered()
  10826.  * takes arguments x and y, returning non-zero if x or y
  10827.  * is NaN, and zero otherwise.
  10828.  */
  10829. int __ovld __cnfn isunordered(float, float);
  10830. int2 __ovld __cnfn isunordered(float2, float2);
  10831. int3 __ovld __cnfn isunordered(float3, float3);
  10832. int4 __ovld __cnfn isunordered(float4, float4);
  10833. int8 __ovld __cnfn isunordered(float8, float8);
  10834. int16 __ovld __cnfn isunordered(float16, float16);
  10835. #ifdef cl_khr_fp64
  10836. int __ovld __cnfn isunordered(double, double);
  10837. long2 __ovld __cnfn isunordered(double2, double2);
  10838. long3 __ovld __cnfn isunordered(double3, double3);
  10839. long4 __ovld __cnfn isunordered(double4, double4);
  10840. long8 __ovld __cnfn isunordered(double8, double8);
  10841. long16 __ovld __cnfn isunordered(double16, double16);
  10842. #endif //cl_khr_fp64
  10843. #ifdef cl_khr_fp16
  10844. int __ovld __cnfn isunordered(half, half);
  10845. short2 __ovld __cnfn isunordered(half2, half2);
  10846. short3 __ovld __cnfn isunordered(half3, half3);
  10847. short4 __ovld __cnfn isunordered(half4, half4);
  10848. short8 __ovld __cnfn isunordered(half8, half8);
  10849. short16 __ovld __cnfn isunordered(half16, half16);
  10850. #endif //cl_khr_fp16
  10851.  
  10852. /**
  10853.  * Test for sign bit. The scalar version of the function
  10854.  * returns a 1 if the sign bit in the float is set else returns
  10855.  * 0. The vector version of the function returns the
  10856.  * following for each component in floatn: a -1 if the
  10857.  * sign bit in the float is set else returns 0.
  10858.  */
  10859. int __ovld __cnfn signbit(float);
  10860. int2 __ovld __cnfn signbit(float2);
  10861. int3 __ovld __cnfn signbit(float3);
  10862. int4 __ovld __cnfn signbit(float4);
  10863. int8 __ovld __cnfn signbit(float8);
  10864. int16 __ovld __cnfn signbit(float16);
  10865. #ifdef cl_khr_fp64
  10866. int __ovld __cnfn signbit(double);
  10867. long2 __ovld __cnfn signbit(double2);
  10868. long3 __ovld __cnfn signbit(double3);
  10869. long4 __ovld __cnfn signbit(double4);
  10870. long8 __ovld __cnfn signbit(double8);
  10871. long16 __ovld __cnfn signbit(double16);
  10872. #endif //cl_khr_fp64
  10873. #ifdef cl_khr_fp16
  10874. int __ovld __cnfn signbit(half);
  10875. short2 __ovld __cnfn signbit(half2);
  10876. short3 __ovld __cnfn signbit(half3);
  10877. short4 __ovld __cnfn signbit(half4);
  10878. short8 __ovld __cnfn signbit(half8);
  10879. short16 __ovld __cnfn signbit(half16);
  10880. #endif //cl_khr_fp16
  10881.  
  10882. /**
  10883.  * Returns 1 if the most significant bit in any component
  10884.  * of x is set; otherwise returns 0.
  10885.  */
  10886. int __ovld __cnfn any(char);
  10887. int __ovld __cnfn any(char2);
  10888. int __ovld __cnfn any(char3);
  10889. int __ovld __cnfn any(char4);
  10890. int __ovld __cnfn any(char8);
  10891. int __ovld __cnfn any(char16);
  10892. int __ovld __cnfn any(short);
  10893. int __ovld __cnfn any(short2);
  10894. int __ovld __cnfn any(short3);
  10895. int __ovld __cnfn any(short4);
  10896. int __ovld __cnfn any(short8);
  10897. int __ovld __cnfn any(short16);
  10898. int __ovld __cnfn any(int);
  10899. int __ovld __cnfn any(int2);
  10900. int __ovld __cnfn any(int3);
  10901. int __ovld __cnfn any(int4);
  10902. int __ovld __cnfn any(int8);
  10903. int __ovld __cnfn any(int16);
  10904. int __ovld __cnfn any(long);
  10905. int __ovld __cnfn any(long2);
  10906. int __ovld __cnfn any(long3);
  10907. int __ovld __cnfn any(long4);
  10908. int __ovld __cnfn any(long8);
  10909. int __ovld __cnfn any(long16);
  10910.  
  10911. /**
  10912.  * Returns 1 if the most significant bit in all components
  10913.  * of x is set; otherwise returns 0.
  10914.  */
  10915. int __ovld __cnfn all(char);
  10916. int __ovld __cnfn all(char2);
  10917. int __ovld __cnfn all(char3);
  10918. int __ovld __cnfn all(char4);
  10919. int __ovld __cnfn all(char8);
  10920. int __ovld __cnfn all(char16);
  10921. int __ovld __cnfn all(short);
  10922. int __ovld __cnfn all(short2);
  10923. int __ovld __cnfn all(short3);
  10924. int __ovld __cnfn all(short4);
  10925. int __ovld __cnfn all(short8);
  10926. int __ovld __cnfn all(short16);
  10927. int __ovld __cnfn all(int);
  10928. int __ovld __cnfn all(int2);
  10929. int __ovld __cnfn all(int3);
  10930. int __ovld __cnfn all(int4);
  10931. int __ovld __cnfn all(int8);
  10932. int __ovld __cnfn all(int16);
  10933. int __ovld __cnfn all(long);
  10934. int __ovld __cnfn all(long2);
  10935. int __ovld __cnfn all(long3);
  10936. int __ovld __cnfn all(long4);
  10937. int __ovld __cnfn all(long8);
  10938. int __ovld __cnfn all(long16);
  10939.  
  10940. /**
  10941.  * Each bit of the result is the corresponding bit of a if
  10942.  * the corresponding bit of c is 0. Otherwise it is the
  10943.  * corresponding bit of b.
  10944.  */
  10945. char __ovld __cnfn bitselect(char, char, char);
  10946. uchar __ovld __cnfn bitselect(uchar, uchar, uchar);
  10947. char2 __ovld __cnfn bitselect(char2, char2, char2);
  10948. uchar2 __ovld __cnfn bitselect(uchar2, uchar2, uchar2);
  10949. char3 __ovld __cnfn bitselect(char3, char3, char3);
  10950. uchar3 __ovld __cnfn bitselect(uchar3, uchar3, uchar3);
  10951. char4 __ovld __cnfn bitselect(char4, char4, char4);
  10952. uchar4 __ovld __cnfn bitselect(uchar4, uchar4, uchar4);
  10953. char8 __ovld __cnfn bitselect(char8, char8, char8);
  10954. uchar8 __ovld __cnfn bitselect(uchar8, uchar8, uchar8);
  10955. char16 __ovld __cnfn bitselect(char16, char16, char16);
  10956. uchar16 __ovld __cnfn bitselect(uchar16, uchar16, uchar16);
  10957. short __ovld __cnfn bitselect(short, short, short);
  10958. ushort __ovld __cnfn bitselect(ushort, ushort, ushort);
  10959. short2 __ovld __cnfn bitselect(short2, short2, short2);
  10960. ushort2 __ovld __cnfn bitselect(ushort2, ushort2, ushort2);
  10961. short3 __ovld __cnfn bitselect(short3, short3, short3);
  10962. ushort3 __ovld __cnfn bitselect(ushort3, ushort3, ushort3);
  10963. short4 __ovld __cnfn bitselect(short4, short4, short4);
  10964. ushort4 __ovld __cnfn bitselect(ushort4, ushort4, ushort4);
  10965. short8 __ovld __cnfn bitselect(short8, short8, short8);
  10966. ushort8 __ovld __cnfn bitselect(ushort8, ushort8, ushort8);
  10967. short16 __ovld __cnfn bitselect(short16, short16, short16);
  10968. ushort16 __ovld __cnfn bitselect(ushort16, ushort16, ushort16);
  10969. int __ovld __cnfn bitselect(int, int, int);
  10970. uint __ovld __cnfn bitselect(uint, uint, uint);
  10971. int2 __ovld __cnfn bitselect(int2, int2, int2);
  10972. uint2 __ovld __cnfn bitselect(uint2, uint2, uint2);
  10973. int3 __ovld __cnfn bitselect(int3, int3, int3);
  10974. uint3 __ovld __cnfn bitselect(uint3, uint3, uint3);
  10975. int4 __ovld __cnfn bitselect(int4, int4, int4);
  10976. uint4 __ovld __cnfn bitselect(uint4, uint4, uint4);
  10977. int8 __ovld __cnfn bitselect(int8, int8, int8);
  10978. uint8 __ovld __cnfn bitselect(uint8, uint8, uint8);
  10979. int16 __ovld __cnfn bitselect(int16, int16, int16);
  10980. uint16 __ovld __cnfn bitselect(uint16, uint16, uint16);
  10981. long __ovld __cnfn bitselect(long, long, long);
  10982. ulong __ovld __cnfn bitselect(ulong, ulong, ulong);
  10983. long2 __ovld __cnfn bitselect(long2, long2, long2);
  10984. ulong2 __ovld __cnfn bitselect(ulong2, ulong2, ulong2);
  10985. long3 __ovld __cnfn bitselect(long3, long3, long3);
  10986. ulong3 __ovld __cnfn bitselect(ulong3, ulong3, ulong3);
  10987. long4 __ovld __cnfn bitselect(long4, long4, long4);
  10988. ulong4 __ovld __cnfn bitselect(ulong4, ulong4, ulong4);
  10989. long8 __ovld __cnfn bitselect(long8, long8, long8);
  10990. ulong8 __ovld __cnfn bitselect(ulong8, ulong8, ulong8);
  10991. long16 __ovld __cnfn bitselect(long16, long16, long16);
  10992. ulong16 __ovld __cnfn bitselect(ulong16, ulong16, ulong16);
  10993. float __ovld __cnfn bitselect(float, float, float);
  10994. float2 __ovld __cnfn bitselect(float2, float2, float2);
  10995. float3 __ovld __cnfn bitselect(float3, float3, float3);
  10996. float4 __ovld __cnfn bitselect(float4, float4, float4);
  10997. float8 __ovld __cnfn bitselect(float8, float8, float8);
  10998. float16 __ovld __cnfn bitselect(float16, float16, float16);
  10999. #ifdef cl_khr_fp64
  11000. double __ovld __cnfn bitselect(double, double, double);
  11001. double2 __ovld __cnfn bitselect(double2, double2, double2);
  11002. double3 __ovld __cnfn bitselect(double3, double3, double3);
  11003. double4 __ovld __cnfn bitselect(double4, double4, double4);
  11004. double8 __ovld __cnfn bitselect(double8, double8, double8);
  11005. double16 __ovld __cnfn bitselect(double16, double16, double16);
  11006. #endif //cl_khr_fp64
  11007. #ifdef cl_khr_fp16
  11008. half __ovld __cnfn bitselect(half, half, half);
  11009. half2 __ovld __cnfn bitselect(half2, half2, half2);
  11010. half3 __ovld __cnfn bitselect(half3, half3, half3);
  11011. half4 __ovld __cnfn bitselect(half4, half4, half4);
  11012. half8 __ovld __cnfn bitselect(half8, half8, half8);
  11013. half16 __ovld __cnfn bitselect(half16, half16, half16);
  11014. #endif //cl_khr_fp16
  11015.  
  11016. /**
  11017.  * For each component of a vector type,
  11018.  * result[i] = if MSB of c[i] is set ? b[i] : a[i].
  11019.  * For a scalar type, result = c ? b : a.
  11020.  * b and a must have the same type.
  11021.  * c must have the same number of elements and bits as a.
  11022.  */
  11023. char __ovld __cnfn select(char, char, char);
  11024. uchar __ovld __cnfn select(uchar, uchar, char);
  11025. char2 __ovld __cnfn select(char2, char2, char2);
  11026. uchar2 __ovld __cnfn select(uchar2, uchar2, char2);
  11027. char3 __ovld __cnfn select(char3, char3, char3);
  11028. uchar3 __ovld __cnfn select(uchar3, uchar3, char3);
  11029. char4 __ovld __cnfn select(char4, char4, char4);
  11030. uchar4 __ovld __cnfn select(uchar4, uchar4, char4);
  11031. char8 __ovld __cnfn select(char8, char8, char8);
  11032. uchar8 __ovld __cnfn select(uchar8, uchar8, char8);
  11033. char16 __ovld __cnfn select(char16, char16, char16);
  11034. uchar16 __ovld __cnfn select(uchar16, uchar16, char16);
  11035.  
  11036. short __ovld __cnfn select(short, short, short);
  11037. ushort __ovld __cnfn select(ushort, ushort, short);
  11038. short2 __ovld __cnfn select(short2, short2, short2);
  11039. ushort2 __ovld __cnfn select(ushort2, ushort2, short2);
  11040. short3 __ovld __cnfn select(short3, short3, short3);
  11041. ushort3 __ovld __cnfn select(ushort3, ushort3, short3);
  11042. short4 __ovld __cnfn select(short4, short4, short4);
  11043. ushort4 __ovld __cnfn select(ushort4, ushort4, short4);
  11044. short8 __ovld __cnfn select(short8, short8, short8);
  11045. ushort8 __ovld __cnfn select(ushort8, ushort8, short8);
  11046. short16 __ovld __cnfn select(short16, short16, short16);
  11047. ushort16 __ovld __cnfn select(ushort16, ushort16, short16);
  11048.  
  11049. int __ovld __cnfn select(int, int, int);
  11050. uint __ovld __cnfn select(uint, uint, int);
  11051. int2 __ovld __cnfn select(int2, int2, int2);
  11052. uint2 __ovld __cnfn select(uint2, uint2, int2);
  11053. int3 __ovld __cnfn select(int3, int3, int3);
  11054. uint3 __ovld __cnfn select(uint3, uint3, int3);
  11055. int4 __ovld __cnfn select(int4, int4, int4);
  11056. uint4 __ovld __cnfn select(uint4, uint4, int4);
  11057. int8 __ovld __cnfn select(int8, int8, int8);
  11058. uint8 __ovld __cnfn select(uint8, uint8, int8);
  11059. int16 __ovld __cnfn select(int16, int16, int16);
  11060. uint16 __ovld __cnfn select(uint16, uint16, int16);
  11061. float __ovld __cnfn select(float, float, int);
  11062. float2 __ovld __cnfn select(float2, float2, int2);
  11063. float3 __ovld __cnfn select(float3, float3, int3);
  11064. float4 __ovld __cnfn select(float4, float4, int4);
  11065. float8 __ovld __cnfn select(float8, float8, int8);
  11066. float16 __ovld __cnfn select(float16, float16, int16);
  11067.  
  11068. long __ovld __cnfn select(long, long, long);
  11069. ulong __ovld __cnfn select(ulong, ulong, long);
  11070. long2 __ovld __cnfn select(long2, long2, long2);
  11071. ulong2 __ovld __cnfn select(ulong2, ulong2, long2);
  11072. long3 __ovld __cnfn select(long3, long3, long3);
  11073. ulong3 __ovld __cnfn select(ulong3, ulong3, long3);
  11074. long4 __ovld __cnfn select(long4, long4, long4);
  11075. ulong4 __ovld __cnfn select(ulong4, ulong4, long4);
  11076. long8 __ovld __cnfn select(long8, long8, long8);
  11077. ulong8 __ovld __cnfn select(ulong8, ulong8, long8);
  11078. long16 __ovld __cnfn select(long16, long16, long16);
  11079. ulong16 __ovld __cnfn select(ulong16, ulong16, long16);
  11080.  
  11081. char __ovld __cnfn select(char, char, uchar);
  11082. uchar __ovld __cnfn select(uchar, uchar, uchar);
  11083. char2 __ovld __cnfn select(char2, char2, uchar2);
  11084. uchar2 __ovld __cnfn select(uchar2, uchar2, uchar2);
  11085. char3 __ovld __cnfn select(char3, char3, uchar3);
  11086. uchar3 __ovld __cnfn select(uchar3, uchar3, uchar3);
  11087. char4 __ovld __cnfn select(char4, char4, uchar4);
  11088. uchar4 __ovld __cnfn select(uchar4, uchar4, uchar4);
  11089. char8 __ovld __cnfn select(char8, char8, uchar8);
  11090. uchar8 __ovld __cnfn select(uchar8, uchar8, uchar8);
  11091. char16 __ovld __cnfn select(char16, char16, uchar16);
  11092. uchar16 __ovld __cnfn select(uchar16, uchar16, uchar16);
  11093.  
  11094. short __ovld __cnfn select(short, short, ushort);
  11095. ushort __ovld __cnfn select(ushort, ushort, ushort);
  11096. short2 __ovld __cnfn select(short2, short2, ushort2);
  11097. ushort2 __ovld __cnfn select(ushort2, ushort2, ushort2);
  11098. short3 __ovld __cnfn select(short3, short3, ushort3);
  11099. ushort3 __ovld __cnfn select(ushort3, ushort3, ushort3);
  11100. short4 __ovld __cnfn select(short4, short4, ushort4);
  11101. ushort4 __ovld __cnfn select(ushort4, ushort4, ushort4);
  11102. short8 __ovld __cnfn select(short8, short8, ushort8);
  11103. ushort8 __ovld __cnfn select(ushort8, ushort8, ushort8);
  11104. short16 __ovld __cnfn select(short16, short16, ushort16);
  11105. ushort16 __ovld __cnfn select(ushort16, ushort16, ushort16);
  11106.  
  11107. int __ovld __cnfn select(int, int, uint);
  11108. uint __ovld __cnfn select(uint, uint, uint);
  11109. int2 __ovld __cnfn select(int2, int2, uint2);
  11110. uint2 __ovld __cnfn select(uint2, uint2, uint2);
  11111. int3 __ovld __cnfn select(int3, int3, uint3);
  11112. uint3 __ovld __cnfn select(uint3, uint3, uint3);
  11113. int4 __ovld __cnfn select(int4, int4, uint4);
  11114. uint4 __ovld __cnfn select(uint4, uint4, uint4);
  11115. int8 __ovld __cnfn select(int8, int8, uint8);
  11116. uint8 __ovld __cnfn select(uint8, uint8, uint8);
  11117. int16 __ovld __cnfn select(int16, int16, uint16);
  11118. uint16 __ovld __cnfn select(uint16, uint16, uint16);
  11119. float __ovld __cnfn select(float, float, uint);
  11120. float2 __ovld __cnfn select(float2, float2, uint2);
  11121. float3 __ovld __cnfn select(float3, float3, uint3);
  11122. float4 __ovld __cnfn select(float4, float4, uint4);
  11123. float8 __ovld __cnfn select(float8, float8, uint8);
  11124. float16 __ovld __cnfn select(float16, float16, uint16);
  11125.  
  11126. long __ovld __cnfn select(long, long, ulong);
  11127. ulong __ovld __cnfn select(ulong, ulong, ulong);
  11128. long2 __ovld __cnfn select(long2, long2, ulong2);
  11129. ulong2 __ovld __cnfn select(ulong2, ulong2, ulong2);
  11130. long3 __ovld __cnfn select(long3, long3, ulong3);
  11131. ulong3 __ovld __cnfn select(ulong3, ulong3, ulong3);
  11132. long4 __ovld __cnfn select(long4, long4, ulong4);
  11133. ulong4 __ovld __cnfn select(ulong4, ulong4, ulong4);
  11134. long8 __ovld __cnfn select(long8, long8, ulong8);
  11135. ulong8 __ovld __cnfn select(ulong8, ulong8, ulong8);
  11136. long16 __ovld __cnfn select(long16, long16, ulong16);
  11137. ulong16 __ovld __cnfn select(ulong16, ulong16, ulong16);
  11138.  
  11139. #ifdef cl_khr_fp64
  11140. double __ovld __cnfn select(double, double, long);
  11141. double2 __ovld __cnfn select(double2, double2, long2);
  11142. double3 __ovld __cnfn select(double3, double3, long3);
  11143. double4 __ovld __cnfn select(double4, double4, long4);
  11144. double8 __ovld __cnfn select(double8, double8, long8);
  11145. double16 __ovld __cnfn select(double16, double16, long16);
  11146. double __ovld __cnfn select(double, double, ulong);
  11147. double2 __ovld __cnfn select(double2, double2, ulong2);
  11148. double3 __ovld __cnfn select(double3, double3, ulong3);
  11149. double4 __ovld __cnfn select(double4, double4, ulong4);
  11150. double8 __ovld __cnfn select(double8, double8, ulong8);
  11151. double16 __ovld __cnfn select(double16, double16, ulong16);
  11152. #endif //cl_khr_fp64
  11153. #ifdef cl_khr_fp16
  11154. half __ovld __cnfn select(half, half, short);
  11155. half2 __ovld __cnfn select(half2, half2, short2);
  11156. half3 __ovld __cnfn select(half3, half3, short3);
  11157. half4 __ovld __cnfn select(half4, half4, short4);
  11158. half8 __ovld __cnfn select(half8, half8, short8);
  11159. half16 __ovld __cnfn select(half16, half16, short16);
  11160. half __ovld __cnfn select(half, half, ushort);
  11161. half2 __ovld __cnfn select(half2, half2, ushort2);
  11162. half3 __ovld __cnfn select(half3, half3, ushort3);
  11163. half4 __ovld __cnfn select(half4, half4, ushort4);
  11164. half8 __ovld __cnfn select(half8, half8, ushort8);
  11165. half16 __ovld __cnfn select(half16, half16, ushort16);
  11166. #endif //cl_khr_fp16
  11167.  
  11168. // OpenCL v1.1 s6.11.7, v1.2 s6.12.7, v2.0 s6.13.7 - Vector Data Load and Store Functions
  11169. // 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
  11170. /**
  11171.  * Use generic type gentype to indicate the built-in data types
  11172.  * char, uchar, short, ushort, int, uint, long, ulong, float,
  11173.  * double or half.
  11174.  *
  11175.  * vloadn return sizeof (gentypen) bytes of data read from address (p + (offset * n)).
  11176.  *
  11177.  * vstoren write sizeof (gentypen) bytes given by data to address (p + (offset * n)).
  11178.  *
  11179.  * The address computed as (p + (offset * n)) must be
  11180.  * 8-bit aligned if gentype is char, uchar;
  11181.  * 16-bit aligned if gentype is short, ushort, half;
  11182.  * 32-bit aligned if gentype is int, uint, float;
  11183.  * 64-bit aligned if gentype is long, ulong, double.
  11184.  */
  11185.  
  11186. char2 __ovld __purefn vload2(size_t, const __constant char *);
  11187. uchar2 __ovld __purefn vload2(size_t, const __constant uchar *);
  11188. short2 __ovld __purefn vload2(size_t, const __constant short *);
  11189. ushort2 __ovld __purefn vload2(size_t, const __constant ushort *);
  11190. int2 __ovld __purefn vload2(size_t, const __constant int *);
  11191. uint2 __ovld __purefn vload2(size_t, const __constant uint *);
  11192. long2 __ovld __purefn vload2(size_t, const __constant long *);
  11193. ulong2 __ovld __purefn vload2(size_t, const __constant ulong *);
  11194. float2 __ovld __purefn vload2(size_t, const __constant float *);
  11195. char3 __ovld __purefn vload3(size_t, const __constant char *);
  11196. uchar3 __ovld __purefn vload3(size_t, const __constant uchar *);
  11197. short3 __ovld __purefn vload3(size_t, const __constant short *);
  11198. ushort3 __ovld __purefn vload3(size_t, const __constant ushort *);
  11199. int3 __ovld __purefn vload3(size_t, const __constant int *);
  11200. uint3 __ovld __purefn vload3(size_t, const __constant uint *);
  11201. long3 __ovld __purefn vload3(size_t, const __constant long *);
  11202. ulong3 __ovld __purefn vload3(size_t, const __constant ulong *);
  11203. float3 __ovld __purefn vload3(size_t, const __constant float *);
  11204. char4 __ovld __purefn vload4(size_t, const __constant char *);
  11205. uchar4 __ovld __purefn vload4(size_t, const __constant uchar *);
  11206. short4 __ovld __purefn vload4(size_t, const __constant short *);
  11207. ushort4 __ovld __purefn vload4(size_t, const __constant ushort *);
  11208. int4 __ovld __purefn vload4(size_t, const __constant int *);
  11209. uint4 __ovld __purefn vload4(size_t, const __constant uint *);
  11210. long4 __ovld __purefn vload4(size_t, const __constant long *);
  11211. ulong4 __ovld __purefn vload4(size_t, const __constant ulong *);
  11212. float4 __ovld __purefn vload4(size_t, const __constant float *);
  11213. char8 __ovld __purefn vload8(size_t, const __constant char *);
  11214. uchar8 __ovld __purefn vload8(size_t, const __constant uchar *);
  11215. short8 __ovld __purefn vload8(size_t, const __constant short *);
  11216. ushort8 __ovld __purefn vload8(size_t, const __constant ushort *);
  11217. int8 __ovld __purefn vload8(size_t, const __constant int *);
  11218. uint8 __ovld __purefn vload8(size_t, const __constant uint *);
  11219. long8 __ovld __purefn vload8(size_t, const __constant long *);
  11220. ulong8 __ovld __purefn vload8(size_t, const __constant ulong *);
  11221. float8 __ovld __purefn vload8(size_t, const __constant float *);
  11222. char16 __ovld __purefn vload16(size_t, const __constant char *);
  11223. uchar16 __ovld __purefn vload16(size_t, const __constant uchar *);
  11224. short16 __ovld __purefn vload16(size_t, const __constant short *);
  11225. ushort16 __ovld __purefn vload16(size_t, const __constant ushort *);
  11226. int16 __ovld __purefn vload16(size_t, const __constant int *);
  11227. uint16 __ovld __purefn vload16(size_t, const __constant uint *);
  11228. long16 __ovld __purefn vload16(size_t, const __constant long *);
  11229. ulong16 __ovld __purefn vload16(size_t, const __constant ulong *);
  11230. float16 __ovld __purefn vload16(size_t, const __constant float *);
  11231. #ifdef cl_khr_fp64
  11232. double2 __ovld __purefn vload2(size_t, const __constant double *);
  11233. double3 __ovld __purefn vload3(size_t, const __constant double *);
  11234. double4 __ovld __purefn vload4(size_t, const __constant double *);
  11235. double8 __ovld __purefn vload8(size_t, const __constant double *);
  11236. double16 __ovld __purefn vload16(size_t, const __constant double *);
  11237. #endif //cl_khr_fp64
  11238.  
  11239. #ifdef cl_khr_fp16
  11240. half2 __ovld __purefn vload2(size_t, const __constant half *);
  11241. half3 __ovld __purefn vload3(size_t, const __constant half *);
  11242. half4 __ovld __purefn vload4(size_t, const __constant half *);
  11243. half8 __ovld __purefn vload8(size_t, const __constant half *);
  11244. half16 __ovld __purefn vload16(size_t, const __constant half *);
  11245. #endif //cl_khr_fp16
  11246.  
  11247. #if defined(__opencl_c_generic_address_space)
  11248. char2 __ovld __purefn vload2(size_t, const char *);
  11249. uchar2 __ovld __purefn vload2(size_t, const uchar *);
  11250. short2 __ovld __purefn vload2(size_t, const short *);
  11251. ushort2 __ovld __purefn vload2(size_t, const ushort *);
  11252. int2 __ovld __purefn vload2(size_t, const int *);
  11253. uint2 __ovld __purefn vload2(size_t, const uint *);
  11254. long2 __ovld __purefn vload2(size_t, const long *);
  11255. ulong2 __ovld __purefn vload2(size_t, const ulong *);
  11256. float2 __ovld __purefn vload2(size_t, const float *);
  11257. char3 __ovld __purefn vload3(size_t, const char *);
  11258. uchar3 __ovld __purefn vload3(size_t, const uchar *);
  11259. short3 __ovld __purefn vload3(size_t, const short *);
  11260. ushort3 __ovld __purefn vload3(size_t, const ushort *);
  11261. int3 __ovld __purefn vload3(size_t, const int *);
  11262. uint3 __ovld __purefn vload3(size_t, const uint *);
  11263. long3 __ovld __purefn vload3(size_t, const long *);
  11264. ulong3 __ovld __purefn vload3(size_t, const ulong *);
  11265. float3 __ovld __purefn vload3(size_t, const float *);
  11266. char4 __ovld __purefn vload4(size_t, const char *);
  11267. uchar4 __ovld __purefn vload4(size_t, const uchar *);
  11268. short4 __ovld __purefn vload4(size_t, const short *);
  11269. ushort4 __ovld __purefn vload4(size_t, const ushort *);
  11270. int4 __ovld __purefn vload4(size_t, const int *);
  11271. uint4 __ovld __purefn vload4(size_t, const uint *);
  11272. long4 __ovld __purefn vload4(size_t, const long *);
  11273. ulong4 __ovld __purefn vload4(size_t, const ulong *);
  11274. float4 __ovld __purefn vload4(size_t, const float *);
  11275. char8 __ovld __purefn vload8(size_t, const char *);
  11276. uchar8 __ovld __purefn vload8(size_t, const uchar *);
  11277. short8 __ovld __purefn vload8(size_t, const short *);
  11278. ushort8 __ovld __purefn vload8(size_t, const ushort *);
  11279. int8 __ovld __purefn vload8(size_t, const int *);
  11280. uint8 __ovld __purefn vload8(size_t, const uint *);
  11281. long8 __ovld __purefn vload8(size_t, const long *);
  11282. ulong8 __ovld __purefn vload8(size_t, const ulong *);
  11283. float8 __ovld __purefn vload8(size_t, const float *);
  11284. char16 __ovld __purefn vload16(size_t, const char *);
  11285. uchar16 __ovld __purefn vload16(size_t, const uchar *);
  11286. short16 __ovld __purefn vload16(size_t, const short *);
  11287. ushort16 __ovld __purefn vload16(size_t, const ushort *);
  11288. int16 __ovld __purefn vload16(size_t, const int *);
  11289. uint16 __ovld __purefn vload16(size_t, const uint *);
  11290. long16 __ovld __purefn vload16(size_t, const long *);
  11291. ulong16 __ovld __purefn vload16(size_t, const ulong *);
  11292. float16 __ovld __purefn vload16(size_t, const float *);
  11293.  
  11294. #ifdef cl_khr_fp64
  11295. double2 __ovld __purefn vload2(size_t, const double *);
  11296. double3 __ovld __purefn vload3(size_t, const double *);
  11297. double4 __ovld __purefn vload4(size_t, const double *);
  11298. double8 __ovld __purefn vload8(size_t, const double *);
  11299. double16 __ovld __purefn vload16(size_t, const double *);
  11300. #endif //cl_khr_fp64
  11301.  
  11302. #ifdef cl_khr_fp16
  11303. half2 __ovld __purefn vload2(size_t, const half *);
  11304. half3 __ovld __purefn vload3(size_t, const half *);
  11305. half4 __ovld __purefn vload4(size_t, const half *);
  11306. half8 __ovld __purefn vload8(size_t, const half *);
  11307. half16 __ovld __purefn vload16(size_t, const half *);
  11308. #endif //cl_khr_fp16
  11309. #endif //defined(__opencl_c_generic_address_space)
  11310.  
  11311. #if defined(__opencl_c_named_address_space_builtins)
  11312. char2 __ovld __purefn vload2(size_t, const __global char *);
  11313. uchar2 __ovld __purefn vload2(size_t, const __global uchar *);
  11314. short2 __ovld __purefn vload2(size_t, const __global short *);
  11315. ushort2 __ovld __purefn vload2(size_t, const __global ushort *);
  11316. int2 __ovld __purefn vload2(size_t, const __global int *);
  11317. uint2 __ovld __purefn vload2(size_t, const __global uint *);
  11318. long2 __ovld __purefn vload2(size_t, const __global long *);
  11319. ulong2 __ovld __purefn vload2(size_t, const __global ulong *);
  11320. float2 __ovld __purefn vload2(size_t, const __global float *);
  11321. char3 __ovld __purefn vload3(size_t, const __global char *);
  11322. uchar3 __ovld __purefn vload3(size_t, const __global uchar *);
  11323. short3 __ovld __purefn vload3(size_t, const __global short *);
  11324. ushort3 __ovld __purefn vload3(size_t, const __global ushort *);
  11325. int3 __ovld __purefn vload3(size_t, const __global int *);
  11326. uint3 __ovld __purefn vload3(size_t, const __global uint *);
  11327. long3 __ovld __purefn vload3(size_t, const __global long *);
  11328. ulong3 __ovld __purefn vload3(size_t, const __global ulong *);
  11329. float3 __ovld __purefn vload3(size_t, const __global float *);
  11330. char4 __ovld __purefn vload4(size_t, const __global char *);
  11331. uchar4 __ovld __purefn vload4(size_t, const __global uchar *);
  11332. short4 __ovld __purefn vload4(size_t, const __global short *);
  11333. ushort4 __ovld __purefn vload4(size_t, const __global ushort *);
  11334. int4 __ovld __purefn vload4(size_t, const __global int *);
  11335. uint4 __ovld __purefn vload4(size_t, const __global uint *);
  11336. long4 __ovld __purefn vload4(size_t, const __global long *);
  11337. ulong4 __ovld __purefn vload4(size_t, const __global ulong *);
  11338. float4 __ovld __purefn vload4(size_t, const __global float *);
  11339. char8 __ovld __purefn vload8(size_t, const __global char *);
  11340. uchar8 __ovld __purefn vload8(size_t, const __global uchar *);
  11341. short8 __ovld __purefn vload8(size_t, const __global short *);
  11342. ushort8 __ovld __purefn vload8(size_t, const __global ushort *);
  11343. int8 __ovld __purefn vload8(size_t, const __global int *);
  11344. uint8 __ovld __purefn vload8(size_t, const __global uint *);
  11345. long8 __ovld __purefn vload8(size_t, const __global long *);
  11346. ulong8 __ovld __purefn vload8(size_t, const __global ulong *);
  11347. float8 __ovld __purefn vload8(size_t, const __global float *);
  11348. char16 __ovld __purefn vload16(size_t, const __global char *);
  11349. uchar16 __ovld __purefn vload16(size_t, const __global uchar *);
  11350. short16 __ovld __purefn vload16(size_t, const __global short *);
  11351. ushort16 __ovld __purefn vload16(size_t, const __global ushort *);
  11352. int16 __ovld __purefn vload16(size_t, const __global int *);
  11353. uint16 __ovld __purefn vload16(size_t, const __global uint *);
  11354. long16 __ovld __purefn vload16(size_t, const __global long *);
  11355. ulong16 __ovld __purefn vload16(size_t, const __global ulong *);
  11356. float16 __ovld __purefn vload16(size_t, const __global float *);
  11357. char2 __ovld __purefn vload2(size_t, const __local char *);
  11358. uchar2 __ovld __purefn vload2(size_t, const __local uchar *);
  11359. short2 __ovld __purefn vload2(size_t, const __local short *);
  11360. ushort2 __ovld __purefn vload2(size_t, const __local ushort *);
  11361. int2 __ovld __purefn vload2(size_t, const __local int *);
  11362. uint2 __ovld __purefn vload2(size_t, const __local uint *);
  11363. long2 __ovld __purefn vload2(size_t, const __local long *);
  11364. ulong2 __ovld __purefn vload2(size_t, const __local ulong *);
  11365. float2 __ovld __purefn vload2(size_t, const __local float *);
  11366. char3 __ovld __purefn vload3(size_t, const __local char *);
  11367. uchar3 __ovld __purefn vload3(size_t, const __local uchar *);
  11368. short3 __ovld __purefn vload3(size_t, const __local short *);
  11369. ushort3 __ovld __purefn vload3(size_t, const __local ushort *);
  11370. int3 __ovld __purefn vload3(size_t, const __local int *);
  11371. uint3 __ovld __purefn vload3(size_t, const __local uint *);
  11372. long3 __ovld __purefn vload3(size_t, const __local long *);
  11373. ulong3 __ovld __purefn vload3(size_t, const __local ulong *);
  11374. float3 __ovld __purefn vload3(size_t, const __local float *);
  11375. char4 __ovld __purefn vload4(size_t, const __local char *);
  11376. uchar4 __ovld __purefn vload4(size_t, const __local uchar *);
  11377. short4 __ovld __purefn vload4(size_t, const __local short *);
  11378. ushort4 __ovld __purefn vload4(size_t, const __local ushort *);
  11379. int4 __ovld __purefn vload4(size_t, const __local int *);
  11380. uint4 __ovld __purefn vload4(size_t, const __local uint *);
  11381. long4 __ovld __purefn vload4(size_t, const __local long *);
  11382. ulong4 __ovld __purefn vload4(size_t, const __local ulong *);
  11383. float4 __ovld __purefn vload4(size_t, const __local float *);
  11384. char8 __ovld __purefn vload8(size_t, const __local char *);
  11385. uchar8 __ovld __purefn vload8(size_t, const __local uchar *);
  11386. short8 __ovld __purefn vload8(size_t, const __local short *);
  11387. ushort8 __ovld __purefn vload8(size_t, const __local ushort *);
  11388. int8 __ovld __purefn vload8(size_t, const __local int *);
  11389. uint8 __ovld __purefn vload8(size_t, const __local uint *);
  11390. long8 __ovld __purefn vload8(size_t, const __local long *);
  11391. ulong8 __ovld __purefn vload8(size_t, const __local ulong *);
  11392. float8 __ovld __purefn vload8(size_t, const __local float *);
  11393. char16 __ovld __purefn vload16(size_t, const __local char *);
  11394. uchar16 __ovld __purefn vload16(size_t, const __local uchar *);
  11395. short16 __ovld __purefn vload16(size_t, const __local short *);
  11396. ushort16 __ovld __purefn vload16(size_t, const __local ushort *);
  11397. int16 __ovld __purefn vload16(size_t, const __local int *);
  11398. uint16 __ovld __purefn vload16(size_t, const __local uint *);
  11399. long16 __ovld __purefn vload16(size_t, const __local long *);
  11400. ulong16 __ovld __purefn vload16(size_t, const __local ulong *);
  11401. float16 __ovld __purefn vload16(size_t, const __local float *);
  11402. char2 __ovld __purefn vload2(size_t, const __private char *);
  11403. uchar2 __ovld __purefn vload2(size_t, const __private uchar *);
  11404. short2 __ovld __purefn vload2(size_t, const __private short *);
  11405. ushort2 __ovld __purefn vload2(size_t, const __private ushort *);
  11406. int2 __ovld __purefn vload2(size_t, const __private int *);
  11407. uint2 __ovld __purefn vload2(size_t, const __private uint *);
  11408. long2 __ovld __purefn vload2(size_t, const __private long *);
  11409. ulong2 __ovld __purefn vload2(size_t, const __private ulong *);
  11410. float2 __ovld __purefn vload2(size_t, const __private float *);
  11411. char3 __ovld __purefn vload3(size_t, const __private char *);
  11412. uchar3 __ovld __purefn vload3(size_t, const __private uchar *);
  11413. short3 __ovld __purefn vload3(size_t, const __private short *);
  11414. ushort3 __ovld __purefn vload3(size_t, const __private ushort *);
  11415. int3 __ovld __purefn vload3(size_t, const __private int *);
  11416. uint3 __ovld __purefn vload3(size_t, const __private uint *);
  11417. long3 __ovld __purefn vload3(size_t, const __private long *);
  11418. ulong3 __ovld __purefn vload3(size_t, const __private ulong *);
  11419. float3 __ovld __purefn vload3(size_t, const __private float *);
  11420. char4 __ovld __purefn vload4(size_t, const __private char *);
  11421. uchar4 __ovld __purefn vload4(size_t, const __private uchar *);
  11422. short4 __ovld __purefn vload4(size_t, const __private short *);
  11423. ushort4 __ovld __purefn vload4(size_t, const __private ushort *);
  11424. int4 __ovld __purefn vload4(size_t, const __private int *);
  11425. uint4 __ovld __purefn vload4(size_t, const __private uint *);
  11426. long4 __ovld __purefn vload4(size_t, const __private long *);
  11427. ulong4 __ovld __purefn vload4(size_t, const __private ulong *);
  11428. float4 __ovld __purefn vload4(size_t, const __private float *);
  11429. char8 __ovld __purefn vload8(size_t, const __private char *);
  11430. uchar8 __ovld __purefn vload8(size_t, const __private uchar *);
  11431. short8 __ovld __purefn vload8(size_t, const __private short *);
  11432. ushort8 __ovld __purefn vload8(size_t, const __private ushort *);
  11433. int8 __ovld __purefn vload8(size_t, const __private int *);
  11434. uint8 __ovld __purefn vload8(size_t, const __private uint *);
  11435. long8 __ovld __purefn vload8(size_t, const __private long *);
  11436. ulong8 __ovld __purefn vload8(size_t, const __private ulong *);
  11437. float8 __ovld __purefn vload8(size_t, const __private float *);
  11438. char16 __ovld __purefn vload16(size_t, const __private char *);
  11439. uchar16 __ovld __purefn vload16(size_t, const __private uchar *);
  11440. short16 __ovld __purefn vload16(size_t, const __private short *);
  11441. ushort16 __ovld __purefn vload16(size_t, const __private ushort *);
  11442. int16 __ovld __purefn vload16(size_t, const __private int *);
  11443. uint16 __ovld __purefn vload16(size_t, const __private uint *);
  11444. long16 __ovld __purefn vload16(size_t, const __private long *);
  11445. ulong16 __ovld __purefn vload16(size_t, const __private ulong *);
  11446. float16 __ovld __purefn vload16(size_t, const __private float *);
  11447.  
  11448. #ifdef cl_khr_fp64
  11449. double2 __ovld __purefn vload2(size_t, const __global double *);
  11450. double3 __ovld __purefn vload3(size_t, const __global double *);
  11451. double4 __ovld __purefn vload4(size_t, const __global double *);
  11452. double8 __ovld __purefn vload8(size_t, const __global double *);
  11453. double16 __ovld __purefn vload16(size_t, const __global double *);
  11454. double2 __ovld __purefn vload2(size_t, const __local double *);
  11455. double3 __ovld __purefn vload3(size_t, const __local double *);
  11456. double4 __ovld __purefn vload4(size_t, const __local double *);
  11457. double8 __ovld __purefn vload8(size_t, const __local double *);
  11458. double16 __ovld __purefn vload16(size_t, const __local double *);
  11459. double2 __ovld __purefn vload2(size_t, const __private double *);
  11460. double3 __ovld __purefn vload3(size_t, const __private double *);
  11461. double4 __ovld __purefn vload4(size_t, const __private double *);
  11462. double8 __ovld __purefn vload8(size_t, const __private double *);
  11463. double16 __ovld __purefn vload16(size_t, const __private double *);
  11464. #endif //cl_khr_fp64
  11465.  
  11466. #ifdef cl_khr_fp16
  11467. half2 __ovld __purefn vload2(size_t, const __global half *);
  11468. half3 __ovld __purefn vload3(size_t, const __global half *);
  11469. half4 __ovld __purefn vload4(size_t, const __global half *);
  11470. half8 __ovld __purefn vload8(size_t, const __global half *);
  11471. half16 __ovld __purefn vload16(size_t, const __global half *);
  11472. half2 __ovld __purefn vload2(size_t, const __local half *);
  11473. half3 __ovld __purefn vload3(size_t, const __local half *);
  11474. half4 __ovld __purefn vload4(size_t, const __local half *);
  11475. half8 __ovld __purefn vload8(size_t, const __local half *);
  11476. half16 __ovld __purefn vload16(size_t, const __local half *);
  11477. half2 __ovld __purefn vload2(size_t, const __private half *);
  11478. half3 __ovld __purefn vload3(size_t, const __private half *);
  11479. half4 __ovld __purefn vload4(size_t, const __private half *);
  11480. half8 __ovld __purefn vload8(size_t, const __private half *);
  11481. half16 __ovld __purefn vload16(size_t, const __private half *);
  11482. #endif //cl_khr_fp16
  11483. #endif //defined(__opencl_c_named_address_space_builtins)
  11484.  
  11485. #if defined(__opencl_c_generic_address_space)
  11486. void __ovld vstore2(char2, size_t, char *);
  11487. void __ovld vstore2(uchar2, size_t, uchar *);
  11488. void __ovld vstore2(short2, size_t, short *);
  11489. void __ovld vstore2(ushort2, size_t, ushort *);
  11490. void __ovld vstore2(int2, size_t, int *);
  11491. void __ovld vstore2(uint2, size_t, uint *);
  11492. void __ovld vstore2(long2, size_t, long *);
  11493. void __ovld vstore2(ulong2, size_t, ulong *);
  11494. void __ovld vstore2(float2, size_t, float *);
  11495. void __ovld vstore3(char3, size_t, char *);
  11496. void __ovld vstore3(uchar3, size_t, uchar *);
  11497. void __ovld vstore3(short3, size_t, short *);
  11498. void __ovld vstore3(ushort3, size_t, ushort *);
  11499. void __ovld vstore3(int3, size_t, int *);
  11500. void __ovld vstore3(uint3, size_t, uint *);
  11501. void __ovld vstore3(long3, size_t, long *);
  11502. void __ovld vstore3(ulong3, size_t, ulong *);
  11503. void __ovld vstore3(float3, size_t, float *);
  11504. void __ovld vstore4(char4, size_t, char *);
  11505. void __ovld vstore4(uchar4, size_t, uchar *);
  11506. void __ovld vstore4(short4, size_t, short *);
  11507. void __ovld vstore4(ushort4, size_t, ushort *);
  11508. void __ovld vstore4(int4, size_t, int *);
  11509. void __ovld vstore4(uint4, size_t, uint *);
  11510. void __ovld vstore4(long4, size_t, long *);
  11511. void __ovld vstore4(ulong4, size_t, ulong *);
  11512. void __ovld vstore4(float4, size_t, float *);
  11513. void __ovld vstore8(char8, size_t, char *);
  11514. void __ovld vstore8(uchar8, size_t, uchar *);
  11515. void __ovld vstore8(short8, size_t, short *);
  11516. void __ovld vstore8(ushort8, size_t, ushort *);
  11517. void __ovld vstore8(int8, size_t, int *);
  11518. void __ovld vstore8(uint8, size_t, uint *);
  11519. void __ovld vstore8(long8, size_t, long *);
  11520. void __ovld vstore8(ulong8, size_t, ulong *);
  11521. void __ovld vstore8(float8, size_t, float *);
  11522. void __ovld vstore16(char16, size_t, char *);
  11523. void __ovld vstore16(uchar16, size_t, uchar *);
  11524. void __ovld vstore16(short16, size_t, short *);
  11525. void __ovld vstore16(ushort16, size_t, ushort *);
  11526. void __ovld vstore16(int16, size_t, int *);
  11527. void __ovld vstore16(uint16, size_t, uint *);
  11528. void __ovld vstore16(long16, size_t, long *);
  11529. void __ovld vstore16(ulong16, size_t, ulong *);
  11530. void __ovld vstore16(float16, size_t, float *);
  11531. #ifdef cl_khr_fp64
  11532. void __ovld vstore2(double2, size_t, double *);
  11533. void __ovld vstore3(double3, size_t, double *);
  11534. void __ovld vstore4(double4, size_t, double *);
  11535. void __ovld vstore8(double8, size_t, double *);
  11536. void __ovld vstore16(double16, size_t, double *);
  11537. #endif //cl_khr_fp64
  11538. #ifdef cl_khr_fp16
  11539. void __ovld vstore2(half2, size_t, half *);
  11540. void __ovld vstore3(half3, size_t, half *);
  11541. void __ovld vstore4(half4, size_t, half *);
  11542. void __ovld vstore8(half8, size_t, half *);
  11543. void __ovld vstore16(half16, size_t, half *);
  11544. #endif //cl_khr_fp16
  11545. #endif //defined(__opencl_c_generic_address_space)
  11546.  
  11547. #if defined(__opencl_c_named_address_space_builtins)
  11548. void __ovld vstore2(char2, size_t, __global char *);
  11549. void __ovld vstore2(uchar2, size_t, __global uchar *);
  11550. void __ovld vstore2(short2, size_t, __global short *);
  11551. void __ovld vstore2(ushort2, size_t, __global ushort *);
  11552. void __ovld vstore2(int2, size_t, __global int *);
  11553. void __ovld vstore2(uint2, size_t, __global uint *);
  11554. void __ovld vstore2(long2, size_t, __global long *);
  11555. void __ovld vstore2(ulong2, size_t, __global ulong *);
  11556. void __ovld vstore2(float2, size_t, __global float *);
  11557. void __ovld vstore3(char3, size_t, __global char *);
  11558. void __ovld vstore3(uchar3, size_t, __global uchar *);
  11559. void __ovld vstore3(short3, size_t, __global short *);
  11560. void __ovld vstore3(ushort3, size_t, __global ushort *);
  11561. void __ovld vstore3(int3, size_t, __global int *);
  11562. void __ovld vstore3(uint3, size_t, __global uint *);
  11563. void __ovld vstore3(long3, size_t, __global long *);
  11564. void __ovld vstore3(ulong3, size_t, __global ulong *);
  11565. void __ovld vstore3(float3, size_t, __global float *);
  11566. void __ovld vstore4(char4, size_t, __global char *);
  11567. void __ovld vstore4(uchar4, size_t, __global uchar *);
  11568. void __ovld vstore4(short4, size_t, __global short *);
  11569. void __ovld vstore4(ushort4, size_t, __global ushort *);
  11570. void __ovld vstore4(int4, size_t, __global int *);
  11571. void __ovld vstore4(uint4, size_t, __global uint *);
  11572. void __ovld vstore4(long4, size_t, __global long *);
  11573. void __ovld vstore4(ulong4, size_t, __global ulong *);
  11574. void __ovld vstore4(float4, size_t, __global float *);
  11575. void __ovld vstore8(char8, size_t, __global char *);
  11576. void __ovld vstore8(uchar8, size_t, __global uchar *);
  11577. void __ovld vstore8(short8, size_t, __global short *);
  11578. void __ovld vstore8(ushort8, size_t, __global ushort *);
  11579. void __ovld vstore8(int8, size_t, __global int *);
  11580. void __ovld vstore8(uint8, size_t, __global uint *);
  11581. void __ovld vstore8(long8, size_t, __global long *);
  11582. void __ovld vstore8(ulong8, size_t, __global ulong *);
  11583. void __ovld vstore8(float8, size_t, __global float *);
  11584. void __ovld vstore16(char16, size_t, __global char *);
  11585. void __ovld vstore16(uchar16, size_t, __global uchar *);
  11586. void __ovld vstore16(short16, size_t, __global short *);
  11587. void __ovld vstore16(ushort16, size_t, __global ushort *);
  11588. void __ovld vstore16(int16, size_t, __global int *);
  11589. void __ovld vstore16(uint16, size_t, __global uint *);
  11590. void __ovld vstore16(long16, size_t, __global long *);
  11591. void __ovld vstore16(ulong16, size_t, __global ulong *);
  11592. void __ovld vstore16(float16, size_t, __global float *);
  11593. void __ovld vstore2(char2, size_t, __local char *);
  11594. void __ovld vstore2(uchar2, size_t, __local uchar *);
  11595. void __ovld vstore2(short2, size_t, __local short *);
  11596. void __ovld vstore2(ushort2, size_t, __local ushort *);
  11597. void __ovld vstore2(int2, size_t, __local int *);
  11598. void __ovld vstore2(uint2, size_t, __local uint *);
  11599. void __ovld vstore2(long2, size_t, __local long *);
  11600. void __ovld vstore2(ulong2, size_t, __local ulong *);
  11601. void __ovld vstore2(float2, size_t, __local float *);
  11602. void __ovld vstore3(char3, size_t, __local char *);
  11603. void __ovld vstore3(uchar3, size_t, __local uchar *);
  11604. void __ovld vstore3(short3, size_t, __local short *);
  11605. void __ovld vstore3(ushort3, size_t, __local ushort *);
  11606. void __ovld vstore3(int3, size_t, __local int *);
  11607. void __ovld vstore3(uint3, size_t, __local uint *);
  11608. void __ovld vstore3(long3, size_t, __local long *);
  11609. void __ovld vstore3(ulong3, size_t, __local ulong *);
  11610. void __ovld vstore3(float3, size_t, __local float *);
  11611. void __ovld vstore4(char4, size_t, __local char *);
  11612. void __ovld vstore4(uchar4, size_t, __local uchar *);
  11613. void __ovld vstore4(short4, size_t, __local short *);
  11614. void __ovld vstore4(ushort4, size_t, __local ushort *);
  11615. void __ovld vstore4(int4, size_t, __local int *);
  11616. void __ovld vstore4(uint4, size_t, __local uint *);
  11617. void __ovld vstore4(long4, size_t, __local long *);
  11618. void __ovld vstore4(ulong4, size_t, __local ulong *);
  11619. void __ovld vstore4(float4, size_t, __local float *);
  11620. void __ovld vstore8(char8, size_t, __local char *);
  11621. void __ovld vstore8(uchar8, size_t, __local uchar *);
  11622. void __ovld vstore8(short8, size_t, __local short *);
  11623. void __ovld vstore8(ushort8, size_t, __local ushort *);
  11624. void __ovld vstore8(int8, size_t, __local int *);
  11625. void __ovld vstore8(uint8, size_t, __local uint *);
  11626. void __ovld vstore8(long8, size_t, __local long *);
  11627. void __ovld vstore8(ulong8, size_t, __local ulong *);
  11628. void __ovld vstore8(float8, size_t, __local float *);
  11629. void __ovld vstore16(char16, size_t, __local char *);
  11630. void __ovld vstore16(uchar16, size_t, __local uchar *);
  11631. void __ovld vstore16(short16, size_t, __local short *);
  11632. void __ovld vstore16(ushort16, size_t, __local ushort *);
  11633. void __ovld vstore16(int16, size_t, __local int *);
  11634. void __ovld vstore16(uint16, size_t, __local uint *);
  11635. void __ovld vstore16(long16, size_t, __local long *);
  11636. void __ovld vstore16(ulong16, size_t, __local ulong *);
  11637. void __ovld vstore16(float16, size_t, __local float *);
  11638. void __ovld vstore2(char2, size_t, __private char *);
  11639. void __ovld vstore2(uchar2, size_t, __private uchar *);
  11640. void __ovld vstore2(short2, size_t, __private short *);
  11641. void __ovld vstore2(ushort2, size_t, __private ushort *);
  11642. void __ovld vstore2(int2, size_t, __private int *);
  11643. void __ovld vstore2(uint2, size_t, __private uint *);
  11644. void __ovld vstore2(long2, size_t, __private long *);
  11645. void __ovld vstore2(ulong2, size_t, __private ulong *);
  11646. void __ovld vstore2(float2, size_t, __private float *);
  11647. void __ovld vstore3(char3, size_t, __private char *);
  11648. void __ovld vstore3(uchar3, size_t, __private uchar *);
  11649. void __ovld vstore3(short3, size_t, __private short *);
  11650. void __ovld vstore3(ushort3, size_t, __private ushort *);
  11651. void __ovld vstore3(int3, size_t, __private int *);
  11652. void __ovld vstore3(uint3, size_t, __private uint *);
  11653. void __ovld vstore3(long3, size_t, __private long *);
  11654. void __ovld vstore3(ulong3, size_t, __private ulong *);
  11655. void __ovld vstore3(float3, size_t, __private float *);
  11656. void __ovld vstore4(char4, size_t, __private char *);
  11657. void __ovld vstore4(uchar4, size_t, __private uchar *);
  11658. void __ovld vstore4(short4, size_t, __private short *);
  11659. void __ovld vstore4(ushort4, size_t, __private ushort *);
  11660. void __ovld vstore4(int4, size_t, __private int *);
  11661. void __ovld vstore4(uint4, size_t, __private uint *);
  11662. void __ovld vstore4(long4, size_t, __private long *);
  11663. void __ovld vstore4(ulong4, size_t, __private ulong *);
  11664. void __ovld vstore4(float4, size_t, __private float *);
  11665. void __ovld vstore8(char8, size_t, __private char *);
  11666. void __ovld vstore8(uchar8, size_t, __private uchar *);
  11667. void __ovld vstore8(short8, size_t, __private short *);
  11668. void __ovld vstore8(ushort8, size_t, __private ushort *);
  11669. void __ovld vstore8(int8, size_t, __private int *);
  11670. void __ovld vstore8(uint8, size_t, __private uint *);
  11671. void __ovld vstore8(long8, size_t, __private long *);
  11672. void __ovld vstore8(ulong8, size_t, __private ulong *);
  11673. void __ovld vstore8(float8, size_t, __private float *);
  11674. void __ovld vstore16(char16, size_t, __private char *);
  11675. void __ovld vstore16(uchar16, size_t, __private uchar *);
  11676. void __ovld vstore16(short16, size_t, __private short *);
  11677. void __ovld vstore16(ushort16, size_t, __private ushort *);
  11678. void __ovld vstore16(int16, size_t, __private int *);
  11679. void __ovld vstore16(uint16, size_t, __private uint *);
  11680. void __ovld vstore16(long16, size_t, __private long *);
  11681. void __ovld vstore16(ulong16, size_t, __private ulong *);
  11682. void __ovld vstore16(float16, size_t, __private float *);
  11683. #ifdef cl_khr_fp64
  11684. void __ovld vstore2(double2, size_t, __global double *);
  11685. void __ovld vstore3(double3, size_t, __global double *);
  11686. void __ovld vstore4(double4, size_t, __global double *);
  11687. void __ovld vstore8(double8, size_t, __global double *);
  11688. void __ovld vstore16(double16, size_t, __global double *);
  11689. void __ovld vstore2(double2, size_t, __local double *);
  11690. void __ovld vstore3(double3, size_t, __local double *);
  11691. void __ovld vstore4(double4, size_t, __local double *);
  11692. void __ovld vstore8(double8, size_t, __local double *);
  11693. void __ovld vstore16(double16, size_t, __local double *);
  11694. void __ovld vstore2(double2, size_t, __private double *);
  11695. void __ovld vstore3(double3, size_t, __private double *);
  11696. void __ovld vstore4(double4, size_t, __private double *);
  11697. void __ovld vstore8(double8, size_t, __private double *);
  11698. void __ovld vstore16(double16, size_t, __private double *);
  11699. #endif //cl_khr_fp64
  11700. #ifdef cl_khr_fp16
  11701. void __ovld vstore2(half2, size_t, __global half *);
  11702. void __ovld vstore3(half3, size_t, __global half *);
  11703. void __ovld vstore4(half4, size_t, __global half *);
  11704. void __ovld vstore8(half8, size_t, __global half *);
  11705. void __ovld vstore16(half16, size_t, __global half *);
  11706. void __ovld vstore2(half2, size_t, __local half *);
  11707. void __ovld vstore3(half3, size_t, __local half *);
  11708. void __ovld vstore4(half4, size_t, __local half *);
  11709. void __ovld vstore8(half8, size_t, __local half *);
  11710. void __ovld vstore16(half16, size_t, __local half *);
  11711. void __ovld vstore2(half2, size_t, __private half *);
  11712. void __ovld vstore3(half3, size_t, __private half *);
  11713. void __ovld vstore4(half4, size_t, __private half *);
  11714. void __ovld vstore8(half8, size_t, __private half *);
  11715. void __ovld vstore16(half16, size_t, __private half *);
  11716. #endif //cl_khr_fp16
  11717. #endif //defined(__opencl_c_named_address_space_builtins)
  11718.  
  11719. /**
  11720.  * Read sizeof (half) bytes of data from address
  11721.  * (p + offset). The data read is interpreted as a
  11722.  * half value. The half value is converted to a
  11723.  * float value and the float value is returned.
  11724.  * The read address computed as (p + offset)
  11725.  * must be 16-bit aligned.
  11726.  */
  11727. float __ovld __purefn vload_half(size_t, const __constant half *);
  11728. #if defined(__opencl_c_generic_address_space)
  11729. float __ovld __purefn vload_half(size_t, const half *);
  11730. #endif //defined(__opencl_c_generic_address_space)
  11731.  
  11732. #if defined(__opencl_c_named_address_space_builtins)
  11733. float __ovld __purefn vload_half(size_t, const __global half *);
  11734. float __ovld __purefn vload_half(size_t, const __local half *);
  11735. float __ovld __purefn vload_half(size_t, const __private half *);
  11736. #endif //defined(__opencl_c_named_address_space_builtins)
  11737.  
  11738. /**
  11739.  * Read sizeof (halfn) bytes of data from address
  11740.  * (p + (offset * n)). The data read is interpreted
  11741.  * as a halfn value. The halfn value read is
  11742.  * converted to a floatn value and the floatn
  11743.  * value is returned. The read address computed
  11744.  * as (p + (offset * n)) must be 16-bit aligned.
  11745.  */
  11746. float2 __ovld __purefn vload_half2(size_t, const __constant half *);
  11747. float3 __ovld __purefn vload_half3(size_t, const __constant half *);
  11748. float4 __ovld __purefn vload_half4(size_t, const __constant half *);
  11749. float8 __ovld __purefn vload_half8(size_t, const __constant half *);
  11750. float16 __ovld __purefn vload_half16(size_t, const __constant half *);
  11751. #if defined(__opencl_c_generic_address_space)
  11752. float2 __ovld __purefn vload_half2(size_t, const half *);
  11753. float3 __ovld __purefn vload_half3(size_t, const half *);
  11754. float4 __ovld __purefn vload_half4(size_t, const half *);
  11755. float8 __ovld __purefn vload_half8(size_t, const half *);
  11756. float16 __ovld __purefn vload_half16(size_t, const half *);
  11757. #endif //defined(__opencl_c_generic_address_space)
  11758.  
  11759. #if defined(__opencl_c_named_address_space_builtins)
  11760. float2 __ovld __purefn vload_half2(size_t, const __global half *);
  11761. float3 __ovld __purefn vload_half3(size_t, const __global half *);
  11762. float4 __ovld __purefn vload_half4(size_t, const __global half *);
  11763. float8 __ovld __purefn vload_half8(size_t, const __global half *);
  11764. float16 __ovld __purefn vload_half16(size_t, const __global half *);
  11765. float2 __ovld __purefn vload_half2(size_t, const __local half *);
  11766. float3 __ovld __purefn vload_half3(size_t, const __local half *);
  11767. float4 __ovld __purefn vload_half4(size_t, const __local half *);
  11768. float8 __ovld __purefn vload_half8(size_t, const __local half *);
  11769. float16 __ovld __purefn vload_half16(size_t, const __local half *);
  11770. float2 __ovld __purefn vload_half2(size_t, const __private half *);
  11771. float3 __ovld __purefn vload_half3(size_t, const __private half *);
  11772. float4 __ovld __purefn vload_half4(size_t, const __private half *);
  11773. float8 __ovld __purefn vload_half8(size_t, const __private half *);
  11774. float16 __ovld __purefn vload_half16(size_t, const __private half *);
  11775. #endif //defined(__opencl_c_named_address_space_builtins)
  11776.  
  11777. /**
  11778.  * The float value given by data is first
  11779.  * converted to a half value using the appropriate
  11780.  * rounding mode. The half value is then written
  11781.  * to address computed as (p + offset). The
  11782.  * address computed as (p + offset) must be 16-
  11783.  * bit aligned.
  11784.  * vstore_half use the current rounding mode.
  11785.  * The default current rounding mode is round to
  11786.  * nearest even.
  11787.  */
  11788. #if defined(__opencl_c_generic_address_space)
  11789. void __ovld vstore_half(float, size_t, half *);
  11790. void __ovld vstore_half_rte(float, size_t, half *);
  11791. void __ovld vstore_half_rtz(float, size_t, half *);
  11792. void __ovld vstore_half_rtp(float, size_t, half *);
  11793. void __ovld vstore_half_rtn(float, size_t, half *);
  11794. #ifdef cl_khr_fp64
  11795. void __ovld vstore_half(double, size_t, half *);
  11796. void __ovld vstore_half_rte(double, size_t, half *);
  11797. void __ovld vstore_half_rtz(double, size_t, half *);
  11798. void __ovld vstore_half_rtp(double, size_t, half *);
  11799. void __ovld vstore_half_rtn(double, size_t, half *);
  11800. #endif //cl_khr_fp64
  11801. #endif //defined(__opencl_c_generic_address_space)
  11802.  
  11803. #if defined(__opencl_c_named_address_space_builtins)
  11804. void __ovld vstore_half(float, size_t, __global half *);
  11805. void __ovld vstore_half_rte(float, size_t, __global half *);
  11806. void __ovld vstore_half_rtz(float, size_t, __global half *);
  11807. void __ovld vstore_half_rtp(float, size_t, __global half *);
  11808. void __ovld vstore_half_rtn(float, size_t, __global half *);
  11809. void __ovld vstore_half(float, size_t, __local half *);
  11810. void __ovld vstore_half_rte(float, size_t, __local half *);
  11811. void __ovld vstore_half_rtz(float, size_t, __local half *);
  11812. void __ovld vstore_half_rtp(float, size_t, __local half *);
  11813. void __ovld vstore_half_rtn(float, size_t, __local half *);
  11814. void __ovld vstore_half(float, size_t, __private half *);
  11815. void __ovld vstore_half_rte(float, size_t, __private half *);
  11816. void __ovld vstore_half_rtz(float, size_t, __private half *);
  11817. void __ovld vstore_half_rtp(float, size_t, __private half *);
  11818. void __ovld vstore_half_rtn(float, size_t, __private half *);
  11819. #ifdef cl_khr_fp64
  11820. void __ovld vstore_half(double, size_t, __global half *);
  11821. void __ovld vstore_half_rte(double, size_t, __global half *);
  11822. void __ovld vstore_half_rtz(double, size_t, __global half *);
  11823. void __ovld vstore_half_rtp(double, size_t, __global half *);
  11824. void __ovld vstore_half_rtn(double, size_t, __global half *);
  11825. void __ovld vstore_half(double, size_t, __local half *);
  11826. void __ovld vstore_half_rte(double, size_t, __local half *);
  11827. void __ovld vstore_half_rtz(double, size_t, __local half *);
  11828. void __ovld vstore_half_rtp(double, size_t, __local half *);
  11829. void __ovld vstore_half_rtn(double, size_t, __local half *);
  11830. void __ovld vstore_half(double, size_t, __private half *);
  11831. void __ovld vstore_half_rte(double, size_t, __private half *);
  11832. void __ovld vstore_half_rtz(double, size_t, __private half *);
  11833. void __ovld vstore_half_rtp(double, size_t, __private half *);
  11834. void __ovld vstore_half_rtn(double, size_t, __private half *);
  11835. #endif //cl_khr_fp64
  11836. #endif //defined(__opencl_c_named_address_space_builtins)
  11837.  
  11838. /**
  11839.  * The floatn value given by data is converted to
  11840.  * a halfn value using the appropriate rounding
  11841.  * mode. The halfn value is then written to
  11842.  * address computed as (p + (offset * n)). The
  11843.  * address computed as (p + (offset * n)) must be
  11844.  * 16-bit aligned.
  11845.  * vstore_halfn uses the current rounding mode.
  11846.  * The default current rounding mode is round to
  11847.  * nearest even.
  11848.  */
  11849. #if defined(__opencl_c_generic_address_space)
  11850. void __ovld vstore_half2(float2, size_t, half *);
  11851. void __ovld vstore_half3(float3, size_t, half *);
  11852. void __ovld vstore_half4(float4, size_t, half *);
  11853. void __ovld vstore_half8(float8, size_t, half *);
  11854. void __ovld vstore_half16(float16, size_t, half *);
  11855. void __ovld vstore_half2_rte(float2, size_t, half *);
  11856. void __ovld vstore_half3_rte(float3, size_t, half *);
  11857. void __ovld vstore_half4_rte(float4, size_t, half *);
  11858. void __ovld vstore_half8_rte(float8, size_t, half *);
  11859. void __ovld vstore_half16_rte(float16, size_t, half *);
  11860. void __ovld vstore_half2_rtz(float2, size_t, half *);
  11861. void __ovld vstore_half3_rtz(float3, size_t, half *);
  11862. void __ovld vstore_half4_rtz(float4, size_t, half *);
  11863. void __ovld vstore_half8_rtz(float8, size_t, half *);
  11864. void __ovld vstore_half16_rtz(float16, size_t, half *);
  11865. void __ovld vstore_half2_rtp(float2, size_t, half *);
  11866. void __ovld vstore_half3_rtp(float3, size_t, half *);
  11867. void __ovld vstore_half4_rtp(float4, size_t, half *);
  11868. void __ovld vstore_half8_rtp(float8, size_t, half *);
  11869. void __ovld vstore_half16_rtp(float16, size_t, half *);
  11870. void __ovld vstore_half2_rtn(float2, size_t, half *);
  11871. void __ovld vstore_half3_rtn(float3, size_t, half *);
  11872. void __ovld vstore_half4_rtn(float4, size_t, half *);
  11873. void __ovld vstore_half8_rtn(float8, size_t, half *);
  11874. void __ovld vstore_half16_rtn(float16, size_t, half *);
  11875. #ifdef cl_khr_fp64
  11876. void __ovld vstore_half2(double2, size_t, half *);
  11877. void __ovld vstore_half3(double3, size_t, half *);
  11878. void __ovld vstore_half4(double4, size_t, half *);
  11879. void __ovld vstore_half8(double8, size_t, half *);
  11880. void __ovld vstore_half16(double16, size_t, half *);
  11881. void __ovld vstore_half2_rte(double2, size_t, half *);
  11882. void __ovld vstore_half3_rte(double3, size_t, half *);
  11883. void __ovld vstore_half4_rte(double4, size_t, half *);
  11884. void __ovld vstore_half8_rte(double8, size_t, half *);
  11885. void __ovld vstore_half16_rte(double16, size_t, half *);
  11886. void __ovld vstore_half2_rtz(double2, size_t, half *);
  11887. void __ovld vstore_half3_rtz(double3, size_t, half *);
  11888. void __ovld vstore_half4_rtz(double4, size_t, half *);
  11889. void __ovld vstore_half8_rtz(double8, size_t, half *);
  11890. void __ovld vstore_half16_rtz(double16, size_t, half *);
  11891. void __ovld vstore_half2_rtp(double2, size_t, half *);
  11892. void __ovld vstore_half3_rtp(double3, size_t, half *);
  11893. void __ovld vstore_half4_rtp(double4, size_t, half *);
  11894. void __ovld vstore_half8_rtp(double8, size_t, half *);
  11895. void __ovld vstore_half16_rtp(double16, size_t, half *);
  11896. void __ovld vstore_half2_rtn(double2, size_t, half *);
  11897. void __ovld vstore_half3_rtn(double3, size_t, half *);
  11898. void __ovld vstore_half4_rtn(double4, size_t, half *);
  11899. void __ovld vstore_half8_rtn(double8, size_t, half *);
  11900. void __ovld vstore_half16_rtn(double16, size_t, half *);
  11901. #endif //cl_khr_fp64
  11902. #endif //defined(__opencl_c_generic_address_space)
  11903.  
  11904. #if defined(__opencl_c_named_address_space_builtins)
  11905. void __ovld vstore_half2(float2, size_t, __global half *);
  11906. void __ovld vstore_half3(float3, size_t, __global half *);
  11907. void __ovld vstore_half4(float4, size_t, __global half *);
  11908. void __ovld vstore_half8(float8, size_t, __global half *);
  11909. void __ovld vstore_half16(float16, size_t, __global half *);
  11910. void __ovld vstore_half2_rte(float2, size_t, __global half *);
  11911. void __ovld vstore_half3_rte(float3, size_t, __global half *);
  11912. void __ovld vstore_half4_rte(float4, size_t, __global half *);
  11913. void __ovld vstore_half8_rte(float8, size_t, __global half *);
  11914. void __ovld vstore_half16_rte(float16, size_t, __global half *);
  11915. void __ovld vstore_half2_rtz(float2, size_t, __global half *);
  11916. void __ovld vstore_half3_rtz(float3, size_t, __global half *);
  11917. void __ovld vstore_half4_rtz(float4, size_t, __global half *);
  11918. void __ovld vstore_half8_rtz(float8, size_t, __global half *);
  11919. void __ovld vstore_half16_rtz(float16, size_t, __global half *);
  11920. void __ovld vstore_half2_rtp(float2, size_t, __global half *);
  11921. void __ovld vstore_half3_rtp(float3, size_t, __global half *);
  11922. void __ovld vstore_half4_rtp(float4, size_t, __global half *);
  11923. void __ovld vstore_half8_rtp(float8, size_t, __global half *);
  11924. void __ovld vstore_half16_rtp(float16, size_t, __global half *);
  11925. void __ovld vstore_half2_rtn(float2, size_t, __global half *);
  11926. void __ovld vstore_half3_rtn(float3, size_t, __global half *);
  11927. void __ovld vstore_half4_rtn(float4, size_t, __global half *);
  11928. void __ovld vstore_half8_rtn(float8, size_t, __global half *);
  11929. void __ovld vstore_half16_rtn(float16, size_t, __global half *);
  11930. void __ovld vstore_half2(float2, size_t, __local half *);
  11931. void __ovld vstore_half3(float3, size_t, __local half *);
  11932. void __ovld vstore_half4(float4, size_t, __local half *);
  11933. void __ovld vstore_half8(float8, size_t, __local half *);
  11934. void __ovld vstore_half16(float16, size_t, __local half *);
  11935. void __ovld vstore_half2_rte(float2, size_t, __local half *);
  11936. void __ovld vstore_half3_rte(float3, size_t, __local half *);
  11937. void __ovld vstore_half4_rte(float4, size_t, __local half *);
  11938. void __ovld vstore_half8_rte(float8, size_t, __local half *);
  11939. void __ovld vstore_half16_rte(float16, size_t, __local half *);
  11940. void __ovld vstore_half2_rtz(float2, size_t, __local half *);
  11941. void __ovld vstore_half3_rtz(float3, size_t, __local half *);
  11942. void __ovld vstore_half4_rtz(float4, size_t, __local half *);
  11943. void __ovld vstore_half8_rtz(float8, size_t, __local half *);
  11944. void __ovld vstore_half16_rtz(float16, size_t, __local half *);
  11945. void __ovld vstore_half2_rtp(float2, size_t, __local half *);
  11946. void __ovld vstore_half3_rtp(float3, size_t, __local half *);
  11947. void __ovld vstore_half4_rtp(float4, size_t, __local half *);
  11948. void __ovld vstore_half8_rtp(float8, size_t, __local half *);
  11949. void __ovld vstore_half16_rtp(float16, size_t, __local half *);
  11950. void __ovld vstore_half2_rtn(float2, size_t, __local half *);
  11951. void __ovld vstore_half3_rtn(float3, size_t, __local half *);
  11952. void __ovld vstore_half4_rtn(float4, size_t, __local half *);
  11953. void __ovld vstore_half8_rtn(float8, size_t, __local half *);
  11954. void __ovld vstore_half16_rtn(float16, size_t, __local half *);
  11955. void __ovld vstore_half2(float2, size_t, __private half *);
  11956. void __ovld vstore_half3(float3, size_t, __private half *);
  11957. void __ovld vstore_half4(float4, size_t, __private half *);
  11958. void __ovld vstore_half8(float8, size_t, __private half *);
  11959. void __ovld vstore_half16(float16, size_t, __private half *);
  11960. void __ovld vstore_half2_rte(float2, size_t, __private half *);
  11961. void __ovld vstore_half3_rte(float3, size_t, __private half *);
  11962. void __ovld vstore_half4_rte(float4, size_t, __private half *);
  11963. void __ovld vstore_half8_rte(float8, size_t, __private half *);
  11964. void __ovld vstore_half16_rte(float16, size_t, __private half *);
  11965. void __ovld vstore_half2_rtz(float2, size_t, __private half *);
  11966. void __ovld vstore_half3_rtz(float3, size_t, __private half *);
  11967. void __ovld vstore_half4_rtz(float4, size_t, __private half *);
  11968. void __ovld vstore_half8_rtz(float8, size_t, __private half *);
  11969. void __ovld vstore_half16_rtz(float16, size_t, __private half *);
  11970. void __ovld vstore_half2_rtp(float2, size_t, __private half *);
  11971. void __ovld vstore_half3_rtp(float3, size_t, __private half *);
  11972. void __ovld vstore_half4_rtp(float4, size_t, __private half *);
  11973. void __ovld vstore_half8_rtp(float8, size_t, __private half *);
  11974. void __ovld vstore_half16_rtp(float16, size_t, __private half *);
  11975. void __ovld vstore_half2_rtn(float2, size_t, __private half *);
  11976. void __ovld vstore_half3_rtn(float3, size_t, __private half *);
  11977. void __ovld vstore_half4_rtn(float4, size_t, __private half *);
  11978. void __ovld vstore_half8_rtn(float8, size_t, __private half *);
  11979. void __ovld vstore_half16_rtn(float16, size_t, __private half *);
  11980. #ifdef cl_khr_fp64
  11981. void __ovld vstore_half2(double2, size_t, __global half *);
  11982. void __ovld vstore_half3(double3, size_t, __global half *);
  11983. void __ovld vstore_half4(double4, size_t, __global half *);
  11984. void __ovld vstore_half8(double8, size_t, __global half *);
  11985. void __ovld vstore_half16(double16, size_t, __global half *);
  11986. void __ovld vstore_half2_rte(double2, size_t, __global half *);
  11987. void __ovld vstore_half3_rte(double3, size_t, __global half *);
  11988. void __ovld vstore_half4_rte(double4, size_t, __global half *);
  11989. void __ovld vstore_half8_rte(double8, size_t, __global half *);
  11990. void __ovld vstore_half16_rte(double16, size_t, __global half *);
  11991. void __ovld vstore_half2_rtz(double2, size_t, __global half *);
  11992. void __ovld vstore_half3_rtz(double3, size_t, __global half *);
  11993. void __ovld vstore_half4_rtz(double4, size_t, __global half *);
  11994. void __ovld vstore_half8_rtz(double8, size_t, __global half *);
  11995. void __ovld vstore_half16_rtz(double16, size_t, __global half *);
  11996. void __ovld vstore_half2_rtp(double2, size_t, __global half *);
  11997. void __ovld vstore_half3_rtp(double3, size_t, __global half *);
  11998. void __ovld vstore_half4_rtp(double4, size_t, __global half *);
  11999. void __ovld vstore_half8_rtp(double8, size_t, __global half *);
  12000. void __ovld vstore_half16_rtp(double16, size_t, __global half *);
  12001. void __ovld vstore_half2_rtn(double2, size_t, __global half *);
  12002. void __ovld vstore_half3_rtn(double3, size_t, __global half *);
  12003. void __ovld vstore_half4_rtn(double4, size_t, __global half *);
  12004. void __ovld vstore_half8_rtn(double8, size_t, __global half *);
  12005. void __ovld vstore_half16_rtn(double16, size_t, __global half *);
  12006. void __ovld vstore_half2(double2, size_t, __local half *);
  12007. void __ovld vstore_half3(double3, size_t, __local half *);
  12008. void __ovld vstore_half4(double4, size_t, __local half *);
  12009. void __ovld vstore_half8(double8, size_t, __local half *);
  12010. void __ovld vstore_half16(double16, size_t, __local half *);
  12011. void __ovld vstore_half2_rte(double2, size_t, __local half *);
  12012. void __ovld vstore_half3_rte(double3, size_t, __local half *);
  12013. void __ovld vstore_half4_rte(double4, size_t, __local half *);
  12014. void __ovld vstore_half8_rte(double8, size_t, __local half *);
  12015. void __ovld vstore_half16_rte(double16, size_t, __local half *);
  12016. void __ovld vstore_half2_rtz(double2, size_t, __local half *);
  12017. void __ovld vstore_half3_rtz(double3, size_t, __local half *);
  12018. void __ovld vstore_half4_rtz(double4, size_t, __local half *);
  12019. void __ovld vstore_half8_rtz(double8, size_t, __local half *);
  12020. void __ovld vstore_half16_rtz(double16, size_t, __local half *);
  12021. void __ovld vstore_half2_rtp(double2, size_t, __local half *);
  12022. void __ovld vstore_half3_rtp(double3, size_t, __local half *);
  12023. void __ovld vstore_half4_rtp(double4, size_t, __local half *);
  12024. void __ovld vstore_half8_rtp(double8, size_t, __local half *);
  12025. void __ovld vstore_half16_rtp(double16, size_t, __local half *);
  12026. void __ovld vstore_half2_rtn(double2, size_t, __local half *);
  12027. void __ovld vstore_half3_rtn(double3, size_t, __local half *);
  12028. void __ovld vstore_half4_rtn(double4, size_t, __local half *);
  12029. void __ovld vstore_half8_rtn(double8, size_t, __local half *);
  12030. void __ovld vstore_half16_rtn(double16, size_t, __local half *);
  12031. void __ovld vstore_half2(double2, size_t, __private half *);
  12032. void __ovld vstore_half3(double3, size_t, __private half *);
  12033. void __ovld vstore_half4(double4, size_t, __private half *);
  12034. void __ovld vstore_half8(double8, size_t, __private half *);
  12035. void __ovld vstore_half16(double16, size_t, __private half *);
  12036. void __ovld vstore_half2_rte(double2, size_t, __private half *);
  12037. void __ovld vstore_half3_rte(double3, size_t, __private half *);
  12038. void __ovld vstore_half4_rte(double4, size_t, __private half *);
  12039. void __ovld vstore_half8_rte(double8, size_t, __private half *);
  12040. void __ovld vstore_half16_rte(double16, size_t, __private half *);
  12041. void __ovld vstore_half2_rtz(double2, size_t, __private half *);
  12042. void __ovld vstore_half3_rtz(double3, size_t, __private half *);
  12043. void __ovld vstore_half4_rtz(double4, size_t, __private half *);
  12044. void __ovld vstore_half8_rtz(double8, size_t, __private half *);
  12045. void __ovld vstore_half16_rtz(double16, size_t, __private half *);
  12046. void __ovld vstore_half2_rtp(double2, size_t, __private half *);
  12047. void __ovld vstore_half3_rtp(double3, size_t, __private half *);
  12048. void __ovld vstore_half4_rtp(double4, size_t, __private half *);
  12049. void __ovld vstore_half8_rtp(double8, size_t, __private half *);
  12050. void __ovld vstore_half16_rtp(double16, size_t, __private half *);
  12051. void __ovld vstore_half2_rtn(double2, size_t, __private half *);
  12052. void __ovld vstore_half3_rtn(double3, size_t, __private half *);
  12053. void __ovld vstore_half4_rtn(double4, size_t, __private half *);
  12054. void __ovld vstore_half8_rtn(double8, size_t, __private half *);
  12055. void __ovld vstore_half16_rtn(double16, size_t, __private half *);
  12056. #endif //cl_khr_fp64
  12057. #endif //defined(__opencl_c_named_address_space_builtins)
  12058.  
  12059. /**
  12060.  * For n = 1, 2, 4, 8 and 16 read sizeof (halfn)
  12061.  * bytes of data from address (p + (offset * n)).
  12062.  * The data read is interpreted as a halfn value.
  12063.  * The halfn value read is converted to a floatn
  12064.  * value and the floatn value is returned.
  12065.  * The address computed as (p + (offset * n))
  12066.  * must be aligned to sizeof (halfn) bytes.
  12067.  * For n = 3, vloada_half3 reads a half3 from
  12068.  * address (p + (offset * 4)) and returns a float3.
  12069.  * The address computed as (p + (offset * 4))
  12070.  * must be aligned to sizeof (half) * 4 bytes.
  12071.  */
  12072. float2 __ovld __purefn vloada_half2(size_t, const __constant half *);
  12073. float3 __ovld __purefn vloada_half3(size_t, const __constant half *);
  12074. float4 __ovld __purefn vloada_half4(size_t, const __constant half *);
  12075. float8 __ovld __purefn vloada_half8(size_t, const __constant half *);
  12076. float16 __ovld __purefn vloada_half16(size_t, const __constant half *);
  12077. #if defined(__opencl_c_generic_address_space)
  12078. float2 __ovld __purefn vloada_half2(size_t, const half *);
  12079. float3 __ovld __purefn vloada_half3(size_t, const half *);
  12080. float4 __ovld __purefn vloada_half4(size_t, const half *);
  12081. float8 __ovld __purefn vloada_half8(size_t, const half *);
  12082. float16 __ovld __purefn vloada_half16(size_t, const half *);
  12083. #endif //defined(__opencl_c_generic_address_space)
  12084.  
  12085. #if defined(__opencl_c_named_address_space_builtins)
  12086. float2 __ovld __purefn vloada_half2(size_t, const __global half *);
  12087. float3 __ovld __purefn vloada_half3(size_t, const __global half *);
  12088. float4 __ovld __purefn vloada_half4(size_t, const __global half *);
  12089. float8 __ovld __purefn vloada_half8(size_t, const __global half *);
  12090. float16 __ovld __purefn vloada_half16(size_t, const __global half *);
  12091. float2 __ovld __purefn vloada_half2(size_t, const __local half *);
  12092. float3 __ovld __purefn vloada_half3(size_t, const __local half *);
  12093. float4 __ovld __purefn vloada_half4(size_t, const __local half *);
  12094. float8 __ovld __purefn vloada_half8(size_t, const __local half *);
  12095. float16 __ovld __purefn vloada_half16(size_t, const __local half *);
  12096. float2 __ovld __purefn vloada_half2(size_t, const __private half *);
  12097. float3 __ovld __purefn vloada_half3(size_t, const __private half *);
  12098. float4 __ovld __purefn vloada_half4(size_t, const __private half *);
  12099. float8 __ovld __purefn vloada_half8(size_t, const __private half *);
  12100. float16 __ovld __purefn vloada_half16(size_t, const __private half *);
  12101. #endif //defined(__opencl_c_named_address_space_builtins)
  12102.  
  12103. /**
  12104.  * The floatn value given by data is converted to
  12105.  * a halfn value using the appropriate rounding
  12106.  * mode.
  12107.  * For n = 1, 2, 4, 8 and 16, the halfn value is
  12108.  * written to the address computed as (p + (offset
  12109.  * * n)). The address computed as (p + (offset *
  12110.  * n)) must be aligned to sizeof (halfn) bytes.
  12111.  * For n = 3, the half3 value is written to the
  12112.  * address computed as (p + (offset * 4)). The
  12113.  * address computed as (p + (offset * 4)) must be
  12114.  * aligned to sizeof (half) * 4 bytes.
  12115.  * vstorea_halfn uses the current rounding
  12116.  * mode. The default current rounding mode is
  12117.  * round to nearest even.
  12118.  */
  12119. #if defined(__opencl_c_generic_address_space)
  12120. void __ovld vstorea_half2(float2, size_t, half *);
  12121. void __ovld vstorea_half3(float3, size_t, half *);
  12122. void __ovld vstorea_half4(float4, size_t, half *);
  12123. void __ovld vstorea_half8(float8, size_t, half *);
  12124. void __ovld vstorea_half16(float16, size_t, half *);
  12125.  
  12126. void __ovld vstorea_half2_rte(float2, size_t, half *);
  12127. void __ovld vstorea_half3_rte(float3, size_t, half *);
  12128. void __ovld vstorea_half4_rte(float4, size_t, half *);
  12129. void __ovld vstorea_half8_rte(float8, size_t, half *);
  12130. void __ovld vstorea_half16_rte(float16, size_t, half *);
  12131.  
  12132. void __ovld vstorea_half2_rtz(float2, size_t, half *);
  12133. void __ovld vstorea_half3_rtz(float3, size_t, half *);
  12134. void __ovld vstorea_half4_rtz(float4, size_t, half *);
  12135. void __ovld vstorea_half8_rtz(float8, size_t, half *);
  12136. void __ovld vstorea_half16_rtz(float16, size_t, half *);
  12137.  
  12138. void __ovld vstorea_half2_rtp(float2, size_t, half *);
  12139. void __ovld vstorea_half3_rtp(float3, size_t, half *);
  12140. void __ovld vstorea_half4_rtp(float4, size_t, half *);
  12141. void __ovld vstorea_half8_rtp(float8, size_t, half *);
  12142. void __ovld vstorea_half16_rtp(float16, size_t, half *);
  12143.  
  12144. void __ovld vstorea_half2_rtn(float2, size_t, half *);
  12145. void __ovld vstorea_half3_rtn(float3, size_t, half *);
  12146. void __ovld vstorea_half4_rtn(float4, size_t, half *);
  12147. void __ovld vstorea_half8_rtn(float8, size_t, half *);
  12148. void __ovld vstorea_half16_rtn(float16, size_t, half *);
  12149.  
  12150. #ifdef cl_khr_fp64
  12151. void __ovld vstorea_half2(double2, size_t, half *);
  12152. void __ovld vstorea_half3(double3, size_t, half *);
  12153. void __ovld vstorea_half4(double4, size_t, half *);
  12154. void __ovld vstorea_half8(double8, size_t, half *);
  12155. void __ovld vstorea_half16(double16, size_t, half *);
  12156.  
  12157. void __ovld vstorea_half2_rte(double2, size_t, half *);
  12158. void __ovld vstorea_half3_rte(double3, size_t, half *);
  12159. void __ovld vstorea_half4_rte(double4, size_t, half *);
  12160. void __ovld vstorea_half8_rte(double8, size_t, half *);
  12161. void __ovld vstorea_half16_rte(double16, size_t, half *);
  12162.  
  12163. void __ovld vstorea_half2_rtz(double2, size_t, half *);
  12164. void __ovld vstorea_half3_rtz(double3, size_t, half *);
  12165. void __ovld vstorea_half4_rtz(double4, size_t, half *);
  12166. void __ovld vstorea_half8_rtz(double8, size_t, half *);
  12167. void __ovld vstorea_half16_rtz(double16, size_t, half *);
  12168.  
  12169. void __ovld vstorea_half2_rtp(double2, size_t, half *);
  12170. void __ovld vstorea_half3_rtp(double3, size_t, half *);
  12171. void __ovld vstorea_half4_rtp(double4, size_t, half *);
  12172. void __ovld vstorea_half8_rtp(double8, size_t, half *);
  12173. void __ovld vstorea_half16_rtp(double16, size_t, half *);
  12174.  
  12175. void __ovld vstorea_half2_rtn(double2, size_t, half *);
  12176. void __ovld vstorea_half3_rtn(double3, size_t, half *);
  12177. void __ovld vstorea_half4_rtn(double4, size_t, half *);
  12178. void __ovld vstorea_half8_rtn(double8, size_t, half *);
  12179. void __ovld vstorea_half16_rtn(double16, size_t, half *);
  12180. #endif //cl_khr_fp64
  12181. #endif //defined(__opencl_c_generic_address_space)
  12182.  
  12183. #if defined(__opencl_c_named_address_space_builtins)
  12184. void __ovld vstorea_half2(float2, size_t, __global half *);
  12185. void __ovld vstorea_half3(float3, size_t, __global half *);
  12186. void __ovld vstorea_half4(float4, size_t, __global half *);
  12187. void __ovld vstorea_half8(float8, size_t, __global half *);
  12188. void __ovld vstorea_half16(float16, size_t, __global half *);
  12189.  
  12190. void __ovld vstorea_half2_rte(float2, size_t, __global half *);
  12191. void __ovld vstorea_half3_rte(float3, size_t, __global half *);
  12192. void __ovld vstorea_half4_rte(float4, size_t, __global half *);
  12193. void __ovld vstorea_half8_rte(float8, size_t, __global half *);
  12194. void __ovld vstorea_half16_rte(float16, size_t, __global half *);
  12195.  
  12196. void __ovld vstorea_half2_rtz(float2, size_t, __global half *);
  12197. void __ovld vstorea_half3_rtz(float3, size_t, __global half *);
  12198. void __ovld vstorea_half4_rtz(float4, size_t, __global half *);
  12199. void __ovld vstorea_half8_rtz(float8, size_t, __global half *);
  12200. void __ovld vstorea_half16_rtz(float16, size_t, __global half *);
  12201.  
  12202. void __ovld vstorea_half2_rtp(float2, size_t, __global half *);
  12203. void __ovld vstorea_half3_rtp(float3, size_t, __global half *);
  12204. void __ovld vstorea_half4_rtp(float4, size_t, __global half *);
  12205. void __ovld vstorea_half8_rtp(float8, size_t, __global half *);
  12206. void __ovld vstorea_half16_rtp(float16, size_t, __global half *);
  12207.  
  12208. void __ovld vstorea_half2_rtn(float2, size_t, __global half *);
  12209. void __ovld vstorea_half3_rtn(float3, size_t, __global half *);
  12210. void __ovld vstorea_half4_rtn(float4, size_t, __global half *);
  12211. void __ovld vstorea_half8_rtn(float8, size_t, __global half *);
  12212. void __ovld vstorea_half16_rtn(float16, size_t, __global half *);
  12213.  
  12214. void __ovld vstorea_half2(float2, size_t, __local half *);
  12215. void __ovld vstorea_half3(float3, size_t, __local half *);
  12216. void __ovld vstorea_half4(float4, size_t, __local half *);
  12217. void __ovld vstorea_half8(float8, size_t, __local half *);
  12218. void __ovld vstorea_half16(float16, size_t, __local half *);
  12219.  
  12220. void __ovld vstorea_half2_rte(float2, size_t, __local half *);
  12221. void __ovld vstorea_half3_rte(float3, size_t, __local half *);
  12222. void __ovld vstorea_half4_rte(float4, size_t, __local half *);
  12223. void __ovld vstorea_half8_rte(float8, size_t, __local half *);
  12224. void __ovld vstorea_half16_rte(float16, size_t, __local half *);
  12225.  
  12226. void __ovld vstorea_half2_rtz(float2, size_t, __local half *);
  12227. void __ovld vstorea_half3_rtz(float3, size_t, __local half *);
  12228. void __ovld vstorea_half4_rtz(float4, size_t, __local half *);
  12229. void __ovld vstorea_half8_rtz(float8, size_t, __local half *);
  12230. void __ovld vstorea_half16_rtz(float16, size_t, __local half *);
  12231.  
  12232. void __ovld vstorea_half2_rtp(float2, size_t, __local half *);
  12233. void __ovld vstorea_half3_rtp(float3, size_t, __local half *);
  12234. void __ovld vstorea_half4_rtp(float4, size_t, __local half *);
  12235. void __ovld vstorea_half8_rtp(float8, size_t, __local half *);
  12236. void __ovld vstorea_half16_rtp(float16, size_t, __local half *);
  12237.  
  12238. void __ovld vstorea_half2_rtn(float2, size_t, __local half *);
  12239. void __ovld vstorea_half3_rtn(float3, size_t, __local half *);
  12240. void __ovld vstorea_half4_rtn(float4, size_t, __local half *);
  12241. void __ovld vstorea_half8_rtn(float8, size_t, __local half *);
  12242. void __ovld vstorea_half16_rtn(float16, size_t, __local half *);
  12243.  
  12244. void __ovld vstorea_half2(float2, size_t, __private half *);
  12245. void __ovld vstorea_half3(float3, size_t, __private half *);
  12246. void __ovld vstorea_half4(float4, size_t, __private half *);
  12247. void __ovld vstorea_half8(float8, size_t, __private half *);
  12248. void __ovld vstorea_half16(float16, size_t, __private half *);
  12249.  
  12250. void __ovld vstorea_half2_rte(float2, size_t, __private half *);
  12251. void __ovld vstorea_half3_rte(float3, size_t, __private half *);
  12252. void __ovld vstorea_half4_rte(float4, size_t, __private half *);
  12253. void __ovld vstorea_half8_rte(float8, size_t, __private half *);
  12254. void __ovld vstorea_half16_rte(float16, size_t, __private half *);
  12255.  
  12256. void __ovld vstorea_half2_rtz(float2, size_t, __private half *);
  12257. void __ovld vstorea_half3_rtz(float3, size_t, __private half *);
  12258. void __ovld vstorea_half4_rtz(float4, size_t, __private half *);
  12259. void __ovld vstorea_half8_rtz(float8, size_t, __private half *);
  12260. void __ovld vstorea_half16_rtz(float16, size_t, __private half *);
  12261.  
  12262. void __ovld vstorea_half2_rtp(float2, size_t, __private half *);
  12263. void __ovld vstorea_half3_rtp(float3, size_t, __private half *);
  12264. void __ovld vstorea_half4_rtp(float4, size_t, __private half *);
  12265. void __ovld vstorea_half8_rtp(float8, size_t, __private half *);
  12266. void __ovld vstorea_half16_rtp(float16, size_t, __private half *);
  12267.  
  12268. void __ovld vstorea_half2_rtn(float2, size_t, __private half *);
  12269. void __ovld vstorea_half3_rtn(float3, size_t, __private half *);
  12270. void __ovld vstorea_half4_rtn(float4, size_t, __private half *);
  12271. void __ovld vstorea_half8_rtn(float8, size_t, __private half *);
  12272. void __ovld vstorea_half16_rtn(float16, size_t, __private half *);
  12273.  
  12274. #ifdef cl_khr_fp64
  12275. void __ovld vstorea_half2(double2, size_t, __global half *);
  12276. void __ovld vstorea_half3(double3, size_t, __global half *);
  12277. void __ovld vstorea_half4(double4, size_t, __global half *);
  12278. void __ovld vstorea_half8(double8, size_t, __global half *);
  12279. void __ovld vstorea_half16(double16, size_t, __global half *);
  12280.  
  12281. void __ovld vstorea_half2_rte(double2, size_t, __global half *);
  12282. void __ovld vstorea_half3_rte(double3, size_t, __global half *);
  12283. void __ovld vstorea_half4_rte(double4, size_t, __global half *);
  12284. void __ovld vstorea_half8_rte(double8, size_t, __global half *);
  12285. void __ovld vstorea_half16_rte(double16, size_t, __global half *);
  12286.  
  12287. void __ovld vstorea_half2_rtz(double2, size_t, __global half *);
  12288. void __ovld vstorea_half3_rtz(double3, size_t, __global half *);
  12289. void __ovld vstorea_half4_rtz(double4, size_t, __global half *);
  12290. void __ovld vstorea_half8_rtz(double8, size_t, __global half *);
  12291. void __ovld vstorea_half16_rtz(double16, size_t, __global half *);
  12292.  
  12293. void __ovld vstorea_half2_rtp(double2, size_t, __global half *);
  12294. void __ovld vstorea_half3_rtp(double3, size_t, __global half *);
  12295. void __ovld vstorea_half4_rtp(double4, size_t, __global half *);
  12296. void __ovld vstorea_half8_rtp(double8, size_t, __global half *);
  12297. void __ovld vstorea_half16_rtp(double16, size_t, __global half *);
  12298.  
  12299. void __ovld vstorea_half2_rtn(double2, size_t, __global half *);
  12300. void __ovld vstorea_half3_rtn(double3, size_t, __global half *);
  12301. void __ovld vstorea_half4_rtn(double4, size_t, __global half *);
  12302. void __ovld vstorea_half8_rtn(double8, size_t, __global half *);
  12303. void __ovld vstorea_half16_rtn(double16, size_t, __global half *);
  12304.  
  12305. void __ovld vstorea_half2(double2, size_t, __local half *);
  12306. void __ovld vstorea_half3(double3, size_t, __local half *);
  12307. void __ovld vstorea_half4(double4, size_t, __local half *);
  12308. void __ovld vstorea_half8(double8, size_t, __local half *);
  12309. void __ovld vstorea_half16(double16, size_t, __local half *);
  12310.  
  12311. void __ovld vstorea_half2_rte(double2, size_t, __local half *);
  12312. void __ovld vstorea_half3_rte(double3, size_t, __local half *);
  12313. void __ovld vstorea_half4_rte(double4, size_t, __local half *);
  12314. void __ovld vstorea_half8_rte(double8, size_t, __local half *);
  12315. void __ovld vstorea_half16_rte(double16, size_t, __local half *);
  12316.  
  12317. void __ovld vstorea_half2_rtz(double2, size_t, __local half *);
  12318. void __ovld vstorea_half3_rtz(double3, size_t, __local half *);
  12319. void __ovld vstorea_half4_rtz(double4, size_t, __local half *);
  12320. void __ovld vstorea_half8_rtz(double8, size_t, __local half *);
  12321. void __ovld vstorea_half16_rtz(double16, size_t, __local half *);
  12322.  
  12323. void __ovld vstorea_half2_rtp(double2, size_t, __local half *);
  12324. void __ovld vstorea_half3_rtp(double3, size_t, __local half *);
  12325. void __ovld vstorea_half4_rtp(double4, size_t, __local half *);
  12326. void __ovld vstorea_half8_rtp(double8, size_t, __local half *);
  12327. void __ovld vstorea_half16_rtp(double16, size_t, __local half *);
  12328.  
  12329. void __ovld vstorea_half2_rtn(double2, size_t, __local half *);
  12330. void __ovld vstorea_half3_rtn(double3, size_t, __local half *);
  12331. void __ovld vstorea_half4_rtn(double4, size_t, __local half *);
  12332. void __ovld vstorea_half8_rtn(double8, size_t, __local half *);
  12333. void __ovld vstorea_half16_rtn(double16, size_t, __local half *);
  12334.  
  12335. void __ovld vstorea_half2(double2, size_t, __private half *);
  12336. void __ovld vstorea_half3(double3, size_t, __private half *);
  12337. void __ovld vstorea_half4(double4, size_t, __private half *);
  12338. void __ovld vstorea_half8(double8, size_t, __private half *);
  12339. void __ovld vstorea_half16(double16, size_t, __private half *);
  12340.  
  12341. void __ovld vstorea_half2_rte(double2, size_t, __private half *);
  12342. void __ovld vstorea_half3_rte(double3, size_t, __private half *);
  12343. void __ovld vstorea_half4_rte(double4, size_t, __private half *);
  12344. void __ovld vstorea_half8_rte(double8, size_t, __private half *);
  12345. void __ovld vstorea_half16_rte(double16, size_t, __private half *);
  12346.  
  12347. void __ovld vstorea_half2_rtz(double2, size_t, __private half *);
  12348. void __ovld vstorea_half3_rtz(double3, size_t, __private half *);
  12349. void __ovld vstorea_half4_rtz(double4, size_t, __private half *);
  12350. void __ovld vstorea_half8_rtz(double8, size_t, __private half *);
  12351. void __ovld vstorea_half16_rtz(double16, size_t, __private half *);
  12352.  
  12353. void __ovld vstorea_half2_rtp(double2, size_t, __private half *);
  12354. void __ovld vstorea_half3_rtp(double3, size_t, __private half *);
  12355. void __ovld vstorea_half4_rtp(double4, size_t, __private half *);
  12356. void __ovld vstorea_half8_rtp(double8, size_t, __private half *);
  12357. void __ovld vstorea_half16_rtp(double16, size_t, __private half *);
  12358.  
  12359. void __ovld vstorea_half2_rtn(double2, size_t, __private half *);
  12360. void __ovld vstorea_half3_rtn(double3, size_t, __private half *);
  12361. void __ovld vstorea_half4_rtn(double4, size_t, __private half *);
  12362. void __ovld vstorea_half8_rtn(double8, size_t, __private half *);
  12363. void __ovld vstorea_half16_rtn(double16, size_t, __private half *);
  12364. #endif //cl_khr_fp64
  12365. #endif //defined(__opencl_c_named_address_space_builtins)
  12366.  
  12367. // OpenCL v1.1 s6.11.8, v1.2 s6.12.8, v2.0 s6.13.8 - Synchronization Functions
  12368.  
  12369. /**
  12370.  * All work-items in a work-group executing the kernel
  12371.  * on a processor must execute this function before any
  12372.  * are allowed to continue execution beyond the barrier.
  12373.  * This function must be encountered by all work-items in
  12374.  * a work-group executing the kernel.
  12375.  * If barrier is inside a conditional statement, then all
  12376.  * work-items must enter the conditional if any work-item
  12377.  * enters the conditional statement and executes the
  12378.  * barrier.
  12379.  * If barrer is inside a loop, all work-items must execute
  12380.  * the barrier for each iteration of the loop before any are
  12381.  * allowed to continue execution beyond the barrier.
  12382.  * The barrier function also queues a memory fence
  12383.  * (reads and writes) to ensure correct ordering of
  12384.  * memory operations to local or global memory.
  12385.  * The flags argument specifies the memory address space
  12386.  * and can be set to a combination of the following literal
  12387.  * values.
  12388.  * CLK_LOCAL_MEM_FENCE - The barrier function
  12389.  * will either flush any variables stored in local memory
  12390.  * or queue a memory fence to ensure correct ordering of
  12391.  * memory operations to local memory.
  12392.  * CLK_GLOBAL_MEM_FENCE - The barrier function
  12393.  * will queue a memory fence to ensure correct ordering
  12394.  * of memory operations to global memory. This can be
  12395.  * useful when work-items, for example, write to buffer or
  12396.  * image objects and then want to read the updated data.
  12397.  */
  12398.  
  12399. void __ovld __conv barrier(cl_mem_fence_flags);
  12400.  
  12401. #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
  12402. void __ovld __conv work_group_barrier(cl_mem_fence_flags, memory_scope);
  12403. void __ovld __conv work_group_barrier(cl_mem_fence_flags);
  12404. #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
  12405.  
  12406. // OpenCL v1.1 s6.11.9, v1.2 s6.12.9 - Explicit Memory Fence Functions
  12407.  
  12408. /**
  12409.  * Orders loads and stores of a work-item
  12410.  * executing a kernel. This means that loads
  12411.  * and stores preceding the mem_fence will
  12412.  * be committed to memory before any loads
  12413.  * and stores following the mem_fence.
  12414.  * The flags argument specifies the memory
  12415.  * address space and can be set to a
  12416.  * combination of the following literal
  12417.  * values:
  12418.  * CLK_LOCAL_MEM_FENCE
  12419.  * CLK_GLOBAL_MEM_FENCE.
  12420.  */
  12421. void __ovld mem_fence(cl_mem_fence_flags);
  12422.  
  12423. /**
  12424.  * Read memory barrier that orders only
  12425.  * loads.
  12426.  * The flags argument specifies the memory
  12427.  * address space and can be set to a
  12428.  * combination of the following literal
  12429.  * values:
  12430.  * CLK_LOCAL_MEM_FENCE
  12431.  * CLK_GLOBAL_MEM_FENCE.
  12432.  */
  12433. void __ovld read_mem_fence(cl_mem_fence_flags);
  12434.  
  12435. /**
  12436.  * Write memory barrier that orders only
  12437.  * stores.
  12438.  * The flags argument specifies the memory
  12439.  * address space and can be set to a
  12440.  * combination of the following literal
  12441.  * values:
  12442.  * CLK_LOCAL_MEM_FENCE
  12443.  * CLK_GLOBAL_MEM_FENCE.
  12444.  */
  12445. void __ovld write_mem_fence(cl_mem_fence_flags);
  12446.  
  12447. // OpenCL v2.0 s6.13.9 - Address Space Qualifier Functions
  12448.  
  12449. #if defined(__opencl_c_generic_address_space)
  12450. cl_mem_fence_flags __ovld get_fence(const void *ptr);
  12451. cl_mem_fence_flags __ovld get_fence(void *ptr);
  12452.  
  12453. /**
  12454.  * Builtin functions to_global, to_local, and to_private need to be declared as Clang builtin functions
  12455.  * and checked in Sema since they should be declared as
  12456.  *   addr gentype* to_addr (gentype*);
  12457.  * where gentype is builtin type or user defined type.
  12458.  */
  12459.  
  12460. #endif //defined(__opencl_c_generic_address_space)
  12461.  
  12462. // OpenCL v1.1 s6.11.10, v1.2 s6.12.10, v2.0 s6.13.10 - Async Copies from Global to Local Memory, Local to Global Memory, and Prefetch
  12463.  
  12464. /**
  12465.  * event_t async_work_group_copy (
  12466.  * __global gentype *dst,
  12467.  * const __local gentype *src,
  12468.  * size_t num_elements,
  12469.  * event_t event)
  12470.  * Perform an async copy of num_elements
  12471.  * gentype elements from src to dst. The async
  12472.  * copy is performed by all work-items in a workgroup
  12473.  * and this built-in function must therefore
  12474.  * be encountered by all work-items in a workgroup
  12475.  * executing the kernel with the same
  12476.  * argument values; otherwise the results are
  12477.  * undefined.
  12478.  * Returns an event object that can be used by
  12479.  * wait_group_events to wait for the async copy
  12480.  * to finish. The event argument can also be used
  12481.  * to associate the async_work_group_copy with
  12482.  * a previous async copy allowing an event to be
  12483.  * shared by multiple async copies; otherwise event
  12484.  * should be zero.
  12485.  * If event argument is non-zero, the event object
  12486.  * supplied in event argument will be returned.
  12487.  * This function does not perform any implicit
  12488.  * synchronization of source data such as using a
  12489.  * barrier before performing the copy.
  12490.  */
  12491. event_t __ovld async_work_group_copy(__local char *, const __global char *, size_t, event_t);
  12492. event_t __ovld async_work_group_copy(__local uchar *, const __global uchar *, size_t, event_t);
  12493. event_t __ovld async_work_group_copy(__local short *, const __global short *, size_t, event_t);
  12494. event_t __ovld async_work_group_copy(__local ushort *, const __global ushort *, size_t, event_t);
  12495. event_t __ovld async_work_group_copy(__local int *, const __global int *, size_t, event_t);
  12496. event_t __ovld async_work_group_copy(__local uint *, const __global uint *, size_t, event_t);
  12497. event_t __ovld async_work_group_copy(__local long *, const __global long *, size_t, event_t);
  12498. event_t __ovld async_work_group_copy(__local ulong *, const __global ulong *, size_t, event_t);
  12499. event_t __ovld async_work_group_copy(__local float *, const __global float *, size_t, event_t);
  12500. event_t __ovld async_work_group_copy(__local char2 *, const __global char2 *, size_t, event_t);
  12501. event_t __ovld async_work_group_copy(__local uchar2 *, const __global uchar2 *, size_t, event_t);
  12502. event_t __ovld async_work_group_copy(__local short2 *, const __global short2 *, size_t, event_t);
  12503. event_t __ovld async_work_group_copy(__local ushort2 *, const __global ushort2 *, size_t, event_t);
  12504. event_t __ovld async_work_group_copy(__local int2 *, const __global int2 *, size_t, event_t);
  12505. event_t __ovld async_work_group_copy(__local uint2 *, const __global uint2 *, size_t, event_t);
  12506. event_t __ovld async_work_group_copy(__local long2 *, const __global long2 *, size_t, event_t);
  12507. event_t __ovld async_work_group_copy(__local ulong2 *, const __global ulong2 *, size_t, event_t);
  12508. event_t __ovld async_work_group_copy(__local float2 *, const __global float2 *, size_t, event_t);
  12509. event_t __ovld async_work_group_copy(__local char3 *, const __global char3 *, size_t, event_t);
  12510. event_t __ovld async_work_group_copy(__local uchar3 *, const __global uchar3 *, size_t, event_t);
  12511. event_t __ovld async_work_group_copy(__local short3 *, const __global short3 *, size_t, event_t);
  12512. event_t __ovld async_work_group_copy(__local ushort3 *, const __global ushort3 *, size_t, event_t);
  12513. event_t __ovld async_work_group_copy(__local int3 *, const __global int3 *, size_t, event_t);
  12514. event_t __ovld async_work_group_copy(__local uint3 *, const __global uint3 *, size_t, event_t);
  12515. event_t __ovld async_work_group_copy(__local long3 *, const __global long3 *, size_t, event_t);
  12516. event_t __ovld async_work_group_copy(__local ulong3 *, const __global ulong3 *, size_t, event_t);
  12517. event_t __ovld async_work_group_copy(__local float3 *, const __global float3 *, size_t, event_t);
  12518. event_t __ovld async_work_group_copy(__local char4 *, const __global char4 *, size_t, event_t);
  12519. event_t __ovld async_work_group_copy(__local uchar4 *, const __global uchar4 *, size_t, event_t);
  12520. event_t __ovld async_work_group_copy(__local short4 *, const __global short4 *, size_t, event_t);
  12521. event_t __ovld async_work_group_copy(__local ushort4 *, const __global ushort4 *, size_t, event_t);
  12522. event_t __ovld async_work_group_copy(__local int4 *, const __global int4 *, size_t, event_t);
  12523. event_t __ovld async_work_group_copy(__local uint4 *, const __global uint4 *, size_t, event_t);
  12524. event_t __ovld async_work_group_copy(__local long4 *, const __global long4 *, size_t, event_t);
  12525. event_t __ovld async_work_group_copy(__local ulong4 *, const __global ulong4 *, size_t, event_t);
  12526. event_t __ovld async_work_group_copy(__local float4 *, const __global float4 *, size_t, event_t);
  12527. event_t __ovld async_work_group_copy(__local char8 *, const __global char8 *, size_t, event_t);
  12528. event_t __ovld async_work_group_copy(__local uchar8 *, const __global uchar8 *, size_t, event_t);
  12529. event_t __ovld async_work_group_copy(__local short8 *, const __global short8 *, size_t, event_t);
  12530. event_t __ovld async_work_group_copy(__local ushort8 *, const __global ushort8 *, size_t, event_t);
  12531. event_t __ovld async_work_group_copy(__local int8 *, const __global int8 *, size_t, event_t);
  12532. event_t __ovld async_work_group_copy(__local uint8 *, const __global uint8 *, size_t, event_t);
  12533. event_t __ovld async_work_group_copy(__local long8 *, const __global long8 *, size_t, event_t);
  12534. event_t __ovld async_work_group_copy(__local ulong8 *, const __global ulong8 *, size_t, event_t);
  12535. event_t __ovld async_work_group_copy(__local float8 *, const __global float8 *, size_t, event_t);
  12536. event_t __ovld async_work_group_copy(__local char16 *, const __global char16 *, size_t, event_t);
  12537. event_t __ovld async_work_group_copy(__local uchar16 *, const __global uchar16 *, size_t, event_t);
  12538. event_t __ovld async_work_group_copy(__local short16 *, const __global short16 *, size_t, event_t);
  12539. event_t __ovld async_work_group_copy(__local ushort16 *, const __global ushort16 *, size_t, event_t);
  12540. event_t __ovld async_work_group_copy(__local int16 *, const __global int16 *, size_t, event_t);
  12541. event_t __ovld async_work_group_copy(__local uint16 *, const __global uint16 *, size_t, event_t);
  12542. event_t __ovld async_work_group_copy(__local long16 *, const __global long16 *, size_t, event_t);
  12543. event_t __ovld async_work_group_copy(__local ulong16 *, const __global ulong16 *, size_t, event_t);
  12544. event_t __ovld async_work_group_copy(__local float16 *, const __global float16 *, size_t, event_t);
  12545. event_t __ovld async_work_group_copy(__global char *, const __local char *, size_t, event_t);
  12546. event_t __ovld async_work_group_copy(__global uchar *, const __local uchar *, size_t, event_t);
  12547. event_t __ovld async_work_group_copy(__global short *, const __local short *, size_t, event_t);
  12548. event_t __ovld async_work_group_copy(__global ushort *, const __local ushort *, size_t, event_t);
  12549. event_t __ovld async_work_group_copy(__global int *, const __local int *, size_t, event_t);
  12550. event_t __ovld async_work_group_copy(__global uint *, const __local uint *, size_t, event_t);
  12551. event_t __ovld async_work_group_copy(__global long *, const __local long *, size_t, event_t);
  12552. event_t __ovld async_work_group_copy(__global ulong *, const __local ulong *, size_t, event_t);
  12553. event_t __ovld async_work_group_copy(__global float *, const __local float *, size_t, event_t);
  12554. event_t __ovld async_work_group_copy(__global char2 *, const __local char2 *, size_t, event_t);
  12555. event_t __ovld async_work_group_copy(__global uchar2 *, const __local uchar2 *, size_t, event_t);
  12556. event_t __ovld async_work_group_copy(__global short2 *, const __local short2 *, size_t, event_t);
  12557. event_t __ovld async_work_group_copy(__global ushort2 *, const __local ushort2 *, size_t, event_t);
  12558. event_t __ovld async_work_group_copy(__global int2 *, const __local int2 *, size_t, event_t);
  12559. event_t __ovld async_work_group_copy(__global uint2 *, const __local uint2 *, size_t, event_t);
  12560. event_t __ovld async_work_group_copy(__global long2 *, const __local long2 *, size_t, event_t);
  12561. event_t __ovld async_work_group_copy(__global ulong2 *, const __local ulong2 *, size_t, event_t);
  12562. event_t __ovld async_work_group_copy(__global float2 *, const __local float2 *, size_t, event_t);
  12563. event_t __ovld async_work_group_copy(__global char3 *, const __local char3 *, size_t, event_t);
  12564. event_t __ovld async_work_group_copy(__global uchar3 *, const __local uchar3 *, size_t, event_t);
  12565. event_t __ovld async_work_group_copy(__global short3 *, const __local short3 *, size_t, event_t);
  12566. event_t __ovld async_work_group_copy(__global ushort3 *, const __local ushort3 *, size_t, event_t);
  12567. event_t __ovld async_work_group_copy(__global int3 *, const __local int3 *, size_t, event_t);
  12568. event_t __ovld async_work_group_copy(__global uint3 *, const __local uint3 *, size_t, event_t);
  12569. event_t __ovld async_work_group_copy(__global long3 *, const __local long3 *, size_t, event_t);
  12570. event_t __ovld async_work_group_copy(__global ulong3 *, const __local ulong3 *, size_t, event_t);
  12571. event_t __ovld async_work_group_copy(__global float3 *, const __local float3 *, size_t, event_t);
  12572. event_t __ovld async_work_group_copy(__global char4 *, const __local char4 *, size_t, event_t);
  12573. event_t __ovld async_work_group_copy(__global uchar4 *, const __local uchar4 *, size_t, event_t);
  12574. event_t __ovld async_work_group_copy(__global short4 *, const __local short4 *, size_t, event_t);
  12575. event_t __ovld async_work_group_copy(__global ushort4 *, const __local ushort4 *, size_t, event_t);
  12576. event_t __ovld async_work_group_copy(__global int4 *, const __local int4 *, size_t, event_t);
  12577. event_t __ovld async_work_group_copy(__global uint4 *, const __local uint4 *, size_t, event_t);
  12578. event_t __ovld async_work_group_copy(__global long4 *, const __local long4 *, size_t, event_t);
  12579. event_t __ovld async_work_group_copy(__global ulong4 *, const __local ulong4 *, size_t, event_t);
  12580. event_t __ovld async_work_group_copy(__global float4 *, const __local float4 *, size_t, event_t);
  12581. event_t __ovld async_work_group_copy(__global char8 *, const __local char8 *, size_t, event_t);
  12582. event_t __ovld async_work_group_copy(__global uchar8 *, const __local uchar8 *, size_t, event_t);
  12583. event_t __ovld async_work_group_copy(__global short8 *, const __local short8 *, size_t, event_t);
  12584. event_t __ovld async_work_group_copy(__global ushort8 *, const __local ushort8 *, size_t, event_t);
  12585. event_t __ovld async_work_group_copy(__global int8 *, const __local int8 *, size_t, event_t);
  12586. event_t __ovld async_work_group_copy(__global uint8 *, const __local uint8 *, size_t, event_t);
  12587. event_t __ovld async_work_group_copy(__global long8 *, const __local long8 *, size_t, event_t);
  12588. event_t __ovld async_work_group_copy(__global ulong8 *, const __local ulong8 *, size_t, event_t);
  12589. event_t __ovld async_work_group_copy(__global float8 *, const __local float8 *, size_t, event_t);
  12590. event_t __ovld async_work_group_copy(__global char16 *, const __local char16 *, size_t, event_t);
  12591. event_t __ovld async_work_group_copy(__global uchar16 *, const __local uchar16 *, size_t, event_t);
  12592. event_t __ovld async_work_group_copy(__global short16 *, const __local short16 *, size_t, event_t);
  12593. event_t __ovld async_work_group_copy(__global ushort16 *, const __local ushort16 *, size_t, event_t);
  12594. event_t __ovld async_work_group_copy(__global int16 *, const __local int16 *, size_t, event_t);
  12595. event_t __ovld async_work_group_copy(__global uint16 *, const __local uint16 *, size_t, event_t);
  12596. event_t __ovld async_work_group_copy(__global long16 *, const __local long16 *, size_t, event_t);
  12597. event_t __ovld async_work_group_copy(__global ulong16 *, const __local ulong16 *, size_t, event_t);
  12598. event_t __ovld async_work_group_copy(__global float16 *, const __local float16 *, size_t, event_t);
  12599. #ifdef cl_khr_fp64
  12600. event_t __ovld async_work_group_copy(__local double *, const __global double *, size_t, event_t);
  12601. event_t __ovld async_work_group_copy(__local double2 *, const __global double2 *, size_t, event_t);
  12602. event_t __ovld async_work_group_copy(__local double3 *, const __global double3 *, size_t, event_t);
  12603. event_t __ovld async_work_group_copy(__local double4 *, const __global double4 *, size_t, event_t);
  12604. event_t __ovld async_work_group_copy(__local double8 *, const __global double8 *, size_t, event_t);
  12605. event_t __ovld async_work_group_copy(__local double16 *, const __global double16 *, size_t, event_t);
  12606. event_t __ovld async_work_group_copy(__global double *, const __local double *, size_t, event_t);
  12607. event_t __ovld async_work_group_copy(__global double2 *, const __local double2 *, size_t, event_t);
  12608. event_t __ovld async_work_group_copy(__global double3 *, const __local double3 *, size_t, event_t);
  12609. event_t __ovld async_work_group_copy(__global double4 *, const __local double4 *, size_t, event_t);
  12610. event_t __ovld async_work_group_copy(__global double8 *, const __local double8 *, size_t, event_t);
  12611. event_t __ovld async_work_group_copy(__global double16 *, const __local double16 *, size_t, event_t);
  12612. #endif //cl_khr_fp64
  12613. #ifdef cl_khr_fp16
  12614. event_t __ovld async_work_group_copy(__local half *, const __global half *, size_t, event_t);
  12615. event_t __ovld async_work_group_copy(__local half2 *, const __global half2 *, size_t, event_t);
  12616. event_t __ovld async_work_group_copy(__local half3 *, const __global half3 *, size_t, event_t);
  12617. event_t __ovld async_work_group_copy(__local half4 *, const __global half4 *, size_t, event_t);
  12618. event_t __ovld async_work_group_copy(__local half8 *, const __global half8 *, size_t, event_t);
  12619. event_t __ovld async_work_group_copy(__local half16 *, const __global half16 *, size_t, event_t);
  12620. event_t __ovld async_work_group_copy(__global half *, const __local half *, size_t, event_t);
  12621. event_t __ovld async_work_group_copy(__global half2 *, const __local half2 *, size_t, event_t);
  12622. event_t __ovld async_work_group_copy(__global half3 *, const __local half3 *, size_t, event_t);
  12623. event_t __ovld async_work_group_copy(__global half4 *, const __local half4 *, size_t, event_t);
  12624. event_t __ovld async_work_group_copy(__global half8 *, const __local half8 *, size_t, event_t);
  12625. event_t __ovld async_work_group_copy(__global half16 *, const __local half16 *, size_t, event_t);
  12626. #endif //cl_khr_fp16
  12627.  
  12628. /**
  12629.  * Perform an async gather of num_elements
  12630.  * gentype elements from src to dst. The
  12631.  * src_stride is the stride in elements for each
  12632.  * gentype element read from src. The dst_stride
  12633.  * is the stride in elements for each gentype
  12634.  * element written to dst. The async gather is
  12635.  * performed by all work-items in a work-group.
  12636.  * This built-in function must therefore be
  12637.  * encountered by all work-items in a work-group
  12638.  * executing the kernel with the same argument
  12639.  * values; otherwise the results are undefined.
  12640.  * Returns an event object that can be used by
  12641.  * wait_group_events to wait for the async copy
  12642.  * to finish. The event argument can also be used
  12643.  * to associate the
  12644.  * async_work_group_strided_copy with a
  12645.  * previous async copy allowing an event to be
  12646.  * shared by multiple async copies; otherwise event
  12647.  * should be zero.
  12648.  * If event argument is non-zero, the event object
  12649.  * supplied in event argument will be returned.
  12650.  * This function does not perform any implicit
  12651.  * synchronization of source data such as using a
  12652.  * barrier before performing the copy.
  12653.  */
  12654. event_t __ovld async_work_group_strided_copy(__local char *, const __global char *, size_t, size_t, event_t);
  12655. event_t __ovld async_work_group_strided_copy(__local uchar *, const __global uchar *, size_t, size_t, event_t);
  12656. event_t __ovld async_work_group_strided_copy(__local short *, const __global short *, size_t, size_t, event_t);
  12657. event_t __ovld async_work_group_strided_copy(__local ushort *, const __global ushort *, size_t, size_t, event_t);
  12658. event_t __ovld async_work_group_strided_copy(__local int *, const __global int *, size_t, size_t, event_t);
  12659. event_t __ovld async_work_group_strided_copy(__local uint *, const __global uint *, size_t, size_t, event_t);
  12660. event_t __ovld async_work_group_strided_copy(__local long *, const __global long *, size_t, size_t, event_t);
  12661. event_t __ovld async_work_group_strided_copy(__local ulong *, const __global ulong *, size_t, size_t, event_t);
  12662. event_t __ovld async_work_group_strided_copy(__local float *, const __global float *, size_t, size_t, event_t);
  12663. event_t __ovld async_work_group_strided_copy(__local char2 *, const __global char2 *, size_t, size_t, event_t);
  12664. event_t __ovld async_work_group_strided_copy(__local uchar2 *, const __global uchar2 *, size_t, size_t, event_t);
  12665. event_t __ovld async_work_group_strided_copy(__local short2 *, const __global short2 *, size_t, size_t, event_t);
  12666. event_t __ovld async_work_group_strided_copy(__local ushort2 *, const __global ushort2 *, size_t, size_t, event_t);
  12667. event_t __ovld async_work_group_strided_copy(__local int2 *, const __global int2 *, size_t, size_t, event_t);
  12668. event_t __ovld async_work_group_strided_copy(__local uint2 *, const __global uint2 *, size_t, size_t, event_t);
  12669. event_t __ovld async_work_group_strided_copy(__local long2 *, const __global long2 *, size_t, size_t, event_t);
  12670. event_t __ovld async_work_group_strided_copy(__local ulong2 *, const __global ulong2 *, size_t, size_t, event_t);
  12671. event_t __ovld async_work_group_strided_copy(__local float2 *, const __global float2 *, size_t, size_t, event_t);
  12672. event_t __ovld async_work_group_strided_copy(__local char3 *, const __global char3 *, size_t, size_t, event_t);
  12673. event_t __ovld async_work_group_strided_copy(__local uchar3 *, const __global uchar3 *, size_t, size_t, event_t);
  12674. event_t __ovld async_work_group_strided_copy(__local short3 *, const __global short3 *, size_t, size_t, event_t);
  12675. event_t __ovld async_work_group_strided_copy(__local ushort3 *, const __global ushort3 *, size_t, size_t, event_t);
  12676. event_t __ovld async_work_group_strided_copy(__local int3 *, const __global int3 *, size_t, size_t, event_t);
  12677. event_t __ovld async_work_group_strided_copy(__local uint3 *, const __global uint3 *, size_t, size_t, event_t);
  12678. event_t __ovld async_work_group_strided_copy(__local long3 *, const __global long3 *, size_t, size_t, event_t);
  12679. event_t __ovld async_work_group_strided_copy(__local ulong3 *, const __global ulong3 *, size_t, size_t, event_t);
  12680. event_t __ovld async_work_group_strided_copy(__local float3 *, const __global float3 *, size_t, size_t, event_t);
  12681. event_t __ovld async_work_group_strided_copy(__local char4 *, const __global char4 *, size_t, size_t, event_t);
  12682. event_t __ovld async_work_group_strided_copy(__local uchar4 *, const __global uchar4 *, size_t, size_t, event_t);
  12683. event_t __ovld async_work_group_strided_copy(__local short4 *, const __global short4 *, size_t, size_t, event_t);
  12684. event_t __ovld async_work_group_strided_copy(__local ushort4 *, const __global ushort4 *, size_t, size_t, event_t);
  12685. event_t __ovld async_work_group_strided_copy(__local int4 *, const __global int4 *, size_t, size_t, event_t);
  12686. event_t __ovld async_work_group_strided_copy(__local uint4 *, const __global uint4 *, size_t, size_t, event_t);
  12687. event_t __ovld async_work_group_strided_copy(__local long4 *, const __global long4 *, size_t, size_t, event_t);
  12688. event_t __ovld async_work_group_strided_copy(__local ulong4 *, const __global ulong4 *, size_t, size_t, event_t);
  12689. event_t __ovld async_work_group_strided_copy(__local float4 *, const __global float4 *, size_t, size_t, event_t);
  12690. event_t __ovld async_work_group_strided_copy(__local char8 *, const __global char8 *, size_t, size_t, event_t);
  12691. event_t __ovld async_work_group_strided_copy(__local uchar8 *, const __global uchar8 *, size_t, size_t, event_t);
  12692. event_t __ovld async_work_group_strided_copy(__local short8 *, const __global short8 *, size_t, size_t, event_t);
  12693. event_t __ovld async_work_group_strided_copy(__local ushort8 *, const __global ushort8 *, size_t, size_t, event_t);
  12694. event_t __ovld async_work_group_strided_copy(__local int8 *, const __global int8 *, size_t, size_t, event_t);
  12695. event_t __ovld async_work_group_strided_copy(__local uint8 *, const __global uint8 *, size_t, size_t, event_t);
  12696. event_t __ovld async_work_group_strided_copy(__local long8 *, const __global long8 *, size_t, size_t, event_t);
  12697. event_t __ovld async_work_group_strided_copy(__local ulong8 *, const __global ulong8 *, size_t, size_t, event_t);
  12698. event_t __ovld async_work_group_strided_copy(__local float8 *, const __global float8 *, size_t, size_t, event_t);
  12699. event_t __ovld async_work_group_strided_copy(__local char16 *, const __global char16 *, size_t, size_t, event_t);
  12700. event_t __ovld async_work_group_strided_copy(__local uchar16 *, const __global uchar16 *, size_t, size_t, event_t);
  12701. event_t __ovld async_work_group_strided_copy(__local short16 *, const __global short16 *, size_t, size_t, event_t);
  12702. event_t __ovld async_work_group_strided_copy(__local ushort16 *, const __global ushort16 *, size_t, size_t, event_t);
  12703. event_t __ovld async_work_group_strided_copy(__local int16 *, const __global int16 *, size_t, size_t, event_t);
  12704. event_t __ovld async_work_group_strided_copy(__local uint16 *, const __global uint16 *, size_t, size_t, event_t);
  12705. event_t __ovld async_work_group_strided_copy(__local long16 *, const __global long16 *, size_t, size_t, event_t);
  12706. event_t __ovld async_work_group_strided_copy(__local ulong16 *, const __global ulong16 *, size_t, size_t, event_t);
  12707. event_t __ovld async_work_group_strided_copy(__local float16 *, const __global float16 *, size_t, size_t, event_t);
  12708. event_t __ovld async_work_group_strided_copy(__global char *, const __local char *, size_t, size_t, event_t);
  12709. event_t __ovld async_work_group_strided_copy(__global uchar *, const __local uchar *, size_t, size_t, event_t);
  12710. event_t __ovld async_work_group_strided_copy(__global short *, const __local short *, size_t, size_t, event_t);
  12711. event_t __ovld async_work_group_strided_copy(__global ushort *, const __local ushort *, size_t, size_t, event_t);
  12712. event_t __ovld async_work_group_strided_copy(__global int *, const __local int *, size_t, size_t, event_t);
  12713. event_t __ovld async_work_group_strided_copy(__global uint *, const __local uint *, size_t, size_t, event_t);
  12714. event_t __ovld async_work_group_strided_copy(__global long *, const __local long *, size_t, size_t, event_t);
  12715. event_t __ovld async_work_group_strided_copy(__global ulong *, const __local ulong *, size_t, size_t, event_t);
  12716. event_t __ovld async_work_group_strided_copy(__global float *, const __local float *, size_t, size_t, event_t);
  12717. event_t __ovld async_work_group_strided_copy(__global char2 *, const __local char2 *, size_t, size_t, event_t);
  12718. event_t __ovld async_work_group_strided_copy(__global uchar2 *, const __local uchar2 *, size_t, size_t, event_t);
  12719. event_t __ovld async_work_group_strided_copy(__global short2 *, const __local short2 *, size_t, size_t, event_t);
  12720. event_t __ovld async_work_group_strided_copy(__global ushort2 *, const __local ushort2 *, size_t, size_t, event_t);
  12721. event_t __ovld async_work_group_strided_copy(__global int2 *, const __local int2 *, size_t, size_t, event_t);
  12722. event_t __ovld async_work_group_strided_copy(__global uint2 *, const __local uint2 *, size_t, size_t, event_t);
  12723. event_t __ovld async_work_group_strided_copy(__global long2 *, const __local long2 *, size_t, size_t, event_t);
  12724. event_t __ovld async_work_group_strided_copy(__global ulong2 *, const __local ulong2 *, size_t, size_t, event_t);
  12725. event_t __ovld async_work_group_strided_copy(__global float2 *, const __local float2 *, size_t, size_t, event_t);
  12726. event_t __ovld async_work_group_strided_copy(__global char3 *, const __local char3 *, size_t, size_t, event_t);
  12727. event_t __ovld async_work_group_strided_copy(__global uchar3 *, const __local uchar3 *, size_t, size_t, event_t);
  12728. event_t __ovld async_work_group_strided_copy(__global short3 *, const __local short3 *, size_t, size_t, event_t);
  12729. event_t __ovld async_work_group_strided_copy(__global ushort3 *, const __local ushort3 *, size_t, size_t, event_t);
  12730. event_t __ovld async_work_group_strided_copy(__global int3 *, const __local int3 *, size_t, size_t, event_t);
  12731. event_t __ovld async_work_group_strided_copy(__global uint3 *, const __local uint3 *, size_t, size_t, event_t);
  12732. event_t __ovld async_work_group_strided_copy(__global long3 *, const __local long3 *, size_t, size_t, event_t);
  12733. event_t __ovld async_work_group_strided_copy(__global ulong3 *, const __local ulong3 *, size_t, size_t, event_t);
  12734. event_t __ovld async_work_group_strided_copy(__global float3 *, const __local float3 *, size_t, size_t, event_t);
  12735. event_t __ovld async_work_group_strided_copy(__global char4 *, const __local char4 *, size_t, size_t, event_t);
  12736. event_t __ovld async_work_group_strided_copy(__global uchar4 *, const __local uchar4 *, size_t, size_t, event_t);
  12737. event_t __ovld async_work_group_strided_copy(__global short4 *, const __local short4 *, size_t, size_t, event_t);
  12738. event_t __ovld async_work_group_strided_copy(__global ushort4 *, const __local ushort4 *, size_t, size_t, event_t);
  12739. event_t __ovld async_work_group_strided_copy(__global int4 *, const __local int4 *, size_t, size_t, event_t);
  12740. event_t __ovld async_work_group_strided_copy(__global uint4 *, const __local uint4 *, size_t, size_t, event_t);
  12741. event_t __ovld async_work_group_strided_copy(__global long4 *, const __local long4 *, size_t, size_t, event_t);
  12742. event_t __ovld async_work_group_strided_copy(__global ulong4 *, const __local ulong4 *, size_t, size_t, event_t);
  12743. event_t __ovld async_work_group_strided_copy(__global float4 *, const __local float4 *, size_t, size_t, event_t);
  12744. event_t __ovld async_work_group_strided_copy(__global char8 *, const __local char8 *, size_t, size_t, event_t);
  12745. event_t __ovld async_work_group_strided_copy(__global uchar8 *, const __local uchar8 *, size_t, size_t, event_t);
  12746. event_t __ovld async_work_group_strided_copy(__global short8 *, const __local short8 *, size_t, size_t, event_t);
  12747. event_t __ovld async_work_group_strided_copy(__global ushort8 *, const __local ushort8 *, size_t, size_t, event_t);
  12748. event_t __ovld async_work_group_strided_copy(__global int8 *, const __local int8 *, size_t, size_t, event_t);
  12749. event_t __ovld async_work_group_strided_copy(__global uint8 *, const __local uint8 *, size_t, size_t, event_t);
  12750. event_t __ovld async_work_group_strided_copy(__global long8 *, const __local long8 *, size_t, size_t, event_t);
  12751. event_t __ovld async_work_group_strided_copy(__global ulong8 *, const __local ulong8 *, size_t, size_t, event_t);
  12752. event_t __ovld async_work_group_strided_copy(__global float8 *, const __local float8 *, size_t, size_t, event_t);
  12753. event_t __ovld async_work_group_strided_copy(__global char16 *, const __local char16 *, size_t, size_t, event_t);
  12754. event_t __ovld async_work_group_strided_copy(__global uchar16 *, const __local uchar16 *, size_t, size_t, event_t);
  12755. event_t __ovld async_work_group_strided_copy(__global short16 *, const __local short16 *, size_t, size_t, event_t);
  12756. event_t __ovld async_work_group_strided_copy(__global ushort16 *, const __local ushort16 *, size_t, size_t, event_t);
  12757. event_t __ovld async_work_group_strided_copy(__global int16 *, const __local int16 *, size_t, size_t, event_t);
  12758. event_t __ovld async_work_group_strided_copy(__global uint16 *, const __local uint16 *, size_t, size_t, event_t);
  12759. event_t __ovld async_work_group_strided_copy(__global long16 *, const __local long16 *, size_t, size_t, event_t);
  12760. event_t __ovld async_work_group_strided_copy(__global ulong16 *, const __local ulong16 *, size_t, size_t, event_t);
  12761. event_t __ovld async_work_group_strided_copy(__global float16 *, const __local float16 *, size_t, size_t, event_t);
  12762. #ifdef cl_khr_fp64
  12763. event_t __ovld async_work_group_strided_copy(__local double *, const __global double *, size_t, size_t, event_t);
  12764. event_t __ovld async_work_group_strided_copy(__local double2 *, const __global double2 *, size_t, size_t, event_t);
  12765. event_t __ovld async_work_group_strided_copy(__local double3 *, const __global double3 *, size_t, size_t, event_t);
  12766. event_t __ovld async_work_group_strided_copy(__local double4 *, const __global double4 *, size_t, size_t, event_t);
  12767. event_t __ovld async_work_group_strided_copy(__local double8 *, const __global double8 *, size_t, size_t, event_t);
  12768. event_t __ovld async_work_group_strided_copy(__local double16 *, const __global double16 *, size_t, size_t, event_t);
  12769. event_t __ovld async_work_group_strided_copy(__global double *, const __local double *, size_t, size_t, event_t);
  12770. event_t __ovld async_work_group_strided_copy(__global double2 *, const __local double2 *, size_t, size_t, event_t);
  12771. event_t __ovld async_work_group_strided_copy(__global double3 *, const __local double3 *, size_t, size_t, event_t);
  12772. event_t __ovld async_work_group_strided_copy(__global double4 *, const __local double4 *, size_t, size_t, event_t);
  12773. event_t __ovld async_work_group_strided_copy(__global double8 *, const __local double8 *, size_t, size_t, event_t);
  12774. event_t __ovld async_work_group_strided_copy(__global double16 *, const __local double16 *, size_t, size_t, event_t);
  12775. #endif //cl_khr_fp64
  12776. #ifdef cl_khr_fp16
  12777. event_t __ovld async_work_group_strided_copy(__local half *, const __global half *, size_t, size_t, event_t);
  12778. event_t __ovld async_work_group_strided_copy(__local half2 *, const __global half2 *, size_t, size_t, event_t);
  12779. event_t __ovld async_work_group_strided_copy(__local half3 *, const __global half3 *, size_t, size_t, event_t);
  12780. event_t __ovld async_work_group_strided_copy(__local half4 *, const __global half4 *, size_t, size_t, event_t);
  12781. event_t __ovld async_work_group_strided_copy(__local half8 *, const __global half8 *, size_t, size_t, event_t);
  12782. event_t __ovld async_work_group_strided_copy(__local half16 *, const __global half16 *, size_t, size_t, event_t);
  12783. event_t __ovld async_work_group_strided_copy(__global half *, const __local half *, size_t, size_t, event_t);
  12784. event_t __ovld async_work_group_strided_copy(__global half2 *, const __local half2 *, size_t, size_t, event_t);
  12785. event_t __ovld async_work_group_strided_copy(__global half3 *, const __local half3 *, size_t, size_t, event_t);
  12786. event_t __ovld async_work_group_strided_copy(__global half4 *, const __local half4 *, size_t, size_t, event_t);
  12787. event_t __ovld async_work_group_strided_copy(__global half8 *, const __local half8 *, size_t, size_t, event_t);
  12788. event_t __ovld async_work_group_strided_copy(__global half16 *, const __local half16 *, size_t, size_t, event_t);
  12789. #endif //cl_khr_fp16
  12790.  
  12791. /**
  12792.  * Wait for events that identify the
  12793.  * async_work_group_copy operations to
  12794.  * complete. The event objects specified in
  12795.  * event_list will be released after the wait is
  12796.  * performed.
  12797.  * This function must be encountered by all workitems
  12798.  * in a work-group executing the kernel with
  12799.  * the same num_events and event objects specified
  12800.  * in event_list; otherwise the results are undefined.
  12801.  */
  12802. void __ovld wait_group_events(int, event_t *);
  12803.  
  12804. /**
  12805.  * Prefetch num_elements * sizeof(gentype)
  12806.  * bytes into the global cache. The prefetch
  12807.  * instruction is applied to a work-item in a workgroup
  12808.  * and does not affect the functional
  12809.  * behavior of the kernel.
  12810.  */
  12811. void __ovld prefetch(const __global char *, size_t);
  12812. void __ovld prefetch(const __global uchar *, size_t);
  12813. void __ovld prefetch(const __global short *, size_t);
  12814. void __ovld prefetch(const __global ushort *, size_t);
  12815. void __ovld prefetch(const __global int *, size_t);
  12816. void __ovld prefetch(const __global uint *, size_t);
  12817. void __ovld prefetch(const __global long *, size_t);
  12818. void __ovld prefetch(const __global ulong *, size_t);
  12819. void __ovld prefetch(const __global float *, size_t);
  12820. void __ovld prefetch(const __global char2 *, size_t);
  12821. void __ovld prefetch(const __global uchar2 *, size_t);
  12822. void __ovld prefetch(const __global short2 *, size_t);
  12823. void __ovld prefetch(const __global ushort2 *, size_t);
  12824. void __ovld prefetch(const __global int2 *, size_t);
  12825. void __ovld prefetch(const __global uint2 *, size_t);
  12826. void __ovld prefetch(const __global long2 *, size_t);
  12827. void __ovld prefetch(const __global ulong2 *, size_t);
  12828. void __ovld prefetch(const __global float2 *, size_t);
  12829. void __ovld prefetch(const __global char3 *, size_t);
  12830. void __ovld prefetch(const __global uchar3 *, size_t);
  12831. void __ovld prefetch(const __global short3 *, size_t);
  12832. void __ovld prefetch(const __global ushort3 *, size_t);
  12833. void __ovld prefetch(const __global int3 *, size_t);
  12834. void __ovld prefetch(const __global uint3 *, size_t);
  12835. void __ovld prefetch(const __global long3 *, size_t);
  12836. void __ovld prefetch(const __global ulong3 *, size_t);
  12837. void __ovld prefetch(const __global float3 *, size_t);
  12838. void __ovld prefetch(const __global char4 *, size_t);
  12839. void __ovld prefetch(const __global uchar4 *, size_t);
  12840. void __ovld prefetch(const __global short4 *, size_t);
  12841. void __ovld prefetch(const __global ushort4 *, size_t);
  12842. void __ovld prefetch(const __global int4 *, size_t);
  12843. void __ovld prefetch(const __global uint4 *, size_t);
  12844. void __ovld prefetch(const __global long4 *, size_t);
  12845. void __ovld prefetch(const __global ulong4 *, size_t);
  12846. void __ovld prefetch(const __global float4 *, size_t);
  12847. void __ovld prefetch(const __global char8 *, size_t);
  12848. void __ovld prefetch(const __global uchar8 *, size_t);
  12849. void __ovld prefetch(const __global short8 *, size_t);
  12850. void __ovld prefetch(const __global ushort8 *, size_t);
  12851. void __ovld prefetch(const __global int8 *, size_t);
  12852. void __ovld prefetch(const __global uint8 *, size_t);
  12853. void __ovld prefetch(const __global long8 *, size_t);
  12854. void __ovld prefetch(const __global ulong8 *, size_t);
  12855. void __ovld prefetch(const __global float8 *, size_t);
  12856. void __ovld prefetch(const __global char16 *, size_t);
  12857. void __ovld prefetch(const __global uchar16 *, size_t);
  12858. void __ovld prefetch(const __global short16 *, size_t);
  12859. void __ovld prefetch(const __global ushort16 *, size_t);
  12860. void __ovld prefetch(const __global int16 *, size_t);
  12861. void __ovld prefetch(const __global uint16 *, size_t);
  12862. void __ovld prefetch(const __global long16 *, size_t);
  12863. void __ovld prefetch(const __global ulong16 *, size_t);
  12864. void __ovld prefetch(const __global float16 *, size_t);
  12865. #ifdef cl_khr_fp64
  12866. void __ovld prefetch(const __global double *, size_t);
  12867. void __ovld prefetch(const __global double2 *, size_t);
  12868. void __ovld prefetch(const __global double3 *, size_t);
  12869. void __ovld prefetch(const __global double4 *, size_t);
  12870. void __ovld prefetch(const __global double8 *, size_t);
  12871. void __ovld prefetch(const __global double16 *, size_t);
  12872. #endif //cl_khr_fp64
  12873. #ifdef cl_khr_fp16
  12874. void __ovld prefetch(const __global half *, size_t);
  12875. void __ovld prefetch(const __global half2 *, size_t);
  12876. void __ovld prefetch(const __global half3 *, size_t);
  12877. void __ovld prefetch(const __global half4 *, size_t);
  12878. void __ovld prefetch(const __global half8 *, size_t);
  12879. void __ovld prefetch(const __global half16 *, size_t);
  12880. #endif // cl_khr_fp16
  12881.  
  12882. // OpenCL v1.1 s6.11.1, v1.2 s6.12.11 - Atomic Functions
  12883.  
  12884. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  12885. #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
  12886. #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
  12887. #endif
  12888. /**
  12889.  * Read the 32-bit value (referred to as old)
  12890.  * stored at location pointed by p. Compute
  12891.  * (old + val) and store result at location
  12892.  * pointed by p. The function returns old.
  12893.  */
  12894. int __ovld atomic_add(volatile __global int *, int);
  12895. uint __ovld atomic_add(volatile __global uint *, uint);
  12896. int __ovld atomic_add(volatile __local int *, int);
  12897. uint __ovld atomic_add(volatile __local uint *, uint);
  12898. #ifdef __OPENCL_CPP_VERSION__
  12899. int __ovld atomic_add(volatile int *, int);
  12900. uint __ovld atomic_add(volatile uint *, uint);
  12901. #endif
  12902.  
  12903. #if defined(cl_khr_global_int32_base_atomics)
  12904. int __ovld atom_add(volatile __global int *, int);
  12905. uint __ovld atom_add(volatile __global uint *, uint);
  12906. #endif
  12907. #if defined(cl_khr_local_int32_base_atomics)
  12908. int __ovld atom_add(volatile __local int *, int);
  12909. uint __ovld atom_add(volatile __local uint *, uint);
  12910. #endif
  12911.  
  12912. #if defined(cl_khr_int64_base_atomics)
  12913. long __ovld atom_add(volatile __global long *, long);
  12914. ulong __ovld atom_add(volatile __global ulong *, ulong);
  12915. long __ovld atom_add(volatile __local long *, long);
  12916. ulong __ovld atom_add(volatile __local ulong *, ulong);
  12917. #endif
  12918.  
  12919. /**
  12920.  * Read the 32-bit value (referred to as old) stored at location pointed by p.
  12921.  * Compute (old - val) and store result at location pointed by p. The function
  12922.  * returns old.
  12923.  */
  12924. int __ovld atomic_sub(volatile __global int *, int);
  12925. uint __ovld atomic_sub(volatile __global uint *, uint);
  12926. int __ovld atomic_sub(volatile __local int *, int);
  12927. uint __ovld atomic_sub(volatile __local uint *, uint);
  12928. #ifdef __OPENCL_CPP_VERSION__
  12929. int __ovld atomic_sub(volatile int *, int);
  12930. uint __ovld atomic_sub(volatile uint *, uint);
  12931. #endif
  12932.  
  12933. #if defined(cl_khr_global_int32_base_atomics)
  12934. int __ovld atom_sub(volatile __global int *, int);
  12935. uint __ovld atom_sub(volatile __global uint *, uint);
  12936. #endif
  12937. #if defined(cl_khr_local_int32_base_atomics)
  12938. int __ovld atom_sub(volatile __local int *, int);
  12939. uint __ovld atom_sub(volatile __local uint *, uint);
  12940. #endif
  12941.  
  12942. #if defined(cl_khr_int64_base_atomics)
  12943. long __ovld atom_sub(volatile __global long *, long);
  12944. ulong __ovld atom_sub(volatile __global ulong *, ulong);
  12945. long __ovld atom_sub(volatile __local long *, long);
  12946. ulong __ovld atom_sub(volatile __local ulong *, ulong);
  12947. #endif
  12948.  
  12949. /**
  12950.  * Swaps the old value stored at location p
  12951.  * with new value given by val. Returns old
  12952.  * value.
  12953.  */
  12954. int __ovld atomic_xchg(volatile __global int *, int);
  12955. uint __ovld atomic_xchg(volatile __global uint *, uint);
  12956. int __ovld atomic_xchg(volatile __local int *, int);
  12957. uint __ovld atomic_xchg(volatile __local uint *, uint);
  12958. float __ovld atomic_xchg(volatile __global float *, float);
  12959. float __ovld atomic_xchg(volatile __local float *, float);
  12960. #ifdef __OPENCL_CPP_VERSION__
  12961. int __ovld atomic_xchg(volatile int *, int);
  12962. uint __ovld atomic_xchg(volatile uint *, uint);
  12963. float __ovld atomic_xchg(volatile float *, float);
  12964. #endif
  12965.  
  12966. #if defined(cl_khr_global_int32_base_atomics)
  12967. int __ovld atom_xchg(volatile __global int *, int);
  12968. uint __ovld atom_xchg(volatile __global uint *, uint);
  12969. #endif
  12970. #if defined(cl_khr_local_int32_base_atomics)
  12971. int __ovld atom_xchg(volatile __local int *, int);
  12972. uint __ovld atom_xchg(volatile __local uint *, uint);
  12973. #endif
  12974.  
  12975. #if defined(cl_khr_int64_base_atomics)
  12976. long __ovld atom_xchg(volatile __global long *, long);
  12977. long __ovld atom_xchg(volatile __local long *, long);
  12978. ulong __ovld atom_xchg(volatile __global ulong *, ulong);
  12979. ulong __ovld atom_xchg(volatile __local ulong *, ulong);
  12980. #endif
  12981.  
  12982. /**
  12983.  * Read the 32-bit value (referred to as old)
  12984.  * stored at location pointed by p. Compute
  12985.  * (old + 1) and store result at location
  12986.  * pointed by p. The function returns old.
  12987.  */
  12988. int __ovld atomic_inc(volatile __global int *);
  12989. uint __ovld atomic_inc(volatile __global uint *);
  12990. int __ovld atomic_inc(volatile __local int *);
  12991. uint __ovld atomic_inc(volatile __local uint *);
  12992. #ifdef __OPENCL_CPP_VERSION__
  12993. int __ovld atomic_inc(volatile int *);
  12994. uint __ovld atomic_inc(volatile uint *);
  12995. #endif
  12996.  
  12997. #if defined(cl_khr_global_int32_base_atomics)
  12998. int __ovld atom_inc(volatile __global int *);
  12999. uint __ovld atom_inc(volatile __global uint *);
  13000. #endif
  13001. #if defined(cl_khr_local_int32_base_atomics)
  13002. int __ovld atom_inc(volatile __local int *);
  13003. uint __ovld atom_inc(volatile __local uint *);
  13004. #endif
  13005.  
  13006. #if defined(cl_khr_int64_base_atomics)
  13007. long __ovld atom_inc(volatile __global long *);
  13008. ulong __ovld atom_inc(volatile __global ulong *);
  13009. long __ovld atom_inc(volatile __local long *);
  13010. ulong __ovld atom_inc(volatile __local ulong *);
  13011. #endif
  13012.  
  13013. /**
  13014.  * Read the 32-bit value (referred to as old)
  13015.  * stored at location pointed by p. Compute
  13016.  * (old - 1) and store result at location
  13017.  * pointed by p. The function returns old.
  13018.  */
  13019. int __ovld atomic_dec(volatile __global int *);
  13020. uint __ovld atomic_dec(volatile __global uint *);
  13021. int __ovld atomic_dec(volatile __local int *);
  13022. uint __ovld atomic_dec(volatile __local uint *);
  13023. #ifdef __OPENCL_CPP_VERSION__
  13024. int __ovld atomic_dec(volatile int *);
  13025. uint __ovld atomic_dec(volatile uint *);
  13026. #endif
  13027.  
  13028. #if defined(cl_khr_global_int32_base_atomics)
  13029. int __ovld atom_dec(volatile __global int *);
  13030. uint __ovld atom_dec(volatile __global uint *);
  13031. #endif
  13032. #if defined(cl_khr_local_int32_base_atomics)
  13033. int __ovld atom_dec(volatile __local int *);
  13034. uint __ovld atom_dec(volatile __local uint *);
  13035. #endif
  13036.  
  13037. #if defined(cl_khr_int64_base_atomics)
  13038. long __ovld atom_dec(volatile __global long *);
  13039. ulong __ovld atom_dec(volatile __global ulong *);
  13040. long __ovld atom_dec(volatile __local long *);
  13041. ulong __ovld atom_dec(volatile __local ulong *);
  13042. #endif
  13043.  
  13044. /**
  13045.  * Read the 32-bit value (referred to as old)
  13046.  * stored at location pointed by p. Compute
  13047.  * (old == cmp) ? val : old and store result at
  13048.  * location pointed by p. The function
  13049.  * returns old.
  13050.  */
  13051. int __ovld atomic_cmpxchg(volatile __global int *, int, int);
  13052. uint __ovld atomic_cmpxchg(volatile __global uint *, uint, uint);
  13053. int __ovld atomic_cmpxchg(volatile __local int *, int, int);
  13054. uint __ovld atomic_cmpxchg(volatile __local uint *, uint, uint);
  13055. #ifdef __OPENCL_CPP_VERSION__
  13056. int __ovld atomic_cmpxchg(volatile int *, int, int);
  13057. uint __ovld atomic_cmpxchg(volatile uint *, uint, uint);
  13058. #endif
  13059.  
  13060. #if defined(cl_khr_global_int32_base_atomics)
  13061. int __ovld atom_cmpxchg(volatile __global int *, int, int);
  13062. uint __ovld atom_cmpxchg(volatile __global uint *, uint, uint);
  13063. #endif
  13064. #if defined(cl_khr_local_int32_base_atomics)
  13065. int __ovld atom_cmpxchg(volatile __local int *, int, int);
  13066. uint __ovld atom_cmpxchg(volatile __local uint *, uint, uint);
  13067. #endif
  13068.  
  13069. #if defined(cl_khr_int64_base_atomics)
  13070. long __ovld atom_cmpxchg(volatile __global long *, long, long);
  13071. ulong __ovld atom_cmpxchg(volatile __global ulong *, ulong, ulong);
  13072. long __ovld atom_cmpxchg(volatile __local long *, long, long);
  13073. ulong __ovld atom_cmpxchg(volatile __local ulong *, ulong, ulong);
  13074. #endif
  13075.  
  13076. /**
  13077.  * Read the 32-bit value (referred to as old)
  13078.  * stored at location pointed by p. Compute
  13079.  * min(old, val) and store minimum value at
  13080.  * location pointed by p. The function
  13081.  * returns old.
  13082.  */
  13083. int __ovld atomic_min(volatile __global int *, int);
  13084. uint __ovld atomic_min(volatile __global uint *, uint);
  13085. int __ovld atomic_min(volatile __local int *, int);
  13086. uint __ovld atomic_min(volatile __local uint *, uint);
  13087. #ifdef __OPENCL_CPP_VERSION__
  13088. int __ovld atomic_min(volatile int *, int);
  13089. uint __ovld atomic_min(volatile uint *, uint);
  13090. #endif
  13091.  
  13092. #if defined(cl_khr_global_int32_extended_atomics)
  13093. int __ovld atom_min(volatile __global int *, int);
  13094. uint __ovld atom_min(volatile __global uint *, uint);
  13095. #endif
  13096. #if defined(cl_khr_local_int32_extended_atomics)
  13097. int __ovld atom_min(volatile __local int *, int);
  13098. uint __ovld atom_min(volatile __local uint *, uint);
  13099. #endif
  13100.  
  13101. #if defined(cl_khr_int64_extended_atomics)
  13102. long __ovld atom_min(volatile __global long *, long);
  13103. ulong __ovld atom_min(volatile __global ulong *, ulong);
  13104. long __ovld atom_min(volatile __local long *, long);
  13105. ulong __ovld atom_min(volatile __local ulong *, ulong);
  13106. #endif
  13107.  
  13108. /**
  13109.  * Read the 32-bit value (referred to as old)
  13110.  * stored at location pointed by p. Compute
  13111.  * max(old, val) and store maximum value at
  13112.  * location pointed by p. The function
  13113.  * returns old.
  13114.  */
  13115. int __ovld atomic_max(volatile __global int *, int);
  13116. uint __ovld atomic_max(volatile __global uint *, uint);
  13117. int __ovld atomic_max(volatile __local int *, int);
  13118. uint __ovld atomic_max(volatile __local uint *, uint);
  13119. #ifdef __OPENCL_CPP_VERSION__
  13120. int __ovld atomic_max(volatile int *, int);
  13121. uint __ovld atomic_max(volatile uint *, uint);
  13122. #endif
  13123.  
  13124. #if defined(cl_khr_global_int32_extended_atomics)
  13125. int __ovld atom_max(volatile __global int *, int);
  13126. uint __ovld atom_max(volatile __global uint *, uint);
  13127. #endif
  13128. #if defined(cl_khr_local_int32_extended_atomics)
  13129. int __ovld atom_max(volatile __local int *, int);
  13130. uint __ovld atom_max(volatile __local uint *, uint);
  13131. #endif
  13132.  
  13133. #if defined(cl_khr_int64_extended_atomics)
  13134. long __ovld atom_max(volatile __global long *, long);
  13135. ulong __ovld atom_max(volatile __global ulong *, ulong);
  13136. long __ovld atom_max(volatile __local long *, long);
  13137. ulong __ovld atom_max(volatile __local ulong *, ulong);
  13138. #endif
  13139.  
  13140. /**
  13141.  * Read the 32-bit value (referred to as old)
  13142.  * stored at location pointed by p. Compute
  13143.  * (old & val) and store result at location
  13144.  * pointed by p. The function returns old.
  13145.  */
  13146. int __ovld atomic_and(volatile __global int *, int);
  13147. uint __ovld atomic_and(volatile __global uint *, uint);
  13148. int __ovld atomic_and(volatile __local int *, int);
  13149. uint __ovld atomic_and(volatile __local uint *, uint);
  13150. #ifdef __OPENCL_CPP_VERSION__
  13151. int __ovld atomic_and(volatile int *, int);
  13152. uint __ovld atomic_and(volatile uint *, uint);
  13153. #endif
  13154.  
  13155. #if defined(cl_khr_global_int32_extended_atomics)
  13156. int __ovld atom_and(volatile __global int *, int);
  13157. uint __ovld atom_and(volatile __global uint *, uint);
  13158. #endif
  13159. #if defined(cl_khr_local_int32_extended_atomics)
  13160. int __ovld atom_and(volatile __local int *, int);
  13161. uint __ovld atom_and(volatile __local uint *, uint);
  13162. #endif
  13163.  
  13164. #if defined(cl_khr_int64_extended_atomics)
  13165. long __ovld atom_and(volatile __global long *, long);
  13166. ulong __ovld atom_and(volatile __global ulong *, ulong);
  13167. long __ovld atom_and(volatile __local long *, long);
  13168. ulong __ovld atom_and(volatile __local ulong *, ulong);
  13169. #endif
  13170.  
  13171. /**
  13172.  * Read the 32-bit value (referred to as old)
  13173.  * stored at location pointed by p. Compute
  13174.  * (old | val) and store result at location
  13175.  * pointed by p. The function returns old.
  13176.  */
  13177. int __ovld atomic_or(volatile __global int *, int);
  13178. uint __ovld atomic_or(volatile __global uint *, uint);
  13179. int __ovld atomic_or(volatile __local int *, int);
  13180. uint __ovld atomic_or(volatile __local uint *, uint);
  13181. #ifdef __OPENCL_CPP_VERSION__
  13182. int __ovld atomic_or(volatile int *, int);
  13183. uint __ovld atomic_or(volatile uint *, uint);
  13184. #endif
  13185.  
  13186. #if defined(cl_khr_global_int32_extended_atomics)
  13187. int __ovld atom_or(volatile __global int *, int);
  13188. uint __ovld atom_or(volatile __global uint *, uint);
  13189. #endif
  13190. #if defined(cl_khr_local_int32_extended_atomics)
  13191. int __ovld atom_or(volatile __local int *, int);
  13192. uint __ovld atom_or(volatile __local uint *, uint);
  13193. #endif
  13194.  
  13195. #if defined(cl_khr_int64_extended_atomics)
  13196. long __ovld atom_or(volatile __global long *, long);
  13197. ulong __ovld atom_or(volatile __global ulong *, ulong);
  13198. long __ovld atom_or(volatile __local long *, long);
  13199. ulong __ovld atom_or(volatile __local ulong *, ulong);
  13200. #endif
  13201.  
  13202. /**
  13203.  * Read the 32-bit value (referred to as old)
  13204.  * stored at location pointed by p. Compute
  13205.  * (old ^ val) and store result at location
  13206.  * pointed by p. The function returns old.
  13207.  */
  13208. int __ovld atomic_xor(volatile __global int *, int);
  13209. uint __ovld atomic_xor(volatile __global uint *, uint);
  13210. int __ovld atomic_xor(volatile __local int *, int);
  13211. uint __ovld atomic_xor(volatile __local uint *, uint);
  13212. #ifdef __OPENCL_CPP_VERSION__
  13213. int __ovld atomic_xor(volatile int *, int);
  13214. uint __ovld atomic_xor(volatile uint *, uint);
  13215. #endif
  13216.  
  13217. #if defined(cl_khr_global_int32_extended_atomics)
  13218. int __ovld atom_xor(volatile __global int *, int);
  13219. uint __ovld atom_xor(volatile __global uint *, uint);
  13220. #endif
  13221. #if defined(cl_khr_local_int32_extended_atomics)
  13222. int __ovld atom_xor(volatile __local int *, int);
  13223. uint __ovld atom_xor(volatile __local uint *, uint);
  13224. #endif
  13225.  
  13226. #if defined(cl_khr_int64_extended_atomics)
  13227. long __ovld atom_xor(volatile __global long *, long);
  13228. ulong __ovld atom_xor(volatile __global ulong *, ulong);
  13229. long __ovld atom_xor(volatile __local long *, long);
  13230. ulong __ovld atom_xor(volatile __local ulong *, ulong);
  13231. #endif
  13232.  
  13233. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13234. #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : disable
  13235. #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : disable
  13236. #endif
  13237.  
  13238. // OpenCL v2.0 s6.13.11 - Atomics Functions
  13239.  
  13240. #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
  13241.  
  13242. // double atomics support requires extensions cl_khr_int64_base_atomics and cl_khr_int64_extended_atomics
  13243. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13244. #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
  13245. #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
  13246. #endif
  13247.  
  13248. // atomic_init()
  13249. #if defined(__opencl_c_generic_address_space)
  13250. void __ovld atomic_init(volatile atomic_int *, int);
  13251. void __ovld atomic_init(volatile atomic_uint *, uint);
  13252. void __ovld atomic_init(volatile atomic_float *, float);
  13253. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13254. void __ovld atomic_init(volatile atomic_long *, long);
  13255. void __ovld atomic_init(volatile atomic_ulong *, ulong);
  13256. #ifdef cl_khr_fp64
  13257. void __ovld atomic_init(volatile atomic_double *, double);
  13258. #endif //cl_khr_fp64
  13259. #endif
  13260. #endif //defined(__opencl_c_generic_address_space)
  13261. #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  13262. void __ovld atomic_init(volatile __global atomic_int *, int);
  13263. void __ovld atomic_init(volatile __local atomic_int *, int);
  13264. void __ovld atomic_init(volatile __global atomic_uint *, uint);
  13265. void __ovld atomic_init(volatile __local atomic_uint *, uint);
  13266. void __ovld atomic_init(volatile __global atomic_float *, float);
  13267. void __ovld atomic_init(volatile __local atomic_float *, float);
  13268. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13269. void __ovld atomic_init(volatile __global atomic_long *, long);
  13270. void __ovld atomic_init(volatile __local atomic_long *, long);
  13271. void __ovld atomic_init(volatile __global atomic_ulong *, ulong);
  13272. void __ovld atomic_init(volatile __local atomic_ulong *, ulong);
  13273. #ifdef cl_khr_fp64
  13274. void __ovld atomic_init(volatile __global atomic_double *, double);
  13275. void __ovld atomic_init(volatile __local atomic_double *, double);
  13276. #endif //cl_khr_fp64
  13277. #endif
  13278. #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  13279.  
  13280. // atomic_work_item_fence()
  13281. void __ovld atomic_work_item_fence(cl_mem_fence_flags, memory_order, memory_scope);
  13282.  
  13283. // atomic_fetch()
  13284. // OpenCL v2.0 s6.13.11.7.5:
  13285. // add/sub: atomic type argument can be uintptr_t/intptr_t, value type argument can be ptrdiff_t.
  13286.  
  13287. #if defined(__opencl_c_atomic_order_seq_cst) && defined(__opencl_c_atomic_scope_device)
  13288. #if defined(__opencl_c_generic_address_space)
  13289. int __ovld atomic_fetch_add(volatile atomic_int *, int);
  13290. uint __ovld atomic_fetch_add(volatile atomic_uint *, uint);
  13291. int __ovld atomic_fetch_sub(volatile atomic_int *, int);
  13292. uint __ovld atomic_fetch_sub(volatile atomic_uint *, uint);
  13293. int __ovld atomic_fetch_or(volatile atomic_int *, int);
  13294. uint __ovld atomic_fetch_or(volatile atomic_uint *, uint);
  13295. int __ovld atomic_fetch_xor(volatile atomic_int *, int);
  13296. uint __ovld atomic_fetch_xor(volatile atomic_uint *, uint);
  13297. int __ovld atomic_fetch_and(volatile atomic_int *, int);
  13298. uint __ovld atomic_fetch_and(volatile atomic_uint *, uint);
  13299. int __ovld atomic_fetch_min(volatile atomic_int *, int);
  13300. uint __ovld atomic_fetch_min(volatile atomic_uint *, uint);
  13301. int __ovld atomic_fetch_max(volatile atomic_int *, int);
  13302. uint __ovld atomic_fetch_max(volatile atomic_uint *, uint);
  13303. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13304. long __ovld atomic_fetch_add(volatile atomic_long *, long);
  13305. ulong __ovld atomic_fetch_add(volatile atomic_ulong *, ulong);
  13306. long __ovld atomic_fetch_sub(volatile atomic_long *, long);
  13307. ulong __ovld atomic_fetch_sub(volatile atomic_ulong *, ulong);
  13308. long __ovld atomic_fetch_or(volatile atomic_long *, long);
  13309. ulong __ovld atomic_fetch_or(volatile atomic_ulong *, ulong);
  13310. long __ovld atomic_fetch_xor(volatile atomic_long *, long);
  13311. ulong __ovld atomic_fetch_xor(volatile atomic_ulong *, ulong);
  13312. long __ovld atomic_fetch_and(volatile atomic_long *, long);
  13313. ulong __ovld atomic_fetch_and(volatile atomic_ulong *, ulong);
  13314. long __ovld atomic_fetch_min(volatile atomic_long *, long);
  13315. ulong __ovld atomic_fetch_min(volatile atomic_ulong *, ulong);
  13316. long __ovld atomic_fetch_max(volatile atomic_long *, long);
  13317. ulong __ovld atomic_fetch_max(volatile atomic_ulong *, ulong);
  13318. uintptr_t __ovld atomic_fetch_add(volatile atomic_uintptr_t *, ptrdiff_t);
  13319. uintptr_t __ovld atomic_fetch_sub(volatile atomic_uintptr_t *, ptrdiff_t);
  13320. #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13321. #endif //defined(__opencl_c_generic_address_space)
  13322. #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  13323. int __ovld atomic_fetch_add(volatile __global atomic_int *, int);
  13324. int __ovld atomic_fetch_add(volatile __local atomic_int *, int);
  13325. uint __ovld atomic_fetch_add(volatile __global atomic_uint *, uint);
  13326. uint __ovld atomic_fetch_add(volatile __local atomic_uint *, uint);
  13327. int __ovld atomic_fetch_sub(volatile __global atomic_int *, int);
  13328. int __ovld atomic_fetch_sub(volatile __local atomic_int *, int);
  13329. uint __ovld atomic_fetch_sub(volatile __global atomic_uint *, uint);
  13330. uint __ovld atomic_fetch_sub(volatile __local atomic_uint *, uint);
  13331. int __ovld atomic_fetch_or(volatile __global atomic_int *, int);
  13332. int __ovld atomic_fetch_or(volatile __local atomic_int *, int);
  13333. uint __ovld atomic_fetch_or(volatile __global atomic_uint *, uint);
  13334. uint __ovld atomic_fetch_or(volatile __local atomic_uint *, uint);
  13335. int __ovld atomic_fetch_xor(volatile __global atomic_int *, int);
  13336. int __ovld atomic_fetch_xor(volatile __local atomic_int *, int);
  13337. uint __ovld atomic_fetch_xor(volatile __global atomic_uint *, uint);
  13338. uint __ovld atomic_fetch_xor(volatile __local atomic_uint *, uint);
  13339. int __ovld atomic_fetch_and(volatile __global atomic_int *, int);
  13340. int __ovld atomic_fetch_and(volatile __local atomic_int *, int);
  13341. uint __ovld atomic_fetch_and(volatile __global atomic_uint *, uint);
  13342. uint __ovld atomic_fetch_and(volatile __local atomic_uint *, uint);
  13343. int __ovld atomic_fetch_min(volatile __global atomic_int *, int);
  13344. int __ovld atomic_fetch_min(volatile __local atomic_int *, int);
  13345. uint __ovld atomic_fetch_min(volatile __global atomic_uint *, uint);
  13346. uint __ovld atomic_fetch_min(volatile __local atomic_uint *, uint);
  13347. int __ovld atomic_fetch_max(volatile __global atomic_int *, int);
  13348. int __ovld atomic_fetch_max(volatile __local atomic_int *, int);
  13349. uint __ovld atomic_fetch_max(volatile __global atomic_uint *, uint);
  13350. uint __ovld atomic_fetch_max(volatile __local atomic_uint *, uint);
  13351. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13352. long __ovld atomic_fetch_add(volatile __global atomic_long *, long);
  13353. long __ovld atomic_fetch_add(volatile __local atomic_long *, long);
  13354. ulong __ovld atomic_fetch_add(volatile __global atomic_ulong *, ulong);
  13355. ulong __ovld atomic_fetch_add(volatile __local atomic_ulong *, ulong);
  13356. uintptr_t __ovld atomic_fetch_add(volatile __global atomic_uintptr_t *, ptrdiff_t);
  13357. uintptr_t __ovld atomic_fetch_add(volatile __local atomic_uintptr_t *, ptrdiff_t);
  13358. long __ovld atomic_fetch_sub(volatile __global atomic_long *, long);
  13359. long __ovld atomic_fetch_sub(volatile __local atomic_long *, long);
  13360. ulong __ovld atomic_fetch_sub(volatile __global atomic_ulong *, ulong);
  13361. ulong __ovld atomic_fetch_sub(volatile __local atomic_ulong *, ulong);
  13362. uintptr_t __ovld atomic_fetch_sub(volatile __global atomic_uintptr_t *, ptrdiff_t);
  13363. uintptr_t __ovld atomic_fetch_sub(volatile __local atomic_uintptr_t *, ptrdiff_t);
  13364. long __ovld atomic_fetch_or(volatile __global atomic_long *, long);
  13365. long __ovld atomic_fetch_or(volatile __local atomic_long *, long);
  13366. ulong __ovld atomic_fetch_or(volatile __global atomic_ulong *, ulong);
  13367. ulong __ovld atomic_fetch_or(volatile __local atomic_ulong *, ulong);
  13368. uintptr_t __ovld atomic_fetch_or(volatile __global atomic_uintptr_t *, intptr_t);
  13369. uintptr_t __ovld atomic_fetch_or(volatile __local atomic_uintptr_t *, intptr_t);
  13370. intptr_t __ovld atomic_fetch_or(volatile __global atomic_intptr_t *, uintptr_t);
  13371. intptr_t __ovld atomic_fetch_or(volatile __local atomic_intptr_t *, uintptr_t);
  13372. long __ovld atomic_fetch_xor(volatile __global atomic_long *, long);
  13373. long __ovld atomic_fetch_xor(volatile __local atomic_long *, long);
  13374. ulong __ovld atomic_fetch_xor(volatile __global atomic_ulong *, ulong);
  13375. ulong __ovld atomic_fetch_xor(volatile __local atomic_ulong *, ulong);
  13376. uintptr_t __ovld atomic_fetch_xor(volatile __global atomic_uintptr_t *, intptr_t);
  13377. uintptr_t __ovld atomic_fetch_xor(volatile __local atomic_uintptr_t *, intptr_t);
  13378. intptr_t __ovld atomic_fetch_xor(volatile __global atomic_intptr_t *, uintptr_t);
  13379. intptr_t __ovld atomic_fetch_xor(volatile __local atomic_intptr_t *, uintptr_t);
  13380. long __ovld atomic_fetch_and(volatile __global atomic_long *, long);
  13381. long __ovld atomic_fetch_and(volatile __local atomic_long *, long);
  13382. ulong __ovld atomic_fetch_and(volatile __global atomic_ulong *, ulong);
  13383. ulong __ovld atomic_fetch_and(volatile __local atomic_ulong *, ulong);
  13384. uintptr_t __ovld atomic_fetch_and(volatile __global atomic_uintptr_t *, intptr_t);
  13385. uintptr_t __ovld atomic_fetch_and(volatile __local atomic_uintptr_t *, intptr_t);
  13386. intptr_t __ovld atomic_fetch_and(volatile __global atomic_intptr_t *, uintptr_t);
  13387. intptr_t __ovld atomic_fetch_and(volatile __local atomic_intptr_t *, uintptr_t);
  13388. long __ovld atomic_fetch_min(volatile __global atomic_long *, long);
  13389. long __ovld atomic_fetch_min(volatile __local atomic_long *, long);
  13390. ulong __ovld atomic_fetch_min(volatile __global atomic_ulong *, ulong);
  13391. ulong __ovld atomic_fetch_min(volatile __local atomic_ulong *, ulong);
  13392. uintptr_t __ovld atomic_fetch_min(volatile __global atomic_uintptr_t *, intptr_t);
  13393. uintptr_t __ovld atomic_fetch_min(volatile __local atomic_uintptr_t *, intptr_t);
  13394. intptr_t __ovld atomic_fetch_min(volatile __global atomic_intptr_t *, uintptr_t);
  13395. intptr_t __ovld atomic_fetch_min(volatile __local atomic_intptr_t *, uintptr_t);
  13396. long __ovld atomic_fetch_max(volatile __global atomic_long *, long);
  13397. long __ovld atomic_fetch_max(volatile __local atomic_long *, long);
  13398. ulong __ovld atomic_fetch_max(volatile __global atomic_ulong *, ulong);
  13399. ulong __ovld atomic_fetch_max(volatile __local atomic_ulong *, ulong);
  13400. uintptr_t __ovld atomic_fetch_max(volatile __global atomic_uintptr_t *, uintptr_t);
  13401. uintptr_t __ovld atomic_fetch_max(volatile __local atomic_uintptr_t *, uintptr_t);
  13402. #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13403. #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  13404. #endif
  13405.  
  13406. #if defined(__opencl_c_atomic_scope_device)
  13407. #if defined(__opencl_c_generic_address_space)
  13408. int __ovld atomic_fetch_add_explicit(volatile atomic_int *, int, memory_order);
  13409. uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *, uint, memory_order);
  13410. int __ovld atomic_fetch_sub_explicit(volatile atomic_int *, int, memory_order);
  13411. uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *, uint, memory_order);
  13412. int __ovld atomic_fetch_or_explicit(volatile atomic_int *, int, memory_order);
  13413. uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *, uint, memory_order);
  13414. int __ovld atomic_fetch_xor_explicit(volatile atomic_int *, int, memory_order);
  13415. uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *, uint, memory_order);
  13416. int __ovld atomic_fetch_and_explicit(volatile atomic_int *, int, memory_order);
  13417. uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *, uint, memory_order);
  13418. int __ovld atomic_fetch_min_explicit(volatile atomic_int *, int, memory_order);
  13419. uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *, uint, memory_order);
  13420. int __ovld atomic_fetch_max_explicit(volatile atomic_int *, int, memory_order);
  13421. uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *, uint, memory_order);
  13422. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13423. long __ovld atomic_fetch_add_explicit(volatile atomic_long *, long, memory_order);
  13424. ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *, ulong, memory_order);
  13425. long __ovld atomic_fetch_sub_explicit(volatile atomic_long *, long, memory_order);
  13426. ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *, ulong, memory_order);
  13427. long __ovld atomic_fetch_or_explicit(volatile atomic_long *, long, memory_order);
  13428. ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *, ulong, memory_order);
  13429. long __ovld atomic_fetch_xor_explicit(volatile atomic_long *, long, memory_order);
  13430. ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *, ulong, memory_order);
  13431. long __ovld atomic_fetch_and_explicit(volatile atomic_long *, long, memory_order);
  13432. ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *, ulong, memory_order);
  13433. long __ovld atomic_fetch_min_explicit(volatile atomic_long *, long, memory_order);
  13434. ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *, ulong, memory_order);
  13435. long __ovld atomic_fetch_max_explicit(volatile atomic_long *, long, memory_order);
  13436. ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *, ulong, memory_order);
  13437. uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *, ptrdiff_t, memory_order);
  13438. uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *, ptrdiff_t, memory_order);
  13439. #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13440. #endif //defined(__opencl_c_generic_address_space)
  13441. #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  13442. int __ovld atomic_fetch_add_explicit(volatile __global atomic_int *, int, memory_order);
  13443. int __ovld atomic_fetch_add_explicit(volatile __local atomic_int *, int, memory_order);
  13444. uint __ovld atomic_fetch_add_explicit(volatile __global atomic_uint *, uint, memory_order);
  13445. uint __ovld atomic_fetch_add_explicit(volatile __local atomic_uint *, uint, memory_order);
  13446. int __ovld atomic_fetch_sub_explicit(volatile __global atomic_int *, int, memory_order);
  13447. int __ovld atomic_fetch_sub_explicit(volatile __local atomic_int *, int, memory_order);
  13448. uint __ovld atomic_fetch_sub_explicit(volatile __global atomic_uint *, uint, memory_order);
  13449. uint __ovld atomic_fetch_sub_explicit(volatile __local atomic_uint *, uint, memory_order);
  13450. int __ovld atomic_fetch_or_explicit(volatile __global atomic_int *, int, memory_order);
  13451. int __ovld atomic_fetch_or_explicit(volatile __local atomic_int *, int, memory_order);
  13452. uint __ovld atomic_fetch_or_explicit(volatile __global atomic_uint *, uint, memory_order);
  13453. uint __ovld atomic_fetch_or_explicit(volatile __local atomic_uint *, uint, memory_order);
  13454. int __ovld atomic_fetch_xor_explicit(volatile __global atomic_int *, int, memory_order);
  13455. int __ovld atomic_fetch_xor_explicit(volatile __local atomic_int *, int, memory_order);
  13456. uint __ovld atomic_fetch_xor_explicit(volatile __global atomic_uint *, uint, memory_order);
  13457. uint __ovld atomic_fetch_xor_explicit(volatile __local atomic_uint *, uint, memory_order);
  13458. int __ovld atomic_fetch_and_explicit(volatile __global atomic_int *, int, memory_order);
  13459. int __ovld atomic_fetch_and_explicit(volatile __local atomic_int *, int, memory_order);
  13460. uint __ovld atomic_fetch_and_explicit(volatile __global atomic_uint *, uint, memory_order);
  13461. uint __ovld atomic_fetch_and_explicit(volatile __local atomic_uint *, uint, memory_order);
  13462. int __ovld atomic_fetch_min_explicit(volatile __global atomic_int *, int, memory_order);
  13463. int __ovld atomic_fetch_min_explicit(volatile __local atomic_int *, int, memory_order);
  13464. uint __ovld atomic_fetch_min_explicit(volatile __global atomic_uint *, uint, memory_order);
  13465. uint __ovld atomic_fetch_min_explicit(volatile __local atomic_uint *, uint, memory_order);
  13466. int __ovld atomic_fetch_max_explicit(volatile __global atomic_int *, int, memory_order);
  13467. int __ovld atomic_fetch_max_explicit(volatile __local atomic_int *, int, memory_order);
  13468. uint __ovld atomic_fetch_max_explicit(volatile __global atomic_uint *, uint, memory_order);
  13469. uint __ovld atomic_fetch_max_explicit(volatile __local atomic_uint *, uint, memory_order);
  13470. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13471. long __ovld atomic_fetch_add_explicit(volatile __global atomic_long *, long, memory_order);
  13472. long __ovld atomic_fetch_add_explicit(volatile __local atomic_long *, long, memory_order);
  13473. ulong __ovld atomic_fetch_add_explicit(volatile __global atomic_ulong *, ulong, memory_order);
  13474. ulong __ovld atomic_fetch_add_explicit(volatile __local atomic_ulong *, ulong, memory_order);
  13475. uintptr_t __ovld atomic_fetch_add_explicit(volatile __global atomic_uintptr_t *, ptrdiff_t, memory_order);
  13476. uintptr_t __ovld atomic_fetch_add_explicit(volatile __local atomic_uintptr_t *, ptrdiff_t, memory_order);
  13477. long __ovld atomic_fetch_sub_explicit(volatile __global atomic_long *, long, memory_order);
  13478. long __ovld atomic_fetch_sub_explicit(volatile __local atomic_long *, long, memory_order);
  13479. ulong __ovld atomic_fetch_sub_explicit(volatile __global atomic_ulong *, ulong, memory_order);
  13480. ulong __ovld atomic_fetch_sub_explicit(volatile __local atomic_ulong *, ulong, memory_order);
  13481. uintptr_t __ovld atomic_fetch_sub_explicit(volatile __global atomic_uintptr_t *, ptrdiff_t, memory_order);
  13482. uintptr_t __ovld atomic_fetch_sub_explicit(volatile __local atomic_uintptr_t *, ptrdiff_t, memory_order);
  13483. long __ovld atomic_fetch_or_explicit(volatile __global atomic_long *, long, memory_order);
  13484. long __ovld atomic_fetch_or_explicit(volatile __local atomic_long *, long, memory_order);
  13485. ulong __ovld atomic_fetch_or_explicit(volatile __global atomic_ulong *, ulong, memory_order);
  13486. ulong __ovld atomic_fetch_or_explicit(volatile __local atomic_ulong *, ulong, memory_order);
  13487. uintptr_t __ovld atomic_fetch_or_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order);
  13488. uintptr_t __ovld atomic_fetch_or_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order);
  13489. intptr_t __ovld atomic_fetch_or_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order);
  13490. intptr_t __ovld atomic_fetch_or_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order);
  13491. long __ovld atomic_fetch_xor_explicit(volatile __global atomic_long *, long, memory_order);
  13492. long __ovld atomic_fetch_xor_explicit(volatile __local atomic_long *, long, memory_order);
  13493. ulong __ovld atomic_fetch_xor_explicit(volatile __global atomic_ulong *, ulong, memory_order);
  13494. ulong __ovld atomic_fetch_xor_explicit(volatile __local atomic_ulong *, ulong, memory_order);
  13495. uintptr_t __ovld atomic_fetch_xor_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order);
  13496. uintptr_t __ovld atomic_fetch_xor_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order);
  13497. intptr_t __ovld atomic_fetch_xor_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order);
  13498. intptr_t __ovld atomic_fetch_xor_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order);
  13499. long __ovld atomic_fetch_and_explicit(volatile __global atomic_long *, long, memory_order);
  13500. long __ovld atomic_fetch_and_explicit(volatile __local atomic_long *, long, memory_order);
  13501. ulong __ovld atomic_fetch_and_explicit(volatile __global atomic_ulong *, ulong, memory_order);
  13502. ulong __ovld atomic_fetch_and_explicit(volatile __local atomic_ulong *, ulong, memory_order);
  13503. uintptr_t __ovld atomic_fetch_and_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order);
  13504. uintptr_t __ovld atomic_fetch_and_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order);
  13505. intptr_t __ovld atomic_fetch_and_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order);
  13506. intptr_t __ovld atomic_fetch_and_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order);
  13507. long __ovld atomic_fetch_min_explicit(volatile __global atomic_long *, long, memory_order);
  13508. long __ovld atomic_fetch_min_explicit(volatile __local atomic_long *, long, memory_order);
  13509. ulong __ovld atomic_fetch_min_explicit(volatile __global atomic_ulong *, ulong, memory_order);
  13510. ulong __ovld atomic_fetch_min_explicit(volatile __local atomic_ulong *, ulong, memory_order);
  13511. uintptr_t __ovld atomic_fetch_min_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order);
  13512. uintptr_t __ovld atomic_fetch_min_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order);
  13513. intptr_t __ovld atomic_fetch_min_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order);
  13514. intptr_t __ovld atomic_fetch_min_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order);
  13515. long __ovld atomic_fetch_max_explicit(volatile __global atomic_long *, long, memory_order);
  13516. long __ovld atomic_fetch_max_explicit(volatile __local atomic_long *, long, memory_order);
  13517. ulong __ovld atomic_fetch_max_explicit(volatile __global atomic_ulong *, ulong, memory_order);
  13518. ulong __ovld atomic_fetch_max_explicit(volatile __local atomic_ulong *, ulong, memory_order);
  13519. uintptr_t __ovld atomic_fetch_max_explicit(volatile __global atomic_uintptr_t *, uintptr_t, memory_order);
  13520. uintptr_t __ovld atomic_fetch_max_explicit(volatile __local atomic_uintptr_t *, uintptr_t, memory_order);
  13521. #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13522. #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  13523. #endif
  13524.  
  13525. #if defined(__opencl_c_generic_address_space)
  13526. int __ovld atomic_fetch_add_explicit(volatile atomic_int *, int, memory_order, memory_scope);
  13527. uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);
  13528. int __ovld atomic_fetch_sub_explicit(volatile atomic_int *, int, memory_order, memory_scope);
  13529. uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);
  13530. int __ovld atomic_fetch_or_explicit(volatile atomic_int *, int, memory_order, memory_scope);
  13531. uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);
  13532. int __ovld atomic_fetch_xor_explicit(volatile atomic_int *, int, memory_order, memory_scope);
  13533. uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);
  13534. int __ovld atomic_fetch_and_explicit(volatile atomic_int *, int, memory_order, memory_scope);
  13535. uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);
  13536. int __ovld atomic_fetch_min_explicit(volatile atomic_int *, int, memory_order, memory_scope);
  13537. uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);
  13538. int __ovld atomic_fetch_max_explicit(volatile atomic_int *, int, memory_order, memory_scope);
  13539. uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);
  13540. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13541. long __ovld atomic_fetch_add_explicit(volatile atomic_long *, long, memory_order, memory_scope);
  13542. ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);
  13543. long __ovld atomic_fetch_sub_explicit(volatile atomic_long *, long, memory_order, memory_scope);
  13544. ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);
  13545. long __ovld atomic_fetch_or_explicit(volatile atomic_long *, long, memory_order, memory_scope);
  13546. ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);
  13547. long __ovld atomic_fetch_xor_explicit(volatile atomic_long *, long, memory_order, memory_scope);
  13548. ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);
  13549. long __ovld atomic_fetch_and_explicit(volatile atomic_long *, long, memory_order, memory_scope);
  13550. ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);
  13551. long __ovld atomic_fetch_min_explicit(volatile atomic_long *, long, memory_order, memory_scope);
  13552. ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);
  13553. long __ovld atomic_fetch_max_explicit(volatile atomic_long *, long, memory_order, memory_scope);
  13554. ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);
  13555. uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *, ptrdiff_t, memory_order, memory_scope);
  13556. uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *, ptrdiff_t, memory_order, memory_scope);
  13557. #endif
  13558. #endif //defined(__opencl_c_generic_address_space)
  13559. #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  13560. int __ovld atomic_fetch_add_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);
  13561. int __ovld atomic_fetch_add_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);
  13562. uint __ovld atomic_fetch_add_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);
  13563. uint __ovld atomic_fetch_add_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);
  13564. int __ovld atomic_fetch_sub_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);
  13565. int __ovld atomic_fetch_sub_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);
  13566. uint __ovld atomic_fetch_sub_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);
  13567. uint __ovld atomic_fetch_sub_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);
  13568. int __ovld atomic_fetch_or_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);
  13569. int __ovld atomic_fetch_or_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);
  13570. uint __ovld atomic_fetch_or_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);
  13571. uint __ovld atomic_fetch_or_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);
  13572. int __ovld atomic_fetch_xor_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);
  13573. int __ovld atomic_fetch_xor_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);
  13574. uint __ovld atomic_fetch_xor_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);
  13575. uint __ovld atomic_fetch_xor_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);
  13576. int __ovld atomic_fetch_and_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);
  13577. int __ovld atomic_fetch_and_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);
  13578. uint __ovld atomic_fetch_and_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);
  13579. uint __ovld atomic_fetch_and_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);
  13580. int __ovld atomic_fetch_min_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);
  13581. int __ovld atomic_fetch_min_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);
  13582. uint __ovld atomic_fetch_min_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);
  13583. uint __ovld atomic_fetch_min_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);
  13584. int __ovld atomic_fetch_max_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);
  13585. int __ovld atomic_fetch_max_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);
  13586. uint __ovld atomic_fetch_max_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);
  13587. uint __ovld atomic_fetch_max_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);
  13588. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13589. long __ovld atomic_fetch_add_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);
  13590. long __ovld atomic_fetch_add_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);
  13591. uintptr_t __ovld atomic_fetch_add_explicit(volatile __global atomic_uintptr_t *, ptrdiff_t, memory_order, memory_scope);
  13592. uintptr_t __ovld atomic_fetch_add_explicit(volatile __local atomic_uintptr_t *, ptrdiff_t, memory_order, memory_scope);
  13593. ulong __ovld atomic_fetch_add_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);
  13594. ulong __ovld atomic_fetch_add_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);
  13595. long __ovld atomic_fetch_sub_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);
  13596. long __ovld atomic_fetch_sub_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);
  13597. ulong __ovld atomic_fetch_sub_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);
  13598. ulong __ovld atomic_fetch_sub_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);
  13599. uintptr_t __ovld atomic_fetch_sub_explicit(volatile __global atomic_uintptr_t *, ptrdiff_t, memory_order, memory_scope);
  13600. uintptr_t __ovld atomic_fetch_sub_explicit(volatile __local atomic_uintptr_t *, ptrdiff_t, memory_order, memory_scope);
  13601. long __ovld atomic_fetch_or_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);
  13602. long __ovld atomic_fetch_or_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);
  13603. ulong __ovld atomic_fetch_or_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);
  13604. ulong __ovld atomic_fetch_or_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);
  13605. uintptr_t __ovld atomic_fetch_or_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order, memory_scope);
  13606. uintptr_t __ovld atomic_fetch_or_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order, memory_scope);
  13607. intptr_t __ovld atomic_fetch_or_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order, memory_scope);
  13608. intptr_t __ovld atomic_fetch_or_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order, memory_scope);
  13609. long __ovld atomic_fetch_xor_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);
  13610. long __ovld atomic_fetch_xor_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);
  13611. ulong __ovld atomic_fetch_xor_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);
  13612. ulong __ovld atomic_fetch_xor_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);
  13613. uintptr_t __ovld atomic_fetch_xor_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order, memory_scope);
  13614. uintptr_t __ovld atomic_fetch_xor_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order, memory_scope);
  13615. intptr_t __ovld atomic_fetch_xor_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order, memory_scope);
  13616. intptr_t __ovld atomic_fetch_xor_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order, memory_scope);
  13617. long __ovld atomic_fetch_and_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);
  13618. long __ovld atomic_fetch_and_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);
  13619. ulong __ovld atomic_fetch_and_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);
  13620. ulong __ovld atomic_fetch_and_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);
  13621. uintptr_t __ovld atomic_fetch_and_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order, memory_scope);
  13622. uintptr_t __ovld atomic_fetch_and_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order, memory_scope);
  13623. intptr_t __ovld atomic_fetch_and_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order, memory_scope);
  13624. intptr_t __ovld atomic_fetch_and_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order, memory_scope);
  13625. long __ovld atomic_fetch_min_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);
  13626. long __ovld atomic_fetch_min_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);
  13627. ulong __ovld atomic_fetch_min_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);
  13628. ulong __ovld atomic_fetch_min_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);
  13629. uintptr_t __ovld atomic_fetch_min_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order, memory_scope);
  13630. uintptr_t __ovld atomic_fetch_min_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order, memory_scope);
  13631. intptr_t __ovld atomic_fetch_min_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order, memory_scope);
  13632. intptr_t __ovld atomic_fetch_min_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order, memory_scope);
  13633. long __ovld atomic_fetch_max_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);
  13634. long __ovld atomic_fetch_max_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);
  13635. ulong __ovld atomic_fetch_max_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);
  13636. ulong __ovld atomic_fetch_max_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);
  13637. uintptr_t __ovld atomic_fetch_max_explicit(volatile __global atomic_uintptr_t *, uintptr_t, memory_order, memory_scope);
  13638. uintptr_t __ovld atomic_fetch_max_explicit(volatile __local atomic_uintptr_t *, uintptr_t, memory_order, memory_scope);
  13639. #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13640. #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  13641.  
  13642. // The functionality added by cl_ext_float_atomics extension
  13643. #if defined(cl_ext_float_atomics)
  13644.  
  13645. #if defined(__opencl_c_ext_fp16_global_atomic_load_store)
  13646. void __ovld atomic_store(volatile __global atomic_half *, half);
  13647. void __ovld atomic_store_explicit(volatile __global atomic_half *,
  13648.                                   half, memory_order);
  13649. void __ovld atomic_store_explicit(volatile __global atomic_half *,
  13650.                                   half, memory_order, memory_scope);
  13651. half __ovld atomic_load(volatile __global atomic_half *);
  13652. half __ovld atomic_load_explicit(volatile __global atomic_half *,
  13653.                                  memory_order);
  13654. half __ovld atomic_load_explicit(volatile __global atomic_half *,
  13655.                                  memory_order, memory_scope);
  13656. half __ovld atomic_exchange(volatile __global atomic_half *, half);
  13657. half __ovld atomic_exchange_explicit(volatile __global atomic_half *,
  13658.                                      half, memory_order);
  13659. half __ovld atomic_exchange_explicit(volatile __global atomic_half *,
  13660.                                      half, memory_order, memory_scope);
  13661. #endif // defined(__opencl_c_ext_fp16_global_atomic_load_store)
  13662.  
  13663. #if defined(__opencl_c_ext_fp16_local_atomic_load_store)
  13664. void __ovld atomic_store(volatile __local atomic_half *, half);
  13665. void __ovld atomic_store_explicit(volatile __local atomic_half *,
  13666.                                   half, memory_order);
  13667. void __ovld atomic_store_explicit(volatile __local atomic_half *,
  13668.                                   half, memory_order, memory_scope);
  13669. half __ovld atomic_load(volatile __local atomic_half *);
  13670. half __ovld atomic_load_explicit(volatile __local atomic_half *,
  13671.                                  memory_order);
  13672. half __ovld atomic_load_explicit(volatile __local atomic_half *,
  13673.                                  memory_order, memory_scope);
  13674. half __ovld atomic_exchange(volatile __local atomic_half *, half);
  13675. half __ovld atomic_exchange_explicit(volatile __local atomic_half *,
  13676.                                      half, memory_order);
  13677. half __ovld atomic_exchange_explicit(volatile __local atomic_half *,
  13678.                                      half, memory_order, memory_scope);
  13679. #endif // defined(__opencl_c_ext_fp16_local_atomic_load_store)
  13680.  
  13681. #if defined(__opencl_c_ext_fp16_global_atomic_load_store) &&                   \
  13682.     defined(__opencl_c_ext_fp16_local_atomic_load_store)
  13683. void __ovld atomic_store(volatile atomic_half *, half);
  13684. void __ovld atomic_store_explicit(volatile atomic_half *, half,
  13685.                                   memory_order);
  13686. void __ovld atomic_store_explicit(volatile atomic_half *, half,
  13687.                                   memory_order, memory_scope);
  13688. half __ovld atomic_load(volatile atomic_half *);
  13689. half __ovld atomic_load_explicit(volatile atomic_half *,
  13690.                                  memory_order);
  13691. half __ovld atomic_load_explicit(volatile atomic_half *,
  13692.                                  memory_order, memory_scope);
  13693. half __ovld atomic_exchange(volatile atomic_half *, half);
  13694. half __ovld atomic_exchange_explicit(volatile atomic_half *, half,
  13695.                                      memory_order);
  13696. half __ovld atomic_exchange_explicit(volatile atomic_half *, half,
  13697.                                      memory_order, memory_scope);
  13698. #endif // defined(__opencl_c_ext_fp16_global_atomic_load_store) &&
  13699.        // defined(__opencl_c_ext_fp16_local_atomic_load_store)
  13700.  
  13701. #if defined(__opencl_c_ext_fp16_global_atomic_min_max)
  13702. half __ovld atomic_fetch_min(volatile __global atomic_half *, half);
  13703. half __ovld atomic_fetch_max(volatile __global atomic_half *, half);
  13704. half __ovld atomic_fetch_min_explicit(volatile __global atomic_half *,
  13705.                                       half, memory_order);
  13706. half __ovld atomic_fetch_max_explicit(volatile __global atomic_half *,
  13707.                                       half, memory_order);
  13708. half __ovld atomic_fetch_min_explicit(volatile __global atomic_half *,
  13709.                                       half, memory_order, memory_scope);
  13710. half __ovld atomic_fetch_max_explicit(volatile __global atomic_half *,
  13711.                                       half, memory_order, memory_scope);
  13712. #endif // defined(__opencl_c_ext_fp16_global_atomic_min_max)
  13713.  
  13714. #if defined(__opencl_c_ext_fp16_local_atomic_min_max)
  13715. half __ovld atomic_fetch_min(volatile __local atomic_half *, half);
  13716. half __ovld atomic_fetch_max(volatile __local atomic_half *, half);
  13717. half __ovld atomic_fetch_min_explicit(volatile __local atomic_half *,
  13718.                                       half, memory_order);
  13719. half __ovld atomic_fetch_max_explicit(volatile __local atomic_half *,
  13720.                                       half, memory_order);
  13721. half __ovld atomic_fetch_min_explicit(volatile __local atomic_half *,
  13722.                                       half, memory_order, memory_scope);
  13723. half __ovld atomic_fetch_max_explicit(volatile __local atomic_half *,
  13724.                                       half, memory_order, memory_scope);
  13725. #endif // defined(__opencl_c_ext_fp16_local_atomic_min_max)
  13726.  
  13727. #if defined(__opencl_c_ext_fp16_global_atomic_min_max) &&                      \
  13728.     defined(__opencl_c_ext_fp16_local_atomic_min_max)
  13729. half __ovld atomic_fetch_min(volatile atomic_half *, half);
  13730. half __ovld atomic_fetch_max(volatile atomic_half *, half);
  13731. half __ovld atomic_fetch_min_explicit(volatile atomic_half *,
  13732.                                       half, memory_order);
  13733. half __ovld atomic_fetch_max_explicit(volatile atomic_half *,
  13734.                                       half, memory_order);
  13735. half __ovld atomic_fetch_min_explicit(volatile atomic_half *,
  13736.                                       half, memory_order, memory_scope);
  13737. half __ovld atomic_fetch_max_explicit(volatile atomic_half *,
  13738.                                       half, memory_order, memory_scope);
  13739. #endif // defined(__opencl_c_ext_fp16_global_atomic_min_max) &&                \
  13740.     defined(__opencl_c_ext_fp16_local_atomic_min_max)
  13741.  
  13742. #if defined(__opencl_c_ext_fp32_global_atomic_min_max)
  13743. float __ovld atomic_fetch_min(volatile __global atomic_float *, float);
  13744. float __ovld atomic_fetch_max(volatile __global atomic_float *, float);
  13745. float __ovld atomic_fetch_min_explicit(volatile __global atomic_float *,
  13746.                                        float, memory_order);
  13747. float __ovld atomic_fetch_max_explicit(volatile __global atomic_float *,
  13748.                                        float, memory_order);
  13749. float __ovld atomic_fetch_min_explicit(volatile __global atomic_float *,
  13750.                                        float, memory_order, memory_scope);
  13751. float __ovld atomic_fetch_max_explicit(volatile __global atomic_float *,
  13752.                                        float, memory_order, memory_scope);
  13753. #endif // defined(__opencl_c_ext_fp32_global_atomic_min_max)
  13754.  
  13755. #if defined(__opencl_c_ext_fp32_local_atomic_min_max)
  13756. float __ovld atomic_fetch_min(volatile __local atomic_float *, float);
  13757. float __ovld atomic_fetch_max(volatile __local atomic_float *, float);
  13758. float __ovld atomic_fetch_min_explicit(volatile __local atomic_float *,
  13759.                                        float, memory_order);
  13760. float __ovld atomic_fetch_max_explicit(volatile __local atomic_float *,
  13761.                                        float, memory_order);
  13762. float __ovld atomic_fetch_min_explicit(volatile __local atomic_float *,
  13763.                                        float, memory_order, memory_scope);
  13764. float __ovld atomic_fetch_max_explicit(volatile __local atomic_float *,
  13765.                                        float, memory_order, memory_scope);
  13766. #endif // defined(__opencl_c_ext_fp32_local_atomic_min_max)
  13767.  
  13768. #if defined(__opencl_c_ext_fp32_global_atomic_min_max) &&                      \
  13769.     defined(__opencl_c_ext_fp32_local_atomic_min_max)
  13770. float __ovld atomic_fetch_min(volatile atomic_float *, float);
  13771. float __ovld atomic_fetch_max(volatile atomic_float *, float);
  13772. float __ovld atomic_fetch_min_explicit(volatile atomic_float *,
  13773.                                        float, memory_order);
  13774. float __ovld atomic_fetch_max_explicit(volatile atomic_float *,
  13775.                                        float, memory_order);
  13776. float __ovld atomic_fetch_min_explicit(volatile atomic_float *,
  13777.                                        float, memory_order, memory_scope);
  13778. float __ovld atomic_fetch_max_explicit(volatile atomic_float *,
  13779.                                        float, memory_order, memory_scope);
  13780. #endif // defined(__opencl_c_ext_fp32_global_atomic_min_max) &&                \
  13781.     defined(__opencl_c_ext_fp32_local_atomic_min_max)
  13782.  
  13783. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13784. #if defined(__opencl_c_ext_fp64_global_atomic_min_max)
  13785. double __ovld atomic_fetch_min(volatile __global atomic_double *, double);
  13786. double __ovld atomic_fetch_max(volatile __global atomic_double *, double);
  13787. double __ovld atomic_fetch_min_explicit(volatile __global atomic_double *,
  13788.                                         double, memory_order);
  13789. double __ovld atomic_fetch_max_explicit(volatile __global atomic_double *,
  13790.                                         double, memory_order);
  13791. double __ovld atomic_fetch_min_explicit(volatile __global atomic_double *,
  13792.                                         double, memory_order, memory_scope);
  13793. double __ovld atomic_fetch_max_explicit(volatile __global atomic_double *,
  13794.                                         double, memory_order, memory_scope);
  13795. #endif // defined(__opencl_c_ext_fp64_global_atomic_min_max)
  13796.  
  13797. #if defined(__opencl_c_ext_fp64_local_atomic_min_max)
  13798. double __ovld atomic_fetch_min(volatile __local atomic_double *, double);
  13799. double __ovld atomic_fetch_max(volatile __local atomic_double *, double);
  13800. double __ovld atomic_fetch_min_explicit(volatile __local atomic_double *,
  13801.                                         double, memory_order);
  13802. double __ovld atomic_fetch_max_explicit(volatile __local atomic_double *,
  13803.                                         double, memory_order);
  13804. double __ovld atomic_fetch_min_explicit(volatile __local atomic_double *,
  13805.                                         double, memory_order, memory_scope);
  13806. double __ovld atomic_fetch_max_explicit(volatile __local atomic_double *,
  13807.                                         double, memory_order, memory_scope);
  13808. #endif // defined(__opencl_c_ext_fp64_local_atomic_min_max)
  13809.  
  13810. #if defined(__opencl_c_ext_fp64_global_atomic_min_max) &&                      \
  13811.     defined(__opencl_c_ext_fp64_local_atomic_min_max)
  13812. double __ovld atomic_fetch_min(volatile atomic_double *, double);
  13813. double __ovld atomic_fetch_max(volatile atomic_double *, double);
  13814. double __ovld atomic_fetch_min_explicit(volatile atomic_double *,
  13815.                                         double, memory_order);
  13816. double __ovld atomic_fetch_max_explicit(volatile atomic_double *,
  13817.                                         double, memory_order);
  13818. double __ovld atomic_fetch_min_explicit(volatile atomic_double *,
  13819.                                         double, memory_order, memory_scope);
  13820. double __ovld atomic_fetch_max_explicit(volatile atomic_double *,
  13821.                                         double, memory_order, memory_scope);
  13822. #endif // defined(__opencl_c_ext_fp64_global_atomic_min_max) &&                \
  13823.     defined(__opencl_c_ext_fp64_local_atomic_min_max)
  13824. #endif // defined(cl_khr_int64_base_atomics) &&                                \
  13825.     defined(cl_khr_int64_extended_atomics)
  13826.  
  13827. #if defined(__opencl_c_ext_fp16_global_atomic_add)
  13828. half __ovld atomic_fetch_add(volatile __global atomic_half *, half);
  13829. half __ovld atomic_fetch_sub(volatile __global atomic_half *, half);
  13830. half __ovld atomic_fetch_add_explicit(volatile __global atomic_half *,
  13831.                                       half, memory_order);
  13832. half __ovld atomic_fetch_sub_explicit(volatile __global atomic_half *,
  13833.                                       half, memory_order);
  13834. half __ovld atomic_fetch_add_explicit(volatile __global atomic_half *,
  13835.                                       half, memory_order, memory_scope);
  13836. half __ovld atomic_fetch_sub_explicit(volatile __global atomic_half *,
  13837.                                       half, memory_order, memory_scope);
  13838. #endif // defined(__opencl_c_ext_fp16_global_atomic_add)
  13839.  
  13840. #if defined(__opencl_c_ext_fp16_local_atomic_add)
  13841. half __ovld atomic_fetch_add(volatile __local atomic_half *, half);
  13842. half __ovld atomic_fetch_sub(volatile __local atomic_half *, half);
  13843. half __ovld atomic_fetch_add_explicit(volatile __local atomic_half *,
  13844.                                       half, memory_order);
  13845. half __ovld atomic_fetch_sub_explicit(volatile __local atomic_half *,
  13846.                                       half, memory_order);
  13847. half __ovld atomic_fetch_add_explicit(volatile __local atomic_half *,
  13848.                                       half, memory_order, memory_scope);
  13849. half __ovld atomic_fetch_sub_explicit(volatile __local atomic_half *,
  13850.                                       half, memory_order, memory_scope);
  13851. #endif // defined(__opencl_c_ext_fp16_local_atomic_add)
  13852.  
  13853. #if defined(__opencl_c_ext_fp16_global_atomic_add) &&                          \
  13854.     defined(__opencl_c_ext_fp16_local_atomic_add)
  13855. half __ovld atomic_fetch_add(volatile atomic_half *, half);
  13856. half __ovld atomic_fetch_sub(volatile atomic_half *, half);
  13857. half __ovld atomic_fetch_add_explicit(volatile atomic_half *,
  13858.                                       half, memory_order);
  13859. half __ovld atomic_fetch_sub_explicit(volatile atomic_half *,
  13860.                                       half, memory_order);
  13861. half __ovld atomic_fetch_add_explicit(volatile atomic_half *,
  13862.                                       half, memory_order, memory_scope);
  13863. half __ovld atomic_fetch_sub_explicit(volatile atomic_half *,
  13864.                                       half, memory_order, memory_scope);
  13865. #endif // defined(__opencl_c_ext_fp16_global_atomic_add) &&                    \
  13866.     defined(__opencl_c_ext_fp16_local_atomic_add)
  13867.  
  13868. #if defined(__opencl_c_ext_fp32_global_atomic_add)
  13869. float __ovld atomic_fetch_add(volatile __global atomic_float *, float);
  13870. float __ovld atomic_fetch_sub(volatile __global atomic_float *, float);
  13871. float __ovld atomic_fetch_add_explicit(volatile __global atomic_float *,
  13872.                                        float, memory_order);
  13873. float __ovld atomic_fetch_sub_explicit(volatile __global atomic_float *,
  13874.                                        float, memory_order);
  13875. float __ovld atomic_fetch_add_explicit(volatile __global atomic_float *,
  13876.                                        float, memory_order, memory_scope);
  13877. float __ovld atomic_fetch_sub_explicit(volatile __global atomic_float *,
  13878.                                        float, memory_order, memory_scope);
  13879. #endif // defined(__opencl_c_ext_fp32_global_atomic_add)
  13880.  
  13881. #if defined(__opencl_c_ext_fp32_local_atomic_add)
  13882. float __ovld atomic_fetch_add(volatile __local atomic_float *, float);
  13883. float __ovld atomic_fetch_sub(volatile __local atomic_float *, float);
  13884. float __ovld atomic_fetch_add_explicit(volatile __local atomic_float *,
  13885.                                        float, memory_order);
  13886. float __ovld atomic_fetch_sub_explicit(volatile __local atomic_float *,
  13887.                                        float, memory_order);
  13888. float __ovld atomic_fetch_add_explicit(volatile __local atomic_float *,
  13889.                                        float, memory_order, memory_scope);
  13890. float __ovld atomic_fetch_sub_explicit(volatile __local atomic_float *,
  13891.                                        float, memory_order, memory_scope);
  13892. #endif // defined(__opencl_c_ext_fp32_local_atomic_add)
  13893.  
  13894. #if defined(__opencl_c_ext_fp32_global_atomic_add) &&                          \
  13895.     defined(__opencl_c_ext_fp32_local_atomic_add)
  13896. float __ovld atomic_fetch_add(volatile atomic_float *, float);
  13897. float __ovld atomic_fetch_sub(volatile atomic_float *, float);
  13898. float __ovld atomic_fetch_add_explicit(volatile atomic_float *,
  13899.                                        float, memory_order);
  13900. float __ovld atomic_fetch_sub_explicit(volatile atomic_float *,
  13901.                                        float, memory_order);
  13902. float __ovld atomic_fetch_add_explicit(volatile atomic_float *,
  13903.                                        float, memory_order, memory_scope);
  13904. float __ovld atomic_fetch_sub_explicit(volatile atomic_float *,
  13905.                                        float, memory_order, memory_scope);
  13906. #endif // defined(__opencl_c_ext_fp32_global_atomic_add) &&                    \
  13907.     defined(__opencl_c_ext_fp32_local_atomic_add)
  13908.  
  13909. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13910. #if defined(__opencl_c_ext_fp64_global_atomic_add)
  13911. double __ovld atomic_fetch_add(volatile __global atomic_double *, double);
  13912. double __ovld atomic_fetch_sub(volatile __global atomic_double *, double);
  13913. double __ovld atomic_fetch_add_explicit(volatile __global atomic_double *,
  13914.                                         double, memory_order);
  13915. double __ovld atomic_fetch_sub_explicit(volatile __global atomic_double *,
  13916.                                         double, memory_order);
  13917. double __ovld atomic_fetch_add_explicit(volatile __global atomic_double *,
  13918.                                         double, memory_order, memory_scope);
  13919. double __ovld atomic_fetch_sub_explicit(volatile __global atomic_double *,
  13920.                                         double, memory_order, memory_scope);
  13921. #endif // defined(__opencl_c_ext_fp64_global_atomic_add)
  13922.  
  13923. #if defined(__opencl_c_ext_fp64_local_atomic_add)
  13924. double __ovld atomic_fetch_add(volatile __local atomic_double *, double);
  13925. double __ovld atomic_fetch_sub(volatile __local atomic_double *, double);
  13926. double __ovld atomic_fetch_add_explicit(volatile __local atomic_double *,
  13927.                                         double, memory_order);
  13928. double __ovld atomic_fetch_sub_explicit(volatile __local atomic_double *,
  13929.                                         double, memory_order);
  13930. double __ovld atomic_fetch_add_explicit(volatile __local atomic_double *,
  13931.                                         double, memory_order, memory_scope);
  13932. double __ovld atomic_fetch_sub_explicit(volatile __local atomic_double *,
  13933.                                         double, memory_order, memory_scope);
  13934. #endif // defined(__opencl_c_ext_fp64_local_atomic_add)
  13935.  
  13936. #if defined(__opencl_c_ext_fp64_global_atomic_add) &&                          \
  13937.     defined(__opencl_c_ext_fp64_local_atomic_add)
  13938. double __ovld atomic_fetch_add(volatile atomic_double *, double);
  13939. double __ovld atomic_fetch_sub(volatile atomic_double *, double);
  13940. double __ovld atomic_fetch_add_explicit(volatile atomic_double *,
  13941.                                         double, memory_order);
  13942. double __ovld atomic_fetch_sub_explicit(volatile atomic_double *,
  13943.                                         double, memory_order);
  13944. double __ovld atomic_fetch_add_explicit(volatile atomic_double *,
  13945.                                         double, memory_order, memory_scope);
  13946. double __ovld atomic_fetch_sub_explicit(volatile atomic_double *,
  13947.                                         double, memory_order, memory_scope);
  13948. #endif // defined(__opencl_c_ext_fp64_global_atomic_add) &&                    \
  13949.     defined(__opencl_c_ext_fp64_local_atomic_add)
  13950. #endif // defined(cl_khr_int64_base_atomics) &&                                \
  13951.     defined(cl_khr_int64_extended_atomics)
  13952.  
  13953. #endif // cl_ext_float_atomics
  13954.  
  13955. // atomic_store()
  13956.  
  13957. #if defined(__opencl_c_atomic_order_seq_cst) && defined(__opencl_c_atomic_scope_device)
  13958. #if defined(__opencl_c_generic_address_space)
  13959. void __ovld atomic_store(volatile atomic_int *, int);
  13960. void __ovld atomic_store(volatile atomic_uint *, uint);
  13961. void __ovld atomic_store(volatile atomic_float *, float);
  13962.  
  13963. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13964. #ifdef cl_khr_fp64
  13965. void __ovld atomic_store(volatile atomic_double *, double);
  13966. #endif //cl_khr_fp64
  13967. void __ovld atomic_store(volatile atomic_long *, long);
  13968. void __ovld atomic_store(volatile atomic_ulong *, ulong);
  13969. #endif
  13970. #endif //defined(__opencl_c_generic_address_space)
  13971. #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  13972. void __ovld atomic_store(volatile __global atomic_int *, int);
  13973. void __ovld atomic_store(volatile __local atomic_int *, int);
  13974. void __ovld atomic_store(volatile __global atomic_uint *, uint);
  13975. void __ovld atomic_store(volatile __local atomic_uint *, uint);
  13976. void __ovld atomic_store(volatile __global atomic_float *, float);
  13977. void __ovld atomic_store(volatile __local atomic_float *, float);
  13978. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13979. #ifdef cl_khr_fp64
  13980. void __ovld atomic_store(volatile __global atomic_double *, double);
  13981. void __ovld atomic_store(volatile __local atomic_double *, double);
  13982. #endif //cl_khr_fp64
  13983. void __ovld atomic_store(volatile __global atomic_long *, long);
  13984. void __ovld atomic_store(volatile __local atomic_long *, long);
  13985. void __ovld atomic_store(volatile __global atomic_ulong *, ulong);
  13986. void __ovld atomic_store(volatile __local atomic_ulong *, ulong);
  13987. #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13988. #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  13989. #endif
  13990.  
  13991. #if defined(__opencl_c_atomic_scope_device)
  13992. #if defined(__opencl_c_generic_address_space)
  13993. void __ovld atomic_store_explicit(volatile atomic_int *, int, memory_order);
  13994. void __ovld atomic_store_explicit(volatile atomic_uint *, uint, memory_order);
  13995. void __ovld atomic_store_explicit(volatile atomic_float *, float, memory_order);
  13996. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  13997. #ifdef cl_khr_fp64
  13998. void __ovld atomic_store_explicit(volatile atomic_double *, double, memory_order);
  13999. #endif //cl_khr_fp64
  14000. void __ovld atomic_store_explicit(volatile atomic_long *, long, memory_order);
  14001. void __ovld atomic_store_explicit(volatile atomic_ulong *, ulong, memory_order);
  14002. #endif
  14003. #endif //defined(__opencl_c_generic_address_space)
  14004. #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14005. void __ovld atomic_store_explicit(volatile __global atomic_int *, int, memory_order);
  14006. void __ovld atomic_store_explicit(volatile __local atomic_int *, int, memory_order);
  14007. void __ovld atomic_store_explicit(volatile __global atomic_uint *, uint, memory_order);
  14008. void __ovld atomic_store_explicit(volatile __local atomic_uint *, uint, memory_order);
  14009. void __ovld atomic_store_explicit(volatile __global atomic_float *, float, memory_order);
  14010. void __ovld atomic_store_explicit(volatile __local atomic_float *, float, memory_order);
  14011. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14012. #ifdef cl_khr_fp64
  14013. void __ovld atomic_store_explicit(volatile __global atomic_double *, double, memory_order);
  14014. void __ovld atomic_store_explicit(volatile __local atomic_double *, double, memory_order);
  14015. #endif
  14016. void __ovld atomic_store_explicit(volatile __global atomic_long *, long, memory_order);
  14017. void __ovld atomic_store_explicit(volatile __local atomic_long *, long, memory_order);
  14018. void __ovld atomic_store_explicit(volatile __global atomic_ulong *, ulong, memory_order);
  14019. void __ovld atomic_store_explicit(volatile __local atomic_ulong *, ulong, memory_order);
  14020. #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14021. #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14022. #endif
  14023.  
  14024. #if defined(__opencl_c_generic_address_space)
  14025. void __ovld atomic_store_explicit(volatile atomic_int *, int, memory_order, memory_scope);
  14026. void __ovld atomic_store_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);
  14027. void __ovld atomic_store_explicit(volatile atomic_float *, float, memory_order, memory_scope);
  14028. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14029. #ifdef cl_khr_fp64
  14030. void __ovld atomic_store_explicit(volatile atomic_double *, double, memory_order, memory_scope);
  14031. #endif //cl_khr_fp64
  14032. void __ovld atomic_store_explicit(volatile atomic_long *, long, memory_order, memory_scope);
  14033. void __ovld atomic_store_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);
  14034. #endif
  14035. #endif //defined(__opencl_c_generic_address_space)
  14036. #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14037. void __ovld atomic_store_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);
  14038. void __ovld atomic_store_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);
  14039. void __ovld atomic_store_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);
  14040. void __ovld atomic_store_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);
  14041. void __ovld atomic_store_explicit(volatile __global atomic_float *, float, memory_order, memory_scope);
  14042. void __ovld atomic_store_explicit(volatile __local atomic_float *, float, memory_order, memory_scope);
  14043. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14044. #ifdef cl_khr_fp64
  14045. void __ovld atomic_store_explicit(volatile __global atomic_double *, double, memory_order, memory_scope);
  14046. void __ovld atomic_store_explicit(volatile __local atomic_double *, double, memory_order, memory_scope);
  14047. #endif //cl_khr_fp64
  14048. void __ovld atomic_store_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);
  14049. void __ovld atomic_store_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);
  14050. void __ovld atomic_store_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);
  14051. void __ovld atomic_store_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);
  14052. #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14053. #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14054.  
  14055. // atomic_load()
  14056. #if defined(__opencl_c_atomic_order_seq_cst) && defined(__opencl_c_atomic_scope_device)
  14057. #if defined(__opencl_c_generic_address_space)
  14058. int __ovld atomic_load(volatile atomic_int *);
  14059. uint __ovld atomic_load(volatile atomic_uint *);
  14060. float __ovld atomic_load(volatile atomic_float *);
  14061. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14062. #ifdef cl_khr_fp64
  14063. double __ovld atomic_load(volatile atomic_double *);
  14064. #endif //cl_khr_fp64
  14065. long __ovld atomic_load(volatile atomic_long *);
  14066. ulong __ovld atomic_load(volatile atomic_ulong *);
  14067. #endif
  14068. #endif //defined(__opencl_c_generic_address_space)
  14069. #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14070. int __ovld atomic_load(volatile __global atomic_int *);
  14071. int __ovld atomic_load(volatile __local atomic_int *);
  14072. uint __ovld atomic_load(volatile __global atomic_uint *);
  14073. uint __ovld atomic_load(volatile __local atomic_uint *);
  14074. float __ovld atomic_load(volatile __global atomic_float *);
  14075. float __ovld atomic_load(volatile __local atomic_float *);
  14076. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14077. #ifdef cl_khr_fp64
  14078. double __ovld atomic_load(volatile __global atomic_double *);
  14079. double __ovld atomic_load(volatile __local atomic_double *);
  14080. #endif //cl_khr_fp64
  14081. long __ovld atomic_load(volatile __global atomic_long *);
  14082. long __ovld atomic_load(volatile __local atomic_long *);
  14083. ulong __ovld atomic_load(volatile __global atomic_ulong *);
  14084. ulong __ovld atomic_load(volatile __local atomic_ulong *);
  14085. #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14086. #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14087. #endif
  14088.  
  14089. #if defined(__opencl_c_atomic_scope_device)
  14090. #if defined(__opencl_c_generic_address_space)
  14091. int __ovld atomic_load_explicit(volatile atomic_int *, memory_order);
  14092. uint __ovld atomic_load_explicit(volatile atomic_uint *, memory_order);
  14093. float __ovld atomic_load_explicit(volatile atomic_float *, memory_order);
  14094. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14095. #ifdef cl_khr_fp64
  14096. double __ovld atomic_load_explicit(volatile atomic_double *, memory_order);
  14097. #endif //cl_khr_fp64
  14098. long __ovld atomic_load_explicit(volatile atomic_long *, memory_order);
  14099. ulong __ovld atomic_load_explicit(volatile atomic_ulong *, memory_order);
  14100. #endif
  14101. #endif //defined(__opencl_c_generic_address_space)
  14102. #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14103. int __ovld atomic_load_explicit(volatile __global atomic_int *, memory_order);
  14104. int __ovld atomic_load_explicit(volatile __local atomic_int *, memory_order);
  14105. uint __ovld atomic_load_explicit(volatile __global atomic_uint *, memory_order);
  14106. uint __ovld atomic_load_explicit(volatile __local atomic_uint *, memory_order);
  14107. float __ovld atomic_load_explicit(volatile __global atomic_float *, memory_order);
  14108. float __ovld atomic_load_explicit(volatile __local atomic_float *, memory_order);
  14109. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14110. #ifdef cl_khr_fp64
  14111. double __ovld atomic_load_explicit(volatile __global atomic_double *, memory_order);
  14112. double __ovld atomic_load_explicit(volatile __local atomic_double *, memory_order);
  14113. #endif //cl_khr_fp64
  14114. long __ovld atomic_load_explicit(volatile __global atomic_long *, memory_order);
  14115. long __ovld atomic_load_explicit(volatile __local atomic_long *, memory_order);
  14116. ulong __ovld atomic_load_explicit(volatile __global atomic_ulong *, memory_order);
  14117. ulong __ovld atomic_load_explicit(volatile __local atomic_ulong *, memory_order);
  14118. #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14119. #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14120. #endif
  14121.  
  14122. #if defined(__opencl_c_generic_address_space)
  14123. int __ovld atomic_load_explicit(volatile atomic_int *, memory_order, memory_scope);
  14124. uint __ovld atomic_load_explicit(volatile atomic_uint *, memory_order, memory_scope);
  14125. float __ovld atomic_load_explicit(volatile atomic_float *, memory_order, memory_scope);
  14126. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14127. #ifdef cl_khr_fp64
  14128. double __ovld atomic_load_explicit(volatile atomic_double *, memory_order, memory_scope);
  14129. #endif //cl_khr_fp64
  14130. long __ovld atomic_load_explicit(volatile atomic_long *, memory_order, memory_scope);
  14131. ulong __ovld atomic_load_explicit(volatile atomic_ulong *, memory_order, memory_scope);
  14132. #endif
  14133. #endif //defined(__opencl_c_generic_address_space)
  14134. #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14135. int __ovld atomic_load_explicit(volatile __global atomic_int *, memory_order, memory_scope);
  14136. int __ovld atomic_load_explicit(volatile __local atomic_int *, memory_order, memory_scope);
  14137. uint __ovld atomic_load_explicit(volatile __global atomic_uint *, memory_order, memory_scope);
  14138. uint __ovld atomic_load_explicit(volatile __local atomic_uint *, memory_order, memory_scope);
  14139. float __ovld atomic_load_explicit(volatile __global atomic_float *, memory_order, memory_scope);
  14140. float __ovld atomic_load_explicit(volatile __local atomic_float *, memory_order, memory_scope);
  14141. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14142. #ifdef cl_khr_fp64
  14143. double __ovld atomic_load_explicit(volatile __global atomic_double *, memory_order, memory_scope);
  14144. double __ovld atomic_load_explicit(volatile __local atomic_double *, memory_order, memory_scope);
  14145. #endif
  14146. long __ovld atomic_load_explicit(volatile __global atomic_long *, memory_order, memory_scope);
  14147. long __ovld atomic_load_explicit(volatile __local atomic_long *, memory_order, memory_scope);
  14148. ulong __ovld atomic_load_explicit(volatile __global atomic_ulong *, memory_order, memory_scope);
  14149. ulong __ovld atomic_load_explicit(volatile __local atomic_ulong *, memory_order, memory_scope);
  14150. #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14151. #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14152.  
  14153. // atomic_exchange()
  14154.  
  14155. #if defined(__opencl_c_atomic_order_seq_cst) && defined(__opencl_c_atomic_scope_device)
  14156. #if defined(__opencl_c_generic_address_space)
  14157. int __ovld atomic_exchange(volatile atomic_int *, int);
  14158. uint __ovld atomic_exchange(volatile atomic_uint *, uint);
  14159. float __ovld atomic_exchange(volatile atomic_float *, float);
  14160. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14161. #ifdef cl_khr_fp64
  14162. double __ovld atomic_exchange(volatile atomic_double *, double);
  14163. #endif //cl_khr_fp64
  14164. long __ovld atomic_exchange(volatile atomic_long *, long);
  14165. ulong __ovld atomic_exchange(volatile atomic_ulong *, ulong);
  14166. #endif
  14167. #endif //defined(__opencl_c_generic_address_space)
  14168. #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14169. int __ovld atomic_exchange(volatile __global atomic_int *, int);
  14170. int __ovld atomic_exchange(volatile __local atomic_int *, int);
  14171. uint __ovld atomic_exchange(volatile __global atomic_uint *, uint);
  14172. uint __ovld atomic_exchange(volatile __local atomic_uint *, uint);
  14173. float __ovld atomic_exchange(volatile __global atomic_float *, float);
  14174. float __ovld atomic_exchange(volatile __local atomic_float *, float);
  14175. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14176. #ifdef cl_khr_fp64
  14177. double __ovld atomic_exchange(volatile __global atomic_double *, double);
  14178. double __ovld atomic_exchange(volatile __local atomic_double *, double);
  14179. #endif //cl_khr_fp64
  14180. long __ovld atomic_exchange(volatile __global atomic_long *, long);
  14181. long __ovld atomic_exchange(volatile __local atomic_long *, long);
  14182. ulong __ovld atomic_exchange(volatile __global atomic_ulong *, ulong);
  14183. ulong __ovld atomic_exchange(volatile __local atomic_ulong *, ulong);
  14184. #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14185. #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14186. #endif
  14187.  
  14188. #if defined(__opencl_c_atomic_scope_device)
  14189. #if defined(__opencl_c_generic_address_space)
  14190. int __ovld atomic_exchange_explicit(volatile atomic_int *, int, memory_order);
  14191. uint __ovld atomic_exchange_explicit(volatile atomic_uint *, uint, memory_order);
  14192. float __ovld atomic_exchange_explicit(volatile atomic_float *, float, memory_order);
  14193. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14194. #ifdef cl_khr_fp64
  14195. double __ovld atomic_exchange_explicit(volatile atomic_double *, double, memory_order);
  14196. #endif //cl_khr_fp64
  14197. long __ovld atomic_exchange_explicit(volatile atomic_long *, long, memory_order);
  14198. ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *, ulong, memory_order);
  14199. #endif
  14200. #endif //defined(__opencl_c_generic_address_space)
  14201. #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14202. int __ovld atomic_exchange_explicit(volatile __global atomic_int *, int, memory_order);
  14203. int __ovld atomic_exchange_explicit(volatile __local atomic_int *, int, memory_order);
  14204. uint __ovld atomic_exchange_explicit(volatile __global atomic_uint *, uint, memory_order);
  14205. uint __ovld atomic_exchange_explicit(volatile __local atomic_uint *, uint, memory_order);
  14206. float __ovld atomic_exchange_explicit(volatile __global atomic_float *, float, memory_order);
  14207. float __ovld atomic_exchange_explicit(volatile __local atomic_float *, float, memory_order);
  14208. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14209. #ifdef cl_khr_fp64
  14210. double __ovld atomic_exchange_explicit(volatile __global atomic_double *, double, memory_order);
  14211. double __ovld atomic_exchange_explicit(volatile __local atomic_double *, double, memory_order);
  14212. #endif //cl_khr_fp64
  14213. long __ovld atomic_exchange_explicit(volatile __global atomic_long *, long, memory_order);
  14214. long __ovld atomic_exchange_explicit(volatile __local atomic_long *, long, memory_order);
  14215. ulong __ovld atomic_exchange_explicit(volatile __global atomic_ulong *, ulong, memory_order);
  14216. ulong __ovld atomic_exchange_explicit(volatile __local atomic_ulong *, ulong, memory_order);
  14217. #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)wi
  14218. #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14219. #endif
  14220.  
  14221. #if defined(__opencl_c_generic_address_space)
  14222. int __ovld atomic_exchange_explicit(volatile atomic_int *, int, memory_order, memory_scope);
  14223. uint __ovld atomic_exchange_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);
  14224. float __ovld atomic_exchange_explicit(volatile atomic_float *, float, memory_order, memory_scope);
  14225. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14226. #ifdef cl_khr_fp64
  14227. double __ovld atomic_exchange_explicit(volatile atomic_double *, double, memory_order, memory_scope);
  14228. #endif //cl_khr_fp64
  14229. long __ovld atomic_exchange_explicit(volatile atomic_long *, long, memory_order, memory_scope);
  14230. ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);
  14231. #endif
  14232. #endif //defined(__opencl_c_generic_address_space)
  14233. #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14234. int __ovld atomic_exchange_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);
  14235. int __ovld atomic_exchange_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);
  14236. uint __ovld atomic_exchange_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);
  14237. uint __ovld atomic_exchange_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);
  14238. float __ovld atomic_exchange_explicit(volatile __global atomic_float *, float, memory_order, memory_scope);
  14239. float __ovld atomic_exchange_explicit(volatile __local atomic_float *, float, memory_order, memory_scope);
  14240. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14241. #ifdef cl_khr_fp64
  14242. double __ovld atomic_exchange_explicit(volatile __global atomic_double *, double, memory_order, memory_scope);
  14243. double __ovld atomic_exchange_explicit(volatile __local atomic_double *, double, memory_order, memory_scope);
  14244. #endif //cl_khr_fp64
  14245. long __ovld atomic_exchange_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);
  14246. long __ovld atomic_exchange_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);
  14247. ulong __ovld atomic_exchange_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);
  14248. ulong __ovld atomic_exchange_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);
  14249. #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14250. #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14251.  
  14252. // atomic_compare_exchange_strong() and atomic_compare_exchange_weak()
  14253. #if defined(__opencl_c_atomic_order_seq_cst) && defined(__opencl_c_atomic_scope_device)
  14254. #if defined(__opencl_c_generic_address_space)
  14255. bool __ovld atomic_compare_exchange_strong(volatile atomic_int *, int *, int);
  14256. bool __ovld atomic_compare_exchange_strong(volatile atomic_uint *, uint *, uint);
  14257. bool __ovld atomic_compare_exchange_weak(volatile atomic_int *, int *, int);
  14258. bool __ovld atomic_compare_exchange_weak(volatile atomic_uint *, uint *, uint);
  14259. bool __ovld atomic_compare_exchange_strong(volatile atomic_float *, float *, float);
  14260. bool __ovld atomic_compare_exchange_weak(volatile atomic_float *, float *, float);
  14261. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14262. #ifdef cl_khr_fp64
  14263. bool __ovld atomic_compare_exchange_strong(volatile atomic_double *, double *, double);
  14264. bool __ovld atomic_compare_exchange_weak(volatile atomic_double *, double *, double);
  14265. #endif //cl_khr_fp64
  14266. bool __ovld atomic_compare_exchange_strong(volatile atomic_long *, long *, long);
  14267. bool __ovld atomic_compare_exchange_weak(volatile atomic_long *, long *, long);
  14268. bool __ovld atomic_compare_exchange_strong(volatile atomic_ulong *, ulong *, ulong);
  14269. bool __ovld atomic_compare_exchange_weak(volatile atomic_ulong *, ulong *, ulong);
  14270. #endif
  14271. #endif //defined(__opencl_c_generic_address_space)
  14272. #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14273. bool __ovld atomic_compare_exchange_strong(volatile __global atomic_int *, __global int *, int);
  14274. bool __ovld atomic_compare_exchange_strong(volatile __global atomic_int *, __local int *, int);
  14275. bool __ovld atomic_compare_exchange_strong(volatile __global atomic_int *, __private int *, int);
  14276. bool __ovld atomic_compare_exchange_strong(volatile __local atomic_int *, __global int *, int);
  14277. bool __ovld atomic_compare_exchange_strong(volatile __local atomic_int *, __local int *, int);
  14278. bool __ovld atomic_compare_exchange_strong(volatile __local atomic_int *, __private int *, int);
  14279. bool __ovld atomic_compare_exchange_strong(volatile __global atomic_uint *, __global uint *, uint);
  14280. bool __ovld atomic_compare_exchange_strong(volatile __global atomic_uint *, __local uint *, uint);
  14281. bool __ovld atomic_compare_exchange_strong(volatile __global atomic_uint *, __private uint *, uint);
  14282. bool __ovld atomic_compare_exchange_strong(volatile __local atomic_uint *, __global uint *, uint);
  14283. bool __ovld atomic_compare_exchange_strong(volatile __local atomic_uint *, __local uint *, uint);
  14284. bool __ovld atomic_compare_exchange_strong(volatile __local atomic_uint *, __private uint *, uint);
  14285. bool __ovld atomic_compare_exchange_strong(volatile __global atomic_float *, __global float *, float);
  14286. bool __ovld atomic_compare_exchange_strong(volatile __global atomic_float *, __local float *, float);
  14287. bool __ovld atomic_compare_exchange_strong(volatile __global atomic_float *, __private float *, float);
  14288. bool __ovld atomic_compare_exchange_strong(volatile __local atomic_float *, __global float *, float);
  14289. bool __ovld atomic_compare_exchange_strong(volatile __local atomic_float *, __local float *, float);
  14290. bool __ovld atomic_compare_exchange_strong(volatile __local atomic_float *, __private float *, float);
  14291. bool __ovld atomic_compare_exchange_weak(volatile __global atomic_int *, __global int *, int);
  14292. bool __ovld atomic_compare_exchange_weak(volatile __global atomic_int *, __local int *, int);
  14293. bool __ovld atomic_compare_exchange_weak(volatile __global atomic_int *, __private int *, int);
  14294. bool __ovld atomic_compare_exchange_weak(volatile __local atomic_int *, __global int *, int);
  14295. bool __ovld atomic_compare_exchange_weak(volatile __local atomic_int *, __local int *, int);
  14296. bool __ovld atomic_compare_exchange_weak(volatile __local atomic_int *, __private int *, int);
  14297. bool __ovld atomic_compare_exchange_weak(volatile __global atomic_uint *, __global uint *, uint);
  14298. bool __ovld atomic_compare_exchange_weak(volatile __global atomic_uint *, __local uint *, uint);
  14299. bool __ovld atomic_compare_exchange_weak(volatile __global atomic_uint *, __private uint *, uint);
  14300. bool __ovld atomic_compare_exchange_weak(volatile __local atomic_uint *, __global uint *, uint);
  14301. bool __ovld atomic_compare_exchange_weak(volatile __local atomic_uint *, __local uint *, uint);
  14302. bool __ovld atomic_compare_exchange_weak(volatile __local atomic_uint *, __private uint *, uint);
  14303. bool __ovld atomic_compare_exchange_weak(volatile __global atomic_float *, __global float *, float);
  14304. bool __ovld atomic_compare_exchange_weak(volatile __global atomic_float *, __local float *, float);
  14305. bool __ovld atomic_compare_exchange_weak(volatile __global atomic_float *, __private float *, float);
  14306. bool __ovld atomic_compare_exchange_weak(volatile __local atomic_float *, __global float *, float);
  14307. bool __ovld atomic_compare_exchange_weak(volatile __local atomic_float *, __local float *, float);
  14308. bool __ovld atomic_compare_exchange_weak(volatile __local atomic_float *, __private float *, float);
  14309. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14310. #ifdef cl_khr_fp64
  14311. bool __ovld atomic_compare_exchange_strong(volatile __global atomic_double *, __global double *, double);
  14312. bool __ovld atomic_compare_exchange_strong(volatile __global atomic_double *, __local double *, double);
  14313. bool __ovld atomic_compare_exchange_strong(volatile __global atomic_double *, __private double *, double);
  14314. bool __ovld atomic_compare_exchange_strong(volatile __local atomic_double *, __global double *, double);
  14315. bool __ovld atomic_compare_exchange_strong(volatile __local atomic_double *, __local double *, double);
  14316. bool __ovld atomic_compare_exchange_strong(volatile __local atomic_double *, __private double *, double);
  14317. bool __ovld atomic_compare_exchange_weak(volatile __global atomic_double *, __global double *, double);
  14318. bool __ovld atomic_compare_exchange_weak(volatile __global atomic_double *, __local double *, double);
  14319. bool __ovld atomic_compare_exchange_weak(volatile __global atomic_double *, __private double *, double);
  14320. bool __ovld atomic_compare_exchange_weak(volatile __local atomic_double *, __global double *, double);
  14321. bool __ovld atomic_compare_exchange_weak(volatile __local atomic_double *, __local double *, double);
  14322. bool __ovld atomic_compare_exchange_weak(volatile __local atomic_double *, __private double *, double);
  14323. #endif //cl_khr_fp64
  14324. bool __ovld atomic_compare_exchange_strong(volatile __global atomic_long *, __global long *, long);
  14325. bool __ovld atomic_compare_exchange_strong(volatile __global atomic_long *, __local long *, long);
  14326. bool __ovld atomic_compare_exchange_strong(volatile __global atomic_long *, __private long *, long);
  14327. bool __ovld atomic_compare_exchange_strong(volatile __local atomic_long *, __global long *, long);
  14328. bool __ovld atomic_compare_exchange_strong(volatile __local atomic_long *, __local long *, long);
  14329. bool __ovld atomic_compare_exchange_strong(volatile __local atomic_long *, __private long *, long);
  14330. bool __ovld atomic_compare_exchange_strong(volatile __global atomic_ulong *, __global ulong *, ulong);
  14331. bool __ovld atomic_compare_exchange_strong(volatile __global atomic_ulong *, __local ulong *, ulong);
  14332. bool __ovld atomic_compare_exchange_strong(volatile __global atomic_ulong *, __private ulong *, ulong);
  14333. bool __ovld atomic_compare_exchange_strong(volatile __local atomic_ulong *, __global ulong *, ulong);
  14334. bool __ovld atomic_compare_exchange_strong(volatile __local atomic_ulong *, __local ulong *, ulong);
  14335. bool __ovld atomic_compare_exchange_strong(volatile __local atomic_ulong *, __private ulong *, ulong);
  14336. bool __ovld atomic_compare_exchange_weak(volatile __global atomic_long *, __global long *, long);
  14337. bool __ovld atomic_compare_exchange_weak(volatile __global atomic_long *, __local long *, long);
  14338. bool __ovld atomic_compare_exchange_weak(volatile __global atomic_long *, __private long *, long);
  14339. bool __ovld atomic_compare_exchange_weak(volatile __local atomic_long *, __global long *, long);
  14340. bool __ovld atomic_compare_exchange_weak(volatile __local atomic_long *, __local long *, long);
  14341. bool __ovld atomic_compare_exchange_weak(volatile __local atomic_long *, __private long *, long);
  14342. bool __ovld atomic_compare_exchange_weak(volatile __global atomic_ulong *, __global ulong *, ulong);
  14343. bool __ovld atomic_compare_exchange_weak(volatile __global atomic_ulong *, __local ulong *, ulong);
  14344. bool __ovld atomic_compare_exchange_weak(volatile __global atomic_ulong *, __private ulong *, ulong);
  14345. bool __ovld atomic_compare_exchange_weak(volatile __local atomic_ulong *, __global ulong *, ulong);
  14346. bool __ovld atomic_compare_exchange_weak(volatile __local atomic_ulong *, __local ulong *, ulong);
  14347. bool __ovld atomic_compare_exchange_weak(volatile __local atomic_ulong *, __private ulong *, ulong);
  14348. #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14349. #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14350. #endif
  14351.  
  14352. #if defined(__opencl_c_atomic_scope_device)
  14353. #if defined(__opencl_c_generic_address_space)
  14354. bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *, int *, int, memory_order, memory_order);
  14355. bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *, uint *, uint, memory_order, memory_order);
  14356. bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *, int *, int, memory_order, memory_order);
  14357. bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *, uint *, uint, memory_order, memory_order);
  14358. bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *, float *, float, memory_order, memory_order);
  14359. bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *, float *, float, memory_order, memory_order);
  14360. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14361. #ifdef cl_khr_fp64
  14362. bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *, double *, double, memory_order, memory_order);
  14363. bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *, double *, double, memory_order, memory_order);
  14364. #endif //cl_khr_fp64
  14365. bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *, long *, long, memory_order, memory_order);
  14366. bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *, long *, long, memory_order, memory_order);
  14367. bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *, ulong *, ulong, memory_order, memory_order);
  14368. bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *, ulong *, ulong, memory_order, memory_order);
  14369. #endif
  14370. #endif //defined(__opencl_c_generic_address_space)
  14371. #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14372. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *, __global int *, int, memory_order, memory_order);
  14373. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *, __local int *, int, memory_order, memory_order);
  14374. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *, __private int *, int, memory_order, memory_order);
  14375. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_int *, __global int *, int, memory_order, memory_order);
  14376. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_int *, __local int *, int, memory_order, memory_order);
  14377. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_int *, __private int *, int, memory_order, memory_order);
  14378. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_uint *, __global uint *, uint, memory_order, memory_order);
  14379. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_uint *, __local uint *, uint, memory_order, memory_order);
  14380. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_uint *, __private uint *, uint, memory_order, memory_order);
  14381. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_uint *, __global uint *, uint, memory_order, memory_order);
  14382. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_uint *, __local uint *, uint, memory_order, memory_order);
  14383. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_uint *, __private uint *, uint, memory_order, memory_order);
  14384. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_float *, __global float *, float, memory_order, memory_order);
  14385. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_float *, __local float *, float, memory_order, memory_order);
  14386. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_float *, __private float *, float, memory_order, memory_order);
  14387. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_float *, __global float *, float, memory_order, memory_order);
  14388. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_float *, __local float *, float, memory_order, memory_order);
  14389. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_float *, __private float *, float, memory_order, memory_order);
  14390. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_int *, __global int *, int, memory_order, memory_order);
  14391. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_int *, __local int *, int, memory_order, memory_order);
  14392. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_int *, __private int *, int, memory_order, memory_order);
  14393. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_int *, __global int *, int, memory_order, memory_order);
  14394. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_int *, __local int *, int, memory_order, memory_order);
  14395. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_int *, __private int *, int, memory_order, memory_order);
  14396. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_uint *, __global uint *, uint, memory_order, memory_order);
  14397. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_uint *, __local uint *, uint, memory_order, memory_order);
  14398. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_uint *, __private uint *, uint, memory_order, memory_order);
  14399. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_uint *, __global uint *, uint, memory_order, memory_order);
  14400. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_uint *, __local uint *, uint, memory_order, memory_order);
  14401. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_uint *, __private uint *, uint, memory_order, memory_order);
  14402. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_float *, __global float *, float, memory_order, memory_order);
  14403. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_float *, __local float *, float, memory_order, memory_order);
  14404. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_float *, __private float *, float, memory_order, memory_order);
  14405. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_float *, __global float *, float, memory_order, memory_order);
  14406. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_float *, __local float *, float, memory_order, memory_order);
  14407. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_float *, __private float *, float, memory_order, memory_order);
  14408. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14409. #ifdef cl_khr_fp64
  14410. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_double *, __global double *, double, memory_order, memory_order);
  14411. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_double *, __local double *, double, memory_order, memory_order);
  14412. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_double *, __private double *, double, memory_order, memory_order);
  14413. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_double *, __global double *, double, memory_order, memory_order);
  14414. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_double *, __local double *, double, memory_order, memory_order);
  14415. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_double *, __private double *, double, memory_order, memory_order);
  14416. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_double *, __global double *, double, memory_order, memory_order);
  14417. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_double *, __local double *, double, memory_order, memory_order);
  14418. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_double *, __private double *, double, memory_order, memory_order);
  14419. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_double *, __global double *, double, memory_order, memory_order);
  14420. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_double *, __local double *, double, memory_order, memory_order);
  14421. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_double *, __private double *, double, memory_order, memory_order);
  14422. #endif //cl_khr_fp64
  14423. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_long *, __global long *, long, memory_order, memory_order);
  14424. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_long *, __local long *, long, memory_order, memory_order);
  14425. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_long *, __private long *, long, memory_order, memory_order);
  14426. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_long *, __global long *, long, memory_order, memory_order);
  14427. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_long *, __local long *, long, memory_order, memory_order);
  14428. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_long *, __private long *, long, memory_order, memory_order);
  14429. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_ulong *, __global ulong *, ulong, memory_order, memory_order);
  14430. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_ulong *, __local ulong *, ulong, memory_order, memory_order);
  14431. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_ulong *, __private ulong *, ulong, memory_order, memory_order);
  14432. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_ulong *, __global ulong *, ulong, memory_order, memory_order);
  14433. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_ulong *, __local ulong *, ulong, memory_order, memory_order);
  14434. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_ulong *, __private ulong *, ulong, memory_order, memory_order);
  14435. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_long *, __global long *, long, memory_order, memory_order);
  14436. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_long *, __local long *, long, memory_order, memory_order);
  14437. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_long *, __private long *, long, memory_order, memory_order);
  14438. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_long *, __global long *, long, memory_order, memory_order);
  14439. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_long *, __local long *, long, memory_order, memory_order);
  14440. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_long *, __private long *, long, memory_order, memory_order);
  14441. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_ulong *, __global ulong *, ulong, memory_order, memory_order);
  14442. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_ulong *, __local ulong *, ulong, memory_order, memory_order);
  14443. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_ulong *, __private ulong *, ulong, memory_order, memory_order);
  14444. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_ulong *, __global ulong *, ulong, memory_order, memory_order);
  14445. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_ulong *, __local ulong *, ulong, memory_order, memory_order);
  14446. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_ulong *, __private ulong *, ulong, memory_order, memory_order);
  14447. #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14448. #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14449. #endif //defined(__opencl_c_atomic_scope_device)
  14450.  
  14451. #if defined(__opencl_c_generic_address_space)
  14452. bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *, int *, int, memory_order, memory_order, memory_scope);
  14453. bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *, uint *, uint, memory_order, memory_order, memory_scope);
  14454. bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *, int *, int, memory_order, memory_order, memory_scope);
  14455. bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *, uint *, uint, memory_order, memory_order, memory_scope);
  14456. bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *, float *, float, memory_order, memory_order, memory_scope);
  14457. bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *, float *, float, memory_order, memory_order, memory_scope);
  14458. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14459. #ifdef cl_khr_fp64
  14460. bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *, double *, double, memory_order, memory_order, memory_scope);
  14461. bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *, double *, double, memory_order, memory_order, memory_scope);
  14462. #endif //cl_khr_fp64
  14463. bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *, long *, long, memory_order, memory_order, memory_scope);
  14464. bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *, long *, long, memory_order, memory_order, memory_scope);
  14465. bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *, ulong *, ulong, memory_order, memory_order, memory_scope);
  14466. bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *, ulong *, ulong, memory_order, memory_order, memory_scope);
  14467. #endif
  14468. #endif //defined(__opencl_c_generic_address_space)
  14469. #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14470. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *, __global int *, int, memory_order, memory_order, memory_scope);
  14471. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *, __local int *, int, memory_order, memory_order, memory_scope);
  14472. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *, __private int *, int, memory_order, memory_order, memory_scope);
  14473. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_int *, __global int *, int, memory_order, memory_order, memory_scope);
  14474. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_int *, __local int *, int, memory_order, memory_order, memory_scope);
  14475. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_int *, __private int *, int, memory_order, memory_order, memory_scope);
  14476. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_uint *, __global uint *, uint, memory_order, memory_order, memory_scope);
  14477. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_uint *, __local uint *, uint, memory_order, memory_order, memory_scope);
  14478. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_uint *, __private uint *, uint, memory_order, memory_order, memory_scope);
  14479. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_uint *, __global uint *, uint, memory_order, memory_order, memory_scope);
  14480. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_uint *, __local uint *, uint, memory_order, memory_order, memory_scope);
  14481. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_uint *, __private uint *, uint, memory_order, memory_order, memory_scope);
  14482. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_float *, __global float *, float, memory_order, memory_order, memory_scope);
  14483. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_float *, __local float *, float, memory_order, memory_order, memory_scope);
  14484. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_float *, __private float *, float, memory_order, memory_order, memory_scope);
  14485. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_float *, __global float *, float, memory_order, memory_order, memory_scope);
  14486. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_float *, __local float *, float, memory_order, memory_order, memory_scope);
  14487. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_float *, __private float *, float, memory_order, memory_order, memory_scope);
  14488. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_int *, __global int *, int, memory_order, memory_order, memory_scope);
  14489. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_int *, __local int *, int, memory_order, memory_order, memory_scope);
  14490. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_int *, __private int *, int, memory_order, memory_order, memory_scope);
  14491. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_int *, __global int *, int, memory_order, memory_order, memory_scope);
  14492. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_int *, __local int *, int, memory_order, memory_order, memory_scope);
  14493. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_int *, __private int *, int, memory_order, memory_order, memory_scope);
  14494. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_uint *, __global uint *, uint, memory_order, memory_order, memory_scope);
  14495. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_uint *, __local uint *, uint, memory_order, memory_order, memory_scope);
  14496. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_uint *, __private uint *, uint, memory_order, memory_order, memory_scope);
  14497. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_uint *, __global uint *, uint, memory_order, memory_order, memory_scope);
  14498. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_uint *, __local uint *, uint, memory_order, memory_order, memory_scope);
  14499. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_uint *, __private uint *, uint, memory_order, memory_order, memory_scope);
  14500. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_float *, __global float *, float, memory_order, memory_order, memory_scope);
  14501. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_float *, __local float *, float, memory_order, memory_order, memory_scope);
  14502. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_float *, __private float *, float, memory_order, memory_order, memory_scope);
  14503. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_float *, __global float *, float, memory_order, memory_order, memory_scope);
  14504. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_float *, __local float *, float, memory_order, memory_order, memory_scope);
  14505. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_float *, __private float *, float, memory_order, memory_order, memory_scope);
  14506. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14507. #ifdef cl_khr_fp64
  14508. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_double *, __global double *, double, memory_order, memory_order, memory_scope);
  14509. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_double *, __local double *, double, memory_order, memory_order, memory_scope);
  14510. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_double *, __private double *, double, memory_order, memory_order, memory_scope);
  14511. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_double *, __global double *, double, memory_order, memory_order, memory_scope);
  14512. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_double *, __local double *, double, memory_order, memory_order, memory_scope);
  14513. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_double *, __private double *, double, memory_order, memory_order, memory_scope);
  14514. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_double *, __global double *, double, memory_order, memory_order, memory_scope);
  14515. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_double *, __local double *, double, memory_order, memory_order, memory_scope);
  14516. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_double *, __private double *, double, memory_order, memory_order, memory_scope);
  14517. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_double *, __global double *, double, memory_order, memory_order, memory_scope);
  14518. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_double *, __local double *, double, memory_order, memory_order, memory_scope);
  14519. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_double *, __private double *, double, memory_order, memory_order, memory_scope);
  14520. #endif //cl_khr_fp64
  14521. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_long *, __global long *, long, memory_order, memory_order, memory_scope);
  14522. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_long *, __local long *, long, memory_order, memory_order, memory_scope);
  14523. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_long *, __private long *, long, memory_order, memory_order, memory_scope);
  14524. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_long *, __global long *, long, memory_order, memory_order, memory_scope);
  14525. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_long *, __local long *, long, memory_order, memory_order, memory_scope);
  14526. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_long *, __private long *, long, memory_order, memory_order, memory_scope);
  14527. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_ulong *, __global ulong *, ulong, memory_order, memory_order, memory_scope);
  14528. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_ulong *, __local ulong *, ulong, memory_order, memory_order, memory_scope);
  14529. bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_ulong *, __private ulong *, ulong, memory_order, memory_order, memory_scope);
  14530. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_ulong *, __global ulong *, ulong, memory_order, memory_order, memory_scope);
  14531. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_ulong *, __local ulong *, ulong, memory_order, memory_order, memory_scope);
  14532. bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_ulong *, __private ulong *, ulong, memory_order, memory_order, memory_scope);
  14533. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_long *, __global long *, long, memory_order, memory_order, memory_scope);
  14534. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_long *, __local long *, long, memory_order, memory_order, memory_scope);
  14535. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_long *, __private long *, long, memory_order, memory_order, memory_scope);
  14536. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_long *, __global long *, long, memory_order, memory_order, memory_scope);
  14537. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_long *, __local long *, long, memory_order, memory_order, memory_scope);
  14538. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_long *, __private long *, long, memory_order, memory_order, memory_scope);
  14539. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_ulong *, __global ulong *, ulong, memory_order, memory_order, memory_scope);
  14540. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_ulong *, __local ulong *, ulong, memory_order, memory_order, memory_scope);
  14541. bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_ulong *, __private ulong *, ulong, memory_order, memory_order, memory_scope);
  14542. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_ulong *, __global ulong *, ulong, memory_order, memory_order, memory_scope);
  14543. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_ulong *, __local ulong *, ulong, memory_order, memory_order, memory_scope);
  14544. bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_ulong *, __private ulong *, ulong, memory_order, memory_order, memory_scope);
  14545. #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
  14546. #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14547.  
  14548. // atomic_flag_test_and_set() and atomic_flag_clear()
  14549. #if defined(__opencl_c_atomic_order_seq_cst) && defined(__opencl_c_atomic_scope_device)
  14550. #if defined(__opencl_c_generic_address_space)
  14551. bool __ovld atomic_flag_test_and_set(volatile atomic_flag *);
  14552. void __ovld atomic_flag_clear(volatile atomic_flag *);
  14553. #endif //defined(__opencl_c_generic_address_space)
  14554. #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14555. bool __ovld atomic_flag_test_and_set(volatile __global atomic_flag *);
  14556. bool __ovld atomic_flag_test_and_set(volatile __local atomic_flag *);
  14557. void __ovld atomic_flag_clear(volatile __global atomic_flag *);
  14558. void __ovld atomic_flag_clear(volatile __local atomic_flag *);
  14559. #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14560. #endif
  14561.  
  14562. #if defined(__opencl_c_atomic_scope_device)
  14563. #if defined(__opencl_c_generic_address_space)
  14564. bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *, memory_order);
  14565. void __ovld atomic_flag_clear_explicit(volatile atomic_flag *, memory_order);
  14566. #endif //defined(__opencl_c_generic_address_space)
  14567. #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14568. bool __ovld atomic_flag_test_and_set_explicit(volatile __global atomic_flag *, memory_order);
  14569. bool __ovld atomic_flag_test_and_set_explicit(volatile __local atomic_flag *, memory_order);
  14570. void __ovld atomic_flag_clear_explicit(volatile __global atomic_flag *, memory_order);
  14571. void __ovld atomic_flag_clear_explicit(volatile __local atomic_flag *, memory_order);
  14572. #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14573. #endif
  14574.  
  14575. #if defined(__opencl_c_generic_address_space)
  14576. bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *, memory_order, memory_scope);
  14577. void __ovld atomic_flag_clear_explicit(volatile atomic_flag *, memory_order, memory_scope);
  14578. #endif //defined(__opencl_c_generic_address_space)
  14579. #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14580. bool __ovld atomic_flag_test_and_set_explicit(volatile __global atomic_flag *, memory_order, memory_scope);
  14581. bool __ovld atomic_flag_test_and_set_explicit(volatile __local atomic_flag *, memory_order, memory_scope);
  14582. void __ovld atomic_flag_clear_explicit(volatile __global atomic_flag *, memory_order, memory_scope);
  14583. void __ovld atomic_flag_clear_explicit(volatile __local atomic_flag *, memory_order, memory_scope);
  14584. #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
  14585. #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
  14586.  
  14587. // OpenCL v1.1 s6.11.12, v1.2 s6.12.12, v2.0 s6.13.12 - Miscellaneous Vector Functions
  14588.  
  14589. /**
  14590.  * The shuffle and shuffle2 built-in functions construct
  14591.  * a permutation of elements from one or two input
  14592.  * vectors respectively that are of the same type,
  14593.  * returning a vector with the same element type as the
  14594.  * input and length that is the same as the shuffle mask.
  14595.  * The size of each element in the mask must match the
  14596.  * size of each element in the result. For shuffle, only
  14597.  * the ilogb(2m-1) least significant bits of each mask
  14598.  * element are considered. For shuffle2, only the
  14599.  * ilogb(2m-1)+1 least significant bits of each mask
  14600.  * element are considered. Other bits in the mask shall
  14601.  * be ignored.
  14602.  * The elements of the input vectors are numbered from
  14603.  * left to right across one or both of the vectors. For this
  14604.  * purpose, the number of elements in a vector is given
  14605.  * by vec_step(gentypem). The shuffle mask operand
  14606.  * specifies, for each element of the result vector, which
  14607.  * element of the one or two input vectors the result
  14608.  * element gets.
  14609.  * Examples:
  14610.  * uint4 mask = (uint4)(3, 2,
  14611.  * 1, 0);
  14612.  * float4 a;
  14613.  * float4 r = shuffle(a, mask);
  14614.  * // r.s0123 = a.wzyx
  14615.  * uint8 mask = (uint8)(0, 1, 2, 3,
  14616.  * 4, 5, 6, 7);
  14617.  * float4 a, b;
  14618.  * float8 r = shuffle2(a, b, mask);
  14619.  * // r.s0123 = a.xyzw
  14620.  * // r.s4567 = b.xyzw
  14621.  * uint4 mask;
  14622.  * float8 a;
  14623.  * float4 b;
  14624.  * b = shuffle(a, mask);
  14625.  * Examples that are not valid are:
  14626.  * uint8 mask;
  14627.  * short16 a;
  14628.  * short8 b;
  14629.  * b = shuffle(a, mask); <- not valid
  14630.  */
  14631. char2 __ovld __cnfn shuffle(char2, uchar2);
  14632. char2 __ovld __cnfn shuffle(char4, uchar2);
  14633. char2 __ovld __cnfn shuffle(char8, uchar2);
  14634. char2 __ovld __cnfn shuffle(char16, uchar2);
  14635.  
  14636. uchar2 __ovld __cnfn shuffle(uchar2, uchar2);
  14637. uchar2 __ovld __cnfn shuffle(uchar4, uchar2);
  14638. uchar2 __ovld __cnfn shuffle(uchar8, uchar2);
  14639. uchar2 __ovld __cnfn shuffle(uchar16, uchar2);
  14640.  
  14641. short2 __ovld __cnfn shuffle(short2, ushort2);
  14642. short2 __ovld __cnfn shuffle(short4, ushort2);
  14643. short2 __ovld __cnfn shuffle(short8, ushort2);
  14644. short2 __ovld __cnfn shuffle(short16, ushort2);
  14645.  
  14646. ushort2 __ovld __cnfn shuffle(ushort2, ushort2);
  14647. ushort2 __ovld __cnfn shuffle(ushort4, ushort2);
  14648. ushort2 __ovld __cnfn shuffle(ushort8, ushort2);
  14649. ushort2 __ovld __cnfn shuffle(ushort16, ushort2);
  14650.  
  14651. int2 __ovld __cnfn shuffle(int2, uint2);
  14652. int2 __ovld __cnfn shuffle(int4, uint2);
  14653. int2 __ovld __cnfn shuffle(int8, uint2);
  14654. int2 __ovld __cnfn shuffle(int16, uint2);
  14655.  
  14656. uint2 __ovld __cnfn shuffle(uint2, uint2);
  14657. uint2 __ovld __cnfn shuffle(uint4, uint2);
  14658. uint2 __ovld __cnfn shuffle(uint8, uint2);
  14659. uint2 __ovld __cnfn shuffle(uint16, uint2);
  14660.  
  14661. long2 __ovld __cnfn shuffle(long2, ulong2);
  14662. long2 __ovld __cnfn shuffle(long4, ulong2);
  14663. long2 __ovld __cnfn shuffle(long8, ulong2);
  14664. long2 __ovld __cnfn shuffle(long16, ulong2);
  14665.  
  14666. ulong2 __ovld __cnfn shuffle(ulong2, ulong2);
  14667. ulong2 __ovld __cnfn shuffle(ulong4, ulong2);
  14668. ulong2 __ovld __cnfn shuffle(ulong8, ulong2);
  14669. ulong2 __ovld __cnfn shuffle(ulong16, ulong2);
  14670.  
  14671. float2 __ovld __cnfn shuffle(float2, uint2);
  14672. float2 __ovld __cnfn shuffle(float4, uint2);
  14673. float2 __ovld __cnfn shuffle(float8, uint2);
  14674. float2 __ovld __cnfn shuffle(float16, uint2);
  14675.  
  14676. char4 __ovld __cnfn shuffle(char2, uchar4);
  14677. char4 __ovld __cnfn shuffle(char4, uchar4);
  14678. char4 __ovld __cnfn shuffle(char8, uchar4);
  14679. char4 __ovld __cnfn shuffle(char16, uchar4);
  14680.  
  14681. uchar4 __ovld __cnfn shuffle(uchar2, uchar4);
  14682. uchar4 __ovld __cnfn shuffle(uchar4, uchar4);
  14683. uchar4 __ovld __cnfn shuffle(uchar8, uchar4);
  14684. uchar4 __ovld __cnfn shuffle(uchar16, uchar4);
  14685.  
  14686. short4 __ovld __cnfn shuffle(short2, ushort4);
  14687. short4 __ovld __cnfn shuffle(short4, ushort4);
  14688. short4 __ovld __cnfn shuffle(short8, ushort4);
  14689. short4 __ovld __cnfn shuffle(short16, ushort4);
  14690.  
  14691. ushort4 __ovld __cnfn shuffle(ushort2, ushort4);
  14692. ushort4 __ovld __cnfn shuffle(ushort4, ushort4);
  14693. ushort4 __ovld __cnfn shuffle(ushort8, ushort4);
  14694. ushort4 __ovld __cnfn shuffle(ushort16, ushort4);
  14695.  
  14696. int4 __ovld __cnfn shuffle(int2, uint4);
  14697. int4 __ovld __cnfn shuffle(int4, uint4);
  14698. int4 __ovld __cnfn shuffle(int8, uint4);
  14699. int4 __ovld __cnfn shuffle(int16, uint4);
  14700.  
  14701. uint4 __ovld __cnfn shuffle(uint2, uint4);
  14702. uint4 __ovld __cnfn shuffle(uint4, uint4);
  14703. uint4 __ovld __cnfn shuffle(uint8, uint4);
  14704. uint4 __ovld __cnfn shuffle(uint16, uint4);
  14705.  
  14706. long4 __ovld __cnfn shuffle(long2, ulong4);
  14707. long4 __ovld __cnfn shuffle(long4, ulong4);
  14708. long4 __ovld __cnfn shuffle(long8, ulong4);
  14709. long4 __ovld __cnfn shuffle(long16, ulong4);
  14710.  
  14711. ulong4 __ovld __cnfn shuffle(ulong2, ulong4);
  14712. ulong4 __ovld __cnfn shuffle(ulong4, ulong4);
  14713. ulong4 __ovld __cnfn shuffle(ulong8, ulong4);
  14714. ulong4 __ovld __cnfn shuffle(ulong16, ulong4);
  14715.  
  14716. float4 __ovld __cnfn shuffle(float2, uint4);
  14717. float4 __ovld __cnfn shuffle(float4, uint4);
  14718. float4 __ovld __cnfn shuffle(float8, uint4);
  14719. float4 __ovld __cnfn shuffle(float16, uint4);
  14720.  
  14721. char8 __ovld __cnfn shuffle(char2, uchar8);
  14722. char8 __ovld __cnfn shuffle(char4, uchar8);
  14723. char8 __ovld __cnfn shuffle(char8, uchar8);
  14724. char8 __ovld __cnfn shuffle(char16, uchar8);
  14725.  
  14726. uchar8 __ovld __cnfn shuffle(uchar2, uchar8);
  14727. uchar8 __ovld __cnfn shuffle(uchar4, uchar8);
  14728. uchar8 __ovld __cnfn shuffle(uchar8, uchar8);
  14729. uchar8 __ovld __cnfn shuffle(uchar16, uchar8);
  14730.  
  14731. short8 __ovld __cnfn shuffle(short2, ushort8);
  14732. short8 __ovld __cnfn shuffle(short4, ushort8);
  14733. short8 __ovld __cnfn shuffle(short8, ushort8);
  14734. short8 __ovld __cnfn shuffle(short16, ushort8);
  14735.  
  14736. ushort8 __ovld __cnfn shuffle(ushort2, ushort8);
  14737. ushort8 __ovld __cnfn shuffle(ushort4, ushort8);
  14738. ushort8 __ovld __cnfn shuffle(ushort8, ushort8);
  14739. ushort8 __ovld __cnfn shuffle(ushort16, ushort8);
  14740.  
  14741. int8 __ovld __cnfn shuffle(int2, uint8);
  14742. int8 __ovld __cnfn shuffle(int4, uint8);
  14743. int8 __ovld __cnfn shuffle(int8, uint8);
  14744. int8 __ovld __cnfn shuffle(int16, uint8);
  14745.  
  14746. uint8 __ovld __cnfn shuffle(uint2, uint8);
  14747. uint8 __ovld __cnfn shuffle(uint4, uint8);
  14748. uint8 __ovld __cnfn shuffle(uint8, uint8);
  14749. uint8 __ovld __cnfn shuffle(uint16, uint8);
  14750.  
  14751. long8 __ovld __cnfn shuffle(long2, ulong8);
  14752. long8 __ovld __cnfn shuffle(long4, ulong8);
  14753. long8 __ovld __cnfn shuffle(long8, ulong8);
  14754. long8 __ovld __cnfn shuffle(long16, ulong8);
  14755.  
  14756. ulong8 __ovld __cnfn shuffle(ulong2, ulong8);
  14757. ulong8 __ovld __cnfn shuffle(ulong4, ulong8);
  14758. ulong8 __ovld __cnfn shuffle(ulong8, ulong8);
  14759. ulong8 __ovld __cnfn shuffle(ulong16, ulong8);
  14760.  
  14761. float8 __ovld __cnfn shuffle(float2, uint8);
  14762. float8 __ovld __cnfn shuffle(float4, uint8);
  14763. float8 __ovld __cnfn shuffle(float8, uint8);
  14764. float8 __ovld __cnfn shuffle(float16, uint8);
  14765.  
  14766. char16 __ovld __cnfn shuffle(char2, uchar16);
  14767. char16 __ovld __cnfn shuffle(char4, uchar16);
  14768. char16 __ovld __cnfn shuffle(char8, uchar16);
  14769. char16 __ovld __cnfn shuffle(char16, uchar16);
  14770.  
  14771. uchar16 __ovld __cnfn shuffle(uchar2, uchar16);
  14772. uchar16 __ovld __cnfn shuffle(uchar4, uchar16);
  14773. uchar16 __ovld __cnfn shuffle(uchar8, uchar16);
  14774. uchar16 __ovld __cnfn shuffle(uchar16, uchar16);
  14775.  
  14776. short16 __ovld __cnfn shuffle(short2, ushort16);
  14777. short16 __ovld __cnfn shuffle(short4, ushort16);
  14778. short16 __ovld __cnfn shuffle(short8, ushort16);
  14779. short16 __ovld __cnfn shuffle(short16, ushort16);
  14780.  
  14781. ushort16 __ovld __cnfn shuffle(ushort2, ushort16);
  14782. ushort16 __ovld __cnfn shuffle(ushort4, ushort16);
  14783. ushort16 __ovld __cnfn shuffle(ushort8, ushort16);
  14784. ushort16 __ovld __cnfn shuffle(ushort16, ushort16);
  14785.  
  14786. int16 __ovld __cnfn shuffle(int2, uint16);
  14787. int16 __ovld __cnfn shuffle(int4, uint16);
  14788. int16 __ovld __cnfn shuffle(int8, uint16);
  14789. int16 __ovld __cnfn shuffle(int16, uint16);
  14790.  
  14791. uint16 __ovld __cnfn shuffle(uint2, uint16);
  14792. uint16 __ovld __cnfn shuffle(uint4, uint16);
  14793. uint16 __ovld __cnfn shuffle(uint8, uint16);
  14794. uint16 __ovld __cnfn shuffle(uint16, uint16);
  14795.  
  14796. long16 __ovld __cnfn shuffle(long2, ulong16);
  14797. long16 __ovld __cnfn shuffle(long4, ulong16);
  14798. long16 __ovld __cnfn shuffle(long8, ulong16);
  14799. long16 __ovld __cnfn shuffle(long16, ulong16);
  14800.  
  14801. ulong16 __ovld __cnfn shuffle(ulong2, ulong16);
  14802. ulong16 __ovld __cnfn shuffle(ulong4, ulong16);
  14803. ulong16 __ovld __cnfn shuffle(ulong8, ulong16);
  14804. ulong16 __ovld __cnfn shuffle(ulong16, ulong16);
  14805.  
  14806. float16 __ovld __cnfn shuffle(float2, uint16);
  14807. float16 __ovld __cnfn shuffle(float4, uint16);
  14808. float16 __ovld __cnfn shuffle(float8, uint16);
  14809. float16 __ovld __cnfn shuffle(float16, uint16);
  14810.  
  14811. #ifdef cl_khr_fp64
  14812. double2 __ovld __cnfn shuffle(double2, ulong2);
  14813. double2 __ovld __cnfn shuffle(double4, ulong2);
  14814. double2 __ovld __cnfn shuffle(double8, ulong2);
  14815. double2 __ovld __cnfn shuffle(double16, ulong2);
  14816.  
  14817. double4 __ovld __cnfn shuffle(double2, ulong4);
  14818. double4 __ovld __cnfn shuffle(double4, ulong4);
  14819. double4 __ovld __cnfn shuffle(double8, ulong4);
  14820. double4 __ovld __cnfn shuffle(double16, ulong4);
  14821.  
  14822. double8 __ovld __cnfn shuffle(double2, ulong8);
  14823. double8 __ovld __cnfn shuffle(double4, ulong8);
  14824. double8 __ovld __cnfn shuffle(double8, ulong8);
  14825. double8 __ovld __cnfn shuffle(double16, ulong8);
  14826.  
  14827. double16 __ovld __cnfn shuffle(double2, ulong16);
  14828. double16 __ovld __cnfn shuffle(double4, ulong16);
  14829. double16 __ovld __cnfn shuffle(double8, ulong16);
  14830. double16 __ovld __cnfn shuffle(double16, ulong16);
  14831. #endif //cl_khr_fp64
  14832.  
  14833. #ifdef cl_khr_fp16
  14834. half2 __ovld __cnfn shuffle(half2, ushort2);
  14835. half2 __ovld __cnfn shuffle(half4, ushort2);
  14836. half2 __ovld __cnfn shuffle(half8, ushort2);
  14837. half2 __ovld __cnfn shuffle(half16, ushort2);
  14838.  
  14839. half4 __ovld __cnfn shuffle(half2, ushort4);
  14840. half4 __ovld __cnfn shuffle(half4, ushort4);
  14841. half4 __ovld __cnfn shuffle(half8, ushort4);
  14842. half4 __ovld __cnfn shuffle(half16, ushort4);
  14843.  
  14844. half8 __ovld __cnfn shuffle(half2, ushort8);
  14845. half8 __ovld __cnfn shuffle(half4, ushort8);
  14846. half8 __ovld __cnfn shuffle(half8, ushort8);
  14847. half8 __ovld __cnfn shuffle(half16, ushort8);
  14848.  
  14849. half16 __ovld __cnfn shuffle(half2, ushort16);
  14850. half16 __ovld __cnfn shuffle(half4, ushort16);
  14851. half16 __ovld __cnfn shuffle(half8, ushort16);
  14852. half16 __ovld __cnfn shuffle(half16, ushort16);
  14853. #endif //cl_khr_fp16
  14854.  
  14855. char2 __ovld __cnfn shuffle2(char2, char2, uchar2);
  14856. char2 __ovld __cnfn shuffle2(char4, char4, uchar2);
  14857. char2 __ovld __cnfn shuffle2(char8, char8, uchar2);
  14858. char2 __ovld __cnfn shuffle2(char16, char16, uchar2);
  14859.  
  14860. uchar2 __ovld __cnfn shuffle2(uchar2, uchar2, uchar2);
  14861. uchar2 __ovld __cnfn shuffle2(uchar4, uchar4, uchar2);
  14862. uchar2 __ovld __cnfn shuffle2(uchar8, uchar8, uchar2);
  14863. uchar2 __ovld __cnfn shuffle2(uchar16, uchar16, uchar2);
  14864.  
  14865. short2 __ovld __cnfn shuffle2(short2, short2, ushort2);
  14866. short2 __ovld __cnfn shuffle2(short4, short4, ushort2);
  14867. short2 __ovld __cnfn shuffle2(short8, short8, ushort2);
  14868. short2 __ovld __cnfn shuffle2(short16, short16, ushort2);
  14869.  
  14870. ushort2 __ovld __cnfn shuffle2(ushort2, ushort2, ushort2);
  14871. ushort2 __ovld __cnfn shuffle2(ushort4, ushort4, ushort2);
  14872. ushort2 __ovld __cnfn shuffle2(ushort8, ushort8, ushort2);
  14873. ushort2 __ovld __cnfn shuffle2(ushort16, ushort16, ushort2);
  14874.  
  14875. int2 __ovld __cnfn shuffle2(int2, int2, uint2);
  14876. int2 __ovld __cnfn shuffle2(int4, int4, uint2);
  14877. int2 __ovld __cnfn shuffle2(int8, int8, uint2);
  14878. int2 __ovld __cnfn shuffle2(int16, int16, uint2);
  14879.  
  14880. uint2 __ovld __cnfn shuffle2(uint2, uint2, uint2);
  14881. uint2 __ovld __cnfn shuffle2(uint4, uint4, uint2);
  14882. uint2 __ovld __cnfn shuffle2(uint8, uint8, uint2);
  14883. uint2 __ovld __cnfn shuffle2(uint16, uint16, uint2);
  14884.  
  14885. long2 __ovld __cnfn shuffle2(long2, long2, ulong2);
  14886. long2 __ovld __cnfn shuffle2(long4, long4, ulong2);
  14887. long2 __ovld __cnfn shuffle2(long8, long8, ulong2);
  14888. long2 __ovld __cnfn shuffle2(long16, long16, ulong2);
  14889.  
  14890. ulong2 __ovld __cnfn shuffle2(ulong2, ulong2, ulong2);
  14891. ulong2 __ovld __cnfn shuffle2(ulong4, ulong4, ulong2);
  14892. ulong2 __ovld __cnfn shuffle2(ulong8, ulong8, ulong2);
  14893. ulong2 __ovld __cnfn shuffle2(ulong16, ulong16, ulong2);
  14894.  
  14895. float2 __ovld __cnfn shuffle2(float2, float2, uint2);
  14896. float2 __ovld __cnfn shuffle2(float4, float4, uint2);
  14897. float2 __ovld __cnfn shuffle2(float8, float8, uint2);
  14898. float2 __ovld __cnfn shuffle2(float16, float16, uint2);
  14899.  
  14900. char4 __ovld __cnfn shuffle2(char2, char2, uchar4);
  14901. char4 __ovld __cnfn shuffle2(char4, char4, uchar4);
  14902. char4 __ovld __cnfn shuffle2(char8, char8, uchar4);
  14903. char4 __ovld __cnfn shuffle2(char16, char16, uchar4);
  14904.  
  14905. uchar4 __ovld __cnfn shuffle2(uchar2, uchar2, uchar4);
  14906. uchar4 __ovld __cnfn shuffle2(uchar4, uchar4, uchar4);
  14907. uchar4 __ovld __cnfn shuffle2(uchar8, uchar8, uchar4);
  14908. uchar4 __ovld __cnfn shuffle2(uchar16, uchar16, uchar4);
  14909.  
  14910. short4 __ovld __cnfn shuffle2(short2, short2, ushort4);
  14911. short4 __ovld __cnfn shuffle2(short4, short4, ushort4);
  14912. short4 __ovld __cnfn shuffle2(short8, short8, ushort4);
  14913. short4 __ovld __cnfn shuffle2(short16, short16, ushort4);
  14914.  
  14915. ushort4 __ovld __cnfn shuffle2(ushort2, ushort2, ushort4);
  14916. ushort4 __ovld __cnfn shuffle2(ushort4, ushort4, ushort4);
  14917. ushort4 __ovld __cnfn shuffle2(ushort8, ushort8, ushort4);
  14918. ushort4 __ovld __cnfn shuffle2(ushort16, ushort16, ushort4);
  14919.  
  14920. int4 __ovld __cnfn shuffle2(int2, int2, uint4);
  14921. int4 __ovld __cnfn shuffle2(int4, int4, uint4);
  14922. int4 __ovld __cnfn shuffle2(int8, int8, uint4);
  14923. int4 __ovld __cnfn shuffle2(int16, int16, uint4);
  14924.  
  14925. uint4 __ovld __cnfn shuffle2(uint2, uint2, uint4);
  14926. uint4 __ovld __cnfn shuffle2(uint4, uint4, uint4);
  14927. uint4 __ovld __cnfn shuffle2(uint8, uint8, uint4);
  14928. uint4 __ovld __cnfn shuffle2(uint16, uint16, uint4);
  14929.  
  14930. long4 __ovld __cnfn shuffle2(long2, long2, ulong4);
  14931. long4 __ovld __cnfn shuffle2(long4, long4, ulong4);
  14932. long4 __ovld __cnfn shuffle2(long8, long8, ulong4);
  14933. long4 __ovld __cnfn shuffle2(long16, long16, ulong4);
  14934.  
  14935. ulong4 __ovld __cnfn shuffle2(ulong2, ulong2, ulong4);
  14936. ulong4 __ovld __cnfn shuffle2(ulong4, ulong4, ulong4);
  14937. ulong4 __ovld __cnfn shuffle2(ulong8, ulong8, ulong4);
  14938. ulong4 __ovld __cnfn shuffle2(ulong16, ulong16, ulong4);
  14939.  
  14940. float4 __ovld __cnfn shuffle2(float2, float2, uint4);
  14941. float4 __ovld __cnfn shuffle2(float4, float4, uint4);
  14942. float4 __ovld __cnfn shuffle2(float8, float8, uint4);
  14943. float4 __ovld __cnfn shuffle2(float16, float16, uint4);
  14944.  
  14945. char8 __ovld __cnfn shuffle2(char2, char2, uchar8);
  14946. char8 __ovld __cnfn shuffle2(char4, char4, uchar8);
  14947. char8 __ovld __cnfn shuffle2(char8, char8, uchar8);
  14948. char8 __ovld __cnfn shuffle2(char16, char16, uchar8);
  14949.  
  14950. uchar8 __ovld __cnfn shuffle2(uchar2, uchar2, uchar8);
  14951. uchar8 __ovld __cnfn shuffle2(uchar4, uchar4, uchar8);
  14952. uchar8 __ovld __cnfn shuffle2(uchar8, uchar8, uchar8);
  14953. uchar8 __ovld __cnfn shuffle2(uchar16, uchar16, uchar8);
  14954.  
  14955. short8 __ovld __cnfn shuffle2(short2, short2, ushort8);
  14956. short8 __ovld __cnfn shuffle2(short4, short4, ushort8);
  14957. short8 __ovld __cnfn shuffle2(short8, short8, ushort8);
  14958. short8 __ovld __cnfn shuffle2(short16, short16, ushort8);
  14959.  
  14960. ushort8 __ovld __cnfn shuffle2(ushort2, ushort2, ushort8);
  14961. ushort8 __ovld __cnfn shuffle2(ushort4, ushort4, ushort8);
  14962. ushort8 __ovld __cnfn shuffle2(ushort8, ushort8, ushort8);
  14963. ushort8 __ovld __cnfn shuffle2(ushort16, ushort16, ushort8);
  14964.  
  14965. int8 __ovld __cnfn shuffle2(int2, int2, uint8);
  14966. int8 __ovld __cnfn shuffle2(int4, int4, uint8);
  14967. int8 __ovld __cnfn shuffle2(int8, int8, uint8);
  14968. int8 __ovld __cnfn shuffle2(int16, int16, uint8);
  14969.  
  14970. uint8 __ovld __cnfn shuffle2(uint2, uint2, uint8);
  14971. uint8 __ovld __cnfn shuffle2(uint4, uint4, uint8);
  14972. uint8 __ovld __cnfn shuffle2(uint8, uint8, uint8);
  14973. uint8 __ovld __cnfn shuffle2(uint16, uint16, uint8);
  14974.  
  14975. long8 __ovld __cnfn shuffle2(long2, long2, ulong8);
  14976. long8 __ovld __cnfn shuffle2(long4, long4, ulong8);
  14977. long8 __ovld __cnfn shuffle2(long8, long8, ulong8);
  14978. long8 __ovld __cnfn shuffle2(long16, long16, ulong8);
  14979.  
  14980. ulong8 __ovld __cnfn shuffle2(ulong2, ulong2, ulong8);
  14981. ulong8 __ovld __cnfn shuffle2(ulong4, ulong4, ulong8);
  14982. ulong8 __ovld __cnfn shuffle2(ulong8, ulong8, ulong8);
  14983. ulong8 __ovld __cnfn shuffle2(ulong16, ulong16, ulong8);
  14984.  
  14985. float8 __ovld __cnfn shuffle2(float2, float2, uint8);
  14986. float8 __ovld __cnfn shuffle2(float4, float4, uint8);
  14987. float8 __ovld __cnfn shuffle2(float8, float8, uint8);
  14988. float8 __ovld __cnfn shuffle2(float16, float16, uint8);
  14989.  
  14990. char16 __ovld __cnfn shuffle2(char2, char2, uchar16);
  14991. char16 __ovld __cnfn shuffle2(char4, char4, uchar16);
  14992. char16 __ovld __cnfn shuffle2(char8, char8, uchar16);
  14993. char16 __ovld __cnfn shuffle2(char16, char16, uchar16);
  14994.  
  14995. uchar16 __ovld __cnfn shuffle2(uchar2, uchar2, uchar16);
  14996. uchar16 __ovld __cnfn shuffle2(uchar4, uchar4, uchar16);
  14997. uchar16 __ovld __cnfn shuffle2(uchar8, uchar8, uchar16);
  14998. uchar16 __ovld __cnfn shuffle2(uchar16, uchar16, uchar16);
  14999.  
  15000. short16 __ovld __cnfn shuffle2(short2, short2, ushort16);
  15001. short16 __ovld __cnfn shuffle2(short4, short4, ushort16);
  15002. short16 __ovld __cnfn shuffle2(short8, short8, ushort16);
  15003. short16 __ovld __cnfn shuffle2(short16, short16, ushort16);
  15004.  
  15005. ushort16 __ovld __cnfn shuffle2(ushort2, ushort2, ushort16);
  15006. ushort16 __ovld __cnfn shuffle2(ushort4, ushort4, ushort16);
  15007. ushort16 __ovld __cnfn shuffle2(ushort8, ushort8, ushort16);
  15008. ushort16 __ovld __cnfn shuffle2(ushort16, ushort16, ushort16);
  15009.  
  15010. int16 __ovld __cnfn shuffle2(int2, int2, uint16);
  15011. int16 __ovld __cnfn shuffle2(int4, int4, uint16);
  15012. int16 __ovld __cnfn shuffle2(int8, int8, uint16);
  15013. int16 __ovld __cnfn shuffle2(int16, int16, uint16);
  15014.  
  15015. uint16 __ovld __cnfn shuffle2(uint2, uint2, uint16);
  15016. uint16 __ovld __cnfn shuffle2(uint4, uint4, uint16);
  15017. uint16 __ovld __cnfn shuffle2(uint8, uint8, uint16);
  15018. uint16 __ovld __cnfn shuffle2(uint16, uint16, uint16);
  15019.  
  15020. long16 __ovld __cnfn shuffle2(long2, long2, ulong16);
  15021. long16 __ovld __cnfn shuffle2(long4, long4, ulong16);
  15022. long16 __ovld __cnfn shuffle2(long8, long8, ulong16);
  15023. long16 __ovld __cnfn shuffle2(long16, long16, ulong16);
  15024.  
  15025. ulong16 __ovld __cnfn shuffle2(ulong2, ulong2, ulong16);
  15026. ulong16 __ovld __cnfn shuffle2(ulong4, ulong4, ulong16);
  15027. ulong16 __ovld __cnfn shuffle2(ulong8, ulong8, ulong16);
  15028. ulong16 __ovld __cnfn shuffle2(ulong16, ulong16, ulong16);
  15029.  
  15030. float16 __ovld __cnfn shuffle2(float2, float2, uint16);
  15031. float16 __ovld __cnfn shuffle2(float4, float4, uint16);
  15032. float16 __ovld __cnfn shuffle2(float8, float8, uint16);
  15033. float16 __ovld __cnfn shuffle2(float16, float16, uint16);
  15034.  
  15035. #ifdef cl_khr_fp64
  15036. double2 __ovld __cnfn shuffle2(double2, double2, ulong2);
  15037. double2 __ovld __cnfn shuffle2(double4, double4, ulong2);
  15038. double2 __ovld __cnfn shuffle2(double8, double8, ulong2);
  15039. double2 __ovld __cnfn shuffle2(double16, double16, ulong2);
  15040.  
  15041. double4 __ovld __cnfn shuffle2(double2, double2, ulong4);
  15042. double4 __ovld __cnfn shuffle2(double4, double4, ulong4);
  15043. double4 __ovld __cnfn shuffle2(double8, double8, ulong4);
  15044. double4 __ovld __cnfn shuffle2(double16, double16, ulong4);
  15045.  
  15046. double8 __ovld __cnfn shuffle2(double2, double2, ulong8);
  15047. double8 __ovld __cnfn shuffle2(double4, double4, ulong8);
  15048. double8 __ovld __cnfn shuffle2(double8, double8, ulong8);
  15049. double8 __ovld __cnfn shuffle2(double16, double16, ulong8);
  15050.  
  15051. double16 __ovld __cnfn shuffle2(double2, double2, ulong16);
  15052. double16 __ovld __cnfn shuffle2(double4, double4, ulong16);
  15053. double16 __ovld __cnfn shuffle2(double8, double8, ulong16);
  15054. double16 __ovld __cnfn shuffle2(double16, double16, ulong16);
  15055. #endif //cl_khr_fp64
  15056.  
  15057. #ifdef cl_khr_fp16
  15058. half2 __ovld __cnfn shuffle2(half2, half2, ushort2);
  15059. half2 __ovld __cnfn shuffle2(half4, half4, ushort2);
  15060. half2 __ovld __cnfn shuffle2(half8, half8, ushort2);
  15061. half2 __ovld __cnfn shuffle2(half16, half16, ushort2);
  15062.  
  15063. half4 __ovld __cnfn shuffle2(half2, half2, ushort4);
  15064. half4 __ovld __cnfn shuffle2(half4, half4, ushort4);
  15065. half4 __ovld __cnfn shuffle2(half8, half8, ushort4);
  15066. half4 __ovld __cnfn shuffle2(half16, half16, ushort4);
  15067.  
  15068. half8 __ovld __cnfn shuffle2(half2, half2, ushort8);
  15069. half8 __ovld __cnfn shuffle2(half4, half4, ushort8);
  15070. half8 __ovld __cnfn shuffle2(half8, half8, ushort8);
  15071. half8 __ovld __cnfn shuffle2(half16, half16, ushort8);
  15072.  
  15073. half16 __ovld __cnfn shuffle2(half2, half2, ushort16);
  15074. half16 __ovld __cnfn shuffle2(half4, half4, ushort16);
  15075. half16 __ovld __cnfn shuffle2(half8, half8, ushort16);
  15076. half16 __ovld __cnfn shuffle2(half16, half16, ushort16);
  15077. #endif //cl_khr_fp16
  15078.  
  15079. // OpenCL v1.1 s6.11.3, v1.2 s6.12.14, v2.0 s6.13.14 - Image Read and Write Functions
  15080.  
  15081. #ifdef cl_khr_gl_msaa_sharing
  15082. #pragma OPENCL EXTENSION cl_khr_gl_msaa_sharing : enable
  15083. #endif //cl_khr_gl_msaa_sharing
  15084.  
  15085. /**
  15086.  * Use the coordinate (coord.xy) to do an element lookup in
  15087.  * the 2D image object specified by image.
  15088.  *
  15089.  * Use the coordinate (coord.x, coord.y, coord.z) to do
  15090.  * an element lookup in the 3D image object specified
  15091.  * by image. coord.w is ignored.
  15092.  *
  15093.  * Use the coordinate (coord.z) to index into the
  15094.  * 2D image array object specified by image_array
  15095.  * and (coord.x, coord.y) to do an element lookup in
  15096.  * the 2D image object specified by image.
  15097.  *
  15098.  * Use the coordinate (x) to do an element lookup in
  15099.  * the 1D image object specified by image.
  15100.  *
  15101.  * Use the coordinate (coord.y) to index into the
  15102.  * 1D image array object specified by image_array
  15103.  * and (coord.x) to do an element lookup in
  15104.  * the 1D image object specified by image.
  15105.  *
  15106.  * Use the coordinate (cood.xy) and sample to do an
  15107.  * element lookup in the 2D multi-sample image specified
  15108.  * by image.
  15109.  *
  15110.  * Use coord.xy and sample to do an element
  15111.  * lookup in the 2D multi-sample image layer
  15112.  * identified by index coord.z in the 2D multi-sample
  15113.  * image array specified by image.
  15114.  *
  15115.  * For mipmap images, use the mip-level specified by
  15116.  * the Level-of-Detail (lod) or use gradients for LOD
  15117.  * computation.
  15118.  *
  15119.  * read_imagef returns floating-point values in the
  15120.  * range [0.0 ... 1.0] for image objects created with
  15121.  * image_channel_data_type set to one of the predefined
  15122.  * packed formats or CL_UNORM_INT8, or
  15123.  * CL_UNORM_INT16.
  15124.  *
  15125.  * read_imagef returns floating-point values in the
  15126.  * range [-1.0 ... 1.0] for image objects created with
  15127.  * image_channel_data_type set to CL_SNORM_INT8,
  15128.  * or CL_SNORM_INT16.
  15129.  *
  15130.  * read_imagef returns floating-point values for image
  15131.  * objects created with image_channel_data_type set to
  15132.  * CL_HALF_FLOAT or CL_FLOAT.
  15133.  *
  15134.  * read_imagei and read_imageui return
  15135.  * unnormalized signed integer and unsigned integer
  15136.  * values respectively. Each channel will be stored in a
  15137.  * 32-bit integer.
  15138.  *
  15139.  * read_imagei can only be used with image objects
  15140.  * created with image_channel_data_type set to one of
  15141.  * the following values:
  15142.  * CL_SIGNED_INT8,
  15143.  * CL_SIGNED_INT16 and
  15144.  * CL_SIGNED_INT32.
  15145.  * If the image_channel_data_type is not one of the
  15146.  * above values, the values returned by read_imagei
  15147.  * are undefined.
  15148.  *
  15149.  * read_imageui can only be used with image objects
  15150.  * created with image_channel_data_type set to one of
  15151.  * the following values:
  15152.  * CL_UNSIGNED_INT8,
  15153.  * CL_UNSIGNED_INT16 and
  15154.  * CL_UNSIGNED_INT32.
  15155.  * If the image_channel_data_type is not one of the
  15156.  * above values, the values returned by read_imageui
  15157.  * are undefined.
  15158.  *
  15159.  * The read_image{i|ui} calls support a nearest filter
  15160.  * only. The filter_mode specified in sampler
  15161.  * must be set to CLK_FILTER_NEAREST; otherwise
  15162.  * the values returned are undefined.
  15163.  
  15164.  * The read_image{f|i|ui} calls that take
  15165.  * integer coordinates must use a sampler with
  15166.  * normalized coordinates set to
  15167.  * CLK_NORMALIZED_COORDS_FALSE and
  15168.  * addressing mode set to
  15169.  * CLK_ADDRESS_CLAMP_TO_EDGE,
  15170.  * CLK_ADDRESS_CLAMP or CLK_ADDRESS_NONE;
  15171.  * otherwise the values returned are undefined.
  15172.  *
  15173.  * Values returned by read_imagef for image objects
  15174.  * with image_channel_data_type values not specified
  15175.  * in the description above are undefined.
  15176.  */
  15177.  
  15178. float4 __ovld __purefn read_imagef(read_only image2d_t, sampler_t, int2);
  15179. float4 __ovld __purefn read_imagef(read_only image2d_t, sampler_t, float2);
  15180.  
  15181. int4 __ovld __purefn read_imagei(read_only image2d_t, sampler_t, int2);
  15182. int4 __ovld __purefn read_imagei(read_only image2d_t, sampler_t, float2);
  15183. uint4 __ovld __purefn read_imageui(read_only image2d_t, sampler_t, int2);
  15184. uint4 __ovld __purefn read_imageui(read_only image2d_t, sampler_t, float2);
  15185.  
  15186. float4 __ovld __purefn read_imagef(read_only image3d_t, sampler_t, int4);
  15187. float4 __ovld __purefn read_imagef(read_only image3d_t, sampler_t, float4);
  15188.  
  15189. int4 __ovld __purefn read_imagei(read_only image3d_t, sampler_t, int4);
  15190. int4 __ovld __purefn read_imagei(read_only image3d_t, sampler_t, float4);
  15191. uint4 __ovld __purefn read_imageui(read_only image3d_t, sampler_t, int4);
  15192. uint4 __ovld __purefn read_imageui(read_only image3d_t, sampler_t, float4);
  15193.  
  15194. #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
  15195. float4 __ovld __purefn read_imagef(read_only image2d_array_t, sampler_t, int4);
  15196. float4 __ovld __purefn read_imagef(read_only image2d_array_t, sampler_t, float4);
  15197.  
  15198. int4 __ovld __purefn read_imagei(read_only image2d_array_t, sampler_t, int4);
  15199. int4 __ovld __purefn read_imagei(read_only image2d_array_t, sampler_t, float4);
  15200. uint4 __ovld __purefn read_imageui(read_only image2d_array_t, sampler_t, int4);
  15201. uint4 __ovld __purefn read_imageui(read_only image2d_array_t, sampler_t, float4);
  15202. #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
  15203.  
  15204. float4 __ovld __purefn read_imagef(read_only image1d_t, sampler_t, int);
  15205. float4 __ovld __purefn read_imagef(read_only image1d_t, sampler_t, float);
  15206.  
  15207. int4 __ovld __purefn read_imagei(read_only image1d_t, sampler_t, int);
  15208. int4 __ovld __purefn read_imagei(read_only image1d_t, sampler_t, float);
  15209. uint4 __ovld __purefn read_imageui(read_only image1d_t, sampler_t, int);
  15210. uint4 __ovld __purefn read_imageui(read_only image1d_t, sampler_t, float);
  15211.  
  15212. #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
  15213. float4 __ovld __purefn read_imagef(read_only image1d_array_t, sampler_t, int2);
  15214. float4 __ovld __purefn read_imagef(read_only image1d_array_t, sampler_t, float2);
  15215.  
  15216. int4 __ovld __purefn read_imagei(read_only image1d_array_t, sampler_t, int2);
  15217. int4 __ovld __purefn read_imagei(read_only image1d_array_t, sampler_t, float2);
  15218. uint4 __ovld __purefn read_imageui(read_only image1d_array_t, sampler_t, int2);
  15219. uint4 __ovld __purefn read_imageui(read_only image1d_array_t, sampler_t, float2);
  15220. #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
  15221.  
  15222. #ifdef cl_khr_depth_images
  15223. float __ovld __purefn read_imagef(read_only image2d_depth_t, sampler_t, float2);
  15224. float __ovld __purefn read_imagef(read_only image2d_depth_t, sampler_t, int2);
  15225.  
  15226. float __ovld __purefn read_imagef(read_only image2d_array_depth_t, sampler_t, float4);
  15227. float __ovld __purefn read_imagef(read_only image2d_array_depth_t, sampler_t, int4);
  15228. #endif //cl_khr_depth_images
  15229.  
  15230. #if defined(cl_khr_gl_msaa_sharing)
  15231. float4 __ovld __purefn read_imagef(read_only image2d_msaa_t, int2, int);
  15232. int4 __ovld __purefn read_imagei(read_only image2d_msaa_t, int2, int);
  15233. uint4 __ovld __purefn read_imageui(read_only image2d_msaa_t, int2, int);
  15234.  
  15235. float __ovld __purefn read_imagef(read_only image2d_msaa_depth_t, int2, int);
  15236.  
  15237. float4 __ovld __purefn read_imagef(read_only image2d_array_msaa_t, int4, int);
  15238. int4 __ovld __purefn read_imagei(read_only image2d_array_msaa_t, int4, int);
  15239. uint4 __ovld __purefn read_imageui(read_only image2d_array_msaa_t, int4, int);
  15240.  
  15241. float __ovld __purefn read_imagef(read_only image2d_array_msaa_depth_t, int4, int);
  15242. #endif //cl_khr_gl_msaa_sharing
  15243.  
  15244. // OpenCL Extension v2.0 s9.18 - Mipmaps
  15245. #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
  15246. #ifdef cl_khr_mipmap_image
  15247.  
  15248. float4 __ovld __purefn read_imagef(read_only image1d_t, sampler_t, float, float);
  15249. int4 __ovld __purefn read_imagei(read_only image1d_t, sampler_t, float, float);
  15250. uint4 __ovld __purefn read_imageui(read_only image1d_t, sampler_t, float, float);
  15251.  
  15252. float4 __ovld __purefn read_imagef(read_only image1d_array_t, sampler_t, float2, float);
  15253. int4 __ovld __purefn read_imagei(read_only image1d_array_t, sampler_t, float2, float);
  15254. uint4 __ovld __purefn read_imageui(read_only image1d_array_t, sampler_t, float2, float);
  15255.  
  15256. float4 __ovld __purefn read_imagef(read_only image2d_t, sampler_t, float2, float);
  15257. int4 __ovld __purefn read_imagei(read_only image2d_t, sampler_t, float2, float);
  15258. uint4 __ovld __purefn read_imageui(read_only image2d_t, sampler_t, float2, float);
  15259.  
  15260. #ifdef cl_khr_depth_images
  15261. float __ovld __purefn read_imagef(read_only image2d_depth_t, sampler_t, float2, float);
  15262. #endif // cl_khr_depth_images
  15263.  
  15264. float4 __ovld __purefn read_imagef(read_only image2d_array_t, sampler_t, float4, float);
  15265. int4 __ovld __purefn read_imagei(read_only image2d_array_t, sampler_t, float4, float);
  15266. uint4 __ovld __purefn read_imageui(read_only image2d_array_t, sampler_t, float4, float);
  15267.  
  15268. #ifdef cl_khr_depth_images
  15269. float __ovld __purefn read_imagef(read_only image2d_array_depth_t, sampler_t, float4, float);
  15270. #endif // cl_khr_depth_images
  15271.  
  15272. float4 __ovld __purefn read_imagef(read_only image3d_t, sampler_t, float4, float);
  15273. int4 __ovld __purefn read_imagei(read_only image3d_t, sampler_t, float4, float);
  15274. uint4 __ovld __purefn read_imageui(read_only image3d_t, sampler_t, float4, float);
  15275.  
  15276. float4 __ovld __purefn read_imagef(read_only image1d_t, sampler_t, float, float, float);
  15277. int4 __ovld __purefn read_imagei(read_only image1d_t, sampler_t, float, float, float);
  15278. uint4 __ovld __purefn read_imageui(read_only image1d_t, sampler_t, float, float, float);
  15279.  
  15280. float4 __ovld __purefn read_imagef(read_only image1d_array_t, sampler_t, float2, float, float);
  15281. int4 __ovld __purefn read_imagei(read_only image1d_array_t, sampler_t, float2, float, float);
  15282. uint4 __ovld __purefn read_imageui(read_only image1d_array_t, sampler_t, float2, float, float);
  15283.  
  15284. float4 __ovld __purefn read_imagef(read_only image2d_t, sampler_t, float2, float2, float2);
  15285. int4 __ovld __purefn read_imagei(read_only image2d_t, sampler_t, float2, float2, float2);
  15286. uint4 __ovld __purefn read_imageui(read_only image2d_t, sampler_t, float2, float2, float2);
  15287.  
  15288. #ifdef cl_khr_depth_images
  15289. float __ovld __purefn read_imagef(read_only image2d_depth_t, sampler_t, float2, float2, float2);
  15290. #endif // cl_khr_depth_images
  15291.  
  15292. float4 __ovld __purefn read_imagef(read_only image2d_array_t, sampler_t, float4, float2, float2);
  15293. int4 __ovld __purefn read_imagei(read_only image2d_array_t, sampler_t, float4, float2, float2);
  15294. uint4 __ovld __purefn read_imageui(read_only image2d_array_t, sampler_t, float4, float2, float2);
  15295.  
  15296. #ifdef cl_khr_depth_images
  15297. float __ovld __purefn read_imagef(read_only image2d_array_depth_t, sampler_t, float4, float2, float2);
  15298. #endif // cl_khr_depth_images
  15299.  
  15300. float4 __ovld __purefn read_imagef(read_only image3d_t, sampler_t, float4, float4, float4);
  15301. int4 __ovld __purefn read_imagei(read_only image3d_t, sampler_t, float4, float4, float4);
  15302. uint4 __ovld __purefn read_imageui(read_only image3d_t, sampler_t, float4, float4, float4);
  15303.  
  15304. #endif //cl_khr_mipmap_image
  15305. #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
  15306.  
  15307. #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
  15308.  
  15309. /**
  15310. * Sampler-less Image Access
  15311. */
  15312.  
  15313. float4 __ovld __purefn read_imagef(read_only image1d_t, int);
  15314. int4 __ovld __purefn read_imagei(read_only image1d_t, int);
  15315. uint4 __ovld __purefn read_imageui(read_only image1d_t, int);
  15316.  
  15317. float4 __ovld __purefn read_imagef(read_only image1d_buffer_t, int);
  15318. int4 __ovld __purefn read_imagei(read_only image1d_buffer_t, int);
  15319. uint4 __ovld __purefn read_imageui(read_only image1d_buffer_t, int);
  15320.  
  15321. float4 __ovld __purefn read_imagef(read_only image1d_array_t, int2);
  15322. int4 __ovld __purefn read_imagei(read_only image1d_array_t, int2);
  15323. uint4 __ovld __purefn read_imageui(read_only image1d_array_t, int2);
  15324.  
  15325. float4 __ovld __purefn read_imagef(read_only image2d_t, int2);
  15326. int4 __ovld __purefn read_imagei(read_only image2d_t, int2);
  15327. uint4 __ovld __purefn read_imageui(read_only image2d_t, int2);
  15328.  
  15329. float4 __ovld __purefn read_imagef(read_only image2d_array_t, int4);
  15330. int4 __ovld __purefn read_imagei(read_only image2d_array_t, int4);
  15331. uint4 __ovld __purefn read_imageui(read_only image2d_array_t, int4);
  15332.  
  15333. #ifdef cl_khr_depth_images
  15334. float __ovld __purefn read_imagef(read_only image2d_depth_t, int2);
  15335. float __ovld __purefn read_imagef(read_only image2d_array_depth_t, int4);
  15336. #endif //cl_khr_depth_images
  15337.  
  15338. float4 __ovld __purefn read_imagef(read_only image3d_t, int4);
  15339. int4 __ovld __purefn read_imagei(read_only image3d_t, int4);
  15340. uint4 __ovld __purefn read_imageui(read_only image3d_t, int4);
  15341.  
  15342. #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
  15343.  
  15344. // Image read functions returning half4 type
  15345. #ifdef cl_khr_fp16
  15346. half4 __ovld __purefn read_imageh(read_only image1d_t, sampler_t, int);
  15347. half4 __ovld __purefn read_imageh(read_only image1d_t, sampler_t, float);
  15348. half4 __ovld __purefn read_imageh(read_only image2d_t, sampler_t, int2);
  15349. half4 __ovld __purefn read_imageh(read_only image2d_t, sampler_t, float2);
  15350. half4 __ovld __purefn read_imageh(read_only image3d_t, sampler_t, int4);
  15351. half4 __ovld __purefn read_imageh(read_only image3d_t, sampler_t, float4);
  15352. #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
  15353. half4 __ovld __purefn read_imageh(read_only image1d_array_t, sampler_t, int2);
  15354. half4 __ovld __purefn read_imageh(read_only image1d_array_t, sampler_t, float2);
  15355. half4 __ovld __purefn read_imageh(read_only image2d_array_t, sampler_t, int4);
  15356. half4 __ovld __purefn read_imageh(read_only image2d_array_t, sampler_t, float4);
  15357. /**
  15358.  * Sampler-less Image Access
  15359.  */
  15360. half4 __ovld __purefn read_imageh(read_only image1d_t, int);
  15361. half4 __ovld __purefn read_imageh(read_only image2d_t, int2);
  15362. half4 __ovld __purefn read_imageh(read_only image3d_t, int4);
  15363. half4 __ovld __purefn read_imageh(read_only image1d_array_t, int2);
  15364. half4 __ovld __purefn read_imageh(read_only image2d_array_t, int4);
  15365. half4 __ovld __purefn read_imageh(read_only image1d_buffer_t, int);
  15366. #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
  15367. #endif //cl_khr_fp16
  15368.  
  15369. // Image read functions for read_write images
  15370. #if defined(__opencl_c_read_write_images)
  15371. float4 __ovld __purefn read_imagef(read_write image1d_t, int);
  15372. int4 __ovld __purefn read_imagei(read_write image1d_t, int);
  15373. uint4 __ovld __purefn read_imageui(read_write image1d_t, int);
  15374.  
  15375. float4 __ovld __purefn read_imagef(read_write image1d_buffer_t, int);
  15376. int4 __ovld __purefn read_imagei(read_write image1d_buffer_t, int);
  15377. uint4 __ovld __purefn read_imageui(read_write image1d_buffer_t, int);
  15378.  
  15379. float4 __ovld __purefn read_imagef(read_write image1d_array_t, int2);
  15380. int4 __ovld __purefn read_imagei(read_write image1d_array_t, int2);
  15381. uint4 __ovld __purefn read_imageui(read_write image1d_array_t, int2);
  15382.  
  15383. float4 __ovld __purefn read_imagef(read_write image2d_t, int2);
  15384. int4 __ovld __purefn read_imagei(read_write image2d_t, int2);
  15385. uint4 __ovld __purefn read_imageui(read_write image2d_t, int2);
  15386.  
  15387. float4 __ovld __purefn read_imagef(read_write image2d_array_t, int4);
  15388. int4 __ovld __purefn read_imagei(read_write image2d_array_t, int4);
  15389. uint4 __ovld __purefn read_imageui(read_write image2d_array_t, int4);
  15390.  
  15391. #ifdef cl_khr_3d_image_writes
  15392. float4 __ovld __purefn read_imagef(read_write image3d_t, int4);
  15393. int4 __ovld __purefn read_imagei(read_write image3d_t, int4);
  15394. uint4 __ovld __purefn read_imageui(read_write image3d_t, int4);
  15395. #endif // cl_khr_3d_image_writes
  15396.  
  15397. #ifdef cl_khr_depth_images
  15398. float __ovld __purefn read_imagef(read_write image2d_depth_t, int2);
  15399. float __ovld __purefn read_imagef(read_write image2d_array_depth_t, int4);
  15400. #endif //cl_khr_depth_images
  15401.  
  15402. #if cl_khr_gl_msaa_sharing
  15403. float4 __ovld __purefn read_imagef(read_write image2d_msaa_t, int2, int);
  15404. int4 __ovld __purefn read_imagei(read_write image2d_msaa_t, int2, int);
  15405. uint4 __ovld __purefn read_imageui(read_write image2d_msaa_t, int2, int);
  15406.  
  15407. float4 __ovld __purefn read_imagef(read_write image2d_array_msaa_t, int4, int);
  15408. int4 __ovld __purefn read_imagei(read_write image2d_array_msaa_t, int4, int);
  15409. uint4 __ovld __purefn read_imageui(read_write image2d_array_msaa_t, int4, int);
  15410.  
  15411. float __ovld __purefn read_imagef(read_write image2d_msaa_depth_t, int2, int);
  15412. float __ovld __purefn read_imagef(read_write image2d_array_msaa_depth_t, int4, int);
  15413. #endif //cl_khr_gl_msaa_sharing
  15414.  
  15415. #ifdef cl_khr_mipmap_image
  15416. float4 __ovld __purefn read_imagef(read_write image1d_t, sampler_t, float, float);
  15417. int4 __ovld __purefn read_imagei(read_write image1d_t, sampler_t, float, float);
  15418. uint4 __ovld __purefn read_imageui(read_write image1d_t, sampler_t, float, float);
  15419.  
  15420. float4 __ovld __purefn read_imagef(read_write image1d_array_t, sampler_t, float2, float);
  15421. int4 __ovld __purefn read_imagei(read_write image1d_array_t, sampler_t, float2, float);
  15422. uint4 __ovld __purefn read_imageui(read_write image1d_array_t, sampler_t, float2, float);
  15423.  
  15424. float4 __ovld __purefn read_imagef(read_write image2d_t, sampler_t, float2, float);
  15425. int4 __ovld __purefn read_imagei(read_write image2d_t, sampler_t, float2, float);
  15426. uint4 __ovld __purefn read_imageui(read_write image2d_t, sampler_t, float2, float);
  15427.  
  15428. float __ovld __purefn read_imagef(read_write image2d_depth_t, sampler_t, float2, float);
  15429.  
  15430. float4 __ovld __purefn read_imagef(read_write image2d_array_t, sampler_t, float4, float);
  15431. int4 __ovld __purefn read_imagei(read_write image2d_array_t, sampler_t, float4, float);
  15432. uint4 __ovld __purefn read_imageui(read_write image2d_array_t, sampler_t, float4, float);
  15433.  
  15434. float __ovld __purefn read_imagef(read_write image2d_array_depth_t, sampler_t, float4, float);
  15435.  
  15436. #ifdef cl_khr_3d_image_writes
  15437. float4 __ovld __purefn read_imagef(read_write image3d_t, sampler_t, float4, float);
  15438. int4 __ovld __purefn read_imagei(read_write image3d_t, sampler_t, float4, float);
  15439. uint4 __ovld __purefn read_imageui(read_write image3d_t, sampler_t, float4, float);
  15440. #endif // cl_khr_3d_image_writes
  15441.  
  15442. float4 __ovld __purefn read_imagef(read_write image1d_t, sampler_t, float, float, float);
  15443. int4 __ovld __purefn read_imagei(read_write image1d_t, sampler_t, float, float, float);
  15444. uint4 __ovld __purefn read_imageui(read_write image1d_t, sampler_t, float, float, float);
  15445.  
  15446. float4 __ovld __purefn read_imagef(read_write image1d_array_t, sampler_t, float2, float, float);
  15447. int4 __ovld __purefn read_imagei(read_write image1d_array_t, sampler_t, float2, float, float);
  15448. uint4 __ovld __purefn read_imageui(read_write image1d_array_t, sampler_t, float2, float, float);
  15449.  
  15450. float4 __ovld __purefn read_imagef(read_write image2d_t, sampler_t, float2, float2, float2);
  15451. int4 __ovld __purefn read_imagei(read_write image2d_t, sampler_t, float2, float2, float2);
  15452. uint4 __ovld __purefn read_imageui(read_write image2d_t, sampler_t, float2, float2, float2);
  15453.  
  15454. float __ovld __purefn read_imagef(read_write image2d_depth_t, sampler_t, float2, float2, float2);
  15455.  
  15456. float4 __ovld __purefn read_imagef(read_write image2d_array_t, sampler_t, float4, float2, float2);
  15457. int4 __ovld __purefn read_imagei(read_write image2d_array_t, sampler_t, float4, float2, float2);
  15458. uint4 __ovld __purefn read_imageui(read_write image2d_array_t, sampler_t, float4, float2, float2);
  15459.  
  15460. float __ovld __purefn read_imagef(read_write image2d_array_depth_t, sampler_t, float4, float2, float2);
  15461.  
  15462. #ifdef cl_khr_3d_image_writes
  15463. float4 __ovld __purefn read_imagef(read_write image3d_t, sampler_t, float4, float4, float4);
  15464. int4 __ovld __purefn read_imagei(read_write image3d_t, sampler_t, float4, float4, float4);
  15465. uint4 __ovld __purefn read_imageui(read_write image3d_t, sampler_t, float4, float4, float4);
  15466. #endif // cl_khr_3d_image_writes
  15467.  
  15468. #endif //cl_khr_mipmap_image
  15469.  
  15470. // Image read functions returning half4 type
  15471. #ifdef cl_khr_fp16
  15472. half4 __ovld __purefn read_imageh(read_write image1d_t, int);
  15473. half4 __ovld __purefn read_imageh(read_write image2d_t, int2);
  15474. #ifdef cl_khr_3d_image_writes
  15475. half4 __ovld __purefn read_imageh(read_write image3d_t, int4);
  15476. #endif // cl_khr_3d_image_writes
  15477. half4 __ovld __purefn read_imageh(read_write image1d_array_t, int2);
  15478. half4 __ovld __purefn read_imageh(read_write image2d_array_t, int4);
  15479. half4 __ovld __purefn read_imageh(read_write image1d_buffer_t, int);
  15480. #endif //cl_khr_fp16
  15481. #endif //defined(__opencl_c_read_write_images)
  15482.  
  15483. /**
  15484.  * Write color value to location specified by coordinate
  15485.  * (coord.x, coord.y) in the 2D image object specified by image.
  15486.  * (coord.x, coord.y) are considered to be unnormalized coordinates
  15487.  * and must be in the range 0 ... image width - 1, and 0
  15488.  * ... image height - 1.
  15489.  
  15490.  * Write color value to location specified by coordinate
  15491.  * (coord.x, coord.y) in the 2D image object specified by index
  15492.  * (coord.z) of the 2D image array object image_array.
  15493.  * (coord.x, coord.y) are considered to be unnormalized
  15494.  * coordinates and must be in the range 0 ... image width
  15495.  * - 1.
  15496.  *
  15497.  * Write color value to location specified by coordinate
  15498.  * (coord) in the 1D image (buffer) object specified by image.
  15499.  * coord is considered to be unnormalized coordinates
  15500.  * and must be in the range 0 ... image width - 1.
  15501.  *
  15502.  * Write color value to location specified by coordinate
  15503.  * (coord.x) in the 1D image object specified by index
  15504.  * (coord.y) of the 1D image array object image_array.
  15505.  * x is considered to be unnormalized coordinates
  15506.  * and must be in the range 0 ... image width - 1.
  15507.  *
  15508.  * Write color value to location specified by coordinate
  15509.  * (coord.x, coord.y, coord.z) in the 3D image object specified by image.
  15510.  * coord.x & coord.y are considered to be unnormalized coordinates
  15511.  * and must be in the range 0 ... image width - 1, and 0
  15512.  * ... image height - 1.
  15513.  *
  15514.  * For mipmap images, use mip-level specified by lod.
  15515.  *
  15516.  * Appropriate data format conversion to the specified
  15517.  * image format is done before writing the color value.
  15518.  *
  15519.  * write_imagef can only be used with image objects
  15520.  * created with image_channel_data_type set to one of
  15521.  * the pre-defined packed formats or set to
  15522.  * CL_SNORM_INT8, CL_UNORM_INT8,
  15523.  * CL_SNORM_INT16, CL_UNORM_INT16,
  15524.  * CL_HALF_FLOAT or CL_FLOAT. Appropriate data
  15525.  * format conversion will be done to convert channel
  15526.  * data from a floating-point value to actual data format
  15527.  * in which the channels are stored.
  15528.  *
  15529.  * write_imagei can only be used with image objects
  15530.  * created with image_channel_data_type set to one of
  15531.  * the following values:
  15532.  * CL_SIGNED_INT8,
  15533.  * CL_SIGNED_INT16 and
  15534.  * CL_SIGNED_INT32.
  15535.  *
  15536.  * write_imageui can only be used with image objects
  15537.  * created with image_channel_data_type set to one of
  15538.  * the following values:
  15539.  * CL_UNSIGNED_INT8,
  15540.  * CL_UNSIGNED_INT16 and
  15541.  * CL_UNSIGNED_INT32.
  15542.  *
  15543.  * The behavior of write_imagef, write_imagei and
  15544.  * write_imageui for image objects created with
  15545.  * image_channel_data_type values not specified in
  15546.  * the description above or with (x, y) coordinate
  15547.  * values that are not in the range (0 ... image width -1,
  15548.  * 0 ... image height - 1), respectively, is undefined.
  15549.  */
  15550. void __ovld write_imagef(write_only image2d_t, int2, float4);
  15551. void __ovld write_imagei(write_only image2d_t, int2, int4);
  15552. void __ovld write_imageui(write_only image2d_t, int2, uint4);
  15553.  
  15554. void __ovld write_imagef(write_only image2d_array_t, int4, float4);
  15555. void __ovld write_imagei(write_only image2d_array_t, int4, int4);
  15556. void __ovld write_imageui(write_only image2d_array_t, int4, uint4);
  15557.  
  15558. void __ovld write_imagef(write_only image1d_t, int, float4);
  15559. void __ovld write_imagei(write_only image1d_t, int, int4);
  15560. void __ovld write_imageui(write_only image1d_t, int, uint4);
  15561.  
  15562. void __ovld write_imagef(write_only image1d_buffer_t, int, float4);
  15563. void __ovld write_imagei(write_only image1d_buffer_t, int, int4);
  15564. void __ovld write_imageui(write_only image1d_buffer_t, int, uint4);
  15565.  
  15566. void __ovld write_imagef(write_only image1d_array_t, int2, float4);
  15567. void __ovld write_imagei(write_only image1d_array_t, int2, int4);
  15568. void __ovld write_imageui(write_only image1d_array_t, int2, uint4);
  15569.  
  15570. #ifdef cl_khr_3d_image_writes
  15571. void __ovld write_imagef(write_only image3d_t, int4, float4);
  15572. void __ovld write_imagei(write_only image3d_t, int4, int4);
  15573. void __ovld write_imageui(write_only image3d_t, int4, uint4);
  15574. #endif
  15575.  
  15576. #ifdef cl_khr_depth_images
  15577. void __ovld write_imagef(write_only image2d_depth_t, int2, float);
  15578. void __ovld write_imagef(write_only image2d_array_depth_t, int4, float);
  15579. #endif //cl_khr_depth_images
  15580.  
  15581. // OpenCL Extension v2.0 s9.18 - Mipmaps
  15582. #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
  15583. #if defined(cl_khr_mipmap_image_writes)
  15584. void __ovld write_imagef(write_only image1d_t, int, int, float4);
  15585. void __ovld write_imagei(write_only image1d_t, int, int, int4);
  15586. void __ovld write_imageui(write_only image1d_t, int, int, uint4);
  15587.  
  15588. void __ovld write_imagef(write_only image1d_array_t, int2, int, float4);
  15589. void __ovld write_imagei(write_only image1d_array_t, int2, int, int4);
  15590. void __ovld write_imageui(write_only image1d_array_t, int2, int, uint4);
  15591.  
  15592. void __ovld write_imagef(write_only image2d_t, int2, int, float4);
  15593. void __ovld write_imagei(write_only image2d_t, int2, int, int4);
  15594. void __ovld write_imageui(write_only image2d_t, int2, int, uint4);
  15595.  
  15596. void __ovld write_imagef(write_only image2d_array_t, int4, int, float4);
  15597. void __ovld write_imagei(write_only image2d_array_t, int4, int, int4);
  15598. void __ovld write_imageui(write_only image2d_array_t, int4, int, uint4);
  15599.  
  15600. void __ovld write_imagef(write_only image2d_depth_t, int2, int, float);
  15601. void __ovld write_imagef(write_only image2d_array_depth_t, int4, int, float);
  15602.  
  15603. #ifdef cl_khr_3d_image_writes
  15604. void __ovld write_imagef(write_only image3d_t, int4, int, float4);
  15605. void __ovld write_imagei(write_only image3d_t, int4, int, int4);
  15606. void __ovld write_imageui(write_only image3d_t, int4, int, uint4);
  15607. #endif //cl_khr_3d_image_writes
  15608.  
  15609. #endif //defined(cl_khr_mipmap_image_writes)
  15610. #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
  15611.  
  15612. // Image write functions for half4 type
  15613. #ifdef cl_khr_fp16
  15614. void __ovld write_imageh(write_only image1d_t, int, half4);
  15615. void __ovld write_imageh(write_only image2d_t, int2, half4);
  15616. #ifdef cl_khr_3d_image_writes
  15617. void __ovld write_imageh(write_only image3d_t, int4, half4);
  15618. #endif
  15619. void __ovld write_imageh(write_only image1d_array_t, int2, half4);
  15620. void __ovld write_imageh(write_only image2d_array_t, int4, half4);
  15621. void __ovld write_imageh(write_only image1d_buffer_t, int, half4);
  15622. #endif //cl_khr_fp16
  15623.  
  15624. // Image write functions for read_write images
  15625. #if defined(__opencl_c_read_write_images)
  15626. void __ovld write_imagef(read_write image2d_t, int2, float4);
  15627. void __ovld write_imagei(read_write image2d_t, int2, int4);
  15628. void __ovld write_imageui(read_write image2d_t, int2, uint4);
  15629.  
  15630. void __ovld write_imagef(read_write image2d_array_t, int4, float4);
  15631. void __ovld write_imagei(read_write image2d_array_t, int4, int4);
  15632. void __ovld write_imageui(read_write image2d_array_t, int4, uint4);
  15633.  
  15634. void __ovld write_imagef(read_write image1d_t, int, float4);
  15635. void __ovld write_imagei(read_write image1d_t, int, int4);
  15636. void __ovld write_imageui(read_write image1d_t, int, uint4);
  15637.  
  15638. void __ovld write_imagef(read_write image1d_buffer_t, int, float4);
  15639. void __ovld write_imagei(read_write image1d_buffer_t, int, int4);
  15640. void __ovld write_imageui(read_write image1d_buffer_t, int, uint4);
  15641.  
  15642. void __ovld write_imagef(read_write image1d_array_t, int2, float4);
  15643. void __ovld write_imagei(read_write image1d_array_t, int2, int4);
  15644. void __ovld write_imageui(read_write image1d_array_t, int2, uint4);
  15645.  
  15646. #ifdef cl_khr_3d_image_writes
  15647. void __ovld write_imagef(read_write image3d_t, int4, float4);
  15648. void __ovld write_imagei(read_write image3d_t, int4, int4);
  15649. void __ovld write_imageui(read_write image3d_t, int4, uint4);
  15650. #endif
  15651.  
  15652. #ifdef cl_khr_depth_images
  15653. void __ovld write_imagef(read_write image2d_depth_t, int2, float);
  15654. void __ovld write_imagef(read_write image2d_array_depth_t, int4, float);
  15655. #endif //cl_khr_depth_images
  15656.  
  15657. #if defined(cl_khr_mipmap_image_writes)
  15658. void __ovld write_imagef(read_write image1d_t, int, int, float4);
  15659. void __ovld write_imagei(read_write image1d_t, int, int, int4);
  15660. void __ovld write_imageui(read_write image1d_t, int, int, uint4);
  15661.  
  15662. void __ovld write_imagef(read_write image1d_array_t, int2, int, float4);
  15663. void __ovld write_imagei(read_write image1d_array_t, int2, int, int4);
  15664. void __ovld write_imageui(read_write image1d_array_t, int2, int, uint4);
  15665.  
  15666. void __ovld write_imagef(read_write image2d_t, int2, int, float4);
  15667. void __ovld write_imagei(read_write image2d_t, int2, int, int4);
  15668. void __ovld write_imageui(read_write image2d_t, int2, int, uint4);
  15669.  
  15670. void __ovld write_imagef(read_write image2d_array_t, int4, int, float4);
  15671. void __ovld write_imagei(read_write image2d_array_t, int4, int, int4);
  15672. void __ovld write_imageui(read_write image2d_array_t, int4, int, uint4);
  15673.  
  15674. void __ovld write_imagef(read_write image2d_depth_t, int2, int, float);
  15675. void __ovld write_imagef(read_write image2d_array_depth_t, int4, int, float);
  15676.  
  15677. #ifdef cl_khr_3d_image_writes
  15678. void __ovld write_imagef(read_write image3d_t, int4, int, float4);
  15679. void __ovld write_imagei(read_write image3d_t, int4, int, int4);
  15680. void __ovld write_imageui(read_write image3d_t, int4, int, uint4);
  15681. #endif //cl_khr_3d_image_writes
  15682.  
  15683. #endif //cl_khr_mipmap_image_writes
  15684.  
  15685. // Image write functions for half4 type
  15686. #ifdef cl_khr_fp16
  15687. void __ovld write_imageh(read_write image1d_t, int, half4);
  15688. void __ovld write_imageh(read_write image2d_t, int2, half4);
  15689. #ifdef cl_khr_3d_image_writes
  15690. void __ovld write_imageh(read_write image3d_t, int4, half4);
  15691. #endif
  15692. void __ovld write_imageh(read_write image1d_array_t, int2, half4);
  15693. void __ovld write_imageh(read_write image2d_array_t, int4, half4);
  15694. void __ovld write_imageh(read_write image1d_buffer_t, int, half4);
  15695. #endif //cl_khr_fp16
  15696. #endif //defined(__opencl_c_read_write_images)
  15697.  
  15698. // Note: In OpenCL v1.0/1.1/1.2, image argument of image query builtin functions does not have
  15699. // access qualifier, which by default assume read_only access qualifier. Image query builtin
  15700. // functions with write_only image argument should also be declared.
  15701.  
  15702. /**
  15703.  * Return the image width in pixels.
  15704.  *
  15705.   */
  15706. int __ovld __cnfn get_image_width(read_only image1d_t);
  15707. int __ovld __cnfn get_image_width(read_only image1d_buffer_t);
  15708. int __ovld __cnfn get_image_width(read_only image2d_t);
  15709. int __ovld __cnfn get_image_width(read_only image3d_t);
  15710. int __ovld __cnfn get_image_width(read_only image1d_array_t);
  15711. int __ovld __cnfn get_image_width(read_only image2d_array_t);
  15712. #ifdef cl_khr_depth_images
  15713. int __ovld __cnfn get_image_width(read_only image2d_depth_t);
  15714. int __ovld __cnfn get_image_width(read_only image2d_array_depth_t);
  15715. #endif //cl_khr_depth_images
  15716. #if defined(cl_khr_gl_msaa_sharing)
  15717. int __ovld __cnfn get_image_width(read_only image2d_msaa_t);
  15718. int __ovld __cnfn get_image_width(read_only image2d_msaa_depth_t);
  15719. int __ovld __cnfn get_image_width(read_only image2d_array_msaa_t);
  15720. int __ovld __cnfn get_image_width(read_only image2d_array_msaa_depth_t);
  15721. #endif //cl_khr_gl_msaa_sharing
  15722.  
  15723. int __ovld __cnfn get_image_width(write_only image1d_t);
  15724. int __ovld __cnfn get_image_width(write_only image1d_buffer_t);
  15725. int __ovld __cnfn get_image_width(write_only image2d_t);
  15726. #ifdef cl_khr_3d_image_writes
  15727. int __ovld __cnfn get_image_width(write_only image3d_t);
  15728. #endif
  15729. int __ovld __cnfn get_image_width(write_only image1d_array_t);
  15730. int __ovld __cnfn get_image_width(write_only image2d_array_t);
  15731. #ifdef cl_khr_depth_images
  15732. int __ovld __cnfn get_image_width(write_only image2d_depth_t);
  15733. int __ovld __cnfn get_image_width(write_only image2d_array_depth_t);
  15734. #endif //cl_khr_depth_images
  15735. #if defined(cl_khr_gl_msaa_sharing)
  15736. int __ovld __cnfn get_image_width(write_only image2d_msaa_t);
  15737. int __ovld __cnfn get_image_width(write_only image2d_msaa_depth_t);
  15738. int __ovld __cnfn get_image_width(write_only image2d_array_msaa_t);
  15739. int __ovld __cnfn get_image_width(write_only image2d_array_msaa_depth_t);
  15740. #endif //cl_khr_gl_msaa_sharing
  15741.  
  15742. #if defined(__opencl_c_read_write_images)
  15743. int __ovld __cnfn get_image_width(read_write image1d_t);
  15744. int __ovld __cnfn get_image_width(read_write image1d_buffer_t);
  15745. int __ovld __cnfn get_image_width(read_write image2d_t);
  15746. #ifdef cl_khr_3d_image_writes
  15747. int __ovld __cnfn get_image_width(read_write image3d_t);
  15748. #endif // cl_khr_3d_image_writes
  15749. int __ovld __cnfn get_image_width(read_write image1d_array_t);
  15750. int __ovld __cnfn get_image_width(read_write image2d_array_t);
  15751. #ifdef cl_khr_depth_images
  15752. int __ovld __cnfn get_image_width(read_write image2d_depth_t);
  15753. int __ovld __cnfn get_image_width(read_write image2d_array_depth_t);
  15754. #endif //cl_khr_depth_images
  15755. #if defined(cl_khr_gl_msaa_sharing)
  15756. int __ovld __cnfn get_image_width(read_write image2d_msaa_t);
  15757. int __ovld __cnfn get_image_width(read_write image2d_msaa_depth_t);
  15758. int __ovld __cnfn get_image_width(read_write image2d_array_msaa_t);
  15759. int __ovld __cnfn get_image_width(read_write image2d_array_msaa_depth_t);
  15760. #endif //cl_khr_gl_msaa_sharing
  15761. #endif //defined(__opencl_c_read_write_images)
  15762.  
  15763. /**
  15764.  * Return the image height in pixels.
  15765.  */
  15766. int __ovld __cnfn get_image_height(read_only image2d_t);
  15767. int __ovld __cnfn get_image_height(read_only image3d_t);
  15768. int __ovld __cnfn get_image_height(read_only image2d_array_t);
  15769. #ifdef cl_khr_depth_images
  15770. int __ovld __cnfn get_image_height(read_only image2d_depth_t);
  15771. int __ovld __cnfn get_image_height(read_only image2d_array_depth_t);
  15772. #endif //cl_khr_depth_images
  15773. #if defined(cl_khr_gl_msaa_sharing)
  15774. int __ovld __cnfn get_image_height(read_only image2d_msaa_t);
  15775. int __ovld __cnfn get_image_height(read_only image2d_msaa_depth_t);
  15776. int __ovld __cnfn get_image_height(read_only image2d_array_msaa_t);
  15777. int __ovld __cnfn get_image_height(read_only image2d_array_msaa_depth_t);
  15778. #endif //cl_khr_gl_msaa_sharing
  15779.  
  15780. int __ovld __cnfn get_image_height(write_only image2d_t);
  15781. #ifdef cl_khr_3d_image_writes
  15782. int __ovld __cnfn get_image_height(write_only image3d_t);
  15783. #endif
  15784. int __ovld __cnfn get_image_height(write_only image2d_array_t);
  15785. #ifdef cl_khr_depth_images
  15786. int __ovld __cnfn get_image_height(write_only image2d_depth_t);
  15787. int __ovld __cnfn get_image_height(write_only image2d_array_depth_t);
  15788. #endif //cl_khr_depth_images
  15789. #if defined(cl_khr_gl_msaa_sharing)
  15790. int __ovld __cnfn get_image_height(write_only image2d_msaa_t);
  15791. int __ovld __cnfn get_image_height(write_only image2d_msaa_depth_t);
  15792. int __ovld __cnfn get_image_height(write_only image2d_array_msaa_t);
  15793. int __ovld __cnfn get_image_height(write_only image2d_array_msaa_depth_t);
  15794. #endif //cl_khr_gl_msaa_sharing
  15795.  
  15796. #if defined(__opencl_c_read_write_images)
  15797. int __ovld __cnfn get_image_height(read_write image2d_t);
  15798. #ifdef cl_khr_3d_image_writes
  15799. int __ovld __cnfn get_image_height(read_write image3d_t);
  15800. #endif // cl_khr_3d_image_writes
  15801. int __ovld __cnfn get_image_height(read_write image2d_array_t);
  15802. #ifdef cl_khr_depth_images
  15803. int __ovld __cnfn get_image_height(read_write image2d_depth_t);
  15804. int __ovld __cnfn get_image_height(read_write image2d_array_depth_t);
  15805. #endif //cl_khr_depth_images
  15806. #if defined(cl_khr_gl_msaa_sharing)
  15807. int __ovld __cnfn get_image_height(read_write image2d_msaa_t);
  15808. int __ovld __cnfn get_image_height(read_write image2d_msaa_depth_t);
  15809. int __ovld __cnfn get_image_height(read_write image2d_array_msaa_t);
  15810. int __ovld __cnfn get_image_height(read_write image2d_array_msaa_depth_t);
  15811. #endif //cl_khr_gl_msaa_sharing
  15812. #endif //defined(__opencl_c_read_write_images)
  15813.  
  15814. /**
  15815.  * Return the image depth in pixels.
  15816.  */
  15817. int __ovld __cnfn get_image_depth(read_only image3d_t);
  15818.  
  15819. #ifdef cl_khr_3d_image_writes
  15820. int __ovld __cnfn get_image_depth(write_only image3d_t);
  15821.  
  15822. #if defined(__opencl_c_read_write_images)
  15823. int __ovld __cnfn get_image_depth(read_write image3d_t);
  15824. #endif //defined(__opencl_c_read_write_images)
  15825. #endif // cl_khr_3d_image_writes
  15826.  
  15827. // OpenCL Extension v2.0 s9.18 - Mipmaps
  15828. #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
  15829. #ifdef cl_khr_mipmap_image
  15830. /**
  15831.  * Return the image miplevels.
  15832.  */
  15833.  
  15834. int __ovld get_image_num_mip_levels(read_only image1d_t);
  15835. int __ovld get_image_num_mip_levels(read_only image2d_t);
  15836. int __ovld get_image_num_mip_levels(read_only image3d_t);
  15837.  
  15838. int __ovld get_image_num_mip_levels(write_only image1d_t);
  15839. int __ovld get_image_num_mip_levels(write_only image2d_t);
  15840. #ifdef cl_khr_3d_image_writes
  15841. int __ovld get_image_num_mip_levels(write_only image3d_t);
  15842. #endif
  15843.  
  15844. #if defined(__opencl_c_read_write_images)
  15845. int __ovld get_image_num_mip_levels(read_write image1d_t);
  15846. int __ovld get_image_num_mip_levels(read_write image2d_t);
  15847. #ifdef cl_khr_3d_image_writes
  15848. int __ovld get_image_num_mip_levels(read_write image3d_t);
  15849. #endif // cl_khr_3d_image_writes
  15850. #endif //defined(__opencl_c_read_write_images)
  15851.  
  15852. int __ovld get_image_num_mip_levels(read_only image1d_array_t);
  15853. int __ovld get_image_num_mip_levels(read_only image2d_array_t);
  15854. #ifdef cl_khr_depth_images
  15855. int __ovld get_image_num_mip_levels(read_only image2d_array_depth_t);
  15856. int __ovld get_image_num_mip_levels(read_only image2d_depth_t);
  15857. #endif // cl_khr_depth_images
  15858.  
  15859. int __ovld get_image_num_mip_levels(write_only image1d_array_t);
  15860. int __ovld get_image_num_mip_levels(write_only image2d_array_t);
  15861. #ifdef cl_khr_depth_images
  15862. int __ovld get_image_num_mip_levels(write_only image2d_array_depth_t);
  15863. int __ovld get_image_num_mip_levels(write_only image2d_depth_t);
  15864. #endif // cl_khr_depth_images
  15865.  
  15866. #if defined(__opencl_c_read_write_images)
  15867. int __ovld get_image_num_mip_levels(read_write image1d_array_t);
  15868. int __ovld get_image_num_mip_levels(read_write image2d_array_t);
  15869. #ifdef cl_khr_depth_images
  15870. int __ovld get_image_num_mip_levels(read_write image2d_array_depth_t);
  15871. int __ovld get_image_num_mip_levels(read_write image2d_depth_t);
  15872. #endif // cl_khr_depth_images
  15873. #endif //defined(__opencl_c_read_write_images)
  15874.  
  15875. #endif //cl_khr_mipmap_image
  15876. #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
  15877.  
  15878. /**
  15879.  * Return the channel data type. Valid values are:
  15880.  * CLK_SNORM_INT8
  15881.  * CLK_SNORM_INT16
  15882.  * CLK_UNORM_INT8
  15883.  * CLK_UNORM_INT16
  15884.  * CLK_UNORM_SHORT_565
  15885.  * CLK_UNORM_SHORT_555
  15886.  * CLK_UNORM_SHORT_101010
  15887.  * CLK_SIGNED_INT8
  15888.  * CLK_SIGNED_INT16
  15889.  * CLK_SIGNED_INT32
  15890.  * CLK_UNSIGNED_INT8
  15891.  * CLK_UNSIGNED_INT16
  15892.  * CLK_UNSIGNED_INT32
  15893.  * CLK_HALF_FLOAT
  15894.  * CLK_FLOAT
  15895.  */
  15896.  
  15897. int __ovld __cnfn get_image_channel_data_type(read_only image1d_t);
  15898. int __ovld __cnfn get_image_channel_data_type(read_only image1d_buffer_t);
  15899. int __ovld __cnfn get_image_channel_data_type(read_only image2d_t);
  15900. int __ovld __cnfn get_image_channel_data_type(read_only image3d_t);
  15901. int __ovld __cnfn get_image_channel_data_type(read_only image1d_array_t);
  15902. int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_t);
  15903. #ifdef cl_khr_depth_images
  15904. int __ovld __cnfn get_image_channel_data_type(read_only image2d_depth_t);
  15905. int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_depth_t);
  15906. #endif //cl_khr_depth_images
  15907. #if defined(cl_khr_gl_msaa_sharing)
  15908. int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_t);
  15909. int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_depth_t);
  15910. int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_t);
  15911. int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_depth_t);
  15912. #endif //cl_khr_gl_msaa_sharing
  15913.  
  15914. int __ovld __cnfn get_image_channel_data_type(write_only image1d_t);
  15915. int __ovld __cnfn get_image_channel_data_type(write_only image1d_buffer_t);
  15916. int __ovld __cnfn get_image_channel_data_type(write_only image2d_t);
  15917. #ifdef cl_khr_3d_image_writes
  15918. int __ovld __cnfn get_image_channel_data_type(write_only image3d_t);
  15919. #endif
  15920. int __ovld __cnfn get_image_channel_data_type(write_only image1d_array_t);
  15921. int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_t);
  15922. #ifdef cl_khr_depth_images
  15923. int __ovld __cnfn get_image_channel_data_type(write_only image2d_depth_t);
  15924. int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_depth_t);
  15925. #endif //cl_khr_depth_images
  15926. #if defined(cl_khr_gl_msaa_sharing)
  15927. int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_t);
  15928. int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_depth_t);
  15929. int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_t);
  15930. int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_depth_t);
  15931. #endif //cl_khr_gl_msaa_sharing
  15932.  
  15933. #if defined(__opencl_c_read_write_images)
  15934. int __ovld __cnfn get_image_channel_data_type(read_write image1d_t);
  15935. int __ovld __cnfn get_image_channel_data_type(read_write image1d_buffer_t);
  15936. int __ovld __cnfn get_image_channel_data_type(read_write image2d_t);
  15937. #ifdef cl_khr_3d_image_writes
  15938. int __ovld __cnfn get_image_channel_data_type(read_write image3d_t);
  15939. #endif // cl_khr_3d_image_writes
  15940. int __ovld __cnfn get_image_channel_data_type(read_write image1d_array_t);
  15941. int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_t);
  15942. #ifdef cl_khr_depth_images
  15943. int __ovld __cnfn get_image_channel_data_type(read_write image2d_depth_t);
  15944. int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_depth_t);
  15945. #endif //cl_khr_depth_images
  15946. #if defined(cl_khr_gl_msaa_sharing)
  15947. int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_t);
  15948. int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_depth_t);
  15949. int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_t);
  15950. int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_depth_t);
  15951. #endif //cl_khr_gl_msaa_sharing
  15952. #endif //defined(__opencl_c_read_write_images)
  15953.  
  15954. /**
  15955.  * Return the image channel order. Valid values are:
  15956.  * CLK_A
  15957.  * CLK_R
  15958.  * CLK_Rx
  15959.  * CLK_RG
  15960.  * CLK_RGx
  15961.  * CLK_RA
  15962.  * CLK_RGB
  15963.  * CLK_RGBx
  15964.  * CLK_RGBA
  15965.  * CLK_ARGB
  15966.  * CLK_BGRA
  15967.  * CLK_INTENSITY
  15968.  * CLK_LUMINANCE
  15969.  */
  15970.  
  15971. int __ovld __cnfn get_image_channel_order(read_only image1d_t);
  15972. int __ovld __cnfn get_image_channel_order(read_only image1d_buffer_t);
  15973. int __ovld __cnfn get_image_channel_order(read_only image2d_t);
  15974. int __ovld __cnfn get_image_channel_order(read_only image3d_t);
  15975. int __ovld __cnfn get_image_channel_order(read_only image1d_array_t);
  15976. int __ovld __cnfn get_image_channel_order(read_only image2d_array_t);
  15977. #ifdef cl_khr_depth_images
  15978. int __ovld __cnfn get_image_channel_order(read_only image2d_depth_t);
  15979. int __ovld __cnfn get_image_channel_order(read_only image2d_array_depth_t);
  15980. #endif //cl_khr_depth_images
  15981. #if defined(cl_khr_gl_msaa_sharing)
  15982. int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_t);
  15983. int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_depth_t);
  15984. int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_t);
  15985. int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_depth_t);
  15986. #endif //cl_khr_gl_msaa_sharing
  15987.  
  15988. int __ovld __cnfn get_image_channel_order(write_only image1d_t);
  15989. int __ovld __cnfn get_image_channel_order(write_only image1d_buffer_t);
  15990. int __ovld __cnfn get_image_channel_order(write_only image2d_t);
  15991. #ifdef cl_khr_3d_image_writes
  15992. int __ovld __cnfn get_image_channel_order(write_only image3d_t);
  15993. #endif
  15994. int __ovld __cnfn get_image_channel_order(write_only image1d_array_t);
  15995. int __ovld __cnfn get_image_channel_order(write_only image2d_array_t);
  15996. #ifdef cl_khr_depth_images
  15997. int __ovld __cnfn get_image_channel_order(write_only image2d_depth_t);
  15998. int __ovld __cnfn get_image_channel_order(write_only image2d_array_depth_t);
  15999. #endif //cl_khr_depth_images
  16000. #if defined(cl_khr_gl_msaa_sharing)
  16001. int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_t);
  16002. int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_depth_t);
  16003. int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_t);
  16004. int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_depth_t);
  16005. #endif //cl_khr_gl_msaa_sharing
  16006.  
  16007. #if defined(__opencl_c_read_write_images)
  16008. int __ovld __cnfn get_image_channel_order(read_write image1d_t);
  16009. int __ovld __cnfn get_image_channel_order(read_write image1d_buffer_t);
  16010. int __ovld __cnfn get_image_channel_order(read_write image2d_t);
  16011. #ifdef cl_khr_3d_image_writes
  16012. int __ovld __cnfn get_image_channel_order(read_write image3d_t);
  16013. #endif // cl_khr_3d_image_writes
  16014. int __ovld __cnfn get_image_channel_order(read_write image1d_array_t);
  16015. int __ovld __cnfn get_image_channel_order(read_write image2d_array_t);
  16016. #ifdef cl_khr_depth_images
  16017. int __ovld __cnfn get_image_channel_order(read_write image2d_depth_t);
  16018. int __ovld __cnfn get_image_channel_order(read_write image2d_array_depth_t);
  16019. #endif //cl_khr_depth_images
  16020. #if defined(cl_khr_gl_msaa_sharing)
  16021. int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_t);
  16022. int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_depth_t);
  16023. int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_t);
  16024. int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_depth_t);
  16025. #endif //cl_khr_gl_msaa_sharing
  16026. #endif //defined(__opencl_c_read_write_images)
  16027.  
  16028. /**
  16029.  * Return the 2D image width and height as an int2
  16030.  * type. The width is returned in the x component, and
  16031.  * the height in the y component.
  16032.  */
  16033. int2 __ovld __cnfn get_image_dim(read_only image2d_t);
  16034. int2 __ovld __cnfn get_image_dim(read_only image2d_array_t);
  16035. #ifdef cl_khr_depth_images
  16036. int2 __ovld __cnfn get_image_dim(read_only image2d_array_depth_t);
  16037. int2 __ovld __cnfn get_image_dim(read_only image2d_depth_t);
  16038. #endif //cl_khr_depth_images
  16039. #if defined(cl_khr_gl_msaa_sharing)
  16040. int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_t);
  16041. int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_depth_t);
  16042. int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_t);
  16043. int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_depth_t);
  16044. #endif //cl_khr_gl_msaa_sharing
  16045.  
  16046. int2 __ovld __cnfn get_image_dim(write_only image2d_t);
  16047. int2 __ovld __cnfn get_image_dim(write_only image2d_array_t);
  16048. #ifdef cl_khr_depth_images
  16049. int2 __ovld __cnfn get_image_dim(write_only image2d_array_depth_t);
  16050. int2 __ovld __cnfn get_image_dim(write_only image2d_depth_t);
  16051. #endif //cl_khr_depth_images
  16052. #if defined(cl_khr_gl_msaa_sharing)
  16053. int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_t);
  16054. int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_depth_t);
  16055. int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_t);
  16056. int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_depth_t);
  16057. #endif //cl_khr_gl_msaa_sharing
  16058.  
  16059. #if defined(__opencl_c_read_write_images)
  16060. int2 __ovld __cnfn get_image_dim(read_write image2d_t);
  16061. int2 __ovld __cnfn get_image_dim(read_write image2d_array_t);
  16062. #ifdef cl_khr_depth_images
  16063. int2 __ovld __cnfn get_image_dim(read_write image2d_array_depth_t);
  16064. int2 __ovld __cnfn get_image_dim(read_write image2d_depth_t);
  16065. #endif //cl_khr_depth_images
  16066. #if defined(cl_khr_gl_msaa_sharing)
  16067. int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_t);
  16068. int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_depth_t);
  16069. int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_t);
  16070. int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_depth_t);
  16071. #endif //cl_khr_gl_msaa_sharing
  16072. #endif //defined(__opencl_c_read_write_images)
  16073.  
  16074. /**
  16075.  * Return the 3D image width, height, and depth as an
  16076.  * int4 type. The width is returned in the x
  16077.  * component, height in the y component, depth in the z
  16078.  * component and the w component is 0.
  16079.  */
  16080. int4 __ovld __cnfn get_image_dim(read_only image3d_t);
  16081. #ifdef cl_khr_3d_image_writes
  16082. int4 __ovld __cnfn get_image_dim(write_only image3d_t);
  16083. #if defined(__opencl_c_read_write_images)
  16084. int4 __ovld __cnfn get_image_dim(read_write image3d_t);
  16085. #endif //defined(__opencl_c_read_write_images)
  16086. #endif // cl_khr_3d_image_writes
  16087.  
  16088. /**
  16089.  * Return the image array size.
  16090.  */
  16091.  
  16092. size_t __ovld __cnfn get_image_array_size(read_only image1d_array_t);
  16093. size_t __ovld __cnfn get_image_array_size(read_only image2d_array_t);
  16094. #ifdef cl_khr_depth_images
  16095. size_t __ovld __cnfn get_image_array_size(read_only image2d_array_depth_t);
  16096. #endif //cl_khr_depth_images
  16097. #if defined(cl_khr_gl_msaa_sharing)
  16098. size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_t);
  16099. size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_depth_t);
  16100. #endif //cl_khr_gl_msaa_sharing
  16101.  
  16102. size_t __ovld __cnfn get_image_array_size(write_only image1d_array_t);
  16103. size_t __ovld __cnfn get_image_array_size(write_only image2d_array_t);
  16104. #ifdef cl_khr_depth_images
  16105. size_t __ovld __cnfn get_image_array_size(write_only image2d_array_depth_t);
  16106. #endif //cl_khr_depth_images
  16107. #if defined(cl_khr_gl_msaa_sharing)
  16108. size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_t);
  16109. size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_depth_t);
  16110. #endif //cl_khr_gl_msaa_sharing
  16111.  
  16112. #if defined(__opencl_c_read_write_images)
  16113. size_t __ovld __cnfn get_image_array_size(read_write image1d_array_t);
  16114. size_t __ovld __cnfn get_image_array_size(read_write image2d_array_t);
  16115. #ifdef cl_khr_depth_images
  16116. size_t __ovld __cnfn get_image_array_size(read_write image2d_array_depth_t);
  16117. #endif //cl_khr_depth_images
  16118. #if defined(cl_khr_gl_msaa_sharing)
  16119. size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_t);
  16120. size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_depth_t);
  16121. #endif //cl_khr_gl_msaa_sharing
  16122. #endif //defined(__opencl_c_read_write_images)
  16123.  
  16124. /**
  16125. * Return the number of samples associated with image
  16126. */
  16127. #if defined(cl_khr_gl_msaa_sharing)
  16128. int __ovld __cnfn get_image_num_samples(read_only image2d_msaa_t);
  16129. int __ovld __cnfn get_image_num_samples(read_only image2d_msaa_depth_t);
  16130. int __ovld __cnfn get_image_num_samples(read_only image2d_array_msaa_t);
  16131. int __ovld __cnfn get_image_num_samples(read_only image2d_array_msaa_depth_t);
  16132.  
  16133. int __ovld __cnfn get_image_num_samples(write_only image2d_msaa_t);
  16134. int __ovld __cnfn get_image_num_samples(write_only image2d_msaa_depth_t);
  16135. int __ovld __cnfn get_image_num_samples(write_only image2d_array_msaa_t);
  16136. int __ovld __cnfn get_image_num_samples(write_only image2d_array_msaa_depth_t);
  16137.  
  16138. #if defined(__opencl_c_read_write_images)
  16139. int __ovld __cnfn get_image_num_samples(read_write image2d_msaa_t);
  16140. int __ovld __cnfn get_image_num_samples(read_write image2d_msaa_depth_t);
  16141. int __ovld __cnfn get_image_num_samples(read_write image2d_array_msaa_t);
  16142. int __ovld __cnfn get_image_num_samples(read_write image2d_array_msaa_depth_t);
  16143. #endif //defined(__opencl_c_read_write_images)
  16144. #endif
  16145.  
  16146. // OpenCL v2.0 s6.13.15 - Work-group Functions
  16147.  
  16148. #if defined(__opencl_c_work_group_collective_functions)
  16149. int __ovld __conv work_group_all(int predicate);
  16150. int __ovld __conv work_group_any(int predicate);
  16151.  
  16152. #ifdef cl_khr_fp16
  16153. half __ovld __conv work_group_broadcast(half, size_t local_id);
  16154. half __ovld __conv work_group_broadcast(half, size_t, size_t);
  16155. half __ovld __conv work_group_broadcast(half, size_t, size_t, size_t);
  16156. #endif
  16157. int __ovld __conv work_group_broadcast(int, size_t local_id);
  16158. int __ovld __conv work_group_broadcast(int, size_t, size_t);
  16159. int __ovld __conv work_group_broadcast(int, size_t, size_t, size_t);
  16160. uint __ovld __conv work_group_broadcast(uint, size_t local_id);
  16161. uint __ovld __conv work_group_broadcast(uint, size_t, size_t);
  16162. uint __ovld __conv work_group_broadcast(uint, size_t, size_t, size_t);
  16163. long __ovld __conv work_group_broadcast(long, size_t local_id);
  16164. long __ovld __conv work_group_broadcast(long, size_t, size_t);
  16165. long __ovld __conv work_group_broadcast(long, size_t, size_t, size_t);
  16166. ulong __ovld __conv work_group_broadcast(ulong, size_t local_id);
  16167. ulong __ovld __conv work_group_broadcast(ulong, size_t, size_t);
  16168. ulong __ovld __conv work_group_broadcast(ulong, size_t, size_t, size_t);
  16169. float __ovld __conv work_group_broadcast(float, size_t local_id);
  16170. float __ovld __conv work_group_broadcast(float, size_t, size_t);
  16171. float __ovld __conv work_group_broadcast(float, size_t, size_t, size_t);
  16172. #ifdef cl_khr_fp64
  16173. double __ovld __conv work_group_broadcast(double, size_t local_id);
  16174. double __ovld __conv work_group_broadcast(double, size_t, size_t);
  16175. double __ovld __conv work_group_broadcast(double, size_t, size_t, size_t);
  16176. #endif //cl_khr_fp64
  16177.  
  16178. #ifdef cl_khr_fp16
  16179. half __ovld __conv work_group_reduce_add(half);
  16180. half __ovld __conv work_group_reduce_min(half);
  16181. half __ovld __conv work_group_reduce_max(half);
  16182. half __ovld __conv work_group_scan_exclusive_add(half);
  16183. half __ovld __conv work_group_scan_exclusive_min(half);
  16184. half __ovld __conv work_group_scan_exclusive_max(half);
  16185. half __ovld __conv work_group_scan_inclusive_add(half);
  16186. half __ovld __conv work_group_scan_inclusive_min(half);
  16187. half __ovld __conv work_group_scan_inclusive_max(half);
  16188. #endif
  16189. int __ovld __conv work_group_reduce_add(int);
  16190. int __ovld __conv work_group_reduce_min(int);
  16191. int __ovld __conv work_group_reduce_max(int);
  16192. int __ovld __conv work_group_scan_exclusive_add(int);
  16193. int __ovld __conv work_group_scan_exclusive_min(int);
  16194. int __ovld __conv work_group_scan_exclusive_max(int);
  16195. int __ovld __conv work_group_scan_inclusive_add(int);
  16196. int __ovld __conv work_group_scan_inclusive_min(int);
  16197. int __ovld __conv work_group_scan_inclusive_max(int);
  16198. uint __ovld __conv work_group_reduce_add(uint);
  16199. uint __ovld __conv work_group_reduce_min(uint);
  16200. uint __ovld __conv work_group_reduce_max(uint);
  16201. uint __ovld __conv work_group_scan_exclusive_add(uint);
  16202. uint __ovld __conv work_group_scan_exclusive_min(uint);
  16203. uint __ovld __conv work_group_scan_exclusive_max(uint);
  16204. uint __ovld __conv work_group_scan_inclusive_add(uint);
  16205. uint __ovld __conv work_group_scan_inclusive_min(uint);
  16206. uint __ovld __conv work_group_scan_inclusive_max(uint);
  16207. long __ovld __conv work_group_reduce_add(long);
  16208. long __ovld __conv work_group_reduce_min(long);
  16209. long __ovld __conv work_group_reduce_max(long);
  16210. long __ovld __conv work_group_scan_exclusive_add(long);
  16211. long __ovld __conv work_group_scan_exclusive_min(long);
  16212. long __ovld __conv work_group_scan_exclusive_max(long);
  16213. long __ovld __conv work_group_scan_inclusive_add(long);
  16214. long __ovld __conv work_group_scan_inclusive_min(long);
  16215. long __ovld __conv work_group_scan_inclusive_max(long);
  16216. ulong __ovld __conv work_group_reduce_add(ulong);
  16217. ulong __ovld __conv work_group_reduce_min(ulong);
  16218. ulong __ovld __conv work_group_reduce_max(ulong);
  16219. ulong __ovld __conv work_group_scan_exclusive_add(ulong);
  16220. ulong __ovld __conv work_group_scan_exclusive_min(ulong);
  16221. ulong __ovld __conv work_group_scan_exclusive_max(ulong);
  16222. ulong __ovld __conv work_group_scan_inclusive_add(ulong);
  16223. ulong __ovld __conv work_group_scan_inclusive_min(ulong);
  16224. ulong __ovld __conv work_group_scan_inclusive_max(ulong);
  16225. float __ovld __conv work_group_reduce_add(float);
  16226. float __ovld __conv work_group_reduce_min(float);
  16227. float __ovld __conv work_group_reduce_max(float);
  16228. float __ovld __conv work_group_scan_exclusive_add(float);
  16229. float __ovld __conv work_group_scan_exclusive_min(float);
  16230. float __ovld __conv work_group_scan_exclusive_max(float);
  16231. float __ovld __conv work_group_scan_inclusive_add(float);
  16232. float __ovld __conv work_group_scan_inclusive_min(float);
  16233. float __ovld __conv work_group_scan_inclusive_max(float);
  16234. #ifdef cl_khr_fp64
  16235. double __ovld __conv work_group_reduce_add(double);
  16236. double __ovld __conv work_group_reduce_min(double);
  16237. double __ovld __conv work_group_reduce_max(double);
  16238. double __ovld __conv work_group_scan_exclusive_add(double);
  16239. double __ovld __conv work_group_scan_exclusive_min(double);
  16240. double __ovld __conv work_group_scan_exclusive_max(double);
  16241. double __ovld __conv work_group_scan_inclusive_add(double);
  16242. double __ovld __conv work_group_scan_inclusive_min(double);
  16243. double __ovld __conv work_group_scan_inclusive_max(double);
  16244. #endif //cl_khr_fp64
  16245.  
  16246. #endif //defined(__opencl_c_work_group_collective_functions)
  16247.  
  16248. // OpenCL v2.0 s6.13.16 - Pipe Functions
  16249. #if defined(__opencl_c_pipes)
  16250. bool __ovld is_valid_reserve_id(reserve_id_t reserve_id);
  16251. #endif //defined(__opencl_c_pipes)
  16252.  
  16253.  
  16254. // OpenCL v2.0 s6.13.17 - Enqueue Kernels
  16255. #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
  16256.  
  16257. #ifdef __opencl_c_device_enqueue
  16258. ndrange_t __ovld ndrange_1D(size_t);
  16259. ndrange_t __ovld ndrange_1D(size_t, size_t);
  16260. ndrange_t __ovld ndrange_1D(size_t, size_t, size_t);
  16261.  
  16262. ndrange_t __ovld ndrange_2D(const size_t[2]);
  16263. ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2]);
  16264. ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2], const size_t[2]);
  16265.  
  16266. ndrange_t __ovld ndrange_3D(const size_t[3]);
  16267. ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3]);
  16268. ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3], const size_t[3]);
  16269.  
  16270. int __ovld enqueue_marker(queue_t, uint, const clk_event_t*, clk_event_t*);
  16271.  
  16272. void __ovld retain_event(clk_event_t);
  16273.  
  16274. void __ovld release_event(clk_event_t);
  16275.  
  16276. clk_event_t __ovld create_user_event(void);
  16277.  
  16278. void __ovld set_user_event_status(clk_event_t e, int state);
  16279.  
  16280. bool __ovld is_valid_event (clk_event_t event);
  16281.  
  16282. void __ovld capture_event_profiling_info(clk_event_t, clk_profiling_info, __global void*);
  16283.  
  16284. queue_t __ovld get_default_queue(void);
  16285. #endif //__opencl_c_device_enqueue
  16286. #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
  16287.  
  16288. // OpenCL Extension v2.0 s9.17 - Sub-groups
  16289.  
  16290. #if defined(__opencl_subgroup_builtins)
  16291. // Shared Sub Group Functions
  16292. uint    __ovld get_sub_group_size(void);
  16293. uint    __ovld get_max_sub_group_size(void);
  16294. uint    __ovld get_num_sub_groups(void);
  16295. #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
  16296. uint    __ovld get_enqueued_num_sub_groups(void);
  16297. #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
  16298. uint    __ovld get_sub_group_id(void);
  16299. uint    __ovld get_sub_group_local_id(void);
  16300.  
  16301. void    __ovld __conv sub_group_barrier(cl_mem_fence_flags);
  16302. #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
  16303. void    __ovld __conv sub_group_barrier(cl_mem_fence_flags, memory_scope);
  16304. #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
  16305.  
  16306. int     __ovld __conv sub_group_all(int predicate);
  16307. int     __ovld __conv sub_group_any(int predicate);
  16308.  
  16309. int     __ovld __conv sub_group_broadcast(int  , uint sub_group_local_id);
  16310. uint    __ovld __conv sub_group_broadcast(uint , uint sub_group_local_id);
  16311. long    __ovld __conv sub_group_broadcast(long , uint sub_group_local_id);
  16312. ulong   __ovld __conv sub_group_broadcast(ulong, uint sub_group_local_id);
  16313. float   __ovld __conv sub_group_broadcast(float, uint sub_group_local_id);
  16314.  
  16315. int     __ovld __conv sub_group_reduce_add(int  );
  16316. uint    __ovld __conv sub_group_reduce_add(uint );
  16317. long    __ovld __conv sub_group_reduce_add(long );
  16318. ulong   __ovld __conv sub_group_reduce_add(ulong);
  16319. float   __ovld __conv sub_group_reduce_add(float);
  16320. int     __ovld __conv sub_group_reduce_min(int  );
  16321. uint    __ovld __conv sub_group_reduce_min(uint );
  16322. long    __ovld __conv sub_group_reduce_min(long );
  16323. ulong   __ovld __conv sub_group_reduce_min(ulong);
  16324. float   __ovld __conv sub_group_reduce_min(float);
  16325. int     __ovld __conv sub_group_reduce_max(int  );
  16326. uint    __ovld __conv sub_group_reduce_max(uint );
  16327. long    __ovld __conv sub_group_reduce_max(long );
  16328. ulong   __ovld __conv sub_group_reduce_max(ulong);
  16329. float   __ovld __conv sub_group_reduce_max(float);
  16330.  
  16331. int     __ovld __conv sub_group_scan_exclusive_add(int  );
  16332. uint    __ovld __conv sub_group_scan_exclusive_add(uint );
  16333. long    __ovld __conv sub_group_scan_exclusive_add(long );
  16334. ulong   __ovld __conv sub_group_scan_exclusive_add(ulong);
  16335. float   __ovld __conv sub_group_scan_exclusive_add(float);
  16336. int     __ovld __conv sub_group_scan_exclusive_min(int  );
  16337. uint    __ovld __conv sub_group_scan_exclusive_min(uint );
  16338. long    __ovld __conv sub_group_scan_exclusive_min(long );
  16339. ulong   __ovld __conv sub_group_scan_exclusive_min(ulong);
  16340. float   __ovld __conv sub_group_scan_exclusive_min(float);
  16341. int     __ovld __conv sub_group_scan_exclusive_max(int  );
  16342. uint    __ovld __conv sub_group_scan_exclusive_max(uint );
  16343. long    __ovld __conv sub_group_scan_exclusive_max(long );
  16344. ulong   __ovld __conv sub_group_scan_exclusive_max(ulong);
  16345. float   __ovld __conv sub_group_scan_exclusive_max(float);
  16346.  
  16347. int     __ovld __conv sub_group_scan_inclusive_add(int  );
  16348. uint    __ovld __conv sub_group_scan_inclusive_add(uint );
  16349. long    __ovld __conv sub_group_scan_inclusive_add(long );
  16350. ulong   __ovld __conv sub_group_scan_inclusive_add(ulong);
  16351. float   __ovld __conv sub_group_scan_inclusive_add(float);
  16352. int     __ovld __conv sub_group_scan_inclusive_min(int  );
  16353. uint    __ovld __conv sub_group_scan_inclusive_min(uint );
  16354. long    __ovld __conv sub_group_scan_inclusive_min(long );
  16355. ulong   __ovld __conv sub_group_scan_inclusive_min(ulong);
  16356. float   __ovld __conv sub_group_scan_inclusive_min(float);
  16357. int     __ovld __conv sub_group_scan_inclusive_max(int  );
  16358. uint    __ovld __conv sub_group_scan_inclusive_max(uint );
  16359. long    __ovld __conv sub_group_scan_inclusive_max(long );
  16360. ulong   __ovld __conv sub_group_scan_inclusive_max(ulong);
  16361. float   __ovld __conv sub_group_scan_inclusive_max(float);
  16362.  
  16363. #ifdef cl_khr_fp16
  16364. half    __ovld __conv sub_group_broadcast(half, uint sub_group_local_id);
  16365. half    __ovld __conv sub_group_reduce_add(half);
  16366. half    __ovld __conv sub_group_reduce_min(half);
  16367. half    __ovld __conv sub_group_reduce_max(half);
  16368. half    __ovld __conv sub_group_scan_exclusive_add(half);
  16369. half    __ovld __conv sub_group_scan_exclusive_min(half);
  16370. half    __ovld __conv sub_group_scan_exclusive_max(half);
  16371. half    __ovld __conv sub_group_scan_inclusive_add(half);
  16372. half    __ovld __conv sub_group_scan_inclusive_min(half);
  16373. half    __ovld __conv sub_group_scan_inclusive_max(half);
  16374. #endif //cl_khr_fp16
  16375.  
  16376. #ifdef cl_khr_fp64
  16377. double  __ovld __conv sub_group_broadcast(double, uint sub_group_local_id);
  16378. double  __ovld __conv sub_group_reduce_add(double);
  16379. double  __ovld __conv sub_group_reduce_min(double);
  16380. double  __ovld __conv sub_group_reduce_max(double);
  16381. double  __ovld __conv sub_group_scan_exclusive_add(double);
  16382. double  __ovld __conv sub_group_scan_exclusive_min(double);
  16383. double  __ovld __conv sub_group_scan_exclusive_max(double);
  16384. double  __ovld __conv sub_group_scan_inclusive_add(double);
  16385. double  __ovld __conv sub_group_scan_inclusive_min(double);
  16386. double  __ovld __conv sub_group_scan_inclusive_max(double);
  16387. #endif //cl_khr_fp64
  16388.  
  16389. #endif // __opencl_subgroup_builtins
  16390.  
  16391. #if defined(cl_khr_subgroup_extended_types)
  16392. char __ovld __conv sub_group_broadcast( char value, uint index );
  16393. char2 __ovld __conv sub_group_broadcast( char2 value, uint index );
  16394. char3 __ovld __conv sub_group_broadcast( char3 value, uint index );
  16395. char4 __ovld __conv sub_group_broadcast( char4 value, uint index );
  16396. char8 __ovld __conv sub_group_broadcast( char8 value, uint index );
  16397. char16 __ovld __conv sub_group_broadcast( char16 value, uint index );
  16398.  
  16399. uchar __ovld __conv sub_group_broadcast( uchar value, uint index );
  16400. uchar2 __ovld __conv sub_group_broadcast( uchar2 value, uint index );
  16401. uchar3 __ovld __conv sub_group_broadcast( uchar3 value, uint index );
  16402. uchar4 __ovld __conv sub_group_broadcast( uchar4 value, uint index );
  16403. uchar8 __ovld __conv sub_group_broadcast( uchar8 value, uint index );
  16404. uchar16 __ovld __conv sub_group_broadcast( uchar16 value, uint index );
  16405.  
  16406. short __ovld __conv sub_group_broadcast( short value, uint index );
  16407. short2 __ovld __conv sub_group_broadcast( short2 value, uint index );
  16408. short3 __ovld __conv sub_group_broadcast( short3 value, uint index );
  16409. short4 __ovld __conv sub_group_broadcast( short4 value, uint index );
  16410. short8 __ovld __conv sub_group_broadcast( short8 value, uint index );
  16411. short16 __ovld __conv sub_group_broadcast( short16 value, uint index );
  16412.  
  16413. ushort __ovld __conv sub_group_broadcast( ushort value, uint index );
  16414. ushort2 __ovld __conv sub_group_broadcast( ushort2 value, uint index );
  16415. ushort3 __ovld __conv sub_group_broadcast( ushort3 value, uint index );
  16416. ushort4 __ovld __conv sub_group_broadcast( ushort4 value, uint index );
  16417. ushort8 __ovld __conv sub_group_broadcast( ushort8 value, uint index );
  16418. ushort16 __ovld __conv sub_group_broadcast( ushort16 value, uint index );
  16419.  
  16420. // scalar int broadcast is part of cl_khr_subgroups
  16421. int2 __ovld __conv sub_group_broadcast( int2 value, uint index );
  16422. int3 __ovld __conv sub_group_broadcast( int3 value, uint index );
  16423. int4 __ovld __conv sub_group_broadcast( int4 value, uint index );
  16424. int8 __ovld __conv sub_group_broadcast( int8 value, uint index );
  16425. int16 __ovld __conv sub_group_broadcast( int16 value, uint index );
  16426.  
  16427. // scalar uint broadcast is part of cl_khr_subgroups
  16428. uint2 __ovld __conv sub_group_broadcast( uint2 value, uint index );
  16429. uint3 __ovld __conv sub_group_broadcast( uint3 value, uint index );
  16430. uint4 __ovld __conv sub_group_broadcast( uint4 value, uint index );
  16431. uint8 __ovld __conv sub_group_broadcast( uint8 value, uint index );
  16432. uint16 __ovld __conv sub_group_broadcast( uint16 value, uint index );
  16433.  
  16434. // scalar long broadcast is part of cl_khr_subgroups
  16435. long2 __ovld __conv sub_group_broadcast( long2 value, uint index );
  16436. long3 __ovld __conv sub_group_broadcast( long3 value, uint index );
  16437. long4 __ovld __conv sub_group_broadcast( long4 value, uint index );
  16438. long8 __ovld __conv sub_group_broadcast( long8 value, uint index );
  16439. long16 __ovld __conv sub_group_broadcast( long16 value, uint index );
  16440.  
  16441. // scalar ulong broadcast is part of cl_khr_subgroups
  16442. ulong2 __ovld __conv sub_group_broadcast( ulong2 value, uint index );
  16443. ulong3 __ovld __conv sub_group_broadcast( ulong3 value, uint index );
  16444. ulong4 __ovld __conv sub_group_broadcast( ulong4 value, uint index );
  16445. ulong8 __ovld __conv sub_group_broadcast( ulong8 value, uint index );
  16446. ulong16 __ovld __conv sub_group_broadcast( ulong16 value, uint index );
  16447.  
  16448. // scalar float broadcast is part of cl_khr_subgroups
  16449. float2 __ovld __conv sub_group_broadcast( float2 value, uint index );
  16450. float3 __ovld __conv sub_group_broadcast( float3 value, uint index );
  16451. float4 __ovld __conv sub_group_broadcast( float4 value, uint index );
  16452. float8 __ovld __conv sub_group_broadcast( float8 value, uint index );
  16453. float16 __ovld __conv sub_group_broadcast( float16 value, uint index );
  16454.  
  16455. char __ovld __conv sub_group_reduce_add( char value );
  16456. uchar __ovld __conv sub_group_reduce_add( uchar value );
  16457. short __ovld __conv sub_group_reduce_add( short value );
  16458. ushort __ovld __conv sub_group_reduce_add( ushort value );
  16459.  
  16460. char __ovld __conv sub_group_reduce_min( char value );
  16461. uchar __ovld __conv sub_group_reduce_min( uchar value );
  16462. short __ovld __conv sub_group_reduce_min( short value );
  16463. ushort __ovld __conv sub_group_reduce_min( ushort value );
  16464.  
  16465. char __ovld __conv sub_group_reduce_max( char value );
  16466. uchar __ovld __conv sub_group_reduce_max( uchar value );
  16467. short __ovld __conv sub_group_reduce_max( short value );
  16468. ushort __ovld __conv sub_group_reduce_max( ushort value );
  16469.  
  16470. char __ovld __conv sub_group_scan_inclusive_add( char value );
  16471. uchar __ovld __conv sub_group_scan_inclusive_add( uchar value );
  16472. short __ovld __conv sub_group_scan_inclusive_add( short value );
  16473. ushort __ovld __conv sub_group_scan_inclusive_add( ushort value );
  16474.  
  16475. char __ovld __conv sub_group_scan_inclusive_min( char value );
  16476. uchar __ovld __conv sub_group_scan_inclusive_min( uchar value );
  16477. short __ovld __conv sub_group_scan_inclusive_min( short value );
  16478. ushort __ovld __conv sub_group_scan_inclusive_min( ushort value );
  16479.  
  16480. char __ovld __conv sub_group_scan_inclusive_max( char value );
  16481. uchar __ovld __conv sub_group_scan_inclusive_max( uchar value );
  16482. short __ovld __conv sub_group_scan_inclusive_max( short value );
  16483. ushort __ovld __conv sub_group_scan_inclusive_max( ushort value );
  16484.  
  16485. char __ovld __conv sub_group_scan_exclusive_add( char value );
  16486. uchar __ovld __conv sub_group_scan_exclusive_add( uchar value );
  16487. short __ovld __conv sub_group_scan_exclusive_add( short value );
  16488. ushort __ovld __conv sub_group_scan_exclusive_add( ushort value );
  16489.  
  16490. char __ovld __conv sub_group_scan_exclusive_min( char value );
  16491. uchar __ovld __conv sub_group_scan_exclusive_min( uchar value );
  16492. short __ovld __conv sub_group_scan_exclusive_min( short value );
  16493. ushort __ovld __conv sub_group_scan_exclusive_min( ushort value );
  16494.  
  16495. char __ovld __conv sub_group_scan_exclusive_max( char value );
  16496. uchar __ovld __conv sub_group_scan_exclusive_max( uchar value );
  16497. short __ovld __conv sub_group_scan_exclusive_max( short value );
  16498. ushort __ovld __conv sub_group_scan_exclusive_max( ushort value );
  16499.  
  16500. #if defined(cl_khr_fp16)
  16501. // scalar half broadcast is part of cl_khr_subgroups
  16502. half2 __ovld __conv sub_group_broadcast( half2 value, uint index );
  16503. half3 __ovld __conv sub_group_broadcast( half3 value, uint index );
  16504. half4 __ovld __conv sub_group_broadcast( half4 value, uint index );
  16505. half8 __ovld __conv sub_group_broadcast( half8 value, uint index );
  16506. half16 __ovld __conv sub_group_broadcast( half16 value, uint index );
  16507. #endif  // cl_khr_fp16
  16508.  
  16509. #if defined(cl_khr_fp64)
  16510. // scalar double broadcast is part of cl_khr_subgroups
  16511. double2 __ovld __conv sub_group_broadcast( double2 value, uint index );
  16512. double3 __ovld __conv sub_group_broadcast( double3 value, uint index );
  16513. double4 __ovld __conv sub_group_broadcast( double4 value, uint index );
  16514. double8 __ovld __conv sub_group_broadcast( double8 value, uint index );
  16515. double16 __ovld __conv sub_group_broadcast( double16 value, uint index );
  16516. #endif  // cl_khr_fp64
  16517.  
  16518. #endif  // cl_khr_subgroup_extended_types
  16519.  
  16520. #if defined(cl_khr_subgroup_non_uniform_vote)
  16521. int     __ovld sub_group_elect(void);
  16522. int     __ovld sub_group_non_uniform_all( int predicate );
  16523. int     __ovld sub_group_non_uniform_any( int predicate );
  16524.  
  16525. int     __ovld sub_group_non_uniform_all_equal( char value );
  16526. int     __ovld sub_group_non_uniform_all_equal( uchar value );
  16527. int     __ovld sub_group_non_uniform_all_equal( short value );
  16528. int     __ovld sub_group_non_uniform_all_equal( ushort value );
  16529. int     __ovld sub_group_non_uniform_all_equal( int value );
  16530. int     __ovld sub_group_non_uniform_all_equal( uint value );
  16531. int     __ovld sub_group_non_uniform_all_equal( long value );
  16532. int     __ovld sub_group_non_uniform_all_equal( ulong value );
  16533. int     __ovld sub_group_non_uniform_all_equal( float value );
  16534.  
  16535. #if defined(cl_khr_fp16)
  16536. int     __ovld sub_group_non_uniform_all_equal( half value );
  16537. #endif // cl_khr_fp16
  16538.  
  16539. #if defined(cl_khr_fp64)
  16540. int     __ovld sub_group_non_uniform_all_equal( double value );
  16541. #endif // cl_khr_fp64
  16542.  
  16543. #endif // cl_khr_subgroup_non_uniform_vote
  16544.  
  16545. #if defined(cl_khr_subgroup_ballot)
  16546. char    __ovld sub_group_non_uniform_broadcast( char value, uint index );
  16547. char2   __ovld sub_group_non_uniform_broadcast( char2 value, uint index );
  16548. char3   __ovld sub_group_non_uniform_broadcast( char3 value, uint index );
  16549. char4   __ovld sub_group_non_uniform_broadcast( char4 value, uint index );
  16550. char8   __ovld sub_group_non_uniform_broadcast( char8 value, uint index );
  16551. char16  __ovld sub_group_non_uniform_broadcast( char16 value, uint index );
  16552.  
  16553. uchar   __ovld sub_group_non_uniform_broadcast( uchar value, uint index );
  16554. uchar2  __ovld sub_group_non_uniform_broadcast( uchar2 value, uint index );
  16555. uchar3  __ovld sub_group_non_uniform_broadcast( uchar3 value, uint index );
  16556. uchar4  __ovld sub_group_non_uniform_broadcast( uchar4 value, uint index );
  16557. uchar8  __ovld sub_group_non_uniform_broadcast( uchar8 value, uint index );
  16558. uchar16 __ovld sub_group_non_uniform_broadcast( uchar16 value, uint index );
  16559.  
  16560. short   __ovld sub_group_non_uniform_broadcast( short value, uint index );
  16561. short2  __ovld sub_group_non_uniform_broadcast( short2 value, uint index );
  16562. short3  __ovld sub_group_non_uniform_broadcast( short3 value, uint index );
  16563. short4  __ovld sub_group_non_uniform_broadcast( short4 value, uint index );
  16564. short8  __ovld sub_group_non_uniform_broadcast( short8 value, uint index );
  16565. short16 __ovld sub_group_non_uniform_broadcast( short16 value, uint index );
  16566.  
  16567. ushort  __ovld sub_group_non_uniform_broadcast( ushort value, uint index );
  16568. ushort2 __ovld sub_group_non_uniform_broadcast( ushort2 value, uint index );
  16569. ushort3 __ovld sub_group_non_uniform_broadcast( ushort3 value, uint index );
  16570. ushort4 __ovld sub_group_non_uniform_broadcast( ushort4 value, uint index );
  16571. ushort8 __ovld sub_group_non_uniform_broadcast( ushort8 value, uint index );
  16572. ushort16 __ovld sub_group_non_uniform_broadcast( ushort16 value, uint index );
  16573.  
  16574. int     __ovld sub_group_non_uniform_broadcast( int value, uint index );
  16575. int2    __ovld sub_group_non_uniform_broadcast( int2 value, uint index );
  16576. int3    __ovld sub_group_non_uniform_broadcast( int3 value, uint index );
  16577. int4    __ovld sub_group_non_uniform_broadcast( int4 value, uint index );
  16578. int8    __ovld sub_group_non_uniform_broadcast( int8 value, uint index );
  16579. int16   __ovld sub_group_non_uniform_broadcast( int16 value, uint index );
  16580.  
  16581. uint    __ovld sub_group_non_uniform_broadcast( uint value, uint index );
  16582. uint2   __ovld sub_group_non_uniform_broadcast( uint2 value, uint index );
  16583. uint3   __ovld sub_group_non_uniform_broadcast( uint3 value, uint index );
  16584. uint4   __ovld sub_group_non_uniform_broadcast( uint4 value, uint index );
  16585. uint8   __ovld sub_group_non_uniform_broadcast( uint8 value, uint index );
  16586. uint16  __ovld sub_group_non_uniform_broadcast( uint16 value, uint index );
  16587.  
  16588. long    __ovld sub_group_non_uniform_broadcast( long value, uint index );
  16589. long2   __ovld sub_group_non_uniform_broadcast( long2 value, uint index );
  16590. long3   __ovld sub_group_non_uniform_broadcast( long3 value, uint index );
  16591. long4   __ovld sub_group_non_uniform_broadcast( long4 value, uint index );
  16592. long8   __ovld sub_group_non_uniform_broadcast( long8 value, uint index );
  16593. long16  __ovld sub_group_non_uniform_broadcast( long16 value, uint index );
  16594.  
  16595. ulong   __ovld sub_group_non_uniform_broadcast( ulong value, uint index );
  16596. ulong2  __ovld sub_group_non_uniform_broadcast( ulong2 value, uint index );
  16597. ulong3  __ovld sub_group_non_uniform_broadcast( ulong3 value, uint index );
  16598. ulong4  __ovld sub_group_non_uniform_broadcast( ulong4 value, uint index );
  16599. ulong8  __ovld sub_group_non_uniform_broadcast( ulong8 value, uint index );
  16600. ulong16 __ovld sub_group_non_uniform_broadcast( ulong16 value, uint index );
  16601.  
  16602. float   __ovld sub_group_non_uniform_broadcast( float value, uint index );
  16603. float2  __ovld sub_group_non_uniform_broadcast( float2 value, uint index );
  16604. float3  __ovld sub_group_non_uniform_broadcast( float3 value, uint index );
  16605. float4  __ovld sub_group_non_uniform_broadcast( float4 value, uint index );
  16606. float8  __ovld sub_group_non_uniform_broadcast( float8 value, uint index );
  16607. float16 __ovld sub_group_non_uniform_broadcast( float16 value, uint index );
  16608.  
  16609. char    __ovld sub_group_broadcast_first( char value );
  16610. uchar   __ovld sub_group_broadcast_first( uchar value );
  16611. short   __ovld sub_group_broadcast_first( short value );
  16612. ushort  __ovld sub_group_broadcast_first( ushort value );
  16613. int     __ovld sub_group_broadcast_first( int value );
  16614. uint    __ovld sub_group_broadcast_first( uint value );
  16615. long    __ovld sub_group_broadcast_first( long value );
  16616. ulong   __ovld sub_group_broadcast_first( ulong value );
  16617. float   __ovld sub_group_broadcast_first( float value );
  16618.  
  16619. uint4   __ovld sub_group_ballot( int predicate );
  16620. int     __ovld __cnfn sub_group_inverse_ballot( uint4 value );
  16621. int     __ovld __cnfn sub_group_ballot_bit_extract( uint4 value, uint index );
  16622. uint    __ovld __cnfn sub_group_ballot_bit_count( uint4 value );
  16623.  
  16624. uint    __ovld sub_group_ballot_inclusive_scan( uint4 value );
  16625. uint    __ovld sub_group_ballot_exclusive_scan( uint4 value );
  16626. uint    __ovld sub_group_ballot_find_lsb( uint4 value );
  16627. uint    __ovld sub_group_ballot_find_msb( uint4 value );
  16628.  
  16629. uint4   __ovld __cnfn get_sub_group_eq_mask(void);
  16630. uint4   __ovld __cnfn get_sub_group_ge_mask(void);
  16631. uint4   __ovld __cnfn get_sub_group_gt_mask(void);
  16632. uint4   __ovld __cnfn get_sub_group_le_mask(void);
  16633. uint4   __ovld __cnfn get_sub_group_lt_mask(void);
  16634.  
  16635. #if defined(cl_khr_fp16)
  16636. half    __ovld sub_group_non_uniform_broadcast( half value, uint index );
  16637. half2   __ovld sub_group_non_uniform_broadcast( half2 value, uint index );
  16638. half3   __ovld sub_group_non_uniform_broadcast( half3 value, uint index );
  16639. half4   __ovld sub_group_non_uniform_broadcast( half4 value, uint index );
  16640. half8   __ovld sub_group_non_uniform_broadcast( half8 value, uint index );
  16641. half16  __ovld sub_group_non_uniform_broadcast( half16 value, uint index );
  16642.  
  16643. half    __ovld sub_group_broadcast_first( half value );
  16644. #endif // cl_khr_fp16
  16645.  
  16646. #if defined(cl_khr_fp64)
  16647. double   __ovld sub_group_non_uniform_broadcast( double value, uint index );
  16648. double2  __ovld sub_group_non_uniform_broadcast( double2 value, uint index );
  16649. double3  __ovld sub_group_non_uniform_broadcast( double3 value, uint index );
  16650. double4  __ovld sub_group_non_uniform_broadcast( double4 value, uint index );
  16651. double8  __ovld sub_group_non_uniform_broadcast( double8 value, uint index );
  16652. double16 __ovld sub_group_non_uniform_broadcast( double16 value, uint index );
  16653.  
  16654. double   __ovld sub_group_broadcast_first( double value );
  16655. #endif // cl_khr_fp64
  16656.  
  16657. #endif // cl_khr_subgroup_ballot
  16658.  
  16659. #if defined(cl_khr_subgroup_non_uniform_arithmetic)
  16660. char    __ovld sub_group_non_uniform_reduce_add( char value );
  16661. uchar   __ovld sub_group_non_uniform_reduce_add( uchar value );
  16662. short   __ovld sub_group_non_uniform_reduce_add( short value );
  16663. ushort  __ovld sub_group_non_uniform_reduce_add( ushort value );
  16664. int     __ovld sub_group_non_uniform_reduce_add( int value );
  16665. uint    __ovld sub_group_non_uniform_reduce_add( uint value );
  16666. long    __ovld sub_group_non_uniform_reduce_add( long value );
  16667. ulong   __ovld sub_group_non_uniform_reduce_add( ulong value );
  16668. float   __ovld sub_group_non_uniform_reduce_add( float value );
  16669.  
  16670. char    __ovld sub_group_non_uniform_reduce_mul( char value );
  16671. uchar   __ovld sub_group_non_uniform_reduce_mul( uchar value );
  16672. short   __ovld sub_group_non_uniform_reduce_mul( short value );
  16673. ushort  __ovld sub_group_non_uniform_reduce_mul( ushort value );
  16674. int     __ovld sub_group_non_uniform_reduce_mul( int value );
  16675. uint    __ovld sub_group_non_uniform_reduce_mul( uint value );
  16676. long    __ovld sub_group_non_uniform_reduce_mul( long value );
  16677. ulong   __ovld sub_group_non_uniform_reduce_mul( ulong value );
  16678. float   __ovld sub_group_non_uniform_reduce_mul( float value );
  16679.  
  16680. char    __ovld sub_group_non_uniform_reduce_min( char value );
  16681. uchar   __ovld sub_group_non_uniform_reduce_min( uchar value );
  16682. short   __ovld sub_group_non_uniform_reduce_min( short value );
  16683. ushort  __ovld sub_group_non_uniform_reduce_min( ushort value );
  16684. int     __ovld sub_group_non_uniform_reduce_min( int value );
  16685. uint    __ovld sub_group_non_uniform_reduce_min( uint value );
  16686. long    __ovld sub_group_non_uniform_reduce_min( long value );
  16687. ulong   __ovld sub_group_non_uniform_reduce_min( ulong value );
  16688. float   __ovld sub_group_non_uniform_reduce_min( float value );
  16689.  
  16690. char    __ovld sub_group_non_uniform_reduce_max( char value );
  16691. uchar   __ovld sub_group_non_uniform_reduce_max( uchar value );
  16692. short   __ovld sub_group_non_uniform_reduce_max( short value );
  16693. ushort  __ovld sub_group_non_uniform_reduce_max( ushort value );
  16694. int     __ovld sub_group_non_uniform_reduce_max( int value );
  16695. uint    __ovld sub_group_non_uniform_reduce_max( uint value );
  16696. long    __ovld sub_group_non_uniform_reduce_max( long value );
  16697. ulong   __ovld sub_group_non_uniform_reduce_max( ulong value );
  16698. float   __ovld sub_group_non_uniform_reduce_max( float value );
  16699.  
  16700. char    __ovld sub_group_non_uniform_scan_inclusive_add( char value );
  16701. uchar   __ovld sub_group_non_uniform_scan_inclusive_add( uchar value );
  16702. short   __ovld sub_group_non_uniform_scan_inclusive_add( short value );
  16703. ushort  __ovld sub_group_non_uniform_scan_inclusive_add( ushort value );
  16704. int     __ovld sub_group_non_uniform_scan_inclusive_add( int value );
  16705. uint    __ovld sub_group_non_uniform_scan_inclusive_add( uint value );
  16706. long    __ovld sub_group_non_uniform_scan_inclusive_add( long value );
  16707. ulong   __ovld sub_group_non_uniform_scan_inclusive_add( ulong value );
  16708. float   __ovld sub_group_non_uniform_scan_inclusive_add( float value );
  16709.  
  16710. char    __ovld sub_group_non_uniform_scan_inclusive_mul( char value );
  16711. uchar   __ovld sub_group_non_uniform_scan_inclusive_mul( uchar value );
  16712. short   __ovld sub_group_non_uniform_scan_inclusive_mul( short value );
  16713. ushort  __ovld sub_group_non_uniform_scan_inclusive_mul( ushort value );
  16714. int     __ovld sub_group_non_uniform_scan_inclusive_mul( int value );
  16715. uint    __ovld sub_group_non_uniform_scan_inclusive_mul( uint value );
  16716. long    __ovld sub_group_non_uniform_scan_inclusive_mul( long value );
  16717. ulong   __ovld sub_group_non_uniform_scan_inclusive_mul( ulong value );
  16718. float   __ovld sub_group_non_uniform_scan_inclusive_mul( float value );
  16719.  
  16720. char    __ovld sub_group_non_uniform_scan_inclusive_min( char value );
  16721. uchar   __ovld sub_group_non_uniform_scan_inclusive_min( uchar value );
  16722. short   __ovld sub_group_non_uniform_scan_inclusive_min( short value );
  16723. ushort  __ovld sub_group_non_uniform_scan_inclusive_min( ushort value );
  16724. int     __ovld sub_group_non_uniform_scan_inclusive_min( int value );
  16725. uint    __ovld sub_group_non_uniform_scan_inclusive_min( uint value );
  16726. long    __ovld sub_group_non_uniform_scan_inclusive_min( long value );
  16727. ulong   __ovld sub_group_non_uniform_scan_inclusive_min( ulong value );
  16728. float   __ovld sub_group_non_uniform_scan_inclusive_min( float value );
  16729.  
  16730. char    __ovld sub_group_non_uniform_scan_inclusive_max( char value );
  16731. uchar   __ovld sub_group_non_uniform_scan_inclusive_max( uchar value );
  16732. short   __ovld sub_group_non_uniform_scan_inclusive_max( short value );
  16733. ushort  __ovld sub_group_non_uniform_scan_inclusive_max( ushort value );
  16734. int     __ovld sub_group_non_uniform_scan_inclusive_max( int value );
  16735. uint    __ovld sub_group_non_uniform_scan_inclusive_max( uint value );
  16736. long    __ovld sub_group_non_uniform_scan_inclusive_max( long value );
  16737. ulong   __ovld sub_group_non_uniform_scan_inclusive_max( ulong value );
  16738. float   __ovld sub_group_non_uniform_scan_inclusive_max( float value );
  16739.  
  16740. char    __ovld sub_group_non_uniform_scan_exclusive_add( char value );
  16741. uchar   __ovld sub_group_non_uniform_scan_exclusive_add( uchar value );
  16742. short   __ovld sub_group_non_uniform_scan_exclusive_add( short value );
  16743. ushort  __ovld sub_group_non_uniform_scan_exclusive_add( ushort value );
  16744. int     __ovld sub_group_non_uniform_scan_exclusive_add( int value );
  16745. uint    __ovld sub_group_non_uniform_scan_exclusive_add( uint value );
  16746. long    __ovld sub_group_non_uniform_scan_exclusive_add( long value );
  16747. ulong   __ovld sub_group_non_uniform_scan_exclusive_add( ulong value );
  16748. float   __ovld sub_group_non_uniform_scan_exclusive_add( float value );
  16749.  
  16750. char    __ovld sub_group_non_uniform_scan_exclusive_mul( char value );
  16751. uchar   __ovld sub_group_non_uniform_scan_exclusive_mul( uchar value );
  16752. short   __ovld sub_group_non_uniform_scan_exclusive_mul( short value );
  16753. ushort  __ovld sub_group_non_uniform_scan_exclusive_mul( ushort value );
  16754. int     __ovld sub_group_non_uniform_scan_exclusive_mul( int value );
  16755. uint    __ovld sub_group_non_uniform_scan_exclusive_mul( uint value );
  16756. long    __ovld sub_group_non_uniform_scan_exclusive_mul( long value );
  16757. ulong   __ovld sub_group_non_uniform_scan_exclusive_mul( ulong value );
  16758. float   __ovld sub_group_non_uniform_scan_exclusive_mul( float value );
  16759.  
  16760. char    __ovld sub_group_non_uniform_scan_exclusive_min( char value );
  16761. uchar   __ovld sub_group_non_uniform_scan_exclusive_min( uchar value );
  16762. short   __ovld sub_group_non_uniform_scan_exclusive_min( short value );
  16763. ushort  __ovld sub_group_non_uniform_scan_exclusive_min( ushort value );
  16764. int     __ovld sub_group_non_uniform_scan_exclusive_min( int value );
  16765. uint    __ovld sub_group_non_uniform_scan_exclusive_min( uint value );
  16766. long    __ovld sub_group_non_uniform_scan_exclusive_min( long value );
  16767. ulong   __ovld sub_group_non_uniform_scan_exclusive_min( ulong value );
  16768. float   __ovld sub_group_non_uniform_scan_exclusive_min( float value );
  16769.  
  16770. char    __ovld sub_group_non_uniform_scan_exclusive_max( char value );
  16771. uchar   __ovld sub_group_non_uniform_scan_exclusive_max( uchar value );
  16772. short   __ovld sub_group_non_uniform_scan_exclusive_max( short value );
  16773. ushort  __ovld sub_group_non_uniform_scan_exclusive_max( ushort value );
  16774. int     __ovld sub_group_non_uniform_scan_exclusive_max( int value );
  16775. uint    __ovld sub_group_non_uniform_scan_exclusive_max( uint value );
  16776. long    __ovld sub_group_non_uniform_scan_exclusive_max( long value );
  16777. ulong   __ovld sub_group_non_uniform_scan_exclusive_max( ulong value );
  16778. float   __ovld sub_group_non_uniform_scan_exclusive_max( float value );
  16779.  
  16780. char    __ovld sub_group_non_uniform_reduce_and( char value );
  16781. uchar   __ovld sub_group_non_uniform_reduce_and( uchar value );
  16782. short   __ovld sub_group_non_uniform_reduce_and( short value );
  16783. ushort  __ovld sub_group_non_uniform_reduce_and( ushort value );
  16784. int     __ovld sub_group_non_uniform_reduce_and( int value );
  16785. uint    __ovld sub_group_non_uniform_reduce_and( uint value );
  16786. long    __ovld sub_group_non_uniform_reduce_and( long value );
  16787. ulong   __ovld sub_group_non_uniform_reduce_and( ulong value );
  16788.  
  16789. char    __ovld sub_group_non_uniform_reduce_or( char value );
  16790. uchar   __ovld sub_group_non_uniform_reduce_or( uchar value );
  16791. short   __ovld sub_group_non_uniform_reduce_or( short value );
  16792. ushort  __ovld sub_group_non_uniform_reduce_or( ushort value );
  16793. int     __ovld sub_group_non_uniform_reduce_or( int value );
  16794. uint    __ovld sub_group_non_uniform_reduce_or( uint value );
  16795. long    __ovld sub_group_non_uniform_reduce_or( long value );
  16796. ulong   __ovld sub_group_non_uniform_reduce_or( ulong value );
  16797.  
  16798. char    __ovld sub_group_non_uniform_reduce_xor( char value );
  16799. uchar   __ovld sub_group_non_uniform_reduce_xor( uchar value );
  16800. short   __ovld sub_group_non_uniform_reduce_xor( short value );
  16801. ushort  __ovld sub_group_non_uniform_reduce_xor( ushort value );
  16802. int     __ovld sub_group_non_uniform_reduce_xor( int value );
  16803. uint    __ovld sub_group_non_uniform_reduce_xor( uint value );
  16804. long    __ovld sub_group_non_uniform_reduce_xor( long value );
  16805. ulong   __ovld sub_group_non_uniform_reduce_xor( ulong value );
  16806.  
  16807. char    __ovld sub_group_non_uniform_scan_inclusive_and( char value );
  16808. uchar   __ovld sub_group_non_uniform_scan_inclusive_and( uchar value );
  16809. short   __ovld sub_group_non_uniform_scan_inclusive_and( short value );
  16810. ushort  __ovld sub_group_non_uniform_scan_inclusive_and( ushort value );
  16811. int     __ovld sub_group_non_uniform_scan_inclusive_and( int value );
  16812. uint    __ovld sub_group_non_uniform_scan_inclusive_and( uint value );
  16813. long    __ovld sub_group_non_uniform_scan_inclusive_and( long value );
  16814. ulong   __ovld sub_group_non_uniform_scan_inclusive_and( ulong value );
  16815.  
  16816. char    __ovld sub_group_non_uniform_scan_inclusive_or( char value );
  16817. uchar   __ovld sub_group_non_uniform_scan_inclusive_or( uchar value );
  16818. short   __ovld sub_group_non_uniform_scan_inclusive_or( short value );
  16819. ushort  __ovld sub_group_non_uniform_scan_inclusive_or( ushort value );
  16820. int     __ovld sub_group_non_uniform_scan_inclusive_or( int value );
  16821. uint    __ovld sub_group_non_uniform_scan_inclusive_or( uint value );
  16822. long    __ovld sub_group_non_uniform_scan_inclusive_or( long value );
  16823. ulong   __ovld sub_group_non_uniform_scan_inclusive_or( ulong value );
  16824.  
  16825. char    __ovld sub_group_non_uniform_scan_inclusive_xor( char value );
  16826. uchar   __ovld sub_group_non_uniform_scan_inclusive_xor( uchar value );
  16827. short   __ovld sub_group_non_uniform_scan_inclusive_xor( short value );
  16828. ushort  __ovld sub_group_non_uniform_scan_inclusive_xor( ushort value );
  16829. int     __ovld sub_group_non_uniform_scan_inclusive_xor( int value );
  16830. uint    __ovld sub_group_non_uniform_scan_inclusive_xor( uint value );
  16831. long    __ovld sub_group_non_uniform_scan_inclusive_xor( long value );
  16832. ulong   __ovld sub_group_non_uniform_scan_inclusive_xor( ulong value );
  16833.  
  16834. char    __ovld sub_group_non_uniform_scan_exclusive_and( char value );
  16835. uchar   __ovld sub_group_non_uniform_scan_exclusive_and( uchar value );
  16836. short   __ovld sub_group_non_uniform_scan_exclusive_and( short value );
  16837. ushort  __ovld sub_group_non_uniform_scan_exclusive_and( ushort value );
  16838. int     __ovld sub_group_non_uniform_scan_exclusive_and( int value );
  16839. uint    __ovld sub_group_non_uniform_scan_exclusive_and( uint value );
  16840. long    __ovld sub_group_non_uniform_scan_exclusive_and( long value );
  16841. ulong   __ovld sub_group_non_uniform_scan_exclusive_and( ulong value );
  16842.  
  16843. char    __ovld sub_group_non_uniform_scan_exclusive_or( char value );
  16844. uchar   __ovld sub_group_non_uniform_scan_exclusive_or( uchar value );
  16845. short   __ovld sub_group_non_uniform_scan_exclusive_or( short value );
  16846. ushort  __ovld sub_group_non_uniform_scan_exclusive_or( ushort value );
  16847. int     __ovld sub_group_non_uniform_scan_exclusive_or( int value );
  16848. uint    __ovld sub_group_non_uniform_scan_exclusive_or( uint value );
  16849. long    __ovld sub_group_non_uniform_scan_exclusive_or( long value );
  16850. ulong   __ovld sub_group_non_uniform_scan_exclusive_or( ulong value );
  16851.  
  16852. char    __ovld sub_group_non_uniform_scan_exclusive_xor( char value );
  16853. uchar   __ovld sub_group_non_uniform_scan_exclusive_xor( uchar value );
  16854. short   __ovld sub_group_non_uniform_scan_exclusive_xor( short value );
  16855. ushort  __ovld sub_group_non_uniform_scan_exclusive_xor( ushort value );
  16856. int     __ovld sub_group_non_uniform_scan_exclusive_xor( int value );
  16857. uint    __ovld sub_group_non_uniform_scan_exclusive_xor( uint value );
  16858. long    __ovld sub_group_non_uniform_scan_exclusive_xor( long value );
  16859. ulong   __ovld sub_group_non_uniform_scan_exclusive_xor( ulong value );
  16860.  
  16861. int     __ovld sub_group_non_uniform_reduce_logical_and( int predicate );
  16862. int     __ovld sub_group_non_uniform_reduce_logical_or( int predicate );
  16863. int     __ovld sub_group_non_uniform_reduce_logical_xor( int predicate );
  16864.  
  16865. int     __ovld sub_group_non_uniform_scan_inclusive_logical_and( int predicate );
  16866. int     __ovld sub_group_non_uniform_scan_inclusive_logical_or( int predicate );
  16867. int     __ovld sub_group_non_uniform_scan_inclusive_logical_xor( int predicate );
  16868.  
  16869. int     __ovld sub_group_non_uniform_scan_exclusive_logical_and( int predicate );
  16870. int     __ovld sub_group_non_uniform_scan_exclusive_logical_or( int predicate );
  16871. int     __ovld sub_group_non_uniform_scan_exclusive_logical_xor( int predicate );
  16872.  
  16873. #if defined(cl_khr_fp16)
  16874. half    __ovld sub_group_non_uniform_reduce_add( half value );
  16875. half    __ovld sub_group_non_uniform_reduce_mul( half value );
  16876. half    __ovld sub_group_non_uniform_reduce_min( half value );
  16877. half    __ovld sub_group_non_uniform_reduce_max( half value );
  16878. half    __ovld sub_group_non_uniform_scan_inclusive_add( half value );
  16879. half    __ovld sub_group_non_uniform_scan_inclusive_mul( half value );
  16880. half    __ovld sub_group_non_uniform_scan_inclusive_min( half value );
  16881. half    __ovld sub_group_non_uniform_scan_inclusive_max( half value );
  16882. half    __ovld sub_group_non_uniform_scan_exclusive_add( half value );
  16883. half    __ovld sub_group_non_uniform_scan_exclusive_mul( half value );
  16884. half    __ovld sub_group_non_uniform_scan_exclusive_min( half value );
  16885. half    __ovld sub_group_non_uniform_scan_exclusive_max( half value );
  16886. #endif // cl_khr_fp16
  16887.  
  16888. #if defined(cl_khr_fp64)
  16889. double  __ovld sub_group_non_uniform_reduce_add( double value );
  16890. double  __ovld sub_group_non_uniform_reduce_mul( double value );
  16891. double  __ovld sub_group_non_uniform_reduce_min( double value );
  16892. double  __ovld sub_group_non_uniform_reduce_max( double value );
  16893. double  __ovld sub_group_non_uniform_scan_inclusive_add( double value );
  16894. double  __ovld sub_group_non_uniform_scan_inclusive_mul( double value );
  16895. double  __ovld sub_group_non_uniform_scan_inclusive_min( double value );
  16896. double  __ovld sub_group_non_uniform_scan_inclusive_max( double value );
  16897. double  __ovld sub_group_non_uniform_scan_exclusive_add( double value );
  16898. double  __ovld sub_group_non_uniform_scan_exclusive_mul( double value );
  16899. double  __ovld sub_group_non_uniform_scan_exclusive_min( double value );
  16900. double  __ovld sub_group_non_uniform_scan_exclusive_max( double value );
  16901. #endif // cl_khr_fp64
  16902.  
  16903. #endif // cl_khr_subgroup_non_uniform_arithmetic
  16904.  
  16905. #if defined(cl_khr_subgroup_shuffle)
  16906. char    __ovld sub_group_shuffle( char value, uint index );
  16907. uchar   __ovld sub_group_shuffle( uchar value, uint index );
  16908. short   __ovld sub_group_shuffle( short value, uint index );
  16909. ushort  __ovld sub_group_shuffle( ushort value, uint index );
  16910. int     __ovld sub_group_shuffle( int value, uint index );
  16911. uint    __ovld sub_group_shuffle( uint value, uint index );
  16912. long    __ovld sub_group_shuffle( long value, uint index );
  16913. ulong   __ovld sub_group_shuffle( ulong value, uint index );
  16914. float   __ovld sub_group_shuffle( float value, uint index );
  16915.  
  16916. char    __ovld sub_group_shuffle_xor( char value, uint mask );
  16917. uchar   __ovld sub_group_shuffle_xor( uchar value, uint mask );
  16918. short   __ovld sub_group_shuffle_xor( short value, uint mask );
  16919. ushort  __ovld sub_group_shuffle_xor( ushort value, uint mask );
  16920. int     __ovld sub_group_shuffle_xor( int value, uint mask );
  16921. uint    __ovld sub_group_shuffle_xor( uint value, uint mask );
  16922. long    __ovld sub_group_shuffle_xor( long value, uint mask );
  16923. ulong   __ovld sub_group_shuffle_xor( ulong value, uint mask );
  16924. float   __ovld sub_group_shuffle_xor( float value, uint mask );
  16925.  
  16926. #if defined(cl_khr_fp16)
  16927. half    __ovld sub_group_shuffle( half value, uint index );
  16928. half    __ovld sub_group_shuffle_xor( half value, uint mask );
  16929. #endif // cl_khr_fp16
  16930.  
  16931. #if defined(cl_khr_fp64)
  16932. double  __ovld sub_group_shuffle( double value, uint index );
  16933. double  __ovld sub_group_shuffle_xor( double value, uint mask );
  16934. #endif // cl_khr_fp64
  16935.  
  16936. #endif // cl_khr_subgroup_shuffle
  16937.  
  16938. #if defined(cl_khr_subgroup_shuffle_relative)
  16939. char    __ovld sub_group_shuffle_up( char value, uint delta );
  16940. uchar   __ovld sub_group_shuffle_up( uchar value, uint delta );
  16941. short   __ovld sub_group_shuffle_up( short value, uint delta );
  16942. ushort  __ovld sub_group_shuffle_up( ushort value, uint delta );
  16943. int     __ovld sub_group_shuffle_up( int value, uint delta );
  16944. uint    __ovld sub_group_shuffle_up( uint value, uint delta );
  16945. long    __ovld sub_group_shuffle_up( long value, uint delta );
  16946. ulong   __ovld sub_group_shuffle_up( ulong value, uint delta );
  16947. float   __ovld sub_group_shuffle_up( float value, uint delta );
  16948.  
  16949. char    __ovld sub_group_shuffle_down( char value, uint delta );
  16950. uchar   __ovld sub_group_shuffle_down( uchar value, uint delta );
  16951. short   __ovld sub_group_shuffle_down( short value, uint delta );
  16952. ushort  __ovld sub_group_shuffle_down( ushort value, uint delta );
  16953. int     __ovld sub_group_shuffle_down( int value, uint delta );
  16954. uint    __ovld sub_group_shuffle_down( uint value, uint delta );
  16955. long    __ovld sub_group_shuffle_down( long value, uint delta );
  16956. ulong   __ovld sub_group_shuffle_down( ulong value, uint delta );
  16957. float   __ovld sub_group_shuffle_down( float value, uint delta );
  16958.  
  16959. #if defined(cl_khr_fp16)
  16960. half    __ovld sub_group_shuffle_up( half value, uint delta );
  16961. half    __ovld sub_group_shuffle_down( half value, uint delta );
  16962. #endif // cl_khr_fp16
  16963.  
  16964. #if defined(cl_khr_fp64)
  16965. double  __ovld sub_group_shuffle_up( double value, uint delta );
  16966. double  __ovld sub_group_shuffle_down( double value, uint delta );
  16967. #endif // cl_khr_fp64
  16968.  
  16969. #endif // cl_khr_subgroup_shuffle_relative
  16970.  
  16971. #if defined(cl_khr_subgroup_clustered_reduce)
  16972. char    __ovld sub_group_clustered_reduce_add( char value, uint clustersize );
  16973. uchar   __ovld sub_group_clustered_reduce_add( uchar value, uint clustersize );
  16974. short   __ovld sub_group_clustered_reduce_add( short value, uint clustersize );
  16975. ushort  __ovld sub_group_clustered_reduce_add( ushort value, uint clustersize );
  16976. int     __ovld sub_group_clustered_reduce_add( int value, uint clustersize );
  16977. uint    __ovld sub_group_clustered_reduce_add( uint value, uint clustersize );
  16978. long    __ovld sub_group_clustered_reduce_add( long value, uint clustersize );
  16979. ulong   __ovld sub_group_clustered_reduce_add( ulong value, uint clustersize );
  16980. float   __ovld sub_group_clustered_reduce_add( float value, uint clustersize );
  16981.  
  16982. char    __ovld sub_group_clustered_reduce_mul( char value, uint clustersize );
  16983. uchar   __ovld sub_group_clustered_reduce_mul( uchar value, uint clustersize );
  16984. short   __ovld sub_group_clustered_reduce_mul( short value, uint clustersize );
  16985. ushort  __ovld sub_group_clustered_reduce_mul( ushort value, uint clustersize );
  16986. int     __ovld sub_group_clustered_reduce_mul( int value, uint clustersize );
  16987. uint    __ovld sub_group_clustered_reduce_mul( uint value, uint clustersize );
  16988. long    __ovld sub_group_clustered_reduce_mul( long value, uint clustersize );
  16989. ulong   __ovld sub_group_clustered_reduce_mul( ulong value, uint clustersize );
  16990. float   __ovld sub_group_clustered_reduce_mul( float value, uint clustersize );
  16991.  
  16992. char    __ovld sub_group_clustered_reduce_min( char value, uint clustersize );
  16993. uchar   __ovld sub_group_clustered_reduce_min( uchar value, uint clustersize );
  16994. short   __ovld sub_group_clustered_reduce_min( short value, uint clustersize );
  16995. ushort  __ovld sub_group_clustered_reduce_min( ushort value, uint clustersize );
  16996. int     __ovld sub_group_clustered_reduce_min( int value, uint clustersize );
  16997. uint    __ovld sub_group_clustered_reduce_min( uint value, uint clustersize );
  16998. long    __ovld sub_group_clustered_reduce_min( long value, uint clustersize );
  16999. ulong   __ovld sub_group_clustered_reduce_min( ulong value, uint clustersize );
  17000. float   __ovld sub_group_clustered_reduce_min( float value, uint clustersize );
  17001.  
  17002. char    __ovld sub_group_clustered_reduce_max( char value, uint clustersize );
  17003. uchar   __ovld sub_group_clustered_reduce_max( uchar value, uint clustersize );
  17004. short   __ovld sub_group_clustered_reduce_max( short value, uint clustersize );
  17005. ushort  __ovld sub_group_clustered_reduce_max( ushort value, uint clustersize );
  17006. int     __ovld sub_group_clustered_reduce_max( int value, uint clustersize );
  17007. uint    __ovld sub_group_clustered_reduce_max( uint value, uint clustersize );
  17008. long    __ovld sub_group_clustered_reduce_max( long value, uint clustersize );
  17009. ulong   __ovld sub_group_clustered_reduce_max( ulong value, uint clustersize );
  17010. float   __ovld sub_group_clustered_reduce_max( float value, uint clustersize );
  17011.  
  17012. char    __ovld sub_group_clustered_reduce_and( char value, uint clustersize );
  17013. uchar   __ovld sub_group_clustered_reduce_and( uchar value, uint clustersize );
  17014. short   __ovld sub_group_clustered_reduce_and( short value, uint clustersize );
  17015. ushort  __ovld sub_group_clustered_reduce_and( ushort value, uint clustersize );
  17016. int     __ovld sub_group_clustered_reduce_and( int value, uint clustersize );
  17017. uint    __ovld sub_group_clustered_reduce_and( uint value, uint clustersize );
  17018. long    __ovld sub_group_clustered_reduce_and( long value, uint clustersize );
  17019. ulong   __ovld sub_group_clustered_reduce_and( ulong value, uint clustersize );
  17020.  
  17021. char    __ovld sub_group_clustered_reduce_or( char value, uint clustersize );
  17022. uchar   __ovld sub_group_clustered_reduce_or( uchar value, uint clustersize );
  17023. short   __ovld sub_group_clustered_reduce_or( short value, uint clustersize );
  17024. ushort  __ovld sub_group_clustered_reduce_or( ushort value, uint clustersize );
  17025. int     __ovld sub_group_clustered_reduce_or( int value, uint clustersize );
  17026. uint    __ovld sub_group_clustered_reduce_or( uint value, uint clustersize );
  17027. long    __ovld sub_group_clustered_reduce_or( long value, uint clustersize );
  17028. ulong   __ovld sub_group_clustered_reduce_or( ulong value, uint clustersize );
  17029.  
  17030. char    __ovld sub_group_clustered_reduce_xor( char value, uint clustersize );
  17031. uchar   __ovld sub_group_clustered_reduce_xor( uchar value, uint clustersize );
  17032. short   __ovld sub_group_clustered_reduce_xor( short value, uint clustersize );
  17033. ushort  __ovld sub_group_clustered_reduce_xor( ushort value, uint clustersize );
  17034. int     __ovld sub_group_clustered_reduce_xor( int value, uint clustersize );
  17035. uint    __ovld sub_group_clustered_reduce_xor( uint value, uint clustersize );
  17036. long    __ovld sub_group_clustered_reduce_xor( long value, uint clustersize );
  17037. ulong   __ovld sub_group_clustered_reduce_xor( ulong value, uint clustersize );
  17038.  
  17039. int     __ovld sub_group_clustered_reduce_logical_and( int predicate, uint clustersize );
  17040. int     __ovld sub_group_clustered_reduce_logical_or( int predicate, uint clustersize );
  17041. int     __ovld sub_group_clustered_reduce_logical_xor( int predicate, uint clustersize );
  17042.  
  17043. #if defined(cl_khr_fp16)
  17044. half    __ovld sub_group_clustered_reduce_add( half value, uint clustersize );
  17045. half    __ovld sub_group_clustered_reduce_mul( half value, uint clustersize );
  17046. half    __ovld sub_group_clustered_reduce_min( half value, uint clustersize );
  17047. half    __ovld sub_group_clustered_reduce_max( half value, uint clustersize );
  17048. #endif // cl_khr_fp16
  17049.  
  17050. #if defined(cl_khr_fp64)
  17051. double  __ovld sub_group_clustered_reduce_add( double value, uint clustersize );
  17052. double  __ovld sub_group_clustered_reduce_mul( double value, uint clustersize );
  17053. double  __ovld sub_group_clustered_reduce_min( double value, uint clustersize );
  17054. double  __ovld sub_group_clustered_reduce_max( double value, uint clustersize );
  17055. #endif // cl_khr_fp64
  17056.  
  17057. #endif // cl_khr_subgroup_clustered_reduce
  17058.  
  17059. #if defined(cl_khr_extended_bit_ops)
  17060. char __ovld __cnfn bitfield_insert(char, char, uint, uint);
  17061. uchar __ovld __cnfn bitfield_insert(uchar, uchar, uint, uint);
  17062. short __ovld __cnfn bitfield_insert(short, short, uint, uint);
  17063. ushort __ovld __cnfn bitfield_insert(ushort, ushort, uint, uint);
  17064. int __ovld __cnfn bitfield_insert(int, int, uint, uint);
  17065. uint __ovld __cnfn bitfield_insert(uint, uint, uint, uint);
  17066. long __ovld __cnfn bitfield_insert(long, long, uint, uint);
  17067. ulong __ovld __cnfn bitfield_insert(ulong, ulong, uint, uint);
  17068. char2 __ovld __cnfn bitfield_insert(char2, char2, uint, uint);
  17069. uchar2 __ovld __cnfn bitfield_insert(uchar2, uchar2, uint, uint);
  17070. short2 __ovld __cnfn bitfield_insert(short2, short2, uint, uint);
  17071. ushort2 __ovld __cnfn bitfield_insert(ushort2, ushort2, uint, uint);
  17072. int2 __ovld __cnfn bitfield_insert(int2, int2, uint, uint);
  17073. uint2 __ovld __cnfn bitfield_insert(uint2, uint2, uint, uint);
  17074. long2 __ovld __cnfn bitfield_insert(long2, long2, uint, uint);
  17075. ulong2 __ovld __cnfn bitfield_insert(ulong2, ulong2, uint, uint);
  17076. char3 __ovld __cnfn bitfield_insert(char3, char3, uint, uint);
  17077. uchar3 __ovld __cnfn bitfield_insert(uchar3, uchar3, uint, uint);
  17078. short3 __ovld __cnfn bitfield_insert(short3, short3, uint, uint);
  17079. ushort3 __ovld __cnfn bitfield_insert(ushort3, ushort3, uint, uint);
  17080. int3 __ovld __cnfn bitfield_insert(int3, int3, uint, uint);
  17081. uint3 __ovld __cnfn bitfield_insert(uint3, uint3, uint, uint);
  17082. long3 __ovld __cnfn bitfield_insert(long3, long3, uint, uint);
  17083. ulong3 __ovld __cnfn bitfield_insert(ulong3, ulong3, uint, uint);
  17084. char4 __ovld __cnfn bitfield_insert(char4, char4, uint, uint);
  17085. uchar4 __ovld __cnfn bitfield_insert(uchar4, uchar4, uint, uint);
  17086. short4 __ovld __cnfn bitfield_insert(short4, short4, uint, uint);
  17087. ushort4 __ovld __cnfn bitfield_insert(ushort4, ushort4, uint, uint);
  17088. int4 __ovld __cnfn bitfield_insert(int4, int4, uint, uint);
  17089. uint4 __ovld __cnfn bitfield_insert(uint4, uint4, uint, uint);
  17090. long4 __ovld __cnfn bitfield_insert(long4, long4, uint, uint);
  17091. ulong4 __ovld __cnfn bitfield_insert(ulong4, ulong4, uint, uint);
  17092. char8 __ovld __cnfn bitfield_insert(char8, char8, uint, uint);
  17093. uchar8 __ovld __cnfn bitfield_insert(uchar8, uchar8, uint, uint);
  17094. short8 __ovld __cnfn bitfield_insert(short8, short8, uint, uint);
  17095. ushort8 __ovld __cnfn bitfield_insert(ushort8, ushort8, uint, uint);
  17096. int8 __ovld __cnfn bitfield_insert(int8, int8, uint, uint);
  17097. uint8 __ovld __cnfn bitfield_insert(uint8, uint8, uint, uint);
  17098. long8 __ovld __cnfn bitfield_insert(long8, long8, uint, uint);
  17099. ulong8 __ovld __cnfn bitfield_insert(ulong8, ulong8, uint, uint);
  17100. char16 __ovld __cnfn bitfield_insert(char16, char16, uint, uint);
  17101. uchar16 __ovld __cnfn bitfield_insert(uchar16, uchar16, uint, uint);
  17102. short16 __ovld __cnfn bitfield_insert(short16, short16, uint, uint);
  17103. ushort16 __ovld __cnfn bitfield_insert(ushort16, ushort16, uint, uint);
  17104. int16 __ovld __cnfn bitfield_insert(int16, int16, uint, uint);
  17105. uint16 __ovld __cnfn bitfield_insert(uint16, uint16, uint, uint);
  17106. long16 __ovld __cnfn bitfield_insert(long16, long16, uint, uint);
  17107. ulong16 __ovld __cnfn bitfield_insert(ulong16, ulong16, uint, uint);
  17108.  
  17109. char __ovld __cnfn bitfield_extract_signed(char, uint, uint);
  17110. short __ovld __cnfn bitfield_extract_signed(short, uint, uint);
  17111. int __ovld __cnfn bitfield_extract_signed(int, uint, uint);
  17112. long __ovld __cnfn bitfield_extract_signed(long, uint, uint);
  17113. char2 __ovld __cnfn bitfield_extract_signed(char2, uint, uint);
  17114. short2 __ovld __cnfn bitfield_extract_signed(short2, uint, uint);
  17115. int2 __ovld __cnfn bitfield_extract_signed(int2, uint, uint);
  17116. long2 __ovld __cnfn bitfield_extract_signed(long2, uint, uint);
  17117. char3 __ovld __cnfn bitfield_extract_signed(char3, uint, uint);
  17118. short3 __ovld __cnfn bitfield_extract_signed(short3, uint, uint);
  17119. int3 __ovld __cnfn bitfield_extract_signed(int3, uint, uint);
  17120. long3 __ovld __cnfn bitfield_extract_signed(long3, uint, uint);
  17121. char4 __ovld __cnfn bitfield_extract_signed(char4, uint, uint);
  17122. short4 __ovld __cnfn bitfield_extract_signed(short4, uint, uint);
  17123. int4 __ovld __cnfn bitfield_extract_signed(int4, uint, uint);
  17124. long4 __ovld __cnfn bitfield_extract_signed(long4, uint, uint);
  17125. char8 __ovld __cnfn bitfield_extract_signed(char8, uint, uint);
  17126. short8 __ovld __cnfn bitfield_extract_signed(short8, uint, uint);
  17127. int8 __ovld __cnfn bitfield_extract_signed(int8, uint, uint);
  17128. long8 __ovld __cnfn bitfield_extract_signed(long8, uint, uint);
  17129. char16 __ovld __cnfn bitfield_extract_signed(char16, uint, uint);
  17130. short16 __ovld __cnfn bitfield_extract_signed(short16, uint, uint);
  17131. int16 __ovld __cnfn bitfield_extract_signed(int16, uint, uint);
  17132. long16 __ovld __cnfn bitfield_extract_signed(long16, uint, uint);
  17133.  
  17134. char __ovld __cnfn bitfield_extract_signed(uchar, uint, uint);
  17135. short __ovld __cnfn bitfield_extract_signed(ushort, uint, uint);
  17136. int __ovld __cnfn bitfield_extract_signed(uint, uint, uint);
  17137. long __ovld __cnfn bitfield_extract_signed(ulong, uint, uint);
  17138. char2 __ovld __cnfn bitfield_extract_signed(uchar2, uint, uint);
  17139. short2 __ovld __cnfn bitfield_extract_signed(ushort2, uint, uint);
  17140. int2 __ovld __cnfn bitfield_extract_signed(uint2, uint, uint);
  17141. long2 __ovld __cnfn bitfield_extract_signed(ulong2, uint, uint);
  17142. char3 __ovld __cnfn bitfield_extract_signed(uchar3, uint, uint);
  17143. short3 __ovld __cnfn bitfield_extract_signed(ushort3, uint, uint);
  17144. int3 __ovld __cnfn bitfield_extract_signed(uint3, uint, uint);
  17145. long3 __ovld __cnfn bitfield_extract_signed(ulong3, uint, uint);
  17146. char4 __ovld __cnfn bitfield_extract_signed(uchar4, uint, uint);
  17147. short4 __ovld __cnfn bitfield_extract_signed(ushort4, uint, uint);
  17148. int4 __ovld __cnfn bitfield_extract_signed(uint4, uint, uint);
  17149. long4 __ovld __cnfn bitfield_extract_signed(ulong4, uint, uint);
  17150. char8 __ovld __cnfn bitfield_extract_signed(uchar8, uint, uint);
  17151. short8 __ovld __cnfn bitfield_extract_signed(ushort8, uint, uint);
  17152. int8 __ovld __cnfn bitfield_extract_signed(uint8, uint, uint);
  17153. long8 __ovld __cnfn bitfield_extract_signed(ulong8, uint, uint);
  17154. char16 __ovld __cnfn bitfield_extract_signed(uchar16, uint, uint);
  17155. short16 __ovld __cnfn bitfield_extract_signed(ushort16, uint, uint);
  17156. int16 __ovld __cnfn bitfield_extract_signed(uint16, uint, uint);
  17157. long16 __ovld __cnfn bitfield_extract_signed(ulong16, uint, uint);
  17158.  
  17159. uchar __ovld __cnfn bitfield_extract_unsigned(char, uint, uint);
  17160. ushort __ovld __cnfn bitfield_extract_unsigned(short, uint, uint);
  17161. uint __ovld __cnfn bitfield_extract_unsigned(int, uint, uint);
  17162. ulong __ovld __cnfn bitfield_extract_unsigned(long, uint, uint);
  17163. uchar2 __ovld __cnfn bitfield_extract_unsigned(char2, uint, uint);
  17164. ushort2 __ovld __cnfn bitfield_extract_unsigned(short2, uint, uint);
  17165. uint2 __ovld __cnfn bitfield_extract_unsigned(int2, uint, uint);
  17166. ulong2 __ovld __cnfn bitfield_extract_unsigned(long2, uint, uint);
  17167. uchar3 __ovld __cnfn bitfield_extract_unsigned(char3, uint, uint);
  17168. ushort3 __ovld __cnfn bitfield_extract_unsigned(short3, uint, uint);
  17169. uint3 __ovld __cnfn bitfield_extract_unsigned(int3, uint, uint);
  17170. ulong3 __ovld __cnfn bitfield_extract_unsigned(long3, uint, uint);
  17171. uchar4 __ovld __cnfn bitfield_extract_unsigned(char4, uint, uint);
  17172. ushort4 __ovld __cnfn bitfield_extract_unsigned(short4, uint, uint);
  17173. uint4 __ovld __cnfn bitfield_extract_unsigned(int4, uint, uint);
  17174. ulong4 __ovld __cnfn bitfield_extract_unsigned(long4, uint, uint);
  17175. uchar8 __ovld __cnfn bitfield_extract_unsigned(char8, uint, uint);
  17176. ushort8 __ovld __cnfn bitfield_extract_unsigned(short8, uint, uint);
  17177. uint8 __ovld __cnfn bitfield_extract_unsigned(int8, uint, uint);
  17178. ulong8 __ovld __cnfn bitfield_extract_unsigned(long8, uint, uint);
  17179. uchar16 __ovld __cnfn bitfield_extract_unsigned(char16, uint, uint);
  17180. ushort16 __ovld __cnfn bitfield_extract_unsigned(short16, uint, uint);
  17181. uint16 __ovld __cnfn bitfield_extract_unsigned(int16, uint, uint);
  17182. ulong16 __ovld __cnfn bitfield_extract_unsigned(long16, uint, uint);
  17183.  
  17184. uchar __ovld __cnfn bitfield_extract_unsigned(uchar, uint, uint);
  17185. ushort __ovld __cnfn bitfield_extract_unsigned(ushort, uint, uint);
  17186. uint __ovld __cnfn bitfield_extract_unsigned(uint, uint, uint);
  17187. ulong __ovld __cnfn bitfield_extract_unsigned(ulong, uint, uint);
  17188. uchar2 __ovld __cnfn bitfield_extract_unsigned(uchar2, uint, uint);
  17189. ushort2 __ovld __cnfn bitfield_extract_unsigned(ushort2, uint, uint);
  17190. uint2 __ovld __cnfn bitfield_extract_unsigned(uint2, uint, uint);
  17191. ulong2 __ovld __cnfn bitfield_extract_unsigned(ulong2, uint, uint);
  17192. uchar3 __ovld __cnfn bitfield_extract_unsigned(uchar3, uint, uint);
  17193. ushort3 __ovld __cnfn bitfield_extract_unsigned(ushort3, uint, uint);
  17194. uint3 __ovld __cnfn bitfield_extract_unsigned(uint3, uint, uint);
  17195. ulong3 __ovld __cnfn bitfield_extract_unsigned(ulong3, uint, uint);
  17196. uchar4 __ovld __cnfn bitfield_extract_unsigned(uchar4, uint, uint);
  17197. ushort4 __ovld __cnfn bitfield_extract_unsigned(ushort4, uint, uint);
  17198. uint4 __ovld __cnfn bitfield_extract_unsigned(uint4, uint, uint);
  17199. ulong4 __ovld __cnfn bitfield_extract_unsigned(ulong4, uint, uint);
  17200. uchar8 __ovld __cnfn bitfield_extract_unsigned(uchar8, uint, uint);
  17201. ushort8 __ovld __cnfn bitfield_extract_unsigned(ushort8, uint, uint);
  17202. uint8 __ovld __cnfn bitfield_extract_unsigned(uint8, uint, uint);
  17203. ulong8 __ovld __cnfn bitfield_extract_unsigned(ulong8, uint, uint);
  17204. uchar16 __ovld __cnfn bitfield_extract_unsigned(uchar16, uint, uint);
  17205. ushort16 __ovld __cnfn bitfield_extract_unsigned(ushort16, uint, uint);
  17206. uint16 __ovld __cnfn bitfield_extract_unsigned(uint16, uint, uint);
  17207. ulong16 __ovld __cnfn bitfield_extract_unsigned(ulong16, uint, uint);
  17208.  
  17209. char __ovld __cnfn bit_reverse(char);
  17210. uchar __ovld __cnfn bit_reverse(uchar);
  17211. short __ovld __cnfn bit_reverse(short);
  17212. ushort __ovld __cnfn bit_reverse(ushort);
  17213. int __ovld __cnfn bit_reverse(int);
  17214. uint __ovld __cnfn bit_reverse(uint);
  17215. long __ovld __cnfn bit_reverse(long);
  17216. ulong __ovld __cnfn bit_reverse(ulong);
  17217. char2 __ovld __cnfn bit_reverse(char2);
  17218. uchar2 __ovld __cnfn bit_reverse(uchar2);
  17219. short2 __ovld __cnfn bit_reverse(short2);
  17220. ushort2 __ovld __cnfn bit_reverse(ushort2);
  17221. int2 __ovld __cnfn bit_reverse(int2);
  17222. uint2 __ovld __cnfn bit_reverse(uint2);
  17223. long2 __ovld __cnfn bit_reverse(long2);
  17224. ulong2 __ovld __cnfn bit_reverse(ulong2);
  17225. char3 __ovld __cnfn bit_reverse(char3);
  17226. uchar3 __ovld __cnfn bit_reverse(uchar3);
  17227. short3 __ovld __cnfn bit_reverse(short3);
  17228. ushort3 __ovld __cnfn bit_reverse(ushort3);
  17229. int3 __ovld __cnfn bit_reverse(int3);
  17230. uint3 __ovld __cnfn bit_reverse(uint3);
  17231. long3 __ovld __cnfn bit_reverse(long3);
  17232. ulong3 __ovld __cnfn bit_reverse(ulong3);
  17233. char4 __ovld __cnfn bit_reverse(char4);
  17234. uchar4 __ovld __cnfn bit_reverse(uchar4);
  17235. short4 __ovld __cnfn bit_reverse(short4);
  17236. ushort4 __ovld __cnfn bit_reverse(ushort4);
  17237. int4 __ovld __cnfn bit_reverse(int4);
  17238. uint4 __ovld __cnfn bit_reverse(uint4);
  17239. long4 __ovld __cnfn bit_reverse(long4);
  17240. ulong4 __ovld __cnfn bit_reverse(ulong4);
  17241. char8 __ovld __cnfn bit_reverse(char8);
  17242. uchar8 __ovld __cnfn bit_reverse(uchar8);
  17243. short8 __ovld __cnfn bit_reverse(short8);
  17244. ushort8 __ovld __cnfn bit_reverse(ushort8);
  17245. int8 __ovld __cnfn bit_reverse(int8);
  17246. uint8 __ovld __cnfn bit_reverse(uint8);
  17247. long8 __ovld __cnfn bit_reverse(long8);
  17248. ulong8 __ovld __cnfn bit_reverse(ulong8);
  17249. char16 __ovld __cnfn bit_reverse(char16);
  17250. uchar16 __ovld __cnfn bit_reverse(uchar16);
  17251. short16 __ovld __cnfn bit_reverse(short16);
  17252. ushort16 __ovld __cnfn bit_reverse(ushort16);
  17253. int16 __ovld __cnfn bit_reverse(int16);
  17254. uint16 __ovld __cnfn bit_reverse(uint16);
  17255. long16 __ovld __cnfn bit_reverse(long16);
  17256. ulong16 __ovld __cnfn bit_reverse(ulong16);
  17257. #endif // cl_khr_extended_bit_ops
  17258.  
  17259. #if defined(__opencl_c_integer_dot_product_input_4x8bit)
  17260. uint __ovld __cnfn dot(uchar4, uchar4);
  17261. int __ovld __cnfn dot(char4, char4);
  17262. int __ovld __cnfn dot(uchar4, char4);
  17263. int __ovld __cnfn dot(char4, uchar4);
  17264.  
  17265. uint __ovld __cnfn dot_acc_sat(uchar4, uchar4, uint);
  17266. int __ovld __cnfn dot_acc_sat(char4, char4, int);
  17267. int __ovld __cnfn dot_acc_sat(uchar4, char4, int);
  17268. int __ovld __cnfn dot_acc_sat(char4, uchar4, int);
  17269. #endif // __opencl_c_integer_dot_product_input_4x8bit
  17270.  
  17271. #if defined(__opencl_c_integer_dot_product_input_4x8bit_packed)
  17272. uint __ovld __cnfn dot_4x8packed_uu_uint(uint, uint);
  17273. int __ovld __cnfn dot_4x8packed_ss_int(uint, uint);
  17274. int __ovld __cnfn dot_4x8packed_us_int(uint, uint);
  17275. int __ovld __cnfn dot_4x8packed_su_int(uint, uint);
  17276.  
  17277. uint __ovld __cnfn dot_acc_sat_4x8packed_uu_uint(uint, uint, uint);
  17278. int __ovld __cnfn dot_acc_sat_4x8packed_ss_int(uint, uint, int);
  17279. int __ovld __cnfn dot_acc_sat_4x8packed_us_int(uint, uint, int);
  17280. int __ovld __cnfn dot_acc_sat_4x8packed_su_int(uint, uint, int);
  17281. #endif // __opencl_c_integer_dot_product_input_4x8bit_packed
  17282.  
  17283. #if defined(cl_khr_subgroup_rotate)
  17284. char __ovld __conv sub_group_rotate(char, int);
  17285. uchar __ovld __conv sub_group_rotate(uchar, int);
  17286. short __ovld __conv sub_group_rotate(short, int);
  17287. ushort __ovld __conv sub_group_rotate(ushort, int);
  17288. int __ovld __conv sub_group_rotate(int, int);
  17289. uint __ovld __conv sub_group_rotate(uint, int);
  17290. long __ovld __conv sub_group_rotate(long, int);
  17291. ulong __ovld __conv sub_group_rotate(ulong, int);
  17292. float __ovld __conv sub_group_rotate(float, int);
  17293. #if defined(cl_khr_fp64)
  17294. double __ovld __conv sub_group_rotate(double, int);
  17295. #endif // cl_khr_fp64
  17296. #if defined(cl_khr_fp16)
  17297. half __ovld __conv sub_group_rotate(half, int);
  17298. #endif // cl_khr_fp16
  17299.  
  17300. char __ovld __conv sub_group_clustered_rotate(char, int, uint);
  17301. uchar __ovld __conv sub_group_clustered_rotate(uchar, int, uint);
  17302. short __ovld __conv sub_group_clustered_rotate(short, int, uint);
  17303. ushort __ovld __conv sub_group_clustered_rotate(ushort, int, uint);
  17304. int __ovld __conv sub_group_clustered_rotate(int, int, uint);
  17305. uint __ovld __conv sub_group_clustered_rotate(uint, int, uint);
  17306. long __ovld __conv sub_group_clustered_rotate(long, int, uint);
  17307. ulong __ovld __conv sub_group_clustered_rotate(ulong, int, uint);
  17308. float __ovld __conv sub_group_clustered_rotate(float, int, uint);
  17309. #if defined(cl_khr_fp64)
  17310. double __ovld __conv sub_group_clustered_rotate(double, int, uint);
  17311. #endif // cl_khr_fp64
  17312. #if defined(cl_khr_fp16)
  17313. half __ovld __conv sub_group_clustered_rotate(half, int, uint);
  17314. #endif // cl_khr_fp16
  17315. #endif // cl_khr_subgroup_rotate
  17316.  
  17317. #if defined(cl_intel_subgroups)
  17318. // Intel-Specific Sub Group Functions
  17319. float   __ovld __conv intel_sub_group_shuffle( float , uint );
  17320. float2  __ovld __conv intel_sub_group_shuffle( float2, uint );
  17321. float3  __ovld __conv intel_sub_group_shuffle( float3, uint );
  17322. float4  __ovld __conv intel_sub_group_shuffle( float4, uint );
  17323. float8  __ovld __conv intel_sub_group_shuffle( float8, uint );
  17324. float16 __ovld __conv intel_sub_group_shuffle( float16, uint );
  17325.  
  17326. int     __ovld __conv intel_sub_group_shuffle( int , uint );
  17327. int2    __ovld __conv intel_sub_group_shuffle( int2, uint );
  17328. int3    __ovld __conv intel_sub_group_shuffle( int3, uint );
  17329. int4    __ovld __conv intel_sub_group_shuffle( int4, uint );
  17330. int8    __ovld __conv intel_sub_group_shuffle( int8, uint );
  17331. int16   __ovld __conv intel_sub_group_shuffle( int16, uint );
  17332.  
  17333. uint    __ovld __conv intel_sub_group_shuffle( uint , uint );
  17334. uint2   __ovld __conv intel_sub_group_shuffle( uint2, uint );
  17335. uint3   __ovld __conv intel_sub_group_shuffle( uint3, uint );
  17336. uint4   __ovld __conv intel_sub_group_shuffle( uint4, uint );
  17337. uint8   __ovld __conv intel_sub_group_shuffle( uint8, uint );
  17338. uint16  __ovld __conv intel_sub_group_shuffle( uint16, uint );
  17339.  
  17340. long    __ovld __conv intel_sub_group_shuffle( long, uint );
  17341. ulong   __ovld __conv intel_sub_group_shuffle( ulong, uint );
  17342.  
  17343. float   __ovld __conv intel_sub_group_shuffle_down( float  cur, float  next, uint );
  17344. float2  __ovld __conv intel_sub_group_shuffle_down( float2 cur, float2 next, uint );
  17345. float3  __ovld __conv intel_sub_group_shuffle_down( float3 cur, float3 next, uint );
  17346. float4  __ovld __conv intel_sub_group_shuffle_down( float4 cur, float4 next, uint );
  17347. float8  __ovld __conv intel_sub_group_shuffle_down( float8 cur, float8 next, uint );
  17348. float16 __ovld __conv intel_sub_group_shuffle_down( float16 cur, float16 next, uint );
  17349.  
  17350. int     __ovld __conv intel_sub_group_shuffle_down( int  cur, int  next, uint );
  17351. int2    __ovld __conv intel_sub_group_shuffle_down( int2 cur, int2 next, uint );
  17352. int3    __ovld __conv intel_sub_group_shuffle_down( int3 cur, int3 next, uint );
  17353. int4    __ovld __conv intel_sub_group_shuffle_down( int4 cur, int4 next, uint );
  17354. int8    __ovld __conv intel_sub_group_shuffle_down( int8 cur, int8 next, uint );
  17355. int16   __ovld __conv intel_sub_group_shuffle_down( int16 cur, int16 next, uint );
  17356.  
  17357. uint    __ovld __conv intel_sub_group_shuffle_down( uint  cur, uint  next, uint );
  17358. uint2   __ovld __conv intel_sub_group_shuffle_down( uint2 cur, uint2 next, uint );
  17359. uint3   __ovld __conv intel_sub_group_shuffle_down( uint3 cur, uint3 next, uint );
  17360. uint4   __ovld __conv intel_sub_group_shuffle_down( uint4 cur, uint4 next, uint );
  17361. uint8   __ovld __conv intel_sub_group_shuffle_down( uint8 cur, uint8 next, uint );
  17362. uint16  __ovld __conv intel_sub_group_shuffle_down( uint16 cur, uint16 next, uint );
  17363.  
  17364. long    __ovld __conv intel_sub_group_shuffle_down( long prev, long cur, uint );
  17365. ulong   __ovld __conv intel_sub_group_shuffle_down( ulong prev, ulong cur, uint );
  17366.  
  17367. float   __ovld __conv intel_sub_group_shuffle_up( float  prev, float  cur, uint );
  17368. float2  __ovld __conv intel_sub_group_shuffle_up( float2 prev, float2 cur, uint );
  17369. float3  __ovld __conv intel_sub_group_shuffle_up( float3 prev, float3 cur, uint );
  17370. float4  __ovld __conv intel_sub_group_shuffle_up( float4 prev, float4 cur, uint );
  17371. float8  __ovld __conv intel_sub_group_shuffle_up( float8 prev, float8 cur, uint );
  17372. float16 __ovld __conv intel_sub_group_shuffle_up( float16 prev, float16 cur, uint );
  17373.  
  17374. int     __ovld __conv intel_sub_group_shuffle_up( int  prev, int  cur, uint );
  17375. int2    __ovld __conv intel_sub_group_shuffle_up( int2 prev, int2 cur, uint );
  17376. int3    __ovld __conv intel_sub_group_shuffle_up( int3 prev, int3 cur, uint );
  17377. int4    __ovld __conv intel_sub_group_shuffle_up( int4 prev, int4 cur, uint );
  17378. int8    __ovld __conv intel_sub_group_shuffle_up( int8 prev, int8 cur, uint );
  17379. int16   __ovld __conv intel_sub_group_shuffle_up( int16 prev, int16 cur, uint );
  17380.  
  17381. uint    __ovld __conv intel_sub_group_shuffle_up( uint  prev, uint  cur, uint );
  17382. uint2   __ovld __conv intel_sub_group_shuffle_up( uint2 prev, uint2 cur, uint );
  17383. uint3   __ovld __conv intel_sub_group_shuffle_up( uint3 prev, uint3 cur, uint );
  17384. uint4   __ovld __conv intel_sub_group_shuffle_up( uint4 prev, uint4 cur, uint );
  17385. uint8   __ovld __conv intel_sub_group_shuffle_up( uint8 prev, uint8 cur, uint );
  17386. uint16  __ovld __conv intel_sub_group_shuffle_up( uint16 prev, uint16 cur, uint );
  17387.  
  17388. long    __ovld __conv intel_sub_group_shuffle_up( long prev, long cur, uint );
  17389. ulong   __ovld __conv intel_sub_group_shuffle_up( ulong prev, ulong cur, uint );
  17390.  
  17391. float   __ovld __conv intel_sub_group_shuffle_xor( float , uint );
  17392. float2  __ovld __conv intel_sub_group_shuffle_xor( float2, uint );
  17393. float3  __ovld __conv intel_sub_group_shuffle_xor( float3, uint );
  17394. float4  __ovld __conv intel_sub_group_shuffle_xor( float4, uint );
  17395. float8  __ovld __conv intel_sub_group_shuffle_xor( float8, uint );
  17396. float16 __ovld __conv intel_sub_group_shuffle_xor( float16, uint );
  17397.  
  17398. int     __ovld __conv intel_sub_group_shuffle_xor( int , uint );
  17399. int2    __ovld __conv intel_sub_group_shuffle_xor( int2, uint );
  17400. int3    __ovld __conv intel_sub_group_shuffle_xor( int3, uint );
  17401. int4    __ovld __conv intel_sub_group_shuffle_xor( int4, uint );
  17402. int8    __ovld __conv intel_sub_group_shuffle_xor( int8, uint );
  17403. int16   __ovld __conv intel_sub_group_shuffle_xor( int16, uint );
  17404.  
  17405. uint    __ovld __conv intel_sub_group_shuffle_xor( uint , uint );
  17406. uint2   __ovld __conv intel_sub_group_shuffle_xor( uint2, uint );
  17407. uint3   __ovld __conv intel_sub_group_shuffle_xor( uint3, uint );
  17408. uint4   __ovld __conv intel_sub_group_shuffle_xor( uint4, uint );
  17409. uint8   __ovld __conv intel_sub_group_shuffle_xor( uint8, uint );
  17410. uint16  __ovld __conv intel_sub_group_shuffle_xor( uint16, uint );
  17411.  
  17412. long    __ovld __conv intel_sub_group_shuffle_xor( long, uint );
  17413. ulong   __ovld __conv intel_sub_group_shuffle_xor( ulong, uint );
  17414.  
  17415. #if defined(__opencl_c_images)
  17416. uint    __ovld __conv intel_sub_group_block_read(read_only image2d_t, int2);
  17417. uint2   __ovld __conv intel_sub_group_block_read2(read_only image2d_t, int2);
  17418. uint4   __ovld __conv intel_sub_group_block_read4(read_only image2d_t, int2);
  17419. uint8   __ovld __conv intel_sub_group_block_read8(read_only image2d_t, int2);
  17420. #endif
  17421.  
  17422. #if defined(__opencl_c_read_write_images)
  17423. uint    __ovld __conv intel_sub_group_block_read(read_write image2d_t, int2);
  17424. uint2   __ovld __conv intel_sub_group_block_read2(read_write image2d_t, int2);
  17425. uint4   __ovld __conv intel_sub_group_block_read4(read_write image2d_t, int2);
  17426. uint8   __ovld __conv intel_sub_group_block_read8(read_write image2d_t, int2);
  17427. #endif // defined(__opencl_c_read_write_images)
  17428.  
  17429. uint    __ovld __conv intel_sub_group_block_read( const __global uint* p );
  17430. uint2   __ovld __conv intel_sub_group_block_read2( const __global uint* p );
  17431. uint4   __ovld __conv intel_sub_group_block_read4( const __global uint* p );
  17432. uint8   __ovld __conv intel_sub_group_block_read8( const __global uint* p );
  17433.  
  17434. #if defined(__opencl_c_images)
  17435. void    __ovld __conv intel_sub_group_block_write(write_only image2d_t, int2, uint);
  17436. void    __ovld __conv intel_sub_group_block_write2(write_only image2d_t, int2, uint2);
  17437. void    __ovld __conv intel_sub_group_block_write4(write_only image2d_t, int2, uint4);
  17438. void    __ovld __conv intel_sub_group_block_write8(write_only image2d_t, int2, uint8);
  17439. #endif // defined(__opencl_c_images)
  17440.  
  17441. #if defined(__opencl_c_read_write_images)
  17442. void    __ovld __conv intel_sub_group_block_write(read_write image2d_t, int2, uint);
  17443. void    __ovld __conv intel_sub_group_block_write2(read_write image2d_t, int2, uint2);
  17444. void    __ovld __conv intel_sub_group_block_write4(read_write image2d_t, int2, uint4);
  17445. void    __ovld __conv intel_sub_group_block_write8(read_write image2d_t, int2, uint8);
  17446. #endif // defined(__opencl_c_read_write_images)
  17447.  
  17448. void    __ovld __conv intel_sub_group_block_write( __global uint* p, uint data );
  17449. void    __ovld __conv intel_sub_group_block_write2( __global uint* p, uint2 data );
  17450. void    __ovld __conv intel_sub_group_block_write4( __global uint* p, uint4 data );
  17451. void    __ovld __conv intel_sub_group_block_write8( __global uint* p, uint8 data );
  17452.  
  17453. #ifdef cl_khr_fp16
  17454. half    __ovld __conv intel_sub_group_shuffle( half, uint );
  17455. half    __ovld __conv intel_sub_group_shuffle_down( half prev, half cur, uint );
  17456. half    __ovld __conv intel_sub_group_shuffle_up( half prev, half cur, uint );
  17457. half    __ovld __conv intel_sub_group_shuffle_xor( half, uint );
  17458. #endif
  17459.  
  17460. #if defined(cl_khr_fp64)
  17461. double  __ovld __conv intel_sub_group_shuffle( double, uint );
  17462. double  __ovld __conv intel_sub_group_shuffle_down( double prev, double cur, uint );
  17463. double  __ovld __conv intel_sub_group_shuffle_up( double prev, double cur, uint );
  17464. double  __ovld __conv intel_sub_group_shuffle_xor( double, uint );
  17465. #endif
  17466.  
  17467. #endif //cl_intel_subgroups
  17468.  
  17469. #if defined(cl_intel_subgroups_short)
  17470. short       __ovld __conv intel_sub_group_broadcast( short , uint sub_group_local_id );
  17471. short2      __ovld __conv intel_sub_group_broadcast( short2, uint sub_group_local_id );
  17472. short3      __ovld __conv intel_sub_group_broadcast( short3, uint sub_group_local_id );
  17473. short4      __ovld __conv intel_sub_group_broadcast( short4, uint sub_group_local_id );
  17474. short8      __ovld __conv intel_sub_group_broadcast( short8, uint sub_group_local_id );
  17475.  
  17476. ushort      __ovld __conv intel_sub_group_broadcast( ushort , uint sub_group_local_id );
  17477. ushort2     __ovld __conv intel_sub_group_broadcast( ushort2, uint sub_group_local_id );
  17478. ushort3     __ovld __conv intel_sub_group_broadcast( ushort3, uint sub_group_local_id );
  17479. ushort4     __ovld __conv intel_sub_group_broadcast( ushort4, uint sub_group_local_id );
  17480. ushort8     __ovld __conv intel_sub_group_broadcast( ushort8, uint sub_group_local_id );
  17481.  
  17482. short       __ovld __conv intel_sub_group_shuffle( short  , uint );
  17483. short2      __ovld __conv intel_sub_group_shuffle( short2 , uint );
  17484. short3      __ovld __conv intel_sub_group_shuffle( short3 , uint );
  17485. short4      __ovld __conv intel_sub_group_shuffle( short4 , uint );
  17486. short8      __ovld __conv intel_sub_group_shuffle( short8 , uint );
  17487. short16     __ovld __conv intel_sub_group_shuffle( short16, uint);
  17488.  
  17489. ushort      __ovld __conv intel_sub_group_shuffle( ushort  , uint );
  17490. ushort2     __ovld __conv intel_sub_group_shuffle( ushort2 , uint );
  17491. ushort3     __ovld __conv intel_sub_group_shuffle( ushort3 , uint );
  17492. ushort4     __ovld __conv intel_sub_group_shuffle( ushort4 , uint );
  17493. ushort8     __ovld __conv intel_sub_group_shuffle( ushort8 , uint );
  17494. ushort16    __ovld __conv intel_sub_group_shuffle( ushort16, uint );
  17495.  
  17496. short       __ovld __conv intel_sub_group_shuffle_down( short   cur, short   next, uint );
  17497. short2      __ovld __conv intel_sub_group_shuffle_down( short2  cur, short2  next, uint );
  17498. short3      __ovld __conv intel_sub_group_shuffle_down( short3  cur, short3  next, uint );
  17499. short4      __ovld __conv intel_sub_group_shuffle_down( short4  cur, short4  next, uint );
  17500. short8      __ovld __conv intel_sub_group_shuffle_down( short8  cur, short8  next, uint );
  17501. short16     __ovld __conv intel_sub_group_shuffle_down( short16 cur, short16 next, uint );
  17502.  
  17503. ushort      __ovld __conv intel_sub_group_shuffle_down( ushort   cur, ushort   next, uint );
  17504. ushort2     __ovld __conv intel_sub_group_shuffle_down( ushort2  cur, ushort2  next, uint );
  17505. ushort3     __ovld __conv intel_sub_group_shuffle_down( ushort3  cur, ushort3  next, uint );
  17506. ushort4     __ovld __conv intel_sub_group_shuffle_down( ushort4  cur, ushort4  next, uint );
  17507. ushort8     __ovld __conv intel_sub_group_shuffle_down( ushort8  cur, ushort8  next, uint );
  17508. ushort16    __ovld __conv intel_sub_group_shuffle_down( ushort16 cur, ushort16 next, uint );
  17509.  
  17510. short       __ovld __conv intel_sub_group_shuffle_up( short   cur, short   next, uint );
  17511. short2      __ovld __conv intel_sub_group_shuffle_up( short2  cur, short2  next, uint );
  17512. short3      __ovld __conv intel_sub_group_shuffle_up( short3  cur, short3  next, uint );
  17513. short4      __ovld __conv intel_sub_group_shuffle_up( short4  cur, short4  next, uint );
  17514. short8      __ovld __conv intel_sub_group_shuffle_up( short8  cur, short8  next, uint );
  17515. short16     __ovld __conv intel_sub_group_shuffle_up( short16 cur, short16 next, uint );
  17516.  
  17517. ushort      __ovld __conv intel_sub_group_shuffle_up( ushort   cur, ushort   next, uint );
  17518. ushort2     __ovld __conv intel_sub_group_shuffle_up( ushort2  cur, ushort2  next, uint );
  17519. ushort3     __ovld __conv intel_sub_group_shuffle_up( ushort3  cur, ushort3  next, uint );
  17520. ushort4     __ovld __conv intel_sub_group_shuffle_up( ushort4  cur, ushort4  next, uint );
  17521. ushort8     __ovld __conv intel_sub_group_shuffle_up( ushort8  cur, ushort8  next, uint );
  17522. ushort16    __ovld __conv intel_sub_group_shuffle_up( ushort16 cur, ushort16 next, uint );
  17523.  
  17524. short       __ovld __conv intel_sub_group_shuffle_xor( short  , uint );
  17525. short2      __ovld __conv intel_sub_group_shuffle_xor( short2 , uint );
  17526. short3      __ovld __conv intel_sub_group_shuffle_xor( short3 , uint );
  17527. short4      __ovld __conv intel_sub_group_shuffle_xor( short4 , uint );
  17528. short8      __ovld __conv intel_sub_group_shuffle_xor( short8 , uint );
  17529. short16     __ovld __conv intel_sub_group_shuffle_xor( short16, uint );
  17530.  
  17531. ushort      __ovld __conv intel_sub_group_shuffle_xor( ushort  , uint );
  17532. ushort2     __ovld __conv intel_sub_group_shuffle_xor( ushort2 , uint );
  17533. ushort3     __ovld __conv intel_sub_group_shuffle_xor( ushort3 , uint );
  17534. ushort4     __ovld __conv intel_sub_group_shuffle_xor( ushort4 , uint );
  17535. ushort8     __ovld __conv intel_sub_group_shuffle_xor( ushort8 , uint );
  17536. ushort16    __ovld __conv intel_sub_group_shuffle_xor( ushort16, uint );
  17537.  
  17538. short       __ovld __conv intel_sub_group_reduce_add( short   x );
  17539. ushort      __ovld __conv intel_sub_group_reduce_add( ushort  x );
  17540. short       __ovld __conv intel_sub_group_reduce_min( short   x );
  17541. ushort      __ovld __conv intel_sub_group_reduce_min( ushort  x );
  17542. short       __ovld __conv intel_sub_group_reduce_max( short   x );
  17543. ushort      __ovld __conv intel_sub_group_reduce_max( ushort  x );
  17544.  
  17545. short       __ovld __conv intel_sub_group_scan_exclusive_add( short   x );
  17546. ushort      __ovld __conv intel_sub_group_scan_exclusive_add( ushort  x );
  17547. short       __ovld __conv intel_sub_group_scan_exclusive_min( short   x );
  17548. ushort      __ovld __conv intel_sub_group_scan_exclusive_min( ushort  x );
  17549. short       __ovld __conv intel_sub_group_scan_exclusive_max( short   x );
  17550. ushort      __ovld __conv intel_sub_group_scan_exclusive_max( ushort  x );
  17551.  
  17552. short       __ovld __conv intel_sub_group_scan_inclusive_add( short   x );
  17553. ushort      __ovld __conv intel_sub_group_scan_inclusive_add( ushort  x );
  17554. short       __ovld __conv intel_sub_group_scan_inclusive_min( short   x );
  17555. ushort      __ovld __conv intel_sub_group_scan_inclusive_min( ushort  x );
  17556. short       __ovld __conv intel_sub_group_scan_inclusive_max( short   x );
  17557. ushort      __ovld __conv intel_sub_group_scan_inclusive_max( ushort  x );
  17558.  
  17559. #if defined(__opencl_c_images)
  17560. uint       __ovld __conv intel_sub_group_block_read_ui(read_only image2d_t, int2);
  17561. uint2      __ovld __conv intel_sub_group_block_read_ui2(read_only image2d_t, int2);
  17562. uint4      __ovld __conv intel_sub_group_block_read_ui4(read_only image2d_t, int2);
  17563. uint8      __ovld __conv intel_sub_group_block_read_ui8(read_only image2d_t, int2);
  17564. #endif // defined(__opencl_c_images)
  17565.  
  17566. #if defined(__opencl_c_read_write_images)
  17567. uint       __ovld __conv intel_sub_group_block_read_ui(read_write image2d_t, int2);
  17568. uint2      __ovld __conv intel_sub_group_block_read_ui2(read_write image2d_t, int2);
  17569. uint4      __ovld __conv intel_sub_group_block_read_ui4(read_write image2d_t, int2);
  17570. uint8      __ovld __conv intel_sub_group_block_read_ui8(read_write image2d_t, int2);
  17571. #endif // defined(__opencl_c_read_write_images)
  17572.  
  17573. uint       __ovld __conv intel_sub_group_block_read_ui( const __global uint* p );
  17574. uint2      __ovld __conv intel_sub_group_block_read_ui2( const __global uint* p );
  17575. uint4      __ovld __conv intel_sub_group_block_read_ui4( const __global uint* p );
  17576. uint8      __ovld __conv intel_sub_group_block_read_ui8( const __global uint* p );
  17577.  
  17578. #if defined(__opencl_c_images)
  17579. void       __ovld __conv intel_sub_group_block_write_ui(read_only image2d_t, int2, uint);
  17580. void       __ovld __conv intel_sub_group_block_write_ui2(read_only image2d_t, int2, uint2);
  17581. void       __ovld __conv intel_sub_group_block_write_ui4(read_only image2d_t, int2, uint4);
  17582. void       __ovld __conv intel_sub_group_block_write_ui8(read_only image2d_t, int2, uint8);
  17583. #endif //defined(__opencl_c_images)
  17584.  
  17585. #if defined(__opencl_c_read_write_images)
  17586. void       __ovld __conv intel_sub_group_block_write_ui(read_write image2d_t, int2, uint);
  17587. void       __ovld __conv intel_sub_group_block_write_ui2(read_write image2d_t, int2, uint2);
  17588. void       __ovld __conv intel_sub_group_block_write_ui4(read_write image2d_t, int2, uint4);
  17589. void       __ovld __conv intel_sub_group_block_write_ui8(read_write image2d_t, int2, uint8);
  17590. #endif // defined(__opencl_c_read_write_images)
  17591.  
  17592. void       __ovld __conv intel_sub_group_block_write_ui( __global uint* p, uint data );
  17593. void       __ovld __conv intel_sub_group_block_write_ui2( __global uint* p, uint2 data );
  17594. void       __ovld __conv intel_sub_group_block_write_ui4( __global uint* p, uint4 data );
  17595. void       __ovld __conv intel_sub_group_block_write_ui8( __global uint* p, uint8 data );
  17596.  
  17597. #if defined(__opencl_c_images)
  17598. ushort      __ovld __conv intel_sub_group_block_read_us(read_only image2d_t, int2);
  17599. ushort2     __ovld __conv intel_sub_group_block_read_us2(read_only image2d_t, int2);
  17600. ushort4     __ovld __conv intel_sub_group_block_read_us4(read_only image2d_t, int2);
  17601. ushort8     __ovld __conv intel_sub_group_block_read_us8(read_only image2d_t, int2);
  17602. #endif // defined(__opencl_c_images)
  17603.  
  17604. #if defined(__opencl_c_read_write_images)
  17605. ushort      __ovld __conv intel_sub_group_block_read_us(read_write image2d_t, int2);
  17606. ushort2     __ovld __conv intel_sub_group_block_read_us2(read_write image2d_t, int2);
  17607. ushort4     __ovld __conv intel_sub_group_block_read_us4(read_write image2d_t, int2);
  17608. ushort8     __ovld __conv intel_sub_group_block_read_us8(read_write image2d_t, int2);
  17609. #endif // defined(__opencl_c_read_write_images)
  17610.  
  17611. ushort      __ovld __conv intel_sub_group_block_read_us(  const __global ushort* p );
  17612. ushort2     __ovld __conv intel_sub_group_block_read_us2( const __global ushort* p );
  17613. ushort4     __ovld __conv intel_sub_group_block_read_us4( const __global ushort* p );
  17614. ushort8     __ovld __conv intel_sub_group_block_read_us8( const __global ushort* p );
  17615.  
  17616. #if defined(__opencl_c_images)
  17617. void        __ovld __conv intel_sub_group_block_write_us(write_only image2d_t, int2, ushort);
  17618. void        __ovld __conv intel_sub_group_block_write_us2(write_only image2d_t, int2, ushort2);
  17619. void        __ovld __conv intel_sub_group_block_write_us4(write_only image2d_t, int2, ushort4);
  17620. void        __ovld __conv intel_sub_group_block_write_us8(write_only image2d_t, int2, ushort8);
  17621. #endif // defined(__opencl_c_images)
  17622.  
  17623. #if defined(__opencl_c_read_write_images)
  17624. void        __ovld __conv intel_sub_group_block_write_us(read_write image2d_t, int2, ushort);
  17625. void        __ovld __conv intel_sub_group_block_write_us2(read_write image2d_t, int2, ushort2);
  17626. void        __ovld __conv intel_sub_group_block_write_us4(read_write image2d_t, int2, ushort4);
  17627. void        __ovld __conv intel_sub_group_block_write_us8(read_write image2d_t, int2, ushort8);
  17628. #endif // defined(__opencl_c_read_write_images)
  17629.  
  17630. void        __ovld __conv intel_sub_group_block_write_us(  __global ushort* p, ushort  data );
  17631. void        __ovld __conv intel_sub_group_block_write_us2( __global ushort* p, ushort2 data );
  17632. void        __ovld __conv intel_sub_group_block_write_us4( __global ushort* p, ushort4 data );
  17633. void        __ovld __conv intel_sub_group_block_write_us8( __global ushort* p, ushort8 data );
  17634. #endif // cl_intel_subgroups_short
  17635.  
  17636. #ifdef cl_intel_device_side_avc_motion_estimation
  17637. #pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : begin
  17638.  
  17639. // MCE built-in functions
  17640. uchar __ovld
  17641. intel_sub_group_avc_mce_get_default_inter_base_multi_reference_penalty(
  17642.     uchar slice_type, uchar qp);
  17643. ulong __ovld intel_sub_group_avc_mce_get_default_inter_shape_penalty(
  17644.     uchar slice_type, uchar qp);
  17645. uchar __ovld intel_sub_group_avc_mce_get_default_inter_direction_penalty(
  17646.     uchar slice_type, uchar qp);
  17647. uint __ovld intel_sub_group_avc_mce_get_default_intra_luma_shape_penalty(
  17648.     uchar slice_type, uchar qp);
  17649. uint2 __ovld
  17650. intel_sub_group_avc_mce_get_default_inter_motion_vector_cost_table(
  17651.     uchar slice_type, uchar qp);
  17652. uchar __ovld intel_sub_group_avc_mce_get_default_intra_luma_mode_penalty(
  17653.     uchar slice_type, uchar qp);
  17654.  
  17655. uint2 __ovld intel_sub_group_avc_mce_get_default_high_penalty_cost_table();
  17656. uint2 __ovld intel_sub_group_avc_mce_get_default_medium_penalty_cost_table();
  17657. uint2 __ovld intel_sub_group_avc_mce_get_default_low_penalty_cost_table();
  17658. uint __ovld intel_sub_group_avc_mce_get_default_non_dc_luma_intra_penalty();
  17659. uchar __ovld
  17660. intel_sub_group_avc_mce_get_default_intra_chroma_mode_base_penalty();
  17661.  
  17662. intel_sub_group_avc_mce_payload_t __ovld
  17663. intel_sub_group_avc_mce_set_inter_base_multi_reference_penalty(
  17664.     uchar reference_base_penalty, intel_sub_group_avc_mce_payload_t payload);
  17665. intel_sub_group_avc_mce_payload_t __ovld
  17666. intel_sub_group_avc_mce_set_inter_shape_penalty(
  17667.     ulong packed_shape_penalty, intel_sub_group_avc_mce_payload_t payload);
  17668. intel_sub_group_avc_mce_payload_t __ovld
  17669. intel_sub_group_avc_mce_set_inter_direction_penalty(
  17670.     uchar direction_cost, intel_sub_group_avc_mce_payload_t payload);
  17671. intel_sub_group_avc_mce_payload_t __ovld
  17672. intel_sub_group_avc_mce_set_motion_vector_cost_function(
  17673.     ulong packed_cost_center_delta, uint2 packed_cost_table,
  17674.     uchar cost_precision, intel_sub_group_avc_mce_payload_t payload);
  17675. intel_sub_group_avc_mce_payload_t __ovld
  17676. intel_sub_group_avc_mce_set_ac_only_haar(
  17677.     intel_sub_group_avc_mce_payload_t payload);
  17678. intel_sub_group_avc_mce_payload_t __ovld
  17679. intel_sub_group_avc_mce_set_source_interlaced_field_polarity(
  17680.     uchar src_field_polarity, intel_sub_group_avc_mce_payload_t payload);
  17681. intel_sub_group_avc_mce_payload_t __ovld
  17682. intel_sub_group_avc_mce_set_single_reference_interlaced_field_polarity(
  17683.     uchar ref_field_polarity, intel_sub_group_avc_mce_payload_t payload);
  17684. intel_sub_group_avc_mce_payload_t __ovld
  17685. intel_sub_group_avc_mce_set_dual_reference_interlaced_field_polarities(
  17686.     uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
  17687.     intel_sub_group_avc_mce_payload_t payload);
  17688.  
  17689. ulong __ovld intel_sub_group_avc_mce_get_motion_vectors(
  17690.     intel_sub_group_avc_mce_result_t result);
  17691. ushort __ovld intel_sub_group_avc_mce_get_inter_distortions(
  17692.     intel_sub_group_avc_mce_result_t result);
  17693. ushort __ovld intel_sub_group_avc_mce_get_best_inter_distortion(
  17694.     intel_sub_group_avc_mce_result_t result);
  17695. uchar __ovld intel_sub_group_avc_mce_get_inter_major_shape(
  17696.     intel_sub_group_avc_mce_result_t result);
  17697. uchar __ovld intel_sub_group_avc_mce_get_inter_minor_shapes(
  17698.     intel_sub_group_avc_mce_result_t result);
  17699. uchar __ovld intel_sub_group_avc_mce_get_inter_directions(
  17700.     intel_sub_group_avc_mce_result_t result);
  17701. uchar __ovld intel_sub_group_avc_mce_get_inter_motion_vector_count(
  17702.     intel_sub_group_avc_mce_result_t result);
  17703. uint __ovld intel_sub_group_avc_mce_get_inter_reference_ids(
  17704.     intel_sub_group_avc_mce_result_t result);
  17705. uchar __ovld
  17706. intel_sub_group_avc_mce_get_inter_reference_interlaced_field_polarities(
  17707.     uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
  17708.     intel_sub_group_avc_mce_result_t result);
  17709.  
  17710. // IME built-in functions
  17711. intel_sub_group_avc_ime_payload_t __ovld
  17712. intel_sub_group_avc_ime_initialize(
  17713.     ushort2 src_coord, uchar partition_mask, uchar sad_adjustment);
  17714. intel_sub_group_avc_ime_payload_t __ovld
  17715. intel_sub_group_avc_ime_set_single_reference(
  17716.     short2 ref_offset, uchar search_window_config,
  17717.     intel_sub_group_avc_ime_payload_t payload);
  17718. intel_sub_group_avc_ime_payload_t __ovld
  17719. intel_sub_group_avc_ime_set_dual_reference(
  17720.     short2 fwd_ref_offset, short2 bwd_ref_offset, uchar search_window_config,
  17721.     intel_sub_group_avc_ime_payload_t payload);
  17722. intel_sub_group_avc_ime_payload_t __ovld
  17723. intel_sub_group_avc_ime_set_max_motion_vector_count(
  17724.     uchar max_motion_vector_count, intel_sub_group_avc_ime_payload_t payload);
  17725. intel_sub_group_avc_ime_payload_t __ovld
  17726. intel_sub_group_avc_ime_set_unidirectional_mix_disable(
  17727.     intel_sub_group_avc_ime_payload_t payload);
  17728. intel_sub_group_avc_ime_payload_t __ovld
  17729. intel_sub_group_avc_ime_set_early_search_termination_threshold(
  17730.     uchar threshold, intel_sub_group_avc_ime_payload_t payload);
  17731. intel_sub_group_avc_ime_payload_t __ovld
  17732. intel_sub_group_avc_ime_set_weighted_sad(
  17733.     uint packed_sad_weights, intel_sub_group_avc_ime_payload_t payload);
  17734.  
  17735. __attribute__((deprecated("If you use the latest Intel driver, please use "
  17736.                           "intel_sub_group_avc_ime_ref_window_size instead",
  17737.                           "intel_sub_group_avc_ime_ref_window_size")))
  17738. ushort2 __ovld
  17739. intel_sub_group_ime_ref_window_size(uchar search_window_config, char dual_ref);
  17740. ushort2 __ovld intel_sub_group_avc_ime_ref_window_size(
  17741.     uchar search_window_config, char dual_ref);
  17742. short2 __ovld intel_sub_group_avc_ime_adjust_ref_offset(
  17743.     short2 ref_offset, ushort2 src_coord, ushort2 ref_window_size,
  17744.     ushort2 image_size);
  17745.  
  17746. #if defined(__opencl_c_images)
  17747. intel_sub_group_avc_ime_result_t __ovld
  17748. intel_sub_group_avc_ime_evaluate_with_single_reference(
  17749.     read_only image2d_t src_image, read_only image2d_t ref_image,
  17750.     sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload);
  17751. intel_sub_group_avc_ime_result_t __ovld
  17752. intel_sub_group_avc_ime_evaluate_with_dual_reference(
  17753.     read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
  17754.     read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
  17755.     intel_sub_group_avc_ime_payload_t payload);
  17756. intel_sub_group_avc_ime_result_single_reference_streamout_t __ovld
  17757. intel_sub_group_avc_ime_evaluate_with_single_reference_streamout(
  17758.     read_only image2d_t src_image, read_only image2d_t ref_image,
  17759.     sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload);
  17760. intel_sub_group_avc_ime_result_dual_reference_streamout_t __ovld
  17761. intel_sub_group_avc_ime_evaluate_with_dual_reference_streamout(
  17762.     read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
  17763.     read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
  17764.     intel_sub_group_avc_ime_payload_t payload);
  17765. intel_sub_group_avc_ime_result_t __ovld
  17766. intel_sub_group_avc_ime_evaluate_with_single_reference_streamin(
  17767.     read_only image2d_t src_image, read_only image2d_t ref_image,
  17768.     sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload,
  17769.     intel_sub_group_avc_ime_single_reference_streamin_t streamin_components);
  17770. intel_sub_group_avc_ime_result_t __ovld
  17771. intel_sub_group_avc_ime_evaluate_with_dual_reference_streamin(
  17772.     read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
  17773.     read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
  17774.     intel_sub_group_avc_ime_payload_t payload,
  17775.     intel_sub_group_avc_ime_dual_reference_streamin_t streamin_components);
  17776. intel_sub_group_avc_ime_result_single_reference_streamout_t __ovld
  17777. intel_sub_group_avc_ime_evaluate_with_single_reference_streaminout(
  17778.     read_only image2d_t src_image, read_only image2d_t ref_image,
  17779.     sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload,
  17780.     intel_sub_group_avc_ime_single_reference_streamin_t streamin_components);
  17781. intel_sub_group_avc_ime_result_dual_reference_streamout_t __ovld
  17782. intel_sub_group_avc_ime_evaluate_with_dual_reference_streaminout(
  17783.     read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
  17784.     read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
  17785.     intel_sub_group_avc_ime_payload_t payload,
  17786.     intel_sub_group_avc_ime_dual_reference_streamin_t streamin_components);
  17787. #endif
  17788.  
  17789. intel_sub_group_avc_ime_single_reference_streamin_t __ovld
  17790. intel_sub_group_avc_ime_get_single_reference_streamin(
  17791.     intel_sub_group_avc_ime_result_single_reference_streamout_t result);
  17792. intel_sub_group_avc_ime_dual_reference_streamin_t __ovld
  17793. intel_sub_group_avc_ime_get_dual_reference_streamin(
  17794.     intel_sub_group_avc_ime_result_dual_reference_streamout_t result);
  17795. intel_sub_group_avc_ime_result_t __ovld
  17796. intel_sub_group_avc_ime_strip_single_reference_streamout(
  17797.     intel_sub_group_avc_ime_result_single_reference_streamout_t result);
  17798. intel_sub_group_avc_ime_result_t __ovld
  17799. intel_sub_group_avc_ime_strip_dual_reference_streamout(
  17800.     intel_sub_group_avc_ime_result_dual_reference_streamout_t result);
  17801.  
  17802. uint __ovld intel_sub_group_avc_ime_get_streamout_major_shape_motion_vectors(
  17803.     intel_sub_group_avc_ime_result_single_reference_streamout_t result,
  17804.     uchar major_shape);
  17805. ushort __ovld intel_sub_group_avc_ime_get_streamout_major_shape_distortions(
  17806.     intel_sub_group_avc_ime_result_single_reference_streamout_t result,
  17807.     uchar major_shape);
  17808. uchar __ovld intel_sub_group_avc_ime_get_streamout_major_shape_reference_ids(
  17809.     intel_sub_group_avc_ime_result_single_reference_streamout_t result,
  17810.     uchar major_shape);
  17811. uint __ovld intel_sub_group_avc_ime_get_streamout_major_shape_motion_vectors(
  17812.     intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
  17813.     uchar major_shape, uchar direction);
  17814. ushort __ovld intel_sub_group_avc_ime_get_streamout_major_shape_distortions(
  17815.     intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
  17816.     uchar major_shape, uchar direction);
  17817. uchar __ovld intel_sub_group_avc_ime_get_streamout_major_shape_reference_ids(
  17818.     intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
  17819.     uchar major_shape, uchar direction);
  17820.  
  17821. uchar __ovld intel_sub_group_avc_ime_get_border_reached(
  17822.     uchar image_select, intel_sub_group_avc_ime_result_t result);
  17823. uchar __ovld intel_sub_group_avc_ime_get_truncated_search_indication(
  17824.     intel_sub_group_avc_ime_result_t result);
  17825. uchar __ovld
  17826. intel_sub_group_avc_ime_get_unidirectional_early_search_termination(
  17827.     intel_sub_group_avc_ime_result_t result);
  17828. uint __ovld intel_sub_group_avc_ime_get_weighting_pattern_minimum_motion_vector(
  17829.     intel_sub_group_avc_ime_result_t result);
  17830. ushort __ovld intel_sub_group_avc_ime_get_weighting_pattern_minimum_distortion(
  17831.     intel_sub_group_avc_ime_result_t result);
  17832.  
  17833. // REF built-in functions
  17834. intel_sub_group_avc_ref_payload_t __ovld
  17835. intel_sub_group_avc_fme_initialize(
  17836.     ushort2 src_coord, ulong motion_vectors, uchar major_shapes,
  17837.     uchar minor_shapes, uchar directions, uchar pixel_resolution,
  17838.     uchar sad_adjustment);
  17839. intel_sub_group_avc_ref_payload_t __ovld
  17840. intel_sub_group_avc_bme_initialize(
  17841.     ushort2 src_coord, ulong motion_vectors, uchar major_shapes,
  17842.     uchar minor_shapes, uchar directions, uchar pixel_resolution,
  17843.     uchar bidirectional_weight, uchar sad_adjustment);
  17844.  
  17845. intel_sub_group_avc_ref_payload_t __ovld
  17846. intel_sub_group_avc_ref_set_bidirectional_mix_disable(
  17847.     intel_sub_group_avc_ref_payload_t payload);
  17848. intel_sub_group_avc_ref_payload_t __ovld
  17849. intel_sub_group_avc_ref_set_bilinear_filter_enable(
  17850.     intel_sub_group_avc_ref_payload_t payload);
  17851.  
  17852. #if defined(__opencl_c_images)
  17853. intel_sub_group_avc_ref_result_t __ovld
  17854. intel_sub_group_avc_ref_evaluate_with_single_reference(
  17855.     read_only image2d_t src_image, read_only image2d_t ref_image,
  17856.     sampler_t vme_media_sampler, intel_sub_group_avc_ref_payload_t payload);
  17857. intel_sub_group_avc_ref_result_t __ovld
  17858. intel_sub_group_avc_ref_evaluate_with_dual_reference(
  17859.     read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
  17860.     read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
  17861.     intel_sub_group_avc_ref_payload_t payload);
  17862. intel_sub_group_avc_ref_result_t __ovld
  17863. intel_sub_group_avc_ref_evaluate_with_multi_reference(
  17864.     read_only image2d_t src_image, uint packed_reference_ids,
  17865.     sampler_t vme_media_sampler, intel_sub_group_avc_ref_payload_t payload);
  17866. intel_sub_group_avc_ref_result_t __ovld
  17867. intel_sub_group_avc_ref_evaluate_with_multi_reference(
  17868.     read_only image2d_t src_image, uint packed_reference_ids,
  17869.     uchar packed_reference_field_polarities, sampler_t vme_media_sampler,
  17870.     intel_sub_group_avc_ref_payload_t payload);
  17871. #endif //defined(__opencl_c_images)
  17872.  
  17873. // SIC built-in functions
  17874. intel_sub_group_avc_sic_payload_t __ovld
  17875. intel_sub_group_avc_sic_initialize(
  17876.     ushort2 src_coord);
  17877. intel_sub_group_avc_sic_payload_t __ovld
  17878. intel_sub_group_avc_sic_configure_skc(
  17879.     uint skip_block_partition_type, uint skip_motion_vector_mask,
  17880.     ulong motion_vectors, uchar bidirectional_weight, uchar skip_sad_adjustment,
  17881.     intel_sub_group_avc_sic_payload_t payload);
  17882. intel_sub_group_avc_sic_payload_t __ovld intel_sub_group_avc_sic_configure_ipe(
  17883.     uchar luma_intra_partition_mask, uchar intra_neighbour_availability,
  17884.     uchar left_edge_luma_pixels, uchar upper_left_corner_luma_pixel,
  17885.     uchar upper_edge_luma_pixels, uchar upper_right_edge_luma_pixels,
  17886.     uchar intra_sad_adjustment, intel_sub_group_avc_sic_payload_t payload);
  17887. intel_sub_group_avc_sic_payload_t __ovld intel_sub_group_avc_sic_configure_ipe(
  17888.     uchar luma_intra_partition_mask, uchar intra_neighbour_availability,
  17889.     uchar left_edge_luma_pixels, uchar upper_left_corner_luma_pixel,
  17890.     uchar upper_edge_luma_pixels, uchar upper_right_edge_luma_pixels,
  17891.     ushort left_edge_chroma_pixels, ushort upper_left_corner_chroma_pixel,
  17892.     ushort upper_edge_chroma_pixels, uchar intra_sad_adjustment,
  17893.     intel_sub_group_avc_sic_payload_t payload);
  17894. uint __ovld
  17895. intel_sub_group_avc_sic_get_motion_vector_mask(
  17896.     uint skip_block_partition_type, uchar direction);
  17897.  
  17898. intel_sub_group_avc_sic_payload_t __ovld
  17899. intel_sub_group_avc_sic_set_intra_luma_shape_penalty(
  17900.     uint packed_shape_cost, intel_sub_group_avc_sic_payload_t payload);
  17901. intel_sub_group_avc_sic_payload_t __ovld
  17902. intel_sub_group_avc_sic_set_intra_luma_mode_cost_function(
  17903.     uchar luma_mode_penalty, uint luma_packed_neighbor_modes,
  17904.     uint luma_packed_non_dc_penalty, intel_sub_group_avc_sic_payload_t payload);
  17905. intel_sub_group_avc_sic_payload_t __ovld
  17906. intel_sub_group_avc_sic_set_intra_chroma_mode_cost_function(
  17907.     uchar chroma_mode_penalty, intel_sub_group_avc_sic_payload_t payload);
  17908.  
  17909. intel_sub_group_avc_sic_payload_t __ovld
  17910. intel_sub_group_avc_sic_set_skc_bilinear_filter_enable(
  17911.     intel_sub_group_avc_sic_payload_t payload);
  17912. intel_sub_group_avc_sic_payload_t __ovld
  17913. intel_sub_group_avc_sic_set_skc_forward_transform_enable(
  17914.     ulong packed_sad_coefficients, intel_sub_group_avc_sic_payload_t payload);
  17915. intel_sub_group_avc_sic_payload_t __ovld
  17916. intel_sub_group_avc_sic_set_block_based_raw_skip_sad(
  17917.     uchar block_based_skip_type,
  17918.     intel_sub_group_avc_sic_payload_t payload);
  17919.  
  17920. #if defined(__opencl_c_images)
  17921. intel_sub_group_avc_sic_result_t __ovld
  17922. intel_sub_group_avc_sic_evaluate_ipe(
  17923.     read_only image2d_t src_image, sampler_t vme_media_sampler,
  17924.     intel_sub_group_avc_sic_payload_t payload);
  17925. intel_sub_group_avc_sic_result_t __ovld
  17926. intel_sub_group_avc_sic_evaluate_with_single_reference(
  17927.     read_only image2d_t src_image, read_only image2d_t ref_image,
  17928.     sampler_t vme_media_sampler, intel_sub_group_avc_sic_payload_t payload);
  17929. intel_sub_group_avc_sic_result_t __ovld
  17930. intel_sub_group_avc_sic_evaluate_with_dual_reference(
  17931.     read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
  17932.     read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
  17933.     intel_sub_group_avc_sic_payload_t payload);
  17934. intel_sub_group_avc_sic_result_t __ovld
  17935. intel_sub_group_avc_sic_evaluate_with_multi_reference(
  17936.     read_only image2d_t src_image, uint packed_reference_ids,
  17937.     sampler_t vme_media_sampler, intel_sub_group_avc_sic_payload_t payload);
  17938. intel_sub_group_avc_sic_result_t __ovld
  17939. intel_sub_group_avc_sic_evaluate_with_multi_reference(
  17940.     read_only image2d_t src_image, uint packed_reference_ids,
  17941.     uchar packed_reference_field_polarities, sampler_t vme_media_sampler,
  17942.     intel_sub_group_avc_sic_payload_t payload);
  17943. #endif //defined(__opencl_c_images)
  17944.  
  17945. uchar __ovld intel_sub_group_avc_sic_get_ipe_luma_shape(
  17946.     intel_sub_group_avc_sic_result_t result);
  17947. ushort __ovld intel_sub_group_avc_sic_get_best_ipe_luma_distortion(
  17948.     intel_sub_group_avc_sic_result_t result);
  17949. ushort __ovld intel_sub_group_avc_sic_get_best_ipe_chroma_distortion(
  17950.     intel_sub_group_avc_sic_result_t result);
  17951. ulong __ovld intel_sub_group_avc_sic_get_packed_ipe_luma_modes(
  17952.     intel_sub_group_avc_sic_result_t result);
  17953. uchar __ovld intel_sub_group_avc_sic_get_ipe_chroma_mode(
  17954.     intel_sub_group_avc_sic_result_t result);
  17955. uint __ovld intel_sub_group_avc_sic_get_packed_skc_luma_count_threshold(
  17956.     intel_sub_group_avc_sic_result_t result);
  17957. ulong __ovld intel_sub_group_avc_sic_get_packed_skc_luma_sum_threshold(
  17958.     intel_sub_group_avc_sic_result_t result);
  17959. ushort __ovld intel_sub_group_avc_sic_get_inter_raw_sads(
  17960.     intel_sub_group_avc_sic_result_t result);
  17961.  
  17962. // Wrappers
  17963. intel_sub_group_avc_ime_payload_t __ovld
  17964. intel_sub_group_avc_ime_set_inter_base_multi_reference_penalty(
  17965.     uchar reference_base_penalty, intel_sub_group_avc_ime_payload_t payload);
  17966. intel_sub_group_avc_ref_payload_t __ovld
  17967. intel_sub_group_avc_ref_set_inter_base_multi_reference_penalty(
  17968.     uchar reference_base_penalty, intel_sub_group_avc_ref_payload_t payload);
  17969. intel_sub_group_avc_sic_payload_t __ovld
  17970. intel_sub_group_avc_sic_set_inter_base_multi_reference_penalty(
  17971.     uchar reference_base_penalty, intel_sub_group_avc_sic_payload_t payload);
  17972.  
  17973. intel_sub_group_avc_ime_payload_t __ovld
  17974. intel_sub_group_avc_ime_set_inter_shape_penalty(
  17975.     ulong packed_shape_cost, intel_sub_group_avc_ime_payload_t payload);
  17976. intel_sub_group_avc_ref_payload_t __ovld
  17977. intel_sub_group_avc_ref_set_inter_shape_penalty(
  17978.     ulong packed_shape_cost, intel_sub_group_avc_ref_payload_t payload);
  17979. intel_sub_group_avc_sic_payload_t __ovld
  17980. intel_sub_group_avc_sic_set_inter_shape_penalty(
  17981.     ulong packed_shape_cost, intel_sub_group_avc_sic_payload_t payload);
  17982.  
  17983. intel_sub_group_avc_ime_payload_t __ovld
  17984. intel_sub_group_avc_ime_set_inter_direction_penalty(
  17985.     uchar direction_cost, intel_sub_group_avc_ime_payload_t payload);
  17986. intel_sub_group_avc_ref_payload_t __ovld
  17987. intel_sub_group_avc_ref_set_inter_direction_penalty(
  17988.     uchar direction_cost, intel_sub_group_avc_ref_payload_t payload);
  17989. intel_sub_group_avc_sic_payload_t __ovld
  17990. intel_sub_group_avc_sic_set_inter_direction_penalty(
  17991.     uchar direction_cost, intel_sub_group_avc_sic_payload_t payload);
  17992.  
  17993. intel_sub_group_avc_ime_payload_t __ovld
  17994. intel_sub_group_avc_ime_set_motion_vector_cost_function(
  17995.     ulong packed_cost_center_delta, uint2 packed_cost_table,
  17996.     uchar cost_precision, intel_sub_group_avc_ime_payload_t payload);
  17997. intel_sub_group_avc_ref_payload_t __ovld
  17998. intel_sub_group_avc_ref_set_motion_vector_cost_function(
  17999.     ulong packed_cost_center_delta, uint2 packed_cost_table,
  18000.     uchar cost_precision, intel_sub_group_avc_ref_payload_t payload);
  18001. intel_sub_group_avc_sic_payload_t __ovld
  18002. intel_sub_group_avc_sic_set_motion_vector_cost_function(
  18003.     ulong packed_cost_center_delta, uint2 packed_cost_table,
  18004.     uchar cost_precision, intel_sub_group_avc_sic_payload_t payload);
  18005.  
  18006. intel_sub_group_avc_ime_payload_t __ovld
  18007. intel_sub_group_avc_ime_set_source_interlaced_field_polarity(
  18008.     uchar src_field_polarity, intel_sub_group_avc_ime_payload_t payload);
  18009. intel_sub_group_avc_ref_payload_t __ovld
  18010. intel_sub_group_avc_ref_set_source_interlaced_field_polarity(
  18011.     uchar src_field_polarity, intel_sub_group_avc_ref_payload_t payload);
  18012. intel_sub_group_avc_sic_payload_t __ovld
  18013. intel_sub_group_avc_sic_set_source_interlaced_field_polarity(
  18014.     uchar src_field_polarity, intel_sub_group_avc_sic_payload_t payload);
  18015.  
  18016. intel_sub_group_avc_ime_payload_t __ovld
  18017. intel_sub_group_avc_ime_set_single_reference_interlaced_field_polarity(
  18018.     uchar ref_field_polarity, intel_sub_group_avc_ime_payload_t payload);
  18019. intel_sub_group_avc_ref_payload_t __ovld
  18020. intel_sub_group_avc_ref_set_single_reference_interlaced_field_polarity(
  18021.     uchar ref_field_polarity, intel_sub_group_avc_ref_payload_t payload);
  18022. intel_sub_group_avc_sic_payload_t __ovld
  18023. intel_sub_group_avc_sic_set_single_reference_interlaced_field_polarity(
  18024.     uchar ref_field_polarity, intel_sub_group_avc_sic_payload_t payload);
  18025. intel_sub_group_avc_ime_payload_t __ovld
  18026. intel_sub_group_avc_ime_set_dual_reference_interlaced_field_polarities(
  18027.     uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
  18028.     intel_sub_group_avc_ime_payload_t payload);
  18029. intel_sub_group_avc_ref_payload_t __ovld
  18030. intel_sub_group_avc_ref_set_dual_reference_interlaced_field_polarities(
  18031.     uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
  18032.     intel_sub_group_avc_ref_payload_t payload);
  18033. intel_sub_group_avc_sic_payload_t __ovld
  18034. intel_sub_group_avc_sic_set_dual_reference_interlaced_field_polarities(
  18035.     uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
  18036.     intel_sub_group_avc_sic_payload_t payload);
  18037.  
  18038. intel_sub_group_avc_ime_payload_t __ovld
  18039. intel_sub_group_avc_ime_set_ac_only_haar(
  18040.     intel_sub_group_avc_ime_payload_t payload);
  18041. intel_sub_group_avc_ref_payload_t __ovld
  18042. intel_sub_group_avc_ref_set_ac_only_haar(
  18043.     intel_sub_group_avc_ref_payload_t payload);
  18044. intel_sub_group_avc_sic_payload_t __ovld
  18045. intel_sub_group_avc_sic_set_ac_only_haar(
  18046.     intel_sub_group_avc_sic_payload_t payload);
  18047.  
  18048. ulong __ovld intel_sub_group_avc_ime_get_motion_vectors(
  18049.     intel_sub_group_avc_ime_result_t result);
  18050. ulong __ovld intel_sub_group_avc_ref_get_motion_vectors(
  18051.     intel_sub_group_avc_ref_result_t result);
  18052.  
  18053. ushort __ovld intel_sub_group_avc_ime_get_inter_distortions(
  18054.     intel_sub_group_avc_ime_result_t result);
  18055. ushort __ovld intel_sub_group_avc_ref_get_inter_distortions(
  18056.     intel_sub_group_avc_ref_result_t result);
  18057. ushort __ovld intel_sub_group_avc_sic_get_inter_distortions(
  18058.     intel_sub_group_avc_sic_result_t result);
  18059.  
  18060. ushort __ovld intel_sub_group_avc_ime_get_best_inter_distortion(
  18061.     intel_sub_group_avc_ime_result_t result);
  18062. ushort __ovld intel_sub_group_avc_ref_get_best_inter_distortion(
  18063.     intel_sub_group_avc_ref_result_t result);
  18064.  
  18065. uchar __ovld intel_sub_group_avc_ime_get_inter_major_shape(
  18066.     intel_sub_group_avc_ime_result_t result);
  18067. uchar __ovld intel_sub_group_avc_ref_get_inter_major_shape(
  18068.     intel_sub_group_avc_ref_result_t result);
  18069. uchar __ovld intel_sub_group_avc_ime_get_inter_minor_shapes(
  18070.     intel_sub_group_avc_ime_result_t result);
  18071. uchar __ovld intel_sub_group_avc_ref_get_inter_minor_shapes(
  18072.     intel_sub_group_avc_ref_result_t result);
  18073.  
  18074. uchar __ovld intel_sub_group_avc_ime_get_inter_directions(
  18075.     intel_sub_group_avc_ime_result_t result);
  18076. uchar __ovld intel_sub_group_avc_ref_get_inter_directions(
  18077.     intel_sub_group_avc_ref_result_t result);
  18078.  
  18079. uchar __ovld intel_sub_group_avc_ime_get_inter_motion_vector_count(
  18080.     intel_sub_group_avc_ime_result_t result);
  18081. uchar __ovld intel_sub_group_avc_ref_get_inter_motion_vector_count(
  18082.     intel_sub_group_avc_ref_result_t result);
  18083.  
  18084. uint __ovld intel_sub_group_avc_ime_get_inter_reference_ids(
  18085.     intel_sub_group_avc_ime_result_t result);
  18086. uint __ovld intel_sub_group_avc_ref_get_inter_reference_ids(
  18087.     intel_sub_group_avc_ref_result_t result);
  18088.  
  18089. uchar __ovld
  18090. intel_sub_group_avc_ime_get_inter_reference_interlaced_field_polarities(
  18091.     uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
  18092.     intel_sub_group_avc_ime_result_t result);
  18093. uchar __ovld
  18094. intel_sub_group_avc_ref_get_inter_reference_interlaced_field_polarities(
  18095.     uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
  18096.     intel_sub_group_avc_ref_result_t result);
  18097.  
  18098. // Type conversion functions
  18099. intel_sub_group_avc_mce_payload_t __ovld
  18100. intel_sub_group_avc_ime_convert_to_mce_payload(
  18101.     intel_sub_group_avc_ime_payload_t payload);
  18102. intel_sub_group_avc_ime_payload_t __ovld
  18103. intel_sub_group_avc_mce_convert_to_ime_payload(
  18104.     intel_sub_group_avc_mce_payload_t payload);
  18105. intel_sub_group_avc_mce_payload_t __ovld
  18106. intel_sub_group_avc_ref_convert_to_mce_payload(
  18107.     intel_sub_group_avc_ref_payload_t payload);
  18108. intel_sub_group_avc_ref_payload_t __ovld
  18109. intel_sub_group_avc_mce_convert_to_ref_payload(
  18110.     intel_sub_group_avc_mce_payload_t payload);
  18111. intel_sub_group_avc_mce_payload_t __ovld
  18112. intel_sub_group_avc_sic_convert_to_mce_payload(
  18113.     intel_sub_group_avc_sic_payload_t payload);
  18114. intel_sub_group_avc_sic_payload_t __ovld
  18115. intel_sub_group_avc_mce_convert_to_sic_payload(
  18116.     intel_sub_group_avc_mce_payload_t payload);
  18117.  
  18118. intel_sub_group_avc_mce_result_t __ovld
  18119. intel_sub_group_avc_ime_convert_to_mce_result(
  18120.     intel_sub_group_avc_ime_result_t result);
  18121. intel_sub_group_avc_ime_result_t __ovld
  18122. intel_sub_group_avc_mce_convert_to_ime_result(
  18123.     intel_sub_group_avc_mce_result_t result);
  18124. intel_sub_group_avc_mce_result_t __ovld
  18125. intel_sub_group_avc_ref_convert_to_mce_result(
  18126.     intel_sub_group_avc_ref_result_t result);
  18127. intel_sub_group_avc_ref_result_t __ovld
  18128. intel_sub_group_avc_mce_convert_to_ref_result(
  18129.     intel_sub_group_avc_mce_result_t result);
  18130. intel_sub_group_avc_mce_result_t __ovld
  18131. intel_sub_group_avc_sic_convert_to_mce_result(
  18132.     intel_sub_group_avc_sic_result_t result);
  18133. intel_sub_group_avc_sic_result_t __ovld
  18134. intel_sub_group_avc_mce_convert_to_sic_result(
  18135.     intel_sub_group_avc_mce_result_t result);
  18136. #pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : end
  18137. #endif // cl_intel_device_side_avc_motion_estimation
  18138.  
  18139. #ifdef cl_amd_media_ops
  18140. uint __ovld amd_bitalign(uint, uint, uint);
  18141. uint2 __ovld amd_bitalign(uint2, uint2, uint2);
  18142. uint3 __ovld amd_bitalign(uint3, uint3, uint3);
  18143. uint4 __ovld amd_bitalign(uint4, uint4, uint4);
  18144. uint8 __ovld amd_bitalign(uint8, uint8, uint8);
  18145. uint16 __ovld amd_bitalign(uint16, uint16, uint16);
  18146.  
  18147. uint __ovld amd_bytealign(uint, uint, uint);
  18148. uint2 __ovld amd_bytealign(uint2, uint2, uint2);
  18149. uint3 __ovld amd_bytealign(uint3, uint3, uint3);
  18150. uint4 __ovld amd_bytealign(uint4, uint4, uint4);
  18151. uint8 __ovld amd_bytealign(uint8, uint8, uint8);
  18152. uint16 __ovld amd_bytealign(uint16, uint16, uint16);
  18153.  
  18154. uint __ovld amd_lerp(uint, uint, uint);
  18155. uint2 __ovld amd_lerp(uint2, uint2, uint2);
  18156. uint3 __ovld amd_lerp(uint3, uint3, uint3);
  18157. uint4 __ovld amd_lerp(uint4, uint4, uint4);
  18158. uint8 __ovld amd_lerp(uint8, uint8, uint8);
  18159. uint16 __ovld amd_lerp(uint16, uint16, uint16);
  18160.  
  18161. uint __ovld amd_pack(float4 v);
  18162.  
  18163. uint __ovld amd_sad4(uint4, uint4, uint);
  18164.  
  18165. uint __ovld amd_sadhi(uint, uint, uint);
  18166. uint2 __ovld amd_sadhi(uint2, uint2, uint2);
  18167. uint3 __ovld amd_sadhi(uint3, uint3, uint3);
  18168. uint4 __ovld amd_sadhi(uint4, uint4, uint4);
  18169. uint8 __ovld amd_sadhi(uint8, uint8, uint8);
  18170. uint16 __ovld amd_sadhi(uint16, uint16, uint16);
  18171.  
  18172. uint __ovld amd_sad(uint, uint, uint);
  18173. uint2 __ovld amd_sad(uint2, uint2, uint2);
  18174. uint3 __ovld amd_sad(uint3, uint3, uint3);
  18175. uint4 __ovld amd_sad(uint4, uint4, uint4);
  18176. uint8 __ovld amd_sad(uint8, uint8, uint8);
  18177. uint16 __ovld amd_sad(uint16, uint16, uint16);
  18178.  
  18179. float __ovld amd_unpack0(uint);
  18180. float2 __ovld amd_unpack0(uint2);
  18181. float3 __ovld amd_unpack0(uint3);
  18182. float4 __ovld amd_unpack0(uint4);
  18183. float8 __ovld amd_unpack0(uint8);
  18184. float16 __ovld amd_unpack0(uint16);
  18185.  
  18186. float __ovld amd_unpack1(uint);
  18187. float2 __ovld amd_unpack1(uint2);
  18188. float3 __ovld amd_unpack1(uint3);
  18189. float4 __ovld amd_unpack1(uint4);
  18190. float8 __ovld amd_unpack1(uint8);
  18191. float16 __ovld amd_unpack1(uint16);
  18192.  
  18193. float __ovld amd_unpack2(uint);
  18194. float2 __ovld amd_unpack2(uint2);
  18195. float3 __ovld amd_unpack2(uint3);
  18196. float4 __ovld amd_unpack2(uint4);
  18197. float8 __ovld amd_unpack2(uint8);
  18198. float16 __ovld amd_unpack2(uint16);
  18199.  
  18200. float __ovld amd_unpack3(uint);
  18201. float2 __ovld amd_unpack3(uint2);
  18202. float3 __ovld amd_unpack3(uint3);
  18203. float4 __ovld amd_unpack3(uint4);
  18204. float8 __ovld amd_unpack3(uint8);
  18205. float16 __ovld amd_unpack3(uint16);
  18206. #endif // cl_amd_media_ops
  18207.  
  18208. #ifdef cl_amd_media_ops2
  18209. int __ovld amd_bfe(int src0, uint src1, uint src2);
  18210. int2 __ovld amd_bfe(int2 src0, uint2 src1, uint2 src2);
  18211. int3 __ovld amd_bfe(int3 src0, uint3 src1, uint3 src2);
  18212. int4 __ovld amd_bfe(int4 src0, uint4 src1, uint4 src2);
  18213. int8 __ovld amd_bfe(int8 src0, uint8 src1, uint8 src2);
  18214. int16 __ovld amd_bfe(int16 src0, uint16 src1, uint16 src2);
  18215.  
  18216. uint __ovld amd_bfe(uint src0, uint src1, uint src2);
  18217. uint2 __ovld amd_bfe(uint2 src0, uint2 src1, uint2 src2);
  18218. uint3 __ovld amd_bfe(uint3 src0, uint3 src1, uint3 src2);
  18219. uint4 __ovld amd_bfe(uint4 src0, uint4 src1, uint4 src2);
  18220. uint8 __ovld amd_bfe(uint8 src0, uint8 src1, uint8 src2);
  18221. uint16 __ovld amd_bfe(uint16 src0, uint16 src1, uint16 src2);
  18222.  
  18223. uint __ovld amd_bfm(uint src0, uint src1);
  18224. uint2 __ovld amd_bfm(uint2 src0, uint2 src1);
  18225. uint3 __ovld amd_bfm(uint3 src0, uint3 src1);
  18226. uint4 __ovld amd_bfm(uint4 src0, uint4 src1);
  18227. uint8 __ovld amd_bfm(uint8 src0, uint8 src1);
  18228. uint16 __ovld amd_bfm(uint16 src0, uint16 src1);
  18229.  
  18230. float __ovld amd_max3(float src0, float src1, float src2);
  18231. float2 __ovld amd_max3(float2 src0, float2 src1, float2 src2);
  18232. float3 __ovld amd_max3(float3 src0, float3 src1, float3 src2);
  18233. float4 __ovld amd_max3(float4 src0, float4 src1, float4 src2);
  18234. float8 __ovld amd_max3(float8 src0, float8 src1, float8 src2);
  18235. float16 __ovld amd_max3(float16 src0, float16 src1, float16 src2);
  18236.  
  18237. int __ovld amd_max3(int src0, int src1, int src2);
  18238. int2 __ovld amd_max3(int2 src0, int2 src1, int2 src2);
  18239. int3 __ovld amd_max3(int3 src0, int3 src1, int3 src2);
  18240. int4 __ovld amd_max3(int4 src0, int4 src1, int4 src2);
  18241. int8 __ovld amd_max3(int8 src0, int8 src1, int8 src2);
  18242. int16 __ovld amd_max3(int16 src0, int16 src1, int16 src2);
  18243.  
  18244. uint __ovld amd_max3(uint src0, uint src1, uint src2);
  18245. uint2 __ovld amd_max3(uint2 src0, uint2 src1, uint2 src2);
  18246. uint3 __ovld amd_max3(uint3 src0, uint3 src1, uint3 src2);
  18247. uint4 __ovld amd_max3(uint4 src0, uint4 src1, uint4 src2);
  18248. uint8 __ovld amd_max3(uint8 src0, uint8 src1, uint8 src2);
  18249. uint16 __ovld amd_max3(uint16 src0, uint16 src1, uint16 src2);
  18250.  
  18251. float __ovld amd_median3(float src0, float src1, float src2);
  18252. float2 __ovld amd_median3(float2 src0, float2 src1, float2 src2);
  18253. float3 __ovld amd_median3(float3 src0, float3 src1, float3 src2);
  18254. float4 __ovld amd_median3(float4 src0, float4 src1, float4 src2);
  18255. float8 __ovld amd_median3(float8 src0, float8 src1, float8 src2);
  18256. float16 __ovld amd_median3(float16 src0, float16 src1, float16 src2);
  18257.  
  18258. int __ovld amd_median3(int src0, int src1, int src2);
  18259. int2 __ovld amd_median3(int2 src0, int2 src1, int2 src2);
  18260. int3 __ovld amd_median3(int3 src0, int3 src1, int3 src2);
  18261. int4 __ovld amd_median3(int4 src0, int4 src1, int4 src2);
  18262. int8 __ovld amd_median3(int8 src0, int8 src1, int8 src2);
  18263. int16 __ovld amd_median3(int16 src0, int16 src1, int16 src2);
  18264.  
  18265. uint __ovld amd_median3(uint src0, uint src1, uint src2);
  18266. uint2 __ovld amd_median3(uint2 src0, uint2 src1, uint2 src2);
  18267. uint3 __ovld amd_median3(uint3 src0, uint3 src1, uint3 src2);
  18268. uint4 __ovld amd_median3(uint4 src0, uint4 src1, uint4 src2);
  18269. uint8 __ovld amd_median3(uint8 src0, uint8 src1, uint8 src2);
  18270. uint16 __ovld amd_median3(uint16 src0, uint16 src1, uint16 src2);
  18271.  
  18272. float __ovld amd_min3(float src0, float src1, float src);
  18273. float2 __ovld amd_min3(float2 src0, float2 src1, float2 src);
  18274. float3 __ovld amd_min3(float3 src0, float3 src1, float3 src);
  18275. float4 __ovld amd_min3(float4 src0, float4 src1, float4 src);
  18276. float8 __ovld amd_min3(float8 src0, float8 src1, float8 src);
  18277. float16 __ovld amd_min3(float16 src0, float16 src1, float16 src);
  18278.  
  18279. int __ovld amd_min3(int src0, int src1, int src2);
  18280. int2 __ovld amd_min3(int2 src0, int2 src1, int2 src2);
  18281. int3 __ovld amd_min3(int3 src0, int3 src1, int3 src2);
  18282. int4 __ovld amd_min3(int4 src0, int4 src1, int4 src2);
  18283. int8 __ovld amd_min3(int8 src0, int8 src1, int8 src2);
  18284. int16 __ovld amd_min3(int16 src0, int16 src1, int16 src2);
  18285.  
  18286. uint __ovld amd_min3(uint src0, uint src1, uint src2);
  18287. uint2 __ovld amd_min3(uint2 src0, uint2 src1, uint2 src2);
  18288. uint3 __ovld amd_min3(uint3 src0, uint3 src1, uint3 src2);
  18289. uint4 __ovld amd_min3(uint4 src0, uint4 src1, uint4 src2);
  18290. uint8 __ovld amd_min3(uint8 src0, uint8 src1, uint8 src2);
  18291. uint16 __ovld amd_min3(uint16 src0, uint16 src1, uint16 src2);
  18292.  
  18293. ulong __ovld amd_mqsad(ulong src0, uint src1, ulong src2);
  18294. ulong2 __ovld amd_mqsad(ulong2 src0, uint2 src1, ulong2 src2);
  18295. ulong3 __ovld amd_mqsad(ulong3 src0, uint3 src1, ulong3 src2);
  18296. ulong4 __ovld amd_mqsad(ulong4 src0, uint4 src1, ulong4 src2);
  18297. ulong8 __ovld amd_mqsad(ulong8 src0, uint8 src1, ulong8 src2);
  18298. ulong16 __ovld amd_mqsad(ulong16 src0, uint16 src1, ulong16 src2);
  18299.  
  18300. ulong __ovld amd_qsad(ulong src0, uint src1, ulong src2);
  18301. ulong2 __ovld amd_qsad(ulong2 src0, uint2 src1, ulong2 src2);
  18302. ulong3 __ovld amd_qsad(ulong3 src0, uint3 src1, ulong3 src2);
  18303. ulong4 __ovld amd_qsad(ulong4 src0, uint4 src1, ulong4 src2);
  18304. ulong8 __ovld amd_qsad(ulong8 src0, uint8 src1, ulong8 src2);
  18305. ulong16 __ovld amd_qsad(ulong16 src0, uint16 src1, ulong16 src2);
  18306.  
  18307. uint __ovld amd_msad(uint src0, uint src1, uint src2);
  18308. uint2 __ovld amd_msad(uint2 src0, uint2 src1, uint2 src2);
  18309. uint3 __ovld amd_msad(uint3 src0, uint3 src1, uint3 src2);
  18310. uint4 __ovld amd_msad(uint4 src0, uint4 src1, uint4 src2);
  18311. uint8 __ovld amd_msad(uint8 src0, uint8 src1, uint8 src2);
  18312. uint16 __ovld amd_msad(uint16 src0, uint16 src1, uint16 src2);
  18313.  
  18314. uint __ovld amd_sadd(uint src0, uint src1, uint src2);
  18315. uint2 __ovld amd_sadd(uint2 src0, uint2 src1, uint2 src2);
  18316. uint3 __ovld amd_sadd(uint3 src0, uint3 src1, uint3 src2);
  18317. uint4 __ovld amd_sadd(uint4 src0, uint4 src1, uint4 src2);
  18318. uint8 __ovld amd_sadd(uint8 src0, uint8 src1, uint8 src2);
  18319. uint16 __ovld amd_sadd(uint16 src0, uint16 src1, uint16 src2);
  18320.  
  18321. uint __ovld amd_sadw(uint src0, uint src1, uint src2);
  18322. uint2 __ovld amd_sadw(uint2 src0, uint2 src1, uint2 src2);
  18323. uint3 __ovld amd_sadw(uint3 src0, uint3 src1, uint3 src2);
  18324. uint4 __ovld amd_sadw(uint4 src0, uint4 src1, uint4 src2);
  18325. uint8 __ovld amd_sadw(uint8 src0, uint8 src1, uint8 src2);
  18326. uint16 __ovld amd_sadw(uint16 src0, uint16 src1, uint16 src2);
  18327. #endif // cl_amd_media_ops2
  18328.  
  18329. #if defined(cl_arm_integer_dot_product_int8)
  18330. uint __ovld arm_dot(uchar4, uchar4);
  18331. int __ovld arm_dot(char4, char4);
  18332. #endif // defined(cl_arm_integer_dot_product_int8)
  18333.  
  18334. #if defined(cl_arm_integer_dot_product_accumulate_int8)
  18335. uint __ovld arm_dot_acc(uchar4, uchar4, uint);
  18336. int __ovld arm_dot_acc(char4, char4, int);
  18337. #endif // defined(cl_arm_integer_dot_product_accumulate_int8)
  18338.  
  18339. #if defined(cl_arm_integer_dot_product_accumulate_int16)
  18340. uint __ovld arm_dot_acc(ushort2, ushort2, uint);
  18341. int __ovld arm_dot_acc(short2, short2, int);
  18342. #endif // defined(cl_arm_integer_dot_product_accumulate_int16)
  18343.  
  18344. #if defined(cl_arm_integer_dot_product_accumulate_saturate_int8)
  18345. uint __ovld arm_dot_acc_sat(uchar4, uchar4, uint);
  18346. int __ovld arm_dot_acc_sat(char4, char4, int);
  18347. #endif // defined(cl_arm_integer_dot_product_accumulate_saturate_int8)
  18348.  
  18349. // Disable any extensions we may have enabled previously.
  18350. #pragma OPENCL EXTENSION all : disable
  18351.  
  18352. #undef __opencl_c_named_address_space_builtins
  18353.  
  18354. #undef __cnfn
  18355. #undef __ovld
  18356. #endif //_OPENCL_H_
  18357.