Commit fa29266c by Richard Biener Committed by Richard Biener

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
parent 0f7bbec7
2018-12-04 Richard Biener <rguenther@suse.de> 2018-12-04 Richard Biener <rguenther@suse.de>
* tree-vect-loop.c (vect_transform_loop): Fix epilogue iterations
for epilogue vectorization.
2018-12-04 Richard Biener <rguenther@suse.de>
PR tree-optimization/88301 PR tree-optimization/88301
* tree-vrp.c (register_edge_assert_for_2): Fix sign-conversion * tree-vrp.c (register_edge_assert_for_2): Fix sign-conversion
issues in last commit. issues in last commit.
...@@ -8501,13 +8501,13 @@ vect_transform_loop (loop_vec_info loop_vinfo) ...@@ -8501,13 +8501,13 @@ vect_transform_loop (loop_vec_info loop_vinfo)
targetm.vectorize.autovectorize_vector_sizes (&vector_sizes); targetm.vectorize.autovectorize_vector_sizes (&vector_sizes);
unsigned int next_size = 0; 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) if (LOOP_VINFO_NITERS_KNOWN_P (loop_vinfo)
&& LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo) >= 0
&& known_eq (vf, lowest_vf)) && known_eq (vf, lowest_vf))
{ {
unsigned int eiters unsigned HOST_WIDE_INT eiters
= (LOOP_VINFO_INT_NITERS (loop_vinfo) = (LOOP_VINFO_INT_NITERS (loop_vinfo)
- LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo)
- LOOP_VINFO_PEELING_FOR_GAPS (loop_vinfo)); - LOOP_VINFO_PEELING_FOR_GAPS (loop_vinfo));
eiters eiters
= eiters % lowest_vf + LOOP_VINFO_PEELING_FOR_GAPS (loop_vinfo); = eiters % lowest_vf + LOOP_VINFO_PEELING_FOR_GAPS (loop_vinfo);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment