[fpc-devel] FPC for Linux-ARM

Henry Vermaak henry.vermaak at gmail.com
Thu Jan 20 10:40:30 CET 2011


On 20/01/11 08:20, Michael Schnell wrote:
> On 01/19/2011 05:13 PM, Henry Vermaak wrote:
>>
>> it's really expensive to trap the illegal instructions and emulate them.
> AFAIK, the trapping is done by the ARM CPU, anyway, providing the
> emulation functions just costs some memory, but of course it's even
> slower and more intrusive than directly calling an FPU emulation
> function in user space.

No, the cpu generates an exception for every illegal fpu operation, 
which gets trapped by the kernel.  The kernel then has to catch this 
instruction and perform it by emulating the _whole_ fpu.  This, together 
with the exception handling causes the bad performance.  Look at the 
code in arch/arm/nwfpe if you're interested.

Henry



More information about the fpc-devel mailing list