summaryrefslogtreecommitdiff
path: root/include/opcode
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2021-07-01 11:37:13 +0100
committerRichard Earnshaw <rearnsha@arm.com>2021-07-01 11:37:13 +0100
commit417f991f08cb869e8274e0a6af6c88b14413e0ec (patch)
tree8d43b7ce072d66c67b45c711c205aee349002248 /include/opcode
parent9cb74cfd815bfab451546206094b7ab49d382a24 (diff)
downloadbinutils-gdb-417f991f08cb869e8274e0a6af6c88b14413e0ec.tar.gz
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.
Diffstat (limited to 'include/opcode')
-rw-r--r--include/opcode/arm.h2
1 files changed, 1 insertions, 1 deletions
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. */