|
247 | 247 | # undef _CCCL_BUILTIN_EXPM1L |
248 | 248 | #endif // _CCCL_CUDACC_BELOW(11, 7) || _CCCL_CUDA_COMPILER(CLANG) |
249 | 249 |
|
250 | | -#if _CCCL_CHECK_BUILTIN(builtin_exp) || _CCCL_COMPILER(GCC) |
251 | | -# define _CCCL_BUILTIN_EXPF(...) __builtin_expf(__VA_ARGS__) |
252 | | -# define _CCCL_BUILTIN_EXP(...) __builtin_exp(__VA_ARGS__) |
253 | | -# define _CCCL_BUILTIN_EXPL(...) __builtin_expl(__VA_ARGS__) |
254 | | -#endif // _CCCL_CHECK_BUILTIN(builtin_exp) |
255 | | - |
256 | | -// Below 11.7 nvcc treats the builtin as a host only function |
257 | | -// clang-cuda fails with fatal error: error in backend: Undefined external symbol "expf" |
258 | | -#if _CCCL_CUDACC_BELOW(11, 7) || _CCCL_CUDA_COMPILER(CLANG) |
259 | | -# undef _CCCL_BUILTIN_EXPF |
260 | | -# undef _CCCL_BUILTIN_EXP |
261 | | -# undef _CCCL_BUILTIN_EXPL |
262 | | -#endif // _CCCL_CUDACC_BELOW(11, 7) || _CCCL_CUDA_COMPILER(CLANG) |
263 | | - |
264 | | -#if _CCCL_CHECK_BUILTIN(builtin_exp2) || _CCCL_COMPILER(GCC) |
265 | | -# define _CCCL_BUILTIN_EXP2F(...) __builtin_exp2f(__VA_ARGS__) |
266 | | -# define _CCCL_BUILTIN_EXP2(...) __builtin_exp2(__VA_ARGS__) |
267 | | -# define _CCCL_BUILTIN_EXP2L(...) __builtin_exp2l(__VA_ARGS__) |
268 | | -#endif // _CCCL_CHECK_BUILTIN(builtin_exp2) |
269 | | - |
270 | | -// Below 11.7 nvcc treats the builtin as a host only function |
271 | | -// clang-cuda fails with fatal error: error in backend: Undefined external symbol "exp2" |
272 | | -#if _CCCL_CUDACC_BELOW(11, 7) || _CCCL_CUDA_COMPILER(CLANG) |
273 | | -# undef _CCCL_BUILTIN_EXP2F |
274 | | -# undef _CCCL_BUILTIN_EXP2 |
275 | | -# undef _CCCL_BUILTIN_EXP2L |
276 | | -#endif // _CCCL_CUDACC_BELOW(11, 7) || _CCCL_CUDA_COMPILER(CLANG) |
277 | | - |
278 | | -#if _CCCL_CHECK_BUILTIN(builtin_expm1) || _CCCL_COMPILER(GCC) |
279 | | -# define _CCCL_BUILTIN_EXPM1F(...) __builtin_expm1f(__VA_ARGS__) |
280 | | -# define _CCCL_BUILTIN_EXPM1(...) __builtin_expm1(__VA_ARGS__) |
281 | | -# define _CCCL_BUILTIN_EXPM1L(...) __builtin_expm1l(__VA_ARGS__) |
282 | | -#endif // _CCCL_CHECK_BUILTIN(builtin_expm1) |
283 | | - |
284 | | -// Below 11.7 nvcc treats the builtin as a host only function |
285 | | -// clang-cuda fails with fatal error: error in backend: Undefined external symbol "expm1" |
286 | | -#if _CCCL_CUDACC_BELOW(11, 7) || _CCCL_CUDA_COMPILER(CLANG) |
287 | | -# undef _CCCL_BUILTIN_EXPM1F |
288 | | -# undef _CCCL_BUILTIN_EXPM1 |
289 | | -# undef _CCCL_BUILTIN_EXPM1L |
290 | | -#endif // _CCCL_CUDACC_BELOW(11, 7) || _CCCL_CUDA_COMPILER(CLANG) |
291 | | - |
292 | 250 | #if _CCCL_CHECK_BUILTIN(builtin_expect) || _CCCL_COMPILER(MSVC) || _CCCL_COMPILER(GCC) |
293 | 251 | # define _CCCL_BUILTIN_EXPECT(...) __builtin_expect(__VA_ARGS__) |
294 | 252 | #endif // _CCCL_CHECK_BUILTIN(builtin_expect) |
|
0 commit comments