native 0.0.1
Vectors, masks and wide register packs for C++26
Loading...
Searching...
No Matches
native.simd Module Reference

Exported Modules

module  native.memory
module  native.wide
module  native.numerics
 Scalar half storage, numeric limits and legacy scalar predicates.
module  native.static_string
module  native.types

Classes

struct  native::simd< T, N, Arch >
 Omitted architecture arguments use the native.simd provider's baseline. More...
struct  native::simd< bf16, N, Arch >
struct  native::simd< fp16, 32, Arch >
struct  native::simd< bf16, 8, Arch >
struct  native::simd< fp16, 8, Arch >
struct  native::predicate< N, A >
 Compact logical mask for register-only instruction shapes. More...
struct  native::simd< T, N, A >
 One complete WebAssembly SIMD128 register with semantic element lanes. More...

Functions

template<std::size_t N, ::native::isa<> Arch>
requires (::native::avx512 <= Arch ) &&(N == 8 || N == 16 || N == 32)
constexpr simd< float, N/2, Arch > native::dot2 (simd< bf16, N, Arch > a, simd< bf16, N, Arch > b, simd< float, N/2, Arch > accumulator) noexcept
template<::native::isa<> Arch>
requires (::native::avx512 <= Arch )
constexpr simd< fp16, 32, Arch > native::fma (simd< fp16, 32, Arch > a, simd< fp16, 32, Arch > b, simd< fp16, 32, Arch > c) noexcept
template<::native::isa<> Arch>
requires (::native::avx512 <= Arch )
constexpr simd< float, 4, Arch > native::dot2 (simd< bf16, 8, Arch > a, simd< bf16, 8, Arch > b, simd< float, 4, Arch > accumulator) noexcept
template<::native::isa<> Arch>
requires (::native::avx512 <= Arch )
constexpr simd< fp16, 8, Arch > native::fma (simd< fp16, 8, Arch > a, simd< fp16, 8, Arch > b, simd< fp16, 8, Arch > c) noexcept

Files

file  src/native.simd.ccm