title: What does the exclamation mark mean in the end of an A64 instruction?
body: <p>The <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.den0024a/ch05s01s02.html" rel="noreferrer">documentation for LDP and STP</a> gives an example instruction with an exclamation mark in the end:</p>
  
  <pre><code>LDP X8, X2, [X0, #0x10]!
  </code></pre>
  
  <p>Also the <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.den0024a/ch08s02s01.html" rel="noreferrer">documentation about porting A32 PUSH/POP</a> instructions into A64 gives the following examples:</p>
  
  <pre><code>PUSH {r0-r1} ---&gt; STP X0, X1, [SP, #-16]!
  POP {r0-r1}  ---&gt; LDP X0, X1, [SP], #16
  </code></pre>
  
  <p>Neither of the pages explains what the exclamation mark in the end of the instructions means. What does it?</p>