summaryrefslogtreecommitdiff
path: root/plugins/arm/v7/helpers.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-05-29 09:01:07 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-05-29 09:01:07 (GMT)
commit35dcb69e6325d597f0b6cf30b72c729e584f3fda (patch)
treecde8201278555e844627ea6dd74f1ab206e529a8 /plugins/arm/v7/helpers.h
parent5fcd066f1e23041207f78e10c87c9c8560a815f7 (diff)
Added support for the last remaining ARMv7 basic instructions.
Diffstat (limited to 'plugins/arm/v7/helpers.h')
-rw-r--r--plugins/arm/v7/helpers.h19
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; \