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