diff options
Diffstat (limited to 'plugins/arm/v7/helpers.h')
-rw-r--r-- | plugins/arm/v7/helpers.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/plugins/arm/v7/helpers.h b/plugins/arm/v7/helpers.h index 968dbf4..5d4db94 100644 --- a/plugins/arm/v7/helpers.h +++ b/plugins/arm/v7/helpers.h @@ -110,6 +110,25 @@ }) +#define BuildFixedShift(type, val) \ + ({ \ + GArchOperand *__result; \ + uint32_t __val; \ + GArchOperand *__shift_val; \ + __val = val; \ + __shift_val = g_imm_operand_new_from_value(MDS_32_BITS_UNSIGNED, __val); \ + if (__shift_val == NULL) \ + __result = NULL; \ + else \ + { \ + __result = g_armv7_shift_operand_new(type, __shift_val); \ + if (__result == NULL) \ + g_object_unref(G_OBJECT(__shift_val)); \ + } \ + __result; \ + }) + + #define BuildRegShift(type, reg) \ ({ \ GArchOperand *__result; \ |