[PATCH 1/17][ARM] Add ARMv8.2-A command line option and profile.

Ramana Radhakrishnan ramana.gcc@googlemail.com
Wed Sep 21 13:57:00 GMT 2016


On Mon, Jul 4, 2016 at 2:46 PM, Matthew Wahab
<matthew.wahab@foss.arm.com> wrote:
> On 17/05/16 15:22, Matthew Wahab wrote:
>> This patch adds the command options for the architecture ARMv8.2-A and
>> the half-precision extension. The architecture is selected by
>> -march=armv8.2-a and has all the properties of -march=armv8.1-a.
>>
>> This patch also enables the CRC extension (+crc) which is required
>> for both ARMv8.2-A and ARMv8.1-A architectures but is not currently
>> enabled by default for -march=armv8.1-a.
>>
>> The half-precision extension is selected using the extension +fp16. This
>> enables the VFP FP16 instructions if an ARMv8 VFP unit is also
>> specified, e.g. by -mfpu=fp-armv8. It also enables the FP16 NEON
>> instructions if an ARMv8 NEON unit is specified, e.g. by
>> -mfpu=neon-fp-armv8. Note that if the NEON FP16 instructions are enabled
>> then so are the VFP FP16 instructions.
>
> This a minor respin that moves the setting of arm_fp16_inst in
> arm_option_override to immediately before it is used to set the required
> arm_fp16_format.
>
> Tested the series for arm-none-linux-gnueabihf with native bootstrap and
> make check and for arm-none-eabi and armeb-none-eabi with make check on
> an ARMv8.2-A emulator.


OK.

Thanks,
Ramana
>
> 2016-07-04  Matthew Wahab  <matthew.wahab@arm.com>
>
>
>         * config/arm/arm-arches.def ("armv8.1-a"): Add FL_CRC32.
>         ("armv8.2-a"): New.
>         ("armv8.2-a+fp16"): New.
>         * config/arm/arm-protos.h (FL2_ARCH8_2): New.
>         (FL2_FP16INST): New.
>         (FL2_FOR_ARCH8_2A): New.
>         * config/arm/arm-tables.opt: Regenerate.
>         * config/arm/arm.c (arm_arch8_2): New.
>         (arm_fp16_inst): New.
>         (arm_option_override): Set arm_arch8_2 and arm_fp16_inst.  Check
>         for incompatible fp16-format settings.
>         * config/arm/arm.h (TARGET_VFP_FP16INST): New.
>         (TARGET_NEON_FP16INST): New.
>         (arm_arch8_2): Declare.
>         (arm_fp16_inst): Declare.
>         * config/arm/bpabi.h (BE8_LINK_SPEC): Add entries for
>         march=armv8.2-a and march=armv8.2-a+fp16.
>         * config/arm/t-aprofile (Arch Matches): Add entries for armv8.2-a
>         and armv8.2-a+fp16.
>         * doc/invoke.texi (ARM Options): Add "-march=armv8.1-a",
>         "-march=armv8.2-a" and "-march=armv8.2-a+fp16".
>



More information about the Gcc-patches mailing list