This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r242308 - in /branches/ARM/sve-branch/gcc: conf...


Author: rsandifo
Date: Fri Nov 11 17:38:11 2016
New Revision: 242308

URL: https://gcc.gnu.org/viewcvs?rev=242308&root=gcc&view=rev
Log:
Add support for fully-predicated loops

This patch adds support for one of the main features of SVE: the ability
to use a single fully-predicated loop (here called "fully-masked" to
follow existing GCC terminology).  A WHILE instruction generates the
predicate/mask for each iteration of the loop, given the current scalar
iv value and the loop bound.

Using full masking requires new optabs and internal functions for
masked arithmetic operations.  These are particularly useful when doing
reductions, so that we don't include inactive vector elements in the
accumulated result.

Added:
    branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_while_1.c
    branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_while_2.c
    branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_while_3.c
    branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_while_4.c
    branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_while_maxiter_1.c
    branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_while_maxiter_2.c
    branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_while_maxiter_3.c
Modified:
    branches/ARM/sve-branch/gcc/config/aarch64/aarch64-sve.md
    branches/ARM/sve-branch/gcc/config/aarch64/aarch64.md
    branches/ARM/sve-branch/gcc/config/aarch64/iterators.md
    branches/ARM/sve-branch/gcc/doc/md.texi
    branches/ARM/sve-branch/gcc/internal-fn.c
    branches/ARM/sve-branch/gcc/internal-fn.def
    branches/ARM/sve-branch/gcc/internal-fn.h
    branches/ARM/sve-branch/gcc/optabs.def
    branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_reduc_1.C
    branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_vec_bool_cmp_1.c
    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-vect-stmts.c
    branches/ARM/sve-branch/gcc/tree-vectorizer.h
    branches/ARM/sve-branch/gcc/wide-int.h


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]