On 11/17/2017 02:21 AM, Richard Sandiford wrote:
> After the previous patches, it's easier to see that the remaining
> inlined transform code in vectorizable_mask_load_store is just a
> cut-down version of the VMAT_CONTIGUOUS handling in vectorizable_load
> and vectorizable_store. This patch therefore makes those functions
> handle masked loads and stores instead.
>
> This makes it easier to handle more forms of masked load and store
> without duplicating logic from the unmasked forms. It also helps with
> support for fully-masked loops.
>
> Richard
>
>
> 2017-11-17 Richard Sandiford <richard.sandif...@linaro.org>
>
> gcc/
> * tree-vect-stmts.c (vect_get_store_rhs): New function.
> (vectorizable_mask_load_store): Delete.
> (vectorizable_call): Return false for masked loads and stores.
> (vectorizable_store): Handle IFN_MASK_STORE. Use vect_get_store_rhs
> instead of gimple_assign_rhs1.
> (vectorizable_load): Handle IFN_MASK_LOAD.
> (vect_transform_stmt): Don't set is_store for call_vec_info_type.
OK.
jeff