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

Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.

Richard.

        * 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 4e23b57a93b..f6c5b7a7e87 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
-- 
2.43.0

Reply via email to