James Greenhalgh <james.greenha...@arm.com> writes:
> On Fri, Nov 24, 2017 at 03:59:58PM +0000, Richard Sandiford wrote:
>> Richard Sandiford <richard.sandif...@linaro.org> writes:
>> > This series adds support for ARM's Scalable Vector Extension.
>> > More details on SVE can be found here:
>> >
>> >   
>> > https://developer.arm.com/products/architecture/a-profile/docs/arm-architecture-reference-manual-supplement-armv8-a
>> >
>> > There are four parts for ease of review, but it probably makes
>> > sense to commit them as one patch.
>> >
>> > The series plugs SVE into the current vectorisation framework without
>> > adding any new features to the framework itself.  This means for example
>> > that vector loops still handle full vectors, with a scalar epilogue loop
>> > being needed for the rest.  Later patches add support for other features
>> > like fully-predicated loops.
>> >
>> > The patches build on top of the various series that I've already posted.
>> > Sorry that there were so many, and thanks again for all the reviews.
>> >
>> > Tested on aarch64-linux-gnu without SVE and aarch64-linux-gnu with SVE
>> > (in the default vector-length agnostic mode).  Also tested with
>> > -msve-vector-bits=256 and -msve-vector-bits=512 to select 256-bit
>> > and 512-bit SVE registers.
>> 
>> Here's an update based on an off-list discussion with the maintainers.
>> Changes since v1:
>> 
>> - Changed the names of the modes from 256-bit vectors to "VNx"
>>   + a 128-bit mode name, e.g. V32QI -> VNx16QI.
>> 
>> - Added an "sve" attribute and used it in the "enabled" attribute.
>>   This allows generic aarch64.md patterns to disable things related
>>   to SVE on non-SVE targets; previously this was implicit through the
>>   constraints.
>> 
>> - Improved the consistency of the constraint names, specifically:
>> 
>>   Ua?: addition contraints (already used for Uaa)
>>   Us?: general scalar constraints (already used for various other scalars)
>>   Ut?: memory constraints (unchanged from v1)
>>   vs?: vector SVE constraints (mostly unchanged, but now includes FP
>>        as well as integer constraints)
>> 
>>   There's still the general "Dm" (minus one) constraint, for consistency
>>   with "Dz" (zero).
>> 
>> - Added missing register descriptions above FIXED_REGISTERS.
>> 
>> - "should"/"is expected to" -> "must".
>> 
>> - Added more commentary to things like regmode_natural_size.
>> 
>> I also did a before and after comparison of the testsuite output
>> for base AArch64 (but using the new FIRST_PSEUDO_REGISTER definition
>> to avoid changes to hash values).  There were no differences.
>
> I seem to have lost 4/4 in my mailer. Would you mind pinging it if I have
> any action to take? Also, please ping any other SVE parts I've missed that
> you haven't pinged in recent days.

4/4 was the unwinder support, which you've already reviewed (thanks):

  https://gcc.gnu.org/ml/gcc-patches/2017-11/msg00251.html

There are two other AArch64 patches that I'll ping in a sec.

There are also quite a few patches that add target-independent
support for something and also add corresponding SVE code
to config/aarch64 and/or code quality tests to gcc.target/aarch64.
I think the full list of those is:

  Patches with config/aarch64 code:

    https://gcc.gnu.org/ml/gcc-patches/2017-11/msg02066.html
    https://gcc.gnu.org/ml/gcc-patches/2017-11/msg02068.html
    https://gcc.gnu.org/ml/gcc-patches/2017-11/msg01484.html
    https://gcc.gnu.org/ml/gcc-patches/2017-11/msg01485.html
    https://gcc.gnu.org/ml/gcc-patches/2017-11/msg01491.html
    https://gcc.gnu.org/ml/gcc-patches/2017-11/msg01494.html
    https://gcc.gnu.org/ml/gcc-patches/2017-11/msg01497.html
    https://gcc.gnu.org/ml/gcc-patches/2017-11/msg01506.html
    https://gcc.gnu.org/ml/gcc-patches/2017-11/msg01570.html
    https://gcc.gnu.org/ml/gcc-patches/2017-11/msg01575.html

  Patches with gcc.target/aarch64 tests but no config/aarch64 changes,
  with the tests being in the spirit of the ones added in the original
  SVE patch:

    https://gcc.gnu.org/ml/gcc-patches/2017-11/msg00752.html
    https://gcc.gnu.org/ml/gcc-patches/2017-11/msg01446.html
    https://gcc.gnu.org/ml/gcc-patches/2017-11/msg01489.html
    https://gcc.gnu.org/ml/gcc-patches/2017-11/msg01490.html
    https://gcc.gnu.org/ml/gcc-patches/2017-11/msg01498.html
    https://gcc.gnu.org/ml/gcc-patches/2017-11/msg01499.html
    https://gcc.gnu.org/ml/gcc-patches/2017-11/msg01572.html
    https://gcc.gnu.org/ml/gcc-patches/2017-11/msg01573.html
    https://gcc.gnu.org/ml/gcc-patches/2017-11/msg01577.html

The target-independent pieces have already been reviewed (except where
I'll ping seperately).

Thanks,
Richard

Reply via email to