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