@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/avx2intrin.h
CHANGED
|
@@ -15,20 +15,19 @@
|
|
|
15
15
|
#define __AVX2INTRIN_H
|
|
16
16
|
|
|
17
17
|
/* Define the default attributes for the functions in this file. */
|
|
18
|
-
#if defined(__EVEX512__) && !defined(__AVX10_1_512__)
|
|
19
|
-
#define __DEFAULT_FN_ATTRS256 \
|
|
20
|
-
__attribute__((__always_inline__, __nodebug__, \
|
|
21
|
-
__target__("avx2,no-evex512"), __min_vector_width__(256)))
|
|
22
|
-
#define __DEFAULT_FN_ATTRS128 \
|
|
23
|
-
__attribute__((__always_inline__, __nodebug__, \
|
|
24
|
-
__target__("avx2,no-evex512"), __min_vector_width__(128)))
|
|
25
|
-
#else
|
|
26
18
|
#define __DEFAULT_FN_ATTRS256 \
|
|
27
19
|
__attribute__((__always_inline__, __nodebug__, __target__("avx2"), \
|
|
28
20
|
__min_vector_width__(256)))
|
|
29
21
|
#define __DEFAULT_FN_ATTRS128 \
|
|
30
22
|
__attribute__((__always_inline__, __nodebug__, __target__("avx2"), \
|
|
31
23
|
__min_vector_width__(128)))
|
|
24
|
+
|
|
25
|
+
#if defined(__cplusplus) && (__cplusplus >= 201103L)
|
|
26
|
+
#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
|
|
27
|
+
#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
|
|
28
|
+
#else
|
|
29
|
+
#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
|
|
30
|
+
#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
|
|
32
31
|
#endif
|
|
33
32
|
|
|
34
33
|
/* SSE4 Multiple Packed Sums of Absolute Difference. */
|
|
@@ -104,10 +103,9 @@
|
|
|
104
103
|
/// \param __a
|
|
105
104
|
/// A 256-bit integer vector.
|
|
106
105
|
/// \returns A 256-bit integer vector containing the result.
|
|
107
|
-
static __inline__ __m256i
|
|
108
|
-
_mm256_abs_epi8(__m256i __a)
|
|
109
|
-
|
|
110
|
-
return (__m256i)__builtin_elementwise_abs((__v32qs)__a);
|
|
106
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
107
|
+
_mm256_abs_epi8(__m256i __a) {
|
|
108
|
+
return (__m256i)__builtin_elementwise_abs((__v32qs)__a);
|
|
111
109
|
}
|
|
112
110
|
|
|
113
111
|
/// Computes the absolute value of each signed 16-bit element in the 256-bit
|
|
@@ -121,10 +119,9 @@ _mm256_abs_epi8(__m256i __a)
|
|
|
121
119
|
/// \param __a
|
|
122
120
|
/// A 256-bit vector of [16 x i16].
|
|
123
121
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
124
|
-
static __inline__ __m256i
|
|
125
|
-
_mm256_abs_epi16(__m256i __a)
|
|
126
|
-
|
|
127
|
-
return (__m256i)__builtin_elementwise_abs((__v16hi)__a);
|
|
122
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
123
|
+
_mm256_abs_epi16(__m256i __a) {
|
|
124
|
+
return (__m256i)__builtin_elementwise_abs((__v16hi)__a);
|
|
128
125
|
}
|
|
129
126
|
|
|
130
127
|
/// Computes the absolute value of each signed 32-bit element in the 256-bit
|
|
@@ -138,10 +135,9 @@ _mm256_abs_epi16(__m256i __a)
|
|
|
138
135
|
/// \param __a
|
|
139
136
|
/// A 256-bit vector of [8 x i32].
|
|
140
137
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
141
|
-
static __inline__ __m256i
|
|
142
|
-
_mm256_abs_epi32(__m256i __a)
|
|
143
|
-
|
|
144
|
-
return (__m256i)__builtin_elementwise_abs((__v8si)__a);
|
|
138
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
139
|
+
_mm256_abs_epi32(__m256i __a) {
|
|
140
|
+
return (__m256i)__builtin_elementwise_abs((__v8si)__a);
|
|
145
141
|
}
|
|
146
142
|
|
|
147
143
|
/// Converts the elements of two 256-bit vectors of [16 x i16] to 8-bit
|
|
@@ -169,9 +165,8 @@ _mm256_abs_epi32(__m256i __a)
|
|
|
169
165
|
/// A 256-bit vector of [16 x i16] used to generate result[127:64] and
|
|
170
166
|
/// result[255:192].
|
|
171
167
|
/// \returns A 256-bit integer vector containing the result.
|
|
172
|
-
static __inline__ __m256i
|
|
173
|
-
_mm256_packs_epi16(__m256i __a, __m256i __b)
|
|
174
|
-
{
|
|
168
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
169
|
+
_mm256_packs_epi16(__m256i __a, __m256i __b) {
|
|
175
170
|
return (__m256i)__builtin_ia32_packsswb256((__v16hi)__a, (__v16hi)__b);
|
|
176
171
|
}
|
|
177
172
|
|
|
@@ -201,9 +196,8 @@ _mm256_packs_epi16(__m256i __a, __m256i __b)
|
|
|
201
196
|
/// A 256-bit vector of [8 x i32] used to generate result[127:64] and
|
|
202
197
|
/// result[255:192].
|
|
203
198
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
204
|
-
static __inline__ __m256i
|
|
205
|
-
_mm256_packs_epi32(__m256i __a, __m256i __b)
|
|
206
|
-
{
|
|
199
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
200
|
+
_mm256_packs_epi32(__m256i __a, __m256i __b) {
|
|
207
201
|
return (__m256i)__builtin_ia32_packssdw256((__v8si)__a, (__v8si)__b);
|
|
208
202
|
}
|
|
209
203
|
|
|
@@ -232,9 +226,8 @@ _mm256_packs_epi32(__m256i __a, __m256i __b)
|
|
|
232
226
|
/// A 256-bit vector of [16 x i16] used to generate result[127:64] and
|
|
233
227
|
/// result[255:192].
|
|
234
228
|
/// \returns A 256-bit integer vector containing the result.
|
|
235
|
-
static __inline__ __m256i
|
|
236
|
-
_mm256_packus_epi16(__m256i __a, __m256i __b)
|
|
237
|
-
{
|
|
229
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
230
|
+
_mm256_packus_epi16(__m256i __a, __m256i __b) {
|
|
238
231
|
return (__m256i)__builtin_ia32_packuswb256((__v16hi)__a, (__v16hi)__b);
|
|
239
232
|
}
|
|
240
233
|
|
|
@@ -264,9 +257,8 @@ _mm256_packus_epi16(__m256i __a, __m256i __b)
|
|
|
264
257
|
/// A 256-bit vector of [8 x i32] used to generate result[127:64] and
|
|
265
258
|
/// result[255:192].
|
|
266
259
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
267
|
-
static __inline__ __m256i
|
|
268
|
-
_mm256_packus_epi32(__m256i __V1, __m256i __V2)
|
|
269
|
-
{
|
|
260
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
261
|
+
_mm256_packus_epi32(__m256i __V1, __m256i __V2) {
|
|
270
262
|
return (__m256i) __builtin_ia32_packusdw256((__v8si)__V1, (__v8si)__V2);
|
|
271
263
|
}
|
|
272
264
|
|
|
@@ -283,9 +275,8 @@ _mm256_packus_epi32(__m256i __V1, __m256i __V2)
|
|
|
283
275
|
/// \param __b
|
|
284
276
|
/// A 256-bit integer vector containing one of the source operands.
|
|
285
277
|
/// \returns A 256-bit integer vector containing the sums.
|
|
286
|
-
static __inline__ __m256i
|
|
287
|
-
_mm256_add_epi8(__m256i __a, __m256i __b)
|
|
288
|
-
{
|
|
278
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
279
|
+
_mm256_add_epi8(__m256i __a, __m256i __b) {
|
|
289
280
|
return (__m256i)((__v32qu)__a + (__v32qu)__b);
|
|
290
281
|
}
|
|
291
282
|
|
|
@@ -302,9 +293,8 @@ _mm256_add_epi8(__m256i __a, __m256i __b)
|
|
|
302
293
|
/// \param __b
|
|
303
294
|
/// A 256-bit vector of [16 x i16] containing one of the source operands.
|
|
304
295
|
/// \returns A 256-bit vector of [16 x i16] containing the sums.
|
|
305
|
-
static __inline__ __m256i
|
|
306
|
-
_mm256_add_epi16(__m256i __a, __m256i __b)
|
|
307
|
-
{
|
|
296
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
297
|
+
_mm256_add_epi16(__m256i __a, __m256i __b) {
|
|
308
298
|
return (__m256i)((__v16hu)__a + (__v16hu)__b);
|
|
309
299
|
}
|
|
310
300
|
|
|
@@ -321,9 +311,8 @@ _mm256_add_epi16(__m256i __a, __m256i __b)
|
|
|
321
311
|
/// \param __b
|
|
322
312
|
/// A 256-bit vector of [8 x i32] containing one of the source operands.
|
|
323
313
|
/// \returns A 256-bit vector of [8 x i32] containing the sums.
|
|
324
|
-
static __inline__ __m256i
|
|
325
|
-
_mm256_add_epi32(__m256i __a, __m256i __b)
|
|
326
|
-
{
|
|
314
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
315
|
+
_mm256_add_epi32(__m256i __a, __m256i __b) {
|
|
327
316
|
return (__m256i)((__v8su)__a + (__v8su)__b);
|
|
328
317
|
}
|
|
329
318
|
|
|
@@ -340,9 +329,8 @@ _mm256_add_epi32(__m256i __a, __m256i __b)
|
|
|
340
329
|
/// \param __b
|
|
341
330
|
/// A 256-bit vector of [4 x i64] containing one of the source operands.
|
|
342
331
|
/// \returns A 256-bit vector of [4 x i64] containing the sums.
|
|
343
|
-
static __inline__ __m256i
|
|
344
|
-
_mm256_add_epi64(__m256i __a, __m256i __b)
|
|
345
|
-
{
|
|
332
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
333
|
+
_mm256_add_epi64(__m256i __a, __m256i __b) {
|
|
346
334
|
return (__m256i)((__v4du)__a + (__v4du)__b);
|
|
347
335
|
}
|
|
348
336
|
|
|
@@ -359,9 +347,8 @@ _mm256_add_epi64(__m256i __a, __m256i __b)
|
|
|
359
347
|
/// \param __b
|
|
360
348
|
/// A 256-bit integer vector containing one of the source operands.
|
|
361
349
|
/// \returns A 256-bit integer vector containing the sums.
|
|
362
|
-
static __inline__ __m256i
|
|
363
|
-
_mm256_adds_epi8(__m256i __a, __m256i __b)
|
|
364
|
-
{
|
|
350
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
351
|
+
_mm256_adds_epi8(__m256i __a, __m256i __b) {
|
|
365
352
|
return (__m256i)__builtin_elementwise_add_sat((__v32qs)__a, (__v32qs)__b);
|
|
366
353
|
}
|
|
367
354
|
|
|
@@ -377,9 +364,8 @@ _mm256_adds_epi8(__m256i __a, __m256i __b)
|
|
|
377
364
|
/// \param __b
|
|
378
365
|
/// A 256-bit vector of [16 x i16] containing one of the source operands.
|
|
379
366
|
/// \returns A 256-bit vector of [16 x i16] containing the sums.
|
|
380
|
-
static __inline__ __m256i
|
|
381
|
-
_mm256_adds_epi16(__m256i __a, __m256i __b)
|
|
382
|
-
{
|
|
367
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
368
|
+
_mm256_adds_epi16(__m256i __a, __m256i __b) {
|
|
383
369
|
return (__m256i)__builtin_elementwise_add_sat((__v16hi)__a, (__v16hi)__b);
|
|
384
370
|
}
|
|
385
371
|
|
|
@@ -396,9 +382,8 @@ _mm256_adds_epi16(__m256i __a, __m256i __b)
|
|
|
396
382
|
/// \param __b
|
|
397
383
|
/// A 256-bit integer vector containing one of the source operands.
|
|
398
384
|
/// \returns A 256-bit integer vector containing the sums.
|
|
399
|
-
static __inline__ __m256i
|
|
400
|
-
_mm256_adds_epu8(__m256i __a, __m256i __b)
|
|
401
|
-
{
|
|
385
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
386
|
+
_mm256_adds_epu8(__m256i __a, __m256i __b) {
|
|
402
387
|
return (__m256i)__builtin_elementwise_add_sat((__v32qu)__a, (__v32qu)__b);
|
|
403
388
|
}
|
|
404
389
|
|
|
@@ -414,9 +399,8 @@ _mm256_adds_epu8(__m256i __a, __m256i __b)
|
|
|
414
399
|
/// \param __b
|
|
415
400
|
/// A 256-bit vector of [16 x i16] containing one of the source operands.
|
|
416
401
|
/// \returns A 256-bit vector of [16 x i16] containing the sums.
|
|
417
|
-
static __inline__ __m256i
|
|
418
|
-
_mm256_adds_epu16(__m256i __a, __m256i __b)
|
|
419
|
-
{
|
|
402
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
403
|
+
_mm256_adds_epu16(__m256i __a, __m256i __b) {
|
|
420
404
|
return (__m256i)__builtin_elementwise_add_sat((__v16hu)__a, (__v16hu)__b);
|
|
421
405
|
}
|
|
422
406
|
|
|
@@ -460,7 +444,7 @@ _mm256_adds_epu16(__m256i __a, __m256i __b)
|
|
|
460
444
|
/// \param __b
|
|
461
445
|
/// A 256-bit integer vector.
|
|
462
446
|
/// \returns A 256-bit integer vector containing the result.
|
|
463
|
-
static __inline__ __m256i
|
|
447
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
464
448
|
_mm256_and_si256(__m256i __a, __m256i __b)
|
|
465
449
|
{
|
|
466
450
|
return (__m256i)((__v4du)__a & (__v4du)__b);
|
|
@@ -478,7 +462,7 @@ _mm256_and_si256(__m256i __a, __m256i __b)
|
|
|
478
462
|
/// \param __b
|
|
479
463
|
/// A 256-bit integer vector.
|
|
480
464
|
/// \returns A 256-bit integer vector containing the result.
|
|
481
|
-
static __inline__ __m256i
|
|
465
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
482
466
|
_mm256_andnot_si256(__m256i __a, __m256i __b)
|
|
483
467
|
{
|
|
484
468
|
return (__m256i)(~(__v4du)__a & (__v4du)__b);
|
|
@@ -504,10 +488,9 @@ _mm256_andnot_si256(__m256i __a, __m256i __b)
|
|
|
504
488
|
/// \param __b
|
|
505
489
|
/// A 256-bit integer vector.
|
|
506
490
|
/// \returns A 256-bit integer vector containing the result.
|
|
507
|
-
static __inline__ __m256i
|
|
508
|
-
_mm256_avg_epu8(__m256i __a, __m256i __b)
|
|
509
|
-
|
|
510
|
-
return (__m256i)__builtin_ia32_pavgb256((__v32qi)__a, (__v32qi)__b);
|
|
491
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
492
|
+
_mm256_avg_epu8(__m256i __a, __m256i __b) {
|
|
493
|
+
return (__m256i)__builtin_ia32_pavgb256((__v32qu)__a, (__v32qu)__b);
|
|
511
494
|
}
|
|
512
495
|
|
|
513
496
|
/// Computes the averages of the corresponding unsigned 16-bit integers in
|
|
@@ -530,10 +513,9 @@ _mm256_avg_epu8(__m256i __a, __m256i __b)
|
|
|
530
513
|
/// \param __b
|
|
531
514
|
/// A 256-bit vector of [16 x i16].
|
|
532
515
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
533
|
-
static __inline__ __m256i
|
|
534
|
-
_mm256_avg_epu16(__m256i __a, __m256i __b)
|
|
535
|
-
|
|
536
|
-
return (__m256i)__builtin_ia32_pavgw256((__v16hi)__a, (__v16hi)__b);
|
|
516
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
517
|
+
_mm256_avg_epu16(__m256i __a, __m256i __b) {
|
|
518
|
+
return (__m256i)__builtin_ia32_pavgw256((__v16hu)__a, (__v16hu)__b);
|
|
537
519
|
}
|
|
538
520
|
|
|
539
521
|
/// Merges 8-bit integer values from either of the two 256-bit vectors
|
|
@@ -565,9 +547,8 @@ _mm256_avg_epu16(__m256i __a, __m256i __b)
|
|
|
565
547
|
/// is 0, the byte is copied from \a __V1; otherwise, it is copied from
|
|
566
548
|
/// \a __V2.
|
|
567
549
|
/// \returns A 256-bit integer vector containing the result.
|
|
568
|
-
static __inline__ __m256i
|
|
569
|
-
_mm256_blendv_epi8(__m256i __V1, __m256i __V2, __m256i __M)
|
|
570
|
-
{
|
|
550
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
551
|
+
_mm256_blendv_epi8(__m256i __V1, __m256i __V2, __m256i __M) {
|
|
571
552
|
return (__m256i)__builtin_ia32_pblendvb256((__v32qi)__V1, (__v32qi)__V2,
|
|
572
553
|
(__v32qi)__M);
|
|
573
554
|
}
|
|
@@ -633,7 +614,7 @@ _mm256_blendv_epi8(__m256i __V1, __m256i __V2, __m256i __M)
|
|
|
633
614
|
/// \param __b
|
|
634
615
|
/// A 256-bit integer vector containing one of the inputs.
|
|
635
616
|
/// \returns A 256-bit integer vector containing the result.
|
|
636
|
-
static __inline__ __m256i
|
|
617
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
637
618
|
_mm256_cmpeq_epi8(__m256i __a, __m256i __b)
|
|
638
619
|
{
|
|
639
620
|
return (__m256i)((__v32qi)__a == (__v32qi)__b);
|
|
@@ -659,7 +640,7 @@ _mm256_cmpeq_epi8(__m256i __a, __m256i __b)
|
|
|
659
640
|
/// \param __b
|
|
660
641
|
/// A 256-bit vector of [16 x i16] containing one of the inputs.
|
|
661
642
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
662
|
-
static __inline__ __m256i
|
|
643
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
663
644
|
_mm256_cmpeq_epi16(__m256i __a, __m256i __b)
|
|
664
645
|
{
|
|
665
646
|
return (__m256i)((__v16hi)__a == (__v16hi)__b);
|
|
@@ -685,7 +666,7 @@ _mm256_cmpeq_epi16(__m256i __a, __m256i __b)
|
|
|
685
666
|
/// \param __b
|
|
686
667
|
/// A 256-bit vector of [8 x i32] containing one of the inputs.
|
|
687
668
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
688
|
-
static __inline__ __m256i
|
|
669
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
689
670
|
_mm256_cmpeq_epi32(__m256i __a, __m256i __b)
|
|
690
671
|
{
|
|
691
672
|
return (__m256i)((__v8si)__a == (__v8si)__b);
|
|
@@ -711,7 +692,7 @@ _mm256_cmpeq_epi32(__m256i __a, __m256i __b)
|
|
|
711
692
|
/// \param __b
|
|
712
693
|
/// A 256-bit vector of [4 x i64] containing one of the inputs.
|
|
713
694
|
/// \returns A 256-bit vector of [4 x i64] containing the result.
|
|
714
|
-
static __inline__ __m256i
|
|
695
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
715
696
|
_mm256_cmpeq_epi64(__m256i __a, __m256i __b)
|
|
716
697
|
{
|
|
717
698
|
return (__m256i)((__v4di)__a == (__v4di)__b);
|
|
@@ -737,7 +718,7 @@ _mm256_cmpeq_epi64(__m256i __a, __m256i __b)
|
|
|
737
718
|
/// \param __b
|
|
738
719
|
/// A 256-bit integer vector containing one of the inputs.
|
|
739
720
|
/// \returns A 256-bit integer vector containing the result.
|
|
740
|
-
static __inline__ __m256i
|
|
721
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
741
722
|
_mm256_cmpgt_epi8(__m256i __a, __m256i __b)
|
|
742
723
|
{
|
|
743
724
|
/* This function always performs a signed comparison, but __v32qi is a char
|
|
@@ -765,7 +746,7 @@ _mm256_cmpgt_epi8(__m256i __a, __m256i __b)
|
|
|
765
746
|
/// \param __b
|
|
766
747
|
/// A 256-bit vector of [16 x i16] containing one of the inputs.
|
|
767
748
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
768
|
-
static __inline__ __m256i
|
|
749
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
769
750
|
_mm256_cmpgt_epi16(__m256i __a, __m256i __b)
|
|
770
751
|
{
|
|
771
752
|
return (__m256i)((__v16hi)__a > (__v16hi)__b);
|
|
@@ -791,7 +772,7 @@ _mm256_cmpgt_epi16(__m256i __a, __m256i __b)
|
|
|
791
772
|
/// \param __b
|
|
792
773
|
/// A 256-bit vector of [8 x i32] containing one of the inputs.
|
|
793
774
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
794
|
-
static __inline__ __m256i
|
|
775
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
795
776
|
_mm256_cmpgt_epi32(__m256i __a, __m256i __b)
|
|
796
777
|
{
|
|
797
778
|
return (__m256i)((__v8si)__a > (__v8si)__b);
|
|
@@ -817,7 +798,7 @@ _mm256_cmpgt_epi32(__m256i __a, __m256i __b)
|
|
|
817
798
|
/// \param __b
|
|
818
799
|
/// A 256-bit vector of [4 x i64] containing one of the inputs.
|
|
819
800
|
/// \returns A 256-bit vector of [4 x i64] containing the result.
|
|
820
|
-
static __inline__ __m256i
|
|
801
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
821
802
|
_mm256_cmpgt_epi64(__m256i __a, __m256i __b)
|
|
822
803
|
{
|
|
823
804
|
return (__m256i)((__v4di)__a > (__v4di)__b);
|
|
@@ -853,10 +834,9 @@ _mm256_cmpgt_epi64(__m256i __a, __m256i __b)
|
|
|
853
834
|
/// \param __b
|
|
854
835
|
/// A 256-bit vector of [16 x i16] containing one of the source operands.
|
|
855
836
|
/// \returns A 256-bit vector of [16 x i16] containing the sums.
|
|
856
|
-
static __inline__ __m256i
|
|
857
|
-
_mm256_hadd_epi16(__m256i __a, __m256i __b)
|
|
858
|
-
|
|
859
|
-
return (__m256i)__builtin_ia32_phaddw256((__v16hi)__a, (__v16hi)__b);
|
|
837
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
838
|
+
_mm256_hadd_epi16(__m256i __a, __m256i __b) {
|
|
839
|
+
return (__m256i)__builtin_ia32_phaddw256((__v16hi)__a, (__v16hi)__b);
|
|
860
840
|
}
|
|
861
841
|
|
|
862
842
|
/// Horizontally adds the adjacent pairs of 32-bit integers from two 256-bit
|
|
@@ -885,10 +865,9 @@ _mm256_hadd_epi16(__m256i __a, __m256i __b)
|
|
|
885
865
|
/// \param __b
|
|
886
866
|
/// A 256-bit vector of [8 x i32] containing one of the source operands.
|
|
887
867
|
/// \returns A 256-bit vector of [8 x i32] containing the sums.
|
|
888
|
-
static __inline__ __m256i
|
|
889
|
-
_mm256_hadd_epi32(__m256i __a, __m256i __b)
|
|
890
|
-
|
|
891
|
-
return (__m256i)__builtin_ia32_phaddd256((__v8si)__a, (__v8si)__b);
|
|
868
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
869
|
+
_mm256_hadd_epi32(__m256i __a, __m256i __b) {
|
|
870
|
+
return (__m256i)__builtin_ia32_phaddd256((__v8si)__a, (__v8si)__b);
|
|
892
871
|
}
|
|
893
872
|
|
|
894
873
|
/// Horizontally adds the adjacent pairs of 16-bit integers from two 256-bit
|
|
@@ -920,10 +899,9 @@ _mm256_hadd_epi32(__m256i __a, __m256i __b)
|
|
|
920
899
|
/// \param __b
|
|
921
900
|
/// A 256-bit vector of [16 x i16] containing one of the source operands.
|
|
922
901
|
/// \returns A 256-bit vector of [16 x i16] containing the sums.
|
|
923
|
-
static __inline__ __m256i
|
|
924
|
-
_mm256_hadds_epi16(__m256i __a, __m256i __b)
|
|
925
|
-
|
|
926
|
-
return (__m256i)__builtin_ia32_phaddsw256((__v16hi)__a, (__v16hi)__b);
|
|
902
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
903
|
+
_mm256_hadds_epi16(__m256i __a, __m256i __b) {
|
|
904
|
+
return (__m256i)__builtin_ia32_phaddsw256((__v16hi)__a, (__v16hi)__b);
|
|
927
905
|
}
|
|
928
906
|
|
|
929
907
|
/// Horizontally subtracts adjacent pairs of 16-bit integers from two 256-bit
|
|
@@ -956,10 +934,9 @@ _mm256_hadds_epi16(__m256i __a, __m256i __b)
|
|
|
956
934
|
/// \param __b
|
|
957
935
|
/// A 256-bit vector of [16 x i16] containing one of the source operands.
|
|
958
936
|
/// \returns A 256-bit vector of [16 x i16] containing the differences.
|
|
959
|
-
static __inline__ __m256i
|
|
960
|
-
_mm256_hsub_epi16(__m256i __a, __m256i __b)
|
|
961
|
-
|
|
962
|
-
return (__m256i)__builtin_ia32_phsubw256((__v16hi)__a, (__v16hi)__b);
|
|
937
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
938
|
+
_mm256_hsub_epi16(__m256i __a, __m256i __b) {
|
|
939
|
+
return (__m256i)__builtin_ia32_phsubw256((__v16hi)__a, (__v16hi)__b);
|
|
963
940
|
}
|
|
964
941
|
|
|
965
942
|
/// Horizontally subtracts adjacent pairs of 32-bit integers from two 256-bit
|
|
@@ -988,10 +965,9 @@ _mm256_hsub_epi16(__m256i __a, __m256i __b)
|
|
|
988
965
|
/// \param __b
|
|
989
966
|
/// A 256-bit vector of [8 x i32] containing one of the source operands.
|
|
990
967
|
/// \returns A 256-bit vector of [8 x i32] containing the differences.
|
|
991
|
-
static __inline__ __m256i
|
|
992
|
-
_mm256_hsub_epi32(__m256i __a, __m256i __b)
|
|
993
|
-
|
|
994
|
-
return (__m256i)__builtin_ia32_phsubd256((__v8si)__a, (__v8si)__b);
|
|
968
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
969
|
+
_mm256_hsub_epi32(__m256i __a, __m256i __b) {
|
|
970
|
+
return (__m256i)__builtin_ia32_phsubd256((__v8si)__a, (__v8si)__b);
|
|
995
971
|
}
|
|
996
972
|
|
|
997
973
|
/// Horizontally subtracts adjacent pairs of 16-bit integers from two 256-bit
|
|
@@ -1024,10 +1000,9 @@ _mm256_hsub_epi32(__m256i __a, __m256i __b)
|
|
|
1024
1000
|
/// \param __b
|
|
1025
1001
|
/// A 256-bit vector of [16 x i16] containing one of the source operands.
|
|
1026
1002
|
/// \returns A 256-bit vector of [16 x i16] containing the differences.
|
|
1027
|
-
static __inline__ __m256i
|
|
1028
|
-
_mm256_hsubs_epi16(__m256i __a, __m256i __b)
|
|
1029
|
-
|
|
1030
|
-
return (__m256i)__builtin_ia32_phsubsw256((__v16hi)__a, (__v16hi)__b);
|
|
1003
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1004
|
+
_mm256_hsubs_epi16(__m256i __a, __m256i __b) {
|
|
1005
|
+
return (__m256i)__builtin_ia32_phsubsw256((__v16hi)__a, (__v16hi)__b);
|
|
1031
1006
|
}
|
|
1032
1007
|
|
|
1033
1008
|
/// Multiplies each unsigned byte from the 256-bit integer vector in \a __a
|
|
@@ -1054,10 +1029,9 @@ _mm256_hsubs_epi16(__m256i __a, __m256i __b)
|
|
|
1054
1029
|
/// \param __b
|
|
1055
1030
|
/// A 256-bit vector containing one of the source operands.
|
|
1056
1031
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
1057
|
-
static __inline__ __m256i
|
|
1058
|
-
_mm256_maddubs_epi16(__m256i __a, __m256i __b)
|
|
1059
|
-
|
|
1060
|
-
return (__m256i)__builtin_ia32_pmaddubsw256((__v32qi)__a, (__v32qi)__b);
|
|
1032
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1033
|
+
_mm256_maddubs_epi16(__m256i __a, __m256i __b) {
|
|
1034
|
+
return (__m256i)__builtin_ia32_pmaddubsw256((__v32qi)__a, (__v32qi)__b);
|
|
1061
1035
|
}
|
|
1062
1036
|
|
|
1063
1037
|
/// Multiplies corresponding 16-bit elements of two 256-bit vectors of
|
|
@@ -1086,9 +1060,8 @@ _mm256_maddubs_epi16(__m256i __a, __m256i __b)
|
|
|
1086
1060
|
/// \param __b
|
|
1087
1061
|
/// A 256-bit vector of [16 x i16] containing one of the source operands.
|
|
1088
1062
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
1089
|
-
static __inline__ __m256i
|
|
1090
|
-
_mm256_madd_epi16(__m256i __a, __m256i __b)
|
|
1091
|
-
{
|
|
1063
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1064
|
+
_mm256_madd_epi16(__m256i __a, __m256i __b) {
|
|
1092
1065
|
return (__m256i)__builtin_ia32_pmaddwd256((__v16hi)__a, (__v16hi)__b);
|
|
1093
1066
|
}
|
|
1094
1067
|
|
|
@@ -1105,9 +1078,8 @@ _mm256_madd_epi16(__m256i __a, __m256i __b)
|
|
|
1105
1078
|
/// \param __b
|
|
1106
1079
|
/// A 256-bit integer vector.
|
|
1107
1080
|
/// \returns A 256-bit integer vector containing the result.
|
|
1108
|
-
static __inline__ __m256i
|
|
1109
|
-
_mm256_max_epi8(__m256i __a, __m256i __b)
|
|
1110
|
-
{
|
|
1081
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1082
|
+
_mm256_max_epi8(__m256i __a, __m256i __b) {
|
|
1111
1083
|
return (__m256i)__builtin_elementwise_max((__v32qs)__a, (__v32qs)__b);
|
|
1112
1084
|
}
|
|
1113
1085
|
|
|
@@ -1124,9 +1096,8 @@ _mm256_max_epi8(__m256i __a, __m256i __b)
|
|
|
1124
1096
|
/// \param __b
|
|
1125
1097
|
/// A 256-bit vector of [16 x i16].
|
|
1126
1098
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
1127
|
-
static __inline__ __m256i
|
|
1128
|
-
_mm256_max_epi16(__m256i __a, __m256i __b)
|
|
1129
|
-
{
|
|
1099
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1100
|
+
_mm256_max_epi16(__m256i __a, __m256i __b) {
|
|
1130
1101
|
return (__m256i)__builtin_elementwise_max((__v16hi)__a, (__v16hi)__b);
|
|
1131
1102
|
}
|
|
1132
1103
|
|
|
@@ -1143,9 +1114,8 @@ _mm256_max_epi16(__m256i __a, __m256i __b)
|
|
|
1143
1114
|
/// \param __b
|
|
1144
1115
|
/// A 256-bit vector of [8 x i32].
|
|
1145
1116
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
1146
|
-
static __inline__ __m256i
|
|
1147
|
-
_mm256_max_epi32(__m256i __a, __m256i __b)
|
|
1148
|
-
{
|
|
1117
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1118
|
+
_mm256_max_epi32(__m256i __a, __m256i __b) {
|
|
1149
1119
|
return (__m256i)__builtin_elementwise_max((__v8si)__a, (__v8si)__b);
|
|
1150
1120
|
}
|
|
1151
1121
|
|
|
@@ -1162,9 +1132,8 @@ _mm256_max_epi32(__m256i __a, __m256i __b)
|
|
|
1162
1132
|
/// \param __b
|
|
1163
1133
|
/// A 256-bit integer vector.
|
|
1164
1134
|
/// \returns A 256-bit integer vector containing the result.
|
|
1165
|
-
static __inline__ __m256i
|
|
1166
|
-
_mm256_max_epu8(__m256i __a, __m256i __b)
|
|
1167
|
-
{
|
|
1135
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1136
|
+
_mm256_max_epu8(__m256i __a, __m256i __b) {
|
|
1168
1137
|
return (__m256i)__builtin_elementwise_max((__v32qu)__a, (__v32qu)__b);
|
|
1169
1138
|
}
|
|
1170
1139
|
|
|
@@ -1181,9 +1150,8 @@ _mm256_max_epu8(__m256i __a, __m256i __b)
|
|
|
1181
1150
|
/// \param __b
|
|
1182
1151
|
/// A 256-bit vector of [16 x i16].
|
|
1183
1152
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
1184
|
-
static __inline__ __m256i
|
|
1185
|
-
_mm256_max_epu16(__m256i __a, __m256i __b)
|
|
1186
|
-
{
|
|
1153
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1154
|
+
_mm256_max_epu16(__m256i __a, __m256i __b) {
|
|
1187
1155
|
return (__m256i)__builtin_elementwise_max((__v16hu)__a, (__v16hu)__b);
|
|
1188
1156
|
}
|
|
1189
1157
|
|
|
@@ -1200,9 +1168,8 @@ _mm256_max_epu16(__m256i __a, __m256i __b)
|
|
|
1200
1168
|
/// \param __b
|
|
1201
1169
|
/// A 256-bit vector of [8 x i32].
|
|
1202
1170
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
1203
|
-
static __inline__ __m256i
|
|
1204
|
-
_mm256_max_epu32(__m256i __a, __m256i __b)
|
|
1205
|
-
{
|
|
1171
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1172
|
+
_mm256_max_epu32(__m256i __a, __m256i __b) {
|
|
1206
1173
|
return (__m256i)__builtin_elementwise_max((__v8su)__a, (__v8su)__b);
|
|
1207
1174
|
}
|
|
1208
1175
|
|
|
@@ -1219,9 +1186,8 @@ _mm256_max_epu32(__m256i __a, __m256i __b)
|
|
|
1219
1186
|
/// \param __b
|
|
1220
1187
|
/// A 256-bit integer vector.
|
|
1221
1188
|
/// \returns A 256-bit integer vector containing the result.
|
|
1222
|
-
static __inline__ __m256i
|
|
1223
|
-
_mm256_min_epi8(__m256i __a, __m256i __b)
|
|
1224
|
-
{
|
|
1189
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1190
|
+
_mm256_min_epi8(__m256i __a, __m256i __b) {
|
|
1225
1191
|
return (__m256i)__builtin_elementwise_min((__v32qs)__a, (__v32qs)__b);
|
|
1226
1192
|
}
|
|
1227
1193
|
|
|
@@ -1238,9 +1204,8 @@ _mm256_min_epi8(__m256i __a, __m256i __b)
|
|
|
1238
1204
|
/// \param __b
|
|
1239
1205
|
/// A 256-bit vector of [16 x i16].
|
|
1240
1206
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
1241
|
-
static __inline__ __m256i
|
|
1242
|
-
_mm256_min_epi16(__m256i __a, __m256i __b)
|
|
1243
|
-
{
|
|
1207
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1208
|
+
_mm256_min_epi16(__m256i __a, __m256i __b) {
|
|
1244
1209
|
return (__m256i)__builtin_elementwise_min((__v16hi)__a, (__v16hi)__b);
|
|
1245
1210
|
}
|
|
1246
1211
|
|
|
@@ -1257,9 +1222,8 @@ _mm256_min_epi16(__m256i __a, __m256i __b)
|
|
|
1257
1222
|
/// \param __b
|
|
1258
1223
|
/// A 256-bit vector of [8 x i32].
|
|
1259
1224
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
1260
|
-
static __inline__ __m256i
|
|
1261
|
-
_mm256_min_epi32(__m256i __a, __m256i __b)
|
|
1262
|
-
{
|
|
1225
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1226
|
+
_mm256_min_epi32(__m256i __a, __m256i __b) {
|
|
1263
1227
|
return (__m256i)__builtin_elementwise_min((__v8si)__a, (__v8si)__b);
|
|
1264
1228
|
}
|
|
1265
1229
|
|
|
@@ -1276,9 +1240,8 @@ _mm256_min_epi32(__m256i __a, __m256i __b)
|
|
|
1276
1240
|
/// \param __b
|
|
1277
1241
|
/// A 256-bit integer vector.
|
|
1278
1242
|
/// \returns A 256-bit integer vector containing the result.
|
|
1279
|
-
static __inline__ __m256i
|
|
1280
|
-
_mm256_min_epu8(__m256i __a, __m256i __b)
|
|
1281
|
-
{
|
|
1243
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1244
|
+
_mm256_min_epu8(__m256i __a, __m256i __b) {
|
|
1282
1245
|
return (__m256i)__builtin_elementwise_min((__v32qu)__a, (__v32qu)__b);
|
|
1283
1246
|
}
|
|
1284
1247
|
|
|
@@ -1295,9 +1258,8 @@ _mm256_min_epu8(__m256i __a, __m256i __b)
|
|
|
1295
1258
|
/// \param __b
|
|
1296
1259
|
/// A 256-bit vector of [16 x i16].
|
|
1297
1260
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
1298
|
-
static __inline__ __m256i
|
|
1299
|
-
_mm256_min_epu16(__m256i __a, __m256i __b)
|
|
1300
|
-
{
|
|
1261
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1262
|
+
_mm256_min_epu16(__m256i __a, __m256i __b) {
|
|
1301
1263
|
return (__m256i)__builtin_elementwise_min((__v16hu)__a, (__v16hu)__b);
|
|
1302
1264
|
}
|
|
1303
1265
|
|
|
@@ -1314,9 +1276,8 @@ _mm256_min_epu16(__m256i __a, __m256i __b)
|
|
|
1314
1276
|
/// \param __b
|
|
1315
1277
|
/// A 256-bit vector of [8 x i32].
|
|
1316
1278
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
1317
|
-
static __inline__ __m256i
|
|
1318
|
-
_mm256_min_epu32(__m256i __a, __m256i __b)
|
|
1319
|
-
{
|
|
1279
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1280
|
+
_mm256_min_epu32(__m256i __a, __m256i __b) {
|
|
1320
1281
|
return (__m256i)__builtin_elementwise_min((__v8su)__a, (__v8su)__b);
|
|
1321
1282
|
}
|
|
1322
1283
|
|
|
@@ -1337,9 +1298,8 @@ _mm256_min_epu32(__m256i __a, __m256i __b)
|
|
|
1337
1298
|
/// \param __a
|
|
1338
1299
|
/// A 256-bit integer vector containing the source bytes.
|
|
1339
1300
|
/// \returns The 32-bit integer mask.
|
|
1340
|
-
static __inline__ int
|
|
1341
|
-
_mm256_movemask_epi8(__m256i __a)
|
|
1342
|
-
{
|
|
1301
|
+
static __inline__ int __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1302
|
+
_mm256_movemask_epi8(__m256i __a) {
|
|
1343
1303
|
return __builtin_ia32_pmovmskb256((__v32qi)__a);
|
|
1344
1304
|
}
|
|
1345
1305
|
|
|
@@ -1363,9 +1323,8 @@ _mm256_movemask_epi8(__m256i __a)
|
|
|
1363
1323
|
/// A 128-bit integer vector containing the source bytes.
|
|
1364
1324
|
/// \returns A 256-bit vector of [16 x i16] containing the sign-extended
|
|
1365
1325
|
/// values.
|
|
1366
|
-
static __inline__ __m256i
|
|
1367
|
-
_mm256_cvtepi8_epi16(__m128i __V)
|
|
1368
|
-
{
|
|
1326
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1327
|
+
_mm256_cvtepi8_epi16(__m128i __V) {
|
|
1369
1328
|
/* This function always performs a signed extension, but __v16qi is a char
|
|
1370
1329
|
which may be signed or unsigned, so use __v16qs. */
|
|
1371
1330
|
return (__m256i)__builtin_convertvector((__v16qs)__V, __v16hi);
|
|
@@ -1391,9 +1350,8 @@ _mm256_cvtepi8_epi16(__m128i __V)
|
|
|
1391
1350
|
/// A 128-bit integer vector containing the source bytes.
|
|
1392
1351
|
/// \returns A 256-bit vector of [8 x i32] containing the sign-extended
|
|
1393
1352
|
/// values.
|
|
1394
|
-
static __inline__ __m256i
|
|
1395
|
-
_mm256_cvtepi8_epi32(__m128i __V)
|
|
1396
|
-
{
|
|
1353
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1354
|
+
_mm256_cvtepi8_epi32(__m128i __V) {
|
|
1397
1355
|
/* This function always performs a signed extension, but __v16qi is a char
|
|
1398
1356
|
which may be signed or unsigned, so use __v16qs. */
|
|
1399
1357
|
return (__m256i)__builtin_convertvector(__builtin_shufflevector((__v16qs)__V, (__v16qs)__V, 0, 1, 2, 3, 4, 5, 6, 7), __v8si);
|
|
@@ -1418,9 +1376,8 @@ _mm256_cvtepi8_epi32(__m128i __V)
|
|
|
1418
1376
|
/// A 128-bit integer vector containing the source bytes.
|
|
1419
1377
|
/// \returns A 256-bit vector of [4 x i64] containing the sign-extended
|
|
1420
1378
|
/// values.
|
|
1421
|
-
static __inline__ __m256i
|
|
1422
|
-
_mm256_cvtepi8_epi64(__m128i __V)
|
|
1423
|
-
{
|
|
1379
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1380
|
+
_mm256_cvtepi8_epi64(__m128i __V) {
|
|
1424
1381
|
/* This function always performs a signed extension, but __v16qi is a char
|
|
1425
1382
|
which may be signed or unsigned, so use __v16qs. */
|
|
1426
1383
|
return (__m256i)__builtin_convertvector(__builtin_shufflevector((__v16qs)__V, (__v16qs)__V, 0, 1, 2, 3), __v4di);
|
|
@@ -1446,9 +1403,8 @@ _mm256_cvtepi8_epi64(__m128i __V)
|
|
|
1446
1403
|
/// A 128-bit vector of [8 x i16] containing the source values.
|
|
1447
1404
|
/// \returns A 256-bit vector of [8 x i32] containing the sign-extended
|
|
1448
1405
|
/// values.
|
|
1449
|
-
static __inline__ __m256i
|
|
1450
|
-
_mm256_cvtepi16_epi32(__m128i __V)
|
|
1451
|
-
{
|
|
1406
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1407
|
+
_mm256_cvtepi16_epi32(__m128i __V) {
|
|
1452
1408
|
return (__m256i)__builtin_convertvector((__v8hi)__V, __v8si);
|
|
1453
1409
|
}
|
|
1454
1410
|
|
|
@@ -1471,9 +1427,8 @@ _mm256_cvtepi16_epi32(__m128i __V)
|
|
|
1471
1427
|
/// A 128-bit vector of [8 x i16] containing the source values.
|
|
1472
1428
|
/// \returns A 256-bit vector of [4 x i64] containing the sign-extended
|
|
1473
1429
|
/// values.
|
|
1474
|
-
static __inline__ __m256i
|
|
1475
|
-
_mm256_cvtepi16_epi64(__m128i __V)
|
|
1476
|
-
{
|
|
1430
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1431
|
+
_mm256_cvtepi16_epi64(__m128i __V) {
|
|
1477
1432
|
return (__m256i)__builtin_convertvector(__builtin_shufflevector((__v8hi)__V, (__v8hi)__V, 0, 1, 2, 3), __v4di);
|
|
1478
1433
|
}
|
|
1479
1434
|
|
|
@@ -1496,9 +1451,8 @@ _mm256_cvtepi16_epi64(__m128i __V)
|
|
|
1496
1451
|
/// A 128-bit vector of [4 x i32] containing the source values.
|
|
1497
1452
|
/// \returns A 256-bit vector of [4 x i64] containing the sign-extended
|
|
1498
1453
|
/// values.
|
|
1499
|
-
static __inline__ __m256i
|
|
1500
|
-
_mm256_cvtepi32_epi64(__m128i __V)
|
|
1501
|
-
{
|
|
1454
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1455
|
+
_mm256_cvtepi32_epi64(__m128i __V) {
|
|
1502
1456
|
return (__m256i)__builtin_convertvector((__v4si)__V, __v4di);
|
|
1503
1457
|
}
|
|
1504
1458
|
|
|
@@ -1522,9 +1476,8 @@ _mm256_cvtepi32_epi64(__m128i __V)
|
|
|
1522
1476
|
/// A 128-bit integer vector containing the source bytes.
|
|
1523
1477
|
/// \returns A 256-bit vector of [16 x i16] containing the zero-extended
|
|
1524
1478
|
/// values.
|
|
1525
|
-
static __inline__ __m256i
|
|
1526
|
-
_mm256_cvtepu8_epi16(__m128i __V)
|
|
1527
|
-
{
|
|
1479
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1480
|
+
_mm256_cvtepu8_epi16(__m128i __V) {
|
|
1528
1481
|
return (__m256i)__builtin_convertvector((__v16qu)__V, __v16hi);
|
|
1529
1482
|
}
|
|
1530
1483
|
|
|
@@ -1548,9 +1501,8 @@ _mm256_cvtepu8_epi16(__m128i __V)
|
|
|
1548
1501
|
/// A 128-bit integer vector containing the source bytes.
|
|
1549
1502
|
/// \returns A 256-bit vector of [8 x i32] containing the zero-extended
|
|
1550
1503
|
/// values.
|
|
1551
|
-
static __inline__ __m256i
|
|
1552
|
-
_mm256_cvtepu8_epi32(__m128i __V)
|
|
1553
|
-
{
|
|
1504
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1505
|
+
_mm256_cvtepu8_epi32(__m128i __V) {
|
|
1554
1506
|
return (__m256i)__builtin_convertvector(__builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1, 2, 3, 4, 5, 6, 7), __v8si);
|
|
1555
1507
|
}
|
|
1556
1508
|
|
|
@@ -1573,9 +1525,8 @@ _mm256_cvtepu8_epi32(__m128i __V)
|
|
|
1573
1525
|
/// A 128-bit integer vector containing the source bytes.
|
|
1574
1526
|
/// \returns A 256-bit vector of [4 x i64] containing the zero-extended
|
|
1575
1527
|
/// values.
|
|
1576
|
-
static __inline__ __m256i
|
|
1577
|
-
_mm256_cvtepu8_epi64(__m128i __V)
|
|
1578
|
-
{
|
|
1528
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1529
|
+
_mm256_cvtepu8_epi64(__m128i __V) {
|
|
1579
1530
|
return (__m256i)__builtin_convertvector(__builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1, 2, 3), __v4di);
|
|
1580
1531
|
}
|
|
1581
1532
|
|
|
@@ -1599,9 +1550,8 @@ _mm256_cvtepu8_epi64(__m128i __V)
|
|
|
1599
1550
|
/// A 128-bit vector of [8 x i16] containing the source values.
|
|
1600
1551
|
/// \returns A 256-bit vector of [8 x i32] containing the zero-extended
|
|
1601
1552
|
/// values.
|
|
1602
|
-
static __inline__ __m256i
|
|
1603
|
-
_mm256_cvtepu16_epi32(__m128i __V)
|
|
1604
|
-
{
|
|
1553
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1554
|
+
_mm256_cvtepu16_epi32(__m128i __V) {
|
|
1605
1555
|
return (__m256i)__builtin_convertvector((__v8hu)__V, __v8si);
|
|
1606
1556
|
}
|
|
1607
1557
|
|
|
@@ -1624,9 +1574,8 @@ _mm256_cvtepu16_epi32(__m128i __V)
|
|
|
1624
1574
|
/// A 128-bit vector of [8 x i16] containing the source values.
|
|
1625
1575
|
/// \returns A 256-bit vector of [4 x i64] containing the zero-extended
|
|
1626
1576
|
/// values.
|
|
1627
|
-
static __inline__ __m256i
|
|
1628
|
-
_mm256_cvtepu16_epi64(__m128i __V)
|
|
1629
|
-
{
|
|
1577
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1578
|
+
_mm256_cvtepu16_epi64(__m128i __V) {
|
|
1630
1579
|
return (__m256i)__builtin_convertvector(__builtin_shufflevector((__v8hu)__V, (__v8hu)__V, 0, 1, 2, 3), __v4di);
|
|
1631
1580
|
}
|
|
1632
1581
|
|
|
@@ -1649,9 +1598,8 @@ _mm256_cvtepu16_epi64(__m128i __V)
|
|
|
1649
1598
|
/// A 128-bit vector of [4 x i32] containing the source values.
|
|
1650
1599
|
/// \returns A 256-bit vector of [4 x i64] containing the zero-extended
|
|
1651
1600
|
/// values.
|
|
1652
|
-
static __inline__ __m256i
|
|
1653
|
-
_mm256_cvtepu32_epi64(__m128i __V)
|
|
1654
|
-
{
|
|
1601
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1602
|
+
_mm256_cvtepu32_epi64(__m128i __V) {
|
|
1655
1603
|
return (__m256i)__builtin_convertvector((__v4su)__V, __v4di);
|
|
1656
1604
|
}
|
|
1657
1605
|
|
|
@@ -1675,9 +1623,8 @@ _mm256_cvtepu32_epi64(__m128i __V)
|
|
|
1675
1623
|
/// \param __b
|
|
1676
1624
|
/// A 256-bit vector of [8 x i32] containing one of the source operands.
|
|
1677
1625
|
/// \returns A 256-bit vector of [4 x i64] containing the products.
|
|
1678
|
-
static __inline__
|
|
1679
|
-
_mm256_mul_epi32(__m256i __a, __m256i __b)
|
|
1680
|
-
{
|
|
1626
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1627
|
+
_mm256_mul_epi32(__m256i __a, __m256i __b) {
|
|
1681
1628
|
return (__m256i)__builtin_ia32_pmuldq256((__v8si)__a, (__v8si)__b);
|
|
1682
1629
|
}
|
|
1683
1630
|
|
|
@@ -1702,9 +1649,8 @@ _mm256_mul_epi32(__m256i __a, __m256i __b)
|
|
|
1702
1649
|
/// \param __b
|
|
1703
1650
|
/// A 256-bit vector of [16 x i16] containing one of the source operands.
|
|
1704
1651
|
/// \returns A 256-bit vector of [16 x i16] containing the rounded products.
|
|
1705
|
-
static __inline__ __m256i
|
|
1706
|
-
_mm256_mulhrs_epi16(__m256i __a, __m256i __b)
|
|
1707
|
-
{
|
|
1652
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1653
|
+
_mm256_mulhrs_epi16(__m256i __a, __m256i __b) {
|
|
1708
1654
|
return (__m256i)__builtin_ia32_pmulhrsw256((__v16hi)__a, (__v16hi)__b);
|
|
1709
1655
|
}
|
|
1710
1656
|
|
|
@@ -1721,10 +1667,9 @@ _mm256_mulhrs_epi16(__m256i __a, __m256i __b)
|
|
|
1721
1667
|
/// \param __b
|
|
1722
1668
|
/// A 256-bit vector of [16 x i16] containing one of the source operands.
|
|
1723
1669
|
/// \returns A 256-bit vector of [16 x i16] containing the products.
|
|
1724
|
-
static __inline__ __m256i
|
|
1725
|
-
_mm256_mulhi_epu16(__m256i __a, __m256i __b)
|
|
1726
|
-
|
|
1727
|
-
return (__m256i)__builtin_ia32_pmulhuw256((__v16hi)__a, (__v16hi)__b);
|
|
1670
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1671
|
+
_mm256_mulhi_epu16(__m256i __a, __m256i __b) {
|
|
1672
|
+
return (__m256i)__builtin_ia32_pmulhuw256((__v16hu)__a, (__v16hu)__b);
|
|
1728
1673
|
}
|
|
1729
1674
|
|
|
1730
1675
|
/// Multiplies signed 16-bit integer elements of two 256-bit vectors of
|
|
@@ -1740,7 +1685,7 @@ _mm256_mulhi_epu16(__m256i __a, __m256i __b)
|
|
|
1740
1685
|
/// \param __b
|
|
1741
1686
|
/// A 256-bit vector of [16 x i16] containing one of the source operands.
|
|
1742
1687
|
/// \returns A 256-bit vector of [16 x i16] containing the products.
|
|
1743
|
-
static __inline__ __m256i
|
|
1688
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1744
1689
|
_mm256_mulhi_epi16(__m256i __a, __m256i __b)
|
|
1745
1690
|
{
|
|
1746
1691
|
return (__m256i)__builtin_ia32_pmulhw256((__v16hi)__a, (__v16hi)__b);
|
|
@@ -1759,7 +1704,7 @@ _mm256_mulhi_epi16(__m256i __a, __m256i __b)
|
|
|
1759
1704
|
/// \param __b
|
|
1760
1705
|
/// A 256-bit vector of [16 x i16] containing one of the source operands.
|
|
1761
1706
|
/// \returns A 256-bit vector of [16 x i16] containing the products.
|
|
1762
|
-
static __inline__ __m256i
|
|
1707
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1763
1708
|
_mm256_mullo_epi16(__m256i __a, __m256i __b)
|
|
1764
1709
|
{
|
|
1765
1710
|
return (__m256i)((__v16hu)__a * (__v16hu)__b);
|
|
@@ -1778,9 +1723,8 @@ _mm256_mullo_epi16(__m256i __a, __m256i __b)
|
|
|
1778
1723
|
/// \param __b
|
|
1779
1724
|
/// A 256-bit vector of [8 x i32] containing one of the source operands.
|
|
1780
1725
|
/// \returns A 256-bit vector of [8 x i32] containing the products.
|
|
1781
|
-
static __inline__
|
|
1782
|
-
_mm256_mullo_epi32
|
|
1783
|
-
{
|
|
1726
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1727
|
+
_mm256_mullo_epi32(__m256i __a, __m256i __b) {
|
|
1784
1728
|
return (__m256i)((__v8su)__a * (__v8su)__b);
|
|
1785
1729
|
}
|
|
1786
1730
|
|
|
@@ -1804,9 +1748,8 @@ _mm256_mullo_epi32 (__m256i __a, __m256i __b)
|
|
|
1804
1748
|
/// \param __b
|
|
1805
1749
|
/// A 256-bit vector of [8 x i32] containing one of the source operands.
|
|
1806
1750
|
/// \returns A 256-bit vector of [4 x i64] containing the products.
|
|
1807
|
-
static __inline__ __m256i
|
|
1808
|
-
_mm256_mul_epu32(__m256i __a, __m256i __b)
|
|
1809
|
-
{
|
|
1751
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1752
|
+
_mm256_mul_epu32(__m256i __a, __m256i __b) {
|
|
1810
1753
|
return __builtin_ia32_pmuludq256((__v8si)__a, (__v8si)__b);
|
|
1811
1754
|
}
|
|
1812
1755
|
|
|
@@ -1822,7 +1765,7 @@ _mm256_mul_epu32(__m256i __a, __m256i __b)
|
|
|
1822
1765
|
/// \param __b
|
|
1823
1766
|
/// A 256-bit integer vector.
|
|
1824
1767
|
/// \returns A 256-bit integer vector containing the result.
|
|
1825
|
-
static __inline__ __m256i
|
|
1768
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1826
1769
|
_mm256_or_si256(__m256i __a, __m256i __b)
|
|
1827
1770
|
{
|
|
1828
1771
|
return (__m256i)((__v4du)__a | (__v4du)__b);
|
|
@@ -1906,9 +1849,8 @@ _mm256_sad_epu8(__m256i __a, __m256i __b)
|
|
|
1906
1849
|
/// control byte specify the index (within the same 128-bit half) of \a __a
|
|
1907
1850
|
/// to copy to the result byte.
|
|
1908
1851
|
/// \returns A 256-bit integer vector containing the result.
|
|
1909
|
-
static __inline__ __m256i
|
|
1910
|
-
_mm256_shuffle_epi8(__m256i __a, __m256i __b)
|
|
1911
|
-
{
|
|
1852
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1853
|
+
_mm256_shuffle_epi8(__m256i __a, __m256i __b) {
|
|
1912
1854
|
return (__m256i)__builtin_ia32_pshufb256((__v32qi)__a, (__v32qi)__b);
|
|
1913
1855
|
}
|
|
1914
1856
|
|
|
@@ -2033,10 +1975,9 @@ _mm256_shuffle_epi8(__m256i __a, __m256i __b)
|
|
|
2033
1975
|
/// \param __b
|
|
2034
1976
|
/// A 256-bit integer vector].
|
|
2035
1977
|
/// \returns A 256-bit integer vector containing the result.
|
|
2036
|
-
static __inline__ __m256i
|
|
2037
|
-
_mm256_sign_epi8(__m256i __a, __m256i __b)
|
|
2038
|
-
|
|
2039
|
-
return (__m256i)__builtin_ia32_psignb256((__v32qi)__a, (__v32qi)__b);
|
|
1978
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1979
|
+
_mm256_sign_epi8(__m256i __a, __m256i __b) {
|
|
1980
|
+
return (__m256i)__builtin_ia32_psignb256((__v32qi)__a, (__v32qi)__b);
|
|
2040
1981
|
}
|
|
2041
1982
|
|
|
2042
1983
|
/// Sets each element of the result to the corresponding element of the
|
|
@@ -2054,10 +1995,9 @@ _mm256_sign_epi8(__m256i __a, __m256i __b)
|
|
|
2054
1995
|
/// \param __b
|
|
2055
1996
|
/// A 256-bit vector of [16 x i16].
|
|
2056
1997
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
2057
|
-
static __inline__ __m256i
|
|
2058
|
-
_mm256_sign_epi16(__m256i __a, __m256i __b)
|
|
2059
|
-
|
|
2060
|
-
return (__m256i)__builtin_ia32_psignw256((__v16hi)__a, (__v16hi)__b);
|
|
1998
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
1999
|
+
_mm256_sign_epi16(__m256i __a, __m256i __b) {
|
|
2000
|
+
return (__m256i)__builtin_ia32_psignw256((__v16hi)__a, (__v16hi)__b);
|
|
2061
2001
|
}
|
|
2062
2002
|
|
|
2063
2003
|
/// Sets each element of the result to the corresponding element of the
|
|
@@ -2075,10 +2015,9 @@ _mm256_sign_epi16(__m256i __a, __m256i __b)
|
|
|
2075
2015
|
/// \param __b
|
|
2076
2016
|
/// A 256-bit vector of [8 x i32].
|
|
2077
2017
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
2078
|
-
static __inline__ __m256i
|
|
2079
|
-
_mm256_sign_epi32(__m256i __a, __m256i __b)
|
|
2080
|
-
|
|
2081
|
-
return (__m256i)__builtin_ia32_psignd256((__v8si)__a, (__v8si)__b);
|
|
2018
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2019
|
+
_mm256_sign_epi32(__m256i __a, __m256i __b) {
|
|
2020
|
+
return (__m256i)__builtin_ia32_psignd256((__v8si)__a, (__v8si)__b);
|
|
2082
2021
|
}
|
|
2083
2022
|
|
|
2084
2023
|
/// Shifts each 128-bit half of the 256-bit integer vector \a a left by
|
|
@@ -2098,8 +2037,9 @@ _mm256_sign_epi32(__m256i __a, __m256i __b)
|
|
|
2098
2037
|
/// \param imm
|
|
2099
2038
|
/// An unsigned immediate value specifying the shift count (in bytes).
|
|
2100
2039
|
/// \returns A 256-bit integer vector containing the result.
|
|
2101
|
-
#define _mm256_slli_si256(a, imm)
|
|
2102
|
-
((__m256i)__builtin_ia32_pslldqi256_byteshift((
|
|
2040
|
+
#define _mm256_slli_si256(a, imm) \
|
|
2041
|
+
((__m256i)__builtin_ia32_pslldqi256_byteshift((__v32qi)(__m256i)(a), \
|
|
2042
|
+
(int)(imm)))
|
|
2103
2043
|
|
|
2104
2044
|
/// Shifts each 128-bit half of the 256-bit integer vector \a a left by
|
|
2105
2045
|
/// \a imm bytes, shifting in zero bytes, and returns the result. If \a imm
|
|
@@ -2118,8 +2058,9 @@ _mm256_sign_epi32(__m256i __a, __m256i __b)
|
|
|
2118
2058
|
/// \param imm
|
|
2119
2059
|
/// An unsigned immediate value specifying the shift count (in bytes).
|
|
2120
2060
|
/// \returns A 256-bit integer vector containing the result.
|
|
2121
|
-
#define _mm256_bslli_epi128(a, imm)
|
|
2122
|
-
((__m256i)__builtin_ia32_pslldqi256_byteshift((
|
|
2061
|
+
#define _mm256_bslli_epi128(a, imm) \
|
|
2062
|
+
((__m256i)__builtin_ia32_pslldqi256_byteshift((__v32qi)(__m256i)(a), \
|
|
2063
|
+
(int)(imm)))
|
|
2123
2064
|
|
|
2124
2065
|
/// Shifts each 16-bit element of the 256-bit vector of [16 x i16] in \a __a
|
|
2125
2066
|
/// left by \a __count bits, shifting in zero bits, and returns the result.
|
|
@@ -2134,9 +2075,8 @@ _mm256_sign_epi32(__m256i __a, __m256i __b)
|
|
|
2134
2075
|
/// \param __count
|
|
2135
2076
|
/// An unsigned integer value specifying the shift count (in bits).
|
|
2136
2077
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
2137
|
-
static __inline__ __m256i
|
|
2138
|
-
_mm256_slli_epi16(__m256i __a, int __count)
|
|
2139
|
-
{
|
|
2078
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2079
|
+
_mm256_slli_epi16(__m256i __a, int __count) {
|
|
2140
2080
|
return (__m256i)__builtin_ia32_psllwi256((__v16hi)__a, __count);
|
|
2141
2081
|
}
|
|
2142
2082
|
|
|
@@ -2155,9 +2095,8 @@ _mm256_slli_epi16(__m256i __a, int __count)
|
|
|
2155
2095
|
/// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
|
|
2156
2096
|
/// shift count (in bits). The upper element is ignored.
|
|
2157
2097
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
2158
|
-
static __inline__ __m256i
|
|
2159
|
-
_mm256_sll_epi16(__m256i __a, __m128i __count)
|
|
2160
|
-
{
|
|
2098
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2099
|
+
_mm256_sll_epi16(__m256i __a, __m128i __count) {
|
|
2161
2100
|
return (__m256i)__builtin_ia32_psllw256((__v16hi)__a, (__v8hi)__count);
|
|
2162
2101
|
}
|
|
2163
2102
|
|
|
@@ -2174,9 +2113,8 @@ _mm256_sll_epi16(__m256i __a, __m128i __count)
|
|
|
2174
2113
|
/// \param __count
|
|
2175
2114
|
/// An unsigned integer value specifying the shift count (in bits).
|
|
2176
2115
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
2177
|
-
static __inline__ __m256i
|
|
2178
|
-
_mm256_slli_epi32(__m256i __a, int __count)
|
|
2179
|
-
{
|
|
2116
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2117
|
+
_mm256_slli_epi32(__m256i __a, int __count) {
|
|
2180
2118
|
return (__m256i)__builtin_ia32_pslldi256((__v8si)__a, __count);
|
|
2181
2119
|
}
|
|
2182
2120
|
|
|
@@ -2195,9 +2133,8 @@ _mm256_slli_epi32(__m256i __a, int __count)
|
|
|
2195
2133
|
/// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
|
|
2196
2134
|
/// shift count (in bits). The upper element is ignored.
|
|
2197
2135
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
2198
|
-
static __inline__ __m256i
|
|
2199
|
-
_mm256_sll_epi32(__m256i __a, __m128i __count)
|
|
2200
|
-
{
|
|
2136
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2137
|
+
_mm256_sll_epi32(__m256i __a, __m128i __count) {
|
|
2201
2138
|
return (__m256i)__builtin_ia32_pslld256((__v8si)__a, (__v4si)__count);
|
|
2202
2139
|
}
|
|
2203
2140
|
|
|
@@ -2214,9 +2151,8 @@ _mm256_sll_epi32(__m256i __a, __m128i __count)
|
|
|
2214
2151
|
/// \param __count
|
|
2215
2152
|
/// An unsigned integer value specifying the shift count (in bits).
|
|
2216
2153
|
/// \returns A 256-bit vector of [4 x i64] containing the result.
|
|
2217
|
-
static __inline__ __m256i
|
|
2218
|
-
_mm256_slli_epi64(__m256i __a, int __count)
|
|
2219
|
-
{
|
|
2154
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2155
|
+
_mm256_slli_epi64(__m256i __a, int __count) {
|
|
2220
2156
|
return __builtin_ia32_psllqi256((__v4di)__a, __count);
|
|
2221
2157
|
}
|
|
2222
2158
|
|
|
@@ -2235,9 +2171,8 @@ _mm256_slli_epi64(__m256i __a, int __count)
|
|
|
2235
2171
|
/// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
|
|
2236
2172
|
/// shift count (in bits). The upper element is ignored.
|
|
2237
2173
|
/// \returns A 256-bit vector of [4 x i64] containing the result.
|
|
2238
|
-
static __inline__ __m256i
|
|
2239
|
-
_mm256_sll_epi64(__m256i __a, __m128i __count)
|
|
2240
|
-
{
|
|
2174
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2175
|
+
_mm256_sll_epi64(__m256i __a, __m128i __count) {
|
|
2241
2176
|
return __builtin_ia32_psllq256((__v4di)__a, __count);
|
|
2242
2177
|
}
|
|
2243
2178
|
|
|
@@ -2255,9 +2190,8 @@ _mm256_sll_epi64(__m256i __a, __m128i __count)
|
|
|
2255
2190
|
/// \param __count
|
|
2256
2191
|
/// An unsigned integer value specifying the shift count (in bits).
|
|
2257
2192
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
2258
|
-
static __inline__ __m256i
|
|
2259
|
-
_mm256_srai_epi16(__m256i __a, int __count)
|
|
2260
|
-
{
|
|
2193
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2194
|
+
_mm256_srai_epi16(__m256i __a, int __count) {
|
|
2261
2195
|
return (__m256i)__builtin_ia32_psrawi256((__v16hi)__a, __count);
|
|
2262
2196
|
}
|
|
2263
2197
|
|
|
@@ -2277,9 +2211,8 @@ _mm256_srai_epi16(__m256i __a, int __count)
|
|
|
2277
2211
|
/// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
|
|
2278
2212
|
/// shift count (in bits). The upper element is ignored.
|
|
2279
2213
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
2280
|
-
static __inline__ __m256i
|
|
2281
|
-
_mm256_sra_epi16(__m256i __a, __m128i __count)
|
|
2282
|
-
{
|
|
2214
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2215
|
+
_mm256_sra_epi16(__m256i __a, __m128i __count) {
|
|
2283
2216
|
return (__m256i)__builtin_ia32_psraw256((__v16hi)__a, (__v8hi)__count);
|
|
2284
2217
|
}
|
|
2285
2218
|
|
|
@@ -2297,9 +2230,8 @@ _mm256_sra_epi16(__m256i __a, __m128i __count)
|
|
|
2297
2230
|
/// \param __count
|
|
2298
2231
|
/// An unsigned integer value specifying the shift count (in bits).
|
|
2299
2232
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
2300
|
-
static __inline__ __m256i
|
|
2301
|
-
_mm256_srai_epi32(__m256i __a, int __count)
|
|
2302
|
-
{
|
|
2233
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2234
|
+
_mm256_srai_epi32(__m256i __a, int __count) {
|
|
2303
2235
|
return (__m256i)__builtin_ia32_psradi256((__v8si)__a, __count);
|
|
2304
2236
|
}
|
|
2305
2237
|
|
|
@@ -2319,9 +2251,8 @@ _mm256_srai_epi32(__m256i __a, int __count)
|
|
|
2319
2251
|
/// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
|
|
2320
2252
|
/// shift count (in bits). The upper element is ignored.
|
|
2321
2253
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
2322
|
-
static __inline__ __m256i
|
|
2323
|
-
_mm256_sra_epi32(__m256i __a, __m128i __count)
|
|
2324
|
-
{
|
|
2254
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2255
|
+
_mm256_sra_epi32(__m256i __a, __m128i __count) {
|
|
2325
2256
|
return (__m256i)__builtin_ia32_psrad256((__v8si)__a, (__v4si)__count);
|
|
2326
2257
|
}
|
|
2327
2258
|
|
|
@@ -2342,8 +2273,9 @@ _mm256_sra_epi32(__m256i __a, __m128i __count)
|
|
|
2342
2273
|
/// \param imm
|
|
2343
2274
|
/// An unsigned immediate value specifying the shift count (in bytes).
|
|
2344
2275
|
/// \returns A 256-bit integer vector containing the result.
|
|
2345
|
-
#define _mm256_srli_si256(a, imm)
|
|
2346
|
-
((__m256i)__builtin_ia32_psrldqi256_byteshift((__m256i)(a),
|
|
2276
|
+
#define _mm256_srli_si256(a, imm) \
|
|
2277
|
+
((__m256i)__builtin_ia32_psrldqi256_byteshift((__v32qi)(__m256i)(a), \
|
|
2278
|
+
(int)(imm)))
|
|
2347
2279
|
|
|
2348
2280
|
/// Shifts each 128-bit half of the 256-bit integer vector in \a a right by
|
|
2349
2281
|
/// \a imm bytes, shifting in zero bytes, and returns the result. If
|
|
@@ -2362,8 +2294,9 @@ _mm256_sra_epi32(__m256i __a, __m128i __count)
|
|
|
2362
2294
|
/// \param imm
|
|
2363
2295
|
/// An unsigned immediate value specifying the shift count (in bytes).
|
|
2364
2296
|
/// \returns A 256-bit integer vector containing the result.
|
|
2365
|
-
#define _mm256_bsrli_epi128(a, imm)
|
|
2366
|
-
((__m256i)__builtin_ia32_psrldqi256_byteshift((__m256i)(a),
|
|
2297
|
+
#define _mm256_bsrli_epi128(a, imm) \
|
|
2298
|
+
((__m256i)__builtin_ia32_psrldqi256_byteshift((__v32qi)(__m256i)(a), \
|
|
2299
|
+
(int)(imm)))
|
|
2367
2300
|
|
|
2368
2301
|
/// Shifts each 16-bit element of the 256-bit vector of [16 x i16] in \a __a
|
|
2369
2302
|
/// right by \a __count bits, shifting in zero bits, and returns the result.
|
|
@@ -2378,9 +2311,8 @@ _mm256_sra_epi32(__m256i __a, __m128i __count)
|
|
|
2378
2311
|
/// \param __count
|
|
2379
2312
|
/// An unsigned integer value specifying the shift count (in bits).
|
|
2380
2313
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
2381
|
-
static __inline__ __m256i
|
|
2382
|
-
_mm256_srli_epi16(__m256i __a, int __count)
|
|
2383
|
-
{
|
|
2314
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2315
|
+
_mm256_srli_epi16(__m256i __a, int __count) {
|
|
2384
2316
|
return (__m256i)__builtin_ia32_psrlwi256((__v16hi)__a, __count);
|
|
2385
2317
|
}
|
|
2386
2318
|
|
|
@@ -2399,9 +2331,8 @@ _mm256_srli_epi16(__m256i __a, int __count)
|
|
|
2399
2331
|
/// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
|
|
2400
2332
|
/// shift count (in bits). The upper element is ignored.
|
|
2401
2333
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
2402
|
-
static __inline__ __m256i
|
|
2403
|
-
_mm256_srl_epi16(__m256i __a, __m128i __count)
|
|
2404
|
-
{
|
|
2334
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2335
|
+
_mm256_srl_epi16(__m256i __a, __m128i __count) {
|
|
2405
2336
|
return (__m256i)__builtin_ia32_psrlw256((__v16hi)__a, (__v8hi)__count);
|
|
2406
2337
|
}
|
|
2407
2338
|
|
|
@@ -2418,9 +2349,8 @@ _mm256_srl_epi16(__m256i __a, __m128i __count)
|
|
|
2418
2349
|
/// \param __count
|
|
2419
2350
|
/// An unsigned integer value specifying the shift count (in bits).
|
|
2420
2351
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
2421
|
-
static __inline__ __m256i
|
|
2422
|
-
_mm256_srli_epi32(__m256i __a, int __count)
|
|
2423
|
-
{
|
|
2352
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2353
|
+
_mm256_srli_epi32(__m256i __a, int __count) {
|
|
2424
2354
|
return (__m256i)__builtin_ia32_psrldi256((__v8si)__a, __count);
|
|
2425
2355
|
}
|
|
2426
2356
|
|
|
@@ -2439,9 +2369,8 @@ _mm256_srli_epi32(__m256i __a, int __count)
|
|
|
2439
2369
|
/// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
|
|
2440
2370
|
/// shift count (in bits). The upper element is ignored.
|
|
2441
2371
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
2442
|
-
static __inline__ __m256i
|
|
2443
|
-
_mm256_srl_epi32(__m256i __a, __m128i __count)
|
|
2444
|
-
{
|
|
2372
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2373
|
+
_mm256_srl_epi32(__m256i __a, __m128i __count) {
|
|
2445
2374
|
return (__m256i)__builtin_ia32_psrld256((__v8si)__a, (__v4si)__count);
|
|
2446
2375
|
}
|
|
2447
2376
|
|
|
@@ -2458,9 +2387,8 @@ _mm256_srl_epi32(__m256i __a, __m128i __count)
|
|
|
2458
2387
|
/// \param __count
|
|
2459
2388
|
/// An unsigned integer value specifying the shift count (in bits).
|
|
2460
2389
|
/// \returns A 256-bit vector of [4 x i64] containing the result.
|
|
2461
|
-
static __inline__ __m256i
|
|
2462
|
-
_mm256_srli_epi64(__m256i __a, int __count)
|
|
2463
|
-
{
|
|
2390
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2391
|
+
_mm256_srli_epi64(__m256i __a, int __count) {
|
|
2464
2392
|
return __builtin_ia32_psrlqi256((__v4di)__a, __count);
|
|
2465
2393
|
}
|
|
2466
2394
|
|
|
@@ -2479,9 +2407,8 @@ _mm256_srli_epi64(__m256i __a, int __count)
|
|
|
2479
2407
|
/// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
|
|
2480
2408
|
/// shift count (in bits). The upper element is ignored.
|
|
2481
2409
|
/// \returns A 256-bit vector of [4 x i64] containing the result.
|
|
2482
|
-
static __inline__ __m256i
|
|
2483
|
-
_mm256_srl_epi64(__m256i __a, __m128i __count)
|
|
2484
|
-
{
|
|
2410
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2411
|
+
_mm256_srl_epi64(__m256i __a, __m128i __count) {
|
|
2485
2412
|
return __builtin_ia32_psrlq256((__v4di)__a, __count);
|
|
2486
2413
|
}
|
|
2487
2414
|
|
|
@@ -2506,9 +2433,8 @@ _mm256_srl_epi64(__m256i __a, __m128i __count)
|
|
|
2506
2433
|
/// \param __b
|
|
2507
2434
|
/// A 256-bit integer vector containing the subtrahends.
|
|
2508
2435
|
/// \returns A 256-bit integer vector containing the differences.
|
|
2509
|
-
static __inline__ __m256i
|
|
2510
|
-
_mm256_sub_epi8(__m256i __a, __m256i __b)
|
|
2511
|
-
{
|
|
2436
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2437
|
+
_mm256_sub_epi8(__m256i __a, __m256i __b) {
|
|
2512
2438
|
return (__m256i)((__v32qu)__a - (__v32qu)__b);
|
|
2513
2439
|
}
|
|
2514
2440
|
|
|
@@ -2533,9 +2459,8 @@ _mm256_sub_epi8(__m256i __a, __m256i __b)
|
|
|
2533
2459
|
/// \param __b
|
|
2534
2460
|
/// A 256-bit vector of [16 x i16] containing the subtrahends.
|
|
2535
2461
|
/// \returns A 256-bit vector of [16 x i16] containing the differences.
|
|
2536
|
-
static __inline__ __m256i
|
|
2537
|
-
_mm256_sub_epi16(__m256i __a, __m256i __b)
|
|
2538
|
-
{
|
|
2462
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2463
|
+
_mm256_sub_epi16(__m256i __a, __m256i __b) {
|
|
2539
2464
|
return (__m256i)((__v16hu)__a - (__v16hu)__b);
|
|
2540
2465
|
}
|
|
2541
2466
|
|
|
@@ -2559,9 +2484,8 @@ _mm256_sub_epi16(__m256i __a, __m256i __b)
|
|
|
2559
2484
|
/// \param __b
|
|
2560
2485
|
/// A 256-bit vector of [8 x i32] containing the subtrahends.
|
|
2561
2486
|
/// \returns A 256-bit vector of [8 x i32] containing the differences.
|
|
2562
|
-
static __inline__ __m256i
|
|
2563
|
-
_mm256_sub_epi32(__m256i __a, __m256i __b)
|
|
2564
|
-
{
|
|
2487
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2488
|
+
_mm256_sub_epi32(__m256i __a, __m256i __b) {
|
|
2565
2489
|
return (__m256i)((__v8su)__a - (__v8su)__b);
|
|
2566
2490
|
}
|
|
2567
2491
|
|
|
@@ -2585,9 +2509,8 @@ _mm256_sub_epi32(__m256i __a, __m256i __b)
|
|
|
2585
2509
|
/// \param __b
|
|
2586
2510
|
/// A 256-bit vector of [4 x i64] containing the subtrahends.
|
|
2587
2511
|
/// \returns A 256-bit vector of [4 x i64] containing the differences.
|
|
2588
|
-
static __inline__ __m256i
|
|
2589
|
-
_mm256_sub_epi64(__m256i __a, __m256i __b)
|
|
2590
|
-
{
|
|
2512
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2513
|
+
_mm256_sub_epi64(__m256i __a, __m256i __b) {
|
|
2591
2514
|
return (__m256i)((__v4du)__a - (__v4du)__b);
|
|
2592
2515
|
}
|
|
2593
2516
|
|
|
@@ -2611,9 +2534,8 @@ _mm256_sub_epi64(__m256i __a, __m256i __b)
|
|
|
2611
2534
|
/// \param __b
|
|
2612
2535
|
/// A 256-bit integer vector containing the subtrahends.
|
|
2613
2536
|
/// \returns A 256-bit integer vector containing the differences.
|
|
2614
|
-
static __inline__ __m256i
|
|
2615
|
-
_mm256_subs_epi8(__m256i __a, __m256i __b)
|
|
2616
|
-
{
|
|
2537
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2538
|
+
_mm256_subs_epi8(__m256i __a, __m256i __b) {
|
|
2617
2539
|
return (__m256i)__builtin_elementwise_sub_sat((__v32qs)__a, (__v32qs)__b);
|
|
2618
2540
|
}
|
|
2619
2541
|
|
|
@@ -2637,9 +2559,8 @@ _mm256_subs_epi8(__m256i __a, __m256i __b)
|
|
|
2637
2559
|
/// \param __b
|
|
2638
2560
|
/// A 256-bit vector of [16 x i16] containing the subtrahends.
|
|
2639
2561
|
/// \returns A 256-bit vector of [16 x i16] containing the differences.
|
|
2640
|
-
static __inline__ __m256i
|
|
2641
|
-
_mm256_subs_epi16(__m256i __a, __m256i __b)
|
|
2642
|
-
{
|
|
2562
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2563
|
+
_mm256_subs_epi16(__m256i __a, __m256i __b) {
|
|
2643
2564
|
return (__m256i)__builtin_elementwise_sub_sat((__v16hi)__a, (__v16hi)__b);
|
|
2644
2565
|
}
|
|
2645
2566
|
|
|
@@ -2664,9 +2585,8 @@ _mm256_subs_epi16(__m256i __a, __m256i __b)
|
|
|
2664
2585
|
/// \param __b
|
|
2665
2586
|
/// A 256-bit integer vector containing the subtrahends.
|
|
2666
2587
|
/// \returns A 256-bit integer vector containing the differences.
|
|
2667
|
-
static __inline__ __m256i
|
|
2668
|
-
_mm256_subs_epu8(__m256i __a, __m256i __b)
|
|
2669
|
-
{
|
|
2588
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2589
|
+
_mm256_subs_epu8(__m256i __a, __m256i __b) {
|
|
2670
2590
|
return (__m256i)__builtin_elementwise_sub_sat((__v32qu)__a, (__v32qu)__b);
|
|
2671
2591
|
}
|
|
2672
2592
|
|
|
@@ -2690,9 +2610,8 @@ _mm256_subs_epu8(__m256i __a, __m256i __b)
|
|
|
2690
2610
|
/// \param __b
|
|
2691
2611
|
/// A 256-bit vector of [16 x i16] containing the subtrahends.
|
|
2692
2612
|
/// \returns A 256-bit vector of [16 x i16] containing the differences.
|
|
2693
|
-
static __inline__ __m256i
|
|
2694
|
-
_mm256_subs_epu16(__m256i __a, __m256i __b)
|
|
2695
|
-
{
|
|
2613
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2614
|
+
_mm256_subs_epu16(__m256i __a, __m256i __b) {
|
|
2696
2615
|
return (__m256i)__builtin_elementwise_sub_sat((__v16hu)__a, (__v16hu)__b);
|
|
2697
2616
|
}
|
|
2698
2617
|
|
|
@@ -2724,9 +2643,8 @@ _mm256_subs_epu16(__m256i __a, __m256i __b)
|
|
|
2724
2643
|
/// A 256-bit integer vector used as the source for the odd-numbered bytes
|
|
2725
2644
|
/// of the result.
|
|
2726
2645
|
/// \returns A 256-bit integer vector containing the result.
|
|
2727
|
-
static __inline__ __m256i
|
|
2728
|
-
_mm256_unpackhi_epi8(__m256i __a, __m256i __b)
|
|
2729
|
-
{
|
|
2646
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2647
|
+
_mm256_unpackhi_epi8(__m256i __a, __m256i __b) {
|
|
2730
2648
|
return (__m256i)__builtin_shufflevector((__v32qi)__a, (__v32qi)__b, 8, 32+8, 9, 32+9, 10, 32+10, 11, 32+11, 12, 32+12, 13, 32+13, 14, 32+14, 15, 32+15, 24, 32+24, 25, 32+25, 26, 32+26, 27, 32+27, 28, 32+28, 29, 32+29, 30, 32+30, 31, 32+31);
|
|
2731
2649
|
}
|
|
2732
2650
|
|
|
@@ -2759,9 +2677,8 @@ _mm256_unpackhi_epi8(__m256i __a, __m256i __b)
|
|
|
2759
2677
|
/// A 256-bit vector of [16 x i16] used as the source for the odd-numbered
|
|
2760
2678
|
/// elements of the result.
|
|
2761
2679
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
2762
|
-
static __inline__ __m256i
|
|
2763
|
-
_mm256_unpackhi_epi16(__m256i __a, __m256i __b)
|
|
2764
|
-
{
|
|
2680
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2681
|
+
_mm256_unpackhi_epi16(__m256i __a, __m256i __b) {
|
|
2765
2682
|
return (__m256i)__builtin_shufflevector((__v16hi)__a, (__v16hi)__b, 4, 16+4, 5, 16+5, 6, 16+6, 7, 16+7, 12, 16+12, 13, 16+13, 14, 16+14, 15, 16+15);
|
|
2766
2683
|
}
|
|
2767
2684
|
|
|
@@ -2793,9 +2710,8 @@ _mm256_unpackhi_epi16(__m256i __a, __m256i __b)
|
|
|
2793
2710
|
/// A 256-bit vector of [8 x i32] used as the source for the odd-numbered
|
|
2794
2711
|
/// elements of the result.
|
|
2795
2712
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
2796
|
-
static __inline__ __m256i
|
|
2797
|
-
_mm256_unpackhi_epi32(__m256i __a, __m256i __b)
|
|
2798
|
-
{
|
|
2713
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2714
|
+
_mm256_unpackhi_epi32(__m256i __a, __m256i __b) {
|
|
2799
2715
|
return (__m256i)__builtin_shufflevector((__v8si)__a, (__v8si)__b, 2, 8+2, 3, 8+3, 6, 8+6, 7, 8+7);
|
|
2800
2716
|
}
|
|
2801
2717
|
|
|
@@ -2823,9 +2739,8 @@ _mm256_unpackhi_epi32(__m256i __a, __m256i __b)
|
|
|
2823
2739
|
/// A 256-bit vector of [4 x i64] used as the source for the odd-numbered
|
|
2824
2740
|
/// elements of the result.
|
|
2825
2741
|
/// \returns A 256-bit vector of [4 x i64] containing the result.
|
|
2826
|
-
static __inline__ __m256i
|
|
2827
|
-
_mm256_unpackhi_epi64(__m256i __a, __m256i __b)
|
|
2828
|
-
{
|
|
2742
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2743
|
+
_mm256_unpackhi_epi64(__m256i __a, __m256i __b) {
|
|
2829
2744
|
return (__m256i)__builtin_shufflevector((__v4di)__a, (__v4di)__b, 1, 4+1, 3, 4+3);
|
|
2830
2745
|
}
|
|
2831
2746
|
|
|
@@ -2857,9 +2772,8 @@ _mm256_unpackhi_epi64(__m256i __a, __m256i __b)
|
|
|
2857
2772
|
/// A 256-bit integer vector used as the source for the odd-numbered bytes
|
|
2858
2773
|
/// of the result.
|
|
2859
2774
|
/// \returns A 256-bit integer vector containing the result.
|
|
2860
|
-
static __inline__ __m256i
|
|
2861
|
-
_mm256_unpacklo_epi8(__m256i __a, __m256i __b)
|
|
2862
|
-
{
|
|
2775
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2776
|
+
_mm256_unpacklo_epi8(__m256i __a, __m256i __b) {
|
|
2863
2777
|
return (__m256i)__builtin_shufflevector((__v32qi)__a, (__v32qi)__b, 0, 32+0, 1, 32+1, 2, 32+2, 3, 32+3, 4, 32+4, 5, 32+5, 6, 32+6, 7, 32+7, 16, 32+16, 17, 32+17, 18, 32+18, 19, 32+19, 20, 32+20, 21, 32+21, 22, 32+22, 23, 32+23);
|
|
2864
2778
|
}
|
|
2865
2779
|
|
|
@@ -2892,9 +2806,8 @@ _mm256_unpacklo_epi8(__m256i __a, __m256i __b)
|
|
|
2892
2806
|
/// A 256-bit vector of [16 x i16] used as the source for the odd-numbered
|
|
2893
2807
|
/// elements of the result.
|
|
2894
2808
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
2895
|
-
static __inline__ __m256i
|
|
2896
|
-
_mm256_unpacklo_epi16(__m256i __a, __m256i __b)
|
|
2897
|
-
{
|
|
2809
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2810
|
+
_mm256_unpacklo_epi16(__m256i __a, __m256i __b) {
|
|
2898
2811
|
return (__m256i)__builtin_shufflevector((__v16hi)__a, (__v16hi)__b, 0, 16+0, 1, 16+1, 2, 16+2, 3, 16+3, 8, 16+8, 9, 16+9, 10, 16+10, 11, 16+11);
|
|
2899
2812
|
}
|
|
2900
2813
|
|
|
@@ -2926,9 +2839,8 @@ _mm256_unpacklo_epi16(__m256i __a, __m256i __b)
|
|
|
2926
2839
|
/// A 256-bit vector of [8 x i32] used as the source for the odd-numbered
|
|
2927
2840
|
/// elements of the result.
|
|
2928
2841
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
2929
|
-
static __inline__ __m256i
|
|
2930
|
-
_mm256_unpacklo_epi32(__m256i __a, __m256i __b)
|
|
2931
|
-
{
|
|
2842
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2843
|
+
_mm256_unpacklo_epi32(__m256i __a, __m256i __b) {
|
|
2932
2844
|
return (__m256i)__builtin_shufflevector((__v8si)__a, (__v8si)__b, 0, 8+0, 1, 8+1, 4, 8+4, 5, 8+5);
|
|
2933
2845
|
}
|
|
2934
2846
|
|
|
@@ -2956,9 +2868,8 @@ _mm256_unpacklo_epi32(__m256i __a, __m256i __b)
|
|
|
2956
2868
|
/// A 256-bit vector of [4 x i64] used as the source for the odd-numbered
|
|
2957
2869
|
/// elements of the result.
|
|
2958
2870
|
/// \returns A 256-bit vector of [4 x i64] containing the result.
|
|
2959
|
-
static __inline__ __m256i
|
|
2960
|
-
_mm256_unpacklo_epi64(__m256i __a, __m256i __b)
|
|
2961
|
-
{
|
|
2871
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2872
|
+
_mm256_unpacklo_epi64(__m256i __a, __m256i __b) {
|
|
2962
2873
|
return (__m256i)__builtin_shufflevector((__v4di)__a, (__v4di)__b, 0, 4+0, 2, 4+2);
|
|
2963
2874
|
}
|
|
2964
2875
|
|
|
@@ -2974,7 +2885,7 @@ _mm256_unpacklo_epi64(__m256i __a, __m256i __b)
|
|
|
2974
2885
|
/// \param __b
|
|
2975
2886
|
/// A 256-bit integer vector.
|
|
2976
2887
|
/// \returns A 256-bit integer vector containing the result.
|
|
2977
|
-
static __inline__ __m256i
|
|
2888
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2978
2889
|
_mm256_xor_si256(__m256i __a, __m256i __b)
|
|
2979
2890
|
{
|
|
2980
2891
|
return (__m256i)((__v4du)__a ^ (__v4du)__b);
|
|
@@ -3009,9 +2920,8 @@ _mm256_stream_load_si256(const void *__V)
|
|
|
3009
2920
|
/// \param __X
|
|
3010
2921
|
/// A 128-bit vector of [4 x float] whose low element will be broadcast.
|
|
3011
2922
|
/// \returns A 128-bit vector of [4 x float] containing the result.
|
|
3012
|
-
static __inline__ __m128
|
|
3013
|
-
_mm_broadcastss_ps(__m128 __X)
|
|
3014
|
-
{
|
|
2923
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
|
|
2924
|
+
_mm_broadcastss_ps(__m128 __X) {
|
|
3015
2925
|
return (__m128)__builtin_shufflevector((__v4sf)__X, (__v4sf)__X, 0, 0, 0, 0);
|
|
3016
2926
|
}
|
|
3017
2927
|
|
|
@@ -3026,9 +2936,8 @@ _mm_broadcastss_ps(__m128 __X)
|
|
|
3026
2936
|
/// \param __a
|
|
3027
2937
|
/// A 128-bit vector of [2 x double] whose low element will be broadcast.
|
|
3028
2938
|
/// \returns A 128-bit vector of [2 x double] containing the result.
|
|
3029
|
-
static __inline__ __m128d
|
|
3030
|
-
_mm_broadcastsd_pd(__m128d __a)
|
|
3031
|
-
{
|
|
2939
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
|
|
2940
|
+
_mm_broadcastsd_pd(__m128d __a) {
|
|
3032
2941
|
return __builtin_shufflevector((__v2df)__a, (__v2df)__a, 0, 0);
|
|
3033
2942
|
}
|
|
3034
2943
|
|
|
@@ -3043,9 +2952,8 @@ _mm_broadcastsd_pd(__m128d __a)
|
|
|
3043
2952
|
/// \param __X
|
|
3044
2953
|
/// A 128-bit vector of [4 x float] whose low element will be broadcast.
|
|
3045
2954
|
/// \returns A 256-bit vector of [8 x float] containing the result.
|
|
3046
|
-
static __inline__ __m256
|
|
3047
|
-
_mm256_broadcastss_ps(__m128 __X)
|
|
3048
|
-
{
|
|
2955
|
+
static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2956
|
+
_mm256_broadcastss_ps(__m128 __X) {
|
|
3049
2957
|
return (__m256)__builtin_shufflevector((__v4sf)__X, (__v4sf)__X, 0, 0, 0, 0, 0, 0, 0, 0);
|
|
3050
2958
|
}
|
|
3051
2959
|
|
|
@@ -3060,9 +2968,8 @@ _mm256_broadcastss_ps(__m128 __X)
|
|
|
3060
2968
|
/// \param __X
|
|
3061
2969
|
/// A 128-bit vector of [2 x double] whose low element will be broadcast.
|
|
3062
2970
|
/// \returns A 256-bit vector of [4 x double] containing the result.
|
|
3063
|
-
static __inline__ __m256d
|
|
3064
|
-
_mm256_broadcastsd_pd(__m128d __X)
|
|
3065
|
-
{
|
|
2971
|
+
static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2972
|
+
_mm256_broadcastsd_pd(__m128d __X) {
|
|
3066
2973
|
return (__m256d)__builtin_shufflevector((__v2df)__X, (__v2df)__X, 0, 0, 0, 0);
|
|
3067
2974
|
}
|
|
3068
2975
|
|
|
@@ -3076,9 +2983,8 @@ _mm256_broadcastsd_pd(__m128d __X)
|
|
|
3076
2983
|
/// \param __X
|
|
3077
2984
|
/// A 128-bit integer vector to be broadcast.
|
|
3078
2985
|
/// \returns A 256-bit integer vector containing the result.
|
|
3079
|
-
static __inline__ __m256i
|
|
3080
|
-
_mm256_broadcastsi128_si256(__m128i __X)
|
|
3081
|
-
{
|
|
2986
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
2987
|
+
_mm256_broadcastsi128_si256(__m128i __X) {
|
|
3082
2988
|
return (__m256i)__builtin_shufflevector((__v2di)__X, (__v2di)__X, 0, 1, 0, 1);
|
|
3083
2989
|
}
|
|
3084
2990
|
|
|
@@ -3168,9 +3074,8 @@ _mm256_broadcastsi128_si256(__m128i __X)
|
|
|
3168
3074
|
/// \param __X
|
|
3169
3075
|
/// A 128-bit integer vector whose low byte will be broadcast.
|
|
3170
3076
|
/// \returns A 256-bit integer vector containing the result.
|
|
3171
|
-
static __inline__ __m256i
|
|
3172
|
-
_mm256_broadcastb_epi8(__m128i __X)
|
|
3173
|
-
{
|
|
3077
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
3078
|
+
_mm256_broadcastb_epi8(__m128i __X) {
|
|
3174
3079
|
return (__m256i)__builtin_shufflevector((__v16qi)__X, (__v16qi)__X, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
|
3175
3080
|
}
|
|
3176
3081
|
|
|
@@ -3184,9 +3089,8 @@ _mm256_broadcastb_epi8(__m128i __X)
|
|
|
3184
3089
|
/// \param __X
|
|
3185
3090
|
/// A 128-bit vector of [8 x i16] whose low element will be broadcast.
|
|
3186
3091
|
/// \returns A 256-bit vector of [16 x i16] containing the result.
|
|
3187
|
-
static __inline__ __m256i
|
|
3188
|
-
_mm256_broadcastw_epi16(__m128i __X)
|
|
3189
|
-
{
|
|
3092
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
3093
|
+
_mm256_broadcastw_epi16(__m128i __X) {
|
|
3190
3094
|
return (__m256i)__builtin_shufflevector((__v8hi)__X, (__v8hi)__X, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
|
3191
3095
|
}
|
|
3192
3096
|
|
|
@@ -3200,9 +3104,8 @@ _mm256_broadcastw_epi16(__m128i __X)
|
|
|
3200
3104
|
/// \param __X
|
|
3201
3105
|
/// A 128-bit vector of [4 x i32] whose low element will be broadcast.
|
|
3202
3106
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
3203
|
-
static __inline__ __m256i
|
|
3204
|
-
_mm256_broadcastd_epi32(__m128i __X)
|
|
3205
|
-
{
|
|
3107
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
3108
|
+
_mm256_broadcastd_epi32(__m128i __X) {
|
|
3206
3109
|
return (__m256i)__builtin_shufflevector((__v4si)__X, (__v4si)__X, 0, 0, 0, 0, 0, 0, 0, 0);
|
|
3207
3110
|
}
|
|
3208
3111
|
|
|
@@ -3216,9 +3119,8 @@ _mm256_broadcastd_epi32(__m128i __X)
|
|
|
3216
3119
|
/// \param __X
|
|
3217
3120
|
/// A 128-bit vector of [2 x i64] whose low element will be broadcast.
|
|
3218
3121
|
/// \returns A 256-bit vector of [4 x i64] containing the result.
|
|
3219
|
-
static __inline__ __m256i
|
|
3220
|
-
_mm256_broadcastq_epi64(__m128i __X)
|
|
3221
|
-
{
|
|
3122
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
3123
|
+
_mm256_broadcastq_epi64(__m128i __X) {
|
|
3222
3124
|
return (__m256i)__builtin_shufflevector((__v2di)__X, (__v2di)__X, 0, 0, 0, 0);
|
|
3223
3125
|
}
|
|
3224
3126
|
|
|
@@ -3232,9 +3134,8 @@ _mm256_broadcastq_epi64(__m128i __X)
|
|
|
3232
3134
|
/// \param __X
|
|
3233
3135
|
/// A 128-bit integer vector whose low byte will be broadcast.
|
|
3234
3136
|
/// \returns A 128-bit integer vector containing the result.
|
|
3235
|
-
static __inline__ __m128i
|
|
3236
|
-
_mm_broadcastb_epi8(__m128i __X)
|
|
3237
|
-
{
|
|
3137
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
|
|
3138
|
+
_mm_broadcastb_epi8(__m128i __X) {
|
|
3238
3139
|
return (__m128i)__builtin_shufflevector((__v16qi)__X, (__v16qi)__X, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
|
3239
3140
|
}
|
|
3240
3141
|
|
|
@@ -3248,9 +3149,8 @@ _mm_broadcastb_epi8(__m128i __X)
|
|
|
3248
3149
|
/// \param __X
|
|
3249
3150
|
/// A 128-bit vector of [8 x i16] whose low element will be broadcast.
|
|
3250
3151
|
/// \returns A 128-bit vector of [8 x i16] containing the result.
|
|
3251
|
-
static __inline__ __m128i
|
|
3252
|
-
_mm_broadcastw_epi16(__m128i __X)
|
|
3253
|
-
{
|
|
3152
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
|
|
3153
|
+
_mm_broadcastw_epi16(__m128i __X) {
|
|
3254
3154
|
return (__m128i)__builtin_shufflevector((__v8hi)__X, (__v8hi)__X, 0, 0, 0, 0, 0, 0, 0, 0);
|
|
3255
3155
|
}
|
|
3256
3156
|
|
|
@@ -3264,9 +3164,8 @@ _mm_broadcastw_epi16(__m128i __X)
|
|
|
3264
3164
|
/// \param __X
|
|
3265
3165
|
/// A 128-bit vector of [4 x i32] whose low element will be broadcast.
|
|
3266
3166
|
/// \returns A 128-bit vector of [4 x i32] containing the result.
|
|
3267
|
-
static __inline__ __m128i
|
|
3268
|
-
_mm_broadcastd_epi32(__m128i __X)
|
|
3269
|
-
{
|
|
3167
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
|
|
3168
|
+
_mm_broadcastd_epi32(__m128i __X) {
|
|
3270
3169
|
return (__m128i)__builtin_shufflevector((__v4si)__X, (__v4si)__X, 0, 0, 0, 0);
|
|
3271
3170
|
}
|
|
3272
3171
|
|
|
@@ -3280,9 +3179,8 @@ _mm_broadcastd_epi32(__m128i __X)
|
|
|
3280
3179
|
/// \param __X
|
|
3281
3180
|
/// A 128-bit vector of [2 x i64] whose low element will be broadcast.
|
|
3282
3181
|
/// \returns A 128-bit vector of [2 x i64] containing the result.
|
|
3283
|
-
static __inline__ __m128i
|
|
3284
|
-
_mm_broadcastq_epi64(__m128i __X)
|
|
3285
|
-
{
|
|
3182
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
|
|
3183
|
+
_mm_broadcastq_epi64(__m128i __X) {
|
|
3286
3184
|
return (__m128i)__builtin_shufflevector((__v2di)__X, (__v2di)__X, 0, 0);
|
|
3287
3185
|
}
|
|
3288
3186
|
|
|
@@ -3308,9 +3206,8 @@ _mm_broadcastq_epi64(__m128i __X)
|
|
|
3308
3206
|
/// A 256-bit vector of [8 x i32] containing indexes of values to use from
|
|
3309
3207
|
/// \a __a.
|
|
3310
3208
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
3311
|
-
static __inline__ __m256i
|
|
3312
|
-
_mm256_permutevar8x32_epi32(__m256i __a, __m256i __b)
|
|
3313
|
-
{
|
|
3209
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
3210
|
+
_mm256_permutevar8x32_epi32(__m256i __a, __m256i __b) {
|
|
3314
3211
|
return (__m256i)__builtin_ia32_permvarsi256((__v8si)__a, (__v8si)__b);
|
|
3315
3212
|
}
|
|
3316
3213
|
|
|
@@ -3366,9 +3263,8 @@ _mm256_permutevar8x32_epi32(__m256i __a, __m256i __b)
|
|
|
3366
3263
|
/// A 256-bit vector of [8 x i32] containing indexes of values to use from
|
|
3367
3264
|
/// \a __a.
|
|
3368
3265
|
/// \returns A 256-bit vector of [8 x float] containing the result.
|
|
3369
|
-
static __inline__ __m256
|
|
3370
|
-
_mm256_permutevar8x32_ps(__m256 __a, __m256i __b)
|
|
3371
|
-
{
|
|
3266
|
+
static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
3267
|
+
_mm256_permutevar8x32_ps(__m256 __a, __m256i __b) {
|
|
3372
3268
|
return (__m256)__builtin_ia32_permvarsf256((__v8sf)__a, (__v8si)__b);
|
|
3373
3269
|
}
|
|
3374
3270
|
|
|
@@ -3756,7 +3652,7 @@ _mm_maskstore_epi64(long long *__X, __m128i __M, __m128i __Y)
|
|
|
3756
3652
|
/// A 256-bit vector of [8 x i32] containing the unsigned shift counts (in
|
|
3757
3653
|
/// bits).
|
|
3758
3654
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
3759
|
-
static __inline__ __m256i
|
|
3655
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
3760
3656
|
_mm256_sllv_epi32(__m256i __X, __m256i __Y)
|
|
3761
3657
|
{
|
|
3762
3658
|
return (__m256i)__builtin_ia32_psllv8si((__v8si)__X, (__v8si)__Y);
|
|
@@ -3778,7 +3674,7 @@ _mm256_sllv_epi32(__m256i __X, __m256i __Y)
|
|
|
3778
3674
|
/// A 128-bit vector of [4 x i32] containing the unsigned shift counts (in
|
|
3779
3675
|
/// bits).
|
|
3780
3676
|
/// \returns A 128-bit vector of [4 x i32] containing the result.
|
|
3781
|
-
static __inline__ __m128i
|
|
3677
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
|
|
3782
3678
|
_mm_sllv_epi32(__m128i __X, __m128i __Y)
|
|
3783
3679
|
{
|
|
3784
3680
|
return (__m128i)__builtin_ia32_psllv4si((__v4si)__X, (__v4si)__Y);
|
|
@@ -3800,7 +3696,7 @@ _mm_sllv_epi32(__m128i __X, __m128i __Y)
|
|
|
3800
3696
|
/// A 256-bit vector of [4 x i64] containing the unsigned shift counts (in
|
|
3801
3697
|
/// bits).
|
|
3802
3698
|
/// \returns A 256-bit vector of [4 x i64] containing the result.
|
|
3803
|
-
static __inline__ __m256i
|
|
3699
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
3804
3700
|
_mm256_sllv_epi64(__m256i __X, __m256i __Y)
|
|
3805
3701
|
{
|
|
3806
3702
|
return (__m256i)__builtin_ia32_psllv4di((__v4di)__X, (__v4di)__Y);
|
|
@@ -3822,7 +3718,7 @@ _mm256_sllv_epi64(__m256i __X, __m256i __Y)
|
|
|
3822
3718
|
/// A 128-bit vector of [2 x i64] containing the unsigned shift counts (in
|
|
3823
3719
|
/// bits).
|
|
3824
3720
|
/// \returns A 128-bit vector of [2 x i64] containing the result.
|
|
3825
|
-
static __inline__ __m128i
|
|
3721
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
|
|
3826
3722
|
_mm_sllv_epi64(__m128i __X, __m128i __Y)
|
|
3827
3723
|
{
|
|
3828
3724
|
return (__m128i)__builtin_ia32_psllv2di((__v2di)__X, (__v2di)__Y);
|
|
@@ -3845,7 +3741,7 @@ _mm_sllv_epi64(__m128i __X, __m128i __Y)
|
|
|
3845
3741
|
/// A 256-bit vector of [8 x i32] containing the unsigned shift counts (in
|
|
3846
3742
|
/// bits).
|
|
3847
3743
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
3848
|
-
static __inline__ __m256i
|
|
3744
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
3849
3745
|
_mm256_srav_epi32(__m256i __X, __m256i __Y)
|
|
3850
3746
|
{
|
|
3851
3747
|
return (__m256i)__builtin_ia32_psrav8si((__v8si)__X, (__v8si)__Y);
|
|
@@ -3868,7 +3764,7 @@ _mm256_srav_epi32(__m256i __X, __m256i __Y)
|
|
|
3868
3764
|
/// A 128-bit vector of [4 x i32] containing the unsigned shift counts (in
|
|
3869
3765
|
/// bits).
|
|
3870
3766
|
/// \returns A 128-bit vector of [4 x i32] containing the result.
|
|
3871
|
-
static __inline__ __m128i
|
|
3767
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
|
|
3872
3768
|
_mm_srav_epi32(__m128i __X, __m128i __Y)
|
|
3873
3769
|
{
|
|
3874
3770
|
return (__m128i)__builtin_ia32_psrav4si((__v4si)__X, (__v4si)__Y);
|
|
@@ -3890,7 +3786,7 @@ _mm_srav_epi32(__m128i __X, __m128i __Y)
|
|
|
3890
3786
|
/// A 256-bit vector of [8 x i32] containing the unsigned shift counts (in
|
|
3891
3787
|
/// bits).
|
|
3892
3788
|
/// \returns A 256-bit vector of [8 x i32] containing the result.
|
|
3893
|
-
static __inline__ __m256i
|
|
3789
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
3894
3790
|
_mm256_srlv_epi32(__m256i __X, __m256i __Y)
|
|
3895
3791
|
{
|
|
3896
3792
|
return (__m256i)__builtin_ia32_psrlv8si((__v8si)__X, (__v8si)__Y);
|
|
@@ -3912,7 +3808,7 @@ _mm256_srlv_epi32(__m256i __X, __m256i __Y)
|
|
|
3912
3808
|
/// A 128-bit vector of [4 x i32] containing the unsigned shift counts (in
|
|
3913
3809
|
/// bits).
|
|
3914
3810
|
/// \returns A 128-bit vector of [4 x i32] containing the result.
|
|
3915
|
-
static __inline__ __m128i
|
|
3811
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
|
|
3916
3812
|
_mm_srlv_epi32(__m128i __X, __m128i __Y)
|
|
3917
3813
|
{
|
|
3918
3814
|
return (__m128i)__builtin_ia32_psrlv4si((__v4si)__X, (__v4si)__Y);
|
|
@@ -3934,7 +3830,7 @@ _mm_srlv_epi32(__m128i __X, __m128i __Y)
|
|
|
3934
3830
|
/// A 256-bit vector of [4 x i64] containing the unsigned shift counts (in
|
|
3935
3831
|
/// bits).
|
|
3936
3832
|
/// \returns A 256-bit vector of [4 x i64] containing the result.
|
|
3937
|
-
static __inline__ __m256i
|
|
3833
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
3938
3834
|
_mm256_srlv_epi64(__m256i __X, __m256i __Y)
|
|
3939
3835
|
{
|
|
3940
3836
|
return (__m256i)__builtin_ia32_psrlv4di((__v4di)__X, (__v4di)__Y);
|
|
@@ -3956,7 +3852,7 @@ _mm256_srlv_epi64(__m256i __X, __m256i __Y)
|
|
|
3956
3852
|
/// A 128-bit vector of [2 x i64] containing the unsigned shift counts (in
|
|
3957
3853
|
/// bits).
|
|
3958
3854
|
/// \returns A 128-bit vector of [2 x i64] containing the result.
|
|
3959
|
-
static __inline__ __m128i
|
|
3855
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
|
|
3960
3856
|
_mm_srlv_epi64(__m128i __X, __m128i __Y)
|
|
3961
3857
|
{
|
|
3962
3858
|
return (__m128i)__builtin_ia32_psrlv2di((__v2di)__X, (__v2di)__Y);
|
|
@@ -5289,5 +5185,7 @@ _mm_srlv_epi64(__m128i __X, __m128i __Y)
|
|
|
5289
5185
|
|
|
5290
5186
|
#undef __DEFAULT_FN_ATTRS256
|
|
5291
5187
|
#undef __DEFAULT_FN_ATTRS128
|
|
5188
|
+
#undef __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
5189
|
+
#undef __DEFAULT_FN_ATTRS128_CONSTEXPR
|
|
5292
5190
|
|
|
5293
5191
|
#endif /* __AVX2INTRIN_H */
|