Path: utzoo!attcan!uunet!cbmvax!daveh From: daveh@cbmvax.UUCP (Dave Haynie) Newsgroups: comp.arch Subject: Re: 80486 vs. 68040 code size [really: how many regs] Message-ID: <6923@cbmvax.UUCP> Date: 19 May 89 04:52:04 GMT References: <950@aber-cs.UUCP> Distribution: eunet,world Organization: Commodore Technology, West Chester, PA Lines: 34 in article <950@aber-cs.UUCP>, pcg@aber-cs.UUCP (Piercarlo Grandi) says: > Ahhh. This is a ridiculous argument. Proof-by-numbers is dangerous... > Can over 1 billion chinese be wrong in using abaci? :-) :-) Well, if you had to walk 5,000 miles to the nearest store that had batteries for your calculator, an abacus would start looking mighty good. Much better than counting on your fingers... The latest 68030 complier I've been using (Lattice 5.02 for Amiga OS) does more with registers than just optimize expressions. First of all, for short programs, it'll reference code and data segments relative to (PC) and a base register. It also hooks nicely into the way the operating system works, where shared libraries are referenced relative to a to a library pointer stored in a register, so all library calls are of the form: move.l LibraryBase,a6 jsr function1(a6) jsr function2(a6) etc. The function calls expect their arguments in registers as well, and the compiler learned some time ago how to handle this for the case of system calls. This method of parameter passing has now been extended, and as a result, the compiler can optionally pass all parameters in registers, instead of on the stack, even between C functions. This has a speedup effect that varies between noticable and dramatic. > 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 -- Dave Haynie "The 32 Bit Guy" Commodore-Amiga "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: D-DAVE H BIX: hazy Amiga -- It's not just a job, it's an obsession