public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] tree-optimization/110614 - SLP splat and re-align (optimized)
@ 2023-07-11 10:22 Richard Biener
  0 siblings, 0 replies; only message in thread
From: Richard Biener @ 2023-07-11 10:22 UTC (permalink / raw)
  To: gcc-patches

The following properly guards the re-align (optimized) paths used
on old power CPUs for the added case of SLP splats from non-grouped
loads.  Testcases are existing in dg-torture.

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

	PR tree-optimization/110614
	* tree-vect-data-refs.cc (vect_supportable_dr_alignment):
	SLP splats are not suitable for re-align ops.
---
 gcc/tree-vect-data-refs.cc | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/gcc/tree-vect-data-refs.cc b/gcc/tree-vect-data-refs.cc
index ab2af103cb4..9edc8989de9 100644
--- a/gcc/tree-vect-data-refs.cc
+++ b/gcc/tree-vect-data-refs.cc
@@ -6829,10 +6829,11 @@ vect_supportable_dr_alignment (vec_info *vinfo, dr_vec_info *dr_info,
 	     same alignment, instead it depends on the SLP group size.  */
 	  if (loop_vinfo
 	      && STMT_SLP_TYPE (stmt_info)
-	      && !multiple_p (LOOP_VINFO_VECT_FACTOR (loop_vinfo)
-			      * (DR_GROUP_SIZE
-				 (DR_GROUP_FIRST_ELEMENT (stmt_info))),
-			      TYPE_VECTOR_SUBPARTS (vectype)))
+	      && (!STMT_VINFO_GROUPED_ACCESS (stmt_info)
+		  || !multiple_p (LOOP_VINFO_VECT_FACTOR (loop_vinfo)
+				  * (DR_GROUP_SIZE
+				       (DR_GROUP_FIRST_ELEMENT (stmt_info))),
+				  TYPE_VECTOR_SUBPARTS (vectype))))
 	    ;
 	  else if (!loop_vinfo
 		   || (nested_in_vect_loop
-- 
2.35.3

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-07-11 10:22 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-11 10:22 [PATCH] tree-optimization/110614 - SLP splat and re-align (optimized) Richard Biener

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).