Type Definition packed_simd_2::u8x8
source · [−]Expand description
A 64-bit vector with 8 u8
lanes.
Implementations
Creates a new instance with each vector elements initialized with the provided values.
Constructs a new instance with each element initialized to
value
.
Returns a new vector where the value at index
is replaced by new_value
.
Panics
If index >= Self::lanes()
.
Returns a new vector where the value at index
is replaced by new_value
.
Safety
If index >= Self::lanes()
the behavior is undefined.
Shifts the bits of each lane to the left by the specified
amount in the corresponding lane of n
, wrapping the
truncated bits to the end of the resulting integer.
Note: this is neither the same operation as <<
nor equivalent
to slice::rotate_left
.
Shifts the bits of each lane to the right by the specified
amount in the corresponding lane of n
, wrapping the
truncated bits to the beginning of the resulting integer.
Note: this is neither the same operation as <<
nor equivalent
to slice::rotate_left
.
Horizontal wrapping sum of the vector elements.
The intrinsic performs a tree-reduction of the vector elements. That is, for an 8 element vector:
((x0 + x1) + (x2 + x3)) + ((x4 + x5) + (x6 + x7))
If an operation overflows it returns the mathematical result
modulo 2^n
where n
is the number of times it overflows.
Horizontal wrapping product of the vector elements.
The intrinsic performs a tree-reduction of the vector elements. That is, for an 8 element vector:
((x0 * x1) * (x2 * x3)) * ((x4 * x5) * (x6 * x7))
If an operation overflows it returns the mathematical result
modulo 2^n
where n
is the number of times it overflows.
Largest vector element value.
Smallest vector element value.
Lane-wise bitwise and
of the vector elements.
Note: if the vector has one lane, the first element of the vector is returned.
Lane-wise bitwise or
of the vector elements.
Note: if the vector has one lane, the first element of the vector is returned.
Instantiates a new vector with the values of the slice
.
Panics
If slice.len() < Self::lanes()
or &slice[0]
is not aligned
to an align_of::<Self>()
boundary.
Instantiates a new vector with the values of the slice
.
Safety
If slice.len() < Self::lanes()
or &slice[0]
is not aligned
to an align_of::<Self>()
boundary, the behavior is undefined.
Writes the values of the vector to the slice
.
Panics
If slice.len() < Self::lanes()
or &slice[0]
is not
aligned to an align_of::<Self>()
boundary.
Writes the values of the vector to the slice
.
Safety
If slice.len() < Self::lanes()
or &slice[0]
is not
aligned to an align_of::<Self>()
boundary, the behavior is
undefined.
Reverses the byte order of the vector.
Converts self to little endian from the target’s endianness.
On little endian this is a no-op. On big endian the bytes are swapped.
Converts self to big endian from the target’s endianness.
On big endian this is a no-op. On little endian the bytes are swapped.
Converts a vector from little endian to the target’s endianness.
On little endian this is a no-op. On big endian the bytes are swapped.
Returns the number of ones in the binary representation of
the lanes of self
.
Returns the number of zeros in the binary representation of
the lanes of self
.
Returns the number of leading zeros in the binary
representation of the lanes of self
.
Returns the number of trailing zeros in the binary
representation of the lanes of self
.
Shuffle vector elements according to indices
.
Returns a wrapper that implements PartialOrd
.
Returns a wrapper that implements Ord
.
Trait Implementations
Performs the +=
operation. Read more
Performs the +=
operation. Read more
Performs the &=
operation. Read more
Performs the &=
operation. Read more
Performs the |=
operation. Read more
Performs the |=
operation. Read more
Performs the ^=
operation. Read more
Performs the ^=
operation. Read more
Performs the /=
operation. Read more
Performs the /=
operation. Read more
Performs the *=
operation. Read more
Performs the *=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the -=
operation. Read more
Performs the -=
operation. Read more