[Bug tree-optimization/110310] vector epilogue handling is inefficient
rguenther at suse dot de
gcc-bugzilla@gcc.gnu.org
Thu Jun 22 12:03:50 GMT 2023
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110310
--- Comment #3 from rguenther at suse dot de <rguenther at suse dot de> ---
On Thu, 22 Jun 2023, avieira at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110310
>
> --- Comment #2 from avieira at gcc dot gnu.org ---
> I can't remember the exact reason either, though I do vaguely remember niter
> updating being something that we felt 'needed more future work' at the time.
>
> Just a side question, AVX512 has predication right? So how come you are
> expecting an epilogue?
I'm asking to only predicate the epilogues.
> I'm also curious about the condition on that snippet of code, 'known_eq (vf,
> lowest_vf)' seems odd.. lowest_vf is by definition constant, so known_eq only
> succeeds if vf is constant and the same as lowest_vf, but lowest_vf is the
> constant lower bound of vf, i.e. that seems like a very convoluted way of doing
> vf.is_constant (&lowest_vf)? Maybe this helper function wasn't around back
> then. Either way, it feels like we shouldn't be doing this if loop_vinfo is
> predicated? But I also agree that we probably want to be doing all of this
> during analysis, seems odd to be ruling out loop_vinfo's during transformation.
OK, so I take away from this that you don't think this is done the way
it is on purpose.
More information about the Gcc-bugs
mailing list