diff options
Diffstat (limited to 'rust/src/medium_level_il/lift.rs')
| -rw-r--r-- | rust/src/medium_level_il/lift.rs | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/rust/src/medium_level_il/lift.rs b/rust/src/medium_level_il/lift.rs index 2f0d6653..f886d93a 100644 --- a/rust/src/medium_level_il/lift.rs +++ b/rust/src/medium_level_il/lift.rs @@ -102,6 +102,10 @@ pub enum MediumLevelILLiftedInstructionKind { ModuDp(LiftedBinaryOp), Mods(LiftedBinaryOp), ModsDp(LiftedBinaryOp), + MinSigned(LiftedBinaryOp), + MaxSigned(LiftedBinaryOp), + MinUnsigned(LiftedBinaryOp), + MaxUnsigned(LiftedBinaryOp), CmpE(LiftedBinaryOp), CmpNe(LiftedBinaryOp), CmpSlt(LiftedBinaryOp), @@ -160,6 +164,7 @@ pub enum MediumLevelILLiftedInstructionKind { Ctz(LiftedUnaryOp), Rbit(LiftedUnaryOp), Cls(LiftedUnaryOp), + Abs(LiftedUnaryOp), Sx(LiftedUnaryOp), Zx(LiftedUnaryOp), LowPart(LiftedUnaryOp), @@ -264,6 +269,10 @@ impl MediumLevelILLiftedInstruction { ModuDp(_) => "ModuDp", Mods(_) => "Mods", ModsDp(_) => "ModsDp", + MinSigned(_) => "MinSigned", + MaxSigned(_) => "MaxSigned", + MinUnsigned(_) => "MinUnsigned", + MaxUnsigned(_) => "MaxUnsigned", CmpE(_) => "CmpE", CmpNe(_) => "CmpNe", CmpSlt(_) => "CmpSlt", @@ -325,6 +334,7 @@ impl MediumLevelILLiftedInstruction { Ctz(_) => "Ctz", Rbit(_) => "Rbit", Cls(_) => "Cls", + Abs(_) => "Abs", Sx(_) => "Sx", Zx(_) => "Zx", LowPart(_) => "LowPart", @@ -469,7 +479,8 @@ impl MediumLevelILLiftedInstruction { ], Add(op) | Sub(op) | And(op) | Or(op) | Xor(op) | Lsl(op) | Lsr(op) | Asr(op) | Rol(op) | Ror(op) | Mul(op) | MuluDp(op) | MulsDp(op) | Divu(op) | DivuDp(op) - | Divs(op) | DivsDp(op) | Modu(op) | ModuDp(op) | Mods(op) | ModsDp(op) | CmpE(op) + | Divs(op) | DivsDp(op) | Modu(op) | ModuDp(op) | Mods(op) | ModsDp(op) + | MinSigned(op) | MaxSigned(op) | MinUnsigned(op) | MaxUnsigned(op) | CmpE(op) | CmpNe(op) | CmpSlt(op) | CmpUlt(op) | CmpSle(op) | CmpUle(op) | CmpSge(op) | CmpUge(op) | CmpSgt(op) | CmpUgt(op) | TestBit(op) | AddOverflow(op) | FcmpE(op) | FcmpNe(op) | FcmpLt(op) | FcmpLe(op) | FcmpGe(op) | FcmpGt(op) | FcmpO(op) @@ -555,7 +566,7 @@ impl MediumLevelILLiftedInstruction { ("stack", Operand::Expr(*op.stack.clone())), ], Neg(op) | Not(op) | Bswap(op) | Popcnt(op) | Clz(op) | Ctz(op) | Rbit(op) | Cls(op) - | Sx(op) | Zx(op) | LowPart(op) | BoolToInt(op) | UnimplMem(op) + | Abs(op) | Sx(op) | Zx(op) | LowPart(op) | BoolToInt(op) | UnimplMem(op) | Fsqrt(op) | Fneg(op) | Fabs(op) | FloatToInt(op) | IntToFloat(op) | FloatConv(op) | RoundToInt(op) | Floor(op) | Ceil(op) | Ftrunc(op) | Load(op) => { vec![("src", Operand::Expr(*op.src.clone()))] |
