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.

Reply via email to