This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]