#[repr(simd)]pub struct v128([i32; 4]);
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; 4]
Implementations§
Source§impl v128
impl v128
Sourcefn splat(value: i32) -> v128
fn splat(value: i32) -> v128
Using my_simd([x; N])
seemingly fails tests,
so use this internal helper for it instead.
Sourceconst fn as_array(&self) -> &[i32; 4]
const fn as_array(&self) -> &[i32; 4]
Returns an array reference containing the entire SIMD vector.
Sourcefn as_mut_array(&mut self) -> &mut [i32; 4]
fn as_mut_array(&mut self) -> &mut [i32; 4]
Returns a mutable array reference containing the entire SIMD vector.
Source§impl v128
impl v128
pub(crate) fn as_u8x16(self) -> u8x16
pub(crate) fn as_u16x8(self) -> u16x8
pub(crate) fn as_u32x4(self) -> u32x4
pub(crate) fn as_u64x2(self) -> u64x2
pub(crate) fn as_i8x16(self) -> i8x16
pub(crate) fn as_i16x8(self) -> i16x8
pub(crate) fn as_i32x4(self) -> i32x4
pub(crate) fn as_i64x2(self) -> i64x2
pub(crate) fn as_f32x4(self) -> f32x4
pub(crate) fn as_f64x2(self) -> f64x2
Trait Implementations§
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 UnsafeUnpin 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)] const IS_ZST: bool = _
#[doc(hidden)] const IS_ZST: bool = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)Source§#[doc(hidden)] const LAYOUT: Layout = _
#[doc(hidden)] const LAYOUT: Layout = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)Source§#[doc(hidden)] const MAX_SLICE_LEN: usize = _
#[doc(hidden)] const MAX_SLICE_LEN: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)The largest safe length for a
[Self]
. Read more