Enum wasmbin::instructions::simd::SIMD
source · #[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 DecodeWithDiscriminant for SIMD
impl DecodeWithDiscriminant for SIMD
§type Discriminant = u32
type Discriminant = u32
The discriminant representation.
source§fn maybe_decode_with_discriminant(
discriminant: u32,
r: &mut impl Read
) -> Result<Option<Self>, DecodeError>
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>
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>
fn decode_without_discriminant(r: &mut impl Read) -> Result<Self, DecodeError>
Decodes this value fully, including the discriminant. Read more
source§impl PartialEq for SIMD
impl PartialEq for SIMD
source§impl Visit for SIMDwhere
Self: 'static,
impl Visit for SIMDwhere
Self: 'static,
source§fn visit_children<'a, VisitT: 'static, VisitE, VisitF: FnMut(&'a VisitT) -> Result<(), VisitE>>(
&'a self,
f: &mut VisitF
) -> Result<(), VisitError<VisitE>>
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>>
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>>
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>>
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.
impl Eq for SIMD
impl StructuralEq for SIMD
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> 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