@cpp-linter/clang-tidy-darwin-x64 13.0.0 → 16.0.3

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 (203) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy +2 -2
  3. package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_complex_builtins.h +3 -3
  4. package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_intrinsics.h +38 -6
  5. package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_libdevice_declares.h +6 -0
  6. package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_math.h +1 -1
  7. package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_runtime_wrapper.h +62 -7
  8. package/lib/clang/16/include/__clang_cuda_texture_intrinsics.h +742 -0
  9. package/lib/clang/{13.0.0 → 16}/include/__clang_hip_libdevice_declares.h +5 -0
  10. package/lib/clang/{13.0.0 → 16}/include/__clang_hip_math.h +10 -13
  11. package/lib/clang/{13.0.0 → 16}/include/__clang_hip_runtime_wrapper.h +18 -4
  12. package/lib/clang/16/include/__clang_hip_stdlib.h +43 -0
  13. package/lib/clang/{13.0.0 → 16}/include/__wmmintrin_aes.h +1 -1
  14. package/lib/clang/{13.0.0 → 16}/include/__wmmintrin_pclmul.h +10 -10
  15. package/lib/clang/{13.0.0 → 16}/include/altivec.h +691 -342
  16. package/lib/clang/{13.0.0 → 16}/include/ammintrin.h +4 -0
  17. package/lib/clang/16/include/amxfp16intrin.h +58 -0
  18. package/lib/clang/{13.0.0 → 16}/include/amxintrin.h +49 -18
  19. package/lib/clang/{13.0.0 → 16}/include/arm_acle.h +80 -73
  20. package/lib/clang/{13.0.0 → 16}/include/arm_fp16.h +90 -90
  21. package/lib/clang/{13.0.0 → 16}/include/arm_neon.h +28607 -28779
  22. package/lib/clang/16/include/arm_neon_sve_bridge.h +182 -0
  23. package/lib/clang/{13.0.0 → 16}/include/arm_sve.h +7848 -7996
  24. package/lib/clang/{13.0.0 → 16}/include/avx2intrin.h +189 -189
  25. package/lib/clang/{13.0.0 → 16}/include/avx512bf16intrin.h +21 -18
  26. package/lib/clang/{13.0.0 → 16}/include/avx512bwintrin.h +83 -83
  27. package/lib/clang/{13.0.0 → 16}/include/avx512dqintrin.h +365 -365
  28. package/lib/clang/{13.0.0 → 16}/include/avx512erintrin.h +102 -102
  29. package/lib/clang/{13.0.0 → 16}/include/avx512fintrin.h +1627 -1620
  30. package/lib/clang/16/include/avx512fp16intrin.h +3346 -0
  31. package/lib/clang/{13.0.0 → 16}/include/avx512ifmavlintrin.h +13 -27
  32. package/lib/clang/{13.0.0 → 16}/include/avx512vbmi2intrin.h +48 -48
  33. package/lib/clang/{13.0.0 → 16}/include/avx512vlbf16intrin.h +82 -41
  34. package/lib/clang/{13.0.0 → 16}/include/avx512vlbwintrin.h +454 -102
  35. package/lib/clang/{13.0.0 → 16}/include/avx512vldqintrin.h +134 -134
  36. package/lib/clang/16/include/avx512vlfp16intrin.h +2071 -0
  37. package/lib/clang/{13.0.0 → 16}/include/avx512vlintrin.h +596 -610
  38. package/lib/clang/{13.0.0 → 16}/include/avx512vlvbmi2intrin.h +96 -96
  39. package/lib/clang/{13.0.0 → 16}/include/avx512vlvnniintrin.h +24 -24
  40. package/lib/clang/16/include/avxifmaintrin.h +177 -0
  41. package/lib/clang/{13.0.0 → 16}/include/avxintrin.h +266 -224
  42. package/lib/clang/16/include/avxneconvertintrin.h +484 -0
  43. package/lib/clang/16/include/avxvnniint8intrin.h +471 -0
  44. package/lib/clang/{13.0.0 → 16}/include/avxvnniintrin.h +16 -16
  45. package/lib/clang/{13.0.0 → 16}/include/bmiintrin.h +6 -2
  46. package/lib/clang/{13.0.0 → 16}/include/cetintrin.h +20 -4
  47. package/lib/clang/16/include/cmpccxaddintrin.h +70 -0
  48. package/lib/clang/{13.0.0 → 16}/include/cpuid.h +14 -2
  49. package/lib/clang/16/include/crc32intrin.h +100 -0
  50. package/lib/clang/16/include/cuda_wrappers/cmath +90 -0
  51. package/lib/clang/{13.0.0 → 16}/include/emmintrin.h +573 -779
  52. package/lib/clang/{13.0.0 → 16}/include/f16cintrin.h +4 -4
  53. package/lib/clang/{13.0.0 → 16}/include/float.h +22 -6
  54. package/lib/clang/{13.0.0 → 16}/include/gfniintrin.h +54 -53
  55. package/lib/clang/{13.0.0 → 16}/include/hexagon_protos.h +0 -11
  56. package/lib/clang/{13.0.0 → 16}/include/hexagon_types.h +0 -32
  57. package/lib/clang/16/include/hlsl/hlsl_basic_types.h +67 -0
  58. package/lib/clang/16/include/hlsl/hlsl_intrinsics.h +223 -0
  59. package/lib/clang/16/include/hlsl.h +15 -0
  60. package/lib/clang/{13.0.0 → 16}/include/hresetintrin.h +2 -2
  61. package/lib/clang/{13.0.0 → 16}/include/hvx_hexagon_protos.h +1200 -409
  62. package/lib/clang/{13.0.0 → 16}/include/ia32intrin.h +17 -17
  63. package/lib/clang/{13.0.0 → 16}/include/immintrin.h +74 -24
  64. package/lib/clang/{13.0.0 → 16}/include/intrin.h +34 -35
  65. package/lib/clang/{13.0.0 → 16}/include/keylockerintrin.h +24 -30
  66. package/lib/clang/16/include/larchintrin.h +234 -0
  67. package/lib/clang/{13.0.0 → 16}/include/limits.h +22 -1
  68. package/lib/clang/{13.0.0 → 16}/include/mm_malloc.h +3 -3
  69. package/lib/clang/{13.0.0 → 16}/include/mmintrin.h +4 -0
  70. package/lib/clang/{13.0.0 → 16}/include/nmmintrin.h +4 -0
  71. package/lib/clang/{13.0.0 → 16}/include/opencl-c-base.h +98 -11
  72. package/lib/clang/{13.0.0 → 16}/include/opencl-c.h +7252 -6208
  73. package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/complex +10 -1
  74. package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/complex.h +9 -0
  75. package/lib/clang/{13.0.0 → 16}/include/pmmintrin.h +5 -1
  76. package/lib/clang/16/include/ppc_wrappers/bmi2intrin.h +134 -0
  77. package/lib/clang/16/include/ppc_wrappers/bmiintrin.h +165 -0
  78. package/lib/clang/16/include/ppc_wrappers/emmintrin.h +2268 -0
  79. package/lib/clang/16/include/ppc_wrappers/immintrin.h +27 -0
  80. package/lib/clang/{13.0.0 → 16}/include/ppc_wrappers/mm_malloc.h +12 -17
  81. package/lib/clang/{13.0.0 → 16}/include/ppc_wrappers/mmintrin.h +389 -386
  82. package/lib/clang/16/include/ppc_wrappers/pmmintrin.h +145 -0
  83. package/lib/clang/16/include/ppc_wrappers/smmintrin.h +663 -0
  84. package/lib/clang/16/include/ppc_wrappers/tmmintrin.h +453 -0
  85. package/lib/clang/{13.0.0/include/stdnoreturn.h → 16/include/ppc_wrappers/x86gprintrin.h} +7 -6
  86. package/lib/clang/16/include/ppc_wrappers/x86intrin.h +28 -0
  87. package/lib/clang/16/include/ppc_wrappers/xmmintrin.h +1827 -0
  88. package/lib/clang/16/include/prfchiintrin.h +61 -0
  89. package/lib/clang/{13.0.0 → 16}/include/prfchwintrin.h +5 -2
  90. package/lib/clang/16/include/raointintrin.h +203 -0
  91. package/lib/clang/16/include/rdpruintrin.h +57 -0
  92. package/lib/clang/{13.0.0 → 16}/include/rdseedintrin.h +3 -3
  93. package/lib/clang/16/include/riscv_vector.h +211 -0
  94. package/lib/clang/{13.0.0 → 16}/include/rtmintrin.h +1 -1
  95. package/lib/clang/{13.0.0 → 16}/include/smmintrin.h +260 -362
  96. package/lib/clang/{13.0.0 → 16}/include/stdarg.h +23 -7
  97. package/lib/clang/{13.0.0 → 16}/include/stdatomic.h +14 -1
  98. package/lib/clang/{13.0.0 → 16}/include/stdbool.h +10 -7
  99. package/lib/clang/{13.0.0 → 16}/include/stddef.h +9 -2
  100. package/lib/clang/{13.0.0 → 16}/include/stdint.h +311 -25
  101. package/lib/clang/16/include/stdnoreturn.h +29 -0
  102. package/lib/clang/{13.0.0 → 16}/include/tmmintrin.h +10 -6
  103. package/lib/clang/{13.0.0 → 16}/include/uintrintrin.h +8 -8
  104. package/lib/clang/{13.0.0 → 16}/include/unwind.h +12 -7
  105. package/lib/clang/{13.0.0 → 16}/include/vaesintrin.h +1 -1
  106. package/lib/clang/16/include/velintrin.h +71 -0
  107. package/lib/clang/16/include/velintrin_approx.h +120 -0
  108. package/lib/clang/16/include/velintrin_gen.h +1257 -0
  109. package/lib/clang/{13.0.0 → 16}/include/vpclmulqdqintrin.h +6 -6
  110. package/lib/clang/{13.0.0 → 16}/include/wasm_simd128.h +169 -26
  111. package/lib/clang/{13.0.0 → 16}/include/wmmintrin.h +4 -0
  112. package/lib/clang/16/include/x86gprintrin.h +65 -0
  113. package/lib/clang/{13.0.0 → 16}/include/x86intrin.h +4 -0
  114. package/lib/clang/{13.0.0 → 16}/include/xmmintrin.h +19 -10
  115. package/lib/clang/{13.0.0 → 16}/include/xopintrin.h +31 -31
  116. package/package.json +6 -6
  117. package/lib/clang/13.0.0/include/ppc_wrappers/emmintrin.h +0 -2324
  118. package/lib/clang/13.0.0/include/ppc_wrappers/pmmintrin.h +0 -150
  119. package/lib/clang/13.0.0/include/ppc_wrappers/smmintrin.h +0 -109
  120. package/lib/clang/13.0.0/include/ppc_wrappers/tmmintrin.h +0 -495
  121. package/lib/clang/13.0.0/include/ppc_wrappers/xmmintrin.h +0 -1843
  122. package/lib/clang/13.0.0/include/riscv_vector.h +0 -123865
  123. package/lib/clang/13.0.0/include/x86gprintrin.h +0 -23
  124. /package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_builtin_vars.h +0 -0
  125. /package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_cmath.h +0 -0
  126. /package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_device_functions.h +0 -0
  127. /package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_math_forward_declares.h +0 -0
  128. /package/lib/clang/{13.0.0 → 16}/include/__clang_hip_cmath.h +0 -0
  129. /package/lib/clang/{13.0.0 → 16}/include/__stddef_max_align_t.h +0 -0
  130. /package/lib/clang/{13.0.0 → 16}/include/adxintrin.h +0 -0
  131. /package/lib/clang/{13.0.0 → 16}/include/arm64intr.h +0 -0
  132. /package/lib/clang/{13.0.0 → 16}/include/arm_bf16.h +0 -0
  133. /package/lib/clang/{13.0.0 → 16}/include/arm_cde.h +0 -0
  134. /package/lib/clang/{13.0.0 → 16}/include/arm_cmse.h +0 -0
  135. /package/lib/clang/{13.0.0 → 16}/include/arm_mve.h +0 -0
  136. /package/lib/clang/{13.0.0 → 16}/include/armintr.h +0 -0
  137. /package/lib/clang/{13.0.0 → 16}/include/avx512bitalgintrin.h +0 -0
  138. /package/lib/clang/{13.0.0 → 16}/include/avx512cdintrin.h +0 -0
  139. /package/lib/clang/{13.0.0 → 16}/include/avx512ifmaintrin.h +0 -0
  140. /package/lib/clang/{13.0.0 → 16}/include/avx512pfintrin.h +0 -0
  141. /package/lib/clang/{13.0.0 → 16}/include/avx512vbmiintrin.h +0 -0
  142. /package/lib/clang/{13.0.0 → 16}/include/avx512vbmivlintrin.h +0 -0
  143. /package/lib/clang/{13.0.0 → 16}/include/avx512vlbitalgintrin.h +0 -0
  144. /package/lib/clang/{13.0.0 → 16}/include/avx512vlcdintrin.h +0 -0
  145. /package/lib/clang/{13.0.0 → 16}/include/avx512vlvp2intersectintrin.h +0 -0
  146. /package/lib/clang/{13.0.0 → 16}/include/avx512vnniintrin.h +0 -0
  147. /package/lib/clang/{13.0.0 → 16}/include/avx512vp2intersectintrin.h +0 -0
  148. /package/lib/clang/{13.0.0 → 16}/include/avx512vpopcntdqintrin.h +0 -0
  149. /package/lib/clang/{13.0.0 → 16}/include/avx512vpopcntdqvlintrin.h +0 -0
  150. /package/lib/clang/{13.0.0 → 16}/include/bmi2intrin.h +0 -0
  151. /package/lib/clang/{13.0.0 → 16}/include/builtins.h +0 -0
  152. /package/lib/clang/{13.0.0 → 16}/include/cet.h +0 -0
  153. /package/lib/clang/{13.0.0 → 16}/include/cldemoteintrin.h +0 -0
  154. /package/lib/clang/{13.0.0 → 16}/include/clflushoptintrin.h +0 -0
  155. /package/lib/clang/{13.0.0 → 16}/include/clwbintrin.h +0 -0
  156. /package/lib/clang/{13.0.0 → 16}/include/clzerointrin.h +0 -0
  157. /package/lib/clang/{13.0.0 → 16}/include/cuda_wrappers/algorithm +0 -0
  158. /package/lib/clang/{13.0.0 → 16}/include/cuda_wrappers/complex +0 -0
  159. /package/lib/clang/{13.0.0 → 16}/include/cuda_wrappers/new +0 -0
  160. /package/lib/clang/{13.0.0 → 16}/include/enqcmdintrin.h +0 -0
  161. /package/lib/clang/{13.0.0 → 16}/include/fma4intrin.h +0 -0
  162. /package/lib/clang/{13.0.0 → 16}/include/fmaintrin.h +0 -0
  163. /package/lib/clang/{13.0.0 → 16}/include/fxsrintrin.h +0 -0
  164. /package/lib/clang/{13.0.0 → 16}/include/hexagon_circ_brev_intrinsics.h +0 -0
  165. /package/lib/clang/{13.0.0 → 16}/include/htmintrin.h +0 -0
  166. /package/lib/clang/{13.0.0 → 16}/include/htmxlintrin.h +0 -0
  167. /package/lib/clang/{13.0.0 → 16}/include/inttypes.h +0 -0
  168. /package/lib/clang/{13.0.0 → 16}/include/invpcidintrin.h +0 -0
  169. /package/lib/clang/{13.0.0 → 16}/include/iso646.h +0 -0
  170. /package/lib/clang/{13.0.0 → 16}/include/lwpintrin.h +0 -0
  171. /package/lib/clang/{13.0.0 → 16}/include/lzcntintrin.h +0 -0
  172. /package/lib/clang/{13.0.0 → 16}/include/mm3dnow.h +0 -0
  173. /package/lib/clang/{13.0.0 → 16}/include/module.modulemap +0 -0
  174. /package/lib/clang/{13.0.0 → 16}/include/movdirintrin.h +0 -0
  175. /package/lib/clang/{13.0.0 → 16}/include/msa.h +0 -0
  176. /package/lib/clang/{13.0.0 → 16}/include/mwaitxintrin.h +0 -0
  177. /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
  178. /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/cmath +0 -0
  179. /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/complex_cmath.h +0 -0
  180. /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/math.h +0 -0
  181. /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/new +0 -0
  182. /package/lib/clang/{13.0.0 → 16}/include/pconfigintrin.h +0 -0
  183. /package/lib/clang/{13.0.0 → 16}/include/pkuintrin.h +0 -0
  184. /package/lib/clang/{13.0.0 → 16}/include/popcntintrin.h +0 -0
  185. /package/lib/clang/{13.0.0 → 16}/include/ptwriteintrin.h +0 -0
  186. /package/lib/clang/{13.0.0 → 16}/include/s390intrin.h +0 -0
  187. /package/lib/clang/{13.0.0 → 16}/include/serializeintrin.h +0 -0
  188. /package/lib/clang/{13.0.0 → 16}/include/sgxintrin.h +0 -0
  189. /package/lib/clang/{13.0.0 → 16}/include/shaintrin.h +0 -0
  190. /package/lib/clang/{13.0.0 → 16}/include/stdalign.h +0 -0
  191. /package/lib/clang/{13.0.0 → 16}/include/tbmintrin.h +0 -0
  192. /package/lib/clang/{13.0.0 → 16}/include/tgmath.h +0 -0
  193. /package/lib/clang/{13.0.0 → 16}/include/tsxldtrkintrin.h +0 -0
  194. /package/lib/clang/{13.0.0 → 16}/include/vadefs.h +0 -0
  195. /package/lib/clang/{13.0.0 → 16}/include/varargs.h +0 -0
  196. /package/lib/clang/{13.0.0 → 16}/include/vecintrin.h +0 -0
  197. /package/lib/clang/{13.0.0 → 16}/include/waitpkgintrin.h +0 -0
  198. /package/lib/clang/{13.0.0 → 16}/include/wbnoinvdintrin.h +0 -0
  199. /package/lib/clang/{13.0.0 → 16}/include/xsavecintrin.h +0 -0
  200. /package/lib/clang/{13.0.0 → 16}/include/xsaveintrin.h +0 -0
  201. /package/lib/clang/{13.0.0 → 16}/include/xsaveoptintrin.h +0 -0
  202. /package/lib/clang/{13.0.0 → 16}/include/xsavesintrin.h +0 -0
  203. /package/lib/clang/{13.0.0 → 16}/include/xtestintrin.h +0 -0
@@ -288,12 +288,17 @@ __llvm_amdgcn_rsq_f64(double __x) {
288
288
 
289
289
  __device__ __attribute__((const)) _Float16 __ocml_ceil_f16(_Float16);
290
290
  __device__ _Float16 __ocml_cos_f16(_Float16);
291
+ __device__ __attribute__((const)) _Float16 __ocml_cvtrtn_f16_f32(float);
292
+ __device__ __attribute__((const)) _Float16 __ocml_cvtrtp_f16_f32(float);
293
+ __device__ __attribute__((const)) _Float16 __ocml_cvtrtz_f16_f32(float);
291
294
  __device__ __attribute__((pure)) _Float16 __ocml_exp_f16(_Float16);
292
295
  __device__ __attribute__((pure)) _Float16 __ocml_exp10_f16(_Float16);
293
296
  __device__ __attribute__((pure)) _Float16 __ocml_exp2_f16(_Float16);
294
297
  __device__ __attribute__((const)) _Float16 __ocml_floor_f16(_Float16);
295
298
  __device__ __attribute__((const)) _Float16 __ocml_fma_f16(_Float16, _Float16,
296
299
  _Float16);
300
+ __device__ __attribute__((const)) _Float16 __ocml_fmax_f16(_Float16, _Float16);
301
+ __device__ __attribute__((const)) _Float16 __ocml_fmin_f16(_Float16, _Float16);
297
302
  __device__ __attribute__((const)) _Float16 __ocml_fabs_f16(_Float16);
298
303
  __device__ __attribute__((const)) int __ocml_isinf_f16(_Float16);
299
304
  __device__ __attribute__((const)) int __ocml_isnan_f16(_Float16);
@@ -70,9 +70,9 @@ __DEVICE__ void __static_assert_equal_size() {
70
70
  #endif
71
71
 
72
72
  __DEVICE__
73
- uint64_t __make_mantissa_base8(const char *__tagp) {
73
+ uint64_t __make_mantissa_base8(const char *__tagp __attribute__((nonnull))) {
74
74
  uint64_t __r = 0;
75
- while (__tagp) {
75
+ while (*__tagp != '\0') {
76
76
  char __tmp = *__tagp;
77
77
 
78
78
  if (__tmp >= '0' && __tmp <= '7')
@@ -87,9 +87,9 @@ uint64_t __make_mantissa_base8(const char *__tagp) {
87
87
  }
88
88
 
89
89
  __DEVICE__
90
- uint64_t __make_mantissa_base10(const char *__tagp) {
90
+ uint64_t __make_mantissa_base10(const char *__tagp __attribute__((nonnull))) {
91
91
  uint64_t __r = 0;
92
- while (__tagp) {
92
+ while (*__tagp != '\0') {
93
93
  char __tmp = *__tagp;
94
94
 
95
95
  if (__tmp >= '0' && __tmp <= '9')
@@ -104,9 +104,9 @@ uint64_t __make_mantissa_base10(const char *__tagp) {
104
104
  }
105
105
 
106
106
  __DEVICE__
107
- uint64_t __make_mantissa_base16(const char *__tagp) {
107
+ uint64_t __make_mantissa_base16(const char *__tagp __attribute__((nonnull))) {
108
108
  uint64_t __r = 0;
109
- while (__tagp) {
109
+ while (*__tagp != '\0') {
110
110
  char __tmp = *__tagp;
111
111
 
112
112
  if (__tmp >= '0' && __tmp <= '9')
@@ -125,10 +125,7 @@ uint64_t __make_mantissa_base16(const char *__tagp) {
125
125
  }
126
126
 
127
127
  __DEVICE__
128
- uint64_t __make_mantissa(const char *__tagp) {
129
- if (!__tagp)
130
- return 0u;
131
-
128
+ uint64_t __make_mantissa(const char *__tagp __attribute__((nonnull))) {
132
129
  if (*__tagp == '0') {
133
130
  ++__tagp;
134
131
 
@@ -233,7 +230,7 @@ __DEVICE__
233
230
  float expm1f(float __x) { return __ocml_expm1_f32(__x); }
234
231
 
235
232
  __DEVICE__
236
- float fabsf(float __x) { return __ocml_fabs_f32(__x); }
233
+ float fabsf(float __x) { return __builtin_fabsf(__x); }
237
234
 
238
235
  __DEVICE__
239
236
  float fdimf(float __x, float __y) { return __ocml_fdim_f32(__x, __y); }
@@ -359,7 +356,7 @@ float modff(float __x, float *__iptr) {
359
356
  }
360
357
 
361
358
  __DEVICE__
362
- float nanf(const char *__tagp) {
359
+ float nanf(const char *__tagp __attribute__((nonnull))) {
363
360
  union {
364
361
  float val;
365
362
  struct ieee_float {
@@ -792,7 +789,7 @@ __DEVICE__
792
789
  double expm1(double __x) { return __ocml_expm1_f64(__x); }
793
790
 
794
791
  __DEVICE__
795
- double fabs(double __x) { return __ocml_fabs_f64(__x); }
792
+ double fabs(double __x) { return __builtin_fabs(__x); }
796
793
 
797
794
  __DEVICE__
798
795
  double fdim(double __x, double __y) { return __ocml_fdim_f64(__x, __y); }
@@ -50,6 +50,9 @@ extern "C" {
50
50
  #include <cmath>
51
51
  #include <cstdlib>
52
52
  #include <stdlib.h>
53
+ #if __has_include("hip/hip_version.h")
54
+ #include "hip/hip_version.h"
55
+ #endif // __has_include("hip/hip_version.h")
53
56
  #else
54
57
  typedef __SIZE_TYPE__ size_t;
55
58
  // Define macros which are needed to declare HIP device API's without standard
@@ -74,25 +77,35 @@ typedef __SIZE_TYPE__ __hip_size_t;
74
77
  extern "C" {
75
78
  #endif //__cplusplus
76
79
 
80
+ #if HIP_VERSION_MAJOR * 100 + HIP_VERSION_MINOR >= 405
81
+ extern "C" __device__ unsigned long long __ockl_dm_alloc(unsigned long long __size);
82
+ extern "C" __device__ void __ockl_dm_dealloc(unsigned long long __addr);
83
+ __attribute__((weak)) inline __device__ void *malloc(__hip_size_t __size) {
84
+ return (void *) __ockl_dm_alloc(__size);
85
+ }
86
+ __attribute__((weak)) inline __device__ void free(void *__ptr) {
87
+ __ockl_dm_dealloc((unsigned long long)__ptr);
88
+ }
89
+ #else // HIP version check
77
90
  #if __HIP_ENABLE_DEVICE_MALLOC__
78
91
  __device__ void *__hip_malloc(__hip_size_t __size);
79
92
  __device__ void *__hip_free(void *__ptr);
80
93
  __attribute__((weak)) inline __device__ void *malloc(__hip_size_t __size) {
81
94
  return __hip_malloc(__size);
82
95
  }
83
- __attribute__((weak)) inline __device__ void *free(void *__ptr) {
84
- return __hip_free(__ptr);
96
+ __attribute__((weak)) inline __device__ void free(void *__ptr) {
97
+ __hip_free(__ptr);
85
98
  }
86
99
  #else
87
100
  __attribute__((weak)) inline __device__ void *malloc(__hip_size_t __size) {
88
101
  __builtin_trap();
89
102
  return (void *)0;
90
103
  }
91
- __attribute__((weak)) inline __device__ void *free(void *__ptr) {
104
+ __attribute__((weak)) inline __device__ void free(void *__ptr) {
92
105
  __builtin_trap();
93
- return (void *)0;
94
106
  }
95
107
  #endif
108
+ #endif // HIP version check
96
109
 
97
110
  #ifdef __cplusplus
98
111
  } // extern "C"
@@ -100,6 +113,7 @@ __attribute__((weak)) inline __device__ void *free(void *__ptr) {
100
113
 
101
114
  #include <__clang_hip_libdevice_declares.h>
102
115
  #include <__clang_hip_math.h>
116
+ #include <__clang_hip_stdlib.h>
103
117
 
104
118
  #if defined(__HIPCC_RTC__)
105
119
  #include <__clang_hip_cmath.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__
@@ -133,7 +133,7 @@ _mm_aesimc_si128(__m128i __V)
133
133
  /// An 8-bit round constant used to generate the AES encryption key.
134
134
  /// \returns A 128-bit round key for AES encryption.
135
135
  #define _mm_aeskeygenassist_si128(C, R) \
136
- (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
136
+ ((__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R)))
137
137
 
138
138
  #undef __DEFAULT_FN_ATTRS
139
139
 
@@ -22,23 +22,23 @@
22
22
  /// \headerfile <x86intrin.h>
23
23
  ///
24
24
  /// \code
25
- /// __m128i _mm_clmulepi64_si128(__m128i __X, __m128i __Y, const int __I);
25
+ /// __m128i _mm_clmulepi64_si128(__m128i X, __m128i Y, const int I);
26
26
  /// \endcode
27
27
  ///
28
28
  /// This intrinsic corresponds to the <c> VPCLMULQDQ </c> instruction.
29
29
  ///
30
- /// \param __X
30
+ /// \param X
31
31
  /// A 128-bit vector of [2 x i64] containing one of the source operands.
32
- /// \param __Y
32
+ /// \param Y
33
33
  /// A 128-bit vector of [2 x i64] containing one of the source operands.
34
- /// \param __I
34
+ /// \param I
35
35
  /// An immediate value specifying which 64-bit values to select from the
36
- /// operands. Bit 0 is used to select a value from operand \a __X, and bit
37
- /// 4 is used to select a value from operand \a __Y: \n
38
- /// Bit[0]=0 indicates that bits[63:0] of operand \a __X are used. \n
39
- /// Bit[0]=1 indicates that bits[127:64] of operand \a __X are used. \n
40
- /// Bit[4]=0 indicates that bits[63:0] of operand \a __Y are used. \n
41
- /// Bit[4]=1 indicates that bits[127:64] of operand \a __Y are used.
36
+ /// operands. Bit 0 is used to select a value from operand \a X, and bit
37
+ /// 4 is used to select a value from operand \a Y: \n
38
+ /// Bit[0]=0 indicates that bits[63:0] of operand \a X are used. \n
39
+ /// Bit[0]=1 indicates that bits[127:64] of operand \a X are used. \n
40
+ /// Bit[4]=0 indicates that bits[63:0] of operand \a Y are used. \n
41
+ /// Bit[4]=1 indicates that bits[127:64] of operand \a Y are used.
42
42
  /// \returns The 128-bit integer vector containing the result of the carry-less
43
43
  /// multiplication of the selected 64-bit values.
44
44
  #define _mm_clmulepi64_si128(X, Y, I) \