@cpp-linter/clang-tidy-linux-arm64 19.1.7 → 20.1.8

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 (276) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy +2 -2
  3. package/lib/clang/{19 → 20}/include/__clang_cuda_device_functions.h +14 -0
  4. package/lib/clang/{19 → 20}/include/__clang_cuda_intrinsics.h +8 -8
  5. package/lib/clang/{19 → 20}/include/__clang_cuda_math.h +5 -0
  6. package/lib/clang/{19 → 20}/include/__clang_hip_cmath.h +6 -1
  7. package/lib/clang/{19 → 20}/include/__clang_hip_math.h +5 -0
  8. package/lib/clang/{19 → 20}/include/adcintrin.h +5 -0
  9. package/lib/clang/{19 → 20}/include/adxintrin.h +5 -0
  10. package/lib/clang/{19 → 20}/include/altivec.h +8 -8
  11. package/lib/clang/20/include/amdgpuintrin.h +194 -0
  12. package/lib/clang/20/include/amxavx512intrin.h +382 -0
  13. package/lib/clang/20/include/amxbf16transposeintrin.h +94 -0
  14. package/lib/clang/20/include/amxcomplextransposeintrin.h +303 -0
  15. package/lib/clang/{19 → 20}/include/amxfp16intrin.h +35 -0
  16. package/lib/clang/20/include/amxfp16transposeintrin.h +94 -0
  17. package/lib/clang/20/include/amxfp8intrin.h +230 -0
  18. package/lib/clang/{19 → 20}/include/amxintrin.h +5 -35
  19. package/lib/clang/20/include/amxmovrsintrin.h +48 -0
  20. package/lib/clang/20/include/amxmovrstransposeintrin.h +200 -0
  21. package/lib/clang/20/include/amxtf32intrin.h +108 -0
  22. package/lib/clang/20/include/amxtf32transposeintrin.h +105 -0
  23. package/lib/clang/20/include/amxtransposeintrin.h +248 -0
  24. package/lib/clang/{19 → 20}/include/arm_acle.h +18 -21
  25. package/lib/clang/{19 → 20}/include/arm_neon.h +3587 -1696
  26. package/lib/clang/{19 → 20}/include/arm_sme.h +322 -94
  27. package/lib/clang/{19 → 20}/include/arm_sve.h +1105 -84
  28. package/lib/clang/{19 → 20}/include/arm_vector_types.h +87 -0
  29. package/lib/clang/20/include/avx10_2_512bf16intrin.h +561 -0
  30. package/lib/clang/20/include/avx10_2_512convertintrin.h +322 -0
  31. package/lib/clang/20/include/avx10_2_512minmaxintrin.h +127 -0
  32. package/lib/clang/20/include/avx10_2_512niintrin.h +314 -0
  33. package/lib/clang/20/include/avx10_2_512satcvtdsintrin.h +307 -0
  34. package/lib/clang/20/include/avx10_2_512satcvtintrin.h +301 -0
  35. package/lib/clang/20/include/avx10_2bf16intrin.h +1085 -0
  36. package/lib/clang/20/include/avx10_2convertintrin.h +577 -0
  37. package/lib/clang/20/include/avx10_2copyintrin.h +66 -0
  38. package/lib/clang/20/include/avx10_2minmaxintrin.h +232 -0
  39. package/lib/clang/20/include/avx10_2niintrin.h +409 -0
  40. package/lib/clang/20/include/avx10_2satcvtdsintrin.h +390 -0
  41. package/lib/clang/20/include/avx10_2satcvtintrin.h +332 -0
  42. package/lib/clang/{19 → 20}/include/avx2intrin.h +9 -0
  43. package/lib/clang/{19 → 20}/include/avx512bitalgintrin.h +2 -2
  44. package/lib/clang/{19 → 20}/include/avx512fintrin.h +22 -14
  45. package/lib/clang/{19 → 20}/include/avx512vlbitalgintrin.h +4 -4
  46. package/lib/clang/{19 → 20}/include/avx512vpopcntdqintrin.h +12 -4
  47. package/lib/clang/{19 → 20}/include/avx512vpopcntdqvlintrin.h +16 -8
  48. package/lib/clang/{19 → 20}/include/avxintrin.h +30 -16
  49. package/lib/clang/{19 → 20}/include/avxvnniint16intrin.h +36 -77
  50. package/lib/clang/{19 → 20}/include/avxvnniint8intrin.h +36 -77
  51. package/lib/clang/{19 → 20}/include/bmi2intrin.h +15 -17
  52. package/lib/clang/{19 → 20}/include/bmiintrin.h +31 -37
  53. package/lib/clang/{19 → 20}/include/cmpccxaddintrin.h +1 -1
  54. package/lib/clang/{19 → 20}/include/cpuid.h +12 -11
  55. package/lib/clang/{19 → 20}/include/cuda_wrappers/cmath +4 -0
  56. package/lib/clang/{19 → 20}/include/cuda_wrappers/new +2 -0
  57. package/lib/clang/{19 → 20}/include/emmintrin.h +141 -107
  58. package/lib/clang/{19 → 20}/include/gfniintrin.h +32 -10
  59. package/lib/clang/20/include/gpuintrin.h +224 -0
  60. package/lib/clang/{19 → 20}/include/hexagon_types.h +8 -4
  61. package/lib/clang/{19 → 20}/include/hlsl/hlsl_basic_types.h +47 -1
  62. package/lib/clang/20/include/hlsl/hlsl_detail.h +84 -0
  63. package/lib/clang/{19 → 20}/include/hlsl/hlsl_intrinsics.h +1199 -82
  64. package/lib/clang/{19 → 20}/include/hlsl.h +11 -0
  65. package/lib/clang/{19 → 20}/include/hvx_hexagon_protos.h +427 -0
  66. package/lib/clang/{19 → 20}/include/immintrin.h +87 -3
  67. package/lib/clang/{19 → 20}/include/intrin.h +20 -10
  68. package/lib/clang/{19 → 20}/include/intrin0.h +9 -0
  69. package/lib/clang/{19 → 20}/include/larchintrin.h +22 -8
  70. package/lib/clang/{19 → 20}/include/lasxintrin.h +27 -25
  71. package/lib/clang/{19 → 20}/include/limits.h +7 -4
  72. package/lib/clang/{19 → 20}/include/llvm_libc_wrappers/ctype.h +38 -0
  73. package/lib/clang/{19 → 20}/include/llvm_libc_wrappers/stdlib.h +8 -0
  74. package/lib/clang/20/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
  75. package/lib/clang/20/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
  76. package/lib/clang/20/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
  77. package/lib/clang/{19 → 20}/include/lsxintrin.h +27 -25
  78. package/lib/clang/{19 → 20}/include/lzcntintrin.h +10 -7
  79. package/lib/clang/{19 → 20}/include/mmintrin.h +209 -155
  80. package/lib/clang/{19 → 20}/include/module.modulemap +2 -4
  81. package/lib/clang/20/include/movrs_avx10_2_512intrin.h +98 -0
  82. package/lib/clang/20/include/movrs_avx10_2intrin.h +174 -0
  83. package/lib/clang/20/include/movrsintrin.h +59 -0
  84. package/lib/clang/20/include/nvptxintrin.h +203 -0
  85. package/lib/clang/{19 → 20}/include/opencl-c-base.h +4 -0
  86. package/lib/clang/{19 → 20}/include/openmp_wrappers/__clang_openmp_device_functions.h +4 -5
  87. package/lib/clang/{19 → 20}/include/openmp_wrappers/complex_cmath.h +7 -2
  88. package/lib/clang/{19 → 20}/include/pmmintrin.h +16 -3
  89. package/lib/clang/{19 → 20}/include/popcntintrin.h +7 -7
  90. package/lib/clang/{19 → 20}/include/ptrauth.h +6 -0
  91. package/lib/clang/20/include/riscv_corev_alu.h +128 -0
  92. package/lib/clang/{19 → 20}/include/riscv_vector.h +0 -1
  93. package/lib/clang/20/include/sm4evexintrin.h +32 -0
  94. package/lib/clang/{19 → 20}/include/smmintrin.h +6 -0
  95. package/lib/clang/{19 → 20}/include/stdalign.h +0 -5
  96. package/lib/clang/{19 → 20}/include/tbmintrin.h +25 -37
  97. package/lib/clang/{19 → 20}/include/tmmintrin.h +64 -38
  98. package/lib/clang/{19 → 20}/include/vecintrin.h +1779 -74
  99. package/lib/clang/{19 → 20}/include/wasm_simd128.h +167 -21
  100. package/lib/clang/{19 → 20}/include/xmmintrin.h +170 -177
  101. package/package.json +6 -6
  102. /package/lib/clang/{19 → 20}/include/__clang_cuda_builtin_vars.h +0 -0
  103. /package/lib/clang/{19 → 20}/include/__clang_cuda_cmath.h +0 -0
  104. /package/lib/clang/{19 → 20}/include/__clang_cuda_complex_builtins.h +0 -0
  105. /package/lib/clang/{19 → 20}/include/__clang_cuda_libdevice_declares.h +0 -0
  106. /package/lib/clang/{19 → 20}/include/__clang_cuda_math_forward_declares.h +0 -0
  107. /package/lib/clang/{19 → 20}/include/__clang_cuda_runtime_wrapper.h +0 -0
  108. /package/lib/clang/{19 → 20}/include/__clang_cuda_texture_intrinsics.h +0 -0
  109. /package/lib/clang/{19 → 20}/include/__clang_hip_libdevice_declares.h +0 -0
  110. /package/lib/clang/{19 → 20}/include/__clang_hip_runtime_wrapper.h +0 -0
  111. /package/lib/clang/{19 → 20}/include/__clang_hip_stdlib.h +0 -0
  112. /package/lib/clang/{19 → 20}/include/__stdarg___gnuc_va_list.h +0 -0
  113. /package/lib/clang/{19 → 20}/include/__stdarg___va_copy.h +0 -0
  114. /package/lib/clang/{19 → 20}/include/__stdarg_header_macro.h +0 -0
  115. /package/lib/clang/{19 → 20}/include/__stdarg_va_arg.h +0 -0
  116. /package/lib/clang/{19 → 20}/include/__stdarg_va_copy.h +0 -0
  117. /package/lib/clang/{19 → 20}/include/__stdarg_va_list.h +0 -0
  118. /package/lib/clang/{19 → 20}/include/__stddef_header_macro.h +0 -0
  119. /package/lib/clang/{19 → 20}/include/__stddef_max_align_t.h +0 -0
  120. /package/lib/clang/{19 → 20}/include/__stddef_null.h +0 -0
  121. /package/lib/clang/{19 → 20}/include/__stddef_nullptr_t.h +0 -0
  122. /package/lib/clang/{19 → 20}/include/__stddef_offsetof.h +0 -0
  123. /package/lib/clang/{19 → 20}/include/__stddef_ptrdiff_t.h +0 -0
  124. /package/lib/clang/{19 → 20}/include/__stddef_rsize_t.h +0 -0
  125. /package/lib/clang/{19 → 20}/include/__stddef_size_t.h +0 -0
  126. /package/lib/clang/{19 → 20}/include/__stddef_unreachable.h +0 -0
  127. /package/lib/clang/{19 → 20}/include/__stddef_wchar_t.h +0 -0
  128. /package/lib/clang/{19 → 20}/include/__stddef_wint_t.h +0 -0
  129. /package/lib/clang/{19 → 20}/include/__wmmintrin_aes.h +0 -0
  130. /package/lib/clang/{19 → 20}/include/__wmmintrin_pclmul.h +0 -0
  131. /package/lib/clang/{19 → 20}/include/ammintrin.h +0 -0
  132. /package/lib/clang/{19 → 20}/include/amxcomplexintrin.h +0 -0
  133. /package/lib/clang/{19 → 20}/include/arm64intr.h +0 -0
  134. /package/lib/clang/{19 → 20}/include/arm_bf16.h +0 -0
  135. /package/lib/clang/{19 → 20}/include/arm_cde.h +0 -0
  136. /package/lib/clang/{19 → 20}/include/arm_cmse.h +0 -0
  137. /package/lib/clang/{19 → 20}/include/arm_fp16.h +0 -0
  138. /package/lib/clang/{19 → 20}/include/arm_mve.h +0 -0
  139. /package/lib/clang/{19 → 20}/include/arm_neon_sve_bridge.h +0 -0
  140. /package/lib/clang/{19 → 20}/include/armintr.h +0 -0
  141. /package/lib/clang/{19 → 20}/include/avx512bf16intrin.h +0 -0
  142. /package/lib/clang/{19 → 20}/include/avx512bwintrin.h +0 -0
  143. /package/lib/clang/{19 → 20}/include/avx512cdintrin.h +0 -0
  144. /package/lib/clang/{19 → 20}/include/avx512dqintrin.h +0 -0
  145. /package/lib/clang/{19 → 20}/include/avx512fp16intrin.h +0 -0
  146. /package/lib/clang/{19 → 20}/include/avx512ifmaintrin.h +0 -0
  147. /package/lib/clang/{19 → 20}/include/avx512ifmavlintrin.h +0 -0
  148. /package/lib/clang/{19 → 20}/include/avx512vbmi2intrin.h +0 -0
  149. /package/lib/clang/{19 → 20}/include/avx512vbmiintrin.h +0 -0
  150. /package/lib/clang/{19 → 20}/include/avx512vbmivlintrin.h +0 -0
  151. /package/lib/clang/{19 → 20}/include/avx512vlbf16intrin.h +0 -0
  152. /package/lib/clang/{19 → 20}/include/avx512vlbwintrin.h +0 -0
  153. /package/lib/clang/{19 → 20}/include/avx512vlcdintrin.h +0 -0
  154. /package/lib/clang/{19 → 20}/include/avx512vldqintrin.h +0 -0
  155. /package/lib/clang/{19 → 20}/include/avx512vlfp16intrin.h +0 -0
  156. /package/lib/clang/{19 → 20}/include/avx512vlintrin.h +0 -0
  157. /package/lib/clang/{19 → 20}/include/avx512vlvbmi2intrin.h +0 -0
  158. /package/lib/clang/{19 → 20}/include/avx512vlvnniintrin.h +0 -0
  159. /package/lib/clang/{19 → 20}/include/avx512vlvp2intersectintrin.h +0 -0
  160. /package/lib/clang/{19 → 20}/include/avx512vnniintrin.h +0 -0
  161. /package/lib/clang/{19 → 20}/include/avx512vp2intersectintrin.h +0 -0
  162. /package/lib/clang/{19 → 20}/include/avxifmaintrin.h +0 -0
  163. /package/lib/clang/{19 → 20}/include/avxneconvertintrin.h +0 -0
  164. /package/lib/clang/{19 → 20}/include/avxvnniintrin.h +0 -0
  165. /package/lib/clang/{19 → 20}/include/builtins.h +0 -0
  166. /package/lib/clang/{19 → 20}/include/cet.h +0 -0
  167. /package/lib/clang/{19 → 20}/include/cetintrin.h +0 -0
  168. /package/lib/clang/{19 → 20}/include/cldemoteintrin.h +0 -0
  169. /package/lib/clang/{19 → 20}/include/clflushoptintrin.h +0 -0
  170. /package/lib/clang/{19 → 20}/include/clwbintrin.h +0 -0
  171. /package/lib/clang/{19 → 20}/include/clzerointrin.h +0 -0
  172. /package/lib/clang/{19 → 20}/include/crc32intrin.h +0 -0
  173. /package/lib/clang/{19 → 20}/include/cuda_wrappers/algorithm +0 -0
  174. /package/lib/clang/{19 → 20}/include/cuda_wrappers/bits/basic_string.h +0 -0
  175. /package/lib/clang/{19 → 20}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
  176. /package/lib/clang/{19 → 20}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
  177. /package/lib/clang/{19 → 20}/include/cuda_wrappers/complex +0 -0
  178. /package/lib/clang/{19 → 20}/include/enqcmdintrin.h +0 -0
  179. /package/lib/clang/{19 → 20}/include/f16cintrin.h +0 -0
  180. /package/lib/clang/{19 → 20}/include/float.h +0 -0
  181. /package/lib/clang/{19 → 20}/include/fma4intrin.h +0 -0
  182. /package/lib/clang/{19 → 20}/include/fmaintrin.h +0 -0
  183. /package/lib/clang/{19 → 20}/include/fxsrintrin.h +0 -0
  184. /package/lib/clang/{19 → 20}/include/hexagon_circ_brev_intrinsics.h +0 -0
  185. /package/lib/clang/{19 → 20}/include/hexagon_protos.h +0 -0
  186. /package/lib/clang/{19 → 20}/include/hresetintrin.h +0 -0
  187. /package/lib/clang/{19 → 20}/include/htmintrin.h +0 -0
  188. /package/lib/clang/{19 → 20}/include/htmxlintrin.h +0 -0
  189. /package/lib/clang/{19 → 20}/include/ia32intrin.h +0 -0
  190. /package/lib/clang/{19 → 20}/include/inttypes.h +0 -0
  191. /package/lib/clang/{19 → 20}/include/invpcidintrin.h +0 -0
  192. /package/lib/clang/{19 → 20}/include/iso646.h +0 -0
  193. /package/lib/clang/{19 → 20}/include/keylockerintrin.h +0 -0
  194. /package/lib/clang/{19 → 20}/include/llvm_libc_wrappers/assert.h +0 -0
  195. /package/lib/clang/{19 → 20}/include/llvm_libc_wrappers/inttypes.h +0 -0
  196. /package/lib/clang/{19 → 20}/include/llvm_libc_wrappers/stdio.h +0 -0
  197. /package/lib/clang/{19 → 20}/include/llvm_libc_wrappers/string.h +0 -0
  198. /package/lib/clang/{19 → 20}/include/llvm_libc_wrappers/time.h +0 -0
  199. /package/lib/clang/{19 → 20}/include/lwpintrin.h +0 -0
  200. /package/lib/clang/{19 → 20}/include/mm3dnow.h +0 -0
  201. /package/lib/clang/{19 → 20}/include/mm_malloc.h +0 -0
  202. /package/lib/clang/{19 → 20}/include/movdirintrin.h +0 -0
  203. /package/lib/clang/{19 → 20}/include/msa.h +0 -0
  204. /package/lib/clang/{19 → 20}/include/mwaitxintrin.h +0 -0
  205. /package/lib/clang/{19 → 20}/include/nmmintrin.h +0 -0
  206. /package/lib/clang/{19 → 20}/include/opencl-c.h +0 -0
  207. /package/lib/clang/{19 → 20}/include/openmp_wrappers/cmath +0 -0
  208. /package/lib/clang/{19 → 20}/include/openmp_wrappers/complex +0 -0
  209. /package/lib/clang/{19 → 20}/include/openmp_wrappers/complex.h +0 -0
  210. /package/lib/clang/{19 → 20}/include/openmp_wrappers/math.h +0 -0
  211. /package/lib/clang/{19 → 20}/include/openmp_wrappers/new +0 -0
  212. /package/lib/clang/{19 → 20}/include/pconfigintrin.h +0 -0
  213. /package/lib/clang/{19 → 20}/include/pkuintrin.h +0 -0
  214. /package/lib/clang/{19 → 20}/include/ppc_wrappers/bmi2intrin.h +0 -0
  215. /package/lib/clang/{19 → 20}/include/ppc_wrappers/bmiintrin.h +0 -0
  216. /package/lib/clang/{19 → 20}/include/ppc_wrappers/emmintrin.h +0 -0
  217. /package/lib/clang/{19 → 20}/include/ppc_wrappers/immintrin.h +0 -0
  218. /package/lib/clang/{19 → 20}/include/ppc_wrappers/mm_malloc.h +0 -0
  219. /package/lib/clang/{19 → 20}/include/ppc_wrappers/mmintrin.h +0 -0
  220. /package/lib/clang/{19 → 20}/include/ppc_wrappers/nmmintrin.h +0 -0
  221. /package/lib/clang/{19 → 20}/include/ppc_wrappers/pmmintrin.h +0 -0
  222. /package/lib/clang/{19 → 20}/include/ppc_wrappers/smmintrin.h +0 -0
  223. /package/lib/clang/{19 → 20}/include/ppc_wrappers/tmmintrin.h +0 -0
  224. /package/lib/clang/{19 → 20}/include/ppc_wrappers/x86gprintrin.h +0 -0
  225. /package/lib/clang/{19 → 20}/include/ppc_wrappers/x86intrin.h +0 -0
  226. /package/lib/clang/{19 → 20}/include/ppc_wrappers/xmmintrin.h +0 -0
  227. /package/lib/clang/{19 → 20}/include/prfchiintrin.h +0 -0
  228. /package/lib/clang/{19 → 20}/include/prfchwintrin.h +0 -0
  229. /package/lib/clang/{19 → 20}/include/ptwriteintrin.h +0 -0
  230. /package/lib/clang/{19 → 20}/include/raointintrin.h +0 -0
  231. /package/lib/clang/{19 → 20}/include/rdpruintrin.h +0 -0
  232. /package/lib/clang/{19 → 20}/include/rdseedintrin.h +0 -0
  233. /package/lib/clang/{19 → 20}/include/riscv_bitmanip.h +0 -0
  234. /package/lib/clang/{19 → 20}/include/riscv_crypto.h +0 -0
  235. /package/lib/clang/{19 → 20}/include/riscv_ntlh.h +0 -0
  236. /package/lib/clang/{19 → 20}/include/rtmintrin.h +0 -0
  237. /package/lib/clang/{19 → 20}/include/s390intrin.h +0 -0
  238. /package/lib/clang/{19 → 20}/include/serializeintrin.h +0 -0
  239. /package/lib/clang/{19 → 20}/include/sgxintrin.h +0 -0
  240. /package/lib/clang/{19 → 20}/include/sha512intrin.h +0 -0
  241. /package/lib/clang/{19 → 20}/include/shaintrin.h +0 -0
  242. /package/lib/clang/{19 → 20}/include/sifive_vector.h +0 -0
  243. /package/lib/clang/{19 → 20}/include/sm3intrin.h +0 -0
  244. /package/lib/clang/{19 → 20}/include/sm4intrin.h +0 -0
  245. /package/lib/clang/{19 → 20}/include/stdarg.h +0 -0
  246. /package/lib/clang/{19 → 20}/include/stdatomic.h +0 -0
  247. /package/lib/clang/{19 → 20}/include/stdbool.h +0 -0
  248. /package/lib/clang/{19 → 20}/include/stdckdint.h +0 -0
  249. /package/lib/clang/{19 → 20}/include/stddef.h +0 -0
  250. /package/lib/clang/{19 → 20}/include/stdint.h +0 -0
  251. /package/lib/clang/{19 → 20}/include/stdnoreturn.h +0 -0
  252. /package/lib/clang/{19 → 20}/include/tgmath.h +0 -0
  253. /package/lib/clang/{19 → 20}/include/tsxldtrkintrin.h +0 -0
  254. /package/lib/clang/{19 → 20}/include/uintrintrin.h +0 -0
  255. /package/lib/clang/{19 → 20}/include/unwind.h +0 -0
  256. /package/lib/clang/{19 → 20}/include/usermsrintrin.h +0 -0
  257. /package/lib/clang/{19 → 20}/include/vadefs.h +0 -0
  258. /package/lib/clang/{19 → 20}/include/vaesintrin.h +0 -0
  259. /package/lib/clang/{19 → 20}/include/varargs.h +0 -0
  260. /package/lib/clang/{19 → 20}/include/velintrin.h +0 -0
  261. /package/lib/clang/{19 → 20}/include/velintrin_approx.h +0 -0
  262. /package/lib/clang/{19 → 20}/include/velintrin_gen.h +0 -0
  263. /package/lib/clang/{19 → 20}/include/vpclmulqdqintrin.h +0 -0
  264. /package/lib/clang/{19 → 20}/include/waitpkgintrin.h +0 -0
  265. /package/lib/clang/{19 → 20}/include/wbnoinvdintrin.h +0 -0
  266. /package/lib/clang/{19 → 20}/include/wmmintrin.h +0 -0
  267. /package/lib/clang/{19 → 20}/include/x86gprintrin.h +0 -0
  268. /package/lib/clang/{19 → 20}/include/x86intrin.h +0 -0
  269. /package/lib/clang/{19 → 20}/include/xopintrin.h +0 -0
  270. /package/lib/clang/{19 → 20}/include/xsavecintrin.h +0 -0
  271. /package/lib/clang/{19 → 20}/include/xsaveintrin.h +0 -0
  272. /package/lib/clang/{19 → 20}/include/xsaveoptintrin.h +0 -0
  273. /package/lib/clang/{19 → 20}/include/xsavesintrin.h +0 -0
  274. /package/lib/clang/{19 → 20}/include/xtestintrin.h +0 -0
  275. /package/lib/clang/{19 → 20}/include/yvals_core.h +0 -0
  276. /package/lib/clang/{19 → 20}/include/zos_wrappers/builtins.h +0 -0
@@ -66,6 +66,8 @@ module _Builtin_intrinsics [system] [extern_c] {
66
66
  textual header "__wmmintrin_aes.h"
67
67
  textual header "__wmmintrin_pclmul.h"
68
68
 
69
+ textual header "mm3dnow.h"
70
+
69
71
  explicit module mm_malloc {
70
72
  requires !freestanding
71
73
  header "mm_malloc.h"
@@ -122,10 +124,6 @@ module _Builtin_intrinsics [system] [extern_c] {
122
124
  header "popcntintrin.h"
123
125
  }
124
126
 
125
- explicit module mm3dnow {
126
- header "mm3dnow.h"
127
- }
128
-
129
127
  explicit module aes_pclmul {
130
128
  header "wmmintrin.h"
131
129
  export aes
@@ -0,0 +1,98 @@
1
+ /*===----- movrs_avx10_2_512intrin.h - AVX10.2-512-MOVRS intrinsics --------===
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 __IMMINTRIN_H
10
+ #error \
11
+ "Never use <movrs_avx10_2_512intrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __MOVRS_AVX10_2_512INTRIN_H
15
+ #define __MOVRS_AVX10_2_512INTRIN_H
16
+ #ifdef __x86_64__
17
+
18
+ /* Define the default attributes for the functions in this file. */
19
+ #define __DEFAULT_FN_ATTRS512 \
20
+ __attribute__((__always_inline__, __nodebug__, \
21
+ __target__("movrs, avx10.2-512"), __min_vector_width__(512)))
22
+
23
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
24
+ _mm512_loadrs_epi8(void const *__A) {
25
+ return (__m512i)__builtin_ia32_vmovrsb512((const __v64qi *)(__A));
26
+ }
27
+
28
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
29
+ _mm512_mask_loadrs_epi8(__m512i __W, __mmask64 __U, void const *__A) {
30
+ return (__m512i)__builtin_ia32_selectb_512(
31
+ (__mmask64)__U, (__v64qi)_mm512_loadrs_epi8(__A), (__v64qi)__W);
32
+ }
33
+
34
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
35
+ _mm512_maskz_loadrs_epi8(__mmask64 __U, void const *__A) {
36
+ return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
37
+ (__v64qi)_mm512_loadrs_epi8(__A),
38
+ (__v64qi)_mm512_setzero_si512());
39
+ }
40
+
41
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
42
+ _mm512_loadrs_epi32(void const *__A) {
43
+ return (__m512i)__builtin_ia32_vmovrsd512((const __v16si *)(__A));
44
+ }
45
+
46
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
47
+ _mm512_mask_loadrs_epi32(__m512i __W, __mmask16 __U, void const *__A) {
48
+ return (__m512i)__builtin_ia32_selectd_512(
49
+ (__mmask16)__U, (__v16si)_mm512_loadrs_epi32(__A), (__v16si)__W);
50
+ }
51
+
52
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
53
+ _mm512_maskz_loadrs_epi32(__mmask16 __U, void const *__A) {
54
+ return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
55
+ (__v16si)_mm512_loadrs_epi32(__A),
56
+ (__v16si)_mm512_setzero_si512());
57
+ }
58
+
59
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
60
+ _mm512_loadrs_epi64(void const *__A) {
61
+ return (__m512i)__builtin_ia32_vmovrsq512((const __v8di *)(__A));
62
+ }
63
+
64
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
65
+ _mm512_mask_loadrs_epi64(__m512i __W, __mmask8 __U, void const *__A) {
66
+ return (__m512i)__builtin_ia32_selectq_512(
67
+ (__mmask8)__U, (__v8di)_mm512_loadrs_epi64(__A), (__v8di)__W);
68
+ }
69
+
70
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
71
+ _mm512_maskz_loadrs_epi64(__mmask8 __U, void const *__A) {
72
+ return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
73
+ (__v8di)_mm512_loadrs_epi64(__A),
74
+ (__v8di)_mm512_setzero_si512());
75
+ }
76
+
77
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
78
+ _mm512_loadrs_epi16(void const *__A) {
79
+ return (__m512i)__builtin_ia32_vmovrsw512((const __v32hi *)(__A));
80
+ }
81
+
82
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
83
+ _mm512_mask_loadrs_epi16(__m512i __W, __mmask32 __U, void const *__A) {
84
+ return (__m512i)__builtin_ia32_selectw_512(
85
+ (__mmask32)__U, (__v32hi)_mm512_loadrs_epi16(__A), (__v32hi)__W);
86
+ }
87
+
88
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
89
+ _mm512_maskz_loadrs_epi16(__mmask32 __U, void const *__A) {
90
+ return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
91
+ (__v32hi)_mm512_loadrs_epi16(__A),
92
+ (__v32hi)_mm512_setzero_si512());
93
+ }
94
+
95
+ #undef __DEFAULT_FN_ATTRS512
96
+
97
+ #endif /* __x86_64__ */
98
+ #endif /* __MOVRS_AVX10_2_512INTRIN_H */
@@ -0,0 +1,174 @@
1
+ /*===--------- movrs_avx10_2intrin.h - AVX10.2-MOVRS intrinsics ------------===
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 __IMMINTRIN_H
10
+ #error \
11
+ "Never use <movrs_avx10_2intrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __MOVRS_AVX10_2INTRIN_H
15
+ #define __MOVRS_AVX10_2INTRIN_H
16
+ #ifdef __x86_64__
17
+
18
+ /* Define the default attributes for the functions in this file. */
19
+ #define __DEFAULT_FN_ATTRS128 \
20
+ __attribute__((__always_inline__, __nodebug__, \
21
+ __target__("movrs,avx10.2-256"), __min_vector_width__(128)))
22
+ #define __DEFAULT_FN_ATTRS256 \
23
+ __attribute__((__always_inline__, __nodebug__, \
24
+ __target__("movrs,avx10.2-256"), __min_vector_width__(256)))
25
+
26
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
27
+ _mm_loadrs_epi8(void const *__A) {
28
+ return (__m128i)__builtin_ia32_vmovrsb128((const __v16qi *)(__A));
29
+ }
30
+
31
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
32
+ _mm_mask_loadrs_epi8(__m128i __W, __mmask16 __U, void const *__A) {
33
+ return (__m128i)__builtin_ia32_selectb_128(
34
+ (__mmask16)__U, (__v16qi)_mm_loadrs_epi8(__A), (__v16qi)__W);
35
+ }
36
+
37
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
38
+ _mm_maskz_loadrs_epi8(__mmask16 __U, void const *__A) {
39
+ return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
40
+ (__v16qi)_mm_loadrs_epi8(__A),
41
+ (__v16qi)_mm_setzero_si128());
42
+ }
43
+
44
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
45
+ _mm256_loadrs_epi8(void const *__A) {
46
+ return (__m256i)__builtin_ia32_vmovrsb256((const __v32qi *)(__A));
47
+ }
48
+
49
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
50
+ _mm256_mask_loadrs_epi8(__m256i __W, __mmask32 __U, void const *__A) {
51
+ return (__m256i)__builtin_ia32_selectb_256(
52
+ (__mmask32)__U, (__v32qi)_mm256_loadrs_epi8(__A), (__v32qi)__W);
53
+ }
54
+
55
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
56
+ _mm256_maskz_loadrs_epi8(__mmask32 __U, void const *__A) {
57
+ return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
58
+ (__v32qi)_mm256_loadrs_epi8(__A),
59
+ (__v32qi)_mm256_setzero_si256());
60
+ }
61
+
62
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
63
+ _mm_loadrs_epi32(void const *__A) {
64
+ return (__m128i)__builtin_ia32_vmovrsd128((const __v4si *)(__A));
65
+ }
66
+
67
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
68
+ _mm_mask_loadrs_epi32(__m128i __W, __mmask8 __U, void const *__A) {
69
+ return (__m128i)__builtin_ia32_selectd_128(
70
+ (__mmask8)__U, (__v4si)_mm_loadrs_epi32(__A), (__v4si)__W);
71
+ }
72
+
73
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
74
+ _mm_maskz_loadrs_epi32(__mmask8 __U, void const *__A) {
75
+ return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
76
+ (__v4si)_mm_loadrs_epi32(__A),
77
+ (__v4si)_mm_setzero_si128());
78
+ }
79
+
80
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
81
+ _mm256_loadrs_epi32(void const *__A) {
82
+ return (__m256i)__builtin_ia32_vmovrsd256((const __v8si *)(__A));
83
+ }
84
+
85
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
86
+ _mm256_mask_loadrs_epi32(__m256i __W, __mmask8 __U, void const *__A) {
87
+ return (__m256i)__builtin_ia32_selectd_256(
88
+ (__mmask8)__U, (__v8si)_mm256_loadrs_epi32(__A), (__v8si)__W);
89
+ }
90
+
91
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
92
+ _mm256_maskz_loadrs_epi32(__mmask8 __U, void const *__A) {
93
+ return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
94
+ (__v8si)_mm256_loadrs_epi32(__A),
95
+ (__v8si)_mm256_setzero_si256());
96
+ }
97
+
98
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
99
+ _mm_loadrs_epi64(void const *__A) {
100
+ return (__m128i)__builtin_ia32_vmovrsq128((const __v2di *)(__A));
101
+ }
102
+
103
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
104
+ _mm_mask_loadrs_epi64(__m128i __W, __mmask8 __U, void const *__A) {
105
+ return (__m128i)__builtin_ia32_selectq_128(
106
+ (__mmask8)__U, (__v2di)_mm_loadrs_epi64(__A), (__v2di)__W);
107
+ }
108
+
109
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
110
+ _mm_maskz_loadrs_epi64(__mmask8 __U, void const *__A) {
111
+ return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
112
+ (__v2di)_mm_loadrs_epi64(__A),
113
+ (__v2di)_mm_setzero_si128());
114
+ }
115
+
116
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
117
+ _mm256_loadrs_epi64(void const *__A) {
118
+ return (__m256i)__builtin_ia32_vmovrsq256((const __v4di *)(__A));
119
+ }
120
+
121
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
122
+ _mm256_mask_loadrs_epi64(__m256i __W, __mmask8 __U, void const *__A) {
123
+ return (__m256i)__builtin_ia32_selectq_256(
124
+ (__mmask8)__U, (__v4di)_mm256_loadrs_epi64(__A), (__v4di)__W);
125
+ }
126
+
127
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
128
+ _mm256_maskz_loadrs_epi64(__mmask8 __U, void const *__A) {
129
+ return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
130
+ (__v4di)_mm256_loadrs_epi64(__A),
131
+ (__v4di)_mm256_setzero_si256());
132
+ }
133
+
134
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
135
+ _mm_loadrs_epi16(void const *__A) {
136
+ return (__m128i)__builtin_ia32_vmovrsw128((const __v8hi *)(__A));
137
+ }
138
+
139
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
140
+ _mm_mask_loadrs_epi16(__m128i __W, __mmask8 __U, void const *__A) {
141
+ return (__m128i)__builtin_ia32_selectw_128(
142
+ (__mmask8)__U, (__v8hi)_mm_loadrs_epi16(__A), (__v8hi)__W);
143
+ }
144
+
145
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
146
+ _mm_maskz_loadrs_epi16(__mmask8 __U, void const *__A) {
147
+ return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
148
+ (__v8hi)_mm_loadrs_epi16(__A),
149
+ (__v8hi)_mm_setzero_si128());
150
+ }
151
+
152
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
153
+ _mm256_loadrs_epi16(void const *__A) {
154
+ return (__m256i)__builtin_ia32_vmovrsw256((const __v16hi *)(__A));
155
+ }
156
+
157
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
158
+ _mm256_mask_loadrs_epi16(__m256i __W, __mmask16 __U, void const *__A) {
159
+ return (__m256i)__builtin_ia32_selectw_256(
160
+ (__mmask16)__U, (__v16hi)_mm256_loadrs_epi16(__A), (__v16hi)__W);
161
+ }
162
+
163
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
164
+ _mm256_maskz_loadrs_epi16(__mmask16 __U, void const *__A) {
165
+ return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
166
+ (__v16hi)_mm256_loadrs_epi16(__A),
167
+ (__v16hi)_mm256_setzero_si256());
168
+ }
169
+
170
+ #undef __DEFAULT_FN_ATTRS128
171
+ #undef __DEFAULT_FN_ATTRS256
172
+
173
+ #endif /* __x86_64__ */
174
+ #endif /* __MOVRS_AVX10_2INTRIN_H */
@@ -0,0 +1,59 @@
1
+ /*===---------------- movrsintrin.h - MOVRS intrinsics ----------------------===
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 __IMMINTRIN_H
10
+ #error "Never use <movrsintrin.h> directly; include <immintrin.h> instead."
11
+ #endif // __IMMINTRIN_H
12
+
13
+ #ifndef __MOVRSINTRIN_H
14
+ #define __MOVRSINTRIN_H
15
+
16
+ #define __DEFAULT_FN_ATTRS \
17
+ __attribute__((__always_inline__, __nodebug__, __target__("movrs")))
18
+
19
+ #ifdef __x86_64__
20
+ static __inline__ char __DEFAULT_FN_ATTRS _movrs_i8(const void *__A) {
21
+ return (char)__builtin_ia32_movrsqi((const void *)__A);
22
+ }
23
+
24
+ static __inline__ short __DEFAULT_FN_ATTRS _movrs_i16(const void *__A) {
25
+ return (short)__builtin_ia32_movrshi((const void *)__A);
26
+ }
27
+
28
+ static __inline__ int __DEFAULT_FN_ATTRS _movrs_i32(const void *__A) {
29
+ return (int)__builtin_ia32_movrssi((const void *)__A);
30
+ }
31
+
32
+ static __inline__ long long __DEFAULT_FN_ATTRS _movrs_i64(const void *__A) {
33
+ return (long long)__builtin_ia32_movrsdi((const void *)__A);
34
+ }
35
+ #endif // __x86_64__
36
+
37
+ // Loads a memory sequence containing the specified memory address into
38
+ /// the L3 data cache. Data will be shared (read/written) to by requesting
39
+ /// core and other cores.
40
+ ///
41
+ /// Note that the effect of this intrinsic is dependent on the processor
42
+ /// implementation.
43
+ ///
44
+ /// \headerfile <x86intrin.h>
45
+ ///
46
+ /// This intrinsic corresponds to the \c PREFETCHRS instruction.
47
+ ///
48
+ /// \param __P
49
+ /// A pointer specifying the memory address to be prefetched.
50
+ static __inline__ void __DEFAULT_FN_ATTRS
51
+ _m_prefetchrs(volatile const void *__P) {
52
+ #pragma clang diagnostic push
53
+ #pragma clang diagnostic ignored "-Wcast-qual"
54
+ __builtin_ia32_prefetchrs((const void *)__P);
55
+ #pragma clang diagnostic pop
56
+ }
57
+
58
+ #undef __DEFAULT_FN_ATTRS
59
+ #endif // __MOVRSINTRIN_H
@@ -0,0 +1,203 @@
1
+ //===-- nvptxintrin.h - NVPTX 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 __NVPTXINTRIN_H
10
+ #define __NVPTXINTRIN_H
11
+
12
+ #ifndef __NVPTX__
13
+ #error "This file is intended for NVPTX targets or offloading to NVPTX"
14
+ #endif
15
+
16
+ #include <stdint.h>
17
+
18
+ #if !defined(__cplusplus)
19
+ _Pragma("push_macro(\"bool\")");
20
+ #define bool _Bool
21
+ #endif
22
+
23
+ _Pragma("omp begin declare target device_type(nohost)");
24
+ _Pragma("omp begin declare variant match(device = {arch(nvptx64)})");
25
+
26
+ // Type aliases to the address spaces used by the NVPTX backend.
27
+ #define __gpu_private __attribute__((address_space(5)))
28
+ #define __gpu_constant __attribute__((address_space(4)))
29
+ #define __gpu_local __attribute__((address_space(3)))
30
+ #define __gpu_global __attribute__((address_space(1)))
31
+ #define __gpu_generic __attribute__((address_space(0)))
32
+
33
+ // Attribute to declare a function as a kernel.
34
+ #define __gpu_kernel __attribute__((nvptx_kernel, visibility("protected")))
35
+
36
+ // Returns the number of CUDA blocks in the 'x' dimension.
37
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_blocks_x(void) {
38
+ return __nvvm_read_ptx_sreg_nctaid_x();
39
+ }
40
+
41
+ // Returns the number of CUDA blocks in the 'y' dimension.
42
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_blocks_y(void) {
43
+ return __nvvm_read_ptx_sreg_nctaid_y();
44
+ }
45
+
46
+ // Returns the number of CUDA blocks in the 'z' dimension.
47
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_blocks_z(void) {
48
+ return __nvvm_read_ptx_sreg_nctaid_z();
49
+ }
50
+
51
+ // Returns the 'x' dimension of the current CUDA block's id.
52
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_block_id_x(void) {
53
+ return __nvvm_read_ptx_sreg_ctaid_x();
54
+ }
55
+
56
+ // Returns the 'y' dimension of the current CUDA block's id.
57
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_block_id_y(void) {
58
+ return __nvvm_read_ptx_sreg_ctaid_y();
59
+ }
60
+
61
+ // Returns the 'z' dimension of the current CUDA block's id.
62
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_block_id_z(void) {
63
+ return __nvvm_read_ptx_sreg_ctaid_z();
64
+ }
65
+
66
+ // Returns the number of CUDA threads in the 'x' dimension.
67
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_threads_x(void) {
68
+ return __nvvm_read_ptx_sreg_ntid_x();
69
+ }
70
+
71
+ // Returns the number of CUDA threads in the 'y' dimension.
72
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_threads_y(void) {
73
+ return __nvvm_read_ptx_sreg_ntid_y();
74
+ }
75
+
76
+ // Returns the number of CUDA threads in the 'z' dimension.
77
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_threads_z(void) {
78
+ return __nvvm_read_ptx_sreg_ntid_z();
79
+ }
80
+
81
+ // Returns the 'x' dimension id of the thread in the current CUDA block.
82
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_thread_id_x(void) {
83
+ return __nvvm_read_ptx_sreg_tid_x();
84
+ }
85
+
86
+ // Returns the 'y' dimension id of the thread in the current CUDA block.
87
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_thread_id_y(void) {
88
+ return __nvvm_read_ptx_sreg_tid_y();
89
+ }
90
+
91
+ // Returns the 'z' dimension id of the thread in the current CUDA block.
92
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_thread_id_z(void) {
93
+ return __nvvm_read_ptx_sreg_tid_z();
94
+ }
95
+
96
+ // Returns the size of a CUDA warp, always 32 on NVIDIA hardware.
97
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_lanes(void) {
98
+ return __nvvm_read_ptx_sreg_warpsize();
99
+ }
100
+
101
+ // Returns the id of the thread inside of a CUDA warp executing together.
102
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_lane_id(void) {
103
+ return __nvvm_read_ptx_sreg_laneid();
104
+ }
105
+
106
+ // Returns the bit-mask of active threads in the current warp.
107
+ _DEFAULT_FN_ATTRS static __inline__ uint64_t __gpu_lane_mask(void) {
108
+ return __nvvm_activemask();
109
+ }
110
+
111
+ // Copies the value from the first active thread in the warp to the rest.
112
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t
113
+ __gpu_read_first_lane_u32(uint64_t __lane_mask, uint32_t __x) {
114
+ uint32_t __mask = (uint32_t)__lane_mask;
115
+ uint32_t __id = __builtin_ffs(__mask) - 1;
116
+ return __nvvm_shfl_sync_idx_i32(__mask, __x, __id, __gpu_num_lanes() - 1);
117
+ }
118
+
119
+ // Copies the value from the first active thread in the warp to the rest.
120
+ _DEFAULT_FN_ATTRS static __inline__ uint64_t
121
+ __gpu_read_first_lane_u64(uint64_t __lane_mask, uint64_t __x) {
122
+ uint32_t __hi = (uint32_t)(__x >> 32ull);
123
+ uint32_t __lo = (uint32_t)(__x & 0xFFFFFFFF);
124
+ uint32_t __mask = (uint32_t)__lane_mask;
125
+ uint32_t __id = __builtin_ffs(__mask) - 1;
126
+ return ((uint64_t)__nvvm_shfl_sync_idx_i32(__mask, __hi, __id,
127
+ __gpu_num_lanes() - 1)
128
+ << 32ull) |
129
+ ((uint64_t)__nvvm_shfl_sync_idx_i32(__mask, __lo, __id,
130
+ __gpu_num_lanes() - 1) &
131
+ 0xFFFFFFFF);
132
+ }
133
+
134
+ // Returns a bitmask of threads in the current lane for which \p x is true.
135
+ _DEFAULT_FN_ATTRS static __inline__ uint64_t __gpu_ballot(uint64_t __lane_mask,
136
+ bool __x) {
137
+ uint32_t __mask = (uint32_t)__lane_mask;
138
+ return __nvvm_vote_ballot_sync(__mask, __x);
139
+ }
140
+
141
+ // Waits for all the threads in the block to converge and issues a fence.
142
+ _DEFAULT_FN_ATTRS static __inline__ void __gpu_sync_threads(void) {
143
+ __syncthreads();
144
+ }
145
+
146
+ // Waits for all threads in the warp to reconverge for independent scheduling.
147
+ _DEFAULT_FN_ATTRS static __inline__ void __gpu_sync_lane(uint64_t __lane_mask) {
148
+ __nvvm_bar_warp_sync((uint32_t)__lane_mask);
149
+ }
150
+
151
+ // Shuffles the the lanes inside the warp according to the given index.
152
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t
153
+ __gpu_shuffle_idx_u32(uint64_t __lane_mask, uint32_t __idx, uint32_t __x,
154
+ uint32_t __width) {
155
+ // Mask out inactive lanes to match AMDGPU behavior.
156
+ uint32_t __mask = (uint32_t)__lane_mask;
157
+ bool __bitmask = (1ull << __idx) & __lane_mask;
158
+ return -__bitmask &
159
+ __nvvm_shfl_sync_idx_i32(__mask, __x, __idx,
160
+ ((__gpu_num_lanes() - __width) << 8u) | 0x1f);
161
+ }
162
+
163
+ // Shuffles the the lanes inside the warp according to the given index.
164
+ _DEFAULT_FN_ATTRS static __inline__ uint64_t
165
+ __gpu_shuffle_idx_u64(uint64_t __lane_mask, uint32_t __idx, uint64_t __x,
166
+ uint32_t __width) {
167
+ uint32_t __hi = (uint32_t)(__x >> 32ull);
168
+ uint32_t __lo = (uint32_t)(__x & 0xFFFFFFFF);
169
+ uint32_t __mask = (uint32_t)__lane_mask;
170
+ return ((uint64_t)__gpu_shuffle_idx_u32(__mask, __idx, __hi, __width)
171
+ << 32ull) |
172
+ ((uint64_t)__gpu_shuffle_idx_u32(__mask, __idx, __lo, __width));
173
+ }
174
+
175
+ // Returns true if the flat pointer points to CUDA 'shared' memory.
176
+ _DEFAULT_FN_ATTRS static __inline__ bool __gpu_is_ptr_local(void *ptr) {
177
+ return __nvvm_isspacep_shared(ptr);
178
+ }
179
+
180
+ // Returns true if the flat pointer points to CUDA 'local' memory.
181
+ _DEFAULT_FN_ATTRS static __inline__ bool __gpu_is_ptr_private(void *ptr) {
182
+ return __nvvm_isspacep_local(ptr);
183
+ }
184
+
185
+ // Terminates execution of the calling thread.
186
+ _DEFAULT_FN_ATTRS [[noreturn]] static __inline__ void __gpu_exit(void) {
187
+ __nvvm_exit();
188
+ }
189
+
190
+ // Suspend the thread briefly to assist the scheduler during busy loops.
191
+ _DEFAULT_FN_ATTRS static __inline__ void __gpu_thread_suspend(void) {
192
+ if (__nvvm_reflect("__CUDA_ARCH") >= 700)
193
+ asm("nanosleep.u32 64;" ::: "memory");
194
+ }
195
+
196
+ _Pragma("omp end declare variant");
197
+ _Pragma("omp end declare target");
198
+
199
+ #if !defined(__cplusplus)
200
+ _Pragma("pop_macro(\"bool\")");
201
+ #endif
202
+
203
+ #endif // __NVPTXINTRIN_H
@@ -46,6 +46,7 @@
46
46
  #define __opencl_c_ext_fp32_global_atomic_min_max 1
47
47
  #define __opencl_c_ext_fp32_local_atomic_min_max 1
48
48
  #define __opencl_c_ext_image_raw10_raw12 1
49
+ #define __opencl_c_ext_image_unorm_int_2_101010 1
49
50
  #define cl_khr_kernel_clock 1
50
51
  #define __opencl_c_kernel_clock_scope_device 1
51
52
  #define __opencl_c_kernel_clock_scope_work_group 1
@@ -486,6 +487,9 @@ typedef enum memory_order
486
487
  #define CLK_UNSIGNED_INT_RAW10_EXT 0x10E3
487
488
  #define CLK_UNSIGNED_INT_RAW12_EXT 0x10E4
488
489
  #endif // __opencl_c_ext_image_raw10_raw12
490
+ #ifdef __opencl_c_ext_image_unorm_int_2_101010
491
+ #define CLK_UNORM_INT_2_101010_EXT 0x10E5
492
+ #endif // __opencl_c_ext_image_unorm_int_2_101010
489
493
 
490
494
  // Channel order, numbering must be aligned with cl_channel_order in cl.h
491
495
  //
@@ -10,17 +10,15 @@
10
10
  #ifndef __CLANG_OPENMP_DEVICE_FUNCTIONS_H__
11
11
  #define __CLANG_OPENMP_DEVICE_FUNCTIONS_H__
12
12
 
13
- #ifndef _OPENMP
14
- #error "This file is for OpenMP compilation only."
15
- #endif
16
-
17
13
  #ifdef __cplusplus
18
14
  extern "C" {
19
15
  #endif
20
16
 
17
+ #ifdef __NVPTX__
21
18
  #pragma omp begin declare variant match( \
22
19
  device = {arch(nvptx, nvptx64)}, implementation = {extension(match_any)})
23
20
 
21
+ #pragma push_macro("__CUDA__")
24
22
  #define __CUDA__
25
23
  #define __OPENMP_NVPTX__
26
24
 
@@ -31,9 +29,10 @@ extern "C" {
31
29
  #include <__clang_cuda_device_functions.h>
32
30
 
33
31
  #undef __OPENMP_NVPTX__
34
- #undef __CUDA__
32
+ #pragma pop_macro("__CUDA__")
35
33
 
36
34
  #pragma omp end declare variant
35
+ #endif
37
36
 
38
37
  #ifdef __AMDGCN__
39
38
  #pragma omp begin declare variant match(device = {arch(amdgcn)})
@@ -64,8 +64,13 @@ template <class _Tp> __DEVICE__ _Tp norm(const std::complex<_Tp> &__c) {
64
64
  }
65
65
 
66
66
  // conj
67
-
68
- template <class _Tp> std::complex<_Tp> conj(const std::complex<_Tp> &__c) {
67
+ #ifdef _GLIBCXX20_CONSTEXPR
68
+ #define CXX20_CONSTEXPR_DEVICE __DEVICE__
69
+ #else
70
+ #define CXX20_CONSTEXPR_DEVICE
71
+ #endif
72
+ template <class _Tp>
73
+ CXX20_CONSTEXPR_DEVICE std::complex<_Tp> conj(const std::complex<_Tp> &__c) {
69
74
  return std::complex<_Tp>(__c.real(), -__c.imag());
70
75
  }
71
76
 
@@ -17,9 +17,21 @@
17
17
  #include <emmintrin.h>
18
18
 
19
19
  /* Define the default attributes for the functions in this file. */
20
+ #if defined(__EVEX512__) && !defined(__AVX10_1_512__)
20
21
  #define __DEFAULT_FN_ATTRS \
21
22
  __attribute__((__always_inline__, __nodebug__, \
22
23
  __target__("sse3,no-evex512"), __min_vector_width__(128)))
24
+ #else
25
+ #define __DEFAULT_FN_ATTRS \
26
+ __attribute__((__always_inline__, __nodebug__, __target__("sse3"), \
27
+ __min_vector_width__(128)))
28
+ #endif
29
+
30
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
31
+ #define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
32
+ #else
33
+ #define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
34
+ #endif
23
35
 
24
36
  /// Loads data from an unaligned memory location to elements in a 128-bit
25
37
  /// vector.
@@ -122,7 +134,7 @@ _mm_hsub_ps(__m128 __a, __m128 __b)
122
134
  /// destination.
123
135
  /// \returns A 128-bit vector of [4 x float] containing the moved and duplicated
124
136
  /// values.
125
- static __inline__ __m128 __DEFAULT_FN_ATTRS
137
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
126
138
  _mm_movehdup_ps(__m128 __a)
127
139
  {
128
140
  return __builtin_shufflevector((__v4sf)__a, (__v4sf)__a, 1, 1, 3, 3);
@@ -143,7 +155,7 @@ _mm_movehdup_ps(__m128 __a)
143
155
  /// destination.
144
156
  /// \returns A 128-bit vector of [4 x float] containing the moved and duplicated
145
157
  /// values.
146
- static __inline__ __m128 __DEFAULT_FN_ATTRS
158
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
147
159
  _mm_moveldup_ps(__m128 __a)
148
160
  {
149
161
  return __builtin_shufflevector((__v4sf)__a, (__v4sf)__a, 0, 0, 2, 2);
@@ -244,7 +256,7 @@ _mm_hsub_pd(__m128d __a, __m128d __b)
244
256
  /// [127:64] and [63:0] of the destination.
245
257
  /// \returns A 128-bit vector of [2 x double] containing the moved and
246
258
  /// duplicated values.
247
- static __inline__ __m128d __DEFAULT_FN_ATTRS
259
+ static __inline__ __m128d __DEFAULT_FN_ATTRS_CONSTEXPR
248
260
  _mm_movedup_pd(__m128d __a)
249
261
  {
250
262
  return __builtin_shufflevector((__v2df)__a, (__v2df)__a, 0, 0);
@@ -297,5 +309,6 @@ _mm_mwait(unsigned __extensions, unsigned __hints)
297
309
  }
298
310
 
299
311
  #undef __DEFAULT_FN_ATTRS
312
+ #undef __DEFAULT_FN_ATTRS_CONSTEXPR
300
313
 
301
314
  #endif /* __PMMINTRIN_H */