I can see that; I'll play with that
the asm generated for this is 2 movl instructions for immediate to register.
Doing fancy tricks ... it may well end up bigger and gain nothing.
function calls are *CHEAP*.
passing the condition is actually near free (remember we have regparm!), it's likely to be
in a register already anyway.
Doing the test inline makes stuff bigger, and also spreads the branch prediction pain around
rather than having one nicely predictable place...
--