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

Reply via email to