@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
|
@@ -8,22 +8,35 @@
|
|
|
8
8
|
*===-----------------------------------------------------------------------===
|
|
9
9
|
*/
|
|
10
10
|
#ifndef __IMMINTRIN_H
|
|
11
|
-
#error
|
|
11
|
+
#error \
|
|
12
|
+
"Never use <avx512ifmavlintrin.h> directly; include <immintrin.h> instead."
|
|
12
13
|
#endif
|
|
13
14
|
|
|
14
15
|
#ifndef __IFMAVLINTRIN_H
|
|
15
16
|
#define __IFMAVLINTRIN_H
|
|
16
17
|
|
|
17
18
|
/* Define the default attributes for the functions in this file. */
|
|
19
|
+
#if defined(__cplusplus) && (__cplusplus >= 201103L)
|
|
18
20
|
#define __DEFAULT_FN_ATTRS128 \
|
|
19
21
|
__attribute__((__always_inline__, __nodebug__, \
|
|
20
|
-
__target__("avx512ifma,avx512vl
|
|
22
|
+
__target__("avx512ifma,avx512vl"), \
|
|
23
|
+
__min_vector_width__(128))) constexpr
|
|
24
|
+
#define __DEFAULT_FN_ATTRS256 \
|
|
25
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
26
|
+
__target__("avx512ifma,avx512vl"), \
|
|
27
|
+
__min_vector_width__(256))) constexpr
|
|
28
|
+
#else
|
|
29
|
+
#define __DEFAULT_FN_ATTRS128 \
|
|
30
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
31
|
+
__target__("avx512ifma,avx512vl"), \
|
|
21
32
|
__min_vector_width__(128)))
|
|
22
33
|
#define __DEFAULT_FN_ATTRS256 \
|
|
23
34
|
__attribute__((__always_inline__, __nodebug__, \
|
|
24
|
-
__target__("avx512ifma,avx512vl
|
|
35
|
+
__target__("avx512ifma,avx512vl"), \
|
|
25
36
|
__min_vector_width__(256)))
|
|
37
|
+
#endif
|
|
26
38
|
|
|
39
|
+
#if !(defined(__AVXIFMA__) || defined(__AVX512IFMA__))
|
|
27
40
|
#define _mm_madd52hi_epu64(X, Y, Z) \
|
|
28
41
|
((__m128i)__builtin_ia32_vpmadd52huq128((__v2di)(X), (__v2di)(Y), \
|
|
29
42
|
(__v2di)(Z)))
|
|
@@ -39,71 +52,85 @@
|
|
|
39
52
|
#define _mm256_madd52lo_epu64(X, Y, Z) \
|
|
40
53
|
((__m256i)__builtin_ia32_vpmadd52luq256((__v4di)(X), (__v4di)(Y), \
|
|
41
54
|
(__v4di)(Z)))
|
|
55
|
+
#endif
|
|
42
56
|
|
|
57
|
+
#if defined(__AVX512IFMA__)
|
|
43
58
|
static __inline__ __m128i __DEFAULT_FN_ATTRS128
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
59
|
+
_mm_madd52hi_epu64(__m128i __X, __m128i __Y, __m128i __Z) {
|
|
60
|
+
return (__m128i)__builtin_ia32_vpmadd52huq128((__v2di)__X, (__v2di)__Y,
|
|
61
|
+
(__v2di)__Z);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
65
|
+
_mm256_madd52hi_epu64(__m256i __X, __m256i __Y, __m256i __Z) {
|
|
66
|
+
return (__m256i)__builtin_ia32_vpmadd52huq256((__v4di)__X, (__v4di)__Y,
|
|
67
|
+
(__v4di)__Z);
|
|
49
68
|
}
|
|
50
69
|
|
|
51
70
|
static __inline__ __m128i __DEFAULT_FN_ATTRS128
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
(__v2di)_mm_madd52hi_epu64(__X, __Y, __Z),
|
|
56
|
-
(__v2di)_mm_setzero_si128());
|
|
71
|
+
_mm_madd52lo_epu64(__m128i __X, __m128i __Y, __m128i __Z) {
|
|
72
|
+
return (__m128i)__builtin_ia32_vpmadd52luq128((__v2di)__X, (__v2di)__Y,
|
|
73
|
+
(__v2di)__Z);
|
|
57
74
|
}
|
|
58
75
|
|
|
59
76
|
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
(__v4di)_mm256_madd52hi_epu64(__W, __X, __Y),
|
|
64
|
-
(__v4di)__W);
|
|
77
|
+
_mm256_madd52lo_epu64(__m256i __X, __m256i __Y, __m256i __Z) {
|
|
78
|
+
return (__m256i)__builtin_ia32_vpmadd52luq256((__v4di)__X, (__v4di)__Y,
|
|
79
|
+
(__v4di)__Z);
|
|
65
80
|
}
|
|
81
|
+
#endif
|
|
66
82
|
|
|
67
|
-
static __inline__
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
(__v4di)_mm256_madd52hi_epu64(__X, __Y, __Z),
|
|
72
|
-
(__v4di)_mm256_setzero_si256());
|
|
83
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS128
|
|
84
|
+
_mm_mask_madd52hi_epu64(__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y) {
|
|
85
|
+
return (__m128i)__builtin_ia32_selectq_128(
|
|
86
|
+
__M, (__v2di)__builtin_ia32_vpmadd52huq128(__W, __X, __Y), (__v2di)__W);
|
|
73
87
|
}
|
|
74
88
|
|
|
75
89
|
static __inline__ __m128i __DEFAULT_FN_ATTRS128
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
90
|
+
_mm_maskz_madd52hi_epu64(__mmask8 __M, __m128i __X, __m128i __Y, __m128i __Z) {
|
|
91
|
+
return (__m128i)__builtin_ia32_selectq_128(
|
|
92
|
+
__M, (__v2di)__builtin_ia32_vpmadd52huq128(__X, __Y, __Z),
|
|
93
|
+
(__v2di)_mm_setzero_si128());
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_madd52hi_epu64(
|
|
97
|
+
__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y) {
|
|
98
|
+
return (__m256i)__builtin_ia32_selectq_256(
|
|
99
|
+
__M, (__v4di)__builtin_ia32_vpmadd52huq256(__W, __X, __Y), (__v4di)__W);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_madd52hi_epu64(
|
|
103
|
+
__mmask8 __M, __m256i __X, __m256i __Y, __m256i __Z) {
|
|
104
|
+
return (__m256i)__builtin_ia32_selectq_256(
|
|
105
|
+
__M, (__v4di)__builtin_ia32_vpmadd52huq256(__X, __Y, __Z),
|
|
106
|
+
(__v4di)_mm256_setzero_si256());
|
|
81
107
|
}
|
|
82
108
|
|
|
83
109
|
static __inline__ __m128i __DEFAULT_FN_ATTRS128
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
(__v2di)_mm_madd52lo_epu64(__X, __Y, __Z),
|
|
88
|
-
(__v2di)_mm_setzero_si128());
|
|
110
|
+
_mm_mask_madd52lo_epu64(__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y) {
|
|
111
|
+
return (__m128i)__builtin_ia32_selectq_128(
|
|
112
|
+
__M, (__v2di)__builtin_ia32_vpmadd52luq128(__W, __X, __Y), (__v2di)__W);
|
|
89
113
|
}
|
|
90
114
|
|
|
91
|
-
static __inline__
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
(__v4di)__W);
|
|
115
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS128
|
|
116
|
+
_mm_maskz_madd52lo_epu64(__mmask8 __M, __m128i __X, __m128i __Y, __m128i __Z) {
|
|
117
|
+
return (__m128i)__builtin_ia32_selectq_128(
|
|
118
|
+
__M, (__v2di)__builtin_ia32_vpmadd52luq128(__X, __Y, __Z),
|
|
119
|
+
(__v2di)_mm_setzero_si128());
|
|
97
120
|
}
|
|
98
121
|
|
|
99
|
-
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
(__v4di)_mm256_madd52lo_epu64(__X, __Y, __Z),
|
|
104
|
-
(__v4di)_mm256_setzero_si256());
|
|
122
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_madd52lo_epu64(
|
|
123
|
+
__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y) {
|
|
124
|
+
return (__m256i)__builtin_ia32_selectq_256(
|
|
125
|
+
__M, (__v4di)__builtin_ia32_vpmadd52luq256(__W, __X, __Y), (__v4di)__W);
|
|
105
126
|
}
|
|
106
127
|
|
|
128
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_madd52lo_epu64(
|
|
129
|
+
__mmask8 __M, __m256i __X, __m256i __Y, __m256i __Z) {
|
|
130
|
+
return (__m256i)__builtin_ia32_selectq_256(
|
|
131
|
+
__M, (__v4di)__builtin_ia32_vpmadd52luq256(__X, __Y, __Z),
|
|
132
|
+
(__v4di)_mm256_setzero_si256());
|
|
133
|
+
}
|
|
107
134
|
|
|
108
135
|
#undef __DEFAULT_FN_ATTRS128
|
|
109
136
|
#undef __DEFAULT_FN_ATTRS256
|
|
@@ -15,8 +15,15 @@
|
|
|
15
15
|
#define __AVX512VBMI2INTRIN_H
|
|
16
16
|
|
|
17
17
|
/* Define the default attributes for the functions in this file. */
|
|
18
|
-
#define __DEFAULT_FN_ATTRS
|
|
19
|
-
|
|
18
|
+
#define __DEFAULT_FN_ATTRS \
|
|
19
|
+
__attribute__((__always_inline__, __nodebug__, __target__("avx512vbmi2"), \
|
|
20
|
+
__min_vector_width__(512)))
|
|
21
|
+
|
|
22
|
+
#if defined(__cplusplus) && (__cplusplus >= 201103L)
|
|
23
|
+
#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
|
|
24
|
+
#else
|
|
25
|
+
#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
|
|
26
|
+
#endif
|
|
20
27
|
|
|
21
28
|
static __inline__ __m512i __DEFAULT_FN_ATTRS
|
|
22
29
|
_mm512_mask_compress_epi16(__m512i __S, __mmask32 __U, __m512i __D)
|
|
@@ -212,14 +219,14 @@ _mm512_maskz_expandloadu_epi8(__mmask64 __U, void const *__P)
|
|
|
212
219
|
(__v32hi)_mm512_shrdi_epi16((A), (B), (I)), \
|
|
213
220
|
(__v32hi)_mm512_setzero_si512()))
|
|
214
221
|
|
|
215
|
-
static __inline__ __m512i
|
|
222
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
216
223
|
_mm512_shldv_epi64(__m512i __A, __m512i __B, __m512i __C)
|
|
217
224
|
{
|
|
218
|
-
return (__m512i)
|
|
219
|
-
(
|
|
225
|
+
return (__m512i)__builtin_elementwise_fshl((__v8du)__A, (__v8du)__B,
|
|
226
|
+
(__v8du)__C);
|
|
220
227
|
}
|
|
221
228
|
|
|
222
|
-
static __inline__ __m512i
|
|
229
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
223
230
|
_mm512_mask_shldv_epi64(__m512i __A, __mmask8 __U, __m512i __B, __m512i __C)
|
|
224
231
|
{
|
|
225
232
|
return (__m512i)__builtin_ia32_selectq_512(__U,
|
|
@@ -227,7 +234,7 @@ _mm512_mask_shldv_epi64(__m512i __A, __mmask8 __U, __m512i __B, __m512i __C)
|
|
|
227
234
|
(__v8di)__A);
|
|
228
235
|
}
|
|
229
236
|
|
|
230
|
-
static __inline__ __m512i
|
|
237
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
231
238
|
_mm512_maskz_shldv_epi64(__mmask8 __U, __m512i __A, __m512i __B, __m512i __C)
|
|
232
239
|
{
|
|
233
240
|
return (__m512i)__builtin_ia32_selectq_512(__U,
|
|
@@ -235,14 +242,14 @@ _mm512_maskz_shldv_epi64(__mmask8 __U, __m512i __A, __m512i __B, __m512i __C)
|
|
|
235
242
|
(__v8di)_mm512_setzero_si512());
|
|
236
243
|
}
|
|
237
244
|
|
|
238
|
-
static __inline__ __m512i
|
|
245
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
239
246
|
_mm512_shldv_epi32(__m512i __A, __m512i __B, __m512i __C)
|
|
240
247
|
{
|
|
241
|
-
return (__m512i)
|
|
242
|
-
(
|
|
248
|
+
return (__m512i)__builtin_elementwise_fshl((__v16su)__A, (__v16su)__B,
|
|
249
|
+
(__v16su)__C);
|
|
243
250
|
}
|
|
244
251
|
|
|
245
|
-
static __inline__ __m512i
|
|
252
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
246
253
|
_mm512_mask_shldv_epi32(__m512i __A, __mmask16 __U, __m512i __B, __m512i __C)
|
|
247
254
|
{
|
|
248
255
|
return (__m512i)__builtin_ia32_selectd_512(__U,
|
|
@@ -250,7 +257,7 @@ _mm512_mask_shldv_epi32(__m512i __A, __mmask16 __U, __m512i __B, __m512i __C)
|
|
|
250
257
|
(__v16si)__A);
|
|
251
258
|
}
|
|
252
259
|
|
|
253
|
-
static __inline__ __m512i
|
|
260
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
254
261
|
_mm512_maskz_shldv_epi32(__mmask16 __U, __m512i __A, __m512i __B, __m512i __C)
|
|
255
262
|
{
|
|
256
263
|
return (__m512i)__builtin_ia32_selectd_512(__U,
|
|
@@ -258,14 +265,14 @@ _mm512_maskz_shldv_epi32(__mmask16 __U, __m512i __A, __m512i __B, __m512i __C)
|
|
|
258
265
|
(__v16si)_mm512_setzero_si512());
|
|
259
266
|
}
|
|
260
267
|
|
|
261
|
-
static __inline__ __m512i
|
|
268
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
262
269
|
_mm512_shldv_epi16(__m512i __A, __m512i __B, __m512i __C)
|
|
263
270
|
{
|
|
264
|
-
return (__m512i)
|
|
265
|
-
(
|
|
271
|
+
return (__m512i)__builtin_elementwise_fshl((__v32hu)__A, (__v32hu)__B,
|
|
272
|
+
(__v32hu)__C);
|
|
266
273
|
}
|
|
267
274
|
|
|
268
|
-
static __inline__ __m512i
|
|
275
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
269
276
|
_mm512_mask_shldv_epi16(__m512i __A, __mmask32 __U, __m512i __B, __m512i __C)
|
|
270
277
|
{
|
|
271
278
|
return (__m512i)__builtin_ia32_selectw_512(__U,
|
|
@@ -273,7 +280,7 @@ _mm512_mask_shldv_epi16(__m512i __A, __mmask32 __U, __m512i __B, __m512i __C)
|
|
|
273
280
|
(__v32hi)__A);
|
|
274
281
|
}
|
|
275
282
|
|
|
276
|
-
static __inline__ __m512i
|
|
283
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
277
284
|
_mm512_maskz_shldv_epi16(__mmask32 __U, __m512i __A, __m512i __B, __m512i __C)
|
|
278
285
|
{
|
|
279
286
|
return (__m512i)__builtin_ia32_selectw_512(__U,
|
|
@@ -281,14 +288,15 @@ _mm512_maskz_shldv_epi16(__mmask32 __U, __m512i __A, __m512i __B, __m512i __C)
|
|
|
281
288
|
(__v32hi)_mm512_setzero_si512());
|
|
282
289
|
}
|
|
283
290
|
|
|
284
|
-
static __inline__ __m512i
|
|
291
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
285
292
|
_mm512_shrdv_epi64(__m512i __A, __m512i __B, __m512i __C)
|
|
286
293
|
{
|
|
287
|
-
|
|
288
|
-
|
|
294
|
+
// Ops __A and __B are swapped.
|
|
295
|
+
return (__m512i)__builtin_elementwise_fshr((__v8du)__B, (__v8du)__A,
|
|
296
|
+
(__v8du)__C);
|
|
289
297
|
}
|
|
290
298
|
|
|
291
|
-
static __inline__ __m512i
|
|
299
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
292
300
|
_mm512_mask_shrdv_epi64(__m512i __A, __mmask8 __U, __m512i __B, __m512i __C)
|
|
293
301
|
{
|
|
294
302
|
return (__m512i)__builtin_ia32_selectq_512(__U,
|
|
@@ -296,7 +304,7 @@ _mm512_mask_shrdv_epi64(__m512i __A, __mmask8 __U, __m512i __B, __m512i __C)
|
|
|
296
304
|
(__v8di)__A);
|
|
297
305
|
}
|
|
298
306
|
|
|
299
|
-
static __inline__ __m512i
|
|
307
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
300
308
|
_mm512_maskz_shrdv_epi64(__mmask8 __U, __m512i __A, __m512i __B, __m512i __C)
|
|
301
309
|
{
|
|
302
310
|
return (__m512i)__builtin_ia32_selectq_512(__U,
|
|
@@ -304,14 +312,15 @@ _mm512_maskz_shrdv_epi64(__mmask8 __U, __m512i __A, __m512i __B, __m512i __C)
|
|
|
304
312
|
(__v8di)_mm512_setzero_si512());
|
|
305
313
|
}
|
|
306
314
|
|
|
307
|
-
static __inline__ __m512i
|
|
315
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
308
316
|
_mm512_shrdv_epi32(__m512i __A, __m512i __B, __m512i __C)
|
|
309
317
|
{
|
|
310
|
-
|
|
311
|
-
|
|
318
|
+
// Ops __A and __B are swapped.
|
|
319
|
+
return (__m512i)__builtin_elementwise_fshr((__v16su)__B, (__v16su)__A,
|
|
320
|
+
(__v16su)__C);
|
|
312
321
|
}
|
|
313
322
|
|
|
314
|
-
static __inline__ __m512i
|
|
323
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
315
324
|
_mm512_mask_shrdv_epi32(__m512i __A, __mmask16 __U, __m512i __B, __m512i __C)
|
|
316
325
|
{
|
|
317
326
|
return (__m512i) __builtin_ia32_selectd_512(__U,
|
|
@@ -319,7 +328,7 @@ _mm512_mask_shrdv_epi32(__m512i __A, __mmask16 __U, __m512i __B, __m512i __C)
|
|
|
319
328
|
(__v16si)__A);
|
|
320
329
|
}
|
|
321
330
|
|
|
322
|
-
static __inline__ __m512i
|
|
331
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
323
332
|
_mm512_maskz_shrdv_epi32(__mmask16 __U, __m512i __A, __m512i __B, __m512i __C)
|
|
324
333
|
{
|
|
325
334
|
return (__m512i) __builtin_ia32_selectd_512(__U,
|
|
@@ -327,14 +336,15 @@ _mm512_maskz_shrdv_epi32(__mmask16 __U, __m512i __A, __m512i __B, __m512i __C)
|
|
|
327
336
|
(__v16si)_mm512_setzero_si512());
|
|
328
337
|
}
|
|
329
338
|
|
|
330
|
-
static __inline__ __m512i
|
|
339
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
331
340
|
_mm512_shrdv_epi16(__m512i __A, __m512i __B, __m512i __C)
|
|
332
341
|
{
|
|
333
|
-
|
|
334
|
-
|
|
342
|
+
// Ops __A and __B are swapped.
|
|
343
|
+
return (__m512i)__builtin_elementwise_fshr((__v32hu)__B, (__v32hu)__A,
|
|
344
|
+
(__v32hu)__C);
|
|
335
345
|
}
|
|
336
346
|
|
|
337
|
-
static __inline__ __m512i
|
|
347
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
338
348
|
_mm512_mask_shrdv_epi16(__m512i __A, __mmask32 __U, __m512i __B, __m512i __C)
|
|
339
349
|
{
|
|
340
350
|
return (__m512i)__builtin_ia32_selectw_512(__U,
|
|
@@ -342,7 +352,7 @@ _mm512_mask_shrdv_epi16(__m512i __A, __mmask32 __U, __m512i __B, __m512i __C)
|
|
|
342
352
|
(__v32hi)__A);
|
|
343
353
|
}
|
|
344
354
|
|
|
345
|
-
static __inline__ __m512i
|
|
355
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
346
356
|
_mm512_maskz_shrdv_epi16(__mmask32 __U, __m512i __A, __m512i __B, __m512i __C)
|
|
347
357
|
{
|
|
348
358
|
return (__m512i)__builtin_ia32_selectw_512(__U,
|
|
@@ -352,6 +362,7 @@ _mm512_maskz_shrdv_epi16(__mmask32 __U, __m512i __A, __m512i __B, __m512i __C)
|
|
|
352
362
|
|
|
353
363
|
|
|
354
364
|
#undef __DEFAULT_FN_ATTRS
|
|
365
|
+
#undef __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
355
366
|
|
|
356
367
|
#endif
|
|
357
368
|
|
|
@@ -15,63 +15,57 @@
|
|
|
15
15
|
#define __VBMIINTRIN_H
|
|
16
16
|
|
|
17
17
|
/* Define the default attributes for the functions in this file. */
|
|
18
|
+
#if defined(__cplusplus) && (__cplusplus >= 201103L)
|
|
18
19
|
#define __DEFAULT_FN_ATTRS \
|
|
19
|
-
__attribute__((__always_inline__, __nodebug__,
|
|
20
|
-
|
|
20
|
+
__attribute__((__always_inline__, __nodebug__, __target__("avx512vbmi"), \
|
|
21
|
+
__min_vector_width__(512))) constexpr
|
|
22
|
+
#else
|
|
23
|
+
#define __DEFAULT_FN_ATTRS \
|
|
24
|
+
__attribute__((__always_inline__, __nodebug__, __target__("avx512vbmi"), \
|
|
25
|
+
__min_vector_width__(512)))
|
|
26
|
+
#endif
|
|
21
27
|
|
|
22
28
|
static __inline__ __m512i __DEFAULT_FN_ATTRS
|
|
23
|
-
_mm512_permutex2var_epi8(__m512i __A, __m512i __I, __m512i __B)
|
|
24
|
-
{
|
|
29
|
+
_mm512_permutex2var_epi8(__m512i __A, __m512i __I, __m512i __B) {
|
|
25
30
|
return (__m512i)__builtin_ia32_vpermi2varqi512((__v64qi)__A, (__v64qi)__I,
|
|
26
31
|
(__v64qi) __B);
|
|
27
32
|
}
|
|
28
33
|
|
|
29
|
-
static __inline__ __m512i __DEFAULT_FN_ATTRS
|
|
30
|
-
|
|
31
|
-
__m512i __B)
|
|
32
|
-
{
|
|
34
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_permutex2var_epi8(
|
|
35
|
+
__m512i __A, __mmask64 __U, __m512i __I, __m512i __B) {
|
|
33
36
|
return (__m512i)__builtin_ia32_selectb_512(__U,
|
|
34
37
|
(__v64qi)_mm512_permutex2var_epi8(__A, __I, __B),
|
|
35
38
|
(__v64qi)__A);
|
|
36
39
|
}
|
|
37
40
|
|
|
38
|
-
static __inline__ __m512i __DEFAULT_FN_ATTRS
|
|
39
|
-
|
|
40
|
-
__m512i __B)
|
|
41
|
-
{
|
|
41
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask2_permutex2var_epi8(
|
|
42
|
+
__m512i __A, __m512i __I, __mmask64 __U, __m512i __B) {
|
|
42
43
|
return (__m512i)__builtin_ia32_selectb_512(__U,
|
|
43
44
|
(__v64qi)_mm512_permutex2var_epi8(__A, __I, __B),
|
|
44
45
|
(__v64qi)__I);
|
|
45
46
|
}
|
|
46
47
|
|
|
47
|
-
static __inline__ __m512i __DEFAULT_FN_ATTRS
|
|
48
|
-
|
|
49
|
-
__m512i __B)
|
|
50
|
-
{
|
|
48
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_permutex2var_epi8(
|
|
49
|
+
__mmask64 __U, __m512i __A, __m512i __I, __m512i __B) {
|
|
51
50
|
return (__m512i)__builtin_ia32_selectb_512(__U,
|
|
52
51
|
(__v64qi)_mm512_permutex2var_epi8(__A, __I, __B),
|
|
53
52
|
(__v64qi)_mm512_setzero_si512());
|
|
54
53
|
}
|
|
55
54
|
|
|
56
55
|
static __inline__ __m512i __DEFAULT_FN_ATTRS
|
|
57
|
-
_mm512_permutexvar_epi8
|
|
58
|
-
{
|
|
56
|
+
_mm512_permutexvar_epi8(__m512i __A, __m512i __B) {
|
|
59
57
|
return (__m512i)__builtin_ia32_permvarqi512((__v64qi) __B, (__v64qi) __A);
|
|
60
58
|
}
|
|
61
59
|
|
|
62
60
|
static __inline__ __m512i __DEFAULT_FN_ATTRS
|
|
63
|
-
_mm512_maskz_permutexvar_epi8
|
|
64
|
-
__m512i __B)
|
|
65
|
-
{
|
|
61
|
+
_mm512_maskz_permutexvar_epi8(__mmask64 __M, __m512i __A, __m512i __B) {
|
|
66
62
|
return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
|
|
67
63
|
(__v64qi)_mm512_permutexvar_epi8(__A, __B),
|
|
68
64
|
(__v64qi)_mm512_setzero_si512());
|
|
69
65
|
}
|
|
70
66
|
|
|
71
|
-
static __inline__ __m512i __DEFAULT_FN_ATTRS
|
|
72
|
-
|
|
73
|
-
__m512i __B)
|
|
74
|
-
{
|
|
67
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_permutexvar_epi8(
|
|
68
|
+
__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) {
|
|
75
69
|
return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
|
|
76
70
|
(__v64qi)_mm512_permutexvar_epi8(__A, __B),
|
|
77
71
|
(__v64qi)__W);
|
|
@@ -100,7 +94,5 @@ _mm512_maskz_multishift_epi64_epi8(__mmask64 __M, __m512i __X, __m512i __Y)
|
|
|
100
94
|
(__v64qi)_mm512_setzero_si512());
|
|
101
95
|
}
|
|
102
96
|
|
|
103
|
-
|
|
104
97
|
#undef __DEFAULT_FN_ATTRS
|
|
105
|
-
|
|
106
98
|
#endif
|
|
@@ -15,126 +15,114 @@
|
|
|
15
15
|
#define __VBMIVLINTRIN_H
|
|
16
16
|
|
|
17
17
|
/* Define the default attributes for the functions in this file. */
|
|
18
|
+
#if defined(__cplusplus) && (__cplusplus >= 201103L)
|
|
18
19
|
#define __DEFAULT_FN_ATTRS128 \
|
|
19
20
|
__attribute__((__always_inline__, __nodebug__, \
|
|
20
|
-
__target__("avx512vbmi,avx512vl
|
|
21
|
+
__target__("avx512vbmi,avx512vl"), \
|
|
22
|
+
__min_vector_width__(128))) constexpr
|
|
23
|
+
#define __DEFAULT_FN_ATTRS256 \
|
|
24
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
25
|
+
__target__("avx512vbmi,avx512vl"), \
|
|
26
|
+
__min_vector_width__(256))) constexpr
|
|
27
|
+
#else
|
|
28
|
+
#define __DEFAULT_FN_ATTRS128 \
|
|
29
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
30
|
+
__target__("avx512vbmi,avx512vl"), \
|
|
21
31
|
__min_vector_width__(128)))
|
|
22
32
|
#define __DEFAULT_FN_ATTRS256 \
|
|
23
33
|
__attribute__((__always_inline__, __nodebug__, \
|
|
24
|
-
__target__("avx512vbmi,avx512vl
|
|
34
|
+
__target__("avx512vbmi,avx512vl"), \
|
|
25
35
|
__min_vector_width__(256)))
|
|
36
|
+
#endif
|
|
26
37
|
|
|
27
38
|
static __inline__ __m128i __DEFAULT_FN_ATTRS128
|
|
28
|
-
_mm_permutex2var_epi8(__m128i __A, __m128i __I, __m128i __B)
|
|
29
|
-
{
|
|
39
|
+
_mm_permutex2var_epi8(__m128i __A, __m128i __I, __m128i __B) {
|
|
30
40
|
return (__m128i)__builtin_ia32_vpermi2varqi128((__v16qi)__A,
|
|
31
41
|
(__v16qi)__I,
|
|
32
42
|
(__v16qi)__B);
|
|
33
43
|
}
|
|
34
44
|
|
|
35
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS128
|
|
36
|
-
|
|
37
|
-
__m128i __B)
|
|
38
|
-
{
|
|
45
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_permutex2var_epi8(
|
|
46
|
+
__m128i __A, __mmask16 __U, __m128i __I, __m128i __B) {
|
|
39
47
|
return (__m128i)__builtin_ia32_selectb_128(__U,
|
|
40
48
|
(__v16qi)_mm_permutex2var_epi8(__A, __I, __B),
|
|
41
49
|
(__v16qi)__A);
|
|
42
50
|
}
|
|
43
51
|
|
|
44
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS128
|
|
45
|
-
|
|
46
|
-
__m128i __B)
|
|
47
|
-
{
|
|
52
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask2_permutex2var_epi8(
|
|
53
|
+
__m128i __A, __m128i __I, __mmask16 __U, __m128i __B) {
|
|
48
54
|
return (__m128i)__builtin_ia32_selectb_128(__U,
|
|
49
55
|
(__v16qi)_mm_permutex2var_epi8(__A, __I, __B),
|
|
50
56
|
(__v16qi)__I);
|
|
51
57
|
}
|
|
52
58
|
|
|
53
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS128
|
|
54
|
-
|
|
55
|
-
__m128i __B)
|
|
56
|
-
{
|
|
59
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_permutex2var_epi8(
|
|
60
|
+
__mmask16 __U, __m128i __A, __m128i __I, __m128i __B) {
|
|
57
61
|
return (__m128i)__builtin_ia32_selectb_128(__U,
|
|
58
62
|
(__v16qi)_mm_permutex2var_epi8(__A, __I, __B),
|
|
59
63
|
(__v16qi)_mm_setzero_si128());
|
|
60
64
|
}
|
|
61
65
|
|
|
62
66
|
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
63
|
-
_mm256_permutex2var_epi8(__m256i __A, __m256i __I, __m256i __B)
|
|
64
|
-
{
|
|
67
|
+
_mm256_permutex2var_epi8(__m256i __A, __m256i __I, __m256i __B) {
|
|
65
68
|
return (__m256i)__builtin_ia32_vpermi2varqi256((__v32qi)__A, (__v32qi)__I,
|
|
66
69
|
(__v32qi)__B);
|
|
67
70
|
}
|
|
68
71
|
|
|
69
|
-
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
70
|
-
|
|
71
|
-
__m256i __B)
|
|
72
|
-
{
|
|
72
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_permutex2var_epi8(
|
|
73
|
+
__m256i __A, __mmask32 __U, __m256i __I, __m256i __B) {
|
|
73
74
|
return (__m256i)__builtin_ia32_selectb_256(__U,
|
|
74
75
|
(__v32qi)_mm256_permutex2var_epi8(__A, __I, __B),
|
|
75
76
|
(__v32qi)__A);
|
|
76
77
|
}
|
|
77
78
|
|
|
78
|
-
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
79
|
-
|
|
80
|
-
__m256i __B)
|
|
81
|
-
{
|
|
79
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask2_permutex2var_epi8(
|
|
80
|
+
__m256i __A, __m256i __I, __mmask32 __U, __m256i __B) {
|
|
82
81
|
return (__m256i)__builtin_ia32_selectb_256(__U,
|
|
83
82
|
(__v32qi)_mm256_permutex2var_epi8(__A, __I, __B),
|
|
84
83
|
(__v32qi)__I);
|
|
85
84
|
}
|
|
86
85
|
|
|
87
|
-
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
88
|
-
|
|
89
|
-
__m256i __B)
|
|
90
|
-
{
|
|
86
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_permutex2var_epi8(
|
|
87
|
+
__mmask32 __U, __m256i __A, __m256i __I, __m256i __B) {
|
|
91
88
|
return (__m256i)__builtin_ia32_selectb_256(__U,
|
|
92
89
|
(__v32qi)_mm256_permutex2var_epi8(__A, __I, __B),
|
|
93
90
|
(__v32qi)_mm256_setzero_si256());
|
|
94
91
|
}
|
|
95
92
|
|
|
96
93
|
static __inline__ __m128i __DEFAULT_FN_ATTRS128
|
|
97
|
-
_mm_permutexvar_epi8
|
|
98
|
-
{
|
|
94
|
+
_mm_permutexvar_epi8(__m128i __A, __m128i __B) {
|
|
99
95
|
return (__m128i)__builtin_ia32_permvarqi128((__v16qi)__B, (__v16qi)__A);
|
|
100
96
|
}
|
|
101
97
|
|
|
102
98
|
static __inline__ __m128i __DEFAULT_FN_ATTRS128
|
|
103
|
-
_mm_maskz_permutexvar_epi8
|
|
104
|
-
{
|
|
99
|
+
_mm_maskz_permutexvar_epi8(__mmask16 __M, __m128i __A, __m128i __B) {
|
|
105
100
|
return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
|
|
106
101
|
(__v16qi)_mm_permutexvar_epi8(__A, __B),
|
|
107
102
|
(__v16qi)_mm_setzero_si128());
|
|
108
103
|
}
|
|
109
104
|
|
|
110
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS128
|
|
111
|
-
|
|
112
|
-
__m128i __B)
|
|
113
|
-
{
|
|
105
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_permutexvar_epi8(
|
|
106
|
+
__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
|
|
114
107
|
return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
|
|
115
108
|
(__v16qi)_mm_permutexvar_epi8(__A, __B),
|
|
116
109
|
(__v16qi)__W);
|
|
117
110
|
}
|
|
118
111
|
|
|
119
112
|
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
120
|
-
_mm256_permutexvar_epi8
|
|
121
|
-
{
|
|
113
|
+
_mm256_permutexvar_epi8(__m256i __A, __m256i __B) {
|
|
122
114
|
return (__m256i)__builtin_ia32_permvarqi256((__v32qi) __B, (__v32qi) __A);
|
|
123
115
|
}
|
|
124
116
|
|
|
125
117
|
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
126
|
-
_mm256_maskz_permutexvar_epi8
|
|
127
|
-
__m256i __B)
|
|
128
|
-
{
|
|
118
|
+
_mm256_maskz_permutexvar_epi8(__mmask32 __M, __m256i __A, __m256i __B) {
|
|
129
119
|
return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
|
|
130
120
|
(__v32qi)_mm256_permutexvar_epi8(__A, __B),
|
|
131
121
|
(__v32qi)_mm256_setzero_si256());
|
|
132
122
|
}
|
|
133
123
|
|
|
134
|
-
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
135
|
-
|
|
136
|
-
__m256i __B)
|
|
137
|
-
{
|
|
124
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_permutexvar_epi8(
|
|
125
|
+
__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
|
|
138
126
|
return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
|
|
139
127
|
(__v32qi)_mm256_permutexvar_epi8(__A, __B),
|
|
140
128
|
(__v32qi)__W);
|
|
@@ -186,8 +174,6 @@ _mm256_maskz_multishift_epi64_epi8(__mmask32 __M, __m256i __X, __m256i __Y)
|
|
|
186
174
|
(__v32qi)_mm256_setzero_si256());
|
|
187
175
|
}
|
|
188
176
|
|
|
189
|
-
|
|
190
177
|
#undef __DEFAULT_FN_ATTRS128
|
|
191
178
|
#undef __DEFAULT_FN_ATTRS256
|
|
192
|
-
|
|
193
179
|
#endif
|