On Thu, Oct 08, 2020 at 11:37:24AM +0000, Wilco Dijkstra via Gcc-patches wrote:
> Which optimizations does it enable that aren't possible if the value is
> defined?
See bugzilla. Note other compilers heavily optimize on those builtins
undefined at value zero.
> > We just should make sure that we optimize code like x ? __builtin_c[lt]z
> > (x) : 32;
> > etc. properly (and I believe we do).
>
> I think we do, but both the external and internal documentation are not clear
> enough that most targets actually do define a value and will optimize for it.
> Otherwise we wouldn't have this bug now...
The documentation is very clear that the builtins are undefined at zero,
that is all that matters for users.
Jakub