Skip to main content

Module cpu

Module cpu 

Source

Macros§

simd_swizzleExperimental
Constructs a new SIMD vector by copying elements from selected elements in other vectors.

Structs§

MaskExperimental
A SIMD vector mask for N elements of width specified by Element.
SimdExperimental
A SIMD vector with the shape of [T; N] but the operations of T.

Constants§

CPU_L1_CACHE_LINE_SIZE
CPU_L1_CACHE_SIZE
CPU_L1_PREFETCH
CPU_L2_PREFETCH
CPU_L3_PREFETCH
CPU_NONTEMPORAL_PREFETCH
CPU_PAGE_SIZE
CPU_SEARCH_WINDOW_16_SIZE
CPU_SEARCH_WINDOW_32_SIZE
CPU_SEARCH_WINDOW_64_SIZE
CPU_SEARCH_WINDOW_128_SIZE
CPU_SEARCH_WINDOW_256_SIZE
CPU_SEARCH_WINDOW_512_SIZE
CPU_SEARCH_WINDOW_1024_SIZE
CPU_SIMD_8_SIZE
CPU_SIMD_16_SIZE
CPU_SIMD_32_SIZE
CPU_SIMD_64_SIZE

Traits§

SelectExperimental
Choose elements from two vectors using a mask.
SimdConstPtrExperimental
Operations on SIMD vectors of constant pointers.
SimdFloatExperimental
Operations on SIMD vectors of floats.
SimdIntExperimental
Operations on SIMD vectors of signed integers.
SimdMutPtrExperimental
Operations on SIMD vectors of mutable pointers.
SimdOrdExperimental
Parallel Ord.
SimdPartialEqExperimental
Parallel PartialEq.
SimdPartialOrdExperimental
Parallel PartialOrd.
SimdUintExperimental
Operations on SIMD vectors of unsigned integers.
ToBytesExperimental
Converts SIMD vectors to vectors of bytes

Functions§

cpu_collect
cpu_collect_fallback
cpu_collect_simd_n
cpu_find
cpu_find_fallback
cpu_find_replace_simd_n
cpu_find_simd_n
cpu_l1_prefetch
cpu_l2_prefetch
cpu_l3_prefetch
cpu_likely_branch
Hints to the compiler that the branch condition is likely to be true. Returns the value passed to it.
cpu_replace_byte
cpu_replace_fallback
cpu_replace_simd_n
cpu_simd_masks
cpu_simd_shift_right_n
cpu_slice_splat
cpu_slice_to_array
cpu_slice_to_array_padded
cpu_slice_to_simd
cpu_tokenize
cpu_tokenize_rev
cpu_unlikely_branch
Hints to the compiler that the branch condition is unlikely to be true. Returns the value passed to it.
prefetch_read_data
Prefetches data for reading into the cache.

Type Aliases§

CPUTokenIndexCollection
CPUTokenIndexSet
CPUTokenRelativeStackInfo
CPUTokenSet
CPUTokenSetCollection
CPUTokenStackIndex
u8xN
f16x1Experimental
A SIMD vector with one element of type f16.
f16x2Experimental
A SIMD vector with two elements of type f16.
f16x4Experimental
A SIMD vector with four elements of type f16.
f16x8Experimental
A SIMD vector with eight elements of type f16.
f16x16Experimental
A SIMD vector with 16 elements of type f16.
f16x32Experimental
A SIMD vector with 32 elements of type f16.
f16x64Experimental
A SIMD vector with 64 elements of type f16.
f32x1Experimental
A SIMD vector with one element of type f32.
f32x2Experimental
A SIMD vector with two elements of type f32.
f32x4Experimental
A SIMD vector with four elements of type f32.
f32x8Experimental
A SIMD vector with eight elements of type f32.
f32x16Experimental
A SIMD vector with 16 elements of type f32.
f32x32Experimental
A SIMD vector with 32 elements of type f32.
f32x64Experimental
A SIMD vector with 64 elements of type f32.
f64x1Experimental
A SIMD vector with one element of type f64.
f64x2Experimental
A SIMD vector with two elements of type f64.
f64x4Experimental
A SIMD vector with four elements of type f64.
f64x8Experimental
A SIMD vector with eight elements of type f64.
f64x16Experimental
A SIMD vector with 16 elements of type f64.
f64x32Experimental
A SIMD vector with 32 elements of type f64.
f64x64Experimental
A SIMD vector with 64 elements of type f64.
i8x1Experimental
A SIMD vector with one element of type i8.
i8x2Experimental
A SIMD vector with two elements of type i8.
i8x4Experimental
A SIMD vector with four elements of type i8.
i8x8Experimental
A SIMD vector with eight elements of type i8.
i8x16Experimental
A SIMD vector with 16 elements of type i8.
i8x32Experimental
A SIMD vector with 32 elements of type i8.
i8x64Experimental
A SIMD vector with 64 elements of type i8.
i16x1Experimental
A SIMD vector with one element of type i16.
i16x2Experimental
A SIMD vector with two elements of type i16.
i16x4Experimental
A SIMD vector with four elements of type i16.
i16x8Experimental
A SIMD vector with eight elements of type i16.
i16x16Experimental
A SIMD vector with 16 elements of type i16.
i16x32Experimental
A SIMD vector with 32 elements of type i16.
i16x64Experimental
A SIMD vector with 64 elements of type i16.
i32x1Experimental
A SIMD vector with one element of type i32.
i32x2Experimental
A SIMD vector with two elements of type i32.
i32x4Experimental
A SIMD vector with four elements of type i32.
i32x8Experimental
A SIMD vector with eight elements of type i32.
i32x16Experimental
A SIMD vector with 16 elements of type i32.
i32x32Experimental
A SIMD vector with 32 elements of type i32.
i32x64Experimental
A SIMD vector with 64 elements of type i32.
i64x1Experimental
A SIMD vector with one element of type i64.
i64x2Experimental
A SIMD vector with two elements of type i64.
i64x4Experimental
A SIMD vector with four elements of type i64.
i64x8Experimental
A SIMD vector with eight elements of type i64.
i64x16Experimental
A SIMD vector with 16 elements of type i64.
i64x32Experimental
A SIMD vector with 32 elements of type i64.
i64x64Experimental
A SIMD vector with 64 elements of type i64.
isizex1Experimental
A SIMD vector with one element of type isize.
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.
isizex16Experimental
A SIMD vector with 16 elements of type isize.
isizex32Experimental
A SIMD vector with 32 elements of type isize.
isizex64Experimental
A SIMD vector with 64 elements of type isize.
mask8x1Experimental
A SIMD mask with one element for vectors with 8-bit element types.
mask8x2Experimental
A SIMD mask with two elements for vectors with 8-bit element types.
mask8x4Experimental
A SIMD mask with four elements for vectors with 8-bit element types.
mask8x8Experimental
A SIMD mask with eight elements for vectors with 8-bit element types.
mask8x16Experimental
A SIMD mask with 16 elements for vectors with 8-bit element types.
mask8x32Experimental
A SIMD mask with 32 elements for vectors with 8-bit element types.
mask8x64Experimental
A SIMD mask with 64 elements for vectors with 8-bit element types.
mask16x1Experimental
A SIMD mask with one element for vectors with 16-bit element types.
mask16x2Experimental
A SIMD mask with two elements for vectors with 16-bit element types.
mask16x4Experimental
A SIMD mask with four elements for vectors with 16-bit element types.
mask16x8Experimental
A SIMD mask with eight elements for vectors with 16-bit element types.
mask16x16Experimental
A SIMD mask with 16 elements for vectors with 16-bit element types.
mask16x32Experimental
A SIMD mask with 32 elements for vectors with 16-bit element types.
mask16x64Experimental
A SIMD mask with 64 elements for vectors with 16-bit element types.
mask32x1Experimental
A SIMD mask with one element for vectors with 32-bit element types.
mask32x2Experimental
A SIMD mask with two elements for vectors with 32-bit element types.
mask32x4Experimental
A SIMD mask with four elements for vectors with 32-bit element types.
mask32x8Experimental
A SIMD mask with eight elements for vectors with 32-bit element types.
mask32x16Experimental
A SIMD mask with 16 elements for vectors with 32-bit element types.
mask32x32Experimental
A SIMD mask with 32 elements for vectors with 32-bit element types.
mask32x64Experimental
A SIMD mask with 64 elements for vectors with 32-bit element types.
mask64x1Experimental
A SIMD mask with one element for vectors with 64-bit element types.
mask64x2Experimental
A SIMD mask with two elements for vectors with 64-bit element types.
mask64x4Experimental
A SIMD mask with four elements for vectors with 64-bit element types.
mask64x8Experimental
A SIMD mask with eight elements for vectors with 64-bit element types.
mask64x16Experimental
A SIMD mask with 16 elements for vectors with 64-bit element types.
mask64x32Experimental
A SIMD mask with 32 elements for vectors with 64-bit element types.
mask64x64Experimental
A SIMD mask with 64 elements for vectors with 64-bit element types.
masksizex1Experimental
A SIMD mask with one element for vectors with pointer-sized element types.
masksizex2Experimental
A SIMD mask with two elements for vectors with pointer-sized element types.
masksizex4Experimental
A SIMD mask with four elements for vectors with pointer-sized element types.
masksizex8Experimental
A SIMD mask with eight elements for vectors with pointer-sized element types.
masksizex16Experimental
A SIMD mask with 16 elements for vectors with pointer-sized element types.
masksizex32Experimental
A SIMD mask with 32 elements for vectors with pointer-sized element types.
masksizex64Experimental
A SIMD mask with 64 elements for vectors with pointer-sized element types.
u8x1Experimental
A SIMD vector with one element of type u8.
u8x2Experimental
A SIMD vector with two elements of type u8.
u8x4Experimental
A SIMD vector with four elements of type u8.
u8x8Experimental
A SIMD vector with eight elements of type u8.
u8x16Experimental
A SIMD vector with 16 elements of type u8.
u8x32Experimental
A SIMD vector with 32 elements of type u8.
u8x64Experimental
A SIMD vector with 64 elements of type u8.
u16x1Experimental
A SIMD vector with one element of type u16.
u16x2Experimental
A SIMD vector with two elements of type u16.
u16x4Experimental
A SIMD vector with four elements of type u16.
u16x8Experimental
A SIMD vector with eight elements of type u16.
u16x16Experimental
A SIMD vector with 16 elements of type u16.
u16x32Experimental
A SIMD vector with 32 elements of type u16.
u16x64Experimental
A SIMD vector with 64 elements of type u16.
u32x1Experimental
A SIMD vector with one element of type u32.
u32x2Experimental
A SIMD vector with two elements of type u32.
u32x4Experimental
A SIMD vector with four elements of type u32.
u32x8Experimental
A SIMD vector with eight elements of type u32.
u32x16Experimental
A SIMD vector with 16 elements of type u32.
u32x32Experimental
A SIMD vector with 32 elements of type u32.
u32x64Experimental
A SIMD vector with 64 elements of type u32.
u64x1Experimental
A SIMD vector with one element of type u64.
u64x2Experimental
A SIMD vector with two elements of type u64.
u64x4Experimental
A SIMD vector with four elements of type u64.
u64x8Experimental
A SIMD vector with eight elements of type u64.
u64x16Experimental
A SIMD vector with 16 elements of type u64.
u64x32Experimental
A SIMD vector with 32 elements of type u64.
u64x64Experimental
A SIMD vector with 64 elements of type u64.
usizex1Experimental
A SIMD vector with one element of type usize.
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.
usizex16Experimental
A SIMD vector with 16 elements of type usize.
usizex32Experimental
A SIMD vector with 32 elements of type usize.
usizex64Experimental
A SIMD vector with 64 elements of type usize.