Last updated: 17-Jul-2006
This flags disclosure file describes the compiler flags associated with the following Intel compilers:
icc invokes the Intel C++ compiler. It is invoked as:
icc [ options ] file1 [ file2 ... ]
where,
Invoking the compiler using icc compiles .c and .i files as C. Using icc only links in C++ libraries if C++ source is provided on the command line.
The icpc command uses the same compiler options as the icc command. Invoking the compiler using icpc compiles .c, and .i files as C++. Using icpc always links in C++ libraries.
ifort invokes the Intel Fortran compiler. It is invoked as:
ifort [ options ] file1 [ file2 ... ]
where,
icc invokes the Intel C++ compiler. It is invoked as:
icc [ options ] file1 [ file2 ... ]
where,
Invoking the compiler using icc compiles .c and .i files as C. Using icc only links in C++ libraries if C++ source is provided on the command line.
ifort invokes the Intel Fortran compiler. It is invoked as:
ifort [ options ] file1 [ file2 ... ]
where,
icc invokes the Intel C++ compiler. It is invoked as:
icc [ options ] file1 [ file2 ... ]
where,
Invoking the compiler using icc compiles .c and .i files as C. Using icc only links in C++ libraries if C++ source is provided on the command line.
The icpc command uses the same compiler options as the icc command. Invoking the compiler using icpc compiles .c, and .i files as C++. Using icpc always links in C++ libraries.
ifort invokes the Intel Fortran compiler. It is invoked as:
ifort [ options ] file1 [ file2 ... ]
where,
icc invokes the Intel C++ compiler. It is invoked as:
icc [ options ] file1 [ file2 ... ]
where,
Invoking the compiler using icc compiles .c and .i files as C. Using icc only links in C++ libraries if C++ source is provided on the command line.
ifort invokes the Intel Fortran compiler. It is invoked as:
ifort [ options ] file1 [ file2 ... ]
where,
For mixed-language benchmarks, tell the compiler that the main program is not written in Fortran
For mixed-language benchmarks, tell the compiler that the main program is not written in Fortran
For mixed-language benchmarks, tell the compiler that the main program is not written in Fortran
This macro indicates that the benchmark is being compiled on a MacOS X system.
This macro indicates that the benchmark is being compiled on an Intel-architecture MacOS X system.
This macro indicates that Fortran functions called from C should have their names lower-cased.
For mixed-language benchmarks, tell the compiler that the main program is not written in Fortran
For mixed-language benchmarks, tell the compiler that the main program is not written in Fortran
For mixed-language benchmarks, tell the compiler that the main program is not written in Fortran
This macro indicates that the benchmark is being compiled on a MacOS X system.
This macro indicates that the benchmark is being compiled on an Intel-architecture MacOS X system.
This macro indicates that Fortran functions called from C should have their names lower-cased.
The -fast option enhances execution speed across the entire program by including the following options that can improve run-time performance:
To override one of the options set by -fast, specify that option after the -fast option on the command line. The options set by -fast may change from release to release.
The -fast option enhances execution speed across the entire program by including the following options that can improve run-time performance:
To override one of the options set by -fast, specify that option after the -fast option on the command line. The options set by -fast may change from release to release.
The -fast option enhances execution speed across the entire program by including the following options that can improve run-time performance:
To override one of the options set by -fast, specify that option after the -fast option on the command line. The options set by -fast may change from release to release.
The -fast option enhances execution speed across the entire program by including the following options that can improve run-time performance:
To override one of the options set by -fast, specify that option after the -fast option on the command line. The options set by -fast may change from release to release.
Specifies the initial address of the stack pointer value, where value is a hexadecimal number rounded to the segment alignment. The default segment alignment is the target pagesize (currently, 1000 hexadecimal for the PowerPC and for i386). If -stack_size is specified and -stack_addr is not, a default stack address specific for the architecture being linked will be used and its value printed as a warning message. This creates a segment named __UNIXSTACK. Note that the initial stack address will be either at the high address of the segment or the low address of the segment depending on which direction the stack grows for the architecture being linked.
Specifies the size of the stack segment value, where value is a hexadecimal number rounded to the segment alignment. The default segment alignment is the target pagesize (currently, 1000 hexadecimal for the PowerPC and for i386). If -stack_addr is specified and -stack_size is not, a default stack size specific for the architecture being linked will be used and its value printed as a warning message. This creates a segment named __UNIXSTACK .
Specifies the initial address of the stack pointer value, where value is a hexadecimal number rounded to the segment alignment. The default segment alignment is the target pagesize (currently, 1000 hexadecimal for the PowerPC and for i386). If -stack_size is specified and -stack_addr is not, a default stack address specific for the architecture being linked will be used and its value printed as a warning message. This creates a segment named __UNIXSTACK. Note that the initial stack address will be either at the high address of the segment or the low address of the segment depending on which direction the stack grows for the architecture being linked.
Specifies the size of the stack segment value, where value is a hexadecimal number rounded to the segment alignment. The default segment alignment is the target pagesize (currently, 1000 hexadecimal for the PowerPC and for i386). If -stack_addr is specified and -stack_size is not, a default stack size specific for the architecture being linked will be used and its value printed as a warning message. This creates a segment named __UNIXSTACK .
Specifies the initial address of the stack pointer value, where value is a hexadecimal number rounded to the segment alignment. The default segment alignment is the target pagesize (currently, 1000 hexadecimal for the PowerPC and for i386). If -stack_size is specified and -stack_addr is not, a default stack address specific for the architecture being linked will be used and its value printed as a warning message. This creates a segment named __UNIXSTACK. Note that the initial stack address will be either at the high address of the segment or the low address of the segment depending on which direction the stack grows for the architecture being linked.
Specifies the size of the stack segment value, where value is a hexadecimal number rounded to the segment alignment. The default segment alignment is the target pagesize (currently, 1000 hexadecimal for the PowerPC and for i386). If -stack_addr is specified and -stack_size is not, a default stack size specific for the architecture being linked will be used and its value printed as a warning message. This creates a segment named __UNIXSTACK .
Specifies the initial address of the stack pointer value, where value is a hexadecimal number rounded to the segment alignment. The default segment alignment is the target pagesize (currently, 1000 hexadecimal for the PowerPC and for i386). If -stack_size is specified and -stack_addr is not, a default stack address specific for the architecture being linked will be used and its value printed as a warning message. This creates a segment named __UNIXSTACK. Note that the initial stack address will be either at the high address of the segment or the low address of the segment depending on which direction the stack grows for the architecture being linked.
Specifies the size of the stack segment value, where value is a hexadecimal number rounded to the segment alignment. The default segment alignment is the target pagesize (currently, 1000 hexadecimal for the PowerPC and for i386). If -stack_addr is specified and -stack_size is not, a default stack size specific for the architecture being linked will be used and its value printed as a warning message. This creates a segment named __UNIXSTACK .
Specifies the initial address of the stack pointer value, where value is a hexadecimal number rounded to the segment alignment. The default segment alignment is the target pagesize (currently, 1000 hexadecimal for the PowerPC and for i386). If -stack_size is specified and -stack_addr is not, a default stack address specific for the architecture being linked will be used and its value printed as a warning message. This creates a segment named __UNIXSTACK. Note that the initial stack address will be either at the high address of the segment or the low address of the segment depending on which direction the stack grows for the architecture being linked.
Specifies the size of the stack segment value, where value is a hexadecimal number rounded to the segment alignment. The default segment alignment is the target pagesize (currently, 1000 hexadecimal for the PowerPC and for i386). If -stack_addr is specified and -stack_size is not, a default stack size specific for the architecture being linked will be used and its value printed as a warning message. This creates a segment named __UNIXSTACK .
Specifies the initial address of the stack pointer value, where value is a hexadecimal number rounded to the segment alignment. The default segment alignment is the target pagesize (currently, 1000 hexadecimal for the PowerPC and for i386). If -stack_size is specified and -stack_addr is not, a default stack address specific for the architecture being linked will be used and its value printed as a warning message. This creates a segment named __UNIXSTACK. Note that the initial stack address will be either at the high address of the segment or the low address of the segment depending on which direction the stack grows for the architecture being linked.
Specifies the size of the stack segment value, where value is a hexadecimal number rounded to the segment alignment. The default segment alignment is the target pagesize (currently, 1000 hexadecimal for the PowerPC and for i386). If -stack_addr is specified and -stack_size is not, a default stack size specific for the architecture being linked will be used and its value printed as a warning message. This creates a segment named __UNIXSTACK .
Specifies the initial address of the stack pointer value, where value is a hexadecimal number rounded to the segment alignment. The default segment alignment is the target pagesize (currently, 1000 hexadecimal for the PowerPC and for i386). If -stack_size is specified and -stack_addr is not, a default stack address specific for the architecture being linked will be used and its value printed as a warning message. This creates a segment named __UNIXSTACK. Note that the initial stack address will be either at the high address of the segment or the low address of the segment depending on which direction the stack grows for the architecture being linked.
Specifies the size of the stack segment value, where value is a hexadecimal number rounded to the segment alignment. The default segment alignment is the target pagesize (currently, 1000 hexadecimal for the PowerPC and for i386). If -stack_addr is specified and -stack_size is not, a default stack size specific for the architecture being linked will be used and its value printed as a warning message. This creates a segment named __UNIXSTACK .
Specifies the initial address of the stack pointer value, where value is a hexadecimal number rounded to the segment alignment. The default segment alignment is the target pagesize (currently, 1000 hexadecimal for the PowerPC and for i386). If -stack_size is specified and -stack_addr is not, a default stack address specific for the architecture being linked will be used and its value printed as a warning message. This creates a segment named __UNIXSTACK. Note that the initial stack address will be either at the high address of the segment or the low address of the segment depending on which direction the stack grows for the architecture being linked.
Specifies the size of the stack segment value, where value is a hexadecimal number rounded to the segment alignment. The default segment alignment is the target pagesize (currently, 1000 hexadecimal for the PowerPC and for i386). If -stack_addr is specified and -stack_size is not, a default stack size specific for the architecture being linked will be used and its value printed as a warning message. This creates a segment named __UNIXSTACK .
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 IA-32 and Intel EM64T processors, when O3 is used with options -ax or -x (Linux/Mac OSX), the compiler performs more aggressive data dependency analysis than for O2, which may result in longer compilation times.
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.
This option enables multi-file interprocedural optimizations that includes:
When you specify this option, the compiler performs inline function expansion for calls to functions defined in separate files.
This option improves precision of floating-point divides. It has a slight impact on speed.
With some optimizations, such as -xN and -xB (Linux) or /QxN and /QxB (Windows), the compiler may change floating-point division computations into multiplication by the reciprocal of the denominator. For example, A/B is computed as A * (1/B) to improve the speed of the computation.
However, sometimes the value produced by this transformation is not as accurate as full IEEE division. When it is important to have fully precise IEEE division, use this option to disable the floating-point division-to-multiplication optimization. The result is more accurate, with some loss of performance.
If you specify -no-prec-div (Linux and Mac OSX), it enables optimizations that give slightly less precise results than full IEEE division. The default is -prec-div.
Code is not relocatable, but external references are relocatable.
The system under test is deemed reasonably quiet by turning off the following from the System Preferences panel:
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 v90.
Report generated on Tue Jul 22 10:01:48 2014 by SPEC CPU2006 flags formatter v6906.