We are using AMD 486 without any FPU. We have compiled everything for 386.
When we build the kernel, we tell it to build for 386 systems.

Is there a place where floating point emulation bench marks are kept so
that I can see if what I am seeing is normal (i.e. slower than other
realtime o/s) or there is something screwed up in my build scripts.

How costly is a floating point instruction exception?

--
Pawan Singh
[EMAIL PROTECTED]
650-404-0213

On Thu, 15 Jun 2000, Vik Sohal wrote:

> The 486 has an integrated FPU, it was the 386 that needed an external FPU.
> 
> When Intel started making Pentiums, they improved their floating-point
> performance so it was as good as (or in some cases better) than equivalent
> integer performance.
> 
> I think your problem may be caused by several issues:
> 1) You may be using a Linux that has been optimized to run on Pentiums (I am
> quite certain Red Hat is not, but Mandrake is)
> 2) You may be using a GCC that has the -686 switch turned on and it may be
> optimizing for Pentium (although this would probably lead to other
> consequences such as some floating point operations failing that are unique
> to Pentium)
> 
> My suggestion would be to try running a Linux that has been built to run on
> generic 386 machines. Redhat is probably a good choice, although there are
> probably others I am unaware of. Also, be sure to check what switches are
> turned on in GCC
> 
> Best Regards,
> Vik Sohal
> [EMAIL PROTECTED]
> 
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED]]On Behalf Of Pawan Singh
> > Sent: Thursday, June 15, 2000 9:56 AM
> > To: [EMAIL PROTECTED]
> > Subject: Math emulation on Linux very slow??
> >
> >
> >
> > Hi,
> >
> > We are using Linux as an embedded kernel on a 486 processor without any
> > FPU. What we are noticing is that floating point operations are 5-10 times
> > slower than the corresponding operation on Windows CE.
> >
> > Is this due to the fact that very floating point instruction is trapped to
> > the kernel? How expensive is the trapping?
> >
> > Why not write a user level library for doing math emulation and modify gcc
> > to generate code to keep prevent these floating point exceptions? For
> > example, Microsoft compiler generates functions like fdiv, fxxx, etc...
> > instead of generating actual floating point instructions. These functions
> > are user level library functions and keep track of the fact a floating
> > point exception occurred. If it did, these functions jump into emulation
> > code directly.
> >
> > Is there an easy solution without attempting to modify gcc?
> >
> > Thanks
> > --
> > Pawan Singh
> > [EMAIL PROTECTED]
> > 650-404-0213
> >
> >
> > --
> > To unsubscribe from this list, send a message to [EMAIL PROTECTED]
> > with the command "unsubscribe linux-embedded" in the message body.
> > For more information, see <http://waste.org/mail/linux-embedded>.
> >
> 


--
To unsubscribe from this list, send a message to [EMAIL PROTECTED]
with the command "unsubscribe linux-embedded" in the message body.
For more information, see <http://waste.org/mail/linux-embedded>.

Reply via email to