From: Richard Biener Date: Mon, 25 Oct 2021 09:33:10 +0000 (+0200) Subject: tree-optimization/102905 - restore re-align load for alignment peeling X-Git-Tag: basepoints/gcc-13~3653 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0b028fb4989c2bdfaf474b4493c5926fb40da3c3;p=thirdparty%2Fgcc.git tree-optimization/102905 - restore re-align load for alignment peeling Previous refactoring made the possibility of considering re-aligned loads for unlimited cost model alignment peeling difficult so I ditched that. Later refactoring made it easily possible again so the following patch re-instantiates this which should fix the observed regression on powerpc with altivec. 2021-10-25 Richard Biener PR tree-optimization/102905 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Use vect_supportable_dr_alignment again to determine whether an access is supported when not aligned. --- diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c index 556ae9725f13..cbcd4b802462 100644 --- a/gcc/tree-vect-data-refs.c +++ b/gcc/tree-vect-data-refs.c @@ -1994,9 +1994,8 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo) prune all entries from the peeling hashtable which cause DRs to be not supported. */ bool supportable_if_not_aligned - = targetm.vectorize.support_vector_misalignment - (TYPE_MODE (vectype), TREE_TYPE (DR_REF (dr_info->dr)), - DR_MISALIGNMENT_UNKNOWN, false); + = vect_supportable_dr_alignment + (loop_vinfo, dr_info, vectype, DR_MISALIGNMENT_UNKNOWN); while (known_le (npeel_tmp, nscalars)) { vect_peeling_hash_insert (&peeling_htab, loop_vinfo,