>> 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.