aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2016-07-06 08:16:53 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2016-07-06 08:16:53 +0000
commit62da9e14ce5b670bf40a91f1dc9473579a2d5549 (patch)
treef64f6affdc9e9aa406115967f1fe3db21b1b124c /gcc/ada
parent2de001eed013bb666f832694bc75b8f055ffdc76 (diff)
downloadgcc-62da9e14ce5b670bf40a91f1dc9473579a2d5549.zip
gcc-62da9e14ce5b670bf40a91f1dc9473579a2d5549.tar.gz
gcc-62da9e14ce5b670bf40a91f1dc9473579a2d5549.tar.bz2
[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. From-SVN: r238039
Diffstat (limited to 'gcc/ada')
0 files changed, 0 insertions, 0 deletions