[Bug tree-optimization/122573] C++ missed invariant motion vs. vectorization
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Nov 14 11:06:52 GMT 2025
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122573
--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rguenth@gcc.gnu.org>:
https://gcc.gnu.org/g:a645e903e8c3940f521262ff7ccb7a46e72e3604
commit r16-5275-ga645e903e8c3940f521262ff7ccb7a46e72e3604
Author: Richard Biener <rguenther@suse.de>
Date: Thu Nov 6 11:49:31 2025 +0100
tree-optimization/122573 - enhance SLP of invariant loads
Currently SLP of invariant loads is only supported for the case of
a single load that is splat, as side-effect of supporting this case
even for non-invariant loads. The following extends this to any
set of invariant loads. The way we have load permutations for
these makes it a bit awkward, thus adjustments in that area.
PR tree-optimization/122573
* tree-vect-slp.cc (vect_build_slp_tree_1): Support
groups of invariant loads.
(vect_build_slp_tree_2): Likewise.
(vect_transform_slp_perm_load_1): Likewise.
* tree-vect-stmts.cc (vectorizable_load): Handle non-splat
SLP for invaraint loads.
* gcc.dg/vect/slp-58.c: New testcase.
More information about the Gcc-bugs
mailing list