1 /*===-- __clang_cuda_libdevice_declares.h - decls for libdevice functions --===
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
7 *===-----------------------------------------------------------------------===
10 #ifndef __CLANG_CUDA_LIBDEVICE_DECLARES_H__
11 #define __CLANG_CUDA_LIBDEVICE_DECLARES_H__
13 #if defined(__cplusplus)
17 #if defined(__OPENMP_NVPTX__)
19 #pragma omp begin assumes ext_spmd_amenable no_openmp
20 #elif defined(__CUDA__)
21 #define __DEVICE__ __device__
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
,
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
);
461 #if defined(__OPENMP_NVPTX__)
462 #pragma omp end assumes ext_spmd_amenable no_openmp
465 #if defined(__cplusplus)
468 #endif // __CLANG_CUDA_LIBDEVICE_DECLARES_H__