https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112657
--- Comment #6 from Uroš Bizjak <ubizjak at gmail dot com> --- This is by design, CMOV should not be used instead of well predicted jumps. FYI, CMOV is quite problematic on x86, there are several PRs where conversion to CMOV resulted in 2x slower execution. Please see e.g.: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56309#c26