Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: New Raspberry Pi image

On 1/25/13 2:32 PM, Matt Thomas wrote:
> On Jan 25, 2013, at 10:34 AM, Stephan wrote:
>> That makes things clear. As for performance in general, what known
>> issues are there yet? One thing I know is hard-float, which apparently
>> requires changes to libc (also to the CPU support in the kernel?).
> Hardfloat requires an entire changes to a new ABI.  It's a very big change.

My understanding (which may be wrong) is that there are two pretty
distinct pieces of work needed to fully support hardfloat.

One is that the kernel needs to save/restore the FPU's state on context
switches, and deal with initializing it, processing FPU-specific
exceptions, etc.

The other is that the hardfloat ARM ABI uses FPU registers to pass
values around, and so it's (of course) incompatible with the softfloat ABI.

It's possible to do the first without doing the second. Function-call
performance isn't as good, since you don't get to use the FPU registers,
but the inner loops of fp-heavy code can be compiled to use hardware
floating point instructions and get most of the speedup of a full
hardfloat implementation. I think gcc even has a flag for this situation
(hardfloat using the softfloat ABI).

Home | Main Index | Thread Index | Old Index