[Bug target/110740] [14 regression] gcc.target/powerpc/p9-vec-length-epil-1.c
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jul 24 06:21:19 GMT 2023
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110740
--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Kewen Lin <linkw@gcc.gnu.org>:
https://gcc.gnu.org/g:d07504725973ccdec78929a09dc13e5ebd9472f6
commit r14-2736-gd07504725973ccdec78929a09dc13e5ebd9472f6
Author: Kewen Lin <linkw@linux.ibm.com>
Date: Mon Jul 24 01:20:30 2023 -0500
vect: Don't vectorize a single scalar iteration loop [PR110740]
The function vect_update_epilogue_niters which has been
removed by r14-2281 has some code taking care of that if
there is only one scalar iteration left for epilogue then
we won't try to vectorize it any more.
Although costing should be able to care about it eventually,
I think we still want this special casing without costing
enabled, so this patch is to add it back in function
vect_analyze_loop_costing, and make it more general for
both main and epilogue loops as Richi suggested, it can fix
some exposed failures on Power10:
- gcc.target/powerpc/p9-vec-length-epil-{1,8}.c
- gcc.dg/vect/slp-perm-{1,5,6,7}.c
PR tree-optimization/110740
gcc/ChangeLog:
* tree-vect-loop.cc (vect_analyze_loop_costing): Do not vectorize a
loop with a single scalar iteration.
More information about the Gcc-bugs
mailing list