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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (786) hide show
  1. package/c/stdlib.zig +32 -22
  2. package/compiler/aro/aro/Compilation.zig +0 -3
  3. package/compiler/translate-c/ast.zig +5 -2
  4. package/compiler_rt/arm.zig +3 -3
  5. package/compiler_rt/trunctfhf2.zig +3 -0
  6. package/compiler_rt.zig +1 -22
  7. package/docs/wasm/markdown/Parser.zig +5 -9
  8. package/include/__clang_spirv_builtins.h +12 -12
  9. package/include/__float_float.h +176 -0
  10. package/include/__float_header_macro.h +12 -0
  11. package/include/__float_infinity_nan.h +20 -0
  12. package/include/amo.h +131 -0
  13. package/include/amxavx512intrin.h +215 -1
  14. package/include/amxintrin.h +0 -2
  15. package/include/arm_acle.h +37 -27
  16. package/include/arm_neon.h +218 -82
  17. package/include/arm_sme.h +8 -8
  18. package/include/arm_sve.h +4162 -3782
  19. package/include/avx10_2_512bf16intrin.h +19 -12
  20. package/include/avx10_2_512convertintrin.h +1 -1
  21. package/include/avx10_2_512niintrin.h +31 -31
  22. package/include/avx10_2_512satcvtdsintrin.h +1 -1
  23. package/include/avx10_2bf16intrin.h +54 -45
  24. package/include/avx10_2convertintrin.h +2 -2
  25. package/include/avx10_2copyintrin.h +1 -1
  26. package/include/avx10_2niintrin.h +14 -14
  27. package/include/avx10_2satcvtdsintrin.h +2 -2
  28. package/include/avx2intrin.h +275 -377
  29. package/include/avx512bf16intrin.h +25 -16
  30. package/include/avx512bitalgintrin.h +19 -30
  31. package/include/avx512bwintrin.h +386 -505
  32. package/include/avx512cdintrin.h +42 -55
  33. package/include/avx512dqintrin.h +132 -161
  34. package/include/avx512fintrin.h +1015 -1424
  35. package/include/avx512fp16intrin.h +112 -110
  36. package/include/avx512ifmaintrin.h +32 -34
  37. package/include/avx512ifmavlintrin.h +73 -46
  38. package/include/avx512vbmi2intrin.h +43 -32
  39. package/include/avx512vbmiintrin.h +19 -27
  40. package/include/avx512vbmivlintrin.h +35 -49
  41. package/include/avx512vlbf16intrin.h +32 -22
  42. package/include/avx512vlbitalgintrin.h +37 -53
  43. package/include/avx512vlbwintrin.h +470 -573
  44. package/include/avx512vlcdintrin.h +74 -102
  45. package/include/avx512vldqintrin.h +110 -127
  46. package/include/avx512vlfp16intrin.h +130 -111
  47. package/include/avx512vlintrin.h +945 -1299
  48. package/include/avx512vlvbmi2intrin.h +78 -63
  49. package/include/avx512vlvnniintrin.h +21 -18
  50. package/include/avx512vlvp2intersectintrin.h +2 -2
  51. package/include/avx512vnniintrin.h +10 -10
  52. package/include/avx512vp2intersectintrin.h +1 -2
  53. package/include/avx512vpopcntdqintrin.h +8 -10
  54. package/include/avx512vpopcntdqvlintrin.h +17 -15
  55. package/include/avxifmaintrin.h +16 -0
  56. package/include/avxintrin.h +165 -241
  57. package/include/avxvnniint16intrin.h +118 -99
  58. package/include/avxvnniint8intrin.h +56 -32
  59. package/include/avxvnniintrin.h +16 -8
  60. package/include/cpuid.h +101 -4
  61. package/include/emmintrin.h +168 -168
  62. package/include/f16cintrin.h +23 -9
  63. package/include/float.h +16 -155
  64. package/include/fma4intrin.h +98 -96
  65. package/include/fmaintrin.h +96 -66
  66. package/include/gfniintrin.h +21 -16
  67. package/include/hexagon_types.h +23 -20
  68. package/include/hvx_hexagon_protos.h +649 -860
  69. package/include/immintrin.h +0 -12
  70. package/include/intrin.h +4 -0
  71. package/include/lasxintrin.h +113 -0
  72. package/include/llvm_libc_wrappers/assert.h +3 -5
  73. package/include/llvm_libc_wrappers/ctype.h +3 -115
  74. package/include/llvm_libc_wrappers/inttypes.h +3 -5
  75. package/include/llvm_libc_wrappers/stdio.h +10 -38
  76. package/include/llvm_libc_wrappers/stdlib.h +3 -24
  77. package/include/llvm_libc_wrappers/string.h +2 -70
  78. package/include/llvm_libc_wrappers/time.h +4 -10
  79. package/include/mmintrin.h +188 -257
  80. package/include/module.modulemap +23 -4
  81. package/include/movrs_avx10_2_512intrin.h +2 -2
  82. package/include/movrs_avx10_2intrin.h +4 -4
  83. package/include/pmmintrin.h +12 -24
  84. package/include/ptrauth.h +16 -2
  85. package/include/riscv_mips.h +34 -0
  86. package/include/riscv_nds.h +89 -0
  87. package/include/sifive_vector.h +58 -2
  88. package/include/sm4evexintrin.h +2 -2
  89. package/include/smmintrin.h +77 -59
  90. package/include/spirvintrin.h +194 -0
  91. package/include/stddefer.h +19 -0
  92. package/include/tmmintrin.h +116 -147
  93. package/include/vaesintrin.h +1 -2
  94. package/include/xmmintrin.h +44 -70
  95. package/include/xopintrin.h +20 -10
  96. package/libc/include/aarch64-linux-any/asm/hwcap.h +1 -0
  97. package/libc/include/aarch64-linux-any/asm/unistd_64.h +1 -0
  98. package/libc/include/any-linux-any/asm-generic/errno.h +2 -0
  99. package/libc/include/any-linux-any/asm-generic/unistd.h +4 -1
  100. package/libc/include/any-linux-any/drm/amdgpu_drm.h +20 -6
  101. package/libc/include/any-linux-any/drm/amdxdna_accel.h +8 -0
  102. package/libc/include/any-linux-any/drm/drm_fourcc.h +6 -6
  103. package/libc/include/any-linux-any/drm/panfrost_drm.h +75 -1
  104. package/libc/include/any-linux-any/drm/panthor_drm.h +154 -3
  105. package/libc/include/any-linux-any/drm/rocket_accel.h +74 -24
  106. package/libc/include/any-linux-any/drm/xe_drm.h +89 -6
  107. package/libc/include/any-linux-any/linux/android/binder.h +1 -1
  108. package/libc/include/any-linux-any/linux/bpf.h +28 -0
  109. package/libc/include/any-linux-any/linux/btrfs.h +1 -0
  110. package/libc/include/any-linux-any/linux/btrfs_tree.h +32 -2
  111. package/libc/include/any-linux-any/linux/dma-buf.h +1 -0
  112. package/libc/include/any-linux-any/linux/dpll.h +1 -0
  113. package/libc/include/any-linux-any/linux/elf.h +2 -0
  114. package/libc/include/any-linux-any/linux/ethtool.h +21 -5
  115. package/libc/include/any-linux-any/linux/fs.h +1 -0
  116. package/libc/include/any-linux-any/linux/hyperv.h +1 -1
  117. package/libc/include/any-linux-any/linux/idxd.h +134 -134
  118. package/libc/include/any-linux-any/linux/if_alg.h +1 -1
  119. package/libc/include/any-linux-any/linux/if_link.h +1 -0
  120. package/libc/include/any-linux-any/linux/input-event-codes.h +4 -0
  121. package/libc/include/any-linux-any/linux/io_uring/bpf_filter.h +68 -0
  122. package/libc/include/any-linux-any/linux/io_uring/query.h +5 -1
  123. package/libc/include/any-linux-any/linux/io_uring.h +33 -2
  124. package/libc/include/any-linux-any/linux/iommufd.h +39 -0
  125. package/libc/include/any-linux-any/linux/kfd_ioctl.h +13 -3
  126. package/libc/include/any-linux-any/linux/kfd_sysfs.h +2 -1
  127. package/libc/include/any-linux-any/linux/kvm.h +30 -6
  128. package/libc/include/any-linux-any/linux/landlock.h +22 -8
  129. package/libc/include/any-linux-any/linux/magic.h +1 -0
  130. package/libc/include/any-linux-any/linux/mempolicy.h +3 -0
  131. package/libc/include/any-linux-any/linux/mount.h +11 -2
  132. package/libc/include/any-linux-any/linux/mptcp_pm.h +1 -1
  133. package/libc/include/any-linux-any/linux/mshv.h +2 -0
  134. package/libc/include/any-linux-any/linux/netfilter_bridge.h +5 -4
  135. package/libc/include/any-linux-any/linux/netfilter_ipv4.h +4 -5
  136. package/libc/include/any-linux-any/linux/netfilter_ipv6.h +3 -4
  137. package/libc/include/any-linux-any/linux/nfs.h +1 -1
  138. package/libc/include/any-linux-any/linux/nfsd_netlink.h +1 -0
  139. package/libc/include/any-linux-any/linux/nilfs2_api.h +2 -2
  140. package/libc/include/any-linux-any/linux/nilfs2_ondisk.h +97 -66
  141. package/libc/include/any-linux-any/linux/nl80211.h +104 -3
  142. package/libc/include/any-linux-any/linux/pci.h +7 -0
  143. package/libc/include/any-linux-any/linux/pci_regs.h +65 -6
  144. package/libc/include/any-linux-any/linux/pcitest.h +1 -0
  145. package/libc/include/any-linux-any/linux/perf_event.h +24 -3
  146. package/libc/include/any-linux-any/linux/pkt_sched.h +1 -0
  147. package/libc/include/any-linux-any/linux/prctl.h +30 -0
  148. package/libc/include/any-linux-any/linux/rseq.h +62 -5
  149. package/libc/include/any-linux-any/linux/shm.h +0 -1
  150. package/libc/include/any-linux-any/linux/stddef.h +4 -0
  151. package/libc/include/any-linux-any/linux/sysctl.h +1 -2
  152. package/libc/include/any-linux-any/linux/taskstats.h +12 -1
  153. package/libc/include/any-linux-any/linux/tcp.h +23 -3
  154. package/libc/include/any-linux-any/linux/typelimits.h +8 -0
  155. package/libc/include/any-linux-any/linux/ublk_cmd.h +120 -1
  156. package/libc/include/any-linux-any/linux/v4l2-controls.h +63 -0
  157. package/libc/include/any-linux-any/linux/vbox_vmmdev_types.h +2 -2
  158. package/libc/include/any-linux-any/linux/vduse.h +80 -5
  159. package/libc/include/any-linux-any/linux/version.h +3 -3
  160. package/libc/include/any-linux-any/linux/vfio.h +4 -0
  161. package/libc/include/any-linux-any/linux/videodev2.h +3 -0
  162. package/libc/include/any-linux-any/linux/virtio_ring.h +1 -2
  163. package/libc/include/any-linux-any/linux/vmclock-abi.h +20 -0
  164. package/libc/include/any-linux-any/rdma/bnxt_re-abi.h +16 -0
  165. package/libc/include/any-linux-any/rdma/ib_user_ioctl_cmds.h +16 -0
  166. package/libc/include/any-linux-any/rdma/mana-abi.h +3 -0
  167. package/libc/include/any-linux-any/scsi/scsi_bsg_ufs.h +8 -9
  168. package/libc/include/any-linux-any/sound/sof/tokens.h +6 -0
  169. package/libc/include/arc-linux-any/asm/swab.h +0 -63
  170. package/libc/include/arc-linux-any/asm/unistd_32.h +1 -0
  171. package/libc/include/arm-linux-any/asm/ptrace.h +0 -9
  172. package/libc/include/arm-linux-any/asm/unistd-eabi.h +1 -0
  173. package/libc/include/arm-linux-any/asm/unistd-oabi.h +1 -0
  174. package/libc/include/csky-linux-any/asm/unistd_32.h +1 -0
  175. package/libc/include/hexagon-linux-any/asm/unistd_32.h +1 -0
  176. package/libc/include/loongarch-linux-any/asm/hwcap.h +1 -0
  177. package/libc/include/loongarch-linux-any/asm/kvm.h +1 -0
  178. package/libc/include/loongarch-linux-any/asm/kvm_para.h +1 -0
  179. package/libc/include/loongarch-linux-any/asm/unistd_32.h +2 -0
  180. package/libc/include/loongarch-linux-any/asm/unistd_64.h +2 -0
  181. package/libc/include/m68k-linux-any/asm/unistd_32.h +1 -0
  182. package/libc/include/mips-linux-any/asm/errno.h +2 -0
  183. package/libc/include/mips-linux-any/asm/unistd_n32.h +1 -0
  184. package/libc/include/mips-linux-any/asm/unistd_n64.h +1 -0
  185. package/libc/include/mips-linux-any/asm/unistd_o32.h +1 -0
  186. package/libc/include/powerpc-linux-any/asm/unistd_32.h +1 -0
  187. package/libc/include/powerpc-linux-any/asm/unistd_64.h +1 -0
  188. package/libc/include/riscv-linux-any/asm/hwprobe.h +4 -0
  189. package/libc/include/riscv-linux-any/asm/kvm.h +3 -0
  190. package/libc/include/riscv-linux-any/asm/ptrace.h +37 -0
  191. package/libc/include/riscv-linux-any/asm/sigcontext.h +1 -0
  192. package/libc/include/riscv-linux-any/asm/unistd_32.h +1 -0
  193. package/libc/include/riscv-linux-any/asm/unistd_64.h +1 -0
  194. package/libc/include/s390x-linux-any/asm/unistd_64.h +1 -0
  195. package/libc/include/sparc-linux-any/asm/errno.h +2 -0
  196. package/libc/include/sparc-linux-any/asm/ioctls.h +4 -4
  197. package/libc/include/sparc-linux-any/asm/unistd_32.h +2 -0
  198. package/libc/include/sparc-linux-any/asm/unistd_64.h +2 -0
  199. package/libc/include/x86-linux-any/asm/auxvec.h +0 -4
  200. package/libc/include/x86-linux-any/asm/kvm.h +13 -8
  201. package/libc/include/x86-linux-any/asm/svm.h +16 -16
  202. package/libc/include/x86-linux-any/asm/unistd_32.h +1 -0
  203. package/libc/include/x86-linux-any/asm/unistd_64.h +1 -0
  204. package/libc/include/x86-linux-any/asm/unistd_x32.h +1 -0
  205. package/libc/include/xtensa-linux-any/asm/unistd_32.h +1 -0
  206. package/libcxx/include/__algorithm/all_of.h +11 -5
  207. package/libcxx/include/__algorithm/comp.h +4 -0
  208. package/libcxx/include/__algorithm/copy.h +28 -147
  209. package/libcxx/include/__algorithm/copy_backward.h +9 -24
  210. package/libcxx/include/__algorithm/copy_n.h +50 -16
  211. package/libcxx/include/__algorithm/count.h +2 -2
  212. package/libcxx/include/__algorithm/equal.h +43 -55
  213. package/libcxx/include/__algorithm/fill.h +26 -8
  214. package/libcxx/include/__algorithm/fill_n.h +32 -46
  215. package/libcxx/include/__algorithm/find.h +96 -39
  216. package/libcxx/include/__algorithm/find_end.h +105 -0
  217. package/libcxx/include/__algorithm/for_each.h +18 -24
  218. package/libcxx/include/__algorithm/for_each_n.h +20 -47
  219. package/libcxx/include/__algorithm/for_each_n_segment.h +1 -1
  220. package/libcxx/include/__algorithm/for_each_segment.h +26 -0
  221. package/libcxx/include/__algorithm/generate.h +4 -2
  222. package/libcxx/include/__algorithm/generate_n.h +19 -6
  223. package/libcxx/include/__algorithm/is_permutation.h +4 -4
  224. package/libcxx/include/__algorithm/iterator_operations.h +3 -0
  225. package/libcxx/include/__algorithm/lexicographical_compare.h +2 -2
  226. package/libcxx/include/__algorithm/lexicographical_compare_three_way.h +6 -6
  227. package/libcxx/include/__algorithm/make_heap.h +16 -4
  228. package/libcxx/include/__algorithm/mismatch.h +2 -2
  229. package/libcxx/include/__algorithm/move.h +8 -19
  230. package/libcxx/include/__algorithm/move_backward.h +9 -24
  231. package/libcxx/include/__algorithm/none_of.h +4 -4
  232. package/libcxx/include/__algorithm/partial_sort.h +1 -1
  233. package/libcxx/include/__algorithm/partial_sort_copy.h +1 -1
  234. package/libcxx/include/__algorithm/pstl.h +9 -9
  235. package/libcxx/include/__algorithm/radix_sort.h +27 -25
  236. package/libcxx/include/__algorithm/ranges_copy_n.h +3 -26
  237. package/libcxx/include/__algorithm/ranges_equal.h +17 -26
  238. package/libcxx/include/__algorithm/ranges_fill.h +7 -6
  239. package/libcxx/include/__algorithm/ranges_for_each.h +9 -1
  240. package/libcxx/include/__algorithm/ranges_generate_n.h +2 -6
  241. package/libcxx/include/__algorithm/ranges_search_n.h +2 -2
  242. package/libcxx/include/__algorithm/rotate.h +27 -44
  243. package/libcxx/include/__algorithm/search_n.h +49 -37
  244. package/libcxx/include/__algorithm/sift_down.h +19 -18
  245. package/libcxx/include/__algorithm/simd_utils.h +33 -4
  246. package/libcxx/include/__algorithm/specialized_algorithms.h +54 -0
  247. package/libcxx/include/__algorithm/stable_sort.h +1 -1
  248. package/libcxx/include/__assertion_handler +31 -4
  249. package/libcxx/include/__atomic/atomic.h +36 -60
  250. package/libcxx/include/__atomic/atomic_flag.h +19 -37
  251. package/libcxx/include/__atomic/atomic_ref.h +29 -12
  252. package/libcxx/include/__atomic/atomic_sync.h +127 -55
  253. package/libcxx/include/__atomic/atomic_sync_timed.h +144 -0
  254. package/libcxx/include/__atomic/atomic_waitable_traits.h +103 -0
  255. package/libcxx/include/__atomic/contention_t.h +27 -3
  256. package/libcxx/include/__atomic/floating_point_helper.h +55 -0
  257. package/libcxx/include/__bit/countl.h +1 -2
  258. package/libcxx/include/__bit/countr.h +1 -2
  259. package/libcxx/include/__bit/has_single_bit.h +1 -1
  260. package/libcxx/include/__bit/popcount.h +0 -1
  261. package/libcxx/include/__bit/rotate.h +15 -26
  262. package/libcxx/include/__bit_reference +207 -18
  263. package/libcxx/include/__charconv/from_chars_integral.h +1 -1
  264. package/libcxx/include/__charconv/from_chars_result.h +1 -1
  265. package/libcxx/include/__charconv/to_chars_integral.h +1 -0
  266. package/libcxx/include/__charconv/to_chars_result.h +1 -1
  267. package/libcxx/include/__charconv/traits.h +3 -24
  268. package/libcxx/include/__chrono/day.h +11 -0
  269. package/libcxx/include/__chrono/duration.h +58 -33
  270. package/libcxx/include/__chrono/file_clock.h +4 -2
  271. package/libcxx/include/__chrono/is_clock.h +72 -0
  272. package/libcxx/include/__chrono/leap_second.h +13 -0
  273. package/libcxx/include/__chrono/month.h +13 -0
  274. package/libcxx/include/__chrono/month_weekday.h +22 -0
  275. package/libcxx/include/__chrono/monthday.h +20 -0
  276. package/libcxx/include/__chrono/steady_clock.h +1 -1
  277. package/libcxx/include/__chrono/system_clock.h +3 -3
  278. package/libcxx/include/__chrono/time_point.h +37 -13
  279. package/libcxx/include/__chrono/weekday.h +25 -0
  280. package/libcxx/include/__chrono/year.h +11 -0
  281. package/libcxx/include/__chrono/year_month.h +13 -0
  282. package/libcxx/include/__chrono/year_month_day.h +23 -0
  283. package/libcxx/include/__chrono/year_month_weekday.h +26 -0
  284. package/libcxx/include/__chrono/zoned_time.h +16 -0
  285. package/libcxx/include/__compare/is_eq.h +6 -6
  286. package/libcxx/include/__compare/strong_order.h +12 -30
  287. package/libcxx/include/__compare/three_way_comparable.h +2 -2
  288. package/libcxx/include/__concepts/comparison_common_type.h +40 -0
  289. package/libcxx/include/__concepts/equality_comparable.h +2 -1
  290. package/libcxx/include/__condition_variable/condition_variable.h +1 -1
  291. package/libcxx/include/__config +63 -280
  292. package/libcxx/include/__configuration/abi.h +14 -24
  293. package/libcxx/include/__configuration/availability.h +65 -118
  294. package/libcxx/include/__configuration/compiler.h +6 -6
  295. package/libcxx/include/__configuration/experimental.h +38 -0
  296. package/libcxx/include/__configuration/hardening.h +215 -0
  297. package/libcxx/include/__configuration/language.h +3 -0
  298. package/libcxx/include/__configuration/platform.h +9 -16
  299. package/libcxx/include/__coroutine/coroutine_handle.h +9 -9
  300. package/libcxx/include/__coroutine/noop_coroutine_handle.h +11 -13
  301. package/libcxx/include/__debug_utils/strict_weak_ordering_check.h +1 -1
  302. package/libcxx/include/__exception/exception.h +6 -4
  303. package/libcxx/include/__exception/exception_ptr.h +27 -5
  304. package/libcxx/include/__exception/nested_exception.h +2 -2
  305. package/libcxx/include/__exception/operations.h +5 -5
  306. package/libcxx/include/__expected/bad_expected_access.h +8 -6
  307. package/libcxx/include/__expected/expected.h +62 -64
  308. package/libcxx/include/__expected/unexpected.h +4 -4
  309. package/libcxx/include/__filesystem/copy_options.h +4 -4
  310. package/libcxx/include/__filesystem/directory_entry.h +37 -33
  311. package/libcxx/include/__filesystem/directory_iterator.h +9 -11
  312. package/libcxx/include/__filesystem/directory_options.h +7 -4
  313. package/libcxx/include/__filesystem/file_status.h +3 -3
  314. package/libcxx/include/__filesystem/filesystem_error.h +9 -10
  315. package/libcxx/include/__filesystem/operations.h +97 -66
  316. package/libcxx/include/__filesystem/path.h +68 -64
  317. package/libcxx/include/__filesystem/path_iterator.h +1 -3
  318. package/libcxx/include/__filesystem/perm_options.h +4 -4
  319. package/libcxx/include/__filesystem/perms.h +4 -4
  320. package/libcxx/include/__filesystem/recursive_directory_iterator.h +9 -14
  321. package/libcxx/include/__filesystem/space_info.h +1 -1
  322. package/libcxx/include/__filesystem/u8path.h +12 -14
  323. package/libcxx/include/__flat_map/flat_map.h +88 -71
  324. package/libcxx/include/__flat_map/flat_multimap.h +251 -172
  325. package/libcxx/include/__flat_map/key_value_iterator.h +0 -1
  326. package/libcxx/include/__flat_map/utils.h +1 -0
  327. package/libcxx/include/__flat_set/flat_multiset.h +211 -143
  328. package/libcxx/include/__flat_set/flat_set.h +86 -68
  329. package/libcxx/include/__format/concepts.h +0 -14
  330. package/libcxx/include/__format/extended_grapheme_cluster_table.h +3 -2
  331. package/libcxx/include/__format/fmt_pair_like.h +42 -0
  332. package/libcxx/include/__format/format_arg.h +7 -10
  333. package/libcxx/include/__format/format_args.h +1 -1
  334. package/libcxx/include/__format/format_context.h +5 -5
  335. package/libcxx/include/__format/format_parse_context.h +2 -2
  336. package/libcxx/include/__format/formatter_output.h +30 -34
  337. package/libcxx/include/__format/indic_conjunct_break_table.h +3 -2
  338. package/libcxx/include/__format/range_default_formatter.h +2 -41
  339. package/libcxx/include/__format/range_format.h +71 -0
  340. package/libcxx/include/__format/range_formatter.h +1 -0
  341. package/libcxx/include/__format/width_estimation_table.h +4 -2
  342. package/libcxx/include/__functional/bind.h +10 -15
  343. package/libcxx/include/__functional/bind_back.h +1 -1
  344. package/libcxx/include/__functional/bind_front.h +1 -1
  345. package/libcxx/include/__functional/function.h +57 -75
  346. package/libcxx/include/__functional/hash.h +1 -10
  347. package/libcxx/include/__functional/identity.h +1 -1
  348. package/libcxx/include/__functional/is_transparent.h +8 -0
  349. package/libcxx/include/__functional/mem_fn.h +2 -1
  350. package/libcxx/include/__functional/operations.h +18 -0
  351. package/libcxx/include/__functional/ranges_operations.h +7 -0
  352. package/libcxx/include/__functional/reference_wrapper.h +7 -5
  353. package/libcxx/include/__functional/weak_result_type.h +14 -28
  354. package/libcxx/include/__fwd/ios.h +1 -1
  355. package/libcxx/include/__fwd/tuple.h +14 -0
  356. package/libcxx/include/__hash_table +371 -357
  357. package/libcxx/include/__ios/fpos.h +4 -4
  358. package/libcxx/include/__iterator/back_insert_iterator.h +1 -7
  359. package/libcxx/include/__iterator/bounded_iter.h +7 -8
  360. package/libcxx/include/__iterator/concepts.h +6 -9
  361. package/libcxx/include/__iterator/cpp17_iterator_concepts.h +13 -12
  362. package/libcxx/include/__iterator/distance.h +40 -18
  363. package/libcxx/include/__iterator/front_insert_iterator.h +1 -7
  364. package/libcxx/include/__iterator/insert_iterator.h +1 -7
  365. package/libcxx/include/__iterator/istream_iterator.h +6 -7
  366. package/libcxx/include/__iterator/istreambuf_iterator.h +6 -7
  367. package/libcxx/include/__iterator/iter_move.h +1 -1
  368. package/libcxx/include/__iterator/iterator.h +13 -0
  369. package/libcxx/include/__iterator/iterator_traits.h +13 -14
  370. package/libcxx/include/__iterator/ostream_iterator.h +1 -7
  371. package/libcxx/include/__iterator/ostreambuf_iterator.h +1 -7
  372. package/libcxx/include/__iterator/reverse_iterator.h +8 -13
  373. package/libcxx/include/__iterator/segmented_iterator.h +3 -8
  374. package/libcxx/include/__iterator/static_bounded_iter.h +3 -3
  375. package/libcxx/include/__iterator/wrap_iter.h +8 -6
  376. package/libcxx/include/__locale +3 -10
  377. package/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h +0 -10
  378. package/libcxx/include/__locale_dir/locale_base_api.h +5 -28
  379. package/libcxx/include/__locale_dir/messages.h +1 -1
  380. package/libcxx/include/__locale_dir/money.h +2 -2
  381. package/libcxx/include/__locale_dir/num.h +190 -243
  382. package/libcxx/include/__locale_dir/pad_and_output.h +5 -6
  383. package/libcxx/include/__locale_dir/support/bsd_like.h +0 -20
  384. package/libcxx/include/__locale_dir/support/fuchsia.h +0 -7
  385. package/libcxx/include/__locale_dir/support/linux.h +0 -37
  386. package/libcxx/include/__locale_dir/support/netbsd.h +0 -2
  387. package/libcxx/include/__locale_dir/support/newlib.h +243 -0
  388. package/libcxx/include/__locale_dir/support/no_locale/characters.h +0 -4
  389. package/libcxx/include/__locale_dir/support/no_locale/strtonum.h +0 -9
  390. package/libcxx/include/__locale_dir/support/windows.h +0 -29
  391. package/libcxx/include/__locale_dir/time.h +3 -7
  392. package/libcxx/include/__math/hypot.h +1 -1
  393. package/libcxx/include/__math/logarithms.h +1 -1
  394. package/libcxx/include/__math/traits.h +80 -11
  395. package/libcxx/include/__mdspan/extents.h +7 -4
  396. package/libcxx/include/__mdspan/layout_stride.h +4 -5
  397. package/libcxx/include/__mdspan/mdspan.h +29 -23
  398. package/libcxx/include/__memory/addressof.h +7 -5
  399. package/libcxx/include/__memory/align.h +18 -1
  400. package/libcxx/include/__memory/allocate_at_least.h +15 -10
  401. package/libcxx/include/__memory/allocator.h +14 -26
  402. package/libcxx/include/__memory/allocator_traits.h +6 -4
  403. package/libcxx/include/__memory/compressed_pair.h +15 -9
  404. package/libcxx/include/__memory/construct_at.h +12 -23
  405. package/libcxx/include/__memory/inout_ptr.h +1 -1
  406. package/libcxx/include/__memory/is_sufficiently_aligned.h +1 -1
  407. package/libcxx/include/__memory/out_ptr.h +1 -1
  408. package/libcxx/include/__memory/pointer_traits.h +1 -1
  409. package/libcxx/include/__memory/raw_storage_iterator.h +3 -9
  410. package/libcxx/include/__memory/shared_count.h +9 -30
  411. package/libcxx/include/__memory/shared_ptr.h +100 -145
  412. package/libcxx/include/__memory/temp_value.h +1 -2
  413. package/libcxx/include/__memory/uninitialized_algorithms.h +44 -115
  414. package/libcxx/include/__memory/unique_ptr.h +14 -16
  415. package/libcxx/include/__memory/uses_allocator_construction.h +1 -0
  416. package/libcxx/include/__memory_resource/memory_resource.h +4 -2
  417. package/libcxx/include/__memory_resource/monotonic_buffer_resource.h +1 -1
  418. package/libcxx/include/__memory_resource/polymorphic_allocator.h +13 -8
  419. package/libcxx/include/__memory_resource/pool_options.h +1 -1
  420. package/libcxx/include/__memory_resource/synchronized_pool_resource.h +4 -2
  421. package/libcxx/include/__memory_resource/unsynchronized_pool_resource.h +1 -1
  422. package/libcxx/include/__mutex/mutex.h +2 -2
  423. package/libcxx/include/__mutex/once_flag.h +14 -11
  424. package/libcxx/include/__mutex/tag_types.h +3 -3
  425. package/libcxx/include/__mutex/unique_lock.h +8 -7
  426. package/libcxx/include/__new/align_val_t.h +6 -0
  427. package/libcxx/include/__new/allocate.h +1 -2
  428. package/libcxx/include/__new/exceptions.h +8 -2
  429. package/libcxx/include/__new/global_new_delete.h +4 -11
  430. package/libcxx/include/__new/interference_size.h +0 -4
  431. package/libcxx/include/__new/launder.h +3 -5
  432. package/libcxx/include/__new/nothrow_t.h +1 -1
  433. package/libcxx/include/__numeric/gcd_lcm.h +24 -34
  434. package/libcxx/include/__numeric/midpoint.h +9 -14
  435. package/libcxx/include/__numeric/pstl.h +2 -2
  436. package/libcxx/include/__numeric/saturation_arithmetic.h +13 -5
  437. package/libcxx/include/__ostream/basic_ostream.h +8 -8
  438. package/libcxx/include/__pstl/backends/default.h +14 -14
  439. package/libcxx/include/__pstl/backends/libdispatch.h +2 -2
  440. package/libcxx/include/__pstl/cpu_algos/find_if.h +1 -1
  441. package/libcxx/include/__pstl/cpu_algos/transform.h +5 -6
  442. package/libcxx/include/__pstl/cpu_algos/transform_reduce.h +5 -4
  443. package/libcxx/include/__random/binomial_distribution.h +10 -4
  444. package/libcxx/include/__random/mersenne_twister_engine.h +50 -154
  445. package/libcxx/include/__random/piecewise_constant_distribution.h +3 -2
  446. package/libcxx/include/__random/piecewise_linear_distribution.h +3 -2
  447. package/libcxx/include/__ranges/adjacent_transform_view.h +406 -0
  448. package/libcxx/include/__ranges/adjacent_view.h +419 -0
  449. package/libcxx/include/__ranges/as_rvalue_view.h +9 -9
  450. package/libcxx/include/__ranges/chunk_by_view.h +6 -6
  451. package/libcxx/include/__ranges/common_view.h +7 -7
  452. package/libcxx/include/__ranges/drop_view.h +8 -8
  453. package/libcxx/include/__ranges/drop_while_view.h +5 -5
  454. package/libcxx/include/__ranges/elements_of.h +49 -0
  455. package/libcxx/include/__ranges/empty_view.h +5 -5
  456. package/libcxx/include/__ranges/filter_view.h +10 -10
  457. package/libcxx/include/__ranges/iota_view.h +41 -22
  458. package/libcxx/include/__ranges/owning_view.h +15 -15
  459. package/libcxx/include/__ranges/ref_view.h +6 -6
  460. package/libcxx/include/__ranges/repeat_view.h +17 -10
  461. package/libcxx/include/__ranges/single_view.h +8 -8
  462. package/libcxx/include/__ranges/take_view.h +9 -9
  463. package/libcxx/include/__ranges/transform_view.h +1 -2
  464. package/libcxx/include/__ranges/view_interface.h +10 -10
  465. package/libcxx/include/__ranges/zip_transform_view.h +357 -0
  466. package/libcxx/include/__ranges/zip_view.h +20 -20
  467. package/libcxx/include/__split_buffer +612 -240
  468. package/libcxx/include/__stop_token/atomic_unique_lock.h +1 -1
  469. package/libcxx/include/__stop_token/stop_callback.h +2 -2
  470. package/libcxx/include/__stop_token/stop_source.h +1 -1
  471. package/libcxx/include/__stop_token/stop_state.h +4 -4
  472. package/libcxx/include/__stop_token/stop_token.h +1 -1
  473. package/libcxx/include/__string/char_traits.h +51 -31
  474. package/libcxx/include/__string/constexpr_c_functions.h +5 -5
  475. package/libcxx/include/__support/xlocale/__strtonum_fallback.h +0 -8
  476. package/libcxx/include/__system_error/error_category.h +8 -8
  477. package/libcxx/include/__system_error/error_code.h +5 -5
  478. package/libcxx/include/__system_error/error_condition.h +4 -4
  479. package/libcxx/include/__system_error/system_error.h +1 -1
  480. package/libcxx/include/__thread/id.h +1 -1
  481. package/libcxx/include/__thread/jthread.h +1 -1
  482. package/libcxx/include/__thread/poll_with_backoff.h +27 -8
  483. package/libcxx/include/__thread/support/c11.h +8 -8
  484. package/libcxx/include/__thread/support/pthread.h +8 -8
  485. package/libcxx/include/__thread/support/windows.h +8 -8
  486. package/libcxx/include/__thread/thread.h +13 -8
  487. package/libcxx/include/__thread/timed_backoff_policy.h +3 -2
  488. package/libcxx/include/__tree +849 -701
  489. package/libcxx/include/__tuple/sfinae_helpers.h +1 -44
  490. package/libcxx/include/__tuple/tuple_element.h +0 -12
  491. package/libcxx/include/__tuple/tuple_size.h +0 -4
  492. package/libcxx/include/__tuple/tuple_transform.h +45 -0
  493. package/libcxx/include/__type_traits/aligned_storage.h +13 -40
  494. package/libcxx/include/__type_traits/desugars_to.h +4 -0
  495. package/libcxx/include/__type_traits/invoke.h +8 -0
  496. package/libcxx/include/__type_traits/is_allocator.h +6 -7
  497. package/libcxx/include/__type_traits/is_array.h +26 -0
  498. package/libcxx/include/__type_traits/is_equality_comparable.h +16 -21
  499. package/libcxx/include/__type_traits/is_final.h +1 -1
  500. package/libcxx/include/__type_traits/is_floating_point.h +7 -6
  501. package/libcxx/include/__type_traits/is_generic_transparent_comparator.h +30 -0
  502. package/libcxx/include/__type_traits/is_specialization.h +2 -6
  503. package/libcxx/include/__type_traits/is_within_lifetime.h +29 -0
  504. package/libcxx/include/__type_traits/make_transparent.h +52 -0
  505. package/libcxx/include/__type_traits/reference_constructs_from_temporary.h +1 -7
  506. package/libcxx/include/__type_traits/reference_converts_from_temporary.h +1 -1
  507. package/libcxx/include/__utility/cmp.h +19 -7
  508. package/libcxx/include/__utility/default_three_way_comparator.h +70 -0
  509. package/libcxx/include/__utility/in_place.h +1 -1
  510. package/libcxx/include/__utility/integer_sequence.h +56 -41
  511. package/libcxx/include/__utility/lazy_synth_three_way_comparator.h +120 -0
  512. package/libcxx/include/__utility/pair.h +22 -25
  513. package/libcxx/include/__utility/scope_guard.h +2 -0
  514. package/libcxx/include/__utility/try_key_extraction.h +114 -0
  515. package/libcxx/include/__vector/vector.h +187 -160
  516. package/libcxx/include/__vector/vector_bool.h +76 -83
  517. package/libcxx/include/any +118 -155
  518. package/libcxx/include/array +88 -56
  519. package/libcxx/include/atomic +2 -0
  520. package/libcxx/include/barrier +20 -24
  521. package/libcxx/include/bitset +49 -30
  522. package/libcxx/include/ccomplex +3 -11
  523. package/libcxx/include/chrono +47 -0
  524. package/libcxx/include/ciso646 +3 -6
  525. package/libcxx/include/complex +77 -65
  526. package/libcxx/include/complex.h +10 -10
  527. package/libcxx/include/condition_variable +3 -3
  528. package/libcxx/include/cstdalign +3 -10
  529. package/libcxx/include/cstdbool +3 -10
  530. package/libcxx/include/ctgmath +2 -11
  531. package/libcxx/include/ctype.h +24 -24
  532. package/libcxx/include/cwchar +2 -2
  533. package/libcxx/include/deque +109 -225
  534. package/libcxx/include/errno.h +269 -269
  535. package/libcxx/include/exception +4 -1
  536. package/libcxx/include/ext/hash_map +7 -48
  537. package/libcxx/include/ext/hash_set +2 -8
  538. package/libcxx/include/fenv.h +43 -43
  539. package/libcxx/include/flat_map +663 -11
  540. package/libcxx/include/flat_set +543 -8
  541. package/libcxx/include/float.h +16 -16
  542. package/libcxx/include/forward_list +33 -53
  543. package/libcxx/include/fstream +57 -42
  544. package/libcxx/include/future +41 -51
  545. package/libcxx/include/initializer_list +9 -3
  546. package/libcxx/include/inttypes.h +16 -16
  547. package/libcxx/include/ios +28 -28
  548. package/libcxx/include/istream +19 -13
  549. package/libcxx/include/iterator +10 -0
  550. package/libcxx/include/latch +7 -5
  551. package/libcxx/include/limits +4 -4
  552. package/libcxx/include/list +61 -79
  553. package/libcxx/include/map +386 -274
  554. package/libcxx/include/math.h +19 -0
  555. package/libcxx/include/mdspan +1 -5
  556. package/libcxx/include/mutex +29 -19
  557. package/libcxx/include/optional +644 -149
  558. package/libcxx/include/print +9 -5
  559. package/libcxx/include/queue +39 -37
  560. package/libcxx/include/ranges +48 -0
  561. package/libcxx/include/regex +33 -31
  562. package/libcxx/include/scoped_allocator +16 -11
  563. package/libcxx/include/semaphore +15 -18
  564. package/libcxx/include/set +220 -192
  565. package/libcxx/include/shared_mutex +3 -8
  566. package/libcxx/include/span +53 -37
  567. package/libcxx/include/sstream +34 -28
  568. package/libcxx/include/stack +13 -15
  569. package/libcxx/include/stddef.h +10 -10
  570. package/libcxx/include/stdexcept +2 -2
  571. package/libcxx/include/stdio.h +20 -21
  572. package/libcxx/include/streambuf +59 -19
  573. package/libcxx/include/string +574 -573
  574. package/libcxx/include/string_view +113 -89
  575. package/libcxx/include/strstream +10 -10
  576. package/libcxx/include/syncstream +4 -4
  577. package/libcxx/include/tgmath.h +12 -12
  578. package/libcxx/include/tuple +242 -212
  579. package/libcxx/include/type_traits +8 -2
  580. package/libcxx/include/typeindex +5 -3
  581. package/libcxx/include/typeinfo +92 -89
  582. package/libcxx/include/unordered_map +179 -304
  583. package/libcxx/include/unordered_set +168 -195
  584. package/libcxx/include/utility +12 -0
  585. package/libcxx/include/valarray +106 -161
  586. package/libcxx/include/variant +25 -33
  587. package/libcxx/include/version +41 -24
  588. package/libcxx/include/wctype.h +29 -29
  589. package/libcxx/src/any.cpp +4 -0
  590. package/libcxx/src/atomic.cpp +365 -80
  591. package/libcxx/src/barrier.cpp +4 -3
  592. package/libcxx/src/charconv.cpp +6 -3
  593. package/libcxx/src/condition_variable_destructor.cpp +1 -1
  594. package/libcxx/src/error_category.cpp +3 -1
  595. package/libcxx/src/exception.cpp +2 -10
  596. package/libcxx/src/experimental/time_zone.cpp +1 -1
  597. package/libcxx/src/experimental/tzdb.cpp +4 -1
  598. package/libcxx/src/filesystem/error.h +4 -22
  599. package/libcxx/src/filesystem/format_string.h +9 -18
  600. package/libcxx/src/filesystem/int128_builtins.cpp +2 -0
  601. package/libcxx/src/filesystem/operations.cpp +2 -9
  602. package/libcxx/src/filesystem/path.cpp +3 -1
  603. package/libcxx/src/include/aligned_alloc.h +65 -0
  604. package/libcxx/src/include/config_elast.h +1 -1
  605. package/libcxx/src/include/from_chars_floating_point.h +11 -7
  606. package/libcxx/src/include/overridable_function.h +8 -10
  607. package/libcxx/src/iostream.cpp +56 -37
  608. package/libcxx/src/locale.cpp +213 -196
  609. package/libcxx/src/memory.cpp +12 -14
  610. package/libcxx/src/mutex_destructor.cpp +1 -1
  611. package/libcxx/src/new.cpp +5 -5
  612. package/libcxx/src/optional.cpp +4 -0
  613. package/libcxx/src/print.cpp +9 -1
  614. package/libcxx/src/random.cpp +0 -26
  615. package/libcxx/src/string.cpp +10 -25
  616. package/libcxx/src/support/runtime/exception_fallback.ipp +2 -0
  617. package/libcxx/src/support/runtime/exception_glibcxx.ipp +3 -0
  618. package/libcxx/src/support/runtime/exception_libcxxabi.ipp +6 -2
  619. package/libcxx/src/support/runtime/exception_libcxxrt.ipp +2 -0
  620. package/libcxx/src/support/runtime/exception_msvc.ipp +2 -0
  621. package/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp +9 -10
  622. package/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp +2 -0
  623. package/libcxx/src/support/runtime/exception_pointer_msvc.ipp +1 -0
  624. package/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp +1 -0
  625. package/libcxx/src/support/win32/locale_win32.cpp +1 -1
  626. package/libcxx/src/system_error.cpp +2 -0
  627. package/libcxx/src/thread.cpp +1 -3
  628. package/libcxx/src/valarray.cpp +1 -2
  629. package/libcxx/src/vector.cpp +2 -2
  630. package/libcxxabi/include/__cxxabi_config.h +42 -23
  631. package/libcxxabi/src/cxa_exception.cpp +4 -2
  632. package/libcxxabi/src/cxa_exception.h +16 -14
  633. package/libcxxabi/src/cxa_personality.cpp +126 -9
  634. package/libcxxabi/src/cxa_thread_atexit.cpp +2 -1
  635. package/libcxxabi/src/demangle/DemangleConfig.h +4 -0
  636. package/libcxxabi/src/demangle/ItaniumDemangle.h +9 -6
  637. package/libcxxabi/src/demangle/Utility.h +21 -7
  638. package/libcxxabi/src/fallback_malloc.cpp +1 -1
  639. package/libcxxabi/src/private_typeinfo.cpp +6 -0
  640. package/libcxxabi/src/stdlib_new_delete.cpp +5 -5
  641. package/libtsan/LICENSE.TXT +311 -0
  642. package/libtsan/builtins/assembly.h +41 -8
  643. package/libtsan/interception/interception_win.cpp +4 -0
  644. package/libtsan/sanitizer_common/sanitizer_allocator_primary32.h +1 -0
  645. package/libtsan/sanitizer_common/sanitizer_allocator_primary64.h +18 -0
  646. package/libtsan/sanitizer_common/sanitizer_common.h +15 -2
  647. package/libtsan/sanitizer_common/sanitizer_common_interceptors.inc +30 -4
  648. package/libtsan/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +4 -0
  649. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S +2 -1
  650. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S +2 -0
  651. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_x86_64.inc.S +2 -0
  652. package/libtsan/sanitizer_common/sanitizer_common_syscalls.inc +18 -0
  653. package/libtsan/sanitizer_common/sanitizer_file.cpp +40 -12
  654. package/libtsan/sanitizer_common/sanitizer_file.h +3 -0
  655. package/libtsan/sanitizer_common/sanitizer_flags.inc +7 -0
  656. package/libtsan/sanitizer_common/sanitizer_fuchsia.cpp +30 -3
  657. package/libtsan/sanitizer_common/sanitizer_haiku.cpp +2 -2
  658. package/libtsan/sanitizer_common/sanitizer_internal_defs.h +1 -1
  659. package/libtsan/sanitizer_common/sanitizer_libc.cpp +8 -0
  660. package/libtsan/sanitizer_common/sanitizer_libc.h +1 -0
  661. package/libtsan/sanitizer_common/sanitizer_linux.cpp +15 -7
  662. package/libtsan/sanitizer_common/sanitizer_linux.h +3 -3
  663. package/libtsan/sanitizer_common/sanitizer_linux_libcdep.cpp +1 -0
  664. package/libtsan/sanitizer_common/sanitizer_mac.cpp +255 -104
  665. package/libtsan/sanitizer_common/sanitizer_mac.h +5 -0
  666. package/libtsan/sanitizer_common/sanitizer_netbsd.cpp +2 -2
  667. package/libtsan/sanitizer_common/sanitizer_platform.h +27 -1
  668. package/libtsan/sanitizer_common/sanitizer_platform_interceptors.h +5 -4
  669. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.cpp +15 -17
  670. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.h +32 -6
  671. package/libtsan/sanitizer_common/sanitizer_posix.cpp +3 -12
  672. package/libtsan/sanitizer_common/sanitizer_posix.h +2 -1
  673. package/libtsan/sanitizer_common/sanitizer_posix_libcdep.cpp +19 -0
  674. package/libtsan/sanitizer_common/sanitizer_procmaps_mac.cpp +102 -37
  675. package/libtsan/sanitizer_common/sanitizer_redefine_builtins.h +1 -1
  676. package/libtsan/sanitizer_common/sanitizer_signal_interceptors.inc +40 -2
  677. package/libtsan/sanitizer_common/sanitizer_stoptheworld.h +1 -1
  678. package/libtsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp +83 -12
  679. package/libtsan/sanitizer_common/sanitizer_stoptheworld_mac.cpp +3 -3
  680. package/libtsan/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp +7 -7
  681. package/libtsan/sanitizer_common/sanitizer_stoptheworld_win.cpp +2 -2
  682. package/libtsan/sanitizer_common/sanitizer_symbolizer_internal.h +5 -1
  683. package/libtsan/sanitizer_common/sanitizer_symbolizer_libcdep.cpp +11 -1
  684. package/libtsan/sanitizer_common/sanitizer_symbolizer_mac.cpp +86 -29
  685. package/libtsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +27 -16
  686. package/libtsan/sanitizer_common/sanitizer_thread_registry.cpp +5 -4
  687. package/libtsan/sanitizer_common/sanitizer_thread_registry.h +4 -4
  688. package/libtsan/sanitizer_common/sanitizer_win.cpp +1 -3
  689. package/libtsan/tsan_debugging.cpp +2 -2
  690. package/libtsan/tsan_flags.cpp +37 -0
  691. package/libtsan/tsan_flags.h +8 -0
  692. package/libtsan/tsan_flags.inc +12 -0
  693. package/libtsan/tsan_interceptors.h +9 -1
  694. package/libtsan/tsan_interceptors_mac.cpp +19 -0
  695. package/libtsan/tsan_interceptors_posix.cpp +78 -32
  696. package/libtsan/tsan_interface.h +3 -3
  697. package/libtsan/tsan_interface_ann.cpp +23 -9
  698. package/libtsan/tsan_mman.cpp +18 -4
  699. package/libtsan/tsan_platform.h +44 -7
  700. package/libtsan/tsan_platform_linux.cpp +42 -14
  701. package/libtsan/tsan_platform_mac.cpp +16 -3
  702. package/libtsan/tsan_report.h +14 -1
  703. package/libtsan/tsan_rtl.cpp +14 -0
  704. package/libtsan/tsan_rtl.h +7 -2
  705. package/libtsan/tsan_rtl_aarch64.S +3 -5
  706. package/libtsan/tsan_rtl_access.cpp +8 -3
  707. package/libtsan/tsan_rtl_amd64.S +2 -0
  708. package/libtsan/tsan_rtl_mutex.cpp +94 -49
  709. package/libtsan/tsan_rtl_report.cpp +132 -65
  710. package/libtsan/tsan_rtl_thread.cpp +31 -9
  711. package/libtsan/tsan_symbolize.cpp +1 -1
  712. package/libtsan/tsan_symbolize.h +1 -1
  713. package/libtsan/tsan_trace.h +1 -1
  714. package/libunwind/include/__libunwind_config.h +11 -2
  715. package/libunwind/include/libunwind.h +117 -11
  716. package/libunwind/include/unwind_arm_ehabi.h +4 -1
  717. package/libunwind/src/AddressSpace.hpp +40 -19
  718. package/libunwind/src/CompactUnwinder.hpp +16 -5
  719. package/libunwind/src/DwarfInstructions.hpp +24 -13
  720. package/libunwind/src/DwarfParser.hpp +60 -22
  721. package/libunwind/src/EHHeaderParser.hpp +7 -4
  722. package/libunwind/src/Registers.hpp +226 -22
  723. package/libunwind/src/Unwind-seh.cpp +6 -7
  724. package/libunwind/src/Unwind-wasm.c +7 -7
  725. package/libunwind/src/UnwindCursor.hpp +167 -49
  726. package/libunwind/src/UnwindLevel1.c +46 -17
  727. package/libunwind/src/UnwindRegistersRestore.S +46 -5
  728. package/libunwind/src/UnwindRegistersSave.S +86 -2
  729. package/libunwind/src/assembly.h +5 -1
  730. package/libunwind/src/config.h +9 -0
  731. package/libunwind/src/gcc_personality_v0.c +79 -6
  732. package/libunwind/src/libunwind.cpp +104 -4
  733. package/libunwind/src/libunwind_ext.h +7 -1
  734. package/libunwind/src/shadow_stack_unwind.h +2 -2
  735. package/lldb/pretty_printers.py +948 -0
  736. package/package.json +1 -1
  737. package/std/Build/Step/Compile.zig +18 -19
  738. package/std/Build/Step/Run.zig +13 -6
  739. package/std/Build/Step.zig +0 -3
  740. package/std/Io/Threaded.zig +3 -0
  741. package/std/Target/aarch64.zig +620 -77
  742. package/std/Target/amdgcn.zig +421 -21
  743. package/std/Target/arm.zig +40 -6
  744. package/std/Target/bpf.zig +6 -0
  745. package/std/Target/hexagon.zig +41 -6
  746. package/std/Target/loongarch.zig +18 -0
  747. package/std/Target/mips.zig +6 -0
  748. package/std/Target/nvptx.zig +58 -35
  749. package/std/Target/powerpc.zig +27 -19
  750. package/std/Target/riscv.zig +415 -177
  751. package/std/Target/sparc.zig +17 -0
  752. package/std/Target/wasm.zig +7 -0
  753. package/std/Target/x86.zig +200 -31
  754. package/std/Target/xtensa.zig +65 -0
  755. package/std/Target.zig +11 -2
  756. package/std/c.zig +7 -0
  757. package/std/debug/Dwarf.zig +14 -11
  758. package/std/debug/Pdb.zig +24 -16
  759. package/std/hash/xxhash.zig +0 -6
  760. package/std/math/log10.zig +0 -2
  761. package/std/math/modf.zig +0 -1
  762. package/std/mem.zig +1 -2
  763. package/std/os/linux/syscalls.zig +26 -1
  764. package/std/os/linux/x86.zig +2 -2
  765. package/std/os/windows.zig +130 -1
  766. package/std/simd.zig +4 -21
  767. package/std/start.zig +4 -3
  768. package/std/zig/Ast.zig +5 -7
  769. package/std/zig/AstGen.zig +20 -14
  770. package/std/zig/ErrorBundle.zig +6 -2
  771. package/std/zig/ZonGen.zig +13 -21
  772. package/std/zig/llvm/Builder.zig +2 -2
  773. package/std/zig/system/arm.zig +56 -2
  774. package/std/zig/system/windows.zig +34 -1
  775. package/std/zig/system/x86.zig +60 -16
  776. package/std/zig/system.zig +0 -10
  777. package/include/amxbf16transposeintrin.h +0 -94
  778. package/include/amxcomplextransposeintrin.h +0 -303
  779. package/include/amxfp16transposeintrin.h +0 -94
  780. package/include/amxmovrstransposeintrin.h +0 -200
  781. package/include/amxtf32transposeintrin.h +0 -105
  782. package/include/amxtransposeintrin.h +0 -248
  783. package/libc/include/hexagon-linux-any/asm/signal.h +0 -29
  784. package/libc/include/s390x-linux-any/asm/tape390.h +0 -103
  785. package/libtsan/sanitizer_common/sanitizer_coverage_interface.inc +0 -43
  786. package/std/Build/Step/CheckObject.zig +0 -2764
@@ -5,6 +5,7 @@ const CpuFeature = std.Target.Cpu.Feature;
5
5
  const CpuModel = std.Target.Cpu.Model;
6
6
 
7
7
  pub const Feature = enum {
8
+ @"64bit",
8
9
  crypto,
9
10
  deprecated_v8,
10
11
  detectroundchange,
@@ -23,6 +24,7 @@ pub const Feature = enum {
23
24
  leonpwrpsr,
24
25
  no_fmuls,
25
26
  no_fsmuld,
27
+ no_predictor,
26
28
  osa2011,
27
29
  popc,
28
30
  reserve_g1,
@@ -73,6 +75,13 @@ pub const all_features = blk: {
73
75
  const len = @typeInfo(Feature).@"enum".fields.len;
74
76
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
75
77
  var result: [len]CpuFeature = undefined;
78
+ result[@intFromEnum(Feature.@"64bit")] = .{
79
+ .llvm_name = "64bit",
80
+ .description = "Enable 64-bit mode",
81
+ .dependencies = featureSet(&[_]Feature{
82
+ .v9,
83
+ }),
84
+ };
76
85
  result[@intFromEnum(Feature.crypto)] = .{
77
86
  .llvm_name = "crypto",
78
87
  .description = "Enable cryptographic extensions",
@@ -165,6 +174,11 @@ pub const all_features = blk: {
165
174
  .description = "Disable the fsmuld instruction.",
166
175
  .dependencies = featureSet(&[_]Feature{}),
167
176
  };
177
+ result[@intFromEnum(Feature.no_predictor)] = .{
178
+ .llvm_name = "no-predictor",
179
+ .description = "Processor has no branch predictor, branches stall execution",
180
+ .dependencies = featureSet(&[_]Feature{}),
181
+ };
168
182
  result[@intFromEnum(Feature.osa2011)] = .{
169
183
  .llvm_name = "osa2011",
170
184
  .description = "Enable Oracle SPARC Architecture 2011 extensions",
@@ -586,6 +600,7 @@ pub const cpu = struct {
586
600
  .llvm_name = "niagara",
587
601
  .features = featureSet(&[_]Feature{
588
602
  .deprecated_v8,
603
+ .no_predictor,
589
604
  .ua2005,
590
605
  }),
591
606
  };
@@ -594,6 +609,7 @@ pub const cpu = struct {
594
609
  .llvm_name = "niagara2",
595
610
  .features = featureSet(&[_]Feature{
596
611
  .deprecated_v8,
612
+ .no_predictor,
597
613
  .popc,
598
614
  .ua2005,
599
615
  }),
@@ -603,6 +619,7 @@ pub const cpu = struct {
603
619
  .llvm_name = "niagara3",
604
620
  .features = featureSet(&[_]Feature{
605
621
  .deprecated_v8,
622
+ .no_predictor,
606
623
  .popc,
607
624
  .ua2005,
608
625
  .ua2007,
@@ -12,6 +12,7 @@ pub const Feature = enum {
12
12
  exception_handling,
13
13
  extended_const,
14
14
  fp16,
15
+ gc,
15
16
  multimemory,
16
17
  multivalue,
17
18
  mutable_globals,
@@ -71,6 +72,11 @@ pub const all_features = blk: {
71
72
  .description = "Enable FP16 instructions",
72
73
  .dependencies = featureSet(&[_]Feature{}),
73
74
  };
75
+ result[@intFromEnum(Feature.gc)] = .{
76
+ .llvm_name = "gc",
77
+ .description = "Enable wasm gc",
78
+ .dependencies = featureSet(&[_]Feature{}),
79
+ };
74
80
  result[@intFromEnum(Feature.multimemory)] = .{
75
81
  .llvm_name = "multimemory",
76
82
  .description = "Enable multiple memories",
@@ -148,6 +154,7 @@ pub const cpu = struct {
148
154
  .exception_handling,
149
155
  .extended_const,
150
156
  .fp16,
157
+ .gc,
151
158
  .multimemory,
152
159
  .multivalue,
153
160
  .mutable_globals,
@@ -22,7 +22,6 @@ pub const Feature = enum {
22
22
  amx_movrs,
23
23
  amx_tf32,
24
24
  amx_tile,
25
- amx_transpose,
26
25
  avx,
27
26
  avx10_1,
28
27
  avx10_2,
@@ -67,7 +66,6 @@ pub const Feature = enum {
67
66
  egpr,
68
67
  enqcmd,
69
68
  ermsb,
70
- evex512,
71
69
  f16c,
72
70
  false_deps_getmant,
73
71
  false_deps_lzcnt_tzcnt,
@@ -136,6 +134,7 @@ pub const Feature = enum {
136
134
  ppx,
137
135
  prefer_128_bit,
138
136
  prefer_256_bit,
137
+ prefer_legacy_setcc,
139
138
  prefer_mask_registers,
140
139
  prefer_movmsk_over_vtest,
141
140
  prefer_no_gather,
@@ -168,6 +167,7 @@ pub const Feature = enum {
168
167
  slow_lea,
169
168
  slow_pmaddwd,
170
169
  slow_pmulld,
170
+ slow_pmullq,
171
171
  slow_shld,
172
172
  slow_two_mem_ops,
173
173
  slow_unaligned_mem_16,
@@ -199,6 +199,7 @@ pub const Feature = enum {
199
199
  waitpkg,
200
200
  wbnoinvd,
201
201
  widekl,
202
+ x32,
202
203
  x87,
203
204
  xop,
204
205
  xsave,
@@ -324,13 +325,6 @@ pub const all_features = blk: {
324
325
  .description = "Support AMX-TILE instructions",
325
326
  .dependencies = featureSet(&[_]Feature{}),
326
327
  };
327
- result[@intFromEnum(Feature.amx_transpose)] = .{
328
- .llvm_name = "amx-transpose",
329
- .description = "Support AMX amx-transpose instructions",
330
- .dependencies = featureSet(&[_]Feature{
331
- .amx_tile,
332
- }),
333
- };
334
328
  result[@intFromEnum(Feature.avx)] = .{
335
329
  .llvm_name = "avx",
336
330
  .description = "Enable AVX instructions",
@@ -339,8 +333,8 @@ pub const all_features = blk: {
339
333
  }),
340
334
  };
341
335
  result[@intFromEnum(Feature.avx10_1)] = .{
342
- .llvm_name = "avx10.1-512",
343
- .description = "Support AVX10.1 up to 512-bit instruction",
336
+ .llvm_name = "avx10.1",
337
+ .description = "Support AVX10.1 instruction",
344
338
  .dependencies = featureSet(&[_]Feature{
345
339
  .avx512bf16,
346
340
  .avx512bitalg,
@@ -356,8 +350,8 @@ pub const all_features = blk: {
356
350
  }),
357
351
  };
358
352
  result[@intFromEnum(Feature.avx10_2)] = .{
359
- .llvm_name = "avx10.2-512",
360
- .description = "Support AVX10.2 up to 512-bit instruction",
353
+ .llvm_name = "avx10.2",
354
+ .description = "Support AVX10.2 instruction",
361
355
  .dependencies = featureSet(&[_]Feature{
362
356
  .avx10_1,
363
357
  }),
@@ -416,7 +410,6 @@ pub const all_features = blk: {
416
410
  .description = "Enable AVX-512 instructions",
417
411
  .dependencies = featureSet(&[_]Feature{
418
412
  .avx2,
419
- .evex512,
420
413
  .f16c,
421
414
  .fma,
422
415
  }),
@@ -616,11 +609,6 @@ pub const all_features = blk: {
616
609
  .description = "REP MOVS/STOS are fast",
617
610
  .dependencies = featureSet(&[_]Feature{}),
618
611
  };
619
- result[@intFromEnum(Feature.evex512)] = .{
620
- .llvm_name = "evex512",
621
- .description = "Support ZMM and 64-bit mask instructions",
622
- .dependencies = featureSet(&[_]Feature{}),
623
- };
624
612
  result[@intFromEnum(Feature.f16c)] = .{
625
613
  .llvm_name = "f16c",
626
614
  .description = "Support 16-bit floating point conversion instructions",
@@ -974,6 +962,11 @@ pub const all_features = blk: {
974
962
  .description = "Prefer 256-bit AVX instructions",
975
963
  .dependencies = featureSet(&[_]Feature{}),
976
964
  };
965
+ result[@intFromEnum(Feature.prefer_legacy_setcc)] = .{
966
+ .llvm_name = "prefer-legacy-setcc",
967
+ .description = "Prefer to emit legacy SetCC.",
968
+ .dependencies = featureSet(&[_]Feature{}),
969
+ };
977
970
  result[@intFromEnum(Feature.prefer_mask_registers)] = .{
978
971
  .llvm_name = "prefer-mask-registers",
979
972
  .description = "Prefer AVX512 mask registers over PTEST/MOVMSK",
@@ -1145,6 +1138,11 @@ pub const all_features = blk: {
1145
1138
  .description = "PMULLD instruction is slow (compared to PMULLW/PMULHW and PMULUDQ)",
1146
1139
  .dependencies = featureSet(&[_]Feature{}),
1147
1140
  };
1141
+ result[@intFromEnum(Feature.slow_pmullq)] = .{
1142
+ .llvm_name = "slow-pmullq",
1143
+ .description = "PMULLQ instruction is slow",
1144
+ .dependencies = featureSet(&[_]Feature{}),
1145
+ };
1148
1146
  result[@intFromEnum(Feature.slow_shld)] = .{
1149
1147
  .llvm_name = "slow-shld",
1150
1148
  .description = "SHLD instruction is slow",
@@ -1325,6 +1323,11 @@ pub const all_features = blk: {
1325
1323
  .kl,
1326
1324
  }),
1327
1325
  };
1326
+ result[@intFromEnum(Feature.x32)] = .{
1327
+ .llvm_name = "x32",
1328
+ .description = "64-bit with ILP32 programming model (e.g. x32 ABI)",
1329
+ .dependencies = featureSet(&[_]Feature{}),
1330
+ };
1328
1331
  result[@intFromEnum(Feature.x87)] = .{
1329
1332
  .llvm_name = "x87",
1330
1333
  .description = "Enable X87 float instructions",
@@ -1393,7 +1396,6 @@ pub const cpu = struct {
1393
1396
  .cx16,
1394
1397
  .f16c,
1395
1398
  .false_deps_perm,
1396
- .false_deps_popcnt,
1397
1399
  .fast_15bytenop,
1398
1400
  .fast_gather,
1399
1401
  .fast_scalar_fsqrt,
@@ -1432,6 +1434,7 @@ pub const cpu = struct {
1432
1434
  .sha,
1433
1435
  .shstk,
1434
1436
  .slow_3ops_lea,
1437
+ .slow_pmullq,
1435
1438
  .smap,
1436
1439
  .smep,
1437
1440
  .tuning_fast_imm_vector_shift,
@@ -1490,7 +1493,6 @@ pub const cpu = struct {
1490
1493
  .enqcmd,
1491
1494
  .f16c,
1492
1495
  .false_deps_perm,
1493
- .false_deps_popcnt,
1494
1496
  .fast_15bytenop,
1495
1497
  .fast_gather,
1496
1498
  .fast_scalar_fsqrt,
@@ -1529,6 +1531,7 @@ pub const cpu = struct {
1529
1531
  .sha,
1530
1532
  .shstk,
1531
1533
  .slow_3ops_lea,
1534
+ .slow_pmullq,
1532
1535
  .smap,
1533
1536
  .smep,
1534
1537
  .tuning_fast_imm_vector_shift,
@@ -1566,7 +1569,6 @@ pub const cpu = struct {
1566
1569
  .enqcmd,
1567
1570
  .f16c,
1568
1571
  .false_deps_perm,
1569
- .false_deps_popcnt,
1570
1572
  .fast_15bytenop,
1571
1573
  .fast_gather,
1572
1574
  .fast_scalar_fsqrt,
@@ -1606,6 +1608,7 @@ pub const cpu = struct {
1606
1608
  .sha512,
1607
1609
  .shstk,
1608
1610
  .slow_3ops_lea,
1611
+ .slow_pmullq,
1609
1612
  .sm3,
1610
1613
  .sm4,
1611
1614
  .smap,
@@ -2204,6 +2207,7 @@ pub const cpu = struct {
2204
2207
  .sahf,
2205
2208
  .sha,
2206
2209
  .slow_3ops_lea,
2210
+ .slow_pmullq,
2207
2211
  .smap,
2208
2212
  .smep,
2209
2213
  .tuning_fast_imm_vector_shift,
@@ -2297,7 +2301,6 @@ pub const cpu = struct {
2297
2301
  .enqcmd,
2298
2302
  .f16c,
2299
2303
  .false_deps_perm,
2300
- .false_deps_popcnt,
2301
2304
  .fast_15bytenop,
2302
2305
  .fast_gather,
2303
2306
  .fast_scalar_fsqrt,
@@ -2338,6 +2341,7 @@ pub const cpu = struct {
2338
2341
  .sha512,
2339
2342
  .shstk,
2340
2343
  .slow_3ops_lea,
2344
+ .slow_pmullq,
2341
2345
  .sm3,
2342
2346
  .sm4,
2343
2347
  .tuning_fast_imm_vector_shift,
@@ -2464,7 +2468,6 @@ pub const cpu = struct {
2464
2468
  .amx_int8,
2465
2469
  .amx_movrs,
2466
2470
  .amx_tf32,
2467
- .amx_transpose,
2468
2471
  .avx10_2,
2469
2472
  .avxifma,
2470
2473
  .avxneconvert,
@@ -2475,7 +2478,6 @@ pub const cpu = struct {
2475
2478
  .bmi2,
2476
2479
  .branch_hint,
2477
2480
  .ccmp,
2478
- .cf,
2479
2481
  .cldemote,
2480
2482
  .clflushopt,
2481
2483
  .clwb,
@@ -2533,12 +2535,12 @@ pub const cpu = struct {
2533
2535
  .sha,
2534
2536
  .sha512,
2535
2537
  .shstk,
2538
+ .slow_pmullq,
2536
2539
  .sm3,
2537
2540
  .sm4,
2538
2541
  .tsxldtrk,
2539
2542
  .tuning_fast_imm_vector_shift,
2540
2543
  .uintr,
2541
- .usermsr,
2542
2544
  .vaes,
2543
2545
  .vpclmulqdq,
2544
2546
  .vzeroupper,
@@ -2622,6 +2624,7 @@ pub const cpu = struct {
2622
2624
  .serialize,
2623
2625
  .sha,
2624
2626
  .shstk,
2627
+ .slow_pmullq,
2625
2628
  .smap,
2626
2629
  .smep,
2627
2630
  .tsxldtrk,
@@ -2935,6 +2938,7 @@ pub const cpu = struct {
2935
2938
  .serialize,
2936
2939
  .sha,
2937
2940
  .shstk,
2941
+ .slow_pmullq,
2938
2942
  .tsxldtrk,
2939
2943
  .tuning_fast_imm_vector_shift,
2940
2944
  .uintr,
@@ -3024,6 +3028,7 @@ pub const cpu = struct {
3024
3028
  .serialize,
3025
3029
  .sha,
3026
3030
  .shstk,
3031
+ .slow_pmullq,
3027
3032
  .tsxldtrk,
3028
3033
  .tuning_fast_imm_vector_shift,
3029
3034
  .uintr,
@@ -3181,6 +3186,7 @@ pub const cpu = struct {
3181
3186
  .rdseed,
3182
3187
  .sahf,
3183
3188
  .sha,
3189
+ .slow_pmullq,
3184
3190
  .tuning_fast_imm_vector_shift,
3185
3191
  .vaes,
3186
3192
  .vpclmulqdq,
@@ -3245,6 +3251,7 @@ pub const cpu = struct {
3245
3251
  .rdseed,
3246
3252
  .sahf,
3247
3253
  .sha,
3254
+ .slow_pmullq,
3248
3255
  .tuning_fast_imm_vector_shift,
3249
3256
  .vaes,
3250
3257
  .vpclmulqdq,
@@ -3475,7 +3482,6 @@ pub const cpu = struct {
3475
3482
  .enqcmd,
3476
3483
  .f16c,
3477
3484
  .false_deps_perm,
3478
- .false_deps_popcnt,
3479
3485
  .fast_15bytenop,
3480
3486
  .fast_gather,
3481
3487
  .fast_scalar_fsqrt,
@@ -3515,6 +3521,7 @@ pub const cpu = struct {
3515
3521
  .sha512,
3516
3522
  .shstk,
3517
3523
  .slow_3ops_lea,
3524
+ .slow_pmullq,
3518
3525
  .sm3,
3519
3526
  .sm4,
3520
3527
  .tuning_fast_imm_vector_shift,
@@ -3546,7 +3553,6 @@ pub const cpu = struct {
3546
3553
  .cx16,
3547
3554
  .f16c,
3548
3555
  .false_deps_perm,
3549
- .false_deps_popcnt,
3550
3556
  .fast_15bytenop,
3551
3557
  .fast_gather,
3552
3558
  .fast_scalar_fsqrt,
@@ -3585,6 +3591,7 @@ pub const cpu = struct {
3585
3591
  .sha,
3586
3592
  .shstk,
3587
3593
  .slow_3ops_lea,
3594
+ .slow_pmullq,
3588
3595
  .smap,
3589
3596
  .smep,
3590
3597
  .tuning_fast_imm_vector_shift,
@@ -3635,6 +3642,90 @@ pub const cpu = struct {
3635
3642
  .x87,
3636
3643
  }),
3637
3644
  };
3645
+ pub const novalake: CpuModel = .{
3646
+ .name = "novalake",
3647
+ .llvm_name = "novalake",
3648
+ .features = featureSet(&[_]Feature{
3649
+ .@"64bit",
3650
+ .adx,
3651
+ .allow_light_256_bit,
3652
+ .avx10_2,
3653
+ .avxifma,
3654
+ .avxneconvert,
3655
+ .avxvnni,
3656
+ .avxvnniint16,
3657
+ .avxvnniint8,
3658
+ .bmi,
3659
+ .bmi2,
3660
+ .ccmp,
3661
+ .clflushopt,
3662
+ .clwb,
3663
+ .cmov,
3664
+ .cmpccxadd,
3665
+ .cx16,
3666
+ .egpr,
3667
+ .enqcmd,
3668
+ .false_deps_perm,
3669
+ .fast_15bytenop,
3670
+ .fast_gather,
3671
+ .fast_scalar_fsqrt,
3672
+ .fast_shld_rotate,
3673
+ .fast_variable_crosslane_shuffle,
3674
+ .fast_variable_perlane_shuffle,
3675
+ .fast_vector_fsqrt,
3676
+ .fsgsbase,
3677
+ .fxsr,
3678
+ .gfni,
3679
+ .hreset,
3680
+ .idivq_to_divl,
3681
+ .invpcid,
3682
+ .lzcnt,
3683
+ .macrofusion,
3684
+ .mmx,
3685
+ .movbe,
3686
+ .movdir64b,
3687
+ .movdiri,
3688
+ .movrs,
3689
+ .ndd,
3690
+ .nf,
3691
+ .no_bypass_delay_blend,
3692
+ .no_bypass_delay_mov,
3693
+ .no_bypass_delay_shuffle,
3694
+ .nopl,
3695
+ .pconfig,
3696
+ .pku,
3697
+ .popcnt,
3698
+ .ppx,
3699
+ .prefer_movmsk_over_vtest,
3700
+ .prefetchi,
3701
+ .prfchw,
3702
+ .ptwrite,
3703
+ .push2pop2,
3704
+ .rdpid,
3705
+ .rdrnd,
3706
+ .rdseed,
3707
+ .sahf,
3708
+ .serialize,
3709
+ .sha,
3710
+ .sha512,
3711
+ .shstk,
3712
+ .slow_3ops_lea,
3713
+ .slow_pmullq,
3714
+ .sm3,
3715
+ .sm4,
3716
+ .tuning_fast_imm_vector_shift,
3717
+ .uintr,
3718
+ .vaes,
3719
+ .vpclmulqdq,
3720
+ .vzeroupper,
3721
+ .waitpkg,
3722
+ .x87,
3723
+ .xsavec,
3724
+ .xsaveopt,
3725
+ .xsaves,
3726
+ .zu,
3727
+ }),
3728
+ };
3638
3729
  pub const opteron: CpuModel = .{
3639
3730
  .name = "opteron",
3640
3731
  .llvm_name = "opteron",
@@ -3697,7 +3788,6 @@ pub const cpu = struct {
3697
3788
  .enqcmd,
3698
3789
  .f16c,
3699
3790
  .false_deps_perm,
3700
- .false_deps_popcnt,
3701
3791
  .fast_15bytenop,
3702
3792
  .fast_gather,
3703
3793
  .fast_scalar_fsqrt,
@@ -3726,7 +3816,6 @@ pub const cpu = struct {
3726
3816
  .pku,
3727
3817
  .popcnt,
3728
3818
  .prefer_movmsk_over_vtest,
3729
- .prefetchi,
3730
3819
  .prfchw,
3731
3820
  .ptwrite,
3732
3821
  .rdpid,
@@ -3738,6 +3827,7 @@ pub const cpu = struct {
3738
3827
  .sha512,
3739
3828
  .shstk,
3740
3829
  .slow_3ops_lea,
3830
+ .slow_pmullq,
3741
3831
  .sm3,
3742
3832
  .sm4,
3743
3833
  .tuning_fast_imm_vector_shift,
@@ -3908,7 +3998,6 @@ pub const cpu = struct {
3908
3998
  .cx16,
3909
3999
  .f16c,
3910
4000
  .false_deps_perm,
3911
- .false_deps_popcnt,
3912
4001
  .fast_15bytenop,
3913
4002
  .fast_gather,
3914
4003
  .fast_scalar_fsqrt,
@@ -3947,6 +4036,7 @@ pub const cpu = struct {
3947
4036
  .sha,
3948
4037
  .shstk,
3949
4038
  .slow_3ops_lea,
4039
+ .slow_pmullq,
3950
4040
  .smap,
3951
4041
  .smep,
3952
4042
  .tuning_fast_imm_vector_shift,
@@ -4013,6 +4103,7 @@ pub const cpu = struct {
4013
4103
  .rdseed,
4014
4104
  .sahf,
4015
4105
  .sha,
4106
+ .slow_pmullq,
4016
4107
  .smap,
4017
4108
  .smep,
4018
4109
  .tuning_fast_imm_vector_shift,
@@ -4124,6 +4215,7 @@ pub const cpu = struct {
4124
4215
  .serialize,
4125
4216
  .sha,
4126
4217
  .shstk,
4218
+ .slow_pmullq,
4127
4219
  .smap,
4128
4220
  .smep,
4129
4221
  .tsxldtrk,
@@ -4494,6 +4586,7 @@ pub const cpu = struct {
4494
4586
  .sahf,
4495
4587
  .sha,
4496
4588
  .shstk,
4589
+ .slow_pmullq,
4497
4590
  .smap,
4498
4591
  .smep,
4499
4592
  .tuning_fast_imm_vector_shift,
@@ -4567,6 +4660,82 @@ pub const cpu = struct {
4567
4660
  .x87,
4568
4661
  }),
4569
4662
  };
4663
+ pub const wildcatlake: CpuModel = .{
4664
+ .name = "wildcatlake",
4665
+ .llvm_name = "wildcatlake",
4666
+ .features = featureSet(&[_]Feature{
4667
+ .@"64bit",
4668
+ .adx,
4669
+ .allow_light_256_bit,
4670
+ .avxifma,
4671
+ .avxneconvert,
4672
+ .avxvnni,
4673
+ .avxvnniint16,
4674
+ .avxvnniint8,
4675
+ .bmi,
4676
+ .bmi2,
4677
+ .clflushopt,
4678
+ .clwb,
4679
+ .cmov,
4680
+ .cmpccxadd,
4681
+ .cx16,
4682
+ .enqcmd,
4683
+ .f16c,
4684
+ .false_deps_perm,
4685
+ .fast_15bytenop,
4686
+ .fast_gather,
4687
+ .fast_scalar_fsqrt,
4688
+ .fast_shld_rotate,
4689
+ .fast_variable_crosslane_shuffle,
4690
+ .fast_variable_perlane_shuffle,
4691
+ .fast_vector_fsqrt,
4692
+ .fma,
4693
+ .fsgsbase,
4694
+ .fxsr,
4695
+ .gfni,
4696
+ .hreset,
4697
+ .idivq_to_divl,
4698
+ .invpcid,
4699
+ .lzcnt,
4700
+ .macrofusion,
4701
+ .mmx,
4702
+ .movbe,
4703
+ .movdir64b,
4704
+ .movdiri,
4705
+ .no_bypass_delay_blend,
4706
+ .no_bypass_delay_mov,
4707
+ .no_bypass_delay_shuffle,
4708
+ .nopl,
4709
+ .pconfig,
4710
+ .pku,
4711
+ .popcnt,
4712
+ .prefer_movmsk_over_vtest,
4713
+ .prfchw,
4714
+ .ptwrite,
4715
+ .rdpid,
4716
+ .rdrnd,
4717
+ .rdseed,
4718
+ .sahf,
4719
+ .serialize,
4720
+ .sha,
4721
+ .sha512,
4722
+ .shstk,
4723
+ .slow_3ops_lea,
4724
+ .slow_pmullq,
4725
+ .sm3,
4726
+ .sm4,
4727
+ .tuning_fast_imm_vector_shift,
4728
+ .uintr,
4729
+ .vaes,
4730
+ .vpclmulqdq,
4731
+ .vzeroupper,
4732
+ .waitpkg,
4733
+ .x87,
4734
+ .xsavec,
4735
+ .xsaveopt,
4736
+ .xsaves,
4737
+ }),
4738
+ };
4570
4739
  pub const winchip2: CpuModel = .{
4571
4740
  .name = "winchip2",
4572
4741
  .llvm_name = "winchip2",
@@ -15,6 +15,7 @@ pub const Feature = enum {
15
15
  div32,
16
16
  exception,
17
17
  extendedl32r,
18
+ forced_atomics,
18
19
  fp,
19
20
  highpriinterrupts,
20
21
  highpriinterrupts_level3,
@@ -34,6 +35,7 @@ pub const Feature = enum {
34
35
  prid,
35
36
  regprotect,
36
37
  rvector,
38
+ s32c1i,
37
39
  sext,
38
40
  threadptr,
39
41
  timers1,
@@ -101,6 +103,11 @@ pub const all_features = blk: {
101
103
  .description = "Enable Xtensa Extended L32R option",
102
104
  .dependencies = featureSet(&[_]Feature{}),
103
105
  };
106
+ result[@intFromEnum(Feature.forced_atomics)] = .{
107
+ .llvm_name = "forced-atomics",
108
+ .description = "Assume that lock-free native-width atomics are available",
109
+ .dependencies = featureSet(&[_]Feature{}),
110
+ };
104
111
  result[@intFromEnum(Feature.fp)] = .{
105
112
  .llvm_name = "fp",
106
113
  .description = "Enable Xtensa Single FP instructions",
@@ -206,6 +213,11 @@ pub const all_features = blk: {
206
213
  .description = "Enable Xtensa Relocatable Vector option",
207
214
  .dependencies = featureSet(&[_]Feature{}),
208
215
  };
216
+ result[@intFromEnum(Feature.s32c1i)] = .{
217
+ .llvm_name = "s32c1i",
218
+ .description = "Enable Xtensa S32C1I option",
219
+ .dependencies = featureSet(&[_]Feature{}),
220
+ };
209
221
  result[@intFromEnum(Feature.sext)] = .{
210
222
  .llvm_name = "sext",
211
223
  .description = "Enable Xtensa Sign Extend option",
@@ -245,6 +257,59 @@ pub const all_features = blk: {
245
257
  };
246
258
 
247
259
  pub const cpu = struct {
260
+ pub const esp32: CpuModel = .{
261
+ .name = "esp32",
262
+ .llvm_name = "esp32",
263
+ .features = featureSet(&[_]Feature{
264
+ .bool,
265
+ .clamps,
266
+ .coprocessor,
267
+ .dcache,
268
+ .debug,
269
+ .density,
270
+ .dfpaccel,
271
+ .div32,
272
+ .exception,
273
+ .fp,
274
+ .highpriinterrupts_level7,
275
+ .interrupt,
276
+ .loop,
277
+ .mac16,
278
+ .minmax,
279
+ .miscsr,
280
+ .mul16,
281
+ .mul32,
282
+ .mul32high,
283
+ .nsa,
284
+ .prid,
285
+ .regprotect,
286
+ .rvector,
287
+ .s32c1i,
288
+ .sext,
289
+ .threadptr,
290
+ .timers3,
291
+ .windowed,
292
+ }),
293
+ };
294
+ pub const esp8266: CpuModel = .{
295
+ .name = "esp8266",
296
+ .llvm_name = "esp8266",
297
+ .features = featureSet(&[_]Feature{
298
+ .debug,
299
+ .density,
300
+ .exception,
301
+ .extendedl32r,
302
+ .highpriinterrupts_level3,
303
+ .interrupt,
304
+ .mul16,
305
+ .mul32,
306
+ .nsa,
307
+ .prid,
308
+ .regprotect,
309
+ .rvector,
310
+ .timers1,
311
+ }),
312
+ };
248
313
  pub const generic: CpuModel = .{
249
314
  .name = "generic",
250
315
  .llvm_name = "generic",