diff options
Diffstat (limited to 'thesis/intro.tex')
-rw-r--r-- | thesis/intro.tex | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/thesis/intro.tex b/thesis/intro.tex index 3d6347c..ccffb4c 100644 --- a/thesis/intro.tex +++ b/thesis/intro.tex @@ -308,22 +308,12 @@ In much of the rest of this thesis we discuss differences between ARM and Thumb, In \cref{sec:storing-pc}, we consider an issue arising from halfword-aligned instructions and the way a read of PC is interpreted under Thumb. \Cref{sec:code-addresses} discusses problems related to the fact that Thumb instruction addresses use bit 1 and should have bit 0 set for interworking, while under ARM a branch will automatically clear both these bits. -There was a minor problem with negative offsets to the \ual{ldr} instruction, - that cannot be as large in Thumb as they can in ARM. -\Cref{sec:load-offsets} deals with this. +For some instructions, the constants in the ARM variant can be larger than those in the Thumb variant. +\Cref{sec:load-offsets} deals with related issues in the \ual{ldr} instruction. Moving to Thumb introduces a number of interesting optimisation vectors. One of them, register allocation, is discussed in \cref{sec:reg-alloc}. We benchmark the Thumb backend for Clean and discuss the results in \cref{sec:results}. -\subsection{Terminology} -\label{sec:intro:terminology} -As mentioned, we will usually use \enquote{Thumb} where the Thumb-2 extension is meant, - and only distinguish Thumb and Thumb-2 when this distinction is relevant --- - for \enquote{ARM}, context makes out whether the architecture or the instruction set is meant. - -For brevity, a number of common abbreviations is used. -An overview can be found in \cref{sec:terminology}. - \end{multicols} |