[Top] [All Lists]

Re: Can't build a CONFIG_CPU_NEVADA kernel

To: "Kevin D. Kissell" <>
Subject: Re: Can't build a CONFIG_CPU_NEVADA kernel
From: Ralf Baechle <>
Date: Fri, 16 Mar 2001 20:35:40 +0100
Cc: <>
In-reply-to: <010201c0ae49$6df089e0$0deca8c0@Ulysses>; from on Fri, Mar 16, 2001 at 07:46:23PM +0100
References: <> <> <> <> <00fc01c0acd3$c881ca80$0deca8c0@Ulysses> <> <010201c0ae49$6df089e0$0deca8c0@Ulysses>
User-agent: Mutt/1.2.5i
On Fri, Mar 16, 2001 at 07:46:23PM +0100, Kevin D. Kissell wrote:

> > GCC to schedule instructions for a certain processor xxx.  This does not
> > enable the full use of it's instruction set.  Back in time when I choose
> > these options I choose because GCC didn't know -mcpu=r5000 but the R8000
> > was supported and it was the closest fit.  Gcc 1.1.2 knows this option
> > so I just changed all instances of -mcpu=r8000 into -mcpu=r5000.
> As I understand it, the original intention behind -mcpu was to optimise 
> instruction scheduling, but it got perverted over time to enable 
> instructions as well.  In any case, the R5000 and R8000 have the 
> same ISA, but the pipelines are radically different.  The R8K is 
> 4-way superscalar, with a 2-cycle branch penalty and branch 
> prediction.  The R5K is two way supercalar (Int/FP pairs only) 
> with classic MIPS branch behavior, etc.

Gcc's knowledge about MIPS architecture is so limited that an R5000 isn't
very much different from an R8000 ...

> > Unfortunately true but there is a reason that QED's manual marks it as an
> > proprietary extension ...
> Yup.  The quesiton is, does gcc's -mmad option actually
> select based on -mcpu or some other variable which
> semantics to use, or does it assume R4650 semantics

If you have a collection which of the CPUs have implemented mmad in what
way I'd like to use that to put it into gcc.

> (I had the impression that it was the R4650 that drove
> the implementation of MIPS madd's into gcc - correct
> me if I'm wrong).

Guess that's right.


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