[fpc-devel] FPC for Linux-ARM
Bernd Mueller
mueller.b at gmx.net
Thu Jan 20 11:01:55 CET 2011
Henry Vermaak wrote:
> 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.
three years ago, I compared an OABI kernel with double precision
Netwinder FPE emulation against softfloat and the softfloat variant was
about 2 until 10 times faster, depending on the floating point instructions.
>
> Henry
> _______________________________________________
> fpc-devel maillist - fpc-devel at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-devel
>
More information about the fpc-devel
mailing list