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

Marcus Shawcroft marcus.shawcroft@gmail.com
Mon Dec 7 11:01:00 GMT 2015


On 7 December 2015 at 09:13, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 24.11.15 at 12:17, <matthew.wahab@foss.arm.com> wrote:
>>@@ -1777,6 +1787,8 @@ struct aarch64_opcode aarch64_opcode_table[] =
>>   {"asr", 0x13000000, 0x7f800000, bitfield, OP_ASR_IMM, CORE, OP3 (Rd, Rn, IMM), QL_SHIFT, F_ALIAS | F_P2 | F_CONV},
>>   {"bfm", 0x33000000, 0x7f800000, bitfield, 0, CORE, OP4 (Rd, Rn, IMMR, IMMS), QL_BF, F_HAS_ALIAS | F_SF | F_N},
>>   {"bfi", 0x33000000, 0x7f800000, bitfield, OP_BFI, CORE, OP4 (Rd, Rn, IMM, WIDTH), QL_BF2, F_ALIAS | F_P1 | F_CONV},
>>+  {"bfc", 0x330003e0, 0x7f8003e0, bitfield, OP_BFC, ARMV8_2,
>>+   OP3 (Rd, IMM, WIDTH), QL_BF1, F_ALIAS | F_P2 | F_CONV},
>
> Considering that aiui gfc is just an alias of bfi (which in turn is an alias
> of bfm), is it really desirable to prevent use of it an pre-8.2 assembly
> sources? (I can see though why you may want to not disassemble it.)

The instruction set support in gas for aarch64 currently follows  the
ARM ARM specification for both architectural instructions and
architectural aliases. It does not add un-specified aliases. I believe
a BFC alias is being considered for a forthcoming spec that will cover
such convenience aliases.  Once that is published,  GAS should be
extended to support it, until then  I would prefer we limit the
implementation to ARM ARM.

Cheers
/Marcus


> Jan
>



More information about the Binutils mailing list