Path: utzoo!attcan!uunet!husc6!cmcl2!lanl!beta!hwe From: hwe@beta.lanl.gov (Skip Egdorf) Newsgroups: comp.arch Subject: Re: Compiler complexity (was: VAX Always Uses Fewer Instructions) Summary: More Ancient History, PDP-10 Keywords: RISC CISC Message-ID: <20345@beta.lanl.gov> Date: 18 Jun 88 03:02:51 GMT References: <6921@cit-vax.Caltech.Edu> <28200161@urbsdc> <10595@sol.ARPA> <20338@beta.lanl.gov> Organization: Los Alamos National Laboratory Lines: 62 In article <20338@beta.lanl.gov>, jlg@beta.lanl.gov (Jim Giles) writes: > > This discussion brings up a question about the actual use of CISC > instructions. It seems that RISC vs. CISC is probably about a draw > for raw compute speed of special coded sequences. The question is: > how many programs actually get full advantage from the large instruction > sets offered by CISC? > ... > In more recent years, has the state of the compiler art improved so that > good code generators for CISC machines can be built easily? Or is it > still a hit or miss operation? Do modern compilers for CISC make good > use of the variety in the instruction set? > > J. Giles > Los Alamos As I seem to like to dredge up ancient history in this forum, these thoughts sent me to my dusty closet of 'olde stuff' to fetch volume 1 (I also have V2) of a collection of papers produced by DEC called "PDP-10 Applications in Science". I think that I got this sometime in 1970, though most of the papers seem to be from around 1967-1968. The third paper in the book is "Selecting and Evaluating a Medium Scale Computer System" "A Study Undertaken for Louisiana State University at New Orleans" by Jon A. Stewart, Director, LSUNO Computer Research Center The paper is a summary of an in-depth comparison of three major systems of the time; the SDS Sigma-5, the IBM 360/44, and the DEC PDP-10. The paper is very fine at bringing back the memories of the good old days, but of most interest to this discussion is an appendix containing compiler-generated code for a simple fortran benchmark. The upshot was that the PDP-10 generated much shorter code, that also ran faster. (I can publish a sample if there is enough interest.) While this paper drew no architectural conclusions (such as are discussed in this forum) the main reason (if I remember my DEC Propaganda of the day) was the very orthogonal instruction set as opposed to a smaller number of instructions. This clean and complete instruction set allowed the compiler to use a large percentage of the instruction set. While I believe that the clean instruction set came first, and the compiler that used the large percentage of that instruction set came later, rather than the current risc idea of profiling code to determine what will be in the instruction set, it was a haunting hint of where we would be today. I recall seeing published statements about how many of the KA-10's 366 instructions were actually used by the FORTRAN compiler. Does anyone still have these numbers?? I also have some DEC Propaganda from about 1973 bragging about the optimization done by DEC FORTRAN. This includes examples of generated code. Again, if anyone is interested... Skip Egdorf hwe@lanl.gov