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

Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.

        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.
---
 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 21e8fe98e44..b8a71605f1b 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)))
        {
-- 
2.35.3

Reply via email to