Re: Code density and performance?

John Ahlstrom <ahlstromjk@comcast.net>
17 Jul 2005 13:56:37 -0400

          From comp.compilers

Related articles
Re: Code density and performance? ahlstromjk@comcast.net (John Ahlstrom) (2005-07-17)
| List of all articles for this month |

From: John Ahlstrom <ahlstromjk@comcast.net>
Newsgroups: comp.arch,comp.compilers,comp.sys.dec
Followup-To: comp.arch
Date: 17 Jul 2005 13:56:37 -0400
Organization: Compilers Central
References: <1121268916.121222.132360@g49g2000cwa.googlegroups.com> <1121333201.729594.240150@g47g2000cwa.googlegroups.com> <db5blb$kl8$1@gemini.csx.cam.ac.uk> <7zhdexr8z2.fsf@app-4.diku.dk> <db5fr8$cn$1@gemini.csx.cam.ac.uk> <1121540813.310826.229730@z14g2000cwz.googlegroups.com>
Keywords: code, architecture
Posted-Date: 17 Jul 2005 13:56:37 EDT

toby wrote:
    -- snip snip


> Even a casual inspection shows that the VAX instruction set was
> modelled after the imagined needs of high level languages (string
> processing and diverse numeric types come to mind, as well as several
> instructions which correspond directly to HL control constructs, such
> as CASE. I'm away from my VAX references so I won't try to dredge up
> the rest from memory).
>
> In hindsight the effort largely went to waste; compiler designers by
> and large shunned the "assists" - ironically, ignoring them probably
> made the compiler simpler - and two decades later we know RISC was the
> better direction. I doubt that was considered proven in 1975, if that's
> what you're getting at. The VAX was one of the most ambitious (albeit
> doomed) experiments in the CISC direction.


IIRC the initial U of Washington Pascal compiler for the VAX was based on
a (the U of W?) Pascal compiler for the CDC 6600 and generated code that
used the most 6600-like instructions and addressing modes of the VAX
          perhaps like
                        a:= b+c
                                                  load 1 a
                                                  load 2 b
                                                  add 1 2
                                                  store 2 c


IIRC a later version of compiler generated more VAX-like instructions
and addressing modes
              perhaps like
                                              add c, a, b




Does anyone else remember this?
Does anyone have any records of sizes and performances of the two kinds
of output?


JKA
[Heavily encoded architectures like the VAX made sense when microcode
ROM was faster than RAM and RAM was expensive. Unfortunately, that
era ended around the time the VAX was introduced making it an instant
dinosaur. -John]



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.