It seems to me that the optimization you are trying to do is basically out of date. Most modern processors have built-in branch prediction, so (provided that it is used enough to notice), they track how often a branch is accepted or not, and predict whether the branch can be accepted or not based on its past picture, which you need to accept or not, in this case, the speed depends primarily on how accurate this prediction is, and whether the prediction is accepted or not.
So you are probably best using simpler code:
int MyFunction() { if (!likely_condition) { meet_condition(); }
source share