aarch64: Add BC instruction
authorRichard Sandiford <richard.sandiford@arm.com>
Thu, 2 Dec 2021 15:00:57 +0000 (15:00 +0000)
committerRichard Sandiford <richard.sandiford@arm.com>
Thu, 2 Dec 2021 15:00:57 +0000 (15:00 +0000)
commitbcca550b3dc542284715c19655c1885bdf2d3b67
tree9595ba94a8add55664ce8192a82dc8594e8b137a
parent63eff947512b36c770c92d45e4b22cb8a18a39be
aarch64: Add BC instruction

This patch adds support for the Armv8.8-A BC instruction.
[https://developer.arm.com/documentation/ddi0596/2021-09/Base-Instructions/BC-cond--Branch-Consistent-conditionally-?lang=en]

include/
* opcode/aarch64.h (AARCH64_FEATURE_HBC): New macro.
(AARCH64_ARCH_V8_8): Make armv8.8-a imply AARCH64_FEATURE_HBC.

opcodes/
* aarch64-tbl.h (aarch64_feature_hbc): New variable.
(HBC, HBC_INSN): New macros.
(aarch64_opcode_table): Add BC.C.
* aarch64-dis-2.c: Regenerate.

gas/
* doc/c-aarch64.texi: Document +hbc.
* config/tc-aarch64.c (aarch64_features): Add "hbc".
* testsuite/gas/aarch64/hbc.s, testsuite/gas/aarch64/hbc.d: New test.
* testsuite/gas/aarch64/hbc-invalid.s,
testsuite/gas/aarch64/hbc-invalid.l,
testsuite/gas/aarch64/hbc-invalid.d: New test.
gas/config/tc-aarch64.c
gas/doc/c-aarch64.texi
gas/testsuite/gas/aarch64/hbc-invalid.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/hbc-invalid.l [new file with mode: 0644]
gas/testsuite/gas/aarch64/hbc-invalid.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/hbc.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/hbc.s [new file with mode: 0644]
include/opcode/aarch64.h
opcodes/aarch64-dis-2.c
opcodes/aarch64-tbl.h