Struct core::arch::wasm::v128

1.54.0 · source ·
#[repr(simd)]
pub struct v128(i32, i32, i32, i32);
Available on target_family="wasm" only.
Expand description

WASM-specific 128-bit wide SIMD vector type.

This type corresponds to the v128 type in the WebAssembly SIMD proposal. This type is 128-bits large and the meaning of all the bits is defined within the context of how this value is used.

This same type is used simultaneously for all 128-bit-wide SIMD types, for example:

  • sixteen 8-bit integers (both i8 and u8)
  • eight 16-bit integers (both i16 and u16)
  • four 32-bit integers (both i32 and u32)
  • two 64-bit integers (both i64 and u64)
  • four 32-bit floats (f32)
  • two 64-bit floats (f64)

The v128 type in Rust is intended to be quite analogous to the v128 type in WebAssembly. Operations on v128 can only be performed with the functions in this module.

Tuple Fields§

§0: i32§1: i32§2: i32§3: i32

Implementations§

source§

impl v128

source

pub(crate) fn as_u8x16(self) -> u8x16

🔬This is a nightly-only experimental API. (stdsimd #48556)
source

pub(crate) fn as_u16x8(self) -> u16x8

🔬This is a nightly-only experimental API. (stdsimd #48556)
source

pub(crate) fn as_u32x4(self) -> u32x4

🔬This is a nightly-only experimental API. (stdsimd #48556)
source

pub(crate) fn as_u64x2(self) -> u64x2

🔬This is a nightly-only experimental API. (stdsimd #48556)
source

pub(crate) fn as_i8x16(self) -> i8x16

🔬This is a nightly-only experimental API. (stdsimd #48556)
source

pub(crate) fn as_i16x8(self) -> i16x8

🔬This is a nightly-only experimental API. (stdsimd #48556)
source

pub(crate) fn as_i32x4(self) -> i32x4

🔬This is a nightly-only experimental API. (stdsimd #48556)
source

pub(crate) fn as_i64x2(self) -> i64x2

🔬This is a nightly-only experimental API. (stdsimd #48556)
source

pub(crate) fn as_f32x4(self) -> f32x4

🔬This is a nightly-only experimental API. (stdsimd #48556)
source

pub(crate) fn as_f64x2(self) -> f64x2

🔬This is a nightly-only experimental API. (stdsimd #48556)

Trait Implementations§

source§

impl Clone for v128

source§

fn clone(&self) -> v128

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for v128

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Copy for v128

Auto Trait Implementations§

§

impl Freeze for v128

§

impl RefUnwindSafe for v128

§

impl Send for v128

§

impl Sync for v128

§

impl Unpin for v128

§

impl UnwindSafe for v128

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> SizedTypeProperties for T

source§

const IS_ZST: bool = _

🔬This is a nightly-only experimental API. (sized_type_properties)
true if this type requires no storage. false if its size is greater than zero. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Printable for Twhere T: Copy + Debug,