@@ -301,14 +301,14 @@ where
301301 Divu ( Operation < ' func , M , F , operation:: BinaryOp > ) ,
302302 Divs ( Operation < ' func , M , F , operation:: BinaryOp > ) ,
303303
304- DivuDp ( Operation < ' func , M , F , operation:: DoublePrecDivOp > ) ,
305- DivsDp ( Operation < ' func , M , F , operation:: DoublePrecDivOp > ) ,
304+ DivuDp ( Operation < ' func , M , F , operation:: BinaryOp > ) ,
305+ DivsDp ( Operation < ' func , M , F , operation:: BinaryOp > ) ,
306306
307307 Modu ( Operation < ' func , M , F , operation:: BinaryOp > ) ,
308308 Mods ( Operation < ' func , M , F , operation:: BinaryOp > ) ,
309309
310- ModuDp ( Operation < ' func , M , F , operation:: DoublePrecDivOp > ) ,
311- ModsDp ( Operation < ' func , M , F , operation:: DoublePrecDivOp > ) ,
310+ ModuDp ( Operation < ' func , M , F , operation:: BinaryOp > ) ,
311+ ModsDp ( Operation < ' func , M , F , operation:: BinaryOp > ) ,
312312
313313 Neg ( Operation < ' func , M , F , operation:: UnaryOp > ) ,
314314 Not ( Operation < ' func , M , F , operation:: UnaryOp > ) ,
@@ -538,7 +538,6 @@ where
538538 LowLevelILExpressionKind :: UnimplMem ( Operation :: new ( function, op, index) )
539539 }
540540
541- // TODO: LLIL_REG_STACK_PUSH
542541 _ => {
543542 // #[cfg(debug_assertions)]
544543 log:: error!(
@@ -568,7 +567,6 @@ where
568567 }
569568
570569 _ => Some ( self . raw_struct ( ) . size ) ,
571- //TestBit(Operation<'func, M, F, operation::TestBit>), // TODO
572570 }
573571 }
574572
@@ -607,7 +605,8 @@ where
607605 Add ( ref op) | Sub ( ref op) | And ( ref op) | Or ( ref op) | Xor ( ref op) | Lsl ( ref op)
608606 | Lsr ( ref op) | Asr ( ref op) | Rol ( ref op) | Ror ( ref op) | Mul ( ref op)
609607 | MulsDp ( ref op) | MuluDp ( ref op) | Divu ( ref op) | Divs ( ref op) | Modu ( ref op)
610- | Mods ( ref op) | Fadd ( ref op) | Fsub ( ref op) | Fmul ( ref op) | Fdiv ( ref op) => Some ( op) ,
608+ | Mods ( ref op) | Fadd ( ref op) | Fsub ( ref op) | Fmul ( ref op) | Fdiv ( ref op)
609+ | DivuDp ( ref op) | DivsDp ( ref op) | ModuDp ( ref op) | ModsDp ( ref op) => Some ( op) ,
611610 _ => None ,
612611 }
613612 }
@@ -621,17 +620,6 @@ where
621620 }
622621 }
623622
624- pub fn as_double_prec_div_op (
625- & self ,
626- ) -> Option < & Operation < ' func , M , F , operation:: DoublePrecDivOp > > {
627- use self :: LowLevelILExpressionKind :: * ;
628-
629- match * self {
630- DivuDp ( ref op) | DivsDp ( ref op) | ModuDp ( ref op) | ModsDp ( ref op) => Some ( op) ,
631- _ => None ,
632- }
633- }
634-
635623 pub fn as_unary_op ( & self ) -> Option < & Operation < ' func , M , F , operation:: UnaryOp > > {
636624 use self :: LowLevelILExpressionKind :: * ;
637625
@@ -675,15 +663,11 @@ where
675663 | Xor ( ref op) | Lsl ( ref op) | Lsr ( ref op) | Asr ( ref op) | Rol ( ref op) | Ror ( ref op)
676664 | Mul ( ref op) | MulsDp ( ref op) | MuluDp ( ref op) | Divu ( ref op) | Divs ( ref op)
677665 | Modu ( ref op) | Mods ( ref op) | Fadd ( ref op) | Fsub ( ref op) | Fmul ( ref op)
678- | Fdiv ( ref op) | TestBit ( ref op) => {
666+ | DivuDp ( ref op) | DivsDp ( ref op) | ModuDp ( ref op) | ModsDp ( ref op) | Fdiv ( ref op)
667+ | TestBit ( ref op) => {
679668 visit ! ( op. left( ) ) ;
680669 visit ! ( op. right( ) ) ;
681670 }
682- DivuDp ( ref op) | DivsDp ( ref op) | ModuDp ( ref op) | ModsDp ( ref op) => {
683- visit ! ( op. high( ) ) ;
684- visit ! ( op. low( ) ) ;
685- visit ! ( op. right( ) ) ;
686- }
687671 Neg ( ref op) | Not ( ref op) | Sx ( ref op) | Zx ( ref op) | LowPart ( ref op)
688672 | BoolToInt ( ref op) | Fsqrt ( ref op) | Fneg ( ref op) | Fabs ( ref op)
689673 | FloatToInt ( ref op) | IntToFloat ( ref op) | FloatConv ( ref op) | RoundToInt ( ref op)
0 commit comments