@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
@@ -1,285 +0,0 @@
1
- /*===-- __clang_cuda_complex_builtins - CUDA impls of runtime complex fns ---===
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
-
10
- #ifndef __CLANG_CUDA_COMPLEX_BUILTINS
11
- #define __CLANG_CUDA_COMPLEX_BUILTINS
12
-
13
- // This header defines __muldc3, __mulsc3, __divdc3, and __divsc3. These are
14
- // libgcc functions that clang assumes are available when compiling c99 complex
15
- // operations. (These implementations come from libc++, and have been modified
16
- // to work with CUDA and OpenMP target offloading [in C and C++ mode].)
17
-
18
- #pragma push_macro("__DEVICE__")
19
- #if defined(__OPENMP_NVPTX__) || defined(__OPENMP_AMDGCN__)
20
- #pragma omp declare target
21
- #define __DEVICE__ __attribute__((noinline, nothrow, cold, weak))
22
- #else
23
- #define __DEVICE__ __device__ inline
24
- #endif
25
-
26
- // To make the algorithms available for C and C++ in CUDA and OpenMP we select
27
- // different but equivalent function versions. TODO: For OpenMP we currently
28
- // select the native builtins as the overload support for templates is lacking.
29
- #if !defined(__OPENMP_NVPTX__) && !defined(__OPENMP_AMDGCN__)
30
- #define _ISNANd std::isnan
31
- #define _ISNANf std::isnan
32
- #define _ISINFd std::isinf
33
- #define _ISINFf std::isinf
34
- #define _ISFINITEd std::isfinite
35
- #define _ISFINITEf std::isfinite
36
- #define _COPYSIGNd std::copysign
37
- #define _COPYSIGNf std::copysign
38
- #define _SCALBNd std::scalbn
39
- #define _SCALBNf std::scalbn
40
- #define _ABSd std::abs
41
- #define _ABSf std::abs
42
- #define _LOGBd std::logb
43
- #define _LOGBf std::logb
44
- // Rather than pulling in std::max from algorithm everytime, use available ::max.
45
- #define _fmaxd max
46
- #define _fmaxf max
47
- #else
48
- #ifdef __AMDGCN__
49
- #define _ISNANd __ocml_isnan_f64
50
- #define _ISNANf __ocml_isnan_f32
51
- #define _ISINFd __ocml_isinf_f64
52
- #define _ISINFf __ocml_isinf_f32
53
- #define _ISFINITEd __ocml_isfinite_f64
54
- #define _ISFINITEf __ocml_isfinite_f32
55
- #define _COPYSIGNd __ocml_copysign_f64
56
- #define _COPYSIGNf __ocml_copysign_f32
57
- #define _SCALBNd __ocml_scalbn_f64
58
- #define _SCALBNf __ocml_scalbn_f32
59
- #define _ABSd __ocml_fabs_f64
60
- #define _ABSf __ocml_fabs_f32
61
- #define _LOGBd __ocml_logb_f64
62
- #define _LOGBf __ocml_logb_f32
63
- #define _fmaxd __ocml_fmax_f64
64
- #define _fmaxf __ocml_fmax_f32
65
- #else
66
- #define _ISNANd __nv_isnand
67
- #define _ISNANf __nv_isnanf
68
- #define _ISINFd __nv_isinfd
69
- #define _ISINFf __nv_isinff
70
- #define _ISFINITEd __nv_isfinited
71
- #define _ISFINITEf __nv_finitef
72
- #define _COPYSIGNd __nv_copysign
73
- #define _COPYSIGNf __nv_copysignf
74
- #define _SCALBNd __nv_scalbn
75
- #define _SCALBNf __nv_scalbnf
76
- #define _ABSd __nv_fabs
77
- #define _ABSf __nv_fabsf
78
- #define _LOGBd __nv_logb
79
- #define _LOGBf __nv_logbf
80
- #define _fmaxd __nv_fmax
81
- #define _fmaxf __nv_fmaxf
82
- #endif
83
- #endif
84
-
85
- #if defined(__cplusplus)
86
- extern "C" {
87
- #endif
88
-
89
- __DEVICE__ double _Complex __muldc3(double __a, double __b, double __c,
90
- double __d) {
91
- double __ac = __a * __c;
92
- double __bd = __b * __d;
93
- double __ad = __a * __d;
94
- double __bc = __b * __c;
95
- double _Complex z;
96
- __real__(z) = __ac - __bd;
97
- __imag__(z) = __ad + __bc;
98
- if (_ISNANd(__real__(z)) && _ISNANd(__imag__(z))) {
99
- int __recalc = 0;
100
- if (_ISINFd(__a) || _ISINFd(__b)) {
101
- __a = _COPYSIGNd(_ISINFd(__a) ? 1 : 0, __a);
102
- __b = _COPYSIGNd(_ISINFd(__b) ? 1 : 0, __b);
103
- if (_ISNANd(__c))
104
- __c = _COPYSIGNd(0, __c);
105
- if (_ISNANd(__d))
106
- __d = _COPYSIGNd(0, __d);
107
- __recalc = 1;
108
- }
109
- if (_ISINFd(__c) || _ISINFd(__d)) {
110
- __c = _COPYSIGNd(_ISINFd(__c) ? 1 : 0, __c);
111
- __d = _COPYSIGNd(_ISINFd(__d) ? 1 : 0, __d);
112
- if (_ISNANd(__a))
113
- __a = _COPYSIGNd(0, __a);
114
- if (_ISNANd(__b))
115
- __b = _COPYSIGNd(0, __b);
116
- __recalc = 1;
117
- }
118
- if (!__recalc &&
119
- (_ISINFd(__ac) || _ISINFd(__bd) || _ISINFd(__ad) || _ISINFd(__bc))) {
120
- if (_ISNANd(__a))
121
- __a = _COPYSIGNd(0, __a);
122
- if (_ISNANd(__b))
123
- __b = _COPYSIGNd(0, __b);
124
- if (_ISNANd(__c))
125
- __c = _COPYSIGNd(0, __c);
126
- if (_ISNANd(__d))
127
- __d = _COPYSIGNd(0, __d);
128
- __recalc = 1;
129
- }
130
- if (__recalc) {
131
- // Can't use std::numeric_limits<double>::infinity() -- that doesn't have
132
- // a device overload (and isn't constexpr before C++11, naturally).
133
- __real__(z) = __builtin_huge_val() * (__a * __c - __b * __d);
134
- __imag__(z) = __builtin_huge_val() * (__a * __d + __b * __c);
135
- }
136
- }
137
- return z;
138
- }
139
-
140
- __DEVICE__ float _Complex __mulsc3(float __a, float __b, float __c, float __d) {
141
- float __ac = __a * __c;
142
- float __bd = __b * __d;
143
- float __ad = __a * __d;
144
- float __bc = __b * __c;
145
- float _Complex z;
146
- __real__(z) = __ac - __bd;
147
- __imag__(z) = __ad + __bc;
148
- if (_ISNANf(__real__(z)) && _ISNANf(__imag__(z))) {
149
- int __recalc = 0;
150
- if (_ISINFf(__a) || _ISINFf(__b)) {
151
- __a = _COPYSIGNf(_ISINFf(__a) ? 1 : 0, __a);
152
- __b = _COPYSIGNf(_ISINFf(__b) ? 1 : 0, __b);
153
- if (_ISNANf(__c))
154
- __c = _COPYSIGNf(0, __c);
155
- if (_ISNANf(__d))
156
- __d = _COPYSIGNf(0, __d);
157
- __recalc = 1;
158
- }
159
- if (_ISINFf(__c) || _ISINFf(__d)) {
160
- __c = _COPYSIGNf(_ISINFf(__c) ? 1 : 0, __c);
161
- __d = _COPYSIGNf(_ISINFf(__d) ? 1 : 0, __d);
162
- if (_ISNANf(__a))
163
- __a = _COPYSIGNf(0, __a);
164
- if (_ISNANf(__b))
165
- __b = _COPYSIGNf(0, __b);
166
- __recalc = 1;
167
- }
168
- if (!__recalc &&
169
- (_ISINFf(__ac) || _ISINFf(__bd) || _ISINFf(__ad) || _ISINFf(__bc))) {
170
- if (_ISNANf(__a))
171
- __a = _COPYSIGNf(0, __a);
172
- if (_ISNANf(__b))
173
- __b = _COPYSIGNf(0, __b);
174
- if (_ISNANf(__c))
175
- __c = _COPYSIGNf(0, __c);
176
- if (_ISNANf(__d))
177
- __d = _COPYSIGNf(0, __d);
178
- __recalc = 1;
179
- }
180
- if (__recalc) {
181
- __real__(z) = __builtin_huge_valf() * (__a * __c - __b * __d);
182
- __imag__(z) = __builtin_huge_valf() * (__a * __d + __b * __c);
183
- }
184
- }
185
- return z;
186
- }
187
-
188
- __DEVICE__ double _Complex __divdc3(double __a, double __b, double __c,
189
- double __d) {
190
- int __ilogbw = 0;
191
- // Can't use std::max, because that's defined in <algorithm>, and we don't
192
- // want to pull that in for every compile. The CUDA headers define
193
- // ::max(float, float) and ::max(double, double), which is sufficient for us.
194
- double __logbw = _LOGBd(_fmaxd(_ABSd(__c), _ABSd(__d)));
195
- if (_ISFINITEd(__logbw)) {
196
- __ilogbw = (int)__logbw;
197
- __c = _SCALBNd(__c, -__ilogbw);
198
- __d = _SCALBNd(__d, -__ilogbw);
199
- }
200
- double __denom = __c * __c + __d * __d;
201
- double _Complex z;
202
- __real__(z) = _SCALBNd((__a * __c + __b * __d) / __denom, -__ilogbw);
203
- __imag__(z) = _SCALBNd((__b * __c - __a * __d) / __denom, -__ilogbw);
204
- if (_ISNANd(__real__(z)) && _ISNANd(__imag__(z))) {
205
- if ((__denom == 0.0) && (!_ISNANd(__a) || !_ISNANd(__b))) {
206
- __real__(z) = _COPYSIGNd(__builtin_huge_val(), __c) * __a;
207
- __imag__(z) = _COPYSIGNd(__builtin_huge_val(), __c) * __b;
208
- } else if ((_ISINFd(__a) || _ISINFd(__b)) && _ISFINITEd(__c) &&
209
- _ISFINITEd(__d)) {
210
- __a = _COPYSIGNd(_ISINFd(__a) ? 1.0 : 0.0, __a);
211
- __b = _COPYSIGNd(_ISINFd(__b) ? 1.0 : 0.0, __b);
212
- __real__(z) = __builtin_huge_val() * (__a * __c + __b * __d);
213
- __imag__(z) = __builtin_huge_val() * (__b * __c - __a * __d);
214
- } else if (_ISINFd(__logbw) && __logbw > 0.0 && _ISFINITEd(__a) &&
215
- _ISFINITEd(__b)) {
216
- __c = _COPYSIGNd(_ISINFd(__c) ? 1.0 : 0.0, __c);
217
- __d = _COPYSIGNd(_ISINFd(__d) ? 1.0 : 0.0, __d);
218
- __real__(z) = 0.0 * (__a * __c + __b * __d);
219
- __imag__(z) = 0.0 * (__b * __c - __a * __d);
220
- }
221
- }
222
- return z;
223
- }
224
-
225
- __DEVICE__ float _Complex __divsc3(float __a, float __b, float __c, float __d) {
226
- int __ilogbw = 0;
227
- float __logbw = _LOGBf(_fmaxf(_ABSf(__c), _ABSf(__d)));
228
- if (_ISFINITEf(__logbw)) {
229
- __ilogbw = (int)__logbw;
230
- __c = _SCALBNf(__c, -__ilogbw);
231
- __d = _SCALBNf(__d, -__ilogbw);
232
- }
233
- float __denom = __c * __c + __d * __d;
234
- float _Complex z;
235
- __real__(z) = _SCALBNf((__a * __c + __b * __d) / __denom, -__ilogbw);
236
- __imag__(z) = _SCALBNf((__b * __c - __a * __d) / __denom, -__ilogbw);
237
- if (_ISNANf(__real__(z)) && _ISNANf(__imag__(z))) {
238
- if ((__denom == 0) && (!_ISNANf(__a) || !_ISNANf(__b))) {
239
- __real__(z) = _COPYSIGNf(__builtin_huge_valf(), __c) * __a;
240
- __imag__(z) = _COPYSIGNf(__builtin_huge_valf(), __c) * __b;
241
- } else if ((_ISINFf(__a) || _ISINFf(__b)) && _ISFINITEf(__c) &&
242
- _ISFINITEf(__d)) {
243
- __a = _COPYSIGNf(_ISINFf(__a) ? 1 : 0, __a);
244
- __b = _COPYSIGNf(_ISINFf(__b) ? 1 : 0, __b);
245
- __real__(z) = __builtin_huge_valf() * (__a * __c + __b * __d);
246
- __imag__(z) = __builtin_huge_valf() * (__b * __c - __a * __d);
247
- } else if (_ISINFf(__logbw) && __logbw > 0 && _ISFINITEf(__a) &&
248
- _ISFINITEf(__b)) {
249
- __c = _COPYSIGNf(_ISINFf(__c) ? 1 : 0, __c);
250
- __d = _COPYSIGNf(_ISINFf(__d) ? 1 : 0, __d);
251
- __real__(z) = 0 * (__a * __c + __b * __d);
252
- __imag__(z) = 0 * (__b * __c - __a * __d);
253
- }
254
- }
255
- return z;
256
- }
257
-
258
- #if defined(__cplusplus)
259
- } // extern "C"
260
- #endif
261
-
262
- #undef _ISNANd
263
- #undef _ISNANf
264
- #undef _ISINFd
265
- #undef _ISINFf
266
- #undef _COPYSIGNd
267
- #undef _COPYSIGNf
268
- #undef _ISFINITEd
269
- #undef _ISFINITEf
270
- #undef _SCALBNd
271
- #undef _SCALBNf
272
- #undef _ABSd
273
- #undef _ABSf
274
- #undef _LOGBd
275
- #undef _LOGBf
276
- #undef _fmaxd
277
- #undef _fmaxf
278
-
279
- #if defined(__OPENMP_NVPTX__) || defined(__OPENMP_AMDGCN__)
280
- #pragma omp end declare target
281
- #endif
282
-
283
- #pragma pop_macro("__DEVICE__")
284
-
285
- #endif // __CLANG_CUDA_COMPLEX_BUILTINS
@@ -1,94 +0,0 @@
1
- /*===----- amxbf16transposeintrin.h - AMX-BF16 and AMX-TRANSPOSE ------------===
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
-
10
- #ifndef __IMMINTRIN_H
11
- #error \
12
- "Never use <amxbf16transposeintrin.h> directly; use <immintrin.h> instead."
13
- #endif /* __IMMINTRIN_H */
14
-
15
- #ifndef __AMX_BF16TRANSPOSEINTRIN_H
16
- #define __AMX_BF16TRANSPOSEINTRIN_H
17
- #ifdef __x86_64__
18
-
19
- /* Define the default attributes for the functions in this file. */
20
- #define __DEFAULT_FN_ATTRS \
21
- __attribute__((__always_inline__, __nodebug__, \
22
- __target__("amx-bf16,amx-transpose")))
23
-
24
- /// Compute transpose and dot-product of BF16 (16-bit) floating-point pairs in
25
- /// tiles \a a and \a b, accumulating the intermediate single-precision
26
- /// (32-bit) floating-point elements with elements in \a dst, and store the
27
- /// 32-bit result back to tile \a dst.
28
- ///
29
- /// \headerfile <immintrin.h>
30
- ///
31
- /// \code
32
- /// void _tile_tdpbf16ps (__tile dst, __tile a, __tile b)
33
- /// \endcode
34
- ///
35
- /// \code{.operation}
36
- /// FOR m := 0 TO dst.rows - 1
37
- /// tmp := dst.row[m]
38
- /// FOR k := 0 TO (a.colsb / 4) - 1
39
- /// FOR n := 0 TO (dst.colsb / 4) - 1
40
- /// tmp.bf32[n] += FP32(a.row[m].bf16[2*k+0]) *
41
- /// FP32(b.row[k].bf16[2*n+0])
42
- /// tmp.bf32[n] += FP32(a.row[m].bf16[2*k+1]) *
43
- /// FP32(b.row[k].bf16[2*n+1])
44
- /// ENDFOR
45
- /// ENDFOR
46
- /// write_row_and_zero(dst, m, tmp, dst.colsb)
47
- /// ENDFOR
48
- /// zero_upper_rows(dst, dst.rows)
49
- /// zero_tileconfig_start()
50
- /// \endcode
51
- ///
52
- /// This intrinsic corresponds to the \c TTDPBF16PS instruction.
53
- ///
54
- /// \param dst
55
- /// The destination tile. Max size is 1024 Bytes.
56
- /// \param a
57
- /// The 1st source tile. Max size is 1024 Bytes.
58
- /// \param b
59
- /// The 2nd source tile. Max size is 1024 Bytes.
60
- #define _tile_tdpbf16ps(dst, a, b) __builtin_ia32_ttdpbf16ps((dst), (a), (b))
61
-
62
- /// This is internal intrinsic. C/C++ user should avoid calling it directly.
63
- static __inline__ _tile1024i __DEFAULT_FN_ATTRS
64
- _tile_tdpbf16ps_internal(unsigned short m, unsigned short n, unsigned short k,
65
- _tile1024i dst, _tile1024i src1, _tile1024i src2) {
66
- return __builtin_ia32_ttdpbf16ps_internal(m, n, k, dst, src1, src2);
67
- }
68
-
69
- /// Compute transpose and dot-product of BF16 (16-bit) floating-point pairs in
70
- /// tiles src0 and src1, accumulating the intermediate single-precision
71
- /// (32-bit) floating-point elements with elements in "dst", and store the
72
- /// 32-bit result back to tile "dst".
73
- ///
74
- /// \headerfile <immintrin.h>
75
- ///
76
- /// This intrinsic corresponds to the <c> TTDPBF16PS </c> instruction.
77
- ///
78
- /// \param dst
79
- /// The destination tile. Max size is 1024 Bytes.
80
- /// \param src0
81
- /// The 1st source tile. Max size is 1024 Bytes.
82
- /// \param src1
83
- /// The 2nd source tile. Max size is 1024 Bytes.
84
- __DEFAULT_FN_ATTRS
85
- static __inline__ void __tile_tdpbf16ps(__tile1024i *dst, __tile1024i src0,
86
- __tile1024i src1) {
87
- dst->tile = _tile_tdpbf16ps_internal(src0.row, src1.col, src0.col, dst->tile,
88
- src0.tile, src1.tile);
89
- }
90
-
91
- #undef __DEFAULT_FN_ATTRS
92
-
93
- #endif /* __x86_64__ */
94
- #endif /* __AMX_BF16TRANSPOSEINTRIN_H */
@@ -1,303 +0,0 @@
1
- /*===----- amxcomplextransposeintrin.h - AMX-COMPLEX and AMX-TRANSPOSE ------===
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
-
10
- #ifndef __IMMINTRIN_H
11
- #error \
12
- "Never use <amxcomplextransposeintrin.h> directly; include <immintrin.h> instead."
13
- #endif // __IMMINTRIN_H
14
-
15
- #ifndef __AMX_COMPLEXTRANSPOSEINTRIN_H
16
- #define __AMX_COMPLEXTRANSPOSEINTRIN_H
17
- #ifdef __x86_64__
18
-
19
- #define __DEFAULT_FN_ATTRS \
20
- __attribute__((__always_inline__, __nodebug__, \
21
- __target__("amx-complex,amx-transpose")))
22
-
23
- /// Perform matrix multiplication of two tiles containing complex elements and
24
- /// accumulate the results into a packed single precision tile. Each dword
25
- /// element in input tiles \a a and \a b is interpreted as a complex number
26
- /// with FP16 real part and FP16 imaginary part.
27
- /// Calculates the imaginary part of the result. For each possible combination
28
- /// of (transposed column of \a a, column of \a b), it performs a set of
29
- /// multiplication and accumulations on all corresponding complex numbers
30
- /// (one from \a a and one from \a b). The imaginary part of the \a a element
31
- /// is multiplied with the real part of the corresponding \a b element, and
32
- /// the real part of the \a a element is multiplied with the imaginary part
33
- /// of the corresponding \a b elements. The two accumulated results are
34
- /// added, and then accumulated into the corresponding row and column of
35
- /// \a dst.
36
- ///
37
- /// \headerfile <x86intrin.h>
38
- ///
39
- /// \code
40
- /// void _tile_tcmmimfp16ps(__tile dst, __tile a, __tile b);
41
- /// \endcode
42
- ///
43
- /// \code{.operation}
44
- /// FOR m := 0 TO dst.rows - 1
45
- /// tmp := dst.row[m]
46
- /// FOR k := 0 TO a.rows - 1
47
- /// FOR n := 0 TO (dst.colsb / 4) - 1
48
- /// tmp.fp32[n] += FP32(a.row[m].fp16[2*k+0]) * FP32(b.row[k].fp16[2*n+1])
49
- /// tmp.fp32[n] += FP32(a.row[m].fp16[2*k+1]) * FP32(b.row[k].fp16[2*n+0])
50
- /// ENDFOR
51
- /// ENDFOR
52
- /// write_row_and_zero(dst, m, tmp, dst.colsb)
53
- /// ENDFOR
54
- /// zero_upper_rows(dst, dst.rows)
55
- /// zero_tileconfig_start()
56
- /// \endcode
57
- ///
58
- /// This intrinsic corresponds to the \c TTCMMIMFP16PS instruction.
59
- ///
60
- /// \param dst
61
- /// The destination tile. Max size is 1024 Bytes.
62
- /// \param a
63
- /// The 1st source tile. Max size is 1024 Bytes.
64
- /// \param b
65
- /// The 2nd source tile. Max size is 1024 Bytes.
66
- #define _tile_tcmmimfp16ps(dst, a, b) \
67
- __builtin_ia32_ttcmmimfp16ps((dst), (a), (b))
68
-
69
- /// Perform matrix multiplication of two tiles containing complex elements and
70
- /// accumulate the results into a packed single precision tile. Each dword
71
- /// element in input tiles \a a and \a b is interpreted as a complex number
72
- /// with FP16 real part and FP16 imaginary part.
73
- /// Calculates the real part of the result. For each possible combination
74
- /// of (rtransposed colum of \a a, column of \a b), it performs a set of
75
- /// multiplication and accumulations on all corresponding complex numbers
76
- /// (one from \a a and one from \a b). The real part of the \a a element is
77
- /// multiplied with the real part of the corresponding \a b element, and the
78
- /// negated imaginary part of the \a a element is multiplied with the
79
- /// imaginary part of the corresponding \a b elements. The two accumulated
80
- /// results are added, and then accumulated into the corresponding row and
81
- /// column of \a dst.
82
- ///
83
- /// \headerfile <x86intrin.h>
84
- ///
85
- /// \code
86
- /// void _tile_tcmmrlfp16ps(__tile dst, __tile a, __tile b);
87
- /// \endcode
88
- ///
89
- /// \code{.operation}
90
- /// FOR m := 0 TO dst.rows - 1
91
- /// tmp := dst.row[m]
92
- /// FOR k := 0 TO a.rows - 1
93
- /// FOR n := 0 TO (dst.colsb / 4) - 1
94
- /// tmp.fp32[n] += FP32(a.row[m].fp16[2*k+0]) * FP32(b.row[k].fp16[2*n+0])
95
- /// tmp.fp32[n] += FP32(-a.row[m].fp16[2*k+1]) * FP32(b.row[k].fp16[2*n+1])
96
- /// ENDFOR
97
- /// ENDFOR
98
- /// write_row_and_zero(dst, m, tmp, dst.colsb)
99
- /// ENDFOR
100
- /// zero_upper_rows(dst, dst.rows)
101
- /// zero_tileconfig_start()
102
- /// \endcode
103
- ///
104
- /// This intrinsic corresponds to the \c TTCMMIMFP16PS instruction.
105
- ///
106
- /// \param dst
107
- /// The destination tile. Max size is 1024 Bytes.
108
- /// \param a
109
- /// The 1st source tile. Max size is 1024 Bytes.
110
- /// \param b
111
- /// The 2nd source tile. Max size is 1024 Bytes.
112
- #define _tile_tcmmrlfp16ps(dst, a, b) \
113
- __builtin_ia32_ttcmmrlfp16ps((dst), (a), (b))
114
-
115
- /// Perform matrix conjugate transpose and multiplication of two tiles
116
- /// containing complex elements and accumulate the results into a packed
117
- /// single precision tile. Each dword element in input tiles \a a and \a b
118
- /// is interpreted as a complex number with FP16 real part and FP16 imaginary
119
- /// part.
120
- /// Calculates the imaginary part of the result. For each possible combination
121
- /// of (transposed column of \a a, column of \a b), it performs a set of
122
- /// multiplication and accumulations on all corresponding complex numbers
123
- /// (one from \a a and one from \a b). The negated imaginary part of the \a a
124
- /// element is multiplied with the real part of the corresponding \a b
125
- /// element, and the real part of the \a a element is multiplied with the
126
- /// imaginary part of the corresponding \a b elements. The two accumulated
127
- /// results are added, and then accumulated into the corresponding row and
128
- /// column of \a dst.
129
- ///
130
- /// \headerfile <x86intrin.h>
131
- ///
132
- /// \code
133
- /// void _tile_conjtcmmimfp16ps(__tile dst, __tile a, __tile b);
134
- /// \endcode
135
- ///
136
- /// \code{.operation}
137
- /// FOR m := 0 TO dst.rows - 1
138
- /// tmp := dst.row[m]
139
- /// FOR k := 0 TO a.rows - 1
140
- /// FOR n := 0 TO (dst.colsb / 4) - 1
141
- /// tmp.fp32[n] += FP32(a.row[m].fp16[2*k+0]) * FP32(b.row[k].fp16[2*n+1])
142
- /// tmp.fp32[n] += FP32(-a.row[m].fp16[2*k+1]) * FP32(b.row[k].fp16[2*n+0])
143
- /// ENDFOR
144
- /// ENDFOR
145
- /// write_row_and_zero(dst, m, tmp, dst.colsb)
146
- /// ENDFOR
147
- /// zero_upper_rows(dst, dst.rows)
148
- /// zero_tileconfig_start()
149
- /// \endcode
150
- ///
151
- /// This intrinsic corresponds to the \c TCONJTCMMIMFP16PS instruction.
152
- ///
153
- /// \param dst
154
- /// The destination tile. Max size is 1024 Bytes.
155
- /// \param a
156
- /// The 1st source tile. Max size is 1024 Bytes.
157
- /// \param b
158
- /// The 2nd source tile. Max size is 1024 Bytes.
159
- #define _tile_conjtcmmimfp16ps(dst, a, b) \
160
- __builtin_ia32_tconjtcmmimfp16ps((dst), (a), (b))
161
-
162
- /// Perform conjugate transpose of an FP16-pair of complex elements from \a a
163
- /// and writes the result to \a dst.
164
- ///
165
- /// \headerfile <x86intrin.h>
166
- ///
167
- /// \code
168
- /// void _tile_conjtfp16(__tile dst, __tile a);
169
- /// \endcode
170
- ///
171
- /// \code{.operation}
172
- /// FOR i := 0 TO dst.rows - 1
173
- /// FOR j := 0 TO (dst.colsb / 4) - 1
174
- /// tmp.fp16[2*j+0] := a.row[j].fp16[2*i+0]
175
- /// tmp.fp16[2*j+1] := -a.row[j].fp16[2*i+1]
176
- /// ENDFOR
177
- /// write_row_and_zero(dst, i, tmp, dst.colsb)
178
- /// ENDFOR
179
- /// zero_upper_rows(dst, dst.rows)
180
- /// zero_tileconfig_start()
181
- /// \endcode
182
- ///
183
- /// This intrinsic corresponds to the \c TCONJTFP16 instruction.
184
- ///
185
- /// \param dst
186
- /// The destination tile. Max size is 1024 Bytes.
187
- /// \param a
188
- /// The source tile. Max size is 1024 Bytes.
189
- #define _tile_conjtfp16(dst, a) __builtin_ia32_tconjtfp16((dst), (a))
190
-
191
- static __inline__ _tile1024i __DEFAULT_FN_ATTRS _tile_tcmmimfp16ps_internal(
192
- unsigned short m, unsigned short n, unsigned short k, _tile1024i dst,
193
- _tile1024i src1, _tile1024i src2) {
194
- return __builtin_ia32_ttcmmimfp16ps_internal(m, n, k, dst, src1, src2);
195
- }
196
-
197
- static __inline__ _tile1024i __DEFAULT_FN_ATTRS _tile_tcmmrlfp16ps_internal(
198
- unsigned short m, unsigned short n, unsigned short k, _tile1024i dst,
199
- _tile1024i src1, _tile1024i src2) {
200
- return __builtin_ia32_ttcmmrlfp16ps_internal(m, n, k, dst, src1, src2);
201
- }
202
-
203
- static __inline__ _tile1024i __DEFAULT_FN_ATTRS _tile_conjtcmmimfp16ps_internal(
204
- unsigned short m, unsigned short n, unsigned short k, _tile1024i dst,
205
- _tile1024i src1, _tile1024i src2) {
206
- return __builtin_ia32_tconjtcmmimfp16ps_internal(m, n, k, dst, src1, src2);
207
- }
208
-
209
- static __inline__ _tile1024i __DEFAULT_FN_ATTRS
210
- _tile_conjtfp16_internal(unsigned short m, unsigned short n, _tile1024i src) {
211
- return __builtin_ia32_tconjtfp16_internal(m, n, src);
212
- }
213
-
214
- /// Perform matrix multiplication of two tiles containing complex elements and
215
- /// accumulate the results into a packed single precision tile. Each dword
216
- /// element in input tiles src0 and src1 is interpreted as a complex number
217
- /// with FP16 real part and FP16 imaginary part.
218
- /// This function calculates the imaginary part of the result.
219
- ///
220
- /// \headerfile <immintrin.h>
221
- ///
222
- /// This intrinsic corresponds to the <c> TTCMMIMFP16PS </c> instruction.
223
- ///
224
- /// \param dst
225
- /// The destination tile. Max size is 1024 Bytes.
226
- /// \param src0
227
- /// The 1st source tile. Max size is 1024 Bytes.
228
- /// \param src1
229
- /// The 2nd source tile. Max size is 1024 Bytes.
230
- __DEFAULT_FN_ATTRS
231
- static void __tile_tcmmimfp16ps(__tile1024i *dst, __tile1024i src0,
232
- __tile1024i src1) {
233
- dst->tile = _tile_tcmmimfp16ps_internal(src0.row, src1.col, src0.col,
234
- dst->tile, src0.tile, src1.tile);
235
- }
236
-
237
- /// Perform matrix multiplication of two tiles containing complex elements and
238
- /// accumulate the results into a packed single precision tile. Each dword
239
- /// element in input tiles src0 and src1 is interpreted as a complex number
240
- /// with FP16 real part and FP16 imaginary part.
241
- /// This function calculates the real part of the result.
242
- ///
243
- /// \headerfile <immintrin.h>
244
- ///
245
- /// This intrinsic corresponds to the <c> TTCMMRLFP16PS </c> instruction.
246
- ///
247
- /// \param dst
248
- /// The destination tile. Max size is 1024 Bytes.
249
- /// \param src0
250
- /// The 1st source tile. Max size is 1024 Bytes.
251
- /// \param src1
252
- /// The 2nd source tile. Max size is 1024 Bytes.
253
- __DEFAULT_FN_ATTRS
254
- static void __tile_tcmmrlfp16ps(__tile1024i *dst, __tile1024i src0,
255
- __tile1024i src1) {
256
- dst->tile = _tile_tcmmrlfp16ps_internal(src0.row, src1.col, src0.col,
257
- dst->tile, src0.tile, src1.tile);
258
- }
259
-
260
- /// Perform matrix conjugate transpose and multiplication of two tiles
261
- /// containing complex elements and accumulate the results into a packed
262
- /// single precision tile. Each dword element in input tiles src0 and src1
263
- /// is interpreted as a complex number with FP16 real part and FP16 imaginary
264
- /// part.
265
- /// This function calculates the imaginary part of the result.
266
- ///
267
- /// \headerfile <immintrin.h>
268
- ///
269
- /// This intrinsic corresponds to the <c> TCONJTCMMIMFP16PS </c> instruction.
270
- ///
271
- /// \param dst
272
- /// The destination tile. Max size is 1024 Bytes.
273
- /// \param src0
274
- /// The 1st source tile. Max size is 1024 Bytes.
275
- /// \param src1
276
- /// The 2nd source tile. Max size is 1024 Bytes.
277
- __DEFAULT_FN_ATTRS
278
- static void __tile_conjtcmmimfp16ps(__tile1024i *dst, __tile1024i src0,
279
- __tile1024i src1) {
280
- dst->tile = _tile_conjtcmmimfp16ps_internal(src0.row, src1.col, src0.col,
281
- dst->tile, src0.tile, src1.tile);
282
- }
283
-
284
- /// Perform conjugate transpose of an FP16-pair of complex elements from src and
285
- /// writes the result to dst.
286
- ///
287
- /// \headerfile <immintrin.h>
288
- ///
289
- /// This intrinsic corresponds to the <c> TCONJTFP16 </c> instruction.
290
- ///
291
- /// \param dst
292
- /// The destination tile. Max size is 1024 Bytes.
293
- /// \param src
294
- /// The source tile. Max size is 1024 Bytes.
295
- __DEFAULT_FN_ATTRS
296
- static void __tile_conjtfp16(__tile1024i *dst, __tile1024i src) {
297
- dst->tile = _tile_conjtfp16_internal(src.row, src.col, src.tile);
298
- }
299
-
300
- #undef __DEFAULT_FN_ATTRS
301
-
302
- #endif // __x86_64__
303
- #endif // __AMX_COMPLEXTRANSPOSEINTRIN_H