@@ -15069,6 +15069,60 @@ namespace BinaryNinja {
1506915069 */
1507015070 ExprId CountLeadingSigns(size_t size, ExprId a, uint32_t flags = 0, const ILSourceLocation& loc = ILSourceLocation());
1507115071
15072+ /*! Signed minimum of expressions \c left and \c right of size \c size potentially setting flags
15073+
15074+ \param size The size of the result in bytes
15075+ \param left The left expression
15076+ \param right The right expression
15077+ \param flags Flags to set
15078+ \param loc Optional IL Location this expression was added from.
15079+ \return The expression <tt>mins.<size>{<flags>}(left, right)</tt>
15080+ */
15081+ ExprId MinSigned(size_t size, ExprId left, ExprId right, uint32_t flags = 0, const ILSourceLocation& loc = ILSourceLocation());
15082+
15083+ /*! Signed maximum of expressions \c left and \c right of size \c size potentially setting flags
15084+
15085+ \param size The size of the result in bytes
15086+ \param left The left expression
15087+ \param right The right expression
15088+ \param flags Flags to set
15089+ \param loc Optional IL Location this expression was added from.
15090+ \return The expression <tt>maxs.<size>{<flags>}(left, right)</tt>
15091+ */
15092+ ExprId MaxSigned(size_t size, ExprId left, ExprId right, uint32_t flags = 0, const ILSourceLocation& loc = ILSourceLocation());
15093+
15094+ /*! Unsigned minimum of expressions \c left and \c right of size \c size potentially setting flags
15095+
15096+ \param size The size of the result in bytes
15097+ \param left The left expression
15098+ \param right The right expression
15099+ \param flags Flags to set
15100+ \param loc Optional IL Location this expression was added from.
15101+ \return The expression <tt>minu.<size>{<flags>}(left, right)</tt>
15102+ */
15103+ ExprId MinUnsigned(size_t size, ExprId left, ExprId right, uint32_t flags = 0, const ILSourceLocation& loc = ILSourceLocation());
15104+
15105+ /*! Unsigned maximum of expressions \c left and \c right of size \c size potentially setting flags
15106+
15107+ \param size The size of the result in bytes
15108+ \param left The left expression
15109+ \param right The right expression
15110+ \param flags Flags to set
15111+ \param loc Optional IL Location this expression was added from.
15112+ \return The expression <tt>maxu.<size>{<flags>}(left, right)</tt>
15113+ */
15114+ ExprId MaxUnsigned(size_t size, ExprId left, ExprId right, uint32_t flags = 0, const ILSourceLocation& loc = ILSourceLocation());
15115+
15116+ /*! Signed absolute value of expression \c value of size \c size potentially setting flags
15117+
15118+ \param size The size of the result in bytes
15119+ \param a The expression to take the absolute value of
15120+ \param flags Flags to set
15121+ \param loc Optional IL Location this expression was added from.
15122+ \return The expression <tt>abs.<size>{<flags>}(value)</tt>
15123+ */
15124+ ExprId AbsoluteValue(size_t size, ExprId a, uint32_t flags = 0, const ILSourceLocation& loc = ILSourceLocation());
15125+
1507215126 /*! Two's complement sign-extends the expression in \c value to \c size bytes
1507315127
1507415128 \param size The size of the result in bytes
@@ -15955,6 +16009,11 @@ namespace BinaryNinja {
1595516009 ExprId CountTrailingZeros(size_t size, ExprId src, const ILSourceLocation& loc = ILSourceLocation());
1595616010 ExprId ReverseBits(size_t size, ExprId src, const ILSourceLocation& loc = ILSourceLocation());
1595716011 ExprId CountLeadingSigns(size_t size, ExprId src, const ILSourceLocation& loc = ILSourceLocation());
16012+ ExprId MinSigned(size_t size, ExprId left, ExprId right, const ILSourceLocation& loc = ILSourceLocation());
16013+ ExprId MaxSigned(size_t size, ExprId left, ExprId right, const ILSourceLocation& loc = ILSourceLocation());
16014+ ExprId MinUnsigned(size_t size, ExprId left, ExprId right, const ILSourceLocation& loc = ILSourceLocation());
16015+ ExprId MaxUnsigned(size_t size, ExprId left, ExprId right, const ILSourceLocation& loc = ILSourceLocation());
16016+ ExprId AbsoluteValue(size_t size, ExprId src, const ILSourceLocation& loc = ILSourceLocation());
1595816017 ExprId SignExtend(size_t size, ExprId src, const ILSourceLocation& loc = ILSourceLocation());
1595916018 ExprId ZeroExtend(size_t size, ExprId src, const ILSourceLocation& loc = ILSourceLocation());
1596016019 ExprId LowPart(size_t size, ExprId src, const ILSourceLocation& loc = ILSourceLocation());
@@ -16362,6 +16421,11 @@ namespace BinaryNinja {
1636216421 ExprId CountTrailingZeros(size_t size, ExprId src, const ILSourceLocation& loc = ILSourceLocation());
1636316422 ExprId ReverseBits(size_t size, ExprId src, const ILSourceLocation& loc = ILSourceLocation());
1636416423 ExprId CountLeadingSigns(size_t size, ExprId src, const ILSourceLocation& loc = ILSourceLocation());
16424+ ExprId MinSigned(size_t size, ExprId left, ExprId right, const ILSourceLocation& loc = ILSourceLocation());
16425+ ExprId MaxSigned(size_t size, ExprId left, ExprId right, const ILSourceLocation& loc = ILSourceLocation());
16426+ ExprId MinUnsigned(size_t size, ExprId left, ExprId right, const ILSourceLocation& loc = ILSourceLocation());
16427+ ExprId MaxUnsigned(size_t size, ExprId left, ExprId right, const ILSourceLocation& loc = ILSourceLocation());
16428+ ExprId AbsoluteValue(size_t size, ExprId src, const ILSourceLocation& loc = ILSourceLocation());
1636516429 ExprId SignExtend(size_t size, ExprId src, const ILSourceLocation& loc = ILSourceLocation());
1636616430 ExprId ZeroExtend(size_t size, ExprId src, const ILSourceLocation& loc = ILSourceLocation());
1636716431 ExprId LowPart(size_t size, ExprId src, const ILSourceLocation& loc = ILSourceLocation());
0 commit comments