llvm-runtime-resources-darwin 0.0.0 → 23.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +33 -0
  3. package/include/__clang_cuda_builtin_vars.h +121 -0
  4. package/include/__clang_cuda_cmath.h +512 -0
  5. package/include/__clang_cuda_complex_builtins.h +236 -0
  6. package/include/__clang_cuda_device_functions.h +1572 -0
  7. package/include/__clang_cuda_intrinsics.h +975 -0
  8. package/include/__clang_cuda_libdevice_declares.h +468 -0
  9. package/include/__clang_cuda_math.h +353 -0
  10. package/include/__clang_cuda_math_forward_declares.h +289 -0
  11. package/include/__clang_cuda_runtime_wrapper.h +526 -0
  12. package/include/__clang_cuda_texture_intrinsics.h +1177 -0
  13. package/include/__clang_gpu_builtin_vars.h +71 -0
  14. package/include/__clang_gpu_device_functions.h +411 -0
  15. package/include/__clang_gpu_intrinsics.h +242 -0
  16. package/include/__clang_hip_cmath.h +848 -0
  17. package/include/__clang_hip_libdevice_declares.h +238 -0
  18. package/include/__clang_hip_math.h +1405 -0
  19. package/include/__clang_hip_runtime_wrapper.h +170 -0
  20. package/include/__clang_hip_stdlib.h +43 -0
  21. package/include/__clang_spirv_builtins.h +217 -0
  22. package/include/__clang_spirv_libdevice_declares.h +170 -0
  23. package/include/__clang_spirv_math.h +719 -0
  24. package/include/__float_float.h +176 -0
  25. package/include/__float_header_macro.h +12 -0
  26. package/include/__float_infinity_nan.h +20 -0
  27. package/include/__stdarg___gnuc_va_list.h +13 -0
  28. package/include/__stdarg___va_copy.h +12 -0
  29. package/include/__stdarg_header_macro.h +12 -0
  30. package/include/__stdarg_va_arg.h +22 -0
  31. package/include/__stdarg_va_copy.h +12 -0
  32. package/include/__stdarg_va_list.h +13 -0
  33. package/include/__stddef_header_macro.h +12 -0
  34. package/include/__stddef_max_align_t.h +27 -0
  35. package/include/__stddef_null.h +29 -0
  36. package/include/__stddef_nullptr_t.h +29 -0
  37. package/include/__stddef_offsetof.h +17 -0
  38. package/include/__stddef_ptrdiff_t.h +20 -0
  39. package/include/__stddef_rsize_t.h +20 -0
  40. package/include/__stddef_size_t.h +20 -0
  41. package/include/__stddef_unreachable.h +21 -0
  42. package/include/__stddef_wchar_t.h +28 -0
  43. package/include/__stddef_wint_t.h +15 -0
  44. package/include/__wmmintrin_aes.h +140 -0
  45. package/include/__wmmintrin_pclmul.h +48 -0
  46. package/include/adcintrin.h +165 -0
  47. package/include/adxintrin.h +107 -0
  48. package/include/altivec.h +19434 -0
  49. package/include/amdgpuintrin.h +164 -0
  50. package/include/amdhsa_abi.h +83 -0
  51. package/include/ammintrin.h +183 -0
  52. package/include/amo.h +220 -0
  53. package/include/amxavx512intrin.h +596 -0
  54. package/include/amxcomplexintrin.h +167 -0
  55. package/include/amxfp16intrin.h +93 -0
  56. package/include/amxfp8intrin.h +230 -0
  57. package/include/amxintrin.h +492 -0
  58. package/include/amxmovrsintrin.h +48 -0
  59. package/include/andes_vector.h +21 -0
  60. package/include/arm64_neon.h +21 -0
  61. package/include/arm64intr.h +45 -0
  62. package/include/arm_acle.h +866 -0
  63. package/include/arm_bf16.h +20 -0
  64. package/include/arm_cde.h +410 -0
  65. package/include/arm_cmse.h +217 -0
  66. package/include/arm_fp16.h +596 -0
  67. package/include/arm_mve.h +19187 -0
  68. package/include/arm_neon.h +74351 -0
  69. package/include/arm_neon_sve_bridge.h +182 -0
  70. package/include/arm_sme.h +3753 -0
  71. package/include/arm_sve.h +32698 -0
  72. package/include/arm_vector_types.h +432 -0
  73. package/include/armintr.h +31 -0
  74. package/include/avx10_2_512bf16intrin.h +568 -0
  75. package/include/avx10_2_512convertintrin.h +322 -0
  76. package/include/avx10_2_512minmaxintrin.h +127 -0
  77. package/include/avx10_2_512niintrin.h +314 -0
  78. package/include/avx10_2_512satcvtdsintrin.h +307 -0
  79. package/include/avx10_2_512satcvtintrin.h +301 -0
  80. package/include/avx10_2bf16intrin.h +1094 -0
  81. package/include/avx10_2convertintrin.h +3257 -0
  82. package/include/avx10_2copyintrin.h +66 -0
  83. package/include/avx10_2minmaxintrin.h +232 -0
  84. package/include/avx10_2niintrin.h +409 -0
  85. package/include/avx10_2satcvtdsintrin.h +376 -0
  86. package/include/avx10_2satcvtintrin.h +312 -0
  87. package/include/avx2intrin.h +5190 -0
  88. package/include/avx512bf16intrin.h +292 -0
  89. package/include/avx512bitalgintrin.h +75 -0
  90. package/include/avx512bmmintrin.h +174 -0
  91. package/include/avx512bmmvlintrin.h +245 -0
  92. package/include/avx512bwintrin.h +1885 -0
  93. package/include/avx512cdintrin.h +112 -0
  94. package/include/avx512dqintrin.h +1350 -0
  95. package/include/avx512fintrin.h +9351 -0
  96. package/include/avx512fp16intrin.h +3349 -0
  97. package/include/avx512ifmaintrin.h +68 -0
  98. package/include/avx512ifmavlintrin.h +138 -0
  99. package/include/avx512vbmi2intrin.h +364 -0
  100. package/include/avx512vbmiintrin.h +98 -0
  101. package/include/avx512vbmivlintrin.h +179 -0
  102. package/include/avx512vlbf16intrin.h +527 -0
  103. package/include/avx512vlbitalgintrin.h +135 -0
  104. package/include/avx512vlbwintrin.h +3052 -0
  105. package/include/avx512vlcdintrin.h +202 -0
  106. package/include/avx512vldqintrin.h +1156 -0
  107. package/include/avx512vlfp16intrin.h +2090 -0
  108. package/include/avx512vlintrin.h +8067 -0
  109. package/include/avx512vlvbmi2intrin.h +702 -0
  110. package/include/avx512vlvnniintrin.h +308 -0
  111. package/include/avx512vlvp2intersectintrin.h +123 -0
  112. package/include/avx512vnniintrin.h +113 -0
  113. package/include/avx512vp2intersectintrin.h +77 -0
  114. package/include/avx512vpopcntdqintrin.h +62 -0
  115. package/include/avx512vpopcntdqvlintrin.h +105 -0
  116. package/include/avxifmaintrin.h +193 -0
  117. package/include/avxintrin.h +5064 -0
  118. package/include/avxneconvertintrin.h +484 -0
  119. package/include/avxvnniint16intrin.h +451 -0
  120. package/include/avxvnniint8intrin.h +454 -0
  121. package/include/avxvnniintrin.h +238 -0
  122. package/include/bmi2intrin.h +253 -0
  123. package/include/bmiintrin.h +604 -0
  124. package/include/builtins.h +19 -0
  125. package/include/cet.h +66 -0
  126. package/include/cetintrin.h +115 -0
  127. package/include/cldemoteintrin.h +36 -0
  128. package/include/clflushoptintrin.h +36 -0
  129. package/include/clwbintrin.h +38 -0
  130. package/include/clzerointrin.h +38 -0
  131. package/include/cmpccxaddintrin.h +70 -0
  132. package/include/cpuid.h +451 -0
  133. package/include/crc32intrin.h +102 -0
  134. package/include/cuda_wrappers/__utility/declval.h +28 -0
  135. package/include/cuda_wrappers/algorithm +116 -0
  136. package/include/cuda_wrappers/bits/basic_string.h +9 -0
  137. package/include/cuda_wrappers/bits/basic_string.tcc +9 -0
  138. package/include/cuda_wrappers/bits/c++config.h +61 -0
  139. package/include/cuda_wrappers/bits/shared_ptr_base.h +9 -0
  140. package/include/cuda_wrappers/cmath +44 -0
  141. package/include/cuda_wrappers/complex +90 -0
  142. package/include/cuda_wrappers/new +108 -0
  143. package/include/emmintrin.h +4940 -0
  144. package/include/endian.h +91 -0
  145. package/include/enqcmdintrin.h +63 -0
  146. package/include/f16cintrin.h +176 -0
  147. package/include/float.h +48 -0
  148. package/include/fma4intrin.h +220 -0
  149. package/include/fmaintrin.h +826 -0
  150. package/include/fuzzer/FuzzedDataProvider.h +397 -0
  151. package/include/fxsrintrin.h +91 -0
  152. package/include/gfniintrin.h +238 -0
  153. package/include/gpuintrin.h +348 -0
  154. package/include/hexagon_circ_brev_intrinsics.h +298 -0
  155. package/include/hexagon_protos.h +8439 -0
  156. package/include/hexagon_types.h +2628 -0
  157. package/include/hlsl_alias_intrinsics_gen.inc +3869 -0
  158. package/include/hlsl_inline_intrinsics_gen.inc +546 -0
  159. package/include/hresetintrin.h +49 -0
  160. package/include/htmintrin.h +212 -0
  161. package/include/htmxlintrin.h +345 -0
  162. package/include/hvx_hexagon_protos.h +5421 -0
  163. package/include/ia32intrin.h +863 -0
  164. package/include/immintrin.h +597 -0
  165. package/include/intrin.h +501 -0
  166. package/include/intrin0.h +256 -0
  167. package/include/inttypes.h +101 -0
  168. package/include/invpcidintrin.h +23 -0
  169. package/include/iso646.h +31 -0
  170. package/include/keylockerintrin.h +518 -0
  171. package/include/larchintrin.h +262 -0
  172. package/include/lasxintrin.h +3999 -0
  173. package/include/limits.h +133 -0
  174. package/include/llvm_libc_wrappers/assert.h +32 -0
  175. package/include/llvm_libc_wrappers/ctype.h +29 -0
  176. package/include/llvm_libc_wrappers/inttypes.h +32 -0
  177. package/include/llvm_libc_wrappers/stdio.h +52 -0
  178. package/include/llvm_libc_wrappers/stdlib.h +32 -0
  179. package/include/llvm_libc_wrappers/string.h +29 -0
  180. package/include/llvm_libc_wrappers/time.h +28 -0
  181. package/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
  182. package/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
  183. package/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
  184. package/include/lsxintrin.h +3752 -0
  185. package/include/lwpintrin.h +136 -0
  186. package/include/lzcntintrin.h +109 -0
  187. package/include/mm3dnow.h +22 -0
  188. package/include/mm_malloc.h +67 -0
  189. package/include/mmintrin.h +1541 -0
  190. package/include/module.modulemap +375 -0
  191. package/include/movdirintrin.h +49 -0
  192. package/include/movrs_avx10_2_512intrin.h +98 -0
  193. package/include/movrs_avx10_2intrin.h +174 -0
  194. package/include/movrsintrin.h +59 -0
  195. package/include/msa.h +573 -0
  196. package/include/mwaitxintrin.h +62 -0
  197. package/include/nmmintrin.h +20 -0
  198. package/include/nvptxintrin.h +208 -0
  199. package/include/opencl-c-base.h +765 -0
  200. package/include/opencl-c.h +18737 -0
  201. package/include/openmp_wrappers/__clang_openmp_device_functions.h +118 -0
  202. package/include/openmp_wrappers/cmath +132 -0
  203. package/include/openmp_wrappers/complex +61 -0
  204. package/include/openmp_wrappers/complex.h +41 -0
  205. package/include/openmp_wrappers/complex_cmath.h +393 -0
  206. package/include/openmp_wrappers/math.h +71 -0
  207. package/include/openmp_wrappers/new +48 -0
  208. package/include/pconfigintrin.h +40 -0
  209. package/include/pkuintrin.h +34 -0
  210. package/include/pmmintrin.h +302 -0
  211. package/include/popcntintrin.h +59 -0
  212. package/include/ppc_wrappers/bmi2intrin.h +134 -0
  213. package/include/ppc_wrappers/bmiintrin.h +165 -0
  214. package/include/ppc_wrappers/emmintrin.h +2269 -0
  215. package/include/ppc_wrappers/immintrin.h +27 -0
  216. package/include/ppc_wrappers/mm_malloc.h +45 -0
  217. package/include/ppc_wrappers/mmintrin.h +1453 -0
  218. package/include/ppc_wrappers/nmmintrin.h +26 -0
  219. package/include/ppc_wrappers/pmmintrin.h +145 -0
  220. package/include/ppc_wrappers/smmintrin.h +683 -0
  221. package/include/ppc_wrappers/tmmintrin.h +453 -0
  222. package/include/ppc_wrappers/x86gprintrin.h +17 -0
  223. package/include/ppc_wrappers/x86intrin.h +28 -0
  224. package/include/ppc_wrappers/xmmintrin.h +1827 -0
  225. package/include/prfchiintrin.h +61 -0
  226. package/include/prfchwintrin.h +57 -0
  227. package/include/profile/InstrProfData.inc +1063 -0
  228. package/include/profile/instr_prof_interface.h +88 -0
  229. package/include/ptrauth.h +485 -0
  230. package/include/ptwriteintrin.h +37 -0
  231. package/include/raointintrin.h +203 -0
  232. package/include/rdpruintrin.h +57 -0
  233. package/include/rdseedintrin.h +105 -0
  234. package/include/riscv_bitmanip.h +202 -0
  235. package/include/riscv_corev_alu.h +130 -0
  236. package/include/riscv_crypto.h +178 -0
  237. package/include/riscv_mips.h +36 -0
  238. package/include/riscv_nds.h +92 -0
  239. package/include/riscv_ntlh.h +28 -0
  240. package/include/riscv_packed_simd.h +644 -0
  241. package/include/riscv_vector.h +465 -0
  242. package/include/rtmintrin.h +45 -0
  243. package/include/s390intrin.h +25 -0
  244. package/include/sanitizer/allocator_interface.h +106 -0
  245. package/include/sanitizer/asan_interface.h +398 -0
  246. package/include/sanitizer/common_interface_defs.h +507 -0
  247. package/include/sanitizer/coverage_interface.h +36 -0
  248. package/include/sanitizer/dfsan_interface.h +220 -0
  249. package/include/sanitizer/hwasan_interface.h +109 -0
  250. package/include/sanitizer/linux_syscall_hooks.h +3112 -0
  251. package/include/sanitizer/lsan_interface.h +89 -0
  252. package/include/sanitizer/msan_interface.h +135 -0
  253. package/include/sanitizer/netbsd_syscall_hooks.h +5005 -0
  254. package/include/sanitizer/rtsan_interface.h +75 -0
  255. package/include/sanitizer/safestack_interface.h +50 -0
  256. package/include/sanitizer/scudo_interface.h +38 -0
  257. package/include/sanitizer/tsan_interface.h +316 -0
  258. package/include/sanitizer/tsan_interface_atomic.h +223 -0
  259. package/include/sanitizer/tysan_interface.h +36 -0
  260. package/include/sanitizer/ubsan_interface.h +64 -0
  261. package/include/serializeintrin.h +30 -0
  262. package/include/sgxintrin.h +60 -0
  263. package/include/sha512intrin.h +200 -0
  264. package/include/shaintrin.h +190 -0
  265. package/include/sifive_vector.h +192 -0
  266. package/include/sm3intrin.h +238 -0
  267. package/include/sm4evexintrin.h +32 -0
  268. package/include/sm4intrin.h +269 -0
  269. package/include/smmintrin.h +2352 -0
  270. package/include/spirvintrin.h +167 -0
  271. package/include/stdalign.h +24 -0
  272. package/include/stdarg.h +75 -0
  273. package/include/stdatomic.h +204 -0
  274. package/include/stdbool.h +39 -0
  275. package/include/stdckdint.h +42 -0
  276. package/include/stdcountof.h +15 -0
  277. package/include/stddef.h +139 -0
  278. package/include/stddefer.h +19 -0
  279. package/include/stdint.h +835 -0
  280. package/include/stdnoreturn.h +35 -0
  281. package/include/tbmintrin.h +128 -0
  282. package/include/tgmath.h +1368 -0
  283. package/include/tmmintrin.h +779 -0
  284. package/include/tsxldtrkintrin.h +56 -0
  285. package/include/uintrintrin.h +157 -0
  286. package/include/unwind.h +332 -0
  287. package/include/usermsrintrin.h +51 -0
  288. package/include/vadefs.h +51 -0
  289. package/include/vaesintrin.h +86 -0
  290. package/include/varargs.h +16 -0
  291. package/include/vecintrin.h +12868 -0
  292. package/include/velintrin.h +71 -0
  293. package/include/velintrin_approx.h +120 -0
  294. package/include/velintrin_gen.h +1257 -0
  295. package/include/vpclmulqdqintrin.h +30 -0
  296. package/include/waitpkgintrin.h +42 -0
  297. package/include/wasm_simd128.h +2160 -0
  298. package/include/wbnoinvdintrin.h +24 -0
  299. package/include/wmmintrin.h +23 -0
  300. package/include/x86gprintrin.h +49 -0
  301. package/include/x86intrin.h +35 -0
  302. package/include/xmmintrin.h +3176 -0
  303. package/include/xopintrin.h +780 -0
  304. package/include/xsavecintrin.h +84 -0
  305. package/include/xsaveintrin.h +63 -0
  306. package/include/xsaveoptintrin.h +34 -0
  307. package/include/xsavesintrin.h +44 -0
  308. package/include/xtestintrin.h +27 -0
  309. package/include/yvals_core.h +25 -0
  310. package/include/zos_wrappers/builtins.h +18 -0
  311. package/include/zos_wrappers/grp.h +19 -0
  312. package/include/zos_wrappers/locale.h +19 -0
  313. package/include/zos_wrappers/math.h +31 -0
  314. package/include/zos_wrappers/poll.h +19 -0
  315. package/include/zos_wrappers/stdlib.h +20 -0
  316. package/include/zos_wrappers/string.h +19 -0
  317. package/include/zos_wrappers/time.h +19 -0
  318. package/include/zos_wrappers/variant.h +19 -0
  319. package/index.js +5 -0
  320. package/lib/darwin/libclang_rt.asan_abi_ios.a +0 -0
  321. package/lib/darwin/libclang_rt.asan_abi_iossim.a +0 -0
  322. package/lib/darwin/libclang_rt.asan_abi_osx.a +0 -0
  323. package/lib/darwin/libclang_rt.asan_ios_dynamic.dylib +0 -0
  324. package/lib/darwin/libclang_rt.asan_iossim_dynamic.dylib +0 -0
  325. package/lib/darwin/libclang_rt.asan_osx_dynamic.dylib +0 -0
  326. package/lib/darwin/libclang_rt.cc_kext.a +0 -0
  327. package/lib/darwin/libclang_rt.cc_kext_ios.a +0 -0
  328. package/lib/darwin/libclang_rt.fuzzer_interceptors_ios.a +0 -0
  329. package/lib/darwin/libclang_rt.fuzzer_interceptors_iossim.a +0 -0
  330. package/lib/darwin/libclang_rt.fuzzer_interceptors_osx.a +0 -0
  331. package/lib/darwin/libclang_rt.fuzzer_ios.a +0 -0
  332. package/lib/darwin/libclang_rt.fuzzer_iossim.a +0 -0
  333. package/lib/darwin/libclang_rt.fuzzer_no_main_ios.a +0 -0
  334. package/lib/darwin/libclang_rt.fuzzer_no_main_iossim.a +0 -0
  335. package/lib/darwin/libclang_rt.fuzzer_no_main_osx.a +0 -0
  336. package/lib/darwin/libclang_rt.fuzzer_osx.a +0 -0
  337. package/lib/darwin/libclang_rt.ios.a +0 -0
  338. package/lib/darwin/libclang_rt.iossim.a +0 -0
  339. package/lib/darwin/libclang_rt.lsan_ios_dynamic.dylib +0 -0
  340. package/lib/darwin/libclang_rt.lsan_iossim_dynamic.dylib +0 -0
  341. package/lib/darwin/libclang_rt.lsan_osx_dynamic.dylib +0 -0
  342. package/lib/darwin/libclang_rt.osx.a +0 -0
  343. package/lib/darwin/libclang_rt.profile_ios.a +0 -0
  344. package/lib/darwin/libclang_rt.profile_iossim.a +0 -0
  345. package/lib/darwin/libclang_rt.profile_osx.a +0 -0
  346. package/lib/darwin/libclang_rt.rtsan_ios_dynamic.dylib +0 -0
  347. package/lib/darwin/libclang_rt.rtsan_iossim_dynamic.dylib +0 -0
  348. package/lib/darwin/libclang_rt.rtsan_osx_dynamic.dylib +0 -0
  349. package/lib/darwin/libclang_rt.stats_client_ios.a +0 -0
  350. package/lib/darwin/libclang_rt.stats_client_iossim.a +0 -0
  351. package/lib/darwin/libclang_rt.stats_client_osx.a +0 -0
  352. package/lib/darwin/libclang_rt.stats_ios_dynamic.dylib +0 -0
  353. package/lib/darwin/libclang_rt.stats_iossim_dynamic.dylib +0 -0
  354. package/lib/darwin/libclang_rt.stats_osx_dynamic.dylib +0 -0
  355. package/lib/darwin/libclang_rt.tsan_ios_dynamic.dylib +0 -0
  356. package/lib/darwin/libclang_rt.tsan_iossim_dynamic.dylib +0 -0
  357. package/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib +0 -0
  358. package/lib/darwin/libclang_rt.tysan_ios_dynamic.dylib +0 -0
  359. package/lib/darwin/libclang_rt.tysan_iossim_dynamic.dylib +0 -0
  360. package/lib/darwin/libclang_rt.tysan_osx_dynamic.dylib +0 -0
  361. package/lib/darwin/libclang_rt.ubsan_ios_dynamic.dylib +0 -0
  362. package/lib/darwin/libclang_rt.ubsan_iossim_dynamic.dylib +0 -0
  363. package/lib/darwin/libclang_rt.ubsan_minimal_ios.a +0 -0
  364. package/lib/darwin/libclang_rt.ubsan_minimal_ios_dynamic.dylib +0 -0
  365. package/lib/darwin/libclang_rt.ubsan_minimal_iossim.a +0 -0
  366. package/lib/darwin/libclang_rt.ubsan_minimal_iossim_dynamic.dylib +0 -0
  367. package/lib/darwin/libclang_rt.ubsan_minimal_osx.a +0 -0
  368. package/lib/darwin/libclang_rt.ubsan_minimal_osx_dynamic.dylib +0 -0
  369. package/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib +0 -0
  370. package/package.json +40 -1
  371. package/share/asan_ignorelist.txt +14 -0
  372. package/share/cfi_ignorelist.txt +17 -0
@@ -0,0 +1,170 @@
1
+ /*===---- __clang_hip_runtime_wrapper.h - HIP runtime support ---------------===
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
+ /*
11
+ * WARNING: This header is intended to be directly -include'd by
12
+ * the compiler and is not supposed to be included by users.
13
+ *
14
+ */
15
+
16
+ #ifndef __CLANG_HIP_RUNTIME_WRAPPER_H__
17
+ #define __CLANG_HIP_RUNTIME_WRAPPER_H__
18
+
19
+ #if __HIP__
20
+
21
+ #define __host__ __attribute__((host))
22
+ #define __device__ __attribute__((device))
23
+ #define __global__ __attribute__((global))
24
+ #define __shared__ __attribute__((shared))
25
+ #define __constant__ __attribute__((constant))
26
+ #define __managed__ __attribute__((managed))
27
+
28
+ #define __cluster_dims__(...) __attribute__((cluster_dims(__VA_ARGS__)))
29
+ #define __no_cluster__ __attribute__((no_cluster))
30
+
31
+ #if !defined(__cplusplus) || __cplusplus < 201103L
32
+ #define nullptr NULL;
33
+ #endif
34
+
35
+ #ifdef __cplusplus
36
+ extern "C" {
37
+ __attribute__((__visibility__("default")))
38
+ __attribute__((weak))
39
+ __attribute__((noreturn))
40
+ __device__ void __cxa_pure_virtual(void) {
41
+ __builtin_trap();
42
+ }
43
+ __attribute__((__visibility__("default")))
44
+ __attribute__((weak))
45
+ __attribute__((noreturn))
46
+ __device__ void __cxa_deleted_virtual(void) {
47
+ __builtin_trap();
48
+ }
49
+ }
50
+ #endif //__cplusplus
51
+
52
+ #if !defined(__HIPCC_RTC__)
53
+ #if __has_include("hip/hip_version.h")
54
+ #include "hip/hip_version.h"
55
+ #endif // __has_include("hip/hip_version.h")
56
+ #endif // __HIPCC_RTC__
57
+
58
+ typedef __SIZE_TYPE__ __hip_size_t;
59
+
60
+ #ifdef __cplusplus
61
+ extern "C" {
62
+ #endif //__cplusplus
63
+
64
+ #if HIP_VERSION_MAJOR * 100 + HIP_VERSION_MINOR >= 405
65
+ __device__ unsigned long long __ockl_dm_alloc(unsigned long long __size);
66
+ __device__ void __ockl_dm_dealloc(unsigned long long __addr);
67
+ #if __has_feature(address_sanitizer)
68
+ __device__ unsigned long long __asan_malloc_impl(unsigned long long __size,
69
+ unsigned long long __pc);
70
+ __device__ void __asan_free_impl(unsigned long long __addr,
71
+ unsigned long long __pc);
72
+ __attribute__((noinline, weak)) __device__ void *malloc(__hip_size_t __size) {
73
+ unsigned long long __pc = (unsigned long long)__builtin_return_address(0);
74
+ return (void *)__asan_malloc_impl(__size, __pc);
75
+ }
76
+ __attribute__((noinline, weak)) __device__ void free(void *__ptr) {
77
+ unsigned long long __pc = (unsigned long long)__builtin_return_address(0);
78
+ __asan_free_impl((unsigned long long)__ptr, __pc);
79
+ }
80
+ #else // __has_feature(address_sanitizer)
81
+ __attribute__((weak)) inline __device__ void *malloc(__hip_size_t __size) {
82
+ return (void *) __ockl_dm_alloc(__size);
83
+ }
84
+ __attribute__((weak)) inline __device__ void free(void *__ptr) {
85
+ __ockl_dm_dealloc((unsigned long long)__ptr);
86
+ }
87
+ #endif // __has_feature(address_sanitizer)
88
+ #else // HIP version check
89
+ #if __HIP_ENABLE_DEVICE_MALLOC__
90
+ __device__ void *__hip_malloc(__hip_size_t __size);
91
+ __device__ void *__hip_free(void *__ptr);
92
+ __attribute__((weak)) inline __device__ void *malloc(__hip_size_t __size) {
93
+ return __hip_malloc(__size);
94
+ }
95
+ __attribute__((weak)) inline __device__ void free(void *__ptr) {
96
+ __hip_free(__ptr);
97
+ }
98
+ #else // __HIP_ENABLE_DEVICE_MALLOC__
99
+ __attribute__((weak)) inline __device__ void *malloc(__hip_size_t __size) {
100
+ __builtin_trap();
101
+ return (void *)0;
102
+ }
103
+ __attribute__((weak)) inline __device__ void free(void *__ptr) {
104
+ __builtin_trap();
105
+ }
106
+ #endif // __HIP_ENABLE_DEVICE_MALLOC__
107
+ #endif // HIP version check
108
+
109
+ #ifdef __cplusplus
110
+ } // extern "C"
111
+ #endif //__cplusplus
112
+
113
+ #if !defined(__HIPCC_RTC__)
114
+ // We must include the forward declarations before cmath is included.
115
+ // Otherwise `constexpr` functions in <cmath> would be implicitely __host__
116
+ // __device__. Declaring the __device__ verison before allows us to overload
117
+ // them with __device__ versions (this behavour is only valid for system
118
+ // headers).
119
+ #include <__clang_cuda_math_forward_declares.h>
120
+ #include <cmath>
121
+ #include <cstdlib>
122
+ #include <stdlib.h>
123
+ #if __has_include("hip/hip_version.h")
124
+ #include "hip/hip_version.h"
125
+ #endif // __has_include("hip/hip_version.h")
126
+ #else
127
+ typedef __SIZE_TYPE__ size_t;
128
+ // Define macros which are needed to declare HIP device API's without standard
129
+ // C/C++ headers. This is for readability so that these API's can be written
130
+ // the same way as non-hipRTC use case. These macros need to be popped so that
131
+ // they do not pollute users' name space.
132
+ #pragma push_macro("NULL")
133
+ #pragma push_macro("uint32_t")
134
+ #pragma push_macro("uint64_t")
135
+ #pragma push_macro("CHAR_BIT")
136
+ #pragma push_macro("INT_MAX")
137
+ #pragma push_macro("INT_MIN")
138
+ #define NULL (void *)0
139
+ #define uint32_t __UINT32_TYPE__
140
+ #define uint64_t __UINT64_TYPE__
141
+ #define CHAR_BIT __CHAR_BIT__
142
+ #define INT_MAX __INTMAX_MAX__
143
+ #define INT_MIN (-__INT_MAX__ - 1)
144
+ #endif // __HIPCC_RTC__
145
+
146
+ #include <__clang_hip_libdevice_declares.h>
147
+ #include <__clang_hip_math.h>
148
+ #include <__clang_hip_stdlib.h>
149
+
150
+ #if defined(__HIPCC_RTC__)
151
+ #include <__clang_hip_cmath.h>
152
+ #else
153
+ #include <__clang_hip_cmath.h>
154
+ #include <__clang_cuda_complex_builtins.h>
155
+ #include <algorithm>
156
+ #include <complex>
157
+ #include <new>
158
+ #endif // __HIPCC_RTC__
159
+
160
+ #define __CLANG_HIP_RUNTIME_WRAPPER_INCLUDED__ 1
161
+ #if defined(__HIPCC_RTC__)
162
+ #pragma pop_macro("NULL")
163
+ #pragma pop_macro("uint32_t")
164
+ #pragma pop_macro("uint64_t")
165
+ #pragma pop_macro("CHAR_BIT")
166
+ #pragma pop_macro("INT_MAX")
167
+ #pragma pop_macro("INT_MIN")
168
+ #endif // __HIPCC_RTC__
169
+ #endif // __HIP__
170
+ #endif // __CLANG_HIP_RUNTIME_WRAPPER_H__
@@ -0,0 +1,43 @@
1
+ /*===---- __clang_hip_stdlib.h - Device-side HIP math support --------------===
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 __CLANG_HIP_STDLIB_H__
10
+
11
+ #if !defined(__HIP__) && !defined(__OPENMP_AMDGCN__)
12
+ #error "This file is for HIP and OpenMP AMDGCN device compilation only."
13
+ #endif
14
+
15
+ #if !defined(__cplusplus)
16
+
17
+ #include <limits.h>
18
+
19
+ #ifdef __OPENMP_AMDGCN__
20
+ #define __DEVICE__ static inline __attribute__((always_inline, nothrow))
21
+ #else
22
+ #define __DEVICE__ static __device__ inline __attribute__((always_inline))
23
+ #endif
24
+
25
+ __DEVICE__
26
+ int abs(int __x) {
27
+ int __sgn = __x >> (sizeof(int) * CHAR_BIT - 1);
28
+ return (__x ^ __sgn) - __sgn;
29
+ }
30
+ __DEVICE__
31
+ long labs(long __x) {
32
+ long __sgn = __x >> (sizeof(long) * CHAR_BIT - 1);
33
+ return (__x ^ __sgn) - __sgn;
34
+ }
35
+ __DEVICE__
36
+ long long llabs(long long __x) {
37
+ long long __sgn = __x >> (sizeof(long long) * CHAR_BIT - 1);
38
+ return (__x ^ __sgn) - __sgn;
39
+ }
40
+
41
+ #endif // !defined(__cplusplus)
42
+
43
+ #endif // #define __CLANG_HIP_STDLIB_H__
@@ -0,0 +1,217 @@
1
+ /*===---- spirv_builtin_vars.h - SPIR-V built-in ---------------------------===
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 __SPIRV_BUILTIN_VARS_H
11
+ #define __SPIRV_BUILTIN_VARS_H
12
+
13
+ #if __cplusplus >= 201103L
14
+ #define __SPIRV_NOEXCEPT noexcept
15
+ #else
16
+ #define __SPIRV_NOEXCEPT
17
+ #endif
18
+
19
+ #pragma push_macro("__size_t")
20
+ #pragma push_macro("__uint32_t")
21
+ #pragma push_macro("__uint64_t")
22
+ #define __size_t __SIZE_TYPE__
23
+ #define __uint32_t __UINT32_TYPE__
24
+
25
+ #define __SPIRV_overloadable __attribute__((overloadable))
26
+ #define __SPIRV_convergent __attribute__((convergent))
27
+ #define __SPIRV_inline __attribute__((always_inline))
28
+
29
+ #define __global __attribute__((opencl_global))
30
+ #define __local __attribute__((opencl_local))
31
+ #define __private __attribute__((opencl_private))
32
+ #define __constant __attribute__((opencl_constant))
33
+ #ifdef __SYCL_DEVICE_ONLY__
34
+ #define __generic
35
+ #else
36
+ #define __generic __attribute__((opencl_generic))
37
+ #endif
38
+
39
+ // Check if SPIR-V builtins are supported.
40
+ // As the translator doesn't use the LLVM intrinsics (which would be emitted if
41
+ // we use the SPIR-V builtins) we can't rely on the SPIRV32/SPIRV64 etc macros
42
+ // to establish if we can use the builtin alias. We disable builtin altogether
43
+ // if we do not intent to use the backend. So instead of use target macros, rely
44
+ // on a __has_builtin test.
45
+ #if (__has_builtin(__builtin_spirv_num_workgroups))
46
+ #define __SPIRV_BUILTIN_ALIAS(builtin) \
47
+ __attribute__((clang_builtin_alias(builtin)))
48
+ #else
49
+ #define __SPIRV_BUILTIN_ALIAS(builtin)
50
+ #endif
51
+
52
+ // Builtin IDs and sizes
53
+
54
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_num_workgroups) __size_t
55
+ __spirv_BuiltInNumWorkgroups(int);
56
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_workgroup_size) __size_t
57
+ __spirv_BuiltInWorkgroupSize(int);
58
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_workgroup_id) __size_t
59
+ __spirv_BuiltInWorkgroupId(int);
60
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_local_invocation_id) __size_t
61
+ __spirv_BuiltInLocalInvocationId(int);
62
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_global_invocation_id) __size_t
63
+ __spirv_BuiltInGlobalInvocationId(int);
64
+
65
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_global_size) __size_t
66
+ __spirv_BuiltInGlobalSize(int);
67
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_global_offset) __size_t
68
+ __spirv_BuiltInGlobalOffset(int);
69
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_size) __uint32_t
70
+ __spirv_BuiltInSubgroupSize();
71
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_max_size) __uint32_t
72
+ __spirv_BuiltInSubgroupMaxSize();
73
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_num_subgroups) __uint32_t
74
+ __spirv_BuiltInNumSubgroups();
75
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_id) __uint32_t
76
+ __spirv_BuiltInSubgroupId();
77
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_local_invocation_id)
78
+ __uint32_t __spirv_BuiltInSubgroupLocalInvocationId();
79
+
80
+ // OpGenericCastToPtrExplicit
81
+
82
+ extern __SPIRV_overloadable
83
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
84
+ __global void *__spirv_GenericCastToPtrExplicit_ToGlobal(__generic void *,
85
+ int) __SPIRV_NOEXCEPT;
86
+ extern __SPIRV_overloadable
87
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
88
+ __global const void *
89
+ __spirv_GenericCastToPtrExplicit_ToGlobal(__generic const void *,
90
+ int) __SPIRV_NOEXCEPT;
91
+ extern __SPIRV_overloadable
92
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
93
+ __global volatile void *
94
+ __spirv_GenericCastToPtrExplicit_ToGlobal(__generic volatile void *,
95
+ int) __SPIRV_NOEXCEPT;
96
+ extern __SPIRV_overloadable
97
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
98
+ __global const volatile void *
99
+ __spirv_GenericCastToPtrExplicit_ToGlobal(__generic const volatile void *,
100
+ int) __SPIRV_NOEXCEPT;
101
+ extern __SPIRV_overloadable
102
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
103
+ __local void *__spirv_GenericCastToPtrExplicit_ToLocal(__generic void *,
104
+ int) __SPIRV_NOEXCEPT;
105
+ extern __SPIRV_overloadable
106
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
107
+ __local const void *
108
+ __spirv_GenericCastToPtrExplicit_ToLocal(__generic const void *,
109
+ int) __SPIRV_NOEXCEPT;
110
+ extern __SPIRV_overloadable
111
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
112
+ __local volatile void *
113
+ __spirv_GenericCastToPtrExplicit_ToLocal(__generic volatile void *,
114
+ int) __SPIRV_NOEXCEPT;
115
+ extern __SPIRV_overloadable
116
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
117
+ __local const volatile void *
118
+ __spirv_GenericCastToPtrExplicit_ToLocal(__generic const volatile void *,
119
+ int) __SPIRV_NOEXCEPT;
120
+ extern __SPIRV_overloadable
121
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
122
+ __private void *
123
+ __spirv_GenericCastToPtrExplicit_ToPrivate(__generic void *,
124
+ int) __SPIRV_NOEXCEPT;
125
+ extern __SPIRV_overloadable
126
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
127
+ __private const void *
128
+ __spirv_GenericCastToPtrExplicit_ToPrivate(__generic const void *,
129
+ int) __SPIRV_NOEXCEPT;
130
+ extern __SPIRV_overloadable
131
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
132
+ __private volatile void *
133
+ __spirv_GenericCastToPtrExplicit_ToPrivate(__generic volatile void *,
134
+ int) __SPIRV_NOEXCEPT;
135
+ extern __SPIRV_overloadable
136
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
137
+ __private const volatile void *
138
+ __spirv_GenericCastToPtrExplicit_ToPrivate(__generic const volatile void *,
139
+ int) __SPIRV_NOEXCEPT;
140
+
141
+ // OpGenericCastToPtr
142
+
143
+ static __SPIRV_overloadable __SPIRV_inline __global void *
144
+ __spirv_GenericCastToPtr_ToGlobal(__generic void *p, int) __SPIRV_NOEXCEPT {
145
+ return (__global void *)p;
146
+ }
147
+ static __SPIRV_overloadable __SPIRV_inline __global const void *
148
+ __spirv_GenericCastToPtr_ToGlobal(__generic const void *p,
149
+ int) __SPIRV_NOEXCEPT {
150
+ return (__global const void *)p;
151
+ }
152
+ static __SPIRV_overloadable __SPIRV_inline __global volatile void *
153
+ __spirv_GenericCastToPtr_ToGlobal(__generic volatile void *p,
154
+ int) __SPIRV_NOEXCEPT {
155
+ return (__global volatile void *)p;
156
+ }
157
+ static __SPIRV_overloadable __SPIRV_inline __global const volatile void *
158
+ __spirv_GenericCastToPtr_ToGlobal(__generic const volatile void *p,
159
+ int) __SPIRV_NOEXCEPT {
160
+ return (__global const volatile void *)p;
161
+ }
162
+ static __SPIRV_overloadable __SPIRV_inline __local void *
163
+ __spirv_GenericCastToPtr_ToLocal(__generic void *p, int) __SPIRV_NOEXCEPT {
164
+ return (__local void *)p;
165
+ }
166
+ static __SPIRV_overloadable __SPIRV_inline __local const void *
167
+ __spirv_GenericCastToPtr_ToLocal(__generic const void *p,
168
+ int) __SPIRV_NOEXCEPT {
169
+ return (__local const void *)p;
170
+ }
171
+ static __SPIRV_overloadable __SPIRV_inline __local volatile void *
172
+ __spirv_GenericCastToPtr_ToLocal(__generic volatile void *p,
173
+ int) __SPIRV_NOEXCEPT {
174
+ return (__local volatile void *)p;
175
+ }
176
+ static __SPIRV_overloadable __SPIRV_inline __local const volatile void *
177
+ __spirv_GenericCastToPtr_ToLocal(__generic const volatile void *p,
178
+ int) __SPIRV_NOEXCEPT {
179
+ return (__local const volatile void *)p;
180
+ }
181
+ static __SPIRV_overloadable __SPIRV_inline __private void *
182
+ __spirv_GenericCastToPtr_ToPrivate(__generic void *p, int) __SPIRV_NOEXCEPT {
183
+ return (__private void *)p;
184
+ }
185
+ static __SPIRV_overloadable __SPIRV_inline __private const void *
186
+ __spirv_GenericCastToPtr_ToPrivate(__generic const void *p,
187
+ int) __SPIRV_NOEXCEPT {
188
+ return (__private const void *)p;
189
+ }
190
+ static __SPIRV_overloadable __SPIRV_inline __private volatile void *
191
+ __spirv_GenericCastToPtr_ToPrivate(__generic volatile void *p,
192
+ int) __SPIRV_NOEXCEPT {
193
+ return (__private volatile void *)p;
194
+ }
195
+ static __SPIRV_overloadable __SPIRV_inline __private const volatile void *
196
+ __spirv_GenericCastToPtr_ToPrivate(__generic const volatile void *p,
197
+ int) __SPIRV_NOEXCEPT {
198
+ return (__private const volatile void *)p;
199
+ }
200
+
201
+ #pragma pop_macro("__size_t")
202
+ #pragma pop_macro("__uint32_t")
203
+ #pragma pop_macro("__uint64_t")
204
+
205
+ #undef __SPIRV_overloadable
206
+ #undef __SPIRV_convergent
207
+ #undef __SPIRV_inline
208
+
209
+ #undef __global
210
+ #undef __local
211
+ #undef __constant
212
+ #undef __generic
213
+
214
+ #undef __SPIRV_BUILTIN_ALIAS
215
+ #undef __SPIRV_NOEXCEPT
216
+
217
+ #endif /* __SPIRV_BUILTIN_VARS_H */
@@ -0,0 +1,170 @@
1
+ /*===-- __clang_spirv_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_SPIRV_LIBDEVICE_DECLARES_H__
11
+ #define __CLANG_SPIRV_LIBDEVICE_DECLARES_H__
12
+
13
+ #if defined(__cplusplus)
14
+ extern "C" {
15
+ #else
16
+ _Pragma("push_macro(\"bool\")");
17
+ #define bool _Bool
18
+ #endif
19
+
20
+ #define _CLC_OVERLOAD [[clang::overloadable]]
21
+ #define _CLC_CONSTFN [[gnu::const]]
22
+ // TODO: Add vector versions of the API in case it is required.
23
+ _CLC_OVERLOAD _CLC_CONSTFN unsigned int __spirv_ocl_s_abs(int);
24
+ _CLC_OVERLOAD _CLC_CONSTFN unsigned long __spirv_ocl_s_abs(long);
25
+ _CLC_OVERLOAD _CLC_CONSTFN unsigned long long __spirv_ocl_s_abs(long long);
26
+ _CLC_OVERLOAD _CLC_CONSTFN int __spirv_ocl_s_max(int, int);
27
+ _CLC_OVERLOAD _CLC_CONSTFN long __spirv_ocl_s_max(long, long);
28
+ _CLC_OVERLOAD _CLC_CONSTFN long long __spirv_ocl_s_max(long long, long long);
29
+ _CLC_OVERLOAD _CLC_CONSTFN int __spirv_ocl_s_min(int, int);
30
+ _CLC_OVERLOAD _CLC_CONSTFN long __spirv_ocl_s_min(long, long);
31
+ _CLC_OVERLOAD _CLC_CONSTFN long long __spirv_ocl_s_min(long long, long long);
32
+ _CLC_OVERLOAD _CLC_CONSTFN unsigned int __spirv_ocl_u_max(unsigned int,
33
+ unsigned int);
34
+ _CLC_OVERLOAD _CLC_CONSTFN unsigned long __spirv_ocl_u_max(unsigned long,
35
+ unsigned long);
36
+ _CLC_OVERLOAD _CLC_CONSTFN unsigned long long
37
+ __spirv_ocl_u_max(unsigned long long, unsigned long long);
38
+ _CLC_OVERLOAD _CLC_CONSTFN unsigned int __spirv_ocl_u_min(unsigned int,
39
+ unsigned int);
40
+ _CLC_OVERLOAD _CLC_CONSTFN unsigned long __spirv_ocl_u_min(unsigned long,
41
+ unsigned long);
42
+ _CLC_OVERLOAD _CLC_CONSTFN unsigned long long
43
+ __spirv_ocl_u_min(unsigned long long, unsigned long long);
44
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_acos(float);
45
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_acos(double);
46
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_acosh(float);
47
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_acosh(double);
48
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_asin(float);
49
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_asin(double);
50
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_asinh(float);
51
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_asinh(double);
52
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_atan(float);
53
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_atan(double);
54
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_atan2(float, float);
55
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_atan2(double, double);
56
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_atanh(float);
57
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_atanh(double);
58
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_cbrt(float);
59
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_cbrt(double);
60
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_ceil(float);
61
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_ceil(double);
62
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_cos(float);
63
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_cos(double);
64
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_cosh(float);
65
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_cosh(double);
66
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_cospi(float);
67
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_cospi(double);
68
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_erf(float);
69
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_erf(double);
70
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_erfc(float);
71
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_erfc(double);
72
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_exp(float);
73
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_exp(double);
74
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_exp2(float);
75
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_exp2(double);
76
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_exp10(float);
77
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_exp10(double);
78
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_expm1(float);
79
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_expm1(double);
80
+ _CLC_OVERLOAD _CLC_CONSTFN bool __spirv_IsNan(float);
81
+ _CLC_OVERLOAD _CLC_CONSTFN bool __spirv_IsNan(double);
82
+ _CLC_OVERLOAD _CLC_CONSTFN bool __spirv_IsInf(float);
83
+ _CLC_OVERLOAD _CLC_CONSTFN bool __spirv_IsInf(double);
84
+ _CLC_OVERLOAD _CLC_CONSTFN bool __spirv_IsFinite(float);
85
+ _CLC_OVERLOAD _CLC_CONSTFN bool __spirv_IsFinite(double);
86
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_copysign(float, float);
87
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_copysign(double, double);
88
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_ldexp(float, int);
89
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_ldexp(double, int);
90
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_fabs(float);
91
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_fabs(double);
92
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_logb(float);
93
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_logb(double);
94
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_fmax(float, float);
95
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_fmax(double, double);
96
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_fmin(float, float);
97
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_fmin(double, double);
98
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_fdim(float, float);
99
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_fdim(double, double);
100
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_floor(float);
101
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_floor(double);
102
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_fma(float, float, float);
103
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_fma(double, double, double);
104
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_fmod(float, float);
105
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_fmod(double, double);
106
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_frexp(float, int *);
107
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_frexp(double, int *);
108
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_hypot(float, float);
109
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_hypot(double, double);
110
+ _CLC_OVERLOAD _CLC_CONSTFN int __spirv_ocl_ilogb(float);
111
+ _CLC_OVERLOAD _CLC_CONSTFN int __spirv_ocl_ilogb(double);
112
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_lgamma(float);
113
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_lgamma(double);
114
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_round(float);
115
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_round(double);
116
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_log(float);
117
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_log(double);
118
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_log10(float);
119
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_log10(double);
120
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_log1p(float);
121
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_log1p(double);
122
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_log2(float);
123
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_log2(double);
124
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_modf(float, float *);
125
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_modf(double, double *);
126
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_nan(int);
127
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_nan(unsigned int);
128
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_nan(long);
129
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_nan(unsigned long);
130
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_nextafter(float, float);
131
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_nextafter(double, double);
132
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_sqrt(float);
133
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_sqrt(double);
134
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_rsqrt(float);
135
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_rsqrt(double);
136
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_pow(float, float);
137
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_pow(double, double);
138
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_pown(float, int);
139
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_pown(double, int);
140
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_remainder(float, float);
141
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_remainder(double, double);
142
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_remquo(float, float, int *);
143
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_remquo(double, double, int *);
144
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_sin(float);
145
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_sin(double);
146
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_sincos(float, float *);
147
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_sincos(double, double *);
148
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_sinh(float);
149
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_sinh(double);
150
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_sinpi(float);
151
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_sinpi(double);
152
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_tan(float);
153
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_tan(double);
154
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_tanh(float);
155
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_tanh(double);
156
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_tgamma(float);
157
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_tgamma(double);
158
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_trunc(float);
159
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_trunc(double);
160
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_rint(float);
161
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_rint(double);
162
+ _CLC_OVERLOAD _CLC_CONSTFN float __spirv_ocl_fclamp(float, float, float);
163
+ _CLC_OVERLOAD _CLC_CONSTFN double __spirv_ocl_fclamp(double, double, double);
164
+
165
+ #if defined(__cplusplus)
166
+ } // extern "C"
167
+ #else
168
+ _Pragma("pop_macro(\"bool\")");
169
+ #endif
170
+ #endif // __CLANG_SPIRV_LIBDEVICE_DECLARES_H__