Path: utzoo!attcan!uunet!mcvax!ukc!dcl-cs!aber-cs!pcg From: pcg@aber-cs.UUCP (Piercarlo Grandi) Newsgroups: comp.arch Subject: Re: Register usage [was Re: 80486 vs. 68040 code size] Summary: PCC used a fine register allocator. The test was with many regs. Message-ID: <949@aber-cs.UUCP> Date: 15 May 89 17:00:56 GMT Reply-To: pcg@cs.aber.ac.uk (Piercarlo Grandi) Distribution: eunet,world Organization: Dept of CS, UCW Aberystwyth (Disclaimer: my statements are purely personal) Lines: 19 In article <1989May11.210653.2125@utzoo.uucp> henry@utzoo.uucp (Henry Spencer) writes: You forgot one condition: ancient and stupid compiler. Do remember, also, that most any compiler for the 11 was full of implicit assumptions to the effect that very few registers were available. Now I may be totally wrong, but I seem to remember that they used PCC and tuned its (bastardized) Sethi Ullman register allocator, which is both pretty good (even the [S]CC one was quite good) and with no assumptions at all. They were as surprised as anybody at their results, and the obvious conclusion was the simple "most C expression are very simple, even those in critical paths". (my memory supplies me with something like: 80% of all C expressions have less than two operators, and about half have just one, on the usual sample of UNIX/C code). -- Piercarlo "Peter" Grandi | ARPA: pcg%cs.aber.ac.uk@nsfnet-relay.ac.uk Dept of CS, UCW Aberystwyth | UUCP: ...!mcvax!ukc!aber-cs!pcg Penglais, Aberystwyth SY23 3BZ, UK | INET: pcg@cs.aber.ac.uk