summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lowlevelilinstruction.cpp2
-rw-r--r--python/lowlevelil.py14
2 files changed, 16 insertions, 0 deletions
diff --git a/lowlevelilinstruction.cpp b/lowlevelilinstruction.cpp
index 59a3ad55..fe386e8d 100644
--- a/lowlevelilinstruction.cpp
+++ b/lowlevelilinstruction.cpp
@@ -216,6 +216,7 @@ unordered_map<BNLowLevelILOperation, vector<LowLevelILOperandUsage>> LowLevelILI
{LLIL_FCMP_LE, {LeftExprLowLevelOperandUsage, RightExprLowLevelOperandUsage}},
{LLIL_FCMP_GE, {LeftExprLowLevelOperandUsage, RightExprLowLevelOperandUsage}},
{LLIL_FCMP_GT, {LeftExprLowLevelOperandUsage, RightExprLowLevelOperandUsage}},
+ {LLIL_FCMP_O, {LeftExprLowLevelOperandUsage, RightExprLowLevelOperandUsage}},
{LLIL_FCMP_UO, {LeftExprLowLevelOperandUsage, RightExprLowLevelOperandUsage}}};
@@ -1914,6 +1915,7 @@ void LowLevelILInstruction::VisitExprs(const std::function<bool(const LowLevelIL
case LLIL_FCMP_LE:
case LLIL_FCMP_GE:
case LLIL_FCMP_GT:
+ case LLIL_FCMP_O:
case LLIL_FCMP_UO:
AsTwoOperand().GetLeftExpr().VisitExprs(func);
AsTwoOperand().GetRightExpr().VisitExprs(func);
diff --git a/python/lowlevelil.py b/python/lowlevelil.py
index faba03fe..bf984b2d 100644
--- a/python/lowlevelil.py
+++ b/python/lowlevelil.py
@@ -4418,6 +4418,20 @@ class LowLevelILFunction:
"""
return self.expr(LowLevelILOperation.LLIL_FCMP_GT, a, b)
+ def float_compare_ordered(self, size: int, a: ExpressionIndex, b: ExpressionIndex) -> ExpressionIndex:
+ """
+ ``float_compare_ordered`` returns floating point comparison expression of size ``size`` checking if
+ expression ``a`` is ordered relative to expression ``b``
+
+ :param int size: the size of the operands in bytes
+ :param ExpressionIndex a: LHS expression
+ :param ExpressionIndex b: RHS expression
+ :param str flags: flags to set
+ :return: The expression ``is_ordered(a, b)``
+ :rtype: ExpressionIndex
+ """
+ return self.expr(LowLevelILOperation.LLIL_FCMP_O, a, b)
+
def float_compare_unordered(self, size: int, a: ExpressionIndex, b: ExpressionIndex) -> ExpressionIndex:
"""
``float_compare_unordered`` returns floating point comparison expression of size ``size`` checking if