diff options
author | Kewen Lin <linkw@linux.ibm.com> | 2020-04-02 08:48:03 -0500 |
---|---|---|
committer | Kewen Lin <linkw@linux.ibm.com> | 2020-04-02 08:54:11 -0500 |
commit | 81ce375d1fdd99f9d93b00f4895eab74c3d8b54a (patch) | |
tree | acc2712194440216d6a4a94c1d4c92ce520ae591 /gcc/cp | |
parent | 68cbee9bf53332721ae33c517ca46039368c0a95 (diff) | |
download | gcc-81ce375d1fdd99f9d93b00f4895eab74c3d8b54a.zip gcc-81ce375d1fdd99f9d93b00f4895eab74c3d8b54a.tar.gz gcc-81ce375d1fdd99f9d93b00f4895eab74c3d8b54a.tar.bz2 |
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 <linkw@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.
Diffstat (limited to 'gcc/cp')
0 files changed, 0 insertions, 0 deletions