\section{Approach}
\label{sec:approach}

It is possible to mix ARM and Thumb instructions:
\enquote{[t]he ARM and Thumb instruction sets are designed to \emph{interwork} freely}~\citep{armv7m}.
We could therefore decide to generate code for some sections using ARM instructions, and for other using Thumb instructions.
This could give better end results,
	if the code generator would recognise which instruction set is best in what case.
However, some architectures, like ARMv7-M, only support Thumb instructions.
I choose to look at Thumb instructions only,
	so that the widest range of architectures possible can be supported.
