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