This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc 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: [mips] ABI shouldn't depend on ISA


On Mar 25, 2003, Andreas Jaeger <aj at suse dot de> wrote:

>> +#define _MIPS_ISA_MIPS32 6  /* Defined for code that uses o32.  */
>> +#define _MIPS_ISA_MIPS64 7  /* Defined for code that uses n64.  */

> Or are my comments wrong?  Then you know why they're needed ;-)

They're wrong.  MIPS32 and MIPS64 are ISA names just like MIPS1,
MIPS2, MIPS3, MIPS4, MIPS5 (and the most recent MIPS32R2).  They're
what you get when you specify -mips1, -mips2, -mips3, -mips4, -mips5,
-mips32 and -mips64 in the GCC command line.  Their definitions are
absolutely similar to those of earlier ISAs and, frankly, they should
be meaningful to anyone familiar with the various revisions of the
MIPS ISAs.  There's no point in adding comments to these two, unless
we're adding comments to the others explaining that MIPS1 stands for
MIPS I ISA, MIPS2 stands for MIPS II ISA, etc.  A single comment at
the top might do it, but then, I still find it would be pointless:
_MIPS_ISA already implies the meaning.  It takes some imagination to
try to find a different meaning for them :-)

FWIW, MIPS32 is kind of a successor to MIPS II, in that it's a 32-bit
architecture, but with a number of features added in MIPS III and MIPS
IV, such as conditional moves and prefetch.  MIPS64 is a successor to
MIPS IV (or MIPS V?  I don't know anything about MIPS V), and, as it's
obvious from the name, it's a 64-bit architecture.  The newer MIPS
32r2 is a second revision of the MIPS32 ISA, but I couldn't confirm
that _MIPS_ISA_MIPS32R2 is supposed to be defined and, if so, to what
value, so I left it out.

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                 aoliva at {redhat dot com, gcc.gnu.org}
CS PhD student at IC-Unicamp        oliva at {lsd dot ic dot unicamp dot br, gnu.org}
Free Software Evangelist                Professional serial bug killer


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