diff options
author | Matthew Wahab <matthew.wahab@arm.com> | 2015-12-10 16:31:35 +0000 |
---|---|---|
committer | Matthew Wahab <matthew.wahab@arm.com> | 2015-12-10 16:40:44 +0000 |
commit | ea2deeec92695c33045d71ffa73add6305b17b9a (patch) | |
tree | 9b7409e50eb39a3fe3be00374cee8d36ac247b42 /include/opcode/aarch64.h | |
parent | 762f774785f4ef878ac4c831e1f4733dc957234d (diff) | |
download | fsf-binutils-gdb-ea2deeec92695c33045d71ffa73add6305b17b9a.zip fsf-binutils-gdb-ea2deeec92695c33045d71ffa73add6305b17b9a.tar.gz fsf-binutils-gdb-ea2deeec92695c33045d71ffa73add6305b17b9a.tar.bz2 |
[AArch64][PATCH 1/2] Add support for ARMv8.2 DC CVAP instruction.
ARMv8.2 adds the new system instruction DC CVAP. This patch series adds
support for this instruction to binutils, enabled when -march=armv8.2-a
is selected.
The AArch64 binutils record of some system registers uses a boolean
value to hold the single flag currently supported for them. To allow
these registers to be limited to specific architectures, the first patch
in this series replaces the boolean flag with a bitset and feature test.
include/opcode/
2015-12-10 Matthew Wahab <matthew.wahab@arm.com>
* aarch64.h (aarch64_sys_ins_reg): Replace has_xt with flags.
(aarch64_sys_ins_reg_has_xt): Declare.
opcodes/
2015-12-10 Matthew Wahab <matthew.wahab@arm.com>
* aarch64-dis.c (aarch64_ext_regrt_sysins): Replace use of has_xt
with aarch64_sys_ins_reg_has_xt.
(aarch64_ext_sysins_op): Likewise.
* aarch64-opc.c (operand_general_constraint_met_p): Likewise.
(F_HASXT): New.
(aarch64_sys_regs_ic): Update for changes to aarch64_sys_ins_reg.
(aarch64_sys_regs_dc): Likewise.
(aarch64_sys_regs_at): Likewise.
(aarch64_sys_regs_tlbi): Likewise.
(aarch64_sys_ins_reg_has_xt): New.
Change-Id: I363637a6c3f54d7ffff953b3a0734e8139cae819
Diffstat (limited to 'include/opcode/aarch64.h')
-rw-r--r-- | include/opcode/aarch64.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index 51e9faa..d0f6c3d 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -672,9 +672,11 @@ typedef struct { const char *name; uint32_t value; - int has_xt; + uint32_t flags ; } aarch64_sys_ins_reg; +extern bfd_boolean aarch64_sys_ins_reg_has_xt (const aarch64_sys_ins_reg *); + extern const aarch64_sys_ins_reg aarch64_sys_regs_ic []; extern const aarch64_sys_ins_reg aarch64_sys_regs_dc []; extern const aarch64_sys_ins_reg aarch64_sys_regs_at []; |