https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94401

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Kewen Lin <li...@gcc.gnu.org>:

https://gcc.gnu.org/g:81ce375d1fdd99f9d93b00f4895eab74c3d8b54a

commit r10-7519-g81ce375d1fdd99f9d93b00f4895eab74c3d8b54a
Author: Kewen Lin <li...@linux.ibm.com>
Date:   Thu Apr 2 08:48:03 2020 -0500

    Fix PR94401 by considering reverse overrun

    The commit r10-7415 brings scalar type consideration
    to eliminate epilogue peeling for gaps, but it exposed
    one problem that the current handling doesn't consider
    the memory access type VMAT_CONTIGUOUS_REVERSE, for
    which the overrun happens on low address side.  This
    patch is to make the code take care of it by updating
    the offset and construction element order accordingly.

    Bootstrapped/regtested on powerpc64le-linux-gnu P8
    and aarch64-linux-gnu.

    2020-04-02  Kewen Lin  <li...@gcc.gnu.org>

    gcc/ChangeLog

        PR tree-optimization/94401
        * tree-vect-loop.c (vectorizable_load): Handle VMAT_CONTIGUOUS_REVERSE
        access type when loading halves of vector to avoid peeling for gaps.

Reply via email to