[gcc r15-431] PR60276 fix for single-lane SLP

Richard Biener rguenth@gcc.gnu.org
Mon May 13 12:55:33 GMT 2024


https://gcc.gnu.org/g:8a9b159a86081053289be0c44339623ff59717a2

commit r15-431-g8a9b159a86081053289be0c44339623ff59717a2
Author: Richard Biener <rguenther@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)))
 	{


More information about the Gcc-cvs mailing list