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