diff options
Diffstat (limited to 'opcodes/aarch64-opc.h')
-rw-r--r-- | opcodes/aarch64-opc.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/opcodes/aarch64-opc.h b/opcodes/aarch64-opc.h index 7922788..3d1765b 100644 --- a/opcodes/aarch64-opc.h +++ b/opcodes/aarch64-opc.h @@ -70,6 +70,7 @@ enum aarch64_field_kind FLD_imm6_2, FLD_imm4, FLD_imm4_2, + FLD_imm4_3, FLD_imm5, FLD_imm7, FLD_imm8, @@ -199,6 +200,10 @@ verify_constraints (const struct aarch64_inst *, const aarch64_insn, bfd_vma, #define OPD_F_OD_MASK 0x000000e0 /* Operand-dependent data. */ #define OPD_F_OD_LSB 5 #define OPD_F_NO_ZR 0x00000100 /* ZR index not allowed. */ +#define OPD_F_SHIFT_BY_4 0x00000200 /* Need to left shift the field + value by 4 to get the value + of an immediate operand. */ + /* Register flags. */ @@ -253,6 +258,12 @@ operand_need_shift_by_two (const aarch64_operand *operand) } static inline bfd_boolean +operand_need_shift_by_four (const aarch64_operand *operand) +{ + return (operand->flags & OPD_F_SHIFT_BY_4) ? TRUE : FALSE; +} + +static inline bfd_boolean operand_maybe_stack_pointer (const aarch64_operand *operand) { return (operand->flags & OPD_F_MAYBE_SP) ? TRUE : FALSE; |