On 10/23/2017 11:29 AM, Richard Sandiford wrote:
> This patch makes vectorizable_load and vectorizable_store cope with
> variable-length vectors.  The reverse and permute cases will be
> excluded by the code that checks the permutation mask (although a
> patch after the main SVE submission adds support for the reversed
> case).  Here we also need to exclude VMAT_ELEMENTWISE and
> VMAT_STRIDED_SLP, which split the operation up into a constant
> number of constant-sized operations.  We also don't try to extend
> the current widening gather/scatter support to variable-length
> vectors, since SVE uses a different approach.
> 
> 
> 2017-10-23  Richard Sandiford  <richard.sandif...@linaro.org>
>           Alan Hayward  <alan.hayw...@arm.com>
>           David Sherwood  <david.sherw...@arm.com>
> 
> gcc/
>       * tree-vect-stmts.c (get_load_store_type): Treat the number of
>       units as polynomial.  Reject VMAT_ELEMENTWISE and VMAT_STRIDED_SLP
>       for variable-length vectors.
>       (vectorizable_mask_load_store): Treat the number of units as
>       polynomial, asserting that it is constant if the condition has
>       already been enforced.
>       (vectorizable_store, vectorizable_load): Likewise.

OK.
jeff

Reply via email to