diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2021-07-01 11:37:13 +0100 |
---|---|---|
committer | Richard Earnshaw <rearnsha@arm.com> | 2021-07-01 17:47:11 +0100 |
commit | 687dd74c9bac7b746ea69e4ea070adff05226b13 (patch) | |
tree | 98de6b5f64d0a6284234126b0dc7640aaab757ec | |
parent | bd374cc2dcce3a3659341be462a4691daf8f2494 (diff) | |
download | gdb-687dd74c9bac7b746ea69e4ea070adff05226b13.zip gdb-687dd74c9bac7b746ea69e4ea070adff05226b13.tar.gz gdb-687dd74c9bac7b746ea69e4ea070adff05226b13.tar.bz2 |
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.
-rw-r--r-- | include/ChangeLog | 5 | ||||
-rw-r--r-- | include/opcode/arm.h | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index f692e37..b4276ec 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -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 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. */ |