@cpp-linter/clang-tidy-win32-x64 21.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 (326) 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/{21 → 23}/include/__clang_cuda_device_functions.h +1 -1
  5. package/lib/clang/{21 → 23}/include/__clang_cuda_intrinsics.h +207 -226
  6. package/lib/clang/{21 → 23}/include/__clang_cuda_math_forward_declares.h +5 -0
  7. package/lib/clang/{21 → 23}/include/__clang_cuda_runtime_wrapper.h +27 -5
  8. package/lib/clang/23/include/__clang_gpu_builtin_vars.h +71 -0
  9. package/lib/clang/23/include/__clang_gpu_device_functions.h +411 -0
  10. package/lib/clang/23/include/__clang_gpu_intrinsics.h +242 -0
  11. package/lib/clang/{21 → 23}/include/__clang_hip_libdevice_declares.h +14 -121
  12. package/lib/clang/{21 → 23}/include/__clang_hip_math.h +5 -5
  13. package/lib/clang/{21 → 23}/include/__clang_hip_runtime_wrapper.h +9 -1
  14. package/lib/clang/{21 → 23}/include/__clang_spirv_builtins.h +12 -12
  15. package/lib/clang/23/include/__clang_spirv_libdevice_declares.h +170 -0
  16. package/lib/clang/23/include/__clang_spirv_math.h +719 -0
  17. package/lib/clang/{21/include/float.h → 23/include/__float_float.h} +13 -24
  18. package/lib/clang/23/include/__float_header_macro.h +12 -0
  19. package/lib/clang/23/include/__float_infinity_nan.h +20 -0
  20. package/lib/clang/{21 → 23}/include/altivec.h +79 -9
  21. package/lib/clang/{21 → 23}/include/amdgpuintrin.h +2 -29
  22. package/lib/clang/23/include/amdhsa_abi.h +83 -0
  23. package/lib/clang/23/include/amo.h +220 -0
  24. package/lib/clang/{21 → 23}/include/amxavx512intrin.h +215 -1
  25. package/lib/clang/{21 → 23}/include/amxintrin.h +0 -2
  26. package/lib/clang/{21 → 23}/include/andes_vector.h +5 -0
  27. package/lib/clang/23/include/arm64_neon.h +21 -0
  28. package/lib/clang/{21 → 23}/include/arm64intr.h +10 -0
  29. package/lib/clang/{21 → 23}/include/arm_acle.h +38 -27
  30. package/lib/clang/{21 → 23}/include/arm_neon.h +4140 -3836
  31. package/lib/clang/{21 → 23}/include/arm_sme.h +20 -8
  32. package/lib/clang/{21 → 23}/include/arm_sve.h +4582 -3782
  33. package/lib/clang/{21 → 23}/include/avx10_2_512bf16intrin.h +19 -12
  34. package/lib/clang/{21 → 23}/include/avx10_2_512convertintrin.h +1 -1
  35. package/lib/clang/{21 → 23}/include/avx10_2_512niintrin.h +25 -25
  36. package/lib/clang/{21 → 23}/include/avx10_2_512satcvtdsintrin.h +1 -1
  37. package/lib/clang/{21 → 23}/include/avx10_2bf16intrin.h +54 -45
  38. package/lib/clang/{21 → 23}/include/avx10_2convertintrin.h +2 -2
  39. package/lib/clang/{21 → 23}/include/avx10_2copyintrin.h +1 -1
  40. package/lib/clang/{21 → 23}/include/avx10_2niintrin.h +2 -2
  41. package/lib/clang/{21 → 23}/include/avx10_2satcvtdsintrin.h +2 -2
  42. package/lib/clang/{21 → 23}/include/avx2intrin.h +279 -382
  43. package/lib/clang/{21 → 23}/include/avx512bf16intrin.h +25 -16
  44. package/lib/clang/{21 → 23}/include/avx512bitalgintrin.h +19 -30
  45. package/lib/clang/23/include/avx512bmmintrin.h +174 -0
  46. package/lib/clang/23/include/avx512bmmvlintrin.h +245 -0
  47. package/lib/clang/{21 → 23}/include/avx512bwintrin.h +405 -534
  48. package/lib/clang/23/include/avx512cdintrin.h +112 -0
  49. package/lib/clang/{21 → 23}/include/avx512dqintrin.h +132 -161
  50. package/lib/clang/{21 → 23}/include/avx512fintrin.h +1049 -1485
  51. package/lib/clang/{21 → 23}/include/avx512fp16intrin.h +124 -128
  52. package/lib/clang/23/include/avx512ifmaintrin.h +68 -0
  53. package/lib/clang/23/include/avx512ifmavlintrin.h +138 -0
  54. package/lib/clang/{21 → 23}/include/avx512vbmi2intrin.h +55 -48
  55. package/lib/clang/{21 → 23}/include/avx512vbmiintrin.h +19 -27
  56. package/lib/clang/{21 → 23}/include/avx512vbmivlintrin.h +35 -49
  57. package/lib/clang/{21 → 23}/include/avx512vlbf16intrin.h +32 -22
  58. package/lib/clang/{21 → 23}/include/avx512vlbitalgintrin.h +37 -53
  59. package/lib/clang/{21 → 23}/include/avx512vlbwintrin.h +494 -609
  60. package/lib/clang/23/include/avx512vlcdintrin.h +202 -0
  61. package/lib/clang/{21 → 23}/include/avx512vldqintrin.h +110 -127
  62. package/lib/clang/{21 → 23}/include/avx512vlfp16intrin.h +130 -111
  63. package/lib/clang/{21 → 23}/include/avx512vlintrin.h +1025 -1395
  64. package/lib/clang/{21 → 23}/include/avx512vlvbmi2intrin.h +102 -95
  65. package/lib/clang/{21 → 23}/include/avx512vlvnniintrin.h +50 -52
  66. package/lib/clang/{21 → 23}/include/avx512vlvp2intersectintrin.h +2 -2
  67. package/lib/clang/{21 → 23}/include/avx512vnniintrin.h +42 -45
  68. package/lib/clang/{21 → 23}/include/avx512vp2intersectintrin.h +2 -3
  69. package/lib/clang/{21 → 23}/include/avx512vpopcntdqintrin.h +8 -10
  70. package/lib/clang/{21 → 23}/include/avx512vpopcntdqvlintrin.h +17 -15
  71. package/lib/clang/{21 → 23}/include/avxifmaintrin.h +16 -0
  72. package/lib/clang/{21 → 23}/include/avxintrin.h +165 -241
  73. package/lib/clang/{21 → 23}/include/avxvnniint16intrin.h +118 -99
  74. package/lib/clang/{21 → 23}/include/avxvnniint8intrin.h +56 -32
  75. package/lib/clang/{21 → 23}/include/avxvnniintrin.h +39 -26
  76. package/lib/clang/{21 → 23}/include/cpuid.h +101 -4
  77. package/lib/clang/{21 → 23}/include/crc32intrin.h +10 -8
  78. package/lib/clang/23/include/cuda_wrappers/__utility/declval.h +28 -0
  79. package/lib/clang/{21 → 23}/include/emmintrin.h +176 -176
  80. package/lib/clang/23/include/endian.h +91 -0
  81. package/lib/clang/{21 → 23}/include/f16cintrin.h +23 -9
  82. package/lib/clang/23/include/float.h +48 -0
  83. package/lib/clang/23/include/fma4intrin.h +220 -0
  84. package/lib/clang/{21 → 23}/include/fmaintrin.h +96 -66
  85. package/lib/clang/{21 → 23}/include/gfniintrin.h +21 -16
  86. package/lib/clang/{21 → 23}/include/gpuintrin.h +129 -109
  87. package/lib/clang/{21 → 23}/include/hexagon_types.h +23 -20
  88. package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics.h +222 -0
  89. package/lib/clang/{21/include/hlsl/hlsl_alias_intrinsics.h → 23/include/hlsl/hlsl_alias_intrinsics_gen.inc} +2090 -1032
  90. package/lib/clang/23/include/hlsl/hlsl_basic_types.h +370 -0
  91. package/lib/clang/{21 → 23}/include/hlsl/hlsl_compat_overloads.h +150 -18
  92. package/lib/clang/{21 → 23}/include/hlsl/hlsl_detail.h +6 -4
  93. package/lib/clang/23/include/hlsl/hlsl_inline_intrinsics_gen.inc +546 -0
  94. package/lib/clang/{21 → 23}/include/hlsl/hlsl_intrinsic_helpers.h +71 -45
  95. package/lib/clang/23/include/hlsl/hlsl_intrinsics.h +331 -0
  96. package/lib/clang/{21 → 23}/include/hvx_hexagon_protos.h +724 -913
  97. package/lib/clang/{21 → 23}/include/immintrin.h +4 -14
  98. package/lib/clang/{21 → 23}/include/intrin.h +24 -10
  99. package/lib/clang/{21 → 23}/include/larchintrin.h +2 -0
  100. package/lib/clang/{21 → 23}/include/lasxintrin.h +113 -0
  101. package/lib/clang/{21 → 23}/include/llvm_libc_wrappers/assert.h +3 -5
  102. package/lib/clang/23/include/llvm_libc_wrappers/ctype.h +29 -0
  103. package/lib/clang/{21 → 23}/include/llvm_libc_wrappers/inttypes.h +3 -5
  104. package/lib/clang/23/include/llvm_libc_wrappers/stdio.h +52 -0
  105. package/lib/clang/23/include/llvm_libc_wrappers/stdlib.h +32 -0
  106. package/lib/clang/23/include/llvm_libc_wrappers/string.h +29 -0
  107. package/lib/clang/{21 → 23}/include/llvm_libc_wrappers/time.h +4 -10
  108. package/lib/clang/{21 → 23}/include/mmintrin.h +188 -257
  109. package/lib/clang/{21 → 23}/include/module.modulemap +39 -5
  110. package/lib/clang/{21 → 23}/include/movrs_avx10_2_512intrin.h +2 -2
  111. package/lib/clang/{21 → 23}/include/movrs_avx10_2intrin.h +4 -4
  112. package/lib/clang/{21 → 23}/include/nvptxintrin.h +15 -26
  113. package/lib/clang/{21 → 23}/include/opencl-c-base.h +7 -93
  114. package/lib/clang/{21 → 23}/include/opencl-c.h +225 -118
  115. package/lib/clang/{21 → 23}/include/openmp_wrappers/__clang_openmp_device_functions.h +14 -0
  116. package/lib/clang/{21 → 23}/include/openmp_wrappers/complex +7 -1
  117. package/lib/clang/{21 → 23}/include/openmp_wrappers/complex.h +6 -0
  118. package/lib/clang/{21 → 23}/include/openmp_wrappers/math.h +10 -0
  119. package/lib/clang/{21 → 23}/include/pmmintrin.h +12 -24
  120. package/lib/clang/{21 → 23}/include/ptrauth.h +104 -12
  121. package/lib/clang/{21 → 23}/include/riscv_bitmanip.h +7 -0
  122. package/lib/clang/{21 → 23}/include/riscv_corev_alu.h +2 -0
  123. package/lib/clang/{21 → 23}/include/riscv_crypto.h +8 -0
  124. package/lib/clang/23/include/riscv_mips.h +36 -0
  125. package/lib/clang/23/include/riscv_nds.h +92 -0
  126. package/lib/clang/{21 → 23}/include/riscv_ntlh.h +2 -0
  127. package/lib/clang/23/include/riscv_packed_simd.h +644 -0
  128. package/lib/clang/{21 → 23}/include/riscv_vector.h +43 -0
  129. package/lib/clang/{21 → 23}/include/sifive_vector.h +76 -2
  130. package/lib/clang/{21 → 23}/include/sm4evexintrin.h +2 -2
  131. package/lib/clang/{21 → 23}/include/smmintrin.h +77 -59
  132. package/lib/clang/23/include/spirvintrin.h +167 -0
  133. package/lib/clang/23/include/stddefer.h +19 -0
  134. package/lib/clang/{21 → 23}/include/stdint.h +5 -14
  135. package/lib/clang/{21 → 23}/include/tmmintrin.h +116 -147
  136. package/lib/clang/{21 → 23}/include/vaesintrin.h +1 -2
  137. package/lib/clang/{21 → 23}/include/vecintrin.h +1 -1
  138. package/lib/clang/{21 → 23}/include/wasm_simd128.h +17 -0
  139. package/lib/clang/{21 → 23}/include/xmmintrin.h +50 -75
  140. package/lib/clang/{21 → 23}/include/xopintrin.h +20 -10
  141. package/lib/clang/23/include/zos_wrappers/grp.h +19 -0
  142. package/lib/clang/23/include/zos_wrappers/locale.h +19 -0
  143. package/lib/clang/23/include/zos_wrappers/math.h +31 -0
  144. package/lib/clang/23/include/zos_wrappers/poll.h +19 -0
  145. package/lib/clang/23/include/zos_wrappers/stdlib.h +20 -0
  146. package/lib/clang/23/include/zos_wrappers/string.h +19 -0
  147. package/lib/clang/23/include/zos_wrappers/time.h +19 -0
  148. package/lib/clang/23/include/zos_wrappers/variant.h +19 -0
  149. package/package.json +6 -6
  150. package/lib/clang/21/include/__clang_cuda_complex_builtins.h +0 -285
  151. package/lib/clang/21/include/amxbf16transposeintrin.h +0 -94
  152. package/lib/clang/21/include/amxcomplextransposeintrin.h +0 -303
  153. package/lib/clang/21/include/amxfp16transposeintrin.h +0 -94
  154. package/lib/clang/21/include/amxmovrstransposeintrin.h +0 -200
  155. package/lib/clang/21/include/amxtf32intrin.h +0 -108
  156. package/lib/clang/21/include/amxtf32transposeintrin.h +0 -105
  157. package/lib/clang/21/include/amxtransposeintrin.h +0 -248
  158. package/lib/clang/21/include/avx512cdintrin.h +0 -125
  159. package/lib/clang/21/include/avx512ifmaintrin.h +0 -70
  160. package/lib/clang/21/include/avx512ifmavlintrin.h +0 -111
  161. package/lib/clang/21/include/avx512vlcdintrin.h +0 -230
  162. package/lib/clang/21/include/fma4intrin.h +0 -218
  163. package/lib/clang/21/include/hlsl/hlsl_basic_types.h +0 -120
  164. package/lib/clang/21/include/hlsl/hlsl_intrinsics.h +0 -526
  165. package/lib/clang/21/include/llvm_libc_wrappers/ctype.h +0 -140
  166. package/lib/clang/21/include/llvm_libc_wrappers/stdio.h +0 -80
  167. package/lib/clang/21/include/llvm_libc_wrappers/stdlib.h +0 -53
  168. package/lib/clang/21/include/llvm_libc_wrappers/string.h +0 -96
  169. /package/lib/clang/{21 → 23}/include/__clang_cuda_builtin_vars.h +0 -0
  170. /package/lib/clang/{21 → 23}/include/__clang_cuda_cmath.h +0 -0
  171. /package/lib/clang/{21 → 23}/include/__clang_cuda_libdevice_declares.h +0 -0
  172. /package/lib/clang/{21 → 23}/include/__clang_cuda_math.h +0 -0
  173. /package/lib/clang/{21 → 23}/include/__clang_cuda_texture_intrinsics.h +0 -0
  174. /package/lib/clang/{21 → 23}/include/__clang_hip_cmath.h +0 -0
  175. /package/lib/clang/{21 → 23}/include/__clang_hip_stdlib.h +0 -0
  176. /package/lib/clang/{21 → 23}/include/__stdarg___gnuc_va_list.h +0 -0
  177. /package/lib/clang/{21 → 23}/include/__stdarg___va_copy.h +0 -0
  178. /package/lib/clang/{21 → 23}/include/__stdarg_header_macro.h +0 -0
  179. /package/lib/clang/{21 → 23}/include/__stdarg_va_arg.h +0 -0
  180. /package/lib/clang/{21 → 23}/include/__stdarg_va_copy.h +0 -0
  181. /package/lib/clang/{21 → 23}/include/__stdarg_va_list.h +0 -0
  182. /package/lib/clang/{21 → 23}/include/__stddef_header_macro.h +0 -0
  183. /package/lib/clang/{21 → 23}/include/__stddef_max_align_t.h +0 -0
  184. /package/lib/clang/{21 → 23}/include/__stddef_null.h +0 -0
  185. /package/lib/clang/{21 → 23}/include/__stddef_nullptr_t.h +0 -0
  186. /package/lib/clang/{21 → 23}/include/__stddef_offsetof.h +0 -0
  187. /package/lib/clang/{21 → 23}/include/__stddef_ptrdiff_t.h +0 -0
  188. /package/lib/clang/{21 → 23}/include/__stddef_rsize_t.h +0 -0
  189. /package/lib/clang/{21 → 23}/include/__stddef_size_t.h +0 -0
  190. /package/lib/clang/{21 → 23}/include/__stddef_unreachable.h +0 -0
  191. /package/lib/clang/{21 → 23}/include/__stddef_wchar_t.h +0 -0
  192. /package/lib/clang/{21 → 23}/include/__stddef_wint_t.h +0 -0
  193. /package/lib/clang/{21 → 23}/include/__wmmintrin_aes.h +0 -0
  194. /package/lib/clang/{21 → 23}/include/__wmmintrin_pclmul.h +0 -0
  195. /package/lib/clang/{21 → 23}/include/adcintrin.h +0 -0
  196. /package/lib/clang/{21 → 23}/include/adxintrin.h +0 -0
  197. /package/lib/clang/{21 → 23}/include/ammintrin.h +0 -0
  198. /package/lib/clang/{21 → 23}/include/amxcomplexintrin.h +0 -0
  199. /package/lib/clang/{21 → 23}/include/amxfp16intrin.h +0 -0
  200. /package/lib/clang/{21 → 23}/include/amxfp8intrin.h +0 -0
  201. /package/lib/clang/{21 → 23}/include/amxmovrsintrin.h +0 -0
  202. /package/lib/clang/{21 → 23}/include/arm_bf16.h +0 -0
  203. /package/lib/clang/{21 → 23}/include/arm_cde.h +0 -0
  204. /package/lib/clang/{21 → 23}/include/arm_cmse.h +0 -0
  205. /package/lib/clang/{21 → 23}/include/arm_fp16.h +0 -0
  206. /package/lib/clang/{21 → 23}/include/arm_mve.h +0 -0
  207. /package/lib/clang/{21 → 23}/include/arm_neon_sve_bridge.h +0 -0
  208. /package/lib/clang/{21 → 23}/include/arm_vector_types.h +0 -0
  209. /package/lib/clang/{21 → 23}/include/armintr.h +0 -0
  210. /package/lib/clang/{21 → 23}/include/avx10_2_512minmaxintrin.h +0 -0
  211. /package/lib/clang/{21 → 23}/include/avx10_2_512satcvtintrin.h +0 -0
  212. /package/lib/clang/{21 → 23}/include/avx10_2minmaxintrin.h +0 -0
  213. /package/lib/clang/{21 → 23}/include/avx10_2satcvtintrin.h +0 -0
  214. /package/lib/clang/{21 → 23}/include/avxneconvertintrin.h +0 -0
  215. /package/lib/clang/{21 → 23}/include/bmi2intrin.h +0 -0
  216. /package/lib/clang/{21 → 23}/include/bmiintrin.h +0 -0
  217. /package/lib/clang/{21 → 23}/include/builtins.h +0 -0
  218. /package/lib/clang/{21 → 23}/include/cet.h +0 -0
  219. /package/lib/clang/{21 → 23}/include/cetintrin.h +0 -0
  220. /package/lib/clang/{21 → 23}/include/cldemoteintrin.h +0 -0
  221. /package/lib/clang/{21 → 23}/include/clflushoptintrin.h +0 -0
  222. /package/lib/clang/{21 → 23}/include/clwbintrin.h +0 -0
  223. /package/lib/clang/{21 → 23}/include/clzerointrin.h +0 -0
  224. /package/lib/clang/{21 → 23}/include/cmpccxaddintrin.h +0 -0
  225. /package/lib/clang/{21 → 23}/include/cuda_wrappers/algorithm +0 -0
  226. /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/basic_string.h +0 -0
  227. /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
  228. /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/c++config.h +0 -0
  229. /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
  230. /package/lib/clang/{21 → 23}/include/cuda_wrappers/cmath +0 -0
  231. /package/lib/clang/{21 → 23}/include/cuda_wrappers/complex +0 -0
  232. /package/lib/clang/{21 → 23}/include/cuda_wrappers/new +0 -0
  233. /package/lib/clang/{21 → 23}/include/enqcmdintrin.h +0 -0
  234. /package/lib/clang/{21 → 23}/include/fxsrintrin.h +0 -0
  235. /package/lib/clang/{21 → 23}/include/hexagon_circ_brev_intrinsics.h +0 -0
  236. /package/lib/clang/{21 → 23}/include/hexagon_protos.h +0 -0
  237. /package/lib/clang/{21 → 23}/include/hlsl/hlsl_spirv.h +0 -0
  238. /package/lib/clang/{21 → 23}/include/hlsl.h +0 -0
  239. /package/lib/clang/{21 → 23}/include/hresetintrin.h +0 -0
  240. /package/lib/clang/{21 → 23}/include/htmintrin.h +0 -0
  241. /package/lib/clang/{21 → 23}/include/htmxlintrin.h +0 -0
  242. /package/lib/clang/{21 → 23}/include/ia32intrin.h +0 -0
  243. /package/lib/clang/{21 → 23}/include/intrin0.h +0 -0
  244. /package/lib/clang/{21 → 23}/include/inttypes.h +0 -0
  245. /package/lib/clang/{21 → 23}/include/invpcidintrin.h +0 -0
  246. /package/lib/clang/{21 → 23}/include/iso646.h +0 -0
  247. /package/lib/clang/{21 → 23}/include/keylockerintrin.h +0 -0
  248. /package/lib/clang/{21 → 23}/include/limits.h +0 -0
  249. /package/lib/clang/{21 → 23}/include/llvm_offload_wrappers/__llvm_offload.h +0 -0
  250. /package/lib/clang/{21 → 23}/include/llvm_offload_wrappers/__llvm_offload_device.h +0 -0
  251. /package/lib/clang/{21 → 23}/include/llvm_offload_wrappers/__llvm_offload_host.h +0 -0
  252. /package/lib/clang/{21 → 23}/include/lsxintrin.h +0 -0
  253. /package/lib/clang/{21 → 23}/include/lwpintrin.h +0 -0
  254. /package/lib/clang/{21 → 23}/include/lzcntintrin.h +0 -0
  255. /package/lib/clang/{21 → 23}/include/mm3dnow.h +0 -0
  256. /package/lib/clang/{21 → 23}/include/mm_malloc.h +0 -0
  257. /package/lib/clang/{21 → 23}/include/movdirintrin.h +0 -0
  258. /package/lib/clang/{21 → 23}/include/movrsintrin.h +0 -0
  259. /package/lib/clang/{21 → 23}/include/msa.h +0 -0
  260. /package/lib/clang/{21 → 23}/include/mwaitxintrin.h +0 -0
  261. /package/lib/clang/{21 → 23}/include/nmmintrin.h +0 -0
  262. /package/lib/clang/{21 → 23}/include/openmp_wrappers/cmath +0 -0
  263. /package/lib/clang/{21 → 23}/include/openmp_wrappers/complex_cmath.h +0 -0
  264. /package/lib/clang/{21 → 23}/include/openmp_wrappers/new +0 -0
  265. /package/lib/clang/{21 → 23}/include/pconfigintrin.h +0 -0
  266. /package/lib/clang/{21 → 23}/include/pkuintrin.h +0 -0
  267. /package/lib/clang/{21 → 23}/include/popcntintrin.h +0 -0
  268. /package/lib/clang/{21 → 23}/include/ppc_wrappers/bmi2intrin.h +0 -0
  269. /package/lib/clang/{21 → 23}/include/ppc_wrappers/bmiintrin.h +0 -0
  270. /package/lib/clang/{21 → 23}/include/ppc_wrappers/emmintrin.h +0 -0
  271. /package/lib/clang/{21 → 23}/include/ppc_wrappers/immintrin.h +0 -0
  272. /package/lib/clang/{21 → 23}/include/ppc_wrappers/mm_malloc.h +0 -0
  273. /package/lib/clang/{21 → 23}/include/ppc_wrappers/mmintrin.h +0 -0
  274. /package/lib/clang/{21 → 23}/include/ppc_wrappers/nmmintrin.h +0 -0
  275. /package/lib/clang/{21 → 23}/include/ppc_wrappers/pmmintrin.h +0 -0
  276. /package/lib/clang/{21 → 23}/include/ppc_wrappers/smmintrin.h +0 -0
  277. /package/lib/clang/{21 → 23}/include/ppc_wrappers/tmmintrin.h +0 -0
  278. /package/lib/clang/{21 → 23}/include/ppc_wrappers/x86gprintrin.h +0 -0
  279. /package/lib/clang/{21 → 23}/include/ppc_wrappers/x86intrin.h +0 -0
  280. /package/lib/clang/{21 → 23}/include/ppc_wrappers/xmmintrin.h +0 -0
  281. /package/lib/clang/{21 → 23}/include/prfchiintrin.h +0 -0
  282. /package/lib/clang/{21 → 23}/include/prfchwintrin.h +0 -0
  283. /package/lib/clang/{21 → 23}/include/ptwriteintrin.h +0 -0
  284. /package/lib/clang/{21 → 23}/include/raointintrin.h +0 -0
  285. /package/lib/clang/{21 → 23}/include/rdpruintrin.h +0 -0
  286. /package/lib/clang/{21 → 23}/include/rdseedintrin.h +0 -0
  287. /package/lib/clang/{21 → 23}/include/rtmintrin.h +0 -0
  288. /package/lib/clang/{21 → 23}/include/s390intrin.h +0 -0
  289. /package/lib/clang/{21 → 23}/include/serializeintrin.h +0 -0
  290. /package/lib/clang/{21 → 23}/include/sgxintrin.h +0 -0
  291. /package/lib/clang/{21 → 23}/include/sha512intrin.h +0 -0
  292. /package/lib/clang/{21 → 23}/include/shaintrin.h +0 -0
  293. /package/lib/clang/{21 → 23}/include/sm3intrin.h +0 -0
  294. /package/lib/clang/{21 → 23}/include/sm4intrin.h +0 -0
  295. /package/lib/clang/{21 → 23}/include/stdalign.h +0 -0
  296. /package/lib/clang/{21 → 23}/include/stdarg.h +0 -0
  297. /package/lib/clang/{21 → 23}/include/stdatomic.h +0 -0
  298. /package/lib/clang/{21 → 23}/include/stdbool.h +0 -0
  299. /package/lib/clang/{21 → 23}/include/stdckdint.h +0 -0
  300. /package/lib/clang/{21 → 23}/include/stdcountof.h +0 -0
  301. /package/lib/clang/{21 → 23}/include/stddef.h +0 -0
  302. /package/lib/clang/{21 → 23}/include/stdnoreturn.h +0 -0
  303. /package/lib/clang/{21 → 23}/include/tbmintrin.h +0 -0
  304. /package/lib/clang/{21 → 23}/include/tgmath.h +0 -0
  305. /package/lib/clang/{21 → 23}/include/tsxldtrkintrin.h +0 -0
  306. /package/lib/clang/{21 → 23}/include/uintrintrin.h +0 -0
  307. /package/lib/clang/{21 → 23}/include/unwind.h +0 -0
  308. /package/lib/clang/{21 → 23}/include/usermsrintrin.h +0 -0
  309. /package/lib/clang/{21 → 23}/include/vadefs.h +0 -0
  310. /package/lib/clang/{21 → 23}/include/varargs.h +0 -0
  311. /package/lib/clang/{21 → 23}/include/velintrin.h +0 -0
  312. /package/lib/clang/{21 → 23}/include/velintrin_approx.h +0 -0
  313. /package/lib/clang/{21 → 23}/include/velintrin_gen.h +0 -0
  314. /package/lib/clang/{21 → 23}/include/vpclmulqdqintrin.h +0 -0
  315. /package/lib/clang/{21 → 23}/include/waitpkgintrin.h +0 -0
  316. /package/lib/clang/{21 → 23}/include/wbnoinvdintrin.h +0 -0
  317. /package/lib/clang/{21 → 23}/include/wmmintrin.h +0 -0
  318. /package/lib/clang/{21 → 23}/include/x86gprintrin.h +0 -0
  319. /package/lib/clang/{21 → 23}/include/x86intrin.h +0 -0
  320. /package/lib/clang/{21 → 23}/include/xsavecintrin.h +0 -0
  321. /package/lib/clang/{21 → 23}/include/xsaveintrin.h +0 -0
  322. /package/lib/clang/{21 → 23}/include/xsaveoptintrin.h +0 -0
  323. /package/lib/clang/{21 → 23}/include/xsavesintrin.h +0 -0
  324. /package/lib/clang/{21 → 23}/include/xtestintrin.h +0 -0
  325. /package/lib/clang/{21 → 23}/include/yvals_core.h +0 -0
  326. /package/lib/clang/{21 → 23}/include/zos_wrappers/builtins.h +0 -0
@@ -32,34 +32,12 @@ _Pragma("push_macro(\"bool\")");
32
32
  #define bool _Bool
33
33
  #endif
34
34
 
35
- _Pragma("omp begin declare target device_type(nohost)");
36
- _Pragma("omp begin declare variant match(device = {kind(gpu)})");
37
-
38
- // Forward declare a few functions for the implementation header.
39
-
40
- // Returns a bitmask marking all lanes that have the same value of __x.
41
- _DEFAULT_FN_ATTRS static __inline__ uint64_t
42
- __gpu_match_any_u32_impl(uint64_t __lane_mask, uint32_t __x);
43
-
44
- // Returns a bitmask marking all lanes that have the same value of __x.
45
- _DEFAULT_FN_ATTRS static __inline__ uint64_t
46
- __gpu_match_any_u64_impl(uint64_t __lane_mask, uint64_t __x);
47
-
48
- // Returns the current lane mask if every lane contains __x.
49
- _DEFAULT_FN_ATTRS static __inline__ uint64_t
50
- __gpu_match_all_u32_impl(uint64_t __lane_mask, uint32_t __x);
51
-
52
- // Returns the current lane mask if every lane contains __x.
53
- _DEFAULT_FN_ATTRS static __inline__ uint64_t
54
- __gpu_match_all_u64_impl(uint64_t __lane_mask, uint64_t __x);
55
-
56
- _Pragma("omp end declare variant");
57
- _Pragma("omp end declare target");
58
-
59
35
  #if defined(__NVPTX__)
60
36
  #include <nvptxintrin.h>
61
37
  #elif defined(__AMDGPU__)
62
38
  #include <amdgpuintrin.h>
39
+ #elif defined(__SPIRV__)
40
+ #include <spirvintrin.h>
63
41
  #elif !defined(_OPENMP)
64
42
  #error "This header is only meant to be used on GPU architectures."
65
43
  #endif
@@ -67,6 +45,9 @@ _Pragma("omp end declare target");
67
45
  _Pragma("omp begin declare target device_type(nohost)");
68
46
  _Pragma("omp begin declare variant match(device = {kind(gpu)})");
69
47
 
48
+ // Attribute to declare a function as a kernel.
49
+ #define __gpu_kernel __attribute__((device_kernel, visibility("protected")))
50
+
70
51
  #define __GPU_X_DIM 0
71
52
  #define __GPU_Y_DIM 1
72
53
  #define __GPU_Z_DIM 2
@@ -81,7 +62,7 @@ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_blocks(int __dim) {
81
62
  case 2:
82
63
  return __gpu_num_blocks_z();
83
64
  default:
84
- __builtin_unreachable();
65
+ return 1;
85
66
  }
86
67
  }
87
68
 
@@ -95,7 +76,7 @@ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_block_id(int __dim) {
95
76
  case 2:
96
77
  return __gpu_block_id_z();
97
78
  default:
98
- __builtin_unreachable();
79
+ return 0;
99
80
  }
100
81
  }
101
82
 
@@ -109,7 +90,7 @@ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_threads(int __dim) {
109
90
  case 2:
110
91
  return __gpu_num_threads_z();
111
92
  default:
112
- __builtin_unreachable();
93
+ return 1;
113
94
  }
114
95
  }
115
96
 
@@ -123,7 +104,7 @@ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_thread_id(int __dim) {
123
104
  case 2:
124
105
  return __gpu_thread_id_z();
125
106
  default:
126
- __builtin_unreachable();
107
+ return 0;
127
108
  }
128
109
  }
129
110
 
@@ -142,11 +123,10 @@ __gpu_is_first_in_lane(uint64_t __lane_mask) {
142
123
  // Copies the value from the first active thread to the rest.
143
124
  _DEFAULT_FN_ATTRS static __inline__ uint64_t
144
125
  __gpu_read_first_lane_u64(uint64_t __lane_mask, uint64_t __x) {
145
- uint32_t __hi = (uint32_t)(__x >> 32ull);
146
- uint32_t __lo = (uint32_t)(__x & 0xFFFFFFFFull);
147
- return ((uint64_t)__gpu_read_first_lane_u32(__lane_mask, __hi) << 32ull) |
148
- ((uint64_t)__gpu_read_first_lane_u32(__lane_mask, __lo) &
149
- 0xFFFFFFFFull);
126
+ uint32_t __hi = (uint32_t)(__x >> 32);
127
+ uint32_t __lo = (uint32_t)(__x & 0xFFFFFFFF);
128
+ return ((uint64_t)__gpu_read_first_lane_u32(__lane_mask, __hi) << 32) |
129
+ ((uint64_t)__gpu_read_first_lane_u32(__lane_mask, __lo) & 0xFFFFFFFF);
150
130
  }
151
131
 
152
132
  // Gets the first floating point value from the active lanes.
@@ -169,11 +149,10 @@ __gpu_read_first_lane_f64(uint64_t __lane_mask, double __x) {
169
149
  _DEFAULT_FN_ATTRS static __inline__ uint64_t
170
150
  __gpu_shuffle_idx_u64(uint64_t __lane_mask, uint32_t __idx, uint64_t __x,
171
151
  uint32_t __width) {
172
- uint32_t __hi = (uint32_t)(__x >> 32ull);
152
+ uint32_t __hi = (uint32_t)(__x >> 32);
173
153
  uint32_t __lo = (uint32_t)(__x & 0xFFFFFFFF);
174
154
  uint32_t __mask = (uint32_t)__lane_mask;
175
- return ((uint64_t)__gpu_shuffle_idx_u32(__mask, __idx, __hi, __width)
176
- << 32ull) |
155
+ return ((uint64_t)__gpu_shuffle_idx_u32(__mask, __idx, __hi, __width) << 32) |
177
156
  ((uint64_t)__gpu_shuffle_idx_u32(__mask, __idx, __lo, __width));
178
157
  }
179
158
 
@@ -196,125 +175,166 @@ __gpu_shuffle_idx_f64(uint64_t __lane_mask, uint32_t __idx, double __x,
196
175
  __builtin_bit_cast(uint64_t, __x), __width));
197
176
  }
198
177
 
199
- // Gets the accumulator scan of the threads in the warp or wavefront.
200
- #define __DO_LANE_SCAN(__type, __bitmask_type, __suffix) \
201
- _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_lane_scan_##__suffix( \
202
- uint64_t __lane_mask, uint32_t __x) { \
203
- uint64_t __first = __lane_mask >> __builtin_ctzll(__lane_mask); \
204
- bool __divergent = __gpu_read_first_lane_##__suffix( \
205
- __lane_mask, __first & (__first + 1)); \
206
- if (__divergent) { \
207
- __type __accum = 0; \
208
- for (uint64_t __mask = __lane_mask; __mask; __mask &= __mask - 1) { \
209
- __type __index = __builtin_ctzll(__mask); \
210
- __type __tmp = __gpu_shuffle_idx_##__suffix(__lane_mask, __index, __x, \
211
- __gpu_num_lanes()); \
212
- __x = __gpu_lane_id() == __index ? __accum + __tmp : __x; \
213
- __accum += __tmp; \
214
- } \
215
- } else { \
216
- for (uint32_t __step = 1; __step < __gpu_num_lanes(); __step *= 2) { \
217
- uint32_t __index = __gpu_lane_id() - __step; \
218
- __bitmask_type bitmask = __gpu_lane_id() >= __step; \
219
- __x += __builtin_bit_cast( \
220
- __type, \
221
- -bitmask & __builtin_bit_cast(__bitmask_type, \
222
- __gpu_shuffle_idx_##__suffix( \
223
- __lane_mask, __index, __x, \
224
- __gpu_num_lanes()))); \
225
- } \
178
+ // Implements scan and reduction operations across a GPU warp or wavefront.
179
+ //
180
+ // Both scans work by iterating log2(N) steps. The bitmask tracks the currently
181
+ // unprocessed lanes, above or below the current lane in the case of a suffix or
182
+ // prefix scan. Each iteration we shuffle in the unprocessed neighbors and then
183
+ // clear the bits that this operation handled.
184
+ #define __DO_LANE_OPS(__type, __op, __identity, __prefix, __suffix) \
185
+ _DEFAULT_FN_ATTRS static __inline__ __type \
186
+ __gpu_suffix_scan_##__prefix##_##__suffix(uint64_t __lane_mask, \
187
+ __type __x) { \
188
+ uint64_t __above = __lane_mask & -(UINT64_C(2) << __gpu_lane_id()); \
189
+ for (uint32_t __step = 1; __step < __gpu_num_lanes(); __step *= 2) { \
190
+ uint32_t __src = __builtin_ctzg(__above, (int)sizeof(__above) * 8); \
191
+ __type __result = __gpu_shuffle_idx_##__suffix(__lane_mask, __src, __x, \
192
+ __gpu_num_lanes()); \
193
+ __x = __op(__x, __above ? __result : (__type)__identity); \
194
+ for (uint32_t __i = 0; __i < __step; ++__i) \
195
+ __above &= __above - 1; \
226
196
  } \
227
197
  return __x; \
228
- }
229
- __DO_LANE_SCAN(uint32_t, uint32_t, u32); // uint32_t __gpu_lane_scan_u32(m, x)
230
- __DO_LANE_SCAN(uint64_t, uint64_t, u64); // uint64_t __gpu_lane_scan_u64(m, x)
231
- __DO_LANE_SCAN(float, uint32_t, f32); // float __gpu_lane_scan_f32(m, x)
232
- __DO_LANE_SCAN(double, uint64_t, f64); // double __gpu_lane_scan_f64(m, x)
233
- #undef __DO_LANE_SCAN
234
-
235
- // Gets the sum of all lanes inside the warp or wavefront.
236
- #define __DO_LANE_SUM(__type, __suffix) \
237
- _DEFAULT_FN_ATTRS static __inline__ __type __gpu_lane_sum_##__suffix( \
238
- uint64_t __lane_mask, __type __x) { \
239
- uint64_t __first = __lane_mask >> __builtin_ctzll(__lane_mask); \
240
- bool __divergent = __gpu_read_first_lane_##__suffix( \
241
- __lane_mask, __first & (__first + 1)); \
242
- if (__divergent) { \
243
- return __gpu_shuffle_idx_##__suffix( \
244
- __lane_mask, 63 - __builtin_clzll(__lane_mask), \
245
- __gpu_lane_scan_##__suffix(__lane_mask, __x), __gpu_num_lanes()); \
246
- } else { \
247
- for (uint32_t __step = 1; __step < __gpu_num_lanes(); __step *= 2) { \
248
- uint32_t __index = __step + __gpu_lane_id(); \
249
- __x += __gpu_shuffle_idx_##__suffix(__lane_mask, __index, __x, \
250
- __gpu_num_lanes()); \
251
- } \
252
- return __gpu_read_first_lane_##__suffix(__lane_mask, __x); \
198
+ } \
199
+ \
200
+ _DEFAULT_FN_ATTRS static __inline__ __type \
201
+ __gpu_prefix_scan_##__prefix##_##__suffix(uint64_t __lane_mask, \
202
+ __type __x) { \
203
+ uint64_t __below = __lane_mask & ((UINT64_C(1) << __gpu_lane_id()) - 1); \
204
+ for (uint32_t __step = 1; __step < __gpu_num_lanes(); __step *= 2) { \
205
+ uint32_t __src = 63 - __builtin_clzg(__below, (int)sizeof(__below) * 8); \
206
+ __type __result = __gpu_shuffle_idx_##__suffix(__lane_mask, __src, __x, \
207
+ __gpu_num_lanes()); \
208
+ __x = __op(__x, __below ? __result : (__type)__identity); \
209
+ for (uint32_t __i = 0; __i < __step; ++__i) \
210
+ __below ^= \
211
+ (UINT64_C(1) << (63 - __builtin_clzg(__below, 0))) & __below; \
253
212
  } \
213
+ return __x; \
214
+ } \
215
+ \
216
+ _DEFAULT_FN_ATTRS static __inline__ __type \
217
+ __gpu_lane_##__prefix##_##__suffix(uint64_t __lane_mask, __type __x) { \
218
+ return __gpu_read_first_lane_##__suffix( \
219
+ __lane_mask, \
220
+ __gpu_suffix_scan_##__prefix##_##__suffix(__lane_mask, __x)); \
254
221
  }
255
- __DO_LANE_SUM(uint32_t, u32); // uint32_t __gpu_lane_sum_u32(m, x)
256
- __DO_LANE_SUM(uint64_t, u64); // uint64_t __gpu_lane_sum_u64(m, x)
257
- __DO_LANE_SUM(float, f32); // float __gpu_lane_sum_f32(m, x)
258
- __DO_LANE_SUM(double, f64); // double __gpu_lane_sum_f64(m, x)
259
- #undef __DO_LANE_SUM
222
+
223
+ #define __GPU_OP(__x, __y) ((__x) + (__y))
224
+ __DO_LANE_OPS(uint32_t, __GPU_OP, 0, add, u32);
225
+ __DO_LANE_OPS(uint64_t, __GPU_OP, 0, add, u64);
226
+ __DO_LANE_OPS(float, __GPU_OP, 0, add, f32);
227
+ __DO_LANE_OPS(double, __GPU_OP, 0, add, f64);
228
+ #undef __GPU_OP
229
+
230
+ #define __GPU_OP(__x, __y) ((__x) & (__y))
231
+ __DO_LANE_OPS(uint32_t, __GPU_OP, UINT32_MAX, and, u32);
232
+ __DO_LANE_OPS(uint64_t, __GPU_OP, UINT64_MAX, and, u64);
233
+ #undef __GPU_OP
234
+
235
+ #define __GPU_OP(__x, __y) ((__x) | (__y))
236
+ __DO_LANE_OPS(uint32_t, __GPU_OP, 0, or, u32);
237
+ __DO_LANE_OPS(uint64_t, __GPU_OP, 0, or, u64);
238
+ #undef __GPU_OP
239
+
240
+ #define __GPU_OP(__x, __y) ((__x) ^ (__y))
241
+ __DO_LANE_OPS(uint32_t, __GPU_OP, 0, xor, u32);
242
+ __DO_LANE_OPS(uint64_t, __GPU_OP, 0, xor, u64);
243
+ #undef __GPU_OP
244
+
245
+ #define __GPU_OP(__x, __y) ((__x) < (__y) ? (__x) : (__y))
246
+ __DO_LANE_OPS(uint32_t, __GPU_OP, UINT32_MAX, min, u32);
247
+ __DO_LANE_OPS(uint64_t, __GPU_OP, UINT64_MAX, min, u64);
248
+ #undef __GPU_OP
249
+
250
+ #define __GPU_OP(__x, __y) ((__x) > (__y) ? (__x) : (__y))
251
+ __DO_LANE_OPS(uint32_t, __GPU_OP, 0, max, u32);
252
+ __DO_LANE_OPS(uint64_t, __GPU_OP, 0, max, u64);
253
+ #undef __GPU_OP
254
+
255
+ #define __GPU_OP(__x, __y) __builtin_elementwise_minnum((__x), (__y))
256
+ __DO_LANE_OPS(float, __GPU_OP, __builtin_inff(), minnum, f32);
257
+ __DO_LANE_OPS(double, __GPU_OP, __builtin_inf(), minnum, f64);
258
+ #undef __GPU_OP
259
+
260
+ #define __GPU_OP(__x, __y) __builtin_elementwise_maxnum((__x), (__y))
261
+ __DO_LANE_OPS(float, __GPU_OP, -__builtin_inff(), maxnum, f32);
262
+ __DO_LANE_OPS(double, __GPU_OP, -__builtin_inf(), maxnum, f64);
263
+ #undef __GPU_OP
264
+
265
+ #undef __DO_LANE_OPS
260
266
 
261
267
  // Returns a bitmask marking all lanes that have the same value of __x.
268
+ #ifndef __gpu_match_any_u32_impl
262
269
  _DEFAULT_FN_ATTRS static __inline__ uint64_t
263
- __gpu_match_any_u32_impl(uint64_t __lane_mask, uint32_t __x) {
270
+ __gpu_match_any_u32(uint64_t __lane_mask, uint32_t __x) {
264
271
  uint64_t __match_mask = 0;
265
272
 
266
273
  bool __done = 0;
267
274
  for (uint64_t __active_mask = __lane_mask; __active_mask;
268
275
  __active_mask = __gpu_ballot(__lane_mask, !__done)) {
269
276
  if (!__done) {
270
- uint32_t __first = __gpu_read_first_lane_u32(__active_mask, __x);
277
+ uint32_t __first = __gpu_shuffle_idx_u32(
278
+ __active_mask, __builtin_ctzg(__active_mask), __x, __gpu_num_lanes());
279
+ uint64_t __ballot = __gpu_ballot(__active_mask, __first == __x);
271
280
  if (__first == __x) {
272
- __match_mask = __gpu_lane_mask();
281
+ __match_mask = __ballot;
273
282
  __done = 1;
274
283
  }
275
284
  }
276
285
  }
277
- __gpu_sync_lane(__lane_mask);
278
286
  return __match_mask;
279
287
  }
288
+ #endif
289
+ #undef __gpu_match_any_u32_impl
280
290
 
281
291
  // Returns a bitmask marking all lanes that have the same value of __x.
292
+ #ifndef __gpu_match_any_u64_impl
282
293
  _DEFAULT_FN_ATTRS static __inline__ uint64_t
283
- __gpu_match_any_u64_impl(uint64_t __lane_mask, uint64_t __x) {
294
+ __gpu_match_any_u64(uint64_t __lane_mask, uint64_t __x) {
284
295
  uint64_t __match_mask = 0;
285
296
 
286
297
  bool __done = 0;
287
298
  for (uint64_t __active_mask = __lane_mask; __active_mask;
288
299
  __active_mask = __gpu_ballot(__lane_mask, !__done)) {
289
300
  if (!__done) {
290
- uint64_t __first = __gpu_read_first_lane_u64(__active_mask, __x);
301
+ uint64_t __first = __gpu_shuffle_idx_u64(
302
+ __active_mask, __builtin_ctzg(__active_mask), __x, __gpu_num_lanes());
303
+ uint64_t __ballot = __gpu_ballot(__active_mask, __first == __x);
291
304
  if (__first == __x) {
292
- __match_mask = __gpu_lane_mask();
305
+ __match_mask = __ballot;
293
306
  __done = 1;
294
307
  }
295
308
  }
296
309
  }
297
- __gpu_sync_lane(__lane_mask);
298
310
  return __match_mask;
299
311
  }
312
+ #endif
313
+ #undef __gpu_match_any_u64_impl
300
314
 
301
315
  // Returns the current lane mask if every lane contains __x.
316
+ #ifndef __gpu_match_all_u32_impl
302
317
  _DEFAULT_FN_ATTRS static __inline__ uint64_t
303
- __gpu_match_all_u32_impl(uint64_t __lane_mask, uint32_t __x) {
304
- uint32_t __first = __gpu_read_first_lane_u32(__lane_mask, __x);
318
+ __gpu_match_all_u32(uint64_t __lane_mask, uint32_t __x) {
319
+ uint32_t __first = __gpu_shuffle_idx_u32(
320
+ __lane_mask, __builtin_ctzg(__lane_mask), __x, __gpu_num_lanes());
305
321
  uint64_t __ballot = __gpu_ballot(__lane_mask, __x == __first);
306
- __gpu_sync_lane(__lane_mask);
307
- return __ballot == __gpu_lane_mask() ? __gpu_lane_mask() : 0ull;
322
+ return __ballot == __lane_mask ? __lane_mask : UINT64_C(0);
308
323
  }
324
+ #endif
325
+ #undef __gpu_match_all_u32_impl
309
326
 
310
327
  // Returns the current lane mask if every lane contains __x.
328
+ #ifndef __gpu_match_all_u64_impl
311
329
  _DEFAULT_FN_ATTRS static __inline__ uint64_t
312
- __gpu_match_all_u64_impl(uint64_t __lane_mask, uint64_t __x) {
313
- uint64_t __first = __gpu_read_first_lane_u64(__lane_mask, __x);
330
+ __gpu_match_all_u64(uint64_t __lane_mask, uint64_t __x) {
331
+ uint64_t __first = __gpu_shuffle_idx_u64(
332
+ __lane_mask, __builtin_ctzg(__lane_mask), __x, __gpu_num_lanes());
314
333
  uint64_t __ballot = __gpu_ballot(__lane_mask, __x == __first);
315
- __gpu_sync_lane(__lane_mask);
316
- return __ballot == __gpu_lane_mask() ? __gpu_lane_mask() : 0ull;
334
+ return __ballot == __lane_mask ? __lane_mask : UINT64_C(0);
317
335
  }
336
+ #endif
337
+ #undef __gpu_match_all_u64_impl
318
338
 
319
339
  _Pragma("omp end declare variant");
320
340
  _Pragma("omp end declare target");
@@ -11,6 +11,11 @@
11
11
 
12
12
  #include <hexagon_protos.h>
13
13
 
14
+ // Save and undefine B0 to avoid conflicts with POSIX termios.h which
15
+ // defines B0 as a macro for baud rate 0.
16
+ #pragma push_macro("B0")
17
+ #undef B0
18
+
14
19
  /* Hexagon names */
15
20
  #define HEXAGON_Vect HEXAGON_Vect64
16
21
  #define HEXAGON_V_GET_D HEXAGON_V64_GET_D
@@ -697,9 +702,8 @@ public:
697
702
  };
698
703
 
699
704
  // Extract byte methods
700
- signed char B0(void) {
701
- return HEXAGON_V64_GET_B0(data);
702
- };
705
+ signed char b0(void) { return HEXAGON_V64_GET_B0(data); };
706
+ signed char B0(void) { return b0(); };
703
707
  signed char B1(void) {
704
708
  return HEXAGON_V64_GET_B1(data);
705
709
  };
@@ -776,9 +780,10 @@ public:
776
780
  };
777
781
 
778
782
  // Set byte methods
779
- HEXAGON_Vect64C B0(signed char b) {
783
+ HEXAGON_Vect64C b0(signed char b) {
780
784
  return HEXAGON_Vect64C(HEXAGON_V64_PUT_B0(data, b));
781
785
  };
786
+ HEXAGON_Vect64C B0(signed char b) { return b0(b); };
782
787
  HEXAGON_Vect64C B1(signed char b) {
783
788
  return HEXAGON_Vect64C(HEXAGON_V64_PUT_B1(data, b));
784
789
  };
@@ -1121,9 +1126,8 @@ public:
1121
1126
  };
1122
1127
 
1123
1128
  // Extract byte methods
1124
- signed char B0(void) {
1125
- return HEXAGON_V32_GET_B0(data);
1126
- };
1129
+ signed char b0(void) { return HEXAGON_V32_GET_B0(data); };
1130
+ signed char B0(void) { return b0(); };
1127
1131
  signed char B1(void) {
1128
1132
  return HEXAGON_V32_GET_B1(data);
1129
1133
  };
@@ -1162,9 +1166,10 @@ public:
1162
1166
  };
1163
1167
 
1164
1168
  // Set byte methods
1165
- HEXAGON_Vect32C B0(signed char b) {
1169
+ HEXAGON_Vect32C b0(signed char b) {
1166
1170
  return HEXAGON_Vect32C(HEXAGON_V32_PUT_B0(data, b));
1167
1171
  };
1172
+ HEXAGON_Vect32C B0(signed char b) { return b0(b); };
1168
1173
  HEXAGON_Vect32C B1(signed char b) {
1169
1174
  return HEXAGON_Vect32C(HEXAGON_V32_PUT_B1(data, b));
1170
1175
  };
@@ -1924,9 +1929,8 @@ public:
1924
1929
  };
1925
1930
 
1926
1931
  // Extract byte methods
1927
- signed char B0(void) {
1928
- return Q6V64_GET_B0(data);
1929
- };
1932
+ signed char b0(void) { return Q6V64_GET_B0(data); };
1933
+ signed char B0(void) { return b0(); };
1930
1934
  signed char B1(void) {
1931
1935
  return Q6V64_GET_B1(data);
1932
1936
  };
@@ -2003,9 +2007,8 @@ public:
2003
2007
  };
2004
2008
 
2005
2009
  // Set byte methods
2006
- Q6Vect64C B0(signed char b) {
2007
- return Q6Vect64C(Q6V64_PUT_B0(data, b));
2008
- };
2010
+ Q6Vect64C b0(signed char b) { return Q6Vect64C(Q6V64_PUT_B0(data, b)); };
2011
+ Q6Vect64C B0(signed char b) { return b0(b); };
2009
2012
  Q6Vect64C B1(signed char b) {
2010
2013
  return Q6Vect64C(Q6V64_PUT_B1(data, b));
2011
2014
  };
@@ -2348,9 +2351,8 @@ public:
2348
2351
  };
2349
2352
 
2350
2353
  // Extract byte methods
2351
- signed char B0(void) {
2352
- return Q6V32_GET_B0(data);
2353
- };
2354
+ signed char b0(void) { return Q6V32_GET_B0(data); };
2355
+ signed char B0(void) { return b0(); };
2354
2356
  signed char B1(void) {
2355
2357
  return Q6V32_GET_B1(data);
2356
2358
  };
@@ -2389,9 +2391,8 @@ public:
2389
2391
  };
2390
2392
 
2391
2393
  // Set byte methods
2392
- Q6Vect32C B0(signed char b) {
2393
- return Q6Vect32C(Q6V32_PUT_B0(data, b));
2394
- };
2394
+ Q6Vect32C b0(signed char b) { return Q6Vect32C(Q6V32_PUT_B0(data, b)); };
2395
+ Q6Vect32C B0(signed char b) { return b0(b); };
2395
2396
  Q6Vect32C B1(signed char b) {
2396
2397
  return Q6Vect32C(Q6V32_PUT_B1(data, b));
2397
2398
  };
@@ -2622,4 +2623,6 @@ typedef struct hexagon_udma_descriptor_type1_s
2622
2623
  unsigned int dstwidthoffset:16;
2623
2624
  } hexagon_udma_descriptor_type1_t;
2624
2625
 
2626
+ #pragma pop_macro("B0")
2627
+
2625
2628
  #endif /* !HEXAGON_TYPES_H */