Re: Quality of VAX compilers



On Mon, 12 Jun 2006 20:50:59 -0700, Jan Vorbrüggen
<jvorbrueggen@xxxxxxxxxxx> wrote:

The VAX hardware and VMS Operating System were designed together and
were a beautiful system. Digital Equipment Corporation (DEC) did a
good job transitioning to Alpha and OpenVMS.
I think you will get some argument on that, the Alpha instruction set
left a lot to be desired, which is one reason a lot of the VAX objecrs
were 'VEST'ed

Really? AFAICT, the three main reasons for VESTing (binary translation
with run-time support) were

You are quite right, not sure what I had in mind when I wrote that, VESTing
had nothing to do directly with the instruction, only in the manner you
indicated.

- no source available (hah! so what else is new?)
- the relevant compiler was not ported to Alpha (e.g., SCAN)
- performance was good enough for the translated code, why bother with
re-everythinging it?

Code heavily using the "commercial" instruction set suffered, but it
was already suffering on the later VAX implementations. Sometimes the
compiler upgrade helped - for instance, certain COBOL data types were
implemented as BCD on VAX but changed to use native 64-bit integers on
Alpha. VESTing such applications could only have made things worse.

We discovered that when we ported PL/I to Tru64 (OSF-1) ca. 1994
That is just one of the many design flaws in the Alpha. Power PC
(last time I looked some years ago) has only a one tick penalty for
unaligned access, effectively making it a byte addressable machine. The
early Alphas omitted sign-extend byte and 16-bit word moves so that an
instruction like C = A + B; took 17 ticks if these were fixed bin(15)
but only 4 if fixed bin(31)

The port itself was interesting, we used Jack Davidson's VPO as the
backend and we modified and existing more-or-less traditional code
generator to emit the RTLs for VPO. This required some hammering to
support things like lexical scoping. The alignement requirements
effect the performance of PL/I considerably.
.



Relevant Pages

  • Re: HP to dump itanium - bring back alpha?
    ... > The N-VAX CPUs were pretty good. ... NVAX was a very good VAX, but it had the common VAX constraint of 4GB of ... Usually a small subset of the entire instruction set. ... The decision to kill Alpha was made by non-techie folks. ...
    (comp.os.vms)
  • Re: Beep Code on 433au workstation
    ... closely tied to their Symbolics machines and processors. ... processor had a microde-layer to extend its instruction set so as to ... The two factors that made it possible to port Genera to alpha seem to ... this may give an idea of why Genera is not Netscape. ...
    (comp.sys.dec)
  • Re: 64 bit configuration
    ... The X86-64 kind architectures(AMD 64 and Intel 64) have two different modes ... a native mode and an extended mode. ... instruction set, and is completely different from the ... without the need for a 32-bit "emulator" like the IA64 and Alpha ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: A whopping 50 percent... ???
    ... who cares about the instruction set when everybody uses HL languages. ... I'd like to know more about why early versions of Alpha had such terrible byte ... most used portions portions where programs spent the most ... could have just simply copied their executables, shareable images etc and ...
    (comp.os.vms)
  • Re: What is the performance of iVMS ?
    ... for alpha to emulate AS400 instruction set with just a new set of pal code. ... Andersen consultants. ... AS400 may have been the "VAX killer", but Alpha could have been the AS400 ...
    (comp.os.vms)