diff options
author | Alejandro Martinez <alejandro.martinezvicente@arm.com> | 2019-05-28 13:48:44 +0000 |
---|---|---|
committer | Alejandro Martinez <alejandro@gcc.gnu.org> | 2019-05-28 13:48:44 +0000 |
commit | 997636716c5dde7d59d026726a6f58918069f122 (patch) | |
tree | d18d1d7f5388bc0bb743583ce506e284c8eb60d3 /gcc/tree-data-ref.c | |
parent | 8b4e7143550cd1f3f4b1dca005a5e656506979d9 (diff) | |
download | gcc-997636716c5dde7d59d026726a6f58918069f122.zip gcc-997636716c5dde7d59d026726a6f58918069f122.tar.gz gcc-997636716c5dde7d59d026726a6f58918069f122.tar.bz2 |
Current vectoriser doesn't support masked loads for SLP.
Current vectoriser doesn't support masked loads for SLP. We should add that, to
allow things like:
void
f (int *restrict x, int *restrict y, int *restrict z, int n)
{
for (int i = 0; i < n; i += 2)
{
x[i] = y[i] ? z[i] : 1;
x[i + 1] = y[i + 1] ? z[i + 1] : 2;
}
}
to be vectorized using contiguous loads rather than LD2 and ST2.
This patch was motivated by SVE, but it is completely generic and should apply
to any architecture with masked loads.
From-SVN: r271704
Diffstat (limited to 'gcc/tree-data-ref.c')
-rw-r--r-- | gcc/tree-data-ref.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c index 67b960d..4dc03ef 100644 --- a/gcc/tree-data-ref.c +++ b/gcc/tree-data-ref.c @@ -1271,7 +1271,7 @@ create_data_ref (edge nest, loop_p loop, tree memref, gimple *stmt, return dr; } -/* A helper function computes order between two tree epxressions T1 and T2. +/* A helper function computes order between two tree expressions T1 and T2. This is used in comparator functions sorting objects based on the order of tree expressions. The function returns -1, 0, or 1. */ |