On 1/26/2018 3:28 PM, Timothe Litt wrote:
Sounds right. The -16 and -36 versions stayed with the native backend
and didn't get much attention once GEM took off. At least, I don't
recall GEM support for them.
I believe that's correct.
Alpha pretty much repeated the VAX route (plus the stupid mistake of
splitting the VMS sources). It cross-compiled from VAX to simulation,
I was porting a lot of freeware from VAX to Alpha when all that was
available were the cross-compilers. The BLISS cross-compiler was great,
but the early C cross-compilers were more problematic.
All three (CMU ,BLISS, GEM) back ends used considerable creativity in
interpreting the instruction sets, and as time went on gave hand-coded
assembler a run for its money. They especially liked to do
computations with bizarre-looking address calculations. (Not all of
which ran fast on all processors.) In one case, a particularly
"clever" encoding of a test on a link-time constant broke RMS on an
unreleased VAX CPU. Interestingly, this one instruction was the ONLY
time this construct was encountered in all of VMS (including the top
dozen layered products), so waiting for the hardware spin wasn't as
bad as it might have been.
I vaguely remember hearing about that.
BLISS-32 on VAX generated some amazing optimizations. Before I got into
BLISS, I programmed almost exclusively in MACRO-32, and it was fun to
compare code I wrote to the assembly code generated by the BLISS
compiler. Several times, I encountered generated code that was a lot
more efficient than the code I wrote, which I thought was very
efficient. I learned a few MACRO tricks looking at the code generated.
It was less fun trying to understand the GEM output for Alpha. ;-)
Every time I do handstands with C #if/#define I still wish for BLISS
%if and %macro. (I once had to port a few 100K lines of my BLISS code
to C on a 68000, and even with automation, converting macros and
keyword initialized data structures to C was a painful exercise in
devolution by obfuscation...)
Yes, the BLISS macros and lexicals are awesome, and it also kills me
that C never had them.
Hunter
_______________________________________________
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh