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