On 2017-03-27 11:52:05 -0400, Tom Lane wrote:
> As to the point of whether it actually helps or not ...
>
> on gcc 6.3.1 (Fedora 25), yes it does. Seems to be one "jmp *something"
> per EEO_NEXT or EEO_JUMP.
>
> on gcc 4.4.7 (RHEL 6), it makes things *WORSE*. We go from about half of
> the dispatches getting routed through a common location, to *all* of them
> (except one; for some odd reason the first EEO_NEXT in EEOP_NULLIF
> survives as a separate jump). This seems like a bug, but there it is.
Gah :(. I have gcc 5,6,7 here, but nothing earlier. I'm now inclined
to go the version check routine, for the individual versions we can (and
want) confirm this on... I'm not too concerned about not doing so on
gcc 4.4 or older...
> So this means we'd need some serious research to decide whether to apply
> it. And I'm suspecting we'd end up with a compiler version test.
Indeed.
- Andres