From 0632eeea6eb1096fe7ddbd7f81bd74b360d1f511 Mon Sep 17 00:00:00 2001 From: Sudakshina Das Date: Tue, 6 Nov 2018 12:13:45 +0000 Subject: [PATCH] [BINUTILS, ARM] Add Armv8.5-A to select_arm_features and update macros. 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 * 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 * opcode/arm.h (ARM_ARCH_V8_5A): Move ARM_EXT2_PREDRES and ARM_EXT2_SB to ... (ARM_AEXT2_V8_5A): Here. --- include/ChangeLog | 6 ++++++ include/opcode/arm.h | 7 +++---- opcodes/ChangeLog | 5 +++++ opcodes/arm-dis.c | 10 +++++----- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/include/ChangeLog b/include/ChangeLog index f0ff0faaae4..124efb1775e 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,9 @@ +2018-11-06 Sudakshina Das + + * 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 * elf/common.h (AT_FREEBSD_HWCAP2): Define. diff --git a/include/opcode/arm.h b/include/opcode/arm.h index 71c430638b1..6f43abb3030 100644 --- a/include/opcode/arm.h +++ b/include/opcode/arm.h @@ -162,7 +162,8 @@ #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 @@ -297,9 +298,7 @@ #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) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 5af52e6bc4d..bac6294ec1d 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2018-11-06 Sudakshina Das + + * 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 * ppc-opc.c (insert_arx, insert_ary, insert_rx, insert_ry, insert_ls), diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index f0b90510c60..8e6a37b0c67 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -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; -- 2.30.2