https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80197
--- Comment #3 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to rguent...@suse.de from comment #2) > I think that if FDO says either the true or false edge is very likely > then not if-converting the loop is best? Or is a well-predicted > conditional move as good as a well-predicted if? 10% missed branches > would be more than Please note that when if-conversion succeeded through noce_try_addcc, we don't care about prediction anymore. The conversion converts: ucomisd %xmm5, %xmm4 jb .L17 .L16: addl $1, %ebp .L17: to: ucomisd %xmm0, %xmm3 # 195 *cmpiudf/2 [length = 4] sbbl $-1, %ebx # 196 subsi3_carry/1 [length = 3] IMO, this conversion should always be performed, as it is always a win.