On Mon, Nov 16, 2015 at 8:31 AM, Matthew Wahab
<matthew.wa...@foss.arm.com> wrote:
> Hello,
>
> The command line options for target selection allow ARMv8.1 extensions
> to be individually enabled/disabled. They also allow the extensions to
> be enabled with -march=armv8-a. This doesn't reflect the ARMv8.1
> architecture which requires all extensions to be enabled and doesn't make
> them available for ARMv8.
>
> This patch removes the options for the individual ARMv8.1 extensions
> except for +lse. This means that setting -march=armv8.1-a will enable
> all extensions required by ARMv8.1 and that the ARMv8.1 extensions can't
> be used with -march=armv8.
>
> The exception to this is +lse since there may be existing code expecting
> to be built with -march=armv8-a+lse. Note that +crc, which is enabled by
> -march=armv8.1-a, is still an option for -march=armv8-a.
>
> This patch depends on the patch series
> https://gcc.gnu.org/ml/gcc-patches/2015-10/msg02429.html.
>
> Tested aarch64-none-elf with cross-compiled check-gcc and
> aarch64-none-linux-gnu with native bootstrap and make check.

I like this patch.  Note I was going to soon submit patches to change
thunderx over to 8.1-a and add thunderxt88pass1 which is 8-a.
But I need a few more patches to get to get that.

Thanks,
Andrew


>
> Ok for trunk?
> Matthew
>
> gcc/
> 2015-11-16  Matthew Wahab  <matthew.wa...@arm.com>
>
>         * config/aarch64/aarch64-options-extensions.def: Remove
>         AARCH64_FL_RDMA from "fp" and "simd".  Remove "pan", "lor",
>         "rdma".
>         * config/aarch64/aarch64.h (AARCH64_FL_PAN): Remove.
>         (AARCH64_FL_LOR): Remove.
>         (AARCH64_FL_RDMA): Remove.
>         (AARCH64_FL_V8_1): New.
>         (AARCH64_FL_FOR_AARCH8_1): Replace AARCH64_FL_PAN, AARCH64_FL_LOR
>         and AARCH64_FL_RDMA with AARCH64_FL_V8_1.
>         (AARCH64_ISA_RDMA): Replace AARCH64_FL_RDMA with AARCH64_FL_V8_1.
>         * doc/invoke.texi (AArch64 - Feature Modifiers): Remove "pan",
>         "lor" and "rdma".

Reply via email to