Intel® C++ Compiler 9.1 for Linux* Release Notes Contents

Intel® C++ Compiler 9.1 for Linux* Release Notes Contents

Intel® C++ Compiler 9.1 for Linux* Release Notes Contents • Overview • What's New • System Requirements • Installation • Known Issues • Technical Support • Documentation • Additional Information • Disclaimer and Legal Information Overview This product provides tools for Linux* software developers to create applications to run at top speeds on all Intel® IA-32 processors, Intel processors with Intel® Extended Memory 64 Technology (Intel® EM64T) and the Intel Itanium® processors. Optimizations include support for Intel® Streaming SIMD Extensions 2 (SSE2) in the Intel Pentium® 4 and Intel Pentium® M processors, Intel® Streaming SIMD Extensions 3 (SSE3) in the Intel Pentium 4 and Intel® Core™ processors with SSE3 support, and software pipelining in the Intel Itanium® 2 processor. Inter-procedural optimization (IPO) and profile-guided optimization (PGO) can provide greater application performance. Intel Compilers support multi-threaded code development through autoparallelism and OpenMP* support. Additional information on the Intel Software Development Products is available at http://www.intel.com/software/products/ . Product Contents Intel® C++ Compiler for IA-32 Based Applications The Intel® C++ Compiler for IA-32 based applications contains the following components: • Intel® C++ Compiler for Linux for IA-32 applications, version 9.1 • Intel® Debugger for IA-32 applications, version 9.1 • Intel® Compiler code-coverage tool • Intel® Compiler test-prioritization tool • A version of the Eclipse* 3.1.1 Integrated Development Environment with C/C++ Development Tools 3.0.1 for the Intel C++ Compiler, and associated components • The product documentation, version 9.1 o The documentation index is provided for easy access of all the documents. It is located at <install-dir>/doc/Doc_Index.htm Intel® C++ Compiler for Intel EM64T-Based Applications The Intel® C++ Compiler for Intel EM64T-based applications contains the following components: • Intel® C++ Compiler for Linux for Intel EM64T-based applications, version 9.1 • Intel® Debugger for Intel EM64T-based applications, version 9.1 • Substitute headers for use with the Intel C++ Compiler, version 9.1 • Intel® Compiler code-coverage tool • Intel® Compiler test-prioritization tool • The product documentation, version 9.1 o The documentation index is provided for easy access of all the documents. It is located at <install-dir>/doc/Doc_Index.htm Intel® C++ Compiler for Itanium-Based Applications The Intel® C++ Compiler for Itanium-based applications contains the following components: • Intel® C++ Compiler for Linux for Itanium-based applications, version 9.1 • Intel® Debugger for Itanium-based applications, version 9.1 • Intel® Itanium Assembler to produce Itanium-based applications, version 8.0 • Substitute headers for use with the Intel C++ Compiler, version 9.1 • Intel® Compiler code-coverage tool • Intel® Compiler test-prioritization tool • A version of the Eclipse* 3.1.1 Integrated Development Environment with C/C++ Development Tools 3.0.1 for the Intel C++ Compiler, and associated components • The product documentation, version 9.1 o The documentation index is provided for easy access of all the documents. It is located at <install-dir>/doc/Doc_Index.htm Eclipse* Integrated Development Environment (IA-32 and Intel® Itanium®- based Systems Only) The Intel® C++ Compiler for Linux includes compiler integration with Eclipse* and the C/C++ Development Tools* (CDT). This functionality is an optional part of the compiler installation. Eclipse is an open source software development project dedicated to providing a robust, full- featured, commercial-quality, industry platform for the development of highly integrated tools. It is an extensible, open source Integrated Development Environment (IDE). The CDT (C/C++ Development Tools) project is dedicated to providing a fully functional C/C++ IDE for the Eclipse platform. CDT is layered on Eclipse, and provides a C/C++ development environment perspective. The Intel C++ Compiler integration with the Eclipse/CDT IDE lets you develop, build, and run your Intel C/C++ projects in a visual, interactive environment. See Also • http://www.eclipse.org/ for further information about Eclipse • http://www.eclipse.org/cdt/ for further information about CDT What's New in Version 9.1 The following section discusses new features and changes in the Intel C++ Compiler version 9.1 and updates to 9.1. Please see the separate release notes for the Intel Debugger. New and Changed Command Line Options The following is a listing of command line options that are new or have changed since the initial version 9.0 release. Please refer to the compiler documentation for more information on these options. -axT Directs the compiler to generate processor-specific code optimized for the Intel processor code named "Merom" (and compatible Intel processors) as well as generic IA-32 code (IA-32 and Intel EM64T only, default: off) -dD Same as -dM, but outputs #define directives in preprocessed source. (Default: off) -dM Outputs macro definitions in effect after preprocessing. (Default: off) -dN Same as -dD, but #define directives contain only macro names. (Default: off) -early-template-check Checks semantics of function template prototypes before instantiation (Default: off) -fargument-alias Same as -alias-args (Default: on) -finline-limit=n Lets you specify the maximum size of a function to be inlined. (Default: off) -f[no-]non-lvalue-assign Allows or disallows casts and conditional expressions to be used as lvalues. (Default: -fnon-lvalue-assign) -[no-]ftz Enables or disables the flushing to zero of floating point calculations that would underflow into the denormal range. The behavior of this option has changed for version 9.1 - please see the note below for more details. -fvisibility-inlines-hidden Causes inline member functions to be marked as hidden. (Default: off) -inline-factor=<n> Specifies the percentage multiplier that should be applied to all inlining options that define upper limits. (Default: off) -inline-forceinline Specifies that an inline routine should be inlined whenever the compiler can do so. (Default: off) -inline-max-per-compile=<n> Specifies the maximum number of times inlining may be applied to an entire compilation unit. (Default: off) -inline-max-per-routine=<n> Specifies the maximum number of times the inliner may inline into a particular routine. (Default: off) -inline-max-size=<n> Specifies the lower limit for the size of what the inliner considers to be a large routine. (Default: off) -inline-max-total-size=<n> Specifies how much larger a routine can normally grow when inline expansion is performed. (Default: off) -inline-min-size=<n> Specifies the upper limit for the size of what the inliner considers to be a small routine. (Default: off) -iquote <dir> Adds a directory to the front of the include file search path for files included with quotes, but not brackets. (Default: off) -isystem <dir> Specifies a directory to add to the start of the system include path. (Default: off) -mcmodel=mem_model Tells the compiler to use a specific memory model to generate code and store data. (Intel® EM64T only, default: -mcmodel=small) -mtune itanium2-p9000 Optimizes for Dual-Core Intel® Itanium® 2 Processor 9000 Sequence processors. (Default: off) -opt-mem-bandwidth<n> Enables or disables performance tuning and heuristics that control memory bandwidth use among processors. (Itanium-only, default 0 for serial compilations, 1 for parallel compilations) -xT Directs the compiler to generate specialized and optimized processor-specific code for the Intel processor code named "Merom" and compatible Intel processors. Use of -xP and -axP Code Generation Switches The -xP and -axP switches specify generation of specialized code for Intel processors supporting the Streaming SIMD Extensions 3 (SSE3), including the Intel® Core™ processors. Change in Behavior for -ftz and new -no-ftz When a floating point calculation results in a value too small to be represented as a full- precision normalized value, the default behavior is for a reduced-precision denormalized value to be stored. However, subsequent calculations using denormal values can suffer significantly reduced performance. The -ftz compiler option, available in previous versions of the compiler, specifies that such values should be converted (flushed) to zero, improving performance. However, the option was not consistently implemented: • On Itanium-based systems, -ftz allowed the processor to flush values to zero, improving performance • On IA-32 and Intel EM64T-based systems when SSE instructions were used for an operation, -ftz allowed the processor to flush values to zero, improving performance. This was the default behavior. • On IA-32 and Intel EM64T-based systems when X87 instructions were used for an operation, -ftz was ignored, with the effect that computations done in X87 instructions could yield different results from those done in SSE instructions On Intel Itanium-based systems only, -ftz is implicitly in effect if -O3 is specified. As of version 9.1, -ftz is supported on all processor types and for both SSE and X87 instructions leading to consistent computations. However, there is a significant performance degradation when -ftz is explicitly specified and X87 instructions are used for computations on IA-32 and Intel EM64T-based systems. This option should be used only when consistency for computations that underflow is more important than performance. If you do not want denormals flushed to zero on Intel Itanium

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    17 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us