Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site hp-pcd.UUCP Path: utzoo!linus!decvax!harpo!seismo!hao!hplabs!hp-pcd!hpfcla!hp-dcde!jack From: jack@hp-dcde.UUCP Newsgroups: net.micro.68k Subject: Re: Does anyone have nargs() for the 680 - (nf) Message-ID: <3567@hp-pcd.UUCP> Date: Sat, 31-Dec-83 03:27:35 EST Article-I.D.: hp-pcd.3567 Posted: Sat Dec 31 03:27:35 1983 Date-Received: Wed, 4-Jan-84 03:31:30 EST Sender: notes_gateway@hp-pcd.UUCP Organization: Hewlett-Packard, Fort Collins, CO Lines: 38 #R:utcsrgv:-298800:hp-dcde:21100001:000:926 hp-dcde!jack Dec 28 11:16:00 1983 re: nargs Remember, though, it won't always be an ADD instruction after the jsr. For example, our optimizer makes the transformation: move.l d0,-(sp) => move.l d0,-(sp) move.l d1,-(sp) => move.l d1,-(sp) move.l d2,-(sp) => move.l d2,-(sp) jbsr gamma => jbsr gamma add.l #12,sp => lea 12(sp),sp Or perhaps: move.l d0,-(sp) => move.l d0,-(sp) jbsr alpha => jbsr alpha addq.l #4,sp => move.l d0,-(sp) => move.l d0,(sp) no decrement jbsr beta => jbsr beta addq.l #4,sp => addq.l #4,sp Timings: add.l #12,sp 8 cycles, 6 bytes (really adda) add.w #12,sp 12 cycles, 4 bytes (really adda) lea 12(sp),sp 8 cycles, 4 bytes Of course, nargs could be enhanced to check for lea also, and hence work for the gamma case, but the alpha case looks hopeless. -Jack Applin Optimizing himself to death at: Hewlett-Packard Ft. Collins, CO (hplabs!hp-dcd!jack)