aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-data-refs.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2021-10-25 11:33:10 +0200
committerRichard Biener <rguenther@suse.de>2021-10-25 12:49:24 +0200
commit0b028fb4989c2bdfaf474b4493c5926fb40da3c3 (patch)
tree6d3600708a581b0922363b96fbc9b38926077d0e /gcc/tree-vect-data-refs.c
parent77b84fb0a8eac736f456e42b6a7801a76e4644eb (diff)
downloadgcc-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.c5
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,