\section{System setup} \label{sec:system} \begin{multicols}{2} Tests were run on a Raspberry Pi 3, Model B with 1GB RAM. Its processor is listed in \texttt{/proc/cpuinfo} as an `ARMv7 Processor rev 4 (v7l)', although the Hardware field is `BCM2709', which is an ARMv8 chip. To build programs, we used the following suite: \begin{itemize}[itemsep=0pt] \item gcc (Raspbian 4.9.2-10) 4.9.2 \item GNU assembler (GNU Binutils for Raspbian) 2.25 \item GNU ld (GNU Binutils for Raspbian) 2.25 \item A Clean compiler built from intermediate ABC files retrieved on December 7, 2016 \parencite{cocl}, built with the ARM code generator revision 295 \parencite{armcg} and the ARM RTS revision 387 \parencite{armrts}. \end{itemize} These programs are given \texttt{-march=armv7-a} when applicable to optimise for the ARMv7 architecture. The Thumb backend proposed in this thesis uses features that are deprecated by ARMv8-A (see \cref{sec:intro:conditionals}). \end{multicols}