Subject: Re: CPU instruction set optimization
To: Erik E. Fair <fair@clock.org>
From: Jeremy Cooper <jeremy@broder.com>
List: port-sun3
Date: 05/05/1998 12:47:48
On Tue, 5 May 1998, Erik E. Fair wrote:

> [ argument for compiling certain m68k platforms to take advantage of  ]
> [ 68030 and higher instructions                                       ]

It is a stated and accomplished design goal that all m68k ports share the
same user-level architecture.  The argument you have presented for
utilizing the '030 and higher instructions on certain machines goes
against this goal. 

This might seem wasteful on some machines, but the advantages are not so
great.

1) It is currently assumed that all m68k platforms are at least 68020, not
   68000 as you had stated.  So we are at least utilizing the 68020
   instructions on all platforms.

2) Most of the improvements in the 68030 over the 68020 are an integrated
   MMU and some additional instructions which are only useful in
   supervisor (kernel) mode.  There is no appreciable benefit to user
   mode applications.
 
3) The 68040's improvements are likewise mostly beneficial to supervisor
   mode code.  There are some special instructions line move16 which can
   improve user mode speed, but it is better that the use of these
   instructions be kept to shared library routines - routines that could
   theoretically be relinked with their '040 or higher counterparts at
   runtime.  (Anyone have any comments on doing something like this?)

-J