Compilers: Intel Compilers for C++ and Fortran, Version 9.1 for IPF Linux64
Operating system: Red Hat Enterprise Linux 5
Invoke the Intel C++ compiler for IPF Linux64 to compile C applications
Invoke the Intel C++ compiler for IPF Linux64 to compile C++ applications
Invoke the Intel C++ compiler for IPF Linux64 to compile C applications
Invoke the Intel C++ compiler for IPF Linux64 to compile C++ applications
This macro specifies that the target system uses the LP64 data model; specifically, that integers are 32 bits, while longs and pointers are 64 bits.
This macro indicates that the benchmark is being compiled on an Intel IA64-compatible system running the Linux operating system.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
Portability changes for Linux
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This flag can be set for SPEC compilation for Linux using default compiler.
This macro specifies that the target system uses the LP64 data model; specifically, that integers are 32 bits, while longs and pointers are 64 bits.
This macro indicates that the benchmark is being compiled on an Intel IA64-compatible system running the Linux operating system.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
Portability changes for Linux
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This flag can be set for SPEC compilation for Linux using default compiler.
Maximizes speed across the entire program.
Sets the following options:
Enables use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt. When compared to strict IEEE* precision, this option slightly reduces the accuracy of floating-point calculations performed by these functions, usually limited to the least significant digit.
This option also enables the performance of more aggressive floating-point transformations, which may affect accuracy.
Tells the compiler to assume that the program adheres to ISO C Standard.
aliasability.
If your program adheres to these rules, then this option allows the compiler
to optimize more aggressively. If it doesn't adhere to these rules, then it
can cause the compiler to generate incorrect code.
Maximizes speed across the entire program.
Sets the following options:
Enables use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt. When compared to strict IEEE* precision, this option slightly reduces the accuracy of floating-point calculations performed by these functions, usually limited to the least significant digit.
This option also enables the performance of more aggressive floating-point transformations, which may affect accuracy.
Tells the compiler to assume that the program adheres to ISO C Standard.
aliasability.
If your program adheres to these rules, then this option allows the compiler
to optimize more aggressively. If it doesn't adhere to these rules, then it
can cause the compiler to generate incorrect code.
The -Wl option directs the compiler to pass a list of arguments to the linker. In this case, "-z muldefs" is passed to the linker. For the Gnu linker (ld), the "-z keyword" option accepts several recognized keywords. Keyword "muldefs" allows multiple definitions. The muldefs keyword will enable, for example, linking with third party libraries like SmartHeap from Microquill.
MicroQuill SmartHeap Library available from http://www.microquill.com/
To link SmartHeap with C applications, you must link with libsmartheap64.a
To link SmartHeap with C++ applications, you must link with libsmartheap64.a and libsmartheapC64.a
MicroQuill SmartHeap Library available from http://www.microquill.com/
To link SmartHeap with C applications, you must link with libsmartheap64.a
To link SmartHeap with C++ applications, you must link with libsmartheap64.a and libsmartheapC64.a
Instruments a program for profiling to get the execution count of each basic block. It also creates a new static profile information file.
Maximizes speed across the entire program.
Sets the following options:
Enables use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt. When compared to strict IEEE* precision, this option slightly reduces the accuracy of floating-point calculations performed by these functions, usually limited to the least significant digit.
This option also enables the performance of more aggressive floating-point transformations, which may affect accuracy.
Performs optimizations for a specified CPU. On Itanium(R)-based Linux systems, you can specify one of the following values.
Specifies the lower limit for the size of what the inliner considers to be a large routine. It specifies the boundary between what the inliner considers to be medium and large-size routines.
The inliner prefers to inline small routines. It has a preference against inlining large routines. So, any large routine is highly unlikely to be inlined.
n is a positive integer that specifies the minimum size of a large routine.
Specifies the upper limit for the size of what the inliner considers to be a small routine. It specifies the boundary between what the inliner considers to be small and medium-size routines. n is a positive integer that specifies the maximum size of a small routine.
The inliner has a preference to inline small routines. So, when a routine is smaller than or equal to the specified size, it is very likely to be inlined.
Instruments a program for profiling to get the execution count of each basic block. It also creates a new static profile information file.
Maximizes speed across the entire program.
Sets the following options:
Enables use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt. When compared to strict IEEE* precision, this option slightly reduces the accuracy of floating-point calculations performed by these functions, usually limited to the least significant digit.
This option also enables the performance of more aggressive floating-point transformations, which may affect accuracy.
Instructs the compiler to analyze and transform the program so that 64-bit pointers are shrunk to 32-bit pointers, and 64-bit longs (on Linux) are shrunk into 32-bit longs wherever it is legal and safe to do so. In order for this option to be effective the compiler must be able to optimize using the -ipo option and must be able to analyze all library or external calls the program makes.
Tells the compiler to assume that the program adheres to ISO C Standard.
aliasability.
If your program adheres to these rules, then this option allows the compiler
to optimize more aggressively. If it doesn't adhere to these rules, then it
can cause the compiler to generate incorrect code.
Instruments a program for profiling to get the execution count of each basic block. It also creates a new static profile information file.
Maximizes speed across the entire program.
Sets the following options:
Enables use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt. When compared to strict IEEE* precision, this option slightly reduces the accuracy of floating-point calculations performed by these functions, usually limited to the least significant digit.
This option also enables the performance of more aggressive floating-point transformations, which may affect accuracy.
Instructs the compiler to analyze and transform the program so that 64-bit pointers are shrunk to 32-bit pointers, and 64-bit longs (on Linux) are shrunk into 32-bit longs wherever it is legal and safe to do so. In order for this option to be effective the compiler must be able to optimize using the -ipo option and must be able to analyze all library or external calls the program makes.
Tells the compiler to assume that the program adheres to ISO C Standard.
aliasability.
If your program adheres to these rules, then this option allows the compiler
to optimize more aggressively. If it doesn't adhere to these rules, then it
can cause the compiler to generate incorrect code.
Enables or disables performance tuning and heuristics that control memory bandwidth use among processors. It allows the compiler to be less aggressive with optimizations that might consume more bandwidth, so that the bandwidth can be well-shared among multiple processors for a parallel program. For values of n greater than 0, the option tells the compiler to enable a set of performance tuning and heuristics in compiler optimizations such as prefetching, privatization, aggressive code motion, and so forth, for reducing memory bandwidth pressure and balancing memory bandwidth traffic among threads. The n value is the level of optimizing for memory bandwidth usage. You can specify one of the following values for n:
Maximizes speed across the entire program.
Sets the following options:
Enables use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt. When compared to strict IEEE* precision, this option slightly reduces the accuracy of floating-point calculations performed by these functions, usually limited to the least significant digit.
This option also enables the performance of more aggressive floating-point transformations, which may affect accuracy.
Instructs the compiler to analyze and transform the program so that 64-bit pointers are shrunk to 32-bit pointers, and 64-bit longs (on Linux) are shrunk into 32-bit longs wherever it is legal and safe to do so. In order for this option to be effective the compiler must be able to optimize using the -ipo option and must be able to analyze all library or external calls the program makes.
Enables language compatibility with the gcc option -ansi and provides the same level of ANSI standard comformance as that option.
This option sets option -fmath-errno.
Specifies how much larger a routine can normally grow when inline expansion is performed. It limits the potential size of the routine. For example, if 2000 is specified for n, the size of any routine will normally not increase by more than 2000.
n is a positive integer that specifies the permitted increase in the size of the routine.
Instruments a program for profiling to get the execution count of each basic block. It also creates a new static profile information file.
Enables optimizations for speed. This is the generally recommended
optimization level.
This option enables optimizations for speed, including global code scheduling,
software pipelining,predication, and speculation.
This option also enables:
Enables use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt. When compared to strict IEEE* precision, this option slightly reduces the accuracy of floating-point calculations performed by these functions, usually limited to the least significant digit.
This option also enables the performance of more aggressive floating-point transformations, which may affect accuracy.
Prevents linking with shared libraries.
Enables multifile interprocedural optimizations between files.
Instructs the compiler to analyze and transform the program so that 64-bit pointers are shrunk to 32-bit pointers, and 64-bit longs (on Linux) are shrunk into 32-bit longs wherever it is legal and safe to do so. In order for this option to be effective the compiler must be able to optimize using the -ipo option and must be able to analyze all library or external calls the program makes.
Maximizes speed across the entire program.
Sets the following options:
Enables use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt. When compared to strict IEEE* precision, this option slightly reduces the accuracy of floating-point calculations performed by these functions, usually limited to the least significant digit.
This option also enables the performance of more aggressive floating-point transformations, which may affect accuracy.
Instructs the compiler to analyze and transform the program so that 64-bit pointers are shrunk to 32-bit pointers, and 64-bit longs (on Linux) are shrunk into 32-bit longs wherever it is legal and safe to do so. In order for this option to be effective the compiler must be able to optimize using the -ipo option and must be able to analyze all library or external calls the program makes.
Instruments a program for profiling to get the execution count of each basic block. It also creates a new static profile information file.
Maximizes speed across the entire program.
Sets the following options:
Enables use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt. When compared to strict IEEE* precision, this option slightly reduces the accuracy of floating-point calculations performed by these functions, usually limited to the least significant digit.
This option also enables the performance of more aggressive floating-point transformations, which may affect accuracy.
Maximizes speed across the entire program.
Sets the following options:
Enables use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt. When compared to strict IEEE* precision, this option slightly reduces the accuracy of floating-point calculations performed by these functions, usually limited to the least significant digit.
This option also enables the performance of more aggressive floating-point transformations, which may affect accuracy.
Tells the compiler to assume that the program adheres to ISO C Standard.
aliasability.
If your program adheres to these rules, then this option allows the compiler
to optimize more aggressively. If it doesn't adhere to these rules, then it
can cause the compiler to generate incorrect code.
Instructs the compiler to analyze and transform the program so that 64-bit pointers are shrunk to 32-bit pointers, and 64-bit longs (on Linux) are shrunk into 32-bit longs wherever it is legal and safe to do so. In order for this option to be effective the compiler must be able to optimize using the -ipo option and must be able to analyze all library or external calls the program makes.
Performs optimizations for a specified CPU. On Itanium(R)-based Linux systems, you can specify one of the following values.
Maximizes speed across the entire program.
Sets the following options:
Enables use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt. When compared to strict IEEE* precision, this option slightly reduces the accuracy of floating-point calculations performed by these functions, usually limited to the least significant digit.
This option also enables the performance of more aggressive floating-point transformations, which may affect accuracy.
Specifies the lower limit for the size of what the inliner considers to be a large routine. It specifies the boundary between what the inliner considers to be medium and large-size routines.
The inliner prefers to inline small routines. It has a preference against inlining large routines. So, any large routine is highly unlikely to be inlined.
n is a positive integer that specifies the minimum size of a large routine.
Instruments a program for profiling to get the execution count of each basic block. It also creates a new static profile information file.
Enables optimizations for speed. This is the generally recommended
optimization level.
This option enables optimizations for speed, including global code scheduling,
software pipelining,predication, and speculation.
This option also enables:
Enables use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt. When compared to strict IEEE* precision, this option slightly reduces the accuracy of floating-point calculations performed by these functions, usually limited to the least significant digit.
This option also enables the performance of more aggressive floating-point transformations, which may affect accuracy.
Prevents linking with shared libraries.
Enables multifile interprocedural optimizations between files.
Specifies the maximum number of times the inliner may inline into a particular routine. It limits the number of times that inlining can be applied to any routine.
n is a positive integer that specifies the maximum number.
The -Wl option directs the compiler to pass a list of arguments to the linker. In this case, "-z muldefs" is passed to the linker. For the Gnu linker (ld), the "-z keyword" option accepts several recognized keywords. Keyword "muldefs" allows multiple definitions. The muldefs keyword will enable, for example, linking with third party libraries like SmartHeap from Microquill.
MicroQuill SmartHeap Library available from http://www.microquill.com/
To link SmartHeap with C applications, you must link with libsmartheap64.a
To link SmartHeap with C++ applications, you must link with libsmartheap64.a and libsmartheapC64.a
MicroQuill SmartHeap Library available from http://www.microquill.com/
To link SmartHeap with C applications, you must link with libsmartheap64.a
To link SmartHeap with C++ applications, you must link with libsmartheap64.a and libsmartheapC64.a
Instruments a program for profiling to get the execution count of each basic block. It also creates a new static profile information file.
Enables optimizations for speed. This is the generally recommended
optimization level.
This option enables optimizations for speed, including global code scheduling,
software pipelining,predication, and speculation.
This option also enables:
Prevents linking with shared libraries.
Enables multifile interprocedural optimizations between files.
Specifies the lower limit for the size of what the inliner considers to be a large routine. It specifies the boundary between what the inliner considers to be medium and large-size routines.
The inliner prefers to inline small routines. It has a preference against inlining large routines. So, any large routine is highly unlikely to be inlined.
n is a positive integer that specifies the minimum size of a large routine.
The -Wl option directs the compiler to pass a list of arguments to the linker. In this case, "-z muldefs" is passed to the linker. For the Gnu linker (ld), the "-z keyword" option accepts several recognized keywords. Keyword "muldefs" allows multiple definitions. The muldefs keyword will enable, for example, linking with third party libraries like SmartHeap from Microquill.
MicroQuill SmartHeap Library available from http://www.microquill.com/
To link SmartHeap with C applications, you must link with libsmartheap64.a
To link SmartHeap with C++ applications, you must link with libsmartheap64.a and libsmartheapC64.a
MicroQuill SmartHeap Library available from http://www.microquill.com/
To link SmartHeap with C applications, you must link with libsmartheap64.a
To link SmartHeap with C++ applications, you must link with libsmartheap64.a and libsmartheapC64.a
Instruments a program for profiling to get the execution count of each basic block. It also creates a new static profile information file.
Enables optimizations for speed. This is the generally recommended
optimization level.
This option enables optimizations for speed, including global code scheduling,
software pipelining,predication, and speculation.
This option also enables:
Prevents linking with shared libraries.
Enables multifile interprocedural optimizations between files.
Tells the compiler to assume that the program adheres to ISO C Standard.
aliasability.
If your program adheres to these rules, then this option allows the compiler
to optimize more aggressively. If it doesn't adhere to these rules, then it
can cause the compiler to generate incorrect code.
The -Wl option directs the compiler to pass a list of arguments to the linker. In this case, "-z muldefs" is passed to the linker. For the Gnu linker (ld), the "-z keyword" option accepts several recognized keywords. Keyword "muldefs" allows multiple definitions. The muldefs keyword will enable, for example, linking with third party libraries like SmartHeap from Microquill.
MicroQuill SmartHeap Library available from http://www.microquill.com/
To link SmartHeap with C applications, you must link with libsmartheap64.a
To link SmartHeap with C++ applications, you must link with libsmartheap64.a and libsmartheapC64.a
MicroQuill SmartHeap Library available from http://www.microquill.com/
To link SmartHeap with C applications, you must link with libsmartheap64.a
To link SmartHeap with C++ applications, you must link with libsmartheap64.a and libsmartheapC64.a
This section contains descriptions of flags that were included implicitly by other flags, but which do not have a permanent home at SPEC.
Enables O2 optimizations plus more aggressive optimizations, such as prefetching, scalar replacement, and loop and memory access transformations. Enables optimizations for maximum speed, such as:
On Intel Itanium processors, the O3 option enables optimizations for technical computing applications (loop-intensive code): loop optimizations and data prefetch.
The O3 optimizations may not cause higher performance unless loop and
memory access transformations take place. The optimizations may slow
down code in some cases compared to O2 optimizations.
The O3 option is recommended for applications that have loops that heavily
use floating-point calculations and process large data sets.
Enables optimizations for speed. This is the generally recommended
optimization level.
This option enables optimizations for speed, including global code scheduling,
software pipelining,predication, and speculation.
This option also enables:
Enables optimizations for speed and disables some optimizations that
increase code size and affect speed.
To limit code size, this option:
On Intel Itanium processors, this option also enables optimizations for server applications (straight-line and branch-like code with a flat profile).
The O1 option may improve performance for applications with very large code size, many branches, and execution time not dominated by code within loops.
-unroll0, -fbuiltin, -mno-ieee-fp, -fomit-frame-pointer (same as -fp), -ffunction-sections
Tells the compiler the maximum number of times to unroll loops.
Enables inline expansion of all intrinsic functions.
Disables conformance to the ANSI C and IEEE 754 standards for floating-point arithmetic.
Enables EBP to be used as a general-purpose register.
Places each function in its own COMDAT section.
Enables multifile interprocedural optimizations between files.
Prevents linking with shared libraries.
Enables function splitting. This option is enabled automatically if you specify -prof-use.
Tells the compiler to assume that the program test errno after calls to math library functions. This restricts optimization because it causes the compiler to treat most math functions as having side effects.
Flag description origin markings:
For questions about the meanings of these flags, please contact the tester.
For other inquiries, please contact webmaster@spec.org
Copyright 2006-2014 Standard Performance Evaluation Corporation
Tested with SPEC CPU2006 v1.0.
Report generated on Tue Jul 22 12:08:11 2014 by SPEC CPU2006 flags formatter v6906.