@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/include/smmintrin.h
CHANGED
|
@@ -17,14 +17,14 @@
|
|
|
17
17
|
#include <tmmintrin.h>
|
|
18
18
|
|
|
19
19
|
/* Define the default attributes for the functions in this file. */
|
|
20
|
-
#if defined(__EVEX512__) && !defined(__AVX10_1_512__)
|
|
21
|
-
#define __DEFAULT_FN_ATTRS \
|
|
22
|
-
__attribute__((__always_inline__, __nodebug__, \
|
|
23
|
-
__target__("sse4.1,no-evex512"), __min_vector_width__(128)))
|
|
24
|
-
#else
|
|
25
20
|
#define __DEFAULT_FN_ATTRS \
|
|
26
21
|
__attribute__((__always_inline__, __nodebug__, __target__("sse4.1"), \
|
|
27
22
|
__min_vector_width__(128)))
|
|
23
|
+
|
|
24
|
+
#if defined(__cplusplus) && (__cplusplus >= 201103L)
|
|
25
|
+
#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
|
|
26
|
+
#else
|
|
27
|
+
#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
|
|
28
28
|
#endif
|
|
29
29
|
|
|
30
30
|
/* SSE4 Rounding macros. */
|
|
@@ -439,9 +439,8 @@
|
|
|
439
439
|
/// position in the result. When a mask bit is 1, the corresponding 64-bit
|
|
440
440
|
/// element in operand \a __V2 is copied to the same position in the result.
|
|
441
441
|
/// \returns A 128-bit vector of [2 x double] containing the copied values.
|
|
442
|
-
static __inline__ __m128d
|
|
443
|
-
|
|
444
|
-
__m128d __M) {
|
|
442
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
443
|
+
_mm_blendv_pd(__m128d __V1, __m128d __V2, __m128d __M) {
|
|
445
444
|
return (__m128d)__builtin_ia32_blendvpd((__v2df)__V1, (__v2df)__V2,
|
|
446
445
|
(__v2df)__M);
|
|
447
446
|
}
|
|
@@ -466,9 +465,8 @@ static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_blendv_pd(__m128d __V1,
|
|
|
466
465
|
/// position in the result. When a mask bit is 1, the corresponding 32-bit
|
|
467
466
|
/// element in operand \a __V2 is copied to the same position in the result.
|
|
468
467
|
/// \returns A 128-bit vector of [4 x float] containing the copied values.
|
|
469
|
-
static __inline__ __m128
|
|
470
|
-
|
|
471
|
-
__m128 __M) {
|
|
468
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
469
|
+
_mm_blendv_ps(__m128 __V1, __m128 __V2, __m128 __M) {
|
|
472
470
|
return (__m128)__builtin_ia32_blendvps((__v4sf)__V1, (__v4sf)__V2,
|
|
473
471
|
(__v4sf)__M);
|
|
474
472
|
}
|
|
@@ -493,9 +491,8 @@ static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_blendv_ps(__m128 __V1,
|
|
|
493
491
|
/// position in the result. When a mask bit is 1, the corresponding 8-bit
|
|
494
492
|
/// element in operand \a __V2 is copied to the same position in the result.
|
|
495
493
|
/// \returns A 128-bit vector of [16 x i8] containing the copied values.
|
|
496
|
-
static __inline__ __m128i
|
|
497
|
-
|
|
498
|
-
__m128i __M) {
|
|
494
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
495
|
+
_mm_blendv_epi8(__m128i __V1, __m128i __V2, __m128i __M) {
|
|
499
496
|
return (__m128i)__builtin_ia32_pblendvb128((__v16qi)__V1, (__v16qi)__V2,
|
|
500
497
|
(__v16qi)__M);
|
|
501
498
|
}
|
|
@@ -542,8 +539,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_blendv_epi8(__m128i __V1,
|
|
|
542
539
|
/// \param __V2
|
|
543
540
|
/// A 128-bit integer vector.
|
|
544
541
|
/// \returns A 128-bit integer vector containing the products of both operands.
|
|
545
|
-
static __inline__ __m128i
|
|
546
|
-
|
|
542
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
543
|
+
_mm_mullo_epi32(__m128i __V1, __m128i __V2) {
|
|
547
544
|
return (__m128i)((__v4su)__V1 * (__v4su)__V2);
|
|
548
545
|
}
|
|
549
546
|
|
|
@@ -561,8 +558,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mullo_epi32(__m128i __V1,
|
|
|
561
558
|
/// A 128-bit vector of [4 x i32].
|
|
562
559
|
/// \returns A 128-bit vector of [2 x i64] containing the products of both
|
|
563
560
|
/// operands.
|
|
564
|
-
static __inline__ __m128i
|
|
565
|
-
|
|
561
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
562
|
+
_mm_mul_epi32(__m128i __V1, __m128i __V2) {
|
|
566
563
|
return (__m128i)__builtin_ia32_pmuldq128((__v4si)__V1, (__v4si)__V2);
|
|
567
564
|
}
|
|
568
565
|
|
|
@@ -669,8 +666,8 @@ _mm_stream_load_si128(const void *__V) {
|
|
|
669
666
|
/// \param __V2
|
|
670
667
|
/// A 128-bit vector of [16 x i8]
|
|
671
668
|
/// \returns A 128-bit vector of [16 x i8] containing the lesser values.
|
|
672
|
-
static __inline__ __m128i
|
|
673
|
-
|
|
669
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
670
|
+
_mm_min_epi8(__m128i __V1, __m128i __V2) {
|
|
674
671
|
return (__m128i)__builtin_elementwise_min((__v16qs)__V1, (__v16qs)__V2);
|
|
675
672
|
}
|
|
676
673
|
|
|
@@ -687,8 +684,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epi8(__m128i __V1,
|
|
|
687
684
|
/// \param __V2
|
|
688
685
|
/// A 128-bit vector of [16 x i8].
|
|
689
686
|
/// \returns A 128-bit vector of [16 x i8] containing the greater values.
|
|
690
|
-
static __inline__ __m128i
|
|
691
|
-
|
|
687
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
688
|
+
_mm_max_epi8(__m128i __V1, __m128i __V2) {
|
|
692
689
|
return (__m128i)__builtin_elementwise_max((__v16qs)__V1, (__v16qs)__V2);
|
|
693
690
|
}
|
|
694
691
|
|
|
@@ -705,8 +702,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epi8(__m128i __V1,
|
|
|
705
702
|
/// \param __V2
|
|
706
703
|
/// A 128-bit vector of [8 x u16].
|
|
707
704
|
/// \returns A 128-bit vector of [8 x u16] containing the lesser values.
|
|
708
|
-
static __inline__ __m128i
|
|
709
|
-
|
|
705
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
706
|
+
_mm_min_epu16(__m128i __V1, __m128i __V2) {
|
|
710
707
|
return (__m128i)__builtin_elementwise_min((__v8hu)__V1, (__v8hu)__V2);
|
|
711
708
|
}
|
|
712
709
|
|
|
@@ -723,8 +720,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epu16(__m128i __V1,
|
|
|
723
720
|
/// \param __V2
|
|
724
721
|
/// A 128-bit vector of [8 x u16].
|
|
725
722
|
/// \returns A 128-bit vector of [8 x u16] containing the greater values.
|
|
726
|
-
static __inline__ __m128i
|
|
727
|
-
|
|
723
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
724
|
+
_mm_max_epu16(__m128i __V1, __m128i __V2) {
|
|
728
725
|
return (__m128i)__builtin_elementwise_max((__v8hu)__V1, (__v8hu)__V2);
|
|
729
726
|
}
|
|
730
727
|
|
|
@@ -741,8 +738,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epu16(__m128i __V1,
|
|
|
741
738
|
/// \param __V2
|
|
742
739
|
/// A 128-bit vector of [4 x i32].
|
|
743
740
|
/// \returns A 128-bit vector of [4 x i32] containing the lesser values.
|
|
744
|
-
static __inline__ __m128i
|
|
745
|
-
|
|
741
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
742
|
+
_mm_min_epi32(__m128i __V1, __m128i __V2) {
|
|
746
743
|
return (__m128i)__builtin_elementwise_min((__v4si)__V1, (__v4si)__V2);
|
|
747
744
|
}
|
|
748
745
|
|
|
@@ -759,8 +756,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epi32(__m128i __V1,
|
|
|
759
756
|
/// \param __V2
|
|
760
757
|
/// A 128-bit vector of [4 x i32].
|
|
761
758
|
/// \returns A 128-bit vector of [4 x i32] containing the greater values.
|
|
762
|
-
static __inline__ __m128i
|
|
763
|
-
|
|
759
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
760
|
+
_mm_max_epi32(__m128i __V1, __m128i __V2) {
|
|
764
761
|
return (__m128i)__builtin_elementwise_max((__v4si)__V1, (__v4si)__V2);
|
|
765
762
|
}
|
|
766
763
|
|
|
@@ -777,8 +774,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epi32(__m128i __V1,
|
|
|
777
774
|
/// \param __V2
|
|
778
775
|
/// A 128-bit vector of [4 x u32].
|
|
779
776
|
/// \returns A 128-bit vector of [4 x u32] containing the lesser values.
|
|
780
|
-
static __inline__ __m128i
|
|
781
|
-
|
|
777
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
778
|
+
_mm_min_epu32(__m128i __V1, __m128i __V2) {
|
|
782
779
|
return (__m128i)__builtin_elementwise_min((__v4su)__V1, (__v4su)__V2);
|
|
783
780
|
}
|
|
784
781
|
|
|
@@ -795,8 +792,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epu32(__m128i __V1,
|
|
|
795
792
|
/// \param __V2
|
|
796
793
|
/// A 128-bit vector of [4 x u32].
|
|
797
794
|
/// \returns A 128-bit vector of [4 x u32] containing the greater values.
|
|
798
|
-
static __inline__ __m128i
|
|
799
|
-
|
|
795
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
796
|
+
_mm_max_epu32(__m128i __V1, __m128i __V2) {
|
|
800
797
|
return (__m128i)__builtin_elementwise_max((__v4su)__V1, (__v4su)__V2);
|
|
801
798
|
}
|
|
802
799
|
|
|
@@ -1096,8 +1093,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epu32(__m128i __V1,
|
|
|
1096
1093
|
/// \param __V
|
|
1097
1094
|
/// A 128-bit integer vector selecting which bits to test in operand \a __M.
|
|
1098
1095
|
/// \returns TRUE if the specified bits are all zeros; FALSE otherwise.
|
|
1099
|
-
static __inline__ int
|
|
1100
|
-
|
|
1096
|
+
static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1097
|
+
_mm_testz_si128(__m128i __M, __m128i __V) {
|
|
1101
1098
|
return __builtin_ia32_ptestz128((__v2di)__M, (__v2di)__V);
|
|
1102
1099
|
}
|
|
1103
1100
|
|
|
@@ -1113,8 +1110,8 @@ static __inline__ int __DEFAULT_FN_ATTRS _mm_testz_si128(__m128i __M,
|
|
|
1113
1110
|
/// \param __V
|
|
1114
1111
|
/// A 128-bit integer vector selecting which bits to test in operand \a __M.
|
|
1115
1112
|
/// \returns TRUE if the specified bits are all ones; FALSE otherwise.
|
|
1116
|
-
static __inline__ int
|
|
1117
|
-
|
|
1113
|
+
static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1114
|
+
_mm_testc_si128(__m128i __M, __m128i __V) {
|
|
1118
1115
|
return __builtin_ia32_ptestc128((__v2di)__M, (__v2di)__V);
|
|
1119
1116
|
}
|
|
1120
1117
|
|
|
@@ -1131,8 +1128,8 @@ static __inline__ int __DEFAULT_FN_ATTRS _mm_testc_si128(__m128i __M,
|
|
|
1131
1128
|
/// A 128-bit integer vector selecting which bits to test in operand \a __M.
|
|
1132
1129
|
/// \returns TRUE if the specified bits are neither all zeros nor all ones;
|
|
1133
1130
|
/// FALSE otherwise.
|
|
1134
|
-
static __inline__ int
|
|
1135
|
-
|
|
1131
|
+
static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1132
|
+
_mm_testnzc_si128(__m128i __M, __m128i __V) {
|
|
1136
1133
|
return __builtin_ia32_ptestnzc128((__v2di)__M, (__v2di)__V);
|
|
1137
1134
|
}
|
|
1138
1135
|
|
|
@@ -1205,8 +1202,8 @@ static __inline__ int __DEFAULT_FN_ATTRS _mm_testnzc_si128(__m128i __M,
|
|
|
1205
1202
|
/// \param __V2
|
|
1206
1203
|
/// A 128-bit integer vector.
|
|
1207
1204
|
/// \returns A 128-bit integer vector containing the comparison results.
|
|
1208
|
-
static __inline__ __m128i
|
|
1209
|
-
|
|
1205
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1206
|
+
_mm_cmpeq_epi64(__m128i __V1, __m128i __V2) {
|
|
1210
1207
|
return (__m128i)((__v2di)__V1 == (__v2di)__V2);
|
|
1211
1208
|
}
|
|
1212
1209
|
|
|
@@ -1224,7 +1221,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpeq_epi64(__m128i __V1,
|
|
|
1224
1221
|
/// A 128-bit vector of [16 x i8]. The lower eight 8-bit elements are
|
|
1225
1222
|
/// sign-extended to 16-bit values.
|
|
1226
1223
|
/// \returns A 128-bit vector of [8 x i16] containing the sign-extended values.
|
|
1227
|
-
static __inline__ __m128i
|
|
1224
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1225
|
+
_mm_cvtepi8_epi16(__m128i __V) {
|
|
1228
1226
|
/* This function always performs a signed extension, but __v16qi is a char
|
|
1229
1227
|
which may be signed or unsigned, so use __v16qs. */
|
|
1230
1228
|
return (__m128i) __builtin_convertvector(
|
|
@@ -1246,7 +1244,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi8_epi16(__m128i __V) {
|
|
|
1246
1244
|
/// A 128-bit vector of [16 x i8]. The lower four 8-bit elements are
|
|
1247
1245
|
/// sign-extended to 32-bit values.
|
|
1248
1246
|
/// \returns A 128-bit vector of [4 x i32] containing the sign-extended values.
|
|
1249
|
-
static __inline__ __m128i
|
|
1247
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1248
|
+
_mm_cvtepi8_epi32(__m128i __V) {
|
|
1250
1249
|
/* This function always performs a signed extension, but __v16qi is a char
|
|
1251
1250
|
which may be signed or unsigned, so use __v16qs. */
|
|
1252
1251
|
return (__m128i) __builtin_convertvector(
|
|
@@ -1266,7 +1265,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi8_epi32(__m128i __V) {
|
|
|
1266
1265
|
/// A 128-bit vector of [16 x i8]. The lower two 8-bit elements are
|
|
1267
1266
|
/// sign-extended to 64-bit values.
|
|
1268
1267
|
/// \returns A 128-bit vector of [2 x i64] containing the sign-extended values.
|
|
1269
|
-
static __inline__ __m128i
|
|
1268
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1269
|
+
_mm_cvtepi8_epi64(__m128i __V) {
|
|
1270
1270
|
/* This function always performs a signed extension, but __v16qi is a char
|
|
1271
1271
|
which may be signed or unsigned, so use __v16qs. */
|
|
1272
1272
|
return (__m128i) __builtin_convertvector(
|
|
@@ -1286,7 +1286,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi8_epi64(__m128i __V) {
|
|
|
1286
1286
|
/// A 128-bit vector of [8 x i16]. The lower four 16-bit elements are
|
|
1287
1287
|
/// sign-extended to 32-bit values.
|
|
1288
1288
|
/// \returns A 128-bit vector of [4 x i32] containing the sign-extended values.
|
|
1289
|
-
static __inline__ __m128i
|
|
1289
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1290
|
+
_mm_cvtepi16_epi32(__m128i __V) {
|
|
1290
1291
|
return (__m128i) __builtin_convertvector(
|
|
1291
1292
|
__builtin_shufflevector((__v8hi)__V, (__v8hi)__V, 0, 1, 2, 3), __v4si);
|
|
1292
1293
|
}
|
|
@@ -1304,7 +1305,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi16_epi32(__m128i __V) {
|
|
|
1304
1305
|
/// A 128-bit vector of [8 x i16]. The lower two 16-bit elements are
|
|
1305
1306
|
/// sign-extended to 64-bit values.
|
|
1306
1307
|
/// \returns A 128-bit vector of [2 x i64] containing the sign-extended values.
|
|
1307
|
-
static __inline__ __m128i
|
|
1308
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1309
|
+
_mm_cvtepi16_epi64(__m128i __V) {
|
|
1308
1310
|
return (__m128i) __builtin_convertvector(
|
|
1309
1311
|
__builtin_shufflevector((__v8hi)__V, (__v8hi)__V, 0, 1), __v2di);
|
|
1310
1312
|
}
|
|
@@ -1322,7 +1324,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi16_epi64(__m128i __V) {
|
|
|
1322
1324
|
/// A 128-bit vector of [4 x i32]. The lower two 32-bit elements are
|
|
1323
1325
|
/// sign-extended to 64-bit values.
|
|
1324
1326
|
/// \returns A 128-bit vector of [2 x i64] containing the sign-extended values.
|
|
1325
|
-
static __inline__ __m128i
|
|
1327
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1328
|
+
_mm_cvtepi32_epi64(__m128i __V) {
|
|
1326
1329
|
return (__m128i) __builtin_convertvector(
|
|
1327
1330
|
__builtin_shufflevector((__v4si)__V, (__v4si)__V, 0, 1), __v2di);
|
|
1328
1331
|
}
|
|
@@ -1341,7 +1344,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi32_epi64(__m128i __V) {
|
|
|
1341
1344
|
/// A 128-bit vector of [16 x i8]. The lower eight 8-bit elements are
|
|
1342
1345
|
/// zero-extended to 16-bit values.
|
|
1343
1346
|
/// \returns A 128-bit vector of [8 x i16] containing the zero-extended values.
|
|
1344
|
-
static __inline__ __m128i
|
|
1347
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1348
|
+
_mm_cvtepu8_epi16(__m128i __V) {
|
|
1345
1349
|
return (__m128i) __builtin_convertvector(
|
|
1346
1350
|
__builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1, 2, 3, 4, 5, 6,
|
|
1347
1351
|
7),
|
|
@@ -1361,7 +1365,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu8_epi16(__m128i __V) {
|
|
|
1361
1365
|
/// A 128-bit vector of [16 x i8]. The lower four 8-bit elements are
|
|
1362
1366
|
/// zero-extended to 32-bit values.
|
|
1363
1367
|
/// \returns A 128-bit vector of [4 x i32] containing the zero-extended values.
|
|
1364
|
-
static __inline__ __m128i
|
|
1368
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1369
|
+
_mm_cvtepu8_epi32(__m128i __V) {
|
|
1365
1370
|
return (__m128i) __builtin_convertvector(
|
|
1366
1371
|
__builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1, 2, 3), __v4si);
|
|
1367
1372
|
}
|
|
@@ -1379,7 +1384,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu8_epi32(__m128i __V) {
|
|
|
1379
1384
|
/// A 128-bit vector of [16 x i8]. The lower two 8-bit elements are
|
|
1380
1385
|
/// zero-extended to 64-bit values.
|
|
1381
1386
|
/// \returns A 128-bit vector of [2 x i64] containing the zero-extended values.
|
|
1382
|
-
static __inline__ __m128i
|
|
1387
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1388
|
+
_mm_cvtepu8_epi64(__m128i __V) {
|
|
1383
1389
|
return (__m128i) __builtin_convertvector(
|
|
1384
1390
|
__builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1), __v2di);
|
|
1385
1391
|
}
|
|
@@ -1397,7 +1403,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu8_epi64(__m128i __V) {
|
|
|
1397
1403
|
/// A 128-bit vector of [8 x i16]. The lower four 16-bit elements are
|
|
1398
1404
|
/// zero-extended to 32-bit values.
|
|
1399
1405
|
/// \returns A 128-bit vector of [4 x i32] containing the zero-extended values.
|
|
1400
|
-
static __inline__ __m128i
|
|
1406
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1407
|
+
_mm_cvtepu16_epi32(__m128i __V) {
|
|
1401
1408
|
return (__m128i) __builtin_convertvector(
|
|
1402
1409
|
__builtin_shufflevector((__v8hu)__V, (__v8hu)__V, 0, 1, 2, 3), __v4si);
|
|
1403
1410
|
}
|
|
@@ -1415,7 +1422,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu16_epi32(__m128i __V) {
|
|
|
1415
1422
|
/// A 128-bit vector of [8 x i16]. The lower two 16-bit elements are
|
|
1416
1423
|
/// zero-extended to 64-bit values.
|
|
1417
1424
|
/// \returns A 128-bit vector of [2 x i64] containing the zero-extended values.
|
|
1418
|
-
static __inline__ __m128i
|
|
1425
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1426
|
+
_mm_cvtepu16_epi64(__m128i __V) {
|
|
1419
1427
|
return (__m128i) __builtin_convertvector(
|
|
1420
1428
|
__builtin_shufflevector((__v8hu)__V, (__v8hu)__V, 0, 1), __v2di);
|
|
1421
1429
|
}
|
|
@@ -1433,7 +1441,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu16_epi64(__m128i __V) {
|
|
|
1433
1441
|
/// A 128-bit vector of [4 x i32]. The lower two 32-bit elements are
|
|
1434
1442
|
/// zero-extended to 64-bit values.
|
|
1435
1443
|
/// \returns A 128-bit vector of [2 x i64] containing the zero-extended values.
|
|
1436
|
-
static __inline__ __m128i
|
|
1444
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1445
|
+
_mm_cvtepu32_epi64(__m128i __V) {
|
|
1437
1446
|
return (__m128i) __builtin_convertvector(
|
|
1438
1447
|
__builtin_shufflevector((__v4su)__V, (__v4su)__V, 0, 1), __v2di);
|
|
1439
1448
|
}
|
|
@@ -1457,8 +1466,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu32_epi64(__m128i __V) {
|
|
|
1457
1466
|
/// A 128-bit vector of [4 x i32]. The converted [4 x i16] values are
|
|
1458
1467
|
/// written to the higher 64 bits of the result.
|
|
1459
1468
|
/// \returns A 128-bit vector of [8 x i16] containing the converted values.
|
|
1460
|
-
static __inline__ __m128i
|
|
1461
|
-
|
|
1469
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1470
|
+
_mm_packus_epi32(__m128i __V1, __m128i __V2) {
|
|
1462
1471
|
return (__m128i)__builtin_ia32_packusdw128((__v4si)__V1, (__v4si)__V2);
|
|
1463
1472
|
}
|
|
1464
1473
|
|
|
@@ -1515,7 +1524,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_packus_epi32(__m128i __V1,
|
|
|
1515
1524
|
/// \returns A 128-bit value where bits [15:0] contain the minimum value found
|
|
1516
1525
|
/// in parameter \a __V, bits [18:16] contain the index of the minimum value
|
|
1517
1526
|
/// and the remaining bits are set to 0.
|
|
1518
|
-
static __inline__ __m128i
|
|
1527
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1528
|
+
_mm_minpos_epu16(__m128i __V) {
|
|
1519
1529
|
return (__m128i)__builtin_ia32_phminposuw128((__v8hi)__V);
|
|
1520
1530
|
}
|
|
1521
1531
|
|
|
@@ -1525,9 +1535,16 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_minpos_epu16(__m128i __V) {
|
|
|
1525
1535
|
so we'll do the same. */
|
|
1526
1536
|
|
|
1527
1537
|
#undef __DEFAULT_FN_ATTRS
|
|
1538
|
+
#undef __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
1528
1539
|
#define __DEFAULT_FN_ATTRS \
|
|
1529
1540
|
__attribute__((__always_inline__, __nodebug__, __target__("sse4.2")))
|
|
1530
1541
|
|
|
1542
|
+
#if defined(__cplusplus) && (__cplusplus >= 201103L)
|
|
1543
|
+
#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
|
|
1544
|
+
#else
|
|
1545
|
+
#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
|
|
1546
|
+
#endif
|
|
1547
|
+
|
|
1531
1548
|
/* These specify the type of data that we're comparing. */
|
|
1532
1549
|
#define _SIDD_UBYTE_OPS 0x00
|
|
1533
1550
|
#define _SIDD_UWORD_OPS 0x01
|
|
@@ -2320,12 +2337,13 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_minpos_epu16(__m128i __V) {
|
|
|
2320
2337
|
/// \param __V2
|
|
2321
2338
|
/// A 128-bit integer vector.
|
|
2322
2339
|
/// \returns A 128-bit integer vector containing the comparison results.
|
|
2323
|
-
static __inline__ __m128i
|
|
2324
|
-
|
|
2340
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
2341
|
+
_mm_cmpgt_epi64(__m128i __V1, __m128i __V2) {
|
|
2325
2342
|
return (__m128i)((__v2di)__V1 > (__v2di)__V2);
|
|
2326
2343
|
}
|
|
2327
2344
|
|
|
2328
2345
|
#undef __DEFAULT_FN_ATTRS
|
|
2346
|
+
#undef __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
2329
2347
|
|
|
2330
2348
|
#include <popcntintrin.h>
|
|
2331
2349
|
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
//===-- spirvintrin.h - SPIR-V intrinsic functions ------------------------===//
|
|
2
|
+
//
|
|
3
|
+
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
// See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
//
|
|
7
|
+
//===----------------------------------------------------------------------===//
|
|
8
|
+
|
|
9
|
+
#ifndef __SPIRVINTRIN_H
|
|
10
|
+
#define __SPIRVINTRIN_H
|
|
11
|
+
|
|
12
|
+
#ifndef __SPIRV__
|
|
13
|
+
#error "This file is intended for SPIR-V targets or offloading to SPIR-V"
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
#ifndef __GPUINTRIN_H
|
|
17
|
+
#error "Never use <spirvintrin.h> directly; include <gpuintrin.h> instead"
|
|
18
|
+
#endif
|
|
19
|
+
|
|
20
|
+
_Pragma("omp begin declare target device_type(nohost)");
|
|
21
|
+
_Pragma("omp begin declare variant match(device = {arch(spirv64)})");
|
|
22
|
+
|
|
23
|
+
// Type aliases to the address spaces used by the SPIR-V backend.
|
|
24
|
+
#define __gpu_private __attribute__((address_space(0)))
|
|
25
|
+
#define __gpu_constant __attribute__((address_space(2)))
|
|
26
|
+
#define __gpu_local __attribute__((address_space(3)))
|
|
27
|
+
#define __gpu_global __attribute__((address_space(1)))
|
|
28
|
+
#define __gpu_generic __attribute__((address_space(4)))
|
|
29
|
+
|
|
30
|
+
// Attribute to declare a function as a kernel.
|
|
31
|
+
#define __gpu_kernel __attribute__((device_kernel, visibility("protected")))
|
|
32
|
+
|
|
33
|
+
// Returns the number of workgroups in the 'x' dimension of the grid.
|
|
34
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_blocks_x(void) {
|
|
35
|
+
return __builtin_spirv_num_workgroups(0);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Returns the number of workgroups in the 'y' dimension of the grid.
|
|
39
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_blocks_y(void) {
|
|
40
|
+
return __builtin_spirv_num_workgroups(1);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Returns the number of workgroups in the 'z' dimension of the grid.
|
|
44
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_blocks_z(void) {
|
|
45
|
+
return __builtin_spirv_num_workgroups(2);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Returns the 'x' dimension of the current workgroup's id.
|
|
49
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_block_id_x(void) {
|
|
50
|
+
return __builtin_spirv_workgroup_id(0);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// Returns the 'y' dimension of the current workgroup's id.
|
|
54
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_block_id_y(void) {
|
|
55
|
+
return __builtin_spirv_workgroup_id(1);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// Returns the 'z' dimension of the current workgroup's id.
|
|
59
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_block_id_z(void) {
|
|
60
|
+
return __builtin_spirv_workgroup_id(2);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Returns the number of workitems in the 'x' dimension.
|
|
64
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_threads_x(void) {
|
|
65
|
+
return __builtin_spirv_workgroup_size(0);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Returns the number of workitems in the 'y' dimension.
|
|
69
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_threads_y(void) {
|
|
70
|
+
return __builtin_spirv_workgroup_size(1);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Returns the number of workitems in the 'z' dimension.
|
|
74
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_threads_z(void) {
|
|
75
|
+
return __builtin_spirv_workgroup_size(2);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// Returns the 'x' dimension id of the workitem in the current workgroup.
|
|
79
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_thread_id_x(void) {
|
|
80
|
+
return __builtin_spirv_local_invocation_id(0);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Returns the 'y' dimension id of the workitem in the current workgroup.
|
|
84
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_thread_id_y(void) {
|
|
85
|
+
return __builtin_spirv_local_invocation_id(1);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// Returns the 'z' dimension id of the workitem in the current workgroup.
|
|
89
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_thread_id_z(void) {
|
|
90
|
+
return __builtin_spirv_local_invocation_id(2);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// Returns the size of an wavefront, either 32 or 64 depending on hardware
|
|
94
|
+
// and compilation options.
|
|
95
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_lanes(void) {
|
|
96
|
+
return __builtin_spirv_subgroup_size();
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// Returns the id of the thread inside of an wavefront executing together.
|
|
100
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_lane_id(void) {
|
|
101
|
+
return __builtin_spirv_subgroup_local_invocation_id();
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Returns the bit-mask of active threads in the current wavefront. This
|
|
105
|
+
// implementation is incorrect if the target uses more than 64 lanes.
|
|
106
|
+
_DEFAULT_FN_ATTRS static __inline__ uint64_t __gpu_lane_mask(void) {
|
|
107
|
+
uint32_t [[clang::ext_vector_type(4)]] __mask =
|
|
108
|
+
__builtin_spirv_subgroup_ballot(1);
|
|
109
|
+
return __builtin_bit_cast(uint64_t,
|
|
110
|
+
__builtin_shufflevector(__mask, __mask, 0, 1));
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// Copies the value from the first active thread in the wavefront to the rest.
|
|
114
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t
|
|
115
|
+
__gpu_read_first_lane_u32(uint64_t __lane_mask, uint32_t __x) {
|
|
116
|
+
return __builtin_spirv_subgroup_shuffle(__x,
|
|
117
|
+
__builtin_ctzg(__gpu_lane_mask()));
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// Returns a bitmask of threads in the current lane for which \p x is true. This
|
|
121
|
+
// implementation is incorrect if the target uses more than 64 lanes.
|
|
122
|
+
_DEFAULT_FN_ATTRS static __inline__ uint64_t __gpu_ballot(uint64_t __lane_mask,
|
|
123
|
+
bool __x) {
|
|
124
|
+
// The lane_mask & gives the nvptx semantics when lane_mask is a subset of
|
|
125
|
+
// the active threads.
|
|
126
|
+
uint32_t [[clang::ext_vector_type(4)]] __mask =
|
|
127
|
+
__builtin_spirv_subgroup_ballot(__x);
|
|
128
|
+
return __lane_mask & __builtin_bit_cast(uint64_t, __builtin_shufflevector(
|
|
129
|
+
__mask, __mask, 0, 1));
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// Waits for all the threads in the block to converge and issues a fence.
|
|
133
|
+
_DEFAULT_FN_ATTRS static __inline__ void __gpu_sync_threads(void) {
|
|
134
|
+
__builtin_spirv_group_barrier();
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// Wait for all threads in the wavefront to converge, this is a noop on SPIR-V.
|
|
138
|
+
_DEFAULT_FN_ATTRS static __inline__ void __gpu_sync_lane(uint64_t __lane_mask) {
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// Shuffles the the lanes inside the wavefront according to the given index.
|
|
142
|
+
_DEFAULT_FN_ATTRS static __inline__ uint32_t
|
|
143
|
+
__gpu_shuffle_idx_u32(uint64_t __lane_mask, uint32_t __idx, uint32_t __x,
|
|
144
|
+
uint32_t __width) {
|
|
145
|
+
uint32_t __lane = __idx + (__gpu_lane_id() & ~(__width - 1));
|
|
146
|
+
return __builtin_spirv_subgroup_shuffle(__x, __lane);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// Returns a bitmask marking all lanes that have the same value of __x.
|
|
150
|
+
_DEFAULT_FN_ATTRS static __inline__ uint64_t
|
|
151
|
+
__gpu_match_any_u32(uint64_t __lane_mask, uint32_t __x) {
|
|
152
|
+
return __gpu_match_any_u32_impl(__lane_mask, __x);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// Returns a bitmask marking all lanes that have the same value of __x.
|
|
156
|
+
_DEFAULT_FN_ATTRS static __inline__ uint64_t
|
|
157
|
+
__gpu_match_any_u64(uint64_t __lane_mask, uint64_t __x) {
|
|
158
|
+
return __gpu_match_any_u64_impl(__lane_mask, __x);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// Returns the current lane mask if every lane contains __x.
|
|
162
|
+
_DEFAULT_FN_ATTRS static __inline__ uint64_t
|
|
163
|
+
__gpu_match_all_u32(uint64_t __lane_mask, uint32_t __x) {
|
|
164
|
+
return __gpu_match_all_u32_impl(__lane_mask, __x);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
// Returns the current lane mask if every lane contains __x.
|
|
168
|
+
_DEFAULT_FN_ATTRS static __inline__ uint64_t
|
|
169
|
+
__gpu_match_all_u64(uint64_t __lane_mask, uint64_t __x) {
|
|
170
|
+
return __gpu_match_all_u64_impl(__lane_mask, __x);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// SPIR-V does not expose this, always return false.
|
|
174
|
+
_DEFAULT_FN_ATTRS static __inline__ bool __gpu_is_ptr_local(void *ptr) {
|
|
175
|
+
return 0;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
// SPIR-V does not expose this, always return false.
|
|
179
|
+
_DEFAULT_FN_ATTRS static __inline__ bool __gpu_is_ptr_private(void *ptr) {
|
|
180
|
+
return 0;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// SPIR-V only supports 'OpTerminateInvocation' in fragment shaders.
|
|
184
|
+
_DEFAULT_FN_ATTRS [[noreturn]] static __inline__ void __gpu_exit(void) {
|
|
185
|
+
__builtin_trap();
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// This is a no-op as SPIR-V does not support it.
|
|
189
|
+
_DEFAULT_FN_ATTRS static __inline__ void __gpu_thread_suspend(void) {}
|
|
190
|
+
|
|
191
|
+
_Pragma("omp end declare variant");
|
|
192
|
+
_Pragma("omp end declare target");
|
|
193
|
+
|
|
194
|
+
#endif // __SPIRVINTRIN_H
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*===---- stddefer.h - Standard header for 'defer' -------------------------===
|
|
2
|
+
*
|
|
3
|
+
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
* See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
*
|
|
7
|
+
*===-----------------------------------------------------------------------===
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef __CLANG_STDDEFER_H
|
|
11
|
+
#define __CLANG_STDDEFER_H
|
|
12
|
+
|
|
13
|
+
/* Provide 'defer' if '_Defer' is supported. */
|
|
14
|
+
#ifdef __STDC_DEFER_TS25755__
|
|
15
|
+
#define __STDC_VERSION_STDDEFER_H__ 202602L
|
|
16
|
+
#define defer _Defer
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
#endif /* __CLANG_STDDEFER_H */
|