linux-mips
[Top] [All Lists]

RE: soft-float

To: "Manuel Lauss" <manuel.lauss@googlemail.com>, "Kevin D. Kissell" <kevink@paralogos.com>
Subject: RE: soft-float
From: "Jabir M" <Jabir_M@pmc-sierra.com>
Date: Wed, 23 Jun 2010 04:25:39 -0700
Cc: "David Daney" <ddaney@caviumnetworks.com>, <linux-mips@linux-mips.org>, <ralf@linux-mips.org>
References: <BE430C874DBA6841A75E65151DCC6E1C0407668F@BBY1EXM11.pmc_nt.nt.pmc-sierra.bc.ca><AANLkTimHTt3jCTPrlIDAkdDc8WheBf7bdEThk3JO8yNO@mail.gmail.com><4C126D2A.6040305@caviumnetworks.com><4C127358.3030905@paralogos.com> <AANLkTikIur8HkXppazHT7AT2oUkNz2Mf3qvDZiLR-r25@mail.gmail.com>
Sender: linux-mips-bounce@linux-mips.org
Thread-index: AcsJk/HHfPUceqYDQ4aHLSSNICEpiQJMAixV
Thread-topic: soft-float


 
On Fri, Jun 11, 2010 at 7:33 PM, Kevin D. Kissell <kevink@paralogos.com> wrote:
>> An optimized, assembly-language soft-float library implementation is *much*
>> faster than the kernel emulator, but I benchmarked it once upon a time
>> against a portable gnu soft-float library in C, and the difference wasn't
>> nearly as dramatic.

> The in-kernel emulator always works.  The float conformance test app Ralf
> pointed out a few weeks ago doesn't run correctly when built with a recent
> softfloat gcc with any optimization higher than O0 (tested with 4.4.4, 4.3.4).
> I'd take correctness over speed any day of the week...

Thank you all for your comments. I have compiled a new crosstoolchain( gcc 
4.3.3 binutils 2.19.1 and glibc 2.9) and library with soft float enabled. I 
could see considerable performance improvement with my application.
Coming back to correctnes , I ran paranoia.c [1] for verification and I got 
following result

"No failures, defects nor flaws have been discovered.
Rounding appears to conform to the proposed IEEE standard P754.
The arithmetic diagnosed appears to be Excellent!"

Shall I beleive the results and go ahead with soft float ?. Is there any other 
test to verify reliability of soft float ?.

Thanks and Regards
Jabir

[1] http://www.netlib.org/paranoia/paranoia.c

<Prev in Thread] Current Thread [Next in Thread>