https://gcc.gnu.org/g:8a9b159a86081053289be0c44339623ff59717a2
commit r15-431-g8a9b159a86081053289be0c44339623ff59717a2 Author: Richard Biener <rguent...@suse.de> Date: Thu Nov 9 11:30:22 2023 +0100 PR60276 fix for single-lane SLP When enabling single-lane SLP and not splitting groups the fix for PR60276 is no longer effective since it for unknown reason exempted pure SLP. The following removes this exemption, making gcc.dg/vect/pr60276.c PASS even with --param vect-single-lane-slp=1 PR tree-optimization/60276 * tree-vect-stmts.cc (vectorizable_load): Do not exempt pure_slp grouped loads from the STMT_VINFO_MIN_NEG_DIST restriction. Diff: --- gcc/tree-vect-stmts.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index 21e8fe98e44a..b8a71605f1bc 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -9995,8 +9995,7 @@ vectorizable_load (vec_info *vinfo, /* Invalidate assumptions made by dependence analysis when vectorization on the unrolled body effectively re-orders stmts. */ - if (!PURE_SLP_STMT (stmt_info) - && STMT_VINFO_MIN_NEG_DIST (stmt_info) != 0 + if (STMT_VINFO_MIN_NEG_DIST (stmt_info) != 0 && maybe_gt (LOOP_VINFO_VECT_FACTOR (loop_vinfo), STMT_VINFO_MIN_NEG_DIST (stmt_info))) {