This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: STUB_MOVE in elfxx-mips.c
cgd@broadcom.com writes:
> At Wed, 1 Oct 2003 14:44:53 +0000 (UTC), "Thiemo Seufer" wrote:
> > Probably because it mimics what the SGI toolchain for N64 did.
> > AFAICS it should be API_64_P instead, and it's better to use
> > 'daddu' instead of 'or', as this helps CPUs with several adders.
>
> This has been claimed repeatedly, going back several years now.
>
> Do you have actual examples of CPUs which have more units that can
> 'add' than can 'or'?
>
> As far as I can remember, everyone else who's made this assertion was
> unable to produce any, and was speaking from vague memory... (That
> may include myself; my memory is vague. 8-)
There was a processor from IDT which has this property.
I made the change here:
Tue Jul 11 11:49:49 1995 Ian Lance Taylor <ian@cygnus.com>
* mips-opc.c (mips_opcodes): For the move pseudo-op, prefer daddu
if ISA 3 and addu otherwise, replacing or, since some MIPS chips
have multiple add units but only a single logical unit.
I made the change at the explicit request of IDT. However, I do not
remember the precise chip which had the property. My thinking at the
time was that addu would never be slower, and it would sometimes be
faster, so I might as well make the change unconditionally.
Perhaps somebody at Red Hat could check the CVS log, to see if I put
any more information in the CVS checkin message, such as just what
chip it was.
Ian