@zigc/lib 0.17.0-dev.135 → 0.17.0-dev.215

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 (673) hide show
  1. package/c/stdlib.zig +32 -22
  2. package/compiler/aro/aro/Compilation.zig +0 -3
  3. package/compiler/translate-c/ast.zig +5 -2
  4. package/compiler_rt/arm.zig +3 -3
  5. package/compiler_rt/trunctfhf2.zig +3 -0
  6. package/compiler_rt.zig +1 -22
  7. package/docs/wasm/markdown/Parser.zig +5 -9
  8. package/include/__clang_spirv_builtins.h +12 -12
  9. package/include/__float_float.h +176 -0
  10. package/include/__float_header_macro.h +12 -0
  11. package/include/__float_infinity_nan.h +20 -0
  12. package/include/amo.h +131 -0
  13. package/include/amxavx512intrin.h +215 -1
  14. package/include/amxintrin.h +0 -2
  15. package/include/arm_acle.h +37 -27
  16. package/include/arm_neon.h +218 -82
  17. package/include/arm_sme.h +8 -8
  18. package/include/arm_sve.h +4162 -3782
  19. package/include/avx10_2_512bf16intrin.h +19 -12
  20. package/include/avx10_2_512convertintrin.h +1 -1
  21. package/include/avx10_2_512niintrin.h +31 -31
  22. package/include/avx10_2_512satcvtdsintrin.h +1 -1
  23. package/include/avx10_2bf16intrin.h +54 -45
  24. package/include/avx10_2convertintrin.h +2 -2
  25. package/include/avx10_2copyintrin.h +1 -1
  26. package/include/avx10_2niintrin.h +14 -14
  27. package/include/avx10_2satcvtdsintrin.h +2 -2
  28. package/include/avx2intrin.h +275 -377
  29. package/include/avx512bf16intrin.h +25 -16
  30. package/include/avx512bitalgintrin.h +19 -30
  31. package/include/avx512bwintrin.h +386 -505
  32. package/include/avx512cdintrin.h +42 -55
  33. package/include/avx512dqintrin.h +132 -161
  34. package/include/avx512fintrin.h +1015 -1424
  35. package/include/avx512fp16intrin.h +112 -110
  36. package/include/avx512ifmaintrin.h +32 -34
  37. package/include/avx512ifmavlintrin.h +73 -46
  38. package/include/avx512vbmi2intrin.h +43 -32
  39. package/include/avx512vbmiintrin.h +19 -27
  40. package/include/avx512vbmivlintrin.h +35 -49
  41. package/include/avx512vlbf16intrin.h +32 -22
  42. package/include/avx512vlbitalgintrin.h +37 -53
  43. package/include/avx512vlbwintrin.h +470 -573
  44. package/include/avx512vlcdintrin.h +74 -102
  45. package/include/avx512vldqintrin.h +110 -127
  46. package/include/avx512vlfp16intrin.h +130 -111
  47. package/include/avx512vlintrin.h +945 -1299
  48. package/include/avx512vlvbmi2intrin.h +78 -63
  49. package/include/avx512vlvnniintrin.h +21 -18
  50. package/include/avx512vlvp2intersectintrin.h +2 -2
  51. package/include/avx512vnniintrin.h +10 -10
  52. package/include/avx512vp2intersectintrin.h +1 -2
  53. package/include/avx512vpopcntdqintrin.h +8 -10
  54. package/include/avx512vpopcntdqvlintrin.h +17 -15
  55. package/include/avxifmaintrin.h +16 -0
  56. package/include/avxintrin.h +165 -241
  57. package/include/avxvnniint16intrin.h +118 -99
  58. package/include/avxvnniint8intrin.h +56 -32
  59. package/include/avxvnniintrin.h +16 -8
  60. package/include/cpuid.h +101 -4
  61. package/include/emmintrin.h +168 -168
  62. package/include/f16cintrin.h +23 -9
  63. package/include/float.h +16 -155
  64. package/include/fma4intrin.h +98 -96
  65. package/include/fmaintrin.h +96 -66
  66. package/include/gfniintrin.h +21 -16
  67. package/include/hexagon_types.h +23 -20
  68. package/include/hvx_hexagon_protos.h +649 -860
  69. package/include/immintrin.h +0 -12
  70. package/include/intrin.h +4 -0
  71. package/include/lasxintrin.h +113 -0
  72. package/include/llvm_libc_wrappers/assert.h +3 -5
  73. package/include/llvm_libc_wrappers/ctype.h +3 -115
  74. package/include/llvm_libc_wrappers/inttypes.h +3 -5
  75. package/include/llvm_libc_wrappers/stdio.h +10 -38
  76. package/include/llvm_libc_wrappers/stdlib.h +3 -24
  77. package/include/llvm_libc_wrappers/string.h +2 -70
  78. package/include/llvm_libc_wrappers/time.h +4 -10
  79. package/include/mmintrin.h +188 -257
  80. package/include/module.modulemap +23 -4
  81. package/include/movrs_avx10_2_512intrin.h +2 -2
  82. package/include/movrs_avx10_2intrin.h +4 -4
  83. package/include/pmmintrin.h +12 -24
  84. package/include/ptrauth.h +16 -2
  85. package/include/riscv_mips.h +34 -0
  86. package/include/riscv_nds.h +89 -0
  87. package/include/sifive_vector.h +58 -2
  88. package/include/sm4evexintrin.h +2 -2
  89. package/include/smmintrin.h +77 -59
  90. package/include/spirvintrin.h +194 -0
  91. package/include/stddefer.h +19 -0
  92. package/include/tmmintrin.h +116 -147
  93. package/include/vaesintrin.h +1 -2
  94. package/include/xmmintrin.h +44 -70
  95. package/include/xopintrin.h +20 -10
  96. package/libcxx/include/__algorithm/all_of.h +11 -5
  97. package/libcxx/include/__algorithm/comp.h +4 -0
  98. package/libcxx/include/__algorithm/copy.h +28 -147
  99. package/libcxx/include/__algorithm/copy_backward.h +9 -24
  100. package/libcxx/include/__algorithm/copy_n.h +50 -16
  101. package/libcxx/include/__algorithm/count.h +2 -2
  102. package/libcxx/include/__algorithm/equal.h +43 -55
  103. package/libcxx/include/__algorithm/fill.h +26 -8
  104. package/libcxx/include/__algorithm/fill_n.h +32 -46
  105. package/libcxx/include/__algorithm/find.h +96 -39
  106. package/libcxx/include/__algorithm/find_end.h +105 -0
  107. package/libcxx/include/__algorithm/for_each.h +18 -24
  108. package/libcxx/include/__algorithm/for_each_n.h +20 -47
  109. package/libcxx/include/__algorithm/for_each_n_segment.h +1 -1
  110. package/libcxx/include/__algorithm/for_each_segment.h +26 -0
  111. package/libcxx/include/__algorithm/generate.h +4 -2
  112. package/libcxx/include/__algorithm/generate_n.h +19 -6
  113. package/libcxx/include/__algorithm/is_permutation.h +4 -4
  114. package/libcxx/include/__algorithm/iterator_operations.h +3 -0
  115. package/libcxx/include/__algorithm/lexicographical_compare.h +2 -2
  116. package/libcxx/include/__algorithm/lexicographical_compare_three_way.h +6 -6
  117. package/libcxx/include/__algorithm/make_heap.h +16 -4
  118. package/libcxx/include/__algorithm/mismatch.h +2 -2
  119. package/libcxx/include/__algorithm/move.h +8 -19
  120. package/libcxx/include/__algorithm/move_backward.h +9 -24
  121. package/libcxx/include/__algorithm/none_of.h +4 -4
  122. package/libcxx/include/__algorithm/partial_sort.h +1 -1
  123. package/libcxx/include/__algorithm/partial_sort_copy.h +1 -1
  124. package/libcxx/include/__algorithm/pstl.h +9 -9
  125. package/libcxx/include/__algorithm/radix_sort.h +27 -25
  126. package/libcxx/include/__algorithm/ranges_copy_n.h +3 -26
  127. package/libcxx/include/__algorithm/ranges_equal.h +17 -26
  128. package/libcxx/include/__algorithm/ranges_fill.h +7 -6
  129. package/libcxx/include/__algorithm/ranges_for_each.h +9 -1
  130. package/libcxx/include/__algorithm/ranges_generate_n.h +2 -6
  131. package/libcxx/include/__algorithm/ranges_search_n.h +2 -2
  132. package/libcxx/include/__algorithm/rotate.h +27 -44
  133. package/libcxx/include/__algorithm/search_n.h +49 -37
  134. package/libcxx/include/__algorithm/sift_down.h +19 -18
  135. package/libcxx/include/__algorithm/simd_utils.h +33 -4
  136. package/libcxx/include/__algorithm/specialized_algorithms.h +54 -0
  137. package/libcxx/include/__algorithm/stable_sort.h +1 -1
  138. package/libcxx/include/__assertion_handler +31 -4
  139. package/libcxx/include/__atomic/atomic.h +36 -60
  140. package/libcxx/include/__atomic/atomic_flag.h +19 -37
  141. package/libcxx/include/__atomic/atomic_ref.h +29 -12
  142. package/libcxx/include/__atomic/atomic_sync.h +127 -55
  143. package/libcxx/include/__atomic/atomic_sync_timed.h +144 -0
  144. package/libcxx/include/__atomic/atomic_waitable_traits.h +103 -0
  145. package/libcxx/include/__atomic/contention_t.h +27 -3
  146. package/libcxx/include/__atomic/floating_point_helper.h +55 -0
  147. package/libcxx/include/__bit/countl.h +1 -2
  148. package/libcxx/include/__bit/countr.h +1 -2
  149. package/libcxx/include/__bit/has_single_bit.h +1 -1
  150. package/libcxx/include/__bit/popcount.h +0 -1
  151. package/libcxx/include/__bit/rotate.h +15 -26
  152. package/libcxx/include/__bit_reference +207 -18
  153. package/libcxx/include/__charconv/from_chars_integral.h +1 -1
  154. package/libcxx/include/__charconv/from_chars_result.h +1 -1
  155. package/libcxx/include/__charconv/to_chars_integral.h +1 -0
  156. package/libcxx/include/__charconv/to_chars_result.h +1 -1
  157. package/libcxx/include/__charconv/traits.h +3 -24
  158. package/libcxx/include/__chrono/day.h +11 -0
  159. package/libcxx/include/__chrono/duration.h +58 -33
  160. package/libcxx/include/__chrono/file_clock.h +4 -2
  161. package/libcxx/include/__chrono/is_clock.h +72 -0
  162. package/libcxx/include/__chrono/leap_second.h +13 -0
  163. package/libcxx/include/__chrono/month.h +13 -0
  164. package/libcxx/include/__chrono/month_weekday.h +22 -0
  165. package/libcxx/include/__chrono/monthday.h +20 -0
  166. package/libcxx/include/__chrono/steady_clock.h +1 -1
  167. package/libcxx/include/__chrono/system_clock.h +3 -3
  168. package/libcxx/include/__chrono/time_point.h +37 -13
  169. package/libcxx/include/__chrono/weekday.h +25 -0
  170. package/libcxx/include/__chrono/year.h +11 -0
  171. package/libcxx/include/__chrono/year_month.h +13 -0
  172. package/libcxx/include/__chrono/year_month_day.h +23 -0
  173. package/libcxx/include/__chrono/year_month_weekday.h +26 -0
  174. package/libcxx/include/__chrono/zoned_time.h +16 -0
  175. package/libcxx/include/__compare/is_eq.h +6 -6
  176. package/libcxx/include/__compare/strong_order.h +12 -30
  177. package/libcxx/include/__compare/three_way_comparable.h +2 -2
  178. package/libcxx/include/__concepts/comparison_common_type.h +40 -0
  179. package/libcxx/include/__concepts/equality_comparable.h +2 -1
  180. package/libcxx/include/__condition_variable/condition_variable.h +1 -1
  181. package/libcxx/include/__config +63 -280
  182. package/libcxx/include/__configuration/abi.h +14 -24
  183. package/libcxx/include/__configuration/availability.h +65 -118
  184. package/libcxx/include/__configuration/compiler.h +6 -6
  185. package/libcxx/include/__configuration/experimental.h +38 -0
  186. package/libcxx/include/__configuration/hardening.h +215 -0
  187. package/libcxx/include/__configuration/language.h +3 -0
  188. package/libcxx/include/__configuration/platform.h +9 -16
  189. package/libcxx/include/__coroutine/coroutine_handle.h +9 -9
  190. package/libcxx/include/__coroutine/noop_coroutine_handle.h +11 -13
  191. package/libcxx/include/__debug_utils/strict_weak_ordering_check.h +1 -1
  192. package/libcxx/include/__exception/exception.h +6 -4
  193. package/libcxx/include/__exception/exception_ptr.h +27 -5
  194. package/libcxx/include/__exception/nested_exception.h +2 -2
  195. package/libcxx/include/__exception/operations.h +5 -5
  196. package/libcxx/include/__expected/bad_expected_access.h +8 -6
  197. package/libcxx/include/__expected/expected.h +62 -64
  198. package/libcxx/include/__expected/unexpected.h +4 -4
  199. package/libcxx/include/__filesystem/copy_options.h +4 -4
  200. package/libcxx/include/__filesystem/directory_entry.h +37 -33
  201. package/libcxx/include/__filesystem/directory_iterator.h +9 -11
  202. package/libcxx/include/__filesystem/directory_options.h +7 -4
  203. package/libcxx/include/__filesystem/file_status.h +3 -3
  204. package/libcxx/include/__filesystem/filesystem_error.h +9 -10
  205. package/libcxx/include/__filesystem/operations.h +97 -66
  206. package/libcxx/include/__filesystem/path.h +68 -64
  207. package/libcxx/include/__filesystem/path_iterator.h +1 -3
  208. package/libcxx/include/__filesystem/perm_options.h +4 -4
  209. package/libcxx/include/__filesystem/perms.h +4 -4
  210. package/libcxx/include/__filesystem/recursive_directory_iterator.h +9 -14
  211. package/libcxx/include/__filesystem/space_info.h +1 -1
  212. package/libcxx/include/__filesystem/u8path.h +12 -14
  213. package/libcxx/include/__flat_map/flat_map.h +88 -71
  214. package/libcxx/include/__flat_map/flat_multimap.h +251 -172
  215. package/libcxx/include/__flat_map/key_value_iterator.h +0 -1
  216. package/libcxx/include/__flat_map/utils.h +1 -0
  217. package/libcxx/include/__flat_set/flat_multiset.h +211 -143
  218. package/libcxx/include/__flat_set/flat_set.h +86 -68
  219. package/libcxx/include/__format/concepts.h +0 -14
  220. package/libcxx/include/__format/extended_grapheme_cluster_table.h +3 -2
  221. package/libcxx/include/__format/fmt_pair_like.h +42 -0
  222. package/libcxx/include/__format/format_arg.h +7 -10
  223. package/libcxx/include/__format/format_args.h +1 -1
  224. package/libcxx/include/__format/format_context.h +5 -5
  225. package/libcxx/include/__format/format_parse_context.h +2 -2
  226. package/libcxx/include/__format/formatter_output.h +30 -34
  227. package/libcxx/include/__format/indic_conjunct_break_table.h +3 -2
  228. package/libcxx/include/__format/range_default_formatter.h +2 -41
  229. package/libcxx/include/__format/range_format.h +71 -0
  230. package/libcxx/include/__format/range_formatter.h +1 -0
  231. package/libcxx/include/__format/width_estimation_table.h +4 -2
  232. package/libcxx/include/__functional/bind.h +10 -15
  233. package/libcxx/include/__functional/bind_back.h +1 -1
  234. package/libcxx/include/__functional/bind_front.h +1 -1
  235. package/libcxx/include/__functional/function.h +57 -75
  236. package/libcxx/include/__functional/hash.h +1 -10
  237. package/libcxx/include/__functional/identity.h +1 -1
  238. package/libcxx/include/__functional/is_transparent.h +8 -0
  239. package/libcxx/include/__functional/mem_fn.h +2 -1
  240. package/libcxx/include/__functional/operations.h +18 -0
  241. package/libcxx/include/__functional/ranges_operations.h +7 -0
  242. package/libcxx/include/__functional/reference_wrapper.h +7 -5
  243. package/libcxx/include/__functional/weak_result_type.h +14 -28
  244. package/libcxx/include/__fwd/ios.h +1 -1
  245. package/libcxx/include/__fwd/tuple.h +14 -0
  246. package/libcxx/include/__hash_table +371 -357
  247. package/libcxx/include/__ios/fpos.h +4 -4
  248. package/libcxx/include/__iterator/back_insert_iterator.h +1 -7
  249. package/libcxx/include/__iterator/bounded_iter.h +7 -8
  250. package/libcxx/include/__iterator/concepts.h +6 -9
  251. package/libcxx/include/__iterator/cpp17_iterator_concepts.h +13 -12
  252. package/libcxx/include/__iterator/distance.h +40 -18
  253. package/libcxx/include/__iterator/front_insert_iterator.h +1 -7
  254. package/libcxx/include/__iterator/insert_iterator.h +1 -7
  255. package/libcxx/include/__iterator/istream_iterator.h +6 -7
  256. package/libcxx/include/__iterator/istreambuf_iterator.h +6 -7
  257. package/libcxx/include/__iterator/iter_move.h +1 -1
  258. package/libcxx/include/__iterator/iterator.h +13 -0
  259. package/libcxx/include/__iterator/iterator_traits.h +13 -14
  260. package/libcxx/include/__iterator/ostream_iterator.h +1 -7
  261. package/libcxx/include/__iterator/ostreambuf_iterator.h +1 -7
  262. package/libcxx/include/__iterator/reverse_iterator.h +8 -13
  263. package/libcxx/include/__iterator/segmented_iterator.h +3 -8
  264. package/libcxx/include/__iterator/static_bounded_iter.h +3 -3
  265. package/libcxx/include/__iterator/wrap_iter.h +8 -6
  266. package/libcxx/include/__locale +3 -10
  267. package/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h +0 -10
  268. package/libcxx/include/__locale_dir/locale_base_api.h +5 -28
  269. package/libcxx/include/__locale_dir/messages.h +1 -1
  270. package/libcxx/include/__locale_dir/money.h +2 -2
  271. package/libcxx/include/__locale_dir/num.h +190 -243
  272. package/libcxx/include/__locale_dir/pad_and_output.h +5 -6
  273. package/libcxx/include/__locale_dir/support/bsd_like.h +0 -20
  274. package/libcxx/include/__locale_dir/support/fuchsia.h +0 -7
  275. package/libcxx/include/__locale_dir/support/linux.h +0 -37
  276. package/libcxx/include/__locale_dir/support/netbsd.h +0 -2
  277. package/libcxx/include/__locale_dir/support/newlib.h +243 -0
  278. package/libcxx/include/__locale_dir/support/no_locale/characters.h +0 -4
  279. package/libcxx/include/__locale_dir/support/no_locale/strtonum.h +0 -9
  280. package/libcxx/include/__locale_dir/support/windows.h +0 -29
  281. package/libcxx/include/__locale_dir/time.h +3 -7
  282. package/libcxx/include/__math/hypot.h +1 -1
  283. package/libcxx/include/__math/logarithms.h +1 -1
  284. package/libcxx/include/__math/traits.h +80 -11
  285. package/libcxx/include/__mdspan/extents.h +7 -4
  286. package/libcxx/include/__mdspan/layout_stride.h +4 -5
  287. package/libcxx/include/__mdspan/mdspan.h +29 -23
  288. package/libcxx/include/__memory/addressof.h +7 -5
  289. package/libcxx/include/__memory/align.h +18 -1
  290. package/libcxx/include/__memory/allocate_at_least.h +15 -10
  291. package/libcxx/include/__memory/allocator.h +14 -26
  292. package/libcxx/include/__memory/allocator_traits.h +6 -4
  293. package/libcxx/include/__memory/compressed_pair.h +15 -9
  294. package/libcxx/include/__memory/construct_at.h +12 -23
  295. package/libcxx/include/__memory/inout_ptr.h +1 -1
  296. package/libcxx/include/__memory/is_sufficiently_aligned.h +1 -1
  297. package/libcxx/include/__memory/out_ptr.h +1 -1
  298. package/libcxx/include/__memory/pointer_traits.h +1 -1
  299. package/libcxx/include/__memory/raw_storage_iterator.h +3 -9
  300. package/libcxx/include/__memory/shared_count.h +9 -30
  301. package/libcxx/include/__memory/shared_ptr.h +100 -145
  302. package/libcxx/include/__memory/temp_value.h +1 -2
  303. package/libcxx/include/__memory/uninitialized_algorithms.h +44 -115
  304. package/libcxx/include/__memory/unique_ptr.h +14 -16
  305. package/libcxx/include/__memory/uses_allocator_construction.h +1 -0
  306. package/libcxx/include/__memory_resource/memory_resource.h +4 -2
  307. package/libcxx/include/__memory_resource/monotonic_buffer_resource.h +1 -1
  308. package/libcxx/include/__memory_resource/polymorphic_allocator.h +13 -8
  309. package/libcxx/include/__memory_resource/pool_options.h +1 -1
  310. package/libcxx/include/__memory_resource/synchronized_pool_resource.h +4 -2
  311. package/libcxx/include/__memory_resource/unsynchronized_pool_resource.h +1 -1
  312. package/libcxx/include/__mutex/mutex.h +2 -2
  313. package/libcxx/include/__mutex/once_flag.h +14 -11
  314. package/libcxx/include/__mutex/tag_types.h +3 -3
  315. package/libcxx/include/__mutex/unique_lock.h +8 -7
  316. package/libcxx/include/__new/align_val_t.h +6 -0
  317. package/libcxx/include/__new/allocate.h +1 -2
  318. package/libcxx/include/__new/exceptions.h +8 -2
  319. package/libcxx/include/__new/global_new_delete.h +4 -11
  320. package/libcxx/include/__new/interference_size.h +0 -4
  321. package/libcxx/include/__new/launder.h +3 -5
  322. package/libcxx/include/__new/nothrow_t.h +1 -1
  323. package/libcxx/include/__numeric/gcd_lcm.h +24 -34
  324. package/libcxx/include/__numeric/midpoint.h +9 -14
  325. package/libcxx/include/__numeric/pstl.h +2 -2
  326. package/libcxx/include/__numeric/saturation_arithmetic.h +13 -5
  327. package/libcxx/include/__ostream/basic_ostream.h +8 -8
  328. package/libcxx/include/__pstl/backends/default.h +14 -14
  329. package/libcxx/include/__pstl/backends/libdispatch.h +2 -2
  330. package/libcxx/include/__pstl/cpu_algos/find_if.h +1 -1
  331. package/libcxx/include/__pstl/cpu_algos/transform.h +5 -6
  332. package/libcxx/include/__pstl/cpu_algos/transform_reduce.h +5 -4
  333. package/libcxx/include/__random/binomial_distribution.h +10 -4
  334. package/libcxx/include/__random/mersenne_twister_engine.h +50 -154
  335. package/libcxx/include/__random/piecewise_constant_distribution.h +3 -2
  336. package/libcxx/include/__random/piecewise_linear_distribution.h +3 -2
  337. package/libcxx/include/__ranges/adjacent_transform_view.h +406 -0
  338. package/libcxx/include/__ranges/adjacent_view.h +419 -0
  339. package/libcxx/include/__ranges/as_rvalue_view.h +9 -9
  340. package/libcxx/include/__ranges/chunk_by_view.h +6 -6
  341. package/libcxx/include/__ranges/common_view.h +7 -7
  342. package/libcxx/include/__ranges/drop_view.h +8 -8
  343. package/libcxx/include/__ranges/drop_while_view.h +5 -5
  344. package/libcxx/include/__ranges/elements_of.h +49 -0
  345. package/libcxx/include/__ranges/empty_view.h +5 -5
  346. package/libcxx/include/__ranges/filter_view.h +10 -10
  347. package/libcxx/include/__ranges/iota_view.h +41 -22
  348. package/libcxx/include/__ranges/owning_view.h +15 -15
  349. package/libcxx/include/__ranges/ref_view.h +6 -6
  350. package/libcxx/include/__ranges/repeat_view.h +17 -10
  351. package/libcxx/include/__ranges/single_view.h +8 -8
  352. package/libcxx/include/__ranges/take_view.h +9 -9
  353. package/libcxx/include/__ranges/transform_view.h +1 -2
  354. package/libcxx/include/__ranges/view_interface.h +10 -10
  355. package/libcxx/include/__ranges/zip_transform_view.h +357 -0
  356. package/libcxx/include/__ranges/zip_view.h +20 -20
  357. package/libcxx/include/__split_buffer +612 -240
  358. package/libcxx/include/__stop_token/atomic_unique_lock.h +1 -1
  359. package/libcxx/include/__stop_token/stop_callback.h +2 -2
  360. package/libcxx/include/__stop_token/stop_source.h +1 -1
  361. package/libcxx/include/__stop_token/stop_state.h +4 -4
  362. package/libcxx/include/__stop_token/stop_token.h +1 -1
  363. package/libcxx/include/__string/char_traits.h +51 -31
  364. package/libcxx/include/__string/constexpr_c_functions.h +5 -5
  365. package/libcxx/include/__support/xlocale/__strtonum_fallback.h +0 -8
  366. package/libcxx/include/__system_error/error_category.h +8 -8
  367. package/libcxx/include/__system_error/error_code.h +5 -5
  368. package/libcxx/include/__system_error/error_condition.h +4 -4
  369. package/libcxx/include/__system_error/system_error.h +1 -1
  370. package/libcxx/include/__thread/id.h +1 -1
  371. package/libcxx/include/__thread/jthread.h +1 -1
  372. package/libcxx/include/__thread/poll_with_backoff.h +27 -8
  373. package/libcxx/include/__thread/support/c11.h +8 -8
  374. package/libcxx/include/__thread/support/pthread.h +8 -8
  375. package/libcxx/include/__thread/support/windows.h +8 -8
  376. package/libcxx/include/__thread/thread.h +13 -8
  377. package/libcxx/include/__thread/timed_backoff_policy.h +3 -2
  378. package/libcxx/include/__tree +849 -701
  379. package/libcxx/include/__tuple/sfinae_helpers.h +1 -44
  380. package/libcxx/include/__tuple/tuple_element.h +0 -12
  381. package/libcxx/include/__tuple/tuple_size.h +0 -4
  382. package/libcxx/include/__tuple/tuple_transform.h +45 -0
  383. package/libcxx/include/__type_traits/aligned_storage.h +13 -40
  384. package/libcxx/include/__type_traits/desugars_to.h +4 -0
  385. package/libcxx/include/__type_traits/invoke.h +8 -0
  386. package/libcxx/include/__type_traits/is_allocator.h +6 -7
  387. package/libcxx/include/__type_traits/is_array.h +26 -0
  388. package/libcxx/include/__type_traits/is_equality_comparable.h +16 -21
  389. package/libcxx/include/__type_traits/is_final.h +1 -1
  390. package/libcxx/include/__type_traits/is_floating_point.h +7 -6
  391. package/libcxx/include/__type_traits/is_generic_transparent_comparator.h +30 -0
  392. package/libcxx/include/__type_traits/is_specialization.h +2 -6
  393. package/libcxx/include/__type_traits/is_within_lifetime.h +29 -0
  394. package/libcxx/include/__type_traits/make_transparent.h +52 -0
  395. package/libcxx/include/__type_traits/reference_constructs_from_temporary.h +1 -7
  396. package/libcxx/include/__type_traits/reference_converts_from_temporary.h +1 -1
  397. package/libcxx/include/__utility/cmp.h +19 -7
  398. package/libcxx/include/__utility/default_three_way_comparator.h +70 -0
  399. package/libcxx/include/__utility/in_place.h +1 -1
  400. package/libcxx/include/__utility/integer_sequence.h +56 -41
  401. package/libcxx/include/__utility/lazy_synth_three_way_comparator.h +120 -0
  402. package/libcxx/include/__utility/pair.h +22 -25
  403. package/libcxx/include/__utility/scope_guard.h +2 -0
  404. package/libcxx/include/__utility/try_key_extraction.h +114 -0
  405. package/libcxx/include/__vector/vector.h +187 -160
  406. package/libcxx/include/__vector/vector_bool.h +76 -83
  407. package/libcxx/include/any +118 -155
  408. package/libcxx/include/array +88 -56
  409. package/libcxx/include/atomic +2 -0
  410. package/libcxx/include/barrier +20 -24
  411. package/libcxx/include/bitset +49 -30
  412. package/libcxx/include/ccomplex +3 -11
  413. package/libcxx/include/chrono +47 -0
  414. package/libcxx/include/ciso646 +3 -6
  415. package/libcxx/include/complex +77 -65
  416. package/libcxx/include/complex.h +10 -10
  417. package/libcxx/include/condition_variable +3 -3
  418. package/libcxx/include/cstdalign +3 -10
  419. package/libcxx/include/cstdbool +3 -10
  420. package/libcxx/include/ctgmath +2 -11
  421. package/libcxx/include/ctype.h +24 -24
  422. package/libcxx/include/cwchar +2 -2
  423. package/libcxx/include/deque +109 -225
  424. package/libcxx/include/errno.h +269 -269
  425. package/libcxx/include/exception +4 -1
  426. package/libcxx/include/ext/hash_map +7 -48
  427. package/libcxx/include/ext/hash_set +2 -8
  428. package/libcxx/include/fenv.h +43 -43
  429. package/libcxx/include/flat_map +663 -11
  430. package/libcxx/include/flat_set +543 -8
  431. package/libcxx/include/float.h +16 -16
  432. package/libcxx/include/forward_list +33 -53
  433. package/libcxx/include/fstream +57 -42
  434. package/libcxx/include/future +41 -51
  435. package/libcxx/include/initializer_list +9 -3
  436. package/libcxx/include/inttypes.h +16 -16
  437. package/libcxx/include/ios +28 -28
  438. package/libcxx/include/istream +19 -13
  439. package/libcxx/include/iterator +10 -0
  440. package/libcxx/include/latch +7 -5
  441. package/libcxx/include/limits +4 -4
  442. package/libcxx/include/list +61 -79
  443. package/libcxx/include/map +386 -274
  444. package/libcxx/include/math.h +19 -0
  445. package/libcxx/include/mdspan +1 -5
  446. package/libcxx/include/mutex +29 -19
  447. package/libcxx/include/optional +644 -149
  448. package/libcxx/include/print +9 -5
  449. package/libcxx/include/queue +39 -37
  450. package/libcxx/include/ranges +48 -0
  451. package/libcxx/include/regex +33 -31
  452. package/libcxx/include/scoped_allocator +16 -11
  453. package/libcxx/include/semaphore +15 -18
  454. package/libcxx/include/set +220 -192
  455. package/libcxx/include/shared_mutex +3 -8
  456. package/libcxx/include/span +53 -37
  457. package/libcxx/include/sstream +34 -28
  458. package/libcxx/include/stack +13 -15
  459. package/libcxx/include/stddef.h +10 -10
  460. package/libcxx/include/stdexcept +2 -2
  461. package/libcxx/include/stdio.h +20 -21
  462. package/libcxx/include/streambuf +59 -19
  463. package/libcxx/include/string +574 -573
  464. package/libcxx/include/string_view +113 -89
  465. package/libcxx/include/strstream +10 -10
  466. package/libcxx/include/syncstream +4 -4
  467. package/libcxx/include/tgmath.h +12 -12
  468. package/libcxx/include/tuple +242 -212
  469. package/libcxx/include/type_traits +8 -2
  470. package/libcxx/include/typeindex +5 -3
  471. package/libcxx/include/typeinfo +92 -89
  472. package/libcxx/include/unordered_map +179 -304
  473. package/libcxx/include/unordered_set +168 -195
  474. package/libcxx/include/utility +12 -0
  475. package/libcxx/include/valarray +106 -161
  476. package/libcxx/include/variant +25 -33
  477. package/libcxx/include/version +41 -24
  478. package/libcxx/include/wctype.h +29 -29
  479. package/libcxx/src/any.cpp +4 -0
  480. package/libcxx/src/atomic.cpp +365 -80
  481. package/libcxx/src/barrier.cpp +4 -3
  482. package/libcxx/src/charconv.cpp +6 -3
  483. package/libcxx/src/condition_variable_destructor.cpp +1 -1
  484. package/libcxx/src/error_category.cpp +3 -1
  485. package/libcxx/src/exception.cpp +2 -10
  486. package/libcxx/src/experimental/time_zone.cpp +1 -1
  487. package/libcxx/src/experimental/tzdb.cpp +4 -1
  488. package/libcxx/src/filesystem/error.h +4 -22
  489. package/libcxx/src/filesystem/format_string.h +9 -18
  490. package/libcxx/src/filesystem/int128_builtins.cpp +2 -0
  491. package/libcxx/src/filesystem/operations.cpp +2 -9
  492. package/libcxx/src/filesystem/path.cpp +3 -1
  493. package/libcxx/src/include/aligned_alloc.h +65 -0
  494. package/libcxx/src/include/config_elast.h +1 -1
  495. package/libcxx/src/include/from_chars_floating_point.h +11 -7
  496. package/libcxx/src/include/overridable_function.h +8 -10
  497. package/libcxx/src/iostream.cpp +56 -37
  498. package/libcxx/src/locale.cpp +213 -196
  499. package/libcxx/src/memory.cpp +12 -14
  500. package/libcxx/src/mutex_destructor.cpp +1 -1
  501. package/libcxx/src/new.cpp +5 -5
  502. package/libcxx/src/optional.cpp +4 -0
  503. package/libcxx/src/print.cpp +9 -1
  504. package/libcxx/src/random.cpp +0 -26
  505. package/libcxx/src/string.cpp +10 -25
  506. package/libcxx/src/support/runtime/exception_fallback.ipp +2 -0
  507. package/libcxx/src/support/runtime/exception_glibcxx.ipp +3 -0
  508. package/libcxx/src/support/runtime/exception_libcxxabi.ipp +6 -2
  509. package/libcxx/src/support/runtime/exception_libcxxrt.ipp +2 -0
  510. package/libcxx/src/support/runtime/exception_msvc.ipp +2 -0
  511. package/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp +9 -10
  512. package/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp +2 -0
  513. package/libcxx/src/support/runtime/exception_pointer_msvc.ipp +1 -0
  514. package/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp +1 -0
  515. package/libcxx/src/support/win32/locale_win32.cpp +1 -1
  516. package/libcxx/src/system_error.cpp +2 -0
  517. package/libcxx/src/thread.cpp +1 -3
  518. package/libcxx/src/valarray.cpp +1 -2
  519. package/libcxx/src/vector.cpp +2 -2
  520. package/libcxxabi/include/__cxxabi_config.h +42 -23
  521. package/libcxxabi/src/cxa_exception.cpp +4 -2
  522. package/libcxxabi/src/cxa_exception.h +16 -14
  523. package/libcxxabi/src/cxa_personality.cpp +126 -9
  524. package/libcxxabi/src/cxa_thread_atexit.cpp +2 -1
  525. package/libcxxabi/src/demangle/DemangleConfig.h +4 -0
  526. package/libcxxabi/src/demangle/ItaniumDemangle.h +9 -6
  527. package/libcxxabi/src/demangle/Utility.h +21 -7
  528. package/libcxxabi/src/fallback_malloc.cpp +1 -1
  529. package/libcxxabi/src/private_typeinfo.cpp +6 -0
  530. package/libcxxabi/src/stdlib_new_delete.cpp +5 -5
  531. package/libtsan/LICENSE.TXT +311 -0
  532. package/libtsan/builtins/assembly.h +41 -8
  533. package/libtsan/interception/interception_win.cpp +4 -0
  534. package/libtsan/sanitizer_common/sanitizer_allocator_primary32.h +1 -0
  535. package/libtsan/sanitizer_common/sanitizer_allocator_primary64.h +18 -0
  536. package/libtsan/sanitizer_common/sanitizer_common.h +15 -2
  537. package/libtsan/sanitizer_common/sanitizer_common_interceptors.inc +30 -4
  538. package/libtsan/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +4 -0
  539. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S +2 -1
  540. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S +2 -0
  541. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_x86_64.inc.S +2 -0
  542. package/libtsan/sanitizer_common/sanitizer_common_syscalls.inc +18 -0
  543. package/libtsan/sanitizer_common/sanitizer_file.cpp +40 -12
  544. package/libtsan/sanitizer_common/sanitizer_file.h +3 -0
  545. package/libtsan/sanitizer_common/sanitizer_flags.inc +7 -0
  546. package/libtsan/sanitizer_common/sanitizer_fuchsia.cpp +30 -3
  547. package/libtsan/sanitizer_common/sanitizer_haiku.cpp +2 -2
  548. package/libtsan/sanitizer_common/sanitizer_internal_defs.h +1 -1
  549. package/libtsan/sanitizer_common/sanitizer_libc.cpp +8 -0
  550. package/libtsan/sanitizer_common/sanitizer_libc.h +1 -0
  551. package/libtsan/sanitizer_common/sanitizer_linux.cpp +15 -7
  552. package/libtsan/sanitizer_common/sanitizer_linux.h +3 -3
  553. package/libtsan/sanitizer_common/sanitizer_linux_libcdep.cpp +1 -0
  554. package/libtsan/sanitizer_common/sanitizer_mac.cpp +255 -104
  555. package/libtsan/sanitizer_common/sanitizer_mac.h +5 -0
  556. package/libtsan/sanitizer_common/sanitizer_netbsd.cpp +2 -2
  557. package/libtsan/sanitizer_common/sanitizer_platform.h +27 -1
  558. package/libtsan/sanitizer_common/sanitizer_platform_interceptors.h +5 -4
  559. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.cpp +15 -17
  560. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.h +32 -6
  561. package/libtsan/sanitizer_common/sanitizer_posix.cpp +3 -12
  562. package/libtsan/sanitizer_common/sanitizer_posix.h +2 -1
  563. package/libtsan/sanitizer_common/sanitizer_posix_libcdep.cpp +19 -0
  564. package/libtsan/sanitizer_common/sanitizer_procmaps_mac.cpp +102 -37
  565. package/libtsan/sanitizer_common/sanitizer_redefine_builtins.h +1 -1
  566. package/libtsan/sanitizer_common/sanitizer_signal_interceptors.inc +40 -2
  567. package/libtsan/sanitizer_common/sanitizer_stoptheworld.h +1 -1
  568. package/libtsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp +83 -12
  569. package/libtsan/sanitizer_common/sanitizer_stoptheworld_mac.cpp +3 -3
  570. package/libtsan/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp +7 -7
  571. package/libtsan/sanitizer_common/sanitizer_stoptheworld_win.cpp +2 -2
  572. package/libtsan/sanitizer_common/sanitizer_symbolizer_internal.h +5 -1
  573. package/libtsan/sanitizer_common/sanitizer_symbolizer_libcdep.cpp +11 -1
  574. package/libtsan/sanitizer_common/sanitizer_symbolizer_mac.cpp +86 -29
  575. package/libtsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +27 -16
  576. package/libtsan/sanitizer_common/sanitizer_thread_registry.cpp +5 -4
  577. package/libtsan/sanitizer_common/sanitizer_thread_registry.h +4 -4
  578. package/libtsan/sanitizer_common/sanitizer_win.cpp +1 -3
  579. package/libtsan/tsan_debugging.cpp +2 -2
  580. package/libtsan/tsan_flags.cpp +37 -0
  581. package/libtsan/tsan_flags.h +8 -0
  582. package/libtsan/tsan_flags.inc +12 -0
  583. package/libtsan/tsan_interceptors.h +9 -1
  584. package/libtsan/tsan_interceptors_mac.cpp +19 -0
  585. package/libtsan/tsan_interceptors_posix.cpp +78 -32
  586. package/libtsan/tsan_interface.h +3 -3
  587. package/libtsan/tsan_interface_ann.cpp +23 -9
  588. package/libtsan/tsan_mman.cpp +18 -4
  589. package/libtsan/tsan_platform.h +44 -7
  590. package/libtsan/tsan_platform_linux.cpp +42 -14
  591. package/libtsan/tsan_platform_mac.cpp +16 -3
  592. package/libtsan/tsan_report.h +14 -1
  593. package/libtsan/tsan_rtl.cpp +14 -0
  594. package/libtsan/tsan_rtl.h +7 -2
  595. package/libtsan/tsan_rtl_aarch64.S +3 -5
  596. package/libtsan/tsan_rtl_access.cpp +8 -3
  597. package/libtsan/tsan_rtl_amd64.S +2 -0
  598. package/libtsan/tsan_rtl_mutex.cpp +94 -49
  599. package/libtsan/tsan_rtl_report.cpp +132 -65
  600. package/libtsan/tsan_rtl_thread.cpp +31 -9
  601. package/libtsan/tsan_symbolize.cpp +1 -1
  602. package/libtsan/tsan_symbolize.h +1 -1
  603. package/libtsan/tsan_trace.h +1 -1
  604. package/libunwind/include/__libunwind_config.h +11 -2
  605. package/libunwind/include/libunwind.h +117 -11
  606. package/libunwind/include/unwind_arm_ehabi.h +4 -1
  607. package/libunwind/src/AddressSpace.hpp +40 -19
  608. package/libunwind/src/CompactUnwinder.hpp +16 -5
  609. package/libunwind/src/DwarfInstructions.hpp +24 -13
  610. package/libunwind/src/DwarfParser.hpp +60 -22
  611. package/libunwind/src/EHHeaderParser.hpp +7 -4
  612. package/libunwind/src/Registers.hpp +226 -22
  613. package/libunwind/src/Unwind-seh.cpp +6 -7
  614. package/libunwind/src/Unwind-wasm.c +7 -7
  615. package/libunwind/src/UnwindCursor.hpp +167 -49
  616. package/libunwind/src/UnwindLevel1.c +46 -17
  617. package/libunwind/src/UnwindRegistersRestore.S +46 -5
  618. package/libunwind/src/UnwindRegistersSave.S +86 -2
  619. package/libunwind/src/assembly.h +5 -1
  620. package/libunwind/src/config.h +9 -0
  621. package/libunwind/src/gcc_personality_v0.c +79 -6
  622. package/libunwind/src/libunwind.cpp +104 -4
  623. package/libunwind/src/libunwind_ext.h +7 -1
  624. package/libunwind/src/shadow_stack_unwind.h +2 -2
  625. package/lldb/pretty_printers.py +948 -0
  626. package/package.json +1 -1
  627. package/std/Build/Step/Compile.zig +18 -19
  628. package/std/Build/Step/Run.zig +13 -6
  629. package/std/Build/Step.zig +0 -3
  630. package/std/Io/Threaded.zig +3 -0
  631. package/std/Target/aarch64.zig +620 -77
  632. package/std/Target/amdgcn.zig +421 -21
  633. package/std/Target/arm.zig +40 -6
  634. package/std/Target/bpf.zig +6 -0
  635. package/std/Target/hexagon.zig +41 -6
  636. package/std/Target/loongarch.zig +18 -0
  637. package/std/Target/mips.zig +6 -0
  638. package/std/Target/nvptx.zig +58 -35
  639. package/std/Target/powerpc.zig +27 -19
  640. package/std/Target/riscv.zig +415 -177
  641. package/std/Target/sparc.zig +17 -0
  642. package/std/Target/wasm.zig +7 -0
  643. package/std/Target/x86.zig +200 -31
  644. package/std/Target/xtensa.zig +65 -0
  645. package/std/Target.zig +11 -2
  646. package/std/c.zig +7 -0
  647. package/std/debug/Dwarf.zig +14 -11
  648. package/std/debug/Pdb.zig +24 -16
  649. package/std/hash/xxhash.zig +0 -6
  650. package/std/math/log10.zig +0 -2
  651. package/std/math/modf.zig +0 -1
  652. package/std/mem.zig +1 -2
  653. package/std/os/linux/x86.zig +2 -2
  654. package/std/os/windows.zig +130 -1
  655. package/std/simd.zig +4 -21
  656. package/std/start.zig +4 -3
  657. package/std/zig/Ast.zig +5 -7
  658. package/std/zig/AstGen.zig +20 -14
  659. package/std/zig/ErrorBundle.zig +6 -2
  660. package/std/zig/ZonGen.zig +13 -21
  661. package/std/zig/llvm/Builder.zig +2 -2
  662. package/std/zig/system/arm.zig +56 -2
  663. package/std/zig/system/windows.zig +34 -1
  664. package/std/zig/system/x86.zig +60 -16
  665. package/std/zig/system.zig +0 -10
  666. package/include/amxbf16transposeintrin.h +0 -94
  667. package/include/amxcomplextransposeintrin.h +0 -303
  668. package/include/amxfp16transposeintrin.h +0 -94
  669. package/include/amxmovrstransposeintrin.h +0 -200
  670. package/include/amxtf32transposeintrin.h +0 -105
  671. package/include/amxtransposeintrin.h +0 -248
  672. package/libtsan/sanitizer_common/sanitizer_coverage_interface.inc +0 -43
  673. package/std/Build/Step/CheckObject.zig +0 -2764
@@ -8,49 +8,40 @@ pub const Feature = enum {
8
8
  @"32bit",
9
9
  @"64bit",
10
10
  a,
11
+ add_load_fusion,
12
+ addi_load_fusion,
11
13
  andes45,
12
14
  auipc_addi_fusion,
15
+ auipc_load_fusion,
13
16
  b,
17
+ bfext_fusion,
14
18
  c,
15
19
  conditional_cmv_fusion,
16
20
  d,
17
21
  disable_latency_sched_heuristic,
22
+ disable_misched_load_clustering,
23
+ disable_misched_store_clustering,
24
+ disable_postmisched_load_clustering,
25
+ disable_postmisched_store_clustering,
18
26
  dlen_factor_2,
19
27
  e,
28
+ enable_vsetvli_sched_heuristic,
20
29
  exact_asm,
21
30
  experimental,
22
31
  experimental_p,
23
32
  experimental_rvm23u32,
24
- experimental_smctr,
25
- experimental_ssctr,
33
+ experimental_smpmpmt,
26
34
  experimental_svukte,
27
- experimental_xqccmp,
28
- experimental_xqcia,
29
- experimental_xqciac,
30
- experimental_xqcibi,
31
- experimental_xqcibm,
32
- experimental_xqcicli,
33
- experimental_xqcicm,
34
- experimental_xqcics,
35
- experimental_xqcicsr,
36
- experimental_xqciint,
37
- experimental_xqciio,
38
- experimental_xqcilb,
39
- experimental_xqcili,
40
- experimental_xqcilia,
41
- experimental_xqcilo,
42
- experimental_xqcilsm,
43
- experimental_xqcisim,
44
- experimental_xqcisls,
45
- experimental_xqcisync,
46
35
  experimental_xrivosvisni,
47
36
  experimental_xrivosvizip,
48
37
  experimental_xsfmclic,
49
38
  experimental_xsfsclic,
50
- experimental_zalasr,
39
+ experimental_zibi,
51
40
  experimental_zicfilp,
52
41
  experimental_zicfiss,
53
42
  experimental_zvbc32e,
43
+ experimental_zvfbfa,
44
+ experimental_zvfofp8min,
54
45
  experimental_zvkgs,
55
46
  experimental_zvqdotq,
56
47
  f,
@@ -60,6 +51,7 @@ pub const Feature = enum {
60
51
  ld_add_fusion,
61
52
  log_vrgather,
62
53
  lui_addi_fusion,
54
+ lui_load_fusion,
63
55
  m,
64
56
  mips_p8700,
65
57
  no_default_unroll,
@@ -73,6 +65,7 @@ pub const Feature = enum {
73
65
  optimized_nf7_segment_load_store,
74
66
  optimized_nf8_segment_load_store,
75
67
  optimized_zero_stride_load,
68
+ permissive_zalrsc,
76
69
  predictable_select_expensive,
77
70
  prefer_vsetvli_over_read_vlenb,
78
71
  prefer_w_inst,
@@ -127,15 +120,21 @@ pub const Feature = enum {
127
120
  shgatpa,
128
121
  shifted_zextw_fusion,
129
122
  shlcofideleg,
130
- short_forward_branch_opt,
123
+ short_forward_branch_ialu,
124
+ short_forward_branch_iload,
125
+ short_forward_branch_iminmax,
126
+ short_forward_branch_imul,
131
127
  shtvala,
132
128
  shvsatpa,
133
129
  shvstvala,
134
130
  shvstvecd,
131
+ shxadd_load_fusion,
132
+ single_element_vec_fp64,
135
133
  smaia,
136
134
  smcdeleg,
137
135
  smcntrpmf,
138
136
  smcsrind,
137
+ smctr,
139
138
  smdbltrp,
140
139
  smepmp,
141
140
  smmpm,
@@ -148,6 +147,7 @@ pub const Feature = enum {
148
147
  sscofpmf,
149
148
  sscounterenw,
150
149
  sscsrind,
150
+ ssctr,
151
151
  ssdbltrp,
152
152
  ssnpm,
153
153
  sspm,
@@ -179,6 +179,7 @@ pub const Feature = enum {
179
179
  xandesvbfhcvt,
180
180
  xandesvdot,
181
181
  xandesvpackfph,
182
+ xandesvsinth,
182
183
  xandesvsintload,
183
184
  xcvalu,
184
185
  xcvbi,
@@ -189,7 +190,28 @@ pub const Feature = enum {
189
190
  xcvsimd,
190
191
  xmipscbop,
191
192
  xmipscmov,
193
+ xmipsexectl,
192
194
  xmipslsp,
195
+ xqccmp,
196
+ xqci,
197
+ xqcia,
198
+ xqciac,
199
+ xqcibi,
200
+ xqcibm,
201
+ xqcicli,
202
+ xqcicm,
203
+ xqcics,
204
+ xqcicsr,
205
+ xqciint,
206
+ xqciio,
207
+ xqcilb,
208
+ xqcili,
209
+ xqcilia,
210
+ xqcilo,
211
+ xqcilsm,
212
+ xqcisim,
213
+ xqcisls,
214
+ xqcisync,
193
215
  xsfcease,
194
216
  xsfmm128t,
195
217
  xsfmm16t,
@@ -202,12 +224,18 @@ pub const Feature = enum {
202
224
  xsfmm64t,
203
225
  xsfmmbase,
204
226
  xsfvcp,
227
+ xsfvfbfexp16e,
228
+ xsfvfexp16e,
229
+ xsfvfexp32e,
230
+ xsfvfexpa,
231
+ xsfvfexpa64e,
205
232
  xsfvfnrclipxfqf,
206
233
  xsfvfwmaccqqq,
207
234
  xsfvqmaccdod,
208
235
  xsfvqmaccqoq,
209
236
  xsifivecdiscarddlone,
210
237
  xsifivecflushdlone,
238
+ xsmtvdot,
211
239
  xtheadba,
212
240
  xtheadbb,
213
241
  xtheadbs,
@@ -226,6 +254,7 @@ pub const Feature = enum {
226
254
  zaamo,
227
255
  zabha,
228
256
  zacas,
257
+ zalasr,
229
258
  zalrsc,
230
259
  zama16b,
231
260
  zawrs,
@@ -272,6 +301,7 @@ pub const Feature = enum {
272
301
  zihintpause,
273
302
  zihpm,
274
303
  zilsd,
304
+ zilsd_4byte_align,
275
305
  zimop,
276
306
  zk,
277
307
  zkn,
@@ -352,6 +382,16 @@ pub const all_features = blk: {
352
382
  .zalrsc,
353
383
  }),
354
384
  };
385
+ result[@intFromEnum(Feature.add_load_fusion)] = .{
386
+ .llvm_name = "add-load-fusion",
387
+ .description = "Enable ADD(.UW) + load macrofusion",
388
+ .dependencies = featureSet(&[_]Feature{}),
389
+ };
390
+ result[@intFromEnum(Feature.addi_load_fusion)] = .{
391
+ .llvm_name = "addi-load-fusion",
392
+ .description = "Enable ADDI + load macrofusion",
393
+ .dependencies = featureSet(&[_]Feature{}),
394
+ };
355
395
  result[@intFromEnum(Feature.andes45)] = .{
356
396
  .llvm_name = "andes45",
357
397
  .description = "Andes 45-Series processors",
@@ -362,6 +402,11 @@ pub const all_features = blk: {
362
402
  .description = "Enable AUIPC+ADDI macrofusion",
363
403
  .dependencies = featureSet(&[_]Feature{}),
364
404
  };
405
+ result[@intFromEnum(Feature.auipc_load_fusion)] = .{
406
+ .llvm_name = "auipc-load-fusion",
407
+ .description = "Enable AUIPC + load macrofusion",
408
+ .dependencies = featureSet(&[_]Feature{}),
409
+ };
365
410
  result[@intFromEnum(Feature.b)] = .{
366
411
  .llvm_name = "b",
367
412
  .description = "'B' (the collection of the Zba, Zbb, Zbs extensions)",
@@ -371,6 +416,11 @@ pub const all_features = blk: {
371
416
  .zbs,
372
417
  }),
373
418
  };
419
+ result[@intFromEnum(Feature.bfext_fusion)] = .{
420
+ .llvm_name = "bfext-fusion",
421
+ .description = "Enable SLLI+SRLI (bitfield extract) macrofusion",
422
+ .dependencies = featureSet(&[_]Feature{}),
423
+ };
374
424
  result[@intFromEnum(Feature.c)] = .{
375
425
  .llvm_name = "c",
376
426
  .description = "'C' (Compressed Instructions)",
@@ -395,6 +445,26 @@ pub const all_features = blk: {
395
445
  .description = "Disable latency scheduling heuristic",
396
446
  .dependencies = featureSet(&[_]Feature{}),
397
447
  };
448
+ result[@intFromEnum(Feature.disable_misched_load_clustering)] = .{
449
+ .llvm_name = "disable-misched-load-clustering",
450
+ .description = "Disable load clustering in the machine scheduler",
451
+ .dependencies = featureSet(&[_]Feature{}),
452
+ };
453
+ result[@intFromEnum(Feature.disable_misched_store_clustering)] = .{
454
+ .llvm_name = "disable-misched-store-clustering",
455
+ .description = "Disable store clustering in the machine scheduler",
456
+ .dependencies = featureSet(&[_]Feature{}),
457
+ };
458
+ result[@intFromEnum(Feature.disable_postmisched_load_clustering)] = .{
459
+ .llvm_name = "disable-postmisched-load-clustering",
460
+ .description = "Disable PostRA load clustering in the machine scheduler",
461
+ .dependencies = featureSet(&[_]Feature{}),
462
+ };
463
+ result[@intFromEnum(Feature.disable_postmisched_store_clustering)] = .{
464
+ .llvm_name = "disable-postmisched-store-clustering",
465
+ .description = "Disable PostRA store clustering in the machine scheduler",
466
+ .dependencies = featureSet(&[_]Feature{}),
467
+ };
398
468
  result[@intFromEnum(Feature.dlen_factor_2)] = .{
399
469
  .llvm_name = "dlen-factor-2",
400
470
  .description = "Vector unit DLEN(data path width) is half of VLEN",
@@ -405,6 +475,11 @@ pub const all_features = blk: {
405
475
  .description = "'E' (Embedded Instruction Set with 16 GPRs)",
406
476
  .dependencies = featureSet(&[_]Feature{}),
407
477
  };
478
+ result[@intFromEnum(Feature.enable_vsetvli_sched_heuristic)] = .{
479
+ .llvm_name = "enable-vsetvli-sched-heuristic",
480
+ .description = "Enable vsetvli-based scheduling heuristic",
481
+ .dependencies = featureSet(&[_]Feature{}),
482
+ };
408
483
  result[@intFromEnum(Feature.exact_asm)] = .{
409
484
  .llvm_name = "exact-asm",
410
485
  .description = "Enable Exact Assembly (Disables Compression and Relaxation)",
@@ -437,144 +512,16 @@ pub const all_features = blk: {
437
512
  .zimop,
438
513
  }),
439
514
  };
440
- result[@intFromEnum(Feature.experimental_smctr)] = .{
441
- .llvm_name = "experimental-smctr",
442
- .description = "'Smctr' (Control Transfer Records Machine Level)",
443
- .dependencies = featureSet(&[_]Feature{
444
- .sscsrind,
445
- }),
446
- };
447
- result[@intFromEnum(Feature.experimental_ssctr)] = .{
448
- .llvm_name = "experimental-ssctr",
449
- .description = "'Ssctr' (Control Transfer Records Supervisor Level)",
450
- .dependencies = featureSet(&[_]Feature{
451
- .sscsrind,
452
- }),
515
+ result[@intFromEnum(Feature.experimental_smpmpmt)] = .{
516
+ .llvm_name = "experimental-smpmpmt",
517
+ .description = "'Smpmpmt' (PMP-based Memory Types Extension)",
518
+ .dependencies = featureSet(&[_]Feature{}),
453
519
  };
454
520
  result[@intFromEnum(Feature.experimental_svukte)] = .{
455
521
  .llvm_name = "experimental-svukte",
456
522
  .description = "'Svukte' (Address-Independent Latency of User-Mode Faults to Supervisor Addresses)",
457
523
  .dependencies = featureSet(&[_]Feature{}),
458
524
  };
459
- result[@intFromEnum(Feature.experimental_xqccmp)] = .{
460
- .llvm_name = "experimental-xqccmp",
461
- .description = "'Xqccmp' (Qualcomm 16-bit Push/Pop and Double Moves)",
462
- .dependencies = featureSet(&[_]Feature{
463
- .zca,
464
- }),
465
- };
466
- result[@intFromEnum(Feature.experimental_xqcia)] = .{
467
- .llvm_name = "experimental-xqcia",
468
- .description = "'Xqcia' (Qualcomm uC Arithmetic Extension)",
469
- .dependencies = featureSet(&[_]Feature{}),
470
- };
471
- result[@intFromEnum(Feature.experimental_xqciac)] = .{
472
- .llvm_name = "experimental-xqciac",
473
- .description = "'Xqciac' (Qualcomm uC Load-Store Address Calculation Extension)",
474
- .dependencies = featureSet(&[_]Feature{
475
- .zca,
476
- }),
477
- };
478
- result[@intFromEnum(Feature.experimental_xqcibi)] = .{
479
- .llvm_name = "experimental-xqcibi",
480
- .description = "'Xqcibi' (Qualcomm uC Branch Immediate Extension)",
481
- .dependencies = featureSet(&[_]Feature{
482
- .zca,
483
- }),
484
- };
485
- result[@intFromEnum(Feature.experimental_xqcibm)] = .{
486
- .llvm_name = "experimental-xqcibm",
487
- .description = "'Xqcibm' (Qualcomm uC Bit Manipulation Extension)",
488
- .dependencies = featureSet(&[_]Feature{
489
- .zca,
490
- }),
491
- };
492
- result[@intFromEnum(Feature.experimental_xqcicli)] = .{
493
- .llvm_name = "experimental-xqcicli",
494
- .description = "'Xqcicli' (Qualcomm uC Conditional Load Immediate Extension)",
495
- .dependencies = featureSet(&[_]Feature{}),
496
- };
497
- result[@intFromEnum(Feature.experimental_xqcicm)] = .{
498
- .llvm_name = "experimental-xqcicm",
499
- .description = "'Xqcicm' (Qualcomm uC Conditional Move Extension)",
500
- .dependencies = featureSet(&[_]Feature{
501
- .zca,
502
- }),
503
- };
504
- result[@intFromEnum(Feature.experimental_xqcics)] = .{
505
- .llvm_name = "experimental-xqcics",
506
- .description = "'Xqcics' (Qualcomm uC Conditional Select Extension)",
507
- .dependencies = featureSet(&[_]Feature{}),
508
- };
509
- result[@intFromEnum(Feature.experimental_xqcicsr)] = .{
510
- .llvm_name = "experimental-xqcicsr",
511
- .description = "'Xqcicsr' (Qualcomm uC CSR Extension)",
512
- .dependencies = featureSet(&[_]Feature{}),
513
- };
514
- result[@intFromEnum(Feature.experimental_xqciint)] = .{
515
- .llvm_name = "experimental-xqciint",
516
- .description = "'Xqciint' (Qualcomm uC Interrupts Extension)",
517
- .dependencies = featureSet(&[_]Feature{
518
- .zca,
519
- }),
520
- };
521
- result[@intFromEnum(Feature.experimental_xqciio)] = .{
522
- .llvm_name = "experimental-xqciio",
523
- .description = "'Xqciio' (Qualcomm uC External Input Output Extension)",
524
- .dependencies = featureSet(&[_]Feature{}),
525
- };
526
- result[@intFromEnum(Feature.experimental_xqcilb)] = .{
527
- .llvm_name = "experimental-xqcilb",
528
- .description = "'Xqcilb' (Qualcomm uC Long Branch Extension)",
529
- .dependencies = featureSet(&[_]Feature{
530
- .zca,
531
- }),
532
- };
533
- result[@intFromEnum(Feature.experimental_xqcili)] = .{
534
- .llvm_name = "experimental-xqcili",
535
- .description = "'Xqcili' (Qualcomm uC Load Large Immediate Extension)",
536
- .dependencies = featureSet(&[_]Feature{
537
- .zca,
538
- }),
539
- };
540
- result[@intFromEnum(Feature.experimental_xqcilia)] = .{
541
- .llvm_name = "experimental-xqcilia",
542
- .description = "'Xqcilia' (Qualcomm uC Large Immediate Arithmetic Extension)",
543
- .dependencies = featureSet(&[_]Feature{
544
- .zca,
545
- }),
546
- };
547
- result[@intFromEnum(Feature.experimental_xqcilo)] = .{
548
- .llvm_name = "experimental-xqcilo",
549
- .description = "'Xqcilo' (Qualcomm uC Large Offset Load Store Extension)",
550
- .dependencies = featureSet(&[_]Feature{
551
- .zca,
552
- }),
553
- };
554
- result[@intFromEnum(Feature.experimental_xqcilsm)] = .{
555
- .llvm_name = "experimental-xqcilsm",
556
- .description = "'Xqcilsm' (Qualcomm uC Load Store Multiple Extension)",
557
- .dependencies = featureSet(&[_]Feature{}),
558
- };
559
- result[@intFromEnum(Feature.experimental_xqcisim)] = .{
560
- .llvm_name = "experimental-xqcisim",
561
- .description = "'Xqcisim' (Qualcomm uC Simulation Hint Extension)",
562
- .dependencies = featureSet(&[_]Feature{
563
- .zca,
564
- }),
565
- };
566
- result[@intFromEnum(Feature.experimental_xqcisls)] = .{
567
- .llvm_name = "experimental-xqcisls",
568
- .description = "'Xqcisls' (Qualcomm uC Scaled Load Store Extension)",
569
- .dependencies = featureSet(&[_]Feature{}),
570
- };
571
- result[@intFromEnum(Feature.experimental_xqcisync)] = .{
572
- .llvm_name = "experimental-xqcisync",
573
- .description = "'Xqcisync' (Qualcomm uC Sync Delay Extension)",
574
- .dependencies = featureSet(&[_]Feature{
575
- .zca,
576
- }),
577
- };
578
525
  result[@intFromEnum(Feature.experimental_xrivosvisni)] = .{
579
526
  .llvm_name = "experimental-xrivosvisni",
580
527
  .description = "'XRivosVisni' (Rivos Vector Integer Small New)",
@@ -595,9 +542,9 @@ pub const all_features = blk: {
595
542
  .description = "'XSfsclic' (SiFive CLIC Supervisor-mode CSRs)",
596
543
  .dependencies = featureSet(&[_]Feature{}),
597
544
  };
598
- result[@intFromEnum(Feature.experimental_zalasr)] = .{
599
- .llvm_name = "experimental-zalasr",
600
- .description = "'Zalasr' (Load-Acquire and Store-Release Instructions)",
545
+ result[@intFromEnum(Feature.experimental_zibi)] = .{
546
+ .llvm_name = "experimental-zibi",
547
+ .description = "'Zibi' (Branch with Immediate)",
601
548
  .dependencies = featureSet(&[_]Feature{}),
602
549
  };
603
550
  result[@intFromEnum(Feature.experimental_zicfilp)] = .{
@@ -622,6 +569,21 @@ pub const all_features = blk: {
622
569
  .zve32x,
623
570
  }),
624
571
  };
572
+ result[@intFromEnum(Feature.experimental_zvfbfa)] = .{
573
+ .llvm_name = "experimental-zvfbfa",
574
+ .description = "'Zvfbfa' (Additional BF16 vector compute support)",
575
+ .dependencies = featureSet(&[_]Feature{
576
+ .zfbfmin,
577
+ .zve32f,
578
+ }),
579
+ };
580
+ result[@intFromEnum(Feature.experimental_zvfofp8min)] = .{
581
+ .llvm_name = "experimental-zvfofp8min",
582
+ .description = "'Zvfofp8min' (Vector OFP8 Converts)",
583
+ .dependencies = featureSet(&[_]Feature{
584
+ .zve32f,
585
+ }),
586
+ };
625
587
  result[@intFromEnum(Feature.experimental_zvkgs)] = .{
626
588
  .llvm_name = "experimental-zvkgs",
627
589
  .description = "'Zvkgs' (Vector-Scalar GCM instructions for Cryptography)",
@@ -673,6 +635,11 @@ pub const all_features = blk: {
673
635
  .description = "Enable LUI+ADDI macro fusion",
674
636
  .dependencies = featureSet(&[_]Feature{}),
675
637
  };
638
+ result[@intFromEnum(Feature.lui_load_fusion)] = .{
639
+ .llvm_name = "lui-load-fusion",
640
+ .description = "Enable LUI + load macrofusion",
641
+ .dependencies = featureSet(&[_]Feature{}),
642
+ };
676
643
  result[@intFromEnum(Feature.m)] = .{
677
644
  .llvm_name = "m",
678
645
  .description = "'M' (Integer Multiplication and Division)",
@@ -740,6 +707,11 @@ pub const all_features = blk: {
740
707
  .description = "Optimized (perform fewer memory operations)zero-stride vector load",
741
708
  .dependencies = featureSet(&[_]Feature{}),
742
709
  };
710
+ result[@intFromEnum(Feature.permissive_zalrsc)] = .{
711
+ .llvm_name = "permissive-zalrsc",
712
+ .description = "Implementation permits non-base instructions between LR/SC pairs",
713
+ .dependencies = featureSet(&[_]Feature{}),
714
+ };
743
715
  result[@intFromEnum(Feature.predictable_select_expensive)] = .{
744
716
  .llvm_name = "predictable-select-expensive",
745
717
  .description = "Prefer likely predicted branches over selects",
@@ -1262,11 +1234,32 @@ pub const all_features = blk: {
1262
1234
  .description = "'Shlcofideleg' (Delegating LCOFI Interrupts to VS-mode)",
1263
1235
  .dependencies = featureSet(&[_]Feature{}),
1264
1236
  };
1265
- result[@intFromEnum(Feature.short_forward_branch_opt)] = .{
1266
- .llvm_name = "short-forward-branch-opt",
1267
- .description = "Enable short forward branch optimization",
1237
+ result[@intFromEnum(Feature.short_forward_branch_ialu)] = .{
1238
+ .llvm_name = "short-forward-branch-ialu",
1239
+ .description = "Enable short forward branch optimization for RVI base instructions",
1268
1240
  .dependencies = featureSet(&[_]Feature{}),
1269
1241
  };
1242
+ result[@intFromEnum(Feature.short_forward_branch_iload)] = .{
1243
+ .llvm_name = "short-forward-branch-iload",
1244
+ .description = "Enable short forward branch optimization for load instructions",
1245
+ .dependencies = featureSet(&[_]Feature{
1246
+ .short_forward_branch_ialu,
1247
+ }),
1248
+ };
1249
+ result[@intFromEnum(Feature.short_forward_branch_iminmax)] = .{
1250
+ .llvm_name = "short-forward-branch-iminmax",
1251
+ .description = "Enable short forward branch optimization for MIN,MAX instructions in Zbb",
1252
+ .dependencies = featureSet(&[_]Feature{
1253
+ .short_forward_branch_ialu,
1254
+ }),
1255
+ };
1256
+ result[@intFromEnum(Feature.short_forward_branch_imul)] = .{
1257
+ .llvm_name = "short-forward-branch-imul",
1258
+ .description = "Enable short forward branch optimization for MUL instruction",
1259
+ .dependencies = featureSet(&[_]Feature{
1260
+ .short_forward_branch_ialu,
1261
+ }),
1262
+ };
1270
1263
  result[@intFromEnum(Feature.shtvala)] = .{
1271
1264
  .llvm_name = "shtvala",
1272
1265
  .description = "'Shtvala' (htval provides all needed values)",
@@ -1287,6 +1280,16 @@ pub const all_features = blk: {
1287
1280
  .description = "'Shvstvecd' (vstvec supports Direct mode)",
1288
1281
  .dependencies = featureSet(&[_]Feature{}),
1289
1282
  };
1283
+ result[@intFromEnum(Feature.shxadd_load_fusion)] = .{
1284
+ .llvm_name = "shxadd-load-fusion",
1285
+ .description = "Enable SH(1|2|3)ADD(.UW) + load macrofusion",
1286
+ .dependencies = featureSet(&[_]Feature{}),
1287
+ };
1288
+ result[@intFromEnum(Feature.single_element_vec_fp64)] = .{
1289
+ .llvm_name = "single-element-vec-fp64",
1290
+ .description = "Certain vector FP64 operations produce a single result element per cycle",
1291
+ .dependencies = featureSet(&[_]Feature{}),
1292
+ };
1290
1293
  result[@intFromEnum(Feature.smaia)] = .{
1291
1294
  .llvm_name = "smaia",
1292
1295
  .description = "'Smaia' (Advanced Interrupt Architecture Machine Level)",
@@ -1307,6 +1310,13 @@ pub const all_features = blk: {
1307
1310
  .description = "'Smcsrind' (Indirect CSR Access Machine Level)",
1308
1311
  .dependencies = featureSet(&[_]Feature{}),
1309
1312
  };
1313
+ result[@intFromEnum(Feature.smctr)] = .{
1314
+ .llvm_name = "smctr",
1315
+ .description = "'Smctr' (Control Transfer Records Machine Level)",
1316
+ .dependencies = featureSet(&[_]Feature{
1317
+ .sscsrind,
1318
+ }),
1319
+ };
1310
1320
  result[@intFromEnum(Feature.smdbltrp)] = .{
1311
1321
  .llvm_name = "smdbltrp",
1312
1322
  .description = "'Smdbltrp' (Double Trap Machine Level)",
@@ -1369,6 +1379,13 @@ pub const all_features = blk: {
1369
1379
  .description = "'Sscsrind' (Indirect CSR Access Supervisor Level)",
1370
1380
  .dependencies = featureSet(&[_]Feature{}),
1371
1381
  };
1382
+ result[@intFromEnum(Feature.ssctr)] = .{
1383
+ .llvm_name = "ssctr",
1384
+ .description = "'Ssctr' (Control Transfer Records Supervisor Level)",
1385
+ .dependencies = featureSet(&[_]Feature{
1386
+ .sscsrind,
1387
+ }),
1388
+ };
1372
1389
  result[@intFromEnum(Feature.ssdbltrp)] = .{
1373
1390
  .llvm_name = "ssdbltrp",
1374
1391
  .description = "'Ssdbltrp' (Double Trap Supervisor Level)",
@@ -1537,6 +1554,13 @@ pub const all_features = blk: {
1537
1554
  .f,
1538
1555
  }),
1539
1556
  };
1557
+ result[@intFromEnum(Feature.xandesvsinth)] = .{
1558
+ .llvm_name = "xandesvsinth",
1559
+ .description = "'XAndesVSIntH' (Andes Vector Small INT Handling Extension)",
1560
+ .dependencies = featureSet(&[_]Feature{
1561
+ .zve32x,
1562
+ }),
1563
+ };
1540
1564
  result[@intFromEnum(Feature.xandesvsintload)] = .{
1541
1565
  .llvm_name = "xandesvsintload",
1542
1566
  .description = "'XAndesVSIntLoad' (Andes Vector INT4 Load Extension)",
@@ -1589,11 +1613,159 @@ pub const all_features = blk: {
1589
1613
  .description = "'XMIPSCMov' (MIPS conditional move instruction (mips.ccmov))",
1590
1614
  .dependencies = featureSet(&[_]Feature{}),
1591
1615
  };
1616
+ result[@intFromEnum(Feature.xmipsexectl)] = .{
1617
+ .llvm_name = "xmipsexectl",
1618
+ .description = "'XMIPSEXECTL' (MIPS execution control)",
1619
+ .dependencies = featureSet(&[_]Feature{}),
1620
+ };
1592
1621
  result[@intFromEnum(Feature.xmipslsp)] = .{
1593
1622
  .llvm_name = "xmipslsp",
1594
1623
  .description = "'XMIPSLSP' (MIPS optimization for hardware load-store bonding)",
1595
1624
  .dependencies = featureSet(&[_]Feature{}),
1596
1625
  };
1626
+ result[@intFromEnum(Feature.xqccmp)] = .{
1627
+ .llvm_name = "xqccmp",
1628
+ .description = "'Xqccmp' (Qualcomm 16-bit Push/Pop and Double Moves)",
1629
+ .dependencies = featureSet(&[_]Feature{
1630
+ .zca,
1631
+ }),
1632
+ };
1633
+ result[@intFromEnum(Feature.xqci)] = .{
1634
+ .llvm_name = "xqci",
1635
+ .description = "'Xqci' (Qualcomm uC Extension)",
1636
+ .dependencies = featureSet(&[_]Feature{
1637
+ .xqcia,
1638
+ .xqciac,
1639
+ .xqcibi,
1640
+ .xqcibm,
1641
+ .xqcicli,
1642
+ .xqcicm,
1643
+ .xqcics,
1644
+ .xqcicsr,
1645
+ .xqciint,
1646
+ .xqciio,
1647
+ .xqcilb,
1648
+ .xqcili,
1649
+ .xqcilia,
1650
+ .xqcilo,
1651
+ .xqcilsm,
1652
+ .xqcisim,
1653
+ .xqcisls,
1654
+ .xqcisync,
1655
+ }),
1656
+ };
1657
+ result[@intFromEnum(Feature.xqcia)] = .{
1658
+ .llvm_name = "xqcia",
1659
+ .description = "'Xqcia' (Qualcomm uC Arithmetic Extension)",
1660
+ .dependencies = featureSet(&[_]Feature{}),
1661
+ };
1662
+ result[@intFromEnum(Feature.xqciac)] = .{
1663
+ .llvm_name = "xqciac",
1664
+ .description = "'Xqciac' (Qualcomm uC Load-Store Address Calculation Extension)",
1665
+ .dependencies = featureSet(&[_]Feature{
1666
+ .zca,
1667
+ }),
1668
+ };
1669
+ result[@intFromEnum(Feature.xqcibi)] = .{
1670
+ .llvm_name = "xqcibi",
1671
+ .description = "'Xqcibi' (Qualcomm uC Branch Immediate Extension)",
1672
+ .dependencies = featureSet(&[_]Feature{
1673
+ .zca,
1674
+ }),
1675
+ };
1676
+ result[@intFromEnum(Feature.xqcibm)] = .{
1677
+ .llvm_name = "xqcibm",
1678
+ .description = "'Xqcibm' (Qualcomm uC Bit Manipulation Extension)",
1679
+ .dependencies = featureSet(&[_]Feature{
1680
+ .zca,
1681
+ }),
1682
+ };
1683
+ result[@intFromEnum(Feature.xqcicli)] = .{
1684
+ .llvm_name = "xqcicli",
1685
+ .description = "'Xqcicli' (Qualcomm uC Conditional Load Immediate Extension)",
1686
+ .dependencies = featureSet(&[_]Feature{}),
1687
+ };
1688
+ result[@intFromEnum(Feature.xqcicm)] = .{
1689
+ .llvm_name = "xqcicm",
1690
+ .description = "'Xqcicm' (Qualcomm uC Conditional Move Extension)",
1691
+ .dependencies = featureSet(&[_]Feature{
1692
+ .zca,
1693
+ }),
1694
+ };
1695
+ result[@intFromEnum(Feature.xqcics)] = .{
1696
+ .llvm_name = "xqcics",
1697
+ .description = "'Xqcics' (Qualcomm uC Conditional Select Extension)",
1698
+ .dependencies = featureSet(&[_]Feature{}),
1699
+ };
1700
+ result[@intFromEnum(Feature.xqcicsr)] = .{
1701
+ .llvm_name = "xqcicsr",
1702
+ .description = "'Xqcicsr' (Qualcomm uC CSR Extension)",
1703
+ .dependencies = featureSet(&[_]Feature{}),
1704
+ };
1705
+ result[@intFromEnum(Feature.xqciint)] = .{
1706
+ .llvm_name = "xqciint",
1707
+ .description = "'Xqciint' (Qualcomm uC Interrupts Extension)",
1708
+ .dependencies = featureSet(&[_]Feature{
1709
+ .zca,
1710
+ }),
1711
+ };
1712
+ result[@intFromEnum(Feature.xqciio)] = .{
1713
+ .llvm_name = "xqciio",
1714
+ .description = "'Xqciio' (Qualcomm uC External Input Output Extension)",
1715
+ .dependencies = featureSet(&[_]Feature{}),
1716
+ };
1717
+ result[@intFromEnum(Feature.xqcilb)] = .{
1718
+ .llvm_name = "xqcilb",
1719
+ .description = "'Xqcilb' (Qualcomm uC Long Branch Extension)",
1720
+ .dependencies = featureSet(&[_]Feature{
1721
+ .zca,
1722
+ }),
1723
+ };
1724
+ result[@intFromEnum(Feature.xqcili)] = .{
1725
+ .llvm_name = "xqcili",
1726
+ .description = "'Xqcili' (Qualcomm uC Load Large Immediate Extension)",
1727
+ .dependencies = featureSet(&[_]Feature{
1728
+ .zca,
1729
+ }),
1730
+ };
1731
+ result[@intFromEnum(Feature.xqcilia)] = .{
1732
+ .llvm_name = "xqcilia",
1733
+ .description = "'Xqcilia' (Qualcomm uC Large Immediate Arithmetic Extension)",
1734
+ .dependencies = featureSet(&[_]Feature{
1735
+ .zca,
1736
+ }),
1737
+ };
1738
+ result[@intFromEnum(Feature.xqcilo)] = .{
1739
+ .llvm_name = "xqcilo",
1740
+ .description = "'Xqcilo' (Qualcomm uC Large Offset Load Store Extension)",
1741
+ .dependencies = featureSet(&[_]Feature{
1742
+ .zca,
1743
+ }),
1744
+ };
1745
+ result[@intFromEnum(Feature.xqcilsm)] = .{
1746
+ .llvm_name = "xqcilsm",
1747
+ .description = "'Xqcilsm' (Qualcomm uC Load Store Multiple Extension)",
1748
+ .dependencies = featureSet(&[_]Feature{}),
1749
+ };
1750
+ result[@intFromEnum(Feature.xqcisim)] = .{
1751
+ .llvm_name = "xqcisim",
1752
+ .description = "'Xqcisim' (Qualcomm uC Simulation Hint Extension)",
1753
+ .dependencies = featureSet(&[_]Feature{
1754
+ .zca,
1755
+ }),
1756
+ };
1757
+ result[@intFromEnum(Feature.xqcisls)] = .{
1758
+ .llvm_name = "xqcisls",
1759
+ .description = "'Xqcisls' (Qualcomm uC Scaled Load Store Extension)",
1760
+ .dependencies = featureSet(&[_]Feature{}),
1761
+ };
1762
+ result[@intFromEnum(Feature.xqcisync)] = .{
1763
+ .llvm_name = "xqcisync",
1764
+ .description = "'Xqcisync' (Qualcomm uC Sync Delay Extension)",
1765
+ .dependencies = featureSet(&[_]Feature{
1766
+ .zca,
1767
+ }),
1768
+ };
1597
1769
  result[@intFromEnum(Feature.xsfcease)] = .{
1598
1770
  .llvm_name = "xsfcease",
1599
1771
  .description = "'XSfcease' (SiFive sf.cease Instruction)",
@@ -1684,6 +1856,40 @@ pub const all_features = blk: {
1684
1856
  .zve32x,
1685
1857
  }),
1686
1858
  };
1859
+ result[@intFromEnum(Feature.xsfvfbfexp16e)] = .{
1860
+ .llvm_name = "xsfvfbfexp16e",
1861
+ .description = "'XSfvfbfexp16e' (SiFive Vector Floating-Point Exponential Function Instruction, BFloat16)",
1862
+ .dependencies = featureSet(&[_]Feature{}),
1863
+ };
1864
+ result[@intFromEnum(Feature.xsfvfexp16e)] = .{
1865
+ .llvm_name = "xsfvfexp16e",
1866
+ .description = "'XSfvfexp16e' (SiFive Vector Floating-Point Exponential Function Instruction, Half Precision)",
1867
+ .dependencies = featureSet(&[_]Feature{
1868
+ .zvfh,
1869
+ }),
1870
+ };
1871
+ result[@intFromEnum(Feature.xsfvfexp32e)] = .{
1872
+ .llvm_name = "xsfvfexp32e",
1873
+ .description = "'XSfvfexp32e' (SiFive Vector Floating-Point Exponential Function Instruction, Single Precision)",
1874
+ .dependencies = featureSet(&[_]Feature{
1875
+ .zve32f,
1876
+ }),
1877
+ };
1878
+ result[@intFromEnum(Feature.xsfvfexpa)] = .{
1879
+ .llvm_name = "xsfvfexpa",
1880
+ .description = "'XSfvfexpa' (SiFive Vector Floating-Point Exponential Approximation Instruction)",
1881
+ .dependencies = featureSet(&[_]Feature{
1882
+ .zve32f,
1883
+ }),
1884
+ };
1885
+ result[@intFromEnum(Feature.xsfvfexpa64e)] = .{
1886
+ .llvm_name = "xsfvfexpa64e",
1887
+ .description = "'XSfvfexpa64e' (SiFive Vector Floating-Point Exponential Approximation Instruction with Double-Precision)",
1888
+ .dependencies = featureSet(&[_]Feature{
1889
+ .xsfvfexpa,
1890
+ .zve64d,
1891
+ }),
1892
+ };
1687
1893
  result[@intFromEnum(Feature.xsfvfnrclipxfqf)] = .{
1688
1894
  .llvm_name = "xsfvfnrclipxfqf",
1689
1895
  .description = "'XSfvfnrclipxfqf' (SiFive FP32-to-int8 Ranged Clip Instructions)",
@@ -1696,6 +1902,7 @@ pub const all_features = blk: {
1696
1902
  .description = "'XSfvfwmaccqqq' (SiFive Matrix Multiply Accumulate Instruction (4-by-4))",
1697
1903
  .dependencies = featureSet(&[_]Feature{
1698
1904
  .zvfbfmin,
1905
+ .zvl128b,
1699
1906
  }),
1700
1907
  };
1701
1908
  result[@intFromEnum(Feature.xsfvqmaccdod)] = .{
@@ -1703,6 +1910,7 @@ pub const all_features = blk: {
1703
1910
  .description = "'XSfvqmaccdod' (SiFive Int8 Matrix Multiplication Instructions (2-by-8 and 8-by-2))",
1704
1911
  .dependencies = featureSet(&[_]Feature{
1705
1912
  .zve32x,
1913
+ .zvl128b,
1706
1914
  }),
1707
1915
  };
1708
1916
  result[@intFromEnum(Feature.xsfvqmaccqoq)] = .{
@@ -1710,6 +1918,7 @@ pub const all_features = blk: {
1710
1918
  .description = "'XSfvqmaccqoq' (SiFive Int8 Matrix Multiplication Instructions (4-by-8 and 8-by-4))",
1711
1919
  .dependencies = featureSet(&[_]Feature{
1712
1920
  .zve32x,
1921
+ .zvl256b,
1713
1922
  }),
1714
1923
  };
1715
1924
  result[@intFromEnum(Feature.xsifivecdiscarddlone)] = .{
@@ -1722,6 +1931,13 @@ pub const all_features = blk: {
1722
1931
  .description = "'XSiFivecflushdlone' (SiFive sf.cflush.d.l1 Instruction)",
1723
1932
  .dependencies = featureSet(&[_]Feature{}),
1724
1933
  };
1934
+ result[@intFromEnum(Feature.xsmtvdot)] = .{
1935
+ .llvm_name = "xsmtvdot",
1936
+ .description = "'XSMTVDot' (SpacemiT Vector Dot Product Extension)",
1937
+ .dependencies = featureSet(&[_]Feature{
1938
+ .zve32f,
1939
+ }),
1940
+ };
1725
1941
  result[@intFromEnum(Feature.xtheadba)] = .{
1726
1942
  .llvm_name = "xtheadba",
1727
1943
  .description = "'XTHeadBa' (T-Head address calculation instructions)",
@@ -1820,6 +2036,11 @@ pub const all_features = blk: {
1820
2036
  .zaamo,
1821
2037
  }),
1822
2038
  };
2039
+ result[@intFromEnum(Feature.zalasr)] = .{
2040
+ .llvm_name = "zalasr",
2041
+ .description = "'Zalasr' (Load-Acquire and Store-Release Instructions)",
2042
+ .dependencies = featureSet(&[_]Feature{}),
2043
+ };
1823
2044
  result[@intFromEnum(Feature.zalrsc)] = .{
1824
2045
  .llvm_name = "zalrsc",
1825
2046
  .description = "'Zalrsc' (Load-Reserved/Store-Conditional)",
@@ -2092,6 +2313,11 @@ pub const all_features = blk: {
2092
2313
  .description = "'Zilsd' (Load/Store Pair Instructions)",
2093
2314
  .dependencies = featureSet(&[_]Feature{}),
2094
2315
  };
2316
+ result[@intFromEnum(Feature.zilsd_4byte_align)] = .{
2317
+ .llvm_name = "zilsd-4byte-align",
2318
+ .description = "Allow 4-byte alignment for Zilsd LD/SD instructions",
2319
+ .dependencies = featureSet(&[_]Feature{}),
2320
+ };
2095
2321
  result[@intFromEnum(Feature.zimop)] = .{
2096
2322
  .llvm_name = "zimop",
2097
2323
  .description = "'Zimop' (May-Be-Operations)",
@@ -2461,7 +2687,7 @@ pub const cpu = struct {
2461
2687
  .features = featureSet(&[_]Feature{
2462
2688
  .andes45,
2463
2689
  .no_default_unroll,
2464
- .short_forward_branch_opt,
2690
+ .short_forward_branch_ialu,
2465
2691
  .use_postra_scheduler,
2466
2692
  }),
2467
2693
  };
@@ -2491,7 +2717,7 @@ pub const cpu = struct {
2491
2717
  .i,
2492
2718
  .m,
2493
2719
  .no_default_unroll,
2494
- .short_forward_branch_opt,
2720
+ .short_forward_branch_ialu,
2495
2721
  .use_postra_scheduler,
2496
2722
  .xandesperf,
2497
2723
  .zifencei,
@@ -2523,7 +2749,7 @@ pub const cpu = struct {
2523
2749
  .i,
2524
2750
  .m,
2525
2751
  .no_default_unroll,
2526
- .short_forward_branch_opt,
2752
+ .short_forward_branch_ialu,
2527
2753
  .use_postra_scheduler,
2528
2754
  .xandesperf,
2529
2755
  .zifencei,
@@ -2540,7 +2766,7 @@ pub const cpu = struct {
2540
2766
  .i,
2541
2767
  .m,
2542
2768
  .no_default_unroll,
2543
- .short_forward_branch_opt,
2769
+ .short_forward_branch_ialu,
2544
2770
  .use_postra_scheduler,
2545
2771
  .v,
2546
2772
  .xandesperf,
@@ -2559,7 +2785,7 @@ pub const cpu = struct {
2559
2785
  .i,
2560
2786
  .m,
2561
2787
  .no_default_unroll,
2562
- .short_forward_branch_opt,
2788
+ .short_forward_branch_ialu,
2563
2789
  .use_postra_scheduler,
2564
2790
  .xandesperf,
2565
2791
  .zifencei,
@@ -2577,7 +2803,7 @@ pub const cpu = struct {
2577
2803
  .i,
2578
2804
  .m,
2579
2805
  .no_default_unroll,
2580
- .short_forward_branch_opt,
2806
+ .short_forward_branch_ialu,
2581
2807
  .use_postra_scheduler,
2582
2808
  .xandesperf,
2583
2809
  .zifencei,
@@ -2648,6 +2874,7 @@ pub const cpu = struct {
2648
2874
  .mips_p8700,
2649
2875
  .xmipscbop,
2650
2876
  .xmipscmov,
2877
+ .xmipsexectl,
2651
2878
  .xmipslsp,
2652
2879
  .zba,
2653
2880
  .zbb,
@@ -2703,7 +2930,7 @@ pub const cpu = struct {
2703
2930
  .llvm_name = "sifive-7-series",
2704
2931
  .features = featureSet(&[_]Feature{
2705
2932
  .no_default_unroll,
2706
- .short_forward_branch_opt,
2933
+ .short_forward_branch_ialu,
2707
2934
  .use_postra_scheduler,
2708
2935
  }),
2709
2936
  };
@@ -2782,7 +3009,7 @@ pub const cpu = struct {
2782
3009
  .i,
2783
3010
  .m,
2784
3011
  .no_default_unroll,
2785
- .short_forward_branch_opt,
3012
+ .short_forward_branch_ialu,
2786
3013
  .use_postra_scheduler,
2787
3014
  .zifencei,
2788
3015
  }),
@@ -2815,7 +3042,6 @@ pub const cpu = struct {
2815
3042
  .ziccif,
2816
3043
  .zicclsm,
2817
3044
  .ziccrse,
2818
- .zicntr,
2819
3045
  .zifencei,
2820
3046
  .zihintntl,
2821
3047
  .zihintpause,
@@ -2855,7 +3081,6 @@ pub const cpu = struct {
2855
3081
  .ziccif,
2856
3082
  .zicclsm,
2857
3083
  .ziccrse,
2858
- .zicntr,
2859
3084
  .zifencei,
2860
3085
  .zihintntl,
2861
3086
  .zihintpause,
@@ -2918,7 +3143,6 @@ pub const cpu = struct {
2918
3143
  .ziccif,
2919
3144
  .zicclsm,
2920
3145
  .ziccrse,
2921
- .zicntr,
2922
3146
  .zifencei,
2923
3147
  .zihintntl,
2924
3148
  .zihintpause,
@@ -3035,7 +3259,7 @@ pub const cpu = struct {
3035
3259
  .i,
3036
3260
  .m,
3037
3261
  .no_default_unroll,
3038
- .short_forward_branch_opt,
3262
+ .short_forward_branch_ialu,
3039
3263
  .use_postra_scheduler,
3040
3264
  .zifencei,
3041
3265
  .zihintpause,
@@ -3065,7 +3289,7 @@ pub const cpu = struct {
3065
3289
  .i,
3066
3290
  .m,
3067
3291
  .no_default_unroll,
3068
- .short_forward_branch_opt,
3292
+ .short_forward_branch_ialu,
3069
3293
  .use_postra_scheduler,
3070
3294
  .zifencei,
3071
3295
  }),
@@ -3083,7 +3307,7 @@ pub const cpu = struct {
3083
3307
  .no_default_unroll,
3084
3308
  .optimized_nf2_segment_load_store,
3085
3309
  .optimized_zero_stride_load,
3086
- .short_forward_branch_opt,
3310
+ .short_forward_branch_ialu,
3087
3311
  .use_postra_scheduler,
3088
3312
  .v,
3089
3313
  .vl_dependent_latency,
@@ -3111,7 +3335,8 @@ pub const cpu = struct {
3111
3335
  .no_default_unroll,
3112
3336
  .optimized_nf2_segment_load_store,
3113
3337
  .optimized_zero_stride_load,
3114
- .short_forward_branch_opt,
3338
+ .short_forward_branch_ialu,
3339
+ .single_element_vec_fp64,
3115
3340
  .use_postra_scheduler,
3116
3341
  .v,
3117
3342
  .vl_dependent_latency,
@@ -3173,6 +3398,7 @@ pub const cpu = struct {
3173
3398
  .unaligned_scalar_mem,
3174
3399
  .v,
3175
3400
  .vxrm_pipeline_flush,
3401
+ .xsmtvdot,
3176
3402
  .za64rs,
3177
3403
  .zbc,
3178
3404
  .zbkc,
@@ -3341,6 +3567,13 @@ pub const cpu = struct {
3341
3567
  .log_vrgather,
3342
3568
  .m,
3343
3569
  .no_default_unroll,
3570
+ .optimized_nf2_segment_load_store,
3571
+ .optimized_nf3_segment_load_store,
3572
+ .optimized_nf4_segment_load_store,
3573
+ .optimized_nf5_segment_load_store,
3574
+ .optimized_nf6_segment_load_store,
3575
+ .optimized_nf7_segment_load_store,
3576
+ .optimized_nf8_segment_load_store,
3344
3577
  .optimized_zero_stride_load,
3345
3578
  .sha,
3346
3579
  .smaia,
@@ -3400,12 +3633,17 @@ pub const cpu = struct {
3400
3633
  .features = featureSet(&[_]Feature{
3401
3634
  .@"64bit",
3402
3635
  .a,
3636
+ .add_load_fusion,
3403
3637
  .auipc_addi_fusion,
3638
+ .auipc_load_fusion,
3404
3639
  .c,
3405
3640
  .d,
3641
+ .disable_misched_load_clustering,
3642
+ .disable_postmisched_load_clustering,
3643
+ .disable_postmisched_store_clustering,
3406
3644
  .i,
3407
- .ld_add_fusion,
3408
3645
  .lui_addi_fusion,
3646
+ .lui_load_fusion,
3409
3647
  .m,
3410
3648
  .shifted_zextw_fusion,
3411
3649
  .ventana_veyron,