Commit b602712b by Andre Vieira Committed by Andre Vieira

[vect] Disable vectorization of epilogues for loops with SIMDUID set

gcc/ChangeLog:
2019-11-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* tree-vect-loop.c (vect_analyze_loop): Disable epilogue vectorization
	for loops with SIMDUID set.  Enable epilogue vectorization for loops
	with SIMDLEN set after finding a main loop with a VF that matches it.

From-SVN: r277964
parent 5384a802
2019-11-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
* tree-vect-loop.c (vect_analyze_loop): Disable epilogue vectorization
for loops with SIMDUID set. Enable epilogue vectorization for loops
with SIMDLEN set after finding a main loop with a VF that matches it.
2019-11-08 Jakub Jelinek <jakub@redhat.com> 2019-11-08 Jakub Jelinek <jakub@redhat.com>
PR target/92038 PR target/92038
...@@ -2455,11 +2455,15 @@ vect_analyze_loop (class loop *loop, vec_info_shared *shared) ...@@ -2455,11 +2455,15 @@ vect_analyze_loop (class loop *loop, vec_info_shared *shared)
delete loop_vinfo; delete loop_vinfo;
/* Only vectorize epilogues if PARAM_VECT_EPILOGUES_NOMASK is /* Only vectorize epilogues if PARAM_VECT_EPILOGUES_NOMASK is
enabled, this is not a simd loop and it is the innermost loop. */ enabled, SIMDUID is not set, it is the innermost loop and we have
vect_epilogues = (!loop->simdlen either already found the loop's SIMDLEN or there was no SIMDLEN to
begin with.
TODO: Enable epilogue vectorization for loops with SIMDUID set. */
vect_epilogues = (!simdlen
&& loop->inner == NULL && loop->inner == NULL
&& PARAM_VALUE (PARAM_VECT_EPILOGUES_NOMASK) && PARAM_VALUE (PARAM_VECT_EPILOGUES_NOMASK)
&& LOOP_VINFO_PEELING_FOR_NITER (first_loop_vinfo) && LOOP_VINFO_PEELING_FOR_NITER (first_loop_vinfo)
&& !loop->simduid
/* For now only allow one epilogue loop. */ /* For now only allow one epilogue loop. */
&& first_loop_vinfo->epilogue_vinfos.is_empty ()); && first_loop_vinfo->epilogue_vinfos.is_empty ());
......
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