From bd120de19c600d064b3b3b5abf8c36ffc0037c40 Mon Sep 17 00:00:00 2001
From: Richard Biener <rguenther@suse.de>
Date: Tue, 3 Sep 2024 15:04:42 +0200
Subject: [PATCH] Fix missed peeling for gaps with SLP load-lanes

The following disables peeling for gap avoidance with using smaller
vector accesses when using load-lanes.

	* tree-vect-stmts.cc (get_group_load_store_type): Only disable
	peeling for gaps by using smaller vectors when not using
	load-lanes.
---
 gcc/tree-vect-stmts.cc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc
index ace1c8eaa0de..16f6889d853a 100644
--- a/gcc/tree-vect-stmts.cc
+++ b/gcc/tree-vect-stmts.cc
@@ -2127,6 +2127,7 @@ get_group_load_store_type (vec_info *vinfo, stmt_vec_info stmt_info,
 	  unsigned HOST_WIDE_INT tem, num;
 	  if (overrun_p
 	      && !masked_p
+	      && *memory_access_type != VMAT_LOAD_STORE_LANES
 	      && (((alss = vect_supportable_dr_alignment (vinfo, first_dr_info,
 							  vectype, misalign)))
 		   == dr_aligned
-- 
GitLab