Re: gcc support of mips32 release 2
From: Goswin von Brederlow <hidden>
Date: 2004-03-24 12:38:13
Ralf Baechle [off-list ref] writes:
On Fri, Mar 19, 2004 at 11:42:11AM +0100, Geert Uytterhoeven wrote:quoted
quoted
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}, d2These 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