This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [AArch64][PATCH 1/2] Add ARMv8.2 instructions BFC and REV64.


Is this also ok for the 2.26 branch?

On 24/11/15 11:17, Matthew Wahab wrote:

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

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).

Tested the series for aarch64-none-linux-gnu with cross-compiled
check-binutils and check-gas.

Ok for trunk?

2015-11-24  Matthew Wahab  <>

     * gas/aarch64/alias-2.d: New.
     * gas/aarch64/alias-2.s: New.

2015-11-24  Matthew Wahab  <>

     * aarch64.h (aarch64_op): Add OP_BFC.

2015-11-24  Matthew Wahab  <>

     * 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".

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]