Struct m256
#[repr(simd)]
pub struct m256(pub(in ::core_arch::loongarch64::lasx::types) [f32; 8]);
256-bit wide set of eight f32 values, LoongArch-specific
This type is the same as the __m256 type defined in lasxintrin.h,
representing a 256-bit SIMD register which internally consists of
eight packed f32 instances. Usage of this type typically occurs in
conjunction with the lasx target features for LoongArch.
Note that unlike m256i, the integer version of the 256-bit registers,
this m256 type has one interpretation. Each instance of m256
always corresponds to f32x8, or eight f32 values packed together.
The in-memory representation of this type is the same as the one of an equivalent array (i.e. the in-memory order of elements is the same, and there is no padding between two consecutive elements); however, the alignment is different and equal to the size of the type. Note that the ABI for function calls may not be the same.
Most intrinsics using m256 are prefixed with lasx_ and are
suffixed with "s".
Fields
0: [f32; 8]
Implementations
impl m256
fn splat(value: f32) -> m256Put the same value in every lane.
const fn as_array(&self) -> &[f32; 8]Returns an array reference containing the entire SIMD vector.
fn as_mut_array(&mut self) -> &mut [f32; 8]Returns a mutable array reference containing the entire SIMD vector.
Trait Implementations
impl Clone for m256
fn clone(&self) -> m256
impl Copy for m256
impl Debug for m256
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl From<Simd<f32, 8>> for m256
fn from(simd: Simd<f32, 8>) -> Self
impl TrivialClone for m256
Auto Trait Implementations
impl Freeze for m256
impl RefUnwindSafe for m256
impl Send for m256
impl Sync for m256
impl Unpin for m256
impl UnsafeUnpin for m256
impl UnwindSafe for m256
Blanket Implementations
impl<T> Any for m256
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for m256
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for m256
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for m256
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for m256
fn from(t: T) -> TReturns the argument unchanged.
impl<T> Printable for m256
where
T: Copy + Debug,
impl<T> SizeHint for m256
where
T: ?Sized,
fn lower_bound(&self) -> usizefn upper_bound(&self) -> Option<usize>
impl<T> SizedTypeProperties for m256
impl<T, U> Into<U> for m256
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for m256
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for m256
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>