aboutsummaryrefslogtreecommitdiff
path: root/include/opcode/aarch64.h
diff options
context:
space:
mode:
authorYufeng Zhang <yufeng.zhang@arm.com>2013-11-05 20:54:22 +0000
committerYufeng Zhang <yufeng.zhang@arm.com>2013-11-05 20:54:22 +0000
commit49eec19300ff80969c1e9a19e971b48ffa59ef16 (patch)
tree74bfa52d6d6fd41bac6df92700f9b519b27a4d3a /include/opcode/aarch64.h
parent68a642838267d9971f77f9eb487d32044a499c82 (diff)
downloadfsf-binutils-gdb-49eec19300ff80969c1e9a19e971b48ffa59ef16.zip
fsf-binutils-gdb-49eec19300ff80969c1e9a19e971b48ffa59ef16.tar.gz
fsf-binutils-gdb-49eec19300ff80969c1e9a19e971b48ffa59ef16.tar.bz2
gas/
* config/tc-aarch64.c (parse_sys_reg): Update to use aarch64_sys_reg; call aarch64_sys_reg_deprecated_p and warn about the deprecated system registers. gas/testsuite/ * gas/aarch64/deprecated.d: New file. * gas/aarch64/deprecated.l: New file. * gas/aarch64/deprecated.s: New file. * gas/aarch64/sysreg-1.s: Add tests. * gas/aarch64/sysreg-1.d: Add tests. include/opcode/ * aarch64.h (aarch64_sys_reg): New typedef. (aarch64_sys_regs): Change to define with the new type. (aarch64_sys_reg_deprecated_p): Declare. opcodes/ * aarch64-opc.c (F_DEPRECATED): New macro. (aarch64_sys_regs): Update; flag "spsr_svc" and "spsr_hyp" with F_DEPRECATED. (aarch64_print_operand): Call aarch64_sys_reg_deprecated_p on AARCH64_OPND_SYSREG.
Diffstat (limited to 'include/opcode/aarch64.h')
-rw-r--r--include/opcode/aarch64.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index b45f8c0..4a3a312 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -611,13 +611,22 @@ struct aarch64_name_value_pair
};
extern const struct aarch64_name_value_pair aarch64_operand_modifiers [];
-extern const struct aarch64_name_value_pair aarch64_sys_regs [];
extern const struct aarch64_name_value_pair aarch64_pstatefields [];
extern const struct aarch64_name_value_pair aarch64_barrier_options [16];
extern const struct aarch64_name_value_pair aarch64_prfops [32];
typedef struct
{
+ const char * name;
+ aarch64_insn value;
+ uint32_t flags;
+} aarch64_sys_reg;
+
+extern const aarch64_sys_reg aarch64_sys_regs [];
+extern bfd_boolean aarch64_sys_reg_deprecated_p (const aarch64_sys_reg *);
+
+typedef struct
+{
const char *template;
uint32_t value;
int has_xt;