@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
|
@@ -1,303 +0,0 @@
|
|
|
1
|
-
/*===----- amxcomplextransposeintrin.h - AMX-COMPLEX and AMX-TRANSPOSE ------===
|
|
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 __IMMINTRIN_H
|
|
11
|
-
#error \
|
|
12
|
-
"Never use <amxcomplextransposeintrin.h> directly; include <immintrin.h> instead."
|
|
13
|
-
#endif // __IMMINTRIN_H
|
|
14
|
-
|
|
15
|
-
#ifndef __AMX_COMPLEXTRANSPOSEINTRIN_H
|
|
16
|
-
#define __AMX_COMPLEXTRANSPOSEINTRIN_H
|
|
17
|
-
#ifdef __x86_64__
|
|
18
|
-
|
|
19
|
-
#define __DEFAULT_FN_ATTRS \
|
|
20
|
-
__attribute__((__always_inline__, __nodebug__, \
|
|
21
|
-
__target__("amx-complex,amx-transpose")))
|
|
22
|
-
|
|
23
|
-
/// Perform matrix multiplication of two tiles containing complex elements and
|
|
24
|
-
/// accumulate the results into a packed single precision tile. Each dword
|
|
25
|
-
/// element in input tiles \a a and \a b is interpreted as a complex number
|
|
26
|
-
/// with FP16 real part and FP16 imaginary part.
|
|
27
|
-
/// Calculates the imaginary part of the result. For each possible combination
|
|
28
|
-
/// of (transposed column of \a a, column of \a b), it performs a set of
|
|
29
|
-
/// multiplication and accumulations on all corresponding complex numbers
|
|
30
|
-
/// (one from \a a and one from \a b). The imaginary part of the \a a element
|
|
31
|
-
/// is multiplied with the real part of the corresponding \a b element, and
|
|
32
|
-
/// the real part of the \a a element is multiplied with the imaginary part
|
|
33
|
-
/// of the corresponding \a b elements. The two accumulated results are
|
|
34
|
-
/// added, and then accumulated into the corresponding row and column of
|
|
35
|
-
/// \a dst.
|
|
36
|
-
///
|
|
37
|
-
/// \headerfile <x86intrin.h>
|
|
38
|
-
///
|
|
39
|
-
/// \code
|
|
40
|
-
/// void _tile_tcmmimfp16ps(__tile dst, __tile a, __tile b);
|
|
41
|
-
/// \endcode
|
|
42
|
-
///
|
|
43
|
-
/// \code{.operation}
|
|
44
|
-
/// FOR m := 0 TO dst.rows - 1
|
|
45
|
-
/// tmp := dst.row[m]
|
|
46
|
-
/// FOR k := 0 TO a.rows - 1
|
|
47
|
-
/// FOR n := 0 TO (dst.colsb / 4) - 1
|
|
48
|
-
/// tmp.fp32[n] += FP32(a.row[m].fp16[2*k+0]) * FP32(b.row[k].fp16[2*n+1])
|
|
49
|
-
/// tmp.fp32[n] += FP32(a.row[m].fp16[2*k+1]) * FP32(b.row[k].fp16[2*n+0])
|
|
50
|
-
/// ENDFOR
|
|
51
|
-
/// ENDFOR
|
|
52
|
-
/// write_row_and_zero(dst, m, tmp, dst.colsb)
|
|
53
|
-
/// ENDFOR
|
|
54
|
-
/// zero_upper_rows(dst, dst.rows)
|
|
55
|
-
/// zero_tileconfig_start()
|
|
56
|
-
/// \endcode
|
|
57
|
-
///
|
|
58
|
-
/// This intrinsic corresponds to the \c TTCMMIMFP16PS instruction.
|
|
59
|
-
///
|
|
60
|
-
/// \param dst
|
|
61
|
-
/// The destination tile. Max size is 1024 Bytes.
|
|
62
|
-
/// \param a
|
|
63
|
-
/// The 1st source tile. Max size is 1024 Bytes.
|
|
64
|
-
/// \param b
|
|
65
|
-
/// The 2nd source tile. Max size is 1024 Bytes.
|
|
66
|
-
#define _tile_tcmmimfp16ps(dst, a, b) \
|
|
67
|
-
__builtin_ia32_ttcmmimfp16ps((dst), (a), (b))
|
|
68
|
-
|
|
69
|
-
/// Perform matrix multiplication of two tiles containing complex elements and
|
|
70
|
-
/// accumulate the results into a packed single precision tile. Each dword
|
|
71
|
-
/// element in input tiles \a a and \a b is interpreted as a complex number
|
|
72
|
-
/// with FP16 real part and FP16 imaginary part.
|
|
73
|
-
/// Calculates the real part of the result. For each possible combination
|
|
74
|
-
/// of (rtransposed colum of \a a, column of \a b), it performs a set of
|
|
75
|
-
/// multiplication and accumulations on all corresponding complex numbers
|
|
76
|
-
/// (one from \a a and one from \a b). The real part of the \a a element is
|
|
77
|
-
/// multiplied with the real part of the corresponding \a b element, and the
|
|
78
|
-
/// negated imaginary part of the \a a element is multiplied with the
|
|
79
|
-
/// imaginary part of the corresponding \a b elements. The two accumulated
|
|
80
|
-
/// results are added, and then accumulated into the corresponding row and
|
|
81
|
-
/// column of \a dst.
|
|
82
|
-
///
|
|
83
|
-
/// \headerfile <x86intrin.h>
|
|
84
|
-
///
|
|
85
|
-
/// \code
|
|
86
|
-
/// void _tile_tcmmrlfp16ps(__tile dst, __tile a, __tile b);
|
|
87
|
-
/// \endcode
|
|
88
|
-
///
|
|
89
|
-
/// \code{.operation}
|
|
90
|
-
/// FOR m := 0 TO dst.rows - 1
|
|
91
|
-
/// tmp := dst.row[m]
|
|
92
|
-
/// FOR k := 0 TO a.rows - 1
|
|
93
|
-
/// FOR n := 0 TO (dst.colsb / 4) - 1
|
|
94
|
-
/// tmp.fp32[n] += FP32(a.row[m].fp16[2*k+0]) * FP32(b.row[k].fp16[2*n+0])
|
|
95
|
-
/// tmp.fp32[n] += FP32(-a.row[m].fp16[2*k+1]) * FP32(b.row[k].fp16[2*n+1])
|
|
96
|
-
/// ENDFOR
|
|
97
|
-
/// ENDFOR
|
|
98
|
-
/// write_row_and_zero(dst, m, tmp, dst.colsb)
|
|
99
|
-
/// ENDFOR
|
|
100
|
-
/// zero_upper_rows(dst, dst.rows)
|
|
101
|
-
/// zero_tileconfig_start()
|
|
102
|
-
/// \endcode
|
|
103
|
-
///
|
|
104
|
-
/// This intrinsic corresponds to the \c TTCMMIMFP16PS instruction.
|
|
105
|
-
///
|
|
106
|
-
/// \param dst
|
|
107
|
-
/// The destination tile. Max size is 1024 Bytes.
|
|
108
|
-
/// \param a
|
|
109
|
-
/// The 1st source tile. Max size is 1024 Bytes.
|
|
110
|
-
/// \param b
|
|
111
|
-
/// The 2nd source tile. Max size is 1024 Bytes.
|
|
112
|
-
#define _tile_tcmmrlfp16ps(dst, a, b) \
|
|
113
|
-
__builtin_ia32_ttcmmrlfp16ps((dst), (a), (b))
|
|
114
|
-
|
|
115
|
-
/// Perform matrix conjugate transpose and multiplication of two tiles
|
|
116
|
-
/// containing complex elements and accumulate the results into a packed
|
|
117
|
-
/// single precision tile. Each dword element in input tiles \a a and \a b
|
|
118
|
-
/// is interpreted as a complex number with FP16 real part and FP16 imaginary
|
|
119
|
-
/// part.
|
|
120
|
-
/// Calculates the imaginary part of the result. For each possible combination
|
|
121
|
-
/// of (transposed column of \a a, column of \a b), it performs a set of
|
|
122
|
-
/// multiplication and accumulations on all corresponding complex numbers
|
|
123
|
-
/// (one from \a a and one from \a b). The negated imaginary part of the \a a
|
|
124
|
-
/// element is multiplied with the real part of the corresponding \a b
|
|
125
|
-
/// element, and the real part of the \a a element is multiplied with the
|
|
126
|
-
/// imaginary part of the corresponding \a b elements. The two accumulated
|
|
127
|
-
/// results are added, and then accumulated into the corresponding row and
|
|
128
|
-
/// column of \a dst.
|
|
129
|
-
///
|
|
130
|
-
/// \headerfile <x86intrin.h>
|
|
131
|
-
///
|
|
132
|
-
/// \code
|
|
133
|
-
/// void _tile_conjtcmmimfp16ps(__tile dst, __tile a, __tile b);
|
|
134
|
-
/// \endcode
|
|
135
|
-
///
|
|
136
|
-
/// \code{.operation}
|
|
137
|
-
/// FOR m := 0 TO dst.rows - 1
|
|
138
|
-
/// tmp := dst.row[m]
|
|
139
|
-
/// FOR k := 0 TO a.rows - 1
|
|
140
|
-
/// FOR n := 0 TO (dst.colsb / 4) - 1
|
|
141
|
-
/// tmp.fp32[n] += FP32(a.row[m].fp16[2*k+0]) * FP32(b.row[k].fp16[2*n+1])
|
|
142
|
-
/// tmp.fp32[n] += FP32(-a.row[m].fp16[2*k+1]) * FP32(b.row[k].fp16[2*n+0])
|
|
143
|
-
/// ENDFOR
|
|
144
|
-
/// ENDFOR
|
|
145
|
-
/// write_row_and_zero(dst, m, tmp, dst.colsb)
|
|
146
|
-
/// ENDFOR
|
|
147
|
-
/// zero_upper_rows(dst, dst.rows)
|
|
148
|
-
/// zero_tileconfig_start()
|
|
149
|
-
/// \endcode
|
|
150
|
-
///
|
|
151
|
-
/// This intrinsic corresponds to the \c TCONJTCMMIMFP16PS instruction.
|
|
152
|
-
///
|
|
153
|
-
/// \param dst
|
|
154
|
-
/// The destination tile. Max size is 1024 Bytes.
|
|
155
|
-
/// \param a
|
|
156
|
-
/// The 1st source tile. Max size is 1024 Bytes.
|
|
157
|
-
/// \param b
|
|
158
|
-
/// The 2nd source tile. Max size is 1024 Bytes.
|
|
159
|
-
#define _tile_conjtcmmimfp16ps(dst, a, b) \
|
|
160
|
-
__builtin_ia32_tconjtcmmimfp16ps((dst), (a), (b))
|
|
161
|
-
|
|
162
|
-
/// Perform conjugate transpose of an FP16-pair of complex elements from \a a
|
|
163
|
-
/// and writes the result to \a dst.
|
|
164
|
-
///
|
|
165
|
-
/// \headerfile <x86intrin.h>
|
|
166
|
-
///
|
|
167
|
-
/// \code
|
|
168
|
-
/// void _tile_conjtfp16(__tile dst, __tile a);
|
|
169
|
-
/// \endcode
|
|
170
|
-
///
|
|
171
|
-
/// \code{.operation}
|
|
172
|
-
/// FOR i := 0 TO dst.rows - 1
|
|
173
|
-
/// FOR j := 0 TO (dst.colsb / 4) - 1
|
|
174
|
-
/// tmp.fp16[2*j+0] := a.row[j].fp16[2*i+0]
|
|
175
|
-
/// tmp.fp16[2*j+1] := -a.row[j].fp16[2*i+1]
|
|
176
|
-
/// ENDFOR
|
|
177
|
-
/// write_row_and_zero(dst, i, tmp, dst.colsb)
|
|
178
|
-
/// ENDFOR
|
|
179
|
-
/// zero_upper_rows(dst, dst.rows)
|
|
180
|
-
/// zero_tileconfig_start()
|
|
181
|
-
/// \endcode
|
|
182
|
-
///
|
|
183
|
-
/// This intrinsic corresponds to the \c TCONJTFP16 instruction.
|
|
184
|
-
///
|
|
185
|
-
/// \param dst
|
|
186
|
-
/// The destination tile. Max size is 1024 Bytes.
|
|
187
|
-
/// \param a
|
|
188
|
-
/// The source tile. Max size is 1024 Bytes.
|
|
189
|
-
#define _tile_conjtfp16(dst, a) __builtin_ia32_tconjtfp16((dst), (a))
|
|
190
|
-
|
|
191
|
-
static __inline__ _tile1024i __DEFAULT_FN_ATTRS _tile_tcmmimfp16ps_internal(
|
|
192
|
-
unsigned short m, unsigned short n, unsigned short k, _tile1024i dst,
|
|
193
|
-
_tile1024i src1, _tile1024i src2) {
|
|
194
|
-
return __builtin_ia32_ttcmmimfp16ps_internal(m, n, k, dst, src1, src2);
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
static __inline__ _tile1024i __DEFAULT_FN_ATTRS _tile_tcmmrlfp16ps_internal(
|
|
198
|
-
unsigned short m, unsigned short n, unsigned short k, _tile1024i dst,
|
|
199
|
-
_tile1024i src1, _tile1024i src2) {
|
|
200
|
-
return __builtin_ia32_ttcmmrlfp16ps_internal(m, n, k, dst, src1, src2);
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
static __inline__ _tile1024i __DEFAULT_FN_ATTRS _tile_conjtcmmimfp16ps_internal(
|
|
204
|
-
unsigned short m, unsigned short n, unsigned short k, _tile1024i dst,
|
|
205
|
-
_tile1024i src1, _tile1024i src2) {
|
|
206
|
-
return __builtin_ia32_tconjtcmmimfp16ps_internal(m, n, k, dst, src1, src2);
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
static __inline__ _tile1024i __DEFAULT_FN_ATTRS
|
|
210
|
-
_tile_conjtfp16_internal(unsigned short m, unsigned short n, _tile1024i src) {
|
|
211
|
-
return __builtin_ia32_tconjtfp16_internal(m, n, src);
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
/// Perform matrix multiplication of two tiles containing complex elements and
|
|
215
|
-
/// accumulate the results into a packed single precision tile. Each dword
|
|
216
|
-
/// element in input tiles src0 and src1 is interpreted as a complex number
|
|
217
|
-
/// with FP16 real part and FP16 imaginary part.
|
|
218
|
-
/// This function calculates the imaginary part of the result.
|
|
219
|
-
///
|
|
220
|
-
/// \headerfile <immintrin.h>
|
|
221
|
-
///
|
|
222
|
-
/// This intrinsic corresponds to the <c> TTCMMIMFP16PS </c> instruction.
|
|
223
|
-
///
|
|
224
|
-
/// \param dst
|
|
225
|
-
/// The destination tile. Max size is 1024 Bytes.
|
|
226
|
-
/// \param src0
|
|
227
|
-
/// The 1st source tile. Max size is 1024 Bytes.
|
|
228
|
-
/// \param src1
|
|
229
|
-
/// The 2nd source tile. Max size is 1024 Bytes.
|
|
230
|
-
__DEFAULT_FN_ATTRS
|
|
231
|
-
static void __tile_tcmmimfp16ps(__tile1024i *dst, __tile1024i src0,
|
|
232
|
-
__tile1024i src1) {
|
|
233
|
-
dst->tile = _tile_tcmmimfp16ps_internal(src0.row, src1.col, src0.col,
|
|
234
|
-
dst->tile, src0.tile, src1.tile);
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
/// Perform matrix multiplication of two tiles containing complex elements and
|
|
238
|
-
/// accumulate the results into a packed single precision tile. Each dword
|
|
239
|
-
/// element in input tiles src0 and src1 is interpreted as a complex number
|
|
240
|
-
/// with FP16 real part and FP16 imaginary part.
|
|
241
|
-
/// This function calculates the real part of the result.
|
|
242
|
-
///
|
|
243
|
-
/// \headerfile <immintrin.h>
|
|
244
|
-
///
|
|
245
|
-
/// This intrinsic corresponds to the <c> TTCMMRLFP16PS </c> instruction.
|
|
246
|
-
///
|
|
247
|
-
/// \param dst
|
|
248
|
-
/// The destination tile. Max size is 1024 Bytes.
|
|
249
|
-
/// \param src0
|
|
250
|
-
/// The 1st source tile. Max size is 1024 Bytes.
|
|
251
|
-
/// \param src1
|
|
252
|
-
/// The 2nd source tile. Max size is 1024 Bytes.
|
|
253
|
-
__DEFAULT_FN_ATTRS
|
|
254
|
-
static void __tile_tcmmrlfp16ps(__tile1024i *dst, __tile1024i src0,
|
|
255
|
-
__tile1024i src1) {
|
|
256
|
-
dst->tile = _tile_tcmmrlfp16ps_internal(src0.row, src1.col, src0.col,
|
|
257
|
-
dst->tile, src0.tile, src1.tile);
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
/// Perform matrix conjugate transpose and multiplication of two tiles
|
|
261
|
-
/// containing complex elements and accumulate the results into a packed
|
|
262
|
-
/// single precision tile. Each dword element in input tiles src0 and src1
|
|
263
|
-
/// is interpreted as a complex number with FP16 real part and FP16 imaginary
|
|
264
|
-
/// part.
|
|
265
|
-
/// This function calculates the imaginary part of the result.
|
|
266
|
-
///
|
|
267
|
-
/// \headerfile <immintrin.h>
|
|
268
|
-
///
|
|
269
|
-
/// This intrinsic corresponds to the <c> TCONJTCMMIMFP16PS </c> instruction.
|
|
270
|
-
///
|
|
271
|
-
/// \param dst
|
|
272
|
-
/// The destination tile. Max size is 1024 Bytes.
|
|
273
|
-
/// \param src0
|
|
274
|
-
/// The 1st source tile. Max size is 1024 Bytes.
|
|
275
|
-
/// \param src1
|
|
276
|
-
/// The 2nd source tile. Max size is 1024 Bytes.
|
|
277
|
-
__DEFAULT_FN_ATTRS
|
|
278
|
-
static void __tile_conjtcmmimfp16ps(__tile1024i *dst, __tile1024i src0,
|
|
279
|
-
__tile1024i src1) {
|
|
280
|
-
dst->tile = _tile_conjtcmmimfp16ps_internal(src0.row, src1.col, src0.col,
|
|
281
|
-
dst->tile, src0.tile, src1.tile);
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
/// Perform conjugate transpose of an FP16-pair of complex elements from src and
|
|
285
|
-
/// writes the result to dst.
|
|
286
|
-
///
|
|
287
|
-
/// \headerfile <immintrin.h>
|
|
288
|
-
///
|
|
289
|
-
/// This intrinsic corresponds to the <c> TCONJTFP16 </c> instruction.
|
|
290
|
-
///
|
|
291
|
-
/// \param dst
|
|
292
|
-
/// The destination tile. Max size is 1024 Bytes.
|
|
293
|
-
/// \param src
|
|
294
|
-
/// The source tile. Max size is 1024 Bytes.
|
|
295
|
-
__DEFAULT_FN_ATTRS
|
|
296
|
-
static void __tile_conjtfp16(__tile1024i *dst, __tile1024i src) {
|
|
297
|
-
dst->tile = _tile_conjtfp16_internal(src.row, src.col, src.tile);
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
#undef __DEFAULT_FN_ATTRS
|
|
301
|
-
|
|
302
|
-
#endif // __x86_64__
|
|
303
|
-
#endif // __AMX_COMPLEXTRANSPOSEINTRIN_H
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
/*===----- amxfp16transposeintrin.h - AMX-FP16 and AMX-TRANSPOSE ------------===
|
|
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 __IMMINTRIN_H
|
|
11
|
-
#error \
|
|
12
|
-
"Never use <amxfp16transposeintrin.h> directly; use <immintrin.h> instead."
|
|
13
|
-
#endif /* __IMMINTRIN_H */
|
|
14
|
-
|
|
15
|
-
#ifndef __AMX_FP16TRANSPOSEINTRIN_H
|
|
16
|
-
#define __AMX_FP16TRANSPOSEINTRIN_H
|
|
17
|
-
#ifdef __x86_64__
|
|
18
|
-
|
|
19
|
-
/* Define the default attributes for the functions in this file. */
|
|
20
|
-
#define __DEFAULT_FN_ATTRS \
|
|
21
|
-
__attribute__((__always_inline__, __nodebug__, \
|
|
22
|
-
__target__("amx-fp16,amx-transpose")))
|
|
23
|
-
|
|
24
|
-
/// Compute transpose and dot-product of FP16 (16-bit) floating-point pairs in
|
|
25
|
-
/// tiles \a a and \a b, accumulating the intermediate single-precision
|
|
26
|
-
/// (32-bit) floating-point elements with elements in \a dst, and store the
|
|
27
|
-
/// 32-bit result back to tile \a dst.
|
|
28
|
-
///
|
|
29
|
-
/// \headerfile <immintrin.h>
|
|
30
|
-
///
|
|
31
|
-
/// \code
|
|
32
|
-
/// void _tile_tdpfp16ps (__tile dst, __tile a, __tile b)
|
|
33
|
-
/// \endcode
|
|
34
|
-
///
|
|
35
|
-
/// \code{.operation}
|
|
36
|
-
/// FOR m := 0 TO dst.rows - 1
|
|
37
|
-
/// tmp := dst.row[m]
|
|
38
|
-
/// FOR k := 0 TO (a.colsb / 4) - 1
|
|
39
|
-
/// FOR n := 0 TO (dst.colsb / 4) - 1
|
|
40
|
-
/// tmp.fp32[n] += FP32(a.row[m].fp16[2*k+0]) *
|
|
41
|
-
/// FP32(b.row[k].fp16[2*n+0])
|
|
42
|
-
/// tmp.fp32[n] += FP32(a.row[m].fp16[2*k+1]) *
|
|
43
|
-
/// FP32(b.row[k].fp16[2*n+1])
|
|
44
|
-
/// ENDFOR
|
|
45
|
-
/// ENDFOR
|
|
46
|
-
/// write_row_and_zero(dst, m, tmp, dst.colsb)
|
|
47
|
-
/// ENDFOR
|
|
48
|
-
/// zero_upper_rows(dst, dst.rows)
|
|
49
|
-
/// zero_tileconfig_start()
|
|
50
|
-
/// \endcode
|
|
51
|
-
///
|
|
52
|
-
/// This intrinsic corresponds to the \c TTDPFP16PS instruction.
|
|
53
|
-
///
|
|
54
|
-
/// \param dst
|
|
55
|
-
/// The destination tile. Max size is 1024 Bytes.
|
|
56
|
-
/// \param a
|
|
57
|
-
/// The 1st source tile. Max size is 1024 Bytes.
|
|
58
|
-
/// \param b
|
|
59
|
-
/// The 2nd source tile. Max size is 1024 Bytes.
|
|
60
|
-
#define _tile_tdpfp16ps(dst, a, b) __builtin_ia32_ttdpfp16ps((dst), (a), (b))
|
|
61
|
-
|
|
62
|
-
/// This is internal intrinsic. C/C++ user should avoid calling it directly.
|
|
63
|
-
static __inline__ _tile1024i __DEFAULT_FN_ATTRS
|
|
64
|
-
_tile_tdpfp16ps_internal(unsigned short m, unsigned short n, unsigned short k,
|
|
65
|
-
_tile1024i dst, _tile1024i src1, _tile1024i src2) {
|
|
66
|
-
return __builtin_ia32_ttdpfp16ps_internal(m, n, k, dst, src1, src2);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/// Compute transpose and dot-product of FP16 (16-bit) floating-point pairs in
|
|
70
|
-
/// tiles src0 and src1, accumulating the intermediate single-precision
|
|
71
|
-
/// (32-bit) floating-point elements with elements in "dst", and store the
|
|
72
|
-
/// 32-bit result back to tile "dst".
|
|
73
|
-
///
|
|
74
|
-
/// \headerfile <immintrin.h>
|
|
75
|
-
///
|
|
76
|
-
/// This intrinsic corresponds to the <c> TTDPFP16PS </c> instruction.
|
|
77
|
-
///
|
|
78
|
-
/// \param dst
|
|
79
|
-
/// The destination tile. Max size is 1024 Bytes.
|
|
80
|
-
/// \param src0
|
|
81
|
-
/// The 1st source tile. Max size is 1024 Bytes.
|
|
82
|
-
/// \param src1
|
|
83
|
-
/// The 2nd source tile. Max size is 1024 Bytes.
|
|
84
|
-
__DEFAULT_FN_ATTRS
|
|
85
|
-
static __inline__ void __tile_tdpfp16ps(__tile1024i *dst, __tile1024i src0,
|
|
86
|
-
__tile1024i src1) {
|
|
87
|
-
dst->tile = _tile_tdpfp16ps_internal(src0.row, src1.col, src0.col, dst->tile,
|
|
88
|
-
src0.tile, src1.tile);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
#undef __DEFAULT_FN_ATTRS
|
|
92
|
-
|
|
93
|
-
#endif /* __x86_64__ */
|
|
94
|
-
#endif /* __AMX_FP16TRANSPOSEINTRIN_H */
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
/* ===--- amxmovrstransposeintrin.h - AMX_MOVRS_TRANSPOSE intrinsics --------===
|
|
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 __IMMINTRIN_H
|
|
11
|
-
#error \
|
|
12
|
-
"Never use <amxmovrstransposeintrin.h> directly; use <immintrin.h> instead."
|
|
13
|
-
#endif /* __IMMINTRIN_H */
|
|
14
|
-
|
|
15
|
-
#ifndef __AMX_MOVRS_TRANSPOSEINTRIN_H
|
|
16
|
-
#define __AMX_MOVRS_TRANSPOSEINTRIN_H
|
|
17
|
-
#ifdef __x86_64__
|
|
18
|
-
|
|
19
|
-
#define __DEFAULT_FN_ATTRS \
|
|
20
|
-
__attribute__((__always_inline__, __nodebug__, \
|
|
21
|
-
__target__("amx-transpose,amx-movrs")))
|
|
22
|
-
|
|
23
|
-
#define _tile_2rpntlvwz0rs(tdst, base, stride) \
|
|
24
|
-
__builtin_ia32_t2rpntlvwz0rs(tdst, base, stride)
|
|
25
|
-
#define _tile_2rpntlvwz0rst1(tdst, base, stride) \
|
|
26
|
-
__builtin_ia32_t2rpntlvwz0rst1(tdst, base, stride)
|
|
27
|
-
#define _tile_2rpntlvwz1rs(tdst, base, stride) \
|
|
28
|
-
__builtin_ia32_t2rpntlvwz1rs(tdst, base, stride)
|
|
29
|
-
#define _tile_2rpntlvwz1rst1(tdst, base, stride) \
|
|
30
|
-
__builtin_ia32_t2rpntlvwz1rst1(tdst, base, stride)
|
|
31
|
-
|
|
32
|
-
static __inline__ void __DEFAULT_FN_ATTRS _tile_2rpntlvwz0rs_internal(
|
|
33
|
-
unsigned short row, unsigned short col0, unsigned short col1,
|
|
34
|
-
_tile1024i *dst0, _tile1024i *dst1, const void *base,
|
|
35
|
-
__SIZE_TYPE__ stride) {
|
|
36
|
-
// Use __tile1024i_1024a* to escape the alignment check in
|
|
37
|
-
// clang/test/Headers/x86-intrinsics-headers-clean.cpp
|
|
38
|
-
__builtin_ia32_t2rpntlvwz0rs_internal(
|
|
39
|
-
row, col0, col1, (_tile1024i_1024a *)dst0, (_tile1024i_1024a *)dst1, base,
|
|
40
|
-
(__SIZE_TYPE__)(stride));
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
static __inline__ void __DEFAULT_FN_ATTRS _tile_2rpntlvwz0rst1_internal(
|
|
44
|
-
unsigned short row, unsigned short col0, unsigned short col1,
|
|
45
|
-
_tile1024i *dst0, _tile1024i *dst1, const void *base,
|
|
46
|
-
__SIZE_TYPE__ stride) {
|
|
47
|
-
__builtin_ia32_t2rpntlvwz0rst1_internal(
|
|
48
|
-
row, col0, col1, (_tile1024i_1024a *)dst0, (_tile1024i_1024a *)dst1, base,
|
|
49
|
-
(__SIZE_TYPE__)(stride));
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
static __inline__ void __DEFAULT_FN_ATTRS _tile_2rpntlvwz1rs_internal(
|
|
53
|
-
unsigned short row, unsigned short col0, unsigned short col1,
|
|
54
|
-
_tile1024i *dst0, _tile1024i *dst1, const void *base,
|
|
55
|
-
__SIZE_TYPE__ stride) {
|
|
56
|
-
__builtin_ia32_t2rpntlvwz1rs_internal(
|
|
57
|
-
row, col0, col1, (_tile1024i_1024a *)dst0, (_tile1024i_1024a *)dst1, base,
|
|
58
|
-
(__SIZE_TYPE__)(stride));
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
static __inline__ void __DEFAULT_FN_ATTRS _tile_2rpntlvwz1rst1_internal(
|
|
62
|
-
unsigned short row, unsigned short col0, unsigned short col1,
|
|
63
|
-
_tile1024i *dst0, _tile1024i *dst1, const void *base,
|
|
64
|
-
__SIZE_TYPE__ stride) {
|
|
65
|
-
__builtin_ia32_t2rpntlvwz1rst1_internal(
|
|
66
|
-
row, col0, col1, (_tile1024i_1024a *)dst0, (_tile1024i_1024a *)dst1, base,
|
|
67
|
-
(__SIZE_TYPE__)(stride));
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/// Converts a pair of tiles from memory into VNNI format, and places the
|
|
71
|
-
/// results in a pair of destinations specified by dst. The pair of tiles
|
|
72
|
-
/// in memory is specified via a tsib; the second tile is after the first
|
|
73
|
-
/// one, separated by the same stride that separates each row.
|
|
74
|
-
/// The tile configuration for the destination tiles indicates the amount
|
|
75
|
-
/// of data to read from memory. The instruction will load a number of rows
|
|
76
|
-
/// that is equal to twice the number of rows in tmm1. The size of each row
|
|
77
|
-
/// is equal to the average width of the destination tiles. If the second
|
|
78
|
-
/// tile is configured with zero rows and columns, only the first tile will
|
|
79
|
-
/// be written.
|
|
80
|
-
/// Provides a hint to the implementation that the data will likely become
|
|
81
|
-
/// read shared in the near future and the data caching can be optimized.
|
|
82
|
-
///
|
|
83
|
-
/// \headerfile <immintrin.h>
|
|
84
|
-
///
|
|
85
|
-
/// This intrinsic corresponds to the <c> T2RPNTLVWZ0RS </c> instruction.
|
|
86
|
-
///
|
|
87
|
-
/// \param dst0
|
|
88
|
-
/// First tile of destination tile pair. Max size is 1024i*2 Bytes.
|
|
89
|
-
/// \param dst1
|
|
90
|
-
/// Second tile of destination tile pair. Max size is 1024i*2 Bytes.
|
|
91
|
-
/// \param base
|
|
92
|
-
/// A pointer to base address.
|
|
93
|
-
/// \param stride
|
|
94
|
-
/// The stride between the rows' data to be loaded in memory.
|
|
95
|
-
__DEFAULT_FN_ATTRS
|
|
96
|
-
static void __tile_2rpntlvwz0rs(__tile1024i *dst0, __tile1024i *dst1,
|
|
97
|
-
const void *base, __SIZE_TYPE__ stride) {
|
|
98
|
-
_tile_2rpntlvwz0rs_internal(dst0->row, dst0->col, dst1->col, &dst0->tile,
|
|
99
|
-
&dst1->tile, base, stride);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/// Converts a pair of tiles from memory into VNNI format, and places the
|
|
103
|
-
/// results in a pair of destinations specified by dst. The pair of tiles
|
|
104
|
-
/// in memory is specified via a tsib; the second tile is after the first
|
|
105
|
-
/// one, separated by the same stride that separates each row.
|
|
106
|
-
/// The tile configuration for the destination tiles indicates the amount
|
|
107
|
-
/// of data to read from memory. The instruction will load a number of rows
|
|
108
|
-
/// that is equal to twice the number of rows in tmm1. The size of each row
|
|
109
|
-
/// is equal to the average width of the destination tiles. If the second
|
|
110
|
-
/// tile is configured with zero rows and columns, only the first tile will
|
|
111
|
-
/// be written.
|
|
112
|
-
///
|
|
113
|
-
/// \headerfile <immintrin.h>
|
|
114
|
-
///
|
|
115
|
-
/// This intrinsic corresponds to the <c> T2RPNTLVWZ0T1RS </c> instruction.
|
|
116
|
-
///
|
|
117
|
-
/// \param dst0
|
|
118
|
-
/// First tile of destination tile pair. Max size is 1024i*2 Bytes.
|
|
119
|
-
/// \param dst1
|
|
120
|
-
/// Second tile of destination tile pair. Max size is 1024i*2 Bytes.
|
|
121
|
-
/// \param base
|
|
122
|
-
/// A pointer to base address.
|
|
123
|
-
/// \param stride
|
|
124
|
-
/// The stride between the rows' data to be loaded in memory.
|
|
125
|
-
__DEFAULT_FN_ATTRS
|
|
126
|
-
static void __tile_2rpntlvwz0rst1(__tile1024i *dst0, __tile1024i *dst1,
|
|
127
|
-
const void *base, __SIZE_TYPE__ stride) {
|
|
128
|
-
_tile_2rpntlvwz0rst1_internal(dst0->row, dst0->col, dst1->col, &dst0->tile,
|
|
129
|
-
&dst1->tile, base, stride);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
/// Converts a pair of tiles from memory into VNNI format, and places the
|
|
133
|
-
/// results in a pair of destinations specified by dst. The pair of tiles
|
|
134
|
-
/// in memory is specified via a tsib; the second tile is after the first
|
|
135
|
-
/// one, separated by the same stride that separates each row.
|
|
136
|
-
/// The tile configuration for the destination tiles indicates the amount
|
|
137
|
-
/// of data to read from memory. The instruction will load a number of rows
|
|
138
|
-
/// that is equal to twice the number of rows in tmm1. The size of each row
|
|
139
|
-
/// is equal to the average width of the destination tiles. If the second
|
|
140
|
-
/// tile is configured with zero rows and columns, only the first tile will
|
|
141
|
-
/// be written. The last row will be not be read from memory but instead
|
|
142
|
-
/// filled with zeros.
|
|
143
|
-
/// Provides a hint to the implementation that the data will likely become
|
|
144
|
-
/// read shared in the near future and the data caching can be optimized.
|
|
145
|
-
///
|
|
146
|
-
/// \headerfile <immintrin.h>
|
|
147
|
-
///
|
|
148
|
-
/// This intrinsic corresponds to the <c> T2RPNTLVWZ1 </c> instruction.
|
|
149
|
-
///
|
|
150
|
-
/// \param dst0
|
|
151
|
-
/// First tile of destination tile pair. Max size is 1024i*2 Bytes.
|
|
152
|
-
/// \param dst1
|
|
153
|
-
/// Second tile of destination tile pair. Max size is 1024i*2 Bytes.
|
|
154
|
-
/// \param base
|
|
155
|
-
/// A pointer to base address.
|
|
156
|
-
/// \param stride
|
|
157
|
-
/// The stride between the rows' data to be loaded in memory.
|
|
158
|
-
__DEFAULT_FN_ATTRS
|
|
159
|
-
static void __tile_2rpntlvwz1rs(__tile1024i *dst0, __tile1024i *dst1,
|
|
160
|
-
const void *base, __SIZE_TYPE__ stride) {
|
|
161
|
-
_tile_2rpntlvwz1rs_internal(dst0->row, dst0->col, dst1->col, &dst0->tile,
|
|
162
|
-
&dst1->tile, base, stride);
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
/// Converts a pair of tiles from memory into VNNI format, and places the
|
|
166
|
-
/// results in a pair of destinations specified by dst. The pair of tiles
|
|
167
|
-
/// in memory is specified via a tsib; the second tile is after the first
|
|
168
|
-
/// one, separated by the same stride that separates each row.
|
|
169
|
-
/// The tile configuration for the destination tiles indicates the amount
|
|
170
|
-
/// of data to read from memory. The instruction will load a number of rows
|
|
171
|
-
/// that is equal to twice the number of rows in tmm1. The size of each row
|
|
172
|
-
/// is equal to the average width of the destination tiles. If the second
|
|
173
|
-
/// tile is configured with zero rows and columns, only the first tile will
|
|
174
|
-
/// be written. The last row will be not be read from memory but instead
|
|
175
|
-
/// filled with zeros.
|
|
176
|
-
/// Provides a hint to the implementation that the data will likely become
|
|
177
|
-
/// read shared in the near future and the data caching can be optimized.
|
|
178
|
-
///
|
|
179
|
-
/// \headerfile <immintrin.h>
|
|
180
|
-
///
|
|
181
|
-
/// This intrinsic corresponds to the <c> T2RPNTLVWZ1T1RS </c> instruction.
|
|
182
|
-
///
|
|
183
|
-
/// \param dst0
|
|
184
|
-
/// First tile of destination tile pair. Max size is 1024i*2 Bytes.
|
|
185
|
-
/// \param dst1
|
|
186
|
-
/// Second tile of destination tile pair. Max size is 1024i*2 Bytes.
|
|
187
|
-
/// \param base
|
|
188
|
-
/// A pointer to base address.
|
|
189
|
-
/// \param stride
|
|
190
|
-
/// The stride between the rows' data to be loaded in memory.
|
|
191
|
-
__DEFAULT_FN_ATTRS
|
|
192
|
-
static void __tile_2rpntlvwz1rst1(__tile1024i *dst0, __tile1024i *dst1,
|
|
193
|
-
const void *base, __SIZE_TYPE__ stride) {
|
|
194
|
-
_tile_2rpntlvwz1rst1_internal(dst0->row, dst0->col, dst1->col, &dst0->tile,
|
|
195
|
-
&dst1->tile, base, stride);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
#undef __DEFAULT_FN_ATTRS
|
|
199
|
-
#endif /* __x86_64__ */
|
|
200
|
-
#endif /* __AMX_MOVRS_TRANSPOSEINTRIN_H */
|