comp.lang.ada
 help / color / mirror / Atom feed
From: kilgallen@eisner.decus.org (Larry Kilgallen)
Subject: Re: Compiler for Z80/6510
Date: 1999/12/02
Date: 1999-12-02T00:00:00+00:00	[thread overview]
Message-ID: <1999Dec2.080628.1@eisner> (raw)
In-Reply-To: 3845D4B4.98354460@mitre.org

In article <3845D4B4.98354460@mitre.org>, "Robert I. Eachus" <eachus@mitre.org> writes:

>     Now this is a pretty special case, but in general modern processors
> have hundreds of special purpose operations which are not available from
> the assembler.  This is because the Assembler limits itself to the set
> of instructions specified for all the implementations of the
> architecture.  For example, on Sun SPARCs, at first it was the case that
> you could use (integer) multiply and divide operations which weren't
> available in compiler generated code, but could be generated by the 
> assembler.  Then it was possible to provide (in Ada terms) code inserts
> that generated these instructions.  Then the compilers started
> generating them.  Next the OS provided routines which trapped the
> instructions if not provided by the particular chip you were running on,
> etc.  But about when the version 8 SPARC reference came out, things
> proceded in exactly the reverse order with some of the new instructions:
> the assembler was the last to support them.  (I could go into details,
> but there were serious timing issues for these instructions, and it ws
> thought that they would only be used in compiler run-times for special
> purposes.)  So for a while, I had some Ada code for the SPARC that ran
> faster than the tightest assembler I could write.
> 
>     Currently we are in this regime again.  The Intel Pentium II & III
> and the Athelon processor have different graphics support enhancements. 
> We could argue which is better, but using special libraries and
> run-times, in some cases special to both the chip AND the graphics card,
> you can generate code which is significantly faster than any Pentium
> assembly code.

Let me give a counter-example.  Macro-64 on Alpha VMS certainly does
not contain anything specific to versions of the architecture not yet
designed :-), but it does allow you to specify your own instruction
definitions, so any possible bit combination for an instruction is
attainable.

Larry Kilgallen




  reply	other threads:[~1999-12-02  0:00 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-11-24  0:00 Compiler for Z80/6510 Lutz Donnerhacke
1999-11-24  0:00 ` Frank Klemm
1999-11-24  0:00   ` Lutz Donnerhacke
1999-11-24  0:00 ` Tucker Taft
1999-11-24  0:00 ` Wil
1999-11-25  0:00   ` Lutz Donnerhacke
1999-11-25  0:00     ` Robert Dewar
1999-11-25  0:00       ` Peter Milliken
1999-11-26  0:00         ` Tarjei Jensen
1999-11-26  0:00         ` Robert Dewar
1999-11-26  0:00           ` Robert A Duff
1999-11-27  0:00             ` Robert Dewar
1999-12-01  0:00             ` Robert I. Eachus
1999-12-02  0:00               ` Larry Kilgallen [this message]
1999-12-02  0:00                 ` Robert I. Eachus
1999-12-03  0:00               ` Robert Dewar
1999-12-03  0:00                 ` Robert I. Eachus
1999-12-06  0:00                   ` Robert Dewar
1999-12-13  0:00                     ` Robert I. Eachus
1999-12-13  0:00                       ` carr_tom
1999-12-17  0:00                         ` Robert I. Eachus
1999-12-19  0:00                       ` Robert Dewar
1999-12-21  0:00                         ` Robert I. Eachus
1999-12-23  0:00                           ` Robert Dewar
1999-12-23  0:00                             ` Robert I. Eachus
1999-11-26  0:00         ` Ed Falis
1999-11-26  0:00           ` Robert C. Leif, Ph.D.
1999-11-27  0:00             ` Florian Weimer
1999-11-28  0:00             ` Robert Dewar
     [not found]             ` <01bf38cb$be9b2b60$022a6282@dieppe>
1999-11-28  0:00               ` Robert Dewar
1999-11-28  0:00                 ` Robert A Duff
1999-11-30  0:00                 ` Pascal Obry
1999-12-06  0:00           ` Richard D Riehle
1999-11-26  0:00       ` Vladimir Olensky
1999-11-26  0:00         ` Robert Dewar
1999-11-26  0:00           ` Vladimir Olensky
1999-11-27  0:00             ` Robert Dewar
1999-11-28  0:00               ` Vladimir Olensky
1999-11-29  0:00 ` Marin Condic
1999-11-29  0:00   ` Robert C. Leif, Ph.D.
1999-11-29  0:00   ` Mike Silva
1999-11-29  0:00     ` Marin Condic
1999-11-29  0:00       ` John Duncan
1999-11-30  0:00         ` Lutz Donnerhacke
1999-11-29  0:00       ` Mike Silva
1999-11-30  0:00       ` Tarjei Jensen
1999-11-29  0:00   ` Lutz Donnerhacke
1999-11-29  0:00     ` Marin Condic
1999-11-29  0:00       ` Lutz Donnerhacke
1999-12-01  0:00   ` Robert Dewar
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox