mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-09-26 00:46:13 +08:00
[AArch64] Add ARMv8.2 instructions BFC and REV64.
ARMv8.2 adds two new instructions: BFC as an alias for BFM and REV64 as an alias for REV. This patch set adds support for these to binutils, enabled when the -march=armv8.2-a is given. It depends on the support for an instruction being its preferred form which was added in an earlier patch. This patch adds the alias BFC <Rd>, #<imm>, #<width> as the preferred form for BFM when the source is a zero register and the conditions for using the BFI form are met (in other words, BFC is the preferred form for BFI <Rd>, <Rs>, #<imm>, #<width> when the <Rs> is a zero register). gas/testsuite/ 2015-11-27 Matthew Wahab <matthew.wahab@arm.com> * gas/aarch64/alias-2.d: New. * gas/aarch64/alias-2.s: New. include/opcode/ 2015-11-27 Matthew Wahab <matthew.wahab@arm.com> * aarch64.h (aarch64_op): Add OP_BFC. opcodes/ 2015-11-27 Matthew Wahab <matthew.wahab@arm.com> * aarch64-asm-2.c: Regenerate. * aarch64-asm.c (convert_bfc_to_bfm): New. (convert_to_real): Add case for OP_BFC. * aarch64-dis-2.c: Regenerate. * aarch64-dis.c: (convert_bfm_to_bfc): New. (convert_to_alias): Add case for OP_BFC. * aarch64-opc-2.c: Regenerate. * aarch64-opc.c (operand_general_constraint_met_p): Weaken assert to allow width operand in three-operand instructions. * aarch64-tbl.h (QL_BF1): New. (aarch64_feature_v8_2): New. (ARMV8_2): New. (aarch64_opcode_table): Add "bfc". Change-Id: I6efe318b2538ba11f0caece7c6d70957441c872b
This commit is contained in:
@ -1,3 +1,7 @@
|
||||
2015-11-27 Matthew Wahab <matthew.wahab@arm.com>
|
||||
|
||||
* aarch64.h (aarch64_op): Add OP_BFC.
|
||||
|
||||
2015-11-27 Matthew Wahab <matthew.wahab@arm.com>
|
||||
|
||||
* aarch64.h (AARCH64_FEATURE_F16): New.
|
||||
|
@ -438,6 +438,7 @@ enum aarch64_op
|
||||
OP_SBFX,
|
||||
OP_SBFIZ,
|
||||
OP_BFI,
|
||||
OP_BFC, /* ARMv8.2. */
|
||||
OP_UBFIZ,
|
||||
OP_UXTB,
|
||||
OP_UXTH,
|
||||
|
Reference in New Issue
Block a user