🔬This is a nightly-only experimental API. (
portable_simd
#86656)Expand description
The portable SIMD prelude.
Includes important traits and types to be imported with a glob:
Macros§
- simd_
swizzle Experimental Constructs a new SIMD vector by copying elements from selected elements in other vectors.
Structs§
- Mask
Experimental A SIMD vector mask forN
elements of width specified byElement
. - Simd
Experimental A SIMD vector with the shape of[T; N]
but the operations ofT
.
Traits§
- Simd
Const Ptr Experimental Operations on SIMD vectors of constant pointers. - Simd
Float Experimental Operations on SIMD vectors of floats. - SimdInt
Experimental Operations on SIMD vectors of signed integers. - Simd
MutPtr Experimental Operations on SIMD vectors of mutable pointers. - SimdOrd
Experimental ParallelOrd
. - Simd
Partial Eq Experimental ParallelPartialEq
. - Simd
Partial Ord Experimental ParallelPartialOrd
. - Simd
Uint Experimental Operations on SIMD vectors of unsigned integers.
Type Aliases§
- f32x1
Experimental A SIMD vector with one element of typef32
. - f32x2
Experimental A SIMD vector with two elements of typef32
. - f32x4
Experimental A SIMD vector with four elements of typef32
. - f32x8
Experimental A SIMD vector with eight elements of typef32
. - f32x16
Experimental A SIMD vector with 16 elements of typef32
. - f32x32
Experimental A SIMD vector with 32 elements of typef32
. - f32x64
Experimental A SIMD vector with 64 elements of typef32
. - f64x1
Experimental A SIMD vector with one element of typef64
. - f64x2
Experimental A SIMD vector with two elements of typef64
. - f64x4
Experimental A SIMD vector with four elements of typef64
. - f64x8
Experimental A SIMD vector with eight elements of typef64
. - f64x16
Experimental A SIMD vector with 16 elements of typef64
. - f64x32
Experimental A SIMD vector with 32 elements of typef64
. - f64x64
Experimental A SIMD vector with 64 elements of typef64
. - i8x1
Experimental A SIMD vector with one element of typei8
. - i8x2
Experimental A SIMD vector with two elements of typei8
. - i8x4
Experimental A SIMD vector with four elements of typei8
. - i8x8
Experimental A SIMD vector with eight elements of typei8
. - i8x16
Experimental A SIMD vector with 16 elements of typei8
. - i8x32
Experimental A SIMD vector with 32 elements of typei8
. - i8x64
Experimental A SIMD vector with 64 elements of typei8
. - i16x1
Experimental A SIMD vector with one element of typei16
. - i16x2
Experimental A SIMD vector with two elements of typei16
. - i16x4
Experimental A SIMD vector with four elements of typei16
. - i16x8
Experimental A SIMD vector with eight elements of typei16
. - i16x16
Experimental A SIMD vector with 16 elements of typei16
. - i16x32
Experimental A SIMD vector with 32 elements of typei16
. - i16x64
Experimental A SIMD vector with 64 elements of typei16
. - i32x1
Experimental A SIMD vector with one element of typei32
. - i32x2
Experimental A SIMD vector with two elements of typei32
. - i32x4
Experimental A SIMD vector with four elements of typei32
. - i32x8
Experimental A SIMD vector with eight elements of typei32
. - i32x16
Experimental A SIMD vector with 16 elements of typei32
. - i32x32
Experimental A SIMD vector with 32 elements of typei32
. - i32x64
Experimental A SIMD vector with 64 elements of typei32
. - i64x1
Experimental A SIMD vector with one element of typei64
. - i64x2
Experimental A SIMD vector with two elements of typei64
. - i64x4
Experimental A SIMD vector with four elements of typei64
. - i64x8
Experimental A SIMD vector with eight elements of typei64
. - i64x16
Experimental A SIMD vector with 16 elements of typei64
. - i64x32
Experimental A SIMD vector with 32 elements of typei64
. - i64x64
Experimental A SIMD vector with 64 elements of typei64
. - isizex1
Experimental A SIMD vector with one element of typeisize
. - isizex2
Experimental A SIMD vector with two elements of typeisize
. - isizex4
Experimental A SIMD vector with four elements of typeisize
. - isizex8
Experimental A SIMD vector with eight elements of typeisize
. - isizex16
Experimental A SIMD vector with 16 elements of typeisize
. - isizex32
Experimental A SIMD vector with 32 elements of typeisize
. - isizex64
Experimental A SIMD vector with 64 elements of typeisize
. - mask8x1
Experimental A SIMD mask with one element for vectors with 8-bit element types. - mask8x2
Experimental A SIMD mask with two elements for vectors with 8-bit element types. - mask8x4
Experimental A SIMD mask with four elements for vectors with 8-bit element types. - mask8x8
Experimental A SIMD mask with eight elements for vectors with 8-bit element types. - mask8x16
Experimental A SIMD mask with 16 elements for vectors with 8-bit element types. - mask8x32
Experimental A SIMD mask with 32 elements for vectors with 8-bit element types. - mask8x64
Experimental A SIMD mask with 64 elements for vectors with 8-bit element types. - mask16x1
Experimental A SIMD mask with one element for vectors with 16-bit element types. - mask16x2
Experimental A SIMD mask with two elements for vectors with 16-bit element types. - mask16x4
Experimental A SIMD mask with four elements for vectors with 16-bit element types. - mask16x8
Experimental A SIMD mask with eight elements for vectors with 16-bit element types. - mask16x16
Experimental A SIMD mask with 16 elements for vectors with 16-bit element types. - mask16x32
Experimental A SIMD mask with 32 elements for vectors with 16-bit element types. - mask16x64
Experimental A SIMD mask with 64 elements for vectors with 16-bit element types. - mask32x1
Experimental A SIMD mask with one element for vectors with 32-bit element types. - mask32x2
Experimental A SIMD mask with two elements for vectors with 32-bit element types. - mask32x4
Experimental A SIMD mask with four elements for vectors with 32-bit element types. - mask32x8
Experimental A SIMD mask with eight elements for vectors with 32-bit element types. - mask32x16
Experimental A SIMD mask with 16 elements for vectors with 32-bit element types. - mask32x32
Experimental A SIMD mask with 32 elements for vectors with 32-bit element types. - mask32x64
Experimental A SIMD mask with 64 elements for vectors with 32-bit element types. - mask64x1
Experimental A SIMD mask with one element for vectors with 64-bit element types. - mask64x2
Experimental A SIMD mask with two elements for vectors with 64-bit element types. - mask64x4
Experimental A SIMD mask with four elements for vectors with 64-bit element types. - mask64x8
Experimental A SIMD mask with eight elements for vectors with 64-bit element types. - mask64x16
Experimental A SIMD mask with 16 elements for vectors with 64-bit element types. - mask64x32
Experimental A SIMD mask with 32 elements for vectors with 64-bit element types. - mask64x64
Experimental A SIMD mask with 64 elements for vectors with 64-bit element types. - masksizex1
Experimental A SIMD mask with one element for vectors with pointer-sized element types. - masksizex2
Experimental A SIMD mask with two elements for vectors with pointer-sized element types. - masksizex4
Experimental A SIMD mask with four elements for vectors with pointer-sized element types. - masksizex8
Experimental A SIMD mask with eight elements for vectors with pointer-sized element types. - masksizex16
Experimental A SIMD mask with 16 elements for vectors with pointer-sized element types. - masksizex32
Experimental A SIMD mask with 32 elements for vectors with pointer-sized element types. - masksizex64
Experimental A SIMD mask with 64 elements for vectors with pointer-sized element types. - u8x1
Experimental A SIMD vector with one element of typeu8
. - u8x2
Experimental A SIMD vector with two elements of typeu8
. - u8x4
Experimental A SIMD vector with four elements of typeu8
. - u8x8
Experimental A SIMD vector with eight elements of typeu8
. - u8x16
Experimental A SIMD vector with 16 elements of typeu8
. - u8x32
Experimental A SIMD vector with 32 elements of typeu8
. - u8x64
Experimental A SIMD vector with 64 elements of typeu8
. - u16x1
Experimental A SIMD vector with one element of typeu16
. - u16x2
Experimental A SIMD vector with two elements of typeu16
. - u16x4
Experimental A SIMD vector with four elements of typeu16
. - u16x8
Experimental A SIMD vector with eight elements of typeu16
. - u16x16
Experimental A SIMD vector with 16 elements of typeu16
. - u16x32
Experimental A SIMD vector with 32 elements of typeu16
. - u16x64
Experimental A SIMD vector with 64 elements of typeu16
. - u32x1
Experimental A SIMD vector with one element of typeu32
. - u32x2
Experimental A SIMD vector with two elements of typeu32
. - u32x4
Experimental A SIMD vector with four elements of typeu32
. - u32x8
Experimental A SIMD vector with eight elements of typeu32
. - u32x16
Experimental A SIMD vector with 16 elements of typeu32
. - u32x32
Experimental A SIMD vector with 32 elements of typeu32
. - u32x64
Experimental A SIMD vector with 64 elements of typeu32
. - u64x1
Experimental A SIMD vector with one element of typeu64
. - u64x2
Experimental A SIMD vector with two elements of typeu64
. - u64x4
Experimental A SIMD vector with four elements of typeu64
. - u64x8
Experimental A SIMD vector with eight elements of typeu64
. - u64x16
Experimental A SIMD vector with 16 elements of typeu64
. - u64x32
Experimental A SIMD vector with 32 elements of typeu64
. - u64x64
Experimental A SIMD vector with 64 elements of typeu64
. - usizex1
Experimental A SIMD vector with one element of typeusize
. - usizex2
Experimental A SIMD vector with two elements of typeusize
. - usizex4
Experimental A SIMD vector with four elements of typeusize
. - usizex8
Experimental A SIMD vector with eight elements of typeusize
. - usizex16
Experimental A SIMD vector with 16 elements of typeusize
. - usizex32
Experimental A SIMD vector with 32 elements of typeusize
. - usizex64
Experimental A SIMD vector with 64 elements of typeusize
.