@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
@@ -14,6 +14,7 @@
14
14
  #ifndef __AVXVNNIINT8INTRIN_H
15
15
  #define __AVXVNNIINT8INTRIN_H
16
16
 
17
+ // clang-format off
17
18
  /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
18
19
  /// corresponding signed 8-bit integers in \a __B, producing 4 intermediate
19
20
  /// signed 16-bit results. Sum these 4 results with the corresponding
@@ -44,10 +45,12 @@
44
45
  /// ENDFOR
45
46
  /// dst[MAX:128] := 0
46
47
  /// \endcode
48
+ // clang-format on
47
49
  #define _mm_dpbssd_epi32(__W, __A, __B) \
48
- ((__m128i)__builtin_ia32_vpdpbssd128((__v4si)(__W), (__v4si)(__A), \
49
- (__v4si)(__B)))
50
+ ((__m128i)__builtin_ia32_vpdpbssd128((__v4si)(__W), (__v16qi)(__A), \
51
+ (__v16qi)(__B)))
50
52
 
53
+ // clang-format off
51
54
  /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
52
55
  /// corresponding signed 8-bit integers in \a __B, producing 4 intermediate
53
56
  /// signed 16-bit results. Sum these 4 results with the corresponding
@@ -78,10 +81,12 @@
78
81
  /// ENDFOR
79
82
  /// dst[MAX:256] := 0
80
83
  /// \endcode
84
+ // clang-format on
81
85
  #define _mm256_dpbssd_epi32(__W, __A, __B) \
82
- ((__m256i)__builtin_ia32_vpdpbssd256((__v8si)(__W), (__v8si)(__A), \
83
- (__v8si)(__B)))
86
+ ((__m256i)__builtin_ia32_vpdpbssd256((__v8si)(__W), (__v32qi)(__A), \
87
+ (__v32qi)(__B)))
84
88
 
89
+ // clang-format off
85
90
  /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
86
91
  /// corresponding signed 8-bit integers in \a __B, producing 4 intermediate
87
92
  /// signed 16-bit results. Sum these 4 results with the corresponding
@@ -94,7 +99,7 @@
94
99
  /// _mm_dpbssds_epi32( __m128i __W, __m128i __A, __m128i __B);
95
100
  /// \endcode
96
101
  ///
97
- /// This intrinsic corresponds to the \c VPDPBSSD instruction.
102
+ /// This intrinsic corresponds to the \c VPDPBSSDS instruction.
98
103
  ///
99
104
  /// \param __A
100
105
  /// A 128-bit vector of [16 x char].
@@ -113,10 +118,12 @@
113
118
  /// ENDFOR
114
119
  /// dst[MAX:128] := 0
115
120
  /// \endcode
121
+ // clang-format on
116
122
  #define _mm_dpbssds_epi32(__W, __A, __B) \
117
- ((__m128i)__builtin_ia32_vpdpbssds128((__v4si)(__W), (__v4si)(__A), \
118
- (__v4si)(__B)))
123
+ ((__m128i)__builtin_ia32_vpdpbssds128((__v4si)(__W), (__v16qi)(__A), \
124
+ (__v16qi)(__B)))
119
125
 
126
+ // clang-format off
120
127
  /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
121
128
  /// corresponding signed 8-bit integers in \a __B, producing 4 intermediate
122
129
  /// signed 16-bit results. Sum these 4 results with the corresponding
@@ -129,7 +136,7 @@
129
136
  /// _mm256_dpbssds_epi32(__m256i __W, __m256i __A, __m256i __B);
130
137
  /// \endcode
131
138
  ///
132
- /// This intrinsic corresponds to the \c VPDPBSSD instruction.
139
+ /// This intrinsic corresponds to the \c VPDPBSSDS instruction.
133
140
  ///
134
141
  /// \param __A
135
142
  /// A 256-bit vector of [32 x char].
@@ -148,10 +155,12 @@
148
155
  /// ENDFOR
149
156
  /// dst[MAX:256] := 0
150
157
  /// \endcode
158
+ // clang-format on
151
159
  #define _mm256_dpbssds_epi32(__W, __A, __B) \
152
- ((__m256i)__builtin_ia32_vpdpbssds256((__v8si)(__W), (__v8si)(__A), \
153
- (__v8si)(__B)))
160
+ ((__m256i)__builtin_ia32_vpdpbssds256((__v8si)(__W), (__v32qi)(__A), \
161
+ (__v32qi)(__B)))
154
162
 
163
+ // clang-format off
155
164
  /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
156
165
  /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
157
166
  /// signed 16-bit results. Sum these 4 results with the corresponding
@@ -163,7 +172,7 @@
163
172
  /// _mm_dpbsud_epi32(__m128i __W, __m128i __A, __m128i __B);
164
173
  /// \endcode
165
174
  ///
166
- /// This intrinsic corresponds to the \c VPDPBSSD instruction.
175
+ /// This intrinsic corresponds to the \c VPDPBSUD instruction.
167
176
  ///
168
177
  /// \param __A
169
178
  /// A 128-bit vector of [16 x char].
@@ -182,10 +191,12 @@
182
191
  /// ENDFOR
183
192
  /// dst[MAX:128] := 0
184
193
  /// \endcode
194
+ // clang-format on
185
195
  #define _mm_dpbsud_epi32(__W, __A, __B) \
186
- ((__m128i)__builtin_ia32_vpdpbsud128((__v4si)(__W), (__v4si)(__A), \
187
- (__v4si)(__B)))
196
+ ((__m128i)__builtin_ia32_vpdpbsud128((__v4si)(__W), (__v16qi)(__A), \
197
+ (__v16qu)(__B)))
188
198
 
199
+ // clang-format off
189
200
  /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
190
201
  /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
191
202
  /// signed 16-bit results. Sum these 4 results with the corresponding
@@ -197,7 +208,7 @@
197
208
  /// _mm256_dpbsud_epi32(__m256i __W, __m256i __A, __m256i __B);
198
209
  /// \endcode
199
210
  ///
200
- /// This intrinsic corresponds to the \c VPDPBSSD instruction.
211
+ /// This intrinsic corresponds to the \c VPDPBSUD instruction.
201
212
  ///
202
213
  /// \param __A
203
214
  /// A 256-bit vector of [32 x char].
@@ -216,10 +227,12 @@
216
227
  /// ENDFOR
217
228
  /// dst[MAX:256] := 0
218
229
  /// \endcode
230
+ // clang-format on
219
231
  #define _mm256_dpbsud_epi32(__W, __A, __B) \
220
- ((__m256i)__builtin_ia32_vpdpbsud256((__v8si)(__W), (__v8si)(__A), \
221
- (__v8si)(__B)))
232
+ ((__m256i)__builtin_ia32_vpdpbsud256((__v8si)(__W), (__v32qi)(__A), \
233
+ (__v32qu)(__B)))
222
234
 
235
+ // clang-format off
223
236
  /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
224
237
  /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
225
238
  /// signed 16-bit results. Sum these 4 results with the corresponding
@@ -232,7 +245,7 @@
232
245
  /// _mm_dpbsuds_epi32( __m128i __W, __m128i __A, __m128i __B);
233
246
  /// \endcode
234
247
  ///
235
- /// This intrinsic corresponds to the \c VPDPBSSD instruction.
248
+ /// This intrinsic corresponds to the \c VPDPBSUDS instruction.
236
249
  ///
237
250
  /// \param __A
238
251
  /// A 128-bit vector of [16 x char].
@@ -251,10 +264,12 @@
251
264
  /// ENDFOR
252
265
  /// dst[MAX:128] := 0
253
266
  /// \endcode
267
+ // clang-format on
254
268
  #define _mm_dpbsuds_epi32(__W, __A, __B) \
255
- ((__m128i)__builtin_ia32_vpdpbsuds128((__v4si)(__W), (__v4si)(__A), \
256
- (__v4si)(__B)))
269
+ ((__m128i)__builtin_ia32_vpdpbsuds128((__v4si)(__W), (__v16qi)(__A), \
270
+ (__v16qu)(__B)))
257
271
 
272
+ // clang-format off
258
273
  /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
259
274
  /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
260
275
  /// signed 16-bit results. Sum these 4 results with the corresponding
@@ -267,7 +282,7 @@
267
282
  /// _mm256_dpbsuds_epi32(__m256i __W, __m256i __A, __m256i __B);
268
283
  /// \endcode
269
284
  ///
270
- /// This intrinsic corresponds to the \c VPDPBSSD instruction.
285
+ /// This intrinsic corresponds to the \c VPDPBSUDS instruction.
271
286
  ///
272
287
  /// \param __A
273
288
  /// A 256-bit vector of [32 x char].
@@ -286,10 +301,12 @@
286
301
  /// ENDFOR
287
302
  /// dst[MAX:256] := 0
288
303
  /// \endcode
304
+ // clang-format on
289
305
  #define _mm256_dpbsuds_epi32(__W, __A, __B) \
290
- ((__m256i)__builtin_ia32_vpdpbsuds256((__v8si)(__W), (__v8si)(__A), \
291
- (__v8si)(__B)))
306
+ ((__m256i)__builtin_ia32_vpdpbsuds256((__v8si)(__W), (__v32qi)(__A), \
307
+ (__v32qu)(__B)))
292
308
 
309
+ // clang-format off
293
310
  /// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
294
311
  /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
295
312
  /// signed 16-bit results. Sum these 4 results with the corresponding
@@ -301,7 +318,7 @@
301
318
  /// _mm_dpbuud_epi32(__m128i __W, __m128i __A, __m128i __B);
302
319
  /// \endcode
303
320
  ///
304
- /// This intrinsic corresponds to the \c VPDPBSSD instruction.
321
+ /// This intrinsic corresponds to the \c VPDPBUUD instruction.
305
322
  ///
306
323
  /// \param __A
307
324
  /// A 128-bit vector of [16 x unsigned char].
@@ -320,10 +337,12 @@
320
337
  /// ENDFOR
321
338
  /// dst[MAX:128] := 0
322
339
  /// \endcode
340
+ // clang-format on
323
341
  #define _mm_dpbuud_epi32(__W, __A, __B) \
324
- ((__m128i)__builtin_ia32_vpdpbuud128((__v4si)(__W), (__v4si)(__A), \
325
- (__v4si)(__B)))
342
+ ((__m128i)__builtin_ia32_vpdpbuud128((__v4si)(__W), (__v16qu)(__A), \
343
+ (__v16qu)(__B)))
326
344
 
345
+ // clang-format off
327
346
  /// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
328
347
  /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
329
348
  /// signed 16-bit results. Sum these 4 results with the corresponding
@@ -335,7 +354,7 @@
335
354
  /// _mm256_dpbuud_epi32(__m256i __W, __m256i __A, __m256i __B);
336
355
  /// \endcode
337
356
  ///
338
- /// This intrinsic corresponds to the \c VPDPBSSD instruction.
357
+ /// This intrinsic corresponds to the \c VPDPBUUD instruction.
339
358
  ///
340
359
  /// \param __A
341
360
  /// A 256-bit vector of [32 x unsigned char].
@@ -354,10 +373,12 @@
354
373
  /// ENDFOR
355
374
  /// dst[MAX:256] := 0
356
375
  /// \endcode
376
+ // clang-format on
357
377
  #define _mm256_dpbuud_epi32(__W, __A, __B) \
358
- ((__m256i)__builtin_ia32_vpdpbuud256((__v8si)(__W), (__v8si)(__A), \
359
- (__v8si)(__B)))
378
+ ((__m256i)__builtin_ia32_vpdpbuud256((__v8si)(__W), (__v32qu)(__A), \
379
+ (__v32qu)(__B)))
360
380
 
381
+ // clang-format off
361
382
  /// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
362
383
  /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
363
384
  /// signed 16-bit results. Sum these 4 results with the corresponding
@@ -389,10 +410,12 @@
389
410
  /// ENDFOR
390
411
  /// dst[MAX:128] := 0
391
412
  /// \endcode
413
+ // clang-format on
392
414
  #define _mm_dpbuuds_epi32(__W, __A, __B) \
393
- ((__m128i)__builtin_ia32_vpdpbuuds128((__v4si)(__W), (__v4si)(__A), \
394
- (__v4si)(__B)))
415
+ ((__m128i)__builtin_ia32_vpdpbuuds128((__v4si)(__W), (__v16qu)(__A), \
416
+ (__v16qu)(__B)))
395
417
 
418
+ // clang-format off
396
419
  /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
397
420
  /// signed 16-bit results. Sum these 4 results with the corresponding
398
421
  /// 32-bit integer in \a __W with signed saturation, and store the packed
@@ -423,8 +446,9 @@
423
446
  /// ENDFOR
424
447
  /// dst[MAX:256] := 0
425
448
  /// \endcode
449
+ // clang-format on
426
450
  #define _mm256_dpbuuds_epi32(__W, __A, __B) \
427
- ((__m256i)__builtin_ia32_vpdpbuuds256((__v8si)(__W), (__v8si)(__A), \
428
- (__v8si)(__B)))
451
+ ((__m256i)__builtin_ia32_vpdpbuuds256((__v8si)(__W), (__v32qu)(__A), \
452
+ (__v32qu)(__B)))
429
453
 
430
454
  #endif // __AVXVNNIINT8INTRIN_H
@@ -40,8 +40,21 @@
40
40
 
41
41
  /* Intrinsics with _avx_ prefix are for compatibility with msvc. */
42
42
  /* Define the default attributes for the functions in this file. */
43
- #define __DEFAULT_FN_ATTRS256 __attribute__((__always_inline__, __nodebug__, __target__("avxvnni"), __min_vector_width__(256)))
44
- #define __DEFAULT_FN_ATTRS128 __attribute__((__always_inline__, __nodebug__, __target__("avxvnni"), __min_vector_width__(128)))
43
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
44
+ #define __DEFAULT_FN_ATTRS256 \
45
+ __attribute__((__always_inline__, __nodebug__, __target__("avxvnni"), \
46
+ __min_vector_width__(256))) constexpr
47
+ #define __DEFAULT_FN_ATTRS128 \
48
+ __attribute__((__always_inline__, __nodebug__, __target__("avxvnni"), \
49
+ __min_vector_width__(128))) constexpr
50
+ #else
51
+ #define __DEFAULT_FN_ATTRS256 \
52
+ __attribute__((__always_inline__, __nodebug__, __target__("avxvnni"), \
53
+ __min_vector_width__(256)))
54
+ #define __DEFAULT_FN_ATTRS128 \
55
+ __attribute__((__always_inline__, __nodebug__, __target__("avxvnni"), \
56
+ __min_vector_width__(128)))
57
+ #endif
45
58
 
46
59
  /// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
47
60
  /// corresponding signed 8-bit integers in \a __B, producing 4 intermediate signed
@@ -61,9 +74,9 @@
61
74
  /// DST[MAX:256] := 0
62
75
  /// \endcode
63
76
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
64
- _mm256_dpbusd_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
65
- {
66
- return (__m256i)__builtin_ia32_vpdpbusd256((__v8si)__S, (__v8si)__A, (__v8si)__B);
77
+ _mm256_dpbusd_avx_epi32(__m256i __S, __m256i __A, __m256i __B) {
78
+ return (__m256i)__builtin_ia32_vpdpbusd256((__v8si)__S, (__v32qu)__A,
79
+ (__v32qi)__B);
67
80
  }
68
81
 
69
82
  /// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
@@ -84,9 +97,9 @@ _mm256_dpbusd_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
84
97
  /// DST[MAX:256] := 0
85
98
  /// \endcode
86
99
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
87
- _mm256_dpbusds_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
88
- {
89
- return (__m256i)__builtin_ia32_vpdpbusds256((__v8si)__S, (__v8si)__A, (__v8si)__B);
100
+ _mm256_dpbusds_avx_epi32(__m256i __S, __m256i __A, __m256i __B) {
101
+ return (__m256i)__builtin_ia32_vpdpbusds256((__v8si)__S, (__v32qu)__A,
102
+ (__v32qi)__B);
90
103
  }
91
104
 
92
105
  /// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a __A with
@@ -105,9 +118,9 @@ _mm256_dpbusds_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
105
118
  /// DST[MAX:256] := 0
106
119
  /// \endcode
107
120
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
108
- _mm256_dpwssd_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
109
- {
110
- return (__m256i)__builtin_ia32_vpdpwssd256((__v8si)__S, (__v8si)__A, (__v8si)__B);
121
+ _mm256_dpwssd_avx_epi32(__m256i __S, __m256i __A, __m256i __B) {
122
+ return (__m256i)__builtin_ia32_vpdpwssd256((__v8si)__S, (__v16hi)__A,
123
+ (__v16hi)__B);
111
124
  }
112
125
 
113
126
  /// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a __A with
@@ -126,9 +139,9 @@ _mm256_dpwssd_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
126
139
  /// DST[MAX:256] := 0
127
140
  /// \endcode
128
141
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
129
- _mm256_dpwssds_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
130
- {
131
- return (__m256i)__builtin_ia32_vpdpwssds256((__v8si)__S, (__v8si)__A, (__v8si)__B);
142
+ _mm256_dpwssds_avx_epi32(__m256i __S, __m256i __A, __m256i __B) {
143
+ return (__m256i)__builtin_ia32_vpdpwssds256((__v8si)__S, (__v16hi)__A,
144
+ (__v16hi)__B);
132
145
  }
133
146
 
134
147
  /// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
@@ -149,9 +162,9 @@ _mm256_dpwssds_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
149
162
  /// DST[MAX:128] := 0
150
163
  /// \endcode
151
164
  static __inline__ __m128i __DEFAULT_FN_ATTRS128
152
- _mm_dpbusd_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
153
- {
154
- return (__m128i)__builtin_ia32_vpdpbusd128((__v4si)__S, (__v4si)__A, (__v4si)__B);
165
+ _mm_dpbusd_avx_epi32(__m128i __S, __m128i __A, __m128i __B) {
166
+ return (__m128i)__builtin_ia32_vpdpbusd128((__v4si)__S, (__v16qu)__A,
167
+ (__v16qi)__B);
155
168
  }
156
169
 
157
170
  /// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
@@ -172,9 +185,9 @@ _mm_dpbusd_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
172
185
  /// DST[MAX:128] := 0
173
186
  /// \endcode
174
187
  static __inline__ __m128i __DEFAULT_FN_ATTRS128
175
- _mm_dpbusds_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
176
- {
177
- return (__m128i)__builtin_ia32_vpdpbusds128((__v4si)__S, (__v4si)__A, (__v4si)__B);
188
+ _mm_dpbusds_avx_epi32(__m128i __S, __m128i __A, __m128i __B) {
189
+ return (__m128i)__builtin_ia32_vpdpbusds128((__v4si)__S, (__v16qu)__A,
190
+ (__v16qi)__B);
178
191
  }
179
192
 
180
193
  /// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a __A with
@@ -193,9 +206,9 @@ _mm_dpbusds_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
193
206
  /// DST[MAX:128] := 0
194
207
  /// \endcode
195
208
  static __inline__ __m128i __DEFAULT_FN_ATTRS128
196
- _mm_dpwssd_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
197
- {
198
- return (__m128i)__builtin_ia32_vpdpwssd128((__v4si)__S, (__v4si)__A, (__v4si)__B);
209
+ _mm_dpwssd_avx_epi32(__m128i __S, __m128i __A, __m128i __B) {
210
+ return (__m128i)__builtin_ia32_vpdpwssd128((__v4si)__S, (__v8hi)__A,
211
+ (__v8hi)__B);
199
212
  }
200
213
 
201
214
  /// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a __A with
@@ -214,9 +227,9 @@ _mm_dpwssd_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
214
227
  /// DST[MAX:128] := 0
215
228
  /// \endcode
216
229
  static __inline__ __m128i __DEFAULT_FN_ATTRS128
217
- _mm_dpwssds_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
218
- {
219
- return (__m128i)__builtin_ia32_vpdpwssds128((__v4si)__S, (__v4si)__A, (__v4si)__B);
230
+ _mm_dpwssds_avx_epi32(__m128i __S, __m128i __A, __m128i __B) {
231
+ return (__m128i)__builtin_ia32_vpdpwssds128((__v4si)__S, (__v8hi)__A,
232
+ (__v8hi)__B);
220
233
  }
221
234
 
222
235
  #undef __DEFAULT_FN_ATTRS128
@@ -253,10 +253,6 @@
253
253
  #define bit_RDPRU 0x00000010
254
254
  #define bit_WBNOINVD 0x00000200
255
255
 
256
- /* Features in %ebx for leaf 0x24 */
257
- #define bit_AVX10_256 0x00020000
258
- #define bit_AVX10_512 0x00040000
259
-
260
256
  #ifdef __i386__
261
257
  #define __cpuid(__leaf, __eax, __ebx, __ecx, __edx) \
262
258
  __asm("cpuid" : "=a"(__eax), "=b" (__ebx), "=c"(__ecx), "=d"(__edx) \
@@ -282,6 +278,24 @@
282
278
  : "0"(__leaf), "2"(__count))
283
279
  #endif
284
280
 
281
+ /// Queries the processor to determine the highest supported \c CPUID leaf.
282
+ /// This intrinsic is only available on x86 and x64.
283
+ ///
284
+ /// \headerfile <cpuid.h>
285
+ ///
286
+ /// This intrinsic corresponds to the <c> CPUID </c> instruction.
287
+ ///
288
+ /// \param __leaf
289
+ /// \a __leaf can be either 0x0 or 0x8000000. If \a __leaf == 0x0, the
290
+ /// highest supported value for basic \c CPUID information is returned.
291
+ /// If \a __leaf == 0x8000000, the highest supported value for extended
292
+ /// \c CPUID information is returned.
293
+ /// \param __sig
294
+ /// If the \a __sig pointer is non-null, the first four bytes of the
295
+ /// signature (as found in the \c EBX register) are returned in the
296
+ /// location pointed to by \a __sig.
297
+ /// \returns Returns 0 if \c CPUID is supported; otherwise returns the value
298
+ /// that \c CPUID returns in the \c EAX register.
285
299
  static __inline unsigned int __get_cpuid_max (unsigned int __leaf,
286
300
  unsigned int *__sig)
287
301
  {
@@ -315,6 +329,32 @@ static __inline unsigned int __get_cpuid_max (unsigned int __leaf,
315
329
  return __eax;
316
330
  }
317
331
 
332
+ /// For the requested \c CPUID leaf, queries the processor for information
333
+ /// about the CPU type and CPU features (such as processor vendor, supported
334
+ /// instruction sets, CPU capabilities, cache sizes, CPU model and family, and
335
+ /// other hardware details). This intrinsic is only available on x86 and x64.
336
+ ///
337
+ /// \headerfile <cpuid.h>
338
+ ///
339
+ /// This intrinsic corresponds to the <c> CPUID </c> instruction.
340
+ ///
341
+ /// \param __leaf
342
+ /// An unsigned integer that identifies the level (also called "leaf") at
343
+ /// which the \c CPUID instruction will be executed.
344
+ /// \param __eax
345
+ /// A pointer to an integer that corresponds to the \c EAX register where
346
+ /// \c CPUID stores output results.
347
+ /// \param __ebx
348
+ /// A pointer to an integer that corresponds to the \c EBX register where
349
+ /// \c CPUID stores output results.
350
+ /// \param __ecx
351
+ /// A pointer to an integer that corresponds to the \c ECX register where
352
+ /// \c CPUID stores output results.
353
+ /// \param __edx
354
+ /// A pointer to an integer that corresponds to the \c EDX register where
355
+ /// \c CPUID stores output results.
356
+ /// \returns Returns 1 if the requested \c CPUID leaf is supported; otherwise
357
+ /// returns 0.
318
358
  static __inline int __get_cpuid (unsigned int __leaf, unsigned int *__eax,
319
359
  unsigned int *__ebx, unsigned int *__ecx,
320
360
  unsigned int *__edx)
@@ -328,6 +368,36 @@ static __inline int __get_cpuid (unsigned int __leaf, unsigned int *__eax,
328
368
  return 1;
329
369
  }
330
370
 
371
+ /// For the requested \c CPUID leaf and subleaf, queries the processor for
372
+ /// information about the CPU type and CPU features (such as processor vendor,
373
+ /// supported instruction sets, CPU capabilities, cache sizes, CPU model and
374
+ /// family, and other hardware details). This intrinsic is only available on
375
+ /// x86 and x64.
376
+ ///
377
+ /// \headerfile <cpuid.h>
378
+ ///
379
+ /// This intrinsic corresponds to the <c> CPUID </c> instruction.
380
+ ///
381
+ /// \param __leaf
382
+ /// An unsigned integer that identifies the level (also called "leaf") at
383
+ /// which the \c CPUID instruction will be executed.
384
+ /// \param __subleaf
385
+ /// An unsigned integer that identifies the sublevel (also called
386
+ /// "subleaf") at which the \c CPUID instruction will be executed.
387
+ /// \param __eax
388
+ /// A pointer to an integer that corresponds to the \c EAX register where
389
+ /// \c CPUID stores output results.
390
+ /// \param __ebx
391
+ /// A pointer to an integer that corresponds to the \c EBX register where
392
+ /// \c CPUID stores output results.
393
+ /// \param __ecx
394
+ /// A pointer to an integer that corresponds to the \c ECX register where
395
+ /// \c CPUID stores output results.
396
+ /// \param __edx
397
+ /// A pointer to an integer that corresponds to the \c EDX register where
398
+ /// \c CPUID stores output results.
399
+ /// \returns Returns 1 if the requested \c CPUID leaf is supported; otherwise
400
+ /// returns 0.
331
401
  static __inline int __get_cpuid_count (unsigned int __leaf,
332
402
  unsigned int __subleaf,
333
403
  unsigned int *__eax, unsigned int *__ebx,
@@ -345,10 +415,37 @@ static __inline int __get_cpuid_count (unsigned int __leaf,
345
415
  // In some configurations, __cpuidex is defined as a builtin (primarily
346
416
  // -fms-extensions) which will conflict with the __cpuidex definition below.
347
417
  #if !(__has_builtin(__cpuidex))
418
+ // In some cases, offloading will set the host as the aux triple and define the
419
+ // builtin. Given __has_builtin does not detect builtins on aux triples, we need
420
+ // to explicitly check for some offloading cases.
421
+ #if !defined(__NVPTX__) && !defined(__AMDGPU__) && !defined(__SPIRV__)
422
+ /// Executes the \c CPUID instruction with the specified leaf and subleaf
423
+ /// values, and returns the results from the CPU's registers. This intrinsic
424
+ /// is only available on x86 and x64.
425
+ ///
426
+ /// \headerfile <cpuid.h>
427
+ ///
428
+ /// This intrinsic corresponds to the <c> CPUID </c> instruction.
429
+ ///
430
+ /// \param __cpu_info
431
+ /// An output array of four integers:
432
+ /// <ul>
433
+ /// <li>\a __cpuInfo[0] receives the value of the \c EAX register.</li>
434
+ /// <li>\a __cpuInfo[1] receives the value of the \c EBX register.</li>
435
+ /// <li>\a __cpuInfo[2] receives the value of the \c ECX register.</li>
436
+ /// <li>\a __cpuInfo[3] receives the value of the \c EDX register.</li>
437
+ /// </ul>
438
+ /// \param __leaf
439
+ /// An unsigned integer that identifies the level (also called the "leaf")
440
+ /// at which the \c CPUID instruction will be executed.
441
+ /// \param __subleaf
442
+ /// An unsigned integer that identifies the sublevel (also called the
443
+ /// "subleaf") at which the \c CPUID instruction will be executed.
348
444
  static __inline void __cpuidex(int __cpu_info[4], int __leaf, int __subleaf) {
349
445
  __cpuid_count(__leaf, __subleaf, __cpu_info[0], __cpu_info[1], __cpu_info[2],
350
446
  __cpu_info[3]);
351
447
  }
352
448
  #endif
449
+ #endif
353
450
 
354
451
  #endif /* __CPUID_H */
@@ -10,8 +10,14 @@
10
10
  #ifndef __CRC32INTRIN_H
11
11
  #define __CRC32INTRIN_H
12
12
 
13
+ /// We only declare crc32 as a constexpr if we are compiling C++ code
14
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
15
+ #define __DEFAULT_FN_ATTRS \
16
+ __attribute__((__always_inline__, __nodebug__, __target__("crc32"))) constexpr
17
+ #else
13
18
  #define __DEFAULT_FN_ATTRS \
14
19
  __attribute__((__always_inline__, __nodebug__, __target__("crc32")))
20
+ #endif
15
21
 
16
22
  /// Adds the unsigned integer operand to the CRC-32C checksum of the
17
23
  /// unsigned char operand.
@@ -28,8 +34,7 @@
28
34
  /// \returns The result of adding operand \a __C to the CRC-32C checksum of
29
35
  /// operand \a __D.
30
36
  static __inline__ unsigned int __DEFAULT_FN_ATTRS
31
- _mm_crc32_u8(unsigned int __C, unsigned char __D)
32
- {
37
+ _mm_crc32_u8(unsigned int __C, unsigned char __D) {
33
38
  return __builtin_ia32_crc32qi(__C, __D);
34
39
  }
35
40
 
@@ -48,8 +53,7 @@ _mm_crc32_u8(unsigned int __C, unsigned char __D)
48
53
  /// \returns The result of adding operand \a __C to the CRC-32C checksum of
49
54
  /// operand \a __D.
50
55
  static __inline__ unsigned int __DEFAULT_FN_ATTRS
51
- _mm_crc32_u16(unsigned int __C, unsigned short __D)
52
- {
56
+ _mm_crc32_u16(unsigned int __C, unsigned short __D) {
53
57
  return __builtin_ia32_crc32hi(__C, __D);
54
58
  }
55
59
 
@@ -68,8 +72,7 @@ _mm_crc32_u16(unsigned int __C, unsigned short __D)
68
72
  /// \returns The result of adding operand \a __C to the CRC-32C checksum of
69
73
  /// operand \a __D.
70
74
  static __inline__ unsigned int __DEFAULT_FN_ATTRS
71
- _mm_crc32_u32(unsigned int __C, unsigned int __D)
72
- {
75
+ _mm_crc32_u32(unsigned int __C, unsigned int __D) {
73
76
  return __builtin_ia32_crc32si(__C, __D);
74
77
  }
75
78
 
@@ -89,8 +92,7 @@ _mm_crc32_u32(unsigned int __C, unsigned int __D)
89
92
  /// \returns The result of adding operand \a __C to the CRC-32C checksum of
90
93
  /// operand \a __D.
91
94
  static __inline__ unsigned long long __DEFAULT_FN_ATTRS
92
- _mm_crc32_u64(unsigned long long __C, unsigned long long __D)
93
- {
95
+ _mm_crc32_u64(unsigned long long __C, unsigned long long __D) {
94
96
  return __builtin_ia32_crc32di(__C, __D);
95
97
  }
96
98
  #endif /* __x86_64__ */
@@ -0,0 +1,28 @@
1
+ #ifndef __CUDA_WRAPPERS_UTILITY_DECLVAL_H__
2
+ #define __CUDA_WRAPPERS_UTILITY_DECLVAL_H__
3
+
4
+ #include_next <__utility/declval.h>
5
+
6
+ // The stuff below is the exact copy of the <__utility/declval.h>,
7
+ // but with __device__ attribute applied to the functions, so it works on a GPU.
8
+
9
+ _LIBCPP_BEGIN_NAMESPACE_STD
10
+
11
+ // Suppress deprecation notice for volatile-qualified return type resulting
12
+ // from volatile-qualified types _Tp.
13
+ _LIBCPP_SUPPRESS_DEPRECATED_PUSH
14
+ template <class _Tp> __attribute__((device)) _Tp &&__declval(int);
15
+ template <class _Tp> __attribute__((device)) _Tp __declval(long);
16
+ _LIBCPP_SUPPRESS_DEPRECATED_POP
17
+
18
+ template <class _Tp>
19
+ __attribute__((device)) _LIBCPP_HIDE_FROM_ABI decltype(std::__declval<_Tp>(0))
20
+ declval() _NOEXCEPT {
21
+ static_assert(!__is_same(_Tp, _Tp),
22
+ "std::declval can only be used in an unevaluated context. "
23
+ "It's likely that your current usage is trying to extract a "
24
+ "value from the function.");
25
+ }
26
+
27
+ _LIBCPP_END_NAMESPACE_STD
28
+ #endif // __CUDA_WRAPPERS_UTILITY_DECLVAL_H__