r242311 - in /branches/ARM/sve-branch/gcc: test...
rsandifo@gcc.gnu.org
rsandifo@gcc.gnu.org
Fri Nov 11 17:38:00 GMT 2016
Author: rsandifo
Date: Fri Nov 11 17:38:51 2016
New Revision: 242311
URL: https://gcc.gnu.org/viewcvs?rev=242311&root=gcc&view=rev
Log:
Handle peeling for alignment with masking
This patch adds support for aligning vectors by using a partial
first iteration. E.g. if the start pointer is 3 elements beyond
an aligned address, the first iteration will have a mask in which
the first three elements are false.
On SVE, the optimisation is only useful for vector-length-specific
code. Vector-length-agnostic code doesn't try to align vectors
since the vector length might not be a power of 2.
Added:
branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_nopeel_1.c
branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_peel_ind_1.c
branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_peel_ind_1_run.c
branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_peel_ind_2.c
branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_peel_ind_2_run.c
branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_peel_ind_3.c
branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_peel_ind_3_run.c
Modified:
branches/ARM/sve-branch/gcc/tree-vect-loop-manip.c
branches/ARM/sve-branch/gcc/tree-vect-loop.c
branches/ARM/sve-branch/gcc/tree-vectorizer.h
More information about the Gcc-cvs
mailing list