use super::operation::*; #[derive(Clone, Debug, PartialEq)] pub enum MediumLevelILLiftedInstruction { Nop(NoArgs), Noret(NoArgs), Bp(NoArgs), Undef(NoArgs), Unimpl(NoArgs), If(LiftedIf), FloatConst(FloatConst), Const(Constant), ConstPtr(Constant), Import(Constant), ExternPtr(ExternPtr), ConstData(LiftedConstantData), Jump(LiftedJump), RetHint(LiftedJump), StoreSsa(LiftedStoreSsa), StoreStructSsa(LiftedStoreStructSsa), StoreStruct(LiftedStoreStruct), Store(LiftedStore), JumpTo(LiftedJumpTo), Goto(Goto), FreeVarSlot(FreeVarSlot), SetVarField(LiftedSetVarField), SetVar(LiftedSetVar), FreeVarSlotSsa(FreeVarSlotSsa), SetVarSsaField(LiftedSetVarSsaField), SetVarAliasedField(LiftedSetVarSsaField), SetVarAliased(LiftedSetVarAliased), SetVarSsa(LiftedSetVarSsa), VarPhi(LiftedVarPhi), MemPhi(LiftedMemPhi), VarSplit(VarSplit), SetVarSplit(LiftedSetVarSplit), VarSplitSsa(VarSplitSsa), SetVarSplitSsa(LiftedSetVarSplitSsa), Add(LiftedBinaryOp), Sub(LiftedBinaryOp), And(LiftedBinaryOp), Or(LiftedBinaryOp), Xor(LiftedBinaryOp), Lsl(LiftedBinaryOp), Lsr(LiftedBinaryOp), Asr(LiftedBinaryOp), Rol(LiftedBinaryOp), Ror(LiftedBinaryOp), Mul(LiftedBinaryOp), MuluDp(LiftedBinaryOp), MulsDp(LiftedBinaryOp), Divu(LiftedBinaryOp), DivuDp(LiftedBinaryOp), Divs(LiftedBinaryOp), DivsDp(LiftedBinaryOp), Modu(LiftedBinaryOp), ModuDp(LiftedBinaryOp), Mods(LiftedBinaryOp), ModsDp(LiftedBinaryOp), CmpE(LiftedBinaryOp), CmpNe(LiftedBinaryOp), CmpSlt(LiftedBinaryOp), CmpUlt(LiftedBinaryOp), CmpSle(LiftedBinaryOp), CmpUle(LiftedBinaryOp), CmpSge(LiftedBinaryOp), CmpUge(LiftedBinaryOp), CmpSgt(LiftedBinaryOp), CmpUgt(LiftedBinaryOp), TestBit(LiftedBinaryOp), AddOverflow(LiftedBinaryOp), FcmpE(LiftedBinaryOp), FcmpNe(LiftedBinaryOp), FcmpLt(LiftedBinaryOp), FcmpLe(LiftedBinaryOp), FcmpGe(LiftedBinaryOp), FcmpGt(LiftedBinaryOp), FcmpO(LiftedBinaryOp), FcmpUo(LiftedBinaryOp), Fadd(LiftedBinaryOp), Fsub(LiftedBinaryOp), Fmul(LiftedBinaryOp), Fdiv(LiftedBinaryOp), Adc(LiftedBinaryOpCarry), Sbb(LiftedBinaryOpCarry), Rlc(LiftedBinaryOpCarry), Rrc(LiftedBinaryOpCarry), Call(LiftedCall), Tailcall(LiftedCall), Intrinsic(LiftedIntrinsic), Syscall(LiftedSyscallCall), IntrinsicSsa(LiftedIntrinsicSsa), CallSsa(LiftedCallSsa), TailcallSsa(LiftedCallSsa), CallUntypedSsa(LiftedCallUntypedSsa), TailcallUntypedSsa(LiftedCallUntypedSsa), SyscallSsa(LiftedSyscallSsa), SyscallUntypedSsa(LiftedSyscallUntypedSsa), CallUntyped(LiftedCallUntyped), TailcallUntyped(LiftedCallUntyped), SyscallUntyped(LiftedSyscallUntyped), SeparateParamList(LiftedSeparateParamList), SharedParamSlot(LiftedSharedParamSlot), Neg(LiftedUnaryOp), Not(LiftedUnaryOp), Sx(LiftedUnaryOp), Zx(LiftedUnaryOp), LowPart(LiftedUnaryOp), BoolToInt(LiftedUnaryOp), UnimplMem(LiftedUnaryOp), Fsqrt(LiftedUnaryOp), Fneg(LiftedUnaryOp), Fabs(LiftedUnaryOp), FloatToInt(LiftedUnaryOp), IntToFloat(LiftedUnaryOp), FloatConv(LiftedUnaryOp), RoundToInt(LiftedUnaryOp), Floor(LiftedUnaryOp), Ceil(LiftedUnaryOp), Ftrunc(LiftedUnaryOp), Load(LiftedUnaryOp), LoadStruct(LiftedLoadStruct), LoadStructSsa(LiftedLoadStructSsa), LoadSsa(LiftedLoadSsa), Ret(LiftedRet), Var(Var), AddressOf(Var), VarField(Field), AddressOfField(Field), VarSsa(VarSsa), VarAliased(VarSsa), VarSsaField(VarSsaField), VarAliasedField(VarSsaField), Trap(Trap), }