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.
This commit is contained in:
Richard Earnshaw 2021-07-01 11:37:13 +01:00
parent 9cb74cfd81
commit 417f991f08
2 changed files with 6 additions and 1 deletions

View 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-06-18 H.J. Lu <hongjiu.lu@intel.com>
* elf/common.h (GNU_PROPERTY_UINT32_AND_LO): New.

View file

@ -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. */