On Mon, Dec 07, 2015 at 11:09:52AM +0000, Matthew Wahab wrote: > Ping. Updated patch attached.
This is OK, thanks. James > > Matthew > > On 27/11/15 09:23, Matthew Wahab wrote: > >On 24/11/15 15:22, James Greenhalgh wrote: > > > On Mon, Nov 16, 2015 at 04:31:32PM +0000, Matthew Wahab wrote: > > >> > > >> 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. > > > > > I think I mentioned it in another review, but this patch seems a good > > > place > > > to solve the problem. Could you please update the documentation to explain > > > what you've written above. As it stands I find myself confused by which > > > features GCC will make available at -march=armv8-a and -march=armv8.1-a. > > > >Attached is a patch with the documentation for the AArch64 -march option > >reworked to try to make it clearer what the -march=armv8.1-a option will > >do. Extensions with feature modifiers (+crc, +lse) are explicitly stated > >as being enabled by -march=armv8.1-a. Extensions without feature > >modifiers (RDMA, PAN, LOR) are treated as part of the generic 'ARMv8.1 > >architecture extension' term in the description of -march=armv8.1-a. > > > >I've also rearranged the -march section, to put the description of the > >values for -march together and reworded the description of the > >-march=native option. > > > >Matthew > > > >2015-11-26 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 -march): Rewrite initial paragraph and > > section on -march=native. Group descriptions of permitted > > architecture names together. Expand description of > > -march=armv8.1-a. > > (AArch64 -mtune): Slightly rework section on -march=native. > > (AArch64 -mcpu): Slightly rework section on -march=native. > > (AArch64 Feature Modifiers): Remove "pan", "lor" and "rdma". > > State that -march=armv8.1-a enables "crc" and "lse". > > >