title: INC instruction vs ADD 1: Does it matter?
body: <p>From <a href="https://stackoverflow.com/a/13435633/124486">Ira Baxter answer on, <em>Why do the INC and DEC instructions <strong>not</strong> affect the Carry Flag (CF)?</em></a></p>
  
  <blockquote>
    <p>Mostly, I stay away from <code>INC</code> and <code>DEC</code> now, because they do partial condition code updates, and this can cause funny stalls in the pipeline, and <code>ADD</code>/<code>SUB</code> don't.  So where it doesn't matter (most places), I use <code>ADD</code>/<code>SUB</code> to avoid the stalls.  I use <code>INC</code>/<code>DEC</code> only when keeping the code small matters, e.g., fitting in a cache line where the size of one or two instructions makes enough difference to matter.  This is probably pointless nano[literally!]-optimization, but I'm pretty old-school in my coding habits.</p>
  </blockquote>
  
  <p>And I would like to ask why it can cause stalls in the pipeline while add doesn't? After all, both <code>ADD</code> and <code>INC</code> updates flag registers. The only difference is that <code>INC</code> doesn't update <code>CF</code>. But why it matters?</p>