]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
tree-optimization/116654 - missed dr_explicit_realign[_optimized] with SLP
authorRichard Biener <rguenther@suse.de>
Tue, 1 Oct 2024 13:17:18 +0000 (15:17 +0200)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 2 Oct 2024 06:15:44 +0000 (08:15 +0200)
With single-lane SLP we miss to use the power realing loads causing
some testsuite FAILs.  r14-2430-g4736ddd11874fe exempted SLP of
non-grouped accesses because that could have been only splats
where the scheme isn't used anyway, but now with single-lane SLP
it can be contiguous accesses.

PR tree-optimization/116654
* tree-vect-data-refs.cc (vect_supportable_dr_alignment):
Treat non-grouped accesses like non-SLP.

gcc/tree-vect-data-refs.cc

index fe7fdec4ba0d9491a19fbd8724e0be060563d2eb..920e3c120a66c95e63f93072bdb56a3a080f233d 100644 (file)
@@ -7170,11 +7170,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)
-             && (!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))))
+             && 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