22 #ifdef __SYCL_DEVICE_ONLY__
23 #define __SYCL_CONSTANT_AS __attribute__((opencl_constant))
25 #define __SYCL_CONSTANT_AS
32 namespace experimental {
75 template <
typename FormatT,
typename... Args>
76 int printf(
const FormatT *__format, Args... args) {
77 #if defined(__SYCL_DEVICE_ONLY__) && defined(__SPIR__)
78 return __spirv_ocl_printf(__format, args...);
81 #endif // defined(__SYCL_DEVICE_ONLY__) && defined(__SPIR__)
93 #if defined(__NVPTX__)
95 _ocl_T arg1 = cl::sycl::detail::convertDataToType<T, _ocl_T>(x);
96 return cl::sycl::detail::convertDataToType<_ocl_T, T>(
97 __clc_native_tanh(arg1));
99 return __sycl_std::__invoke_tanh<T>(x);
104 template <
typename T>
108 #if defined(__NVPTX__)
110 _ocl_T arg1 = cl::sycl::detail::convertDataToType<T, _ocl_T>(x);
111 return cl::sycl::detail::convertDataToType<_ocl_T, T>(
112 __clc_native_exp2(arg1));
114 return __sycl_std::__invoke_exp2<T>(x);
127 #undef __SYCL_CONSTANT_AS