#[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
andu8
) - eight 16-bit integers (both
i16
andu16
) - four 32-bit integers (both
i32
andu32
) - two 64-bit integers (both
i64
andu64
) - 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
impl v128
pub(crate) fn as_u8x16(self) -> u8x16
🔬This is a nightly-only experimental API. (
stdsimd
#48556)pub(crate) fn as_u16x8(self) -> u16x8
🔬This is a nightly-only experimental API. (
stdsimd
#48556)pub(crate) fn as_u32x4(self) -> u32x4
🔬This is a nightly-only experimental API. (
stdsimd
#48556)pub(crate) fn as_u64x2(self) -> u64x2
🔬This is a nightly-only experimental API. (
stdsimd
#48556)pub(crate) fn as_i8x16(self) -> i8x16
🔬This is a nightly-only experimental API. (
stdsimd
#48556)pub(crate) fn as_i16x8(self) -> i16x8
🔬This is a nightly-only experimental API. (
stdsimd
#48556)pub(crate) fn as_i32x4(self) -> i32x4
🔬This is a nightly-only experimental API. (
stdsimd
#48556)pub(crate) fn as_i64x2(self) -> i64x2
🔬This is a nightly-only experimental API. (
stdsimd
#48556)pub(crate) fn as_f32x4(self) -> f32x4
🔬This is a nightly-only experimental API. (
stdsimd
#48556)pub(crate) fn as_f64x2(self) -> f64x2
🔬This is a nightly-only experimental API. (
stdsimd
#48556)Trait Implementations§
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> 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