It appears that Douglas McIlroy <douglas.mcilroy(a)dartmouth.edu> said:
> portable
implementation language by 'compiling' the
> high-level CISC VAX instructions (and addressing modes)
> into sequences of RISC instructions.
No need for the quotes around 'compiling'. VAX MACRO is a true, genuine
compiler. The first version of it had a front end that translated VAX/VMS
assembly language into expanded IL for the GEM compiler back end. The GEM
code generator then generated the Alpha code for that IL. IIRC this
process bypassed most of the GEM optimizer. But it gave you native Alpha
code. GEM was later targeted to Itanium and that allowed the VAX MACRO
compiler to produce code for the IA64 version of OpenVMS. The same process
was used by VSI to port OpenVMS to x86-64, but they may be using a
LLVM-based compiler back end now.
-Paul W.