Port-i386 archive

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

Re: MATH_EMULATE



Heikki Suonsivu <hsu%hsu.bbnetworks.net@localhost> writes:

> Joerg Sonnenberger <joerg%britannica.bec.de@localhost> writes:
>
>> On Mon, Jan 21, 2008 at 05:31:50PM +0200, Heikki Suonsivu wrote:
>> (a) MATH_EMULATE is slow.
>> (b) Keeping all the overhead in userland is not as bad.
>
> My point is avoiding dual ports.  If a specific application is time
> critical and too slow with MATH_EMULATE, one could always compile that
> specific package using soft-float, as that does not conflict with
> having MATH_EMULATE handling the default case?

One issue that makes this a lot more complicated is that compiling
soft-float changes the ABI. This is because one of the things missing
in non-FP-capable systems is the FP register set, which is normally
used to pass FP values. The most common example is 'printf("%f",
floatval);', but any function that takes FP arguments will do.

So compiling "that specific package" with soft-float requires having
an entire soft-float set of libraries to link against, and either only
linking statically or having a hard-versus-soft-FP switch mechanism
for every shared library with FP-accepting functions.

        - Nathan



Home | Main Index | Thread Index | Old Index