#[repr(u8)]pub enum BNHighLevelILOperation {
Show 142 variants
HLIL_NOP = 0,
HLIL_BLOCK = 1,
HLIL_IF = 2,
HLIL_WHILE = 3,
HLIL_DO_WHILE = 4,
HLIL_FOR = 5,
HLIL_SWITCH = 6,
HLIL_CASE = 7,
HLIL_BREAK = 8,
HLIL_CONTINUE = 9,
HLIL_JUMP = 10,
HLIL_RET = 11,
HLIL_NORET = 12,
HLIL_GOTO = 13,
HLIL_LABEL = 14,
HLIL_VAR_DECLARE = 15,
HLIL_VAR_INIT = 16,
HLIL_ASSIGN = 17,
HLIL_ASSIGN_UNPACK = 18,
HLIL_FORCE_VER = 19,
HLIL_ASSERT = 20,
HLIL_VAR = 21,
HLIL_STRUCT_FIELD = 22,
HLIL_ARRAY_INDEX = 23,
HLIL_SPLIT = 24,
HLIL_DEREF = 25,
HLIL_DEREF_FIELD = 26,
HLIL_ADDRESS_OF = 27,
HLIL_PASS_BY_REF = 28,
HLIL_RETURN_BY_REF = 29,
HLIL_CONST = 30,
HLIL_CONST_DATA = 31,
HLIL_CONST_PTR = 32,
HLIL_EXTERN_PTR = 33,
HLIL_FLOAT_CONST = 34,
HLIL_IMPORT = 35,
HLIL_ADD = 36,
HLIL_ADC = 37,
HLIL_SUB = 38,
HLIL_SBB = 39,
HLIL_AND = 40,
HLIL_OR = 41,
HLIL_XOR = 42,
HLIL_LSL = 43,
HLIL_LSR = 44,
HLIL_ASR = 45,
HLIL_ROL = 46,
HLIL_RLC = 47,
HLIL_ROR = 48,
HLIL_RRC = 49,
HLIL_MUL = 50,
HLIL_MULU_DP = 51,
HLIL_MULS_DP = 52,
HLIL_DIVU = 53,
HLIL_DIVU_DP = 54,
HLIL_DIVS = 55,
HLIL_DIVS_DP = 56,
HLIL_MODU = 57,
HLIL_MODU_DP = 58,
HLIL_MODS = 59,
HLIL_MODS_DP = 60,
HLIL_NEG = 61,
HLIL_NOT = 62,
HLIL_SX = 63,
HLIL_ZX = 64,
HLIL_LOW_PART = 65,
HLIL_CALL = 66,
HLIL_CMP_E = 67,
HLIL_CMP_NE = 68,
HLIL_CMP_SLT = 69,
HLIL_CMP_ULT = 70,
HLIL_CMP_SLE = 71,
HLIL_CMP_ULE = 72,
HLIL_CMP_SGE = 73,
HLIL_CMP_UGE = 74,
HLIL_CMP_SGT = 75,
HLIL_CMP_UGT = 76,
HLIL_TEST_BIT = 77,
HLIL_BOOL_TO_INT = 78,
HLIL_ADD_OVERFLOW = 79,
HLIL_SYSCALL = 80,
HLIL_TAILCALL = 81,
HLIL_INTRINSIC = 82,
HLIL_BP = 83,
HLIL_TRAP = 84,
HLIL_UNDEF = 85,
HLIL_UNIMPL = 86,
HLIL_UNIMPL_MEM = 87,
HLIL_STRUCT_INIT = 88,
HLIL_STRUCT_INIT_FIELD = 89,
HLIL_FADD = 90,
HLIL_FSUB = 91,
HLIL_FMUL = 92,
HLIL_FDIV = 93,
HLIL_FSQRT = 94,
HLIL_FNEG = 95,
HLIL_FABS = 96,
HLIL_FLOAT_TO_INT = 97,
HLIL_INT_TO_FLOAT = 98,
HLIL_FLOAT_CONV = 99,
HLIL_ROUND_TO_INT = 100,
HLIL_FLOOR = 101,
HLIL_CEIL = 102,
HLIL_FTRUNC = 103,
HLIL_FCMP_E = 104,
HLIL_FCMP_NE = 105,
HLIL_FCMP_LT = 106,
HLIL_FCMP_LE = 107,
HLIL_FCMP_GE = 108,
HLIL_FCMP_GT = 109,
HLIL_FCMP_O = 110,
HLIL_FCMP_UO = 111,
HLIL_UNREACHABLE = 112,
HLIL_WHILE_SSA = 113,
HLIL_DO_WHILE_SSA = 114,
HLIL_FOR_SSA = 115,
HLIL_VAR_INIT_SSA = 116,
HLIL_ASSIGN_MEM_SSA = 117,
HLIL_ASSIGN_UNPACK_MEM_SSA = 118,
HLIL_FORCE_VER_SSA = 119,
HLIL_ASSERT_SSA = 120,
HLIL_VAR_SSA = 121,
HLIL_VAR_SSA_PARTIAL = 122,
HLIL_ARRAY_INDEX_SSA = 123,
HLIL_DEREF_SSA = 124,
HLIL_DEREF_FIELD_SSA = 125,
HLIL_CALL_SSA = 126,
HLIL_SYSCALL_SSA = 127,
HLIL_INTRINSIC_SSA = 128,
HLIL_VAR_PHI = 129,
HLIL_MEM_PHI = 130,
HLIL_BSWAP = 131,
HLIL_POPCNT = 132,
HLIL_CLZ = 133,
HLIL_CTZ = 134,
HLIL_RBIT = 135,
HLIL_CLS = 136,
HLIL_MINS = 137,
HLIL_MAXS = 138,
HLIL_MINU = 139,
HLIL_MAXU = 140,
HLIL_ABS = 141,
}Variants§
HLIL_NOP = 0
HLIL_BLOCK = 1
HLIL_IF = 2
HLIL_WHILE = 3
HLIL_DO_WHILE = 4
HLIL_FOR = 5
HLIL_SWITCH = 6
HLIL_CASE = 7
HLIL_BREAK = 8
HLIL_CONTINUE = 9
HLIL_JUMP = 10
HLIL_RET = 11
HLIL_NORET = 12
HLIL_GOTO = 13
HLIL_LABEL = 14
HLIL_VAR_DECLARE = 15
HLIL_VAR_INIT = 16
HLIL_ASSIGN = 17
HLIL_ASSIGN_UNPACK = 18
HLIL_FORCE_VER = 19
HLIL_ASSERT = 20
HLIL_VAR = 21
HLIL_STRUCT_FIELD = 22
HLIL_ARRAY_INDEX = 23
HLIL_SPLIT = 24
HLIL_DEREF = 25
HLIL_DEREF_FIELD = 26
HLIL_ADDRESS_OF = 27
HLIL_PASS_BY_REF = 28
HLIL_RETURN_BY_REF = 29
HLIL_CONST = 30
HLIL_CONST_DATA = 31
HLIL_CONST_PTR = 32
HLIL_EXTERN_PTR = 33
HLIL_FLOAT_CONST = 34
HLIL_IMPORT = 35
HLIL_ADD = 36
HLIL_ADC = 37
HLIL_SUB = 38
HLIL_SBB = 39
HLIL_AND = 40
HLIL_OR = 41
HLIL_XOR = 42
HLIL_LSL = 43
HLIL_LSR = 44
HLIL_ASR = 45
HLIL_ROL = 46
HLIL_RLC = 47
HLIL_ROR = 48
HLIL_RRC = 49
HLIL_MUL = 50
HLIL_MULU_DP = 51
HLIL_MULS_DP = 52
HLIL_DIVU = 53
HLIL_DIVU_DP = 54
HLIL_DIVS = 55
HLIL_DIVS_DP = 56
HLIL_MODU = 57
HLIL_MODU_DP = 58
HLIL_MODS = 59
HLIL_MODS_DP = 60
HLIL_NEG = 61
HLIL_NOT = 62
HLIL_SX = 63
HLIL_ZX = 64
HLIL_LOW_PART = 65
HLIL_CALL = 66
HLIL_CMP_E = 67
HLIL_CMP_NE = 68
HLIL_CMP_SLT = 69
HLIL_CMP_ULT = 70
HLIL_CMP_SLE = 71
HLIL_CMP_ULE = 72
HLIL_CMP_SGE = 73
HLIL_CMP_UGE = 74
HLIL_CMP_SGT = 75
HLIL_CMP_UGT = 76
HLIL_TEST_BIT = 77
HLIL_BOOL_TO_INT = 78
HLIL_ADD_OVERFLOW = 79
HLIL_SYSCALL = 80
HLIL_TAILCALL = 81
HLIL_INTRINSIC = 82
HLIL_BP = 83
HLIL_TRAP = 84
HLIL_UNDEF = 85
HLIL_UNIMPL = 86
HLIL_UNIMPL_MEM = 87
HLIL_STRUCT_INIT = 88
HLIL_STRUCT_INIT_FIELD = 89
Only valid in HLIL_STRUCT_INIT
HLIL_FADD = 90
Floating point
HLIL_FSUB = 91
Floating point
HLIL_FMUL = 92
Floating point
HLIL_FDIV = 93
Floating point
HLIL_FSQRT = 94
Floating point
HLIL_FNEG = 95
Floating point
HLIL_FABS = 96
Floating point
HLIL_FLOAT_TO_INT = 97
Floating point
HLIL_INT_TO_FLOAT = 98
Floating point
HLIL_FLOAT_CONV = 99
Floating point
HLIL_ROUND_TO_INT = 100
Floating point
HLIL_FLOOR = 101
Floating point
HLIL_CEIL = 102
Floating point
HLIL_FTRUNC = 103
Floating point
HLIL_FCMP_E = 104
Floating point
HLIL_FCMP_NE = 105
Floating point
HLIL_FCMP_LT = 106
Floating point
HLIL_FCMP_LE = 107
Floating point
HLIL_FCMP_GE = 108
Floating point
HLIL_FCMP_GT = 109
Floating point
HLIL_FCMP_O = 110
Floating point
HLIL_FCMP_UO = 111
Floating point
HLIL_UNREACHABLE = 112
Unreachable hint, typically used in switch statements that analysis knows has an unreachable default.
HLIL_WHILE_SSA = 113
The following instructions are only used in SSA form
HLIL_DO_WHILE_SSA = 114
The following instructions are only used in SSA form
HLIL_FOR_SSA = 115
The following instructions are only used in SSA form
HLIL_VAR_INIT_SSA = 116
The following instructions are only used in SSA form
HLIL_ASSIGN_MEM_SSA = 117
The following instructions are only used in SSA form
HLIL_ASSIGN_UNPACK_MEM_SSA = 118
The following instructions are only used in SSA form
HLIL_FORCE_VER_SSA = 119
The following instructions are only used in SSA form
HLIL_ASSERT_SSA = 120
The following instructions are only used in SSA form
HLIL_VAR_SSA = 121
The following instructions are only used in SSA form
HLIL_VAR_SSA_PARTIAL = 122
The following instructions are only used in SSA form
HLIL_ARRAY_INDEX_SSA = 123
The following instructions are only used in SSA form
HLIL_DEREF_SSA = 124
The following instructions are only used in SSA form
HLIL_DEREF_FIELD_SSA = 125
The following instructions are only used in SSA form
HLIL_CALL_SSA = 126
The following instructions are only used in SSA form
HLIL_SYSCALL_SSA = 127
The following instructions are only used in SSA form
HLIL_INTRINSIC_SSA = 128
The following instructions are only used in SSA form
HLIL_VAR_PHI = 129
The following instructions are only used in SSA form
HLIL_MEM_PHI = 130
The following instructions are only used in SSA form
HLIL_BSWAP = 131
Reverse byte order of the whole value
HLIL_POPCNT = 132
Population count (number of set bits)
HLIL_CLZ = 133
Count leading zero bits; clz(0) == 8 * size
HLIL_CTZ = 134
Count trailing zero bits; ctz(0) == 8 * size
HLIL_RBIT = 135
Reverse bit order of the whole value
HLIL_CLS = 136
Count leading sign bits; number of bits below the sign bit that match it
HLIL_MINS = 137
Signed minimum of left and right
HLIL_MAXS = 138
Signed maximum of left and right
HLIL_MINU = 139
Unsigned minimum of left and right
HLIL_MAXU = 140
Unsigned maximum of left and right
HLIL_ABS = 141
Signed absolute value of src; abs(INT_MIN) == INT_MIN
Trait Implementations§
Source§impl Clone for BNHighLevelILOperation
impl Clone for BNHighLevelILOperation
Source§fn clone(&self) -> BNHighLevelILOperation
fn clone(&self) -> BNHighLevelILOperation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for BNHighLevelILOperation
Source§impl Debug for BNHighLevelILOperation
impl Debug for BNHighLevelILOperation
impl Eq for BNHighLevelILOperation
Source§impl Hash for BNHighLevelILOperation
impl Hash for BNHighLevelILOperation
Source§impl PartialEq for BNHighLevelILOperation
impl PartialEq for BNHighLevelILOperation
Source§fn eq(&self, other: &BNHighLevelILOperation) -> bool
fn eq(&self, other: &BNHighLevelILOperation) -> bool
self and other values to be equal, and is used by ==.