diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2019-11-11 19:43:52 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2019-11-11 19:43:52 +0000 |
commit | 599bd99078439b9f11cb271aa919844318381ec5 (patch) | |
tree | 43e915fe087ef94d41149983ad0b8fba1b8547ff /gcc/tree-complex.c | |
parent | 98aad294705ac35aec058e020867d736d841dad0 (diff) | |
download | gcc-599bd99078439b9f11cb271aa919844318381ec5.zip gcc-599bd99078439b9f11cb271aa919844318381ec5.tar.gz gcc-599bd99078439b9f11cb271aa919844318381ec5.tar.bz2 |
Fix SLP downward group access classification (PR92420)
This PR was caused by the SLP handling in get_group_load_store_type
returning VMAT_CONTIGUOUS rather than VMAT_CONTIGUOUS_REVERSE for
downward groups.
A more elaborate fix would be to try to combine the reverse permutation
into SLP_TREE_LOAD_PERMUTATION for loads, but that's really a follow-on
optimisation and not backport material. It might also not necessarily
be a win, if the target supports (say) reversing and odd/even swaps
as independent permutes but doesn't recognise the combined form.
2019-11-11 Richard Sandiford <richard.sandiford@arm.com>
gcc/
PR tree-optimization/92420
* tree-vect-stmts.c (get_negative_load_store_type): Move further
up file.
(get_group_load_store_type): Use it for reversed SLP accesses.
gcc/testsuite/
* gcc.dg/vect/pr92420.c: New test.
From-SVN: r278064
Diffstat (limited to 'gcc/tree-complex.c')
0 files changed, 0 insertions, 0 deletions