Subject: Re: Tcl7.5 and NetBSD-current
To: None <current-users@NetBSD.ORG>
From: None <is@Beverly.Rhein.DE>
List: current-users
Date: 03/01/1996 12:29:08
Michael L. VanLoon -- HeadCandy.com (michaelv@HeadCandy.com) wrote:
:
: >If you are thinking of the PDP-11, the natural size was 16 bits. The
: >32 bit longs weren't too painful because the 11 has add with carry and
: >subtract with borrow instructions, and it does 16x16->32 multiplies and
: >32/16->16 divides. I suspect most of our 32 bit platforms don't have
: >the equivalent capabilities.
:
: If I'm not mistaken, all Intel processors have these capabilities: add
: with carry, subtract with borrow, 32x32->64, and 64/32->32 (well,
: divide all those by two for 8086 thru 286).
M68020, M68030 and M68040 have all of these, too.
Hovever, the M68060 lost the 32x32->64 mul and 64/32->32q:32r division
(I guess it couldn't be squeezed into the pipelining model of this cpu).
Those instructions, along with a mixed assortment of floating point
stuff and a few really strange integer stuff, have to be implented as a
trap to emulation code or subroutine call.
Related, but unimportant side note (skip this if you have little time):
In case you noticed jtc's commit of a first draft of M68060 support to
gcc:
He did this on my begging^H^H^H^H^H^H^Hrequest.
I was too lazy to integrate the emulation code before I had a kernel which
would at least startup the console and be able to printf to it), and first
thing console output showed me was the unimplemented integer trap from that
!(/&%"!( 64bit ffs code --- gcc does a very nice job using every single
/%$"!$ instruction you tell it about if it sees some place which might benefit
from, and it thought my 68060 was a 68040:-).
Regards,
Ignatios Souvatzis