Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

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

  1. /*===-- __clang_cuda_libdevice_declares.h - decls for libdevice functions --===
  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.  
  10. #ifndef __CLANG_CUDA_LIBDEVICE_DECLARES_H__
  11. #define __CLANG_CUDA_LIBDEVICE_DECLARES_H__
  12.  
  13. #if defined(__cplusplus)
  14. extern "C" {
  15. #endif
  16.  
  17. #if defined(__OPENMP_NVPTX__)
  18. #define __DEVICE__
  19. #pragma omp begin assumes ext_spmd_amenable no_openmp
  20. #elif defined(__CUDA__)
  21. #define __DEVICE__ __device__
  22. #endif
  23.  
  24. __DEVICE__ int __nv_abs(int __a);
  25. __DEVICE__ double __nv_acos(double __a);
  26. __DEVICE__ float __nv_acosf(float __a);
  27. __DEVICE__ double __nv_acosh(double __a);
  28. __DEVICE__ float __nv_acoshf(float __a);
  29. __DEVICE__ double __nv_asin(double __a);
  30. __DEVICE__ float __nv_asinf(float __a);
  31. __DEVICE__ double __nv_asinh(double __a);
  32. __DEVICE__ float __nv_asinhf(float __a);
  33. __DEVICE__ double __nv_atan2(double __a, double __b);
  34. __DEVICE__ float __nv_atan2f(float __a, float __b);
  35. __DEVICE__ double __nv_atan(double __a);
  36. __DEVICE__ float __nv_atanf(float __a);
  37. __DEVICE__ double __nv_atanh(double __a);
  38. __DEVICE__ float __nv_atanhf(float __a);
  39. __DEVICE__ int __nv_brev(int __a);
  40. __DEVICE__ long long __nv_brevll(long long __a);
  41. __DEVICE__ int __nv_byte_perm(int __a, int __b, int __c);
  42. __DEVICE__ double __nv_cbrt(double __a);
  43. __DEVICE__ float __nv_cbrtf(float __a);
  44. __DEVICE__ double __nv_ceil(double __a);
  45. __DEVICE__ float __nv_ceilf(float __a);
  46. __DEVICE__ int __nv_clz(int __a);
  47. __DEVICE__ int __nv_clzll(long long __a);
  48. __DEVICE__ double __nv_copysign(double __a, double __b);
  49. __DEVICE__ float __nv_copysignf(float __a, float __b);
  50. __DEVICE__ double __nv_cos(double __a);
  51. __DEVICE__ float __nv_cosf(float __a);
  52. __DEVICE__ double __nv_cosh(double __a);
  53. __DEVICE__ float __nv_coshf(float __a);
  54. __DEVICE__ double __nv_cospi(double __a);
  55. __DEVICE__ float __nv_cospif(float __a);
  56. __DEVICE__ double __nv_cyl_bessel_i0(double __a);
  57. __DEVICE__ float __nv_cyl_bessel_i0f(float __a);
  58. __DEVICE__ double __nv_cyl_bessel_i1(double __a);
  59. __DEVICE__ float __nv_cyl_bessel_i1f(float __a);
  60. __DEVICE__ double __nv_dadd_rd(double __a, double __b);
  61. __DEVICE__ double __nv_dadd_rn(double __a, double __b);
  62. __DEVICE__ double __nv_dadd_ru(double __a, double __b);
  63. __DEVICE__ double __nv_dadd_rz(double __a, double __b);
  64. __DEVICE__ double __nv_ddiv_rd(double __a, double __b);
  65. __DEVICE__ double __nv_ddiv_rn(double __a, double __b);
  66. __DEVICE__ double __nv_ddiv_ru(double __a, double __b);
  67. __DEVICE__ double __nv_ddiv_rz(double __a, double __b);
  68. __DEVICE__ double __nv_dmul_rd(double __a, double __b);
  69. __DEVICE__ double __nv_dmul_rn(double __a, double __b);
  70. __DEVICE__ double __nv_dmul_ru(double __a, double __b);
  71. __DEVICE__ double __nv_dmul_rz(double __a, double __b);
  72. __DEVICE__ float __nv_double2float_rd(double __a);
  73. __DEVICE__ float __nv_double2float_rn(double __a);
  74. __DEVICE__ float __nv_double2float_ru(double __a);
  75. __DEVICE__ float __nv_double2float_rz(double __a);
  76. __DEVICE__ int __nv_double2hiint(double __a);
  77. __DEVICE__ int __nv_double2int_rd(double __a);
  78. __DEVICE__ int __nv_double2int_rn(double __a);
  79. __DEVICE__ int __nv_double2int_ru(double __a);
  80. __DEVICE__ int __nv_double2int_rz(double __a);
  81. __DEVICE__ long long __nv_double2ll_rd(double __a);
  82. __DEVICE__ long long __nv_double2ll_rn(double __a);
  83. __DEVICE__ long long __nv_double2ll_ru(double __a);
  84. __DEVICE__ long long __nv_double2ll_rz(double __a);
  85. __DEVICE__ int __nv_double2loint(double __a);
  86. __DEVICE__ unsigned int __nv_double2uint_rd(double __a);
  87. __DEVICE__ unsigned int __nv_double2uint_rn(double __a);
  88. __DEVICE__ unsigned int __nv_double2uint_ru(double __a);
  89. __DEVICE__ unsigned int __nv_double2uint_rz(double __a);
  90. __DEVICE__ unsigned long long __nv_double2ull_rd(double __a);
  91. __DEVICE__ unsigned long long __nv_double2ull_rn(double __a);
  92. __DEVICE__ unsigned long long __nv_double2ull_ru(double __a);
  93. __DEVICE__ unsigned long long __nv_double2ull_rz(double __a);
  94. __DEVICE__ unsigned long long __nv_double_as_longlong(double __a);
  95. __DEVICE__ double __nv_drcp_rd(double __a);
  96. __DEVICE__ double __nv_drcp_rn(double __a);
  97. __DEVICE__ double __nv_drcp_ru(double __a);
  98. __DEVICE__ double __nv_drcp_rz(double __a);
  99. __DEVICE__ double __nv_dsqrt_rd(double __a);
  100. __DEVICE__ double __nv_dsqrt_rn(double __a);
  101. __DEVICE__ double __nv_dsqrt_ru(double __a);
  102. __DEVICE__ double __nv_dsqrt_rz(double __a);
  103. __DEVICE__ double __nv_dsub_rd(double __a, double __b);
  104. __DEVICE__ double __nv_dsub_rn(double __a, double __b);
  105. __DEVICE__ double __nv_dsub_ru(double __a, double __b);
  106. __DEVICE__ double __nv_dsub_rz(double __a, double __b);
  107. __DEVICE__ double __nv_erfc(double __a);
  108. __DEVICE__ float __nv_erfcf(float __a);
  109. __DEVICE__ double __nv_erfcinv(double __a);
  110. __DEVICE__ float __nv_erfcinvf(float __a);
  111. __DEVICE__ double __nv_erfcx(double __a);
  112. __DEVICE__ float __nv_erfcxf(float __a);
  113. __DEVICE__ double __nv_erf(double __a);
  114. __DEVICE__ float __nv_erff(float __a);
  115. __DEVICE__ double __nv_erfinv(double __a);
  116. __DEVICE__ float __nv_erfinvf(float __a);
  117. __DEVICE__ double __nv_exp10(double __a);
  118. __DEVICE__ float __nv_exp10f(float __a);
  119. __DEVICE__ double __nv_exp2(double __a);
  120. __DEVICE__ float __nv_exp2f(float __a);
  121. __DEVICE__ double __nv_exp(double __a);
  122. __DEVICE__ float __nv_expf(float __a);
  123. __DEVICE__ double __nv_expm1(double __a);
  124. __DEVICE__ float __nv_expm1f(float __a);
  125. __DEVICE__ double __nv_fabs(double __a);
  126. __DEVICE__ float __nv_fabsf(float __a);
  127. __DEVICE__ float __nv_fadd_rd(float __a, float __b);
  128. __DEVICE__ float __nv_fadd_rn(float __a, float __b);
  129. __DEVICE__ float __nv_fadd_ru(float __a, float __b);
  130. __DEVICE__ float __nv_fadd_rz(float __a, float __b);
  131. __DEVICE__ float __nv_fast_cosf(float __a);
  132. __DEVICE__ float __nv_fast_exp10f(float __a);
  133. __DEVICE__ float __nv_fast_expf(float __a);
  134. __DEVICE__ float __nv_fast_fdividef(float __a, float __b);
  135. __DEVICE__ float __nv_fast_log10f(float __a);
  136. __DEVICE__ float __nv_fast_log2f(float __a);
  137. __DEVICE__ float __nv_fast_logf(float __a);
  138. __DEVICE__ float __nv_fast_powf(float __a, float __b);
  139. __DEVICE__ void __nv_fast_sincosf(float __a, float *__s, float *__c);
  140. __DEVICE__ float __nv_fast_sinf(float __a);
  141. __DEVICE__ float __nv_fast_tanf(float __a);
  142. __DEVICE__ double __nv_fdim(double __a, double __b);
  143. __DEVICE__ float __nv_fdimf(float __a, float __b);
  144. __DEVICE__ float __nv_fdiv_rd(float __a, float __b);
  145. __DEVICE__ float __nv_fdiv_rn(float __a, float __b);
  146. __DEVICE__ float __nv_fdiv_ru(float __a, float __b);
  147. __DEVICE__ float __nv_fdiv_rz(float __a, float __b);
  148. __DEVICE__ int __nv_ffs(int __a);
  149. __DEVICE__ int __nv_ffsll(long long __a);
  150. __DEVICE__ int __nv_finitef(float __a);
  151. __DEVICE__ unsigned short __nv_float2half_rn(float __a);
  152. __DEVICE__ int __nv_float2int_rd(float __a);
  153. __DEVICE__ int __nv_float2int_rn(float __a);
  154. __DEVICE__ int __nv_float2int_ru(float __a);
  155. __DEVICE__ int __nv_float2int_rz(float __a);
  156. __DEVICE__ long long __nv_float2ll_rd(float __a);
  157. __DEVICE__ long long __nv_float2ll_rn(float __a);
  158. __DEVICE__ long long __nv_float2ll_ru(float __a);
  159. __DEVICE__ long long __nv_float2ll_rz(float __a);
  160. __DEVICE__ unsigned int __nv_float2uint_rd(float __a);
  161. __DEVICE__ unsigned int __nv_float2uint_rn(float __a);
  162. __DEVICE__ unsigned int __nv_float2uint_ru(float __a);
  163. __DEVICE__ unsigned int __nv_float2uint_rz(float __a);
  164. __DEVICE__ unsigned long long __nv_float2ull_rd(float __a);
  165. __DEVICE__ unsigned long long __nv_float2ull_rn(float __a);
  166. __DEVICE__ unsigned long long __nv_float2ull_ru(float __a);
  167. __DEVICE__ unsigned long long __nv_float2ull_rz(float __a);
  168. __DEVICE__ int __nv_float_as_int(float __a);
  169. __DEVICE__ unsigned int __nv_float_as_uint(float __a);
  170. __DEVICE__ double __nv_floor(double __a);
  171. __DEVICE__ float __nv_floorf(float __a);
  172. __DEVICE__ double __nv_fma(double __a, double __b, double __c);
  173. __DEVICE__ float __nv_fmaf(float __a, float __b, float __c);
  174. __DEVICE__ float __nv_fmaf_ieee_rd(float __a, float __b, float __c);
  175. __DEVICE__ float __nv_fmaf_ieee_rn(float __a, float __b, float __c);
  176. __DEVICE__ float __nv_fmaf_ieee_ru(float __a, float __b, float __c);
  177. __DEVICE__ float __nv_fmaf_ieee_rz(float __a, float __b, float __c);
  178. __DEVICE__ float __nv_fmaf_rd(float __a, float __b, float __c);
  179. __DEVICE__ float __nv_fmaf_rn(float __a, float __b, float __c);
  180. __DEVICE__ float __nv_fmaf_ru(float __a, float __b, float __c);
  181. __DEVICE__ float __nv_fmaf_rz(float __a, float __b, float __c);
  182. __DEVICE__ double __nv_fma_rd(double __a, double __b, double __c);
  183. __DEVICE__ double __nv_fma_rn(double __a, double __b, double __c);
  184. __DEVICE__ double __nv_fma_ru(double __a, double __b, double __c);
  185. __DEVICE__ double __nv_fma_rz(double __a, double __b, double __c);
  186. __DEVICE__ double __nv_fmax(double __a, double __b);
  187. __DEVICE__ float __nv_fmaxf(float __a, float __b);
  188. __DEVICE__ double __nv_fmin(double __a, double __b);
  189. __DEVICE__ float __nv_fminf(float __a, float __b);
  190. __DEVICE__ double __nv_fmod(double __a, double __b);
  191. __DEVICE__ float __nv_fmodf(float __a, float __b);
  192. __DEVICE__ float __nv_fmul_rd(float __a, float __b);
  193. __DEVICE__ float __nv_fmul_rn(float __a, float __b);
  194. __DEVICE__ float __nv_fmul_ru(float __a, float __b);
  195. __DEVICE__ float __nv_fmul_rz(float __a, float __b);
  196. __DEVICE__ float __nv_frcp_rd(float __a);
  197. __DEVICE__ float __nv_frcp_rn(float __a);
  198. __DEVICE__ float __nv_frcp_ru(float __a);
  199. __DEVICE__ float __nv_frcp_rz(float __a);
  200. __DEVICE__ double __nv_frexp(double __a, int *__b);
  201. __DEVICE__ float __nv_frexpf(float __a, int *__b);
  202. __DEVICE__ float __nv_frsqrt_rn(float __a);
  203. __DEVICE__ float __nv_fsqrt_rd(float __a);
  204. __DEVICE__ float __nv_fsqrt_rn(float __a);
  205. __DEVICE__ float __nv_fsqrt_ru(float __a);
  206. __DEVICE__ float __nv_fsqrt_rz(float __a);
  207. __DEVICE__ float __nv_fsub_rd(float __a, float __b);
  208. __DEVICE__ float __nv_fsub_rn(float __a, float __b);
  209. __DEVICE__ float __nv_fsub_ru(float __a, float __b);
  210. __DEVICE__ float __nv_fsub_rz(float __a, float __b);
  211. __DEVICE__ int __nv_hadd(int __a, int __b);
  212. __DEVICE__ float __nv_half2float(unsigned short __h);
  213. __DEVICE__ double __nv_hiloint2double(int __a, int __b);
  214. __DEVICE__ double __nv_hypot(double __a, double __b);
  215. __DEVICE__ float __nv_hypotf(float __a, float __b);
  216. __DEVICE__ int __nv_ilogb(double __a);
  217. __DEVICE__ int __nv_ilogbf(float __a);
  218. __DEVICE__ double __nv_int2double_rn(int __a);
  219. __DEVICE__ float __nv_int2float_rd(int __a);
  220. __DEVICE__ float __nv_int2float_rn(int __a);
  221. __DEVICE__ float __nv_int2float_ru(int __a);
  222. __DEVICE__ float __nv_int2float_rz(int __a);
  223. __DEVICE__ float __nv_int_as_float(int __a);
  224. __DEVICE__ int __nv_isfinited(double __a);
  225. __DEVICE__ int __nv_isinfd(double __a);
  226. __DEVICE__ int __nv_isinff(float __a);
  227. __DEVICE__ int __nv_isnand(double __a);
  228. __DEVICE__ int __nv_isnanf(float __a);
  229. __DEVICE__ double __nv_j0(double __a);
  230. __DEVICE__ float __nv_j0f(float __a);
  231. __DEVICE__ double __nv_j1(double __a);
  232. __DEVICE__ float __nv_j1f(float __a);
  233. __DEVICE__ float __nv_jnf(int __a, float __b);
  234. __DEVICE__ double __nv_jn(int __a, double __b);
  235. __DEVICE__ double __nv_ldexp(double __a, int __b);
  236. __DEVICE__ float __nv_ldexpf(float __a, int __b);
  237. __DEVICE__ double __nv_lgamma(double __a);
  238. __DEVICE__ float __nv_lgammaf(float __a);
  239. __DEVICE__ double __nv_ll2double_rd(long long __a);
  240. __DEVICE__ double __nv_ll2double_rn(long long __a);
  241. __DEVICE__ double __nv_ll2double_ru(long long __a);
  242. __DEVICE__ double __nv_ll2double_rz(long long __a);
  243. __DEVICE__ float __nv_ll2float_rd(long long __a);
  244. __DEVICE__ float __nv_ll2float_rn(long long __a);
  245. __DEVICE__ float __nv_ll2float_ru(long long __a);
  246. __DEVICE__ float __nv_ll2float_rz(long long __a);
  247. __DEVICE__ long long __nv_llabs(long long __a);
  248. __DEVICE__ long long __nv_llmax(long long __a, long long __b);
  249. __DEVICE__ long long __nv_llmin(long long __a, long long __b);
  250. __DEVICE__ long long __nv_llrint(double __a);
  251. __DEVICE__ long long __nv_llrintf(float __a);
  252. __DEVICE__ long long __nv_llround(double __a);
  253. __DEVICE__ long long __nv_llroundf(float __a);
  254. __DEVICE__ double __nv_log10(double __a);
  255. __DEVICE__ float __nv_log10f(float __a);
  256. __DEVICE__ double __nv_log1p(double __a);
  257. __DEVICE__ float __nv_log1pf(float __a);
  258. __DEVICE__ double __nv_log2(double __a);
  259. __DEVICE__ float __nv_log2f(float __a);
  260. __DEVICE__ double __nv_logb(double __a);
  261. __DEVICE__ float __nv_logbf(float __a);
  262. __DEVICE__ double __nv_log(double __a);
  263. __DEVICE__ float __nv_logf(float __a);
  264. __DEVICE__ double __nv_longlong_as_double(long long __a);
  265. __DEVICE__ int __nv_max(int __a, int __b);
  266. __DEVICE__ int __nv_min(int __a, int __b);
  267. __DEVICE__ double __nv_modf(double __a, double *__b);
  268. __DEVICE__ float __nv_modff(float __a, float *__b);
  269. __DEVICE__ int __nv_mul24(int __a, int __b);
  270. __DEVICE__ long long __nv_mul64hi(long long __a, long long __b);
  271. __DEVICE__ int __nv_mulhi(int __a, int __b);
  272. __DEVICE__ double __nv_nan(const signed char *__a);
  273. __DEVICE__ float __nv_nanf(const signed char *__a);
  274. __DEVICE__ double __nv_nearbyint(double __a);
  275. __DEVICE__ float __nv_nearbyintf(float __a);
  276. __DEVICE__ double __nv_nextafter(double __a, double __b);
  277. __DEVICE__ float __nv_nextafterf(float __a, float __b);
  278. __DEVICE__ double __nv_norm3d(double __a, double __b, double __c);
  279. __DEVICE__ float __nv_norm3df(float __a, float __b, float __c);
  280. __DEVICE__ double __nv_norm4d(double __a, double __b, double __c, double __d);
  281. __DEVICE__ float __nv_norm4df(float __a, float __b, float __c, float __d);
  282. __DEVICE__ double __nv_normcdf(double __a);
  283. __DEVICE__ float __nv_normcdff(float __a);
  284. __DEVICE__ double __nv_normcdfinv(double __a);
  285. __DEVICE__ float __nv_normcdfinvf(float __a);
  286. __DEVICE__ float __nv_normf(int __a, const float *__b);
  287. __DEVICE__ double __nv_norm(int __a, const double *__b);
  288. __DEVICE__ int __nv_popc(int __a);
  289. __DEVICE__ int __nv_popcll(long long __a);
  290. __DEVICE__ double __nv_pow(double __a, double __b);
  291. __DEVICE__ float __nv_powf(float __a, float __b);
  292. __DEVICE__ double __nv_powi(double __a, int __b);
  293. __DEVICE__ float __nv_powif(float __a, int __b);
  294. __DEVICE__ double __nv_rcbrt(double __a);
  295. __DEVICE__ float __nv_rcbrtf(float __a);
  296. __DEVICE__ double __nv_rcp64h(double __a);
  297. __DEVICE__ double __nv_remainder(double __a, double __b);
  298. __DEVICE__ float __nv_remainderf(float __a, float __b);
  299. __DEVICE__ double __nv_remquo(double __a, double __b, int *__c);
  300. __DEVICE__ float __nv_remquof(float __a, float __b, int *__c);
  301. __DEVICE__ int __nv_rhadd(int __a, int __b);
  302. __DEVICE__ double __nv_rhypot(double __a, double __b);
  303. __DEVICE__ float __nv_rhypotf(float __a, float __b);
  304. __DEVICE__ double __nv_rint(double __a);
  305. __DEVICE__ float __nv_rintf(float __a);
  306. __DEVICE__ double __nv_rnorm3d(double __a, double __b, double __c);
  307. __DEVICE__ float __nv_rnorm3df(float __a, float __b, float __c);
  308. __DEVICE__ double __nv_rnorm4d(double __a, double __b, double __c, double __d);
  309. __DEVICE__ float __nv_rnorm4df(float __a, float __b, float __c, float __d);
  310. __DEVICE__ float __nv_rnormf(int __a, const float *__b);
  311. __DEVICE__ double __nv_rnorm(int __a, const double *__b);
  312. __DEVICE__ double __nv_round(double __a);
  313. __DEVICE__ float __nv_roundf(float __a);
  314. __DEVICE__ double __nv_rsqrt(double __a);
  315. __DEVICE__ float __nv_rsqrtf(float __a);
  316. __DEVICE__ int __nv_sad(int __a, int __b, int __c);
  317. __DEVICE__ float __nv_saturatef(float __a);
  318. __DEVICE__ double __nv_scalbn(double __a, int __b);
  319. __DEVICE__ float __nv_scalbnf(float __a, int __b);
  320. __DEVICE__ int __nv_signbitd(double __a);
  321. __DEVICE__ int __nv_signbitf(float __a);
  322. __DEVICE__ void __nv_sincos(double __a, double *__b, double *__c);
  323. __DEVICE__ void __nv_sincosf(float __a, float *__b, float *__c);
  324. __DEVICE__ void __nv_sincospi(double __a, double *__b, double *__c);
  325. __DEVICE__ void __nv_sincospif(float __a, float *__b, float *__c);
  326. __DEVICE__ double __nv_sin(double __a);
  327. __DEVICE__ float __nv_sinf(float __a);
  328. __DEVICE__ double __nv_sinh(double __a);
  329. __DEVICE__ float __nv_sinhf(float __a);
  330. __DEVICE__ double __nv_sinpi(double __a);
  331. __DEVICE__ float __nv_sinpif(float __a);
  332. __DEVICE__ double __nv_sqrt(double __a);
  333. __DEVICE__ float __nv_sqrtf(float __a);
  334. __DEVICE__ double __nv_tan(double __a);
  335. __DEVICE__ float __nv_tanf(float __a);
  336. __DEVICE__ double __nv_tanh(double __a);
  337. __DEVICE__ float __nv_tanhf(float __a);
  338. __DEVICE__ double __nv_tgamma(double __a);
  339. __DEVICE__ float __nv_tgammaf(float __a);
  340. __DEVICE__ double __nv_trunc(double __a);
  341. __DEVICE__ float __nv_truncf(float __a);
  342. __DEVICE__ int __nv_uhadd(unsigned int __a, unsigned int __b);
  343. __DEVICE__ double __nv_uint2double_rn(unsigned int __i);
  344. __DEVICE__ float __nv_uint2float_rd(unsigned int __a);
  345. __DEVICE__ float __nv_uint2float_rn(unsigned int __a);
  346. __DEVICE__ float __nv_uint2float_ru(unsigned int __a);
  347. __DEVICE__ float __nv_uint2float_rz(unsigned int __a);
  348. __DEVICE__ float __nv_uint_as_float(unsigned int __a);
  349. __DEVICE__ double __nv_ull2double_rd(unsigned long long __a);
  350. __DEVICE__ double __nv_ull2double_rn(unsigned long long __a);
  351. __DEVICE__ double __nv_ull2double_ru(unsigned long long __a);
  352. __DEVICE__ double __nv_ull2double_rz(unsigned long long __a);
  353. __DEVICE__ float __nv_ull2float_rd(unsigned long long __a);
  354. __DEVICE__ float __nv_ull2float_rn(unsigned long long __a);
  355. __DEVICE__ float __nv_ull2float_ru(unsigned long long __a);
  356. __DEVICE__ float __nv_ull2float_rz(unsigned long long __a);
  357. __DEVICE__ unsigned long long __nv_ullmax(unsigned long long __a,
  358.                                           unsigned long long __b);
  359. __DEVICE__ unsigned long long __nv_ullmin(unsigned long long __a,
  360.                                           unsigned long long __b);
  361. __DEVICE__ unsigned int __nv_umax(unsigned int __a, unsigned int __b);
  362. __DEVICE__ unsigned int __nv_umin(unsigned int __a, unsigned int __b);
  363. __DEVICE__ unsigned int __nv_umul24(unsigned int __a, unsigned int __b);
  364. __DEVICE__ unsigned long long __nv_umul64hi(unsigned long long __a,
  365.                                             unsigned long long __b);
  366. __DEVICE__ unsigned int __nv_umulhi(unsigned int __a, unsigned int __b);
  367. __DEVICE__ unsigned int __nv_urhadd(unsigned int __a, unsigned int __b);
  368. __DEVICE__ unsigned int __nv_usad(unsigned int __a, unsigned int __b,
  369.                                   unsigned int __c);
  370. #if CUDA_VERSION >= 9000 && CUDA_VERSION < 9020
  371. __DEVICE__ int __nv_vabs2(int __a);
  372. __DEVICE__ int __nv_vabs4(int __a);
  373. __DEVICE__ int __nv_vabsdiffs2(int __a, int __b);
  374. __DEVICE__ int __nv_vabsdiffs4(int __a, int __b);
  375. __DEVICE__ int __nv_vabsdiffu2(int __a, int __b);
  376. __DEVICE__ int __nv_vabsdiffu4(int __a, int __b);
  377. __DEVICE__ int __nv_vabsss2(int __a);
  378. __DEVICE__ int __nv_vabsss4(int __a);
  379. __DEVICE__ int __nv_vadd2(int __a, int __b);
  380. __DEVICE__ int __nv_vadd4(int __a, int __b);
  381. __DEVICE__ int __nv_vaddss2(int __a, int __b);
  382. __DEVICE__ int __nv_vaddss4(int __a, int __b);
  383. __DEVICE__ int __nv_vaddus2(int __a, int __b);
  384. __DEVICE__ int __nv_vaddus4(int __a, int __b);
  385. __DEVICE__ int __nv_vavgs2(int __a, int __b);
  386. __DEVICE__ int __nv_vavgs4(int __a, int __b);
  387. __DEVICE__ int __nv_vavgu2(int __a, int __b);
  388. __DEVICE__ int __nv_vavgu4(int __a, int __b);
  389. __DEVICE__ int __nv_vcmpeq2(int __a, int __b);
  390. __DEVICE__ int __nv_vcmpeq4(int __a, int __b);
  391. __DEVICE__ int __nv_vcmpges2(int __a, int __b);
  392. __DEVICE__ int __nv_vcmpges4(int __a, int __b);
  393. __DEVICE__ int __nv_vcmpgeu2(int __a, int __b);
  394. __DEVICE__ int __nv_vcmpgeu4(int __a, int __b);
  395. __DEVICE__ int __nv_vcmpgts2(int __a, int __b);
  396. __DEVICE__ int __nv_vcmpgts4(int __a, int __b);
  397. __DEVICE__ int __nv_vcmpgtu2(int __a, int __b);
  398. __DEVICE__ int __nv_vcmpgtu4(int __a, int __b);
  399. __DEVICE__ int __nv_vcmples2(int __a, int __b);
  400. __DEVICE__ int __nv_vcmples4(int __a, int __b);
  401. __DEVICE__ int __nv_vcmpleu2(int __a, int __b);
  402. __DEVICE__ int __nv_vcmpleu4(int __a, int __b);
  403. __DEVICE__ int __nv_vcmplts2(int __a, int __b);
  404. __DEVICE__ int __nv_vcmplts4(int __a, int __b);
  405. __DEVICE__ int __nv_vcmpltu2(int __a, int __b);
  406. __DEVICE__ int __nv_vcmpltu4(int __a, int __b);
  407. __DEVICE__ int __nv_vcmpne2(int __a, int __b);
  408. __DEVICE__ int __nv_vcmpne4(int __a, int __b);
  409. __DEVICE__ int __nv_vhaddu2(int __a, int __b);
  410. __DEVICE__ int __nv_vhaddu4(int __a, int __b);
  411. __DEVICE__ int __nv_vmaxs2(int __a, int __b);
  412. __DEVICE__ int __nv_vmaxs4(int __a, int __b);
  413. __DEVICE__ int __nv_vmaxu2(int __a, int __b);
  414. __DEVICE__ int __nv_vmaxu4(int __a, int __b);
  415. __DEVICE__ int __nv_vmins2(int __a, int __b);
  416. __DEVICE__ int __nv_vmins4(int __a, int __b);
  417. __DEVICE__ int __nv_vminu2(int __a, int __b);
  418. __DEVICE__ int __nv_vminu4(int __a, int __b);
  419. __DEVICE__ int __nv_vneg2(int __a);
  420. __DEVICE__ int __nv_vneg4(int __a);
  421. __DEVICE__ int __nv_vnegss2(int __a);
  422. __DEVICE__ int __nv_vnegss4(int __a);
  423. __DEVICE__ int __nv_vsads2(int __a, int __b);
  424. __DEVICE__ int __nv_vsads4(int __a, int __b);
  425. __DEVICE__ int __nv_vsadu2(int __a, int __b);
  426. __DEVICE__ int __nv_vsadu4(int __a, int __b);
  427. __DEVICE__ int __nv_vseteq2(int __a, int __b);
  428. __DEVICE__ int __nv_vseteq4(int __a, int __b);
  429. __DEVICE__ int __nv_vsetges2(int __a, int __b);
  430. __DEVICE__ int __nv_vsetges4(int __a, int __b);
  431. __DEVICE__ int __nv_vsetgeu2(int __a, int __b);
  432. __DEVICE__ int __nv_vsetgeu4(int __a, int __b);
  433. __DEVICE__ int __nv_vsetgts2(int __a, int __b);
  434. __DEVICE__ int __nv_vsetgts4(int __a, int __b);
  435. __DEVICE__ int __nv_vsetgtu2(int __a, int __b);
  436. __DEVICE__ int __nv_vsetgtu4(int __a, int __b);
  437. __DEVICE__ int __nv_vsetles2(int __a, int __b);
  438. __DEVICE__ int __nv_vsetles4(int __a, int __b);
  439. __DEVICE__ int __nv_vsetleu2(int __a, int __b);
  440. __DEVICE__ int __nv_vsetleu4(int __a, int __b);
  441. __DEVICE__ int __nv_vsetlts2(int __a, int __b);
  442. __DEVICE__ int __nv_vsetlts4(int __a, int __b);
  443. __DEVICE__ int __nv_vsetltu2(int __a, int __b);
  444. __DEVICE__ int __nv_vsetltu4(int __a, int __b);
  445. __DEVICE__ int __nv_vsetne2(int __a, int __b);
  446. __DEVICE__ int __nv_vsetne4(int __a, int __b);
  447. __DEVICE__ int __nv_vsub2(int __a, int __b);
  448. __DEVICE__ int __nv_vsub4(int __a, int __b);
  449. __DEVICE__ int __nv_vsubss2(int __a, int __b);
  450. __DEVICE__ int __nv_vsubss4(int __a, int __b);
  451. __DEVICE__ int __nv_vsubus2(int __a, int __b);
  452. __DEVICE__ int __nv_vsubus4(int __a, int __b);
  453. #endif  // CUDA_VERSION
  454. __DEVICE__ double __nv_y0(double __a);
  455. __DEVICE__ float __nv_y0f(float __a);
  456. __DEVICE__ double __nv_y1(double __a);
  457. __DEVICE__ float __nv_y1f(float __a);
  458. __DEVICE__ float __nv_ynf(int __a, float __b);
  459. __DEVICE__ double __nv_yn(int __a, double __b);
  460.  
  461. #if defined(__OPENMP_NVPTX__)
  462. #pragma omp end assumes ext_spmd_amenable no_openmp
  463. #endif
  464.  
  465. #if defined(__cplusplus)
  466. } // extern "C"
  467. #endif
  468. #endif // __CLANG_CUDA_LIBDEVICE_DECLARES_H__
  469.