🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #21472

Re: 80486 vs. 68040 code size [really: how many regs]

#21472
From: Joe Buck
Date: Tue, 30 May 1989 01:35
32 lines
2349 bytes
In article <1989May20.223228.2456@utzoo.uucp> henry@utzoo.uucp (Henry Spencer) writes:
(discussion: should 68000's and 68010's have 16-bit ints or 32-bit ints?)

>On the 68000 and 68010, there was no consensus on this, and both choices
>were found in operational compilers.  32-bit ints are generally better,
>and the common operations were present, but some of the less common ones
>(e.g. multiply) weren't, and most everything took an efficiency hit from
>32-bit data on a 16-bit bus.  The width of int is supposed to be "the most
>natural width", but for the 680[01]0 that could go either way, depending
>on the implementor's prejudices.

Henry, why do you say that 32-bit ints are "generally better" on
68000's and 68010's?  Seems to me the only reason someone would
consider such an unnatural thing is that there is so much sloppy code
around that assumes that ints are the same size as pointers.  Choosing
32-bit ints on a 68010 causes poorer performance and larger code.  It
takes cycles to fetch all those 32-bit values and memory to store
them.  While multiplies aren't all that common, the applications that
do generate them take big performance hits when library calls are
needed instead of single instructions.  With the 16-bit-int choice,
32-bit integers can be obtained where required by declaring variables
"long".  There isn't any way to get the more compact, efficient 16-bit
int operations if your compiler makes the (IMnotsoHO) wrong choice.

The most common values of integer variables are "0" and "1".  Why drag
those extra bytes everywhere?

I'm obviously in the minority on this.  I want to junk our old HP64000
development system, and all the newer emulator/cross-compiler products
want to do 32-bit ints for 68000's.  Grr.
-- 
-- Joe Buck	jbuck@epimass.epi.com, uunet!epimass.epi.com!jbuck
Technical Details
Message-ID: <3252@epimass.EPI.COM>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!apple!epimass!jbuck
References: <948@aber-cs.UUCP> <8125@killer.Dallas.TX.US> <427@ssp2.idca.tds.philips.nl> <1989May20.223228.2456@utzoo.uucp>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!apple!epimass!jbuck
From: jbuck@epimass.EPI.COM (Joe Buck)
Newsgroups: comp.arch
Subject: Re: 80486 vs. 68040 code size [really: how many regs]
Message-ID: <3252@epimass.EPI.COM>
Date: 30 May 89 01:35:23 GMT
References: <948@aber-cs.UUCP> <8125@killer.Dallas.TX.US> <427@ssp2.idca.tds.philips.nl> <1989May20.223228.2456@utzoo.uucp>
Reply-To: jbuck@epimass.EPI.COM (Joe Buck)
Organization: Entropic Processing, Inc., Cupertino, CA
Lines: 32