Instruction

Enum Instruction 

Source
pub enum Instruction<'a> {
Show 621 variants Block(Box<BlockType<'a>>), If(Box<BlockType<'a>>), Else(Option<Id<'a>>), Loop(Box<BlockType<'a>>), End(Option<Id<'a>>), Forall(Box<BlockType<'a>>), Exists(Box<BlockType<'a>>), Assume(Box<BlockType<'a>>), Unique(Box<BlockType<'a>>), Unreachable, Nop, Br(Index<'a>), BrIf(Index<'a>), BrTable(BrTableIndices<'a>), Return, Call(Index<'a>), CallIndirect(Box<CallIndirect<'a>>), ReturnCall(Index<'a>), ReturnCallIndirect(Box<CallIndirect<'a>>), CallRef(Index<'a>), ReturnCallRef(Index<'a>), Drop, Select(SelectTypes<'a>), LocalGet(Index<'a>), LocalSet(Index<'a>), LocalTee(Index<'a>), GlobalGet(Index<'a>), GlobalSet(Index<'a>), TableGet(TableArg<'a>), TableSet(TableArg<'a>), I32Load(MemArg<'a>), I64Load(MemArg<'a>), F32Load(MemArg<'a>), F64Load(MemArg<'a>), I32Load8s(MemArg<'a>), I32Load8u(MemArg<'a>), I32Load16s(MemArg<'a>), I32Load16u(MemArg<'a>), I64Load8s(MemArg<'a>), I64Load8u(MemArg<'a>), I64Load16s(MemArg<'a>), I64Load16u(MemArg<'a>), I64Load32s(MemArg<'a>), I64Load32u(MemArg<'a>), I32Store(MemArg<'a>), I64Store(MemArg<'a>), F32Store(MemArg<'a>), F64Store(MemArg<'a>), I32Store8(MemArg<'a>), I32Store16(MemArg<'a>), I64Store8(MemArg<'a>), I64Store16(MemArg<'a>), I64Store32(MemArg<'a>), MemorySize(MemoryArg<'a>), MemoryGrow(MemoryArg<'a>), MemoryInit(MemoryInit<'a>), MemoryCopy(MemoryCopy<'a>), MemoryFill(MemoryArg<'a>), MemoryDiscard(MemoryArg<'a>), DataDrop(Index<'a>), ElemDrop(Index<'a>), TableInit(TableInit<'a>), TableCopy(TableCopy<'a>), TableFill(TableArg<'a>), TableSize(TableArg<'a>), TableGrow(TableArg<'a>), RefNull(HeapType<'a>), RefIsNull, RefFunc(Index<'a>), RefAsNonNull, BrOnNull(Index<'a>), BrOnNonNull(Index<'a>), RefEq, StructNew(Index<'a>), StructNewDefault(Index<'a>), StructGet(StructAccess<'a>), StructGetS(StructAccess<'a>), StructGetU(StructAccess<'a>), StructSet(StructAccess<'a>), ArrayNew(Index<'a>), ArrayNewDefault(Index<'a>), ArrayNewFixed(ArrayNewFixed<'a>), ArrayNewData(ArrayNewData<'a>), ArrayNewElem(ArrayNewElem<'a>), ArrayGet(Index<'a>), ArrayGetS(Index<'a>), ArrayGetU(Index<'a>), ArraySet(Index<'a>), ArrayLen, ArrayFill(ArrayFill<'a>), ArrayCopy(ArrayCopy<'a>), ArrayInitData(ArrayInit<'a>), ArrayInitElem(ArrayInit<'a>), RefI31, I31GetS, I31GetU, RefTest(RefTest<'a>), RefCast(RefCast<'a>), BrOnCast(Box<BrOnCast<'a>>), BrOnCastFail(Box<BrOnCastFail<'a>>), AnyConvertExtern, ExternConvertAny, I32Const(i32), I64Const(i64), F32Const(F32), F64Const(F64), I32Uzumaki, I64Uzumaki, I32Clz, I32Ctz, I32Popcnt, I32Add, I32Sub, I32Mul, I32DivS, I32DivU, I32RemS, I32RemU, I32And, I32Or, I32Xor, I32Shl, I32ShrS, I32ShrU, I32Rotl, I32Rotr, I64Clz, I64Ctz, I64Popcnt, I64Add, I64Sub, I64Mul, I64DivS, I64DivU, I64RemS, I64RemU, I64And, I64Or, I64Xor, I64Shl, I64ShrS, I64ShrU, I64Rotl, I64Rotr, F32Abs, F32Neg, F32Ceil, F32Floor, F32Trunc, F32Nearest, F32Sqrt, F32Add, F32Sub, F32Mul, F32Div, F32Min, F32Max, F32Copysign, F64Abs, F64Neg, F64Ceil, F64Floor, F64Trunc, F64Nearest, F64Sqrt, F64Add, F64Sub, F64Mul, F64Div, F64Min, F64Max, F64Copysign, I32Eqz, I32Eq, I32Ne, I32LtS, I32LtU, I32GtS, I32GtU, I32LeS, I32LeU, I32GeS, I32GeU, I64Eqz, I64Eq, I64Ne, I64LtS, I64LtU, I64GtS, I64GtU, I64LeS, I64LeU, I64GeS, I64GeU, F32Eq, F32Ne, F32Lt, F32Gt, F32Le, F32Ge, F64Eq, F64Ne, F64Lt, F64Gt, F64Le, F64Ge, I32WrapI64, I32TruncF32S, I32TruncF32U, I32TruncF64S, I32TruncF64U, I64ExtendI32S, I64ExtendI32U, I64TruncF32S, I64TruncF32U, I64TruncF64S, I64TruncF64U, F32ConvertI32S, F32ConvertI32U, F32ConvertI64S, F32ConvertI64U, F32DemoteF64, F64ConvertI32S, F64ConvertI32U, F64ConvertI64S, F64ConvertI64U, F64PromoteF32, I32ReinterpretF32, I64ReinterpretF64, F32ReinterpretI32, F64ReinterpretI64, I32TruncSatF32S, I32TruncSatF32U, I32TruncSatF64S, I32TruncSatF64U, I64TruncSatF32S, I64TruncSatF32U, I64TruncSatF64S, I64TruncSatF64U, I32Extend8S, I32Extend16S, I64Extend8S, I64Extend16S, I64Extend32S, MemoryAtomicNotify(MemArg<'a>), MemoryAtomicWait32(MemArg<'a>), MemoryAtomicWait64(MemArg<'a>), AtomicFence, I32AtomicLoad(MemArg<'a>), I64AtomicLoad(MemArg<'a>), I32AtomicLoad8u(MemArg<'a>), I32AtomicLoad16u(MemArg<'a>), I64AtomicLoad8u(MemArg<'a>), I64AtomicLoad16u(MemArg<'a>), I64AtomicLoad32u(MemArg<'a>), I32AtomicStore(MemArg<'a>), I64AtomicStore(MemArg<'a>), I32AtomicStore8(MemArg<'a>), I32AtomicStore16(MemArg<'a>), I64AtomicStore8(MemArg<'a>), I64AtomicStore16(MemArg<'a>), I64AtomicStore32(MemArg<'a>), I32AtomicRmwAdd(MemArg<'a>), I64AtomicRmwAdd(MemArg<'a>), I32AtomicRmw8AddU(MemArg<'a>), I32AtomicRmw16AddU(MemArg<'a>), I64AtomicRmw8AddU(MemArg<'a>), I64AtomicRmw16AddU(MemArg<'a>), I64AtomicRmw32AddU(MemArg<'a>), I32AtomicRmwSub(MemArg<'a>), I64AtomicRmwSub(MemArg<'a>), I32AtomicRmw8SubU(MemArg<'a>), I32AtomicRmw16SubU(MemArg<'a>), I64AtomicRmw8SubU(MemArg<'a>), I64AtomicRmw16SubU(MemArg<'a>), I64AtomicRmw32SubU(MemArg<'a>), I32AtomicRmwAnd(MemArg<'a>), I64AtomicRmwAnd(MemArg<'a>), I32AtomicRmw8AndU(MemArg<'a>), I32AtomicRmw16AndU(MemArg<'a>), I64AtomicRmw8AndU(MemArg<'a>), I64AtomicRmw16AndU(MemArg<'a>), I64AtomicRmw32AndU(MemArg<'a>), I32AtomicRmwOr(MemArg<'a>), I64AtomicRmwOr(MemArg<'a>), I32AtomicRmw8OrU(MemArg<'a>), I32AtomicRmw16OrU(MemArg<'a>), I64AtomicRmw8OrU(MemArg<'a>), I64AtomicRmw16OrU(MemArg<'a>), I64AtomicRmw32OrU(MemArg<'a>), I32AtomicRmwXor(MemArg<'a>), I64AtomicRmwXor(MemArg<'a>), I32AtomicRmw8XorU(MemArg<'a>), I32AtomicRmw16XorU(MemArg<'a>), I64AtomicRmw8XorU(MemArg<'a>), I64AtomicRmw16XorU(MemArg<'a>), I64AtomicRmw32XorU(MemArg<'a>), I32AtomicRmwXchg(MemArg<'a>), I64AtomicRmwXchg(MemArg<'a>), I32AtomicRmw8XchgU(MemArg<'a>), I32AtomicRmw16XchgU(MemArg<'a>), I64AtomicRmw8XchgU(MemArg<'a>), I64AtomicRmw16XchgU(MemArg<'a>), I64AtomicRmw32XchgU(MemArg<'a>), I32AtomicRmwCmpxchg(MemArg<'a>), I64AtomicRmwCmpxchg(MemArg<'a>), I32AtomicRmw8CmpxchgU(MemArg<'a>), I32AtomicRmw16CmpxchgU(MemArg<'a>), I64AtomicRmw8CmpxchgU(MemArg<'a>), I64AtomicRmw16CmpxchgU(MemArg<'a>), I64AtomicRmw32CmpxchgU(MemArg<'a>), GlobalAtomicGet(Ordered<Index<'a>>), GlobalAtomicSet(Ordered<Index<'a>>), GlobalAtomicRmwAdd(Ordered<Index<'a>>), GlobalAtomicRmwSub(Ordered<Index<'a>>), GlobalAtomicRmwAnd(Ordered<Index<'a>>), GlobalAtomicRmwOr(Ordered<Index<'a>>), GlobalAtomicRmwXor(Ordered<Index<'a>>), GlobalAtomicRmwXchg(Ordered<Index<'a>>), GlobalAtomicRmwCmpxchg(Ordered<Index<'a>>), TableAtomicGet(Ordered<TableArg<'a>>), TableAtomicSet(Ordered<TableArg<'a>>), TableAtomicRmwXchg(Ordered<TableArg<'a>>), TableAtomicRmwCmpxchg(Ordered<TableArg<'a>>), StructAtomicGet(Ordered<StructAccess<'a>>), StructAtomicGetS(Ordered<StructAccess<'a>>), StructAtomicGetU(Ordered<StructAccess<'a>>), StructAtomicSet(Ordered<StructAccess<'a>>), StructAtomicRmwAdd(Ordered<StructAccess<'a>>), StructAtomicRmwSub(Ordered<StructAccess<'a>>), StructAtomicRmwAnd(Ordered<StructAccess<'a>>), StructAtomicRmwOr(Ordered<StructAccess<'a>>), StructAtomicRmwXor(Ordered<StructAccess<'a>>), StructAtomicRmwXchg(Ordered<StructAccess<'a>>), StructAtomicRmwCmpxchg(Ordered<StructAccess<'a>>), ArrayAtomicGet(Ordered<Index<'a>>), ArrayAtomicGetS(Ordered<Index<'a>>), ArrayAtomicGetU(Ordered<Index<'a>>), ArrayAtomicSet(Ordered<Index<'a>>), ArrayAtomicRmwAdd(Ordered<Index<'a>>), ArrayAtomicRmwSub(Ordered<Index<'a>>), ArrayAtomicRmwAnd(Ordered<Index<'a>>), ArrayAtomicRmwOr(Ordered<Index<'a>>), ArrayAtomicRmwXor(Ordered<Index<'a>>), ArrayAtomicRmwXchg(Ordered<Index<'a>>), ArrayAtomicRmwCmpxchg(Ordered<Index<'a>>), RefI31Shared, V128Load(MemArg<'a>), V128Load8x8S(MemArg<'a>), V128Load8x8U(MemArg<'a>), V128Load16x4S(MemArg<'a>), V128Load16x4U(MemArg<'a>), V128Load32x2S(MemArg<'a>), V128Load32x2U(MemArg<'a>), V128Load8Splat(MemArg<'a>), V128Load16Splat(MemArg<'a>), V128Load32Splat(MemArg<'a>), V128Load64Splat(MemArg<'a>), V128Load32Zero(MemArg<'a>), V128Load64Zero(MemArg<'a>), V128Store(MemArg<'a>), V128Load8Lane(LoadOrStoreLane<'a>), V128Load16Lane(LoadOrStoreLane<'a>), V128Load32Lane(LoadOrStoreLane<'a>), V128Load64Lane(LoadOrStoreLane<'a>), V128Store8Lane(LoadOrStoreLane<'a>), V128Store16Lane(LoadOrStoreLane<'a>), V128Store32Lane(LoadOrStoreLane<'a>), V128Store64Lane(LoadOrStoreLane<'a>), V128Const(V128Const), I8x16Shuffle(I8x16Shuffle), I8x16ExtractLaneS(LaneArg), I8x16ExtractLaneU(LaneArg), I8x16ReplaceLane(LaneArg), I16x8ExtractLaneS(LaneArg), I16x8ExtractLaneU(LaneArg), I16x8ReplaceLane(LaneArg), I32x4ExtractLane(LaneArg), I32x4ReplaceLane(LaneArg), I64x2ExtractLane(LaneArg), I64x2ReplaceLane(LaneArg), F32x4ExtractLane(LaneArg), F32x4ReplaceLane(LaneArg), F64x2ExtractLane(LaneArg), F64x2ReplaceLane(LaneArg), 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, ThrowRef, TryTable(TryTable<'a>), Throw(Index<'a>), Try(Box<BlockType<'a>>), Catch(Index<'a>), Rethrow(Index<'a>), Delegate(Index<'a>), CatchAll, I8x16RelaxedSwizzle, I32x4RelaxedTruncF32x4S, I32x4RelaxedTruncF32x4U, I32x4RelaxedTruncF64x2SZero, I32x4RelaxedTruncF64x2UZero, F32x4RelaxedMadd, F32x4RelaxedNmadd, F64x2RelaxedMadd, F64x2RelaxedNmadd, I8x16RelaxedLaneselect, I16x8RelaxedLaneselect, I32x4RelaxedLaneselect, I64x2RelaxedLaneselect, F32x4RelaxedMin, F32x4RelaxedMax, F64x2RelaxedMin, F64x2RelaxedMax, I16x8RelaxedQ15mulrS, I16x8RelaxedDotI8x16I7x16S, I32x4RelaxedDotI8x16I7x16AddS, ContNew(Index<'a>), ContBind(ContBind<'a>), Suspend(Index<'a>), Resume(Resume<'a>), ResumeThrow(ResumeThrow<'a>), Switch(Switch<'a>), I64Add128, I64Sub128, I64MulWideS, I64MulWideU,
}
Expand description

A listing of all WebAssembly instructions that can be in a module that this crate currently parses.

Variants§

§

Block(Box<BlockType<'a>>)

§

If(Box<BlockType<'a>>)

§

Else(Option<Id<'a>>)

§

Loop(Box<BlockType<'a>>)

§

End(Option<Id<'a>>)

§

Forall(Box<BlockType<'a>>)

§

Exists(Box<BlockType<'a>>)

§

Assume(Box<BlockType<'a>>)

§

Unique(Box<BlockType<'a>>)

§

Unreachable

§

Nop

§

Br(Index<'a>)

§

BrIf(Index<'a>)

§

BrTable(BrTableIndices<'a>)

§

Return

§

Call(Index<'a>)

§

CallIndirect(Box<CallIndirect<'a>>)

§

ReturnCall(Index<'a>)

§

ReturnCallIndirect(Box<CallIndirect<'a>>)

§

CallRef(Index<'a>)

§

ReturnCallRef(Index<'a>)

§

Drop

§

Select(SelectTypes<'a>)

§

LocalGet(Index<'a>)

§

LocalSet(Index<'a>)

§

LocalTee(Index<'a>)

§

GlobalGet(Index<'a>)

§

GlobalSet(Index<'a>)

§

TableGet(TableArg<'a>)

§

TableSet(TableArg<'a>)

§

I32Load(MemArg<'a>)

§

I64Load(MemArg<'a>)

§

F32Load(MemArg<'a>)

§

F64Load(MemArg<'a>)

§

I32Load8s(MemArg<'a>)

§

I32Load8u(MemArg<'a>)

§

I32Load16s(MemArg<'a>)

§

I32Load16u(MemArg<'a>)

§

I64Load8s(MemArg<'a>)

§

I64Load8u(MemArg<'a>)

§

I64Load16s(MemArg<'a>)

§

I64Load16u(MemArg<'a>)

§

I64Load32s(MemArg<'a>)

§

I64Load32u(MemArg<'a>)

§

I32Store(MemArg<'a>)

§

I64Store(MemArg<'a>)

§

F32Store(MemArg<'a>)

§

F64Store(MemArg<'a>)

§

I32Store8(MemArg<'a>)

§

I32Store16(MemArg<'a>)

§

I64Store8(MemArg<'a>)

§

I64Store16(MemArg<'a>)

§

I64Store32(MemArg<'a>)

§

MemorySize(MemoryArg<'a>)

§

MemoryGrow(MemoryArg<'a>)

§

MemoryInit(MemoryInit<'a>)

§

MemoryCopy(MemoryCopy<'a>)

§

MemoryFill(MemoryArg<'a>)

§

MemoryDiscard(MemoryArg<'a>)

§

DataDrop(Index<'a>)

§

ElemDrop(Index<'a>)

§

TableInit(TableInit<'a>)

§

TableCopy(TableCopy<'a>)

§

TableFill(TableArg<'a>)

§

TableSize(TableArg<'a>)

§

TableGrow(TableArg<'a>)

§

RefNull(HeapType<'a>)

§

RefIsNull

§

RefFunc(Index<'a>)

§

RefAsNonNull

§

BrOnNull(Index<'a>)

§

BrOnNonNull(Index<'a>)

§

RefEq

§

StructNew(Index<'a>)

§

StructNewDefault(Index<'a>)

§

StructGet(StructAccess<'a>)

§

StructGetS(StructAccess<'a>)

§

StructGetU(StructAccess<'a>)

§

StructSet(StructAccess<'a>)

§

ArrayNew(Index<'a>)

§

ArrayNewDefault(Index<'a>)

§

ArrayNewFixed(ArrayNewFixed<'a>)

§

ArrayNewData(ArrayNewData<'a>)

§

ArrayNewElem(ArrayNewElem<'a>)

§

ArrayGet(Index<'a>)

§

ArrayGetS(Index<'a>)

§

ArrayGetU(Index<'a>)

§

ArraySet(Index<'a>)

§

ArrayLen

§

ArrayFill(ArrayFill<'a>)

§

ArrayCopy(ArrayCopy<'a>)

§

ArrayInitData(ArrayInit<'a>)

§

ArrayInitElem(ArrayInit<'a>)

§

RefI31

§

I31GetS

§

I31GetU

§

RefTest(RefTest<'a>)

§

RefCast(RefCast<'a>)

§

BrOnCast(Box<BrOnCast<'a>>)

§

BrOnCastFail(Box<BrOnCastFail<'a>>)

§

AnyConvertExtern

§

ExternConvertAny

§

I32Const(i32)

§

I64Const(i64)

§

F32Const(F32)

§

F64Const(F64)

§

I32Uzumaki

§

I64Uzumaki

§

I32Clz

§

I32Ctz

§

I32Popcnt

§

I32Add

§

I32Sub

§

I32Mul

§

I32DivS

§

I32DivU

§

I32RemS

§

I32RemU

§

I32And

§

I32Or

§

I32Xor

§

I32Shl

§

I32ShrS

§

I32ShrU

§

I32Rotl

§

I32Rotr

§

I64Clz

§

I64Ctz

§

I64Popcnt

§

I64Add

§

I64Sub

§

I64Mul

§

I64DivS

§

I64DivU

§

I64RemS

§

I64RemU

§

I64And

§

I64Or

§

I64Xor

§

I64Shl

§

I64ShrS

§

I64ShrU

§

I64Rotl

§

I64Rotr

§

F32Abs

§

F32Neg

§

F32Ceil

§

F32Floor

§

F32Trunc

§

F32Nearest

§

F32Sqrt

§

F32Add

§

F32Sub

§

F32Mul

§

F32Div

§

F32Min

§

F32Max

§

F32Copysign

§

F64Abs

§

F64Neg

§

F64Ceil

§

F64Floor

§

F64Trunc

§

F64Nearest

§

F64Sqrt

§

F64Add

§

F64Sub

§

F64Mul

§

F64Div

§

F64Min

§

F64Max

§

F64Copysign

§

I32Eqz

§

I32Eq

§

I32Ne

§

I32LtS

§

I32LtU

§

I32GtS

§

I32GtU

§

I32LeS

§

I32LeU

§

I32GeS

§

I32GeU

§

I64Eqz

§

I64Eq

§

I64Ne

§

I64LtS

§

I64LtU

§

I64GtS

§

I64GtU

§

I64LeS

§

I64LeU

§

I64GeS

§

I64GeU

§

F32Eq

§

F32Ne

§

F32Lt

§

F32Gt

§

F32Le

§

F32Ge

§

F64Eq

§

F64Ne

§

F64Lt

§

F64Gt

§

F64Le

§

F64Ge

§

I32WrapI64

§

I32TruncF32S

§

I32TruncF32U

§

I32TruncF64S

§

I32TruncF64U

§

I64ExtendI32S

§

I64ExtendI32U

§

I64TruncF32S

§

I64TruncF32U

§

I64TruncF64S

§

I64TruncF64U

§

F32ConvertI32S

§

F32ConvertI32U

§

F32ConvertI64S

§

F32ConvertI64U

§

F32DemoteF64

§

F64ConvertI32S

§

F64ConvertI32U

§

F64ConvertI64S

§

F64ConvertI64U

§

F64PromoteF32

§

I32ReinterpretF32

§

I64ReinterpretF64

§

F32ReinterpretI32

§

F64ReinterpretI64

§

I32TruncSatF32S

§

I32TruncSatF32U

§

I32TruncSatF64S

§

I32TruncSatF64U

§

I64TruncSatF32S

§

I64TruncSatF32U

§

I64TruncSatF64S

§

I64TruncSatF64U

§

I32Extend8S

§

I32Extend16S

§

I64Extend8S

§

I64Extend16S

§

I64Extend32S

§

MemoryAtomicNotify(MemArg<'a>)

§

MemoryAtomicWait32(MemArg<'a>)

§

MemoryAtomicWait64(MemArg<'a>)

§

AtomicFence

§

I32AtomicLoad(MemArg<'a>)

§

I64AtomicLoad(MemArg<'a>)

§

I32AtomicLoad8u(MemArg<'a>)

§

I32AtomicLoad16u(MemArg<'a>)

§

I64AtomicLoad8u(MemArg<'a>)

§

I64AtomicLoad16u(MemArg<'a>)

§

I64AtomicLoad32u(MemArg<'a>)

§

I32AtomicStore(MemArg<'a>)

§

I64AtomicStore(MemArg<'a>)

§

I32AtomicStore8(MemArg<'a>)

§

I32AtomicStore16(MemArg<'a>)

§

I64AtomicStore8(MemArg<'a>)

§

I64AtomicStore16(MemArg<'a>)

§

I64AtomicStore32(MemArg<'a>)

§

I32AtomicRmwAdd(MemArg<'a>)

§

I64AtomicRmwAdd(MemArg<'a>)

§

I32AtomicRmw8AddU(MemArg<'a>)

§

I32AtomicRmw16AddU(MemArg<'a>)

§

I64AtomicRmw8AddU(MemArg<'a>)

§

I64AtomicRmw16AddU(MemArg<'a>)

§

I64AtomicRmw32AddU(MemArg<'a>)

§

I32AtomicRmwSub(MemArg<'a>)

§

I64AtomicRmwSub(MemArg<'a>)

§

I32AtomicRmw8SubU(MemArg<'a>)

§

I32AtomicRmw16SubU(MemArg<'a>)

§

I64AtomicRmw8SubU(MemArg<'a>)

§

I64AtomicRmw16SubU(MemArg<'a>)

§

I64AtomicRmw32SubU(MemArg<'a>)

§

I32AtomicRmwAnd(MemArg<'a>)

§

I64AtomicRmwAnd(MemArg<'a>)

§

I32AtomicRmw8AndU(MemArg<'a>)

§

I32AtomicRmw16AndU(MemArg<'a>)

§

I64AtomicRmw8AndU(MemArg<'a>)

§

I64AtomicRmw16AndU(MemArg<'a>)

§

I64AtomicRmw32AndU(MemArg<'a>)

§

I32AtomicRmwOr(MemArg<'a>)

§

I64AtomicRmwOr(MemArg<'a>)

§

I32AtomicRmw8OrU(MemArg<'a>)

§

I32AtomicRmw16OrU(MemArg<'a>)

§

I64AtomicRmw8OrU(MemArg<'a>)

§

I64AtomicRmw16OrU(MemArg<'a>)

§

I64AtomicRmw32OrU(MemArg<'a>)

§

I32AtomicRmwXor(MemArg<'a>)

§

I64AtomicRmwXor(MemArg<'a>)

§

I32AtomicRmw8XorU(MemArg<'a>)

§

I32AtomicRmw16XorU(MemArg<'a>)

§

I64AtomicRmw8XorU(MemArg<'a>)

§

I64AtomicRmw16XorU(MemArg<'a>)

§

I64AtomicRmw32XorU(MemArg<'a>)

§

I32AtomicRmwXchg(MemArg<'a>)

§

I64AtomicRmwXchg(MemArg<'a>)

§

I32AtomicRmw8XchgU(MemArg<'a>)

§

I32AtomicRmw16XchgU(MemArg<'a>)

§

I64AtomicRmw8XchgU(MemArg<'a>)

§

I64AtomicRmw16XchgU(MemArg<'a>)

§

I64AtomicRmw32XchgU(MemArg<'a>)

§

I32AtomicRmwCmpxchg(MemArg<'a>)

§

I64AtomicRmwCmpxchg(MemArg<'a>)

§

I32AtomicRmw8CmpxchgU(MemArg<'a>)

§

I32AtomicRmw16CmpxchgU(MemArg<'a>)

§

I64AtomicRmw8CmpxchgU(MemArg<'a>)

§

I64AtomicRmw16CmpxchgU(MemArg<'a>)

§

I64AtomicRmw32CmpxchgU(MemArg<'a>)

§

GlobalAtomicGet(Ordered<Index<'a>>)

§

GlobalAtomicSet(Ordered<Index<'a>>)

§

GlobalAtomicRmwAdd(Ordered<Index<'a>>)

§

GlobalAtomicRmwSub(Ordered<Index<'a>>)

§

GlobalAtomicRmwAnd(Ordered<Index<'a>>)

§

GlobalAtomicRmwOr(Ordered<Index<'a>>)

§

GlobalAtomicRmwXor(Ordered<Index<'a>>)

§

GlobalAtomicRmwXchg(Ordered<Index<'a>>)

§

GlobalAtomicRmwCmpxchg(Ordered<Index<'a>>)

§

TableAtomicGet(Ordered<TableArg<'a>>)

§

TableAtomicSet(Ordered<TableArg<'a>>)

§

TableAtomicRmwXchg(Ordered<TableArg<'a>>)

§

TableAtomicRmwCmpxchg(Ordered<TableArg<'a>>)

§

StructAtomicGet(Ordered<StructAccess<'a>>)

§

StructAtomicGetS(Ordered<StructAccess<'a>>)

§

StructAtomicGetU(Ordered<StructAccess<'a>>)

§

StructAtomicSet(Ordered<StructAccess<'a>>)

§

StructAtomicRmwAdd(Ordered<StructAccess<'a>>)

§

StructAtomicRmwSub(Ordered<StructAccess<'a>>)

§

StructAtomicRmwAnd(Ordered<StructAccess<'a>>)

§

StructAtomicRmwOr(Ordered<StructAccess<'a>>)

§

StructAtomicRmwXor(Ordered<StructAccess<'a>>)

§

StructAtomicRmwXchg(Ordered<StructAccess<'a>>)

§

StructAtomicRmwCmpxchg(Ordered<StructAccess<'a>>)

§

ArrayAtomicGet(Ordered<Index<'a>>)

§

ArrayAtomicGetS(Ordered<Index<'a>>)

§

ArrayAtomicGetU(Ordered<Index<'a>>)

§

ArrayAtomicSet(Ordered<Index<'a>>)

§

ArrayAtomicRmwAdd(Ordered<Index<'a>>)

§

ArrayAtomicRmwSub(Ordered<Index<'a>>)

§

ArrayAtomicRmwAnd(Ordered<Index<'a>>)

§

ArrayAtomicRmwOr(Ordered<Index<'a>>)

§

ArrayAtomicRmwXor(Ordered<Index<'a>>)

§

ArrayAtomicRmwXchg(Ordered<Index<'a>>)

§

ArrayAtomicRmwCmpxchg(Ordered<Index<'a>>)

§

RefI31Shared

§

V128Load(MemArg<'a>)

§

V128Load8x8S(MemArg<'a>)

§

V128Load8x8U(MemArg<'a>)

§

V128Load16x4S(MemArg<'a>)

§

V128Load16x4U(MemArg<'a>)

§

V128Load32x2S(MemArg<'a>)

§

V128Load32x2U(MemArg<'a>)

§

V128Load8Splat(MemArg<'a>)

§

V128Load16Splat(MemArg<'a>)

§

V128Load32Splat(MemArg<'a>)

§

V128Load64Splat(MemArg<'a>)

§

V128Load32Zero(MemArg<'a>)

§

V128Load64Zero(MemArg<'a>)

§

V128Store(MemArg<'a>)

§

V128Load8Lane(LoadOrStoreLane<'a>)

§

V128Load16Lane(LoadOrStoreLane<'a>)

§

V128Load32Lane(LoadOrStoreLane<'a>)

§

V128Load64Lane(LoadOrStoreLane<'a>)

§

V128Store8Lane(LoadOrStoreLane<'a>)

§

V128Store16Lane(LoadOrStoreLane<'a>)

§

V128Store32Lane(LoadOrStoreLane<'a>)

§

V128Store64Lane(LoadOrStoreLane<'a>)

§

V128Const(V128Const)

§

I8x16Shuffle(I8x16Shuffle)

§

I8x16ExtractLaneS(LaneArg)

§

I8x16ExtractLaneU(LaneArg)

§

I8x16ReplaceLane(LaneArg)

§

I16x8ExtractLaneS(LaneArg)

§

I16x8ExtractLaneU(LaneArg)

§

I16x8ReplaceLane(LaneArg)

§

I32x4ExtractLane(LaneArg)

§

I32x4ReplaceLane(LaneArg)

§

I64x2ExtractLane(LaneArg)

§

I64x2ReplaceLane(LaneArg)

§

F32x4ExtractLane(LaneArg)

§

F32x4ReplaceLane(LaneArg)

§

F64x2ExtractLane(LaneArg)

§

F64x2ReplaceLane(LaneArg)

§

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

§

ThrowRef

§

TryTable(TryTable<'a>)

§

Throw(Index<'a>)

§

Try(Box<BlockType<'a>>)

§

Catch(Index<'a>)

§

Rethrow(Index<'a>)

§

Delegate(Index<'a>)

§

CatchAll

§

I8x16RelaxedSwizzle

§

I32x4RelaxedTruncF32x4S

§

I32x4RelaxedTruncF32x4U

§

I32x4RelaxedTruncF64x2SZero

§

I32x4RelaxedTruncF64x2UZero

§

F32x4RelaxedMadd

§

F32x4RelaxedNmadd

§

F64x2RelaxedMadd

§

F64x2RelaxedNmadd

§

I8x16RelaxedLaneselect

§

I16x8RelaxedLaneselect

§

I32x4RelaxedLaneselect

§

I64x2RelaxedLaneselect

§

F32x4RelaxedMin

§

F32x4RelaxedMax

§

F64x2RelaxedMin

§

F64x2RelaxedMax

§

I16x8RelaxedQ15mulrS

§

I16x8RelaxedDotI8x16I7x16S

§

I32x4RelaxedDotI8x16I7x16AddS

§

ContNew(Index<'a>)

§

ContBind(ContBind<'a>)

§

Suspend(Index<'a>)

§

Resume(Resume<'a>)

§

ResumeThrow(ResumeThrow<'a>)

§

Switch(Switch<'a>)

§

I64Add128

§

I64Sub128

§

I64MulWideS

§

I64MulWideU

Implementations§

Source§

impl<'a> Instruction<'a>

Source

pub fn memarg_mut(&mut self) -> Option<&mut MemArg<'a>>

Returns the associated MemArg if one is available for this instruction.

Trait Implementations§

Source§

impl<'a> Clone for Instruction<'a>

Source§

fn clone(&self) -> Instruction<'a>

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<'a> Debug for Instruction<'a>

Source§

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

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

impl<'a> Parse<'a> for Instruction<'a>

Source§

fn parse(parser: Parser<'a>) -> Result<Self>

Attempts to parse Self from parser, returning an error if it could not be parsed. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Instruction<'a>

§

impl<'a> RefUnwindSafe for Instruction<'a>

§

impl<'a> Send for Instruction<'a>

§

impl<'a> Sync for Instruction<'a>

§

impl<'a> Unpin for Instruction<'a>

§

impl<'a> UnwindSafe for Instruction<'a>

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.