]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
arm: don't treat XScale features as part of the FPU [PR 28031]
authorRichard Earnshaw <rearnsha@arm.com>
Thu, 1 Jul 2021 10:37:13 +0000 (11:37 +0100)
committerRichard Earnshaw <rearnsha@arm.com>
Thu, 1 Jul 2021 16:47:11 +0000 (17:47 +0100)
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/ChangeLog
include/opcode/arm.h

index f692e3790267869d1a23262d4b50c9e2fbc2cf6c..b4276ec5af01232f3799f99ea7265705fb52549f 100644 (file)
@@ -1,3 +1,8 @@
+2021-07-01  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR gas/28031
+       * opcode/arm.h (FPU_ANY): Exclude XScale-related features.
+
 2021-02-19  Andreas Krebbel  <krebbel@linux.ibm.com>
 
        * opcode/s390.h (enum s390_opcode_cpu_val): Add
index 03a80712c0a02c5a064d8568054753d1b03d94a2..90c09a70658007b0c9027850338119ccc466dbd1 100644 (file)
 #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.  */