pub struct Avx2 {
pub avx2: Avx2,
}Available on x86 or x86-64 only.
Expand description
The SIMD token for the “AVX2” and “FMA” level.
Fields§
§avx2: Avx2Implementations§
Trait Implementations§
Source§impl Simd for Avx2
impl Simd for Avx2
Source§fn vectorize<F: FnOnce() -> R, R>(self, f: F) -> R
fn vectorize<F: FnOnce() -> R, R>(self, f: F) -> R
Call function with CPU features enabled. Read more
Source§fn splat_f32x4(self, val: f32) -> f32x4<Self>
fn splat_f32x4(self, val: f32) -> f32x4<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_f32x4(self, val: [f32; 4]) -> f32x4<Self>
fn load_array_f32x4(self, val: [f32; 4]) -> f32x4<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_f32x4(self, val: &[f32; 4]) -> f32x4<Self>
fn load_array_ref_f32x4(self, val: &[f32; 4]) -> f32x4<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_f32x4(self, a: &f32x4<Self>) -> &[f32; 4]
fn as_array_ref_f32x4(self, a: &f32x4<Self>) -> &[f32; 4]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_f32x4(self, a: &mut f32x4<Self>) -> &mut [f32; 4]
fn as_array_mut_f32x4(self, a: &mut f32x4<Self>) -> &mut [f32; 4]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_f32x4(self, a: f32x4<Self>, dest: &mut [f32; 4])
fn store_array_f32x4(self, a: f32x4<Self>, dest: &mut [f32; 4])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_f32x4(self, a: u8x16<Self>) -> f32x4<Self>
fn cvt_from_bytes_f32x4(self, a: u8x16<Self>) -> f32x4<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_f32x4(self, a: f32x4<Self>) -> u8x16<Self>
fn cvt_to_bytes_f32x4(self, a: f32x4<Self>) -> u8x16<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_within_blocks_f32x4<const SHIFT: usize>(
self,
a: f32x4<Self>,
b: f32x4<Self>,
) -> f32x4<Self>
fn slide_within_blocks_f32x4<const SHIFT: usize>( self, a: f32x4<Self>, b: f32x4<Self>, ) -> f32x4<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn sqrt_f32x4(self, a: f32x4<Self>) -> f32x4<Self>
fn sqrt_f32x4(self, a: f32x4<Self>) -> f32x4<Self>
Compute the square root of each element. Read more
Source§fn add_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
fn add_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
Add two vectors element-wise.
Source§fn sub_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
fn sub_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
Subtract two vectors element-wise.
Source§fn mul_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
fn mul_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
Multiply two vectors element-wise.
Source§fn div_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
fn div_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
Divide two vectors element-wise.
Source§fn simd_eq_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> mask32x4<Self>
fn simd_eq_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> mask32x4<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> mask32x4<Self>
fn simd_lt_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> mask32x4<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> mask32x4<Self>
fn simd_le_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> mask32x4<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> mask32x4<Self>
fn simd_ge_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> mask32x4<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> mask32x4<Self>
fn simd_gt_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> mask32x4<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
fn zip_low_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
fn zip_high_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
fn unzip_low_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
fn unzip_high_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn max_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
fn max_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
Return the element-wise maximum of two vectors. Read more
Source§fn min_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
fn min_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
Return the element-wise minimum of two vectors. Read more
Source§fn max_precise_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
fn max_precise_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
Return the element-wise maximum of two vectors. Read more
Source§fn min_precise_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
fn min_precise_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x4<Self>
Return the element-wise minimum of two vectors. Read more
Source§fn mul_add_f32x4(
self,
a: f32x4<Self>,
b: f32x4<Self>,
c: f32x4<Self>,
) -> f32x4<Self>
fn mul_add_f32x4( self, a: f32x4<Self>, b: f32x4<Self>, c: f32x4<Self>, ) -> f32x4<Self>
Compute
(a * b) + c (fused multiply-add) for each element. Read moreSource§fn mul_sub_f32x4(
self,
a: f32x4<Self>,
b: f32x4<Self>,
c: f32x4<Self>,
) -> f32x4<Self>
fn mul_sub_f32x4( self, a: f32x4<Self>, b: f32x4<Self>, c: f32x4<Self>, ) -> f32x4<Self>
Compute
(a * b) - c (fused multiply-subtract) for each element. Read moreSource§fn floor_f32x4(self, a: f32x4<Self>) -> f32x4<Self>
fn floor_f32x4(self, a: f32x4<Self>) -> f32x4<Self>
Return the largest integer less than or equal to each element, that is, round towards negative infinity.
Source§fn ceil_f32x4(self, a: f32x4<Self>) -> f32x4<Self>
fn ceil_f32x4(self, a: f32x4<Self>) -> f32x4<Self>
Return the smallest integer greater than or equal to each element, that is, round towards positive infinity.
Source§fn round_ties_even_f32x4(self, a: f32x4<Self>) -> f32x4<Self>
fn round_ties_even_f32x4(self, a: f32x4<Self>) -> f32x4<Self>
Round each element to the nearest integer, with ties rounding to the nearest even integer. Read more
Source§fn fract_f32x4(self, a: f32x4<Self>) -> f32x4<Self>
fn fract_f32x4(self, a: f32x4<Self>) -> f32x4<Self>
Return the fractional part of each element. Read more
Source§fn trunc_f32x4(self, a: f32x4<Self>) -> f32x4<Self>
fn trunc_f32x4(self, a: f32x4<Self>) -> f32x4<Self>
Return the integer part of each element, rounding towards zero.
Source§fn select_f32x4(
self,
a: mask32x4<Self>,
b: f32x4<Self>,
c: f32x4<Self>,
) -> f32x4<Self>
fn select_f32x4( self, a: mask32x4<Self>, b: f32x4<Self>, c: f32x4<Self>, ) -> f32x4<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn combine_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x8<Self>
fn combine_f32x4(self, a: f32x4<Self>, b: f32x4<Self>) -> f32x8<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn reinterpret_f64_f32x4(self, a: f32x4<Self>) -> f64x2<Self>
fn reinterpret_f64_f32x4(self, a: f32x4<Self>) -> f64x2<Self>
Reinterpret the bits of this vector as a vector of
f64 elements. Read moreSource§fn reinterpret_i32_f32x4(self, a: f32x4<Self>) -> i32x4<Self>
fn reinterpret_i32_f32x4(self, a: f32x4<Self>) -> i32x4<Self>
Reinterpret the bits of this vector as a vector of
i32 elements. Read moreSource§fn reinterpret_u8_f32x4(self, a: f32x4<Self>) -> u8x16<Self>
fn reinterpret_u8_f32x4(self, a: f32x4<Self>) -> u8x16<Self>
Reinterpret the bits of this vector as a vector of
u8 elements. Read moreSource§fn reinterpret_u32_f32x4(self, a: f32x4<Self>) -> u32x4<Self>
fn reinterpret_u32_f32x4(self, a: f32x4<Self>) -> u32x4<Self>
Reinterpret the bits of this vector as a vector of
u32 elements. Read moreSource§fn cvt_u32_f32x4(self, a: f32x4<Self>) -> u32x4<Self>
fn cvt_u32_f32x4(self, a: f32x4<Self>) -> u32x4<Self>
Convert each floating-point element to an unsigned 32-bit integer, truncating towards zero. Read more
Source§fn cvt_u32_precise_f32x4(self, a: f32x4<Self>) -> u32x4<Self>
fn cvt_u32_precise_f32x4(self, a: f32x4<Self>) -> u32x4<Self>
Convert each floating-point element to an unsigned 32-bit integer, truncating towards zero. Read more
Source§fn cvt_i32_f32x4(self, a: f32x4<Self>) -> i32x4<Self>
fn cvt_i32_f32x4(self, a: f32x4<Self>) -> i32x4<Self>
Convert each floating-point element to a signed 32-bit integer, truncating towards zero. Read more
Source§fn cvt_i32_precise_f32x4(self, a: f32x4<Self>) -> i32x4<Self>
fn cvt_i32_precise_f32x4(self, a: f32x4<Self>) -> i32x4<Self>
Convert each floating-point element to a signed 32-bit integer, truncating towards zero. Read more
Source§fn splat_i8x16(self, val: i8) -> i8x16<Self>
fn splat_i8x16(self, val: i8) -> i8x16<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_i8x16(self, val: [i8; 16]) -> i8x16<Self>
fn load_array_i8x16(self, val: [i8; 16]) -> i8x16<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_i8x16(self, val: &[i8; 16]) -> i8x16<Self>
fn load_array_ref_i8x16(self, val: &[i8; 16]) -> i8x16<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_i8x16(self, a: &i8x16<Self>) -> &[i8; 16]
fn as_array_ref_i8x16(self, a: &i8x16<Self>) -> &[i8; 16]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_i8x16(self, a: &mut i8x16<Self>) -> &mut [i8; 16]
fn as_array_mut_i8x16(self, a: &mut i8x16<Self>) -> &mut [i8; 16]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_i8x16(self, a: i8x16<Self>, dest: &mut [i8; 16])
fn store_array_i8x16(self, a: i8x16<Self>, dest: &mut [i8; 16])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_i8x16(self, a: u8x16<Self>) -> i8x16<Self>
fn cvt_from_bytes_i8x16(self, a: u8x16<Self>) -> i8x16<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_i8x16(self, a: i8x16<Self>) -> u8x16<Self>
fn cvt_to_bytes_i8x16(self, a: i8x16<Self>) -> u8x16<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_within_blocks_i8x16<const SHIFT: usize>(
self,
a: i8x16<Self>,
b: i8x16<Self>,
) -> i8x16<Self>
fn slide_within_blocks_i8x16<const SHIFT: usize>( self, a: i8x16<Self>, b: i8x16<Self>, ) -> i8x16<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn add_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
fn add_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
Add two vectors element-wise, wrapping on overflow.
Source§fn sub_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
fn sub_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
Subtract two vectors element-wise, wrapping on overflow.
Source§fn mul_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
fn mul_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
Multiply two vectors element-wise, wrapping on overflow.
Source§fn and_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
fn and_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
Compute the bitwise AND of two vectors.
Source§fn or_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
fn or_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
Compute the bitwise OR of two vectors.
Source§fn xor_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
fn xor_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
Compute the bitwise XOR of two vectors.
Source§fn shl_i8x16(self, a: i8x16<Self>, shift: u32) -> i8x16<Self>
fn shl_i8x16(self, a: i8x16<Self>, shift: u32) -> i8x16<Self>
Shift each element left by the given number of bits. Read more
Source§fn shlv_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
fn shlv_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
Shift each element left by the given number of bits. Read more
Source§fn shr_i8x16(self, a: i8x16<Self>, shift: u32) -> i8x16<Self>
fn shr_i8x16(self, a: i8x16<Self>, shift: u32) -> i8x16<Self>
Shift each element right by the given number of bits. Read more
Source§fn shrv_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
fn shrv_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
Shift each element right by the corresponding element in another vector. Read more
Source§fn simd_eq_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> mask8x16<Self>
fn simd_eq_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> mask8x16<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> mask8x16<Self>
fn simd_lt_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> mask8x16<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> mask8x16<Self>
fn simd_le_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> mask8x16<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> mask8x16<Self>
fn simd_ge_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> mask8x16<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> mask8x16<Self>
fn simd_gt_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> mask8x16<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
fn zip_low_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
fn zip_high_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
fn unzip_low_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
fn unzip_high_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn select_i8x16(
self,
a: mask8x16<Self>,
b: i8x16<Self>,
c: i8x16<Self>,
) -> i8x16<Self>
fn select_i8x16( self, a: mask8x16<Self>, b: i8x16<Self>, c: i8x16<Self>, ) -> i8x16<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn min_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
fn min_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
Return the element-wise minimum of two vectors.
Source§fn max_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
fn max_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x16<Self>
Return the element-wise maximum of two vectors.
Source§fn combine_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x32<Self>
fn combine_i8x16(self, a: i8x16<Self>, b: i8x16<Self>) -> i8x32<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn neg_i8x16(self, a: i8x16<Self>) -> i8x16<Self>
fn neg_i8x16(self, a: i8x16<Self>) -> i8x16<Self>
Negate each element of the vector, wrapping on overflow.
Source§fn reinterpret_u8_i8x16(self, a: i8x16<Self>) -> u8x16<Self>
fn reinterpret_u8_i8x16(self, a: i8x16<Self>) -> u8x16<Self>
Reinterpret the bits of this vector as a vector of
u8 elements. Read moreSource§fn reinterpret_u32_i8x16(self, a: i8x16<Self>) -> u32x4<Self>
fn reinterpret_u32_i8x16(self, a: i8x16<Self>) -> u32x4<Self>
Reinterpret the bits of this vector as a vector of
u32 elements. Read moreSource§fn splat_u8x16(self, val: u8) -> u8x16<Self>
fn splat_u8x16(self, val: u8) -> u8x16<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_u8x16(self, val: [u8; 16]) -> u8x16<Self>
fn load_array_u8x16(self, val: [u8; 16]) -> u8x16<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_u8x16(self, val: &[u8; 16]) -> u8x16<Self>
fn load_array_ref_u8x16(self, val: &[u8; 16]) -> u8x16<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_u8x16(self, a: &u8x16<Self>) -> &[u8; 16]
fn as_array_ref_u8x16(self, a: &u8x16<Self>) -> &[u8; 16]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_u8x16(self, a: &mut u8x16<Self>) -> &mut [u8; 16]
fn as_array_mut_u8x16(self, a: &mut u8x16<Self>) -> &mut [u8; 16]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_u8x16(self, a: u8x16<Self>, dest: &mut [u8; 16])
fn store_array_u8x16(self, a: u8x16<Self>, dest: &mut [u8; 16])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_u8x16(self, a: u8x16<Self>) -> u8x16<Self>
fn cvt_from_bytes_u8x16(self, a: u8x16<Self>) -> u8x16<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_u8x16(self, a: u8x16<Self>) -> u8x16<Self>
fn cvt_to_bytes_u8x16(self, a: u8x16<Self>) -> u8x16<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_within_blocks_u8x16<const SHIFT: usize>(
self,
a: u8x16<Self>,
b: u8x16<Self>,
) -> u8x16<Self>
fn slide_within_blocks_u8x16<const SHIFT: usize>( self, a: u8x16<Self>, b: u8x16<Self>, ) -> u8x16<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn add_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
fn add_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
Add two vectors element-wise, wrapping on overflow.
Source§fn sub_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
fn sub_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
Subtract two vectors element-wise, wrapping on overflow.
Source§fn mul_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
fn mul_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
Multiply two vectors element-wise, wrapping on overflow.
Source§fn and_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
fn and_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
Compute the bitwise AND of two vectors.
Source§fn or_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
fn or_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
Compute the bitwise OR of two vectors.
Source§fn xor_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
fn xor_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
Compute the bitwise XOR of two vectors.
Source§fn shl_u8x16(self, a: u8x16<Self>, shift: u32) -> u8x16<Self>
fn shl_u8x16(self, a: u8x16<Self>, shift: u32) -> u8x16<Self>
Shift each element left by the given number of bits. Read more
Source§fn shlv_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
fn shlv_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
Shift each element left by the given number of bits. Read more
Source§fn shr_u8x16(self, a: u8x16<Self>, shift: u32) -> u8x16<Self>
fn shr_u8x16(self, a: u8x16<Self>, shift: u32) -> u8x16<Self>
Shift each element right by the given number of bits. Read more
Source§fn shrv_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
fn shrv_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
Shift each element right by the corresponding element in another vector. Read more
Source§fn simd_eq_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> mask8x16<Self>
fn simd_eq_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> mask8x16<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> mask8x16<Self>
fn simd_lt_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> mask8x16<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> mask8x16<Self>
fn simd_le_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> mask8x16<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> mask8x16<Self>
fn simd_ge_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> mask8x16<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> mask8x16<Self>
fn simd_gt_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> mask8x16<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
fn zip_low_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
fn zip_high_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
fn unzip_low_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
fn unzip_high_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn select_u8x16(
self,
a: mask8x16<Self>,
b: u8x16<Self>,
c: u8x16<Self>,
) -> u8x16<Self>
fn select_u8x16( self, a: mask8x16<Self>, b: u8x16<Self>, c: u8x16<Self>, ) -> u8x16<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn min_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
fn min_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
Return the element-wise minimum of two vectors.
Source§fn max_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
fn max_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x16<Self>
Return the element-wise maximum of two vectors.
Source§fn combine_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x32<Self>
fn combine_u8x16(self, a: u8x16<Self>, b: u8x16<Self>) -> u8x32<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn widen_u8x16(self, a: u8x16<Self>) -> u16x16<Self>
fn widen_u8x16(self, a: u8x16<Self>) -> u16x16<Self>
Zero-extend each element to a wider integer type. Read more
Source§fn reinterpret_u32_u8x16(self, a: u8x16<Self>) -> u32x4<Self>
fn reinterpret_u32_u8x16(self, a: u8x16<Self>) -> u32x4<Self>
Reinterpret the bits of this vector as a vector of
u32 elements. Read moreSource§fn splat_mask8x16(self, val: i8) -> mask8x16<Self>
fn splat_mask8x16(self, val: i8) -> mask8x16<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_mask8x16(self, val: [i8; 16]) -> mask8x16<Self>
fn load_array_mask8x16(self, val: [i8; 16]) -> mask8x16<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_mask8x16(self, val: &[i8; 16]) -> mask8x16<Self>
fn load_array_ref_mask8x16(self, val: &[i8; 16]) -> mask8x16<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_mask8x16(self, a: &mask8x16<Self>) -> &[i8; 16]
fn as_array_ref_mask8x16(self, a: &mask8x16<Self>) -> &[i8; 16]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_mask8x16(self, a: &mut mask8x16<Self>) -> &mut [i8; 16]
fn as_array_mut_mask8x16(self, a: &mut mask8x16<Self>) -> &mut [i8; 16]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_mask8x16(self, a: mask8x16<Self>, dest: &mut [i8; 16])
fn store_array_mask8x16(self, a: mask8x16<Self>, dest: &mut [i8; 16])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_mask8x16(self, a: u8x16<Self>) -> mask8x16<Self>
fn cvt_from_bytes_mask8x16(self, a: u8x16<Self>) -> mask8x16<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_mask8x16(self, a: mask8x16<Self>) -> u8x16<Self>
fn cvt_to_bytes_mask8x16(self, a: mask8x16<Self>) -> u8x16<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_mask8x16<const SHIFT: usize>(
self,
a: mask8x16<Self>,
b: mask8x16<Self>,
) -> mask8x16<Self>
fn slide_mask8x16<const SHIFT: usize>( self, a: mask8x16<Self>, b: mask8x16<Self>, ) -> mask8x16<Self>
Source§fn slide_within_blocks_mask8x16<const SHIFT: usize>(
self,
a: mask8x16<Self>,
b: mask8x16<Self>,
) -> mask8x16<Self>
fn slide_within_blocks_mask8x16<const SHIFT: usize>( self, a: mask8x16<Self>, b: mask8x16<Self>, ) -> mask8x16<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn and_mask8x16(self, a: mask8x16<Self>, b: mask8x16<Self>) -> mask8x16<Self>
fn and_mask8x16(self, a: mask8x16<Self>, b: mask8x16<Self>) -> mask8x16<Self>
Compute the logical AND of two masks.
Source§fn or_mask8x16(self, a: mask8x16<Self>, b: mask8x16<Self>) -> mask8x16<Self>
fn or_mask8x16(self, a: mask8x16<Self>, b: mask8x16<Self>) -> mask8x16<Self>
Compute the logical OR of two masks.
Source§fn xor_mask8x16(self, a: mask8x16<Self>, b: mask8x16<Self>) -> mask8x16<Self>
fn xor_mask8x16(self, a: mask8x16<Self>, b: mask8x16<Self>) -> mask8x16<Self>
Compute the logical XOR of two masks.
Source§fn not_mask8x16(self, a: mask8x16<Self>) -> mask8x16<Self>
fn not_mask8x16(self, a: mask8x16<Self>) -> mask8x16<Self>
Compute the logical NOT of the mask.
Source§fn select_mask8x16(
self,
a: mask8x16<Self>,
b: mask8x16<Self>,
c: mask8x16<Self>,
) -> mask8x16<Self>
fn select_mask8x16( self, a: mask8x16<Self>, b: mask8x16<Self>, c: mask8x16<Self>, ) -> mask8x16<Self>
Source§fn simd_eq_mask8x16(
self,
a: mask8x16<Self>,
b: mask8x16<Self>,
) -> mask8x16<Self>
fn simd_eq_mask8x16( self, a: mask8x16<Self>, b: mask8x16<Self>, ) -> mask8x16<Self>
Compare two vectors element-wise for equality. Read more
Source§fn any_true_mask8x16(self, a: mask8x16<Self>) -> bool
fn any_true_mask8x16(self, a: mask8x16<Self>) -> bool
Returns true if any elements in this mask are true (all ones). Read more
Source§fn all_true_mask8x16(self, a: mask8x16<Self>) -> bool
fn all_true_mask8x16(self, a: mask8x16<Self>) -> bool
Returns true if all elements in this mask are true (all ones). Read more
Source§fn any_false_mask8x16(self, a: mask8x16<Self>) -> bool
fn any_false_mask8x16(self, a: mask8x16<Self>) -> bool
Returns true if any elements in this mask are false (all zeroes). Read more
Source§fn all_false_mask8x16(self, a: mask8x16<Self>) -> bool
fn all_false_mask8x16(self, a: mask8x16<Self>) -> bool
Returns true if all elements in this mask are false (all zeroes). Read more
Source§fn combine_mask8x16(
self,
a: mask8x16<Self>,
b: mask8x16<Self>,
) -> mask8x32<Self>
fn combine_mask8x16( self, a: mask8x16<Self>, b: mask8x16<Self>, ) -> mask8x32<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn splat_i16x8(self, val: i16) -> i16x8<Self>
fn splat_i16x8(self, val: i16) -> i16x8<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_i16x8(self, val: [i16; 8]) -> i16x8<Self>
fn load_array_i16x8(self, val: [i16; 8]) -> i16x8<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_i16x8(self, val: &[i16; 8]) -> i16x8<Self>
fn load_array_ref_i16x8(self, val: &[i16; 8]) -> i16x8<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_i16x8(self, a: &i16x8<Self>) -> &[i16; 8]
fn as_array_ref_i16x8(self, a: &i16x8<Self>) -> &[i16; 8]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_i16x8(self, a: &mut i16x8<Self>) -> &mut [i16; 8]
fn as_array_mut_i16x8(self, a: &mut i16x8<Self>) -> &mut [i16; 8]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_i16x8(self, a: i16x8<Self>, dest: &mut [i16; 8])
fn store_array_i16x8(self, a: i16x8<Self>, dest: &mut [i16; 8])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_i16x8(self, a: u8x16<Self>) -> i16x8<Self>
fn cvt_from_bytes_i16x8(self, a: u8x16<Self>) -> i16x8<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_i16x8(self, a: i16x8<Self>) -> u8x16<Self>
fn cvt_to_bytes_i16x8(self, a: i16x8<Self>) -> u8x16<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_within_blocks_i16x8<const SHIFT: usize>(
self,
a: i16x8<Self>,
b: i16x8<Self>,
) -> i16x8<Self>
fn slide_within_blocks_i16x8<const SHIFT: usize>( self, a: i16x8<Self>, b: i16x8<Self>, ) -> i16x8<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn add_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
fn add_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
Add two vectors element-wise, wrapping on overflow.
Source§fn sub_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
fn sub_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
Subtract two vectors element-wise, wrapping on overflow.
Source§fn mul_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
fn mul_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
Multiply two vectors element-wise, wrapping on overflow.
Source§fn and_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
fn and_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
Compute the bitwise AND of two vectors.
Source§fn or_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
fn or_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
Compute the bitwise OR of two vectors.
Source§fn xor_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
fn xor_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
Compute the bitwise XOR of two vectors.
Source§fn shl_i16x8(self, a: i16x8<Self>, shift: u32) -> i16x8<Self>
fn shl_i16x8(self, a: i16x8<Self>, shift: u32) -> i16x8<Self>
Shift each element left by the given number of bits. Read more
Source§fn shlv_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
fn shlv_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
Shift each element left by the given number of bits. Read more
Source§fn shr_i16x8(self, a: i16x8<Self>, shift: u32) -> i16x8<Self>
fn shr_i16x8(self, a: i16x8<Self>, shift: u32) -> i16x8<Self>
Shift each element right by the given number of bits. Read more
Source§fn shrv_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
fn shrv_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
Shift each element right by the corresponding element in another vector. Read more
Source§fn simd_eq_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> mask16x8<Self>
fn simd_eq_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> mask16x8<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> mask16x8<Self>
fn simd_lt_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> mask16x8<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> mask16x8<Self>
fn simd_le_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> mask16x8<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> mask16x8<Self>
fn simd_ge_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> mask16x8<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> mask16x8<Self>
fn simd_gt_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> mask16x8<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
fn zip_low_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
fn zip_high_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
fn unzip_low_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
fn unzip_high_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn select_i16x8(
self,
a: mask16x8<Self>,
b: i16x8<Self>,
c: i16x8<Self>,
) -> i16x8<Self>
fn select_i16x8( self, a: mask16x8<Self>, b: i16x8<Self>, c: i16x8<Self>, ) -> i16x8<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn min_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
fn min_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
Return the element-wise minimum of two vectors.
Source§fn max_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
fn max_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x8<Self>
Return the element-wise maximum of two vectors.
Source§fn combine_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x16<Self>
fn combine_i16x8(self, a: i16x8<Self>, b: i16x8<Self>) -> i16x16<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn neg_i16x8(self, a: i16x8<Self>) -> i16x8<Self>
fn neg_i16x8(self, a: i16x8<Self>) -> i16x8<Self>
Negate each element of the vector, wrapping on overflow.
Source§fn reinterpret_u8_i16x8(self, a: i16x8<Self>) -> u8x16<Self>
fn reinterpret_u8_i16x8(self, a: i16x8<Self>) -> u8x16<Self>
Reinterpret the bits of this vector as a vector of
u8 elements. Read moreSource§fn reinterpret_u32_i16x8(self, a: i16x8<Self>) -> u32x4<Self>
fn reinterpret_u32_i16x8(self, a: i16x8<Self>) -> u32x4<Self>
Reinterpret the bits of this vector as a vector of
u32 elements. Read moreSource§fn splat_u16x8(self, val: u16) -> u16x8<Self>
fn splat_u16x8(self, val: u16) -> u16x8<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_u16x8(self, val: [u16; 8]) -> u16x8<Self>
fn load_array_u16x8(self, val: [u16; 8]) -> u16x8<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_u16x8(self, val: &[u16; 8]) -> u16x8<Self>
fn load_array_ref_u16x8(self, val: &[u16; 8]) -> u16x8<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_u16x8(self, a: &u16x8<Self>) -> &[u16; 8]
fn as_array_ref_u16x8(self, a: &u16x8<Self>) -> &[u16; 8]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_u16x8(self, a: &mut u16x8<Self>) -> &mut [u16; 8]
fn as_array_mut_u16x8(self, a: &mut u16x8<Self>) -> &mut [u16; 8]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_u16x8(self, a: u16x8<Self>, dest: &mut [u16; 8])
fn store_array_u16x8(self, a: u16x8<Self>, dest: &mut [u16; 8])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_u16x8(self, a: u8x16<Self>) -> u16x8<Self>
fn cvt_from_bytes_u16x8(self, a: u8x16<Self>) -> u16x8<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_u16x8(self, a: u16x8<Self>) -> u8x16<Self>
fn cvt_to_bytes_u16x8(self, a: u16x8<Self>) -> u8x16<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_within_blocks_u16x8<const SHIFT: usize>(
self,
a: u16x8<Self>,
b: u16x8<Self>,
) -> u16x8<Self>
fn slide_within_blocks_u16x8<const SHIFT: usize>( self, a: u16x8<Self>, b: u16x8<Self>, ) -> u16x8<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn add_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
fn add_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
Add two vectors element-wise, wrapping on overflow.
Source§fn sub_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
fn sub_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
Subtract two vectors element-wise, wrapping on overflow.
Source§fn mul_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
fn mul_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
Multiply two vectors element-wise, wrapping on overflow.
Source§fn and_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
fn and_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
Compute the bitwise AND of two vectors.
Source§fn or_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
fn or_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
Compute the bitwise OR of two vectors.
Source§fn xor_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
fn xor_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
Compute the bitwise XOR of two vectors.
Source§fn shl_u16x8(self, a: u16x8<Self>, shift: u32) -> u16x8<Self>
fn shl_u16x8(self, a: u16x8<Self>, shift: u32) -> u16x8<Self>
Shift each element left by the given number of bits. Read more
Source§fn shlv_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
fn shlv_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
Shift each element left by the given number of bits. Read more
Source§fn shr_u16x8(self, a: u16x8<Self>, shift: u32) -> u16x8<Self>
fn shr_u16x8(self, a: u16x8<Self>, shift: u32) -> u16x8<Self>
Shift each element right by the given number of bits. Read more
Source§fn shrv_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
fn shrv_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
Shift each element right by the corresponding element in another vector. Read more
Source§fn simd_eq_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> mask16x8<Self>
fn simd_eq_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> mask16x8<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> mask16x8<Self>
fn simd_lt_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> mask16x8<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> mask16x8<Self>
fn simd_le_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> mask16x8<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> mask16x8<Self>
fn simd_ge_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> mask16x8<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> mask16x8<Self>
fn simd_gt_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> mask16x8<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
fn zip_low_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
fn zip_high_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
fn unzip_low_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
fn unzip_high_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn select_u16x8(
self,
a: mask16x8<Self>,
b: u16x8<Self>,
c: u16x8<Self>,
) -> u16x8<Self>
fn select_u16x8( self, a: mask16x8<Self>, b: u16x8<Self>, c: u16x8<Self>, ) -> u16x8<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn min_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
fn min_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
Return the element-wise minimum of two vectors.
Source§fn max_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
fn max_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x8<Self>
Return the element-wise maximum of two vectors.
Source§fn combine_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x16<Self>
fn combine_u16x8(self, a: u16x8<Self>, b: u16x8<Self>) -> u16x16<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn reinterpret_u8_u16x8(self, a: u16x8<Self>) -> u8x16<Self>
fn reinterpret_u8_u16x8(self, a: u16x8<Self>) -> u8x16<Self>
Reinterpret the bits of this vector as a vector of
u8 elements. Read moreSource§fn reinterpret_u32_u16x8(self, a: u16x8<Self>) -> u32x4<Self>
fn reinterpret_u32_u16x8(self, a: u16x8<Self>) -> u32x4<Self>
Reinterpret the bits of this vector as a vector of
u32 elements. Read moreSource§fn splat_mask16x8(self, val: i16) -> mask16x8<Self>
fn splat_mask16x8(self, val: i16) -> mask16x8<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_mask16x8(self, val: [i16; 8]) -> mask16x8<Self>
fn load_array_mask16x8(self, val: [i16; 8]) -> mask16x8<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_mask16x8(self, val: &[i16; 8]) -> mask16x8<Self>
fn load_array_ref_mask16x8(self, val: &[i16; 8]) -> mask16x8<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_mask16x8(self, a: &mask16x8<Self>) -> &[i16; 8]
fn as_array_ref_mask16x8(self, a: &mask16x8<Self>) -> &[i16; 8]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_mask16x8(self, a: &mut mask16x8<Self>) -> &mut [i16; 8]
fn as_array_mut_mask16x8(self, a: &mut mask16x8<Self>) -> &mut [i16; 8]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_mask16x8(self, a: mask16x8<Self>, dest: &mut [i16; 8])
fn store_array_mask16x8(self, a: mask16x8<Self>, dest: &mut [i16; 8])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_mask16x8(self, a: u8x16<Self>) -> mask16x8<Self>
fn cvt_from_bytes_mask16x8(self, a: u8x16<Self>) -> mask16x8<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_mask16x8(self, a: mask16x8<Self>) -> u8x16<Self>
fn cvt_to_bytes_mask16x8(self, a: mask16x8<Self>) -> u8x16<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_mask16x8<const SHIFT: usize>(
self,
a: mask16x8<Self>,
b: mask16x8<Self>,
) -> mask16x8<Self>
fn slide_mask16x8<const SHIFT: usize>( self, a: mask16x8<Self>, b: mask16x8<Self>, ) -> mask16x8<Self>
Source§fn slide_within_blocks_mask16x8<const SHIFT: usize>(
self,
a: mask16x8<Self>,
b: mask16x8<Self>,
) -> mask16x8<Self>
fn slide_within_blocks_mask16x8<const SHIFT: usize>( self, a: mask16x8<Self>, b: mask16x8<Self>, ) -> mask16x8<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn and_mask16x8(self, a: mask16x8<Self>, b: mask16x8<Self>) -> mask16x8<Self>
fn and_mask16x8(self, a: mask16x8<Self>, b: mask16x8<Self>) -> mask16x8<Self>
Compute the logical AND of two masks.
Source§fn or_mask16x8(self, a: mask16x8<Self>, b: mask16x8<Self>) -> mask16x8<Self>
fn or_mask16x8(self, a: mask16x8<Self>, b: mask16x8<Self>) -> mask16x8<Self>
Compute the logical OR of two masks.
Source§fn xor_mask16x8(self, a: mask16x8<Self>, b: mask16x8<Self>) -> mask16x8<Self>
fn xor_mask16x8(self, a: mask16x8<Self>, b: mask16x8<Self>) -> mask16x8<Self>
Compute the logical XOR of two masks.
Source§fn not_mask16x8(self, a: mask16x8<Self>) -> mask16x8<Self>
fn not_mask16x8(self, a: mask16x8<Self>) -> mask16x8<Self>
Compute the logical NOT of the mask.
Source§fn select_mask16x8(
self,
a: mask16x8<Self>,
b: mask16x8<Self>,
c: mask16x8<Self>,
) -> mask16x8<Self>
fn select_mask16x8( self, a: mask16x8<Self>, b: mask16x8<Self>, c: mask16x8<Self>, ) -> mask16x8<Self>
Source§fn simd_eq_mask16x8(
self,
a: mask16x8<Self>,
b: mask16x8<Self>,
) -> mask16x8<Self>
fn simd_eq_mask16x8( self, a: mask16x8<Self>, b: mask16x8<Self>, ) -> mask16x8<Self>
Compare two vectors element-wise for equality. Read more
Source§fn any_true_mask16x8(self, a: mask16x8<Self>) -> bool
fn any_true_mask16x8(self, a: mask16x8<Self>) -> bool
Returns true if any elements in this mask are true (all ones). Read more
Source§fn all_true_mask16x8(self, a: mask16x8<Self>) -> bool
fn all_true_mask16x8(self, a: mask16x8<Self>) -> bool
Returns true if all elements in this mask are true (all ones). Read more
Source§fn any_false_mask16x8(self, a: mask16x8<Self>) -> bool
fn any_false_mask16x8(self, a: mask16x8<Self>) -> bool
Returns true if any elements in this mask are false (all zeroes). Read more
Source§fn all_false_mask16x8(self, a: mask16x8<Self>) -> bool
fn all_false_mask16x8(self, a: mask16x8<Self>) -> bool
Returns true if all elements in this mask are false (all zeroes). Read more
Source§fn combine_mask16x8(
self,
a: mask16x8<Self>,
b: mask16x8<Self>,
) -> mask16x16<Self>
fn combine_mask16x8( self, a: mask16x8<Self>, b: mask16x8<Self>, ) -> mask16x16<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn splat_i32x4(self, val: i32) -> i32x4<Self>
fn splat_i32x4(self, val: i32) -> i32x4<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_i32x4(self, val: [i32; 4]) -> i32x4<Self>
fn load_array_i32x4(self, val: [i32; 4]) -> i32x4<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_i32x4(self, val: &[i32; 4]) -> i32x4<Self>
fn load_array_ref_i32x4(self, val: &[i32; 4]) -> i32x4<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_i32x4(self, a: &i32x4<Self>) -> &[i32; 4]
fn as_array_ref_i32x4(self, a: &i32x4<Self>) -> &[i32; 4]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_i32x4(self, a: &mut i32x4<Self>) -> &mut [i32; 4]
fn as_array_mut_i32x4(self, a: &mut i32x4<Self>) -> &mut [i32; 4]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_i32x4(self, a: i32x4<Self>, dest: &mut [i32; 4])
fn store_array_i32x4(self, a: i32x4<Self>, dest: &mut [i32; 4])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_i32x4(self, a: u8x16<Self>) -> i32x4<Self>
fn cvt_from_bytes_i32x4(self, a: u8x16<Self>) -> i32x4<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_i32x4(self, a: i32x4<Self>) -> u8x16<Self>
fn cvt_to_bytes_i32x4(self, a: i32x4<Self>) -> u8x16<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_within_blocks_i32x4<const SHIFT: usize>(
self,
a: i32x4<Self>,
b: i32x4<Self>,
) -> i32x4<Self>
fn slide_within_blocks_i32x4<const SHIFT: usize>( self, a: i32x4<Self>, b: i32x4<Self>, ) -> i32x4<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn add_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
fn add_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
Add two vectors element-wise, wrapping on overflow.
Source§fn sub_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
fn sub_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
Subtract two vectors element-wise, wrapping on overflow.
Source§fn mul_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
fn mul_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
Multiply two vectors element-wise, wrapping on overflow.
Source§fn and_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
fn and_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
Compute the bitwise AND of two vectors.
Source§fn or_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
fn or_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
Compute the bitwise OR of two vectors.
Source§fn xor_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
fn xor_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
Compute the bitwise XOR of two vectors.
Source§fn shl_i32x4(self, a: i32x4<Self>, shift: u32) -> i32x4<Self>
fn shl_i32x4(self, a: i32x4<Self>, shift: u32) -> i32x4<Self>
Shift each element left by the given number of bits. Read more
Source§fn shlv_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
fn shlv_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
Shift each element left by the given number of bits. Read more
Source§fn shr_i32x4(self, a: i32x4<Self>, shift: u32) -> i32x4<Self>
fn shr_i32x4(self, a: i32x4<Self>, shift: u32) -> i32x4<Self>
Shift each element right by the given number of bits. Read more
Source§fn shrv_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
fn shrv_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
Shift each element right by the corresponding element in another vector. Read more
Source§fn simd_eq_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> mask32x4<Self>
fn simd_eq_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> mask32x4<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> mask32x4<Self>
fn simd_lt_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> mask32x4<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> mask32x4<Self>
fn simd_le_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> mask32x4<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> mask32x4<Self>
fn simd_ge_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> mask32x4<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> mask32x4<Self>
fn simd_gt_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> mask32x4<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
fn zip_low_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
fn zip_high_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
fn unzip_low_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
fn unzip_high_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn select_i32x4(
self,
a: mask32x4<Self>,
b: i32x4<Self>,
c: i32x4<Self>,
) -> i32x4<Self>
fn select_i32x4( self, a: mask32x4<Self>, b: i32x4<Self>, c: i32x4<Self>, ) -> i32x4<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn min_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
fn min_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
Return the element-wise minimum of two vectors.
Source§fn max_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
fn max_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x4<Self>
Return the element-wise maximum of two vectors.
Source§fn combine_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x8<Self>
fn combine_i32x4(self, a: i32x4<Self>, b: i32x4<Self>) -> i32x8<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn neg_i32x4(self, a: i32x4<Self>) -> i32x4<Self>
fn neg_i32x4(self, a: i32x4<Self>) -> i32x4<Self>
Negate each element of the vector, wrapping on overflow.
Source§fn reinterpret_u8_i32x4(self, a: i32x4<Self>) -> u8x16<Self>
fn reinterpret_u8_i32x4(self, a: i32x4<Self>) -> u8x16<Self>
Reinterpret the bits of this vector as a vector of
u8 elements. Read moreSource§fn reinterpret_u32_i32x4(self, a: i32x4<Self>) -> u32x4<Self>
fn reinterpret_u32_i32x4(self, a: i32x4<Self>) -> u32x4<Self>
Reinterpret the bits of this vector as a vector of
u32 elements. Read moreSource§fn cvt_f32_i32x4(self, a: i32x4<Self>) -> f32x4<Self>
fn cvt_f32_i32x4(self, a: i32x4<Self>) -> f32x4<Self>
Convert each signed 32-bit integer element to a floating-point value. Read more
Source§fn splat_u32x4(self, val: u32) -> u32x4<Self>
fn splat_u32x4(self, val: u32) -> u32x4<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_u32x4(self, val: [u32; 4]) -> u32x4<Self>
fn load_array_u32x4(self, val: [u32; 4]) -> u32x4<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_u32x4(self, val: &[u32; 4]) -> u32x4<Self>
fn load_array_ref_u32x4(self, val: &[u32; 4]) -> u32x4<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_u32x4(self, a: &u32x4<Self>) -> &[u32; 4]
fn as_array_ref_u32x4(self, a: &u32x4<Self>) -> &[u32; 4]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_u32x4(self, a: &mut u32x4<Self>) -> &mut [u32; 4]
fn as_array_mut_u32x4(self, a: &mut u32x4<Self>) -> &mut [u32; 4]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_u32x4(self, a: u32x4<Self>, dest: &mut [u32; 4])
fn store_array_u32x4(self, a: u32x4<Self>, dest: &mut [u32; 4])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_u32x4(self, a: u8x16<Self>) -> u32x4<Self>
fn cvt_from_bytes_u32x4(self, a: u8x16<Self>) -> u32x4<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_u32x4(self, a: u32x4<Self>) -> u8x16<Self>
fn cvt_to_bytes_u32x4(self, a: u32x4<Self>) -> u8x16<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_within_blocks_u32x4<const SHIFT: usize>(
self,
a: u32x4<Self>,
b: u32x4<Self>,
) -> u32x4<Self>
fn slide_within_blocks_u32x4<const SHIFT: usize>( self, a: u32x4<Self>, b: u32x4<Self>, ) -> u32x4<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn add_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
fn add_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
Add two vectors element-wise, wrapping on overflow.
Source§fn sub_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
fn sub_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
Subtract two vectors element-wise, wrapping on overflow.
Source§fn mul_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
fn mul_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
Multiply two vectors element-wise, wrapping on overflow.
Source§fn and_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
fn and_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
Compute the bitwise AND of two vectors.
Source§fn or_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
fn or_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
Compute the bitwise OR of two vectors.
Source§fn xor_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
fn xor_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
Compute the bitwise XOR of two vectors.
Source§fn shl_u32x4(self, a: u32x4<Self>, shift: u32) -> u32x4<Self>
fn shl_u32x4(self, a: u32x4<Self>, shift: u32) -> u32x4<Self>
Shift each element left by the given number of bits. Read more
Source§fn shlv_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
fn shlv_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
Shift each element left by the given number of bits. Read more
Source§fn shr_u32x4(self, a: u32x4<Self>, shift: u32) -> u32x4<Self>
fn shr_u32x4(self, a: u32x4<Self>, shift: u32) -> u32x4<Self>
Shift each element right by the given number of bits. Read more
Source§fn shrv_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
fn shrv_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
Shift each element right by the corresponding element in another vector. Read more
Source§fn simd_eq_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> mask32x4<Self>
fn simd_eq_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> mask32x4<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> mask32x4<Self>
fn simd_lt_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> mask32x4<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> mask32x4<Self>
fn simd_le_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> mask32x4<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> mask32x4<Self>
fn simd_ge_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> mask32x4<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> mask32x4<Self>
fn simd_gt_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> mask32x4<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
fn zip_low_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
fn zip_high_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
fn unzip_low_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
fn unzip_high_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn select_u32x4(
self,
a: mask32x4<Self>,
b: u32x4<Self>,
c: u32x4<Self>,
) -> u32x4<Self>
fn select_u32x4( self, a: mask32x4<Self>, b: u32x4<Self>, c: u32x4<Self>, ) -> u32x4<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn min_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
fn min_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
Return the element-wise minimum of two vectors.
Source§fn max_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
fn max_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x4<Self>
Return the element-wise maximum of two vectors.
Source§fn combine_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x8<Self>
fn combine_u32x4(self, a: u32x4<Self>, b: u32x4<Self>) -> u32x8<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn reinterpret_u8_u32x4(self, a: u32x4<Self>) -> u8x16<Self>
fn reinterpret_u8_u32x4(self, a: u32x4<Self>) -> u8x16<Self>
Reinterpret the bits of this vector as a vector of
u8 elements. Read moreSource§fn cvt_f32_u32x4(self, a: u32x4<Self>) -> f32x4<Self>
fn cvt_f32_u32x4(self, a: u32x4<Self>) -> f32x4<Self>
Convert each unsigned 32-bit integer element to a floating-point value. Read more
Source§fn splat_mask32x4(self, val: i32) -> mask32x4<Self>
fn splat_mask32x4(self, val: i32) -> mask32x4<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_mask32x4(self, val: [i32; 4]) -> mask32x4<Self>
fn load_array_mask32x4(self, val: [i32; 4]) -> mask32x4<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_mask32x4(self, val: &[i32; 4]) -> mask32x4<Self>
fn load_array_ref_mask32x4(self, val: &[i32; 4]) -> mask32x4<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_mask32x4(self, a: &mask32x4<Self>) -> &[i32; 4]
fn as_array_ref_mask32x4(self, a: &mask32x4<Self>) -> &[i32; 4]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_mask32x4(self, a: &mut mask32x4<Self>) -> &mut [i32; 4]
fn as_array_mut_mask32x4(self, a: &mut mask32x4<Self>) -> &mut [i32; 4]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_mask32x4(self, a: mask32x4<Self>, dest: &mut [i32; 4])
fn store_array_mask32x4(self, a: mask32x4<Self>, dest: &mut [i32; 4])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_mask32x4(self, a: u8x16<Self>) -> mask32x4<Self>
fn cvt_from_bytes_mask32x4(self, a: u8x16<Self>) -> mask32x4<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_mask32x4(self, a: mask32x4<Self>) -> u8x16<Self>
fn cvt_to_bytes_mask32x4(self, a: mask32x4<Self>) -> u8x16<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_mask32x4<const SHIFT: usize>(
self,
a: mask32x4<Self>,
b: mask32x4<Self>,
) -> mask32x4<Self>
fn slide_mask32x4<const SHIFT: usize>( self, a: mask32x4<Self>, b: mask32x4<Self>, ) -> mask32x4<Self>
Source§fn slide_within_blocks_mask32x4<const SHIFT: usize>(
self,
a: mask32x4<Self>,
b: mask32x4<Self>,
) -> mask32x4<Self>
fn slide_within_blocks_mask32x4<const SHIFT: usize>( self, a: mask32x4<Self>, b: mask32x4<Self>, ) -> mask32x4<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn and_mask32x4(self, a: mask32x4<Self>, b: mask32x4<Self>) -> mask32x4<Self>
fn and_mask32x4(self, a: mask32x4<Self>, b: mask32x4<Self>) -> mask32x4<Self>
Compute the logical AND of two masks.
Source§fn or_mask32x4(self, a: mask32x4<Self>, b: mask32x4<Self>) -> mask32x4<Self>
fn or_mask32x4(self, a: mask32x4<Self>, b: mask32x4<Self>) -> mask32x4<Self>
Compute the logical OR of two masks.
Source§fn xor_mask32x4(self, a: mask32x4<Self>, b: mask32x4<Self>) -> mask32x4<Self>
fn xor_mask32x4(self, a: mask32x4<Self>, b: mask32x4<Self>) -> mask32x4<Self>
Compute the logical XOR of two masks.
Source§fn not_mask32x4(self, a: mask32x4<Self>) -> mask32x4<Self>
fn not_mask32x4(self, a: mask32x4<Self>) -> mask32x4<Self>
Compute the logical NOT of the mask.
Source§fn select_mask32x4(
self,
a: mask32x4<Self>,
b: mask32x4<Self>,
c: mask32x4<Self>,
) -> mask32x4<Self>
fn select_mask32x4( self, a: mask32x4<Self>, b: mask32x4<Self>, c: mask32x4<Self>, ) -> mask32x4<Self>
Source§fn simd_eq_mask32x4(
self,
a: mask32x4<Self>,
b: mask32x4<Self>,
) -> mask32x4<Self>
fn simd_eq_mask32x4( self, a: mask32x4<Self>, b: mask32x4<Self>, ) -> mask32x4<Self>
Compare two vectors element-wise for equality. Read more
Source§fn any_true_mask32x4(self, a: mask32x4<Self>) -> bool
fn any_true_mask32x4(self, a: mask32x4<Self>) -> bool
Returns true if any elements in this mask are true (all ones). Read more
Source§fn all_true_mask32x4(self, a: mask32x4<Self>) -> bool
fn all_true_mask32x4(self, a: mask32x4<Self>) -> bool
Returns true if all elements in this mask are true (all ones). Read more
Source§fn any_false_mask32x4(self, a: mask32x4<Self>) -> bool
fn any_false_mask32x4(self, a: mask32x4<Self>) -> bool
Returns true if any elements in this mask are false (all zeroes). Read more
Source§fn all_false_mask32x4(self, a: mask32x4<Self>) -> bool
fn all_false_mask32x4(self, a: mask32x4<Self>) -> bool
Returns true if all elements in this mask are false (all zeroes). Read more
Source§fn combine_mask32x4(
self,
a: mask32x4<Self>,
b: mask32x4<Self>,
) -> mask32x8<Self>
fn combine_mask32x4( self, a: mask32x4<Self>, b: mask32x4<Self>, ) -> mask32x8<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn splat_f64x2(self, val: f64) -> f64x2<Self>
fn splat_f64x2(self, val: f64) -> f64x2<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_f64x2(self, val: [f64; 2]) -> f64x2<Self>
fn load_array_f64x2(self, val: [f64; 2]) -> f64x2<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_f64x2(self, val: &[f64; 2]) -> f64x2<Self>
fn load_array_ref_f64x2(self, val: &[f64; 2]) -> f64x2<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_f64x2(self, a: &f64x2<Self>) -> &[f64; 2]
fn as_array_ref_f64x2(self, a: &f64x2<Self>) -> &[f64; 2]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_f64x2(self, a: &mut f64x2<Self>) -> &mut [f64; 2]
fn as_array_mut_f64x2(self, a: &mut f64x2<Self>) -> &mut [f64; 2]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_f64x2(self, a: f64x2<Self>, dest: &mut [f64; 2])
fn store_array_f64x2(self, a: f64x2<Self>, dest: &mut [f64; 2])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_f64x2(self, a: u8x16<Self>) -> f64x2<Self>
fn cvt_from_bytes_f64x2(self, a: u8x16<Self>) -> f64x2<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_f64x2(self, a: f64x2<Self>) -> u8x16<Self>
fn cvt_to_bytes_f64x2(self, a: f64x2<Self>) -> u8x16<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_within_blocks_f64x2<const SHIFT: usize>(
self,
a: f64x2<Self>,
b: f64x2<Self>,
) -> f64x2<Self>
fn slide_within_blocks_f64x2<const SHIFT: usize>( self, a: f64x2<Self>, b: f64x2<Self>, ) -> f64x2<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn sqrt_f64x2(self, a: f64x2<Self>) -> f64x2<Self>
fn sqrt_f64x2(self, a: f64x2<Self>) -> f64x2<Self>
Compute the square root of each element. Read more
Source§fn add_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
fn add_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
Add two vectors element-wise.
Source§fn sub_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
fn sub_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
Subtract two vectors element-wise.
Source§fn mul_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
fn mul_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
Multiply two vectors element-wise.
Source§fn div_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
fn div_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
Divide two vectors element-wise.
Source§fn simd_eq_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> mask64x2<Self>
fn simd_eq_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> mask64x2<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> mask64x2<Self>
fn simd_lt_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> mask64x2<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> mask64x2<Self>
fn simd_le_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> mask64x2<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> mask64x2<Self>
fn simd_ge_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> mask64x2<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> mask64x2<Self>
fn simd_gt_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> mask64x2<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
fn zip_low_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
fn zip_high_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
fn unzip_low_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
fn unzip_high_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn max_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
fn max_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
Return the element-wise maximum of two vectors. Read more
Source§fn min_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
fn min_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
Return the element-wise minimum of two vectors. Read more
Source§fn max_precise_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
fn max_precise_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
Return the element-wise maximum of two vectors. Read more
Source§fn min_precise_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
fn min_precise_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x2<Self>
Return the element-wise minimum of two vectors. Read more
Source§fn mul_add_f64x2(
self,
a: f64x2<Self>,
b: f64x2<Self>,
c: f64x2<Self>,
) -> f64x2<Self>
fn mul_add_f64x2( self, a: f64x2<Self>, b: f64x2<Self>, c: f64x2<Self>, ) -> f64x2<Self>
Compute
(a * b) + c (fused multiply-add) for each element. Read moreSource§fn mul_sub_f64x2(
self,
a: f64x2<Self>,
b: f64x2<Self>,
c: f64x2<Self>,
) -> f64x2<Self>
fn mul_sub_f64x2( self, a: f64x2<Self>, b: f64x2<Self>, c: f64x2<Self>, ) -> f64x2<Self>
Compute
(a * b) - c (fused multiply-subtract) for each element. Read moreSource§fn floor_f64x2(self, a: f64x2<Self>) -> f64x2<Self>
fn floor_f64x2(self, a: f64x2<Self>) -> f64x2<Self>
Return the largest integer less than or equal to each element, that is, round towards negative infinity.
Source§fn ceil_f64x2(self, a: f64x2<Self>) -> f64x2<Self>
fn ceil_f64x2(self, a: f64x2<Self>) -> f64x2<Self>
Return the smallest integer greater than or equal to each element, that is, round towards positive infinity.
Source§fn round_ties_even_f64x2(self, a: f64x2<Self>) -> f64x2<Self>
fn round_ties_even_f64x2(self, a: f64x2<Self>) -> f64x2<Self>
Round each element to the nearest integer, with ties rounding to the nearest even integer. Read more
Source§fn fract_f64x2(self, a: f64x2<Self>) -> f64x2<Self>
fn fract_f64x2(self, a: f64x2<Self>) -> f64x2<Self>
Return the fractional part of each element. Read more
Source§fn trunc_f64x2(self, a: f64x2<Self>) -> f64x2<Self>
fn trunc_f64x2(self, a: f64x2<Self>) -> f64x2<Self>
Return the integer part of each element, rounding towards zero.
Source§fn select_f64x2(
self,
a: mask64x2<Self>,
b: f64x2<Self>,
c: f64x2<Self>,
) -> f64x2<Self>
fn select_f64x2( self, a: mask64x2<Self>, b: f64x2<Self>, c: f64x2<Self>, ) -> f64x2<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn combine_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x4<Self>
fn combine_f64x2(self, a: f64x2<Self>, b: f64x2<Self>) -> f64x4<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn reinterpret_f32_f64x2(self, a: f64x2<Self>) -> f32x4<Self>
fn reinterpret_f32_f64x2(self, a: f64x2<Self>) -> f32x4<Self>
Reinterpret the bits of this vector as a vector of
f32 elements. Read moreSource§fn splat_mask64x2(self, val: i64) -> mask64x2<Self>
fn splat_mask64x2(self, val: i64) -> mask64x2<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_mask64x2(self, val: [i64; 2]) -> mask64x2<Self>
fn load_array_mask64x2(self, val: [i64; 2]) -> mask64x2<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_mask64x2(self, val: &[i64; 2]) -> mask64x2<Self>
fn load_array_ref_mask64x2(self, val: &[i64; 2]) -> mask64x2<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_mask64x2(self, a: &mask64x2<Self>) -> &[i64; 2]
fn as_array_ref_mask64x2(self, a: &mask64x2<Self>) -> &[i64; 2]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_mask64x2(self, a: &mut mask64x2<Self>) -> &mut [i64; 2]
fn as_array_mut_mask64x2(self, a: &mut mask64x2<Self>) -> &mut [i64; 2]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_mask64x2(self, a: mask64x2<Self>, dest: &mut [i64; 2])
fn store_array_mask64x2(self, a: mask64x2<Self>, dest: &mut [i64; 2])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_mask64x2(self, a: u8x16<Self>) -> mask64x2<Self>
fn cvt_from_bytes_mask64x2(self, a: u8x16<Self>) -> mask64x2<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_mask64x2(self, a: mask64x2<Self>) -> u8x16<Self>
fn cvt_to_bytes_mask64x2(self, a: mask64x2<Self>) -> u8x16<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_mask64x2<const SHIFT: usize>(
self,
a: mask64x2<Self>,
b: mask64x2<Self>,
) -> mask64x2<Self>
fn slide_mask64x2<const SHIFT: usize>( self, a: mask64x2<Self>, b: mask64x2<Self>, ) -> mask64x2<Self>
Source§fn slide_within_blocks_mask64x2<const SHIFT: usize>(
self,
a: mask64x2<Self>,
b: mask64x2<Self>,
) -> mask64x2<Self>
fn slide_within_blocks_mask64x2<const SHIFT: usize>( self, a: mask64x2<Self>, b: mask64x2<Self>, ) -> mask64x2<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn and_mask64x2(self, a: mask64x2<Self>, b: mask64x2<Self>) -> mask64x2<Self>
fn and_mask64x2(self, a: mask64x2<Self>, b: mask64x2<Self>) -> mask64x2<Self>
Compute the logical AND of two masks.
Source§fn or_mask64x2(self, a: mask64x2<Self>, b: mask64x2<Self>) -> mask64x2<Self>
fn or_mask64x2(self, a: mask64x2<Self>, b: mask64x2<Self>) -> mask64x2<Self>
Compute the logical OR of two masks.
Source§fn xor_mask64x2(self, a: mask64x2<Self>, b: mask64x2<Self>) -> mask64x2<Self>
fn xor_mask64x2(self, a: mask64x2<Self>, b: mask64x2<Self>) -> mask64x2<Self>
Compute the logical XOR of two masks.
Source§fn not_mask64x2(self, a: mask64x2<Self>) -> mask64x2<Self>
fn not_mask64x2(self, a: mask64x2<Self>) -> mask64x2<Self>
Compute the logical NOT of the mask.
Source§fn select_mask64x2(
self,
a: mask64x2<Self>,
b: mask64x2<Self>,
c: mask64x2<Self>,
) -> mask64x2<Self>
fn select_mask64x2( self, a: mask64x2<Self>, b: mask64x2<Self>, c: mask64x2<Self>, ) -> mask64x2<Self>
Source§fn simd_eq_mask64x2(
self,
a: mask64x2<Self>,
b: mask64x2<Self>,
) -> mask64x2<Self>
fn simd_eq_mask64x2( self, a: mask64x2<Self>, b: mask64x2<Self>, ) -> mask64x2<Self>
Compare two vectors element-wise for equality. Read more
Source§fn any_true_mask64x2(self, a: mask64x2<Self>) -> bool
fn any_true_mask64x2(self, a: mask64x2<Self>) -> bool
Returns true if any elements in this mask are true (all ones). Read more
Source§fn all_true_mask64x2(self, a: mask64x2<Self>) -> bool
fn all_true_mask64x2(self, a: mask64x2<Self>) -> bool
Returns true if all elements in this mask are true (all ones). Read more
Source§fn any_false_mask64x2(self, a: mask64x2<Self>) -> bool
fn any_false_mask64x2(self, a: mask64x2<Self>) -> bool
Returns true if any elements in this mask are false (all zeroes). Read more
Source§fn all_false_mask64x2(self, a: mask64x2<Self>) -> bool
fn all_false_mask64x2(self, a: mask64x2<Self>) -> bool
Returns true if all elements in this mask are false (all zeroes). Read more
Source§fn combine_mask64x2(
self,
a: mask64x2<Self>,
b: mask64x2<Self>,
) -> mask64x4<Self>
fn combine_mask64x2( self, a: mask64x2<Self>, b: mask64x2<Self>, ) -> mask64x4<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn splat_f32x8(self, val: f32) -> f32x8<Self>
fn splat_f32x8(self, val: f32) -> f32x8<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_f32x8(self, val: [f32; 8]) -> f32x8<Self>
fn load_array_f32x8(self, val: [f32; 8]) -> f32x8<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_f32x8(self, val: &[f32; 8]) -> f32x8<Self>
fn load_array_ref_f32x8(self, val: &[f32; 8]) -> f32x8<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_f32x8(self, a: &f32x8<Self>) -> &[f32; 8]
fn as_array_ref_f32x8(self, a: &f32x8<Self>) -> &[f32; 8]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_f32x8(self, a: &mut f32x8<Self>) -> &mut [f32; 8]
fn as_array_mut_f32x8(self, a: &mut f32x8<Self>) -> &mut [f32; 8]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_f32x8(self, a: f32x8<Self>, dest: &mut [f32; 8])
fn store_array_f32x8(self, a: f32x8<Self>, dest: &mut [f32; 8])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_f32x8(self, a: u8x32<Self>) -> f32x8<Self>
fn cvt_from_bytes_f32x8(self, a: u8x32<Self>) -> f32x8<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_f32x8(self, a: f32x8<Self>) -> u8x32<Self>
fn cvt_to_bytes_f32x8(self, a: f32x8<Self>) -> u8x32<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_within_blocks_f32x8<const SHIFT: usize>(
self,
a: f32x8<Self>,
b: f32x8<Self>,
) -> f32x8<Self>
fn slide_within_blocks_f32x8<const SHIFT: usize>( self, a: f32x8<Self>, b: f32x8<Self>, ) -> f32x8<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn sqrt_f32x8(self, a: f32x8<Self>) -> f32x8<Self>
fn sqrt_f32x8(self, a: f32x8<Self>) -> f32x8<Self>
Compute the square root of each element. Read more
Source§fn add_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
fn add_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
Add two vectors element-wise.
Source§fn sub_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
fn sub_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
Subtract two vectors element-wise.
Source§fn mul_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
fn mul_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
Multiply two vectors element-wise.
Source§fn div_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
fn div_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
Divide two vectors element-wise.
Source§fn simd_eq_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> mask32x8<Self>
fn simd_eq_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> mask32x8<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> mask32x8<Self>
fn simd_lt_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> mask32x8<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> mask32x8<Self>
fn simd_le_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> mask32x8<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> mask32x8<Self>
fn simd_ge_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> mask32x8<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> mask32x8<Self>
fn simd_gt_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> mask32x8<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
fn zip_low_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
fn zip_high_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
fn unzip_low_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
fn unzip_high_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn max_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
fn max_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
Return the element-wise maximum of two vectors. Read more
Source§fn min_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
fn min_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
Return the element-wise minimum of two vectors. Read more
Source§fn max_precise_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
fn max_precise_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
Return the element-wise maximum of two vectors. Read more
Source§fn min_precise_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
fn min_precise_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x8<Self>
Return the element-wise minimum of two vectors. Read more
Source§fn mul_add_f32x8(
self,
a: f32x8<Self>,
b: f32x8<Self>,
c: f32x8<Self>,
) -> f32x8<Self>
fn mul_add_f32x8( self, a: f32x8<Self>, b: f32x8<Self>, c: f32x8<Self>, ) -> f32x8<Self>
Compute
(a * b) + c (fused multiply-add) for each element. Read moreSource§fn mul_sub_f32x8(
self,
a: f32x8<Self>,
b: f32x8<Self>,
c: f32x8<Self>,
) -> f32x8<Self>
fn mul_sub_f32x8( self, a: f32x8<Self>, b: f32x8<Self>, c: f32x8<Self>, ) -> f32x8<Self>
Compute
(a * b) - c (fused multiply-subtract) for each element. Read moreSource§fn floor_f32x8(self, a: f32x8<Self>) -> f32x8<Self>
fn floor_f32x8(self, a: f32x8<Self>) -> f32x8<Self>
Return the largest integer less than or equal to each element, that is, round towards negative infinity.
Source§fn ceil_f32x8(self, a: f32x8<Self>) -> f32x8<Self>
fn ceil_f32x8(self, a: f32x8<Self>) -> f32x8<Self>
Return the smallest integer greater than or equal to each element, that is, round towards positive infinity.
Source§fn round_ties_even_f32x8(self, a: f32x8<Self>) -> f32x8<Self>
fn round_ties_even_f32x8(self, a: f32x8<Self>) -> f32x8<Self>
Round each element to the nearest integer, with ties rounding to the nearest even integer. Read more
Source§fn fract_f32x8(self, a: f32x8<Self>) -> f32x8<Self>
fn fract_f32x8(self, a: f32x8<Self>) -> f32x8<Self>
Return the fractional part of each element. Read more
Source§fn trunc_f32x8(self, a: f32x8<Self>) -> f32x8<Self>
fn trunc_f32x8(self, a: f32x8<Self>) -> f32x8<Self>
Return the integer part of each element, rounding towards zero.
Source§fn select_f32x8(
self,
a: mask32x8<Self>,
b: f32x8<Self>,
c: f32x8<Self>,
) -> f32x8<Self>
fn select_f32x8( self, a: mask32x8<Self>, b: f32x8<Self>, c: f32x8<Self>, ) -> f32x8<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn combine_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x16<Self>
fn combine_f32x8(self, a: f32x8<Self>, b: f32x8<Self>) -> f32x16<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn split_f32x8(self, a: f32x8<Self>) -> (f32x4<Self>, f32x4<Self>)
fn split_f32x8(self, a: f32x8<Self>) -> (f32x4<Self>, f32x4<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn reinterpret_f64_f32x8(self, a: f32x8<Self>) -> f64x4<Self>
fn reinterpret_f64_f32x8(self, a: f32x8<Self>) -> f64x4<Self>
Reinterpret the bits of this vector as a vector of
f64 elements. Read moreSource§fn reinterpret_i32_f32x8(self, a: f32x8<Self>) -> i32x8<Self>
fn reinterpret_i32_f32x8(self, a: f32x8<Self>) -> i32x8<Self>
Reinterpret the bits of this vector as a vector of
i32 elements. Read moreSource§fn reinterpret_u8_f32x8(self, a: f32x8<Self>) -> u8x32<Self>
fn reinterpret_u8_f32x8(self, a: f32x8<Self>) -> u8x32<Self>
Reinterpret the bits of this vector as a vector of
u8 elements. Read moreSource§fn reinterpret_u32_f32x8(self, a: f32x8<Self>) -> u32x8<Self>
fn reinterpret_u32_f32x8(self, a: f32x8<Self>) -> u32x8<Self>
Reinterpret the bits of this vector as a vector of
u32 elements. Read moreSource§fn cvt_u32_f32x8(self, a: f32x8<Self>) -> u32x8<Self>
fn cvt_u32_f32x8(self, a: f32x8<Self>) -> u32x8<Self>
Convert each floating-point element to an unsigned 32-bit integer, truncating towards zero. Read more
Source§fn cvt_u32_precise_f32x8(self, a: f32x8<Self>) -> u32x8<Self>
fn cvt_u32_precise_f32x8(self, a: f32x8<Self>) -> u32x8<Self>
Convert each floating-point element to an unsigned 32-bit integer, truncating towards zero. Read more
Source§fn cvt_i32_f32x8(self, a: f32x8<Self>) -> i32x8<Self>
fn cvt_i32_f32x8(self, a: f32x8<Self>) -> i32x8<Self>
Convert each floating-point element to a signed 32-bit integer, truncating towards zero. Read more
Source§fn cvt_i32_precise_f32x8(self, a: f32x8<Self>) -> i32x8<Self>
fn cvt_i32_precise_f32x8(self, a: f32x8<Self>) -> i32x8<Self>
Convert each floating-point element to a signed 32-bit integer, truncating towards zero. Read more
Source§fn splat_i8x32(self, val: i8) -> i8x32<Self>
fn splat_i8x32(self, val: i8) -> i8x32<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_i8x32(self, val: [i8; 32]) -> i8x32<Self>
fn load_array_i8x32(self, val: [i8; 32]) -> i8x32<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_i8x32(self, val: &[i8; 32]) -> i8x32<Self>
fn load_array_ref_i8x32(self, val: &[i8; 32]) -> i8x32<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_i8x32(self, a: &i8x32<Self>) -> &[i8; 32]
fn as_array_ref_i8x32(self, a: &i8x32<Self>) -> &[i8; 32]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_i8x32(self, a: &mut i8x32<Self>) -> &mut [i8; 32]
fn as_array_mut_i8x32(self, a: &mut i8x32<Self>) -> &mut [i8; 32]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_i8x32(self, a: i8x32<Self>, dest: &mut [i8; 32])
fn store_array_i8x32(self, a: i8x32<Self>, dest: &mut [i8; 32])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_i8x32(self, a: u8x32<Self>) -> i8x32<Self>
fn cvt_from_bytes_i8x32(self, a: u8x32<Self>) -> i8x32<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_i8x32(self, a: i8x32<Self>) -> u8x32<Self>
fn cvt_to_bytes_i8x32(self, a: i8x32<Self>) -> u8x32<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_within_blocks_i8x32<const SHIFT: usize>(
self,
a: i8x32<Self>,
b: i8x32<Self>,
) -> i8x32<Self>
fn slide_within_blocks_i8x32<const SHIFT: usize>( self, a: i8x32<Self>, b: i8x32<Self>, ) -> i8x32<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn add_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
fn add_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
Add two vectors element-wise, wrapping on overflow.
Source§fn sub_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
fn sub_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
Subtract two vectors element-wise, wrapping on overflow.
Source§fn mul_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
fn mul_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
Multiply two vectors element-wise, wrapping on overflow.
Source§fn and_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
fn and_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
Compute the bitwise AND of two vectors.
Source§fn or_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
fn or_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
Compute the bitwise OR of two vectors.
Source§fn xor_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
fn xor_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
Compute the bitwise XOR of two vectors.
Source§fn shl_i8x32(self, a: i8x32<Self>, shift: u32) -> i8x32<Self>
fn shl_i8x32(self, a: i8x32<Self>, shift: u32) -> i8x32<Self>
Shift each element left by the given number of bits. Read more
Source§fn shlv_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
fn shlv_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
Shift each element left by the given number of bits. Read more
Source§fn shr_i8x32(self, a: i8x32<Self>, shift: u32) -> i8x32<Self>
fn shr_i8x32(self, a: i8x32<Self>, shift: u32) -> i8x32<Self>
Shift each element right by the given number of bits. Read more
Source§fn shrv_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
fn shrv_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
Shift each element right by the corresponding element in another vector. Read more
Source§fn simd_eq_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> mask8x32<Self>
fn simd_eq_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> mask8x32<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> mask8x32<Self>
fn simd_lt_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> mask8x32<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> mask8x32<Self>
fn simd_le_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> mask8x32<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> mask8x32<Self>
fn simd_ge_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> mask8x32<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> mask8x32<Self>
fn simd_gt_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> mask8x32<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
fn zip_low_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
fn zip_high_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
fn unzip_low_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
fn unzip_high_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn select_i8x32(
self,
a: mask8x32<Self>,
b: i8x32<Self>,
c: i8x32<Self>,
) -> i8x32<Self>
fn select_i8x32( self, a: mask8x32<Self>, b: i8x32<Self>, c: i8x32<Self>, ) -> i8x32<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn min_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
fn min_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
Return the element-wise minimum of two vectors.
Source§fn max_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
fn max_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x32<Self>
Return the element-wise maximum of two vectors.
Source§fn combine_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x64<Self>
fn combine_i8x32(self, a: i8x32<Self>, b: i8x32<Self>) -> i8x64<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn split_i8x32(self, a: i8x32<Self>) -> (i8x16<Self>, i8x16<Self>)
fn split_i8x32(self, a: i8x32<Self>) -> (i8x16<Self>, i8x16<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn neg_i8x32(self, a: i8x32<Self>) -> i8x32<Self>
fn neg_i8x32(self, a: i8x32<Self>) -> i8x32<Self>
Negate each element of the vector, wrapping on overflow.
Source§fn reinterpret_u8_i8x32(self, a: i8x32<Self>) -> u8x32<Self>
fn reinterpret_u8_i8x32(self, a: i8x32<Self>) -> u8x32<Self>
Reinterpret the bits of this vector as a vector of
u8 elements. Read moreSource§fn reinterpret_u32_i8x32(self, a: i8x32<Self>) -> u32x8<Self>
fn reinterpret_u32_i8x32(self, a: i8x32<Self>) -> u32x8<Self>
Reinterpret the bits of this vector as a vector of
u32 elements. Read moreSource§fn splat_u8x32(self, val: u8) -> u8x32<Self>
fn splat_u8x32(self, val: u8) -> u8x32<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_u8x32(self, val: [u8; 32]) -> u8x32<Self>
fn load_array_u8x32(self, val: [u8; 32]) -> u8x32<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_u8x32(self, val: &[u8; 32]) -> u8x32<Self>
fn load_array_ref_u8x32(self, val: &[u8; 32]) -> u8x32<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_u8x32(self, a: &u8x32<Self>) -> &[u8; 32]
fn as_array_ref_u8x32(self, a: &u8x32<Self>) -> &[u8; 32]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_u8x32(self, a: &mut u8x32<Self>) -> &mut [u8; 32]
fn as_array_mut_u8x32(self, a: &mut u8x32<Self>) -> &mut [u8; 32]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_u8x32(self, a: u8x32<Self>, dest: &mut [u8; 32])
fn store_array_u8x32(self, a: u8x32<Self>, dest: &mut [u8; 32])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_u8x32(self, a: u8x32<Self>) -> u8x32<Self>
fn cvt_from_bytes_u8x32(self, a: u8x32<Self>) -> u8x32<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_u8x32(self, a: u8x32<Self>) -> u8x32<Self>
fn cvt_to_bytes_u8x32(self, a: u8x32<Self>) -> u8x32<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_within_blocks_u8x32<const SHIFT: usize>(
self,
a: u8x32<Self>,
b: u8x32<Self>,
) -> u8x32<Self>
fn slide_within_blocks_u8x32<const SHIFT: usize>( self, a: u8x32<Self>, b: u8x32<Self>, ) -> u8x32<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn add_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
fn add_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
Add two vectors element-wise, wrapping on overflow.
Source§fn sub_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
fn sub_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
Subtract two vectors element-wise, wrapping on overflow.
Source§fn mul_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
fn mul_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
Multiply two vectors element-wise, wrapping on overflow.
Source§fn and_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
fn and_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
Compute the bitwise AND of two vectors.
Source§fn or_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
fn or_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
Compute the bitwise OR of two vectors.
Source§fn xor_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
fn xor_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
Compute the bitwise XOR of two vectors.
Source§fn shl_u8x32(self, a: u8x32<Self>, shift: u32) -> u8x32<Self>
fn shl_u8x32(self, a: u8x32<Self>, shift: u32) -> u8x32<Self>
Shift each element left by the given number of bits. Read more
Source§fn shlv_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
fn shlv_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
Shift each element left by the given number of bits. Read more
Source§fn shr_u8x32(self, a: u8x32<Self>, shift: u32) -> u8x32<Self>
fn shr_u8x32(self, a: u8x32<Self>, shift: u32) -> u8x32<Self>
Shift each element right by the given number of bits. Read more
Source§fn shrv_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
fn shrv_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
Shift each element right by the corresponding element in another vector. Read more
Source§fn simd_eq_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> mask8x32<Self>
fn simd_eq_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> mask8x32<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> mask8x32<Self>
fn simd_lt_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> mask8x32<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> mask8x32<Self>
fn simd_le_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> mask8x32<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> mask8x32<Self>
fn simd_ge_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> mask8x32<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> mask8x32<Self>
fn simd_gt_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> mask8x32<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
fn zip_low_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
fn zip_high_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
fn unzip_low_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
fn unzip_high_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn select_u8x32(
self,
a: mask8x32<Self>,
b: u8x32<Self>,
c: u8x32<Self>,
) -> u8x32<Self>
fn select_u8x32( self, a: mask8x32<Self>, b: u8x32<Self>, c: u8x32<Self>, ) -> u8x32<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn min_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
fn min_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
Return the element-wise minimum of two vectors.
Source§fn max_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
fn max_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x32<Self>
Return the element-wise maximum of two vectors.
Source§fn combine_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x64<Self>
fn combine_u8x32(self, a: u8x32<Self>, b: u8x32<Self>) -> u8x64<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn split_u8x32(self, a: u8x32<Self>) -> (u8x16<Self>, u8x16<Self>)
fn split_u8x32(self, a: u8x32<Self>) -> (u8x16<Self>, u8x16<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn widen_u8x32(self, a: u8x32<Self>) -> u16x32<Self>
fn widen_u8x32(self, a: u8x32<Self>) -> u16x32<Self>
Zero-extend each element to a wider integer type. Read more
Source§fn reinterpret_u32_u8x32(self, a: u8x32<Self>) -> u32x8<Self>
fn reinterpret_u32_u8x32(self, a: u8x32<Self>) -> u32x8<Self>
Reinterpret the bits of this vector as a vector of
u32 elements. Read moreSource§fn splat_mask8x32(self, val: i8) -> mask8x32<Self>
fn splat_mask8x32(self, val: i8) -> mask8x32<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_mask8x32(self, val: [i8; 32]) -> mask8x32<Self>
fn load_array_mask8x32(self, val: [i8; 32]) -> mask8x32<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_mask8x32(self, val: &[i8; 32]) -> mask8x32<Self>
fn load_array_ref_mask8x32(self, val: &[i8; 32]) -> mask8x32<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_mask8x32(self, a: &mask8x32<Self>) -> &[i8; 32]
fn as_array_ref_mask8x32(self, a: &mask8x32<Self>) -> &[i8; 32]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_mask8x32(self, a: &mut mask8x32<Self>) -> &mut [i8; 32]
fn as_array_mut_mask8x32(self, a: &mut mask8x32<Self>) -> &mut [i8; 32]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_mask8x32(self, a: mask8x32<Self>, dest: &mut [i8; 32])
fn store_array_mask8x32(self, a: mask8x32<Self>, dest: &mut [i8; 32])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_mask8x32(self, a: u8x32<Self>) -> mask8x32<Self>
fn cvt_from_bytes_mask8x32(self, a: u8x32<Self>) -> mask8x32<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_mask8x32(self, a: mask8x32<Self>) -> u8x32<Self>
fn cvt_to_bytes_mask8x32(self, a: mask8x32<Self>) -> u8x32<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_mask8x32<const SHIFT: usize>(
self,
a: mask8x32<Self>,
b: mask8x32<Self>,
) -> mask8x32<Self>
fn slide_mask8x32<const SHIFT: usize>( self, a: mask8x32<Self>, b: mask8x32<Self>, ) -> mask8x32<Self>
Source§fn slide_within_blocks_mask8x32<const SHIFT: usize>(
self,
a: mask8x32<Self>,
b: mask8x32<Self>,
) -> mask8x32<Self>
fn slide_within_blocks_mask8x32<const SHIFT: usize>( self, a: mask8x32<Self>, b: mask8x32<Self>, ) -> mask8x32<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn and_mask8x32(self, a: mask8x32<Self>, b: mask8x32<Self>) -> mask8x32<Self>
fn and_mask8x32(self, a: mask8x32<Self>, b: mask8x32<Self>) -> mask8x32<Self>
Compute the logical AND of two masks.
Source§fn or_mask8x32(self, a: mask8x32<Self>, b: mask8x32<Self>) -> mask8x32<Self>
fn or_mask8x32(self, a: mask8x32<Self>, b: mask8x32<Self>) -> mask8x32<Self>
Compute the logical OR of two masks.
Source§fn xor_mask8x32(self, a: mask8x32<Self>, b: mask8x32<Self>) -> mask8x32<Self>
fn xor_mask8x32(self, a: mask8x32<Self>, b: mask8x32<Self>) -> mask8x32<Self>
Compute the logical XOR of two masks.
Source§fn not_mask8x32(self, a: mask8x32<Self>) -> mask8x32<Self>
fn not_mask8x32(self, a: mask8x32<Self>) -> mask8x32<Self>
Compute the logical NOT of the mask.
Source§fn select_mask8x32(
self,
a: mask8x32<Self>,
b: mask8x32<Self>,
c: mask8x32<Self>,
) -> mask8x32<Self>
fn select_mask8x32( self, a: mask8x32<Self>, b: mask8x32<Self>, c: mask8x32<Self>, ) -> mask8x32<Self>
Source§fn simd_eq_mask8x32(
self,
a: mask8x32<Self>,
b: mask8x32<Self>,
) -> mask8x32<Self>
fn simd_eq_mask8x32( self, a: mask8x32<Self>, b: mask8x32<Self>, ) -> mask8x32<Self>
Compare two vectors element-wise for equality. Read more
Source§fn any_true_mask8x32(self, a: mask8x32<Self>) -> bool
fn any_true_mask8x32(self, a: mask8x32<Self>) -> bool
Returns true if any elements in this mask are true (all ones). Read more
Source§fn all_true_mask8x32(self, a: mask8x32<Self>) -> bool
fn all_true_mask8x32(self, a: mask8x32<Self>) -> bool
Returns true if all elements in this mask are true (all ones). Read more
Source§fn any_false_mask8x32(self, a: mask8x32<Self>) -> bool
fn any_false_mask8x32(self, a: mask8x32<Self>) -> bool
Returns true if any elements in this mask are false (all zeroes). Read more
Source§fn all_false_mask8x32(self, a: mask8x32<Self>) -> bool
fn all_false_mask8x32(self, a: mask8x32<Self>) -> bool
Returns true if all elements in this mask are false (all zeroes). Read more
Source§fn combine_mask8x32(
self,
a: mask8x32<Self>,
b: mask8x32<Self>,
) -> mask8x64<Self>
fn combine_mask8x32( self, a: mask8x32<Self>, b: mask8x32<Self>, ) -> mask8x64<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn split_mask8x32(self, a: mask8x32<Self>) -> (mask8x16<Self>, mask8x16<Self>)
fn split_mask8x32(self, a: mask8x32<Self>) -> (mask8x16<Self>, mask8x16<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn splat_i16x16(self, val: i16) -> i16x16<Self>
fn splat_i16x16(self, val: i16) -> i16x16<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_i16x16(self, val: [i16; 16]) -> i16x16<Self>
fn load_array_i16x16(self, val: [i16; 16]) -> i16x16<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_i16x16(self, val: &[i16; 16]) -> i16x16<Self>
fn load_array_ref_i16x16(self, val: &[i16; 16]) -> i16x16<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_i16x16(self, a: &i16x16<Self>) -> &[i16; 16]
fn as_array_ref_i16x16(self, a: &i16x16<Self>) -> &[i16; 16]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_i16x16(self, a: &mut i16x16<Self>) -> &mut [i16; 16]
fn as_array_mut_i16x16(self, a: &mut i16x16<Self>) -> &mut [i16; 16]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_i16x16(self, a: i16x16<Self>, dest: &mut [i16; 16])
fn store_array_i16x16(self, a: i16x16<Self>, dest: &mut [i16; 16])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_i16x16(self, a: u8x32<Self>) -> i16x16<Self>
fn cvt_from_bytes_i16x16(self, a: u8x32<Self>) -> i16x16<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_i16x16(self, a: i16x16<Self>) -> u8x32<Self>
fn cvt_to_bytes_i16x16(self, a: i16x16<Self>) -> u8x32<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_i16x16<const SHIFT: usize>(
self,
a: i16x16<Self>,
b: i16x16<Self>,
) -> i16x16<Self>
fn slide_i16x16<const SHIFT: usize>( self, a: i16x16<Self>, b: i16x16<Self>, ) -> i16x16<Self>
Source§fn slide_within_blocks_i16x16<const SHIFT: usize>(
self,
a: i16x16<Self>,
b: i16x16<Self>,
) -> i16x16<Self>
fn slide_within_blocks_i16x16<const SHIFT: usize>( self, a: i16x16<Self>, b: i16x16<Self>, ) -> i16x16<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn add_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
fn add_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
Add two vectors element-wise, wrapping on overflow.
Source§fn sub_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
fn sub_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
Subtract two vectors element-wise, wrapping on overflow.
Source§fn mul_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
fn mul_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
Multiply two vectors element-wise, wrapping on overflow.
Source§fn and_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
fn and_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
Compute the bitwise AND of two vectors.
Source§fn or_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
fn or_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
Compute the bitwise OR of two vectors.
Source§fn xor_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
fn xor_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
Compute the bitwise XOR of two vectors.
Source§fn not_i16x16(self, a: i16x16<Self>) -> i16x16<Self>
fn not_i16x16(self, a: i16x16<Self>) -> i16x16<Self>
Compute the bitwise NOT of the vector.
Source§fn shl_i16x16(self, a: i16x16<Self>, shift: u32) -> i16x16<Self>
fn shl_i16x16(self, a: i16x16<Self>, shift: u32) -> i16x16<Self>
Shift each element left by the given number of bits. Read more
Source§fn shlv_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
fn shlv_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
Shift each element left by the given number of bits. Read more
Source§fn shr_i16x16(self, a: i16x16<Self>, shift: u32) -> i16x16<Self>
fn shr_i16x16(self, a: i16x16<Self>, shift: u32) -> i16x16<Self>
Shift each element right by the given number of bits. Read more
Source§fn shrv_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
fn shrv_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
Shift each element right by the corresponding element in another vector. Read more
Source§fn simd_eq_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> mask16x16<Self>
fn simd_eq_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> mask16x16<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> mask16x16<Self>
fn simd_lt_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> mask16x16<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> mask16x16<Self>
fn simd_le_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> mask16x16<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> mask16x16<Self>
fn simd_ge_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> mask16x16<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> mask16x16<Self>
fn simd_gt_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> mask16x16<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
fn zip_low_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
fn zip_high_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
fn unzip_low_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
fn unzip_high_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn select_i16x16(
self,
a: mask16x16<Self>,
b: i16x16<Self>,
c: i16x16<Self>,
) -> i16x16<Self>
fn select_i16x16( self, a: mask16x16<Self>, b: i16x16<Self>, c: i16x16<Self>, ) -> i16x16<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn min_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
fn min_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
Return the element-wise minimum of two vectors.
Source§fn max_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
fn max_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x16<Self>
Return the element-wise maximum of two vectors.
Source§fn combine_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x32<Self>
fn combine_i16x16(self, a: i16x16<Self>, b: i16x16<Self>) -> i16x32<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn split_i16x16(self, a: i16x16<Self>) -> (i16x8<Self>, i16x8<Self>)
fn split_i16x16(self, a: i16x16<Self>) -> (i16x8<Self>, i16x8<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn neg_i16x16(self, a: i16x16<Self>) -> i16x16<Self>
fn neg_i16x16(self, a: i16x16<Self>) -> i16x16<Self>
Negate each element of the vector, wrapping on overflow.
Source§fn reinterpret_u8_i16x16(self, a: i16x16<Self>) -> u8x32<Self>
fn reinterpret_u8_i16x16(self, a: i16x16<Self>) -> u8x32<Self>
Reinterpret the bits of this vector as a vector of
u8 elements. Read moreSource§fn reinterpret_u32_i16x16(self, a: i16x16<Self>) -> u32x8<Self>
fn reinterpret_u32_i16x16(self, a: i16x16<Self>) -> u32x8<Self>
Reinterpret the bits of this vector as a vector of
u32 elements. Read moreSource§fn splat_u16x16(self, val: u16) -> u16x16<Self>
fn splat_u16x16(self, val: u16) -> u16x16<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_u16x16(self, val: [u16; 16]) -> u16x16<Self>
fn load_array_u16x16(self, val: [u16; 16]) -> u16x16<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_u16x16(self, val: &[u16; 16]) -> u16x16<Self>
fn load_array_ref_u16x16(self, val: &[u16; 16]) -> u16x16<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_u16x16(self, a: &u16x16<Self>) -> &[u16; 16]
fn as_array_ref_u16x16(self, a: &u16x16<Self>) -> &[u16; 16]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_u16x16(self, a: &mut u16x16<Self>) -> &mut [u16; 16]
fn as_array_mut_u16x16(self, a: &mut u16x16<Self>) -> &mut [u16; 16]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_u16x16(self, a: u16x16<Self>, dest: &mut [u16; 16])
fn store_array_u16x16(self, a: u16x16<Self>, dest: &mut [u16; 16])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_u16x16(self, a: u8x32<Self>) -> u16x16<Self>
fn cvt_from_bytes_u16x16(self, a: u8x32<Self>) -> u16x16<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_u16x16(self, a: u16x16<Self>) -> u8x32<Self>
fn cvt_to_bytes_u16x16(self, a: u16x16<Self>) -> u8x32<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_u16x16<const SHIFT: usize>(
self,
a: u16x16<Self>,
b: u16x16<Self>,
) -> u16x16<Self>
fn slide_u16x16<const SHIFT: usize>( self, a: u16x16<Self>, b: u16x16<Self>, ) -> u16x16<Self>
Source§fn slide_within_blocks_u16x16<const SHIFT: usize>(
self,
a: u16x16<Self>,
b: u16x16<Self>,
) -> u16x16<Self>
fn slide_within_blocks_u16x16<const SHIFT: usize>( self, a: u16x16<Self>, b: u16x16<Self>, ) -> u16x16<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn add_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
fn add_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
Add two vectors element-wise, wrapping on overflow.
Source§fn sub_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
fn sub_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
Subtract two vectors element-wise, wrapping on overflow.
Source§fn mul_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
fn mul_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
Multiply two vectors element-wise, wrapping on overflow.
Source§fn and_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
fn and_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
Compute the bitwise AND of two vectors.
Source§fn or_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
fn or_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
Compute the bitwise OR of two vectors.
Source§fn xor_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
fn xor_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
Compute the bitwise XOR of two vectors.
Source§fn not_u16x16(self, a: u16x16<Self>) -> u16x16<Self>
fn not_u16x16(self, a: u16x16<Self>) -> u16x16<Self>
Compute the bitwise NOT of the vector.
Source§fn shl_u16x16(self, a: u16x16<Self>, shift: u32) -> u16x16<Self>
fn shl_u16x16(self, a: u16x16<Self>, shift: u32) -> u16x16<Self>
Shift each element left by the given number of bits. Read more
Source§fn shlv_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
fn shlv_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
Shift each element left by the given number of bits. Read more
Source§fn shr_u16x16(self, a: u16x16<Self>, shift: u32) -> u16x16<Self>
fn shr_u16x16(self, a: u16x16<Self>, shift: u32) -> u16x16<Self>
Shift each element right by the given number of bits. Read more
Source§fn shrv_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
fn shrv_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
Shift each element right by the corresponding element in another vector. Read more
Source§fn simd_eq_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> mask16x16<Self>
fn simd_eq_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> mask16x16<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> mask16x16<Self>
fn simd_lt_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> mask16x16<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> mask16x16<Self>
fn simd_le_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> mask16x16<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> mask16x16<Self>
fn simd_ge_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> mask16x16<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> mask16x16<Self>
fn simd_gt_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> mask16x16<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
fn zip_low_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
fn zip_high_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
fn unzip_low_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
fn unzip_high_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn select_u16x16(
self,
a: mask16x16<Self>,
b: u16x16<Self>,
c: u16x16<Self>,
) -> u16x16<Self>
fn select_u16x16( self, a: mask16x16<Self>, b: u16x16<Self>, c: u16x16<Self>, ) -> u16x16<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn min_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
fn min_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
Return the element-wise minimum of two vectors.
Source§fn max_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
fn max_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x16<Self>
Return the element-wise maximum of two vectors.
Source§fn combine_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x32<Self>
fn combine_u16x16(self, a: u16x16<Self>, b: u16x16<Self>) -> u16x32<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn split_u16x16(self, a: u16x16<Self>) -> (u16x8<Self>, u16x8<Self>)
fn split_u16x16(self, a: u16x16<Self>) -> (u16x8<Self>, u16x8<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn narrow_u16x16(self, a: u16x16<Self>) -> u8x16<Self>
fn narrow_u16x16(self, a: u16x16<Self>) -> u8x16<Self>
Truncate each element to a narrower integer type. Read more
Source§fn reinterpret_u8_u16x16(self, a: u16x16<Self>) -> u8x32<Self>
fn reinterpret_u8_u16x16(self, a: u16x16<Self>) -> u8x32<Self>
Reinterpret the bits of this vector as a vector of
u8 elements. Read moreSource§fn reinterpret_u32_u16x16(self, a: u16x16<Self>) -> u32x8<Self>
fn reinterpret_u32_u16x16(self, a: u16x16<Self>) -> u32x8<Self>
Reinterpret the bits of this vector as a vector of
u32 elements. Read moreSource§fn splat_mask16x16(self, val: i16) -> mask16x16<Self>
fn splat_mask16x16(self, val: i16) -> mask16x16<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_mask16x16(self, val: [i16; 16]) -> mask16x16<Self>
fn load_array_mask16x16(self, val: [i16; 16]) -> mask16x16<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_mask16x16(self, val: &[i16; 16]) -> mask16x16<Self>
fn load_array_ref_mask16x16(self, val: &[i16; 16]) -> mask16x16<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_mask16x16(self, a: mask16x16<Self>) -> [i16; 16]
fn as_array_mask16x16(self, a: mask16x16<Self>) -> [i16; 16]
Convert a SIMD vector to an array.
Source§fn as_array_ref_mask16x16(self, a: &mask16x16<Self>) -> &[i16; 16]
fn as_array_ref_mask16x16(self, a: &mask16x16<Self>) -> &[i16; 16]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_mask16x16(self, a: &mut mask16x16<Self>) -> &mut [i16; 16]
fn as_array_mut_mask16x16(self, a: &mut mask16x16<Self>) -> &mut [i16; 16]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_mask16x16(self, a: mask16x16<Self>, dest: &mut [i16; 16])
fn store_array_mask16x16(self, a: mask16x16<Self>, dest: &mut [i16; 16])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_mask16x16(self, a: u8x32<Self>) -> mask16x16<Self>
fn cvt_from_bytes_mask16x16(self, a: u8x32<Self>) -> mask16x16<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_mask16x16(self, a: mask16x16<Self>) -> u8x32<Self>
fn cvt_to_bytes_mask16x16(self, a: mask16x16<Self>) -> u8x32<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_mask16x16<const SHIFT: usize>(
self,
a: mask16x16<Self>,
b: mask16x16<Self>,
) -> mask16x16<Self>
fn slide_mask16x16<const SHIFT: usize>( self, a: mask16x16<Self>, b: mask16x16<Self>, ) -> mask16x16<Self>
Source§fn slide_within_blocks_mask16x16<const SHIFT: usize>(
self,
a: mask16x16<Self>,
b: mask16x16<Self>,
) -> mask16x16<Self>
fn slide_within_blocks_mask16x16<const SHIFT: usize>( self, a: mask16x16<Self>, b: mask16x16<Self>, ) -> mask16x16<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn and_mask16x16(
self,
a: mask16x16<Self>,
b: mask16x16<Self>,
) -> mask16x16<Self>
fn and_mask16x16( self, a: mask16x16<Self>, b: mask16x16<Self>, ) -> mask16x16<Self>
Compute the logical AND of two masks.
Source§fn or_mask16x16(self, a: mask16x16<Self>, b: mask16x16<Self>) -> mask16x16<Self>
fn or_mask16x16(self, a: mask16x16<Self>, b: mask16x16<Self>) -> mask16x16<Self>
Compute the logical OR of two masks.
Source§fn xor_mask16x16(
self,
a: mask16x16<Self>,
b: mask16x16<Self>,
) -> mask16x16<Self>
fn xor_mask16x16( self, a: mask16x16<Self>, b: mask16x16<Self>, ) -> mask16x16<Self>
Compute the logical XOR of two masks.
Source§fn not_mask16x16(self, a: mask16x16<Self>) -> mask16x16<Self>
fn not_mask16x16(self, a: mask16x16<Self>) -> mask16x16<Self>
Compute the logical NOT of the mask.
Source§fn select_mask16x16(
self,
a: mask16x16<Self>,
b: mask16x16<Self>,
c: mask16x16<Self>,
) -> mask16x16<Self>
fn select_mask16x16( self, a: mask16x16<Self>, b: mask16x16<Self>, c: mask16x16<Self>, ) -> mask16x16<Self>
Source§fn simd_eq_mask16x16(
self,
a: mask16x16<Self>,
b: mask16x16<Self>,
) -> mask16x16<Self>
fn simd_eq_mask16x16( self, a: mask16x16<Self>, b: mask16x16<Self>, ) -> mask16x16<Self>
Compare two vectors element-wise for equality. Read more
Source§fn any_true_mask16x16(self, a: mask16x16<Self>) -> bool
fn any_true_mask16x16(self, a: mask16x16<Self>) -> bool
Returns true if any elements in this mask are true (all ones). Read more
Source§fn all_true_mask16x16(self, a: mask16x16<Self>) -> bool
fn all_true_mask16x16(self, a: mask16x16<Self>) -> bool
Returns true if all elements in this mask are true (all ones). Read more
Source§fn any_false_mask16x16(self, a: mask16x16<Self>) -> bool
fn any_false_mask16x16(self, a: mask16x16<Self>) -> bool
Returns true if any elements in this mask are false (all zeroes). Read more
Source§fn all_false_mask16x16(self, a: mask16x16<Self>) -> bool
fn all_false_mask16x16(self, a: mask16x16<Self>) -> bool
Returns true if all elements in this mask are false (all zeroes). Read more
Source§fn combine_mask16x16(
self,
a: mask16x16<Self>,
b: mask16x16<Self>,
) -> mask16x32<Self>
fn combine_mask16x16( self, a: mask16x16<Self>, b: mask16x16<Self>, ) -> mask16x32<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn split_mask16x16(self, a: mask16x16<Self>) -> (mask16x8<Self>, mask16x8<Self>)
fn split_mask16x16(self, a: mask16x16<Self>) -> (mask16x8<Self>, mask16x8<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn splat_i32x8(self, val: i32) -> i32x8<Self>
fn splat_i32x8(self, val: i32) -> i32x8<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_i32x8(self, val: [i32; 8]) -> i32x8<Self>
fn load_array_i32x8(self, val: [i32; 8]) -> i32x8<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_i32x8(self, val: &[i32; 8]) -> i32x8<Self>
fn load_array_ref_i32x8(self, val: &[i32; 8]) -> i32x8<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_i32x8(self, a: &i32x8<Self>) -> &[i32; 8]
fn as_array_ref_i32x8(self, a: &i32x8<Self>) -> &[i32; 8]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_i32x8(self, a: &mut i32x8<Self>) -> &mut [i32; 8]
fn as_array_mut_i32x8(self, a: &mut i32x8<Self>) -> &mut [i32; 8]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_i32x8(self, a: i32x8<Self>, dest: &mut [i32; 8])
fn store_array_i32x8(self, a: i32x8<Self>, dest: &mut [i32; 8])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_i32x8(self, a: u8x32<Self>) -> i32x8<Self>
fn cvt_from_bytes_i32x8(self, a: u8x32<Self>) -> i32x8<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_i32x8(self, a: i32x8<Self>) -> u8x32<Self>
fn cvt_to_bytes_i32x8(self, a: i32x8<Self>) -> u8x32<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_within_blocks_i32x8<const SHIFT: usize>(
self,
a: i32x8<Self>,
b: i32x8<Self>,
) -> i32x8<Self>
fn slide_within_blocks_i32x8<const SHIFT: usize>( self, a: i32x8<Self>, b: i32x8<Self>, ) -> i32x8<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn add_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
fn add_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
Add two vectors element-wise, wrapping on overflow.
Source§fn sub_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
fn sub_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
Subtract two vectors element-wise, wrapping on overflow.
Source§fn mul_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
fn mul_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
Multiply two vectors element-wise, wrapping on overflow.
Source§fn and_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
fn and_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
Compute the bitwise AND of two vectors.
Source§fn or_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
fn or_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
Compute the bitwise OR of two vectors.
Source§fn xor_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
fn xor_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
Compute the bitwise XOR of two vectors.
Source§fn shl_i32x8(self, a: i32x8<Self>, shift: u32) -> i32x8<Self>
fn shl_i32x8(self, a: i32x8<Self>, shift: u32) -> i32x8<Self>
Shift each element left by the given number of bits. Read more
Source§fn shlv_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
fn shlv_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
Shift each element left by the given number of bits. Read more
Source§fn shr_i32x8(self, a: i32x8<Self>, shift: u32) -> i32x8<Self>
fn shr_i32x8(self, a: i32x8<Self>, shift: u32) -> i32x8<Self>
Shift each element right by the given number of bits. Read more
Source§fn shrv_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
fn shrv_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
Shift each element right by the corresponding element in another vector. Read more
Source§fn simd_eq_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> mask32x8<Self>
fn simd_eq_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> mask32x8<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> mask32x8<Self>
fn simd_lt_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> mask32x8<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> mask32x8<Self>
fn simd_le_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> mask32x8<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> mask32x8<Self>
fn simd_ge_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> mask32x8<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> mask32x8<Self>
fn simd_gt_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> mask32x8<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
fn zip_low_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
fn zip_high_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
fn unzip_low_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
fn unzip_high_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn select_i32x8(
self,
a: mask32x8<Self>,
b: i32x8<Self>,
c: i32x8<Self>,
) -> i32x8<Self>
fn select_i32x8( self, a: mask32x8<Self>, b: i32x8<Self>, c: i32x8<Self>, ) -> i32x8<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn min_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
fn min_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
Return the element-wise minimum of two vectors.
Source§fn max_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
fn max_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x8<Self>
Return the element-wise maximum of two vectors.
Source§fn combine_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x16<Self>
fn combine_i32x8(self, a: i32x8<Self>, b: i32x8<Self>) -> i32x16<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn split_i32x8(self, a: i32x8<Self>) -> (i32x4<Self>, i32x4<Self>)
fn split_i32x8(self, a: i32x8<Self>) -> (i32x4<Self>, i32x4<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn neg_i32x8(self, a: i32x8<Self>) -> i32x8<Self>
fn neg_i32x8(self, a: i32x8<Self>) -> i32x8<Self>
Negate each element of the vector, wrapping on overflow.
Source§fn reinterpret_u8_i32x8(self, a: i32x8<Self>) -> u8x32<Self>
fn reinterpret_u8_i32x8(self, a: i32x8<Self>) -> u8x32<Self>
Reinterpret the bits of this vector as a vector of
u8 elements. Read moreSource§fn reinterpret_u32_i32x8(self, a: i32x8<Self>) -> u32x8<Self>
fn reinterpret_u32_i32x8(self, a: i32x8<Self>) -> u32x8<Self>
Reinterpret the bits of this vector as a vector of
u32 elements. Read moreSource§fn cvt_f32_i32x8(self, a: i32x8<Self>) -> f32x8<Self>
fn cvt_f32_i32x8(self, a: i32x8<Self>) -> f32x8<Self>
Convert each signed 32-bit integer element to a floating-point value. Read more
Source§fn splat_u32x8(self, val: u32) -> u32x8<Self>
fn splat_u32x8(self, val: u32) -> u32x8<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_u32x8(self, val: [u32; 8]) -> u32x8<Self>
fn load_array_u32x8(self, val: [u32; 8]) -> u32x8<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_u32x8(self, val: &[u32; 8]) -> u32x8<Self>
fn load_array_ref_u32x8(self, val: &[u32; 8]) -> u32x8<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_u32x8(self, a: &u32x8<Self>) -> &[u32; 8]
fn as_array_ref_u32x8(self, a: &u32x8<Self>) -> &[u32; 8]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_u32x8(self, a: &mut u32x8<Self>) -> &mut [u32; 8]
fn as_array_mut_u32x8(self, a: &mut u32x8<Self>) -> &mut [u32; 8]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_u32x8(self, a: u32x8<Self>, dest: &mut [u32; 8])
fn store_array_u32x8(self, a: u32x8<Self>, dest: &mut [u32; 8])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_u32x8(self, a: u8x32<Self>) -> u32x8<Self>
fn cvt_from_bytes_u32x8(self, a: u8x32<Self>) -> u32x8<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_u32x8(self, a: u32x8<Self>) -> u8x32<Self>
fn cvt_to_bytes_u32x8(self, a: u32x8<Self>) -> u8x32<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_within_blocks_u32x8<const SHIFT: usize>(
self,
a: u32x8<Self>,
b: u32x8<Self>,
) -> u32x8<Self>
fn slide_within_blocks_u32x8<const SHIFT: usize>( self, a: u32x8<Self>, b: u32x8<Self>, ) -> u32x8<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn add_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
fn add_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
Add two vectors element-wise, wrapping on overflow.
Source§fn sub_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
fn sub_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
Subtract two vectors element-wise, wrapping on overflow.
Source§fn mul_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
fn mul_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
Multiply two vectors element-wise, wrapping on overflow.
Source§fn and_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
fn and_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
Compute the bitwise AND of two vectors.
Source§fn or_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
fn or_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
Compute the bitwise OR of two vectors.
Source§fn xor_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
fn xor_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
Compute the bitwise XOR of two vectors.
Source§fn shl_u32x8(self, a: u32x8<Self>, shift: u32) -> u32x8<Self>
fn shl_u32x8(self, a: u32x8<Self>, shift: u32) -> u32x8<Self>
Shift each element left by the given number of bits. Read more
Source§fn shlv_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
fn shlv_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
Shift each element left by the given number of bits. Read more
Source§fn shr_u32x8(self, a: u32x8<Self>, shift: u32) -> u32x8<Self>
fn shr_u32x8(self, a: u32x8<Self>, shift: u32) -> u32x8<Self>
Shift each element right by the given number of bits. Read more
Source§fn shrv_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
fn shrv_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
Shift each element right by the corresponding element in another vector. Read more
Source§fn simd_eq_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> mask32x8<Self>
fn simd_eq_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> mask32x8<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> mask32x8<Self>
fn simd_lt_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> mask32x8<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> mask32x8<Self>
fn simd_le_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> mask32x8<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> mask32x8<Self>
fn simd_ge_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> mask32x8<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> mask32x8<Self>
fn simd_gt_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> mask32x8<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
fn zip_low_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
fn zip_high_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
fn unzip_low_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
fn unzip_high_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn select_u32x8(
self,
a: mask32x8<Self>,
b: u32x8<Self>,
c: u32x8<Self>,
) -> u32x8<Self>
fn select_u32x8( self, a: mask32x8<Self>, b: u32x8<Self>, c: u32x8<Self>, ) -> u32x8<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn min_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
fn min_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
Return the element-wise minimum of two vectors.
Source§fn max_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
fn max_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x8<Self>
Return the element-wise maximum of two vectors.
Source§fn combine_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x16<Self>
fn combine_u32x8(self, a: u32x8<Self>, b: u32x8<Self>) -> u32x16<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn split_u32x8(self, a: u32x8<Self>) -> (u32x4<Self>, u32x4<Self>)
fn split_u32x8(self, a: u32x8<Self>) -> (u32x4<Self>, u32x4<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn reinterpret_u8_u32x8(self, a: u32x8<Self>) -> u8x32<Self>
fn reinterpret_u8_u32x8(self, a: u32x8<Self>) -> u8x32<Self>
Reinterpret the bits of this vector as a vector of
u8 elements. Read moreSource§fn cvt_f32_u32x8(self, a: u32x8<Self>) -> f32x8<Self>
fn cvt_f32_u32x8(self, a: u32x8<Self>) -> f32x8<Self>
Convert each unsigned 32-bit integer element to a floating-point value. Read more
Source§fn splat_mask32x8(self, val: i32) -> mask32x8<Self>
fn splat_mask32x8(self, val: i32) -> mask32x8<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_mask32x8(self, val: [i32; 8]) -> mask32x8<Self>
fn load_array_mask32x8(self, val: [i32; 8]) -> mask32x8<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_mask32x8(self, val: &[i32; 8]) -> mask32x8<Self>
fn load_array_ref_mask32x8(self, val: &[i32; 8]) -> mask32x8<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_mask32x8(self, a: &mask32x8<Self>) -> &[i32; 8]
fn as_array_ref_mask32x8(self, a: &mask32x8<Self>) -> &[i32; 8]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_mask32x8(self, a: &mut mask32x8<Self>) -> &mut [i32; 8]
fn as_array_mut_mask32x8(self, a: &mut mask32x8<Self>) -> &mut [i32; 8]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_mask32x8(self, a: mask32x8<Self>, dest: &mut [i32; 8])
fn store_array_mask32x8(self, a: mask32x8<Self>, dest: &mut [i32; 8])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_mask32x8(self, a: u8x32<Self>) -> mask32x8<Self>
fn cvt_from_bytes_mask32x8(self, a: u8x32<Self>) -> mask32x8<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_mask32x8(self, a: mask32x8<Self>) -> u8x32<Self>
fn cvt_to_bytes_mask32x8(self, a: mask32x8<Self>) -> u8x32<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_mask32x8<const SHIFT: usize>(
self,
a: mask32x8<Self>,
b: mask32x8<Self>,
) -> mask32x8<Self>
fn slide_mask32x8<const SHIFT: usize>( self, a: mask32x8<Self>, b: mask32x8<Self>, ) -> mask32x8<Self>
Source§fn slide_within_blocks_mask32x8<const SHIFT: usize>(
self,
a: mask32x8<Self>,
b: mask32x8<Self>,
) -> mask32x8<Self>
fn slide_within_blocks_mask32x8<const SHIFT: usize>( self, a: mask32x8<Self>, b: mask32x8<Self>, ) -> mask32x8<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn and_mask32x8(self, a: mask32x8<Self>, b: mask32x8<Self>) -> mask32x8<Self>
fn and_mask32x8(self, a: mask32x8<Self>, b: mask32x8<Self>) -> mask32x8<Self>
Compute the logical AND of two masks.
Source§fn or_mask32x8(self, a: mask32x8<Self>, b: mask32x8<Self>) -> mask32x8<Self>
fn or_mask32x8(self, a: mask32x8<Self>, b: mask32x8<Self>) -> mask32x8<Self>
Compute the logical OR of two masks.
Source§fn xor_mask32x8(self, a: mask32x8<Self>, b: mask32x8<Self>) -> mask32x8<Self>
fn xor_mask32x8(self, a: mask32x8<Self>, b: mask32x8<Self>) -> mask32x8<Self>
Compute the logical XOR of two masks.
Source§fn not_mask32x8(self, a: mask32x8<Self>) -> mask32x8<Self>
fn not_mask32x8(self, a: mask32x8<Self>) -> mask32x8<Self>
Compute the logical NOT of the mask.
Source§fn select_mask32x8(
self,
a: mask32x8<Self>,
b: mask32x8<Self>,
c: mask32x8<Self>,
) -> mask32x8<Self>
fn select_mask32x8( self, a: mask32x8<Self>, b: mask32x8<Self>, c: mask32x8<Self>, ) -> mask32x8<Self>
Source§fn simd_eq_mask32x8(
self,
a: mask32x8<Self>,
b: mask32x8<Self>,
) -> mask32x8<Self>
fn simd_eq_mask32x8( self, a: mask32x8<Self>, b: mask32x8<Self>, ) -> mask32x8<Self>
Compare two vectors element-wise for equality. Read more
Source§fn any_true_mask32x8(self, a: mask32x8<Self>) -> bool
fn any_true_mask32x8(self, a: mask32x8<Self>) -> bool
Returns true if any elements in this mask are true (all ones). Read more
Source§fn all_true_mask32x8(self, a: mask32x8<Self>) -> bool
fn all_true_mask32x8(self, a: mask32x8<Self>) -> bool
Returns true if all elements in this mask are true (all ones). Read more
Source§fn any_false_mask32x8(self, a: mask32x8<Self>) -> bool
fn any_false_mask32x8(self, a: mask32x8<Self>) -> bool
Returns true if any elements in this mask are false (all zeroes). Read more
Source§fn all_false_mask32x8(self, a: mask32x8<Self>) -> bool
fn all_false_mask32x8(self, a: mask32x8<Self>) -> bool
Returns true if all elements in this mask are false (all zeroes). Read more
Source§fn combine_mask32x8(
self,
a: mask32x8<Self>,
b: mask32x8<Self>,
) -> mask32x16<Self>
fn combine_mask32x8( self, a: mask32x8<Self>, b: mask32x8<Self>, ) -> mask32x16<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn split_mask32x8(self, a: mask32x8<Self>) -> (mask32x4<Self>, mask32x4<Self>)
fn split_mask32x8(self, a: mask32x8<Self>) -> (mask32x4<Self>, mask32x4<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn splat_f64x4(self, val: f64) -> f64x4<Self>
fn splat_f64x4(self, val: f64) -> f64x4<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_f64x4(self, val: [f64; 4]) -> f64x4<Self>
fn load_array_f64x4(self, val: [f64; 4]) -> f64x4<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_f64x4(self, val: &[f64; 4]) -> f64x4<Self>
fn load_array_ref_f64x4(self, val: &[f64; 4]) -> f64x4<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_f64x4(self, a: &f64x4<Self>) -> &[f64; 4]
fn as_array_ref_f64x4(self, a: &f64x4<Self>) -> &[f64; 4]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_f64x4(self, a: &mut f64x4<Self>) -> &mut [f64; 4]
fn as_array_mut_f64x4(self, a: &mut f64x4<Self>) -> &mut [f64; 4]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_f64x4(self, a: f64x4<Self>, dest: &mut [f64; 4])
fn store_array_f64x4(self, a: f64x4<Self>, dest: &mut [f64; 4])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_f64x4(self, a: u8x32<Self>) -> f64x4<Self>
fn cvt_from_bytes_f64x4(self, a: u8x32<Self>) -> f64x4<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_f64x4(self, a: f64x4<Self>) -> u8x32<Self>
fn cvt_to_bytes_f64x4(self, a: f64x4<Self>) -> u8x32<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_within_blocks_f64x4<const SHIFT: usize>(
self,
a: f64x4<Self>,
b: f64x4<Self>,
) -> f64x4<Self>
fn slide_within_blocks_f64x4<const SHIFT: usize>( self, a: f64x4<Self>, b: f64x4<Self>, ) -> f64x4<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn sqrt_f64x4(self, a: f64x4<Self>) -> f64x4<Self>
fn sqrt_f64x4(self, a: f64x4<Self>) -> f64x4<Self>
Compute the square root of each element. Read more
Source§fn add_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
fn add_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
Add two vectors element-wise.
Source§fn sub_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
fn sub_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
Subtract two vectors element-wise.
Source§fn mul_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
fn mul_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
Multiply two vectors element-wise.
Source§fn div_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
fn div_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
Divide two vectors element-wise.
Source§fn simd_eq_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> mask64x4<Self>
fn simd_eq_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> mask64x4<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> mask64x4<Self>
fn simd_lt_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> mask64x4<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> mask64x4<Self>
fn simd_le_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> mask64x4<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> mask64x4<Self>
fn simd_ge_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> mask64x4<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> mask64x4<Self>
fn simd_gt_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> mask64x4<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
fn zip_low_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
fn zip_high_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
fn unzip_low_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
fn unzip_high_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn max_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
fn max_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
Return the element-wise maximum of two vectors. Read more
Source§fn min_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
fn min_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
Return the element-wise minimum of two vectors. Read more
Source§fn max_precise_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
fn max_precise_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
Return the element-wise maximum of two vectors. Read more
Source§fn min_precise_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
fn min_precise_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x4<Self>
Return the element-wise minimum of two vectors. Read more
Source§fn mul_add_f64x4(
self,
a: f64x4<Self>,
b: f64x4<Self>,
c: f64x4<Self>,
) -> f64x4<Self>
fn mul_add_f64x4( self, a: f64x4<Self>, b: f64x4<Self>, c: f64x4<Self>, ) -> f64x4<Self>
Compute
(a * b) + c (fused multiply-add) for each element. Read moreSource§fn mul_sub_f64x4(
self,
a: f64x4<Self>,
b: f64x4<Self>,
c: f64x4<Self>,
) -> f64x4<Self>
fn mul_sub_f64x4( self, a: f64x4<Self>, b: f64x4<Self>, c: f64x4<Self>, ) -> f64x4<Self>
Compute
(a * b) - c (fused multiply-subtract) for each element. Read moreSource§fn floor_f64x4(self, a: f64x4<Self>) -> f64x4<Self>
fn floor_f64x4(self, a: f64x4<Self>) -> f64x4<Self>
Return the largest integer less than or equal to each element, that is, round towards negative infinity.
Source§fn ceil_f64x4(self, a: f64x4<Self>) -> f64x4<Self>
fn ceil_f64x4(self, a: f64x4<Self>) -> f64x4<Self>
Return the smallest integer greater than or equal to each element, that is, round towards positive infinity.
Source§fn round_ties_even_f64x4(self, a: f64x4<Self>) -> f64x4<Self>
fn round_ties_even_f64x4(self, a: f64x4<Self>) -> f64x4<Self>
Round each element to the nearest integer, with ties rounding to the nearest even integer. Read more
Source§fn fract_f64x4(self, a: f64x4<Self>) -> f64x4<Self>
fn fract_f64x4(self, a: f64x4<Self>) -> f64x4<Self>
Return the fractional part of each element. Read more
Source§fn trunc_f64x4(self, a: f64x4<Self>) -> f64x4<Self>
fn trunc_f64x4(self, a: f64x4<Self>) -> f64x4<Self>
Return the integer part of each element, rounding towards zero.
Source§fn select_f64x4(
self,
a: mask64x4<Self>,
b: f64x4<Self>,
c: f64x4<Self>,
) -> f64x4<Self>
fn select_f64x4( self, a: mask64x4<Self>, b: f64x4<Self>, c: f64x4<Self>, ) -> f64x4<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn combine_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x8<Self>
fn combine_f64x4(self, a: f64x4<Self>, b: f64x4<Self>) -> f64x8<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn split_f64x4(self, a: f64x4<Self>) -> (f64x2<Self>, f64x2<Self>)
fn split_f64x4(self, a: f64x4<Self>) -> (f64x2<Self>, f64x2<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn reinterpret_f32_f64x4(self, a: f64x4<Self>) -> f32x8<Self>
fn reinterpret_f32_f64x4(self, a: f64x4<Self>) -> f32x8<Self>
Reinterpret the bits of this vector as a vector of
f32 elements. Read moreSource§fn splat_mask64x4(self, val: i64) -> mask64x4<Self>
fn splat_mask64x4(self, val: i64) -> mask64x4<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_mask64x4(self, val: [i64; 4]) -> mask64x4<Self>
fn load_array_mask64x4(self, val: [i64; 4]) -> mask64x4<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_mask64x4(self, val: &[i64; 4]) -> mask64x4<Self>
fn load_array_ref_mask64x4(self, val: &[i64; 4]) -> mask64x4<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_mask64x4(self, a: &mask64x4<Self>) -> &[i64; 4]
fn as_array_ref_mask64x4(self, a: &mask64x4<Self>) -> &[i64; 4]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_mask64x4(self, a: &mut mask64x4<Self>) -> &mut [i64; 4]
fn as_array_mut_mask64x4(self, a: &mut mask64x4<Self>) -> &mut [i64; 4]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_mask64x4(self, a: mask64x4<Self>, dest: &mut [i64; 4])
fn store_array_mask64x4(self, a: mask64x4<Self>, dest: &mut [i64; 4])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_mask64x4(self, a: u8x32<Self>) -> mask64x4<Self>
fn cvt_from_bytes_mask64x4(self, a: u8x32<Self>) -> mask64x4<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_mask64x4(self, a: mask64x4<Self>) -> u8x32<Self>
fn cvt_to_bytes_mask64x4(self, a: mask64x4<Self>) -> u8x32<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_mask64x4<const SHIFT: usize>(
self,
a: mask64x4<Self>,
b: mask64x4<Self>,
) -> mask64x4<Self>
fn slide_mask64x4<const SHIFT: usize>( self, a: mask64x4<Self>, b: mask64x4<Self>, ) -> mask64x4<Self>
Source§fn slide_within_blocks_mask64x4<const SHIFT: usize>(
self,
a: mask64x4<Self>,
b: mask64x4<Self>,
) -> mask64x4<Self>
fn slide_within_blocks_mask64x4<const SHIFT: usize>( self, a: mask64x4<Self>, b: mask64x4<Self>, ) -> mask64x4<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn and_mask64x4(self, a: mask64x4<Self>, b: mask64x4<Self>) -> mask64x4<Self>
fn and_mask64x4(self, a: mask64x4<Self>, b: mask64x4<Self>) -> mask64x4<Self>
Compute the logical AND of two masks.
Source§fn or_mask64x4(self, a: mask64x4<Self>, b: mask64x4<Self>) -> mask64x4<Self>
fn or_mask64x4(self, a: mask64x4<Self>, b: mask64x4<Self>) -> mask64x4<Self>
Compute the logical OR of two masks.
Source§fn xor_mask64x4(self, a: mask64x4<Self>, b: mask64x4<Self>) -> mask64x4<Self>
fn xor_mask64x4(self, a: mask64x4<Self>, b: mask64x4<Self>) -> mask64x4<Self>
Compute the logical XOR of two masks.
Source§fn not_mask64x4(self, a: mask64x4<Self>) -> mask64x4<Self>
fn not_mask64x4(self, a: mask64x4<Self>) -> mask64x4<Self>
Compute the logical NOT of the mask.
Source§fn select_mask64x4(
self,
a: mask64x4<Self>,
b: mask64x4<Self>,
c: mask64x4<Self>,
) -> mask64x4<Self>
fn select_mask64x4( self, a: mask64x4<Self>, b: mask64x4<Self>, c: mask64x4<Self>, ) -> mask64x4<Self>
Source§fn simd_eq_mask64x4(
self,
a: mask64x4<Self>,
b: mask64x4<Self>,
) -> mask64x4<Self>
fn simd_eq_mask64x4( self, a: mask64x4<Self>, b: mask64x4<Self>, ) -> mask64x4<Self>
Compare two vectors element-wise for equality. Read more
Source§fn any_true_mask64x4(self, a: mask64x4<Self>) -> bool
fn any_true_mask64x4(self, a: mask64x4<Self>) -> bool
Returns true if any elements in this mask are true (all ones). Read more
Source§fn all_true_mask64x4(self, a: mask64x4<Self>) -> bool
fn all_true_mask64x4(self, a: mask64x4<Self>) -> bool
Returns true if all elements in this mask are true (all ones). Read more
Source§fn any_false_mask64x4(self, a: mask64x4<Self>) -> bool
fn any_false_mask64x4(self, a: mask64x4<Self>) -> bool
Returns true if any elements in this mask are false (all zeroes). Read more
Source§fn all_false_mask64x4(self, a: mask64x4<Self>) -> bool
fn all_false_mask64x4(self, a: mask64x4<Self>) -> bool
Returns true if all elements in this mask are false (all zeroes). Read more
Source§fn combine_mask64x4(
self,
a: mask64x4<Self>,
b: mask64x4<Self>,
) -> mask64x8<Self>
fn combine_mask64x4( self, a: mask64x4<Self>, b: mask64x4<Self>, ) -> mask64x8<Self>
Combine two vectors into a single vector with twice the width. Read more
Source§fn split_mask64x4(self, a: mask64x4<Self>) -> (mask64x2<Self>, mask64x2<Self>)
fn split_mask64x4(self, a: mask64x4<Self>) -> (mask64x2<Self>, mask64x2<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn splat_f32x16(self, val: f32) -> f32x16<Self>
fn splat_f32x16(self, val: f32) -> f32x16<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_f32x16(self, val: [f32; 16]) -> f32x16<Self>
fn load_array_f32x16(self, val: [f32; 16]) -> f32x16<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_f32x16(self, val: &[f32; 16]) -> f32x16<Self>
fn load_array_ref_f32x16(self, val: &[f32; 16]) -> f32x16<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_f32x16(self, a: &f32x16<Self>) -> &[f32; 16]
fn as_array_ref_f32x16(self, a: &f32x16<Self>) -> &[f32; 16]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_f32x16(self, a: &mut f32x16<Self>) -> &mut [f32; 16]
fn as_array_mut_f32x16(self, a: &mut f32x16<Self>) -> &mut [f32; 16]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_f32x16(self, a: f32x16<Self>, dest: &mut [f32; 16])
fn store_array_f32x16(self, a: f32x16<Self>, dest: &mut [f32; 16])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_f32x16(self, a: u8x64<Self>) -> f32x16<Self>
fn cvt_from_bytes_f32x16(self, a: u8x64<Self>) -> f32x16<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_f32x16(self, a: f32x16<Self>) -> u8x64<Self>
fn cvt_to_bytes_f32x16(self, a: f32x16<Self>) -> u8x64<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_f32x16<const SHIFT: usize>(
self,
a: f32x16<Self>,
b: f32x16<Self>,
) -> f32x16<Self>
fn slide_f32x16<const SHIFT: usize>( self, a: f32x16<Self>, b: f32x16<Self>, ) -> f32x16<Self>
Source§fn slide_within_blocks_f32x16<const SHIFT: usize>(
self,
a: f32x16<Self>,
b: f32x16<Self>,
) -> f32x16<Self>
fn slide_within_blocks_f32x16<const SHIFT: usize>( self, a: f32x16<Self>, b: f32x16<Self>, ) -> f32x16<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn abs_f32x16(self, a: f32x16<Self>) -> f32x16<Self>
fn abs_f32x16(self, a: f32x16<Self>) -> f32x16<Self>
Compute the absolute value of each element.
Source§fn neg_f32x16(self, a: f32x16<Self>) -> f32x16<Self>
fn neg_f32x16(self, a: f32x16<Self>) -> f32x16<Self>
Negate each element of the vector.
Source§fn sqrt_f32x16(self, a: f32x16<Self>) -> f32x16<Self>
fn sqrt_f32x16(self, a: f32x16<Self>) -> f32x16<Self>
Compute the square root of each element. Read more
Source§fn add_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
fn add_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
Add two vectors element-wise.
Source§fn sub_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
fn sub_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
Subtract two vectors element-wise.
Source§fn mul_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
fn mul_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
Multiply two vectors element-wise.
Source§fn div_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
fn div_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
Divide two vectors element-wise.
Source§fn simd_eq_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> mask32x16<Self>
fn simd_eq_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> mask32x16<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> mask32x16<Self>
fn simd_lt_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> mask32x16<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> mask32x16<Self>
fn simd_le_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> mask32x16<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> mask32x16<Self>
fn simd_ge_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> mask32x16<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> mask32x16<Self>
fn simd_gt_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> mask32x16<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
fn zip_low_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
fn zip_high_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
fn unzip_low_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
fn unzip_high_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn max_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
fn max_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
Return the element-wise maximum of two vectors. Read more
Source§fn min_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
fn min_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
Return the element-wise minimum of two vectors. Read more
Source§fn max_precise_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
fn max_precise_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
Return the element-wise maximum of two vectors. Read more
Source§fn min_precise_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
fn min_precise_f32x16(self, a: f32x16<Self>, b: f32x16<Self>) -> f32x16<Self>
Return the element-wise minimum of two vectors. Read more
Source§fn mul_add_f32x16(
self,
a: f32x16<Self>,
b: f32x16<Self>,
c: f32x16<Self>,
) -> f32x16<Self>
fn mul_add_f32x16( self, a: f32x16<Self>, b: f32x16<Self>, c: f32x16<Self>, ) -> f32x16<Self>
Compute
(a * b) + c (fused multiply-add) for each element. Read moreSource§fn mul_sub_f32x16(
self,
a: f32x16<Self>,
b: f32x16<Self>,
c: f32x16<Self>,
) -> f32x16<Self>
fn mul_sub_f32x16( self, a: f32x16<Self>, b: f32x16<Self>, c: f32x16<Self>, ) -> f32x16<Self>
Compute
(a * b) - c (fused multiply-subtract) for each element. Read moreSource§fn floor_f32x16(self, a: f32x16<Self>) -> f32x16<Self>
fn floor_f32x16(self, a: f32x16<Self>) -> f32x16<Self>
Return the largest integer less than or equal to each element, that is, round towards negative infinity.
Source§fn ceil_f32x16(self, a: f32x16<Self>) -> f32x16<Self>
fn ceil_f32x16(self, a: f32x16<Self>) -> f32x16<Self>
Return the smallest integer greater than or equal to each element, that is, round towards positive infinity.
Source§fn round_ties_even_f32x16(self, a: f32x16<Self>) -> f32x16<Self>
fn round_ties_even_f32x16(self, a: f32x16<Self>) -> f32x16<Self>
Round each element to the nearest integer, with ties rounding to the nearest even integer. Read more
Source§fn fract_f32x16(self, a: f32x16<Self>) -> f32x16<Self>
fn fract_f32x16(self, a: f32x16<Self>) -> f32x16<Self>
Return the fractional part of each element. Read more
Source§fn trunc_f32x16(self, a: f32x16<Self>) -> f32x16<Self>
fn trunc_f32x16(self, a: f32x16<Self>) -> f32x16<Self>
Return the integer part of each element, rounding towards zero.
Source§fn select_f32x16(
self,
a: mask32x16<Self>,
b: f32x16<Self>,
c: f32x16<Self>,
) -> f32x16<Self>
fn select_f32x16( self, a: mask32x16<Self>, b: f32x16<Self>, c: f32x16<Self>, ) -> f32x16<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn split_f32x16(self, a: f32x16<Self>) -> (f32x8<Self>, f32x8<Self>)
fn split_f32x16(self, a: f32x16<Self>) -> (f32x8<Self>, f32x8<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn reinterpret_f64_f32x16(self, a: f32x16<Self>) -> f64x8<Self>
fn reinterpret_f64_f32x16(self, a: f32x16<Self>) -> f64x8<Self>
Reinterpret the bits of this vector as a vector of
f64 elements. Read moreSource§fn reinterpret_i32_f32x16(self, a: f32x16<Self>) -> i32x16<Self>
fn reinterpret_i32_f32x16(self, a: f32x16<Self>) -> i32x16<Self>
Reinterpret the bits of this vector as a vector of
i32 elements. Read moreSource§fn load_interleaved_128_f32x16(self, src: &[f32; 16]) -> f32x16<Self>
fn load_interleaved_128_f32x16(self, src: &[f32; 16]) -> f32x16<Self>
Load elements from an array with 4-way interleaving. Read more
Source§fn store_interleaved_128_f32x16(self, a: f32x16<Self>, dest: &mut [f32; 16])
fn store_interleaved_128_f32x16(self, a: f32x16<Self>, dest: &mut [f32; 16])
Store elements to an array with 4-way interleaving. Read more
Source§fn reinterpret_u8_f32x16(self, a: f32x16<Self>) -> u8x64<Self>
fn reinterpret_u8_f32x16(self, a: f32x16<Self>) -> u8x64<Self>
Reinterpret the bits of this vector as a vector of
u8 elements. Read moreSource§fn reinterpret_u32_f32x16(self, a: f32x16<Self>) -> u32x16<Self>
fn reinterpret_u32_f32x16(self, a: f32x16<Self>) -> u32x16<Self>
Reinterpret the bits of this vector as a vector of
u32 elements. Read moreSource§fn cvt_u32_f32x16(self, a: f32x16<Self>) -> u32x16<Self>
fn cvt_u32_f32x16(self, a: f32x16<Self>) -> u32x16<Self>
Convert each floating-point element to an unsigned 32-bit integer, truncating towards zero. Read more
Source§fn cvt_u32_precise_f32x16(self, a: f32x16<Self>) -> u32x16<Self>
fn cvt_u32_precise_f32x16(self, a: f32x16<Self>) -> u32x16<Self>
Convert each floating-point element to an unsigned 32-bit integer, truncating towards zero. Read more
Source§fn cvt_i32_f32x16(self, a: f32x16<Self>) -> i32x16<Self>
fn cvt_i32_f32x16(self, a: f32x16<Self>) -> i32x16<Self>
Convert each floating-point element to a signed 32-bit integer, truncating towards zero. Read more
Source§fn cvt_i32_precise_f32x16(self, a: f32x16<Self>) -> i32x16<Self>
fn cvt_i32_precise_f32x16(self, a: f32x16<Self>) -> i32x16<Self>
Convert each floating-point element to a signed 32-bit integer, truncating towards zero. Read more
Source§fn splat_i8x64(self, val: i8) -> i8x64<Self>
fn splat_i8x64(self, val: i8) -> i8x64<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_i8x64(self, val: [i8; 64]) -> i8x64<Self>
fn load_array_i8x64(self, val: [i8; 64]) -> i8x64<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_i8x64(self, val: &[i8; 64]) -> i8x64<Self>
fn load_array_ref_i8x64(self, val: &[i8; 64]) -> i8x64<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_i8x64(self, a: &i8x64<Self>) -> &[i8; 64]
fn as_array_ref_i8x64(self, a: &i8x64<Self>) -> &[i8; 64]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_i8x64(self, a: &mut i8x64<Self>) -> &mut [i8; 64]
fn as_array_mut_i8x64(self, a: &mut i8x64<Self>) -> &mut [i8; 64]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_i8x64(self, a: i8x64<Self>, dest: &mut [i8; 64])
fn store_array_i8x64(self, a: i8x64<Self>, dest: &mut [i8; 64])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_i8x64(self, a: u8x64<Self>) -> i8x64<Self>
fn cvt_from_bytes_i8x64(self, a: u8x64<Self>) -> i8x64<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_i8x64(self, a: i8x64<Self>) -> u8x64<Self>
fn cvt_to_bytes_i8x64(self, a: i8x64<Self>) -> u8x64<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_within_blocks_i8x64<const SHIFT: usize>(
self,
a: i8x64<Self>,
b: i8x64<Self>,
) -> i8x64<Self>
fn slide_within_blocks_i8x64<const SHIFT: usize>( self, a: i8x64<Self>, b: i8x64<Self>, ) -> i8x64<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn add_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
fn add_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
Add two vectors element-wise, wrapping on overflow.
Source§fn sub_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
fn sub_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
Subtract two vectors element-wise, wrapping on overflow.
Source§fn mul_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
fn mul_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
Multiply two vectors element-wise, wrapping on overflow.
Source§fn and_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
fn and_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
Compute the bitwise AND of two vectors.
Source§fn or_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
fn or_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
Compute the bitwise OR of two vectors.
Source§fn xor_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
fn xor_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
Compute the bitwise XOR of two vectors.
Source§fn shl_i8x64(self, a: i8x64<Self>, shift: u32) -> i8x64<Self>
fn shl_i8x64(self, a: i8x64<Self>, shift: u32) -> i8x64<Self>
Shift each element left by the given number of bits. Read more
Source§fn shlv_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
fn shlv_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
Shift each element left by the given number of bits. Read more
Source§fn shr_i8x64(self, a: i8x64<Self>, shift: u32) -> i8x64<Self>
fn shr_i8x64(self, a: i8x64<Self>, shift: u32) -> i8x64<Self>
Shift each element right by the given number of bits. Read more
Source§fn shrv_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
fn shrv_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
Shift each element right by the corresponding element in another vector. Read more
Source§fn simd_eq_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> mask8x64<Self>
fn simd_eq_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> mask8x64<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> mask8x64<Self>
fn simd_lt_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> mask8x64<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> mask8x64<Self>
fn simd_le_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> mask8x64<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> mask8x64<Self>
fn simd_ge_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> mask8x64<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> mask8x64<Self>
fn simd_gt_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> mask8x64<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
fn zip_low_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
fn zip_high_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
fn unzip_low_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
fn unzip_high_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn select_i8x64(
self,
a: mask8x64<Self>,
b: i8x64<Self>,
c: i8x64<Self>,
) -> i8x64<Self>
fn select_i8x64( self, a: mask8x64<Self>, b: i8x64<Self>, c: i8x64<Self>, ) -> i8x64<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn min_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
fn min_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
Return the element-wise minimum of two vectors.
Source§fn max_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
fn max_i8x64(self, a: i8x64<Self>, b: i8x64<Self>) -> i8x64<Self>
Return the element-wise maximum of two vectors.
Source§fn split_i8x64(self, a: i8x64<Self>) -> (i8x32<Self>, i8x32<Self>)
fn split_i8x64(self, a: i8x64<Self>) -> (i8x32<Self>, i8x32<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn neg_i8x64(self, a: i8x64<Self>) -> i8x64<Self>
fn neg_i8x64(self, a: i8x64<Self>) -> i8x64<Self>
Negate each element of the vector, wrapping on overflow.
Source§fn reinterpret_u8_i8x64(self, a: i8x64<Self>) -> u8x64<Self>
fn reinterpret_u8_i8x64(self, a: i8x64<Self>) -> u8x64<Self>
Reinterpret the bits of this vector as a vector of
u8 elements. Read moreSource§fn reinterpret_u32_i8x64(self, a: i8x64<Self>) -> u32x16<Self>
fn reinterpret_u32_i8x64(self, a: i8x64<Self>) -> u32x16<Self>
Reinterpret the bits of this vector as a vector of
u32 elements. Read moreSource§fn splat_u8x64(self, val: u8) -> u8x64<Self>
fn splat_u8x64(self, val: u8) -> u8x64<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_u8x64(self, val: [u8; 64]) -> u8x64<Self>
fn load_array_u8x64(self, val: [u8; 64]) -> u8x64<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_u8x64(self, val: &[u8; 64]) -> u8x64<Self>
fn load_array_ref_u8x64(self, val: &[u8; 64]) -> u8x64<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_u8x64(self, a: &u8x64<Self>) -> &[u8; 64]
fn as_array_ref_u8x64(self, a: &u8x64<Self>) -> &[u8; 64]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_u8x64(self, a: &mut u8x64<Self>) -> &mut [u8; 64]
fn as_array_mut_u8x64(self, a: &mut u8x64<Self>) -> &mut [u8; 64]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_u8x64(self, a: u8x64<Self>, dest: &mut [u8; 64])
fn store_array_u8x64(self, a: u8x64<Self>, dest: &mut [u8; 64])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_u8x64(self, a: u8x64<Self>) -> u8x64<Self>
fn cvt_from_bytes_u8x64(self, a: u8x64<Self>) -> u8x64<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_u8x64(self, a: u8x64<Self>) -> u8x64<Self>
fn cvt_to_bytes_u8x64(self, a: u8x64<Self>) -> u8x64<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_within_blocks_u8x64<const SHIFT: usize>(
self,
a: u8x64<Self>,
b: u8x64<Self>,
) -> u8x64<Self>
fn slide_within_blocks_u8x64<const SHIFT: usize>( self, a: u8x64<Self>, b: u8x64<Self>, ) -> u8x64<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn add_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
fn add_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
Add two vectors element-wise, wrapping on overflow.
Source§fn sub_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
fn sub_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
Subtract two vectors element-wise, wrapping on overflow.
Source§fn mul_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
fn mul_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
Multiply two vectors element-wise, wrapping on overflow.
Source§fn and_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
fn and_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
Compute the bitwise AND of two vectors.
Source§fn or_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
fn or_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
Compute the bitwise OR of two vectors.
Source§fn xor_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
fn xor_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
Compute the bitwise XOR of two vectors.
Source§fn shl_u8x64(self, a: u8x64<Self>, shift: u32) -> u8x64<Self>
fn shl_u8x64(self, a: u8x64<Self>, shift: u32) -> u8x64<Self>
Shift each element left by the given number of bits. Read more
Source§fn shlv_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
fn shlv_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
Shift each element left by the given number of bits. Read more
Source§fn shr_u8x64(self, a: u8x64<Self>, shift: u32) -> u8x64<Self>
fn shr_u8x64(self, a: u8x64<Self>, shift: u32) -> u8x64<Self>
Shift each element right by the given number of bits. Read more
Source§fn shrv_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
fn shrv_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
Shift each element right by the corresponding element in another vector. Read more
Source§fn simd_eq_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> mask8x64<Self>
fn simd_eq_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> mask8x64<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> mask8x64<Self>
fn simd_lt_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> mask8x64<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> mask8x64<Self>
fn simd_le_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> mask8x64<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> mask8x64<Self>
fn simd_ge_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> mask8x64<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> mask8x64<Self>
fn simd_gt_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> mask8x64<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
fn zip_low_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
fn zip_high_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
fn unzip_low_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
fn unzip_high_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn select_u8x64(
self,
a: mask8x64<Self>,
b: u8x64<Self>,
c: u8x64<Self>,
) -> u8x64<Self>
fn select_u8x64( self, a: mask8x64<Self>, b: u8x64<Self>, c: u8x64<Self>, ) -> u8x64<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn min_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
fn min_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
Return the element-wise minimum of two vectors.
Source§fn max_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
fn max_u8x64(self, a: u8x64<Self>, b: u8x64<Self>) -> u8x64<Self>
Return the element-wise maximum of two vectors.
Source§fn split_u8x64(self, a: u8x64<Self>) -> (u8x32<Self>, u8x32<Self>)
fn split_u8x64(self, a: u8x64<Self>) -> (u8x32<Self>, u8x32<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn load_interleaved_128_u8x64(self, src: &[u8; 64]) -> u8x64<Self>
fn load_interleaved_128_u8x64(self, src: &[u8; 64]) -> u8x64<Self>
Load elements from an array with 4-way interleaving. Read more
Source§fn store_interleaved_128_u8x64(self, a: u8x64<Self>, dest: &mut [u8; 64])
fn store_interleaved_128_u8x64(self, a: u8x64<Self>, dest: &mut [u8; 64])
Store elements to an array with 4-way interleaving. Read more
Source§fn reinterpret_u32_u8x64(self, a: u8x64<Self>) -> u32x16<Self>
fn reinterpret_u32_u8x64(self, a: u8x64<Self>) -> u32x16<Self>
Reinterpret the bits of this vector as a vector of
u32 elements. Read moreSource§fn splat_mask8x64(self, val: i8) -> mask8x64<Self>
fn splat_mask8x64(self, val: i8) -> mask8x64<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_mask8x64(self, val: [i8; 64]) -> mask8x64<Self>
fn load_array_mask8x64(self, val: [i8; 64]) -> mask8x64<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_mask8x64(self, val: &[i8; 64]) -> mask8x64<Self>
fn load_array_ref_mask8x64(self, val: &[i8; 64]) -> mask8x64<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_mask8x64(self, a: &mask8x64<Self>) -> &[i8; 64]
fn as_array_ref_mask8x64(self, a: &mask8x64<Self>) -> &[i8; 64]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_mask8x64(self, a: &mut mask8x64<Self>) -> &mut [i8; 64]
fn as_array_mut_mask8x64(self, a: &mut mask8x64<Self>) -> &mut [i8; 64]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_mask8x64(self, a: mask8x64<Self>, dest: &mut [i8; 64])
fn store_array_mask8x64(self, a: mask8x64<Self>, dest: &mut [i8; 64])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_mask8x64(self, a: u8x64<Self>) -> mask8x64<Self>
fn cvt_from_bytes_mask8x64(self, a: u8x64<Self>) -> mask8x64<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_mask8x64(self, a: mask8x64<Self>) -> u8x64<Self>
fn cvt_to_bytes_mask8x64(self, a: mask8x64<Self>) -> u8x64<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_mask8x64<const SHIFT: usize>(
self,
a: mask8x64<Self>,
b: mask8x64<Self>,
) -> mask8x64<Self>
fn slide_mask8x64<const SHIFT: usize>( self, a: mask8x64<Self>, b: mask8x64<Self>, ) -> mask8x64<Self>
Source§fn slide_within_blocks_mask8x64<const SHIFT: usize>(
self,
a: mask8x64<Self>,
b: mask8x64<Self>,
) -> mask8x64<Self>
fn slide_within_blocks_mask8x64<const SHIFT: usize>( self, a: mask8x64<Self>, b: mask8x64<Self>, ) -> mask8x64<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn and_mask8x64(self, a: mask8x64<Self>, b: mask8x64<Self>) -> mask8x64<Self>
fn and_mask8x64(self, a: mask8x64<Self>, b: mask8x64<Self>) -> mask8x64<Self>
Compute the logical AND of two masks.
Source§fn or_mask8x64(self, a: mask8x64<Self>, b: mask8x64<Self>) -> mask8x64<Self>
fn or_mask8x64(self, a: mask8x64<Self>, b: mask8x64<Self>) -> mask8x64<Self>
Compute the logical OR of two masks.
Source§fn xor_mask8x64(self, a: mask8x64<Self>, b: mask8x64<Self>) -> mask8x64<Self>
fn xor_mask8x64(self, a: mask8x64<Self>, b: mask8x64<Self>) -> mask8x64<Self>
Compute the logical XOR of two masks.
Source§fn not_mask8x64(self, a: mask8x64<Self>) -> mask8x64<Self>
fn not_mask8x64(self, a: mask8x64<Self>) -> mask8x64<Self>
Compute the logical NOT of the mask.
Source§fn select_mask8x64(
self,
a: mask8x64<Self>,
b: mask8x64<Self>,
c: mask8x64<Self>,
) -> mask8x64<Self>
fn select_mask8x64( self, a: mask8x64<Self>, b: mask8x64<Self>, c: mask8x64<Self>, ) -> mask8x64<Self>
Source§fn simd_eq_mask8x64(
self,
a: mask8x64<Self>,
b: mask8x64<Self>,
) -> mask8x64<Self>
fn simd_eq_mask8x64( self, a: mask8x64<Self>, b: mask8x64<Self>, ) -> mask8x64<Self>
Compare two vectors element-wise for equality. Read more
Source§fn any_true_mask8x64(self, a: mask8x64<Self>) -> bool
fn any_true_mask8x64(self, a: mask8x64<Self>) -> bool
Returns true if any elements in this mask are true (all ones). Read more
Source§fn all_true_mask8x64(self, a: mask8x64<Self>) -> bool
fn all_true_mask8x64(self, a: mask8x64<Self>) -> bool
Returns true if all elements in this mask are true (all ones). Read more
Source§fn any_false_mask8x64(self, a: mask8x64<Self>) -> bool
fn any_false_mask8x64(self, a: mask8x64<Self>) -> bool
Returns true if any elements in this mask are false (all zeroes). Read more
Source§fn all_false_mask8x64(self, a: mask8x64<Self>) -> bool
fn all_false_mask8x64(self, a: mask8x64<Self>) -> bool
Returns true if all elements in this mask are false (all zeroes). Read more
Source§fn split_mask8x64(self, a: mask8x64<Self>) -> (mask8x32<Self>, mask8x32<Self>)
fn split_mask8x64(self, a: mask8x64<Self>) -> (mask8x32<Self>, mask8x32<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn splat_i16x32(self, val: i16) -> i16x32<Self>
fn splat_i16x32(self, val: i16) -> i16x32<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_i16x32(self, val: [i16; 32]) -> i16x32<Self>
fn load_array_i16x32(self, val: [i16; 32]) -> i16x32<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_i16x32(self, val: &[i16; 32]) -> i16x32<Self>
fn load_array_ref_i16x32(self, val: &[i16; 32]) -> i16x32<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_i16x32(self, a: &i16x32<Self>) -> &[i16; 32]
fn as_array_ref_i16x32(self, a: &i16x32<Self>) -> &[i16; 32]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_i16x32(self, a: &mut i16x32<Self>) -> &mut [i16; 32]
fn as_array_mut_i16x32(self, a: &mut i16x32<Self>) -> &mut [i16; 32]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_i16x32(self, a: i16x32<Self>, dest: &mut [i16; 32])
fn store_array_i16x32(self, a: i16x32<Self>, dest: &mut [i16; 32])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_i16x32(self, a: u8x64<Self>) -> i16x32<Self>
fn cvt_from_bytes_i16x32(self, a: u8x64<Self>) -> i16x32<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_i16x32(self, a: i16x32<Self>) -> u8x64<Self>
fn cvt_to_bytes_i16x32(self, a: i16x32<Self>) -> u8x64<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_i16x32<const SHIFT: usize>(
self,
a: i16x32<Self>,
b: i16x32<Self>,
) -> i16x32<Self>
fn slide_i16x32<const SHIFT: usize>( self, a: i16x32<Self>, b: i16x32<Self>, ) -> i16x32<Self>
Source§fn slide_within_blocks_i16x32<const SHIFT: usize>(
self,
a: i16x32<Self>,
b: i16x32<Self>,
) -> i16x32<Self>
fn slide_within_blocks_i16x32<const SHIFT: usize>( self, a: i16x32<Self>, b: i16x32<Self>, ) -> i16x32<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn add_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
fn add_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
Add two vectors element-wise, wrapping on overflow.
Source§fn sub_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
fn sub_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
Subtract two vectors element-wise, wrapping on overflow.
Source§fn mul_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
fn mul_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
Multiply two vectors element-wise, wrapping on overflow.
Source§fn and_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
fn and_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
Compute the bitwise AND of two vectors.
Source§fn or_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
fn or_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
Compute the bitwise OR of two vectors.
Source§fn xor_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
fn xor_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
Compute the bitwise XOR of two vectors.
Source§fn not_i16x32(self, a: i16x32<Self>) -> i16x32<Self>
fn not_i16x32(self, a: i16x32<Self>) -> i16x32<Self>
Compute the bitwise NOT of the vector.
Source§fn shl_i16x32(self, a: i16x32<Self>, shift: u32) -> i16x32<Self>
fn shl_i16x32(self, a: i16x32<Self>, shift: u32) -> i16x32<Self>
Shift each element left by the given number of bits. Read more
Source§fn shlv_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
fn shlv_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
Shift each element left by the given number of bits. Read more
Source§fn shr_i16x32(self, a: i16x32<Self>, shift: u32) -> i16x32<Self>
fn shr_i16x32(self, a: i16x32<Self>, shift: u32) -> i16x32<Self>
Shift each element right by the given number of bits. Read more
Source§fn shrv_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
fn shrv_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
Shift each element right by the corresponding element in another vector. Read more
Source§fn simd_eq_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> mask16x32<Self>
fn simd_eq_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> mask16x32<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> mask16x32<Self>
fn simd_lt_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> mask16x32<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> mask16x32<Self>
fn simd_le_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> mask16x32<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> mask16x32<Self>
fn simd_ge_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> mask16x32<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> mask16x32<Self>
fn simd_gt_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> mask16x32<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
fn zip_low_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
fn zip_high_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
fn unzip_low_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
fn unzip_high_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn select_i16x32(
self,
a: mask16x32<Self>,
b: i16x32<Self>,
c: i16x32<Self>,
) -> i16x32<Self>
fn select_i16x32( self, a: mask16x32<Self>, b: i16x32<Self>, c: i16x32<Self>, ) -> i16x32<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn min_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
fn min_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
Return the element-wise minimum of two vectors.
Source§fn max_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
fn max_i16x32(self, a: i16x32<Self>, b: i16x32<Self>) -> i16x32<Self>
Return the element-wise maximum of two vectors.
Source§fn split_i16x32(self, a: i16x32<Self>) -> (i16x16<Self>, i16x16<Self>)
fn split_i16x32(self, a: i16x32<Self>) -> (i16x16<Self>, i16x16<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn neg_i16x32(self, a: i16x32<Self>) -> i16x32<Self>
fn neg_i16x32(self, a: i16x32<Self>) -> i16x32<Self>
Negate each element of the vector, wrapping on overflow.
Source§fn reinterpret_u8_i16x32(self, a: i16x32<Self>) -> u8x64<Self>
fn reinterpret_u8_i16x32(self, a: i16x32<Self>) -> u8x64<Self>
Reinterpret the bits of this vector as a vector of
u8 elements. Read moreSource§fn reinterpret_u32_i16x32(self, a: i16x32<Self>) -> u32x16<Self>
fn reinterpret_u32_i16x32(self, a: i16x32<Self>) -> u32x16<Self>
Reinterpret the bits of this vector as a vector of
u32 elements. Read moreSource§fn splat_u16x32(self, val: u16) -> u16x32<Self>
fn splat_u16x32(self, val: u16) -> u16x32<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_u16x32(self, val: [u16; 32]) -> u16x32<Self>
fn load_array_u16x32(self, val: [u16; 32]) -> u16x32<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_u16x32(self, val: &[u16; 32]) -> u16x32<Self>
fn load_array_ref_u16x32(self, val: &[u16; 32]) -> u16x32<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_u16x32(self, a: &u16x32<Self>) -> &[u16; 32]
fn as_array_ref_u16x32(self, a: &u16x32<Self>) -> &[u16; 32]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_u16x32(self, a: &mut u16x32<Self>) -> &mut [u16; 32]
fn as_array_mut_u16x32(self, a: &mut u16x32<Self>) -> &mut [u16; 32]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_u16x32(self, a: u16x32<Self>, dest: &mut [u16; 32])
fn store_array_u16x32(self, a: u16x32<Self>, dest: &mut [u16; 32])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_u16x32(self, a: u8x64<Self>) -> u16x32<Self>
fn cvt_from_bytes_u16x32(self, a: u8x64<Self>) -> u16x32<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_u16x32(self, a: u16x32<Self>) -> u8x64<Self>
fn cvt_to_bytes_u16x32(self, a: u16x32<Self>) -> u8x64<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_u16x32<const SHIFT: usize>(
self,
a: u16x32<Self>,
b: u16x32<Self>,
) -> u16x32<Self>
fn slide_u16x32<const SHIFT: usize>( self, a: u16x32<Self>, b: u16x32<Self>, ) -> u16x32<Self>
Source§fn slide_within_blocks_u16x32<const SHIFT: usize>(
self,
a: u16x32<Self>,
b: u16x32<Self>,
) -> u16x32<Self>
fn slide_within_blocks_u16x32<const SHIFT: usize>( self, a: u16x32<Self>, b: u16x32<Self>, ) -> u16x32<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn add_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
fn add_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
Add two vectors element-wise, wrapping on overflow.
Source§fn sub_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
fn sub_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
Subtract two vectors element-wise, wrapping on overflow.
Source§fn mul_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
fn mul_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
Multiply two vectors element-wise, wrapping on overflow.
Source§fn and_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
fn and_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
Compute the bitwise AND of two vectors.
Source§fn or_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
fn or_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
Compute the bitwise OR of two vectors.
Source§fn xor_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
fn xor_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
Compute the bitwise XOR of two vectors.
Source§fn not_u16x32(self, a: u16x32<Self>) -> u16x32<Self>
fn not_u16x32(self, a: u16x32<Self>) -> u16x32<Self>
Compute the bitwise NOT of the vector.
Source§fn shl_u16x32(self, a: u16x32<Self>, shift: u32) -> u16x32<Self>
fn shl_u16x32(self, a: u16x32<Self>, shift: u32) -> u16x32<Self>
Shift each element left by the given number of bits. Read more
Source§fn shlv_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
fn shlv_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
Shift each element left by the given number of bits. Read more
Source§fn shr_u16x32(self, a: u16x32<Self>, shift: u32) -> u16x32<Self>
fn shr_u16x32(self, a: u16x32<Self>, shift: u32) -> u16x32<Self>
Shift each element right by the given number of bits. Read more
Source§fn shrv_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
fn shrv_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
Shift each element right by the corresponding element in another vector. Read more
Source§fn simd_eq_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> mask16x32<Self>
fn simd_eq_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> mask16x32<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> mask16x32<Self>
fn simd_lt_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> mask16x32<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> mask16x32<Self>
fn simd_le_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> mask16x32<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> mask16x32<Self>
fn simd_ge_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> mask16x32<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> mask16x32<Self>
fn simd_gt_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> mask16x32<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
fn zip_low_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
fn zip_high_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
fn unzip_low_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
fn unzip_high_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn select_u16x32(
self,
a: mask16x32<Self>,
b: u16x32<Self>,
c: u16x32<Self>,
) -> u16x32<Self>
fn select_u16x32( self, a: mask16x32<Self>, b: u16x32<Self>, c: u16x32<Self>, ) -> u16x32<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn min_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
fn min_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
Return the element-wise minimum of two vectors.
Source§fn max_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
fn max_u16x32(self, a: u16x32<Self>, b: u16x32<Self>) -> u16x32<Self>
Return the element-wise maximum of two vectors.
Source§fn split_u16x32(self, a: u16x32<Self>) -> (u16x16<Self>, u16x16<Self>)
fn split_u16x32(self, a: u16x32<Self>) -> (u16x16<Self>, u16x16<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn load_interleaved_128_u16x32(self, src: &[u16; 32]) -> u16x32<Self>
fn load_interleaved_128_u16x32(self, src: &[u16; 32]) -> u16x32<Self>
Load elements from an array with 4-way interleaving. Read more
Source§fn store_interleaved_128_u16x32(self, a: u16x32<Self>, dest: &mut [u16; 32])
fn store_interleaved_128_u16x32(self, a: u16x32<Self>, dest: &mut [u16; 32])
Store elements to an array with 4-way interleaving. Read more
Source§fn narrow_u16x32(self, a: u16x32<Self>) -> u8x32<Self>
fn narrow_u16x32(self, a: u16x32<Self>) -> u8x32<Self>
Truncate each element to a narrower integer type. Read more
Source§fn reinterpret_u8_u16x32(self, a: u16x32<Self>) -> u8x64<Self>
fn reinterpret_u8_u16x32(self, a: u16x32<Self>) -> u8x64<Self>
Reinterpret the bits of this vector as a vector of
u8 elements. Read moreSource§fn reinterpret_u32_u16x32(self, a: u16x32<Self>) -> u32x16<Self>
fn reinterpret_u32_u16x32(self, a: u16x32<Self>) -> u32x16<Self>
Reinterpret the bits of this vector as a vector of
u32 elements. Read moreSource§fn splat_mask16x32(self, val: i16) -> mask16x32<Self>
fn splat_mask16x32(self, val: i16) -> mask16x32<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_mask16x32(self, val: [i16; 32]) -> mask16x32<Self>
fn load_array_mask16x32(self, val: [i16; 32]) -> mask16x32<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_mask16x32(self, val: &[i16; 32]) -> mask16x32<Self>
fn load_array_ref_mask16x32(self, val: &[i16; 32]) -> mask16x32<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_mask16x32(self, a: mask16x32<Self>) -> [i16; 32]
fn as_array_mask16x32(self, a: mask16x32<Self>) -> [i16; 32]
Convert a SIMD vector to an array.
Source§fn as_array_ref_mask16x32(self, a: &mask16x32<Self>) -> &[i16; 32]
fn as_array_ref_mask16x32(self, a: &mask16x32<Self>) -> &[i16; 32]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_mask16x32(self, a: &mut mask16x32<Self>) -> &mut [i16; 32]
fn as_array_mut_mask16x32(self, a: &mut mask16x32<Self>) -> &mut [i16; 32]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_mask16x32(self, a: mask16x32<Self>, dest: &mut [i16; 32])
fn store_array_mask16x32(self, a: mask16x32<Self>, dest: &mut [i16; 32])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_mask16x32(self, a: u8x64<Self>) -> mask16x32<Self>
fn cvt_from_bytes_mask16x32(self, a: u8x64<Self>) -> mask16x32<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_mask16x32(self, a: mask16x32<Self>) -> u8x64<Self>
fn cvt_to_bytes_mask16x32(self, a: mask16x32<Self>) -> u8x64<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_mask16x32<const SHIFT: usize>(
self,
a: mask16x32<Self>,
b: mask16x32<Self>,
) -> mask16x32<Self>
fn slide_mask16x32<const SHIFT: usize>( self, a: mask16x32<Self>, b: mask16x32<Self>, ) -> mask16x32<Self>
Source§fn slide_within_blocks_mask16x32<const SHIFT: usize>(
self,
a: mask16x32<Self>,
b: mask16x32<Self>,
) -> mask16x32<Self>
fn slide_within_blocks_mask16x32<const SHIFT: usize>( self, a: mask16x32<Self>, b: mask16x32<Self>, ) -> mask16x32<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn and_mask16x32(
self,
a: mask16x32<Self>,
b: mask16x32<Self>,
) -> mask16x32<Self>
fn and_mask16x32( self, a: mask16x32<Self>, b: mask16x32<Self>, ) -> mask16x32<Self>
Compute the logical AND of two masks.
Source§fn or_mask16x32(self, a: mask16x32<Self>, b: mask16x32<Self>) -> mask16x32<Self>
fn or_mask16x32(self, a: mask16x32<Self>, b: mask16x32<Self>) -> mask16x32<Self>
Compute the logical OR of two masks.
Source§fn xor_mask16x32(
self,
a: mask16x32<Self>,
b: mask16x32<Self>,
) -> mask16x32<Self>
fn xor_mask16x32( self, a: mask16x32<Self>, b: mask16x32<Self>, ) -> mask16x32<Self>
Compute the logical XOR of two masks.
Source§fn not_mask16x32(self, a: mask16x32<Self>) -> mask16x32<Self>
fn not_mask16x32(self, a: mask16x32<Self>) -> mask16x32<Self>
Compute the logical NOT of the mask.
Source§fn select_mask16x32(
self,
a: mask16x32<Self>,
b: mask16x32<Self>,
c: mask16x32<Self>,
) -> mask16x32<Self>
fn select_mask16x32( self, a: mask16x32<Self>, b: mask16x32<Self>, c: mask16x32<Self>, ) -> mask16x32<Self>
Source§fn simd_eq_mask16x32(
self,
a: mask16x32<Self>,
b: mask16x32<Self>,
) -> mask16x32<Self>
fn simd_eq_mask16x32( self, a: mask16x32<Self>, b: mask16x32<Self>, ) -> mask16x32<Self>
Compare two vectors element-wise for equality. Read more
Source§fn any_true_mask16x32(self, a: mask16x32<Self>) -> bool
fn any_true_mask16x32(self, a: mask16x32<Self>) -> bool
Returns true if any elements in this mask are true (all ones). Read more
Source§fn all_true_mask16x32(self, a: mask16x32<Self>) -> bool
fn all_true_mask16x32(self, a: mask16x32<Self>) -> bool
Returns true if all elements in this mask are true (all ones). Read more
Source§fn any_false_mask16x32(self, a: mask16x32<Self>) -> bool
fn any_false_mask16x32(self, a: mask16x32<Self>) -> bool
Returns true if any elements in this mask are false (all zeroes). Read more
Source§fn all_false_mask16x32(self, a: mask16x32<Self>) -> bool
fn all_false_mask16x32(self, a: mask16x32<Self>) -> bool
Returns true if all elements in this mask are false (all zeroes). Read more
Source§fn split_mask16x32(
self,
a: mask16x32<Self>,
) -> (mask16x16<Self>, mask16x16<Self>)
fn split_mask16x32( self, a: mask16x32<Self>, ) -> (mask16x16<Self>, mask16x16<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn splat_i32x16(self, val: i32) -> i32x16<Self>
fn splat_i32x16(self, val: i32) -> i32x16<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_i32x16(self, val: [i32; 16]) -> i32x16<Self>
fn load_array_i32x16(self, val: [i32; 16]) -> i32x16<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_i32x16(self, val: &[i32; 16]) -> i32x16<Self>
fn load_array_ref_i32x16(self, val: &[i32; 16]) -> i32x16<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_i32x16(self, a: &i32x16<Self>) -> &[i32; 16]
fn as_array_ref_i32x16(self, a: &i32x16<Self>) -> &[i32; 16]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_i32x16(self, a: &mut i32x16<Self>) -> &mut [i32; 16]
fn as_array_mut_i32x16(self, a: &mut i32x16<Self>) -> &mut [i32; 16]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_i32x16(self, a: i32x16<Self>, dest: &mut [i32; 16])
fn store_array_i32x16(self, a: i32x16<Self>, dest: &mut [i32; 16])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_i32x16(self, a: u8x64<Self>) -> i32x16<Self>
fn cvt_from_bytes_i32x16(self, a: u8x64<Self>) -> i32x16<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_i32x16(self, a: i32x16<Self>) -> u8x64<Self>
fn cvt_to_bytes_i32x16(self, a: i32x16<Self>) -> u8x64<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_i32x16<const SHIFT: usize>(
self,
a: i32x16<Self>,
b: i32x16<Self>,
) -> i32x16<Self>
fn slide_i32x16<const SHIFT: usize>( self, a: i32x16<Self>, b: i32x16<Self>, ) -> i32x16<Self>
Source§fn slide_within_blocks_i32x16<const SHIFT: usize>(
self,
a: i32x16<Self>,
b: i32x16<Self>,
) -> i32x16<Self>
fn slide_within_blocks_i32x16<const SHIFT: usize>( self, a: i32x16<Self>, b: i32x16<Self>, ) -> i32x16<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn add_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
fn add_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
Add two vectors element-wise, wrapping on overflow.
Source§fn sub_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
fn sub_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
Subtract two vectors element-wise, wrapping on overflow.
Source§fn mul_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
fn mul_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
Multiply two vectors element-wise, wrapping on overflow.
Source§fn and_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
fn and_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
Compute the bitwise AND of two vectors.
Source§fn or_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
fn or_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
Compute the bitwise OR of two vectors.
Source§fn xor_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
fn xor_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
Compute the bitwise XOR of two vectors.
Source§fn not_i32x16(self, a: i32x16<Self>) -> i32x16<Self>
fn not_i32x16(self, a: i32x16<Self>) -> i32x16<Self>
Compute the bitwise NOT of the vector.
Source§fn shl_i32x16(self, a: i32x16<Self>, shift: u32) -> i32x16<Self>
fn shl_i32x16(self, a: i32x16<Self>, shift: u32) -> i32x16<Self>
Shift each element left by the given number of bits. Read more
Source§fn shlv_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
fn shlv_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
Shift each element left by the given number of bits. Read more
Source§fn shr_i32x16(self, a: i32x16<Self>, shift: u32) -> i32x16<Self>
fn shr_i32x16(self, a: i32x16<Self>, shift: u32) -> i32x16<Self>
Shift each element right by the given number of bits. Read more
Source§fn shrv_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
fn shrv_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
Shift each element right by the corresponding element in another vector. Read more
Source§fn simd_eq_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> mask32x16<Self>
fn simd_eq_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> mask32x16<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> mask32x16<Self>
fn simd_lt_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> mask32x16<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> mask32x16<Self>
fn simd_le_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> mask32x16<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> mask32x16<Self>
fn simd_ge_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> mask32x16<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> mask32x16<Self>
fn simd_gt_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> mask32x16<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
fn zip_low_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
fn zip_high_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
fn unzip_low_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
fn unzip_high_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn select_i32x16(
self,
a: mask32x16<Self>,
b: i32x16<Self>,
c: i32x16<Self>,
) -> i32x16<Self>
fn select_i32x16( self, a: mask32x16<Self>, b: i32x16<Self>, c: i32x16<Self>, ) -> i32x16<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn min_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
fn min_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
Return the element-wise minimum of two vectors.
Source§fn max_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
fn max_i32x16(self, a: i32x16<Self>, b: i32x16<Self>) -> i32x16<Self>
Return the element-wise maximum of two vectors.
Source§fn split_i32x16(self, a: i32x16<Self>) -> (i32x8<Self>, i32x8<Self>)
fn split_i32x16(self, a: i32x16<Self>) -> (i32x8<Self>, i32x8<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn neg_i32x16(self, a: i32x16<Self>) -> i32x16<Self>
fn neg_i32x16(self, a: i32x16<Self>) -> i32x16<Self>
Negate each element of the vector, wrapping on overflow.
Source§fn reinterpret_u8_i32x16(self, a: i32x16<Self>) -> u8x64<Self>
fn reinterpret_u8_i32x16(self, a: i32x16<Self>) -> u8x64<Self>
Reinterpret the bits of this vector as a vector of
u8 elements. Read moreSource§fn reinterpret_u32_i32x16(self, a: i32x16<Self>) -> u32x16<Self>
fn reinterpret_u32_i32x16(self, a: i32x16<Self>) -> u32x16<Self>
Reinterpret the bits of this vector as a vector of
u32 elements. Read moreSource§fn cvt_f32_i32x16(self, a: i32x16<Self>) -> f32x16<Self>
fn cvt_f32_i32x16(self, a: i32x16<Self>) -> f32x16<Self>
Convert each signed 32-bit integer element to a floating-point value. Read more
Source§fn splat_u32x16(self, val: u32) -> u32x16<Self>
fn splat_u32x16(self, val: u32) -> u32x16<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_u32x16(self, val: [u32; 16]) -> u32x16<Self>
fn load_array_u32x16(self, val: [u32; 16]) -> u32x16<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_u32x16(self, val: &[u32; 16]) -> u32x16<Self>
fn load_array_ref_u32x16(self, val: &[u32; 16]) -> u32x16<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_u32x16(self, a: &u32x16<Self>) -> &[u32; 16]
fn as_array_ref_u32x16(self, a: &u32x16<Self>) -> &[u32; 16]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_u32x16(self, a: &mut u32x16<Self>) -> &mut [u32; 16]
fn as_array_mut_u32x16(self, a: &mut u32x16<Self>) -> &mut [u32; 16]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_u32x16(self, a: u32x16<Self>, dest: &mut [u32; 16])
fn store_array_u32x16(self, a: u32x16<Self>, dest: &mut [u32; 16])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_u32x16(self, a: u8x64<Self>) -> u32x16<Self>
fn cvt_from_bytes_u32x16(self, a: u8x64<Self>) -> u32x16<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_u32x16(self, a: u32x16<Self>) -> u8x64<Self>
fn cvt_to_bytes_u32x16(self, a: u32x16<Self>) -> u8x64<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_u32x16<const SHIFT: usize>(
self,
a: u32x16<Self>,
b: u32x16<Self>,
) -> u32x16<Self>
fn slide_u32x16<const SHIFT: usize>( self, a: u32x16<Self>, b: u32x16<Self>, ) -> u32x16<Self>
Source§fn slide_within_blocks_u32x16<const SHIFT: usize>(
self,
a: u32x16<Self>,
b: u32x16<Self>,
) -> u32x16<Self>
fn slide_within_blocks_u32x16<const SHIFT: usize>( self, a: u32x16<Self>, b: u32x16<Self>, ) -> u32x16<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn add_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
fn add_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
Add two vectors element-wise, wrapping on overflow.
Source§fn sub_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
fn sub_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
Subtract two vectors element-wise, wrapping on overflow.
Source§fn mul_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
fn mul_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
Multiply two vectors element-wise, wrapping on overflow.
Source§fn and_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
fn and_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
Compute the bitwise AND of two vectors.
Source§fn or_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
fn or_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
Compute the bitwise OR of two vectors.
Source§fn xor_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
fn xor_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
Compute the bitwise XOR of two vectors.
Source§fn not_u32x16(self, a: u32x16<Self>) -> u32x16<Self>
fn not_u32x16(self, a: u32x16<Self>) -> u32x16<Self>
Compute the bitwise NOT of the vector.
Source§fn shl_u32x16(self, a: u32x16<Self>, shift: u32) -> u32x16<Self>
fn shl_u32x16(self, a: u32x16<Self>, shift: u32) -> u32x16<Self>
Shift each element left by the given number of bits. Read more
Source§fn shlv_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
fn shlv_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
Shift each element left by the given number of bits. Read more
Source§fn shr_u32x16(self, a: u32x16<Self>, shift: u32) -> u32x16<Self>
fn shr_u32x16(self, a: u32x16<Self>, shift: u32) -> u32x16<Self>
Shift each element right by the given number of bits. Read more
Source§fn shrv_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
fn shrv_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
Shift each element right by the corresponding element in another vector. Read more
Source§fn simd_eq_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> mask32x16<Self>
fn simd_eq_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> mask32x16<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> mask32x16<Self>
fn simd_lt_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> mask32x16<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> mask32x16<Self>
fn simd_le_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> mask32x16<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> mask32x16<Self>
fn simd_ge_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> mask32x16<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> mask32x16<Self>
fn simd_gt_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> mask32x16<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
fn zip_low_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
fn zip_high_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
fn unzip_low_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
fn unzip_high_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn select_u32x16(
self,
a: mask32x16<Self>,
b: u32x16<Self>,
c: u32x16<Self>,
) -> u32x16<Self>
fn select_u32x16( self, a: mask32x16<Self>, b: u32x16<Self>, c: u32x16<Self>, ) -> u32x16<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn min_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
fn min_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
Return the element-wise minimum of two vectors.
Source§fn max_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
fn max_u32x16(self, a: u32x16<Self>, b: u32x16<Self>) -> u32x16<Self>
Return the element-wise maximum of two vectors.
Source§fn split_u32x16(self, a: u32x16<Self>) -> (u32x8<Self>, u32x8<Self>)
fn split_u32x16(self, a: u32x16<Self>) -> (u32x8<Self>, u32x8<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn load_interleaved_128_u32x16(self, src: &[u32; 16]) -> u32x16<Self>
fn load_interleaved_128_u32x16(self, src: &[u32; 16]) -> u32x16<Self>
Load elements from an array with 4-way interleaving. Read more
Source§fn store_interleaved_128_u32x16(self, a: u32x16<Self>, dest: &mut [u32; 16])
fn store_interleaved_128_u32x16(self, a: u32x16<Self>, dest: &mut [u32; 16])
Store elements to an array with 4-way interleaving. Read more
Source§fn reinterpret_u8_u32x16(self, a: u32x16<Self>) -> u8x64<Self>
fn reinterpret_u8_u32x16(self, a: u32x16<Self>) -> u8x64<Self>
Reinterpret the bits of this vector as a vector of
u8 elements. Read moreSource§fn cvt_f32_u32x16(self, a: u32x16<Self>) -> f32x16<Self>
fn cvt_f32_u32x16(self, a: u32x16<Self>) -> f32x16<Self>
Convert each unsigned 32-bit integer element to a floating-point value. Read more
Source§fn splat_mask32x16(self, val: i32) -> mask32x16<Self>
fn splat_mask32x16(self, val: i32) -> mask32x16<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_mask32x16(self, val: [i32; 16]) -> mask32x16<Self>
fn load_array_mask32x16(self, val: [i32; 16]) -> mask32x16<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_mask32x16(self, val: &[i32; 16]) -> mask32x16<Self>
fn load_array_ref_mask32x16(self, val: &[i32; 16]) -> mask32x16<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_mask32x16(self, a: mask32x16<Self>) -> [i32; 16]
fn as_array_mask32x16(self, a: mask32x16<Self>) -> [i32; 16]
Convert a SIMD vector to an array.
Source§fn as_array_ref_mask32x16(self, a: &mask32x16<Self>) -> &[i32; 16]
fn as_array_ref_mask32x16(self, a: &mask32x16<Self>) -> &[i32; 16]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_mask32x16(self, a: &mut mask32x16<Self>) -> &mut [i32; 16]
fn as_array_mut_mask32x16(self, a: &mut mask32x16<Self>) -> &mut [i32; 16]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_mask32x16(self, a: mask32x16<Self>, dest: &mut [i32; 16])
fn store_array_mask32x16(self, a: mask32x16<Self>, dest: &mut [i32; 16])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_mask32x16(self, a: u8x64<Self>) -> mask32x16<Self>
fn cvt_from_bytes_mask32x16(self, a: u8x64<Self>) -> mask32x16<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_mask32x16(self, a: mask32x16<Self>) -> u8x64<Self>
fn cvt_to_bytes_mask32x16(self, a: mask32x16<Self>) -> u8x64<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_mask32x16<const SHIFT: usize>(
self,
a: mask32x16<Self>,
b: mask32x16<Self>,
) -> mask32x16<Self>
fn slide_mask32x16<const SHIFT: usize>( self, a: mask32x16<Self>, b: mask32x16<Self>, ) -> mask32x16<Self>
Source§fn slide_within_blocks_mask32x16<const SHIFT: usize>(
self,
a: mask32x16<Self>,
b: mask32x16<Self>,
) -> mask32x16<Self>
fn slide_within_blocks_mask32x16<const SHIFT: usize>( self, a: mask32x16<Self>, b: mask32x16<Self>, ) -> mask32x16<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn and_mask32x16(
self,
a: mask32x16<Self>,
b: mask32x16<Self>,
) -> mask32x16<Self>
fn and_mask32x16( self, a: mask32x16<Self>, b: mask32x16<Self>, ) -> mask32x16<Self>
Compute the logical AND of two masks.
Source§fn or_mask32x16(self, a: mask32x16<Self>, b: mask32x16<Self>) -> mask32x16<Self>
fn or_mask32x16(self, a: mask32x16<Self>, b: mask32x16<Self>) -> mask32x16<Self>
Compute the logical OR of two masks.
Source§fn xor_mask32x16(
self,
a: mask32x16<Self>,
b: mask32x16<Self>,
) -> mask32x16<Self>
fn xor_mask32x16( self, a: mask32x16<Self>, b: mask32x16<Self>, ) -> mask32x16<Self>
Compute the logical XOR of two masks.
Source§fn not_mask32x16(self, a: mask32x16<Self>) -> mask32x16<Self>
fn not_mask32x16(self, a: mask32x16<Self>) -> mask32x16<Self>
Compute the logical NOT of the mask.
Source§fn select_mask32x16(
self,
a: mask32x16<Self>,
b: mask32x16<Self>,
c: mask32x16<Self>,
) -> mask32x16<Self>
fn select_mask32x16( self, a: mask32x16<Self>, b: mask32x16<Self>, c: mask32x16<Self>, ) -> mask32x16<Self>
Source§fn simd_eq_mask32x16(
self,
a: mask32x16<Self>,
b: mask32x16<Self>,
) -> mask32x16<Self>
fn simd_eq_mask32x16( self, a: mask32x16<Self>, b: mask32x16<Self>, ) -> mask32x16<Self>
Compare two vectors element-wise for equality. Read more
Source§fn any_true_mask32x16(self, a: mask32x16<Self>) -> bool
fn any_true_mask32x16(self, a: mask32x16<Self>) -> bool
Returns true if any elements in this mask are true (all ones). Read more
Source§fn all_true_mask32x16(self, a: mask32x16<Self>) -> bool
fn all_true_mask32x16(self, a: mask32x16<Self>) -> bool
Returns true if all elements in this mask are true (all ones). Read more
Source§fn any_false_mask32x16(self, a: mask32x16<Self>) -> bool
fn any_false_mask32x16(self, a: mask32x16<Self>) -> bool
Returns true if any elements in this mask are false (all zeroes). Read more
Source§fn all_false_mask32x16(self, a: mask32x16<Self>) -> bool
fn all_false_mask32x16(self, a: mask32x16<Self>) -> bool
Returns true if all elements in this mask are false (all zeroes). Read more
Source§fn split_mask32x16(self, a: mask32x16<Self>) -> (mask32x8<Self>, mask32x8<Self>)
fn split_mask32x16(self, a: mask32x16<Self>) -> (mask32x8<Self>, mask32x8<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn splat_f64x8(self, val: f64) -> f64x8<Self>
fn splat_f64x8(self, val: f64) -> f64x8<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_f64x8(self, val: [f64; 8]) -> f64x8<Self>
fn load_array_f64x8(self, val: [f64; 8]) -> f64x8<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_f64x8(self, val: &[f64; 8]) -> f64x8<Self>
fn load_array_ref_f64x8(self, val: &[f64; 8]) -> f64x8<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_f64x8(self, a: &f64x8<Self>) -> &[f64; 8]
fn as_array_ref_f64x8(self, a: &f64x8<Self>) -> &[f64; 8]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_f64x8(self, a: &mut f64x8<Self>) -> &mut [f64; 8]
fn as_array_mut_f64x8(self, a: &mut f64x8<Self>) -> &mut [f64; 8]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_f64x8(self, a: f64x8<Self>, dest: &mut [f64; 8])
fn store_array_f64x8(self, a: f64x8<Self>, dest: &mut [f64; 8])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_f64x8(self, a: u8x64<Self>) -> f64x8<Self>
fn cvt_from_bytes_f64x8(self, a: u8x64<Self>) -> f64x8<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_f64x8(self, a: f64x8<Self>) -> u8x64<Self>
fn cvt_to_bytes_f64x8(self, a: f64x8<Self>) -> u8x64<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_within_blocks_f64x8<const SHIFT: usize>(
self,
a: f64x8<Self>,
b: f64x8<Self>,
) -> f64x8<Self>
fn slide_within_blocks_f64x8<const SHIFT: usize>( self, a: f64x8<Self>, b: f64x8<Self>, ) -> f64x8<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn sqrt_f64x8(self, a: f64x8<Self>) -> f64x8<Self>
fn sqrt_f64x8(self, a: f64x8<Self>) -> f64x8<Self>
Compute the square root of each element. Read more
Source§fn add_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
fn add_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
Add two vectors element-wise.
Source§fn sub_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
fn sub_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
Subtract two vectors element-wise.
Source§fn mul_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
fn mul_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
Multiply two vectors element-wise.
Source§fn div_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
fn div_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
Divide two vectors element-wise.
Source§fn simd_eq_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> mask64x8<Self>
fn simd_eq_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> mask64x8<Self>
Compare two vectors element-wise for equality. Read more
Source§fn simd_lt_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> mask64x8<Self>
fn simd_lt_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> mask64x8<Self>
Compare two vectors element-wise for less than. Read more
Source§fn simd_le_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> mask64x8<Self>
fn simd_le_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> mask64x8<Self>
Compare two vectors element-wise for less than or equal. Read more
Source§fn simd_ge_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> mask64x8<Self>
fn simd_ge_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> mask64x8<Self>
Compare two vectors element-wise for greater than or equal. Read more
Source§fn simd_gt_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> mask64x8<Self>
fn simd_gt_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> mask64x8<Self>
Compare two vectors element-wise for greater than. Read more
Source§fn zip_low_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
fn zip_low_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
Interleave the lower half elements of two vectors. Read more
Source§fn zip_high_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
fn zip_high_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
Interleave the upper half elements of two vectors. Read more
Source§fn unzip_low_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
fn unzip_low_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
Extract even-indexed elements from two vectors. Read more
Source§fn unzip_high_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
fn unzip_high_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
Extract odd-indexed elements from two vectors. Read more
Source§fn max_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
fn max_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
Return the element-wise maximum of two vectors. Read more
Source§fn min_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
fn min_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
Return the element-wise minimum of two vectors. Read more
Source§fn max_precise_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
fn max_precise_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
Return the element-wise maximum of two vectors. Read more
Source§fn min_precise_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
fn min_precise_f64x8(self, a: f64x8<Self>, b: f64x8<Self>) -> f64x8<Self>
Return the element-wise minimum of two vectors. Read more
Source§fn mul_add_f64x8(
self,
a: f64x8<Self>,
b: f64x8<Self>,
c: f64x8<Self>,
) -> f64x8<Self>
fn mul_add_f64x8( self, a: f64x8<Self>, b: f64x8<Self>, c: f64x8<Self>, ) -> f64x8<Self>
Compute
(a * b) + c (fused multiply-add) for each element. Read moreSource§fn mul_sub_f64x8(
self,
a: f64x8<Self>,
b: f64x8<Self>,
c: f64x8<Self>,
) -> f64x8<Self>
fn mul_sub_f64x8( self, a: f64x8<Self>, b: f64x8<Self>, c: f64x8<Self>, ) -> f64x8<Self>
Compute
(a * b) - c (fused multiply-subtract) for each element. Read moreSource§fn floor_f64x8(self, a: f64x8<Self>) -> f64x8<Self>
fn floor_f64x8(self, a: f64x8<Self>) -> f64x8<Self>
Return the largest integer less than or equal to each element, that is, round towards negative infinity.
Source§fn ceil_f64x8(self, a: f64x8<Self>) -> f64x8<Self>
fn ceil_f64x8(self, a: f64x8<Self>) -> f64x8<Self>
Return the smallest integer greater than or equal to each element, that is, round towards positive infinity.
Source§fn round_ties_even_f64x8(self, a: f64x8<Self>) -> f64x8<Self>
fn round_ties_even_f64x8(self, a: f64x8<Self>) -> f64x8<Self>
Round each element to the nearest integer, with ties rounding to the nearest even integer. Read more
Source§fn fract_f64x8(self, a: f64x8<Self>) -> f64x8<Self>
fn fract_f64x8(self, a: f64x8<Self>) -> f64x8<Self>
Return the fractional part of each element. Read more
Source§fn trunc_f64x8(self, a: f64x8<Self>) -> f64x8<Self>
fn trunc_f64x8(self, a: f64x8<Self>) -> f64x8<Self>
Return the integer part of each element, rounding towards zero.
Source§fn select_f64x8(
self,
a: mask64x8<Self>,
b: f64x8<Self>,
c: f64x8<Self>,
) -> f64x8<Self>
fn select_f64x8( self, a: mask64x8<Self>, b: f64x8<Self>, c: f64x8<Self>, ) -> f64x8<Self>
Select elements from b and c based on the mask operand a. Read more
Source§fn split_f64x8(self, a: f64x8<Self>) -> (f64x4<Self>, f64x4<Self>)
fn split_f64x8(self, a: f64x8<Self>) -> (f64x4<Self>, f64x4<Self>)
Split a vector into two vectors of half the width. Read more
Source§fn reinterpret_f32_f64x8(self, a: f64x8<Self>) -> f32x16<Self>
fn reinterpret_f32_f64x8(self, a: f64x8<Self>) -> f32x16<Self>
Reinterpret the bits of this vector as a vector of
f32 elements. Read moreSource§fn splat_mask64x8(self, val: i64) -> mask64x8<Self>
fn splat_mask64x8(self, val: i64) -> mask64x8<Self>
Create a SIMD vector with all elements set to the given value.
Source§fn load_array_mask64x8(self, val: [i64; 8]) -> mask64x8<Self>
fn load_array_mask64x8(self, val: [i64; 8]) -> mask64x8<Self>
Create a SIMD vector from an array of the same length.
Source§fn load_array_ref_mask64x8(self, val: &[i64; 8]) -> mask64x8<Self>
fn load_array_ref_mask64x8(self, val: &[i64; 8]) -> mask64x8<Self>
Create a SIMD vector from an array of the same length.
Source§fn as_array_ref_mask64x8(self, a: &mask64x8<Self>) -> &[i64; 8]
fn as_array_ref_mask64x8(self, a: &mask64x8<Self>) -> &[i64; 8]
Project a reference to a SIMD vector to a reference to the equivalent array.
Source§fn as_array_mut_mask64x8(self, a: &mut mask64x8<Self>) -> &mut [i64; 8]
fn as_array_mut_mask64x8(self, a: &mut mask64x8<Self>) -> &mut [i64; 8]
Project a mutable reference to a SIMD vector to a mutable reference to the equivalent array.
Source§fn store_array_mask64x8(self, a: mask64x8<Self>, dest: &mut [i64; 8])
fn store_array_mask64x8(self, a: mask64x8<Self>, dest: &mut [i64; 8])
Store a SIMD vector into an array of the same length.
Source§fn cvt_from_bytes_mask64x8(self, a: u8x64<Self>) -> mask64x8<Self>
fn cvt_from_bytes_mask64x8(self, a: u8x64<Self>) -> mask64x8<Self>
Reinterpret a vector of bytes as a SIMD vector of a given type, with the equivalent byte length.
Source§fn cvt_to_bytes_mask64x8(self, a: mask64x8<Self>) -> u8x64<Self>
fn cvt_to_bytes_mask64x8(self, a: mask64x8<Self>) -> u8x64<Self>
Reinterpret a SIMD vector as a vector of bytes, with the equivalent byte length.
Source§fn slide_mask64x8<const SHIFT: usize>(
self,
a: mask64x8<Self>,
b: mask64x8<Self>,
) -> mask64x8<Self>
fn slide_mask64x8<const SHIFT: usize>( self, a: mask64x8<Self>, b: mask64x8<Self>, ) -> mask64x8<Self>
Source§fn slide_within_blocks_mask64x8<const SHIFT: usize>(
self,
a: mask64x8<Self>,
b: mask64x8<Self>,
) -> mask64x8<Self>
fn slide_within_blocks_mask64x8<const SHIFT: usize>( self, a: mask64x8<Self>, b: mask64x8<Self>, ) -> mask64x8<Self>
Like
slide, but operates independently on each 128-bit block.Source§fn and_mask64x8(self, a: mask64x8<Self>, b: mask64x8<Self>) -> mask64x8<Self>
fn and_mask64x8(self, a: mask64x8<Self>, b: mask64x8<Self>) -> mask64x8<Self>
Compute the logical AND of two masks.
Source§fn or_mask64x8(self, a: mask64x8<Self>, b: mask64x8<Self>) -> mask64x8<Self>
fn or_mask64x8(self, a: mask64x8<Self>, b: mask64x8<Self>) -> mask64x8<Self>
Compute the logical OR of two masks.
Source§fn xor_mask64x8(self, a: mask64x8<Self>, b: mask64x8<Self>) -> mask64x8<Self>
fn xor_mask64x8(self, a: mask64x8<Self>, b: mask64x8<Self>) -> mask64x8<Self>
Compute the logical XOR of two masks.
Source§fn not_mask64x8(self, a: mask64x8<Self>) -> mask64x8<Self>
fn not_mask64x8(self, a: mask64x8<Self>) -> mask64x8<Self>
Compute the logical NOT of the mask.
Source§fn select_mask64x8(
self,
a: mask64x8<Self>,
b: mask64x8<Self>,
c: mask64x8<Self>,
) -> mask64x8<Self>
fn select_mask64x8( self, a: mask64x8<Self>, b: mask64x8<Self>, c: mask64x8<Self>, ) -> mask64x8<Self>
Source§fn simd_eq_mask64x8(
self,
a: mask64x8<Self>,
b: mask64x8<Self>,
) -> mask64x8<Self>
fn simd_eq_mask64x8( self, a: mask64x8<Self>, b: mask64x8<Self>, ) -> mask64x8<Self>
Compare two vectors element-wise for equality. Read more
Source§fn any_true_mask64x8(self, a: mask64x8<Self>) -> bool
fn any_true_mask64x8(self, a: mask64x8<Self>) -> bool
Returns true if any elements in this mask are true (all ones). Read more
Source§fn all_true_mask64x8(self, a: mask64x8<Self>) -> bool
fn all_true_mask64x8(self, a: mask64x8<Self>) -> bool
Returns true if all elements in this mask are true (all ones). Read more
Source§fn any_false_mask64x8(self, a: mask64x8<Self>) -> bool
fn any_false_mask64x8(self, a: mask64x8<Self>) -> bool
Returns true if any elements in this mask are false (all zeroes). Read more
impl Copy for Avx2
Auto Trait Implementations§
impl Freeze for Avx2
impl RefUnwindSafe for Avx2
impl Send for Avx2
impl Sync for Avx2
impl Unpin for Avx2
impl UnwindSafe for Avx2
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more