[PATCH][GAS][AArch64] Add new fields and operands required for Armv8.4-a [Patch (1/6)]

Nick Clifton nickc@redhat.com
Wed Nov 8 15:45:00 GMT 2017


Hi Tamar,

> This patch adds the new Fields and Operand types for the new
> instructions in Armv8.4-a.

This patch fails to build on a 32-bit host.  The error is:

  In file included from opcodes/aarch64-opc.h:25:0,
                   from opcodes/aarch64-opc.c:32:
  include/opcode/aarch64.h:110:38: error: large integer implicitly truncated to unsigned type [-Werror=overflow]
   #define AARCH64_FEATURE(core,coproc) ((core) | (coproc))
                                      ^
  opcodes/aarch64-tbl.h:2008:3: note: in expansion of macro 'AARCH64_FEATURE'
     AARCH64_FEATURE (AARCH64_FEATURE_CRYPTO | AARCH64_FEATURE_AES

And similarly for the AARCh64_FEATRUE_SHA2.

Essentially you have a type discrepancy between the aarch64_feature_set type
(an unsigned long) and these new feature defines which are unsigned long long
values...

>From a visual scan of the defines in aarch64.h, it looks like there are some
bits that are not currently being used as feature values.  Maybe you could use
these ?

Cheers
  Nick
 



More information about the Binutils mailing list