diff options
author | Richard Biener <rguenther@suse.de> | 2021-10-25 11:33:10 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2021-10-25 12:49:24 +0200 |
commit | 0b028fb4989c2bdfaf474b4493c5926fb40da3c3 (patch) | |
tree | 6d3600708a581b0922363b96fbc9b38926077d0e /gcc/tree-vect-data-refs.c | |
parent | 77b84fb0a8eac736f456e42b6a7801a76e4644eb (diff) | |
download | gcc-0b028fb4989c2bdfaf474b4493c5926fb40da3c3.zip gcc-0b028fb4989c2bdfaf474b4493c5926fb40da3c3.tar.gz gcc-0b028fb4989c2bdfaf474b4493c5926fb40da3c3.tar.bz2 |
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 <rguenther@suse.de>
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.
Diffstat (limited to 'gcc/tree-vect-data-refs.c')
-rw-r--r-- | gcc/tree-vect-data-refs.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c index 556ae97..cbcd4b8 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, |