From c2e5c986b3825c16a578e5bf84aa412eec276dc7 Mon Sep 17 00:00:00 2001 From: Sudakshina Das Date: Mon, 20 Apr 2020 10:58:16 +0100 Subject: [AArch64, Binutils] Add missing TSB instruction This patch implements the TSB instructions: https://developer.arm.com/docs/ddi0596/f/base-instructions-alphabetic-order/ tsb-csync-trace-synchronization-barrier Since TSB and PSB both use the same (and only) argument "CSYNC", this patch reuses it for TSB. However, the same argument would imply different value for CRm:Op2 which are anyway fixed values, so I have diverted the inserter/extracter function to dummy versions instead of the "hint" version. The operand checker part still uses the existing infratructure for AARCH64_OPND_BARRIER_PSB to make sure the operand is parsed correctly. gas/ChangeLog: 2020-04-20 Sudakshina Das * config/tc-aarch64.c (parse_barrier_psb): Update error messages to include TSB. * testsuite/gas/aarch64/system-2.d: Update -march and new tsb tests. * testsuite/gas/aarch64/system-2.s: Add new tsb tests. * testsuite/gas/aarch64/system.d: Update. opcodes/ChangeLog: 2020-04-20 Sudakshina Das * aarch64-asm.c (aarch64_ins_none): New. * aarch64-asm.h (ins_none): New declaration. * aarch64-dis.c (aarch64_ext_none): New. * aarch64-dis.h (ext_none): New declaration. * aarch64-opc.c (aarch64_print_operand): Update case for AARCH64_OPND_BARRIER_PSB. * aarch64-tbl.h (aarch64_opcode_table): Add tsb. (AARCH64_OPERANDS): Update inserter/extracter for AARCH64_OPND_BARRIER_PSB to use new dummy functions. * aarch64-asm-2.c: Regenerated. * aarch64-dis-2.c: Regenerated. * aarch64-opc-2.c: Regenerated. --- opcodes/aarch64-asm.h | 1 + 1 file changed, 1 insertion(+) (limited to 'opcodes/aarch64-asm.h') diff --git a/opcodes/aarch64-asm.h b/opcodes/aarch64-asm.h index 6f88d86fe0b..d36befefc20 100644 --- a/opcodes/aarch64-asm.h +++ b/opcodes/aarch64-asm.h @@ -42,6 +42,7 @@ bfd_boolean aarch64_insert_operand (const aarch64_operand *, aarch64_insn *, const aarch64_inst *, \ aarch64_operand_error *) +AARCH64_DECL_OPD_INSERTER (ins_none); AARCH64_DECL_OPD_INSERTER (ins_regno); AARCH64_DECL_OPD_INSERTER (ins_reglane); AARCH64_DECL_OPD_INSERTER (ins_reglist); -- cgit v1.2.1