https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78120
--- Comment #4 from Bernd Schmidt <bernds at gcc dot gnu.org> --- The other issue here seems to be simply that BRANCH_COST is 0 for predictable branches on x86. Which makes the default implementation of the hook used here if_info.max_seq_cost = targetm.max_noce_ifcvt_seq_cost (then_edge); come out as zero, and we fail the conversion because of this.