#[repr(u32)]
pub enum SIMD {
Show 236 variants V128Load(MemArg), V128Load8x8S(MemArg), V128Load8x8U(MemArg), V128Load16x4S(MemArg), V128Load16x4U(MemArg), V128Load32x2S(MemArg), V128Load32x2U(MemArg), V128Load8Splat(MemArg), V128Load16Splat(MemArg), V128Load32Splat(MemArg), V128Load64Splat(MemArg), V128Store(MemArg), V128Const([u8; 16]), I8x16Shuffle([LaneId32; 16]), I8x16Swizzle = 14, I8x16Splat = 15, I16x8Splat = 16, I32x4Splat = 17, I64x2Splat = 18, F32x4Splat = 19, F64x2Splat = 20, I8x16ExtractLaneS(LaneId16), I8x16ExtractLaneU(LaneId16), I8x16ReplaceLane(LaneId16), I16x8ExtractLaneS(LaneId8), I16x8ExtractLaneU(LaneId8), I16x8ReplaceLane(LaneId8), I32x4ExtractLane(LaneId4), I32x4ReplaceLane(LaneId4), I64x2ExtractLane(LaneId2), I64x2ReplaceLane(LaneId2), F32x4ExtractLane(LaneId4), F32x4ReplaceLane(LaneId4), F64x2ExtractLane(LaneId2), F64x2ReplaceLane(LaneId2), I8x16Eq = 35, I8x16Ne = 36, I8x16LtS = 37, I8x16LtU = 38, I8x16GtS = 39, I8x16GtU = 40, I8x16LeS = 41, I8x16LeU = 42, I8x16GeS = 43, I8x16GeU = 44, I16x8Eq = 45, I16x8Ne = 46, I16x8LtS = 47, I16x8LtU = 48, I16x8GtS = 49, I16x8GtU = 50, I16x8LeS = 51, I16x8LeU = 52, I16x8GeS = 53, I16x8GeU = 54, I32x4Eq = 55, I32x4Ne = 56, I32x4LtS = 57, I32x4LtU = 58, I32x4GtS = 59, I32x4GtU = 60, I32x4LeS = 61, I32x4LeU = 62, I32x4GeS = 63, I32x4GeU = 64, F32x4Eq = 65, F32x4Ne = 66, F32x4Lt = 67, F32x4Gt = 68, F32x4Le = 69, F32x4Ge = 70, F64x2Eq = 71, F64x2Ne = 72, F64x2Lt = 73, F64x2Gt = 74, F64x2Le = 75, F64x2Ge = 76, V128Not = 77, V128And = 78, V128Andnot = 79, V128Or = 80, V128Xor = 81, V128Bitselect = 82, I8x16Abs = 96, I8x16Neg = 97, I8x16AllTrue = 99, I8x16Bitmask = 100, I8x16NarrowI16x8S = 101, I8x16NarrowI16x8U = 102, I8x16Shl = 107, I8x16ShrS = 108, I8x16ShrU = 109, I8x16Add = 110, I8x16AddSatS = 111, I8x16AddSatU = 112, I8x16Sub = 113, I8x16SubSatS = 114, I8x16SubSatU = 115, I8x16MinS = 118, I8x16MinU = 119, I8x16MaxS = 120, I8x16MaxU = 121, I8x16AvgrU = 123, I16x8Abs = 128, I16x8Neg = 129, I16x8AllTrue = 131, I16x8Bitmask = 132, I16x8NarrowI32x4S = 133, I16x8NarrowI32x4U = 134, I16x8ExtendLowI8x16S = 135, I16x8ExtendHighI8x16S = 136, I16x8ExtendLowI8x16U = 137, I16x8ExtendHighI8x16U = 138, I16x8Shl = 139, I16x8ShrS = 140, I16x8ShrU = 141, I16x8Add = 142, I16x8AddSatS = 143, I16x8AddSatU = 144, I16x8Sub = 145, I16x8SubSatS = 146, I16x8SubSatU = 147, I16x8Mul = 149, I16x8MinS = 150, I16x8MinU = 151, I16x8MaxS = 152, I16x8MaxU = 153, I16x8AvgrU = 155, I32x4Abs = 160, I32x4Neg = 161, I32x4AllTrue = 163, I32x4Bitmask = 164, I32x4ExtendLowI16x8S = 167, I32x4ExtendHighI16x8S = 168, I32x4ExtendLowI16x8U = 169, I32x4ExtendHighI16x8U = 170, I32x4Shl = 171, I32x4ShrS = 172, I32x4ShrU = 173, I32x4Add = 174, I32x4Sub = 177, I32x4Mul = 181, I32x4MinS = 182, I32x4MinU = 183, I32x4MaxS = 184, I32x4MaxU = 185, I32x4DotI16x8S = 186, I64x2Abs = 192, I64x2Neg = 193, I64x2Bitmask = 196, I64x2ExtendLowI32x4S = 199, I64x2ExtendHighI32x4S = 200, I64x2ExtendLowI32x4U = 201, I64x2ExtendHighI32x4U = 202, I64x2Shl = 203, I64x2ShrS = 204, I64x2ShrU = 205, I64x2Add = 206, I64x2Sub = 209, I64x2Mul = 213, F32x4Ceil = 103, F32x4Floor = 104, F32x4Trunc = 105, F32x4Nearest = 106, F64x2Ceil = 116, F64x2Floor = 117, F64x2Trunc = 122, F64x2Nearest = 148, F32x4Abs = 224, F32x4Neg = 225, F32x4Sqrt = 227, F32x4Add = 228, F32x4Sub = 229, F32x4Mul = 230, F32x4Div = 231, F32x4Min = 232, F32x4Max = 233, F32x4Pmin = 234, F32x4Pmax = 235, F64x2Abs = 236, F64x2Neg = 237, F64x2Sqrt = 239, F64x2Add = 240, F64x2Sub = 241, F64x2Mul = 242, F64x2Div = 243, F64x2Min = 244, F64x2Max = 245, F64x2Pmin = 246, F64x2Pmax = 247, I32x4TruncSatF32x4S = 248, I32x4TruncSatF32x4U = 249, F32x4ConvertI32x4S = 250, F32x4ConvertI32x4U = 251, V128Load32Zero(MemArg), V128Load64Zero(MemArg), I16x8ExtmulLowI8x16S = 156, I16x8ExtmulHighI8x16S = 157, I16x8ExtmulLowI8x16U = 158, I16x8ExtmulHighI8x16U = 159, I32x4ExtmulLowI16x8S = 188, I32x4ExtmulHighI16x8S = 189, I32x4ExtmulLowI16x8U = 190, I32x4ExtmulHighI16x8U = 191, I64x2ExtmulLowI32x4S = 220, I64x2ExtmulHighI32x4S = 221, I64x2ExtmulLowI32x4U = 222, I64x2ExtmulHighI32x4U = 223, I16x8Q15mulrSatS = 130, V128AnyTrue = 83, V128Load8Lane(MemArg, LaneId16), V128Load16Lane(MemArg, LaneId8), V128Load32Lane(MemArg, LaneId4), V128Load64Lane(MemArg, LaneId2), V128Store8Lane(MemArg, LaneId16), V128Store16Lane(MemArg, LaneId8), V128Store32Lane(MemArg, LaneId4), V128Store64Lane(MemArg, LaneId2), I64x2Eq = 214, I64x2Ne = 215, I64x2LtS = 216, I64x2GtS = 217, I64x2LeS = 218, I64x2GeS = 219, I64x2AllTrue = 195, F64x2ConvertLowI32x4S = 254, F64x2ConvertLowI32x4U = 255, I32x4TruncSatF64x2SZero = 252, I32x4TruncSatF64x2UZero = 253, F32x4DemoteF64x2Zero = 94, F64x2PromoteLowF32x4 = 95, I8x16Popcnt = 98, I16x8ExtaddPairwiseI8x16S = 124, I16x8ExtaddPairwiseI8x16U = 125, I32x4ExtaddPairwiseI16x8S = 126, I32x4ExtaddPairwiseI16x8U = 127,
}
Expand description

Variants§

§

V128Load(MemArg)

§

V128Load8x8S(MemArg)

§

V128Load8x8U(MemArg)

§

V128Load16x4S(MemArg)

§

V128Load16x4U(MemArg)

§

V128Load32x2S(MemArg)

§

V128Load32x2U(MemArg)

§

V128Load8Splat(MemArg)

§

V128Load16Splat(MemArg)

§

V128Load32Splat(MemArg)

§

V128Load64Splat(MemArg)

§

V128Store(MemArg)

§

V128Const([u8; 16])

§

I8x16Shuffle([LaneId32; 16])

§

I8x16Swizzle = 14

§

I8x16Splat = 15

§

I16x8Splat = 16

§

I32x4Splat = 17

§

I64x2Splat = 18

§

F32x4Splat = 19

§

F64x2Splat = 20

§

I8x16ExtractLaneS(LaneId16)

§

I8x16ExtractLaneU(LaneId16)

§

I8x16ReplaceLane(LaneId16)

§

I16x8ExtractLaneS(LaneId8)

§

I16x8ExtractLaneU(LaneId8)

§

I16x8ReplaceLane(LaneId8)

§

I32x4ExtractLane(LaneId4)

§

I32x4ReplaceLane(LaneId4)

§

I64x2ExtractLane(LaneId2)

§

I64x2ReplaceLane(LaneId2)

§

F32x4ExtractLane(LaneId4)

§

F32x4ReplaceLane(LaneId4)

§

F64x2ExtractLane(LaneId2)

§

F64x2ReplaceLane(LaneId2)

§

I8x16Eq = 35

§

I8x16Ne = 36

§

I8x16LtS = 37

§

I8x16LtU = 38

§

I8x16GtS = 39

§

I8x16GtU = 40

§

I8x16LeS = 41

§

I8x16LeU = 42

§

I8x16GeS = 43

§

I8x16GeU = 44

§

I16x8Eq = 45

§

I16x8Ne = 46

§

I16x8LtS = 47

§

I16x8LtU = 48

§

I16x8GtS = 49

§

I16x8GtU = 50

§

I16x8LeS = 51

§

I16x8LeU = 52

§

I16x8GeS = 53

§

I16x8GeU = 54

§

I32x4Eq = 55

§

I32x4Ne = 56

§

I32x4LtS = 57

§

I32x4LtU = 58

§

I32x4GtS = 59

§

I32x4GtU = 60

§

I32x4LeS = 61

§

I32x4LeU = 62

§

I32x4GeS = 63

§

I32x4GeU = 64

§

F32x4Eq = 65

§

F32x4Ne = 66

§

F32x4Lt = 67

§

F32x4Gt = 68

§

F32x4Le = 69

§

F32x4Ge = 70

§

F64x2Eq = 71

§

F64x2Ne = 72

§

F64x2Lt = 73

§

F64x2Gt = 74

§

F64x2Le = 75

§

F64x2Ge = 76

§

V128Not = 77

§

V128And = 78

§

V128Andnot = 79

§

V128Or = 80

§

V128Xor = 81

§

V128Bitselect = 82

§

I8x16Abs = 96

§

I8x16Neg = 97

§

I8x16AllTrue = 99

§

I8x16Bitmask = 100

§

I8x16NarrowI16x8S = 101

§

I8x16NarrowI16x8U = 102

§

I8x16Shl = 107

§

I8x16ShrS = 108

§

I8x16ShrU = 109

§

I8x16Add = 110

§

I8x16AddSatS = 111

§

I8x16AddSatU = 112

§

I8x16Sub = 113

§

I8x16SubSatS = 114

§

I8x16SubSatU = 115

§

I8x16MinS = 118

§

I8x16MinU = 119

§

I8x16MaxS = 120

§

I8x16MaxU = 121

§

I8x16AvgrU = 123

§

I16x8Abs = 128

§

I16x8Neg = 129

§

I16x8AllTrue = 131

§

I16x8Bitmask = 132

§

I16x8NarrowI32x4S = 133

§

I16x8NarrowI32x4U = 134

§

I16x8ExtendLowI8x16S = 135

§

I16x8ExtendHighI8x16S = 136

§

I16x8ExtendLowI8x16U = 137

§

I16x8ExtendHighI8x16U = 138

§

I16x8Shl = 139

§

I16x8ShrS = 140

§

I16x8ShrU = 141

§

I16x8Add = 142

§

I16x8AddSatS = 143

§

I16x8AddSatU = 144

§

I16x8Sub = 145

§

I16x8SubSatS = 146

§

I16x8SubSatU = 147

§

I16x8Mul = 149

§

I16x8MinS = 150

§

I16x8MinU = 151

§

I16x8MaxS = 152

§

I16x8MaxU = 153

§

I16x8AvgrU = 155

§

I32x4Abs = 160

§

I32x4Neg = 161

§

I32x4AllTrue = 163

§

I32x4Bitmask = 164

§

I32x4ExtendLowI16x8S = 167

§

I32x4ExtendHighI16x8S = 168

§

I32x4ExtendLowI16x8U = 169

§

I32x4ExtendHighI16x8U = 170

§

I32x4Shl = 171

§

I32x4ShrS = 172

§

I32x4ShrU = 173

§

I32x4Add = 174

§

I32x4Sub = 177

§

I32x4Mul = 181

§

I32x4MinS = 182

§

I32x4MinU = 183

§

I32x4MaxS = 184

§

I32x4MaxU = 185

§

I32x4DotI16x8S = 186

§

I64x2Abs = 192

§

I64x2Neg = 193

§

I64x2Bitmask = 196

§

I64x2ExtendLowI32x4S = 199

§

I64x2ExtendHighI32x4S = 200

§

I64x2ExtendLowI32x4U = 201

§

I64x2ExtendHighI32x4U = 202

§

I64x2Shl = 203

§

I64x2ShrS = 204

§

I64x2ShrU = 205

§

I64x2Add = 206

§

I64x2Sub = 209

§

I64x2Mul = 213

§

F32x4Ceil = 103

§

F32x4Floor = 104

§

F32x4Trunc = 105

§

F32x4Nearest = 106

§

F64x2Ceil = 116

§

F64x2Floor = 117

§

F64x2Trunc = 122

§

F64x2Nearest = 148

§

F32x4Abs = 224

§

F32x4Neg = 225

§

F32x4Sqrt = 227

§

F32x4Add = 228

§

F32x4Sub = 229

§

F32x4Mul = 230

§

F32x4Div = 231

§

F32x4Min = 232

§

F32x4Max = 233

§

F32x4Pmin = 234

§

F32x4Pmax = 235

§

F64x2Abs = 236

§

F64x2Neg = 237

§

F64x2Sqrt = 239

§

F64x2Add = 240

§

F64x2Sub = 241

§

F64x2Mul = 242

§

F64x2Div = 243

§

F64x2Min = 244

§

F64x2Max = 245

§

F64x2Pmin = 246

§

F64x2Pmax = 247

§

I32x4TruncSatF32x4S = 248

§

I32x4TruncSatF32x4U = 249

§

F32x4ConvertI32x4S = 250

§

F32x4ConvertI32x4U = 251

§

V128Load32Zero(MemArg)

§

V128Load64Zero(MemArg)

§

I16x8ExtmulLowI8x16S = 156

§

I16x8ExtmulHighI8x16S = 157

§

I16x8ExtmulLowI8x16U = 158

§

I16x8ExtmulHighI8x16U = 159

§

I32x4ExtmulLowI16x8S = 188

§

I32x4ExtmulHighI16x8S = 189

§

I32x4ExtmulLowI16x8U = 190

§

I32x4ExtmulHighI16x8U = 191

§

I64x2ExtmulLowI32x4S = 220

§

I64x2ExtmulHighI32x4S = 221

§

I64x2ExtmulLowI32x4U = 222

§

I64x2ExtmulHighI32x4U = 223

§

I16x8Q15mulrSatS = 130

§

V128AnyTrue = 83

§

V128Load8Lane(MemArg, LaneId16)

§

V128Load16Lane(MemArg, LaneId8)

§

V128Load32Lane(MemArg, LaneId4)

§

V128Load64Lane(MemArg, LaneId2)

§

V128Store8Lane(MemArg, LaneId16)

§

V128Store16Lane(MemArg, LaneId8)

§

V128Store32Lane(MemArg, LaneId4)

§

V128Store64Lane(MemArg, LaneId2)

§

I64x2Eq = 214

§

I64x2Ne = 215

§

I64x2LtS = 216

§

I64x2GtS = 217

§

I64x2LeS = 218

§

I64x2GeS = 219

§

I64x2AllTrue = 195

§

F64x2ConvertLowI32x4S = 254

§

F64x2ConvertLowI32x4U = 255

§

I32x4TruncSatF64x2SZero = 252

§

I32x4TruncSatF64x2UZero = 253

§

F32x4DemoteF64x2Zero = 94

§

F64x2PromoteLowF32x4 = 95

§

I8x16Popcnt = 98

§

I16x8ExtaddPairwiseI8x16S = 124

§

I16x8ExtaddPairwiseI8x16U = 125

§

I32x4ExtaddPairwiseI16x8S = 126

§

I32x4ExtaddPairwiseI16x8U = 127

Trait Implementations§

source§

impl Clone for SIMD

source§

fn clone(&self) -> SIMD

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 SIMD

source§

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

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

impl Decode for SIMD

source§

fn decode(r: &mut impl Read) -> Result<Self, DecodeError>

Decodes the value from the given reader.
source§

impl DecodeWithDiscriminant for SIMD

§

type Discriminant = u32

The discriminant representation.
source§

fn maybe_decode_with_discriminant( discriminant: u32, r: &mut impl Read ) -> Result<Option<Self>, DecodeError>

Decodes the value from the given reader, if the discriminant matches. Read more
source§

fn decode_with_discriminant( discriminant: Self::Discriminant, r: &mut impl Read ) -> Result<Self, DecodeError>

Decodes the value from the given reader, if the discriminant matches. Read more
source§

fn decode_without_discriminant(r: &mut impl Read) -> Result<Self, DecodeError>

Decodes this value fully, including the discriminant. Read more
source§

impl Encode for SIMD

source§

fn encode(&self, w: &mut impl Write) -> Result<()>

Encodes the value into the given writer.
source§

impl Hash for SIMD

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for SIMD

source§

fn eq(&self, other: &SIMD) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Visit for SIMD
where Self: 'static,

source§

fn visit_children<'a, VisitT: 'static, VisitE, VisitF: FnMut(&'a VisitT) -> Result<(), VisitE>>( &'a self, f: &mut VisitF ) -> Result<(), VisitError<VisitE>>

Traverse the children of this value with the provided callback.
source§

fn visit_children_mut<VisitT: 'static, VisitE, VisitF: FnMut(&mut VisitT) -> Result<(), VisitE>>( &mut self, f: &mut VisitF ) -> Result<(), VisitError<VisitE>>

Traverse the children of this value mutably with the provided callback.
source§

fn visit<'a, T: 'static, R: VisitResult, F: FnMut(&'a T) -> R>( &'a self, f: F ) -> Result<(), VisitError<R::Error>>

Traverse this value with the provided callback.
source§

fn visit_mut<T: 'static, R: VisitResult, F: FnMut(&mut T) -> R>( &mut self, f: F ) -> Result<(), VisitError<R::Error>>

Traverse this value mutably with the provided callback.
source§

impl Eq for SIMD

source§

impl StructuralEq for SIMD

source§

impl StructuralPartialEq for SIMD

Auto Trait Implementations§

§

impl RefUnwindSafe for SIMD

§

impl Send for SIMD

§

impl Sync for SIMD

§

impl Unpin for SIMD

§

impl UnwindSafe for SIMD

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> 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,

§

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>,

§

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>,

§

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.