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]

Re: Patch to add -mfp32 support to MIPS gas


Eric Christopher <echristo@redhat.com> writes:

> Since no one has any further objections...

Sorry, I screwed up the mime stuff, so the text part didn't come through...

The patch below includes the documentation.

In the second patch, I failed to pick up on the fact that the way the "move"
instruction is expanded depends on mips_gp32.  The patch below makes it
depend on HAVE_32BIT_GPRS instead, so that the 32-bit version gets used when
a 32-bit ABI is selected.  I've added a move test to the testcases.

But, can anyone explain these entries in mips-opc.c:

{"move",    "d,s",	0x00000025, 0xfc1f07ff,	WR_d|RD_s,		M1|G6	},/* or */
{"move",    "d,s",	0x0000002d, 0xfc1f07ff, WR_d|RD_s,		M3	},/* daddu */
{"move",    "d,s",	0x00000021, 0xfc1f07ff, WR_d|RD_s,		M1	},/* addu */
{"move",    "d,s",	0x00000025, 0xfc1f07ff,	WR_d|RD_s,		M1	},/* or */

The archives say that "addu" is preferred to "or" because some processors
have two addition units but only a single logic unit:

     <http://sources.redhat.com/ml/binutils/1999-10/msg00132.html>

But why that last entry?  And why not use "addu" for -mgp32 as well?

Richard


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