Compilers: Intel Compilers for C++ and Fortran, Version 10.1 for IPF Linux64
Operating system: Red Hat Enterprise Linux 5.1 (for Intel Itanium)
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.
This option controls the prefetches that are issued before the loop is entered. These prefetches target the initial iterations of the loop. The default is -opt-prefetch-initial-values (prefetch for initial iterations on) at -O1 and higher optimization levels.
This option controls the prefetches that are issued for a memory access in the next iteration, typically done in a pointer-chasing loop. This option should improve performance. The default is -no-opt-prefetch-next-iteration (next iteration prefetch off).
Enables or disables use of the "exclusive hint" when generating prefetch instructions. (IA-64 architecture only, default: off)
The Itanium architecture provides mechanisms, such as instruction templates, branch hints, and cache hints to enable the compiler to communicate compile-time information to the processor. "exclusive hint" is one of the cache hints and tells the processor to bring the prefetched cache line into the cache in exclusive state.
This option tells the compiler to use more aggressive unrolling for certain loops. The default is -no-unroll-aggressive (the compiler uses less aggressive default heuristics when unrolling loops). This option may improve performance. On the Itanium architecture, this option enables additional complete unrolling for loops that have multiple exits or outer loops that have a small constant trip count.
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.
This option controls the prefetches that are issued before the loop is entered. These prefetches target the initial iterations of the loop. The default is -opt-prefetch-initial-values (prefetch for initial iterations on) at -O1 and higher optimization levels.
This option controls the prefetches that are issued for a memory access in the next iteration, typically done in a pointer-chasing loop. This option should improve performance. The default is -no-opt-prefetch-next-iteration (next iteration prefetch off).
Enables or disables use of the "exclusive hint" when generating prefetch instructions. (IA-64 architecture only, default: off)
The Itanium architecture provides mechanisms, such as instruction templates, branch hints, and cache hints to enable the compiler to communicate compile-time information to the processor. "exclusive hint" is one of the cache hints and tells the processor to bring the prefetched cache line into the cache in exclusive state.
This option tells the compiler to use more aggressive unrolling for certain loops. The default is -no-unroll-aggressive (the compiler uses less aggressive default heuristics when unrolling loops). This option may improve performance. On the Itanium architecture, this option enables additional complete unrolling for loops that have multiple exits or outer loops that have a small constant trip count.
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:
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 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.
This option turns on versioning of modulo operations for certain types of operands (e.g. x%y where y is dynamically determined to be a power of 2). The default is modulo versioning off. This option may improve performance. Versioning of modulo operations commonly results in possibly large speedups for x%y where y is a power of 2. However, the optimization could hurt performance slightly if y is not a power of 2.
This option tells the compiler to use more aggressive unrolling for certain loops. The default is -no-unroll-aggressive (the compiler uses less aggressive default heuristics when unrolling loops). This option may improve performance. On the Itanium architecture, this option enables additional complete unrolling for loops that have multiple exits or outer loops that have a small constant trip count.
Specifies the percentage multiplier that should be applied to all inlining options that define upper limits: -inline-max-size, -inline-max-total-size, -inline-max-per-routine, and -inline-max-per-compile.
This option takes the default value for each of the above options and multiplies it by n divided by 100. For example, if 200 is specified, all inlining options that define upper limits are multiplied by a factor of 2. This option is usuful if you do not want to individually increase each option limit.
n is a positive integer specifying the percentage value. The default value is 100 (a factor of 1).
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.
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.
Specifies that aliasing should not be assumed in the program.
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.
This option controls the prefetches that are issued for a memory access in the next iteration, typically done in a pointer-chasing loop. This option should improve performance. The default is -no-opt-prefetch-next-iteration (next iteration prefetch off).
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:
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.
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.
This option controls the prefetches that are issued before the loop is entered. These prefetches target the initial iterations of the loop. The default is -opt-prefetch-initial-values (prefetch for initial iterations on) at -O1 and higher optimization levels.
This option controls the prefetches that are issued for a memory access in the next iteration, typically done in a pointer-chasing loop. This option should improve performance. The default is -no-opt-prefetch-next-iteration (next iteration prefetch off).
This option tells the compiler to use more aggressive unrolling for certain loops. The default is -no-unroll-aggressive (the compiler uses less aggressive default heuristics when unrolling loops). This option may improve performance. On the Itanium architecture, this option enables additional complete unrolling for loops that have multiple exits or outer loops that have a small constant trip count.
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.
This option controls the prefetches that are issued for a memory access in the next iteration, typically done in a pointer-chasing loop. This option should improve performance. The default is -no-opt-prefetch-next-iteration (next iteration prefetch off).
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.
This option controls the prefetches that are issued before the loop is entered. These prefetches target the initial iterations of the loop. The default is -opt-prefetch-initial-values (prefetch for initial iterations on) at -O1 and higher optimization levels.
This option controls the prefetches that are issued for a memory access in the next iteration, typically done in a pointer-chasing loop. This option should improve performance. The default is -no-opt-prefetch-next-iteration (next iteration prefetch off).
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.
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.
This option controls the prefetches that are issued before the loop is entered. These prefetches target the initial iterations of the loop. The default is -opt-prefetch-initial-values (prefetch for initial iterations on) at -O1 and higher optimization levels.
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.
This option tells the compiler to use more aggressive unrolling for certain loops. The default is -no-unroll-aggressive (the compiler uses less aggressive default heuristics when unrolling loops). This option may improve performance. On the Itanium architecture, this option enables additional complete unrolling for loops that have multiple exits or outer loops that have a small constant trip count.
Disables prefetch insertion optimization..
This option controls the prefetches that are issued for a memory access in the next iteration, typically done in a pointer-chasing loop. This option should improve performance. The default is -no-opt-prefetch-next-iteration (next iteration prefetch off).
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.
This option turns on versioning of modulo operations for certain types of operands (e.g. x%y where y is dynamically determined to be a power of 2). The default is modulo versioning off. This option may improve performance. Versioning of modulo operations commonly results in possibly large speedups for x%y where y is a power of 2. However, the optimization could hurt performance slightly if y is not a power of 2.
This option controls the prefetches that are issued before the loop is entered. These prefetches target the initial iterations of the loop. The default is -opt-prefetch-initial-values (prefetch for initial iterations on) at -O1 and higher optimization levels.
Enables or disables use of the "exclusive hint" when generating prefetch instructions. (IA-64 architecture only, default: off)
The Itanium architecture provides mechanisms, such as instruction templates, branch hints, and cache hints to enable the compiler to communicate compile-time information to the processor. "exclusive hint" is one of the cache hints and tells the processor to bring the prefetched cache line into the cache in exclusive state.
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.
Specifies that aliasing should not be assumed in the program.
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.
Disables prefetch insertion optimization..
Specifies the percentage multiplier that should be applied to all inlining options that define upper limits: -inline-max-size, -inline-max-total-size, -inline-max-per-routine, and -inline-max-per-compile.
This option takes the default value for each of the above options and multiplies it by n divided by 100. For example, if 200 is specified, all inlining options that define upper limits are multiplied by a factor of 2. This option is usuful if you do not want to individually increase each option limit.
n is a positive integer specifying the percentage value. The default value is 100 (a factor of 1).
This option turns on versioning of modulo operations for certain types of operands (e.g. x%y where y is dynamically determined to be a power of 2). The default is modulo versioning off. This option may improve performance. Versioning of modulo operations commonly results in possibly large speedups for x%y where y is a power of 2. However, the optimization could hurt performance slightly if y is not a power of 2.
This option tells the compiler to use more aggressive unrolling for certain loops. The default is -no-unroll-aggressive (the compiler uses less aggressive default heuristics when unrolling loops). This option may improve performance. On the Itanium architecture, this option enables additional complete unrolling for loops that have multiple exits or outer loops that have a small constant trip count.
This option controls the prefetches that are issued for a memory access in the next iteration, typically done in a pointer-chasing loop. This option should improve performance. The default is -no-opt-prefetch-next-iteration (next iteration prefetch off).
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.
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.
Specifies that aliasing should not be assumed in the program.
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.
Specifies the percentage multiplier that should be applied to all inlining options that define upper limits: -inline-max-size, -inline-max-total-size, -inline-max-per-routine, and -inline-max-per-compile.
This option takes the default value for each of the above options and multiplies it by n divided by 100. For example, if 200 is specified, all inlining options that define upper limits are multiplied by a factor of 2. This option is usuful if you do not want to individually increase each option limit.
n is a positive integer specifying the percentage value. The default value is 100 (a factor of 1).
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
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.
Disables prefetch insertion optimization..
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.
Specifies that aliasing should not be assumed in the program.
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
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.
This option tells the compiler to use more aggressive unrolling for certain loops. The default is -no-unroll-aggressive (the compiler uses less aggressive default heuristics when unrolling loops). This option may improve performance. On the Itanium architecture, this option enables additional complete unrolling for loops that have multiple exits or outer loops that have a small constant trip count.
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.
This option controls the prefetches that are issued before the loop is entered. These prefetches target the initial iterations of the loop. The default is -opt-prefetch-initial-values (prefetch for initial iterations on) at -O1 and higher optimization levels.
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.
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.1.
Report generated on Tue Jul 22 18:38:23 2014 by SPEC CPU2006 flags formatter v6906.