portable_simd
#86656)Expand description
Portable SIMD module.
This module offers a portable abstraction for SIMD operations that is not bound to any particular hardware architecture.
Macros
Constructs a new SIMD vector by copying elements from selected lanes in other vectors.
Structs
Specifies the number of lanes in a SIMD vector as a type.
A SIMD vector mask for LANES
elements of width specified by Element
.
Enums
Specifies a lane index into one of two SIMD vectors.
Traits
Marker trait for types that may be used as SIMD mask elements.
Marker trait for types that may be used as SIMD vector elements.
Operations on SIMD vectors of floats.
Operations on SIMD vectors of signed integers.
Parallel Ord
.
Parallel PartialEq
.
Parallel PartialOrd
.
Operations on SIMD vectors of unsigned integers.
This trait provides a possibly-temporary implementation of float functions
that may, in the absence of hardware support, canonicalize to calling an
operating system’s math.h
dynamically-loaded library (also known as a
shared object). As these conditionally require runtime support, they
should only appear in binaries built assuming OS support: std
.
Statically guarantees that a lane count is marked as supported.
Create a vector from the elements of another vector.
Create a vector from the elements of two other vectors.
Converts masks to and from integer bitmasks.
Type Definitions
A 64-bit SIMD vector with two elements of type f32
.
A 128-bit SIMD vector with four elements of type f32
.
A 256-bit SIMD vector with eight elements of type f32
.
A 512-bit SIMD vector with 16 elements of type f32
.
A 128-bit SIMD vector with two elements of type f64
.
A 256-bit SIMD vector with four elements of type f64
.
A 512-bit SIMD vector with eight elements of type f64
.
A 32-bit SIMD vector with four elements of type i8
.
A 64-bit SIMD vector with eight elements of type i8
.
A 128-bit SIMD vector with 16 elements of type i8
.
A 256-bit SIMD vector with 32 elements of type i8
.
A 512-bit SIMD vector with 64 elements of type i8
.
A 32-bit SIMD vector with two elements of type i16
.
A 64-bit SIMD vector with four elements of type i16
.
A 128-bit SIMD vector with eight elements of type i16
.
A 256-bit SIMD vector with 16 elements of type i16
.
A 512-bit SIMD vector with 32 elements of type i16
.
A 64-bit SIMD vector with two elements of type i32
.
A 128-bit SIMD vector with four elements of type i32
.
A 256-bit SIMD vector with eight elements of type i32
.
A 512-bit SIMD vector with 16 elements of type i32
.
A 128-bit SIMD vector with two elements of type i64
.
A 256-bit SIMD vector with four elements of type i64
.
A 512-bit SIMD vector with eight elements of type i64
.
A SIMD vector with two elements of type isize
.
A SIMD vector with four elements of type isize
.
A SIMD vector with eight elements of type isize
.
A mask for SIMD vectors with eight elements of 8 bits.
A mask for SIMD vectors with 16 elements of 8 bits.
A mask for SIMD vectors with 32 elements of 8 bits.
A mask for SIMD vectors with 64 elements of 8 bits.
A mask for SIMD vectors with four elements of 16 bits.
A mask for SIMD vectors with eight elements of 16 bits.
A mask for SIMD vectors with 16 elements of 16 bits.
A mask for SIMD vectors with 32 elements of 16 bits.
A mask for SIMD vectors with two elements of 32 bits.
A mask for SIMD vectors with four elements of 32 bits.
A mask for SIMD vectors with eight elements of 32 bits.
A mask for SIMD vectors with 16 elements of 32 bits.
A mask for SIMD vectors with two elements of 64 bits.
A mask for SIMD vectors with four elements of 64 bits.
A mask for SIMD vectors with eight elements of 64 bits.
A mask for SIMD vectors with two elements of pointer width.
A mask for SIMD vectors with four elements of pointer width.
A mask for SIMD vectors with eight elements of pointer width.
A 32-bit SIMD vector with four elements of type u8
.
A 64-bit SIMD vector with eight elements of type u8
.
A 128-bit SIMD vector with 16 elements of type u8
.
A 256-bit SIMD vector with 32 elements of type u8
.
A 512-bit SIMD vector with 64 elements of type u8
.
A 32-bit SIMD vector with two elements of type u16
.
A 64-bit SIMD vector with four elements of type u16
.
A 128-bit SIMD vector with eight elements of type u16
.
A 256-bit SIMD vector with 16 elements of type u16
.
A 512-bit SIMD vector with 32 elements of type u16
.
A 64-bit SIMD vector with two elements of type u32
.
A 128-bit SIMD vector with four elements of type u32
.
A 256-bit SIMD vector with eight elements of type u32
.
A 512-bit SIMD vector with 16 elements of type u32
.
A 128-bit SIMD vector with two elements of type u64
.
A 256-bit SIMD vector with four elements of type u64
.
A 512-bit SIMD vector with eight elements of type u64
.
A SIMD vector with two elements of type usize
.
A SIMD vector with four elements of type usize
.
A SIMD vector with eight elements of type usize
.