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