On Mon, Apr 26, 2021 at 2:03 PM Norman Wilson wrote: > Adam Thornton: > > I sat in on an undergrad course from [Dave Hanson] my first year of > grad school (94-95) and he taught it with lcc. I asked `why not > gcc' and he said, `gcc is 100,000 lines and I don't know what 90% > of them are doing; lcc is 10,000'. > > === > > My copy is indeed about 10K lines, not counting the code-generator > modules. Those are C files generated by a utility program lburg > from a template file. The three architectures supplied in the > distribution, for MIPS, SPARC, and X86, have template files of > about 900, 1200, and 700 lines respectively. > > The template file for the VAX is about 2800 lines, but includes > some metalanguage of my own, interpreted by an awk script, to > generate extra rules for all the direct-store type-to-type > instructions. The C output from lburg for the other architectures > is 5000-6000 lines; for the VAX, after expansion by my awk > program and then by lburg, is nearly 20K. > > Did someone say Complex Instruction Set? > Indeed! https://yarchive.net/comp/vax.html I recall one of Mashey's posts talking about the number of page faults that _might_ arise from execution of one instance of one of the more baroque VAX instructions. It was something like 40 (!!). - Dan C.