IBM AIX Flag Disclosure SPEC CPU2000 Last Revised 23 November, 1999 Source Level Portability Options ================================ -DHOST_WORDS_BIG_ENDIAN (176.gcc) Host system is big-endian. -DAIX (186.crafty) Sets some basic parameters like endian-ess, OS type, and ANSI language extensions to be compatible with an AIX system. -DNEED_EXPLICIT_SPECIALIZATION (252.eon) Supply function definitions with explicit types in two cases where templatized versions fail to compile. -DSPEC_CPU2000_AIX (253.perlbmk) Compile the SPEC CPU2000 modified perl for an AIX system. -DSYS_IS_BSD (254.gap) Compile gap for a BSDish system. -DSYS_STRING_H (254.gap) Do not explicitly include string.h -DSYS_HAS_TIME_PROTO (254.gap) Do not supply prototypes for the time(), times() and getrusage() functions. -DSYS_HAS_MALLOC_PROTO (254.gap) Do not supply prototypes for malloc() and free(). -DSYS_HAS_CALLOC_PROTO (254.gap) Do not supply a prototype for calloc(). -DHAVE_SIGNED_CHAR (300.twolf) System allows signed char type. Compiler Options ================ -ma Use built-in alloca() function. -O Performs optimizations that the compiler developers considered the best combination for compilation speed and runtime performance. -O3 Perform some memory and compile time intensive optimizations in addition to those executed with -O. The -O3 specific optimizations have the potential to slightly alter the semantics of a user's program. Optimizations may include, but are not limited to: Aggressive code motion, and scheduling on computations that have the potential to raise an exception; Relaxed conformance to IEEE rules in cases where the difference in the results is not important to an application; Rewriting of floating point expressions. -O5 Equivalent to -O3 -qipa=level=2 with automatic generation of architecture ( -qarch= )and tuning ( -qtune= )options ideal for that platform. -Q The -Q option without any list inlines all appropriate procedures, subject to limits on the number of inlined calls and the amount of code size increase as a result. -Q=xxx Inline all functions that contain less than xxx lines of source. -qarch=ppc Produces object code containing instructions that will run on any of the 32-bit PowerPC hardware platforms. -qarch=pwr3 Produces object code containing instructions that will run on power3 processors. -qarch=rs64b Produces object code containing instructions that will run on RS64-II processors. -qfixed Indicates that the input source program is in fixed form. Allows fixed format Fortran 77 programs to be compiled using the xlf90 compiler invocation. -qipa=level=2 Turns on interprocedural analysis with inlining, cloning, full alias analysis, constant propagation, call-site tailoring, and dead code removal. -qlanglvl=ansi Compilation conforms to the ANSI standard. -qsuffix=f=f90 Sets the suffix for source files to be .f90. The .f90 suffix is required by xlf90 to compile Fortran 90 programs. -qtune=rs64b Instruction selection, scheduling, and other implementation dependent performance enhancements for the RS64-II processor. Linker Options ============== -lmass Link the mathematical acceleration subsystem libraries (MASS), which contain libraries of tuned mathematical intrinsic functions. See www.austin.ibm.com/tech/MASS. -lhmu Link fast malloc libraries.