diff --git a/gcc/ifcvt.cc b/gcc/ifcvt.cc index cb5597bc171..6d67bef41c8 100644 --- a/gcc/ifcvt.cc +++ b/gcc/ifcvt.cc @@ -166,6 +166,13 @@ cheap_bb_rtx_cost_p (const_basic_block bb, { if (NONJUMP_INSN_P (insn)) { + /* Inline-asm's cost is not very estimatable. + It could be a costly instruction but the + estimate would be the same as a non costly + instruction. */ + if (asm_noperands (PATTERN (insn)) >= 0) + return false; + int cost = insn_cost (insn, speed) * REG_BR_PROB_BASE; if (cost == 0) return false;