https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92420
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-8 branch has been updated by Richard Sandiford <rsand...@gcc.gnu.org>: https://gcc.gnu.org/g:785eda9390473e42f0e0b7199c42032a0432de68 commit r8-10057-g785eda9390473e42f0e0b7199c42032a0432de68 Author: Richard Sandiford <richard.sandif...@arm.com> Date: Mon Nov 11 19:43:52 2019 +0000 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. 2020-02-25 Richard Sandiford <richard.sandif...@arm.com> gcc/ Backport from mainline 2019-11-11 Richard Sandiford <richard.sandif...@arm.com> 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/ PR tree-optimization/92420 * gcc.dg/vect/pr92420.c: New test.