@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
@@ -9,6 +9,7 @@ pub const Feature = enum {
9
9
  addr_lsl_slow_14,
10
10
  aes,
11
11
  aggressive_fma,
12
+ aggressive_interleaving,
12
13
  alternate_sextload_cvt_f32_pattern,
13
14
  altnzcv,
14
15
  alu_lsl_fast,
@@ -22,6 +23,7 @@ pub const Feature = enum {
22
23
  bf16,
23
24
  brbe,
24
25
  bti,
26
+ btie,
25
27
  call_saved_x10,
26
28
  call_saved_x11,
27
29
  call_saved_x12,
@@ -36,6 +38,7 @@ pub const Feature = enum {
36
38
  ccpp,
37
39
  chk,
38
40
  clrbhb,
41
+ cmh,
39
42
  cmp_bcc_fusion,
40
43
  cmpbr,
41
44
  complxnum,
@@ -48,7 +51,9 @@ pub const Feature = enum {
48
51
  disable_fast_inc_vl,
49
52
  disable_latency_sched_heuristic,
50
53
  disable_ldp,
54
+ disable_maximize_scalable_bandwidth,
51
55
  disable_stp,
56
+ disable_unpredicated_ld_st_lower,
52
57
  dit,
53
58
  dotprod,
54
59
  ecv,
@@ -58,6 +63,9 @@ pub const Feature = enum {
58
63
  ete,
59
64
  execute_only,
60
65
  exynos_cheap_as_move,
66
+ f16f32dot,
67
+ f16f32mm,
68
+ f16mm,
61
69
  f32mm,
62
70
  f64mm,
63
71
  f8f16mm,
@@ -86,7 +94,9 @@ pub const Feature = enum {
86
94
  fuse_arith_logic,
87
95
  fuse_crypto_eor,
88
96
  fuse_csel,
97
+ fuse_cset,
89
98
  fuse_literals,
99
+ gcie,
90
100
  gcs,
91
101
  harden_sls_blr,
92
102
  harden_sls_nocomdat,
@@ -99,22 +109,27 @@ pub const Feature = enum {
99
109
  ldp_aligned_only,
100
110
  lor,
101
111
  ls64,
112
+ lscp,
102
113
  lse,
103
114
  lse128,
104
115
  lse2,
105
116
  lsfe,
106
117
  lsui,
107
118
  lut,
119
+ max_interleave_factor_4,
108
120
  mec,
109
121
  mops,
122
+ mops_go,
110
123
  mpam,
124
+ mpamv2,
111
125
  mte,
126
+ mtetc,
112
127
  neon,
113
128
  nmi,
114
129
  no_bti_at_return_twice,
115
130
  no_neg_immediates,
116
131
  no_sve_fp_ld1r,
117
- no_zcz_fp,
132
+ no_zcz_fpr64,
118
133
  nv,
119
134
  occmo,
120
135
  olympus,
@@ -125,6 +140,7 @@ pub const Feature = enum {
125
140
  pauth_lr,
126
141
  pcdphint,
127
142
  perfmon,
143
+ poe2,
128
144
  pops,
129
145
  predictable_select_expensive,
130
146
  predres,
@@ -174,6 +190,7 @@ pub const Feature = enum {
174
190
  sme2,
175
191
  sme2p1,
176
192
  sme2p2,
193
+ sme2p3,
177
194
  sme_b16b16,
178
195
  sme_f16f16,
179
196
  sme_f64f64,
@@ -206,19 +223,22 @@ pub const Feature = enum {
206
223
  sve2_sm4,
207
224
  sve2p1,
208
225
  sve2p2,
226
+ sve2p3,
209
227
  sve_aes,
210
228
  sve_aes2,
211
229
  sve_b16b16,
230
+ sve_b16mm,
212
231
  sve_bfscale,
213
232
  sve_bitperm,
214
233
  sve_f16f32mm,
215
234
  sve_sha3,
216
235
  sve_sm4,
217
236
  tagged_globals,
237
+ tev,
218
238
  the,
219
239
  tlb_rmi,
240
+ tlbid,
220
241
  tlbiw,
221
- tme,
222
242
  tpidr_el1,
223
243
  tpidr_el2,
224
244
  tpidr_el3,
@@ -230,6 +250,7 @@ pub const Feature = enum {
230
250
  use_fixed_over_scalable_if_equal_cost,
231
251
  use_postra_scheduler,
232
252
  use_reciprocal_square_root,
253
+ use_wzr_to_vec_move,
233
254
  v8_1a,
234
255
  v8_2a,
235
256
  v8_3a,
@@ -247,17 +268,20 @@ pub const Feature = enum {
247
268
  v9_4a,
248
269
  v9_5a,
249
270
  v9_6a,
271
+ v9_7a,
250
272
  v9a,
251
273
  vh,
252
274
  wfxt,
253
275
  xs,
276
+ zcm_fpr128,
254
277
  zcm_fpr32,
255
278
  zcm_fpr64,
256
279
  zcm_gpr32,
257
280
  zcm_gpr64,
258
- zcz,
259
281
  zcz_fp_workaround,
260
- zcz_gp,
282
+ zcz_fpr128,
283
+ zcz_gpr32,
284
+ zcz_gpr64,
261
285
  };
262
286
 
263
287
  pub const featureSet = CpuFeature.FeatureSetFns(Feature).featureSet;
@@ -274,9 +298,12 @@ pub const all_features = blk: {
274
298
  .llvm_name = "a320",
275
299
  .description = "Cortex-A320 ARM processors",
276
300
  .dependencies = featureSet(&[_]Feature{
301
+ .aggressive_interleaving,
277
302
  .fuse_adrp_add,
278
303
  .fuse_aes,
304
+ .use_fixed_over_scalable_if_equal_cost,
279
305
  .use_postra_scheduler,
306
+ .use_wzr_to_vec_move,
280
307
  }),
281
308
  };
282
309
  result[@intFromEnum(Feature.addr_lsl_slow_14)] = .{
@@ -296,6 +323,11 @@ pub const all_features = blk: {
296
323
  .description = "Enable Aggressive FMA for floating-point.",
297
324
  .dependencies = featureSet(&[_]Feature{}),
298
325
  };
326
+ result[@intFromEnum(Feature.aggressive_interleaving)] = .{
327
+ .llvm_name = "aggressive-interleaving",
328
+ .description = "Make use of aggressive interleaving during vectorization",
329
+ .dependencies = featureSet(&[_]Feature{}),
330
+ };
299
331
  result[@intFromEnum(Feature.alternate_sextload_cvt_f32_pattern)] = .{
300
332
  .llvm_name = "alternate-sextload-cvt-f32-pattern",
301
333
  .description = "Use alternative pattern for sextload convert to f32",
@@ -367,6 +399,11 @@ pub const all_features = blk: {
367
399
  .description = "Enable Branch Target Identification",
368
400
  .dependencies = featureSet(&[_]Feature{}),
369
401
  };
402
+ result[@intFromEnum(Feature.btie)] = .{
403
+ .llvm_name = "btie",
404
+ .description = "Enable Enhanced Branch Target Identification extension",
405
+ .dependencies = featureSet(&[_]Feature{}),
406
+ };
370
407
  result[@intFromEnum(Feature.call_saved_x10)] = .{
371
408
  .llvm_name = "call-saved-x10",
372
409
  .description = "Make X10 callee saved.",
@@ -439,6 +476,11 @@ pub const all_features = blk: {
439
476
  .description = "Enable Clear BHB instruction",
440
477
  .dependencies = featureSet(&[_]Feature{}),
441
478
  };
479
+ result[@intFromEnum(Feature.cmh)] = .{
480
+ .llvm_name = "cmh",
481
+ .description = "Enable Armv9.7-A Contention Management Hints",
482
+ .dependencies = featureSet(&[_]Feature{}),
483
+ };
442
484
  result[@intFromEnum(Feature.cmp_bcc_fusion)] = .{
443
485
  .llvm_name = "cmp-bcc-fusion",
444
486
  .description = "CPU fuses cmp+bcc operations",
@@ -506,11 +548,21 @@ pub const all_features = blk: {
506
548
  .description = "Do not emit ldp",
507
549
  .dependencies = featureSet(&[_]Feature{}),
508
550
  };
551
+ result[@intFromEnum(Feature.disable_maximize_scalable_bandwidth)] = .{
552
+ .llvm_name = "disable-maximize-scalable-bandwidth",
553
+ .description = "Determine the maximum scalable vector length for a loop by the largest scalar type rather than the smallest",
554
+ .dependencies = featureSet(&[_]Feature{}),
555
+ };
509
556
  result[@intFromEnum(Feature.disable_stp)] = .{
510
557
  .llvm_name = "disable-stp",
511
558
  .description = "Do not emit stp",
512
559
  .dependencies = featureSet(&[_]Feature{}),
513
560
  };
561
+ result[@intFromEnum(Feature.disable_unpredicated_ld_st_lower)] = .{
562
+ .llvm_name = "disable-unpredicated-ld-st-lower",
563
+ .description = "Disable lowering unpredicated loads/stores as LDR/STR",
564
+ .dependencies = featureSet(&[_]Feature{}),
565
+ };
514
566
  result[@intFromEnum(Feature.dit)] = .{
515
567
  .llvm_name = "dit",
516
568
  .description = "Enable Armv8.4-A Data Independent Timing instructions",
@@ -560,6 +612,30 @@ pub const all_features = blk: {
560
612
  .description = "Use Exynos specific handling of cheap instructions",
561
613
  .dependencies = featureSet(&[_]Feature{}),
562
614
  };
615
+ result[@intFromEnum(Feature.f16f32dot)] = .{
616
+ .llvm_name = "f16f32dot",
617
+ .description = "Enable Armv9.7-A Advanced SIMD half-precision dot product accumulate to single-precision",
618
+ .dependencies = featureSet(&[_]Feature{
619
+ .fullfp16,
620
+ .neon,
621
+ }),
622
+ };
623
+ result[@intFromEnum(Feature.f16f32mm)] = .{
624
+ .llvm_name = "f16f32mm",
625
+ .description = "Enable Armv9.7-A Advanced SIMD half-precision matrix multiply-accumulate to single-precision",
626
+ .dependencies = featureSet(&[_]Feature{
627
+ .fullfp16,
628
+ .neon,
629
+ }),
630
+ };
631
+ result[@intFromEnum(Feature.f16mm)] = .{
632
+ .llvm_name = "f16mm",
633
+ .description = "Enable Armv9.7-A non-widening half-precision matrix multiply-accumulate",
634
+ .dependencies = featureSet(&[_]Feature{
635
+ .fullfp16,
636
+ .neon,
637
+ }),
638
+ };
563
639
  result[@intFromEnum(Feature.f32mm)] = .{
564
640
  .llvm_name = "f32mm",
565
641
  .description = "Enable Matrix Multiply FP32 Extension",
@@ -729,7 +805,12 @@ pub const all_features = blk: {
729
805
  };
730
806
  result[@intFromEnum(Feature.fuse_csel)] = .{
731
807
  .llvm_name = "fuse-csel",
732
- .description = "CPU fuses conditional select operations",
808
+ .description = "CPU can fuse CMP and CSEL operations",
809
+ .dependencies = featureSet(&[_]Feature{}),
810
+ };
811
+ result[@intFromEnum(Feature.fuse_cset)] = .{
812
+ .llvm_name = "fuse-cset",
813
+ .description = "CPU can fuse CMP and CSET operations",
733
814
  .dependencies = featureSet(&[_]Feature{}),
734
815
  };
735
816
  result[@intFromEnum(Feature.fuse_literals)] = .{
@@ -737,6 +818,11 @@ pub const all_features = blk: {
737
818
  .description = "CPU fuses literal generation operations",
738
819
  .dependencies = featureSet(&[_]Feature{}),
739
820
  };
821
+ result[@intFromEnum(Feature.gcie)] = .{
822
+ .llvm_name = "gcie",
823
+ .description = "Enable GICv5 (Generic Interrupt Controller) CPU Interface Extension",
824
+ .dependencies = featureSet(&[_]Feature{}),
825
+ };
740
826
  result[@intFromEnum(Feature.gcs)] = .{
741
827
  .llvm_name = "gcs",
742
828
  .description = "Enable Armv9.4-A Guarded Call Stack Extension",
@@ -805,6 +891,11 @@ pub const all_features = blk: {
805
891
  .description = "Enable Armv8.7-A LD64B/ST64B Accelerator Extension",
806
892
  .dependencies = featureSet(&[_]Feature{}),
807
893
  };
894
+ result[@intFromEnum(Feature.lscp)] = .{
895
+ .llvm_name = "lscp",
896
+ .description = "Enable Armv9.7-A Load-acquire and store-release pair extension",
897
+ .dependencies = featureSet(&[_]Feature{}),
898
+ };
808
899
  result[@intFromEnum(Feature.lse)] = .{
809
900
  .llvm_name = "lse",
810
901
  .description = "Enable Armv8.1-A Large System Extension (LSE) atomic instructions",
@@ -841,6 +932,11 @@ pub const all_features = blk: {
841
932
  .neon,
842
933
  }),
843
934
  };
935
+ result[@intFromEnum(Feature.max_interleave_factor_4)] = .{
936
+ .llvm_name = "max-interleave-factor-4",
937
+ .description = "Set the MaxInterleaveFactor to 4 (from the default 2)",
938
+ .dependencies = featureSet(&[_]Feature{}),
939
+ };
844
940
  result[@intFromEnum(Feature.mec)] = .{
845
941
  .llvm_name = "mec",
846
942
  .description = "Enable Memory Encryption Contexts Extension",
@@ -853,16 +949,36 @@ pub const all_features = blk: {
853
949
  .description = "Enable Armv8.8-A memcpy and memset acceleration instructions",
854
950
  .dependencies = featureSet(&[_]Feature{}),
855
951
  };
952
+ result[@intFromEnum(Feature.mops_go)] = .{
953
+ .llvm_name = "mops-go",
954
+ .description = "Enable memset acceleration granule only",
955
+ .dependencies = featureSet(&[_]Feature{
956
+ .mops,
957
+ .mte,
958
+ }),
959
+ };
856
960
  result[@intFromEnum(Feature.mpam)] = .{
857
961
  .llvm_name = "mpam",
858
962
  .description = "Enable Armv8.4-A Memory system Partitioning and Monitoring extension",
859
963
  .dependencies = featureSet(&[_]Feature{}),
860
964
  };
965
+ result[@intFromEnum(Feature.mpamv2)] = .{
966
+ .llvm_name = "mpamv2",
967
+ .description = "Enable Armv9.7-A MPAMv2 Lookaside Buffer Invalidate instructions",
968
+ .dependencies = featureSet(&[_]Feature{}),
969
+ };
861
970
  result[@intFromEnum(Feature.mte)] = .{
862
971
  .llvm_name = "mte",
863
972
  .description = "Enable Memory Tagging Extension",
864
973
  .dependencies = featureSet(&[_]Feature{}),
865
974
  };
975
+ result[@intFromEnum(Feature.mtetc)] = .{
976
+ .llvm_name = "mtetc",
977
+ .description = "Enable Virtual Memory Tagging Extension",
978
+ .dependencies = featureSet(&[_]Feature{
979
+ .mte,
980
+ }),
981
+ };
866
982
  result[@intFromEnum(Feature.neon)] = .{
867
983
  .llvm_name = "neon",
868
984
  .description = "Enable Advanced SIMD instructions",
@@ -890,9 +1006,9 @@ pub const all_features = blk: {
890
1006
  .description = "Avoid using LD1RX instructions for FP",
891
1007
  .dependencies = featureSet(&[_]Feature{}),
892
1008
  };
893
- result[@intFromEnum(Feature.no_zcz_fp)] = .{
894
- .llvm_name = "no-zcz-fp",
895
- .description = "Has no zero-cycle zeroing instructions for FP registers",
1009
+ result[@intFromEnum(Feature.no_zcz_fpr64)] = .{
1010
+ .llvm_name = "no-zcz-fpr64",
1011
+ .description = "Has no zero-cycle zeroing instructions for FPR64 registers",
896
1012
  .dependencies = featureSet(&[_]Feature{}),
897
1013
  };
898
1014
  result[@intFromEnum(Feature.nv)] = .{
@@ -914,6 +1030,7 @@ pub const all_features = blk: {
914
1030
  .enable_select_opt,
915
1031
  .fuse_adrp_add,
916
1032
  .fuse_aes,
1033
+ .max_interleave_factor_4,
917
1034
  .predictable_select_expensive,
918
1035
  .use_fixed_over_scalable_if_equal_cost,
919
1036
  .use_postra_scheduler,
@@ -956,6 +1073,11 @@ pub const all_features = blk: {
956
1073
  .description = "Enable Armv8.0-A PMUv3 Performance Monitors extension",
957
1074
  .dependencies = featureSet(&[_]Feature{}),
958
1075
  };
1076
+ result[@intFromEnum(Feature.poe2)] = .{
1077
+ .llvm_name = "poe2",
1078
+ .description = "Enable Stage 1 Permission Overlays Extension 2 instructions",
1079
+ .dependencies = featureSet(&[_]Feature{}),
1080
+ };
959
1081
  result[@intFromEnum(Feature.pops)] = .{
960
1082
  .llvm_name = "pops",
961
1083
  .description = "Enable Armv9.6-A Point Of Physical Storage (PoPS) DC instructions",
@@ -1224,6 +1346,13 @@ pub const all_features = blk: {
1224
1346
  .sme2p1,
1225
1347
  }),
1226
1348
  };
1349
+ result[@intFromEnum(Feature.sme2p3)] = .{
1350
+ .llvm_name = "sme2p3",
1351
+ .description = "Enable Armv9.7-A Scalable Matrix Extension 2.3 instructions",
1352
+ .dependencies = featureSet(&[_]Feature{
1353
+ .sme2p2,
1354
+ }),
1355
+ };
1227
1356
  result[@intFromEnum(Feature.sme_b16b16)] = .{
1228
1357
  .llvm_name = "sme-b16b16",
1229
1358
  .description = "Enable SME2.1 ZA-targeting non-widening BFloat16 instructions",
@@ -1447,6 +1576,13 @@ pub const all_features = blk: {
1447
1576
  .sve2p1,
1448
1577
  }),
1449
1578
  };
1579
+ result[@intFromEnum(Feature.sve2p3)] = .{
1580
+ .llvm_name = "sve2p3",
1581
+ .description = "Enable Armv9.7-A Scalable Vector Extension 2.3 instructions",
1582
+ .dependencies = featureSet(&[_]Feature{
1583
+ .sve2p2,
1584
+ }),
1585
+ };
1450
1586
  result[@intFromEnum(Feature.sve_aes)] = .{
1451
1587
  .llvm_name = "sve-aes",
1452
1588
  .description = "Enable SVE AES and quadword SVE polynomial multiply instructions",
@@ -1464,6 +1600,13 @@ pub const all_features = blk: {
1464
1600
  .description = "Enable SVE2 non-widening and SME2 Z-targeting non-widening BFloat16 instructions",
1465
1601
  .dependencies = featureSet(&[_]Feature{}),
1466
1602
  };
1603
+ result[@intFromEnum(Feature.sve_b16mm)] = .{
1604
+ .llvm_name = "sve-b16mm",
1605
+ .description = "Enable Armv9.7-A SVE non-widening BFloat16 matrix multiply-accumulate",
1606
+ .dependencies = featureSet(&[_]Feature{
1607
+ .sve,
1608
+ }),
1609
+ };
1467
1610
  result[@intFromEnum(Feature.sve_bfscale)] = .{
1468
1611
  .llvm_name = "sve-bfscale",
1469
1612
  .description = "Enable Armv9.6-A SVE BFloat16 scaling instructions",
@@ -1500,6 +1643,11 @@ pub const all_features = blk: {
1500
1643
  .description = "Use an instruction sequence for taking the address of a global that allows a memory tag in the upper address bits",
1501
1644
  .dependencies = featureSet(&[_]Feature{}),
1502
1645
  };
1646
+ result[@intFromEnum(Feature.tev)] = .{
1647
+ .llvm_name = "tev",
1648
+ .description = "Enable TIndex Exception-like Vector instructions",
1649
+ .dependencies = featureSet(&[_]Feature{}),
1650
+ };
1503
1651
  result[@intFromEnum(Feature.the)] = .{
1504
1652
  .llvm_name = "the",
1505
1653
  .description = "Enable Armv8.9-A Translation Hardening Extension",
@@ -1510,16 +1658,16 @@ pub const all_features = blk: {
1510
1658
  .description = "Enable Armv8.4-A TLB Range and Maintenance instructions",
1511
1659
  .dependencies = featureSet(&[_]Feature{}),
1512
1660
  };
1661
+ result[@intFromEnum(Feature.tlbid)] = .{
1662
+ .llvm_name = "tlbid",
1663
+ .description = "Enable Armv9.7-A TLBI Domains extension",
1664
+ .dependencies = featureSet(&[_]Feature{}),
1665
+ };
1513
1666
  result[@intFromEnum(Feature.tlbiw)] = .{
1514
1667
  .llvm_name = "tlbiw",
1515
1668
  .description = "Enable Armv9.5-A TLBI VMALL for Dirty State",
1516
1669
  .dependencies = featureSet(&[_]Feature{}),
1517
1670
  };
1518
- result[@intFromEnum(Feature.tme)] = .{
1519
- .llvm_name = "tme",
1520
- .description = "Enable Transactional Memory Extension",
1521
- .dependencies = featureSet(&[_]Feature{}),
1522
- };
1523
1671
  result[@intFromEnum(Feature.tpidr_el1)] = .{
1524
1672
  .llvm_name = "tpidr-el1",
1525
1673
  .description = "Permit use of TPIDR_EL1 for the TLS base",
@@ -1575,6 +1723,11 @@ pub const all_features = blk: {
1575
1723
  .description = "Use the reciprocal square root approximation",
1576
1724
  .dependencies = featureSet(&[_]Feature{}),
1577
1725
  };
1726
+ result[@intFromEnum(Feature.use_wzr_to_vec_move)] = .{
1727
+ .llvm_name = "use-wzr-to-vec-move",
1728
+ .description = "Move from WZR to insert 0 into vector registers",
1729
+ .dependencies = featureSet(&[_]Feature{}),
1730
+ };
1578
1731
  result[@intFromEnum(Feature.v8_1a)] = .{
1579
1732
  .llvm_name = "v8.1a",
1580
1733
  .description = "Support ARM v8.1a architecture",
@@ -1783,6 +1936,16 @@ pub const all_features = blk: {
1783
1936
  .v9_5a,
1784
1937
  }),
1785
1938
  };
1939
+ result[@intFromEnum(Feature.v9_7a)] = .{
1940
+ .llvm_name = "v9.7a",
1941
+ .description = "Support ARM v9.7a architecture",
1942
+ .dependencies = featureSet(&[_]Feature{
1943
+ .f16f32dot,
1944
+ .fprcvt,
1945
+ .sve2p3,
1946
+ .v9_6a,
1947
+ }),
1948
+ };
1786
1949
  result[@intFromEnum(Feature.v9a)] = .{
1787
1950
  .llvm_name = "v9a",
1788
1951
  .description = "Support ARM v9a architecture",
@@ -1808,6 +1971,11 @@ pub const all_features = blk: {
1808
1971
  .description = "Enable Armv8.7-A limited-TLB-maintenance instruction",
1809
1972
  .dependencies = featureSet(&[_]Feature{}),
1810
1973
  };
1974
+ result[@intFromEnum(Feature.zcm_fpr128)] = .{
1975
+ .llvm_name = "zcm-fpr128",
1976
+ .description = "Has zero-cycle register moves for FPR128 registers",
1977
+ .dependencies = featureSet(&[_]Feature{}),
1978
+ };
1811
1979
  result[@intFromEnum(Feature.zcm_fpr32)] = .{
1812
1980
  .llvm_name = "zcm-fpr32",
1813
1981
  .description = "Has zero-cycle register moves for FPR32 registers",
@@ -1828,21 +1996,24 @@ pub const all_features = blk: {
1828
1996
  .description = "Has zero-cycle register moves for GPR64 registers",
1829
1997
  .dependencies = featureSet(&[_]Feature{}),
1830
1998
  };
1831
- result[@intFromEnum(Feature.zcz)] = .{
1832
- .llvm_name = "zcz",
1833
- .description = "Has zero-cycle zeroing instructions",
1834
- .dependencies = featureSet(&[_]Feature{
1835
- .zcz_gp,
1836
- }),
1837
- };
1838
1999
  result[@intFromEnum(Feature.zcz_fp_workaround)] = .{
1839
2000
  .llvm_name = "zcz-fp-workaround",
1840
2001
  .description = "The zero-cycle floating-point zeroing instruction has a bug",
1841
2002
  .dependencies = featureSet(&[_]Feature{}),
1842
2003
  };
1843
- result[@intFromEnum(Feature.zcz_gp)] = .{
1844
- .llvm_name = "zcz-gp",
1845
- .description = "Has zero-cycle zeroing instructions for generic registers",
2004
+ result[@intFromEnum(Feature.zcz_fpr128)] = .{
2005
+ .llvm_name = "zcz-fpr128",
2006
+ .description = "Has zero-cycle zeroing instructions for FPR128 registers",
2007
+ .dependencies = featureSet(&[_]Feature{}),
2008
+ };
2009
+ result[@intFromEnum(Feature.zcz_gpr32)] = .{
2010
+ .llvm_name = "zcz-gpr32",
2011
+ .description = "Has zero-cycle zeroing instructions for GPR32 registers",
2012
+ .dependencies = featureSet(&[_]Feature{}),
2013
+ };
2014
+ result[@intFromEnum(Feature.zcz_gpr64)] = .{
2015
+ .llvm_name = "zcz-gpr64",
2016
+ .description = "Has zero-cycle zeroing instructions for GPR64 registers",
1846
2017
  .dependencies = featureSet(&[_]Feature{}),
1847
2018
  };
1848
2019
  const ti = @typeInfo(Feature);
@@ -1862,6 +2033,8 @@ pub const cpu = struct {
1862
2033
  .aggressive_fma,
1863
2034
  .arith_bcc_fusion,
1864
2035
  .complxnum,
2036
+ .disable_unpredicated_ld_st_lower,
2037
+ .max_interleave_factor_4,
1865
2038
  .perfmon,
1866
2039
  .predictable_select_expensive,
1867
2040
  .sha2,
@@ -1886,6 +2059,7 @@ pub const cpu = struct {
1886
2059
  .fuse_aes,
1887
2060
  .fuse_literals,
1888
2061
  .ldp_aligned_only,
2062
+ .max_interleave_factor_4,
1889
2063
  .perfmon,
1890
2064
  .rand,
1891
2065
  .sha3,
@@ -1911,6 +2085,7 @@ pub const cpu = struct {
1911
2085
  .fuse_aes,
1912
2086
  .fuse_literals,
1913
2087
  .ldp_aligned_only,
2088
+ .max_interleave_factor_4,
1914
2089
  .mte,
1915
2090
  .perfmon,
1916
2091
  .rand,
@@ -1939,6 +2114,7 @@ pub const cpu = struct {
1939
2114
  .fuse_aes,
1940
2115
  .fuse_literals,
1941
2116
  .ldp_aligned_only,
2117
+ .max_interleave_factor_4,
1942
2118
  .mte,
1943
2119
  .perfmon,
1944
2120
  .predictable_select_expensive,
@@ -1951,6 +2127,38 @@ pub const cpu = struct {
1951
2127
  .v8_7a,
1952
2128
  }),
1953
2129
  };
2130
+ pub const ampere1c: CpuModel = .{
2131
+ .name = "ampere1c",
2132
+ .llvm_name = "ampere1c",
2133
+ .features = featureSet(&[_]Feature{
2134
+ .aggressive_fma,
2135
+ .alu_lsl_fast,
2136
+ .arith_bcc_fusion,
2137
+ .cmp_bcc_fusion,
2138
+ .cssc,
2139
+ .enable_select_opt,
2140
+ .faminmax,
2141
+ .fp16fml,
2142
+ .fp8fma,
2143
+ .fuse_address,
2144
+ .fuse_adrp_add,
2145
+ .fuse_aes,
2146
+ .fuse_literals,
2147
+ .lut,
2148
+ .max_interleave_factor_4,
2149
+ .mte,
2150
+ .perfmon,
2151
+ .predictable_select_expensive,
2152
+ .rand,
2153
+ .store_pair_suppress,
2154
+ .sve_aes,
2155
+ .sve_b16b16,
2156
+ .sve_sha3,
2157
+ .sve_sm4,
2158
+ .use_postra_scheduler,
2159
+ .v9_2a,
2160
+ }),
2161
+ };
1954
2162
  pub const apple_a10: CpuModel = .{
1955
2163
  .name = "apple_a10",
1956
2164
  .llvm_name = "apple-a10",
@@ -1964,6 +2172,7 @@ pub const cpu = struct {
1964
2172
  .fuse_aes,
1965
2173
  .fuse_crypto_eor,
1966
2174
  .lor,
2175
+ .no_zcz_fpr64,
1967
2176
  .pan,
1968
2177
  .perfmon,
1969
2178
  .rdm,
@@ -1971,9 +2180,11 @@ pub const cpu = struct {
1971
2180
  .store_pair_suppress,
1972
2181
  .v8a,
1973
2182
  .vh,
1974
- .zcm_fpr64,
2183
+ .zcm_fpr128,
1975
2184
  .zcm_gpr64,
1976
- .zcz,
2185
+ .zcz_fpr128,
2186
+ .zcz_gpr32,
2187
+ .zcz_gpr64,
1977
2188
  }),
1978
2189
  };
1979
2190
  pub const apple_a11: CpuModel = .{
@@ -1988,13 +2199,16 @@ pub const cpu = struct {
1988
2199
  .fullfp16,
1989
2200
  .fuse_aes,
1990
2201
  .fuse_crypto_eor,
2202
+ .no_zcz_fpr64,
1991
2203
  .perfmon,
1992
2204
  .sha2,
1993
2205
  .store_pair_suppress,
1994
2206
  .v8_2a,
1995
- .zcm_fpr64,
2207
+ .zcm_fpr128,
1996
2208
  .zcm_gpr64,
1997
- .zcz,
2209
+ .zcz_fpr128,
2210
+ .zcz_gpr32,
2211
+ .zcz_gpr64,
1998
2212
  }),
1999
2213
  };
2000
2214
  pub const apple_a12: CpuModel = .{
@@ -2009,13 +2223,16 @@ pub const cpu = struct {
2009
2223
  .fullfp16,
2010
2224
  .fuse_aes,
2011
2225
  .fuse_crypto_eor,
2226
+ .no_zcz_fpr64,
2012
2227
  .perfmon,
2013
2228
  .sha2,
2014
2229
  .store_pair_suppress,
2015
2230
  .v8_3a,
2016
- .zcm_fpr64,
2231
+ .zcm_fpr128,
2017
2232
  .zcm_gpr64,
2018
- .zcz,
2233
+ .zcz_fpr128,
2234
+ .zcz_gpr32,
2235
+ .zcz_gpr64,
2019
2236
  }),
2020
2237
  };
2021
2238
  pub const apple_a13: CpuModel = .{
@@ -2030,13 +2247,16 @@ pub const cpu = struct {
2030
2247
  .fp16fml,
2031
2248
  .fuse_aes,
2032
2249
  .fuse_crypto_eor,
2250
+ .no_zcz_fpr64,
2033
2251
  .perfmon,
2034
2252
  .sha3,
2035
2253
  .store_pair_suppress,
2036
2254
  .v8_4a,
2037
- .zcm_fpr64,
2255
+ .zcm_fpr128,
2038
2256
  .zcm_gpr64,
2039
- .zcz,
2257
+ .zcz_fpr128,
2258
+ .zcz_gpr32,
2259
+ .zcz_gpr64,
2040
2260
  }),
2041
2261
  };
2042
2262
  pub const apple_a14: CpuModel = .{
@@ -2059,6 +2279,8 @@ pub const cpu = struct {
2059
2279
  .fuse_crypto_eor,
2060
2280
  .fuse_csel,
2061
2281
  .fuse_literals,
2282
+ .max_interleave_factor_4,
2283
+ .no_zcz_fpr64,
2062
2284
  .perfmon,
2063
2285
  .predres,
2064
2286
  .sb,
@@ -2067,9 +2289,11 @@ pub const cpu = struct {
2067
2289
  .ssbs,
2068
2290
  .store_pair_suppress,
2069
2291
  .v8_4a,
2070
- .zcm_fpr64,
2292
+ .zcm_fpr128,
2071
2293
  .zcm_gpr64,
2072
- .zcz,
2294
+ .zcz_fpr128,
2295
+ .zcz_gpr32,
2296
+ .zcz_gpr64,
2073
2297
  }),
2074
2298
  };
2075
2299
  pub const apple_a15: CpuModel = .{
@@ -2090,13 +2314,17 @@ pub const cpu = struct {
2090
2314
  .fuse_crypto_eor,
2091
2315
  .fuse_csel,
2092
2316
  .fuse_literals,
2317
+ .max_interleave_factor_4,
2318
+ .no_zcz_fpr64,
2093
2319
  .perfmon,
2094
2320
  .sha3,
2095
2321
  .store_pair_suppress,
2096
2322
  .v8_6a,
2097
- .zcm_fpr64,
2323
+ .zcm_fpr128,
2098
2324
  .zcm_gpr64,
2099
- .zcz,
2325
+ .zcz_fpr128,
2326
+ .zcz_gpr32,
2327
+ .zcz_gpr64,
2100
2328
  }),
2101
2329
  };
2102
2330
  pub const apple_a16: CpuModel = .{
@@ -2118,13 +2346,17 @@ pub const cpu = struct {
2118
2346
  .fuse_csel,
2119
2347
  .fuse_literals,
2120
2348
  .hcx,
2349
+ .max_interleave_factor_4,
2350
+ .no_zcz_fpr64,
2121
2351
  .perfmon,
2122
2352
  .sha3,
2123
2353
  .store_pair_suppress,
2124
2354
  .v8_6a,
2125
- .zcm_fpr64,
2355
+ .zcm_fpr128,
2126
2356
  .zcm_gpr64,
2127
- .zcz,
2357
+ .zcz_fpr128,
2358
+ .zcz_gpr32,
2359
+ .zcz_gpr64,
2128
2360
  }),
2129
2361
  };
2130
2362
  pub const apple_a17: CpuModel = .{
@@ -2146,13 +2378,17 @@ pub const cpu = struct {
2146
2378
  .fuse_csel,
2147
2379
  .fuse_literals,
2148
2380
  .hcx,
2381
+ .max_interleave_factor_4,
2382
+ .no_zcz_fpr64,
2149
2383
  .perfmon,
2150
2384
  .sha3,
2151
2385
  .store_pair_suppress,
2152
2386
  .v8_6a,
2153
- .zcm_fpr64,
2387
+ .zcm_fpr128,
2154
2388
  .zcm_gpr64,
2155
- .zcz,
2389
+ .zcz_fpr128,
2390
+ .zcz_gpr32,
2391
+ .zcz_gpr64,
2156
2392
  }),
2157
2393
  };
2158
2394
  pub const apple_a18: CpuModel = .{
@@ -2173,15 +2409,58 @@ pub const cpu = struct {
2173
2409
  .fuse_crypto_eor,
2174
2410
  .fuse_csel,
2175
2411
  .fuse_literals,
2412
+ .max_interleave_factor_4,
2413
+ .no_zcz_fpr64,
2176
2414
  .perfmon,
2177
2415
  .sha3,
2178
2416
  .sme2,
2179
2417
  .sme_f64f64,
2180
2418
  .sme_i16i64,
2181
2419
  .v8_7a,
2182
- .zcm_fpr64,
2420
+ .zcm_fpr128,
2183
2421
  .zcm_gpr64,
2184
- .zcz,
2422
+ .zcz_fpr128,
2423
+ .zcz_gpr32,
2424
+ .zcz_gpr64,
2425
+ }),
2426
+ };
2427
+ pub const apple_a19: CpuModel = .{
2428
+ .name = "apple_a19",
2429
+ .llvm_name = "apple-a19",
2430
+ .features = featureSet(&[_]Feature{
2431
+ .aes,
2432
+ .alternate_sextload_cvt_f32_pattern,
2433
+ .arith_bcc_fusion,
2434
+ .arith_cbz_fusion,
2435
+ .cssc,
2436
+ .disable_latency_sched_heuristic,
2437
+ .fp16fml,
2438
+ .fpac,
2439
+ .fuse_address,
2440
+ .fuse_adrp_add,
2441
+ .fuse_aes,
2442
+ .fuse_arith_logic,
2443
+ .fuse_crypto_eor,
2444
+ .fuse_csel,
2445
+ .fuse_literals,
2446
+ .hbc,
2447
+ .max_interleave_factor_4,
2448
+ .mte,
2449
+ .no_zcz_fpr64,
2450
+ .perfmon,
2451
+ .sha3,
2452
+ .sme2p1,
2453
+ .sme_b16b16,
2454
+ .sme_f16f16,
2455
+ .sme_f64f64,
2456
+ .sme_i16i64,
2457
+ .specres2,
2458
+ .v8_7a,
2459
+ .zcm_fpr128,
2460
+ .zcm_gpr64,
2461
+ .zcz_fpr128,
2462
+ .zcz_gpr32,
2463
+ .zcz_gpr64,
2185
2464
  }),
2186
2465
  };
2187
2466
  pub const apple_a7: CpuModel = .{
@@ -2195,14 +2474,17 @@ pub const cpu = struct {
2195
2474
  .disable_latency_sched_heuristic,
2196
2475
  .fuse_aes,
2197
2476
  .fuse_crypto_eor,
2477
+ .no_zcz_fpr64,
2198
2478
  .perfmon,
2199
2479
  .sha2,
2200
2480
  .store_pair_suppress,
2201
2481
  .v8a,
2202
- .zcm_fpr64,
2482
+ .zcm_fpr128,
2203
2483
  .zcm_gpr64,
2204
- .zcz,
2205
2484
  .zcz_fp_workaround,
2485
+ .zcz_fpr128,
2486
+ .zcz_gpr32,
2487
+ .zcz_gpr64,
2206
2488
  }),
2207
2489
  };
2208
2490
  pub const apple_a8: CpuModel = .{
@@ -2216,14 +2498,17 @@ pub const cpu = struct {
2216
2498
  .disable_latency_sched_heuristic,
2217
2499
  .fuse_aes,
2218
2500
  .fuse_crypto_eor,
2501
+ .no_zcz_fpr64,
2219
2502
  .perfmon,
2220
2503
  .sha2,
2221
2504
  .store_pair_suppress,
2222
2505
  .v8a,
2223
- .zcm_fpr64,
2506
+ .zcm_fpr128,
2224
2507
  .zcm_gpr64,
2225
- .zcz,
2226
2508
  .zcz_fp_workaround,
2509
+ .zcz_fpr128,
2510
+ .zcz_gpr32,
2511
+ .zcz_gpr64,
2227
2512
  }),
2228
2513
  };
2229
2514
  pub const apple_a9: CpuModel = .{
@@ -2237,14 +2522,17 @@ pub const cpu = struct {
2237
2522
  .disable_latency_sched_heuristic,
2238
2523
  .fuse_aes,
2239
2524
  .fuse_crypto_eor,
2525
+ .no_zcz_fpr64,
2240
2526
  .perfmon,
2241
2527
  .sha2,
2242
2528
  .store_pair_suppress,
2243
2529
  .v8a,
2244
- .zcm_fpr64,
2530
+ .zcm_fpr128,
2245
2531
  .zcm_gpr64,
2246
- .zcz,
2247
2532
  .zcz_fp_workaround,
2533
+ .zcz_fpr128,
2534
+ .zcz_gpr32,
2535
+ .zcz_gpr64,
2248
2536
  }),
2249
2537
  };
2250
2538
  pub const apple_m1: CpuModel = .{
@@ -2267,6 +2555,8 @@ pub const cpu = struct {
2267
2555
  .fuse_crypto_eor,
2268
2556
  .fuse_csel,
2269
2557
  .fuse_literals,
2558
+ .max_interleave_factor_4,
2559
+ .no_zcz_fpr64,
2270
2560
  .perfmon,
2271
2561
  .predres,
2272
2562
  .sb,
@@ -2275,9 +2565,11 @@ pub const cpu = struct {
2275
2565
  .ssbs,
2276
2566
  .store_pair_suppress,
2277
2567
  .v8_4a,
2278
- .zcm_fpr64,
2568
+ .zcm_fpr128,
2279
2569
  .zcm_gpr64,
2280
- .zcz,
2570
+ .zcz_fpr128,
2571
+ .zcz_gpr32,
2572
+ .zcz_gpr64,
2281
2573
  }),
2282
2574
  };
2283
2575
  pub const apple_m2: CpuModel = .{
@@ -2298,13 +2590,17 @@ pub const cpu = struct {
2298
2590
  .fuse_crypto_eor,
2299
2591
  .fuse_csel,
2300
2592
  .fuse_literals,
2593
+ .max_interleave_factor_4,
2594
+ .no_zcz_fpr64,
2301
2595
  .perfmon,
2302
2596
  .sha3,
2303
2597
  .store_pair_suppress,
2304
2598
  .v8_6a,
2305
- .zcm_fpr64,
2599
+ .zcm_fpr128,
2306
2600
  .zcm_gpr64,
2307
- .zcz,
2601
+ .zcz_fpr128,
2602
+ .zcz_gpr32,
2603
+ .zcz_gpr64,
2308
2604
  }),
2309
2605
  };
2310
2606
  pub const apple_m3: CpuModel = .{
@@ -2326,13 +2622,17 @@ pub const cpu = struct {
2326
2622
  .fuse_csel,
2327
2623
  .fuse_literals,
2328
2624
  .hcx,
2625
+ .max_interleave_factor_4,
2626
+ .no_zcz_fpr64,
2329
2627
  .perfmon,
2330
2628
  .sha3,
2331
2629
  .store_pair_suppress,
2332
2630
  .v8_6a,
2333
- .zcm_fpr64,
2631
+ .zcm_fpr128,
2334
2632
  .zcm_gpr64,
2335
- .zcz,
2633
+ .zcz_fpr128,
2634
+ .zcz_gpr32,
2635
+ .zcz_gpr64,
2336
2636
  }),
2337
2637
  };
2338
2638
  pub const apple_m4: CpuModel = .{
@@ -2353,15 +2653,58 @@ pub const cpu = struct {
2353
2653
  .fuse_crypto_eor,
2354
2654
  .fuse_csel,
2355
2655
  .fuse_literals,
2656
+ .max_interleave_factor_4,
2657
+ .no_zcz_fpr64,
2356
2658
  .perfmon,
2357
2659
  .sha3,
2358
2660
  .sme2,
2359
2661
  .sme_f64f64,
2360
2662
  .sme_i16i64,
2361
2663
  .v8_7a,
2362
- .zcm_fpr64,
2664
+ .zcm_fpr128,
2665
+ .zcm_gpr64,
2666
+ .zcz_fpr128,
2667
+ .zcz_gpr32,
2668
+ .zcz_gpr64,
2669
+ }),
2670
+ };
2671
+ pub const apple_m5: CpuModel = .{
2672
+ .name = "apple_m5",
2673
+ .llvm_name = "apple-m5",
2674
+ .features = featureSet(&[_]Feature{
2675
+ .aes,
2676
+ .alternate_sextload_cvt_f32_pattern,
2677
+ .arith_bcc_fusion,
2678
+ .arith_cbz_fusion,
2679
+ .cssc,
2680
+ .disable_latency_sched_heuristic,
2681
+ .fp16fml,
2682
+ .fpac,
2683
+ .fuse_address,
2684
+ .fuse_adrp_add,
2685
+ .fuse_aes,
2686
+ .fuse_arith_logic,
2687
+ .fuse_crypto_eor,
2688
+ .fuse_csel,
2689
+ .fuse_literals,
2690
+ .hbc,
2691
+ .max_interleave_factor_4,
2692
+ .mte,
2693
+ .no_zcz_fpr64,
2694
+ .perfmon,
2695
+ .sha3,
2696
+ .sme2p1,
2697
+ .sme_b16b16,
2698
+ .sme_f16f16,
2699
+ .sme_f64f64,
2700
+ .sme_i16i64,
2701
+ .specres2,
2702
+ .v8_7a,
2703
+ .zcm_fpr128,
2363
2704
  .zcm_gpr64,
2364
- .zcz,
2705
+ .zcz_fpr128,
2706
+ .zcz_gpr32,
2707
+ .zcz_gpr64,
2365
2708
  }),
2366
2709
  };
2367
2710
  pub const apple_s10: CpuModel = .{
@@ -2383,13 +2726,17 @@ pub const cpu = struct {
2383
2726
  .fuse_csel,
2384
2727
  .fuse_literals,
2385
2728
  .hcx,
2729
+ .max_interleave_factor_4,
2730
+ .no_zcz_fpr64,
2386
2731
  .perfmon,
2387
2732
  .sha3,
2388
2733
  .store_pair_suppress,
2389
2734
  .v8_6a,
2390
- .zcm_fpr64,
2735
+ .zcm_fpr128,
2391
2736
  .zcm_gpr64,
2392
- .zcz,
2737
+ .zcz_fpr128,
2738
+ .zcz_gpr32,
2739
+ .zcz_gpr64,
2393
2740
  }),
2394
2741
  };
2395
2742
  pub const apple_s4: CpuModel = .{
@@ -2404,13 +2751,16 @@ pub const cpu = struct {
2404
2751
  .fullfp16,
2405
2752
  .fuse_aes,
2406
2753
  .fuse_crypto_eor,
2754
+ .no_zcz_fpr64,
2407
2755
  .perfmon,
2408
2756
  .sha2,
2409
2757
  .store_pair_suppress,
2410
2758
  .v8_3a,
2411
- .zcm_fpr64,
2759
+ .zcm_fpr128,
2412
2760
  .zcm_gpr64,
2413
- .zcz,
2761
+ .zcz_fpr128,
2762
+ .zcz_gpr32,
2763
+ .zcz_gpr64,
2414
2764
  }),
2415
2765
  };
2416
2766
  pub const apple_s5: CpuModel = .{
@@ -2425,13 +2775,16 @@ pub const cpu = struct {
2425
2775
  .fullfp16,
2426
2776
  .fuse_aes,
2427
2777
  .fuse_crypto_eor,
2778
+ .no_zcz_fpr64,
2428
2779
  .perfmon,
2429
2780
  .sha2,
2430
2781
  .store_pair_suppress,
2431
2782
  .v8_3a,
2432
- .zcm_fpr64,
2783
+ .zcm_fpr128,
2433
2784
  .zcm_gpr64,
2434
- .zcz,
2785
+ .zcz_fpr128,
2786
+ .zcz_gpr32,
2787
+ .zcz_gpr64,
2435
2788
  }),
2436
2789
  };
2437
2790
  pub const apple_s6: CpuModel = .{
@@ -2446,13 +2799,16 @@ pub const cpu = struct {
2446
2799
  .fp16fml,
2447
2800
  .fuse_aes,
2448
2801
  .fuse_crypto_eor,
2802
+ .no_zcz_fpr64,
2449
2803
  .perfmon,
2450
2804
  .sha3,
2451
2805
  .store_pair_suppress,
2452
2806
  .v8_4a,
2453
- .zcm_fpr64,
2807
+ .zcm_fpr128,
2454
2808
  .zcm_gpr64,
2455
- .zcz,
2809
+ .zcz_fpr128,
2810
+ .zcz_gpr32,
2811
+ .zcz_gpr64,
2456
2812
  }),
2457
2813
  };
2458
2814
  pub const apple_s7: CpuModel = .{
@@ -2467,13 +2823,16 @@ pub const cpu = struct {
2467
2823
  .fp16fml,
2468
2824
  .fuse_aes,
2469
2825
  .fuse_crypto_eor,
2826
+ .no_zcz_fpr64,
2470
2827
  .perfmon,
2471
2828
  .sha3,
2472
2829
  .store_pair_suppress,
2473
2830
  .v8_4a,
2474
- .zcm_fpr64,
2831
+ .zcm_fpr128,
2475
2832
  .zcm_gpr64,
2476
- .zcz,
2833
+ .zcz_fpr128,
2834
+ .zcz_gpr32,
2835
+ .zcz_gpr64,
2477
2836
  }),
2478
2837
  };
2479
2838
  pub const apple_s8: CpuModel = .{
@@ -2488,13 +2847,16 @@ pub const cpu = struct {
2488
2847
  .fp16fml,
2489
2848
  .fuse_aes,
2490
2849
  .fuse_crypto_eor,
2850
+ .no_zcz_fpr64,
2491
2851
  .perfmon,
2492
2852
  .sha3,
2493
2853
  .store_pair_suppress,
2494
2854
  .v8_4a,
2495
- .zcm_fpr64,
2855
+ .zcm_fpr128,
2496
2856
  .zcm_gpr64,
2497
- .zcz,
2857
+ .zcz_fpr128,
2858
+ .zcz_gpr32,
2859
+ .zcz_gpr64,
2498
2860
  }),
2499
2861
  };
2500
2862
  pub const apple_s9: CpuModel = .{
@@ -2516,13 +2878,126 @@ pub const cpu = struct {
2516
2878
  .fuse_csel,
2517
2879
  .fuse_literals,
2518
2880
  .hcx,
2881
+ .max_interleave_factor_4,
2882
+ .no_zcz_fpr64,
2519
2883
  .perfmon,
2520
2884
  .sha3,
2521
2885
  .store_pair_suppress,
2522
2886
  .v8_6a,
2523
- .zcm_fpr64,
2887
+ .zcm_fpr128,
2524
2888
  .zcm_gpr64,
2525
- .zcz,
2889
+ .zcz_fpr128,
2890
+ .zcz_gpr32,
2891
+ .zcz_gpr64,
2892
+ }),
2893
+ };
2894
+ pub const c1_nano: CpuModel = .{
2895
+ .name = "c1_nano",
2896
+ .llvm_name = "c1-nano",
2897
+ .features = featureSet(&[_]Feature{
2898
+ .chk,
2899
+ .clrbhb,
2900
+ .ete,
2901
+ .fp16fml,
2902
+ .fpac,
2903
+ .fuse_adrp_add,
2904
+ .fuse_aes,
2905
+ .mte,
2906
+ .perfmon,
2907
+ .rcpc3,
2908
+ .sme2,
2909
+ .specres2,
2910
+ .sve_bitperm,
2911
+ .use_fixed_over_scalable_if_equal_cost,
2912
+ .use_postra_scheduler,
2913
+ .use_wzr_to_vec_move,
2914
+ .v9_3a,
2915
+ }),
2916
+ };
2917
+ pub const c1_premium: CpuModel = .{
2918
+ .name = "c1_premium",
2919
+ .llvm_name = "c1-premium",
2920
+ .features = featureSet(&[_]Feature{
2921
+ .alu_lsl_fast,
2922
+ .avoid_ldapur,
2923
+ .chk,
2924
+ .clrbhb,
2925
+ .enable_select_opt,
2926
+ .ete,
2927
+ .fp16fml,
2928
+ .fpac,
2929
+ .fuse_adrp_add,
2930
+ .fuse_aes,
2931
+ .fuse_csel,
2932
+ .fuse_cset,
2933
+ .mte,
2934
+ .perfmon,
2935
+ .predictable_select_expensive,
2936
+ .rcpc3,
2937
+ .sme2,
2938
+ .spe,
2939
+ .specres2,
2940
+ .sve_bitperm,
2941
+ .use_fixed_over_scalable_if_equal_cost,
2942
+ .use_postra_scheduler,
2943
+ .v9_3a,
2944
+ }),
2945
+ };
2946
+ pub const c1_pro: CpuModel = .{
2947
+ .name = "c1_pro",
2948
+ .llvm_name = "c1-pro",
2949
+ .features = featureSet(&[_]Feature{
2950
+ .alu_lsl_fast,
2951
+ .chk,
2952
+ .clrbhb,
2953
+ .cmp_bcc_fusion,
2954
+ .enable_select_opt,
2955
+ .ete,
2956
+ .fp16fml,
2957
+ .fpac,
2958
+ .fuse_adrp_add,
2959
+ .fuse_aes,
2960
+ .fuse_csel,
2961
+ .fuse_cset,
2962
+ .mte,
2963
+ .perfmon,
2964
+ .predictable_select_expensive,
2965
+ .rcpc3,
2966
+ .sme2,
2967
+ .spe,
2968
+ .specres2,
2969
+ .sve_bitperm,
2970
+ .use_postra_scheduler,
2971
+ .v9_3a,
2972
+ }),
2973
+ };
2974
+ pub const c1_ultra: CpuModel = .{
2975
+ .name = "c1_ultra",
2976
+ .llvm_name = "c1-ultra",
2977
+ .features = featureSet(&[_]Feature{
2978
+ .alu_lsl_fast,
2979
+ .avoid_ldapur,
2980
+ .chk,
2981
+ .clrbhb,
2982
+ .enable_select_opt,
2983
+ .ete,
2984
+ .fp16fml,
2985
+ .fpac,
2986
+ .fuse_adrp_add,
2987
+ .fuse_aes,
2988
+ .fuse_csel,
2989
+ .fuse_cset,
2990
+ .mte,
2991
+ .perfmon,
2992
+ .predictable_select_expensive,
2993
+ .rcpc3,
2994
+ .sme2,
2995
+ .spe,
2996
+ .specres2,
2997
+ .sve_bitperm,
2998
+ .use_fixed_over_scalable_if_equal_cost,
2999
+ .use_postra_scheduler,
3000
+ .v9_3a,
2526
3001
  }),
2527
3002
  };
2528
3003
  pub const carmel: CpuModel = .{
@@ -2541,12 +3016,15 @@ pub const cpu = struct {
2541
3016
  .features = featureSet(&[_]Feature{
2542
3017
  .alu_lsl_fast,
2543
3018
  .bf16,
3019
+ .disable_maximize_scalable_bandwidth,
2544
3020
  .enable_select_opt,
2545
3021
  .ete,
2546
3022
  .fp16fml,
2547
3023
  .fpac,
2548
3024
  .fuse_adrp_add,
2549
3025
  .fuse_aes,
3026
+ .fuse_csel,
3027
+ .fuse_cset,
2550
3028
  .i8mm,
2551
3029
  .mte,
2552
3030
  .perfmon,
@@ -2607,6 +3085,7 @@ pub const cpu = struct {
2607
3085
  .sve_bitperm,
2608
3086
  .use_fixed_over_scalable_if_equal_cost,
2609
3087
  .use_postra_scheduler,
3088
+ .use_wzr_to_vec_move,
2610
3089
  .v9a,
2611
3090
  }),
2612
3091
  };
@@ -2624,6 +3103,7 @@ pub const cpu = struct {
2624
3103
  .sve_bitperm,
2625
3104
  .use_fixed_over_scalable_if_equal_cost,
2626
3105
  .use_postra_scheduler,
3106
+ .use_wzr_to_vec_move,
2627
3107
  .v9_2a,
2628
3108
  }),
2629
3109
  };
@@ -2640,6 +3120,7 @@ pub const cpu = struct {
2640
3120
  .perfmon,
2641
3121
  .sve_bitperm,
2642
3122
  .use_postra_scheduler,
3123
+ .use_wzr_to_vec_move,
2643
3124
  .v9_2a,
2644
3125
  }),
2645
3126
  };
@@ -2655,6 +3136,7 @@ pub const cpu = struct {
2655
3136
  .perfmon,
2656
3137
  .sha2,
2657
3138
  .use_postra_scheduler,
3139
+ .use_wzr_to_vec_move,
2658
3140
  .v8a,
2659
3141
  }),
2660
3142
  };
@@ -2672,6 +3154,7 @@ pub const cpu = struct {
2672
3154
  .rcpc,
2673
3155
  .sha2,
2674
3156
  .use_postra_scheduler,
3157
+ .use_wzr_to_vec_move,
2675
3158
  .v8_2a,
2676
3159
  }),
2677
3160
  };
@@ -2687,6 +3170,7 @@ pub const cpu = struct {
2687
3170
  .fuse_adrp_add,
2688
3171
  .fuse_aes,
2689
3172
  .fuse_literals,
3173
+ .max_interleave_factor_4,
2690
3174
  .perfmon,
2691
3175
  .predictable_select_expensive,
2692
3176
  .sha2,
@@ -2747,6 +3231,8 @@ pub const cpu = struct {
2747
3231
  .fpac,
2748
3232
  .fuse_adrp_add,
2749
3233
  .fuse_aes,
3234
+ .fuse_csel,
3235
+ .fuse_cset,
2750
3236
  .i8mm,
2751
3237
  .mte,
2752
3238
  .perfmon,
@@ -2769,6 +3255,8 @@ pub const cpu = struct {
2769
3255
  .fpac,
2770
3256
  .fuse_adrp_add,
2771
3257
  .fuse_aes,
3258
+ .fuse_csel,
3259
+ .fuse_cset,
2772
3260
  .i8mm,
2773
3261
  .mte,
2774
3262
  .perfmon,
@@ -2808,6 +3296,8 @@ pub const cpu = struct {
2808
3296
  .fpac,
2809
3297
  .fuse_adrp_add,
2810
3298
  .fuse_aes,
3299
+ .fuse_csel,
3300
+ .fuse_cset,
2811
3301
  .mte,
2812
3302
  .perfmon,
2813
3303
  .predictable_select_expensive,
@@ -2829,6 +3319,8 @@ pub const cpu = struct {
2829
3319
  .fpac,
2830
3320
  .fuse_adrp_add,
2831
3321
  .fuse_aes,
3322
+ .fuse_csel,
3323
+ .fuse_cset,
2832
3324
  .mte,
2833
3325
  .perfmon,
2834
3326
  .predictable_select_expensive,
@@ -2850,6 +3342,8 @@ pub const cpu = struct {
2850
3342
  .fpac,
2851
3343
  .fuse_adrp_add,
2852
3344
  .fuse_aes,
3345
+ .fuse_csel,
3346
+ .fuse_cset,
2853
3347
  .mte,
2854
3348
  .perfmon,
2855
3349
  .predictable_select_expensive,
@@ -2967,6 +3461,8 @@ pub const cpu = struct {
2967
3461
  .fullfp16,
2968
3462
  .fuse_adrp_add,
2969
3463
  .fuse_aes,
3464
+ .fuse_csel,
3465
+ .fuse_cset,
2970
3466
  .perfmon,
2971
3467
  .predictable_select_expensive,
2972
3468
  .rcpc,
@@ -2990,6 +3486,8 @@ pub const cpu = struct {
2990
3486
  .fullfp16,
2991
3487
  .fuse_adrp_add,
2992
3488
  .fuse_aes,
3489
+ .fuse_csel,
3490
+ .fuse_cset,
2993
3491
  .perfmon,
2994
3492
  .predictable_select_expensive,
2995
3493
  .rcpc,
@@ -3014,6 +3512,8 @@ pub const cpu = struct {
3014
3512
  .fullfp16,
3015
3513
  .fuse_adrp_add,
3016
3514
  .fuse_aes,
3515
+ .fuse_csel,
3516
+ .fuse_cset,
3017
3517
  .pauth,
3018
3518
  .perfmon,
3019
3519
  .predictable_select_expensive,
@@ -3157,6 +3657,8 @@ pub const cpu = struct {
3157
3657
  .fpac,
3158
3658
  .fuse_adrp_add,
3159
3659
  .fuse_aes,
3660
+ .fuse_csel,
3661
+ .fuse_cset,
3160
3662
  .mte,
3161
3663
  .perfmon,
3162
3664
  .predictable_select_expensive,
@@ -3179,6 +3681,8 @@ pub const cpu = struct {
3179
3681
  .fpac,
3180
3682
  .fuse_adrp_add,
3181
3683
  .fuse_aes,
3684
+ .fuse_csel,
3685
+ .fuse_cset,
3182
3686
  .mte,
3183
3687
  .perfmon,
3184
3688
  .predictable_select_expensive,
@@ -3200,14 +3704,17 @@ pub const cpu = struct {
3200
3704
  .disable_latency_sched_heuristic,
3201
3705
  .fuse_aes,
3202
3706
  .fuse_crypto_eor,
3707
+ .no_zcz_fpr64,
3203
3708
  .perfmon,
3204
3709
  .sha2,
3205
3710
  .store_pair_suppress,
3206
3711
  .v8a,
3207
- .zcm_fpr64,
3712
+ .zcm_fpr128,
3208
3713
  .zcm_gpr64,
3209
- .zcz,
3210
3714
  .zcz_fp_workaround,
3715
+ .zcz_fpr128,
3716
+ .zcz_gpr32,
3717
+ .zcz_gpr64,
3211
3718
  }),
3212
3719
  };
3213
3720
  pub const emag: CpuModel = .{
@@ -3267,6 +3774,7 @@ pub const cpu = struct {
3267
3774
  .fuse_aes,
3268
3775
  .fuse_csel,
3269
3776
  .fuse_literals,
3777
+ .max_interleave_factor_4,
3270
3778
  .perfmon,
3271
3779
  .predictable_select_expensive,
3272
3780
  .sha2,
@@ -3293,12 +3801,14 @@ pub const cpu = struct {
3293
3801
  .fuse_arith_logic,
3294
3802
  .fuse_csel,
3295
3803
  .fuse_literals,
3804
+ .max_interleave_factor_4,
3296
3805
  .perfmon,
3297
3806
  .sha2,
3298
3807
  .store_pair_suppress,
3299
3808
  .use_postra_scheduler,
3300
3809
  .v8_2a,
3301
- .zcz,
3810
+ .zcz_gpr32,
3811
+ .zcz_gpr64,
3302
3812
  }),
3303
3813
  };
3304
3814
  pub const exynos_m5: CpuModel = .{
@@ -3319,12 +3829,14 @@ pub const cpu = struct {
3319
3829
  .fuse_arith_logic,
3320
3830
  .fuse_csel,
3321
3831
  .fuse_literals,
3832
+ .max_interleave_factor_4,
3322
3833
  .perfmon,
3323
3834
  .sha2,
3324
3835
  .store_pair_suppress,
3325
3836
  .use_postra_scheduler,
3326
3837
  .v8_2a,
3327
- .zcz,
3838
+ .zcz_gpr32,
3839
+ .zcz_gpr64,
3328
3840
  }),
3329
3841
  };
3330
3842
  pub const falkor: CpuModel = .{
@@ -3334,6 +3846,7 @@ pub const cpu = struct {
3334
3846
  .aes,
3335
3847
  .alu_lsl_fast,
3336
3848
  .crc,
3849
+ .max_interleave_factor_4,
3337
3850
  .perfmon,
3338
3851
  .predictable_select_expensive,
3339
3852
  .rdm,
@@ -3342,7 +3855,8 @@ pub const cpu = struct {
3342
3855
  .store_pair_suppress,
3343
3856
  .use_postra_scheduler,
3344
3857
  .v8a,
3345
- .zcz,
3858
+ .zcz_gpr32,
3859
+ .zcz_gpr64,
3346
3860
  }),
3347
3861
  };
3348
3862
  pub const fujitsu_monaka: CpuModel = .{
@@ -3382,6 +3896,8 @@ pub const cpu = struct {
3382
3896
  .fpac,
3383
3897
  .fuse_adrp_add,
3384
3898
  .fuse_aes,
3899
+ .fuse_csel,
3900
+ .fuse_cset,
3385
3901
  .mte,
3386
3902
  .perfmon,
3387
3903
  .predictable_select_expensive,
@@ -3422,11 +3938,13 @@ pub const cpu = struct {
3422
3938
  .fpac,
3423
3939
  .fuse_adrp_add,
3424
3940
  .fuse_aes,
3941
+ .fuse_csel,
3942
+ .fuse_cset,
3425
3943
  .i8mm,
3944
+ .max_interleave_factor_4,
3426
3945
  .mte,
3427
3946
  .perfmon,
3428
3947
  .predictable_select_expensive,
3429
- .rand,
3430
3948
  .spe,
3431
3949
  .sve_aes,
3432
3950
  .sve_bitperm,
@@ -3444,13 +3962,15 @@ pub const cpu = struct {
3444
3962
  .aes,
3445
3963
  .alu_lsl_fast,
3446
3964
  .crc,
3965
+ .max_interleave_factor_4,
3447
3966
  .perfmon,
3448
3967
  .predictable_select_expensive,
3449
3968
  .sha2,
3450
3969
  .store_pair_suppress,
3451
3970
  .use_postra_scheduler,
3452
3971
  .v8a,
3453
- .zcz,
3972
+ .zcz_gpr32,
3973
+ .zcz_gpr64,
3454
3974
  }),
3455
3975
  };
3456
3976
  pub const neoverse_512tvb: CpuModel = .{
@@ -3467,6 +3987,7 @@ pub const cpu = struct {
3467
3987
  .fuse_adrp_add,
3468
3988
  .fuse_aes,
3469
3989
  .i8mm,
3990
+ .max_interleave_factor_4,
3470
3991
  .perfmon,
3471
3992
  .predictable_select_expensive,
3472
3993
  .rand,
@@ -3524,12 +4045,15 @@ pub const cpu = struct {
3524
4045
  .features = featureSet(&[_]Feature{
3525
4046
  .alu_lsl_fast,
3526
4047
  .bf16,
4048
+ .disable_maximize_scalable_bandwidth,
3527
4049
  .enable_select_opt,
3528
4050
  .ete,
3529
4051
  .fp16fml,
3530
4052
  .fpac,
3531
4053
  .fuse_adrp_add,
3532
4054
  .fuse_aes,
4055
+ .fuse_csel,
4056
+ .fuse_cset,
3533
4057
  .i8mm,
3534
4058
  .mte,
3535
4059
  .perfmon,
@@ -3550,6 +4074,8 @@ pub const cpu = struct {
3550
4074
  .fpac,
3551
4075
  .fuse_adrp_add,
3552
4076
  .fuse_aes,
4077
+ .fuse_csel,
4078
+ .fuse_cset,
3553
4079
  .mte,
3554
4080
  .perfmon,
3555
4081
  .predictable_select_expensive,
@@ -3569,10 +4095,13 @@ pub const cpu = struct {
3569
4095
  .alu_lsl_fast,
3570
4096
  .bf16,
3571
4097
  .ccdp,
4098
+ .disable_maximize_scalable_bandwidth,
3572
4099
  .enable_select_opt,
3573
4100
  .fp16fml,
3574
4101
  .fuse_adrp_add,
3575
4102
  .fuse_aes,
4103
+ .fuse_csel,
4104
+ .fuse_cset,
3576
4105
  .i8mm,
3577
4106
  .no_sve_fp_ld1r,
3578
4107
  .perfmon,
@@ -3602,7 +4131,10 @@ pub const cpu = struct {
3602
4131
  .fpac,
3603
4132
  .fuse_adrp_add,
3604
4133
  .fuse_aes,
4134
+ .fuse_csel,
4135
+ .fuse_cset,
3605
4136
  .i8mm,
4137
+ .max_interleave_factor_4,
3606
4138
  .mte,
3607
4139
  .perfmon,
3608
4140
  .predictable_select_expensive,
@@ -3627,7 +4159,10 @@ pub const cpu = struct {
3627
4159
  .fpac,
3628
4160
  .fuse_adrp_add,
3629
4161
  .fuse_aes,
4162
+ .fuse_csel,
4163
+ .fuse_cset,
3630
4164
  .ls64,
4165
+ .max_interleave_factor_4,
3631
4166
  .mte,
3632
4167
  .perfmon,
3633
4168
  .predictable_select_expensive,
@@ -3651,7 +4186,10 @@ pub const cpu = struct {
3651
4186
  .fpac,
3652
4187
  .fuse_adrp_add,
3653
4188
  .fuse_aes,
4189
+ .fuse_csel,
4190
+ .fuse_cset,
3654
4191
  .ls64,
4192
+ .max_interleave_factor_4,
3655
4193
  .mte,
3656
4194
  .perfmon,
3657
4195
  .predictable_select_expensive,
@@ -3700,6 +4238,7 @@ pub const cpu = struct {
3700
4238
  .fuse_adrp_add,
3701
4239
  .fuse_aes,
3702
4240
  .fuse_crypto_eor,
4241
+ .max_interleave_factor_4,
3703
4242
  .perfmon,
3704
4243
  .rand,
3705
4244
  .sha3,
@@ -3715,6 +4254,7 @@ pub const cpu = struct {
3715
4254
  .features = featureSet(&[_]Feature{
3716
4255
  .aes,
3717
4256
  .alu_lsl_fast,
4257
+ .max_interleave_factor_4,
3718
4258
  .perfmon,
3719
4259
  .predictable_select_expensive,
3720
4260
  .sha2,
@@ -3722,7 +4262,8 @@ pub const cpu = struct {
3722
4262
  .store_pair_suppress,
3723
4263
  .use_postra_scheduler,
3724
4264
  .v8_4a,
3725
- .zcz,
4265
+ .zcz_gpr32,
4266
+ .zcz_gpr64,
3726
4267
  }),
3727
4268
  };
3728
4269
  pub const thunderx: CpuModel = .{
@@ -3746,6 +4287,7 @@ pub const cpu = struct {
3746
4287
  .aes,
3747
4288
  .aggressive_fma,
3748
4289
  .arith_bcc_fusion,
4290
+ .max_interleave_factor_4,
3749
4291
  .predictable_select_expensive,
3750
4292
  .sha2,
3751
4293
  .store_pair_suppress,
@@ -3761,6 +4303,7 @@ pub const cpu = struct {
3761
4303
  .aggressive_fma,
3762
4304
  .arith_bcc_fusion,
3763
4305
  .balance_fp_ops,
4306
+ .max_interleave_factor_4,
3764
4307
  .perfmon,
3765
4308
  .predictable_select_expensive,
3766
4309
  .sha2,