Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!udel!new From: new@udel.EDU (Darren New) Newsgroups: comp.sys.amiga Subject: Re: Benchmarks for 3000 vs 2500 Message-ID: <18962@estelle.udel.EDU> Date: 9 May 90 17:25:56 GMT References: <11445@cbmvax.commodore.com> Reply-To: new@ee.udel.edu (Darren New) Distribution: comp Organization: University of Delaware Lines: 17 In article <11445@cbmvax.commodore.com> martin@cbmvax.UUCP (Martin Hunt) writes: > There is a bug in the Lattice compiler that causes programs >with names that are not multiples of 4 long to be much slower on a 68020 >or 68030. This is because the filename is pushed on the stack and can >cause the stack to not be longword aligned. For example, when I renamed >"dhrystone" to "dhry", I got an additional 900 dhrystones! Can you clarify this please? Is it the name of the executable that must be a multiple of four, or the name of the source? If it's the executable, then it seems it would be fixable by hacking the startup code. If it's the source, I can't imagine why Lattice is pushing the name of the source on the stack except for debugging purposes. If it is the name of the source and you don't wish to change this, is it feasible to push a short on the stack (declaring a short int in main, maybe) thereby realligning the stack? Or could it be done by adding an adjustment in the startup code that checks the stack allignment and corrects it? Have you reported this bug to Lattice? -- Darren