title: ARM Thumb/Thumb-2 performance
body: <p>I am working on an ARM Cortex-M3 controller which has the Thumb-2 instruction set.</p>
  <p>Thumb mode is used to compress the instruction to a 16-bit size.
  So size of code is reduced. But with normal Thumb mode, why is it said that performance is reduced?</p>
  <p>In case of Thumb-2, it is said performance is improved as per these two links:</p>
  <ul>
  <li><a href="https://en.wikipedia.org/wiki/ARM_architecture#Thumb-2" rel="nofollow noreferrer">Wikipedia</a></li>
  <li><a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0344c/Beiiegaf.html" rel="nofollow noreferrer">Arm.com</a></li>
  </ul>
  <blockquote>
  <p>Improve performance in cases where a single 16-bit instruction restricts functions available to the compiler.</p>
  <p>A stated aim for Thumb-2 was to achieve code density similar to Thumb with performance similar to the ARM instruction set on 32-bit memory.</p>
  </blockquote>
  <p>What exactly is this performance? Can someone give a few examples related to it?</p>