https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111866
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Tamar Christina <tnfch...@gcc.gnu.org>: https://gcc.gnu.org/g:eb15fad3190a8b33e3e451b964ff1ecf08bbb113 commit r14-4792-geb15fad3190a8b33e3e451b964ff1ecf08bbb113 Author: Tamar Christina <tamar.christ...@arm.com> Date: Fri Oct 20 14:58:39 2023 +0100 middle-end: don't pass loop_vinfo to vect_set_loop_condition during prolog peeling During the refactoring I had passed loop_vinfo on to vect_set_loop_condition during prolog peeling. This parameter is unused in most cases except for in vect_set_loop_condition_partial_vectors where it's behaviour depends on whether loop_vinfo is NULL or not. Apparently this code expect it to be NULL and it reads the structures from a different location. This fixes the failing testcase which was not using the lens values determined earlier in vectorizable_store because it was looking it up in the given loop_vinfo instead. gcc/ChangeLog: PR tree-optimization/111866 * tree-vect-loop-manip.cc (vect_do_peeling): Pass null as vinfo to vect_set_loop_condition during prolog peeling.