[fpc-devel] FPC and Windows Phone 8

Michael Schnell mschnell at lumino.de
Wed Mar 12 10:25:19 CET 2014

On 03/11/2014 03:12 PM, Vsevolod Alekseyev wrote:
> For the record, all modern mobile SDKs that I know of use Thumb as the 
> default instruction set for native code compilation. And with Thumb-2 
> on ARMv7 cores, the performance is on par between ARM and Thumb. The 
> original Thumb, years ago, was compiled to ARM, but not any longer....

I did not do any research on Thumb myself, but I did some regarding MIPS 
(running on PIC32) that also can run in modes with 32 Bit and 16 Bit 
instructions words.

It's obvious that it depends on the hardware environment such as the 
size and relative speed (regarding the CPU) of the 1st level cache if 
code runs faster with 32 Bit instruction words.

Small code snippets with many iterations with limited data memory usage 
(such as calculation of PI) tend to run faster with 32 instruction words.

With MIPS you can call 32 or 16 bit functions without any Mode-Switch 
overhead, so "Math" libraries should be done in 32 Bit, While a database 
supposedly is better compiled to 16 Bit.


More information about the fpc-devel mailing list