Re: MKSOFTFLOAT for evbppc

Matt Thomas <[email protected]>
Newsgroups gmane.os.netbsd.ports.powerpc
Message-ID <[email protected]>
On Sep 27, 2012, at 8:23 AM, Eduardo Horvath wrote:

> On Wed, 26 Sep 2012, David Brownlee wrote:
> 
>> Thats disappointing, but understandable :)
>> Is there some variant that will get gcc to use the fp registers but
>> not the instructions (assuming it doesn't trap on fp register
>> usage..): -mno-fused-madd -mno-mulhw -msimple-fpu looks to turn off
>> some instructions but not all.
> 
> Well, if you have no FPU you have no FPU registers.  If you have no FPU 
> registers, any instructions to access them will fault.  If you're going to 
> fault anyway, you may as well do the whole FP operation in the kernel 
> thaty way you only take one fault for the FPOP instead of one fault to 
> read the register contents and another fault to write the results back.

An alternative is to always use the soft-float ABI and just have a implementation of it that uses hard-float instructions.  You may have a few extra instructions to move arguments/results between register sets (as well as the call itself) but it shouldn't affect performance that much.

I actually implemented one of those for the 85xx using the SPE FP instructions and it gets loaded using LD_PRELOAD.  Maybe I should do a build using that and see how much time it saves over the normal softfloat implementation.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.