Enum parity_wasm::elements::Instruction
source · pub enum Instruction {
Show 390 variants
Unreachable,
Nop,
Block(BlockType),
Loop(BlockType),
If(BlockType),
Else,
End,
Br(u32),
BrIf(u32),
BrTable(Box<BrTableData>),
Return,
Call(u32),
CallIndirect(u32, u8),
Drop,
Select,
GetLocal(u32),
SetLocal(u32),
TeeLocal(u32),
GetGlobal(u32),
SetGlobal(u32),
I32Load(u32, u32),
I64Load(u32, u32),
F32Load(u32, u32),
F64Load(u32, u32),
I32Load8S(u32, u32),
I32Load8U(u32, u32),
I32Load16S(u32, u32),
I32Load16U(u32, u32),
I64Load8S(u32, u32),
I64Load8U(u32, u32),
I64Load16S(u32, u32),
I64Load16U(u32, u32),
I64Load32S(u32, u32),
I64Load32U(u32, u32),
I32Store(u32, u32),
I64Store(u32, u32),
F32Store(u32, u32),
F64Store(u32, u32),
I32Store8(u32, u32),
I32Store16(u32, u32),
I64Store8(u32, u32),
I64Store16(u32, u32),
I64Store32(u32, u32),
CurrentMemory(u8),
GrowMemory(u8),
I32Const(i32),
I64Const(i64),
F32Const(u32),
F64Const(u64),
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,
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,
I32WrapI64,
I32TruncSF32,
I32TruncUF32,
I32TruncSF64,
I32TruncUF64,
I64ExtendSI32,
I64ExtendUI32,
I64TruncSF32,
I64TruncUF32,
I64TruncSF64,
I64TruncUF64,
F32ConvertSI32,
F32ConvertUI32,
F32ConvertSI64,
F32ConvertUI64,
F32DemoteF64,
F64ConvertSI32,
F64ConvertUI32,
F64ConvertSI64,
F64ConvertUI64,
F64PromoteF32,
I32ReinterpretF32,
I64ReinterpretF64,
F32ReinterpretI32,
F64ReinterpretI64,
I32Extend8S,
I32Extend16S,
I64Extend8S,
I64Extend16S,
I64Extend32S,
AtomicWake(MemArg),
I32AtomicWait(MemArg),
I64AtomicWait(MemArg),
I32AtomicLoad(MemArg),
I64AtomicLoad(MemArg),
I32AtomicLoad8u(MemArg),
I32AtomicLoad16u(MemArg),
I64AtomicLoad8u(MemArg),
I64AtomicLoad16u(MemArg),
I64AtomicLoad32u(MemArg),
I32AtomicStore(MemArg),
I64AtomicStore(MemArg),
I32AtomicStore8u(MemArg),
I32AtomicStore16u(MemArg),
I64AtomicStore8u(MemArg),
I64AtomicStore16u(MemArg),
I64AtomicStore32u(MemArg),
I32AtomicRmwAdd(MemArg),
I64AtomicRmwAdd(MemArg),
I32AtomicRmwAdd8u(MemArg),
I32AtomicRmwAdd16u(MemArg),
I64AtomicRmwAdd8u(MemArg),
I64AtomicRmwAdd16u(MemArg),
I64AtomicRmwAdd32u(MemArg),
I32AtomicRmwSub(MemArg),
I64AtomicRmwSub(MemArg),
I32AtomicRmwSub8u(MemArg),
I32AtomicRmwSub16u(MemArg),
I64AtomicRmwSub8u(MemArg),
I64AtomicRmwSub16u(MemArg),
I64AtomicRmwSub32u(MemArg),
I32AtomicRmwAnd(MemArg),
I64AtomicRmwAnd(MemArg),
I32AtomicRmwAnd8u(MemArg),
I32AtomicRmwAnd16u(MemArg),
I64AtomicRmwAnd8u(MemArg),
I64AtomicRmwAnd16u(MemArg),
I64AtomicRmwAnd32u(MemArg),
I32AtomicRmwOr(MemArg),
I64AtomicRmwOr(MemArg),
I32AtomicRmwOr8u(MemArg),
I32AtomicRmwOr16u(MemArg),
I64AtomicRmwOr8u(MemArg),
I64AtomicRmwOr16u(MemArg),
I64AtomicRmwOr32u(MemArg),
I32AtomicRmwXor(MemArg),
I64AtomicRmwXor(MemArg),
I32AtomicRmwXor8u(MemArg),
I32AtomicRmwXor16u(MemArg),
I64AtomicRmwXor8u(MemArg),
I64AtomicRmwXor16u(MemArg),
I64AtomicRmwXor32u(MemArg),
I32AtomicRmwXchg(MemArg),
I64AtomicRmwXchg(MemArg),
I32AtomicRmwXchg8u(MemArg),
I32AtomicRmwXchg16u(MemArg),
I64AtomicRmwXchg8u(MemArg),
I64AtomicRmwXchg16u(MemArg),
I64AtomicRmwXchg32u(MemArg),
I32AtomicRmwCmpxchg(MemArg),
I64AtomicRmwCmpxchg(MemArg),
I32AtomicRmwCmpxchg8u(MemArg),
I32AtomicRmwCmpxchg16u(MemArg),
I64AtomicRmwCmpxchg8u(MemArg),
I64AtomicRmwCmpxchg16u(MemArg),
I64AtomicRmwCmpxchg32u(MemArg),
V128Const(Box<[u8; 16]>),
V128Load(MemArg),
V128Store(MemArg),
I8x16Splat,
I16x8Splat,
I32x4Splat,
I64x2Splat,
F32x4Splat,
F64x2Splat,
I8x16ExtractLaneS(u8),
I8x16ExtractLaneU(u8),
I16x8ExtractLaneS(u8),
I16x8ExtractLaneU(u8),
I32x4ExtractLane(u8),
I64x2ExtractLane(u8),
F32x4ExtractLane(u8),
F64x2ExtractLane(u8),
I8x16ReplaceLane(u8),
I16x8ReplaceLane(u8),
I32x4ReplaceLane(u8),
I64x2ReplaceLane(u8),
F32x4ReplaceLane(u8),
F64x2ReplaceLane(u8),
V8x16Shuffle(Box<[u8; 16]>),
I8x16Add,
I16x8Add,
I32x4Add,
I64x2Add,
I8x16Sub,
I16x8Sub,
I32x4Sub,
I64x2Sub,
I8x16Mul,
I16x8Mul,
I32x4Mul,
I8x16Neg,
I16x8Neg,
I32x4Neg,
I64x2Neg,
I8x16AddSaturateS,
I8x16AddSaturateU,
I16x8AddSaturateS,
I16x8AddSaturateU,
I8x16SubSaturateS,
I8x16SubSaturateU,
I16x8SubSaturateS,
I16x8SubSaturateU,
I8x16Shl,
I16x8Shl,
I32x4Shl,
I64x2Shl,
I8x16ShrS,
I8x16ShrU,
I16x8ShrS,
I16x8ShrU,
I32x4ShrS,
I32x4ShrU,
I64x2ShrS,
I64x2ShrU,
V128And,
V128Or,
V128Xor,
V128Not,
V128Bitselect,
I8x16AnyTrue,
I16x8AnyTrue,
I32x4AnyTrue,
I64x2AnyTrue,
I8x16AllTrue,
I16x8AllTrue,
I32x4AllTrue,
I64x2AllTrue,
I8x16Eq,
I16x8Eq,
I32x4Eq,
F32x4Eq,
F64x2Eq,
I8x16Ne,
I16x8Ne,
I32x4Ne,
F32x4Ne,
F64x2Ne,
I8x16LtS,
I8x16LtU,
I16x8LtS,
I16x8LtU,
I32x4LtS,
I32x4LtU,
F32x4Lt,
F64x2Lt,
I8x16LeS,
I8x16LeU,
I16x8LeS,
I16x8LeU,
I32x4LeS,
I32x4LeU,
F32x4Le,
F64x2Le,
I8x16GtS,
I8x16GtU,
I16x8GtS,
I16x8GtU,
I32x4GtS,
I32x4GtU,
F32x4Gt,
F64x2Gt,
I8x16GeS,
I8x16GeU,
I16x8GeS,
I16x8GeU,
I32x4GeS,
I32x4GeU,
F32x4Ge,
F64x2Ge,
F32x4Neg,
F64x2Neg,
F32x4Abs,
F64x2Abs,
F32x4Min,
F64x2Min,
F32x4Max,
F64x2Max,
F32x4Add,
F64x2Add,
F32x4Sub,
F64x2Sub,
F32x4Div,
F64x2Div,
F32x4Mul,
F64x2Mul,
F32x4Sqrt,
F64x2Sqrt,
F32x4ConvertSI32x4,
F32x4ConvertUI32x4,
F64x2ConvertSI64x2,
F64x2ConvertUI64x2,
I32x4TruncSF32x4Sat,
I32x4TruncUF32x4Sat,
I64x2TruncSF64x2Sat,
I64x2TruncUF64x2Sat,
MemoryInit(u32),
MemoryDrop(u32),
MemoryCopy,
MemoryFill,
TableInit(u32),
TableDrop(u32),
TableCopy,
}
Expand description
Instruction.
Variants
Unreachable
Nop
Block(BlockType)
Loop(BlockType)
If(BlockType)
Else
End
Br(u32)
BrIf(u32)
BrTable(Box<BrTableData>)
Return
Call(u32)
CallIndirect(u32, u8)
Drop
Select
GetLocal(u32)
SetLocal(u32)
TeeLocal(u32)
GetGlobal(u32)
SetGlobal(u32)
I32Load(u32, u32)
I64Load(u32, u32)
F32Load(u32, u32)
F64Load(u32, u32)
I32Load8S(u32, u32)
I32Load8U(u32, u32)
I32Load16S(u32, u32)
I32Load16U(u32, u32)
I64Load8S(u32, u32)
I64Load8U(u32, u32)
I64Load16S(u32, u32)
I64Load16U(u32, u32)
I64Load32S(u32, u32)
I64Load32U(u32, u32)
I32Store(u32, u32)
I64Store(u32, u32)
F32Store(u32, u32)
F64Store(u32, u32)
I32Store8(u32, u32)
I32Store16(u32, u32)
I64Store8(u32, u32)
I64Store16(u32, u32)
I64Store32(u32, u32)
CurrentMemory(u8)
GrowMemory(u8)
I32Const(i32)
I64Const(i64)
F32Const(u32)
F64Const(u64)
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
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
I32WrapI64
I32TruncSF32
I32TruncUF32
I32TruncSF64
I32TruncUF64
I64ExtendSI32
I64ExtendUI32
I64TruncSF32
I64TruncUF32
I64TruncSF64
I64TruncUF64
F32ConvertSI32
F32ConvertUI32
F32ConvertSI64
F32ConvertUI64
F32DemoteF64
F64ConvertSI32
F64ConvertUI32
F64ConvertSI64
F64ConvertUI64
F64PromoteF32
I32ReinterpretF32
I64ReinterpretF64
F32ReinterpretI32
F64ReinterpretI64
I32Extend8S
I32Extend16S
I64Extend8S
I64Extend16S
I64Extend32S
AtomicWake(MemArg)
I32AtomicWait(MemArg)
I64AtomicWait(MemArg)
I32AtomicLoad(MemArg)
I64AtomicLoad(MemArg)
I32AtomicLoad8u(MemArg)
I32AtomicLoad16u(MemArg)
I64AtomicLoad8u(MemArg)
I64AtomicLoad16u(MemArg)
I64AtomicLoad32u(MemArg)
I32AtomicStore(MemArg)
I64AtomicStore(MemArg)
I32AtomicStore8u(MemArg)
I32AtomicStore16u(MemArg)
I64AtomicStore8u(MemArg)
I64AtomicStore16u(MemArg)
I64AtomicStore32u(MemArg)
I32AtomicRmwAdd(MemArg)
I64AtomicRmwAdd(MemArg)
I32AtomicRmwAdd8u(MemArg)
I32AtomicRmwAdd16u(MemArg)
I64AtomicRmwAdd8u(MemArg)
I64AtomicRmwAdd16u(MemArg)
I64AtomicRmwAdd32u(MemArg)
I32AtomicRmwSub(MemArg)
I64AtomicRmwSub(MemArg)
I32AtomicRmwSub8u(MemArg)
I32AtomicRmwSub16u(MemArg)
I64AtomicRmwSub8u(MemArg)
I64AtomicRmwSub16u(MemArg)
I64AtomicRmwSub32u(MemArg)
I32AtomicRmwAnd(MemArg)
I64AtomicRmwAnd(MemArg)
I32AtomicRmwAnd8u(MemArg)
I32AtomicRmwAnd16u(MemArg)
I64AtomicRmwAnd8u(MemArg)
I64AtomicRmwAnd16u(MemArg)
I64AtomicRmwAnd32u(MemArg)
I32AtomicRmwOr(MemArg)
I64AtomicRmwOr(MemArg)
I32AtomicRmwOr8u(MemArg)
I32AtomicRmwOr16u(MemArg)
I64AtomicRmwOr8u(MemArg)
I64AtomicRmwOr16u(MemArg)
I64AtomicRmwOr32u(MemArg)
I32AtomicRmwXor(MemArg)
I64AtomicRmwXor(MemArg)
I32AtomicRmwXor8u(MemArg)
I32AtomicRmwXor16u(MemArg)
I64AtomicRmwXor8u(MemArg)
I64AtomicRmwXor16u(MemArg)
I64AtomicRmwXor32u(MemArg)
I32AtomicRmwXchg(MemArg)
I64AtomicRmwXchg(MemArg)
I32AtomicRmwXchg8u(MemArg)
I32AtomicRmwXchg16u(MemArg)
I64AtomicRmwXchg8u(MemArg)
I64AtomicRmwXchg16u(MemArg)
I64AtomicRmwXchg32u(MemArg)
I32AtomicRmwCmpxchg(MemArg)
I64AtomicRmwCmpxchg(MemArg)
I32AtomicRmwCmpxchg8u(MemArg)
I32AtomicRmwCmpxchg16u(MemArg)
I64AtomicRmwCmpxchg8u(MemArg)
I64AtomicRmwCmpxchg16u(MemArg)
I64AtomicRmwCmpxchg32u(MemArg)
V128Const(Box<[u8; 16]>)
V128Load(MemArg)
V128Store(MemArg)
I8x16Splat
I16x8Splat
I32x4Splat
I64x2Splat
F32x4Splat
F64x2Splat
I8x16ExtractLaneS(u8)
I8x16ExtractLaneU(u8)
I16x8ExtractLaneS(u8)
I16x8ExtractLaneU(u8)
I32x4ExtractLane(u8)
I64x2ExtractLane(u8)
F32x4ExtractLane(u8)
F64x2ExtractLane(u8)
I8x16ReplaceLane(u8)
I16x8ReplaceLane(u8)
I32x4ReplaceLane(u8)
I64x2ReplaceLane(u8)
F32x4ReplaceLane(u8)
F64x2ReplaceLane(u8)
V8x16Shuffle(Box<[u8; 16]>)
I8x16Add
I16x8Add
I32x4Add
I64x2Add
I8x16Sub
I16x8Sub
I32x4Sub
I64x2Sub
I8x16Mul
I16x8Mul
I32x4Mul
I8x16Neg
I16x8Neg
I32x4Neg
I64x2Neg
I8x16AddSaturateS
I8x16AddSaturateU
I16x8AddSaturateS
I16x8AddSaturateU
I8x16SubSaturateS
I8x16SubSaturateU
I16x8SubSaturateS
I16x8SubSaturateU
I8x16Shl
I16x8Shl
I32x4Shl
I64x2Shl
I8x16ShrS
I8x16ShrU
I16x8ShrS
I16x8ShrU
I32x4ShrS
I32x4ShrU
I64x2ShrS
I64x2ShrU
V128And
V128Or
V128Xor
V128Not
V128Bitselect
I8x16AnyTrue
I16x8AnyTrue
I32x4AnyTrue
I64x2AnyTrue
I8x16AllTrue
I16x8AllTrue
I32x4AllTrue
I64x2AllTrue
I8x16Eq
I16x8Eq
I32x4Eq
F32x4Eq
F64x2Eq
I8x16Ne
I16x8Ne
I32x4Ne
F32x4Ne
F64x2Ne
I8x16LtS
I8x16LtU
I16x8LtS
I16x8LtU
I32x4LtS
I32x4LtU
F32x4Lt
F64x2Lt
I8x16LeS
I8x16LeU
I16x8LeS
I16x8LeU
I32x4LeS
I32x4LeU
F32x4Le
F64x2Le
I8x16GtS
I8x16GtU
I16x8GtS
I16x8GtU
I32x4GtS
I32x4GtU
F32x4Gt
F64x2Gt
I8x16GeS
I8x16GeU
I16x8GeS
I16x8GeU
I32x4GeS
I32x4GeU
F32x4Ge
F64x2Ge
F32x4Neg
F64x2Neg
F32x4Abs
F64x2Abs
F32x4Min
F64x2Min
F32x4Max
F64x2Max
F32x4Add
F64x2Add
F32x4Sub
F64x2Sub
F32x4Div
F64x2Div
F32x4Mul
F64x2Mul
F32x4Sqrt
F64x2Sqrt
F32x4ConvertSI32x4
F32x4ConvertUI32x4
F64x2ConvertSI64x2
F64x2ConvertUI64x2
I32x4TruncSF32x4Sat
I32x4TruncUF32x4Sat
I64x2TruncSF64x2Sat
I64x2TruncUF64x2Sat
MemoryInit(u32)
MemoryDrop(u32)
MemoryCopy
MemoryFill
TableInit(u32)
TableDrop(u32)
TableCopy
Implementations
sourceimpl Instruction
impl Instruction
Trait Implementations
sourceimpl Clone for Instruction
impl Clone for Instruction
sourcefn clone(&self) -> Instruction
fn clone(&self) -> Instruction
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresourceimpl Debug for Instruction
impl Debug for Instruction
sourceimpl Deserialize for Instruction
impl Deserialize for Instruction
sourceimpl Display for Instruction
impl Display for Instruction
sourceimpl Hash for Instruction
impl Hash for Instruction
sourceimpl PartialEq<Instruction> for Instruction
impl PartialEq<Instruction> for Instruction
sourcefn eq(&self, other: &Instruction) -> bool
fn eq(&self, other: &Instruction) -> bool
sourceimpl Serialize for Instruction
impl Serialize for Instruction
impl Eq for Instruction
impl StructuralEq for Instruction
impl StructuralPartialEq for Instruction
Auto Trait Implementations
impl RefUnwindSafe for Instruction
impl Send for Instruction
impl Sync for Instruction
impl Unpin for Instruction
impl UnwindSafe for Instruction
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more