From 417f991f08cb869e8274e0a6af6c88b14413e0ec Mon Sep 17 00:00:00 2001 From: Richard Earnshaw Date: Thu, 1 Jul 2021 11:37:13 +0100 Subject: 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. --- include/opcode/arm.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include/opcode/arm.h') diff --git a/include/opcode/arm.h b/include/opcode/arm.h index 03a8071..90c09a7 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. */ -- cgit v1.1