Instr
zio.wasm.Instr
enum Instr
Attributes
- Graph
-
- Supertypes
-
trait Enumtrait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
case I32Constcase I64Constcase F32Constcase F64Constcase IEqzcase IEqcase INecase ILtcase IGtcase ILecase IGecase FEqcase FNecase FLtcase FGtcase FLecase FGecase IClzcase ICtzcase IPopCntcase IAddcase ISubcase IMulcase IDivcase IRemcase IAndcase IOrcase IXorcase IShlcase IShrcase IRotLcase IRotRcase FAbscase FNegcase FCeilcase FFloorcase FTrunccase FNearestcase FSqrtcase FAddcase FSubcase FMulcase FDivcase FMincase FMaxcase FCopySigncase ITruncFcase I64ExtendI32case IExtend8Scase IExtend16Scase FConvertIcase IReinterpretFcase FReinterpretIcase ITruncSatFcase VI8x16Shufflecase VSplatcase VI8x16ExtractLanecase VI16x8ExtractLanecase VI32x4ExtractLanecase VI64x2ExtractLanecase VFExtractLanecase VReplaceLanecase VIEqcase VINecase VILtcase VIGtcase VILecase VIGecase VFEqcase VFNecase VFLtcase VFGtcase VFLecase VFGecase VIAbscase VINegcase VFAbscase VFNegcase VFSqrtcase VFCeilcase VFFloorcase VFTrunccase VFNearestcase VIAllTruecase VIBitMaskcase VI8x16NarrowI16x8case VI16x8NarrowI32x4case VI16x8ExtendI8x16case VI32x4ExtendI16x8case VI64x2ExtendI32x4case VIShlcase VIShrcase VIAddcase VISubcase VIMincase VIMaxcase VIAddSatcase VISubSatcase VIMulcase VIAvgrcase VIExtMulcase VIExtAddPairwisecase VFAddcase VFSubcase VFMulcase VFDivcase VFMincase VFMaxcase VFPMincase VFPMaxcase VI32x4TruncSatF32x4case VI32x4ConvertI32x4case RefNullcase RefFunccase Selectcase LocalGetcase LocalSetcase LocalTeecase GlobalGetcase GlobalSetcase TableGetcase TableSetcase TableSizecase TableGrowcase TableFillcase TableCopycase TableInitcase ElemDropcase Loadcase Storecase Load8case Load16case Load32case Store8case Store16case Store32case V128Load8x8case V128Load16x4case V128Load32x2case V128Load32Zerocase V128Load64Zerocase V128LoadSplatcase V128LoadLanecase V128StoreLanecase MemoryInitcase DataDropcase Blockcase Loopcase Ifcase Brcase BrIfcase BrTablecase Callcase CallIndirectShow all
Members list
Type members
Enum entries
final case class Br(labelIdx: LabelIdx) extends Instr, ControlInstr
final case class BrIf(labelIdx: LabelIdx) extends Instr, ControlInstr
final case class Call(idx: FuncIdx) extends Instr, ControlInstr
final case class CallIndirect(tableIdx: TableIdx, typeIdx: TypeIdx) extends Instr, ControlInstr
final case class DataDrop(idx: DataIdx) extends Instr, MemoryInstr
case case Drop extends Instr with ParametricInstr
final case class ElemDrop(idx: ElemIdx) extends Instr, TableInstr
final case class F32Const(value: Float) extends Instr, NumericInstr
case case F32DemoteF64 extends Instr with CvtOp
final case class F64Const(value: Double) extends Instr, NumericInstr
case case F64PromoteF32 extends Instr with CvtOp
final case class FAbs(width: FloatWidth) extends Instr, NumericInstr, FUnOp
final case class FAdd(width: FloatWidth) extends Instr, NumericInstr, FBinOp
final case class FCeil(width: FloatWidth) extends Instr, NumericInstr, FUnOp
final case class FConvertI(floatWidth: FloatWidth, intWidth: IntWidth, signedness: Signedness) extends Instr, NumericInstr, CvtOp
final case class FCopySign(width: FloatWidth) extends Instr, NumericInstr, FBinOp
final case class FDiv(width: FloatWidth) extends Instr, NumericInstr, FBinOp
final case class FEq(width: FloatWidth) extends Instr, NumericInstr, FRelOp
final case class FFloor(width: FloatWidth) extends Instr, NumericInstr, FUnOp
final case class FGe(width: FloatWidth) extends Instr, NumericInstr, FRelOp
final case class FGt(width: FloatWidth) extends Instr, NumericInstr, FRelOp
final case class FLe(width: FloatWidth) extends Instr, NumericInstr, FRelOp
final case class FLt(width: FloatWidth) extends Instr, NumericInstr, FRelOp
final case class FMax(width: FloatWidth) extends Instr, NumericInstr, FBinOp
final case class FMin(width: FloatWidth) extends Instr, NumericInstr, FBinOp
final case class FMul(width: FloatWidth) extends Instr, NumericInstr, FBinOp
final case class FNe(width: FloatWidth) extends Instr, NumericInstr, FRelOp
final case class FNearest(width: FloatWidth) extends Instr, NumericInstr, FUnOp
final case class FNeg(width: FloatWidth) extends Instr, NumericInstr, FUnOp
final case class FReinterpretI(floatWidth: FloatWidth) extends Instr, NumericInstr, CvtOp
final case class FSqrt(width: FloatWidth) extends Instr, NumericInstr, FBinOp
final case class FSub(width: FloatWidth) extends Instr, NumericInstr, FBinOp
final case class FTrunc(width: FloatWidth) extends Instr, NumericInstr, FUnOp
final case class GlobalGet(idx: GlobalIdx) extends Instr, VariableInstr
final case class GlobalSet(idx: GlobalIdx) extends Instr, VariableInstr
final case class I32Const(value: Int) extends Instr, NumericInstr
case case I32WrapI64 extends Instr with CvtOp
final case class I64Const(value: Long) extends Instr, NumericInstr
case case I64Extend32S extends Instr with CvtOp
final case class I64ExtendI32(signedness: Signedness) extends Instr, NumericInstr, CvtOp
final case class IAdd(width: IntWidth) extends Instr, NumericInstr, IBinOp
final case class IAnd(width: IntWidth) extends Instr, NumericInstr, IBinOp
final case class IClz(width: IntWidth) extends Instr, NumericInstr, IUnOp
final case class ICtz(width: IntWidth) extends Instr, NumericInstr, IUnOp
final case class IDiv(width: IntWidth, signedness: Signedness) extends Instr, NumericInstr, IBinOp
final case class IEq(width: IntWidth) extends Instr, NumericInstr, IRelOp
final case class IEqz(width: IntWidth) extends Instr, NumericInstr, ITestOp
final case class IExtend16S(intWidth: IntWidth) extends Instr, NumericInstr, CvtOp
final case class IExtend8S(intWidth: IntWidth) extends Instr, NumericInstr, CvtOp
final case class IGe(width: IntWidth, signedness: Signedness) extends Instr, NumericInstr, IRelOp
final case class IGt(width: IntWidth, signedness: Signedness) extends Instr, NumericInstr, IRelOp
final case class ILe(width: IntWidth, signedness: Signedness) extends Instr, NumericInstr, IRelOp
final case class ILt(width: IntWidth, signedness: Signedness) extends Instr, NumericInstr, IRelOp
final case class IMul(width: IntWidth) extends Instr, NumericInstr, IBinOp
final case class INe(width: IntWidth) extends Instr, NumericInstr, IRelOp
final case class IOr(width: IntWidth) extends Instr, NumericInstr, IBinOp
final case class IPopCnt(width: IntWidth) extends Instr, NumericInstr, IUnOp
final case class IReinterpretF(intWidth: IntWidth) extends Instr, NumericInstr, CvtOp
final case class IRem(width: IntWidth, signedness: Signedness) extends Instr, NumericInstr, IBinOp
final case class IRotL(width: IntWidth) extends Instr, NumericInstr, IBinOp
final case class IRotR(width: IntWidth) extends Instr, NumericInstr, IBinOp
final case class IShl(width: IntWidth) extends Instr, NumericInstr, IBinOp
final case class IShr(width: IntWidth, signedness: Signedness) extends Instr, NumericInstr, IBinOp
final case class ISub(width: IntWidth) extends Instr, NumericInstr, IBinOp
final case class ITruncF(intWidth: IntWidth, floatWidth: FloatWidth, signedness: Signedness) extends Instr, NumericInstr, CvtOp
final case class ITruncSatF(intWidth: IntWidth, floatWidth: FloatWidth, signedness: Signedness) extends Instr, NumericInstr, CvtOp
final case class IXor(width: IntWidth) extends Instr, NumericInstr, IBinOp
final case class Load16(typ: NumType | NumType, signedness: Signedness, memArg: MemArg) extends Instr, MemoryInstr
final case class Load32(signedness: Signedness, memArg: MemArg) extends Instr, MemoryInstr
final case class Load8(typ: NumType | NumType, signedness: Signedness, memArg: MemArg) extends Instr, MemoryInstr
final case class LocalGet(idx: LocalIdx) extends Instr, VariableInstr
final case class LocalSet(idx: LocalIdx) extends Instr, VariableInstr
final case class LocalTee(idx: LocalIdx) extends Instr, VariableInstr
case case MemoryCopy extends Instr with MemoryInstr
case case MemoryFill extends Instr with MemoryInstr
case case MemoryGrow extends Instr with MemoryInstr
final case class MemoryInit(idx: DataIdx) extends Instr, MemoryInstr
case case MemorySize extends Instr with MemoryInstr
case case Nop extends Instr with ControlInstr
final case class RefFunc(idx: FuncIdx) extends Instr, ReferenceInstr
case case RefIsNull extends Instr with ReferenceInstr
final case class RefNull(refType: RefType) extends Instr, ReferenceInstr
case case Return extends Instr with ControlInstr
final case class Store32(memArg: MemArg) extends Instr, MemoryInstr
final case class TableCopy(source: TableIdx, destination: TableIdx) extends Instr, TableInstr
final case class TableFill(idx: TableIdx) extends Instr, TableInstr
final case class TableGet(idx: TableIdx) extends Instr, TableInstr
final case class TableGrow(idx: TableIdx) extends Instr, TableInstr
final case class TableInit(tableIdx: TableIdx, elemIdx: ElemIdx) extends Instr, TableInstr
final case class TableSet(idx: TableIdx) extends Instr, TableInstr
final case class TableSize(idx: TableIdx) extends Instr, TableInstr
case case Unreachable extends Instr with ControlInstr
case case V128AndNot extends Instr with VVBinOp
case case V128AnyTrue extends Instr with VVTestOp
case case V128BitSelect extends Instr with VVTernOp
final case class V128Load16x4(signedness: Signedness, memArg: MemArg) extends Instr, MemoryInstr
final case class V128Load32Zero(memArg: MemArg) extends Instr, MemoryInstr
final case class V128Load32x2(signedness: Signedness, memArg: MemArg) extends Instr, MemoryInstr
final case class V128Load64Zero(memArg: MemArg) extends Instr, MemoryInstr
final case class V128Load8x8(signedness: Signedness, memArg: MemArg) extends Instr, MemoryInstr
final case class V128LoadLane(loadShape: VectorLoadShape, memArg: MemArg, laneIdx: LaneIdx) extends Instr, MemoryInstr
final case class V128LoadSplat(loadShape: VectorLoadShape, memArg: MemArg) extends Instr, MemoryInstr
final case class V128StoreLane(loadShape: VectorLoadShape, memArg: MemArg, laneIdx: LaneIdx) extends Instr, MemoryInstr
case case VF32x4DemoteF64x2Zero extends Instr with VCvtOp
final case class VF64x2ConvertLowI32x4(signedness: Signedness) extends Instr, VectorInstr, VCvtOp
case case VF64x2PromoteLowI32x4 extends Instr with VCvtOp
final case class VFAbs(shape: FShape) extends Instr, VectorInstr, VFUnOp
final case class VFAdd(shape: FShape) extends Instr, VectorInstr, VFBinOp
final case class VFCeil(shape: FShape) extends Instr, VectorInstr, VFUnOp
final case class VFDiv(shape: FShape) extends Instr, VectorInstr, VFBinOp
final case class VFEq(shape: FShape) extends Instr, VectorInstr, VFRelOp
final case class VFExtractLane(shape: FShape, laneIdx: LaneIdx) extends Instr, VectorInstr
final case class VFFloor(shape: FShape) extends Instr, VectorInstr, VFUnOp
final case class VFGe(shape: FShape) extends Instr, VectorInstr, VFRelOp
final case class VFGt(shape: FShape) extends Instr, VectorInstr, VFRelOp
final case class VFLe(shape: FShape) extends Instr, VectorInstr, VFRelOp
final case class VFLt(shape: FShape) extends Instr, VectorInstr, VFRelOp
final case class VFMax(shape: FShape) extends Instr, VectorInstr, VFBinOp
final case class VFMin(shape: FShape) extends Instr, VectorInstr, VFBinOp
final case class VFMul(shape: FShape) extends Instr, VectorInstr, VFBinOp
final case class VFNe(shape: FShape) extends Instr, VectorInstr, VFRelOp
final case class VFNearest(shape: FShape) extends Instr, VectorInstr, VFUnOp
final case class VFNeg(shape: FShape) extends Instr, VectorInstr, VFUnOp
final case class VFPMax(shape: FShape) extends Instr, VectorInstr, VFBinOp
final case class VFPMin(shape: FShape) extends Instr, VectorInstr, VFBinOp
final case class VFSqrt(shape: FShape) extends Instr, VectorInstr, VFUnOp
final case class VFSub(shape: FShape) extends Instr, VectorInstr, VFBinOp
final case class VFTrunc(shape: FShape) extends Instr, VectorInstr, VFUnOp
final case class VI16x8ExtendI8x16(half: Half, signedness: Signedness) extends Instr, VectorInstr, VCvtOp
final case class VI16x8ExtractLane(signedness: Signedness, laneIdx: LaneIdx) extends Instr, VectorInstr
final case class VI16x8NarrowI32x4(signedness: Signedness) extends Instr, VectorInstr
case case VI16x8Q15MulrSat extends Instr with VectorInstr
case case VI18x16Swizzle extends Instr with VectorInstr
final case class VI32x4ConvertI32x4(signedness: Signedness) extends Instr, VectorInstr, VCvtOp
case case VI32x4DotI16x8 extends Instr with VectorInstr
final case class VI32x4ExtendI16x8(half: Half, signedness: Signedness) extends Instr, VectorInstr, VCvtOp
final case class VI32x4ExtractLane(laneIdx: LaneIdx) extends Instr, VectorInstr
final case class VI32x4TruncSatF32x4(signedness: Signedness) extends Instr, VectorInstr, VCvtOp
final case class VI32x4TruncSatF64x2Zero(signedness: Signedness) extends Instr, VectorInstr, VCvtOp
final case class VI64x2ExtendI32x4(half: Half, signedness: Signedness) extends Instr, VectorInstr, VCvtOp
final case class VI64x2ExtractLane(laneIdx: LaneIdx) extends Instr, VectorInstr
final case class VI8x16ExtractLane(signedness: Signedness, laneIdx: LaneIdx) extends Instr, VectorInstr
final case class VI8x16NarrowI16x8(signedness: Signedness) extends Instr, VectorInstr
case case VI8x16PopCnt extends Instr with VectorInstr
final case class VI8x16Shuffle(laneIdx0: LaneIdx, laneIdx1: LaneIdx, laneIdx2: LaneIdx, laneIdx3: LaneIdx, laneIdx4: LaneIdx, laneIdx5: LaneIdx, laneIdx6: LaneIdx, laneIdx7: LaneIdx, laneIdx8: LaneIdx, laneIdx9: LaneIdx, laneIdx10: LaneIdx, laneIdx11: LaneIdx, laneIdx12: LaneIdx, laneIdx13: LaneIdx, laneIdx14: LaneIdx, laneIdx15: LaneIdx) extends Instr, VectorInstr
final case class VIAbs(shape: IShape) extends Instr, VectorInstr, VIUnOp
final case class VIAdd(shape: IShape) extends Instr, VectorInstr, VIBinOp
final case class VIAddSat(shape: IShape | IShape, signedness: Signedness) extends Instr, VectorInstr, VISatBinOp
final case class VIAllTrue(shape: IShape) extends Instr, VectorInstr, VITestOp
final case class VIAvgr(shape: IShape | IShape) extends Instr, VectorInstr
final case class VIBitMask(shape: IShape) extends Instr, VectorInstr
final case class VIEq(shape: IShape) extends Instr, VectorInstr, VIRelOp
final case class VIExtAddPairwise(shape: IShape | IShape, signedness: Signedness) extends Instr, VectorInstr
final case class VIExtMul(shape: IShape | IShape | IShape, half: Half, signedness: Signedness) extends Instr, VectorInstr
final case class VIGe(shape: IShape | IShape | IShape, signedness: Signedness) extends Instr, VectorInstr, VIRelOp
final case class VIGt(shape: IShape | IShape | IShape, signedness: Signedness) extends Instr, VectorInstr, VIRelOp
final case class VILe(shape: IShape | IShape | IShape, signedness: Signedness) extends Instr, VectorInstr, VIRelOp
final case class VILt(shape: IShape | IShape | IShape, signedness: Signedness) extends Instr, VectorInstr, VIRelOp
final case class VIMax(shape: IShape | IShape | IShape, signedness: Signedness) extends Instr, VectorInstr, VIMinMaxOp
final case class VIMin(shape: IShape | IShape | IShape, signedness: Signedness) extends Instr, VectorInstr, VIMinMaxOp
final case class VINe(shape: IShape) extends Instr, VectorInstr, VIRelOp
final case class VINeg(shape: IShape) extends Instr, VectorInstr, VIUnOp
final case class VIShl(shape: IShape) extends Instr, VectorInstr, VIShiftOp
final case class VIShr(shape: IShape, signedness: Signedness) extends Instr, VectorInstr, VIShiftOp
final case class VISub(shape: IShape) extends Instr, VectorInstr, VIBinOp
final case class VISubSat(shape: IShape | IShape, signedness: Signedness) extends Instr, VectorInstr, VISatBinOp
final case class VReplaceLane(shape: Shape, laneIdx: LaneIdx) extends Instr, VectorInstr
final case class VSplat(shape: Shape) extends Instr, VectorInstr
In this article