SIMDOperator

Enum SIMDOperator 

Source
pub enum SIMDOperator {
Show 236 variants V128Load { memarg: MemArg, }, V128Load8x8S { memarg: MemArg, }, V128Load8x8U { memarg: MemArg, }, V128Load16x4S { memarg: MemArg, }, V128Load16x4U { memarg: MemArg, }, V128Load32x2S { memarg: MemArg, }, V128Load32x2U { memarg: MemArg, }, V128Load8Splat { memarg: MemArg, }, V128Load16Splat { memarg: MemArg, }, V128Load32Splat { memarg: MemArg, }, V128Load64Splat { memarg: MemArg, }, V128Load32Zero { memarg: MemArg, }, V128Load64Zero { memarg: MemArg, }, V128Store { memarg: MemArg, }, V128Load8Lane { memarg: MemArg, lane: u8, }, V128Load16Lane { memarg: MemArg, lane: u8, }, V128Load32Lane { memarg: MemArg, lane: u8, }, V128Load64Lane { memarg: MemArg, lane: u8, }, V128Store8Lane { memarg: MemArg, lane: u8, }, V128Store16Lane { memarg: MemArg, lane: u8, }, V128Store32Lane { memarg: MemArg, lane: u8, }, V128Store64Lane { memarg: MemArg, lane: u8, }, V128Const { value: V128, }, I8x16Shuffle { lanes: [u8; 16], }, I8x16ExtractLaneS { lane: u8, }, I8x16ExtractLaneU { lane: u8, }, I8x16ReplaceLane { lane: u8, }, I16x8ExtractLaneS { lane: u8, }, I16x8ExtractLaneU { lane: u8, }, I16x8ReplaceLane { lane: u8, }, I32x4ExtractLane { lane: u8, }, I32x4ReplaceLane { lane: u8, }, I64x2ExtractLane { lane: u8, }, I64x2ReplaceLane { lane: u8, }, F32x4ExtractLane { lane: u8, }, F32x4ReplaceLane { lane: u8, }, F64x2ExtractLane { lane: u8, }, F64x2ReplaceLane { lane: u8, }, I8x16Swizzle, I8x16Splat, I16x8Splat, I32x4Splat, I64x2Splat, F32x4Splat, F64x2Splat, I8x16Eq, I8x16Ne, I8x16LtS, I8x16LtU, I8x16GtS, I8x16GtU, I8x16LeS, I8x16LeU, I8x16GeS, I8x16GeU, I16x8Eq, I16x8Ne, I16x8LtS, I16x8LtU, I16x8GtS, I16x8GtU, I16x8LeS, I16x8LeU, I16x8GeS, I16x8GeU, I32x4Eq, I32x4Ne, I32x4LtS, I32x4LtU, I32x4GtS, I32x4GtU, I32x4LeS, I32x4LeU, I32x4GeS, I32x4GeU, I64x2Eq, I64x2Ne, I64x2LtS, I64x2GtS, I64x2LeS, I64x2GeS, F32x4Eq, F32x4Ne, F32x4Lt, F32x4Gt, F32x4Le, F32x4Ge, F64x2Eq, F64x2Ne, F64x2Lt, F64x2Gt, F64x2Le, F64x2Ge, V128Not, V128And, V128AndNot, V128Or, V128Xor, V128Bitselect, V128AnyTrue, I8x16Abs, I8x16Neg, I8x16Popcnt, I8x16AllTrue, I8x16Bitmask, I8x16NarrowI16x8S, I8x16NarrowI16x8U, I8x16Shl, I8x16ShrS, I8x16ShrU, I8x16Add, I8x16AddSatS, I8x16AddSatU, I8x16Sub, I8x16SubSatS, I8x16SubSatU, I8x16MinS, I8x16MinU, I8x16MaxS, I8x16MaxU, I8x16AvgrU, I16x8ExtAddPairwiseI8x16S, I16x8ExtAddPairwiseI8x16U, I16x8Abs, I16x8Neg, I16x8Q15MulrSatS, I16x8AllTrue, I16x8Bitmask, I16x8NarrowI32x4S, I16x8NarrowI32x4U, I16x8ExtendLowI8x16S, I16x8ExtendHighI8x16S, I16x8ExtendLowI8x16U, I16x8ExtendHighI8x16U, I16x8Shl, I16x8ShrS, I16x8ShrU, I16x8Add, I16x8AddSatS, I16x8AddSatU, I16x8Sub, I16x8SubSatS, I16x8SubSatU, I16x8Mul, I16x8MinS, I16x8MinU, I16x8MaxS, I16x8MaxU, I16x8AvgrU, I16x8ExtMulLowI8x16S, I16x8ExtMulHighI8x16S, I16x8ExtMulLowI8x16U, I16x8ExtMulHighI8x16U, I32x4ExtAddPairwiseI16x8S, I32x4ExtAddPairwiseI16x8U, I32x4Abs, I32x4Neg, I32x4AllTrue, I32x4Bitmask, I32x4ExtendLowI16x8S, I32x4ExtendHighI16x8S, I32x4ExtendLowI16x8U, I32x4ExtendHighI16x8U, I32x4Shl, I32x4ShrS, I32x4ShrU, I32x4Add, I32x4Sub, I32x4Mul, I32x4MinS, I32x4MinU, I32x4MaxS, I32x4MaxU, I32x4DotI16x8S, I32x4ExtMulLowI16x8S, I32x4ExtMulHighI16x8S, I32x4ExtMulLowI16x8U, I32x4ExtMulHighI16x8U, I64x2Abs, I64x2Neg, I64x2AllTrue, I64x2Bitmask, I64x2ExtendLowI32x4S, I64x2ExtendHighI32x4S, I64x2ExtendLowI32x4U, I64x2ExtendHighI32x4U, I64x2Shl, I64x2ShrS, I64x2ShrU, I64x2Add, I64x2Sub, I64x2Mul, I64x2ExtMulLowI32x4S, I64x2ExtMulHighI32x4S, I64x2ExtMulLowI32x4U, I64x2ExtMulHighI32x4U, F32x4Ceil, F32x4Floor, F32x4Trunc, F32x4Nearest, F32x4Abs, F32x4Neg, F32x4Sqrt, F32x4Add, F32x4Sub, F32x4Mul, F32x4Div, F32x4Min, F32x4Max, F32x4PMin, F32x4PMax, F64x2Ceil, F64x2Floor, F64x2Trunc, F64x2Nearest, F64x2Abs, F64x2Neg, F64x2Sqrt, F64x2Add, F64x2Sub, F64x2Mul, F64x2Div, F64x2Min, F64x2Max, F64x2PMin, F64x2PMax, I32x4TruncSatF32x4S, I32x4TruncSatF32x4U, F32x4ConvertI32x4S, F32x4ConvertI32x4U, I32x4TruncSatF64x2SZero, I32x4TruncSatF64x2UZero, F64x2ConvertLowI32x4S, F64x2ConvertLowI32x4U, F32x4DemoteF64x2Zero, F64x2PromoteLowF32x4,
}
Expand description

A subset of WebAssembly operations given by the SIMD proposal

Variants§

§

V128Load

Fields

§memarg: MemArg
§

V128Load8x8S

Fields

§memarg: MemArg
§

V128Load8x8U

Fields

§memarg: MemArg
§

V128Load16x4S

Fields

§memarg: MemArg
§

V128Load16x4U

Fields

§memarg: MemArg
§

V128Load32x2S

Fields

§memarg: MemArg
§

V128Load32x2U

Fields

§memarg: MemArg
§

V128Load8Splat

Fields

§memarg: MemArg
§

V128Load16Splat

Fields

§memarg: MemArg
§

V128Load32Splat

Fields

§memarg: MemArg
§

V128Load64Splat

Fields

§memarg: MemArg
§

V128Load32Zero

Fields

§memarg: MemArg
§

V128Load64Zero

Fields

§memarg: MemArg
§

V128Store

Fields

§memarg: MemArg
§

V128Load8Lane

Fields

§memarg: MemArg
§lane: u8
§

V128Load16Lane

Fields

§memarg: MemArg
§lane: u8
§

V128Load32Lane

Fields

§memarg: MemArg
§lane: u8
§

V128Load64Lane

Fields

§memarg: MemArg
§lane: u8
§

V128Store8Lane

Fields

§memarg: MemArg
§lane: u8
§

V128Store16Lane

Fields

§memarg: MemArg
§lane: u8
§

V128Store32Lane

Fields

§memarg: MemArg
§lane: u8
§

V128Store64Lane

Fields

§memarg: MemArg
§lane: u8
§

V128Const

Fields

§value: V128
§

I8x16Shuffle

Fields

§lanes: [u8; 16]
§

I8x16ExtractLaneS

Fields

§lane: u8
§

I8x16ExtractLaneU

Fields

§lane: u8
§

I8x16ReplaceLane

Fields

§lane: u8
§

I16x8ExtractLaneS

Fields

§lane: u8
§

I16x8ExtractLaneU

Fields

§lane: u8
§

I16x8ReplaceLane

Fields

§lane: u8
§

I32x4ExtractLane

Fields

§lane: u8
§

I32x4ReplaceLane

Fields

§lane: u8
§

I64x2ExtractLane

Fields

§lane: u8
§

I64x2ReplaceLane

Fields

§lane: u8
§

F32x4ExtractLane

Fields

§lane: u8
§

F32x4ReplaceLane

Fields

§lane: u8
§

F64x2ExtractLane

Fields

§lane: u8
§

F64x2ReplaceLane

Fields

§lane: u8
§

I8x16Swizzle

§

I8x16Splat

§

I16x8Splat

§

I32x4Splat

§

I64x2Splat

§

F32x4Splat

§

F64x2Splat

§

I8x16Eq

§

I8x16Ne

§

I8x16LtS

§

I8x16LtU

§

I8x16GtS

§

I8x16GtU

§

I8x16LeS

§

I8x16LeU

§

I8x16GeS

§

I8x16GeU

§

I16x8Eq

§

I16x8Ne

§

I16x8LtS

§

I16x8LtU

§

I16x8GtS

§

I16x8GtU

§

I16x8LeS

§

I16x8LeU

§

I16x8GeS

§

I16x8GeU

§

I32x4Eq

§

I32x4Ne

§

I32x4LtS

§

I32x4LtU

§

I32x4GtS

§

I32x4GtU

§

I32x4LeS

§

I32x4LeU

§

I32x4GeS

§

I32x4GeU

§

I64x2Eq

§

I64x2Ne

§

I64x2LtS

§

I64x2GtS

§

I64x2LeS

§

I64x2GeS

§

F32x4Eq

§

F32x4Ne

§

F32x4Lt

§

F32x4Gt

§

F32x4Le

§

F32x4Ge

§

F64x2Eq

§

F64x2Ne

§

F64x2Lt

§

F64x2Gt

§

F64x2Le

§

F64x2Ge

§

V128Not

§

V128And

§

V128AndNot

§

V128Or

§

V128Xor

§

V128Bitselect

§

V128AnyTrue

§

I8x16Abs

§

I8x16Neg

§

I8x16Popcnt

§

I8x16AllTrue

§

I8x16Bitmask

§

I8x16NarrowI16x8S

§

I8x16NarrowI16x8U

§

I8x16Shl

§

I8x16ShrS

§

I8x16ShrU

§

I8x16Add

§

I8x16AddSatS

§

I8x16AddSatU

§

I8x16Sub

§

I8x16SubSatS

§

I8x16SubSatU

§

I8x16MinS

§

I8x16MinU

§

I8x16MaxS

§

I8x16MaxU

§

I8x16AvgrU

§

I16x8ExtAddPairwiseI8x16S

§

I16x8ExtAddPairwiseI8x16U

§

I16x8Abs

§

I16x8Neg

§

I16x8Q15MulrSatS

§

I16x8AllTrue

§

I16x8Bitmask

§

I16x8NarrowI32x4S

§

I16x8NarrowI32x4U

§

I16x8ExtendLowI8x16S

§

I16x8ExtendHighI8x16S

§

I16x8ExtendLowI8x16U

§

I16x8ExtendHighI8x16U

§

I16x8Shl

§

I16x8ShrS

§

I16x8ShrU

§

I16x8Add

§

I16x8AddSatS

§

I16x8AddSatU

§

I16x8Sub

§

I16x8SubSatS

§

I16x8SubSatU

§

I16x8Mul

§

I16x8MinS

§

I16x8MinU

§

I16x8MaxS

§

I16x8MaxU

§

I16x8AvgrU

§

I16x8ExtMulLowI8x16S

§

I16x8ExtMulHighI8x16S

§

I16x8ExtMulLowI8x16U

§

I16x8ExtMulHighI8x16U

§

I32x4ExtAddPairwiseI16x8S

§

I32x4ExtAddPairwiseI16x8U

§

I32x4Abs

§

I32x4Neg

§

I32x4AllTrue

§

I32x4Bitmask

§

I32x4ExtendLowI16x8S

§

I32x4ExtendHighI16x8S

§

I32x4ExtendLowI16x8U

§

I32x4ExtendHighI16x8U

§

I32x4Shl

§

I32x4ShrS

§

I32x4ShrU

§

I32x4Add

§

I32x4Sub

§

I32x4Mul

§

I32x4MinS

§

I32x4MinU

§

I32x4MaxS

§

I32x4MaxU

§

I32x4DotI16x8S

§

I32x4ExtMulLowI16x8S

§

I32x4ExtMulHighI16x8S

§

I32x4ExtMulLowI16x8U

§

I32x4ExtMulHighI16x8U

§

I64x2Abs

§

I64x2Neg

§

I64x2AllTrue

§

I64x2Bitmask

§

I64x2ExtendLowI32x4S

§

I64x2ExtendHighI32x4S

§

I64x2ExtendLowI32x4U

§

I64x2ExtendHighI32x4U

§

I64x2Shl

§

I64x2ShrS

§

I64x2ShrU

§

I64x2Add

§

I64x2Sub

§

I64x2Mul

§

I64x2ExtMulLowI32x4S

§

I64x2ExtMulHighI32x4S

§

I64x2ExtMulLowI32x4U

§

I64x2ExtMulHighI32x4U

§

F32x4Ceil

§

F32x4Floor

§

F32x4Trunc

§

F32x4Nearest

§

F32x4Abs

§

F32x4Neg

§

F32x4Sqrt

§

F32x4Add

§

F32x4Sub

§

F32x4Mul

§

F32x4Div

§

F32x4Min

§

F32x4Max

§

F32x4PMin

§

F32x4PMax

§

F64x2Ceil

§

F64x2Floor

§

F64x2Trunc

§

F64x2Nearest

§

F64x2Abs

§

F64x2Neg

§

F64x2Sqrt

§

F64x2Add

§

F64x2Sub

§

F64x2Mul

§

F64x2Div

§

F64x2Min

§

F64x2Max

§

F64x2PMin

§

F64x2PMax

§

I32x4TruncSatF32x4S

§

I32x4TruncSatF32x4U

§

F32x4ConvertI32x4S

§

F32x4ConvertI32x4U

§

I32x4TruncSatF64x2SZero

§

I32x4TruncSatF64x2UZero

§

F64x2ConvertLowI32x4S

§

F64x2ConvertLowI32x4U

§

F32x4DemoteF64x2Zero

§

F64x2PromoteLowF32x4

Implementations§

Trait Implementations§

Source§

impl Clone for SIMDOperator

Source§

fn clone(&self) -> SIMDOperator

Returns a duplicate 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 SIMDOperator

Source§

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

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

impl<'a> From<SIMDOperator> for Operator<'a>

Source§

fn from(op: SIMDOperator) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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 T
where 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

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 T
where U: TryFrom<T>,

Source§

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.