Chapter 1 " System and Compiler Overview,"
(22 pages)
This chapter gives a brief overview of the IRIX 6.2 operating
system and describes the MIPSpro 32-bit, 64-bit and high
performance 32-bit (N32) compilers. It contains four sections:
The first section lists the new features of IRIX 6.2 and
describes its compatibility with IRIX 5.x and Irix 6.1
The second section describes the various components of
both the 64-bit compiler system and the 32-bit compiler.
The third section describes the Kuck and Associates
preprocessor (KAP), a major component of the 64-bit
Fortran front end.
The last section outlines the multiprocessing support provided
by the MIPSpro compilers.
This chapter describes where the 32-bit and 64-bit compilers
differ with respect to calling conventions and language
implementations. The first section describes the 64-bit
subprogram interface. The next two sections identify
differences in the 32-bit and 64-bit implementations of
the Fortran 77 and C programming languages, respectively.
This chapter describes changes you must make to your
application source code to port it from a 32-bit to a
64-bit system. The first section outlines changes to
Fortran code. The second and third sections deal with C
source code issues. The fourth section provide guidelines
on writing portable assembly language and C code (with
respect to 32-bit and 64-bit systems).
This chapter outlines the issues dealt with at compile
and link times. It covers environment variable usage,
compile-time switches, error messages and how to link
correctly.
This chapter outlines why your 32-bit and 64-bit
applications may run differently, due both to compiler
differences and to architectural modes. It describes the
Performance and Precise Exception Modes of the R8000
microprocessor architecture and how they affect the
calculations of applications. This chapter also briefly
outlines a methodology to bring up and debug
applications.
Chapter 6, "Performance Tuning for the R8000," (23 pages)
This chapter outlines techniques for tuning the
performance of your R8000 applications. It contains four
sections:
The first section presents the compiler optimization
technique of software pipelining, which is crucial to
getting optimal performance on the R8000. It shows
you how to read your software pipelined code and
how to understand what it does.
The second section uses matrix multiplies as a case
study on loop unrolling.
The third section describes the phenomenon of
bellows stalls on the R8000 architecture and gives
tips on how to avoid them.
The final section describes how the IVDEP directive
can be used in Fortran to gain performance.