[fpc-devel]Re: some m68k releated stuff

Balogh, Karoly (Charlie/iNQ) charlie at scenergy.dfmk.hu
Fri Mar 28 10:29:49 CET 2003


Hi,

On 2003-03-28, Marco van de Voort wrote:

> I can vaguely remember something about the 040 not having a few FPU
> instructions the 030 has, maybe that also goes for 060's.

The 030 doesn't have any internal FPU. You most probably think about
the '881/882 FPU. :) But yes, the 040/060 FPU only supports portions
of the 6888x FPU instruction set. In fact, most of the FPU instructions
are emulated on a 040. But of course, the most important instructions
(FADD/FSUB/FMUL/FMOVE/FDIV/FSQRT/etc) are supported by the hardware.
Only the less often used instructions was left out and emulated, like
FCOS-FSIN&co, FLOG*, and such.
 
> The NetBSD kernel emulates these afaik. (for 040)

Motorola always gave a software emulation package for 040 and for
060 too, which provides 100% 68020 and 68882 compatibility. AmigaOS
also emulates the unimplemented instructions, using these so-called
cpu-libraries. The 68060  has a few, but rarely used integer 
instructions unimplemented, to simplify the CPU's pipeline design,
but the 68060.library emulates these as well. 

There is another possibility to avoid emulation under AmigaOS. Most
Amiga compilers use the so-called mathieee* libraries to take 
care on their math. These libraries are provided by default, and
contains emulation stuff for float math. (Both for double and for
single precision). But these libs are replaceable by the user, if
wanted. So it's possible avoid unnecessary emulation by replacing 
the libs with ones optimized for the used CPU.

Bye,
-- 
Charlie/iNQ
[.wanna.touch.diz?.amiga1200.os31.68060/50.48mb.2,5"ide.pcmcianet.] 
[. .power.of.the.ancients. + .a2000. + .a500. + .commodore.128d. .]
[.         .cybernetic.hydraulic.android.responsible.for.        .] 
[.             .logical.infiltration.and.exploration.            .]




More information about the fpc-devel mailing list