Compilers: Intel C++ Compilers, Version 9.1
for 32/64bit-based applications in Windows
Operating system: Windows Server 2003 x64 Enterprise Edition (64-bit)
Last updated: 02-Mar-2007 PS
The text for many of the descriptions below was taken
from the documentation of the Intel Compilers.
This documentation is copyright © 2006 Intel Corporation. All Rights Reserved.
The original documentation is distributed with the Intel compilers.
Invoke Intel C/C++ compiler.
Also used to invoke linker C/C++ programs.
Specifies compatibilty with Microsoft Visual Studio 2005.
This option enables/disables C99 support for C programs.
Invoke Intel C/C++ compiler.
Also used to invoke linker C/C++ programs.
Specifies compatibilty with Microsoft Visual Studio 2005.
This option enables/disables C99 support for C programs.
Invoke Intel C/C++ compiler.
Also used to invoke linker C/C++ programs.
Specifies compatibilty with Microsoft Visual Studio 2005.
This option enables/disables C99 support for C programs.
Specify directories containing link libraries.
From Intel 9.1 for EM64T
Specify directories containing link libraries.
From Microsoft Platform SDK for AMD64
Specify directories containing link libraries.
From Microsoft Platform SDK for AMD64 - ATLMFC library
Invoke Intel C/C++ compiler.
Also used to invoke linker C/C++ programs.
Specifies compatibilty with Microsoft Visual Studio 2005.
This option enables/disables C99 support for C programs.
Specify directories containing link libraries.
From Intel 9.1 for EM64T
Specify directories containing link libraries.
From Microsoft Platform SDK for AMD64
Specify directories containing link libraries.
From Microsoft Platform SDK for AMD64 - ATLMFC library
Invoke Intel C/C++ compiler.
Also used to invoke linker C/C++ programs.
Specifies compatibilty with Microsoft Visual Studio 2005.
This option enables/disables C99 support for C programs.
Specify directories containing link libraries.
From Intel 9.1 for EM64T
Specify directories containing link libraries.
From Microsoft Platform SDK for AMD64
Specify directories containing link libraries.
From Microsoft Platform SDK for AMD64 - ATLMFC library
Invoke Intel C/C++ compiler.
Also used to invoke linker C/C++ programs.
Specifies compatibilty with Microsoft Visual Studio 2005.
This option enables/disables C99 support for C programs.
Specify directories containing link libraries.
From Intel 9.1 for EM64T
Specify directories containing link libraries.
From Microsoft Platform SDK for AMD64
Specify directories containing link libraries.
From Microsoft Platform SDK for AMD64 - ATLMFC library
SPEC_CPU_WIN32 sets up types for gcc's compile time arithmetic, reflects the lack of a unistd.g file, sets the size and existence of the __int64 type, and sets the default page size on Windows.
This flag is set when building 464.h264ref on Windows systems.
This flag can be used as a portability flag on systems which do not have the standard header file "stdint.h". Inclusion of this flag defines the value of INT64_MIN (if it is not defined) and sets the "int64" type (if it is not set already)
-Qoption,string,options This option passes options to a specified tool.
string Is the name of the tool.
Here: cpp indicates the C++ preprocessor.
options Are one or more comma-separated,
valid options for the designated tool.
Here: --no_wchar_t_keyword is passed to C++ preprocessor to provide
the information that there is no wchar_t keyword.
This flag must be used to avoid syntax errors coming from the use of wchar_t in 483.xalancbmk.
This option is used to indicate that the host system's integers and longs, are 32-bits wide, 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.
SPEC_CPU_WIN32 sets up types for gcc's compile time arithmetic, reflects the lack of a unistd.g file, sets the size and existence of the __int64 type, and sets the default page size on Windows.
This option is used to indicate that the host system's integers and longs, are 32-bits wide, 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 and longs, are 32-bits wide, 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 is set when building 464.h264ref on Windows systems.
This flag can be used as a portability flag on systems which do not have the standard header file "stdint.h". Inclusion of this flag defines the value of INT64_MIN (if it is not defined) and sets the "int64" type (if it is not set already)
This option is used to indicate that the host system's integers and longs, are 32-bits wide, 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.
-Qoption,string,options This option passes options to a specified tool.
string Is the name of the tool.
Here: cpp indicates the C++ preprocessor.
options Are one or more comma-separated,
valid options for the designated tool.
Here: --no_wchar_t_keyword is passed to C++ preprocessor to provide
the information that there is no wchar_t keyword.
This flag must be used to avoid syntax errors coming from the use of wchar_t in 483.xalancbmk.
Specifies the stack reserve amount for the program.
-F<n>
<n> is the stack reserve amount.
It can be specified as a decimal integer or by using a C-style convention
for constants (for example, -F0x1000).
Default: The stack size default is chosen by the operating system.
Link with MicroQuill SmartHeap Library (32-bit).
Available from
http://www.microquill.com/
Force Linking even if multiple entry names are found.
This option enables standard C++ features without disabling Microsoft features within the bounds of what is provided in the Microsoft headers and libraries.
This option has the same effect as specifying -GX -GR.
-GX Enables C++ exception handling.
-GR Enables C++ Run Time Type Information (RTTI).
Specifies the stack reserve amount for the program.
-F<n>
<n> is the stack reserve amount.
It can be specified as a decimal integer or by using a C-style convention
for constants (for example, -F0x1000).
Default: The stack size default is chosen by the operating system.
Link with MicroQuill SmartHeap Library (32-bit).
Available from
http://www.microquill.com/
Force Linking even if multiple entry names are found.
This option instruments a program for profiling as first step in Profile Guided Optimization.
Profile Guided Optimization (PGO) consists of 3 phases:
Phase 1: Compile and generate instrumented code in preparation
to gather profiling information (compiler flag -Qprof_gen).
Phase 2: Execute the instrumented code and gather profiling information.
Phase 3: Recompile the code and use the profiling information
for improved optimization (compiler flag -Qprof_use).
The option -Qprof_gen instruments a program for profiling to get the execution count of each basic block. It also creates a new static profile information file (.spi). This flag is used in phase 1 of the Profile Guided Optimizer (PGO) to instruct the compiler to produce code in your object files in preparation for instrumented execution.
The instrumented code
This option enables the use of profiling information during optimization as final step in Profile Guided Optimization.
Profile Guided Optimization (PGO) consists of 3 phases:
Phase 1: Compile and generate instrumented code in preparation
to gather profiling information (compiler flag -Qprof_gen).
Phase 2: Execute the instrumented code and gather profiling information.
Phase 3: Recompile the code and use the profiling information
for improved optimization (compiler flag -Qprof_use).
The option -Qprof_use instructs the compiler to use the profiling information from phase 2 of PGO in order to produce a profile-optimized executable (phase 3 of PGO).
It also enables function splitting (option -Qfnsplit) and function grouping during optimization.
Note that there is no way to turn off function grouping if you enable it using this option.
The recompilation with -Qprof_use
Specifies the stack reserve amount for the program.
-F<n>
<n> is the stack reserve amount.
It can be specified as a decimal integer or by using a C-style convention
for constants (for example, -F0x1000).
Default: The stack size default is chosen by the operating system.
Link with MicroQuill SmartHeap Library (32-bit).
Available from
http://www.microquill.com/
Force Linking even if multiple entry names are found.
Specifies the stack reserve amount for the program.
-F<n>
<n> is the stack reserve amount.
It can be specified as a decimal integer or by using a C-style convention
for constants (for example, -F0x1000).
Default: The stack size default is chosen by the operating system.
Link with MicroQuill SmartHeap Library (64-bit).
Available from
http://www.microquill.com/
Link with Microsoft Platform SDK bufferoverflowu.lib Library.
Force Linking even if multiple entry names are found.
This option instruments a program for profiling as first step in Profile Guided Optimization.
Profile Guided Optimization (PGO) consists of 3 phases:
Phase 1: Compile and generate instrumented code in preparation
to gather profiling information (compiler flag -Qprof_gen).
Phase 2: Execute the instrumented code and gather profiling information.
Phase 3: Recompile the code and use the profiling information
for improved optimization (compiler flag -Qprof_use).
The option -Qprof_gen instruments a program for profiling to get the execution count of each basic block. It also creates a new static profile information file (.spi). This flag is used in phase 1 of the Profile Guided Optimizer (PGO) to instruct the compiler to produce code in your object files in preparation for instrumented execution.
The instrumented code
This option enables the use of profiling information during optimization as final step in Profile Guided Optimization.
Profile Guided Optimization (PGO) consists of 3 phases:
Phase 1: Compile and generate instrumented code in preparation
to gather profiling information (compiler flag -Qprof_gen).
Phase 2: Execute the instrumented code and gather profiling information.
Phase 3: Recompile the code and use the profiling information
for improved optimization (compiler flag -Qprof_use).
The option -Qprof_use instructs the compiler to use the profiling information from phase 2 of PGO in order to produce a profile-optimized executable (phase 3 of PGO).
It also enables function splitting (option -Qfnsplit) and function grouping during optimization.
Note that there is no way to turn off function grouping if you enable it using this option.
The recompilation with -Qprof_use
Specifies the stack reserve amount for the program.
-F<n>
<n> is the stack reserve amount.
It can be specified as a decimal integer or by using a C-style convention
for constants (for example, -F0x1000).
Default: The stack size default is chosen by the operating system.
Force Linking even if multiple entry names are found.
This option instruments a program for profiling as first step in Profile Guided Optimization.
Profile Guided Optimization (PGO) consists of 3 phases:
Phase 1: Compile and generate instrumented code in preparation
to gather profiling information (compiler flag -Qprof_gen).
Phase 2: Execute the instrumented code and gather profiling information.
Phase 3: Recompile the code and use the profiling information
for improved optimization (compiler flag -Qprof_use).
The option -Qprof_gen instruments a program for profiling to get the execution count of each basic block. It also creates a new static profile information file (.spi). This flag is used in phase 1 of the Profile Guided Optimizer (PGO) to instruct the compiler to produce code in your object files in preparation for instrumented execution.
The instrumented code
This option enables the use of profiling information during optimization as final step in Profile Guided Optimization.
Profile Guided Optimization (PGO) consists of 3 phases:
Phase 1: Compile and generate instrumented code in preparation
to gather profiling information (compiler flag -Qprof_gen).
Phase 2: Execute the instrumented code and gather profiling information.
Phase 3: Recompile the code and use the profiling information
for improved optimization (compiler flag -Qprof_use).
The option -Qprof_use instructs the compiler to use the profiling information from phase 2 of PGO in order to produce a profile-optimized executable (phase 3 of PGO).
It also enables function splitting (option -Qfnsplit) and function grouping during optimization.
Note that there is no way to turn off function grouping if you enable it using this option.
The recompilation with -Qprof_use
Specifies the stack reserve amount for the program.
-F<n>
<n> is the stack reserve amount.
It can be specified as a decimal integer or by using a C-style convention
for constants (for example, -F0x1000).
Default: The stack size default is chosen by the operating system.
Link with Microsoft Platform SDK bufferoverflowu.lib Library.
Force Linking even if multiple entry names are found.
This option instruments a program for profiling as first step in Profile Guided Optimization.
Profile Guided Optimization (PGO) consists of 3 phases:
Phase 1: Compile and generate instrumented code in preparation
to gather profiling information (compiler flag -Qprof_gen).
Phase 2: Execute the instrumented code and gather profiling information.
Phase 3: Recompile the code and use the profiling information
for improved optimization (compiler flag -Qprof_use).
The option -Qprof_gen instruments a program for profiling to get the execution count of each basic block. It also creates a new static profile information file (.spi). This flag is used in phase 1 of the Profile Guided Optimizer (PGO) to instruct the compiler to produce code in your object files in preparation for instrumented execution.
The instrumented code
This option enables the use of profiling information during optimization as final step in Profile Guided Optimization.
Profile Guided Optimization (PGO) consists of 3 phases:
Phase 1: Compile and generate instrumented code in preparation
to gather profiling information (compiler flag -Qprof_gen).
Phase 2: Execute the instrumented code and gather profiling information.
Phase 3: Recompile the code and use the profiling information
for improved optimization (compiler flag -Qprof_use).
The option -Qprof_use instructs the compiler to use the profiling information from phase 2 of PGO in order to produce a profile-optimized executable (phase 3 of PGO).
It also enables function splitting (option -Qfnsplit) and function grouping during optimization.
Note that there is no way to turn off function grouping if you enable it using this option.
The recompilation with -Qprof_use
This option enables standard C++ features without disabling Microsoft features within the bounds of what is provided in the Microsoft headers and libraries.
This option has the same effect as specifying -GX -GR.
-GX Enables C++ exception handling.
-GR Enables C++ Run Time Type Information (RTTI).
Specifies the stack reserve amount for the program.
-F<n>
<n> is the stack reserve amount.
It can be specified as a decimal integer or by using a C-style convention
for constants (for example, -F0x1000).
Default: The stack size default is chosen by the operating system.
Link with MicroQuill SmartHeap Library (32-bit).
Available from
http://www.microquill.com/
Force Linking even if multiple entry names are found.
This allows alloca to be set to the compiler's preferred alloca by SPEC rules.
This allows alloca to be set to the compiler's preferred alloca by SPEC rules.
This section contains descriptions of flags that were included implicitly by other flags, but which do not have a permanent home at SPEC.
Optimizes for speed. Enables high-level optimization. This level does not guarantee higher performance. Using this option may increase the compilation time. Impact on performance is application dependent, some applications may not see a performance improvement.
The optimizations include:
Optimizes for speed.
The -O2 option includes the following options:
This options defaults to ON.
This option also enables:
Enables global optimizations.
Enables/disables inline expansion of intrinsic functions.
Default enabled
This option enables most speed optimizations, but disables some that increase code size for a small speed benefit.
Default enabled
Enables [disables] the use of the EBP register in optimizations. When you disable with -Oy-, the EBP register is used as frame pointer. -Oy has the effect of reducing the number of general-purpose registers by 1, and can produce slightly less efficient code.
Default enabled
n = 0
Disables inlining of user-defined functions.
However, statement functions are always inlined
n = 1
Enables inlining of functions declared with the __inline keyword.
Also enables inlining according to the C++ language
n = 2
Enables inlining of any function.
However, the compiler decides which functions are inlined.
This option enables interprocedural optimizations and has the same
effect as specifying option Qip.
Default enabled with n = 2
Disables stack-checking for routines with n or more bytes of local variables and compiler temporaries.
Default enabled with n = 4096.
Enables[disables] improved precision of floating-point divides. Disabling may slightly improve speed. Default Enabled.
-Qxprocessor This option directs the compiler to generate specialized and optimized code for the Intel processor that executes your program. It lets you target your program to run on a specific Intel processor.
processor Is the processor
for which you want to target your program.
Here: P Code is optimized for Intel Core Duo processors,
Intel Core Solo processors, Intel Pentium 4 processors with Steaming SIMD
Extensions 3, and compatible Intel processors with Streaming SIMD Extensions 3.
The resulting code may contain unconditional use of features
that are not supported on other processors.
This option also enables new optimizations in addition to Intel
processor-specific optimizations including advanced data layout and code
restructuring optimizations to improve memory accesses for Intel processors.
Programs compiled with -QxP will display a fatal run-time error if they are executed on unsupported processors.
On Intel EM64T systems, W, P, and T are the only valid processor values.
-Qipo[n]
This option enables interprocedural optimizations between files. This is also called multifile interprocedural optimization (multifile IPO) or Whole Program Optimization (WPO).
When you specify this option, the compiler performs inline function expansion for calls to functions defined in separate files.
You cannot specify the names for the object files that are created.
n Is an optional integer that specifies
the number of object files the compiler should create.
The integer must be greater than or equal to 0.
If you do not specify n, the default is 0.
If n is 0, the compiler decides whether to create one or more object files based on an estimate of the size of the application. It generates one object file for small applications, and two or more object files for large applications.
If n is greater than 0, the compiler generates n object files, unless n exceeds the number of source files (m), in which case the compiler generates only m object files.
Enables function splitting.
This option enables function splitting if -Qprof-use is also specified. Otherwise, this option has no effect.
It is enabled automatically if you specify -Qprof-use. If you do not specify one of those options, the default is -Qfnsplit-, which disables function splitting but leaves function grouping enabled.
To disable function splitting when you use -Qprof-use, specify -Qfnsplit-.
Platform settings
One or more of the following settings may have been set. If so, the "General Notes" section of the report will say so; and you can read below to find out more about what these settings mean.
Hardware Prefetch:
This BIOS option allows the enabling/disabling of a processor mechanism to prefetch data into the cache according to a pattern-recognition algorithm.
In some cases, setting this option to Disabled may improve performance. Users should only disable this option after performing application benchmarking to verify improved performance in their environment.
Adjacent Sector Prefetch:
This BIOS option allows the enabling/disabling of a processor mechanism to fetch the adjacent cache line within an 128-byte sector that contains the data needed due to a cache line miss.
In some cases, setting this option to Disabled may improve performance. Users should only disable this option after performing application benchmarking to verify improved performance in their environment.
/I
Compiler option to set the path for include files.
Used in some peak benchmarks which were build using the Intel 64-bit compiler.
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 11:53:22 2014 by SPEC CPU2006 flags formatter v6906.