]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR60276 fix for single-lane SLP
authorRichard Biener <rguenther@suse.de>
Thu, 9 Nov 2023 10:30:22 +0000 (11:30 +0100)
committerRichard Biener <rguenther@suse.de>
Mon, 13 May 2024 12:55:16 +0000 (14:55 +0200)
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.

gcc/tree-vect-stmts.cc

index 21e8fe98e44ab07eb9a361c2ef3461ed3f1d97cf..b8a71605f1bc79b8ee3c65c2ddec8d5283db955d 100644 (file)
@@ -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)))
        {