diff options
| author | Mark Rowe <mark@vector35.com> | 2026-06-04 16:36:52 -0700 |
|---|---|---|
| committer | Mark Rowe <mark@vector35.com> | 2026-06-05 13:01:46 -0700 |
| commit | fde1241ce928d38c2031c827ae0ddee5c6f5af0f (patch) | |
| tree | 6711a47863332712eb5324e2c3ef1dffb843bb5d /binaryninjacore.h | |
| parent | fa09f36b5f47ed690dc029fe9f1ed9ad4ebce7c8 (diff) | |
Add abs, min, and max instructions
Diffstat (limited to 'binaryninjacore.h')
| -rw-r--r-- | binaryninjacore.h | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h index 55ef21a2..a37a260a 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -37,14 +37,14 @@ // Current ABI version for linking to the core. This is incremented any time // there are changes to the API that affect linking, including new functions, // new types, or modifications to existing functions or types. -#define BN_CURRENT_CORE_ABI_VERSION 173 +#define BN_CURRENT_CORE_ABI_VERSION 174 // Minimum ABI version that is supported for loading of plugins. Plugins that // are linked to an ABI version less than this will not be able to load and // will require rebuilding. The minimum version is increased when there are // incompatible changes that break binary compatibility, such as changes to // existing types or functions. -#define BN_MINIMUM_CORE_ABI_VERSION 173 +#define BN_MINIMUM_CORE_ABI_VERSION 174 #ifdef __GNUC__ #ifdef BINARYNINJACORE_LIBRARY @@ -770,7 +770,14 @@ extern "C" LLIL_CLZ, // Count leading zero bits; clz(0) == 8 * size LLIL_CTZ, // Count trailing zero bits; ctz(0) == 8 * size LLIL_RBIT, // Reverse bit order of the whole value - LLIL_CLS // Count leading sign bits; number of bits below the sign bit that match it + LLIL_CLS, // Count leading sign bits; number of bits below the sign bit that match it + + // Integer minimum, maximum and absolute value + LLIL_MINS, // Signed minimum of left and right + LLIL_MAXS, // Signed maximum of left and right + LLIL_MINU, // Unsigned minimum of left and right + LLIL_MAXU, // Unsigned maximum of left and right + LLIL_ABS // Signed absolute value of src; abs(INT_MIN) == INT_MIN }; BN_ENUM(uint8_t, BNLowLevelILFlagCondition) @@ -1556,7 +1563,14 @@ extern "C" MLIL_CLZ, // Count leading zero bits; clz(0) == 8 * size MLIL_CTZ, // Count trailing zero bits; ctz(0) == 8 * size MLIL_RBIT, // Reverse bit order of the whole value - MLIL_CLS // Count leading sign bits; number of bits below the sign bit that match it + MLIL_CLS, // Count leading sign bits; number of bits below the sign bit that match it + + // Integer minimum, maximum and absolute value + MLIL_MINS, // Signed minimum of left and right + MLIL_MAXS, // Signed maximum of left and right + MLIL_MINU, // Unsigned minimum of left and right + MLIL_MAXU, // Unsigned maximum of left and right + MLIL_ABS // Signed absolute value of src; abs(INT_MIN) == INT_MIN }; typedef struct BNMediumLevelILInstruction @@ -1738,7 +1752,14 @@ extern "C" HLIL_CLZ, // Count leading zero bits; clz(0) == 8 * size HLIL_CTZ, // Count trailing zero bits; ctz(0) == 8 * size HLIL_RBIT, // Reverse bit order of the whole value - HLIL_CLS // Count leading sign bits; number of bits below the sign bit that match it + HLIL_CLS, // Count leading sign bits; number of bits below the sign bit that match it + + // Integer minimum, maximum and absolute value + HLIL_MINS, // Signed minimum of left and right + HLIL_MAXS, // Signed maximum of left and right + HLIL_MINU, // Unsigned minimum of left and right + HLIL_MAXU, // Unsigned maximum of left and right + HLIL_ABS // Signed absolute value of src; abs(INT_MIN) == INT_MIN }; typedef struct BNHighLevelILInstruction |
