Re: cross compiling R10k/6.4->R4400/6.2

New Message Reply Date view Thread view Subject view Author view

Philip Nemec (nemec++at++sgi.com)
Wed, 17 Dec 1997 16:30:05 -0800


Let me explain this a bit more - since I've been confused about it for a long
time...

>From the 7.2 cc man page:

     -TARG:...
...
             platform[=ipxx]
                 Identify the target SGI platform for compilation, choosing
                 various internal parameters (such as cache sizes)
                 appropriately. The current supported values are ip19, ip20,
                 ip21, ip22_4k, ip22_5k, ip24, ip25, ip26, ip27, ip28, ip30,
                 ip32_5k, and ip32_10k. The appropriate selection for your
                 platform can be determined by running 'hinv -c processor':
                 The first line will identify the proper IP number, and for
                 those where a processor suffix (e.g. '_4k') is required, the
                 next line will identify the processor (e.g. R4000).
...
             processor=(r4000|r5000|r8000|r10000)
                 Select the processor for which to schedule code. The chosen
                 processor must support the ISA specified (or implied by the
                 ABI).

This is a bit confusing, but there are multiple things that the
compiler/optimizer does... The ISA (instruction set) is what -mips3 or -mips4
specifies. What assembly instructions is the compiler allowed to use to make
up this program. The -TARG platform= and processor= arguments specify how to
*optimize* the code. More aggressive things like reordering computations to
take advantage of how pipelined and how superscalar the given processor is.

If the answers to one computation are used in another computation then the
first computation has to finish before the second computation can start. If
there is a totally unrelated computation to be done that can be done in between
the first two computations thus not making the processor stall waiting for the
first answer to be computed...

-n32 (vs -o32 or -64) controls the ABI - this is related to the ISA
(instruction set) but is more of a delivery mechanism. However the new
compilers don't optimize -o32 because it isn't as good and -o32 is being phased
out (because it isn't as good).
=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
            Submissions: info-performer++at++sgi.com
        Admin. requests: info-performer-request++at++sgi.com


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:56:27 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.