https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112657

--- Comment #5 from Uroš Bizjak <ubizjak at gmail dot com> ---
Digging a bit further:

if_info.max_seq_cost is calculated via targetm.max_noce_ifcvt_seq_cost, where
without params set we return:

  return BRANCH_COST (true, predictable_p) * COSTS_N_INSNS (2);

with:

#define BRANCH_COST(speed_p, predictable_p) \
  (!(speed_p) ? 2 : (predictable_p) ? 0 : ix86_branch_cost)

So, the conversion is clearly not desirable for well predicted jumps.

Reply via email to