[PATCH] rs6000: Make some BIFs vectorized on P10

Segher Boessenkool segher@kernel.crashing.org
Tue Aug 24 21:56:06 GMT 2021


On Fri, Aug 13, 2021 at 11:18:46AM +0800, Kewen.Lin wrote:
> on 2021/8/12 下午11:51, Segher Boessenkool wrote:
> > It is a bad idea to initialise things unnecessary: it hinders many
> > optimisations, but much more importantly, it silences warnings without
> > fixing the problem.
> 
> OK, I've made it uninitialized in v2. :-)  I believe the context here is simple
> and the uninit-ed var detector can easily catch and warn the bad thing in future.

And those warnings generally are for "MAY BE used uninitialised",
anyway.  They will warn :-)

(When the warning says "IS used uninitialised" the compiler should be
sure about that!)

> Sorry for chasing dead ends, I don't follow how it can hinder optimizations here,
> IIUC it would be optimized as a dead store here?

When the compiler is not sure if something needs initialisation or not
it cannot remove actually superfluous initialisation.  Such cases are
always too complicated code, so that should be fixed, not silenced :-)

> As to the warning, although
> there is no warning, I'd expect it causes ICE since the init-ed bif name isn't
> reasonable for generation.  Wouldn't it be better than warning?  Sometimes we
> don't have a proper value for initialization, I agree it should be better to
> just leave it be, but IMHO it isn't the case here.  :)

ICEing is always wrong.  A user should never see an ICE (not counting
"sorry"s as ICEs here -- not that those are good, but they tell the user
exactly what is going on).


Segher


More information about the Gcc-patches mailing list