Re: gcc support of mips32 release 2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ralf Baechle <ralf@linux-mips.org> writes:

> On Fri, Mar 19, 2004 at 11:42:11AM +0100, Geert Uytterhoeven wrote:
> 
> > > Take a look at the 68020 to see where instruction set madness can lead:
> > >
> > > 	movel	([42, a0, d0.2*2],123), ([43, a0, d0.2*2], 22)
> > > 	bfextu	([42, a0, d0.2*2],123){8:8}, d2
> > 
> > These instructions didn't complete in 1 cycle, while the new RISCies do.
> 
> That's the point, they went overboard with their C^2ISC philosophy.  These
> instructions were more or less unusable by compilers of the time and the
> given the rarity were not the most performant instructions of the
> architecture either, so made sense only relativly rarely.  So in the end
> the didn't get it right in the beginning which lead to the removal of the
> instruction in 060, if I recall right.
> 
>   Ralf

Thats a

 move.l 31530(A0, D0*2), 5675(A0, D0*2)  (that would give a bus error)

before assembly right?

That instruction is great to access array or aligned structure members
with an offset and compilers should be able to generate it for it. But
its only realy usefull if your short on registers, which gcc does not
optimize for.

Don't think they got removed. Could it be you are thinking about
mulu.l d0,d0:d1   (32*32=64 bit mul) and the like?

MfG
        Goswin


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux