tree-vect-loop.c (vect_transform_loop): Properly compute upper bound for the epilogue when doing epilogue vectorization.

2018-12-03  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.c (vect_transform_loop): Properly compute
	upper bound for the epilogue when doing epilogue vectorization.

From-SVN: r266737
This commit is contained in:
Richard Biener 2018-12-03 13:24:08 +00:00 committed by Richard Biener
parent 3eec96ce31
commit bcda485bdf
2 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2018-12-03 Richard Biener <rguenther@suse.de>
* tree-vect-loop.c (vect_transform_loop): Properly compute
upper bound for the epilogue when doing epilogue vectorization.
2018-12-03 Ilya Leoshkevich <iii@linux.ibm.com>
PR target/80080

View File

@ -8548,9 +8548,12 @@ vect_transform_loop (loop_vec_info loop_vinfo)
{
unsigned int eiters
= (LOOP_VINFO_INT_NITERS (loop_vinfo)
- LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo));
eiters = eiters % lowest_vf;
- 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);
epilogue->nb_iterations_upper_bound = eiters - 1;
epilogue->any_upper_bound = true;
unsigned int ratio;
while (next_size < vector_sizes.length ()