Subject: Re: Possible to use the bundled toolchain?
To: Erik Berls <cyber@netbsd.org>
From: Simon Burge <simonb@wasabisystems.com>
List: port-playstation2
Date: 05/16/2002 09:52:27
Erik Berls wrote:

> On Fri, May 10, 2002 at 10:52:06PM +0900, UCHIYAMA Yasushi wrote:
> ]  | Is this just an optimization issue (slower code from mipsel compiler), or
> ]  | does the standard mipsel compiler produce broken code (kernel panics)?
> ] 
> ] Not optimization issue. It's work around for CPU bug.
> ] mipsEEel-netbsd-gcc pad extra nop for short-loop.  But sssembler
> ] source is not fixed, I have added following fix manually.
> ] 
> ] (locore.S)
> ] 1:
> ] #if defined(MIPS3_5900)	/* work around for branch prediction miss. */
> ] 	nop
> ] 	nop
> ] 	nop
> ] #endif
> ] 	addu	t2, t2, 1
> ] 	and	t1, t0, 1			# bit set?
> ] 	beq	t1, zero, 1b
> ] 	srl	t0, t0, 1			# try next bit
> 
> Does this mean that we can now get around the build error of:

No :-(  gcc itself might generate loops of less than 6 instructions, and
the mipsEE mods include changes so that gcc will pad out such loops.

On that, shouldn't userland be compiled with the same compiler?  Or is
there some wierd problem on the r5900 such that short loops are only a
problem if they bypass the TLB (as with kernel code in KSEG0/1)?

Simon.
--
Simon Burge                            <simonb@wasabisystems.com>
NetBSD CDs, Support and Service:    http://www.wasabisystems.com/