@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,94 +0,0 @@
1
- /*===----- amxfp16transposeintrin.h - AMX-FP16 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 <amxfp16transposeintrin.h> directly; use <immintrin.h> instead."
13
- #endif /* __IMMINTRIN_H */
14
-
15
- #ifndef __AMX_FP16TRANSPOSEINTRIN_H
16
- #define __AMX_FP16TRANSPOSEINTRIN_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-fp16,amx-transpose")))
23
-
24
- /// Compute transpose and dot-product of FP16 (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_tdpfp16ps (__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.fp32[n] += FP32(a.row[m].fp16[2*k+0]) *
41
- /// FP32(b.row[k].fp16[2*n+0])
42
- /// tmp.fp32[n] += FP32(a.row[m].fp16[2*k+1]) *
43
- /// FP32(b.row[k].fp16[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 TTDPFP16PS 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_tdpfp16ps(dst, a, b) __builtin_ia32_ttdpfp16ps((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_tdpfp16ps_internal(unsigned short m, unsigned short n, unsigned short k,
65
- _tile1024i dst, _tile1024i src1, _tile1024i src2) {
66
- return __builtin_ia32_ttdpfp16ps_internal(m, n, k, dst, src1, src2);
67
- }
68
-
69
- /// Compute transpose and dot-product of FP16 (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> TTDPFP16PS </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_tdpfp16ps(__tile1024i *dst, __tile1024i src0,
86
- __tile1024i src1) {
87
- dst->tile = _tile_tdpfp16ps_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_FP16TRANSPOSEINTRIN_H */
@@ -1,200 +0,0 @@
1
- /* ===--- amxmovrstransposeintrin.h - AMX_MOVRS_TRANSPOSE 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
-
10
- #ifndef __IMMINTRIN_H
11
- #error \
12
- "Never use <amxmovrstransposeintrin.h> directly; use <immintrin.h> instead."
13
- #endif /* __IMMINTRIN_H */
14
-
15
- #ifndef __AMX_MOVRS_TRANSPOSEINTRIN_H
16
- #define __AMX_MOVRS_TRANSPOSEINTRIN_H
17
- #ifdef __x86_64__
18
-
19
- #define __DEFAULT_FN_ATTRS \
20
- __attribute__((__always_inline__, __nodebug__, \
21
- __target__("amx-transpose,amx-movrs")))
22
-
23
- #define _tile_2rpntlvwz0rs(tdst, base, stride) \
24
- __builtin_ia32_t2rpntlvwz0rs(tdst, base, stride)
25
- #define _tile_2rpntlvwz0rst1(tdst, base, stride) \
26
- __builtin_ia32_t2rpntlvwz0rst1(tdst, base, stride)
27
- #define _tile_2rpntlvwz1rs(tdst, base, stride) \
28
- __builtin_ia32_t2rpntlvwz1rs(tdst, base, stride)
29
- #define _tile_2rpntlvwz1rst1(tdst, base, stride) \
30
- __builtin_ia32_t2rpntlvwz1rst1(tdst, base, stride)
31
-
32
- static __inline__ void __DEFAULT_FN_ATTRS _tile_2rpntlvwz0rs_internal(
33
- unsigned short row, unsigned short col0, unsigned short col1,
34
- _tile1024i *dst0, _tile1024i *dst1, const void *base,
35
- __SIZE_TYPE__ stride) {
36
- // Use __tile1024i_1024a* to escape the alignment check in
37
- // clang/test/Headers/x86-intrinsics-headers-clean.cpp
38
- __builtin_ia32_t2rpntlvwz0rs_internal(
39
- row, col0, col1, (_tile1024i_1024a *)dst0, (_tile1024i_1024a *)dst1, base,
40
- (__SIZE_TYPE__)(stride));
41
- }
42
-
43
- static __inline__ void __DEFAULT_FN_ATTRS _tile_2rpntlvwz0rst1_internal(
44
- unsigned short row, unsigned short col0, unsigned short col1,
45
- _tile1024i *dst0, _tile1024i *dst1, const void *base,
46
- __SIZE_TYPE__ stride) {
47
- __builtin_ia32_t2rpntlvwz0rst1_internal(
48
- row, col0, col1, (_tile1024i_1024a *)dst0, (_tile1024i_1024a *)dst1, base,
49
- (__SIZE_TYPE__)(stride));
50
- }
51
-
52
- static __inline__ void __DEFAULT_FN_ATTRS _tile_2rpntlvwz1rs_internal(
53
- unsigned short row, unsigned short col0, unsigned short col1,
54
- _tile1024i *dst0, _tile1024i *dst1, const void *base,
55
- __SIZE_TYPE__ stride) {
56
- __builtin_ia32_t2rpntlvwz1rs_internal(
57
- row, col0, col1, (_tile1024i_1024a *)dst0, (_tile1024i_1024a *)dst1, base,
58
- (__SIZE_TYPE__)(stride));
59
- }
60
-
61
- static __inline__ void __DEFAULT_FN_ATTRS _tile_2rpntlvwz1rst1_internal(
62
- unsigned short row, unsigned short col0, unsigned short col1,
63
- _tile1024i *dst0, _tile1024i *dst1, const void *base,
64
- __SIZE_TYPE__ stride) {
65
- __builtin_ia32_t2rpntlvwz1rst1_internal(
66
- row, col0, col1, (_tile1024i_1024a *)dst0, (_tile1024i_1024a *)dst1, base,
67
- (__SIZE_TYPE__)(stride));
68
- }
69
-
70
- /// Converts a pair of tiles from memory into VNNI format, and places the
71
- /// results in a pair of destinations specified by dst. The pair of tiles
72
- /// in memory is specified via a tsib; the second tile is after the first
73
- /// one, separated by the same stride that separates each row.
74
- /// The tile configuration for the destination tiles indicates the amount
75
- /// of data to read from memory. The instruction will load a number of rows
76
- /// that is equal to twice the number of rows in tmm1. The size of each row
77
- /// is equal to the average width of the destination tiles. If the second
78
- /// tile is configured with zero rows and columns, only the first tile will
79
- /// be written.
80
- /// Provides a hint to the implementation that the data will likely become
81
- /// read shared in the near future and the data caching can be optimized.
82
- ///
83
- /// \headerfile <immintrin.h>
84
- ///
85
- /// This intrinsic corresponds to the <c> T2RPNTLVWZ0RS </c> instruction.
86
- ///
87
- /// \param dst0
88
- /// First tile of destination tile pair. Max size is 1024i*2 Bytes.
89
- /// \param dst1
90
- /// Second tile of destination tile pair. Max size is 1024i*2 Bytes.
91
- /// \param base
92
- /// A pointer to base address.
93
- /// \param stride
94
- /// The stride between the rows' data to be loaded in memory.
95
- __DEFAULT_FN_ATTRS
96
- static void __tile_2rpntlvwz0rs(__tile1024i *dst0, __tile1024i *dst1,
97
- const void *base, __SIZE_TYPE__ stride) {
98
- _tile_2rpntlvwz0rs_internal(dst0->row, dst0->col, dst1->col, &dst0->tile,
99
- &dst1->tile, base, stride);
100
- }
101
-
102
- /// Converts a pair of tiles from memory into VNNI format, and places the
103
- /// results in a pair of destinations specified by dst. The pair of tiles
104
- /// in memory is specified via a tsib; the second tile is after the first
105
- /// one, separated by the same stride that separates each row.
106
- /// The tile configuration for the destination tiles indicates the amount
107
- /// of data to read from memory. The instruction will load a number of rows
108
- /// that is equal to twice the number of rows in tmm1. The size of each row
109
- /// is equal to the average width of the destination tiles. If the second
110
- /// tile is configured with zero rows and columns, only the first tile will
111
- /// be written.
112
- ///
113
- /// \headerfile <immintrin.h>
114
- ///
115
- /// This intrinsic corresponds to the <c> T2RPNTLVWZ0T1RS </c> instruction.
116
- ///
117
- /// \param dst0
118
- /// First tile of destination tile pair. Max size is 1024i*2 Bytes.
119
- /// \param dst1
120
- /// Second tile of destination tile pair. Max size is 1024i*2 Bytes.
121
- /// \param base
122
- /// A pointer to base address.
123
- /// \param stride
124
- /// The stride between the rows' data to be loaded in memory.
125
- __DEFAULT_FN_ATTRS
126
- static void __tile_2rpntlvwz0rst1(__tile1024i *dst0, __tile1024i *dst1,
127
- const void *base, __SIZE_TYPE__ stride) {
128
- _tile_2rpntlvwz0rst1_internal(dst0->row, dst0->col, dst1->col, &dst0->tile,
129
- &dst1->tile, base, stride);
130
- }
131
-
132
- /// Converts a pair of tiles from memory into VNNI format, and places the
133
- /// results in a pair of destinations specified by dst. The pair of tiles
134
- /// in memory is specified via a tsib; the second tile is after the first
135
- /// one, separated by the same stride that separates each row.
136
- /// The tile configuration for the destination tiles indicates the amount
137
- /// of data to read from memory. The instruction will load a number of rows
138
- /// that is equal to twice the number of rows in tmm1. The size of each row
139
- /// is equal to the average width of the destination tiles. If the second
140
- /// tile is configured with zero rows and columns, only the first tile will
141
- /// be written. The last row will be not be read from memory but instead
142
- /// filled with zeros.
143
- /// Provides a hint to the implementation that the data will likely become
144
- /// read shared in the near future and the data caching can be optimized.
145
- ///
146
- /// \headerfile <immintrin.h>
147
- ///
148
- /// This intrinsic corresponds to the <c> T2RPNTLVWZ1 </c> instruction.
149
- ///
150
- /// \param dst0
151
- /// First tile of destination tile pair. Max size is 1024i*2 Bytes.
152
- /// \param dst1
153
- /// Second tile of destination tile pair. Max size is 1024i*2 Bytes.
154
- /// \param base
155
- /// A pointer to base address.
156
- /// \param stride
157
- /// The stride between the rows' data to be loaded in memory.
158
- __DEFAULT_FN_ATTRS
159
- static void __tile_2rpntlvwz1rs(__tile1024i *dst0, __tile1024i *dst1,
160
- const void *base, __SIZE_TYPE__ stride) {
161
- _tile_2rpntlvwz1rs_internal(dst0->row, dst0->col, dst1->col, &dst0->tile,
162
- &dst1->tile, base, stride);
163
- }
164
-
165
- /// Converts a pair of tiles from memory into VNNI format, and places the
166
- /// results in a pair of destinations specified by dst. The pair of tiles
167
- /// in memory is specified via a tsib; the second tile is after the first
168
- /// one, separated by the same stride that separates each row.
169
- /// The tile configuration for the destination tiles indicates the amount
170
- /// of data to read from memory. The instruction will load a number of rows
171
- /// that is equal to twice the number of rows in tmm1. The size of each row
172
- /// is equal to the average width of the destination tiles. If the second
173
- /// tile is configured with zero rows and columns, only the first tile will
174
- /// be written. The last row will be not be read from memory but instead
175
- /// filled with zeros.
176
- /// Provides a hint to the implementation that the data will likely become
177
- /// read shared in the near future and the data caching can be optimized.
178
- ///
179
- /// \headerfile <immintrin.h>
180
- ///
181
- /// This intrinsic corresponds to the <c> T2RPNTLVWZ1T1RS </c> instruction.
182
- ///
183
- /// \param dst0
184
- /// First tile of destination tile pair. Max size is 1024i*2 Bytes.
185
- /// \param dst1
186
- /// Second tile of destination tile pair. Max size is 1024i*2 Bytes.
187
- /// \param base
188
- /// A pointer to base address.
189
- /// \param stride
190
- /// The stride between the rows' data to be loaded in memory.
191
- __DEFAULT_FN_ATTRS
192
- static void __tile_2rpntlvwz1rst1(__tile1024i *dst0, __tile1024i *dst1,
193
- const void *base, __SIZE_TYPE__ stride) {
194
- _tile_2rpntlvwz1rst1_internal(dst0->row, dst0->col, dst1->col, &dst0->tile,
195
- &dst1->tile, base, stride);
196
- }
197
-
198
- #undef __DEFAULT_FN_ATTRS
199
- #endif /* __x86_64__ */
200
- #endif /* __AMX_MOVRS_TRANSPOSEINTRIN_H */
@@ -1,108 +0,0 @@
1
- /*===------------- amxtf32intrin.h - AMX_TF32 intrinsics -*- C++ -*---------===
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 "Never use <amxtf32intrin.h> directly; include <immintrin.h> instead."
12
- #endif // __IMMINTRIN_H
13
-
14
- #ifndef __AMX_TF32INTRIN_H
15
- #define __AMX_TF32INTRIN_H
16
- #ifdef __x86_64__
17
-
18
- #define __DEFAULT_FN_ATTRS_TF32 \
19
- __attribute__((__always_inline__, __nodebug__, __target__("amx-tf32")))
20
-
21
- /// Do Matrix Multiplication of \a a and \a b, and then do Matrix Plus
22
- /// with \a srcdst.
23
- /// All the calculation is base on float32 but with the lower 13-bit set to 0.
24
- ///
25
- /// \headerfile <immintrin.h>
26
- ///
27
- /// \code
28
- /// void _tile_mmultf32ps(constexpr int srcdst, constexpr int a, \
29
- /// constexpr int b);
30
- /// \endcode
31
- ///
32
- /// This intrinsic corresponds to the <c> TMMULTF32PS </c> instruction.
33
- ///
34
- /// \param srcdst
35
- /// The destination tile. Max size is 1024 Bytes.
36
- /// \param a
37
- /// The 1st source tile. Max size is 1024 Bytes.
38
- /// \param b
39
- /// The 2nd source tile. Max size is 1024 Bytes.
40
- ///
41
- /// \code{.operation}
42
- /// DEFINE zero_lower_mantissa_bits_fp32(x[31:0]) {
43
- /// dword[12:0] := 0
44
- /// dword[31:13] := x[31:13]
45
- /// return dword
46
- /// }
47
- ///
48
- /// DEFINE silence_snan_fp32(x[31:0]) {
49
- /// IF (x.exponent == 255 and x.fraction != 0 and x.fraction[22] == 0)
50
- /// x.fraction[22] := 1
51
- /// return x
52
- /// }
53
- ///
54
- /// elements_a := a.colsb / 4
55
- /// elements_dest := srcdst.colsb / 4
56
- ///
57
- /// FOR m = 0 TO (srcdst.rows-1)
58
- /// tmp[511:0] := 0
59
- /// FOR k = 0 TO (elements_a-1)
60
- /// FOR n = 0 TO (elements_dest-1)
61
- /// af := silence_snan_fp32(a.row[m].fp32[k])
62
- /// bf := silence_snan_fp32(b.row[k].fp32[n])
63
- /// tmp.fp32[n] += zero_lower_mantissa_bits_fp32(af)
64
- /// * zero_lower_mantissa_bits_fp32(bf)
65
- /// ENDFOR
66
- /// ENDFOR
67
- ///
68
- /// FOR n = 0 TO (elements_dest-1)
69
- /// tmp.fp32[n] += srcdst.row[m].fp32[n]
70
- /// ENDFOR
71
- /// write_row_and_zero(srcdst, m, tmp, srcdst.colsb)
72
- ///
73
- /// ENDFOR
74
- ///
75
- /// zero_upper_rows(srcdst, srcdst.rows)
76
- /// zero_tileconfig_start()
77
- /// \endcode
78
- #define _tile_mmultf32ps(srcdst, a, b) \
79
- __builtin_ia32_tmmultf32ps((srcdst), (a), (b))
80
-
81
- static __inline__ _tile1024i __DEFAULT_FN_ATTRS_TF32
82
- _tile_mmultf32ps_internal(unsigned short m, unsigned short n, unsigned short k,
83
- _tile1024i dst, _tile1024i src1, _tile1024i src2) {
84
- return __builtin_ia32_tmmultf32ps_internal(m, n, k, dst, src1, src2);
85
- }
86
-
87
- /// Do Matrix Multiplication of src0 and src1, and then do Matrix Plus with dst.
88
- /// All the calculation is base on float32 but with the lower 13-bit set to 0.
89
- ///
90
- /// \headerfile <immintrin.h>
91
- ///
92
- /// This intrinsic corresponds to the <c> TMMULTF32PS </c> instruction.
93
- ///
94
- /// \param dst
95
- /// The destination tile. Max size is 1024 Bytes.
96
- /// \param src0
97
- /// The 1st source tile. Max size is 1024 Bytes.
98
- /// \param src1
99
- /// The 2nd source tile. Max size is 1024 Bytes.
100
- __DEFAULT_FN_ATTRS_TF32
101
- static void __tile_mmultf32ps(__tile1024i *dst, __tile1024i src0,
102
- __tile1024i src1) {
103
- dst->tile = _tile_mmultf32ps_internal(src0.row, src1.col, src0.col, dst->tile,
104
- src0.tile, src1.tile);
105
- }
106
-
107
- #endif // __x86_64__
108
- #endif // __AMX_TF32INTRIN_H
@@ -1,105 +0,0 @@
1
- /*===--------- amxtf32transposeintrin.h - AMX-TF32 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
- #ifndef __IMMINTRIN_H
10
- #error \
11
- "Never use <amxtf32transposeintrin.h> directly; include <immintrin.h> instead."
12
- #endif // __IMMINTRIN_H
13
-
14
- #ifndef __AMX_TF32TRANSPOSEINTRIN_H
15
- #define __AMX_TF32TRANSPOSEINTRIN_H
16
- #ifdef __x86_64__
17
-
18
- #define __DEFAULT_FN_ATTRS_TF32_TRANSPOSE \
19
- __attribute__((__always_inline__, __nodebug__, \
20
- __target__("amx-tf32,amx-transpose")))
21
-
22
- /// \code
23
- /// void _tile_tmmultf32ps(constexpr int srcdst, constexpr int a, \
24
- /// constexpr int b);
25
- /// \endcode
26
- ///
27
- /// This intrinsic corresponds to the <c> TTMMULTF32PS </c> instruction.
28
- ///
29
- /// \param srcdst
30
- /// The destination tile. Max size is 1024 Bytes.
31
- /// \param a
32
- /// The 1st source tile. Max size is 1024 Bytes.
33
- /// \param b
34
- /// The 2nd source tile. Max size is 1024 Bytes.
35
- ///
36
- /// \code{.operation}
37
- /// DEFINE zero_lower_mantissa_bits_fp32(x[31:0]) {
38
- /// dword[12:0] := 0
39
- /// dword[31:13] := x[31:13]
40
- /// return dword
41
- /// }
42
- ///
43
- /// DEFINE silence_snan_fp32(x[31:0]) {
44
- /// IF (x.exponent == 255 and x.fraction != 0 and x.fraction[22] == 0)
45
- /// x.fraction[22] := 1
46
- /// return x
47
- /// }
48
- ///
49
- /// elements_dest:= srcdst.colsb/4
50
- ///
51
- /// FOR m := 0 TO (srcdst.rows-1)
52
- /// tmp[511:0] := 0
53
- /// FOR k := 0 TO (a.rows-1)
54
- /// FOR n := 0 TO (elements_dest-1)
55
- /// a1e := silence_snan_fp32(a.row[k].fp32[m])
56
- /// a2e := silence_snan_fp32(b.row[k].fp32[n])
57
- /// s1e := zero_lower_mantissa_bits_fp32(a1e)
58
- /// s2e := zero_lower_mantissa_bits_fp32(a2e)
59
- /// tmp.fp32[n] += s1e * s2e
60
- /// ENDFOR
61
- /// ENDFOR
62
- ///
63
- /// FOR n := 0 TO (elements_dest-1)
64
- /// tmp.fp32[n] += srcdst.row[m].fp32[n]
65
- /// ENDFOR
66
- /// write_row_and_zero(srcdst, m, tmp, srcdst.colsb)
67
- ///
68
- /// ENDFOR
69
- ///
70
- /// zero_upper_rows(srcdst, srcdst.rows)
71
- /// zero_tileconfig_start()
72
- /// \endcode
73
- #define _tile_tmmultf32ps(srcdst, a, b) \
74
- __builtin_ia32_ttmmultf32ps((srcdst), (a), (b))
75
-
76
- // dst = m x n (srcdest), src1 = k x m, src2 = k x n
77
- static __inline__ _tile1024i __DEFAULT_FN_ATTRS_TF32_TRANSPOSE
78
- _tile_tmmultf32ps_internal(unsigned short m, unsigned short n, unsigned short k,
79
- _tile1024i dst, _tile1024i src1, _tile1024i src2) {
80
- return __builtin_ia32_ttmmultf32ps_internal(m, n, k, dst, src1, src2);
81
- }
82
-
83
- /// Compute transpose and do Matrix Multiplication of src0 and src1, and then do
84
- /// Matrix Plus with dst. All the calculation is base on float32 but with the
85
- /// lower 13-bit set to 0.
86
- ///
87
- /// \headerfile <immintrin.h>
88
- ///
89
- /// This intrinsic corresponds to the <c> TTMMULTF32PS </c> instruction.
90
- ///
91
- /// \param dst
92
- /// The destination tile. Max size is 1024 Bytes.
93
- /// \param src0
94
- /// The 1st source tile. Max size is 1024 Bytes.
95
- /// \param src1
96
- /// The 2nd source tile. Max size is 1024 Bytes.
97
- __DEFAULT_FN_ATTRS_TF32_TRANSPOSE
98
- static void __tile_tmmultf32ps(__tile1024i *dst, __tile1024i src0,
99
- __tile1024i src1) {
100
- dst->tile = _tile_tmmultf32ps_internal(src0.row, src1.col, src0.col,
101
- dst->tile, src0.tile, src1.tile);
102
- }
103
-
104
- #endif // __x86_64__
105
- #endif // __AMX_TF32TRANSPOSEINTRIN_H