From: Richard Earnshaw Date: Thu, 1 Jul 2021 10:37:13 +0000 (+0100) Subject: arm: don't treat XScale features as part of the FPU [PR 28031] X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=687dd74c9bac7b746ea69e4ea070adff05226b13;p=thirdparty%2Fbinutils-gdb.git arm: don't treat XScale features as part of the FPU [PR 28031] Although the XScale and its iwMMX extensions are implemented in the Arm co-processor space, they are not considered to be part of the FPU specification. In particular, they cannot be enabled or disabled via a .fpu directive. It's therefore incorrect to strip these properties when a new .fpu directive is encountered. Note that the legacy Maverick co-processor is considered to be a FPU and it is possible to control this via the .fpu directive. include: PR gas/28031 * opcode/arm.h (FPU_ANY): Exclude XScale-related features. --- diff --git a/include/ChangeLog b/include/ChangeLog index f692e379026..b4276ec5af0 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,8 @@ +2021-07-01 Richard Earnshaw + + PR gas/28031 + * opcode/arm.h (FPU_ANY): Exclude XScale-related features. + 2021-02-19 Andreas Krebbel * opcode/s390.h (enum s390_opcode_cpu_val): Add diff --git a/include/opcode/arm.h b/include/opcode/arm.h index 03a80712c0a..90c09a70658 100644 --- a/include/opcode/arm.h +++ b/include/opcode/arm.h @@ -383,7 +383,7 @@ #define ARM_ARCH_NONE ARM_FEATURE_LOW (0, 0) #define FPU_NONE ARM_FEATURE_LOW (0, 0) #define ARM_ANY ARM_FEATURE (-1, -1 & ~ (ARM_EXT2_MVE | ARM_EXT2_MVE_FP), 0) /* Any basic core. */ -#define FPU_ANY ARM_FEATURE_COPROC (-1) /* Any FPU. */ +#define FPU_ANY ARM_FEATURE_COPROC (-1 & ~(ARM_CEXT_XSCALE | ARM_CEXT_IWMMXT | ARM_CEXT_IWMMXT2)) /* Any FPU. */ #define FPU_ANY_HARD ARM_FEATURE_COPROC (FPU_FPA | FPU_VFP_HARD | FPU_MAVERICK) /* Extensions containing some Thumb-2 instructions. If any is present, Thumb ISA is Thumb-2. */