r238039 - in /trunk/gcc: ChangeLog tree-vect-st...
rsandifo@gcc.gnu.org
rsandifo@gcc.gnu.org
Wed Jul 6 08:16:00 GMT 2016
Author: rsandifo
Date: Wed Jul 6 08:16:53 2016
New Revision: 238039
URL: https://gcc.gnu.org/viewcvs?rev=238039&root=gcc&view=rev
Log:
[7/7] Add negative and zero strides to vect_memory_access_type
This patch uses the vect_memory_access_type from patch 6 to represent
the effect of a negative contiguous stride or a zero stride. The latter
is valid only for loads.
Tested on aarch64-linux-gnu and x86_64-linux-gnu.
gcc/
* tree-vectorizer.h (vect_memory_access_type): Add
VMAT_INVARIANT, VMAT_CONTIGUOUS_DOWN and VMAT_CONTIGUOUS_REVERSED.
* tree-vect-stmts.c (compare_step_with_zero): New function.
(perm_mask_for_reverse): Move further up file.
(get_group_load_store_type): Stick to VMAT_ELEMENTWISE if the
step is negative.
(get_negative_load_store_type): New function.
(get_load_store_type): Call it. Add an ncopies argument.
(vectorizable_mask_load_store): Update call accordingly and
remove tests for negative steps.
(vectorizable_store, vectorizable_load): Likewise. Handle new
memory_access_types.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-vect-stmts.c
trunk/gcc/tree-vectorizer.h
More information about the Gcc-cvs
mailing list