aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-data-refs.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@linaro.org>2018-01-03 07:16:06 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2018-01-03 07:16:06 +0000
commit4d694b27c3697f7eef16a17eb926076bf836575a (patch)
treeba4aa662cc4e78460fb98744bdcbf8b908c970b1 /gcc/tree-vect-data-refs.c
parentfa780794692994d63febf4fb187567e245cdd4ee (diff)
downloadgcc-4d694b27c3697f7eef16a17eb926076bf836575a.zip
gcc-4d694b27c3697f7eef16a17eb926076bf836575a.tar.gz
gcc-4d694b27c3697f7eef16a17eb926076bf836575a.tar.bz2
poly_int: vectorizable_load/store
This patch makes vectorizable_load and vectorizable_store cope with variable-length vectors. The reverse and permute cases will be excluded by the code that checks the permutation mask (although a patch after the main SVE submission adds support for the reversed case). Here we also need to exclude VMAT_ELEMENTWISE and VMAT_STRIDED_SLP, which split the operation up into a constant number of constant-sized operations. We also don't try to extend the current widening gather/scatter support to variable-length vectors, since SVE uses a different approach. 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * tree-vect-stmts.c (get_load_store_type): Treat the number of units as polynomial. Reject VMAT_ELEMENTWISE and VMAT_STRIDED_SLP for variable-length vectors. (vectorizable_mask_load_store): Treat the number of units as polynomial, asserting that it is constant if the condition has already been enforced. (vectorizable_store, vectorizable_load): Likewise. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r256136
Diffstat (limited to 'gcc/tree-vect-data-refs.c')
0 files changed, 0 insertions, 0 deletions