@cpp-linter/clang-tidy-win32-x64 12.0.1 → 13.0.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 (171) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_device_functions.h +174 -102
  4. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_runtime_wrapper.h +6 -1
  5. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_hip_cmath.h +272 -94
  6. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_hip_libdevice_declares.h +24 -12
  7. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_hip_math.h +48 -2
  8. package/lib/clang/13.0.0/include/__clang_hip_runtime_wrapper.h +124 -0
  9. package/lib/clang/{12.0.1 → 13.0.0}/include/altivec.h +1165 -423
  10. package/lib/clang/{12.0.1 → 13.0.0}/include/amxintrin.h +234 -19
  11. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_acle.h +55 -0
  12. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_neon.h +1077 -165
  13. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_sve.h +11791 -5896
  14. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512fintrin.h +177 -37
  15. package/lib/clang/13.0.0/include/builtins.h +16 -0
  16. package/lib/clang/{12.0.1 → 13.0.0}/include/cuda_wrappers/complex +8 -0
  17. package/lib/clang/13.0.0/include/hexagon_circ_brev_intrinsics.h +298 -0
  18. package/lib/clang/13.0.0/include/hexagon_protos.h +8450 -0
  19. package/lib/clang/13.0.0/include/hexagon_types.h +2653 -0
  20. package/lib/clang/13.0.0/include/hvx_hexagon_protos.h +4392 -0
  21. package/lib/clang/{12.0.1 → 13.0.0}/include/intrin.h +44 -8
  22. package/lib/clang/{12.0.1 → 13.0.0}/include/keylockerintrin.h +30 -0
  23. package/lib/clang/{12.0.1 → 13.0.0}/include/opencl-c-base.h +144 -3
  24. package/lib/clang/{12.0.1 → 13.0.0}/include/opencl-c.h +505 -355
  25. package/lib/clang/13.0.0/include/openmp_wrappers/__clang_openmp_device_functions.h +106 -0
  26. package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/cmath +54 -0
  27. package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/complex +1 -7
  28. package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/complex.h +0 -1
  29. package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/math.h +10 -0
  30. package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/new +2 -24
  31. package/lib/clang/13.0.0/include/riscv_vector.h +123865 -0
  32. package/lib/clang/{12.0.1 → 13.0.0}/include/uintrintrin.h +7 -0
  33. package/lib/clang/{12.0.1 → 13.0.0}/include/vaesintrin.h +21 -20
  34. package/lib/clang/{12.0.1 → 13.0.0}/include/vecintrin.h +206 -77
  35. package/lib/clang/{12.0.1 → 13.0.0}/include/vpclmulqdqintrin.h +2 -0
  36. package/lib/clang/{12.0.1 → 13.0.0}/include/wasm_simd128.h +806 -239
  37. package/package.json +6 -6
  38. package/lib/clang/12.0.1/include/__clang_hip_runtime_wrapper.h +0 -69
  39. package/lib/clang/12.0.1/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -42
  40. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_builtin_vars.h +0 -0
  41. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_cmath.h +0 -0
  42. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_complex_builtins.h +0 -0
  43. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_intrinsics.h +0 -0
  44. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_libdevice_declares.h +0 -0
  45. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_math.h +2 -2
  46. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_math_forward_declares.h +0 -0
  47. package/lib/clang/{12.0.1 → 13.0.0}/include/__stddef_max_align_t.h +0 -0
  48. package/lib/clang/{12.0.1 → 13.0.0}/include/__wmmintrin_aes.h +0 -0
  49. package/lib/clang/{12.0.1 → 13.0.0}/include/__wmmintrin_pclmul.h +0 -0
  50. package/lib/clang/{12.0.1 → 13.0.0}/include/adxintrin.h +0 -0
  51. package/lib/clang/{12.0.1 → 13.0.0}/include/ammintrin.h +0 -0
  52. package/lib/clang/{12.0.1 → 13.0.0}/include/arm64intr.h +0 -0
  53. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_bf16.h +0 -0
  54. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_cde.h +0 -0
  55. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_cmse.h +0 -0
  56. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_fp16.h +0 -0
  57. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_mve.h +0 -0
  58. package/lib/clang/{12.0.1 → 13.0.0}/include/armintr.h +0 -0
  59. package/lib/clang/{12.0.1 → 13.0.0}/include/avx2intrin.h +0 -0
  60. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512bf16intrin.h +0 -0
  61. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512bitalgintrin.h +0 -0
  62. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512bwintrin.h +0 -0
  63. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512cdintrin.h +0 -0
  64. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512dqintrin.h +0 -0
  65. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512erintrin.h +0 -0
  66. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512ifmaintrin.h +0 -0
  67. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512ifmavlintrin.h +0 -0
  68. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512pfintrin.h +0 -0
  69. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vbmi2intrin.h +0 -0
  70. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vbmiintrin.h +0 -0
  71. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vbmivlintrin.h +0 -0
  72. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlbf16intrin.h +0 -0
  73. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlbitalgintrin.h +0 -0
  74. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlbwintrin.h +0 -0
  75. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlcdintrin.h +0 -0
  76. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vldqintrin.h +0 -0
  77. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlintrin.h +0 -0
  78. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlvbmi2intrin.h +0 -0
  79. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlvnniintrin.h +0 -0
  80. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlvp2intersectintrin.h +0 -0
  81. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vnniintrin.h +0 -0
  82. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vp2intersectintrin.h +0 -0
  83. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vpopcntdqintrin.h +0 -0
  84. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vpopcntdqvlintrin.h +0 -0
  85. package/lib/clang/{12.0.1 → 13.0.0}/include/avxintrin.h +0 -0
  86. package/lib/clang/{12.0.1 → 13.0.0}/include/avxvnniintrin.h +0 -0
  87. package/lib/clang/{12.0.1 → 13.0.0}/include/bmi2intrin.h +0 -0
  88. package/lib/clang/{12.0.1 → 13.0.0}/include/bmiintrin.h +0 -0
  89. package/lib/clang/{12.0.1 → 13.0.0}/include/cet.h +0 -0
  90. package/lib/clang/{12.0.1 → 13.0.0}/include/cetintrin.h +0 -0
  91. package/lib/clang/{12.0.1 → 13.0.0}/include/cldemoteintrin.h +0 -0
  92. package/lib/clang/{12.0.1 → 13.0.0}/include/clflushoptintrin.h +0 -0
  93. package/lib/clang/{12.0.1 → 13.0.0}/include/clwbintrin.h +0 -0
  94. package/lib/clang/{12.0.1 → 13.0.0}/include/clzerointrin.h +0 -0
  95. package/lib/clang/{12.0.1 → 13.0.0}/include/cpuid.h +0 -0
  96. package/lib/clang/{12.0.1 → 13.0.0}/include/cuda_wrappers/algorithm +0 -0
  97. package/lib/clang/{12.0.1 → 13.0.0}/include/cuda_wrappers/new +0 -0
  98. package/lib/clang/{12.0.1 → 13.0.0}/include/emmintrin.h +0 -0
  99. package/lib/clang/{12.0.1 → 13.0.0}/include/enqcmdintrin.h +0 -0
  100. package/lib/clang/{12.0.1 → 13.0.0}/include/f16cintrin.h +0 -0
  101. package/lib/clang/{12.0.1 → 13.0.0}/include/float.h +0 -0
  102. package/lib/clang/{12.0.1 → 13.0.0}/include/fma4intrin.h +0 -0
  103. package/lib/clang/{12.0.1 → 13.0.0}/include/fmaintrin.h +0 -0
  104. package/lib/clang/{12.0.1 → 13.0.0}/include/fxsrintrin.h +0 -0
  105. package/lib/clang/{12.0.1 → 13.0.0}/include/gfniintrin.h +0 -0
  106. package/lib/clang/{12.0.1 → 13.0.0}/include/hresetintrin.h +0 -0
  107. package/lib/clang/{12.0.1 → 13.0.0}/include/htmintrin.h +0 -0
  108. package/lib/clang/{12.0.1 → 13.0.0}/include/htmxlintrin.h +0 -0
  109. package/lib/clang/{12.0.1 → 13.0.0}/include/ia32intrin.h +0 -0
  110. package/lib/clang/{12.0.1 → 13.0.0}/include/immintrin.h +5 -5
  111. /package/lib/clang/{12.0.1 → 13.0.0}/include/inttypes.h +0 -0
  112. /package/lib/clang/{12.0.1 → 13.0.0}/include/invpcidintrin.h +0 -0
  113. /package/lib/clang/{12.0.1 → 13.0.0}/include/iso646.h +0 -0
  114. /package/lib/clang/{12.0.1 → 13.0.0}/include/limits.h +0 -0
  115. /package/lib/clang/{12.0.1 → 13.0.0}/include/lwpintrin.h +0 -0
  116. /package/lib/clang/{12.0.1 → 13.0.0}/include/lzcntintrin.h +0 -0
  117. /package/lib/clang/{12.0.1 → 13.0.0}/include/mm3dnow.h +0 -0
  118. /package/lib/clang/{12.0.1 → 13.0.0}/include/mm_malloc.h +0 -0
  119. /package/lib/clang/{12.0.1 → 13.0.0}/include/mmintrin.h +0 -0
  120. /package/lib/clang/{12.0.1 → 13.0.0}/include/module.modulemap +0 -0
  121. /package/lib/clang/{12.0.1 → 13.0.0}/include/movdirintrin.h +0 -0
  122. /package/lib/clang/{12.0.1 → 13.0.0}/include/msa.h +0 -0
  123. /package/lib/clang/{12.0.1 → 13.0.0}/include/mwaitxintrin.h +0 -0
  124. /package/lib/clang/{12.0.1 → 13.0.0}/include/nmmintrin.h +0 -0
  125. /package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/complex_cmath.h +0 -0
  126. /package/lib/clang/{12.0.1 → 13.0.0}/include/pconfigintrin.h +0 -0
  127. /package/lib/clang/{12.0.1 → 13.0.0}/include/pkuintrin.h +0 -0
  128. /package/lib/clang/{12.0.1 → 13.0.0}/include/pmmintrin.h +0 -0
  129. /package/lib/clang/{12.0.1 → 13.0.0}/include/popcntintrin.h +0 -0
  130. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/emmintrin.h +0 -0
  131. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/mm_malloc.h +0 -0
  132. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/mmintrin.h +0 -0
  133. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/pmmintrin.h +0 -0
  134. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/smmintrin.h +0 -0
  135. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/tmmintrin.h +0 -0
  136. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/xmmintrin.h +0 -0
  137. /package/lib/clang/{12.0.1 → 13.0.0}/include/prfchwintrin.h +0 -0
  138. /package/lib/clang/{12.0.1 → 13.0.0}/include/ptwriteintrin.h +0 -0
  139. /package/lib/clang/{12.0.1 → 13.0.0}/include/rdseedintrin.h +0 -0
  140. /package/lib/clang/{12.0.1 → 13.0.0}/include/rtmintrin.h +0 -0
  141. /package/lib/clang/{12.0.1 → 13.0.0}/include/s390intrin.h +0 -0
  142. /package/lib/clang/{12.0.1 → 13.0.0}/include/serializeintrin.h +0 -0
  143. /package/lib/clang/{12.0.1 → 13.0.0}/include/sgxintrin.h +0 -0
  144. /package/lib/clang/{12.0.1 → 13.0.0}/include/shaintrin.h +0 -0
  145. /package/lib/clang/{12.0.1 → 13.0.0}/include/smmintrin.h +0 -0
  146. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdalign.h +0 -0
  147. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdarg.h +0 -0
  148. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdatomic.h +0 -0
  149. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdbool.h +0 -0
  150. /package/lib/clang/{12.0.1 → 13.0.0}/include/stddef.h +0 -0
  151. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdint.h +0 -0
  152. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdnoreturn.h +0 -0
  153. /package/lib/clang/{12.0.1 → 13.0.0}/include/tbmintrin.h +0 -0
  154. /package/lib/clang/{12.0.1 → 13.0.0}/include/tgmath.h +0 -0
  155. /package/lib/clang/{12.0.1 → 13.0.0}/include/tmmintrin.h +0 -0
  156. /package/lib/clang/{12.0.1 → 13.0.0}/include/tsxldtrkintrin.h +0 -0
  157. /package/lib/clang/{12.0.1 → 13.0.0}/include/unwind.h +0 -0
  158. /package/lib/clang/{12.0.1 → 13.0.0}/include/vadefs.h +0 -0
  159. /package/lib/clang/{12.0.1 → 13.0.0}/include/varargs.h +0 -0
  160. /package/lib/clang/{12.0.1 → 13.0.0}/include/waitpkgintrin.h +0 -0
  161. /package/lib/clang/{12.0.1 → 13.0.0}/include/wbnoinvdintrin.h +0 -0
  162. /package/lib/clang/{12.0.1 → 13.0.0}/include/wmmintrin.h +0 -0
  163. /package/lib/clang/{12.0.1 → 13.0.0}/include/x86gprintrin.h +0 -0
  164. /package/lib/clang/{12.0.1 → 13.0.0}/include/x86intrin.h +0 -0
  165. /package/lib/clang/{12.0.1 → 13.0.0}/include/xmmintrin.h +0 -0
  166. /package/lib/clang/{12.0.1 → 13.0.0}/include/xopintrin.h +0 -0
  167. /package/lib/clang/{12.0.1 → 13.0.0}/include/xsavecintrin.h +0 -0
  168. /package/lib/clang/{12.0.1 → 13.0.0}/include/xsaveintrin.h +0 -0
  169. /package/lib/clang/{12.0.1 → 13.0.0}/include/xsaveoptintrin.h +0 -0
  170. /package/lib/clang/{12.0.1 → 13.0.0}/include/xsavesintrin.h +0 -0
  171. /package/lib/clang/{12.0.1 → 13.0.0}/include/xtestintrin.h +0 -0
@@ -9,26 +9,40 @@
9
9
  #ifndef __CLANG_HIP_MATH_H__
10
10
  #define __CLANG_HIP_MATH_H__
11
11
 
12
- #if !defined(__HIP__)
12
+ #if !defined(__HIP__) && !defined(__OPENMP_AMDGCN__)
13
13
  #error "This file is for HIP and OpenMP AMDGCN device compilation only."
14
14
  #endif
15
15
 
16
+ #if !defined(__HIPCC_RTC__)
16
17
  #if defined(__cplusplus)
17
18
  #include <algorithm>
18
19
  #endif
19
20
  #include <limits.h>
20
21
  #include <stdint.h>
22
+ #ifdef __OPENMP_AMDGCN__
23
+ #include <omp.h>
24
+ #endif
25
+ #endif // !defined(__HIPCC_RTC__)
21
26
 
22
27
  #pragma push_macro("__DEVICE__")
28
+
29
+ #ifdef __OPENMP_AMDGCN__
30
+ #define __DEVICE__ static inline __attribute__((always_inline, nothrow))
31
+ #else
23
32
  #define __DEVICE__ static __device__ inline __attribute__((always_inline))
33
+ #endif
24
34
 
25
35
  // A few functions return bool type starting only in C++11.
26
36
  #pragma push_macro("__RETURN_TYPE")
37
+ #ifdef __OPENMP_AMDGCN__
38
+ #define __RETURN_TYPE int
39
+ #else
27
40
  #if defined(__cplusplus)
28
41
  #define __RETURN_TYPE bool
29
42
  #else
30
43
  #define __RETURN_TYPE int
31
44
  #endif
45
+ #endif // __OPENMP_AMDGCN__
32
46
 
33
47
  #if defined (__cplusplus) && __cplusplus < 201103L
34
48
  // emulate static_assert on type sizes
@@ -36,7 +50,7 @@ template<bool>
36
50
  struct __compare_result{};
37
51
  template<>
38
52
  struct __compare_result<true> {
39
- static const bool valid;
53
+ static const __device__ bool valid;
40
54
  };
41
55
 
42
56
  __DEVICE__
@@ -247,6 +261,9 @@ float fmodf(float __x, float __y) { return __ocml_fmod_f32(__x, __y); }
247
261
  __DEVICE__
248
262
  float frexpf(float __x, int *__nptr) {
249
263
  int __tmp;
264
+ #ifdef __OPENMP_AMDGCN__
265
+ #pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
266
+ #endif
250
267
  float __r =
251
268
  __ocml_frexp_f32(__x, (__attribute__((address_space(5))) int *)&__tmp);
252
269
  *__nptr = __tmp;
@@ -332,6 +349,9 @@ long int lroundf(float __x) { return __ocml_round_f32(__x); }
332
349
  __DEVICE__
333
350
  float modff(float __x, float *__iptr) {
334
351
  float __tmp;
352
+ #ifdef __OPENMP_AMDGCN__
353
+ #pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
354
+ #endif
335
355
  float __r =
336
356
  __ocml_modf_f32(__x, (__attribute__((address_space(5))) float *)&__tmp);
337
357
  *__iptr = __tmp;
@@ -412,6 +432,9 @@ float remainderf(float __x, float __y) {
412
432
  __DEVICE__
413
433
  float remquof(float __x, float __y, int *__quo) {
414
434
  int __tmp;
435
+ #ifdef __OPENMP_AMDGCN__
436
+ #pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
437
+ #endif
415
438
  float __r = __ocml_remquo_f32(
416
439
  __x, __y, (__attribute__((address_space(5))) int *)&__tmp);
417
440
  *__quo = __tmp;
@@ -468,6 +491,9 @@ __RETURN_TYPE __signbitf(float __x) { return __ocml_signbit_f32(__x); }
468
491
  __DEVICE__
469
492
  void sincosf(float __x, float *__sinptr, float *__cosptr) {
470
493
  float __tmp;
494
+ #ifdef __OPENMP_AMDGCN__
495
+ #pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
496
+ #endif
471
497
  *__sinptr =
472
498
  __ocml_sincos_f32(__x, (__attribute__((address_space(5))) float *)&__tmp);
473
499
  *__cosptr = __tmp;
@@ -476,6 +502,9 @@ void sincosf(float __x, float *__sinptr, float *__cosptr) {
476
502
  __DEVICE__
477
503
  void sincospif(float __x, float *__sinptr, float *__cosptr) {
478
504
  float __tmp;
505
+ #ifdef __OPENMP_AMDGCN__
506
+ #pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
507
+ #endif
479
508
  *__sinptr = __ocml_sincospi_f32(
480
509
  __x, (__attribute__((address_space(5))) float *)&__tmp);
481
510
  *__cosptr = __tmp;
@@ -788,6 +817,9 @@ double fmod(double __x, double __y) { return __ocml_fmod_f64(__x, __y); }
788
817
  __DEVICE__
789
818
  double frexp(double __x, int *__nptr) {
790
819
  int __tmp;
820
+ #ifdef __OPENMP_AMDGCN__
821
+ #pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
822
+ #endif
791
823
  double __r =
792
824
  __ocml_frexp_f64(__x, (__attribute__((address_space(5))) int *)&__tmp);
793
825
  *__nptr = __tmp;
@@ -872,6 +904,9 @@ long int lround(double __x) { return __ocml_round_f64(__x); }
872
904
  __DEVICE__
873
905
  double modf(double __x, double *__iptr) {
874
906
  double __tmp;
907
+ #ifdef __OPENMP_AMDGCN__
908
+ #pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
909
+ #endif
875
910
  double __r =
876
911
  __ocml_modf_f64(__x, (__attribute__((address_space(5))) double *)&__tmp);
877
912
  *__iptr = __tmp;
@@ -960,6 +995,9 @@ double remainder(double __x, double __y) {
960
995
  __DEVICE__
961
996
  double remquo(double __x, double __y, int *__quo) {
962
997
  int __tmp;
998
+ #ifdef __OPENMP_AMDGCN__
999
+ #pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
1000
+ #endif
963
1001
  double __r = __ocml_remquo_f64(
964
1002
  __x, __y, (__attribute__((address_space(5))) int *)&__tmp);
965
1003
  *__quo = __tmp;
@@ -1018,6 +1056,9 @@ double sin(double __x) { return __ocml_sin_f64(__x); }
1018
1056
  __DEVICE__
1019
1057
  void sincos(double __x, double *__sinptr, double *__cosptr) {
1020
1058
  double __tmp;
1059
+ #ifdef __OPENMP_AMDGCN__
1060
+ #pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
1061
+ #endif
1021
1062
  *__sinptr = __ocml_sincos_f64(
1022
1063
  __x, (__attribute__((address_space(5))) double *)&__tmp);
1023
1064
  *__cosptr = __tmp;
@@ -1026,6 +1067,9 @@ void sincos(double __x, double *__sinptr, double *__cosptr) {
1026
1067
  __DEVICE__
1027
1068
  void sincospi(double __x, double *__sinptr, double *__cosptr) {
1028
1069
  double __tmp;
1070
+ #ifdef __OPENMP_AMDGCN__
1071
+ #pragma omp allocate(__tmp) allocator(omp_thread_mem_alloc)
1072
+ #endif
1029
1073
  *__sinptr = __ocml_sincospi_f64(
1030
1074
  __x, (__attribute__((address_space(5))) double *)&__tmp);
1031
1075
  *__cosptr = __tmp;
@@ -1260,6 +1304,7 @@ float min(float __x, float __y) { return fminf(__x, __y); }
1260
1304
  __DEVICE__
1261
1305
  double min(double __x, double __y) { return fmin(__x, __y); }
1262
1306
 
1307
+ #if !defined(__HIPCC_RTC__) && !defined(__OPENMP_AMDGCN__)
1263
1308
  __host__ inline static int min(int __arg1, int __arg2) {
1264
1309
  return std::min(__arg1, __arg2);
1265
1310
  }
@@ -1267,6 +1312,7 @@ __host__ inline static int min(int __arg1, int __arg2) {
1267
1312
  __host__ inline static int max(int __arg1, int __arg2) {
1268
1313
  return std::max(__arg1, __arg2);
1269
1314
  }
1315
+ #endif // !defined(__HIPCC_RTC__) && !defined(__OPENMP_AMDGCN__)
1270
1316
  #endif
1271
1317
 
1272
1318
  #pragma pop_macro("__DEVICE__")
@@ -0,0 +1,124 @@
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
+ #if !defined(__cplusplus) || __cplusplus < 201103L
29
+ #define nullptr NULL;
30
+ #endif
31
+
32
+ #ifdef __cplusplus
33
+ extern "C" {
34
+ __attribute__((__visibility__("default")))
35
+ __attribute__((weak))
36
+ __attribute__((noreturn))
37
+ __device__ void __cxa_pure_virtual(void) {
38
+ __builtin_trap();
39
+ }
40
+ __attribute__((__visibility__("default")))
41
+ __attribute__((weak))
42
+ __attribute__((noreturn))
43
+ __device__ void __cxa_deleted_virtual(void) {
44
+ __builtin_trap();
45
+ }
46
+ }
47
+ #endif //__cplusplus
48
+
49
+ #if !defined(__HIPCC_RTC__)
50
+ #include <cmath>
51
+ #include <cstdlib>
52
+ #include <stdlib.h>
53
+ #else
54
+ typedef __SIZE_TYPE__ size_t;
55
+ // Define macros which are needed to declare HIP device API's without standard
56
+ // C/C++ headers. This is for readability so that these API's can be written
57
+ // the same way as non-hipRTC use case. These macros need to be popped so that
58
+ // they do not pollute users' name space.
59
+ #pragma push_macro("NULL")
60
+ #pragma push_macro("uint32_t")
61
+ #pragma push_macro("uint64_t")
62
+ #pragma push_macro("CHAR_BIT")
63
+ #pragma push_macro("INT_MAX")
64
+ #define NULL (void *)0
65
+ #define uint32_t __UINT32_TYPE__
66
+ #define uint64_t __UINT64_TYPE__
67
+ #define CHAR_BIT __CHAR_BIT__
68
+ #define INT_MAX __INTMAX_MAX__
69
+ #endif // __HIPCC_RTC__
70
+
71
+ typedef __SIZE_TYPE__ __hip_size_t;
72
+
73
+ #ifdef __cplusplus
74
+ extern "C" {
75
+ #endif //__cplusplus
76
+
77
+ #if __HIP_ENABLE_DEVICE_MALLOC__
78
+ __device__ void *__hip_malloc(__hip_size_t __size);
79
+ __device__ void *__hip_free(void *__ptr);
80
+ __attribute__((weak)) inline __device__ void *malloc(__hip_size_t __size) {
81
+ return __hip_malloc(__size);
82
+ }
83
+ __attribute__((weak)) inline __device__ void *free(void *__ptr) {
84
+ return __hip_free(__ptr);
85
+ }
86
+ #else
87
+ __attribute__((weak)) inline __device__ void *malloc(__hip_size_t __size) {
88
+ __builtin_trap();
89
+ return (void *)0;
90
+ }
91
+ __attribute__((weak)) inline __device__ void *free(void *__ptr) {
92
+ __builtin_trap();
93
+ return (void *)0;
94
+ }
95
+ #endif
96
+
97
+ #ifdef __cplusplus
98
+ } // extern "C"
99
+ #endif //__cplusplus
100
+
101
+ #include <__clang_hip_libdevice_declares.h>
102
+ #include <__clang_hip_math.h>
103
+
104
+ #if defined(__HIPCC_RTC__)
105
+ #include <__clang_hip_cmath.h>
106
+ #else
107
+ #include <__clang_cuda_math_forward_declares.h>
108
+ #include <__clang_hip_cmath.h>
109
+ #include <__clang_cuda_complex_builtins.h>
110
+ #include <algorithm>
111
+ #include <complex>
112
+ #include <new>
113
+ #endif // __HIPCC_RTC__
114
+
115
+ #define __CLANG_HIP_RUNTIME_WRAPPER_INCLUDED__ 1
116
+ #if defined(__HIPCC_RTC__)
117
+ #pragma pop_macro("NULL")
118
+ #pragma pop_macro("uint32_t")
119
+ #pragma pop_macro("uint64_t")
120
+ #pragma pop_macro("CHAR_BIT")
121
+ #pragma pop_macro("INT_MAX")
122
+ #endif // __HIPCC_RTC__
123
+ #endif // __HIP__
124
+ #endif // __CLANG_HIP_RUNTIME_WRAPPER_H__