https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103554

--- Comment #12 from Hongtao.liu <crazylht at gmail dot com> ---
(In reply to rguent...@suse.de from comment #11)
> On Tue, 7 Dec 2021, crazylht at gmail dot com wrote:
> 
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103554
> > 
> > --- Comment #10 from Hongtao.liu <crazylht at gmail dot com> ---
> > Got it, thanks for your detail explanation, so there're 2 issues in this 
> > case,
> > first x86 target didn't choose vector size w/ smallest cost, second BB
> > vectorization with gaps at the end of a load is not supported.
> > 
> > on the other side, if "BB vectorization with gaps at the end of a load is 
> > not
> > supported", cost of scalar version should be cheaper than both 128 and 256
> > vectorization. I've once tried to increase cost of vec_construct to make it
> > more realistic, but the patch regressed PR101929. The current cost model 
> > tends
> > to generate more vectorized code.
> 
> The cost model would really need to look at more than a single stmt.  If
> there is work to schedule in parallel to a vector build then it really
> isn't that expensive.  It's just that if we are dependent on the result
> and cannot proceed then it can end up being more expensive.
> 
> Remember we are really costing assuming stmts execute one at a time,
> simply adding latencies.  We have ideas on how to improve on that side.

Agree, let me play with VECT_COMPARE_COSTS.

Reply via email to