@cpp-linter/clang-tidy-win32-x64 19.1.0 → 23.1.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 (320) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/23/include/__clang_cuda_complex_builtins.h +236 -0
  4. package/lib/clang/{19 → 23}/include/__clang_cuda_device_functions.h +15 -1
  5. package/lib/clang/{19 → 23}/include/__clang_cuda_intrinsics.h +288 -20
  6. package/lib/clang/{19 → 23}/include/__clang_cuda_math.h +5 -0
  7. package/lib/clang/{19 → 23}/include/__clang_cuda_math_forward_declares.h +5 -0
  8. package/lib/clang/{19 → 23}/include/__clang_cuda_runtime_wrapper.h +28 -5
  9. package/lib/clang/{19 → 23}/include/__clang_cuda_texture_intrinsics.h +437 -2
  10. package/lib/clang/23/include/__clang_gpu_builtin_vars.h +71 -0
  11. package/lib/clang/23/include/__clang_gpu_device_functions.h +411 -0
  12. package/lib/clang/23/include/__clang_gpu_intrinsics.h +242 -0
  13. package/lib/clang/{19 → 23}/include/__clang_hip_cmath.h +15 -9
  14. package/lib/clang/{19 → 23}/include/__clang_hip_libdevice_declares.h +24 -139
  15. package/lib/clang/{19 → 23}/include/__clang_hip_math.h +115 -34
  16. package/lib/clang/{19 → 23}/include/__clang_hip_runtime_wrapper.h +12 -1
  17. package/lib/clang/23/include/__clang_spirv_builtins.h +217 -0
  18. package/lib/clang/23/include/__clang_spirv_libdevice_declares.h +170 -0
  19. package/lib/clang/23/include/__clang_spirv_math.h +719 -0
  20. package/lib/clang/{19/include/float.h → 23/include/__float_float.h} +14 -34
  21. package/lib/clang/23/include/__float_header_macro.h +12 -0
  22. package/lib/clang/23/include/__float_infinity_nan.h +20 -0
  23. package/lib/clang/{19 → 23}/include/__stdarg_va_arg.h +2 -2
  24. package/lib/clang/{19 → 23}/include/adcintrin.h +5 -0
  25. package/lib/clang/{19 → 23}/include/adxintrin.h +5 -0
  26. package/lib/clang/{19 → 23}/include/altivec.h +169 -96
  27. package/lib/clang/23/include/amdgpuintrin.h +164 -0
  28. package/lib/clang/23/include/amdhsa_abi.h +83 -0
  29. package/lib/clang/23/include/amo.h +220 -0
  30. package/lib/clang/23/include/amxavx512intrin.h +596 -0
  31. package/lib/clang/{19 → 23}/include/amxcomplexintrin.h +4 -6
  32. package/lib/clang/{19 → 23}/include/amxfp16intrin.h +35 -0
  33. package/lib/clang/23/include/amxfp8intrin.h +230 -0
  34. package/lib/clang/{19 → 23}/include/amxintrin.h +3 -35
  35. package/lib/clang/23/include/amxmovrsintrin.h +48 -0
  36. package/lib/clang/23/include/andes_vector.h +21 -0
  37. package/lib/clang/23/include/arm64_neon.h +21 -0
  38. package/lib/clang/{19 → 23}/include/arm64intr.h +10 -0
  39. package/lib/clang/{19 → 23}/include/arm_acle.h +67 -89
  40. package/lib/clang/{19 → 23}/include/arm_fp16.h +89 -89
  41. package/lib/clang/{19 → 23}/include/arm_neon.h +43614 -38901
  42. package/lib/clang/{19 → 23}/include/arm_sme.h +1028 -94
  43. package/lib/clang/{19 → 23}/include/arm_sve.h +7331 -5170
  44. package/lib/clang/{19 → 23}/include/arm_vector_types.h +87 -0
  45. package/lib/clang/23/include/avx10_2_512bf16intrin.h +568 -0
  46. package/lib/clang/23/include/avx10_2_512convertintrin.h +322 -0
  47. package/lib/clang/23/include/avx10_2_512minmaxintrin.h +127 -0
  48. package/lib/clang/23/include/avx10_2_512niintrin.h +314 -0
  49. package/lib/clang/23/include/avx10_2_512satcvtdsintrin.h +307 -0
  50. package/lib/clang/23/include/avx10_2_512satcvtintrin.h +301 -0
  51. package/lib/clang/23/include/avx10_2bf16intrin.h +1094 -0
  52. package/lib/clang/23/include/avx10_2convertintrin.h +3257 -0
  53. package/lib/clang/23/include/avx10_2copyintrin.h +66 -0
  54. package/lib/clang/23/include/avx10_2minmaxintrin.h +232 -0
  55. package/lib/clang/23/include/avx10_2niintrin.h +409 -0
  56. package/lib/clang/23/include/avx10_2satcvtdsintrin.h +376 -0
  57. package/lib/clang/23/include/avx10_2satcvtintrin.h +312 -0
  58. package/lib/clang/{19 → 23}/include/avx2intrin.h +284 -378
  59. package/lib/clang/{19 → 23}/include/avx512bf16intrin.h +25 -16
  60. package/lib/clang/{19 → 23}/include/avx512bitalgintrin.h +21 -32
  61. package/lib/clang/23/include/avx512bmmintrin.h +174 -0
  62. package/lib/clang/23/include/avx512bmmvlintrin.h +245 -0
  63. package/lib/clang/{19 → 23}/include/avx512bwintrin.h +405 -534
  64. package/lib/clang/23/include/avx512cdintrin.h +112 -0
  65. package/lib/clang/{19 → 23}/include/avx512dqintrin.h +132 -161
  66. package/lib/clang/{19 → 23}/include/avx512fintrin.h +1068 -1496
  67. package/lib/clang/{19 → 23}/include/avx512fp16intrin.h +126 -129
  68. package/lib/clang/23/include/avx512ifmaintrin.h +68 -0
  69. package/lib/clang/23/include/avx512ifmavlintrin.h +138 -0
  70. package/lib/clang/{19 → 23}/include/avx512vbmi2intrin.h +55 -48
  71. package/lib/clang/{19 → 23}/include/avx512vbmiintrin.h +19 -27
  72. package/lib/clang/{19 → 23}/include/avx512vbmivlintrin.h +35 -49
  73. package/lib/clang/{19 → 23}/include/avx512vlbf16intrin.h +32 -22
  74. package/lib/clang/{19 → 23}/include/avx512vlbitalgintrin.h +41 -57
  75. package/lib/clang/{19 → 23}/include/avx512vlbwintrin.h +494 -609
  76. package/lib/clang/23/include/avx512vlcdintrin.h +202 -0
  77. package/lib/clang/{19 → 23}/include/avx512vldqintrin.h +110 -127
  78. package/lib/clang/{19 → 23}/include/avx512vlfp16intrin.h +130 -111
  79. package/lib/clang/{19 → 23}/include/avx512vlintrin.h +1025 -1395
  80. package/lib/clang/{19 → 23}/include/avx512vlvbmi2intrin.h +102 -95
  81. package/lib/clang/{19 → 23}/include/avx512vlvnniintrin.h +50 -52
  82. package/lib/clang/{19 → 23}/include/avx512vlvp2intersectintrin.h +2 -2
  83. package/lib/clang/{19 → 23}/include/avx512vnniintrin.h +42 -45
  84. package/lib/clang/{19 → 23}/include/avx512vp2intersectintrin.h +2 -3
  85. package/lib/clang/{19 → 23}/include/avx512vpopcntdqintrin.h +10 -4
  86. package/lib/clang/{19 → 23}/include/avx512vpopcntdqvlintrin.h +20 -10
  87. package/lib/clang/{19 → 23}/include/avxifmaintrin.h +16 -0
  88. package/lib/clang/{19 → 23}/include/avxintrin.h +186 -248
  89. package/lib/clang/{19 → 23}/include/avxvnniint16intrin.h +130 -152
  90. package/lib/clang/{19 → 23}/include/avxvnniint8intrin.h +68 -85
  91. package/lib/clang/{19 → 23}/include/avxvnniintrin.h +39 -26
  92. package/lib/clang/{19 → 23}/include/bmi2intrin.h +15 -17
  93. package/lib/clang/{19 → 23}/include/bmiintrin.h +31 -41
  94. package/lib/clang/{19 → 23}/include/cmpccxaddintrin.h +1 -1
  95. package/lib/clang/{19 → 23}/include/cpuid.h +137 -37
  96. package/lib/clang/{19 → 23}/include/crc32intrin.h +10 -8
  97. package/lib/clang/23/include/cuda_wrappers/__utility/declval.h +28 -0
  98. package/lib/clang/23/include/cuda_wrappers/bits/c++config.h +61 -0
  99. package/lib/clang/23/include/cuda_wrappers/cmath +44 -0
  100. package/lib/clang/{19 → 23}/include/cuda_wrappers/new +2 -0
  101. package/lib/clang/{19 → 23}/include/emmintrin.h +306 -272
  102. package/lib/clang/23/include/endian.h +91 -0
  103. package/lib/clang/{19 → 23}/include/f16cintrin.h +23 -9
  104. package/lib/clang/23/include/float.h +48 -0
  105. package/lib/clang/23/include/fma4intrin.h +220 -0
  106. package/lib/clang/{19 → 23}/include/fmaintrin.h +96 -66
  107. package/lib/clang/{19 → 23}/include/gfniintrin.h +39 -12
  108. package/lib/clang/23/include/gpuintrin.h +348 -0
  109. package/lib/clang/{19 → 23}/include/hexagon_types.h +31 -24
  110. package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics.h +222 -0
  111. package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics_gen.inc +3869 -0
  112. package/lib/clang/23/include/hlsl/hlsl_basic_types.h +370 -0
  113. package/lib/clang/23/include/hlsl/hlsl_compat_overloads.h +559 -0
  114. package/lib/clang/23/include/hlsl/hlsl_detail.h +56 -0
  115. package/lib/clang/23/include/hlsl/hlsl_inline_intrinsics_gen.inc +546 -0
  116. package/lib/clang/23/include/hlsl/hlsl_intrinsic_helpers.h +170 -0
  117. package/lib/clang/23/include/hlsl/hlsl_intrinsics.h +331 -0
  118. package/lib/clang/23/include/hlsl/hlsl_spirv.h +28 -0
  119. package/lib/clang/23/include/hlsl.h +38 -0
  120. package/lib/clang/{19 → 23}/include/hvx_hexagon_protos.h +1041 -803
  121. package/lib/clang/{19 → 23}/include/immintrin.h +35 -185
  122. package/lib/clang/{19 → 23}/include/intrin.h +62 -21
  123. package/lib/clang/{19 → 23}/include/intrin0.h +10 -1
  124. package/lib/clang/{19 → 23}/include/keylockerintrin.h +0 -9
  125. package/lib/clang/{19 → 23}/include/larchintrin.h +24 -8
  126. package/lib/clang/{19 → 23}/include/lasxintrin.h +140 -25
  127. package/lib/clang/{19 → 23}/include/limits.h +7 -4
  128. package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/assert.h +3 -5
  129. package/lib/clang/23/include/llvm_libc_wrappers/ctype.h +29 -0
  130. package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/inttypes.h +3 -5
  131. package/lib/clang/23/include/llvm_libc_wrappers/stdio.h +52 -0
  132. package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/stdlib.h +3 -16
  133. package/lib/clang/23/include/llvm_libc_wrappers/string.h +29 -0
  134. package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/time.h +4 -10
  135. package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
  136. package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
  137. package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
  138. package/lib/clang/{19 → 23}/include/lsxintrin.h +27 -25
  139. package/lib/clang/{19 → 23}/include/lzcntintrin.h +13 -8
  140. package/lib/clang/{19 → 23}/include/mmintrin.h +241 -256
  141. package/lib/clang/{19 → 23}/include/module.modulemap +54 -9
  142. package/lib/clang/23/include/movrs_avx10_2_512intrin.h +98 -0
  143. package/lib/clang/23/include/movrs_avx10_2intrin.h +174 -0
  144. package/lib/clang/23/include/movrsintrin.h +59 -0
  145. package/lib/clang/23/include/nvptxintrin.h +208 -0
  146. package/lib/clang/{19 → 23}/include/opencl-c-base.h +28 -92
  147. package/lib/clang/{19 → 23}/include/opencl-c.h +506 -140
  148. package/lib/clang/{19 → 23}/include/openmp_wrappers/__clang_openmp_device_functions.h +18 -5
  149. package/lib/clang/{19 → 23}/include/openmp_wrappers/complex +7 -1
  150. package/lib/clang/{19 → 23}/include/openmp_wrappers/complex.h +6 -0
  151. package/lib/clang/{19 → 23}/include/openmp_wrappers/complex_cmath.h +7 -2
  152. package/lib/clang/{19 → 23}/include/openmp_wrappers/math.h +10 -0
  153. package/lib/clang/{19 → 23}/include/pmmintrin.h +24 -23
  154. package/lib/clang/{19 → 23}/include/popcntintrin.h +7 -7
  155. package/lib/clang/{19 → 23}/include/prfchwintrin.h +10 -13
  156. package/lib/clang/{19 → 23}/include/ptrauth.h +169 -14
  157. package/lib/clang/{19 → 23}/include/riscv_bitmanip.h +7 -0
  158. package/lib/clang/23/include/riscv_corev_alu.h +130 -0
  159. package/lib/clang/{19 → 23}/include/riscv_crypto.h +8 -0
  160. package/lib/clang/23/include/riscv_mips.h +36 -0
  161. package/lib/clang/23/include/riscv_nds.h +92 -0
  162. package/lib/clang/{19 → 23}/include/riscv_ntlh.h +2 -0
  163. package/lib/clang/23/include/riscv_packed_simd.h +644 -0
  164. package/lib/clang/{19 → 23}/include/riscv_vector.h +43 -5
  165. package/lib/clang/{19 → 23}/include/shaintrin.h +3 -2
  166. package/lib/clang/{19 → 23}/include/sifive_vector.h +76 -2
  167. package/lib/clang/23/include/sm4evexintrin.h +32 -0
  168. package/lib/clang/{19 → 23}/include/smmintrin.h +80 -56
  169. package/lib/clang/23/include/spirvintrin.h +167 -0
  170. package/lib/clang/{19 → 23}/include/stdalign.h +0 -5
  171. package/lib/clang/23/include/stdcountof.h +15 -0
  172. package/lib/clang/23/include/stddefer.h +19 -0
  173. package/lib/clang/{19 → 23}/include/stdint.h +23 -143
  174. package/lib/clang/{19 → 23}/include/tbmintrin.h +25 -37
  175. package/lib/clang/{19 → 23}/include/tmmintrin.h +125 -130
  176. package/lib/clang/{19 → 23}/include/vaesintrin.h +1 -2
  177. package/lib/clang/{19 → 23}/include/vecintrin.h +1783 -60
  178. package/lib/clang/{19 → 23}/include/wasm_simd128.h +184 -21
  179. package/lib/clang/{19 → 23}/include/x86gprintrin.h +0 -14
  180. package/lib/clang/{19 → 23}/include/x86intrin.h +0 -18
  181. package/lib/clang/{19 → 23}/include/xmmintrin.h +190 -221
  182. package/lib/clang/{19 → 23}/include/xopintrin.h +20 -10
  183. package/lib/clang/23/include/zos_wrappers/grp.h +19 -0
  184. package/lib/clang/23/include/zos_wrappers/locale.h +19 -0
  185. package/lib/clang/23/include/zos_wrappers/math.h +31 -0
  186. package/lib/clang/23/include/zos_wrappers/poll.h +19 -0
  187. package/lib/clang/23/include/zos_wrappers/stdlib.h +20 -0
  188. package/lib/clang/23/include/zos_wrappers/string.h +19 -0
  189. package/lib/clang/23/include/zos_wrappers/time.h +19 -0
  190. package/lib/clang/23/include/zos_wrappers/variant.h +19 -0
  191. package/package.json +6 -6
  192. package/lib/clang/19/include/__clang_cuda_complex_builtins.h +0 -285
  193. package/lib/clang/19/include/avx512cdintrin.h +0 -125
  194. package/lib/clang/19/include/avx512ifmaintrin.h +0 -70
  195. package/lib/clang/19/include/avx512ifmavlintrin.h +0 -111
  196. package/lib/clang/19/include/avx512vlcdintrin.h +0 -230
  197. package/lib/clang/19/include/cuda_wrappers/cmath +0 -90
  198. package/lib/clang/19/include/fma4intrin.h +0 -218
  199. package/lib/clang/19/include/hlsl/hlsl_basic_types.h +0 -74
  200. package/lib/clang/19/include/hlsl/hlsl_intrinsics.h +0 -1697
  201. package/lib/clang/19/include/hlsl.h +0 -15
  202. package/lib/clang/19/include/llvm_libc_wrappers/ctype.h +0 -102
  203. package/lib/clang/19/include/llvm_libc_wrappers/stdio.h +0 -80
  204. package/lib/clang/19/include/llvm_libc_wrappers/string.h +0 -96
  205. /package/lib/clang/{19 → 23}/include/__clang_cuda_builtin_vars.h +0 -0
  206. /package/lib/clang/{19 → 23}/include/__clang_cuda_cmath.h +0 -0
  207. /package/lib/clang/{19 → 23}/include/__clang_cuda_libdevice_declares.h +0 -0
  208. /package/lib/clang/{19 → 23}/include/__clang_hip_stdlib.h +0 -0
  209. /package/lib/clang/{19 → 23}/include/__stdarg___gnuc_va_list.h +0 -0
  210. /package/lib/clang/{19 → 23}/include/__stdarg___va_copy.h +0 -0
  211. /package/lib/clang/{19 → 23}/include/__stdarg_header_macro.h +0 -0
  212. /package/lib/clang/{19 → 23}/include/__stdarg_va_copy.h +0 -0
  213. /package/lib/clang/{19 → 23}/include/__stdarg_va_list.h +0 -0
  214. /package/lib/clang/{19 → 23}/include/__stddef_header_macro.h +0 -0
  215. /package/lib/clang/{19 → 23}/include/__stddef_max_align_t.h +0 -0
  216. /package/lib/clang/{19 → 23}/include/__stddef_null.h +0 -0
  217. /package/lib/clang/{19 → 23}/include/__stddef_nullptr_t.h +0 -0
  218. /package/lib/clang/{19 → 23}/include/__stddef_offsetof.h +0 -0
  219. /package/lib/clang/{19 → 23}/include/__stddef_ptrdiff_t.h +0 -0
  220. /package/lib/clang/{19 → 23}/include/__stddef_rsize_t.h +0 -0
  221. /package/lib/clang/{19 → 23}/include/__stddef_size_t.h +0 -0
  222. /package/lib/clang/{19 → 23}/include/__stddef_unreachable.h +0 -0
  223. /package/lib/clang/{19 → 23}/include/__stddef_wchar_t.h +0 -0
  224. /package/lib/clang/{19 → 23}/include/__stddef_wint_t.h +0 -0
  225. /package/lib/clang/{19 → 23}/include/__wmmintrin_aes.h +0 -0
  226. /package/lib/clang/{19 → 23}/include/__wmmintrin_pclmul.h +0 -0
  227. /package/lib/clang/{19 → 23}/include/ammintrin.h +0 -0
  228. /package/lib/clang/{19 → 23}/include/arm_bf16.h +0 -0
  229. /package/lib/clang/{19 → 23}/include/arm_cde.h +0 -0
  230. /package/lib/clang/{19 → 23}/include/arm_cmse.h +0 -0
  231. /package/lib/clang/{19 → 23}/include/arm_mve.h +0 -0
  232. /package/lib/clang/{19 → 23}/include/arm_neon_sve_bridge.h +0 -0
  233. /package/lib/clang/{19 → 23}/include/armintr.h +0 -0
  234. /package/lib/clang/{19 → 23}/include/avxneconvertintrin.h +0 -0
  235. /package/lib/clang/{19 → 23}/include/builtins.h +0 -0
  236. /package/lib/clang/{19 → 23}/include/cet.h +0 -0
  237. /package/lib/clang/{19 → 23}/include/cetintrin.h +0 -0
  238. /package/lib/clang/{19 → 23}/include/cldemoteintrin.h +0 -0
  239. /package/lib/clang/{19 → 23}/include/clflushoptintrin.h +0 -0
  240. /package/lib/clang/{19 → 23}/include/clwbintrin.h +0 -0
  241. /package/lib/clang/{19 → 23}/include/clzerointrin.h +0 -0
  242. /package/lib/clang/{19 → 23}/include/cuda_wrappers/algorithm +0 -0
  243. /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/basic_string.h +0 -0
  244. /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
  245. /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
  246. /package/lib/clang/{19 → 23}/include/cuda_wrappers/complex +0 -0
  247. /package/lib/clang/{19 → 23}/include/enqcmdintrin.h +0 -0
  248. /package/lib/clang/{19 → 23}/include/fxsrintrin.h +0 -0
  249. /package/lib/clang/{19 → 23}/include/hexagon_circ_brev_intrinsics.h +0 -0
  250. /package/lib/clang/{19 → 23}/include/hexagon_protos.h +0 -0
  251. /package/lib/clang/{19 → 23}/include/hresetintrin.h +0 -0
  252. /package/lib/clang/{19 → 23}/include/htmintrin.h +0 -0
  253. /package/lib/clang/{19 → 23}/include/htmxlintrin.h +0 -0
  254. /package/lib/clang/{19 → 23}/include/ia32intrin.h +0 -0
  255. /package/lib/clang/{19 → 23}/include/inttypes.h +0 -0
  256. /package/lib/clang/{19 → 23}/include/invpcidintrin.h +0 -0
  257. /package/lib/clang/{19 → 23}/include/iso646.h +0 -0
  258. /package/lib/clang/{19 → 23}/include/lwpintrin.h +0 -0
  259. /package/lib/clang/{19 → 23}/include/mm3dnow.h +0 -0
  260. /package/lib/clang/{19 → 23}/include/mm_malloc.h +0 -0
  261. /package/lib/clang/{19 → 23}/include/movdirintrin.h +0 -0
  262. /package/lib/clang/{19 → 23}/include/msa.h +0 -0
  263. /package/lib/clang/{19 → 23}/include/mwaitxintrin.h +0 -0
  264. /package/lib/clang/{19 → 23}/include/nmmintrin.h +0 -0
  265. /package/lib/clang/{19 → 23}/include/openmp_wrappers/cmath +0 -0
  266. /package/lib/clang/{19 → 23}/include/openmp_wrappers/new +0 -0
  267. /package/lib/clang/{19 → 23}/include/pconfigintrin.h +0 -0
  268. /package/lib/clang/{19 → 23}/include/pkuintrin.h +0 -0
  269. /package/lib/clang/{19 → 23}/include/ppc_wrappers/bmi2intrin.h +0 -0
  270. /package/lib/clang/{19 → 23}/include/ppc_wrappers/bmiintrin.h +0 -0
  271. /package/lib/clang/{19 → 23}/include/ppc_wrappers/emmintrin.h +0 -0
  272. /package/lib/clang/{19 → 23}/include/ppc_wrappers/immintrin.h +0 -0
  273. /package/lib/clang/{19 → 23}/include/ppc_wrappers/mm_malloc.h +0 -0
  274. /package/lib/clang/{19 → 23}/include/ppc_wrappers/mmintrin.h +0 -0
  275. /package/lib/clang/{19 → 23}/include/ppc_wrappers/nmmintrin.h +0 -0
  276. /package/lib/clang/{19 → 23}/include/ppc_wrappers/pmmintrin.h +0 -0
  277. /package/lib/clang/{19 → 23}/include/ppc_wrappers/smmintrin.h +0 -0
  278. /package/lib/clang/{19 → 23}/include/ppc_wrappers/tmmintrin.h +0 -0
  279. /package/lib/clang/{19 → 23}/include/ppc_wrappers/x86gprintrin.h +0 -0
  280. /package/lib/clang/{19 → 23}/include/ppc_wrappers/x86intrin.h +0 -0
  281. /package/lib/clang/{19 → 23}/include/ppc_wrappers/xmmintrin.h +0 -0
  282. /package/lib/clang/{19 → 23}/include/prfchiintrin.h +0 -0
  283. /package/lib/clang/{19 → 23}/include/ptwriteintrin.h +0 -0
  284. /package/lib/clang/{19 → 23}/include/raointintrin.h +0 -0
  285. /package/lib/clang/{19 → 23}/include/rdpruintrin.h +0 -0
  286. /package/lib/clang/{19 → 23}/include/rdseedintrin.h +0 -0
  287. /package/lib/clang/{19 → 23}/include/rtmintrin.h +0 -0
  288. /package/lib/clang/{19 → 23}/include/s390intrin.h +0 -0
  289. /package/lib/clang/{19 → 23}/include/serializeintrin.h +0 -0
  290. /package/lib/clang/{19 → 23}/include/sgxintrin.h +0 -0
  291. /package/lib/clang/{19 → 23}/include/sha512intrin.h +0 -0
  292. /package/lib/clang/{19 → 23}/include/sm3intrin.h +0 -0
  293. /package/lib/clang/{19 → 23}/include/sm4intrin.h +0 -0
  294. /package/lib/clang/{19 → 23}/include/stdarg.h +0 -0
  295. /package/lib/clang/{19 → 23}/include/stdatomic.h +0 -0
  296. /package/lib/clang/{19 → 23}/include/stdbool.h +0 -0
  297. /package/lib/clang/{19 → 23}/include/stdckdint.h +0 -0
  298. /package/lib/clang/{19 → 23}/include/stddef.h +0 -0
  299. /package/lib/clang/{19 → 23}/include/stdnoreturn.h +0 -0
  300. /package/lib/clang/{19 → 23}/include/tgmath.h +0 -0
  301. /package/lib/clang/{19 → 23}/include/tsxldtrkintrin.h +0 -0
  302. /package/lib/clang/{19 → 23}/include/uintrintrin.h +0 -0
  303. /package/lib/clang/{19 → 23}/include/unwind.h +0 -0
  304. /package/lib/clang/{19 → 23}/include/usermsrintrin.h +0 -0
  305. /package/lib/clang/{19 → 23}/include/vadefs.h +0 -0
  306. /package/lib/clang/{19 → 23}/include/varargs.h +0 -0
  307. /package/lib/clang/{19 → 23}/include/velintrin.h +0 -0
  308. /package/lib/clang/{19 → 23}/include/velintrin_approx.h +0 -0
  309. /package/lib/clang/{19 → 23}/include/velintrin_gen.h +0 -0
  310. /package/lib/clang/{19 → 23}/include/vpclmulqdqintrin.h +0 -0
  311. /package/lib/clang/{19 → 23}/include/waitpkgintrin.h +0 -0
  312. /package/lib/clang/{19 → 23}/include/wbnoinvdintrin.h +0 -0
  313. /package/lib/clang/{19 → 23}/include/wmmintrin.h +0 -0
  314. /package/lib/clang/{19 → 23}/include/xsavecintrin.h +0 -0
  315. /package/lib/clang/{19 → 23}/include/xsaveintrin.h +0 -0
  316. /package/lib/clang/{19 → 23}/include/xsaveoptintrin.h +0 -0
  317. /package/lib/clang/{19 → 23}/include/xsavesintrin.h +0 -0
  318. /package/lib/clang/{19 → 23}/include/xtestintrin.h +0 -0
  319. /package/lib/clang/{19 → 23}/include/yvals_core.h +0 -0
  320. /package/lib/clang/{19 → 23}/include/zos_wrappers/builtins.h +0 -0
@@ -0,0 +1,164 @@
1
+ //===-- amdgpuintrin.h - AMDPGU intrinsic 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
+ #ifndef __AMDGPUINTRIN_H
10
+ #define __AMDGPUINTRIN_H
11
+
12
+ #ifndef __AMDGPU__
13
+ #error "This file is intended for AMDGPU targets or offloading to AMDGPU"
14
+ #endif
15
+
16
+ #ifndef __GPUINTRIN_H
17
+ #error "Never use <amdgpuintrin.h> directly; include <gpuintrin.h> instead"
18
+ #endif
19
+
20
+ _Pragma("omp begin declare target device_type(nohost)");
21
+ _Pragma("omp begin declare variant match(device = {arch(amdgcn)})");
22
+
23
+ // Type aliases to the address spaces used by the AMDGPU backend.
24
+ #define __gpu_private __attribute__((address_space(5)))
25
+ #define __gpu_constant __attribute__((address_space(4)))
26
+ #define __gpu_local __attribute__((address_space(3)))
27
+ #define __gpu_global __attribute__((address_space(1)))
28
+ #define __gpu_generic __attribute__((address_space(0)))
29
+
30
+ // Returns the number of workgroups in the 'x' dimension of the grid.
31
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_blocks_x(void) {
32
+ return __builtin_amdgcn_grid_size_x() / __builtin_amdgcn_workgroup_size_x();
33
+ }
34
+
35
+ // Returns the number of workgroups in the 'y' dimension of the grid.
36
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_blocks_y(void) {
37
+ return __builtin_amdgcn_grid_size_y() / __builtin_amdgcn_workgroup_size_y();
38
+ }
39
+
40
+ // Returns the number of workgroups in the 'z' dimension of the grid.
41
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_blocks_z(void) {
42
+ return __builtin_amdgcn_grid_size_z() / __builtin_amdgcn_workgroup_size_z();
43
+ }
44
+
45
+ // Returns the 'x' dimension of the current AMD workgroup's id.
46
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_block_id_x(void) {
47
+ return __builtin_amdgcn_workgroup_id_x();
48
+ }
49
+
50
+ // Returns the 'y' dimension of the current AMD workgroup's id.
51
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_block_id_y(void) {
52
+ return __builtin_amdgcn_workgroup_id_y();
53
+ }
54
+
55
+ // Returns the 'z' dimension of the current AMD workgroup's id.
56
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_block_id_z(void) {
57
+ return __builtin_amdgcn_workgroup_id_z();
58
+ }
59
+
60
+ // Returns the number of workitems in the 'x' dimension.
61
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_threads_x(void) {
62
+ return __builtin_amdgcn_workgroup_size_x();
63
+ }
64
+
65
+ // Returns the number of workitems in the 'y' dimension.
66
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_threads_y(void) {
67
+ return __builtin_amdgcn_workgroup_size_y();
68
+ }
69
+
70
+ // Returns the number of workitems in the 'z' dimension.
71
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_threads_z(void) {
72
+ return __builtin_amdgcn_workgroup_size_z();
73
+ }
74
+
75
+ // Returns the 'x' dimension id of the workitem in the current AMD workgroup.
76
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_thread_id_x(void) {
77
+ return __builtin_amdgcn_workitem_id_x();
78
+ }
79
+
80
+ // Returns the 'y' dimension id of the workitem in the current AMD workgroup.
81
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_thread_id_y(void) {
82
+ return __builtin_amdgcn_workitem_id_y();
83
+ }
84
+
85
+ // Returns the 'z' dimension id of the workitem in the current AMD workgroup.
86
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_thread_id_z(void) {
87
+ return __builtin_amdgcn_workitem_id_z();
88
+ }
89
+
90
+ // Returns the size of an AMD wavefront, either 32 or 64 depending on hardware
91
+ // and compilation options.
92
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_lanes(void) {
93
+ return __builtin_amdgcn_wavefrontsize();
94
+ }
95
+
96
+ // Returns the id of the thread inside of an AMD wavefront executing together.
97
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_lane_id(void) {
98
+ return __builtin_amdgcn_mbcnt_hi(~0u, __builtin_amdgcn_mbcnt_lo(~0u, 0u));
99
+ }
100
+
101
+ // Returns the bit-mask of active threads in the current wavefront.
102
+ _DEFAULT_FN_ATTRS static __inline__ uint64_t __gpu_lane_mask(void) {
103
+ return __builtin_amdgcn_read_exec();
104
+ }
105
+
106
+ // Copies the value from the first active thread in the wavefront to the rest.
107
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t
108
+ __gpu_read_first_lane_u32(uint64_t __lane_mask, uint32_t __x) {
109
+ return __builtin_amdgcn_readfirstlane(__x);
110
+ }
111
+
112
+ // Returns a bitmask of threads in the current lane for which \p x is true.
113
+ _DEFAULT_FN_ATTRS static __inline__ uint64_t __gpu_ballot(uint64_t __lane_mask,
114
+ bool __x) {
115
+ // The lane_mask & gives the nvptx semantics when lane_mask is a subset of
116
+ // the active threads
117
+ return __lane_mask & __builtin_amdgcn_ballot_w64(__x);
118
+ }
119
+
120
+ // Waits for all the threads in the block to converge and issues a fence.
121
+ _DEFAULT_FN_ATTRS static __inline__ void __gpu_sync_threads(void) {
122
+ __builtin_amdgcn_s_barrier();
123
+ __builtin_amdgcn_fence(__ATOMIC_SEQ_CST, "workgroup");
124
+ }
125
+
126
+ // Wait for all threads in the wavefront to converge, this is a noop on AMDGPU.
127
+ _DEFAULT_FN_ATTRS static __inline__ void __gpu_sync_lane(uint64_t __lane_mask) {
128
+ __builtin_amdgcn_wave_barrier();
129
+ }
130
+
131
+ // Shuffles the the lanes inside the wavefront according to the given index.
132
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t
133
+ __gpu_shuffle_idx_u32(uint64_t __lane_mask, uint32_t __idx, uint32_t __x,
134
+ uint32_t __width) {
135
+ uint32_t __lane = __idx + (__gpu_lane_id() & ~(__width - 1));
136
+ return __builtin_amdgcn_ds_bpermute(__lane << 2, __x);
137
+ }
138
+
139
+ // Returns true if the flat pointer points to AMDGPU 'shared' memory.
140
+ _DEFAULT_FN_ATTRS static __inline__ bool __gpu_is_ptr_local(const void *ptr) {
141
+ return __builtin_amdgcn_is_shared((void [[clang::address_space(0)]] *)((
142
+ void [[clang::opencl_generic]] *)ptr));
143
+ }
144
+
145
+ // Returns true if the flat pointer points to AMDGPU 'private' memory.
146
+ _DEFAULT_FN_ATTRS static __inline__ bool __gpu_is_ptr_private(const void *ptr) {
147
+ return __builtin_amdgcn_is_private((void [[clang::address_space(0)]] *)((
148
+ void [[clang::opencl_generic]] *)ptr));
149
+ }
150
+
151
+ // Terminates execution of the associated wavefront.
152
+ _DEFAULT_FN_ATTRS [[noreturn]] static __inline__ void __gpu_exit(void) {
153
+ __builtin_amdgcn_endpgm();
154
+ }
155
+
156
+ // Suspend the thread briefly to assist the scheduler during busy loops.
157
+ _DEFAULT_FN_ATTRS static __inline__ void __gpu_thread_suspend(void) {
158
+ __builtin_amdgcn_s_sleep(2);
159
+ }
160
+
161
+ _Pragma("omp end declare variant");
162
+ _Pragma("omp end declare target");
163
+
164
+ #endif // __AMDGPUINTRIN_H
@@ -0,0 +1,83 @@
1
+ //===-- amdhsa_abi.h - AMDHSA ABI definition utilities --------------------===//
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 __AMDHSA_ABI_H
10
+ #define __AMDHSA_ABI_H
11
+
12
+ #include <stddef.h>
13
+ #include <stdint.h>
14
+
15
+ typedef struct __attribute__((aligned(8))) amdhsa_implicit_kernarg_v5 {
16
+ uint32_t block_count[3];
17
+ uint16_t group_size[3];
18
+ uint16_t remainder[3];
19
+ char reserved0[16];
20
+ uint64_t global_offset[3];
21
+ uint16_t grid_dims;
22
+ char reserved1[6];
23
+ __attribute__((opencl_global)) void *printf_buffer;
24
+ __attribute__((opencl_global)) void *hostcall_buffer;
25
+ __attribute__((opencl_global)) void *multigrid_sync_arg;
26
+ __attribute__((opencl_global)) void *heap_v1;
27
+ __attribute__((opencl_global)) void *default_queue;
28
+ __attribute__((opencl_global)) void *completion_action;
29
+ char reserved2[72];
30
+ uint32_t private_base; // Unused on gfx9+
31
+ uint32_t shared_base; // Unused on gfx9+
32
+ __attribute__((opencl_global)) void *queue_ptr;
33
+ char reserved3[48];
34
+ } amdhsa_implicit_kernarg_v5;
35
+
36
+ _Static_assert(sizeof(amdhsa_implicit_kernarg_v5) == 256, "wrong struct size");
37
+
38
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, block_count[0]) == 0,
39
+ "wrong offset");
40
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, block_count[1]) == 4,
41
+ "wrong offset");
42
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, block_count[2]) == 8,
43
+ "wrong offset");
44
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, group_size[0]) == 12,
45
+ "wrong offset");
46
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, group_size[1]) == 14,
47
+ "wrong offset");
48
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, group_size[2]) == 16,
49
+ "wrong offset");
50
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, remainder[0]) == 18,
51
+ "wrong offset");
52
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, remainder[1]) == 20,
53
+ "wrong offset");
54
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, remainder[2]) == 22,
55
+ "wrong offset");
56
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, global_offset[0]) == 40,
57
+ "wrong offset");
58
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, global_offset[1]) == 48,
59
+ "wrong offset");
60
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, global_offset[2]) == 56,
61
+ "wrong offset");
62
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, grid_dims) == 64,
63
+ "wrong offset");
64
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, printf_buffer) == 72,
65
+ "wrong offset");
66
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, hostcall_buffer) == 80,
67
+ "wrong offset");
68
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, multigrid_sync_arg) == 88,
69
+ "wrong offset");
70
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, heap_v1) == 96,
71
+ "wrong offset");
72
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, default_queue) == 104,
73
+ "wrong offset");
74
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, completion_action) == 112,
75
+ "wrong offset");
76
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, private_base) == 192,
77
+ "wrong offset");
78
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, shared_base) == 196,
79
+ "wrong offset");
80
+ _Static_assert(offsetof(amdhsa_implicit_kernarg_v5, queue_ptr) == 200,
81
+ "wrong offset");
82
+
83
+ #endif // __AMDHSA_ABI_H
@@ -0,0 +1,220 @@
1
+ /*===---- amo.h - PowerPC Atomic Memory Operations ------------------------===*\
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
+ /* This header provides compatibility for GCC's AMO functions.
10
+ * The functions here call Clang's underlying AMO builtins.
11
+ */
12
+
13
+ #ifndef _AMO_H
14
+ #define _AMO_H
15
+
16
+ #include <stdint.h>
17
+
18
+ #ifdef __cplusplus
19
+ extern "C" {
20
+ #endif
21
+
22
+ /* AMO Load Operation Codes (FC values) */
23
+ enum {
24
+ _AMO_LD_ADD = 0x00, /* Fetch and Add */
25
+ _AMO_LD_XOR = 0x01, /* Fetch and XOR */
26
+ _AMO_LD_IOR = 0x02, /* Fetch and OR */
27
+ _AMO_LD_AND = 0x03, /* Fetch and AND */
28
+ _AMO_LD_UMAX = 0x04, /* Fetch and Maximum Unsigned */
29
+ _AMO_LD_SMAX = 0x05, /* Fetch and Maximum Signed */
30
+ _AMO_LD_UMIN = 0x06, /* Fetch and Minimum Unsigned */
31
+ _AMO_LD_SMIN = 0x07, /* Fetch and Minimum Signed */
32
+ _AMO_LD_SWAP = 0x08 /* Swap */
33
+ };
34
+
35
+ /* 32-bit unsigned AMO load operations */
36
+ static inline uint32_t amo_lwat_add(uint32_t *ptr, uint32_t val) {
37
+ return __builtin_amo_lwat(ptr, val, _AMO_LD_ADD);
38
+ }
39
+
40
+ static inline uint32_t amo_lwat_xor(uint32_t *ptr, uint32_t val) {
41
+ return __builtin_amo_lwat(ptr, val, _AMO_LD_XOR);
42
+ }
43
+
44
+ static inline uint32_t amo_lwat_ior(uint32_t *ptr, uint32_t val) {
45
+ return __builtin_amo_lwat(ptr, val, _AMO_LD_IOR);
46
+ }
47
+
48
+ static inline uint32_t amo_lwat_and(uint32_t *ptr, uint32_t val) {
49
+ return __builtin_amo_lwat(ptr, val, _AMO_LD_AND);
50
+ }
51
+
52
+ static inline uint32_t amo_lwat_umax(uint32_t *ptr, uint32_t val) {
53
+ return __builtin_amo_lwat(ptr, val, _AMO_LD_UMAX);
54
+ }
55
+
56
+ static inline uint32_t amo_lwat_umin(uint32_t *ptr, uint32_t val) {
57
+ return __builtin_amo_lwat(ptr, val, _AMO_LD_UMIN);
58
+ }
59
+
60
+ static inline uint32_t amo_lwat_swap(uint32_t *ptr, uint32_t val) {
61
+ return __builtin_amo_lwat(ptr, val, _AMO_LD_SWAP);
62
+ }
63
+
64
+ /* 32-bit signed AMO load operations */
65
+ static inline int32_t amo_lwat_sadd(int32_t *ptr, int32_t val) {
66
+ return __builtin_amo_lwat_s(ptr, val, _AMO_LD_ADD);
67
+ }
68
+
69
+ static inline int32_t amo_lwat_smax(int32_t *ptr, int32_t val) {
70
+ return __builtin_amo_lwat_s(ptr, val, _AMO_LD_SMAX);
71
+ }
72
+
73
+ static inline int32_t amo_lwat_smin(int32_t *ptr, int32_t val) {
74
+ return __builtin_amo_lwat_s(ptr, val, _AMO_LD_SMIN);
75
+ }
76
+
77
+ static inline int32_t amo_lwat_sswap(int32_t *ptr, int32_t val) {
78
+ return __builtin_amo_lwat_s(ptr, val, _AMO_LD_SWAP);
79
+ }
80
+
81
+ /* 64-bit unsigned AMO load operations */
82
+ static inline uint64_t amo_ldat_add(uint64_t *ptr, uint64_t val) {
83
+ return __builtin_amo_ldat(ptr, val, _AMO_LD_ADD);
84
+ }
85
+
86
+ static inline uint64_t amo_ldat_xor(uint64_t *ptr, uint64_t val) {
87
+ return __builtin_amo_ldat(ptr, val, _AMO_LD_XOR);
88
+ }
89
+
90
+ static inline uint64_t amo_ldat_ior(uint64_t *ptr, uint64_t val) {
91
+ return __builtin_amo_ldat(ptr, val, _AMO_LD_IOR);
92
+ }
93
+
94
+ static inline uint64_t amo_ldat_and(uint64_t *ptr, uint64_t val) {
95
+ return __builtin_amo_ldat(ptr, val, _AMO_LD_AND);
96
+ }
97
+
98
+ static inline uint64_t amo_ldat_umax(uint64_t *ptr, uint64_t val) {
99
+ return __builtin_amo_ldat(ptr, val, _AMO_LD_UMAX);
100
+ }
101
+
102
+ static inline uint64_t amo_ldat_umin(uint64_t *ptr, uint64_t val) {
103
+ return __builtin_amo_ldat(ptr, val, _AMO_LD_UMIN);
104
+ }
105
+
106
+ static inline uint64_t amo_ldat_swap(uint64_t *ptr, uint64_t val) {
107
+ return __builtin_amo_ldat(ptr, val, _AMO_LD_SWAP);
108
+ }
109
+
110
+ /* 64-bit signed AMO load operations */
111
+ static inline int64_t amo_ldat_sadd(int64_t *ptr, int64_t val) {
112
+ return __builtin_amo_ldat_s(ptr, val, _AMO_LD_ADD);
113
+ }
114
+
115
+ static inline int64_t amo_ldat_smax(int64_t *ptr, int64_t val) {
116
+ return __builtin_amo_ldat_s(ptr, val, _AMO_LD_SMAX);
117
+ }
118
+
119
+ static inline int64_t amo_ldat_smin(int64_t *ptr, int64_t val) {
120
+ return __builtin_amo_ldat_s(ptr, val, _AMO_LD_SMIN);
121
+ }
122
+
123
+ static inline int64_t amo_ldat_sswap(int64_t *ptr, int64_t val) {
124
+ return __builtin_amo_ldat_s(ptr, val, _AMO_LD_SWAP);
125
+ }
126
+
127
+ /* AMO Store Operation Codes (FC values) */
128
+ enum _AMO_ST {
129
+ _AMO_ST_ADD = 0x00, /* Store Add */
130
+ _AMO_ST_XOR = 0x01, /* Store Xor */
131
+ _AMO_ST_IOR = 0x02, /* Store Ior */
132
+ _AMO_ST_AND = 0x03, /* Store And */
133
+ _AMO_ST_UMAX = 0x04, /* Store Unsigned Maximum */
134
+ _AMO_ST_SMAX = 0x05, /* Store Signed Maximum */
135
+ _AMO_ST_UMIN = 0x06, /* Store Unsigned Minimum */
136
+ _AMO_ST_SMIN = 0x07, /* Store Signed Minimum */
137
+ _AMO_ST_TWIN = 0x18 /* Store Twin */
138
+ };
139
+
140
+ /* 32-bit unsigned AMO store operations */
141
+ static inline void amo_stwat_add(uint32_t *ptr, uint32_t val) {
142
+ __builtin_amo_stwat(ptr, val, _AMO_ST_ADD);
143
+ }
144
+
145
+ static inline void amo_stwat_xor(uint32_t *ptr, uint32_t val) {
146
+ __builtin_amo_stwat(ptr, val, _AMO_ST_XOR);
147
+ }
148
+
149
+ static inline void amo_stwat_ior(uint32_t *ptr, uint32_t val) {
150
+ __builtin_amo_stwat(ptr, val, _AMO_ST_IOR);
151
+ }
152
+
153
+ static inline void amo_stwat_and(uint32_t *ptr, uint32_t val) {
154
+ __builtin_amo_stwat(ptr, val, _AMO_ST_AND);
155
+ }
156
+
157
+ static inline void amo_stwat_umax(uint32_t *ptr, uint32_t val) {
158
+ __builtin_amo_stwat(ptr, val, _AMO_ST_UMAX);
159
+ }
160
+
161
+ static inline void amo_stwat_umin(uint32_t *ptr, uint32_t val) {
162
+ __builtin_amo_stwat(ptr, val, _AMO_ST_UMIN);
163
+ }
164
+
165
+ /* 32-bit signed AMO store operations */
166
+ static inline void amo_stwat_sadd(int32_t *ptr, int32_t val) {
167
+ __builtin_amo_stwat_s(ptr, val, _AMO_ST_ADD);
168
+ }
169
+
170
+ static inline void amo_stwat_smax(int32_t *ptr, int32_t val) {
171
+ __builtin_amo_stwat_s(ptr, val, _AMO_ST_SMAX);
172
+ }
173
+
174
+ static inline void amo_stwat_smin(int32_t *ptr, int32_t val) {
175
+ __builtin_amo_stwat_s(ptr, val, _AMO_ST_SMIN);
176
+ }
177
+
178
+ /* 64-bit unsigned AMO store operations */
179
+ static inline void amo_stdat_add(uint64_t *ptr, uint64_t val) {
180
+ __builtin_amo_stdat(ptr, val, _AMO_ST_ADD);
181
+ }
182
+
183
+ static inline void amo_stdat_xor(uint64_t *ptr, uint64_t val) {
184
+ __builtin_amo_stdat(ptr, val, _AMO_ST_XOR);
185
+ }
186
+
187
+ static inline void amo_stdat_ior(uint64_t *ptr, uint64_t val) {
188
+ __builtin_amo_stdat(ptr, val, _AMO_ST_IOR);
189
+ }
190
+
191
+ static inline void amo_stdat_and(uint64_t *ptr, uint64_t val) {
192
+ __builtin_amo_stdat(ptr, val, _AMO_ST_AND);
193
+ }
194
+
195
+ static inline void amo_stdat_umax(uint64_t *ptr, uint64_t val) {
196
+ __builtin_amo_stdat(ptr, val, _AMO_ST_UMAX);
197
+ }
198
+
199
+ static inline void amo_stdat_umin(uint64_t *ptr, uint64_t val) {
200
+ __builtin_amo_stdat(ptr, val, _AMO_ST_UMIN);
201
+ }
202
+
203
+ /* 64-bit signed AMO store operations */
204
+ static inline void amo_stdat_sadd(int64_t *ptr, int64_t val) {
205
+ __builtin_amo_stdat_s(ptr, val, _AMO_ST_ADD);
206
+ }
207
+
208
+ static inline void amo_stdat_smax(int64_t *ptr, int64_t val) {
209
+ __builtin_amo_stdat_s(ptr, val, _AMO_ST_SMAX);
210
+ }
211
+
212
+ static inline void amo_stdat_smin(int64_t *ptr, int64_t val) {
213
+ __builtin_amo_stdat_s(ptr, val, _AMO_ST_SMIN);
214
+ }
215
+
216
+ #ifdef __cplusplus
217
+ }
218
+ #endif
219
+
220
+ #endif /* _AMO_H */