tech-kern archive

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

Re: hf/sf [Was Re: CVS commit: pkgsrc/misc/raspberrypi-userland]



On Nov 12, 2013, at 9:33 AM, Dennis Ferguson 
<dennis.c.ferguson%gmail.com@localhost> wrote:

> 
> On 11 Nov, 2013, at 15:31 , Justin Cormack 
> <justin%specialbusservice.com@localhost> wrote:
>> On Mon, Nov 11, 2013 at 10:56 PM, Michael van Elst 
>> <mlelstv%serpens.de@localhost> wrote:
>>> matt%3am-software.com@localhost (Matt Thomas) writes:
>>> 
>>>> Exactly.  with hf, floating point values are passed in floating point
>>>> registers.  That can not be hidden via a library (this works on x86
>>>> since the stack has all the arguments).
>>> 
>>> It could be hidden by emulating the floating point hardware.
>> 
>> Thats not sane. The slowdown would be enormous. You are emulating
>> registers as well as operations.
> 
> I'm not positive, but isn't this how the original ARM ABI works?
> I thought the reason they replaced this with the earm ABI is that
> almost no CPUs of that vintage had floating point units and with
> eabi the soft float binaries don't have to pay the emulated
> instruction cost for function calls.  And I thought the reason we
> got earmhf is that most modern processors now have floating point
> units (though not the same instruction set that the original ABI
> assumed) but the instructions for copying values between the floating
> point and integer registers, which get used a lot if you compile
> hardware floating point with the earm ABI, are abysmally slow (and
> there aren't a whole lot of integer registers anyway, so the integer
> argument registers get filled up fast if you are passing doubles).

The original arm abi had optional support FPA but netbsd never used
it even though we had a FPA emulator.  That bitrotted into uselessness
since everyone just used softfloat. 



Home | Main Index | Thread Index | Old Index