This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Floating point emulation


>Interesting.. But that has to be expected every time you use
>hardware in a manner that it wasn't indended for (same
>story, it's not easier to play at 8KHz on a DSP that only
>supports 24KHz...). 

The hardware designers probably wanted it to be used for both double
and single, but may have had either gate count, or testing, or design
time do don only one or the other and chose to do double precision.
I'm sure that using DP hardware to implement SP operations is still
*faster* than calling emulation routines...

>However, I was talking about code compiled with -msoft-float... where
>arguably all operations are performedwith many cycles by the
>non-floating-point-enable CPU...Then it should always be slower to use
>double than single? (if double is indeed bigger than single, as
>pointed out in Kai's other posting on the subject).

Indeed I'd expect that double precision emulation to be *slower* than
single precision emulation.

I have seen FPU emulation packages that only implemented the double
precision operations, and an single precision calls were implemented
by converting the operands from single to double, call the double
precision routine, and convert the result from double to single, and
then return. 

Thankfully that was ten years ago.

-- 
Peter Barada                                   Peter.Barada@motorola.com
Wizard                                         781-852-2768 (direct)
WaveMark Solutions(wholly owned by Motorola)   781-270-0193 (fax)

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]