linux-mips
[Top] [All Lists]

Re: r4600 flag

To: linux-mips@oss.sgi.com
Subject: Re: r4600 flag
From: Thiemo Seufer <ica2_ts@csv.ica.uni-stuttgart.de>
Date: Tue, 31 Jul 2001 09:28:22 +0200
In-reply-to: <3B664857.4040100@pacbell.net>
Sender: owner-linux-mips@oss.sgi.com
User-agent: Mutt/1.3.18i
Pete Popov wrote:
> in arch/mips/Makefile, we use the -mcpu=r4600 flag for MIPS32. What's 
> interesting is that the use of this flag can cause the toolchain to 
> generate incorrect code.

Which toolchain versions, what patches applied to it?

> For example:
> 
> la k0, 1f
> nop
> 1: nop
> 
> 
> The la macro is split into a lui and a daddiu. The daddiu is not correct 
> for a mips32 cpu. Getting rid of the -mcpu=4600 fixes the problem and 
> the daddiu is then changed addiu.

This is IIRC a known bug in at least current binutils CVS, a patch
to fix it really was already discussed.

> Is there a truly correct -mcpu option for a mips32 cpu?

In theory, no -mcpu option (which is to be deprecated in
favor of -march/-mtune) and -mips32 as ISA flag _should_ work.

In practice, the patch which adds this to gas was discussed on the
binutils list the last days and is likely to go in CVS
today or tomorrow.


Thiemo

<Prev in Thread] Current Thread [Next in Thread>