diff options
author | Richard Biener <rguenther@suse.de> | 2024-10-01 15:17:18 +0200 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2024-10-02 08:15:44 +0200 |
commit | e592ea8ddffb44bab52d36d9862bb39ffae4d144 (patch) | |
tree | aa1152f583816bd29f187d127dc6a7db5e610a07 | |
parent | ed7b3e78183ffed49f197536239812fe77d7d687 (diff) | |
download | gcc-e592ea8ddffb44bab52d36d9862bb39ffae4d144.zip gcc-e592ea8ddffb44bab52d36d9862bb39ffae4d144.tar.gz gcc-e592ea8ddffb44bab52d36d9862bb39ffae4d144.tar.bz2 |
tree-optimization/116654 - missed dr_explicit_realign[_optimized] with SLP
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.
-rw-r--r-- | gcc/tree-vect-data-refs.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/tree-vect-data-refs.cc b/gcc/tree-vect-data-refs.cc index fe7fdec..920e3c1 100644 --- a/gcc/tree-vect-data-refs.cc +++ b/gcc/tree-vect-data-refs.cc @@ -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 |