aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2018-12-04 13:23:13 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2018-12-04 13:23:13 +0000
commitfa29266c1da984345e0637b7479bbcc4b34cafde (patch)
tree3666d5bac499db31677cad9ef1520c68e619cdbd /gcc/tree-vect-loop.c
parent0f7bbec7298894608d6ccf1585b6a541d79ae609 (diff)
downloadgcc-fa29266c1da984345e0637b7479bbcc4b34cafde.zip
gcc-fa29266c1da984345e0637b7479bbcc4b34cafde.tar.gz
gcc-fa29266c1da984345e0637b7479bbcc4b34cafde.tar.bz2
tree-vect-loop.c (vect_transform_loop): Fix epilogue iterations for epilogue vectorization.
2018-12-04 Richard Biener <rguenther@suse.de> * tree-vect-loop.c (vect_transform_loop): Fix epilogue iterations for epilogue vectorization. From-SVN: r266777
Diffstat (limited to 'gcc/tree-vect-loop.c')
-rw-r--r--gcc/tree-vect-loop.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index fa926f4..8934d0e 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -8501,13 +8501,13 @@ vect_transform_loop (loop_vec_info loop_vinfo)
targetm.vectorize.autovectorize_vector_sizes (&vector_sizes);
unsigned int next_size = 0;
+ /* Note LOOP_VINFO_NITERS_KNOWN_P and LOOP_VINFO_INT_NITERS work
+ on niters already ajusted for the iterations of the prologue. */
if (LOOP_VINFO_NITERS_KNOWN_P (loop_vinfo)
- && LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo) >= 0
&& known_eq (vf, lowest_vf))
{
- unsigned int eiters
+ unsigned HOST_WIDE_INT eiters
= (LOOP_VINFO_INT_NITERS (loop_vinfo)
- - LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo)
- LOOP_VINFO_PEELING_FOR_GAPS (loop_vinfo));
eiters
= eiters % lowest_vf + LOOP_VINFO_PEELING_FOR_GAPS (loop_vinfo);