https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105338
--- Comment #13 from denis.campredon at gmail dot com --- Thanks a lots. I have a question though: foo and bar are similar, foo produces a branchless code whereas bar uses a jump. int foo(int i) { return !i ? 0 : -2; } int bar(int i) { return i ? -2 : 0; } If I'm readding correctly in the two functions the probabilities are the same. Is this "normal" or worth a new ticket ?