Ejemplo n.º 1
0
 def _op_fgeneric_Cmp(self, args): #pylint:disable=no-self-use
     a, b = args[0].raw_to_fp(), args[1].raw_to_fp()
     return claripy.ite_cases((
         (claripy.fpLT(a, b), claripy.BVV(0x01, 32)),
         (claripy.fpGT(a, b), claripy.BVV(0x00, 32)),
         (claripy.fpEQ(a, b), claripy.BVV(0x40, 32)),
         ), claripy.BVV(0x45, 32))
Ejemplo n.º 2
0
 def _op_fgeneric_Cmp(self, args):  #pylint:disable=no-self-use
     a, b = args[0].raw_to_fp(), args[1].raw_to_fp()
     return claripy.ite_cases((
         (claripy.fpLT(a, b), claripy.BVV(0x01, 32)),
         (claripy.fpGT(a, b), claripy.BVV(0x00, 32)),
         (claripy.fpEQ(a, b), claripy.BVV(0x40, 32)),
     ), claripy.BVV(0x45, 32))
Ejemplo n.º 3
0
    def _op_fgeneric_Cmp(self, args):  #pylint:disable=no-self-use

        # see https://github.com/angr/vex/blob/master/pub/libvex_ir.h#L580
        a, b = args[0].raw_to_fp(), args[1].raw_to_fp()
        return claripy.ite_cases((
            (claripy.fpLT(a, b), claripy.BVV(0x01, 32)),
            (claripy.fpGT(a, b), claripy.BVV(0x00, 32)),
            (claripy.fpEQ(a, b), claripy.BVV(0x40, 32)),
        ), claripy.BVV(0x45, 32))
Ejemplo n.º 4
0
 def _op_fgeneric_CmpEQ(self, a0, a1):  # pylint: disable=no-self-use
     # for cmpps_eq stuff, i.e. Iop_CmpEQ32Fx4
     return claripy.If(claripy.fpEQ(a0, a1), claripy.BVV(-1, len(a0)),
                       claripy.BVV(0, len(a0)))