[PATCH][binutils][arm] PR25376 Change MVE into a CORE_HIGH feature

Andre Vieira (lists) andre.simoesdiasvieira@arm.com
Mon Jan 13 11:39:00 GMT 2020


Hi,

This patch moves MVE feature bits into the CORE_HIGH section.  This 
makes sure .fpu and -mfpu does not reset the bits set by MVE. This is 
important because .fpu has no option to "set" these same bits and thus, 
mimic'ing GCC, we choose to define MVE as an architecture extension 
rather than put it together with other the legacy fpu features.

This will enable the following behavior:
.arch armv8.1-m.main
.arch mve
.fpu fpv5-sp-d16               #does not disable mve.
vadd.i32 q0, q1, q2

This patch also makes sure MVE is not taken into account during 
auto-detect. This was already the case, but because we moved the MVE 
bits to the architecture feature space we must make sure ARM_ANY does 
not include MVE.

Tested on arm-none-eabi, arm-wince-pe and arm-vxworks.

gas/ChangeLog:
2020-01-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>

         PR 25376
         * config/tc-arm.c (mve_ext, mve_fp_ext): Use CORE_HIGH.
         (armv8_1m_main_ext_table): Use CORE_HIGH for mve.
         * testsuite/arm/armv8_1-m-fpu-mve-1.s: New.
         * testsuite/arm/armv8_1-m-fpu-mve-1.d: New.
         * testsuite/arm/armv8_1-m-fpu-mve-2.s: New.
         * testsuite/arm/armv8_1-m-fpu-mve-2.d: New.


include/ChangeLog:
2020-01-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>

         PR 25376
         * opcodes/arm.h (FPU_MVE, FPU_MVE_FPU): Move these features to...
         (ARM_EXT2_MVE, ARM_EXT2_MVE_FP): ... the CORE_HIGH space.
         (ARM_ANY): Redefine to not include any MVE bits.
         (ARM_FEATURE_ALL): Removed.

opcodes/ChangeLog:
2020-01-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>

         PR 25376
         * opcodes/arm-dis.c (coprocessor_opcodes): Use CORE_HIGH for
         MVE bits.
         (neon_opcodes): Likewise.
         (select_arm_features): Make sure we enable MVE bits when
         selecting armv8.1-m.main. Make sure we do not enable MVE
         bits when not selecting any architecture.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr25376.patch
Type: text/x-patch
Size: 56660 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20200113/034c5bcf/attachment.bin>


More information about the Binutils mailing list