https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117553
--- Comment #6 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>: https://gcc.gnu.org/g:4b4aa47ed296968507b2fde70d2e651129ff3b36 commit r15-5227-g4b4aa47ed296968507b2fde70d2e651129ff3b36 Author: Richard Biener <rguent...@suse.de> Date: Wed Nov 13 14:43:27 2024 +0100 tree-optimization/117556 - SLP of live stmts from load-lanes The following fixes SLP live lane generation for load-lanes which fails to analyze for gcc.dg/vect/vect-live-slp-3.c because the VLA division doesn't work out but it would also wrongly use the transposed vector defs I think. The following properly disables the actual load-lanes SLP node from live lane processing and instead relies on the SLP permute node representing the live lane where we can use extract-last to extract the last lane. This also fixes the reported Ada miscompile. PR tree-optimization/117556 PR tree-optimization/117553 * tree-vect-stmts.cc (vect_analyze_stmt): Do not analyze the SLP load-lanes node for live lanes, but only the permute node. (vect_transform_stmt): Likewise for the transform. * gcc.dg/vect/vect-live-slp-3.c: Expect us to SLP even for VLA vectors (in single-lane mode).