🔬This is a nightly-only experimental API. (
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
simd_swizzleExperimental
Constructs a new SIMD vector by copying elements from selected lanes in other vectors.
Structs
LaneCountExperimental
Specifies the number of lanes in a SIMD vector as a type.
MaskExperimental
A SIMD vector mask for
LANES
elements of width specified by Element
.Enums
WhichExperimental
Specifies a lane index into one of two SIMD vectors.
Traits
MaskElementExperimental
Marker trait for types that may be used as SIMD mask elements.
SimdElementExperimental
Marker trait for types that may be used as SIMD vector elements.
SimdFloatExperimental
Operations on SIMD vectors of floats.
SimdIntExperimental
Operations on SIMD vectors of signed integers.
SimdOrdExperimental
Parallel
Ord
.SimdPartialEqExperimental
Parallel
PartialEq
.SimdPartialOrdExperimental
Parallel
PartialOrd
.SimdUintExperimental
Operations on SIMD vectors of unsigned integers.
SupportedLaneCountExperimental
Statically guarantees that a lane count is marked as supported.
SwizzleExperimental
Create a vector from the elements of another vector.
Swizzle2Experimental
Create a vector from the elements of two other vectors.
ToBitMaskExperimental
Converts masks to and from integer bitmasks.
Type Definitions
f32x2Experimental
A 64-bit SIMD vector with two elements of type
f32
.f32x4Experimental
A 128-bit SIMD vector with four elements of type
f32
.f32x8Experimental
A 256-bit SIMD vector with eight elements of type
f32
.f32x16Experimental
A 512-bit SIMD vector with 16 elements of type
f32
.f64x2Experimental
A 128-bit SIMD vector with two elements of type
f64
.f64x4Experimental
A 256-bit SIMD vector with four elements of type
f64
.f64x8Experimental
A 512-bit SIMD vector with eight elements of type
f64
.i8x4Experimental
A 32-bit SIMD vector with four elements of type
i8
.i8x8Experimental
A 64-bit SIMD vector with eight elements of type
i8
.i8x16Experimental
A 128-bit SIMD vector with 16 elements of type
i8
.i8x32Experimental
A 256-bit SIMD vector with 32 elements of type
i8
.i8x64Experimental
A 512-bit SIMD vector with 64 elements of type
i8
.i16x2Experimental
A 32-bit SIMD vector with two elements of type
i16
.i16x4Experimental
A 64-bit SIMD vector with four elements of type
i16
.i16x8Experimental
A 128-bit SIMD vector with eight elements of type
i16
.i16x16Experimental
A 256-bit SIMD vector with 16 elements of type
i16
.i16x32Experimental
A 512-bit SIMD vector with 32 elements of type
i16
.i32x2Experimental
A 64-bit SIMD vector with two elements of type
i32
.i32x4Experimental
A 128-bit SIMD vector with four elements of type
i32
.i32x8Experimental
A 256-bit SIMD vector with eight elements of type
i32
.i32x16Experimental
A 512-bit SIMD vector with 16 elements of type
i32
.i64x2Experimental
A 128-bit SIMD vector with two elements of type
i64
.i64x4Experimental
A 256-bit SIMD vector with four elements of type
i64
.i64x8Experimental
A 512-bit SIMD vector with eight elements of type
i64
.isizex2Experimental
A SIMD vector with two elements of type
isize
.isizex4Experimental
A SIMD vector with four elements of type
isize
.isizex8Experimental
A SIMD vector with eight elements of type
isize
.mask8x8Experimental
A mask for SIMD vectors with eight elements of 8 bits.
mask8x16Experimental
A mask for SIMD vectors with 16 elements of 8 bits.
mask8x32Experimental
A mask for SIMD vectors with 32 elements of 8 bits.
mask8x64Experimental
A mask for SIMD vectors with 64 elements of 8 bits.
mask16x4Experimental
A mask for SIMD vectors with four elements of 16 bits.
mask16x8Experimental
A mask for SIMD vectors with eight elements of 16 bits.
mask16x16Experimental
A mask for SIMD vectors with 16 elements of 16 bits.
mask16x32Experimental
A mask for SIMD vectors with 32 elements of 16 bits.
mask32x2Experimental
A mask for SIMD vectors with two elements of 32 bits.
mask32x4Experimental
A mask for SIMD vectors with four elements of 32 bits.
mask32x8Experimental
A mask for SIMD vectors with eight elements of 32 bits.
mask32x16Experimental
A mask for SIMD vectors with 16 elements of 32 bits.
mask64x2Experimental
A mask for SIMD vectors with two elements of 64 bits.
mask64x4Experimental
A mask for SIMD vectors with four elements of 64 bits.
mask64x8Experimental
A mask for SIMD vectors with eight elements of 64 bits.
masksizex2Experimental
A mask for SIMD vectors with two elements of pointer width.
masksizex4Experimental
A mask for SIMD vectors with four elements of pointer width.
masksizex8Experimental
A mask for SIMD vectors with eight elements of pointer width.
u8x4Experimental
A 32-bit SIMD vector with four elements of type
u8
.u8x8Experimental
A 64-bit SIMD vector with eight elements of type
u8
.u8x16Experimental
A 128-bit SIMD vector with 16 elements of type
u8
.u8x32Experimental
A 256-bit SIMD vector with 32 elements of type
u8
.u8x64Experimental
A 512-bit SIMD vector with 64 elements of type
u8
.u16x2Experimental
A 32-bit SIMD vector with two elements of type
u16
.u16x4Experimental
A 64-bit SIMD vector with four elements of type
u16
.u16x8Experimental
A 128-bit SIMD vector with eight elements of type
u16
.u16x16Experimental
A 256-bit SIMD vector with 16 elements of type
u16
.u16x32Experimental
A 512-bit SIMD vector with 32 elements of type
u16
.u32x2Experimental
A 64-bit SIMD vector with two elements of type
u32
.u32x4Experimental
A 128-bit SIMD vector with four elements of type
u32
.u32x8Experimental
A 256-bit SIMD vector with eight elements of type
u32
.u32x16Experimental
A 512-bit SIMD vector with 16 elements of type
u32
.u64x2Experimental
A 128-bit SIMD vector with two elements of type
u64
.u64x4Experimental
A 256-bit SIMD vector with four elements of type
u64
.u64x8Experimental
A 512-bit SIMD vector with eight elements of type
u64
.usizex2Experimental
A SIMD vector with two elements of type
usize
.usizex4Experimental
A SIMD vector with four elements of type
usize
.usizex8Experimental
A SIMD vector with eight elements of type
usize
.