On Mon, Jun 19, 2017 at 03:45:23PM +0100, Richard Earnshaw (lists) wrote: > >> At present all such insns are treated as having unknown cost (ie 0) and > >> combine assumes that such insns are infinitely more expensive than any > >> other insn sequence with a non-zero cost. > > > > That's not what combine does: it optimistically assumes any combination > > with unknown costs is an improvement. > > Actually the logic is > > int reject = old_cost > 0 && new_cost > old_cost; > > So reject will never be true if old cost is zero.
Yes, exactly; and neither if new_cost is zero. If any cost is unknown combine just hopes for the best. Segher