@cpp-linter/clang-tidy-win32-x64 19.1.0 → 23.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/23/include/__clang_cuda_complex_builtins.h +236 -0
  4. package/lib/clang/{19 → 23}/include/__clang_cuda_device_functions.h +15 -1
  5. package/lib/clang/{19 → 23}/include/__clang_cuda_intrinsics.h +288 -20
  6. package/lib/clang/{19 → 23}/include/__clang_cuda_math.h +5 -0
  7. package/lib/clang/{19 → 23}/include/__clang_cuda_math_forward_declares.h +5 -0
  8. package/lib/clang/{19 → 23}/include/__clang_cuda_runtime_wrapper.h +28 -5
  9. package/lib/clang/{19 → 23}/include/__clang_cuda_texture_intrinsics.h +437 -2
  10. package/lib/clang/23/include/__clang_gpu_builtin_vars.h +71 -0
  11. package/lib/clang/23/include/__clang_gpu_device_functions.h +411 -0
  12. package/lib/clang/23/include/__clang_gpu_intrinsics.h +242 -0
  13. package/lib/clang/{19 → 23}/include/__clang_hip_cmath.h +15 -9
  14. package/lib/clang/{19 → 23}/include/__clang_hip_libdevice_declares.h +24 -139
  15. package/lib/clang/{19 → 23}/include/__clang_hip_math.h +115 -34
  16. package/lib/clang/{19 → 23}/include/__clang_hip_runtime_wrapper.h +12 -1
  17. package/lib/clang/23/include/__clang_spirv_builtins.h +217 -0
  18. package/lib/clang/23/include/__clang_spirv_libdevice_declares.h +170 -0
  19. package/lib/clang/23/include/__clang_spirv_math.h +719 -0
  20. package/lib/clang/{19/include/float.h → 23/include/__float_float.h} +14 -34
  21. package/lib/clang/23/include/__float_header_macro.h +12 -0
  22. package/lib/clang/23/include/__float_infinity_nan.h +20 -0
  23. package/lib/clang/{19 → 23}/include/__stdarg_va_arg.h +2 -2
  24. package/lib/clang/{19 → 23}/include/adcintrin.h +5 -0
  25. package/lib/clang/{19 → 23}/include/adxintrin.h +5 -0
  26. package/lib/clang/{19 → 23}/include/altivec.h +169 -96
  27. package/lib/clang/23/include/amdgpuintrin.h +164 -0
  28. package/lib/clang/23/include/amdhsa_abi.h +83 -0
  29. package/lib/clang/23/include/amo.h +220 -0
  30. package/lib/clang/23/include/amxavx512intrin.h +596 -0
  31. package/lib/clang/{19 → 23}/include/amxcomplexintrin.h +4 -6
  32. package/lib/clang/{19 → 23}/include/amxfp16intrin.h +35 -0
  33. package/lib/clang/23/include/amxfp8intrin.h +230 -0
  34. package/lib/clang/{19 → 23}/include/amxintrin.h +3 -35
  35. package/lib/clang/23/include/amxmovrsintrin.h +48 -0
  36. package/lib/clang/23/include/andes_vector.h +21 -0
  37. package/lib/clang/23/include/arm64_neon.h +21 -0
  38. package/lib/clang/{19 → 23}/include/arm64intr.h +10 -0
  39. package/lib/clang/{19 → 23}/include/arm_acle.h +67 -89
  40. package/lib/clang/{19 → 23}/include/arm_fp16.h +89 -89
  41. package/lib/clang/{19 → 23}/include/arm_neon.h +43614 -38901
  42. package/lib/clang/{19 → 23}/include/arm_sme.h +1028 -94
  43. package/lib/clang/{19 → 23}/include/arm_sve.h +7331 -5170
  44. package/lib/clang/{19 → 23}/include/arm_vector_types.h +87 -0
  45. package/lib/clang/23/include/avx10_2_512bf16intrin.h +568 -0
  46. package/lib/clang/23/include/avx10_2_512convertintrin.h +322 -0
  47. package/lib/clang/23/include/avx10_2_512minmaxintrin.h +127 -0
  48. package/lib/clang/23/include/avx10_2_512niintrin.h +314 -0
  49. package/lib/clang/23/include/avx10_2_512satcvtdsintrin.h +307 -0
  50. package/lib/clang/23/include/avx10_2_512satcvtintrin.h +301 -0
  51. package/lib/clang/23/include/avx10_2bf16intrin.h +1094 -0
  52. package/lib/clang/23/include/avx10_2convertintrin.h +3257 -0
  53. package/lib/clang/23/include/avx10_2copyintrin.h +66 -0
  54. package/lib/clang/23/include/avx10_2minmaxintrin.h +232 -0
  55. package/lib/clang/23/include/avx10_2niintrin.h +409 -0
  56. package/lib/clang/23/include/avx10_2satcvtdsintrin.h +376 -0
  57. package/lib/clang/23/include/avx10_2satcvtintrin.h +312 -0
  58. package/lib/clang/{19 → 23}/include/avx2intrin.h +284 -378
  59. package/lib/clang/{19 → 23}/include/avx512bf16intrin.h +25 -16
  60. package/lib/clang/{19 → 23}/include/avx512bitalgintrin.h +21 -32
  61. package/lib/clang/23/include/avx512bmmintrin.h +174 -0
  62. package/lib/clang/23/include/avx512bmmvlintrin.h +245 -0
  63. package/lib/clang/{19 → 23}/include/avx512bwintrin.h +405 -534
  64. package/lib/clang/23/include/avx512cdintrin.h +112 -0
  65. package/lib/clang/{19 → 23}/include/avx512dqintrin.h +132 -161
  66. package/lib/clang/{19 → 23}/include/avx512fintrin.h +1068 -1496
  67. package/lib/clang/{19 → 23}/include/avx512fp16intrin.h +126 -129
  68. package/lib/clang/23/include/avx512ifmaintrin.h +68 -0
  69. package/lib/clang/23/include/avx512ifmavlintrin.h +138 -0
  70. package/lib/clang/{19 → 23}/include/avx512vbmi2intrin.h +55 -48
  71. package/lib/clang/{19 → 23}/include/avx512vbmiintrin.h +19 -27
  72. package/lib/clang/{19 → 23}/include/avx512vbmivlintrin.h +35 -49
  73. package/lib/clang/{19 → 23}/include/avx512vlbf16intrin.h +32 -22
  74. package/lib/clang/{19 → 23}/include/avx512vlbitalgintrin.h +41 -57
  75. package/lib/clang/{19 → 23}/include/avx512vlbwintrin.h +494 -609
  76. package/lib/clang/23/include/avx512vlcdintrin.h +202 -0
  77. package/lib/clang/{19 → 23}/include/avx512vldqintrin.h +110 -127
  78. package/lib/clang/{19 → 23}/include/avx512vlfp16intrin.h +130 -111
  79. package/lib/clang/{19 → 23}/include/avx512vlintrin.h +1025 -1395
  80. package/lib/clang/{19 → 23}/include/avx512vlvbmi2intrin.h +102 -95
  81. package/lib/clang/{19 → 23}/include/avx512vlvnniintrin.h +50 -52
  82. package/lib/clang/{19 → 23}/include/avx512vlvp2intersectintrin.h +2 -2
  83. package/lib/clang/{19 → 23}/include/avx512vnniintrin.h +42 -45
  84. package/lib/clang/{19 → 23}/include/avx512vp2intersectintrin.h +2 -3
  85. package/lib/clang/{19 → 23}/include/avx512vpopcntdqintrin.h +10 -4
  86. package/lib/clang/{19 → 23}/include/avx512vpopcntdqvlintrin.h +20 -10
  87. package/lib/clang/{19 → 23}/include/avxifmaintrin.h +16 -0
  88. package/lib/clang/{19 → 23}/include/avxintrin.h +186 -248
  89. package/lib/clang/{19 → 23}/include/avxvnniint16intrin.h +130 -152
  90. package/lib/clang/{19 → 23}/include/avxvnniint8intrin.h +68 -85
  91. package/lib/clang/{19 → 23}/include/avxvnniintrin.h +39 -26
  92. package/lib/clang/{19 → 23}/include/bmi2intrin.h +15 -17
  93. package/lib/clang/{19 → 23}/include/bmiintrin.h +31 -41
  94. package/lib/clang/{19 → 23}/include/cmpccxaddintrin.h +1 -1
  95. package/lib/clang/{19 → 23}/include/cpuid.h +137 -37
  96. package/lib/clang/{19 → 23}/include/crc32intrin.h +10 -8
  97. package/lib/clang/23/include/cuda_wrappers/__utility/declval.h +28 -0
  98. package/lib/clang/23/include/cuda_wrappers/bits/c++config.h +61 -0
  99. package/lib/clang/23/include/cuda_wrappers/cmath +44 -0
  100. package/lib/clang/{19 → 23}/include/cuda_wrappers/new +2 -0
  101. package/lib/clang/{19 → 23}/include/emmintrin.h +306 -272
  102. package/lib/clang/23/include/endian.h +91 -0
  103. package/lib/clang/{19 → 23}/include/f16cintrin.h +23 -9
  104. package/lib/clang/23/include/float.h +48 -0
  105. package/lib/clang/23/include/fma4intrin.h +220 -0
  106. package/lib/clang/{19 → 23}/include/fmaintrin.h +96 -66
  107. package/lib/clang/{19 → 23}/include/gfniintrin.h +39 -12
  108. package/lib/clang/23/include/gpuintrin.h +348 -0
  109. package/lib/clang/{19 → 23}/include/hexagon_types.h +31 -24
  110. package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics.h +222 -0
  111. package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics_gen.inc +3869 -0
  112. package/lib/clang/23/include/hlsl/hlsl_basic_types.h +370 -0
  113. package/lib/clang/23/include/hlsl/hlsl_compat_overloads.h +559 -0
  114. package/lib/clang/23/include/hlsl/hlsl_detail.h +56 -0
  115. package/lib/clang/23/include/hlsl/hlsl_inline_intrinsics_gen.inc +546 -0
  116. package/lib/clang/23/include/hlsl/hlsl_intrinsic_helpers.h +170 -0
  117. package/lib/clang/23/include/hlsl/hlsl_intrinsics.h +331 -0
  118. package/lib/clang/23/include/hlsl/hlsl_spirv.h +28 -0
  119. package/lib/clang/23/include/hlsl.h +38 -0
  120. package/lib/clang/{19 → 23}/include/hvx_hexagon_protos.h +1041 -803
  121. package/lib/clang/{19 → 23}/include/immintrin.h +35 -185
  122. package/lib/clang/{19 → 23}/include/intrin.h +62 -21
  123. package/lib/clang/{19 → 23}/include/intrin0.h +10 -1
  124. package/lib/clang/{19 → 23}/include/keylockerintrin.h +0 -9
  125. package/lib/clang/{19 → 23}/include/larchintrin.h +24 -8
  126. package/lib/clang/{19 → 23}/include/lasxintrin.h +140 -25
  127. package/lib/clang/{19 → 23}/include/limits.h +7 -4
  128. package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/assert.h +3 -5
  129. package/lib/clang/23/include/llvm_libc_wrappers/ctype.h +29 -0
  130. package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/inttypes.h +3 -5
  131. package/lib/clang/23/include/llvm_libc_wrappers/stdio.h +52 -0
  132. package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/stdlib.h +3 -16
  133. package/lib/clang/23/include/llvm_libc_wrappers/string.h +29 -0
  134. package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/time.h +4 -10
  135. package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
  136. package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
  137. package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
  138. package/lib/clang/{19 → 23}/include/lsxintrin.h +27 -25
  139. package/lib/clang/{19 → 23}/include/lzcntintrin.h +13 -8
  140. package/lib/clang/{19 → 23}/include/mmintrin.h +241 -256
  141. package/lib/clang/{19 → 23}/include/module.modulemap +54 -9
  142. package/lib/clang/23/include/movrs_avx10_2_512intrin.h +98 -0
  143. package/lib/clang/23/include/movrs_avx10_2intrin.h +174 -0
  144. package/lib/clang/23/include/movrsintrin.h +59 -0
  145. package/lib/clang/23/include/nvptxintrin.h +208 -0
  146. package/lib/clang/{19 → 23}/include/opencl-c-base.h +28 -92
  147. package/lib/clang/{19 → 23}/include/opencl-c.h +506 -140
  148. package/lib/clang/{19 → 23}/include/openmp_wrappers/__clang_openmp_device_functions.h +18 -5
  149. package/lib/clang/{19 → 23}/include/openmp_wrappers/complex +7 -1
  150. package/lib/clang/{19 → 23}/include/openmp_wrappers/complex.h +6 -0
  151. package/lib/clang/{19 → 23}/include/openmp_wrappers/complex_cmath.h +7 -2
  152. package/lib/clang/{19 → 23}/include/openmp_wrappers/math.h +10 -0
  153. package/lib/clang/{19 → 23}/include/pmmintrin.h +24 -23
  154. package/lib/clang/{19 → 23}/include/popcntintrin.h +7 -7
  155. package/lib/clang/{19 → 23}/include/prfchwintrin.h +10 -13
  156. package/lib/clang/{19 → 23}/include/ptrauth.h +169 -14
  157. package/lib/clang/{19 → 23}/include/riscv_bitmanip.h +7 -0
  158. package/lib/clang/23/include/riscv_corev_alu.h +130 -0
  159. package/lib/clang/{19 → 23}/include/riscv_crypto.h +8 -0
  160. package/lib/clang/23/include/riscv_mips.h +36 -0
  161. package/lib/clang/23/include/riscv_nds.h +92 -0
  162. package/lib/clang/{19 → 23}/include/riscv_ntlh.h +2 -0
  163. package/lib/clang/23/include/riscv_packed_simd.h +644 -0
  164. package/lib/clang/{19 → 23}/include/riscv_vector.h +43 -5
  165. package/lib/clang/{19 → 23}/include/shaintrin.h +3 -2
  166. package/lib/clang/{19 → 23}/include/sifive_vector.h +76 -2
  167. package/lib/clang/23/include/sm4evexintrin.h +32 -0
  168. package/lib/clang/{19 → 23}/include/smmintrin.h +80 -56
  169. package/lib/clang/23/include/spirvintrin.h +167 -0
  170. package/lib/clang/{19 → 23}/include/stdalign.h +0 -5
  171. package/lib/clang/23/include/stdcountof.h +15 -0
  172. package/lib/clang/23/include/stddefer.h +19 -0
  173. package/lib/clang/{19 → 23}/include/stdint.h +23 -143
  174. package/lib/clang/{19 → 23}/include/tbmintrin.h +25 -37
  175. package/lib/clang/{19 → 23}/include/tmmintrin.h +125 -130
  176. package/lib/clang/{19 → 23}/include/vaesintrin.h +1 -2
  177. package/lib/clang/{19 → 23}/include/vecintrin.h +1783 -60
  178. package/lib/clang/{19 → 23}/include/wasm_simd128.h +184 -21
  179. package/lib/clang/{19 → 23}/include/x86gprintrin.h +0 -14
  180. package/lib/clang/{19 → 23}/include/x86intrin.h +0 -18
  181. package/lib/clang/{19 → 23}/include/xmmintrin.h +190 -221
  182. package/lib/clang/{19 → 23}/include/xopintrin.h +20 -10
  183. package/lib/clang/23/include/zos_wrappers/grp.h +19 -0
  184. package/lib/clang/23/include/zos_wrappers/locale.h +19 -0
  185. package/lib/clang/23/include/zos_wrappers/math.h +31 -0
  186. package/lib/clang/23/include/zos_wrappers/poll.h +19 -0
  187. package/lib/clang/23/include/zos_wrappers/stdlib.h +20 -0
  188. package/lib/clang/23/include/zos_wrappers/string.h +19 -0
  189. package/lib/clang/23/include/zos_wrappers/time.h +19 -0
  190. package/lib/clang/23/include/zos_wrappers/variant.h +19 -0
  191. package/package.json +6 -6
  192. package/lib/clang/19/include/__clang_cuda_complex_builtins.h +0 -285
  193. package/lib/clang/19/include/avx512cdintrin.h +0 -125
  194. package/lib/clang/19/include/avx512ifmaintrin.h +0 -70
  195. package/lib/clang/19/include/avx512ifmavlintrin.h +0 -111
  196. package/lib/clang/19/include/avx512vlcdintrin.h +0 -230
  197. package/lib/clang/19/include/cuda_wrappers/cmath +0 -90
  198. package/lib/clang/19/include/fma4intrin.h +0 -218
  199. package/lib/clang/19/include/hlsl/hlsl_basic_types.h +0 -74
  200. package/lib/clang/19/include/hlsl/hlsl_intrinsics.h +0 -1697
  201. package/lib/clang/19/include/hlsl.h +0 -15
  202. package/lib/clang/19/include/llvm_libc_wrappers/ctype.h +0 -102
  203. package/lib/clang/19/include/llvm_libc_wrappers/stdio.h +0 -80
  204. package/lib/clang/19/include/llvm_libc_wrappers/string.h +0 -96
  205. /package/lib/clang/{19 → 23}/include/__clang_cuda_builtin_vars.h +0 -0
  206. /package/lib/clang/{19 → 23}/include/__clang_cuda_cmath.h +0 -0
  207. /package/lib/clang/{19 → 23}/include/__clang_cuda_libdevice_declares.h +0 -0
  208. /package/lib/clang/{19 → 23}/include/__clang_hip_stdlib.h +0 -0
  209. /package/lib/clang/{19 → 23}/include/__stdarg___gnuc_va_list.h +0 -0
  210. /package/lib/clang/{19 → 23}/include/__stdarg___va_copy.h +0 -0
  211. /package/lib/clang/{19 → 23}/include/__stdarg_header_macro.h +0 -0
  212. /package/lib/clang/{19 → 23}/include/__stdarg_va_copy.h +0 -0
  213. /package/lib/clang/{19 → 23}/include/__stdarg_va_list.h +0 -0
  214. /package/lib/clang/{19 → 23}/include/__stddef_header_macro.h +0 -0
  215. /package/lib/clang/{19 → 23}/include/__stddef_max_align_t.h +0 -0
  216. /package/lib/clang/{19 → 23}/include/__stddef_null.h +0 -0
  217. /package/lib/clang/{19 → 23}/include/__stddef_nullptr_t.h +0 -0
  218. /package/lib/clang/{19 → 23}/include/__stddef_offsetof.h +0 -0
  219. /package/lib/clang/{19 → 23}/include/__stddef_ptrdiff_t.h +0 -0
  220. /package/lib/clang/{19 → 23}/include/__stddef_rsize_t.h +0 -0
  221. /package/lib/clang/{19 → 23}/include/__stddef_size_t.h +0 -0
  222. /package/lib/clang/{19 → 23}/include/__stddef_unreachable.h +0 -0
  223. /package/lib/clang/{19 → 23}/include/__stddef_wchar_t.h +0 -0
  224. /package/lib/clang/{19 → 23}/include/__stddef_wint_t.h +0 -0
  225. /package/lib/clang/{19 → 23}/include/__wmmintrin_aes.h +0 -0
  226. /package/lib/clang/{19 → 23}/include/__wmmintrin_pclmul.h +0 -0
  227. /package/lib/clang/{19 → 23}/include/ammintrin.h +0 -0
  228. /package/lib/clang/{19 → 23}/include/arm_bf16.h +0 -0
  229. /package/lib/clang/{19 → 23}/include/arm_cde.h +0 -0
  230. /package/lib/clang/{19 → 23}/include/arm_cmse.h +0 -0
  231. /package/lib/clang/{19 → 23}/include/arm_mve.h +0 -0
  232. /package/lib/clang/{19 → 23}/include/arm_neon_sve_bridge.h +0 -0
  233. /package/lib/clang/{19 → 23}/include/armintr.h +0 -0
  234. /package/lib/clang/{19 → 23}/include/avxneconvertintrin.h +0 -0
  235. /package/lib/clang/{19 → 23}/include/builtins.h +0 -0
  236. /package/lib/clang/{19 → 23}/include/cet.h +0 -0
  237. /package/lib/clang/{19 → 23}/include/cetintrin.h +0 -0
  238. /package/lib/clang/{19 → 23}/include/cldemoteintrin.h +0 -0
  239. /package/lib/clang/{19 → 23}/include/clflushoptintrin.h +0 -0
  240. /package/lib/clang/{19 → 23}/include/clwbintrin.h +0 -0
  241. /package/lib/clang/{19 → 23}/include/clzerointrin.h +0 -0
  242. /package/lib/clang/{19 → 23}/include/cuda_wrappers/algorithm +0 -0
  243. /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/basic_string.h +0 -0
  244. /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
  245. /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
  246. /package/lib/clang/{19 → 23}/include/cuda_wrappers/complex +0 -0
  247. /package/lib/clang/{19 → 23}/include/enqcmdintrin.h +0 -0
  248. /package/lib/clang/{19 → 23}/include/fxsrintrin.h +0 -0
  249. /package/lib/clang/{19 → 23}/include/hexagon_circ_brev_intrinsics.h +0 -0
  250. /package/lib/clang/{19 → 23}/include/hexagon_protos.h +0 -0
  251. /package/lib/clang/{19 → 23}/include/hresetintrin.h +0 -0
  252. /package/lib/clang/{19 → 23}/include/htmintrin.h +0 -0
  253. /package/lib/clang/{19 → 23}/include/htmxlintrin.h +0 -0
  254. /package/lib/clang/{19 → 23}/include/ia32intrin.h +0 -0
  255. /package/lib/clang/{19 → 23}/include/inttypes.h +0 -0
  256. /package/lib/clang/{19 → 23}/include/invpcidintrin.h +0 -0
  257. /package/lib/clang/{19 → 23}/include/iso646.h +0 -0
  258. /package/lib/clang/{19 → 23}/include/lwpintrin.h +0 -0
  259. /package/lib/clang/{19 → 23}/include/mm3dnow.h +0 -0
  260. /package/lib/clang/{19 → 23}/include/mm_malloc.h +0 -0
  261. /package/lib/clang/{19 → 23}/include/movdirintrin.h +0 -0
  262. /package/lib/clang/{19 → 23}/include/msa.h +0 -0
  263. /package/lib/clang/{19 → 23}/include/mwaitxintrin.h +0 -0
  264. /package/lib/clang/{19 → 23}/include/nmmintrin.h +0 -0
  265. /package/lib/clang/{19 → 23}/include/openmp_wrappers/cmath +0 -0
  266. /package/lib/clang/{19 → 23}/include/openmp_wrappers/new +0 -0
  267. /package/lib/clang/{19 → 23}/include/pconfigintrin.h +0 -0
  268. /package/lib/clang/{19 → 23}/include/pkuintrin.h +0 -0
  269. /package/lib/clang/{19 → 23}/include/ppc_wrappers/bmi2intrin.h +0 -0
  270. /package/lib/clang/{19 → 23}/include/ppc_wrappers/bmiintrin.h +0 -0
  271. /package/lib/clang/{19 → 23}/include/ppc_wrappers/emmintrin.h +0 -0
  272. /package/lib/clang/{19 → 23}/include/ppc_wrappers/immintrin.h +0 -0
  273. /package/lib/clang/{19 → 23}/include/ppc_wrappers/mm_malloc.h +0 -0
  274. /package/lib/clang/{19 → 23}/include/ppc_wrappers/mmintrin.h +0 -0
  275. /package/lib/clang/{19 → 23}/include/ppc_wrappers/nmmintrin.h +0 -0
  276. /package/lib/clang/{19 → 23}/include/ppc_wrappers/pmmintrin.h +0 -0
  277. /package/lib/clang/{19 → 23}/include/ppc_wrappers/smmintrin.h +0 -0
  278. /package/lib/clang/{19 → 23}/include/ppc_wrappers/tmmintrin.h +0 -0
  279. /package/lib/clang/{19 → 23}/include/ppc_wrappers/x86gprintrin.h +0 -0
  280. /package/lib/clang/{19 → 23}/include/ppc_wrappers/x86intrin.h +0 -0
  281. /package/lib/clang/{19 → 23}/include/ppc_wrappers/xmmintrin.h +0 -0
  282. /package/lib/clang/{19 → 23}/include/prfchiintrin.h +0 -0
  283. /package/lib/clang/{19 → 23}/include/ptwriteintrin.h +0 -0
  284. /package/lib/clang/{19 → 23}/include/raointintrin.h +0 -0
  285. /package/lib/clang/{19 → 23}/include/rdpruintrin.h +0 -0
  286. /package/lib/clang/{19 → 23}/include/rdseedintrin.h +0 -0
  287. /package/lib/clang/{19 → 23}/include/rtmintrin.h +0 -0
  288. /package/lib/clang/{19 → 23}/include/s390intrin.h +0 -0
  289. /package/lib/clang/{19 → 23}/include/serializeintrin.h +0 -0
  290. /package/lib/clang/{19 → 23}/include/sgxintrin.h +0 -0
  291. /package/lib/clang/{19 → 23}/include/sha512intrin.h +0 -0
  292. /package/lib/clang/{19 → 23}/include/sm3intrin.h +0 -0
  293. /package/lib/clang/{19 → 23}/include/sm4intrin.h +0 -0
  294. /package/lib/clang/{19 → 23}/include/stdarg.h +0 -0
  295. /package/lib/clang/{19 → 23}/include/stdatomic.h +0 -0
  296. /package/lib/clang/{19 → 23}/include/stdbool.h +0 -0
  297. /package/lib/clang/{19 → 23}/include/stdckdint.h +0 -0
  298. /package/lib/clang/{19 → 23}/include/stddef.h +0 -0
  299. /package/lib/clang/{19 → 23}/include/stdnoreturn.h +0 -0
  300. /package/lib/clang/{19 → 23}/include/tgmath.h +0 -0
  301. /package/lib/clang/{19 → 23}/include/tsxldtrkintrin.h +0 -0
  302. /package/lib/clang/{19 → 23}/include/uintrintrin.h +0 -0
  303. /package/lib/clang/{19 → 23}/include/unwind.h +0 -0
  304. /package/lib/clang/{19 → 23}/include/usermsrintrin.h +0 -0
  305. /package/lib/clang/{19 → 23}/include/vadefs.h +0 -0
  306. /package/lib/clang/{19 → 23}/include/varargs.h +0 -0
  307. /package/lib/clang/{19 → 23}/include/velintrin.h +0 -0
  308. /package/lib/clang/{19 → 23}/include/velintrin_approx.h +0 -0
  309. /package/lib/clang/{19 → 23}/include/velintrin_gen.h +0 -0
  310. /package/lib/clang/{19 → 23}/include/vpclmulqdqintrin.h +0 -0
  311. /package/lib/clang/{19 → 23}/include/waitpkgintrin.h +0 -0
  312. /package/lib/clang/{19 → 23}/include/wbnoinvdintrin.h +0 -0
  313. /package/lib/clang/{19 → 23}/include/wmmintrin.h +0 -0
  314. /package/lib/clang/{19 → 23}/include/xsavecintrin.h +0 -0
  315. /package/lib/clang/{19 → 23}/include/xsaveintrin.h +0 -0
  316. /package/lib/clang/{19 → 23}/include/xsaveoptintrin.h +0 -0
  317. /package/lib/clang/{19 → 23}/include/xsavesintrin.h +0 -0
  318. /package/lib/clang/{19 → 23}/include/xtestintrin.h +0 -0
  319. /package/lib/clang/{19 → 23}/include/yvals_core.h +0 -0
  320. /package/lib/clang/{19 → 23}/include/zos_wrappers/builtins.h +0 -0
@@ -0,0 +1,348 @@
1
+ //===-- gpuintrin.h - Generic GPU 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
+ // Provides wrappers around the clang builtins for accessing GPU hardware
10
+ // features. The interface is intended to be portable between architectures, but
11
+ // some targets may provide different implementations. This header can be
12
+ // included for all the common GPU programming languages, namely OpenMP, HIP,
13
+ // CUDA, and OpenCL.
14
+ //
15
+ //===----------------------------------------------------------------------===//
16
+
17
+ #ifndef __GPUINTRIN_H
18
+ #define __GPUINTRIN_H
19
+
20
+ #if !defined(_DEFAULT_FN_ATTRS)
21
+ #if defined(__HIP__) || defined(__CUDA__)
22
+ #define _DEFAULT_FN_ATTRS __attribute__((device))
23
+ #else
24
+ #define _DEFAULT_FN_ATTRS
25
+ #endif
26
+ #endif
27
+
28
+ #include <stdint.h>
29
+
30
+ #if !defined(__cplusplus)
31
+ _Pragma("push_macro(\"bool\")");
32
+ #define bool _Bool
33
+ #endif
34
+
35
+ #if defined(__NVPTX__)
36
+ #include <nvptxintrin.h>
37
+ #elif defined(__AMDGPU__)
38
+ #include <amdgpuintrin.h>
39
+ #elif defined(__SPIRV__)
40
+ #include <spirvintrin.h>
41
+ #elif !defined(_OPENMP)
42
+ #error "This header is only meant to be used on GPU architectures."
43
+ #endif
44
+
45
+ _Pragma("omp begin declare target device_type(nohost)");
46
+ _Pragma("omp begin declare variant match(device = {kind(gpu)})");
47
+
48
+ // Attribute to declare a function as a kernel.
49
+ #define __gpu_kernel __attribute__((device_kernel, visibility("protected")))
50
+
51
+ #define __GPU_X_DIM 0
52
+ #define __GPU_Y_DIM 1
53
+ #define __GPU_Z_DIM 2
54
+
55
+ // Returns the number of blocks in the requested dimension.
56
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_blocks(int __dim) {
57
+ switch (__dim) {
58
+ case 0:
59
+ return __gpu_num_blocks_x();
60
+ case 1:
61
+ return __gpu_num_blocks_y();
62
+ case 2:
63
+ return __gpu_num_blocks_z();
64
+ default:
65
+ return 1;
66
+ }
67
+ }
68
+
69
+ // Returns the number of block id in the requested dimension.
70
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_block_id(int __dim) {
71
+ switch (__dim) {
72
+ case 0:
73
+ return __gpu_block_id_x();
74
+ case 1:
75
+ return __gpu_block_id_y();
76
+ case 2:
77
+ return __gpu_block_id_z();
78
+ default:
79
+ return 0;
80
+ }
81
+ }
82
+
83
+ // Returns the number of threads in the requested dimension.
84
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_threads(int __dim) {
85
+ switch (__dim) {
86
+ case 0:
87
+ return __gpu_num_threads_x();
88
+ case 1:
89
+ return __gpu_num_threads_y();
90
+ case 2:
91
+ return __gpu_num_threads_z();
92
+ default:
93
+ return 1;
94
+ }
95
+ }
96
+
97
+ // Returns the thread id in the requested dimension.
98
+ _DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_thread_id(int __dim) {
99
+ switch (__dim) {
100
+ case 0:
101
+ return __gpu_thread_id_x();
102
+ case 1:
103
+ return __gpu_thread_id_y();
104
+ case 2:
105
+ return __gpu_thread_id_z();
106
+ default:
107
+ return 0;
108
+ }
109
+ }
110
+
111
+ // Get the first active thread inside the lane.
112
+ _DEFAULT_FN_ATTRS static __inline__ uint64_t
113
+ __gpu_first_lane_id(uint64_t __lane_mask) {
114
+ return __builtin_ffsll(__lane_mask) - 1;
115
+ }
116
+
117
+ // Conditional that is only true for a single thread in a lane.
118
+ _DEFAULT_FN_ATTRS static __inline__ bool
119
+ __gpu_is_first_in_lane(uint64_t __lane_mask) {
120
+ return __gpu_lane_id() == __gpu_first_lane_id(__lane_mask);
121
+ }
122
+
123
+ // Copies the value from the first active thread to the rest.
124
+ _DEFAULT_FN_ATTRS static __inline__ uint64_t
125
+ __gpu_read_first_lane_u64(uint64_t __lane_mask, uint64_t __x) {
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);
130
+ }
131
+
132
+ // Gets the first floating point value from the active lanes.
133
+ _DEFAULT_FN_ATTRS static __inline__ float
134
+ __gpu_read_first_lane_f32(uint64_t __lane_mask, float __x) {
135
+ return __builtin_bit_cast(
136
+ float, __gpu_read_first_lane_u32(__lane_mask,
137
+ __builtin_bit_cast(uint32_t, __x)));
138
+ }
139
+
140
+ // Gets the first floating point value from the active lanes.
141
+ _DEFAULT_FN_ATTRS static __inline__ double
142
+ __gpu_read_first_lane_f64(uint64_t __lane_mask, double __x) {
143
+ return __builtin_bit_cast(
144
+ double, __gpu_read_first_lane_u64(__lane_mask,
145
+ __builtin_bit_cast(uint64_t, __x)));
146
+ }
147
+
148
+ // Shuffles the the lanes according to the given index.
149
+ _DEFAULT_FN_ATTRS static __inline__ uint64_t
150
+ __gpu_shuffle_idx_u64(uint64_t __lane_mask, uint32_t __idx, uint64_t __x,
151
+ uint32_t __width) {
152
+ uint32_t __hi = (uint32_t)(__x >> 32);
153
+ uint32_t __lo = (uint32_t)(__x & 0xFFFFFFFF);
154
+ uint32_t __mask = (uint32_t)__lane_mask;
155
+ return ((uint64_t)__gpu_shuffle_idx_u32(__mask, __idx, __hi, __width) << 32) |
156
+ ((uint64_t)__gpu_shuffle_idx_u32(__mask, __idx, __lo, __width));
157
+ }
158
+
159
+ // Shuffles the the lanes according to the given index.
160
+ _DEFAULT_FN_ATTRS static __inline__ float
161
+ __gpu_shuffle_idx_f32(uint64_t __lane_mask, uint32_t __idx, float __x,
162
+ uint32_t __width) {
163
+ return __builtin_bit_cast(
164
+ float, __gpu_shuffle_idx_u32(__lane_mask, __idx,
165
+ __builtin_bit_cast(uint32_t, __x), __width));
166
+ }
167
+
168
+ // Shuffles the the lanes according to the given index.
169
+ _DEFAULT_FN_ATTRS static __inline__ double
170
+ __gpu_shuffle_idx_f64(uint64_t __lane_mask, uint32_t __idx, double __x,
171
+ uint32_t __width) {
172
+ return __builtin_bit_cast(
173
+ double,
174
+ __gpu_shuffle_idx_u64(__lane_mask, __idx,
175
+ __builtin_bit_cast(uint64_t, __x), __width));
176
+ }
177
+
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; \
196
+ } \
197
+ return __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; \
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)); \
221
+ }
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
266
+
267
+ // Returns a bitmask marking all lanes that have the same value of __x.
268
+ #ifndef __gpu_match_any_u32_impl
269
+ _DEFAULT_FN_ATTRS static __inline__ uint64_t
270
+ __gpu_match_any_u32(uint64_t __lane_mask, uint32_t __x) {
271
+ uint64_t __match_mask = 0;
272
+
273
+ bool __done = 0;
274
+ for (uint64_t __active_mask = __lane_mask; __active_mask;
275
+ __active_mask = __gpu_ballot(__lane_mask, !__done)) {
276
+ if (!__done) {
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);
280
+ if (__first == __x) {
281
+ __match_mask = __ballot;
282
+ __done = 1;
283
+ }
284
+ }
285
+ }
286
+ return __match_mask;
287
+ }
288
+ #endif
289
+ #undef __gpu_match_any_u32_impl
290
+
291
+ // Returns a bitmask marking all lanes that have the same value of __x.
292
+ #ifndef __gpu_match_any_u64_impl
293
+ _DEFAULT_FN_ATTRS static __inline__ uint64_t
294
+ __gpu_match_any_u64(uint64_t __lane_mask, uint64_t __x) {
295
+ uint64_t __match_mask = 0;
296
+
297
+ bool __done = 0;
298
+ for (uint64_t __active_mask = __lane_mask; __active_mask;
299
+ __active_mask = __gpu_ballot(__lane_mask, !__done)) {
300
+ if (!__done) {
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);
304
+ if (__first == __x) {
305
+ __match_mask = __ballot;
306
+ __done = 1;
307
+ }
308
+ }
309
+ }
310
+ return __match_mask;
311
+ }
312
+ #endif
313
+ #undef __gpu_match_any_u64_impl
314
+
315
+ // Returns the current lane mask if every lane contains __x.
316
+ #ifndef __gpu_match_all_u32_impl
317
+ _DEFAULT_FN_ATTRS static __inline__ uint64_t
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());
321
+ uint64_t __ballot = __gpu_ballot(__lane_mask, __x == __first);
322
+ return __ballot == __lane_mask ? __lane_mask : UINT64_C(0);
323
+ }
324
+ #endif
325
+ #undef __gpu_match_all_u32_impl
326
+
327
+ // Returns the current lane mask if every lane contains __x.
328
+ #ifndef __gpu_match_all_u64_impl
329
+ _DEFAULT_FN_ATTRS static __inline__ uint64_t
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());
333
+ uint64_t __ballot = __gpu_ballot(__lane_mask, __x == __first);
334
+ return __ballot == __lane_mask ? __lane_mask : UINT64_C(0);
335
+ }
336
+ #endif
337
+ #undef __gpu_match_all_u64_impl
338
+
339
+ _Pragma("omp end declare variant");
340
+ _Pragma("omp end declare target");
341
+
342
+ #if !defined(__cplusplus)
343
+ _Pragma("pop_macro(\"bool\")");
344
+ #endif
345
+
346
+ #undef _DEFAULT_FN_ATTRS
347
+
348
+ #endif // __GPUINTRIN_H
@@ -1,12 +1,21 @@
1
- /******************************************************************************/
2
- /* (c) 2020 Qualcomm Innovation Center, Inc. All rights reserved. */
3
- /* */
4
- /******************************************************************************/
1
+ //===----------------------------------------------------------------------===//
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
+
5
9
  #ifndef HEXAGON_TYPES_H
6
10
  #define HEXAGON_TYPES_H
7
11
 
8
12
  #include <hexagon_protos.h>
9
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
+
10
19
  /* Hexagon names */
11
20
  #define HEXAGON_Vect HEXAGON_Vect64
12
21
  #define HEXAGON_V_GET_D HEXAGON_V64_GET_D
@@ -693,9 +702,8 @@ public:
693
702
  };
694
703
 
695
704
  // Extract byte methods
696
- signed char B0(void) {
697
- return HEXAGON_V64_GET_B0(data);
698
- };
705
+ signed char b0(void) { return HEXAGON_V64_GET_B0(data); };
706
+ signed char B0(void) { return b0(); };
699
707
  signed char B1(void) {
700
708
  return HEXAGON_V64_GET_B1(data);
701
709
  };
@@ -772,9 +780,10 @@ public:
772
780
  };
773
781
 
774
782
  // Set byte methods
775
- HEXAGON_Vect64C B0(signed char b) {
783
+ HEXAGON_Vect64C b0(signed char b) {
776
784
  return HEXAGON_Vect64C(HEXAGON_V64_PUT_B0(data, b));
777
785
  };
786
+ HEXAGON_Vect64C B0(signed char b) { return b0(b); };
778
787
  HEXAGON_Vect64C B1(signed char b) {
779
788
  return HEXAGON_Vect64C(HEXAGON_V64_PUT_B1(data, b));
780
789
  };
@@ -1117,9 +1126,8 @@ public:
1117
1126
  };
1118
1127
 
1119
1128
  // Extract byte methods
1120
- signed char B0(void) {
1121
- return HEXAGON_V32_GET_B0(data);
1122
- };
1129
+ signed char b0(void) { return HEXAGON_V32_GET_B0(data); };
1130
+ signed char B0(void) { return b0(); };
1123
1131
  signed char B1(void) {
1124
1132
  return HEXAGON_V32_GET_B1(data);
1125
1133
  };
@@ -1158,9 +1166,10 @@ public:
1158
1166
  };
1159
1167
 
1160
1168
  // Set byte methods
1161
- HEXAGON_Vect32C B0(signed char b) {
1169
+ HEXAGON_Vect32C b0(signed char b) {
1162
1170
  return HEXAGON_Vect32C(HEXAGON_V32_PUT_B0(data, b));
1163
1171
  };
1172
+ HEXAGON_Vect32C B0(signed char b) { return b0(b); };
1164
1173
  HEXAGON_Vect32C B1(signed char b) {
1165
1174
  return HEXAGON_Vect32C(HEXAGON_V32_PUT_B1(data, b));
1166
1175
  };
@@ -1920,9 +1929,8 @@ public:
1920
1929
  };
1921
1930
 
1922
1931
  // Extract byte methods
1923
- signed char B0(void) {
1924
- return Q6V64_GET_B0(data);
1925
- };
1932
+ signed char b0(void) { return Q6V64_GET_B0(data); };
1933
+ signed char B0(void) { return b0(); };
1926
1934
  signed char B1(void) {
1927
1935
  return Q6V64_GET_B1(data);
1928
1936
  };
@@ -1999,9 +2007,8 @@ public:
1999
2007
  };
2000
2008
 
2001
2009
  // Set byte methods
2002
- Q6Vect64C B0(signed char b) {
2003
- return Q6Vect64C(Q6V64_PUT_B0(data, b));
2004
- };
2010
+ Q6Vect64C b0(signed char b) { return Q6Vect64C(Q6V64_PUT_B0(data, b)); };
2011
+ Q6Vect64C B0(signed char b) { return b0(b); };
2005
2012
  Q6Vect64C B1(signed char b) {
2006
2013
  return Q6Vect64C(Q6V64_PUT_B1(data, b));
2007
2014
  };
@@ -2344,9 +2351,8 @@ public:
2344
2351
  };
2345
2352
 
2346
2353
  // Extract byte methods
2347
- signed char B0(void) {
2348
- return Q6V32_GET_B0(data);
2349
- };
2354
+ signed char b0(void) { return Q6V32_GET_B0(data); };
2355
+ signed char B0(void) { return b0(); };
2350
2356
  signed char B1(void) {
2351
2357
  return Q6V32_GET_B1(data);
2352
2358
  };
@@ -2385,9 +2391,8 @@ public:
2385
2391
  };
2386
2392
 
2387
2393
  // Set byte methods
2388
- Q6Vect32C B0(signed char b) {
2389
- return Q6Vect32C(Q6V32_PUT_B0(data, b));
2390
- };
2394
+ Q6Vect32C b0(signed char b) { return Q6Vect32C(Q6V32_PUT_B0(data, b)); };
2395
+ Q6Vect32C B0(signed char b) { return b0(b); };
2391
2396
  Q6Vect32C B1(signed char b) {
2392
2397
  return Q6Vect32C(Q6V32_PUT_B1(data, b));
2393
2398
  };
@@ -2618,4 +2623,6 @@ typedef struct hexagon_udma_descriptor_type1_s
2618
2623
  unsigned int dstwidthoffset:16;
2619
2624
  } hexagon_udma_descriptor_type1_t;
2620
2625
 
2626
+ #pragma pop_macro("B0")
2627
+
2621
2628
  #endif /* !HEXAGON_TYPES_H */
@@ -0,0 +1,222 @@
1
+ //===--- hlsl_alias_intrinsics.h - HLSL alias definitions for 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 _HLSL_HLSL_ALIAS_INTRINSICS_H_
10
+ #define _HLSL_HLSL_ALIAS_INTRINSICS_H_
11
+
12
+ namespace hlsl {
13
+
14
+ // Note: Functions in this file are sorted alphabetically, then grouped by base
15
+ // element type, and the element types are sorted by size, then singed integer,
16
+ // unsigned integer and floating point. Keeping this ordering consistent will
17
+ // help keep this file manageable as it grows.
18
+
19
+ #define _HLSL_BUILTIN_ALIAS(builtin) \
20
+ __attribute__((clang_builtin_alias(builtin)))
21
+ #define _HLSL_AVAILABILITY(platform, version) \
22
+ __attribute__((availability(platform, introduced = version)))
23
+ #define _HLSL_AVAILABILITY_STAGE(platform, version, stage) \
24
+ __attribute__(( \
25
+ availability(platform, introduced = version, environment = stage)))
26
+
27
+ #ifdef __HLSL_ENABLE_16_BIT
28
+ #define _HLSL_16BIT_AVAILABILITY(platform, version, ...) \
29
+ __attribute__((availability(platform, introduced = version)))
30
+ #define _HLSL_16BIT_AVAILABILITY_STAGE(platform, version, stage) \
31
+ __attribute__(( \
32
+ availability(platform, introduced = version, environment = stage)))
33
+ #define _HLSL_16BIT_AVAILABILITY_SHADERMODEL_DEFAULT() \
34
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
35
+ #else
36
+ #define _HLSL_16BIT_AVAILABILITY(platform, version, ...) \
37
+ __VA_OPT__(_HLSL_AVAILABILITY(platform, __VA_ARGS__))
38
+ #define _HLSL_16BIT_AVAILABILITY_STAGE(environment, version, stage)
39
+ #define _HLSL_16BIT_AVAILABILITY_SHADERMODEL_DEFAULT()
40
+ #endif
41
+
42
+ // Generated by clang-tblgen from HLSLIntrinsics.td (alias intrinsics).
43
+ #include "hlsl_alias_intrinsics_gen.inc"
44
+
45
+ //===----------------------------------------------------------------------===//
46
+ // mul builtins
47
+ //===----------------------------------------------------------------------===//
48
+
49
+ /// \fn R mul(X x, Y y)
50
+ /// \brief Multiplies x and y using matrix math.
51
+ /// \param x [in] The first input value. If x is a vector, it is treated as a
52
+ /// row vector.
53
+ /// \param y [in] The second input value. If y is a vector, it is treated as a
54
+ /// column vector.
55
+ ///
56
+ /// The inner dimension x-columns and y-rows must be equal. The result has the
57
+ /// dimension x-rows x y-columns. When both x and y are vectors, the result is
58
+ /// a dot product (scalar). Scalar operands are multiplied element-wise.
59
+ ///
60
+ /// This function supports 9 overloaded forms:
61
+ /// 1. scalar * scalar -> scalar
62
+ /// 2. scalar * vector -> vector
63
+ /// 3. scalar * matrix -> matrix
64
+ /// 4. vector * scalar -> vector
65
+ /// 5. vector * vector -> scalar (dot product)
66
+ /// 6. vector * matrix -> vector
67
+ /// 7. matrix * scalar -> matrix
68
+ /// 8. matrix * vector -> vector
69
+ /// 9. matrix * matrix -> matrix
70
+
71
+ // Cases 1, 2, 3, 4, 5, and 7 of mul are defined in hlsl_intrinsics.h as
72
+ // header-only implementations because they are elementwise operations and dot
73
+ // products easily expressed in HLSL.
74
+
75
+ // Cases 6, 8, and 9 are defined below to alias the mul builtin so that they can
76
+ // be lowered to the llvm.matrix.multiply intrinsic which is not exposed
77
+ // directly to HLSL.
78
+
79
+ // Case 6: vector * matrix -> vector
80
+ template <int R, int C>
81
+ _HLSL_16BIT_AVAILABILITY_SHADERMODEL_DEFAULT()
82
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_mul) vector<half, C> mul(vector<half, R>,
83
+ matrix<half, R, C>);
84
+
85
+ template <typename T, int R, int C>
86
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_mul)
87
+ vector<T, C> mul(vector<T, R>, matrix<T, R, C>);
88
+
89
+ // Case 8: matrix * vector -> vector
90
+ template <int R, int C>
91
+ _HLSL_16BIT_AVAILABILITY_SHADERMODEL_DEFAULT()
92
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_mul) vector<half, R> mul(matrix<half, R, C>,
93
+ vector<half, C>);
94
+
95
+ template <typename T, int R, int C>
96
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_mul)
97
+ vector<T, R> mul(matrix<T, R, C>, vector<T, C>);
98
+
99
+ // Case 9: matrix * matrix -> matrix
100
+ template <int R, int K, int C>
101
+ _HLSL_16BIT_AVAILABILITY_SHADERMODEL_DEFAULT()
102
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_mul) matrix<half, R, C> mul(
103
+ matrix<half, R, K>, matrix<half, K, C>);
104
+
105
+ template <typename T, int R, int K, int C>
106
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_mul)
107
+ matrix<T, R, C> mul(matrix<T, R, K>, matrix<T, K, C>);
108
+
109
+ //===----------------------------------------------------------------------===//
110
+ // transpose builtins
111
+ //===----------------------------------------------------------------------===//
112
+
113
+ /// \fn matrix<T, C, R> transpose(matrix<T, R, C> x)
114
+ /// \brief Returns the transpose of the input matrix.
115
+ /// \param x [in] The input matrix.
116
+
117
+ template <int R, int C>
118
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
119
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_transpose) matrix<half, C, R> transpose(
120
+ matrix<half, R, C>);
121
+
122
+ template <typename T, int R, int C>
123
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_transpose)
124
+ matrix<T, C, R> transpose(matrix<T, R, C>);
125
+
126
+ //===----------------------------------------------------------------------===//
127
+ // select builtins
128
+ //===----------------------------------------------------------------------===//
129
+
130
+ /// \fn T select(bool Cond, T TrueVal, T FalseVal)
131
+ /// \brief ternary operator.
132
+ /// \param Cond The Condition input value.
133
+ /// \param TrueVal The Value returned if Cond is true.
134
+ /// \param FalseVal The Value returned if Cond is false.
135
+
136
+ template <typename T>
137
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
138
+ T select(bool, T, T);
139
+
140
+ /// \fn vector<T,Sz> select(vector<bool,Sz> Conds, vector<T,Sz> TrueVals,
141
+ /// vector<T,Sz> FalseVals)
142
+ /// \brief ternary operator for vectors. All vectors must be the same size.
143
+ /// \param Conds The Condition input values.
144
+ /// \param TrueVals The vector values are chosen from when conditions are true.
145
+ /// \param FalseVals The vector values are chosen from when conditions are
146
+ /// false.
147
+
148
+ template <typename T>
149
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
150
+ vector<T, 2> select(vector<bool, 2>, vector<T, 2>, vector<T, 2>);
151
+
152
+ template <typename T>
153
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
154
+ vector<T, 3> select(vector<bool, 3>, vector<T, 3>, vector<T, 3>);
155
+
156
+ template <typename T>
157
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
158
+ vector<T, 4> select(vector<bool, 4>, vector<T, 4>, vector<T, 4>);
159
+
160
+ /// \fn vector<T,Sz> select(vector<bool,Sz> Conds, T TrueVal,
161
+ /// vector<T,Sz> FalseVals)
162
+ /// \brief ternary operator for vectors. All vectors must be the same size.
163
+ /// \param Conds The Condition input values.
164
+ /// \param TrueVal The scalar value to splat from when conditions are true.
165
+ /// \param FalseVals The vector values are chosen from when conditions are
166
+ /// false.
167
+
168
+ template <typename T>
169
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
170
+ vector<T, 2> select(vector<bool, 2>, T, vector<T, 2>);
171
+
172
+ template <typename T>
173
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
174
+ vector<T, 3> select(vector<bool, 3>, T, vector<T, 3>);
175
+
176
+ template <typename T>
177
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
178
+ vector<T, 4> select(vector<bool, 4>, T, vector<T, 4>);
179
+
180
+ /// \fn vector<T,Sz> select(vector<bool,Sz> Conds, vector<T,Sz> TrueVals,
181
+ /// T FalseVal)
182
+ /// \brief ternary operator for vectors. All vectors must be the same size.
183
+ /// \param Conds The Condition input values.
184
+ /// \param TrueVals The vector values are chosen from when conditions are true.
185
+ /// \param FalseVal The scalar value to splat from when conditions are false.
186
+
187
+ template <typename T>
188
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
189
+ vector<T, 2> select(vector<bool, 2>, vector<T, 2>, T);
190
+
191
+ template <typename T>
192
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
193
+ vector<T, 3> select(vector<bool, 3>, vector<T, 3>, T);
194
+
195
+ template <typename T>
196
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
197
+ vector<T, 4> select(vector<bool, 4>, vector<T, 4>, T);
198
+
199
+ /// \fn vector<T,Sz> select(vector<bool,Sz> Conds, vector<T,Sz> TrueVals,
200
+ /// T FalseVal)
201
+ /// \brief ternary operator for vectors. All vectors must be the same size.
202
+ /// \param Conds The Condition input values.
203
+ /// \param TrueVal The scalar value to splat from when conditions are true.
204
+ /// \param FalseVal The scalar value to splat from when conditions are false.
205
+
206
+ template <typename T>
207
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
208
+ __detail::enable_if_t<__detail::is_arithmetic<T>::Value, vector<T, 2>> select(
209
+ vector<bool, 2>, T, T);
210
+
211
+ template <typename T>
212
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
213
+ __detail::enable_if_t<__detail::is_arithmetic<T>::Value, vector<T, 3>> select(
214
+ vector<bool, 3>, T, T);
215
+
216
+ template <typename T>
217
+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
218
+ __detail::enable_if_t<__detail::is_arithmetic<T>::Value, vector<T, 4>> select(
219
+ vector<bool, 4>, T, T);
220
+
221
+ } // namespace hlsl
222
+ #endif //_HLSL_HLSL_ALIAS_INTRINSICS_H_