@zigc/lib 0.17.0-dev.27 → 0.17.0-dev.296

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 (1103) hide show
  1. package/c/fcntl.zig +6 -1
  2. package/c/inttypes.zig +0 -10
  3. package/c/math.zig +52 -112
  4. package/c/pthread.zig +57 -0
  5. package/c/search.zig +1 -27
  6. package/c/stdlib/drand48.zig +0 -57
  7. package/c/stdlib.zig +31 -121
  8. package/c/string.zig +20 -7
  9. package/c/strings.zig +0 -38
  10. package/c/unistd.zig +27 -26
  11. package/c/wchar.zig +10 -0
  12. package/c.zig +2 -2
  13. package/compiler/aro/aro/CodeGen.zig +7 -8
  14. package/compiler/aro/aro/Compilation.zig +17 -17
  15. package/compiler/aro/aro/Driver.zig +14 -13
  16. package/compiler/aro/aro/Parser.zig +20 -15
  17. package/compiler/aro/aro/Pragma.zig +3 -2
  18. package/compiler/aro/aro/Preprocessor.zig +9 -6
  19. package/compiler/aro/aro/pragmas/message.zig +3 -2
  20. package/compiler/aro/aro/text_literal.zig +3 -2
  21. package/compiler/aro/assembly_backend/x86_64.zig +4 -4
  22. package/compiler/build_runner.zig +2 -4
  23. package/compiler/reduce/Walk.zig +8 -13
  24. package/compiler/resinator/compile.zig +1 -1
  25. package/compiler/resinator/cvtres.zig +4 -4
  26. package/compiler/resinator/errors.zig +7 -7
  27. package/compiler/resinator/ico.zig +4 -4
  28. package/compiler/resinator/parse.zig +2 -2
  29. package/compiler/resinator/res.zig +1 -1
  30. package/compiler/std-docs.zig +1 -1
  31. package/compiler/test_runner.zig +1 -1
  32. package/compiler/translate-c/MacroTranslator.zig +1 -1
  33. package/compiler/translate-c/Translator.zig +6 -2
  34. package/compiler/translate-c/ast.zig +16 -23
  35. package/compiler/translate-c/main.zig +1 -1
  36. package/compiler_rt/addf3.zig +1 -1
  37. package/compiler_rt/arm.zig +3 -3
  38. package/compiler_rt/atomics.zig +1 -1
  39. package/compiler_rt/comparef.zig +3 -3
  40. package/compiler_rt/cos.zig +1 -3
  41. package/compiler_rt/count0bits.zig +1 -1
  42. package/compiler_rt/divdf3.zig +2 -2
  43. package/compiler_rt/divsf3.zig +1 -1
  44. package/compiler_rt/divtf3.zig +1 -1
  45. package/compiler_rt/divxf3.zig +1 -1
  46. package/compiler_rt/exp.zig +0 -2
  47. package/compiler_rt/exp2.zig +0 -2
  48. package/compiler_rt/extendf.zig +5 -5
  49. package/compiler_rt/fabs.zig +1 -3
  50. package/compiler_rt/float_from_int.zig +3 -4
  51. package/compiler_rt/fma.zig +0 -2
  52. package/compiler_rt/fmax.zig +1 -3
  53. package/compiler_rt/fmin.zig +1 -3
  54. package/compiler_rt/fmod.zig +2 -4
  55. package/compiler_rt/limb64.zig +3 -2
  56. package/compiler_rt/log.zig +0 -2
  57. package/compiler_rt/log10.zig +0 -2
  58. package/compiler_rt/log2.zig +0 -2
  59. package/compiler_rt/mulf3.zig +2 -2
  60. package/compiler_rt/rem_pio2l.zig +1 -1
  61. package/compiler_rt/round.zig +0 -2
  62. package/compiler_rt/sin.zig +1 -3
  63. package/compiler_rt/sincos.zig +1 -3
  64. package/compiler_rt/sqrt.zig +0 -2
  65. package/compiler_rt/ssp.zig +2 -2
  66. package/compiler_rt/tan.zig +1 -3
  67. package/compiler_rt/trunc.zig +0 -2
  68. package/compiler_rt/truncf.zig +3 -3
  69. package/compiler_rt/trunctfhf2.zig +3 -0
  70. package/compiler_rt.zig +5 -26
  71. package/docs/wasm/Walk.zig +1 -3
  72. package/docs/wasm/html_render.zig +1 -2
  73. package/docs/wasm/markdown/Parser.zig +16 -20
  74. package/fuzzer.zig +2 -0
  75. package/include/__clang_spirv_builtins.h +12 -12
  76. package/include/__float_float.h +176 -0
  77. package/include/__float_header_macro.h +12 -0
  78. package/include/__float_infinity_nan.h +20 -0
  79. package/include/amo.h +131 -0
  80. package/include/amxavx512intrin.h +215 -1
  81. package/include/amxintrin.h +0 -2
  82. package/include/arm_acle.h +37 -27
  83. package/include/arm_neon.h +218 -82
  84. package/include/arm_sme.h +8 -8
  85. package/include/arm_sve.h +4162 -3782
  86. package/include/avx10_2_512bf16intrin.h +19 -12
  87. package/include/avx10_2_512convertintrin.h +1 -1
  88. package/include/avx10_2_512niintrin.h +31 -31
  89. package/include/avx10_2_512satcvtdsintrin.h +1 -1
  90. package/include/avx10_2bf16intrin.h +54 -45
  91. package/include/avx10_2convertintrin.h +2 -2
  92. package/include/avx10_2copyintrin.h +1 -1
  93. package/include/avx10_2niintrin.h +14 -14
  94. package/include/avx10_2satcvtdsintrin.h +2 -2
  95. package/include/avx2intrin.h +275 -377
  96. package/include/avx512bf16intrin.h +25 -16
  97. package/include/avx512bitalgintrin.h +19 -30
  98. package/include/avx512bwintrin.h +386 -505
  99. package/include/avx512cdintrin.h +42 -55
  100. package/include/avx512dqintrin.h +132 -161
  101. package/include/avx512fintrin.h +1015 -1424
  102. package/include/avx512fp16intrin.h +112 -110
  103. package/include/avx512ifmaintrin.h +32 -34
  104. package/include/avx512ifmavlintrin.h +73 -46
  105. package/include/avx512vbmi2intrin.h +43 -32
  106. package/include/avx512vbmiintrin.h +19 -27
  107. package/include/avx512vbmivlintrin.h +35 -49
  108. package/include/avx512vlbf16intrin.h +32 -22
  109. package/include/avx512vlbitalgintrin.h +37 -53
  110. package/include/avx512vlbwintrin.h +470 -573
  111. package/include/avx512vlcdintrin.h +74 -102
  112. package/include/avx512vldqintrin.h +110 -127
  113. package/include/avx512vlfp16intrin.h +130 -111
  114. package/include/avx512vlintrin.h +945 -1299
  115. package/include/avx512vlvbmi2intrin.h +78 -63
  116. package/include/avx512vlvnniintrin.h +21 -18
  117. package/include/avx512vlvp2intersectintrin.h +2 -2
  118. package/include/avx512vnniintrin.h +10 -10
  119. package/include/avx512vp2intersectintrin.h +1 -2
  120. package/include/avx512vpopcntdqintrin.h +8 -10
  121. package/include/avx512vpopcntdqvlintrin.h +17 -15
  122. package/include/avxifmaintrin.h +16 -0
  123. package/include/avxintrin.h +165 -241
  124. package/include/avxvnniint16intrin.h +118 -99
  125. package/include/avxvnniint8intrin.h +56 -32
  126. package/include/avxvnniintrin.h +16 -8
  127. package/include/cpuid.h +101 -4
  128. package/include/emmintrin.h +168 -168
  129. package/include/f16cintrin.h +23 -9
  130. package/include/float.h +16 -155
  131. package/include/fma4intrin.h +98 -96
  132. package/include/fmaintrin.h +96 -66
  133. package/include/gfniintrin.h +21 -16
  134. package/include/hexagon_types.h +23 -20
  135. package/include/hvx_hexagon_protos.h +649 -860
  136. package/include/immintrin.h +0 -12
  137. package/include/intrin.h +4 -0
  138. package/include/lasxintrin.h +113 -0
  139. package/include/llvm_libc_wrappers/assert.h +3 -5
  140. package/include/llvm_libc_wrappers/ctype.h +3 -115
  141. package/include/llvm_libc_wrappers/inttypes.h +3 -5
  142. package/include/llvm_libc_wrappers/stdio.h +10 -38
  143. package/include/llvm_libc_wrappers/stdlib.h +3 -24
  144. package/include/llvm_libc_wrappers/string.h +2 -70
  145. package/include/llvm_libc_wrappers/time.h +4 -10
  146. package/include/mmintrin.h +188 -257
  147. package/include/module.modulemap +23 -4
  148. package/include/movrs_avx10_2_512intrin.h +2 -2
  149. package/include/movrs_avx10_2intrin.h +4 -4
  150. package/include/pmmintrin.h +12 -24
  151. package/include/ptrauth.h +16 -2
  152. package/include/riscv_mips.h +34 -0
  153. package/include/riscv_nds.h +89 -0
  154. package/include/sifive_vector.h +58 -2
  155. package/include/sm4evexintrin.h +2 -2
  156. package/include/smmintrin.h +77 -59
  157. package/include/spirvintrin.h +194 -0
  158. package/include/stddefer.h +19 -0
  159. package/include/tmmintrin.h +116 -147
  160. package/include/vaesintrin.h +1 -2
  161. package/include/xmmintrin.h +44 -70
  162. package/include/xopintrin.h +20 -10
  163. package/libc/include/aarch64-linux-any/asm/hwcap.h +1 -0
  164. package/libc/include/aarch64-linux-any/asm/unistd_64.h +1 -0
  165. package/libc/include/any-linux-any/asm-generic/errno.h +2 -0
  166. package/libc/include/any-linux-any/asm-generic/unistd.h +4 -1
  167. package/libc/include/any-linux-any/drm/amdgpu_drm.h +20 -6
  168. package/libc/include/any-linux-any/drm/amdxdna_accel.h +8 -0
  169. package/libc/include/any-linux-any/drm/drm_fourcc.h +6 -6
  170. package/libc/include/any-linux-any/drm/panfrost_drm.h +75 -1
  171. package/libc/include/any-linux-any/drm/panthor_drm.h +154 -3
  172. package/libc/include/any-linux-any/drm/rocket_accel.h +74 -24
  173. package/libc/include/any-linux-any/drm/xe_drm.h +89 -6
  174. package/libc/include/any-linux-any/linux/android/binder.h +1 -1
  175. package/libc/include/any-linux-any/linux/bpf.h +28 -0
  176. package/libc/include/any-linux-any/linux/btrfs.h +1 -0
  177. package/libc/include/any-linux-any/linux/btrfs_tree.h +32 -2
  178. package/libc/include/any-linux-any/linux/dma-buf.h +1 -0
  179. package/libc/include/any-linux-any/linux/dpll.h +1 -0
  180. package/libc/include/any-linux-any/linux/elf.h +2 -0
  181. package/libc/include/any-linux-any/linux/ethtool.h +21 -5
  182. package/libc/include/any-linux-any/linux/fs.h +1 -0
  183. package/libc/include/any-linux-any/linux/hyperv.h +1 -1
  184. package/libc/include/any-linux-any/linux/idxd.h +134 -134
  185. package/libc/include/any-linux-any/linux/if_alg.h +1 -1
  186. package/libc/include/any-linux-any/linux/if_link.h +1 -0
  187. package/libc/include/any-linux-any/linux/input-event-codes.h +4 -0
  188. package/libc/include/any-linux-any/linux/io_uring/bpf_filter.h +68 -0
  189. package/libc/include/any-linux-any/linux/io_uring/query.h +5 -1
  190. package/libc/include/any-linux-any/linux/io_uring.h +33 -2
  191. package/libc/include/any-linux-any/linux/iommufd.h +39 -0
  192. package/libc/include/any-linux-any/linux/kfd_ioctl.h +13 -3
  193. package/libc/include/any-linux-any/linux/kfd_sysfs.h +2 -1
  194. package/libc/include/any-linux-any/linux/kvm.h +30 -6
  195. package/libc/include/any-linux-any/linux/landlock.h +22 -8
  196. package/libc/include/any-linux-any/linux/magic.h +1 -0
  197. package/libc/include/any-linux-any/linux/mempolicy.h +3 -0
  198. package/libc/include/any-linux-any/linux/mount.h +11 -2
  199. package/libc/include/any-linux-any/linux/mptcp_pm.h +1 -1
  200. package/libc/include/any-linux-any/linux/mshv.h +2 -0
  201. package/libc/include/any-linux-any/linux/netfilter_bridge.h +5 -4
  202. package/libc/include/any-linux-any/linux/netfilter_ipv4.h +4 -5
  203. package/libc/include/any-linux-any/linux/netfilter_ipv6.h +3 -4
  204. package/libc/include/any-linux-any/linux/nfs.h +1 -1
  205. package/libc/include/any-linux-any/linux/nfsd_netlink.h +1 -0
  206. package/libc/include/any-linux-any/linux/nilfs2_api.h +2 -2
  207. package/libc/include/any-linux-any/linux/nilfs2_ondisk.h +97 -66
  208. package/libc/include/any-linux-any/linux/nl80211.h +104 -3
  209. package/libc/include/any-linux-any/linux/pci.h +7 -0
  210. package/libc/include/any-linux-any/linux/pci_regs.h +65 -6
  211. package/libc/include/any-linux-any/linux/pcitest.h +1 -0
  212. package/libc/include/any-linux-any/linux/perf_event.h +24 -3
  213. package/libc/include/any-linux-any/linux/pkt_sched.h +1 -0
  214. package/libc/include/any-linux-any/linux/prctl.h +30 -0
  215. package/libc/include/any-linux-any/linux/rseq.h +62 -5
  216. package/libc/include/any-linux-any/linux/shm.h +0 -1
  217. package/libc/include/any-linux-any/linux/stddef.h +4 -0
  218. package/libc/include/any-linux-any/linux/sysctl.h +1 -2
  219. package/libc/include/any-linux-any/linux/taskstats.h +12 -1
  220. package/libc/include/any-linux-any/linux/tcp.h +23 -3
  221. package/libc/include/any-linux-any/linux/typelimits.h +8 -0
  222. package/libc/include/any-linux-any/linux/ublk_cmd.h +120 -1
  223. package/libc/include/any-linux-any/linux/v4l2-controls.h +63 -0
  224. package/libc/include/any-linux-any/linux/vbox_vmmdev_types.h +2 -2
  225. package/libc/include/any-linux-any/linux/vduse.h +80 -5
  226. package/libc/include/any-linux-any/linux/version.h +3 -3
  227. package/libc/include/any-linux-any/linux/vfio.h +4 -0
  228. package/libc/include/any-linux-any/linux/videodev2.h +3 -0
  229. package/libc/include/any-linux-any/linux/virtio_ring.h +1 -2
  230. package/libc/include/any-linux-any/linux/vmclock-abi.h +20 -0
  231. package/libc/include/any-linux-any/rdma/bnxt_re-abi.h +16 -0
  232. package/libc/include/any-linux-any/rdma/ib_user_ioctl_cmds.h +16 -0
  233. package/libc/include/any-linux-any/rdma/mana-abi.h +3 -0
  234. package/libc/include/any-linux-any/scsi/scsi_bsg_ufs.h +8 -9
  235. package/libc/include/any-linux-any/sound/sof/tokens.h +6 -0
  236. package/libc/include/arc-linux-any/asm/swab.h +0 -63
  237. package/libc/include/arc-linux-any/asm/unistd_32.h +1 -0
  238. package/libc/include/arm-linux-any/asm/ptrace.h +0 -9
  239. package/libc/include/arm-linux-any/asm/unistd-eabi.h +1 -0
  240. package/libc/include/arm-linux-any/asm/unistd-oabi.h +1 -0
  241. package/libc/include/csky-linux-any/asm/unistd_32.h +1 -0
  242. package/libc/include/hexagon-linux-any/asm/unistd_32.h +1 -0
  243. package/libc/include/loongarch-linux-any/asm/hwcap.h +1 -0
  244. package/libc/include/loongarch-linux-any/asm/kvm.h +1 -0
  245. package/libc/include/loongarch-linux-any/asm/kvm_para.h +1 -0
  246. package/libc/include/loongarch-linux-any/asm/unistd_32.h +2 -0
  247. package/libc/include/loongarch-linux-any/asm/unistd_64.h +2 -0
  248. package/libc/include/m68k-linux-any/asm/unistd_32.h +1 -0
  249. package/libc/include/mips-linux-any/asm/errno.h +2 -0
  250. package/libc/include/mips-linux-any/asm/unistd_n32.h +1 -0
  251. package/libc/include/mips-linux-any/asm/unistd_n64.h +1 -0
  252. package/libc/include/mips-linux-any/asm/unistd_o32.h +1 -0
  253. package/libc/include/powerpc-linux-any/asm/unistd_32.h +1 -0
  254. package/libc/include/powerpc-linux-any/asm/unistd_64.h +1 -0
  255. package/libc/include/riscv-linux-any/asm/hwprobe.h +4 -0
  256. package/libc/include/riscv-linux-any/asm/kvm.h +3 -0
  257. package/libc/include/riscv-linux-any/asm/ptrace.h +37 -0
  258. package/libc/include/riscv-linux-any/asm/sigcontext.h +1 -0
  259. package/libc/include/riscv-linux-any/asm/unistd_32.h +1 -0
  260. package/libc/include/riscv-linux-any/asm/unistd_64.h +1 -0
  261. package/libc/include/s390x-linux-any/asm/unistd_64.h +1 -0
  262. package/libc/include/sparc-linux-any/asm/errno.h +2 -0
  263. package/libc/include/sparc-linux-any/asm/ioctls.h +4 -4
  264. package/libc/include/sparc-linux-any/asm/unistd_32.h +2 -0
  265. package/libc/include/sparc-linux-any/asm/unistd_64.h +2 -0
  266. package/libc/include/x86-linux-any/asm/auxvec.h +0 -4
  267. package/libc/include/x86-linux-any/asm/kvm.h +13 -8
  268. package/libc/include/x86-linux-any/asm/svm.h +16 -16
  269. package/libc/include/x86-linux-any/asm/unistd_32.h +1 -0
  270. package/libc/include/x86-linux-any/asm/unistd_64.h +1 -0
  271. package/libc/include/x86-linux-any/asm/unistd_x32.h +1 -0
  272. package/libc/include/xtensa-linux-any/asm/unistd_32.h +1 -0
  273. package/libc/musl/arch/mipsn32/syscall_arch.h +35 -32
  274. package/libcxx/include/__algorithm/all_of.h +11 -5
  275. package/libcxx/include/__algorithm/comp.h +4 -0
  276. package/libcxx/include/__algorithm/copy.h +28 -147
  277. package/libcxx/include/__algorithm/copy_backward.h +9 -24
  278. package/libcxx/include/__algorithm/copy_n.h +50 -16
  279. package/libcxx/include/__algorithm/count.h +2 -2
  280. package/libcxx/include/__algorithm/equal.h +43 -55
  281. package/libcxx/include/__algorithm/fill.h +26 -8
  282. package/libcxx/include/__algorithm/fill_n.h +32 -46
  283. package/libcxx/include/__algorithm/find.h +96 -39
  284. package/libcxx/include/__algorithm/find_end.h +105 -0
  285. package/libcxx/include/__algorithm/for_each.h +18 -24
  286. package/libcxx/include/__algorithm/for_each_n.h +20 -47
  287. package/libcxx/include/__algorithm/for_each_n_segment.h +1 -1
  288. package/libcxx/include/__algorithm/for_each_segment.h +26 -0
  289. package/libcxx/include/__algorithm/generate.h +4 -2
  290. package/libcxx/include/__algorithm/generate_n.h +19 -6
  291. package/libcxx/include/__algorithm/is_permutation.h +4 -4
  292. package/libcxx/include/__algorithm/iterator_operations.h +3 -0
  293. package/libcxx/include/__algorithm/lexicographical_compare.h +2 -2
  294. package/libcxx/include/__algorithm/lexicographical_compare_three_way.h +6 -6
  295. package/libcxx/include/__algorithm/make_heap.h +16 -4
  296. package/libcxx/include/__algorithm/mismatch.h +2 -2
  297. package/libcxx/include/__algorithm/move.h +8 -19
  298. package/libcxx/include/__algorithm/move_backward.h +9 -24
  299. package/libcxx/include/__algorithm/none_of.h +4 -4
  300. package/libcxx/include/__algorithm/partial_sort.h +1 -1
  301. package/libcxx/include/__algorithm/partial_sort_copy.h +1 -1
  302. package/libcxx/include/__algorithm/pstl.h +9 -9
  303. package/libcxx/include/__algorithm/radix_sort.h +27 -25
  304. package/libcxx/include/__algorithm/ranges_copy_n.h +3 -26
  305. package/libcxx/include/__algorithm/ranges_equal.h +17 -26
  306. package/libcxx/include/__algorithm/ranges_fill.h +7 -6
  307. package/libcxx/include/__algorithm/ranges_for_each.h +9 -1
  308. package/libcxx/include/__algorithm/ranges_generate_n.h +2 -6
  309. package/libcxx/include/__algorithm/ranges_search_n.h +2 -2
  310. package/libcxx/include/__algorithm/rotate.h +27 -44
  311. package/libcxx/include/__algorithm/search_n.h +49 -37
  312. package/libcxx/include/__algorithm/sift_down.h +19 -18
  313. package/libcxx/include/__algorithm/simd_utils.h +33 -4
  314. package/libcxx/include/__algorithm/specialized_algorithms.h +54 -0
  315. package/libcxx/include/__algorithm/stable_sort.h +1 -1
  316. package/libcxx/include/__assertion_handler +31 -4
  317. package/libcxx/include/__atomic/atomic.h +36 -60
  318. package/libcxx/include/__atomic/atomic_flag.h +19 -37
  319. package/libcxx/include/__atomic/atomic_ref.h +29 -12
  320. package/libcxx/include/__atomic/atomic_sync.h +127 -55
  321. package/libcxx/include/__atomic/atomic_sync_timed.h +144 -0
  322. package/libcxx/include/__atomic/atomic_waitable_traits.h +103 -0
  323. package/libcxx/include/__atomic/contention_t.h +27 -3
  324. package/libcxx/include/__atomic/floating_point_helper.h +55 -0
  325. package/libcxx/include/__bit/countl.h +1 -2
  326. package/libcxx/include/__bit/countr.h +1 -2
  327. package/libcxx/include/__bit/has_single_bit.h +1 -1
  328. package/libcxx/include/__bit/popcount.h +0 -1
  329. package/libcxx/include/__bit/rotate.h +15 -26
  330. package/libcxx/include/__bit_reference +207 -18
  331. package/libcxx/include/__charconv/from_chars_integral.h +1 -1
  332. package/libcxx/include/__charconv/from_chars_result.h +1 -1
  333. package/libcxx/include/__charconv/to_chars_integral.h +1 -0
  334. package/libcxx/include/__charconv/to_chars_result.h +1 -1
  335. package/libcxx/include/__charconv/traits.h +3 -24
  336. package/libcxx/include/__chrono/day.h +11 -0
  337. package/libcxx/include/__chrono/duration.h +58 -33
  338. package/libcxx/include/__chrono/file_clock.h +4 -2
  339. package/libcxx/include/__chrono/is_clock.h +72 -0
  340. package/libcxx/include/__chrono/leap_second.h +13 -0
  341. package/libcxx/include/__chrono/month.h +13 -0
  342. package/libcxx/include/__chrono/month_weekday.h +22 -0
  343. package/libcxx/include/__chrono/monthday.h +20 -0
  344. package/libcxx/include/__chrono/steady_clock.h +1 -1
  345. package/libcxx/include/__chrono/system_clock.h +3 -3
  346. package/libcxx/include/__chrono/time_point.h +37 -13
  347. package/libcxx/include/__chrono/weekday.h +25 -0
  348. package/libcxx/include/__chrono/year.h +11 -0
  349. package/libcxx/include/__chrono/year_month.h +13 -0
  350. package/libcxx/include/__chrono/year_month_day.h +23 -0
  351. package/libcxx/include/__chrono/year_month_weekday.h +26 -0
  352. package/libcxx/include/__chrono/zoned_time.h +16 -0
  353. package/libcxx/include/__compare/is_eq.h +6 -6
  354. package/libcxx/include/__compare/strong_order.h +12 -30
  355. package/libcxx/include/__compare/three_way_comparable.h +2 -2
  356. package/libcxx/include/__concepts/comparison_common_type.h +40 -0
  357. package/libcxx/include/__concepts/equality_comparable.h +2 -1
  358. package/libcxx/include/__condition_variable/condition_variable.h +1 -1
  359. package/libcxx/include/__config +63 -280
  360. package/libcxx/include/__configuration/abi.h +14 -24
  361. package/libcxx/include/__configuration/availability.h +65 -118
  362. package/libcxx/include/__configuration/compiler.h +6 -6
  363. package/libcxx/include/__configuration/experimental.h +38 -0
  364. package/libcxx/include/__configuration/hardening.h +215 -0
  365. package/libcxx/include/__configuration/language.h +3 -0
  366. package/libcxx/include/__configuration/platform.h +9 -16
  367. package/libcxx/include/__coroutine/coroutine_handle.h +9 -9
  368. package/libcxx/include/__coroutine/noop_coroutine_handle.h +11 -13
  369. package/libcxx/include/__debug_utils/strict_weak_ordering_check.h +1 -1
  370. package/libcxx/include/__exception/exception.h +6 -4
  371. package/libcxx/include/__exception/exception_ptr.h +27 -5
  372. package/libcxx/include/__exception/nested_exception.h +2 -2
  373. package/libcxx/include/__exception/operations.h +5 -5
  374. package/libcxx/include/__expected/bad_expected_access.h +8 -6
  375. package/libcxx/include/__expected/expected.h +62 -64
  376. package/libcxx/include/__expected/unexpected.h +4 -4
  377. package/libcxx/include/__filesystem/copy_options.h +4 -4
  378. package/libcxx/include/__filesystem/directory_entry.h +37 -33
  379. package/libcxx/include/__filesystem/directory_iterator.h +9 -11
  380. package/libcxx/include/__filesystem/directory_options.h +7 -4
  381. package/libcxx/include/__filesystem/file_status.h +3 -3
  382. package/libcxx/include/__filesystem/filesystem_error.h +9 -10
  383. package/libcxx/include/__filesystem/operations.h +97 -66
  384. package/libcxx/include/__filesystem/path.h +68 -64
  385. package/libcxx/include/__filesystem/path_iterator.h +1 -3
  386. package/libcxx/include/__filesystem/perm_options.h +4 -4
  387. package/libcxx/include/__filesystem/perms.h +4 -4
  388. package/libcxx/include/__filesystem/recursive_directory_iterator.h +9 -14
  389. package/libcxx/include/__filesystem/space_info.h +1 -1
  390. package/libcxx/include/__filesystem/u8path.h +12 -14
  391. package/libcxx/include/__flat_map/flat_map.h +88 -71
  392. package/libcxx/include/__flat_map/flat_multimap.h +251 -172
  393. package/libcxx/include/__flat_map/key_value_iterator.h +0 -1
  394. package/libcxx/include/__flat_map/utils.h +1 -0
  395. package/libcxx/include/__flat_set/flat_multiset.h +211 -143
  396. package/libcxx/include/__flat_set/flat_set.h +86 -68
  397. package/libcxx/include/__format/concepts.h +0 -14
  398. package/libcxx/include/__format/extended_grapheme_cluster_table.h +3 -2
  399. package/libcxx/include/__format/fmt_pair_like.h +42 -0
  400. package/libcxx/include/__format/format_arg.h +7 -10
  401. package/libcxx/include/__format/format_args.h +1 -1
  402. package/libcxx/include/__format/format_context.h +5 -5
  403. package/libcxx/include/__format/format_parse_context.h +2 -2
  404. package/libcxx/include/__format/formatter_output.h +30 -34
  405. package/libcxx/include/__format/indic_conjunct_break_table.h +3 -2
  406. package/libcxx/include/__format/range_default_formatter.h +2 -41
  407. package/libcxx/include/__format/range_format.h +71 -0
  408. package/libcxx/include/__format/range_formatter.h +1 -0
  409. package/libcxx/include/__format/width_estimation_table.h +4 -2
  410. package/libcxx/include/__functional/bind.h +10 -15
  411. package/libcxx/include/__functional/bind_back.h +1 -1
  412. package/libcxx/include/__functional/bind_front.h +1 -1
  413. package/libcxx/include/__functional/function.h +57 -75
  414. package/libcxx/include/__functional/hash.h +1 -10
  415. package/libcxx/include/__functional/identity.h +1 -1
  416. package/libcxx/include/__functional/is_transparent.h +8 -0
  417. package/libcxx/include/__functional/mem_fn.h +2 -1
  418. package/libcxx/include/__functional/operations.h +18 -0
  419. package/libcxx/include/__functional/ranges_operations.h +7 -0
  420. package/libcxx/include/__functional/reference_wrapper.h +7 -5
  421. package/libcxx/include/__functional/weak_result_type.h +14 -28
  422. package/libcxx/include/__fwd/ios.h +1 -1
  423. package/libcxx/include/__fwd/tuple.h +14 -0
  424. package/libcxx/include/__hash_table +371 -357
  425. package/libcxx/include/__ios/fpos.h +4 -4
  426. package/libcxx/include/__iterator/back_insert_iterator.h +1 -7
  427. package/libcxx/include/__iterator/bounded_iter.h +7 -8
  428. package/libcxx/include/__iterator/concepts.h +6 -9
  429. package/libcxx/include/__iterator/cpp17_iterator_concepts.h +13 -12
  430. package/libcxx/include/__iterator/distance.h +40 -18
  431. package/libcxx/include/__iterator/front_insert_iterator.h +1 -7
  432. package/libcxx/include/__iterator/insert_iterator.h +1 -7
  433. package/libcxx/include/__iterator/istream_iterator.h +6 -7
  434. package/libcxx/include/__iterator/istreambuf_iterator.h +6 -7
  435. package/libcxx/include/__iterator/iter_move.h +1 -1
  436. package/libcxx/include/__iterator/iterator.h +13 -0
  437. package/libcxx/include/__iterator/iterator_traits.h +13 -14
  438. package/libcxx/include/__iterator/ostream_iterator.h +1 -7
  439. package/libcxx/include/__iterator/ostreambuf_iterator.h +1 -7
  440. package/libcxx/include/__iterator/reverse_iterator.h +8 -13
  441. package/libcxx/include/__iterator/segmented_iterator.h +3 -8
  442. package/libcxx/include/__iterator/static_bounded_iter.h +3 -3
  443. package/libcxx/include/__iterator/wrap_iter.h +8 -6
  444. package/libcxx/include/__locale +3 -10
  445. package/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h +0 -10
  446. package/libcxx/include/__locale_dir/locale_base_api.h +5 -28
  447. package/libcxx/include/__locale_dir/messages.h +1 -1
  448. package/libcxx/include/__locale_dir/money.h +2 -2
  449. package/libcxx/include/__locale_dir/num.h +190 -243
  450. package/libcxx/include/__locale_dir/pad_and_output.h +5 -6
  451. package/libcxx/include/__locale_dir/support/bsd_like.h +0 -20
  452. package/libcxx/include/__locale_dir/support/fuchsia.h +0 -7
  453. package/libcxx/include/__locale_dir/support/linux.h +0 -37
  454. package/libcxx/include/__locale_dir/support/netbsd.h +0 -2
  455. package/libcxx/include/__locale_dir/support/newlib.h +243 -0
  456. package/libcxx/include/__locale_dir/support/no_locale/characters.h +0 -4
  457. package/libcxx/include/__locale_dir/support/no_locale/strtonum.h +0 -9
  458. package/libcxx/include/__locale_dir/support/windows.h +0 -29
  459. package/libcxx/include/__locale_dir/time.h +3 -7
  460. package/libcxx/include/__math/hypot.h +1 -1
  461. package/libcxx/include/__math/logarithms.h +1 -1
  462. package/libcxx/include/__math/traits.h +80 -11
  463. package/libcxx/include/__mdspan/extents.h +7 -4
  464. package/libcxx/include/__mdspan/layout_stride.h +4 -5
  465. package/libcxx/include/__mdspan/mdspan.h +29 -23
  466. package/libcxx/include/__memory/addressof.h +7 -5
  467. package/libcxx/include/__memory/align.h +18 -1
  468. package/libcxx/include/__memory/allocate_at_least.h +15 -10
  469. package/libcxx/include/__memory/allocator.h +14 -26
  470. package/libcxx/include/__memory/allocator_traits.h +6 -4
  471. package/libcxx/include/__memory/compressed_pair.h +15 -9
  472. package/libcxx/include/__memory/construct_at.h +12 -23
  473. package/libcxx/include/__memory/inout_ptr.h +1 -1
  474. package/libcxx/include/__memory/is_sufficiently_aligned.h +1 -1
  475. package/libcxx/include/__memory/out_ptr.h +1 -1
  476. package/libcxx/include/__memory/pointer_traits.h +1 -1
  477. package/libcxx/include/__memory/raw_storage_iterator.h +3 -9
  478. package/libcxx/include/__memory/shared_count.h +9 -30
  479. package/libcxx/include/__memory/shared_ptr.h +100 -145
  480. package/libcxx/include/__memory/temp_value.h +1 -2
  481. package/libcxx/include/__memory/uninitialized_algorithms.h +44 -115
  482. package/libcxx/include/__memory/unique_ptr.h +14 -16
  483. package/libcxx/include/__memory/uses_allocator_construction.h +1 -0
  484. package/libcxx/include/__memory_resource/memory_resource.h +4 -2
  485. package/libcxx/include/__memory_resource/monotonic_buffer_resource.h +1 -1
  486. package/libcxx/include/__memory_resource/polymorphic_allocator.h +13 -8
  487. package/libcxx/include/__memory_resource/pool_options.h +1 -1
  488. package/libcxx/include/__memory_resource/synchronized_pool_resource.h +4 -2
  489. package/libcxx/include/__memory_resource/unsynchronized_pool_resource.h +1 -1
  490. package/libcxx/include/__mutex/mutex.h +2 -2
  491. package/libcxx/include/__mutex/once_flag.h +14 -11
  492. package/libcxx/include/__mutex/tag_types.h +3 -3
  493. package/libcxx/include/__mutex/unique_lock.h +8 -7
  494. package/libcxx/include/__new/align_val_t.h +6 -0
  495. package/libcxx/include/__new/allocate.h +1 -2
  496. package/libcxx/include/__new/exceptions.h +8 -2
  497. package/libcxx/include/__new/global_new_delete.h +4 -11
  498. package/libcxx/include/__new/interference_size.h +0 -4
  499. package/libcxx/include/__new/launder.h +3 -5
  500. package/libcxx/include/__new/nothrow_t.h +1 -1
  501. package/libcxx/include/__numeric/gcd_lcm.h +24 -34
  502. package/libcxx/include/__numeric/midpoint.h +9 -14
  503. package/libcxx/include/__numeric/pstl.h +2 -2
  504. package/libcxx/include/__numeric/saturation_arithmetic.h +13 -5
  505. package/libcxx/include/__ostream/basic_ostream.h +8 -8
  506. package/libcxx/include/__pstl/backends/default.h +14 -14
  507. package/libcxx/include/__pstl/backends/libdispatch.h +2 -2
  508. package/libcxx/include/__pstl/cpu_algos/find_if.h +1 -1
  509. package/libcxx/include/__pstl/cpu_algos/transform.h +5 -6
  510. package/libcxx/include/__pstl/cpu_algos/transform_reduce.h +5 -4
  511. package/libcxx/include/__random/binomial_distribution.h +10 -4
  512. package/libcxx/include/__random/mersenne_twister_engine.h +50 -154
  513. package/libcxx/include/__random/piecewise_constant_distribution.h +3 -2
  514. package/libcxx/include/__random/piecewise_linear_distribution.h +3 -2
  515. package/libcxx/include/__ranges/adjacent_transform_view.h +406 -0
  516. package/libcxx/include/__ranges/adjacent_view.h +419 -0
  517. package/libcxx/include/__ranges/as_rvalue_view.h +9 -9
  518. package/libcxx/include/__ranges/chunk_by_view.h +6 -6
  519. package/libcxx/include/__ranges/common_view.h +7 -7
  520. package/libcxx/include/__ranges/drop_view.h +8 -8
  521. package/libcxx/include/__ranges/drop_while_view.h +5 -5
  522. package/libcxx/include/__ranges/elements_of.h +49 -0
  523. package/libcxx/include/__ranges/empty_view.h +5 -5
  524. package/libcxx/include/__ranges/filter_view.h +10 -10
  525. package/libcxx/include/__ranges/iota_view.h +41 -22
  526. package/libcxx/include/__ranges/owning_view.h +15 -15
  527. package/libcxx/include/__ranges/ref_view.h +6 -6
  528. package/libcxx/include/__ranges/repeat_view.h +17 -10
  529. package/libcxx/include/__ranges/single_view.h +8 -8
  530. package/libcxx/include/__ranges/take_view.h +9 -9
  531. package/libcxx/include/__ranges/transform_view.h +1 -2
  532. package/libcxx/include/__ranges/view_interface.h +10 -10
  533. package/libcxx/include/__ranges/zip_transform_view.h +357 -0
  534. package/libcxx/include/__ranges/zip_view.h +20 -20
  535. package/libcxx/include/__split_buffer +612 -240
  536. package/libcxx/include/__stop_token/atomic_unique_lock.h +1 -1
  537. package/libcxx/include/__stop_token/stop_callback.h +2 -2
  538. package/libcxx/include/__stop_token/stop_source.h +1 -1
  539. package/libcxx/include/__stop_token/stop_state.h +4 -4
  540. package/libcxx/include/__stop_token/stop_token.h +1 -1
  541. package/libcxx/include/__string/char_traits.h +51 -31
  542. package/libcxx/include/__string/constexpr_c_functions.h +5 -5
  543. package/libcxx/include/__support/xlocale/__strtonum_fallback.h +0 -8
  544. package/libcxx/include/__system_error/error_category.h +8 -8
  545. package/libcxx/include/__system_error/error_code.h +5 -5
  546. package/libcxx/include/__system_error/error_condition.h +4 -4
  547. package/libcxx/include/__system_error/system_error.h +1 -1
  548. package/libcxx/include/__thread/id.h +1 -1
  549. package/libcxx/include/__thread/jthread.h +1 -1
  550. package/libcxx/include/__thread/poll_with_backoff.h +27 -8
  551. package/libcxx/include/__thread/support/c11.h +8 -8
  552. package/libcxx/include/__thread/support/pthread.h +8 -8
  553. package/libcxx/include/__thread/support/windows.h +8 -8
  554. package/libcxx/include/__thread/thread.h +13 -8
  555. package/libcxx/include/__thread/timed_backoff_policy.h +3 -2
  556. package/libcxx/include/__tree +849 -701
  557. package/libcxx/include/__tuple/sfinae_helpers.h +1 -44
  558. package/libcxx/include/__tuple/tuple_element.h +0 -12
  559. package/libcxx/include/__tuple/tuple_size.h +0 -4
  560. package/libcxx/include/__tuple/tuple_transform.h +45 -0
  561. package/libcxx/include/__type_traits/aligned_storage.h +13 -40
  562. package/libcxx/include/__type_traits/desugars_to.h +4 -0
  563. package/libcxx/include/__type_traits/invoke.h +8 -0
  564. package/libcxx/include/__type_traits/is_allocator.h +6 -7
  565. package/libcxx/include/__type_traits/is_array.h +26 -0
  566. package/libcxx/include/__type_traits/is_equality_comparable.h +16 -21
  567. package/libcxx/include/__type_traits/is_final.h +1 -1
  568. package/libcxx/include/__type_traits/is_floating_point.h +7 -6
  569. package/libcxx/include/__type_traits/is_generic_transparent_comparator.h +30 -0
  570. package/libcxx/include/__type_traits/is_specialization.h +2 -6
  571. package/libcxx/include/__type_traits/is_within_lifetime.h +29 -0
  572. package/libcxx/include/__type_traits/make_transparent.h +52 -0
  573. package/libcxx/include/__type_traits/reference_constructs_from_temporary.h +1 -7
  574. package/libcxx/include/__type_traits/reference_converts_from_temporary.h +1 -1
  575. package/libcxx/include/__utility/cmp.h +19 -7
  576. package/libcxx/include/__utility/default_three_way_comparator.h +70 -0
  577. package/libcxx/include/__utility/in_place.h +1 -1
  578. package/libcxx/include/__utility/integer_sequence.h +56 -41
  579. package/libcxx/include/__utility/lazy_synth_three_way_comparator.h +120 -0
  580. package/libcxx/include/__utility/pair.h +22 -25
  581. package/libcxx/include/__utility/scope_guard.h +2 -0
  582. package/libcxx/include/__utility/try_key_extraction.h +114 -0
  583. package/libcxx/include/__vector/vector.h +187 -160
  584. package/libcxx/include/__vector/vector_bool.h +76 -83
  585. package/libcxx/include/any +118 -155
  586. package/libcxx/include/array +88 -56
  587. package/libcxx/include/atomic +2 -0
  588. package/libcxx/include/barrier +20 -24
  589. package/libcxx/include/bitset +49 -30
  590. package/libcxx/include/ccomplex +3 -11
  591. package/libcxx/include/chrono +47 -0
  592. package/libcxx/include/ciso646 +3 -6
  593. package/libcxx/include/complex +77 -65
  594. package/libcxx/include/complex.h +10 -10
  595. package/libcxx/include/condition_variable +3 -3
  596. package/libcxx/include/cstdalign +3 -10
  597. package/libcxx/include/cstdbool +3 -10
  598. package/libcxx/include/ctgmath +2 -11
  599. package/libcxx/include/ctype.h +24 -24
  600. package/libcxx/include/cwchar +2 -2
  601. package/libcxx/include/deque +109 -225
  602. package/libcxx/include/errno.h +269 -269
  603. package/libcxx/include/exception +4 -1
  604. package/libcxx/include/ext/hash_map +7 -48
  605. package/libcxx/include/ext/hash_set +2 -8
  606. package/libcxx/include/fenv.h +43 -43
  607. package/libcxx/include/flat_map +663 -11
  608. package/libcxx/include/flat_set +543 -8
  609. package/libcxx/include/float.h +16 -16
  610. package/libcxx/include/forward_list +33 -53
  611. package/libcxx/include/fstream +57 -42
  612. package/libcxx/include/future +41 -51
  613. package/libcxx/include/initializer_list +9 -3
  614. package/libcxx/include/inttypes.h +16 -16
  615. package/libcxx/include/ios +28 -28
  616. package/libcxx/include/istream +19 -13
  617. package/libcxx/include/iterator +10 -0
  618. package/libcxx/include/latch +7 -5
  619. package/libcxx/include/limits +4 -4
  620. package/libcxx/include/list +61 -79
  621. package/libcxx/include/map +386 -274
  622. package/libcxx/include/math.h +19 -0
  623. package/libcxx/include/mdspan +1 -5
  624. package/libcxx/include/mutex +29 -19
  625. package/libcxx/include/optional +644 -149
  626. package/libcxx/include/print +9 -5
  627. package/libcxx/include/queue +39 -37
  628. package/libcxx/include/ranges +48 -0
  629. package/libcxx/include/regex +33 -31
  630. package/libcxx/include/scoped_allocator +16 -11
  631. package/libcxx/include/semaphore +15 -18
  632. package/libcxx/include/set +220 -192
  633. package/libcxx/include/shared_mutex +3 -8
  634. package/libcxx/include/span +53 -37
  635. package/libcxx/include/sstream +34 -28
  636. package/libcxx/include/stack +13 -15
  637. package/libcxx/include/stddef.h +10 -10
  638. package/libcxx/include/stdexcept +2 -2
  639. package/libcxx/include/stdio.h +20 -21
  640. package/libcxx/include/streambuf +59 -19
  641. package/libcxx/include/string +574 -573
  642. package/libcxx/include/string_view +113 -89
  643. package/libcxx/include/strstream +10 -10
  644. package/libcxx/include/syncstream +4 -4
  645. package/libcxx/include/tgmath.h +12 -12
  646. package/libcxx/include/tuple +242 -212
  647. package/libcxx/include/type_traits +8 -2
  648. package/libcxx/include/typeindex +5 -3
  649. package/libcxx/include/typeinfo +92 -89
  650. package/libcxx/include/unordered_map +179 -304
  651. package/libcxx/include/unordered_set +168 -195
  652. package/libcxx/include/utility +12 -0
  653. package/libcxx/include/valarray +106 -161
  654. package/libcxx/include/variant +25 -33
  655. package/libcxx/include/version +41 -24
  656. package/libcxx/include/wctype.h +29 -29
  657. package/libcxx/libc/hdr/errno_macros.h +3 -1
  658. package/libcxx/libc/hdr/stdint_proxy.h +18 -0
  659. package/libcxx/libc/hdr/types/wchar_t.h +23 -0
  660. package/libcxx/libc/hdr/wchar_overlay.h +69 -0
  661. package/libcxx/libc/include/llvm-libc-macros/cfloat128-macros.h +41 -0
  662. package/libcxx/libc/include/llvm-libc-macros/cfloat16-macros.h +20 -0
  663. package/libcxx/libc/include/llvm-libc-macros/wchar-macros.h +18 -0
  664. package/libcxx/libc/include/llvm-libc-types/cfloat128.h +11 -28
  665. package/libcxx/libc/include/llvm-libc-types/cfloat16.h +4 -7
  666. package/libcxx/libc/include/llvm-libc-types/wint_t.h +14 -0
  667. package/libcxx/libc/shared/libc_common.h +5 -0
  668. package/libcxx/libc/src/__support/CPP/bit.h +50 -12
  669. package/libcxx/libc/src/__support/CPP/type_traits/is_complex.h +7 -0
  670. package/libcxx/libc/src/__support/CPP/type_traits/is_destructible.h +2 -1
  671. package/libcxx/libc/src/__support/CPP/type_traits/is_unsigned.h +6 -0
  672. package/libcxx/libc/src/__support/CPP/utility/integer_sequence.h +10 -0
  673. package/libcxx/libc/src/__support/FPUtil/FPBits.h +6 -7
  674. package/libcxx/libc/src/__support/FPUtil/rounding_mode.h +50 -4
  675. package/libcxx/libc/src/__support/big_int.h +14 -14
  676. package/libcxx/libc/src/__support/common.h +3 -2
  677. package/libcxx/libc/src/__support/ctype_utils.h +19 -12
  678. package/libcxx/libc/src/__support/detailed_powers_of_ten.h +1 -2
  679. package/libcxx/libc/src/__support/high_precision_decimal.h +33 -14
  680. package/libcxx/libc/src/__support/libc_assert.h +2 -0
  681. package/libcxx/libc/src/__support/macros/attributes.h +44 -1
  682. package/libcxx/libc/src/__support/macros/config.h +23 -0
  683. package/libcxx/libc/src/__support/macros/null_check.h +1 -2
  684. package/libcxx/libc/src/__support/macros/optimization.h +3 -0
  685. package/libcxx/libc/src/__support/macros/properties/architectures.h +5 -1
  686. package/libcxx/libc/src/__support/macros/properties/compiler.h +8 -3
  687. package/libcxx/libc/src/__support/macros/properties/cpu_features.h +17 -1
  688. package/libcxx/libc/src/__support/macros/properties/types.h +2 -3
  689. package/libcxx/libc/src/__support/macros/sanitizer.h +0 -10
  690. package/libcxx/libc/src/__support/math_extras.h +20 -4
  691. package/libcxx/libc/src/__support/str_to_float.h +98 -125
  692. package/libcxx/libc/src/__support/str_to_integer.h +39 -27
  693. package/libcxx/libc/src/__support/wctype_utils.h +588 -0
  694. package/libcxx/src/any.cpp +4 -0
  695. package/libcxx/src/atomic.cpp +365 -80
  696. package/libcxx/src/barrier.cpp +4 -3
  697. package/libcxx/src/charconv.cpp +6 -3
  698. package/libcxx/src/condition_variable_destructor.cpp +1 -1
  699. package/libcxx/src/error_category.cpp +3 -1
  700. package/libcxx/src/exception.cpp +2 -10
  701. package/libcxx/src/experimental/time_zone.cpp +1 -1
  702. package/libcxx/src/experimental/tzdb.cpp +4 -1
  703. package/libcxx/src/filesystem/error.h +4 -22
  704. package/libcxx/src/filesystem/format_string.h +9 -18
  705. package/libcxx/src/filesystem/int128_builtins.cpp +2 -0
  706. package/libcxx/src/filesystem/operations.cpp +2 -9
  707. package/libcxx/src/filesystem/path.cpp +3 -1
  708. package/libcxx/src/include/aligned_alloc.h +65 -0
  709. package/libcxx/src/include/config_elast.h +1 -1
  710. package/libcxx/src/include/from_chars_floating_point.h +11 -7
  711. package/libcxx/src/include/overridable_function.h +8 -10
  712. package/libcxx/src/iostream.cpp +56 -37
  713. package/libcxx/src/locale.cpp +213 -196
  714. package/libcxx/src/memory.cpp +12 -14
  715. package/libcxx/src/mutex_destructor.cpp +1 -1
  716. package/libcxx/src/new.cpp +5 -5
  717. package/libcxx/src/optional.cpp +4 -0
  718. package/libcxx/src/print.cpp +9 -1
  719. package/libcxx/src/random.cpp +0 -26
  720. package/libcxx/src/string.cpp +10 -25
  721. package/libcxx/src/support/runtime/exception_fallback.ipp +2 -0
  722. package/libcxx/src/support/runtime/exception_glibcxx.ipp +3 -0
  723. package/libcxx/src/support/runtime/exception_libcxxabi.ipp +6 -2
  724. package/libcxx/src/support/runtime/exception_libcxxrt.ipp +2 -0
  725. package/libcxx/src/support/runtime/exception_msvc.ipp +2 -0
  726. package/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp +9 -10
  727. package/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp +2 -0
  728. package/libcxx/src/support/runtime/exception_pointer_msvc.ipp +1 -0
  729. package/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp +1 -0
  730. package/libcxx/src/support/win32/locale_win32.cpp +1 -1
  731. package/libcxx/src/system_error.cpp +2 -0
  732. package/libcxx/src/thread.cpp +1 -3
  733. package/libcxx/src/valarray.cpp +1 -2
  734. package/libcxx/src/vector.cpp +2 -2
  735. package/libcxxabi/include/__cxxabi_config.h +42 -23
  736. package/libcxxabi/src/cxa_exception.cpp +4 -2
  737. package/libcxxabi/src/cxa_exception.h +16 -14
  738. package/libcxxabi/src/cxa_personality.cpp +126 -9
  739. package/libcxxabi/src/cxa_thread_atexit.cpp +2 -1
  740. package/libcxxabi/src/demangle/DemangleConfig.h +4 -0
  741. package/libcxxabi/src/demangle/ItaniumDemangle.h +9 -6
  742. package/libcxxabi/src/demangle/Utility.h +21 -7
  743. package/libcxxabi/src/fallback_malloc.cpp +1 -1
  744. package/libcxxabi/src/private_typeinfo.cpp +6 -0
  745. package/libcxxabi/src/stdlib_new_delete.cpp +5 -5
  746. package/libtsan/LICENSE.TXT +311 -0
  747. package/libtsan/builtins/assembly.h +41 -8
  748. package/libtsan/interception/interception_win.cpp +4 -0
  749. package/libtsan/sanitizer_common/sanitizer_allocator_primary32.h +1 -0
  750. package/libtsan/sanitizer_common/sanitizer_allocator_primary64.h +18 -0
  751. package/libtsan/sanitizer_common/sanitizer_common.h +15 -2
  752. package/libtsan/sanitizer_common/sanitizer_common_interceptors.inc +30 -4
  753. package/libtsan/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +4 -0
  754. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S +2 -1
  755. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S +2 -0
  756. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_x86_64.inc.S +2 -0
  757. package/libtsan/sanitizer_common/sanitizer_common_syscalls.inc +18 -0
  758. package/libtsan/sanitizer_common/sanitizer_file.cpp +40 -12
  759. package/libtsan/sanitizer_common/sanitizer_file.h +3 -0
  760. package/libtsan/sanitizer_common/sanitizer_flags.inc +7 -0
  761. package/libtsan/sanitizer_common/sanitizer_fuchsia.cpp +30 -3
  762. package/libtsan/sanitizer_common/sanitizer_haiku.cpp +2 -2
  763. package/libtsan/sanitizer_common/sanitizer_internal_defs.h +1 -1
  764. package/libtsan/sanitizer_common/sanitizer_libc.cpp +8 -0
  765. package/libtsan/sanitizer_common/sanitizer_libc.h +1 -0
  766. package/libtsan/sanitizer_common/sanitizer_linux.cpp +15 -7
  767. package/libtsan/sanitizer_common/sanitizer_linux.h +3 -3
  768. package/libtsan/sanitizer_common/sanitizer_linux_libcdep.cpp +1 -0
  769. package/libtsan/sanitizer_common/sanitizer_mac.cpp +255 -104
  770. package/libtsan/sanitizer_common/sanitizer_mac.h +5 -0
  771. package/libtsan/sanitizer_common/sanitizer_netbsd.cpp +2 -2
  772. package/libtsan/sanitizer_common/sanitizer_platform.h +27 -1
  773. package/libtsan/sanitizer_common/sanitizer_platform_interceptors.h +5 -4
  774. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.cpp +15 -17
  775. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.h +32 -6
  776. package/libtsan/sanitizer_common/sanitizer_posix.cpp +3 -12
  777. package/libtsan/sanitizer_common/sanitizer_posix.h +2 -1
  778. package/libtsan/sanitizer_common/sanitizer_posix_libcdep.cpp +19 -0
  779. package/libtsan/sanitizer_common/sanitizer_procmaps_mac.cpp +102 -37
  780. package/libtsan/sanitizer_common/sanitizer_redefine_builtins.h +1 -1
  781. package/libtsan/sanitizer_common/sanitizer_signal_interceptors.inc +40 -2
  782. package/libtsan/sanitizer_common/sanitizer_stoptheworld.h +1 -1
  783. package/libtsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp +83 -12
  784. package/libtsan/sanitizer_common/sanitizer_stoptheworld_mac.cpp +3 -3
  785. package/libtsan/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp +7 -7
  786. package/libtsan/sanitizer_common/sanitizer_stoptheworld_win.cpp +2 -2
  787. package/libtsan/sanitizer_common/sanitizer_symbolizer_internal.h +5 -1
  788. package/libtsan/sanitizer_common/sanitizer_symbolizer_libcdep.cpp +11 -1
  789. package/libtsan/sanitizer_common/sanitizer_symbolizer_mac.cpp +86 -29
  790. package/libtsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +27 -16
  791. package/libtsan/sanitizer_common/sanitizer_thread_registry.cpp +5 -4
  792. package/libtsan/sanitizer_common/sanitizer_thread_registry.h +4 -4
  793. package/libtsan/sanitizer_common/sanitizer_win.cpp +1 -3
  794. package/libtsan/tsan_debugging.cpp +2 -2
  795. package/libtsan/tsan_flags.cpp +37 -0
  796. package/libtsan/tsan_flags.h +8 -0
  797. package/libtsan/tsan_flags.inc +12 -0
  798. package/libtsan/tsan_interceptors.h +9 -1
  799. package/libtsan/tsan_interceptors_mac.cpp +19 -0
  800. package/libtsan/tsan_interceptors_posix.cpp +78 -32
  801. package/libtsan/tsan_interface.h +3 -3
  802. package/libtsan/tsan_interface_ann.cpp +23 -9
  803. package/libtsan/tsan_mman.cpp +18 -4
  804. package/libtsan/tsan_platform.h +44 -7
  805. package/libtsan/tsan_platform_linux.cpp +42 -14
  806. package/libtsan/tsan_platform_mac.cpp +16 -3
  807. package/libtsan/tsan_report.h +14 -1
  808. package/libtsan/tsan_rtl.cpp +14 -0
  809. package/libtsan/tsan_rtl.h +7 -2
  810. package/libtsan/tsan_rtl_aarch64.S +3 -5
  811. package/libtsan/tsan_rtl_access.cpp +8 -3
  812. package/libtsan/tsan_rtl_amd64.S +2 -0
  813. package/libtsan/tsan_rtl_mutex.cpp +94 -49
  814. package/libtsan/tsan_rtl_report.cpp +132 -65
  815. package/libtsan/tsan_rtl_thread.cpp +31 -9
  816. package/libtsan/tsan_symbolize.cpp +1 -1
  817. package/libtsan/tsan_symbolize.h +1 -1
  818. package/libtsan/tsan_trace.h +1 -1
  819. package/libunwind/include/__libunwind_config.h +11 -2
  820. package/libunwind/include/libunwind.h +117 -11
  821. package/libunwind/include/unwind_arm_ehabi.h +4 -1
  822. package/libunwind/src/AddressSpace.hpp +42 -20
  823. package/libunwind/src/CompactUnwinder.hpp +16 -5
  824. package/libunwind/src/DwarfInstructions.hpp +24 -13
  825. package/libunwind/src/DwarfParser.hpp +62 -23
  826. package/libunwind/src/EHHeaderParser.hpp +7 -4
  827. package/libunwind/src/Registers.hpp +226 -22
  828. package/libunwind/src/Unwind-seh.cpp +6 -7
  829. package/libunwind/src/Unwind-wasm.c +7 -7
  830. package/libunwind/src/UnwindCursor.hpp +167 -49
  831. package/libunwind/src/UnwindLevel1.c +46 -17
  832. package/libunwind/src/UnwindRegistersRestore.S +46 -5
  833. package/libunwind/src/UnwindRegistersSave.S +86 -2
  834. package/libunwind/src/assembly.h +5 -1
  835. package/libunwind/src/config.h +9 -0
  836. package/libunwind/src/gcc_personality_v0.c +79 -6
  837. package/libunwind/src/libunwind.cpp +104 -4
  838. package/libunwind/src/libunwind_ext.h +7 -1
  839. package/libunwind/src/shadow_stack_unwind.h +2 -2
  840. package/lldb/pretty_printers.py +948 -0
  841. package/package.json +1 -1
  842. package/std/Build/Cache/Path.zig +1 -1
  843. package/std/Build/Cache.zig +6 -6
  844. package/std/Build/Step/Compile.zig +18 -20
  845. package/std/Build/Step/ConfigHeader.zig +1 -1
  846. package/std/Build/Step/Run.zig +15 -8
  847. package/std/Build/Step.zig +3 -7
  848. package/std/Build/Watch/FsEvents.zig +1 -1
  849. package/std/Build/WebServer.zig +2 -2
  850. package/std/Build/abi.zig +1 -1
  851. package/std/Build.zig +0 -3
  852. package/std/Io/Dir.zig +9 -4
  853. package/std/Io/Dispatch.zig +8 -18
  854. package/std/Io/File/Writer.zig +8 -6
  855. package/std/Io/File.zig +0 -9
  856. package/std/Io/Kqueue.zig +3 -3
  857. package/std/Io/Reader.zig +8 -14
  858. package/std/Io/Semaphore.zig +112 -17
  859. package/std/Io/Terminal.zig +1 -1
  860. package/std/Io/Threaded.zig +183 -46
  861. package/std/Io/Uring.zig +18 -20
  862. package/std/Io/Writer.zig +10 -7
  863. package/std/Io/net/HostName.zig +11 -6
  864. package/std/Io/net.zig +11 -11
  865. package/std/Io.zig +104 -38
  866. package/std/Random/ChaCha.zig +2 -2
  867. package/std/Random/benchmark.zig +2 -2
  868. package/std/Random.zig +6 -6
  869. package/std/SemanticVersion.zig +1 -1
  870. package/std/Target/Query.zig +2 -2
  871. package/std/Target/aarch64.zig +620 -77
  872. package/std/Target/amdgcn.zig +421 -21
  873. package/std/Target/arm.zig +40 -6
  874. package/std/Target/bpf.zig +6 -0
  875. package/std/Target/hexagon.zig +41 -6
  876. package/std/Target/loongarch.zig +18 -0
  877. package/std/Target/mips.zig +6 -0
  878. package/std/Target/nvptx.zig +58 -35
  879. package/std/Target/powerpc.zig +27 -19
  880. package/std/Target/riscv.zig +415 -177
  881. package/std/Target/sparc.zig +17 -0
  882. package/std/Target/wasm.zig +7 -0
  883. package/std/Target/x86.zig +200 -31
  884. package/std/Target/xtensa.zig +65 -0
  885. package/std/Target.zig +67 -14
  886. package/std/Thread.zig +5 -2
  887. package/std/array_hash_map.zig +103 -57
  888. package/std/array_list.zig +10 -31
  889. package/std/base64.zig +5 -5
  890. package/std/bit_set.zig +86 -69
  891. package/std/c/haiku.zig +3 -0
  892. package/std/c/serenity.zig +1 -6
  893. package/std/c.zig +123 -32
  894. package/std/compress/flate/Decompress.zig +3 -4
  895. package/std/compress/zstd/Decompress.zig +7 -9
  896. package/std/crypto/25519/curve25519.zig +2 -2
  897. package/std/crypto/25519/edwards25519.zig +3 -3
  898. package/std/crypto/25519/ristretto255.zig +2 -2
  899. package/std/crypto/25519/scalar.zig +6 -6
  900. package/std/crypto/25519/x25519.zig +1 -1
  901. package/std/crypto/Certificate.zig +14 -2
  902. package/std/crypto/Sha1.zig +1 -1
  903. package/std/crypto/aegis.zig +45 -39
  904. package/std/crypto/aes_ccm.zig +22 -22
  905. package/std/crypto/aes_gcm.zig +10 -12
  906. package/std/crypto/aes_ocb.zig +9 -9
  907. package/std/crypto/argon2.zig +15 -15
  908. package/std/crypto/ascon.zig +75 -33
  909. package/std/crypto/bcrypt.zig +20 -10
  910. package/std/crypto/benchmark.zig +7 -7
  911. package/std/crypto/blake2.zig +100 -64
  912. package/std/crypto/cbc_mac.zig +1 -1
  913. package/std/crypto/chacha20.zig +10 -10
  914. package/std/crypto/cmac.zig +3 -3
  915. package/std/crypto/codecs/asn1/Oid.zig +12 -1
  916. package/std/crypto/codecs/asn1/der/Encoder.zig +1 -1
  917. package/std/crypto/codecs/asn1.zig +1 -1
  918. package/std/crypto/codecs/base64_hex_ct.zig +3 -5
  919. package/std/crypto/ecdsa.zig +9 -9
  920. package/std/crypto/ff.zig +4 -5
  921. package/std/crypto/ghash_polyval.zig +4 -4
  922. package/std/crypto/hkdf.zig +1 -1
  923. package/std/crypto/isap.zig +3 -3
  924. package/std/crypto/kangarootwelve.zig +1 -1
  925. package/std/crypto/keccak_p.zig +8 -8
  926. package/std/crypto/md5.zig +1 -1
  927. package/std/crypto/ml_dsa.zig +39 -39
  928. package/std/crypto/ml_kem.zig +12 -34
  929. package/std/crypto/modes.zig +2 -2
  930. package/std/crypto/pbkdf2.zig +1 -1
  931. package/std/crypto/pcurves/common.zig +4 -5
  932. package/std/crypto/pcurves/p256/scalar.zig +3 -3
  933. package/std/crypto/pcurves/p384/scalar.zig +2 -2
  934. package/std/crypto/pcurves/secp256k1/scalar.zig +3 -3
  935. package/std/crypto/pcurves/tests/p256.zig +5 -5
  936. package/std/crypto/pcurves/tests/p384.zig +5 -5
  937. package/std/crypto/pcurves/tests/secp256k1.zig +3 -3
  938. package/std/crypto/salsa20.zig +8 -8
  939. package/std/crypto/sha2.zig +2 -2
  940. package/std/crypto/sha3.zig +2 -2
  941. package/std/crypto/siphash.zig +1 -1
  942. package/std/crypto/timing_safe.zig +10 -9
  943. package/std/crypto/tls/Client.zig +89 -13
  944. package/std/crypto/tls.zig +1 -1
  945. package/std/crypto.zig +4 -3
  946. package/std/debug/Dwarf.zig +15 -12
  947. package/std/debug/Pdb.zig +25 -17
  948. package/std/debug.zig +14 -8
  949. package/std/deque.zig +1 -1
  950. package/std/elf.zig +1 -1
  951. package/std/enums.zig +8 -8
  952. package/std/fmt/parse_float/decimal.zig +1 -1
  953. package/std/fmt/parse_float.zig +1 -1
  954. package/std/fmt.zig +14 -10
  955. package/std/fs/path.zig +7 -5
  956. package/std/hash/Adler32.zig +3 -3
  957. package/std/hash/benchmark.zig +2 -2
  958. package/std/hash/wyhash.zig +2 -2
  959. package/std/hash/xxhash.zig +0 -6
  960. package/std/hash_map.zig +20 -1
  961. package/std/heap/BufferFirstAllocator.zig +165 -0
  962. package/std/heap/debug_allocator.zig +2 -2
  963. package/std/heap/memory_pool.zig +34 -197
  964. package/std/heap.zig +2 -133
  965. package/std/http/Client.zig +21 -24
  966. package/std/http.zig +4 -5
  967. package/std/json/Scanner.zig +2 -2
  968. package/std/json/static.zig +2 -2
  969. package/std/{builtin.zig → lang.zig} +5 -1
  970. package/std/leb128.zig +2 -2
  971. package/std/math/big/int.zig +5 -5
  972. package/std/math/big.zig +4 -4
  973. package/std/math/copysign.zig +1 -1
  974. package/std/math/float.zig +62 -0
  975. package/std/math/frexp.zig +4 -4
  976. package/std/math/ilogb.zig +1 -1
  977. package/std/math/isfinite.zig +1 -1
  978. package/std/math/isinf.zig +1 -1
  979. package/std/math/isnan.zig +1 -2
  980. package/std/math/isnormal.zig +2 -2
  981. package/std/math/iszero.zig +2 -2
  982. package/std/math/ldexp.zig +2 -2
  983. package/std/math/log10.zig +0 -2
  984. package/std/math/modf.zig +1 -2
  985. package/std/math/nextafter.zig +3 -4
  986. package/std/math/pow.zig +1 -1
  987. package/std/math/powi.zig +2 -3
  988. package/std/math/signbit.zig +0 -1
  989. package/std/math.zig +21 -26
  990. package/std/mem/Allocator.zig +0 -6
  991. package/std/mem.zig +31 -31
  992. package/std/meta/trailer_flags.zig +1 -1
  993. package/std/meta.zig +4 -36
  994. package/std/multi_array_list.zig +24 -0
  995. package/std/os/emscripten.zig +7 -6
  996. package/std/os/linux/IoUring.zig +2 -0
  997. package/std/os/linux/aarch64.zig +41 -12
  998. package/std/os/linux/arc.zig +41 -12
  999. package/std/os/linux/arm.zig +41 -12
  1000. package/std/os/linux/bpf.zig +6 -0
  1001. package/std/os/linux/hexagon.zig +33 -11
  1002. package/std/os/linux/ioctl.zig +2 -2
  1003. package/std/os/linux/loongarch32.zig +41 -13
  1004. package/std/os/linux/loongarch64.zig +41 -12
  1005. package/std/os/linux/m68k.zig +41 -13
  1006. package/std/os/linux/mips.zig +67 -36
  1007. package/std/os/linux/mips64.zig +60 -29
  1008. package/std/os/linux/mipsn32.zig +60 -29
  1009. package/std/os/linux/or1k.zig +41 -12
  1010. package/std/os/linux/powerpc.zig +41 -12
  1011. package/std/os/linux/powerpc64.zig +41 -12
  1012. package/std/os/linux/riscv32.zig +41 -12
  1013. package/std/os/linux/riscv64.zig +41 -12
  1014. package/std/os/linux/s390x.zig +44 -7
  1015. package/std/os/linux/sparc64.zig +83 -52
  1016. package/std/os/linux/syscalls.zig +26 -1
  1017. package/std/os/linux/thumb.zig +52 -36
  1018. package/std/os/linux/x32.zig +41 -12
  1019. package/std/os/linux/x86.zig +44 -15
  1020. package/std/os/linux/x86_64.zig +41 -12
  1021. package/std/os/linux.zig +416 -450
  1022. package/std/os/plan9.zig +1 -1
  1023. package/std/os/uefi/hii.zig +1 -1
  1024. package/std/os/uefi/tables/boot_services.zig +9 -8
  1025. package/std/os/uefi/tables/runtime_services.zig +1 -1
  1026. package/std/os/windows.zig +130 -1
  1027. package/std/os.zig +41 -0
  1028. package/std/posix.zig +1 -1
  1029. package/std/process/Environ.zig +1 -1
  1030. package/std/process.zig +5 -4
  1031. package/std/simd.zig +4 -21
  1032. package/std/sort.zig +3 -3
  1033. package/std/start.zig +17 -4
  1034. package/std/std.zig +8 -1
  1035. package/std/tar/Writer.zig +39 -33
  1036. package/std/tar.zig +8 -4
  1037. package/std/testing.zig +2 -2
  1038. package/std/unicode.zig +13 -8
  1039. package/std/zig/Ast/Render.zig +6 -30
  1040. package/std/zig/Ast.zig +12 -37
  1041. package/std/zig/AstGen.zig +175 -332
  1042. package/std/zig/AstRlAnnotate.zig +1 -22
  1043. package/std/zig/AstSmith.zig +5 -11
  1044. package/std/zig/BuiltinFn.zig +0 -32
  1045. package/std/zig/ErrorBundle.zig +6 -2
  1046. package/std/zig/LibCDirs.zig +15 -6
  1047. package/std/zig/LibCInstallation.zig +34 -12
  1048. package/std/zig/Parse.zig +11 -76
  1049. package/std/zig/TokenSmith.zig +0 -6
  1050. package/std/zig/WindowsSdk.zig +18 -18
  1051. package/std/zig/Zir.zig +65 -132
  1052. package/std/zig/ZonGen.zig +19 -27
  1053. package/std/zig/llvm/Builder.zig +39 -33
  1054. package/std/zig/llvm/bitcode_writer.zig +3 -3
  1055. package/std/zig/llvm/ir.zig +8 -8
  1056. package/std/zig/system/arm.zig +56 -2
  1057. package/std/zig/system/windows.zig +34 -1
  1058. package/std/zig/system/x86.zig +60 -16
  1059. package/std/zig/system.zig +0 -10
  1060. package/std/zig/target.zig +1 -4
  1061. package/std/zig/tokenizer.zig +4 -43
  1062. package/std/zig.zig +3 -14
  1063. package/std/zip.zig +5 -5
  1064. package/std/zon/parse.zig +1 -1
  1065. package/zig.h +340 -1
  1066. package/compiler_rt/long_double.zig +0 -37
  1067. package/include/amxbf16transposeintrin.h +0 -94
  1068. package/include/amxcomplextransposeintrin.h +0 -303
  1069. package/include/amxfp16transposeintrin.h +0 -94
  1070. package/include/amxmovrstransposeintrin.h +0 -200
  1071. package/include/amxtf32transposeintrin.h +0 -105
  1072. package/include/amxtransposeintrin.h +0 -248
  1073. package/libc/include/hexagon-linux-any/asm/signal.h +0 -29
  1074. package/libc/include/s390x-linux-any/asm/tape390.h +0 -103
  1075. package/libc/mingw/math/lrintl.c +0 -18
  1076. package/libc/mingw/math/rintl.c +0 -16
  1077. package/libc/mingw/winpthreads/spinlock.c +0 -82
  1078. package/libc/musl/src/linux/tee.c +0 -8
  1079. package/libc/musl/src/math/i386/lrintl.c +0 -8
  1080. package/libc/musl/src/math/i386/rintl.c +0 -7
  1081. package/libc/musl/src/math/lrintl.c +0 -36
  1082. package/libc/musl/src/math/rintl.c +0 -29
  1083. package/libc/musl/src/math/s390x/rintl.c +0 -15
  1084. package/libc/musl/src/math/x32/lrintl.s +0 -7
  1085. package/libc/musl/src/math/x32/rintl.s +0 -6
  1086. package/libc/musl/src/math/x86_64/lrintl.c +0 -8
  1087. package/libc/musl/src/math/x86_64/rintl.c +0 -7
  1088. package/libc/musl/src/string/strdup.c +0 -10
  1089. package/libc/musl/src/string/strndup.c +0 -12
  1090. package/libc/musl/src/string/wcsdup.c +0 -10
  1091. package/libc/musl/src/thread/pthread_spin_destroy.c +0 -6
  1092. package/libc/musl/src/thread/pthread_spin_init.c +0 -6
  1093. package/libc/musl/src/thread/pthread_spin_lock.c +0 -8
  1094. package/libc/musl/src/thread/pthread_spin_trylock.c +0 -7
  1095. package/libc/musl/src/thread/pthread_spin_unlock.c +0 -7
  1096. package/libc/musl/src/unistd/dup2.c +0 -20
  1097. package/libc/musl/src/unistd/dup3.c +0 -26
  1098. package/libc/wasi/thread-stub/pthread_spin_lock.c +0 -8
  1099. package/libc/wasi/thread-stub/pthread_spin_trylock.c +0 -8
  1100. package/libc/wasi/thread-stub/pthread_spin_unlock.c +0 -7
  1101. package/libtsan/sanitizer_common/sanitizer_coverage_interface.inc +0 -43
  1102. package/std/Build/Step/CheckObject.zig +0 -2764
  1103. /package/std/{builtin → lang}/assembly.zig +0 -0
@@ -5,12 +5,17 @@ const CpuFeature = std.Target.Cpu.Feature;
5
5
  const CpuModel = std.Target.Cpu.Model;
6
6
 
7
7
  pub const Feature = enum {
8
+ @"1024_addressable_vgprs",
8
9
  @"16_bit_insts",
10
+ @"45_bit_num_records_buffer_resource",
9
11
  @"64_bit_literals",
10
12
  a16,
13
+ add_min_max_insts,
11
14
  add_no_carry_insts,
15
+ add_sub_u64_insts,
12
16
  addressablelocalmemorysize163840,
13
17
  addressablelocalmemorysize32768,
18
+ addressablelocalmemorysize327680,
14
19
  addressablelocalmemorysize65536,
15
20
  agent_scope_fine_grained_remote_memory_atomics,
16
21
  allocate1_5xvgprs,
@@ -18,6 +23,7 @@ pub const Feature = enum {
18
23
  architected_flat_scratch,
19
24
  architected_sgprs,
20
25
  ashr_pk_insts,
26
+ assembler_permissive_wavesize,
21
27
  atomic_buffer_global_pk_add_f16_insts,
22
28
  atomic_buffer_global_pk_add_f16_no_rtn_insts,
23
29
  atomic_buffer_pk_add_bf16_inst,
@@ -34,15 +40,22 @@ pub const Feature = enum {
34
40
  auto_waitcnt_before_barrier,
35
41
  back_off_barrier,
36
42
  bf16_cvt_insts,
43
+ bf16_pk_insts,
37
44
  bf16_trans_insts,
38
45
  bf8_cvt_scale_insts,
39
46
  bitop3_insts,
40
47
  block_vgpr_csr,
41
48
  bvh_dual_bvh_8_insts,
42
49
  ci_insts,
50
+ clusters,
51
+ cube_insts,
43
52
  cumode,
44
53
  cvt_fp8_vop1_bug,
54
+ cvt_norm_insts,
45
55
  cvt_pk_f16_f32_inst,
56
+ cvt_pknorm_vop2_insts,
57
+ cvt_pknorm_vop3_insts,
58
+ d16_write_vgpr32,
46
59
  default_component_broadcast,
47
60
  default_component_zero,
48
61
  dl_insts,
@@ -65,8 +78,7 @@ pub const Feature = enum {
65
78
  dpp_src1_sgpr,
66
79
  ds128,
67
80
  ds_src2_insts,
68
- dynamic_vgpr,
69
- dynamic_vgpr_block_size_32,
81
+ emulated_system_scope_atomics,
70
82
  extended_image_insts,
71
83
  f16bf16_to_fp6bf6_cvt_scale_insts,
72
84
  f32_to_f16bf16_cvt_sr_insts,
@@ -77,10 +89,12 @@ pub const Feature = enum {
77
89
  flat_buffer_global_fadd_f64_inst,
78
90
  flat_for_global,
79
91
  flat_global_insts,
92
+ flat_gvs_mode,
80
93
  flat_inst_offsets,
81
94
  flat_scratch,
82
95
  flat_scratch_insts,
83
96
  flat_segment_offset_bug,
97
+ fma_mix_bf16_insts,
84
98
  fma_mix_insts,
85
99
  fmacf64_inst,
86
100
  fmaf,
@@ -113,6 +127,7 @@ pub const Feature = enum {
113
127
  gfx940_insts,
114
128
  gfx950_insts,
115
129
  gfx9_insts,
130
+ globally_addressable_scratch,
116
131
  gws,
117
132
  half_rate_64_ops,
118
133
  ieee_minimum_maximum_insts,
@@ -128,20 +143,24 @@ pub const Feature = enum {
128
143
  lds_misaligned_bug,
129
144
  ldsbankcount16,
130
145
  ldsbankcount32,
146
+ lerp_inst,
131
147
  load_store_opt,
132
148
  lshl_add_u64_inst,
133
149
  mad_intra_fwd_bug,
134
150
  mad_mac_f32_insts,
135
151
  mad_mix_insts,
152
+ mad_u32_inst,
136
153
  mai_insts,
137
154
  max_hard_clause_length_32,
138
155
  max_hard_clause_length_63,
139
156
  max_private_element_size_16,
140
157
  max_private_element_size_4,
141
158
  max_private_element_size_8,
159
+ mcast_load_insts,
142
160
  memory_atomic_fadd_f32_denormal_support,
143
161
  mfma_inline_literal_bug,
144
162
  mimg_r128,
163
+ min3_max3_pkf16,
145
164
  minimum3_maximum3_f16,
146
165
  minimum3_maximum3_f32,
147
166
  minimum3_maximum3_pkf16,
@@ -160,6 +179,7 @@ pub const Feature = enum {
160
179
  partial_nsa_encoding,
161
180
  permlane16_swap,
162
181
  permlane32_swap,
182
+ pk_add_min_max_insts,
163
183
  pk_fmac_f16_inst,
164
184
  point_sample_accel,
165
185
  precise_memory,
@@ -168,6 +188,7 @@ pub const Feature = enum {
168
188
  promote_alloca,
169
189
  prt_strict_null,
170
190
  pseudo_scalar_trans,
191
+ qsad_insts,
171
192
  r128_a16,
172
193
  real_true16,
173
194
  relaxed_buffer_oob_mode,
@@ -176,6 +197,9 @@ pub const Feature = enum {
176
197
  restricted_soffset,
177
198
  s_memrealtime,
178
199
  s_memtime_inst,
200
+ s_wakeup_barrier_inst,
201
+ sad_insts,
202
+ safe_cu_prefetch,
179
203
  safe_smem_prefetch,
180
204
  salu_float,
181
205
  scalar_atomics,
@@ -190,6 +214,7 @@ pub const Feature = enum {
190
214
  sdwa_sdst,
191
215
  sea_islands,
192
216
  setprio_inc_wg_inst,
217
+ setreg_vgpr_msb_fixup,
193
218
  sgpr_init_bug,
194
219
  shader_cycles_hi_lo_registers,
195
220
  shader_cycles_register,
@@ -198,6 +223,8 @@ pub const Feature = enum {
198
223
  southern_islands,
199
224
  sramecc,
200
225
  sramecc_support,
226
+ tanh_insts,
227
+ tensor_cvt_lut_insts,
201
228
  tgsplit,
202
229
  transpose_load_f4f6_insts,
203
230
  trap_handler,
@@ -213,7 +240,9 @@ pub const Feature = enum {
213
240
  valu_trans_use_hazard,
214
241
  vcmpx_exec_war_hazard,
215
242
  vcmpx_permlane_hazard,
243
+ vgpr_align2,
216
244
  vgpr_index_mode,
245
+ vmem_pref_insts,
217
246
  vmem_to_lds_load_insts,
218
247
  vmem_to_scalar_write_hazard,
219
248
  vmem_write_vgpr_in_order,
@@ -223,6 +252,7 @@ pub const Feature = enum {
223
252
  vopd,
224
253
  vscnt,
225
254
  wait_xcnt,
255
+ waits_before_system_scope_stores,
226
256
  wavefrontsize16,
227
257
  wavefrontsize32,
228
258
  wavefrontsize64,
@@ -241,11 +271,21 @@ pub const all_features = blk: {
241
271
  const len = @typeInfo(Feature).@"enum".fields.len;
242
272
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
243
273
  var result: [len]CpuFeature = undefined;
274
+ result[@intFromEnum(Feature.@"1024_addressable_vgprs")] = .{
275
+ .llvm_name = "1024-addressable-vgprs",
276
+ .description = "Has 1024 addressable VGPRs",
277
+ .dependencies = featureSet(&[_]Feature{}),
278
+ };
244
279
  result[@intFromEnum(Feature.@"16_bit_insts")] = .{
245
280
  .llvm_name = "16-bit-insts",
246
281
  .description = "Has i16/f16 instructions",
247
282
  .dependencies = featureSet(&[_]Feature{}),
248
283
  };
284
+ result[@intFromEnum(Feature.@"45_bit_num_records_buffer_resource")] = .{
285
+ .llvm_name = "45-bit-num-records-buffer-resource",
286
+ .description = "The buffer resource (V#) supports 45-bit num_records",
287
+ .dependencies = featureSet(&[_]Feature{}),
288
+ };
249
289
  result[@intFromEnum(Feature.@"64_bit_literals")] = .{
250
290
  .llvm_name = "64-bit-literals",
251
291
  .description = "Can use 64-bit literals with single DWORD instructions",
@@ -256,11 +296,21 @@ pub const all_features = blk: {
256
296
  .description = "Support A16 for 16-bit coordinates/gradients/lod/clamp/mip image operands",
257
297
  .dependencies = featureSet(&[_]Feature{}),
258
298
  };
299
+ result[@intFromEnum(Feature.add_min_max_insts)] = .{
300
+ .llvm_name = "add-min-max-insts",
301
+ .description = "Has v_add_{min|max}_{i|u}32 instructions",
302
+ .dependencies = featureSet(&[_]Feature{}),
303
+ };
259
304
  result[@intFromEnum(Feature.add_no_carry_insts)] = .{
260
305
  .llvm_name = "add-no-carry-insts",
261
306
  .description = "Have VALU add/sub instructions without carry out",
262
307
  .dependencies = featureSet(&[_]Feature{}),
263
308
  };
309
+ result[@intFromEnum(Feature.add_sub_u64_insts)] = .{
310
+ .llvm_name = "add-sub-u64-insts",
311
+ .description = "Has v_add_u64 and v_sub_u64 instructions",
312
+ .dependencies = featureSet(&[_]Feature{}),
313
+ };
264
314
  result[@intFromEnum(Feature.addressablelocalmemorysize163840)] = .{
265
315
  .llvm_name = "addressablelocalmemorysize163840",
266
316
  .description = "The size of local memory in bytes",
@@ -271,6 +321,11 @@ pub const all_features = blk: {
271
321
  .description = "The size of local memory in bytes",
272
322
  .dependencies = featureSet(&[_]Feature{}),
273
323
  };
324
+ result[@intFromEnum(Feature.addressablelocalmemorysize327680)] = .{
325
+ .llvm_name = "addressablelocalmemorysize327680",
326
+ .description = "The size of local memory in bytes",
327
+ .dependencies = featureSet(&[_]Feature{}),
328
+ };
274
329
  result[@intFromEnum(Feature.addressablelocalmemorysize65536)] = .{
275
330
  .llvm_name = "addressablelocalmemorysize65536",
276
331
  .description = "The size of local memory in bytes",
@@ -306,6 +361,11 @@ pub const all_features = blk: {
306
361
  .description = "Has Arithmetic Shift Pack instructions",
307
362
  .dependencies = featureSet(&[_]Feature{}),
308
363
  };
364
+ result[@intFromEnum(Feature.assembler_permissive_wavesize)] = .{
365
+ .llvm_name = "assembler-permissive-wavesize",
366
+ .description = "allow parsing wave32 and wave64 variants of instructions",
367
+ .dependencies = featureSet(&[_]Feature{}),
368
+ };
309
369
  result[@intFromEnum(Feature.atomic_buffer_global_pk_add_f16_insts)] = .{
310
370
  .llvm_name = "atomic-buffer-global-pk-add-f16-insts",
311
371
  .description = "Has buffer_atomic_pk_add_f16 and global_atomic_pk_add_f16 instructions that can return original value",
@@ -357,12 +417,16 @@ pub const all_features = blk: {
357
417
  result[@intFromEnum(Feature.atomic_fmin_fmax_flat_f32)] = .{
358
418
  .llvm_name = "atomic-fmin-fmax-flat-f32",
359
419
  .description = "Has flat memory instructions for atomicrmw fmin/fmax for float",
360
- .dependencies = featureSet(&[_]Feature{}),
420
+ .dependencies = featureSet(&[_]Feature{
421
+ .flat_address_space,
422
+ }),
361
423
  };
362
424
  result[@intFromEnum(Feature.atomic_fmin_fmax_flat_f64)] = .{
363
425
  .llvm_name = "atomic-fmin-fmax-flat-f64",
364
426
  .description = "Has flat memory instructions for atomicrmw fmin/fmax for double",
365
- .dependencies = featureSet(&[_]Feature{}),
427
+ .dependencies = featureSet(&[_]Feature{
428
+ .flat_address_space,
429
+ }),
366
430
  };
367
431
  result[@intFromEnum(Feature.atomic_fmin_fmax_global_f32)] = .{
368
432
  .llvm_name = "atomic-fmin-fmax-global-f32",
@@ -396,6 +460,11 @@ pub const all_features = blk: {
396
460
  .description = "Has bf16 conversion instructions",
397
461
  .dependencies = featureSet(&[_]Feature{}),
398
462
  };
463
+ result[@intFromEnum(Feature.bf16_pk_insts)] = .{
464
+ .llvm_name = "bf16-pk-insts",
465
+ .description = "Has bf16 packed instructions (fma, add, mul, max, min)",
466
+ .dependencies = featureSet(&[_]Feature{}),
467
+ };
399
468
  result[@intFromEnum(Feature.bf16_trans_insts)] = .{
400
469
  .llvm_name = "bf16-trans-insts",
401
470
  .description = "Has bf16 transcendental instructions",
@@ -426,6 +495,16 @@ pub const all_features = blk: {
426
495
  .description = "Additional instructions for CI+",
427
496
  .dependencies = featureSet(&[_]Feature{}),
428
497
  };
498
+ result[@intFromEnum(Feature.clusters)] = .{
499
+ .llvm_name = "clusters",
500
+ .description = "Has clusters of workgroups support",
501
+ .dependencies = featureSet(&[_]Feature{}),
502
+ };
503
+ result[@intFromEnum(Feature.cube_insts)] = .{
504
+ .llvm_name = "cube-insts",
505
+ .description = "Has v_cube* instructions",
506
+ .dependencies = featureSet(&[_]Feature{}),
507
+ };
429
508
  result[@intFromEnum(Feature.cumode)] = .{
430
509
  .llvm_name = "cumode",
431
510
  .description = "Enable CU wavefront execution mode",
@@ -438,11 +517,31 @@ pub const all_features = blk: {
438
517
  .fp8_conversion_insts,
439
518
  }),
440
519
  };
520
+ result[@intFromEnum(Feature.cvt_norm_insts)] = .{
521
+ .llvm_name = "cvt-norm-insts",
522
+ .description = "Has v_cvt_norm* instructions",
523
+ .dependencies = featureSet(&[_]Feature{}),
524
+ };
441
525
  result[@intFromEnum(Feature.cvt_pk_f16_f32_inst)] = .{
442
526
  .llvm_name = "cvt-pk-f16-f32-inst",
443
527
  .description = "Has cvt_pk_f16_f32 instruction",
444
528
  .dependencies = featureSet(&[_]Feature{}),
445
529
  };
530
+ result[@intFromEnum(Feature.cvt_pknorm_vop2_insts)] = .{
531
+ .llvm_name = "cvt-pknorm-vop2-insts",
532
+ .description = "Has v_cvt_pk_norm_*f32 instructions/Has v_cvt_pk_norm_*_f16 instructions",
533
+ .dependencies = featureSet(&[_]Feature{}),
534
+ };
535
+ result[@intFromEnum(Feature.cvt_pknorm_vop3_insts)] = .{
536
+ .llvm_name = "cvt-pknorm-vop3-insts",
537
+ .description = "Has v_cvt_pk_norm_*f32 instructions/Has v_cvt_pk_norm_*_f16 instructions",
538
+ .dependencies = featureSet(&[_]Feature{}),
539
+ };
540
+ result[@intFromEnum(Feature.d16_write_vgpr32)] = .{
541
+ .llvm_name = "d16-write-vgpr32",
542
+ .description = "D16 instructions potentially have 32-bit data dependencies",
543
+ .dependencies = featureSet(&[_]Feature{}),
544
+ };
446
545
  result[@intFromEnum(Feature.default_component_broadcast)] = .{
447
546
  .llvm_name = "default-component-broadcast",
448
547
  .description = "BUFFER/IMAGE store instructions set unspecified components to x component (GFX12)",
@@ -553,14 +652,9 @@ pub const all_features = blk: {
553
652
  .description = "Has ds_*_src2 instructions",
554
653
  .dependencies = featureSet(&[_]Feature{}),
555
654
  };
556
- result[@intFromEnum(Feature.dynamic_vgpr)] = .{
557
- .llvm_name = "dynamic-vgpr",
558
- .description = "Enable dynamic VGPR mode",
559
- .dependencies = featureSet(&[_]Feature{}),
560
- };
561
- result[@intFromEnum(Feature.dynamic_vgpr_block_size_32)] = .{
562
- .llvm_name = "dynamic-vgpr-block-size-32",
563
- .description = "Use a block size of 32 for dynamic VGPR allocation (default is 16)",
655
+ result[@intFromEnum(Feature.emulated_system_scope_atomics)] = .{
656
+ .llvm_name = "emulated-system-scope-atomics",
657
+ .description = "System scope atomics unsupported by the PCI-e are emulated in HW via CAS loop and functional.",
564
658
  .dependencies = featureSet(&[_]Feature{}),
565
659
  };
566
660
  result[@intFromEnum(Feature.extended_image_insts)] = .{
@@ -596,7 +690,9 @@ pub const all_features = blk: {
596
690
  result[@intFromEnum(Feature.flat_atomic_fadd_f32_inst)] = .{
597
691
  .llvm_name = "flat-atomic-fadd-f32-inst",
598
692
  .description = "Has flat_atomic_add_f32 instruction",
599
- .dependencies = featureSet(&[_]Feature{}),
693
+ .dependencies = featureSet(&[_]Feature{
694
+ .flat_address_space,
695
+ }),
600
696
  };
601
697
  result[@intFromEnum(Feature.flat_buffer_global_fadd_f64_inst)] = .{
602
698
  .llvm_name = "flat-buffer-global-fadd-f64-inst",
@@ -611,7 +707,16 @@ pub const all_features = blk: {
611
707
  result[@intFromEnum(Feature.flat_global_insts)] = .{
612
708
  .llvm_name = "flat-global-insts",
613
709
  .description = "Have global_* flat memory instructions",
614
- .dependencies = featureSet(&[_]Feature{}),
710
+ .dependencies = featureSet(&[_]Feature{
711
+ .flat_address_space,
712
+ }),
713
+ };
714
+ result[@intFromEnum(Feature.flat_gvs_mode)] = .{
715
+ .llvm_name = "flat-gvs-mode",
716
+ .description = "Have GVS addressing mode with flat_* instructions",
717
+ .dependencies = featureSet(&[_]Feature{
718
+ .flat_address_space,
719
+ }),
615
720
  };
616
721
  result[@intFromEnum(Feature.flat_inst_offsets)] = .{
617
722
  .llvm_name = "flat-inst-offsets",
@@ -626,13 +731,20 @@ pub const all_features = blk: {
626
731
  result[@intFromEnum(Feature.flat_scratch_insts)] = .{
627
732
  .llvm_name = "flat-scratch-insts",
628
733
  .description = "Have scratch_* flat memory instructions",
629
- .dependencies = featureSet(&[_]Feature{}),
734
+ .dependencies = featureSet(&[_]Feature{
735
+ .flat_address_space,
736
+ }),
630
737
  };
631
738
  result[@intFromEnum(Feature.flat_segment_offset_bug)] = .{
632
739
  .llvm_name = "flat-segment-offset-bug",
633
740
  .description = "GFX10 bug where inst_offset is ignored when flat instructions access global memory",
634
741
  .dependencies = featureSet(&[_]Feature{}),
635
742
  };
743
+ result[@intFromEnum(Feature.fma_mix_bf16_insts)] = .{
744
+ .llvm_name = "fma-mix-bf16-insts",
745
+ .description = "Has v_fma_mix_f32_bf16, v_fma_mixlo_bf16, v_fma_mixhi_bf16 instructions",
746
+ .dependencies = featureSet(&[_]Feature{}),
747
+ };
636
748
  result[@intFromEnum(Feature.fma_mix_insts)] = .{
637
749
  .llvm_name = "fma-mix-insts",
638
750
  .description = "Has v_fma_mix_f32, v_fma_mixlo_f16, v_fma_mixhi_f16 instructions",
@@ -722,13 +834,16 @@ pub const all_features = blk: {
722
834
  .atomic_fmin_fmax_global_f32,
723
835
  .atomic_fmin_fmax_global_f64,
724
836
  .ci_insts,
837
+ .cube_insts,
838
+ .cvt_norm_insts,
839
+ .cvt_pknorm_vop2_insts,
840
+ .cvt_pknorm_vop3_insts,
725
841
  .default_component_zero,
726
842
  .dpp,
727
843
  .dpp8,
728
844
  .extended_image_insts,
729
845
  .fast_denormal_f32,
730
846
  .fast_fmaf,
731
- .flat_address_space,
732
847
  .flat_global_insts,
733
848
  .flat_inst_offsets,
734
849
  .flat_scratch_insts,
@@ -743,14 +858,17 @@ pub const all_features = blk: {
743
858
  .image_insts,
744
859
  .int_clamp_insts,
745
860
  .inv_2pi_inline_imm,
861
+ .lerp_inst,
746
862
  .max_hard_clause_length_63,
747
863
  .mimg_r128,
748
864
  .movrel,
749
865
  .no_data_dep_hazard,
750
866
  .no_sdst_cmpx,
751
867
  .pk_fmac_f16_inst,
868
+ .qsad_insts,
752
869
  .s_memrealtime,
753
870
  .s_memtime_inst,
871
+ .sad_insts,
754
872
  .sdwa,
755
873
  .sdwa_omod,
756
874
  .sdwa_scalar,
@@ -797,13 +915,16 @@ pub const all_features = blk: {
797
915
  .atomic_fmin_fmax_flat_f32,
798
916
  .atomic_fmin_fmax_global_f32,
799
917
  .ci_insts,
918
+ .cube_insts,
919
+ .cvt_norm_insts,
920
+ .cvt_pknorm_vop2_insts,
921
+ .cvt_pknorm_vop3_insts,
800
922
  .default_component_zero,
801
923
  .dpp,
802
924
  .dpp8,
803
925
  .extended_image_insts,
804
926
  .fast_denormal_f32,
805
927
  .fast_fmaf,
806
- .flat_address_space,
807
928
  .flat_global_insts,
808
929
  .flat_inst_offsets,
809
930
  .flat_scratch_insts,
@@ -821,12 +942,15 @@ pub const all_features = blk: {
821
942
  .gws,
822
943
  .int_clamp_insts,
823
944
  .inv_2pi_inline_imm,
945
+ .lerp_inst,
824
946
  .max_hard_clause_length_32,
825
947
  .mimg_r128,
826
948
  .movrel,
827
949
  .no_data_dep_hazard,
828
950
  .no_sdst_cmpx,
829
951
  .pk_fmac_f16_inst,
952
+ .qsad_insts,
953
+ .sad_insts,
830
954
  .true16,
831
955
  .unaligned_buffer_access,
832
956
  .unaligned_ds_access,
@@ -850,7 +974,6 @@ pub const all_features = blk: {
850
974
  .@"16_bit_insts",
851
975
  .a16,
852
976
  .add_no_carry_insts,
853
- .addressablelocalmemorysize65536,
854
977
  .agent_scope_fine_grained_remote_memory_atomics,
855
978
  .aperture_regs,
856
979
  .atomic_fmin_fmax_flat_f32,
@@ -861,7 +984,6 @@ pub const all_features = blk: {
861
984
  .dpp8,
862
985
  .fast_denormal_f32,
863
986
  .fast_fmaf,
864
- .flat_address_space,
865
987
  .flat_global_insts,
866
988
  .flat_inst_offsets,
867
989
  .flat_scratch_insts,
@@ -926,11 +1048,14 @@ pub const all_features = blk: {
926
1048
  .add_no_carry_insts,
927
1049
  .aperture_regs,
928
1050
  .ci_insts,
1051
+ .cube_insts,
1052
+ .cvt_norm_insts,
1053
+ .cvt_pknorm_vop2_insts,
1054
+ .cvt_pknorm_vop3_insts,
929
1055
  .default_component_zero,
930
1056
  .dpp,
931
1057
  .fast_denormal_f32,
932
1058
  .fast_fmaf,
933
- .flat_address_space,
934
1059
  .flat_global_insts,
935
1060
  .flat_inst_offsets,
936
1061
  .flat_scratch_insts,
@@ -942,10 +1067,13 @@ pub const all_features = blk: {
942
1067
  .gws,
943
1068
  .int_clamp_insts,
944
1069
  .inv_2pi_inline_imm,
1070
+ .lerp_inst,
945
1071
  .negative_scratch_offset_bug,
1072
+ .qsad_insts,
946
1073
  .r128_a16,
947
1074
  .s_memrealtime,
948
1075
  .s_memtime_inst,
1076
+ .sad_insts,
949
1077
  .scalar_atomics,
950
1078
  .scalar_flat_scratch_insts,
951
1079
  .scalar_stores,
@@ -997,6 +1125,11 @@ pub const all_features = blk: {
997
1125
  .description = "Additional instructions for GFX9+",
998
1126
  .dependencies = featureSet(&[_]Feature{}),
999
1127
  };
1128
+ result[@intFromEnum(Feature.globally_addressable_scratch)] = .{
1129
+ .llvm_name = "globally-addressable-scratch",
1130
+ .description = "FLAT instructions can access scratch memory for any thread in any wave",
1131
+ .dependencies = featureSet(&[_]Feature{}),
1132
+ };
1000
1133
  result[@intFromEnum(Feature.gws)] = .{
1001
1134
  .llvm_name = "gws",
1002
1135
  .description = "Has Global Wave Sync",
@@ -1072,6 +1205,11 @@ pub const all_features = blk: {
1072
1205
  .description = "The number of LDS banks per compute unit.",
1073
1206
  .dependencies = featureSet(&[_]Feature{}),
1074
1207
  };
1208
+ result[@intFromEnum(Feature.lerp_inst)] = .{
1209
+ .llvm_name = "lerp-inst",
1210
+ .description = "Has v_lerp_u8 instruction",
1211
+ .dependencies = featureSet(&[_]Feature{}),
1212
+ };
1075
1213
  result[@intFromEnum(Feature.load_store_opt)] = .{
1076
1214
  .llvm_name = "load-store-opt",
1077
1215
  .description = "Enable SI load/store optimizer pass",
@@ -1097,6 +1235,11 @@ pub const all_features = blk: {
1097
1235
  .description = "Has v_mad_mix_f32, v_mad_mixlo_f16, v_mad_mixhi_f16 instructions",
1098
1236
  .dependencies = featureSet(&[_]Feature{}),
1099
1237
  };
1238
+ result[@intFromEnum(Feature.mad_u32_inst)] = .{
1239
+ .llvm_name = "mad-u32-inst",
1240
+ .description = "Has v_mad_u32 instruction",
1241
+ .dependencies = featureSet(&[_]Feature{}),
1242
+ };
1100
1243
  result[@intFromEnum(Feature.mai_insts)] = .{
1101
1244
  .llvm_name = "mai-insts",
1102
1245
  .description = "Has mAI instructions",
@@ -1127,6 +1270,11 @@ pub const all_features = blk: {
1127
1270
  .description = "Maximum private access size may be 8",
1128
1271
  .dependencies = featureSet(&[_]Feature{}),
1129
1272
  };
1273
+ result[@intFromEnum(Feature.mcast_load_insts)] = .{
1274
+ .llvm_name = "mcast-load-insts",
1275
+ .description = "Has multicast load instructions",
1276
+ .dependencies = featureSet(&[_]Feature{}),
1277
+ };
1130
1278
  result[@intFromEnum(Feature.memory_atomic_fadd_f32_denormal_support)] = .{
1131
1279
  .llvm_name = "memory-atomic-fadd-f32-denormal-support",
1132
1280
  .description = "global/flat/buffer atomic fadd for float supports denormal handling",
@@ -1142,6 +1290,11 @@ pub const all_features = blk: {
1142
1290
  .description = "Support 128-bit texture resources",
1143
1291
  .dependencies = featureSet(&[_]Feature{}),
1144
1292
  };
1293
+ result[@intFromEnum(Feature.min3_max3_pkf16)] = .{
1294
+ .llvm_name = "min3-max3-pkf16",
1295
+ .description = "Has v_pk_min3_num_f16 and v_pk_max3_num_f16 instructions",
1296
+ .dependencies = featureSet(&[_]Feature{}),
1297
+ };
1145
1298
  result[@intFromEnum(Feature.minimum3_maximum3_f16)] = .{
1146
1299
  .llvm_name = "minimum3-maximum3-f16",
1147
1300
  .description = "Has v_minimum3_f16 and v_maximum3_f16 instructions",
@@ -1232,6 +1385,11 @@ pub const all_features = blk: {
1232
1385
  .description = "Has v_permlane32_swap_b32 instructions",
1233
1386
  .dependencies = featureSet(&[_]Feature{}),
1234
1387
  };
1388
+ result[@intFromEnum(Feature.pk_add_min_max_insts)] = .{
1389
+ .llvm_name = "pk-add-min-max-insts",
1390
+ .description = "Has v_pk_add_{min|max}_{i|u}16 instructions",
1391
+ .dependencies = featureSet(&[_]Feature{}),
1392
+ };
1235
1393
  result[@intFromEnum(Feature.pk_fmac_f16_inst)] = .{
1236
1394
  .llvm_name = "pk-fmac-f16-inst",
1237
1395
  .description = "Has v_pk_fmac_f16 instruction",
@@ -1272,6 +1430,11 @@ pub const all_features = blk: {
1272
1430
  .description = "Has Pseudo Scalar Transcendental instructions",
1273
1431
  .dependencies = featureSet(&[_]Feature{}),
1274
1432
  };
1433
+ result[@intFromEnum(Feature.qsad_insts)] = .{
1434
+ .llvm_name = "qsad-insts",
1435
+ .description = "Has v_qsad* instructions",
1436
+ .dependencies = featureSet(&[_]Feature{}),
1437
+ };
1275
1438
  result[@intFromEnum(Feature.r128_a16)] = .{
1276
1439
  .llvm_name = "r128-a16",
1277
1440
  .description = "Support gfx9-style A16 for 16-bit coordinates/gradients/lod/clamp/mip image operands, where a16 is aliased with r128",
@@ -1312,6 +1475,21 @@ pub const all_features = blk: {
1312
1475
  .description = "Has s_memtime instruction",
1313
1476
  .dependencies = featureSet(&[_]Feature{}),
1314
1477
  };
1478
+ result[@intFromEnum(Feature.s_wakeup_barrier_inst)] = .{
1479
+ .llvm_name = "s-wakeup-barrier-inst",
1480
+ .description = "Has s_wakeup_barrier instruction.",
1481
+ .dependencies = featureSet(&[_]Feature{}),
1482
+ };
1483
+ result[@intFromEnum(Feature.sad_insts)] = .{
1484
+ .llvm_name = "sad-insts",
1485
+ .description = "Has v_sad* instructions",
1486
+ .dependencies = featureSet(&[_]Feature{}),
1487
+ };
1488
+ result[@intFromEnum(Feature.safe_cu_prefetch)] = .{
1489
+ .llvm_name = "safe-cu-prefetch",
1490
+ .description = "VMEM CU scope prefetches do not fail on illegal address",
1491
+ .dependencies = featureSet(&[_]Feature{}),
1492
+ };
1315
1493
  result[@intFromEnum(Feature.safe_smem_prefetch)] = .{
1316
1494
  .llvm_name = "safe-smem-prefetch",
1317
1495
  .description = "SMEM prefetches do not fail on illegal address",
@@ -1382,19 +1560,23 @@ pub const all_features = blk: {
1382
1560
  .atomic_fmin_fmax_global_f32,
1383
1561
  .atomic_fmin_fmax_global_f64,
1384
1562
  .ci_insts,
1563
+ .cube_insts,
1564
+ .cvt_pknorm_vop2_insts,
1385
1565
  .default_component_zero,
1386
1566
  .ds_src2_insts,
1387
1567
  .extended_image_insts,
1388
- .flat_address_space,
1389
1568
  .fp64,
1390
1569
  .gds,
1391
1570
  .gfx7_gfx8_gfx9_insts,
1392
1571
  .gws,
1393
1572
  .image_insts,
1573
+ .lerp_inst,
1394
1574
  .mad_mac_f32_insts,
1395
1575
  .mimg_r128,
1396
1576
  .movrel,
1577
+ .qsad_insts,
1397
1578
  .s_memtime_inst,
1579
+ .sad_insts,
1398
1580
  .trig_reduced_range,
1399
1581
  .unaligned_buffer_access,
1400
1582
  .vmem_write_vgpr_in_order,
@@ -1406,6 +1588,11 @@ pub const all_features = blk: {
1406
1588
  .description = "Has s_setprio_inc_wg instruction.",
1407
1589
  .dependencies = featureSet(&[_]Feature{}),
1408
1590
  };
1591
+ result[@intFromEnum(Feature.setreg_vgpr_msb_fixup)] = .{
1592
+ .llvm_name = "setreg-vgpr-msb-fixup",
1593
+ .description = "S_SETREG to MODE clobbers VGPR MSB bits, requires fixup",
1594
+ .dependencies = featureSet(&[_]Feature{}),
1595
+ };
1409
1596
  result[@intFromEnum(Feature.sgpr_init_bug)] = .{
1410
1597
  .llvm_name = "sgpr-init-bug",
1411
1598
  .description = "VI SGPR initialization bug requiring a fixed SGPR allocation size",
@@ -1438,6 +1625,8 @@ pub const all_features = blk: {
1438
1625
  .addressablelocalmemorysize32768,
1439
1626
  .atomic_fmin_fmax_global_f32,
1440
1627
  .atomic_fmin_fmax_global_f64,
1628
+ .cube_insts,
1629
+ .cvt_pknorm_vop2_insts,
1441
1630
  .default_component_zero,
1442
1631
  .ds_src2_insts,
1443
1632
  .extended_image_insts,
@@ -1446,10 +1635,12 @@ pub const all_features = blk: {
1446
1635
  .gws,
1447
1636
  .image_insts,
1448
1637
  .ldsbankcount32,
1638
+ .lerp_inst,
1449
1639
  .mad_mac_f32_insts,
1450
1640
  .mimg_r128,
1451
1641
  .movrel,
1452
1642
  .s_memtime_inst,
1643
+ .sad_insts,
1453
1644
  .trig_reduced_range,
1454
1645
  .vmem_write_vgpr_in_order,
1455
1646
  .wavefrontsize64,
@@ -1465,6 +1656,16 @@ pub const all_features = blk: {
1465
1656
  .description = "Hardware supports SRAMECC",
1466
1657
  .dependencies = featureSet(&[_]Feature{}),
1467
1658
  };
1659
+ result[@intFromEnum(Feature.tanh_insts)] = .{
1660
+ .llvm_name = "tanh-insts",
1661
+ .description = "Has v_tanh_f32/f16 instructions",
1662
+ .dependencies = featureSet(&[_]Feature{}),
1663
+ };
1664
+ result[@intFromEnum(Feature.tensor_cvt_lut_insts)] = .{
1665
+ .llvm_name = "tensor-cvt-lut-insts",
1666
+ .description = "Has v_perm_pk16* instructions",
1667
+ .dependencies = featureSet(&[_]Feature{}),
1668
+ };
1468
1669
  result[@intFromEnum(Feature.tgsplit)] = .{
1469
1670
  .llvm_name = "tgsplit",
1470
1671
  .description = "Enable threadgroup split execution",
@@ -1540,11 +1741,21 @@ pub const all_features = blk: {
1540
1741
  .description = "TODO: describe me",
1541
1742
  .dependencies = featureSet(&[_]Feature{}),
1542
1743
  };
1744
+ result[@intFromEnum(Feature.vgpr_align2)] = .{
1745
+ .llvm_name = "vgpr-align2",
1746
+ .description = "VGPR and AGPR tuple operands require even alignment",
1747
+ .dependencies = featureSet(&[_]Feature{}),
1748
+ };
1543
1749
  result[@intFromEnum(Feature.vgpr_index_mode)] = .{
1544
1750
  .llvm_name = "vgpr-index-mode",
1545
1751
  .description = "Has VGPR mode register indexing",
1546
1752
  .dependencies = featureSet(&[_]Feature{}),
1547
1753
  };
1754
+ result[@intFromEnum(Feature.vmem_pref_insts)] = .{
1755
+ .llvm_name = "vmem-pref-insts",
1756
+ .description = "Has flat_prefect_b8 and global_prefetch_b8 instructions",
1757
+ .dependencies = featureSet(&[_]Feature{}),
1758
+ };
1548
1759
  result[@intFromEnum(Feature.vmem_to_lds_load_insts)] = .{
1549
1760
  .llvm_name = "vmem-to-lds-load-insts",
1550
1761
  .description = "The platform has memory to lds instructions (global_load w/lds bit set, buffer_load w/lds bit set or global_load_lds. This does not include scratch_load_lds.",
@@ -1567,6 +1778,8 @@ pub const all_features = blk: {
1567
1778
  .@"16_bit_insts",
1568
1779
  .addressablelocalmemorysize65536,
1569
1780
  .ci_insts,
1781
+ .cube_insts,
1782
+ .cvt_pknorm_vop2_insts,
1570
1783
  .default_component_zero,
1571
1784
  .dpp,
1572
1785
  .ds_src2_insts,
@@ -1582,11 +1795,14 @@ pub const all_features = blk: {
1582
1795
  .image_insts,
1583
1796
  .int_clamp_insts,
1584
1797
  .inv_2pi_inline_imm,
1798
+ .lerp_inst,
1585
1799
  .mad_mac_f32_insts,
1586
1800
  .mimg_r128,
1587
1801
  .movrel,
1802
+ .qsad_insts,
1588
1803
  .s_memrealtime,
1589
1804
  .s_memtime_inst,
1805
+ .sad_insts,
1590
1806
  .scalar_stores,
1591
1807
  .sdwa,
1592
1808
  .sdwa_mav,
@@ -1623,6 +1839,11 @@ pub const all_features = blk: {
1623
1839
  .description = "Has s_wait_xcnt instruction",
1624
1840
  .dependencies = featureSet(&[_]Feature{}),
1625
1841
  };
1842
+ result[@intFromEnum(Feature.waits_before_system_scope_stores)] = .{
1843
+ .llvm_name = "waits-before-system-scope-stores",
1844
+ .description = "Target requires waits for loads and atomics before system scope stores",
1845
+ .dependencies = featureSet(&[_]Feature{}),
1846
+ };
1626
1847
  result[@intFromEnum(Feature.wavefrontsize16)] = .{
1627
1848
  .llvm_name = "wavefrontsize16",
1628
1849
  .description = "The number of threads per wavefront",
@@ -2044,6 +2265,8 @@ pub const cpu = struct {
2044
2265
  .architected_flat_scratch,
2045
2266
  .atomic_fadd_no_rtn_insts,
2046
2267
  .atomic_fadd_rtn_insts,
2268
+ .back_off_barrier,
2269
+ .d16_write_vgpr32,
2047
2270
  .dl_insts,
2048
2271
  .dot10_insts,
2049
2272
  .dot12_insts,
@@ -2077,6 +2300,8 @@ pub const cpu = struct {
2077
2300
  .architected_flat_scratch,
2078
2301
  .atomic_fadd_no_rtn_insts,
2079
2302
  .atomic_fadd_rtn_insts,
2303
+ .back_off_barrier,
2304
+ .d16_write_vgpr32,
2080
2305
  .dl_insts,
2081
2306
  .dot10_insts,
2082
2307
  .dot12_insts,
@@ -2108,6 +2333,8 @@ pub const cpu = struct {
2108
2333
  .architected_flat_scratch,
2109
2334
  .atomic_fadd_no_rtn_insts,
2110
2335
  .atomic_fadd_rtn_insts,
2336
+ .back_off_barrier,
2337
+ .d16_write_vgpr32,
2111
2338
  .dl_insts,
2112
2339
  .dot10_insts,
2113
2340
  .dot12_insts,
@@ -2140,6 +2367,8 @@ pub const cpu = struct {
2140
2367
  .architected_flat_scratch,
2141
2368
  .atomic_fadd_no_rtn_insts,
2142
2369
  .atomic_fadd_rtn_insts,
2370
+ .back_off_barrier,
2371
+ .d16_write_vgpr32,
2143
2372
  .dl_insts,
2144
2373
  .dot10_insts,
2145
2374
  .dot12_insts,
@@ -2171,6 +2400,8 @@ pub const cpu = struct {
2171
2400
  .architected_flat_scratch,
2172
2401
  .atomic_fadd_no_rtn_insts,
2173
2402
  .atomic_fadd_rtn_insts,
2403
+ .back_off_barrier,
2404
+ .d16_write_vgpr32,
2174
2405
  .dl_insts,
2175
2406
  .dot10_insts,
2176
2407
  .dot12_insts,
@@ -2188,6 +2419,7 @@ pub const cpu = struct {
2188
2419
  .packed_tid,
2189
2420
  .partial_nsa_encoding,
2190
2421
  .point_sample_accel,
2422
+ .real_true16,
2191
2423
  .required_export_priority,
2192
2424
  .salu_float,
2193
2425
  .shader_cycles_register,
@@ -2202,6 +2434,8 @@ pub const cpu = struct {
2202
2434
  .architected_flat_scratch,
2203
2435
  .atomic_fadd_no_rtn_insts,
2204
2436
  .atomic_fadd_rtn_insts,
2437
+ .back_off_barrier,
2438
+ .d16_write_vgpr32,
2205
2439
  .dl_insts,
2206
2440
  .dot10_insts,
2207
2441
  .dot12_insts,
@@ -2219,6 +2453,7 @@ pub const cpu = struct {
2219
2453
  .packed_tid,
2220
2454
  .partial_nsa_encoding,
2221
2455
  .point_sample_accel,
2456
+ .real_true16,
2222
2457
  .required_export_priority,
2223
2458
  .salu_float,
2224
2459
  .shader_cycles_register,
@@ -2232,6 +2467,8 @@ pub const cpu = struct {
2232
2467
  .architected_flat_scratch,
2233
2468
  .atomic_fadd_no_rtn_insts,
2234
2469
  .atomic_fadd_rtn_insts,
2470
+ .back_off_barrier,
2471
+ .d16_write_vgpr32,
2235
2472
  .dl_insts,
2236
2473
  .dot10_insts,
2237
2474
  .dot12_insts,
@@ -2249,6 +2486,7 @@ pub const cpu = struct {
2249
2486
  .packed_tid,
2250
2487
  .partial_nsa_encoding,
2251
2488
  .point_sample_accel,
2489
+ .real_true16,
2252
2490
  .required_export_priority,
2253
2491
  .salu_float,
2254
2492
  .shader_cycles_register,
@@ -2262,6 +2500,8 @@ pub const cpu = struct {
2262
2500
  .architected_flat_scratch,
2263
2501
  .atomic_fadd_no_rtn_insts,
2264
2502
  .atomic_fadd_rtn_insts,
2503
+ .back_off_barrier,
2504
+ .d16_write_vgpr32,
2265
2505
  .dl_insts,
2266
2506
  .dot10_insts,
2267
2507
  .dot12_insts,
@@ -2278,6 +2518,7 @@ pub const cpu = struct {
2278
2518
  .nsa_encoding,
2279
2519
  .packed_tid,
2280
2520
  .partial_nsa_encoding,
2521
+ .real_true16,
2281
2522
  .required_export_priority,
2282
2523
  .salu_float,
2283
2524
  .shader_cycles_register,
@@ -2291,6 +2532,8 @@ pub const cpu = struct {
2291
2532
  .architected_flat_scratch,
2292
2533
  .atomic_fadd_no_rtn_insts,
2293
2534
  .atomic_fadd_rtn_insts,
2535
+ .back_off_barrier,
2536
+ .d16_write_vgpr32,
2294
2537
  .dl_insts,
2295
2538
  .dot10_insts,
2296
2539
  .dot12_insts,
@@ -2309,6 +2552,7 @@ pub const cpu = struct {
2309
2552
  .packed_tid,
2310
2553
  .partial_nsa_encoding,
2311
2554
  .priv_enabled_trap2_nop_bug,
2555
+ .real_true16,
2312
2556
  .required_export_priority,
2313
2557
  .requires_cov6,
2314
2558
  .shader_cycles_register,
@@ -2321,6 +2565,7 @@ pub const cpu = struct {
2321
2565
  .name = "gfx1200",
2322
2566
  .llvm_name = "gfx1200",
2323
2567
  .features = featureSet(&[_]Feature{
2568
+ .addressablelocalmemorysize65536,
2324
2569
  .allocate1_5xvgprs,
2325
2570
  .architected_flat_scratch,
2326
2571
  .architected_sgprs,
@@ -2331,7 +2576,13 @@ pub const cpu = struct {
2331
2576
  .atomic_fadd_rtn_insts,
2332
2577
  .atomic_flat_pk_add_16_insts,
2333
2578
  .atomic_global_pk_add_bf16_inst,
2579
+ .back_off_barrier,
2334
2580
  .bvh_dual_bvh_8_insts,
2581
+ .cube_insts,
2582
+ .cvt_norm_insts,
2583
+ .cvt_pknorm_vop2_insts,
2584
+ .cvt_pknorm_vop3_insts,
2585
+ .d16_write_vgpr32,
2335
2586
  .dl_insts,
2336
2587
  .dot10_insts,
2337
2588
  .dot11_insts,
@@ -2346,22 +2597,27 @@ pub const cpu = struct {
2346
2597
  .gfx12,
2347
2598
  .image_insts,
2348
2599
  .ldsbankcount32,
2600
+ .lerp_inst,
2349
2601
  .memory_atomic_fadd_f32_denormal_support,
2350
2602
  .nsa_encoding,
2351
2603
  .packed_tid,
2352
2604
  .partial_nsa_encoding,
2353
2605
  .pseudo_scalar_trans,
2606
+ .qsad_insts,
2354
2607
  .restricted_soffset,
2608
+ .sad_insts,
2355
2609
  .salu_float,
2356
2610
  .scalar_dwordx3_loads,
2357
2611
  .shader_cycles_hi_lo_registers,
2358
2612
  .vcmpx_permlane_hazard,
2613
+ .waits_before_system_scope_stores,
2359
2614
  }),
2360
2615
  };
2361
2616
  pub const gfx1201: CpuModel = .{
2362
2617
  .name = "gfx1201",
2363
2618
  .llvm_name = "gfx1201",
2364
2619
  .features = featureSet(&[_]Feature{
2620
+ .addressablelocalmemorysize65536,
2365
2621
  .allocate1_5xvgprs,
2366
2622
  .architected_flat_scratch,
2367
2623
  .architected_sgprs,
@@ -2372,7 +2628,13 @@ pub const cpu = struct {
2372
2628
  .atomic_fadd_rtn_insts,
2373
2629
  .atomic_flat_pk_add_16_insts,
2374
2630
  .atomic_global_pk_add_bf16_inst,
2631
+ .back_off_barrier,
2375
2632
  .bvh_dual_bvh_8_insts,
2633
+ .cube_insts,
2634
+ .cvt_norm_insts,
2635
+ .cvt_pknorm_vop2_insts,
2636
+ .cvt_pknorm_vop3_insts,
2637
+ .d16_write_vgpr32,
2376
2638
  .dl_insts,
2377
2639
  .dot10_insts,
2378
2640
  .dot11_insts,
@@ -2387,23 +2649,32 @@ pub const cpu = struct {
2387
2649
  .gfx12,
2388
2650
  .image_insts,
2389
2651
  .ldsbankcount32,
2652
+ .lerp_inst,
2390
2653
  .memory_atomic_fadd_f32_denormal_support,
2391
2654
  .nsa_encoding,
2392
2655
  .packed_tid,
2393
2656
  .partial_nsa_encoding,
2394
2657
  .pseudo_scalar_trans,
2658
+ .qsad_insts,
2395
2659
  .restricted_soffset,
2660
+ .sad_insts,
2396
2661
  .salu_float,
2397
2662
  .scalar_dwordx3_loads,
2398
2663
  .shader_cycles_hi_lo_registers,
2399
2664
  .vcmpx_permlane_hazard,
2665
+ .waits_before_system_scope_stores,
2400
2666
  }),
2401
2667
  };
2402
2668
  pub const gfx1250: CpuModel = .{
2403
2669
  .name = "gfx1250",
2404
2670
  .llvm_name = "gfx1250",
2405
2671
  .features = featureSet(&[_]Feature{
2672
+ .@"1024_addressable_vgprs",
2673
+ .@"45_bit_num_records_buffer_resource",
2406
2674
  .@"64_bit_literals",
2675
+ .add_min_max_insts,
2676
+ .add_sub_u64_insts,
2677
+ .addressablelocalmemorysize327680,
2407
2678
  .architected_flat_scratch,
2408
2679
  .architected_sgprs,
2409
2680
  .ashr_pk_insts,
@@ -2417,49 +2688,164 @@ pub const cpu = struct {
2417
2688
  .atomic_fmin_fmax_global_f64,
2418
2689
  .atomic_global_pk_add_bf16_inst,
2419
2690
  .bf16_cvt_insts,
2691
+ .bf16_pk_insts,
2420
2692
  .bf16_trans_insts,
2421
2693
  .bitop3_insts,
2694
+ .clusters,
2695
+ .cube_insts,
2422
2696
  .cumode,
2697
+ .cvt_norm_insts,
2423
2698
  .cvt_pk_f16_f32_inst,
2699
+ .cvt_pknorm_vop2_insts,
2700
+ .cvt_pknorm_vop3_insts,
2701
+ .d16_write_vgpr32,
2424
2702
  .dl_insts,
2425
2703
  .dot7_insts,
2426
2704
  .dot8_insts,
2427
2705
  .dpp_src1_sgpr,
2706
+ .emulated_system_scope_atomics,
2428
2707
  .flat_atomic_fadd_f32_inst,
2429
2708
  .flat_buffer_global_fadd_f64_inst,
2709
+ .flat_gvs_mode,
2710
+ .fma_mix_bf16_insts,
2430
2711
  .fmacf64_inst,
2431
2712
  .fp8_conversion_insts,
2432
2713
  .fp8e5m3_insts,
2433
2714
  .gfx12,
2434
2715
  .gfx1250_insts,
2716
+ .globally_addressable_scratch,
2435
2717
  .kernarg_preload,
2436
2718
  .lds_barrier_arrive_atomic,
2437
2719
  .ldsbankcount32,
2720
+ .lerp_inst,
2438
2721
  .lshl_add_u64_inst,
2722
+ .mad_u32_inst,
2439
2723
  .max_hard_clause_length_63,
2724
+ .mcast_load_insts,
2440
2725
  .memory_atomic_fadd_f32_denormal_support,
2726
+ .min3_max3_pkf16,
2441
2727
  .minimum3_maximum3_pkf16,
2442
2728
  .packed_fp32_ops,
2443
2729
  .packed_tid,
2444
2730
  .permlane16_swap,
2731
+ .pk_add_min_max_insts,
2445
2732
  .prng_inst,
2446
2733
  .pseudo_scalar_trans,
2734
+ .qsad_insts,
2447
2735
  .restricted_soffset,
2736
+ .s_wakeup_barrier_inst,
2737
+ .sad_insts,
2448
2738
  .salu_float,
2449
2739
  .scalar_dwordx3_loads,
2450
2740
  .setprio_inc_wg_inst,
2741
+ .setreg_vgpr_msb_fixup,
2451
2742
  .shader_cycles_hi_lo_registers,
2452
2743
  .sramecc_support,
2744
+ .tanh_insts,
2745
+ .tensor_cvt_lut_insts,
2453
2746
  .transpose_load_f4f6_insts,
2454
2747
  .vcmpx_permlane_hazard,
2748
+ .vgpr_align2,
2749
+ .vmem_pref_insts,
2455
2750
  .wait_xcnt,
2456
2751
  .wavefrontsize32,
2752
+ .xnack,
2753
+ .xnack_support,
2754
+ }),
2755
+ };
2756
+ pub const gfx1251: CpuModel = .{
2757
+ .name = "gfx1251",
2758
+ .llvm_name = "gfx1251",
2759
+ .features = featureSet(&[_]Feature{
2760
+ .@"1024_addressable_vgprs",
2761
+ .@"45_bit_num_records_buffer_resource",
2762
+ .@"64_bit_literals",
2763
+ .add_min_max_insts,
2764
+ .add_sub_u64_insts,
2765
+ .addressablelocalmemorysize327680,
2766
+ .architected_flat_scratch,
2767
+ .architected_sgprs,
2768
+ .ashr_pk_insts,
2769
+ .atomic_buffer_global_pk_add_f16_insts,
2770
+ .atomic_buffer_pk_add_bf16_inst,
2771
+ .atomic_ds_pk_add_16_insts,
2772
+ .atomic_fadd_no_rtn_insts,
2773
+ .atomic_fadd_rtn_insts,
2774
+ .atomic_flat_pk_add_16_insts,
2775
+ .atomic_fmin_fmax_flat_f64,
2776
+ .atomic_fmin_fmax_global_f64,
2777
+ .atomic_global_pk_add_bf16_inst,
2778
+ .bf16_cvt_insts,
2779
+ .bf16_pk_insts,
2780
+ .bf16_trans_insts,
2781
+ .bitop3_insts,
2782
+ .clusters,
2783
+ .cube_insts,
2784
+ .cumode,
2785
+ .cvt_norm_insts,
2786
+ .cvt_pk_f16_f32_inst,
2787
+ .cvt_pknorm_vop2_insts,
2788
+ .cvt_pknorm_vop3_insts,
2789
+ .d16_write_vgpr32,
2790
+ .dl_insts,
2791
+ .dot7_insts,
2792
+ .dot8_insts,
2793
+ .dpp_64bit,
2794
+ .dpp_src1_sgpr,
2795
+ .emulated_system_scope_atomics,
2796
+ .flat_atomic_fadd_f32_inst,
2797
+ .flat_buffer_global_fadd_f64_inst,
2798
+ .flat_gvs_mode,
2799
+ .fma_mix_bf16_insts,
2800
+ .fmacf64_inst,
2801
+ .fp8_conversion_insts,
2802
+ .fp8e5m3_insts,
2803
+ .gfx12,
2804
+ .gfx1250_insts,
2805
+ .globally_addressable_scratch,
2806
+ .kernarg_preload,
2807
+ .lds_barrier_arrive_atomic,
2808
+ .ldsbankcount32,
2809
+ .lerp_inst,
2810
+ .lshl_add_u64_inst,
2811
+ .mad_u32_inst,
2812
+ .max_hard_clause_length_63,
2813
+ .mcast_load_insts,
2814
+ .memory_atomic_fadd_f32_denormal_support,
2815
+ .min3_max3_pkf16,
2816
+ .minimum3_maximum3_pkf16,
2817
+ .packed_fp32_ops,
2818
+ .packed_tid,
2819
+ .permlane16_swap,
2820
+ .pk_add_min_max_insts,
2821
+ .prng_inst,
2822
+ .pseudo_scalar_trans,
2823
+ .qsad_insts,
2824
+ .restricted_soffset,
2825
+ .s_wakeup_barrier_inst,
2826
+ .sad_insts,
2827
+ .salu_float,
2828
+ .scalar_dwordx3_loads,
2829
+ .setprio_inc_wg_inst,
2830
+ .shader_cycles_hi_lo_registers,
2831
+ .sramecc_support,
2832
+ .tanh_insts,
2833
+ .tensor_cvt_lut_insts,
2834
+ .transpose_load_f4f6_insts,
2835
+ .vcmpx_permlane_hazard,
2836
+ .vgpr_align2,
2837
+ .vmem_pref_insts,
2838
+ .wait_xcnt,
2839
+ .wavefrontsize32,
2840
+ .xnack,
2841
+ .xnack_support,
2457
2842
  }),
2458
2843
  };
2459
2844
  pub const gfx12_generic: CpuModel = .{
2460
2845
  .name = "gfx12_generic",
2461
2846
  .llvm_name = "gfx12-generic",
2462
2847
  .features = featureSet(&[_]Feature{
2848
+ .addressablelocalmemorysize65536,
2463
2849
  .allocate1_5xvgprs,
2464
2850
  .architected_flat_scratch,
2465
2851
  .architected_sgprs,
@@ -2470,7 +2856,13 @@ pub const cpu = struct {
2470
2856
  .atomic_fadd_rtn_insts,
2471
2857
  .atomic_flat_pk_add_16_insts,
2472
2858
  .atomic_global_pk_add_bf16_inst,
2859
+ .back_off_barrier,
2473
2860
  .bvh_dual_bvh_8_insts,
2861
+ .cube_insts,
2862
+ .cvt_norm_insts,
2863
+ .cvt_pknorm_vop2_insts,
2864
+ .cvt_pknorm_vop3_insts,
2865
+ .d16_write_vgpr32,
2474
2866
  .dl_insts,
2475
2867
  .dot10_insts,
2476
2868
  .dot11_insts,
@@ -2485,17 +2877,21 @@ pub const cpu = struct {
2485
2877
  .gfx12,
2486
2878
  .image_insts,
2487
2879
  .ldsbankcount32,
2880
+ .lerp_inst,
2488
2881
  .memory_atomic_fadd_f32_denormal_support,
2489
2882
  .nsa_encoding,
2490
2883
  .packed_tid,
2491
2884
  .partial_nsa_encoding,
2492
2885
  .pseudo_scalar_trans,
2886
+ .qsad_insts,
2493
2887
  .requires_cov6,
2494
2888
  .restricted_soffset,
2889
+ .sad_insts,
2495
2890
  .salu_float,
2496
2891
  .scalar_dwordx3_loads,
2497
2892
  .shader_cycles_hi_lo_registers,
2498
2893
  .vcmpx_permlane_hazard,
2894
+ .waits_before_system_scope_stores,
2499
2895
  }),
2500
2896
  };
2501
2897
  pub const gfx600: CpuModel = .{
@@ -2779,6 +3175,7 @@ pub const cpu = struct {
2779
3175
  .packed_tid,
2780
3176
  .pk_fmac_f16_inst,
2781
3177
  .sramecc_support,
3178
+ .vgpr_align2,
2782
3179
  }),
2783
3180
  };
2784
3181
  pub const gfx90c: CpuModel = .{
@@ -2842,6 +3239,7 @@ pub const cpu = struct {
2842
3239
  .packed_tid,
2843
3240
  .pk_fmac_f16_inst,
2844
3241
  .sramecc_support,
3242
+ .vgpr_align2,
2845
3243
  .xf32_insts,
2846
3244
  }),
2847
3245
  };
@@ -2897,6 +3295,7 @@ pub const cpu = struct {
2897
3295
  .pk_fmac_f16_inst,
2898
3296
  .prng_inst,
2899
3297
  .sramecc_support,
3298
+ .vgpr_align2,
2900
3299
  }),
2901
3300
  };
2902
3301
  pub const gfx9_4_generic: CpuModel = .{
@@ -2943,6 +3342,7 @@ pub const cpu = struct {
2943
3342
  .pk_fmac_f16_inst,
2944
3343
  .requires_cov6,
2945
3344
  .sramecc_support,
3345
+ .vgpr_align2,
2946
3346
  }),
2947
3347
  };
2948
3348
  pub const gfx9_generic: CpuModel = .{