Assembly or ....

Paul Stachour stachour at umn-cs.CS.UMN.EDU
Tue Dec 6 14:02:29 AEST 1988


In article <6529 at june.cs.washington.edu> kolding at uw-june.UUCP (Eric Koldinger) writes:
>
>Ah, but wouldn't that be nice.  Optimizing compilers that could generate
>code as good as we can generate by hand in all cases.  Let me know when
>someone writes one.
>
One of the important parameters is the "size of the program".
When I was working at IBM in the early 1970's, we had an
outstanding "bet" as to whether anyone could outdo the PL/S compiler
on a "non-trivial" program (defined as one that took more than
1K bytes of 360-assembler to write).  We had a number of challenges.
We never lost.  Yes, one could take the compiler-output and find
one thing to optimize by hand, but that was forbidden by the
ground-rules.
  And those who "needed" an instruction or two used "instruction-forms",
such as "CVB(IntVar,PackedStringVar);", whose semantics the compiler
understood (and just generated the CVB + setup if needed).  However,
the win was that the SIL compiler did not have to "dump" its history
for inability to see what the user was doing in this assembly-code block.
  That enabled one to write "everything" in a mid-level-language
designed for systems implementation work [such as the PL/S dialect of PL/I]
(I refuse to call languages of the ilk of "C" high-level), and put
in the one-or-two assemblers that one "really needed".
  To their credit, notice that the designers of Ada allowed the
same style in their language definition; I hope the compiler-writers
and vendors know how to take advantage of it.



More information about the Comp.lang.c mailing list