[BINUTILS, ARM] Add Armv8.5-A to select_arm_features and update macros.
authorSudakshina Das <sudi.das@arm.com>
Tue, 6 Nov 2018 12:13:45 +0000 (12:13 +0000)
committerSudakshina Das <sudi.das@arm.com>
Tue, 6 Nov 2018 12:13:45 +0000 (12:13 +0000)
This patch addresses the following
1) Adding ARMv8.5-A in select_arm_features.
2) Updating the feature macro so that the new ARM_EXT2_* features for
Armv8.5-A are moved to ARM_AEXT2_V8_5A.

*** opcodes/ChangeLog ***

2018-11-06  Sudakshina Das  <sudi.das@arm.com>

* arm-dis.c (select_arm_features): Update bfd_mach_arm_8
with Armv8.5-A. Remove reduntant ARM_EXT2_FP16_FML.

*** include/ChangeLog ***

2018-11-06  Sudakshina Das  <sudi.das@arm.com>

* opcode/arm.h (ARM_ARCH_V8_5A): Move ARM_EXT2_PREDRES and
ARM_EXT2_SB to ...
(ARM_AEXT2_V8_5A): Here.

include/ChangeLog
include/opcode/arm.h
opcodes/ChangeLog
opcodes/arm-dis.c

index f0ff0faaae4d5985c60e29085d5527b9d3e5c997..124efb1775ec1d946508e8ac263a095b631cb7c1 100644 (file)
@@ -1,3 +1,9 @@
+2018-11-06  Sudakshina Das  <sudi.das@arm.com>
+
+       * opcode/arm.h (ARM_ARCH_V8_5A): Move ARM_EXT2_PREDRES and
+       ARM_EXT2_SB to ...
+       (ARM_AEXT2_V8_5A): Here.
+
 2018-10-26  John Baldwin  <jhb@FreeBSD.org>
 
        * elf/common.h (AT_FREEBSD_HWCAP2): Define.
index 71c430638b1af3785721f789a2fc7a476370da6d..6f43abb3030185471873b51406dcfefc11135c8d 100644 (file)
 #define ARM_AEXT2_V8_2A        (ARM_AEXT2_V8_1A | ARM_EXT2_V8_2A | ARM_EXT2_RAS)
 #define ARM_AEXT2_V8_3A        (ARM_AEXT2_V8_2A | ARM_EXT2_V8_3A)
 #define ARM_AEXT2_V8_4A        (ARM_AEXT2_V8_3A | ARM_EXT2_FP16_FML | ARM_EXT2_V8_4A)
-#define ARM_AEXT2_V8_5A        (ARM_AEXT2_V8_4A | ARM_EXT2_V8_5A)
+#define ARM_AEXT2_V8_5A        (ARM_AEXT2_V8_4A | ARM_EXT2_V8_5A | ARM_EXT2_SB \
+                        | ARM_EXT2_PREDRES)
 #define ARM_AEXT_V8M_BASE (ARM_AEXT_V6SM | ARM_EXT_DIV)
 #define ARM_AEXT_V8M_MAIN ARM_AEXT_V7M
 #define ARM_AEXT_V8M_MAIN_DSP ARM_AEXT_V7EM
 #define ARM_ARCH_V8_4A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_4A,     \
                                     CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA \
                                     | FPU_NEON_EXT_DOTPROD)
-#define ARM_ARCH_V8_5A ARM_FEATURE (ARM_AEXT_V8A,      \
-                                    ARM_AEXT2_V8_5A | ARM_EXT2_SB      \
-                                    | ARM_EXT2_PREDRES,                \
+#define ARM_ARCH_V8_5A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_5A,     \
                                     CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA \
                                     | FPU_NEON_EXT_DOTPROD)
 #define ARM_ARCH_V8M_BASE ARM_FEATURE_CORE (ARM_AEXT_V8M_BASE, ARM_AEXT2_V8M)
index 5af52e6bc4d7881f1f0a471add2f5cab0ededde9..bac6294ec1d6556ecf8bb519355ed7478db910fb 100644 (file)
@@ -1,3 +1,8 @@
+2018-11-06  Sudakshina Das  <sudi.das@arm.com>
+
+       * arm-dis.c (select_arm_features): Update bfd_mach_arm_8
+       with Armv8.5-A. Remove reduntant ARM_EXT2_FP16_FML.
+
 2018-11-06  Alan Modra  <amodra@gmail.com>
 
        * ppc-opc.c (insert_arx, insert_ary, insert_rx, insert_ry, insert_ls),
index f0b90510c60071e4fbd835fbed3adce1aa0189d7..8e6a37b0c67533cfbf6ca2edf9cad984818f53f2 100644 (file)
@@ -6452,11 +6452,11 @@ select_arm_features (unsigned long mach,
     case bfd_mach_arm_7EM:      ARM_SET_FEATURES (ARM_ARCH_V7EM); break;
     case bfd_mach_arm_8:
        {
-         /* Add bits for extensions that Armv8.4-A recognizes.  */
-         arm_feature_set armv8_4_ext_fset
-           = ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_FP16_FML);
-         ARM_SET_FEATURES (ARM_ARCH_V8_4A);
-         ARM_MERGE_FEATURE_SETS (arch_fset, arch_fset, armv8_4_ext_fset);
+         /* Add bits for extensions that Armv8.5-A recognizes.  */
+         arm_feature_set armv8_5_ext_fset
+           = ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST);
+         ARM_SET_FEATURES (ARM_ARCH_V8_5A);
+         ARM_MERGE_FEATURE_SETS (arch_fset, arch_fset, armv8_5_ext_fset);
          break;
        }
     case bfd_mach_arm_8R:       ARM_SET_FEATURES (ARM_ARCH_V8R); break;