Addition and Subtraction Operators
Addition and Subtraction Operators
Allocating and Freeing Aligned Memory Blocks
Allocating and Freeing Aligned Memory Blocks
Alternate Tools and Locations
Alternate Tools and Locations
Assembly File Listing Example
Assembly File Listing Example
C++ Classes and SIMD Operations
C++ Classes and SIMD Operations
Class Libraries - Arithmetic Operators
Arithmetic Operators
Class Libraries for SIMD Operations
About the Classes
Compare Operators
Compare Operators
Compiler Limits
Compiler Limits
Compiling
Compilation Overview
Compiling: Configuration Files
Configuration Files
Compiling: Controlling Flow
Controlling Compilation Flow
Compiling: Controlling Output
Controlling Compilation Output
Compiling: Customizing the Environment
Customizing the Compilation Environment
Compiling: from the Command Line
Invoking the Compiler from the Command Line
Compiling: from the Command Line with make
Invoking the Compiler from the Command Line with make
Compiling: Include Files
Include Files
Compiling: Include Files: Searching for
Searching for Include Files
Compiling: Input Files
Compiler Input Files
Compiling: Options Cross Reference
Compiler Options Cross Reference
Compiling: Options Quick Reference Guide
Compiler Options Quick Reference Guide
Compiling: Phases
Compilation Phases
Compiling: Response Files
Response Files
Compiling: Specifying Alternate Tools and Paths
Specifying Alternate Tools and Paths
Conditional Select Operators
Conditional Select Operators
Conditional Select Operators for Fvec Classes
Conditional Select Operators for Fvec Classes
Configuration Files
Configuration Files
Conformance Options
Conformance Options
Conformance Options: C Standard
Conformance to the C Standard
Conformance Options: C++ Standard
Conformance to the C++ Standard
Constructors and Initialization
Constructors and Initialization
Conventions
How to Use This Document
Conversions
Conversions
Conversions Between Fvec and Ivec
Conversions Between Fvec and Ivec
Data Alignment
Data Alignment
Debugging
Debugging Options Overview
Debugging: Options
Debugging Options
Debugging: Symbolic Debugging
Support for Symbolic Debugging
Defaults
Default Behavior of the Compiler
Defaults: Inline Expansion
Inline Expansion of Library Functions
Defaults: Libraries
Default Libraries
Defaults: Options
Default Compiler Options
Diagnostics and Messages
Diagnostics and Messages
Diagnostics and Messages: Language Diagnostics
Language Diagnostics
Diagnostics and Messages: Limiting
Limiting the Number of Errors Reported
Diagnostics and Messages: Suppressing
Suppressing Warning Messages or Enabling Remarks
Diagnostics and Messages: Suppressing with lint
Suppressing Warning Messages with lint Comments
Disclaimer
Disclaimer
EMMS Usage Guidelines
EMMS Usage Guidelines
EMMS Usage Guidelines: EMMS Instruction
The EMMS Instruction: Why You Need It
Environment Variables
Environment Variables
Features and Benefits
Features and Benefits
FLEXlm* Electronic Licensing
FLEXlm* Electronic Licensing
Floating-point Arithmetic Precision
Floating-point Arithmetic Precision
Floating-point Intrinsics
Floating-point Intrinsics for Streaming SIMD Extensions
Floating-point Vector Classes
Floating-point Vector Classes
Function Order List
Function Order List Usage Guidelines
Fvec Notation Conventions
Fvec Notation Conventions
GNU* Inline Assembly
Inline Expansion of Library Functions
High-level Language Optimization (HLO)
HLO Overview
High-level Language Optimization (HLO): Options
High-level Language Optimizations
Include Files
Include Files
Include Files: Searching for
Searching for Include Files
Inline Expansion of Library Functions
Inline Expansion of Library Functions
Input Files
Compiler Input Files
Interprocedural Optimizations (IPO)
Interprocedural Optimizations
Interprocedural Optimizations (IPO): -ip with -Qoption
Using -ip with -Qoption
Interprocedural Optimizations (IPO): Basic Options
Interprocedural Optimizations
Interprocedural Optimizations (IPO): Conrolling Inline Expansion
Controlling Inline Expansion of User Functions
Interprocedural Optimizations (IPO): Creating a Library from IPO Objects
Creating a Library from IPO Objects
Interprocedural Optimizations (IPO): Critera for Inline Expansion
Criteria for Inline Function Expansion
Interprocedural Optimizations (IPO): Inline Expansion of Library Functions
Inline Expansion of Library Functions
Interprocedural Optimizations (IPO): Multifile
Multifile IPO Overview
Interprocedural Optimizations (IPO): Multifile: Analyzing the Effects
Analyzing the Effects of Multifile IPO
Interprocedural Optimizations (IPO): Multifile: Creating a Multifile IPO Executable
Creating a Multifile IPO Executable
Interprocedural Optimizations (IPO): Multifile: Creating a Multifile IPO Executable Using a Project Makefile
Creating a Multifile IPO Executable Using a Project Makefile
Interprocedural Optimizations (IPO): Real Object Files
Compilation with Real Object Files
Intrinsics
Benefits of Using Intrinsics
Intrinsics: Alignment Support
Alignment Support
Intrinsics: Implementation Across All IA
Intrinsics For Implementation Across All IA
Intrinsics: Miscellaneous
Miscellaneous Intrinsics
Intrinsics: Naming and Usage Syntax
Naming and Usage Syntax
Intrinsics: Operating System Related
Operating System Related Intrinsics
Key Files
Key Files Summary for IA-32 Compiler
Key Files: Key Files for Itanium(TM) Compiler
Key Files Summary for Itanium(TM) Compiler
Libraries
Libraries Overview
Libraries: Managing
Managing Libraries
Linking
Linking
Load and Store Operators
Load and Store Operators
Lock and Atomic Operation Related Intrinsics
Lock and Atomic Operation Related Intrinsics
Logical Operators
Logical Operators
Loop Transformations
Loop Transformations
Loop Unrolling
Loop Unrolling
Macro Functions
Macro Function for Matrix Transposition
Macro Functions: Read and Write the Control Registers
Macro Functions to Read and Write the Control Registers
Macro Functions: Shuffle
Macro Function for Shuffle
Macro Functions: Shuffle Using Streaming SIMD Extensions
Macro Function for Shuffle Using Streaming SIMD Extensions
Matrix Multiplication
Loop Interchange and Subscripts: Matrix Multiply
Minimum and Maximum Operators
Minimum and Maximum Operators
MMX(TM) Technology Intrinsics
MMX(TM) Technology Intrinsics Implementation
MMX(TM) Technology Intrinsics: Clear MMX(TM) Instructions State Operator
Clear MMX(TM) Instructions State Operator
MMX(TM) Technology Intrinsics: Compare Intrinsics
MMX(TM) Technology Compare Intrinsics
MMX(TM) Technology Intrinsics: General Support Intrinsics
MMX(TM) Technology General Support Intrinsics
MMX(TM) Technology Intrinsics: Intrinsics on Itanium(TM) Architecture
MMX(TM) Technology Intrinsics on Itanium(TM) Architecture
MMX(TM) Technology Intrinsics: Logical Intrinsics
MMX(TM) Technology Logical Intrinsics
MMX(TM) Technology Intrinsics: Packed Arithmetic Intrinsics
MMX(TM) Technology Packed Arithmetic Intrinsics
MMX(TM) Technology Intrinsics: Set Intrinsics
MMX(TM) Technology Set Intrinsics
MMX(TM) Technology Intrinsics: Shift Intrinsics
MMX(TM) Technology Shift Intrinsics
Monitoring Data Settings
Monitoring Data Settings
Move Mask Operator
Move Mask Operator
Multiplication Operators
Multiplication Operators
Native Intrinsics for Itanium(TM) Instructions
Native Intrinsics for Itanium(TM) Instructions
OpenMP*
OpenMP* Run Time Library Routines
OpenMP*: Intel Extensions
Intel Extensions to OpenMP*
OpenMP*: Parallelization
Parallelization with OpenMP*
OpenMP*: Standard Options
OpenMP* Standard Options
Optimization
Setting Optimization Levels
Optimization: Options
Optimization-level Options
Optimization: Reports
Optimization Reports
Optimization: Restricting
Restricting Optimizations
Options
Options Quick Reference Guides Overview
Options: Options - Cross Reference
Compiler Options Cross Reference
Options: Options - Quick Reference
Compiler Options Quick Reference Guide
Pack Operators
Pack Operators
Parallelization
Parallelization Options Overview
Parallelization: Auto-parallelization
Auto-parallelization
Parallelization: Auto-parallelization: Diagnostic
Auto-parallelizer's Diagnostic
Parallelization: Auto-parallelization: Threshold
Threshold for Auto-parallelization
Parallelization: with OpenMP*
Parallelization with OpenMP*
Parsing for Syntax Only
Parsing for Syntax Only
PGO API Support Overview
PGO API Support Overview
PGO API Support Overview: Dumping and Resetting Profile Information
Dumping and Resetting Profile Information
PGO API Support Overview: Dumping Profile Information
Dumping Profile Information
PGO API Support Overview: Environment Variable
Environment Variable
PGO API Support Overview: Interval Profile Dumping
Interval Profile Dumping
Preprocessing
Preprocessing Overview
Preprocessing: Macros
Defining Macros
Preprocessing: Only
Preprocessing Only
Preprocessing: Options
Preprocessing Options
Processor Dispatch
Processor Dispatch Support (IA-32 only)
Processor Dispatch: Exclusive Specialized Code (IA-32 only)
Exclusive Specialized Code (IA-32 only)
Processor Dispatch: Processor Target and Dispatch Options
Combining Processor Target and Dispatch Options (IA-32 only)
Processor Dispatch: Specialized Code with -ax{i|M|K|W}
Specialized Code with -ax{i|M|K|W}
Processor Dispatch: Targeting a Processor (IA-32 only)
Targeting a Processor (IA-32 only)
Processor Dispatch: Targeting a Processor and Extensions Support
Targeting a Processor and Extensions Support
Profile-guided Optimization (PGO)
Profile-guided Optimizations Overview
Profile-guided Optimization (PGO): Environment Variables
PGO Environment Variables
Profile-guided Optimization (PGO): Example
Example of Profile-guided Optimization
Profile-guided Optimization (PGO): Function Order List Usage
Function Order List Usage Guidelines
Profile-guided Optimization (PGO): Methodology
Profile-guided Optimizations Methodology
Profile-guided Optimization (PGO): Options
Profile-guided Optimizations
Profile-guided Optimization (PGO): Utilities
Utilities for Profile-guided Optimization
Publications
Related Publications
Remark Messages
Remark Messages
Requirements - Hardware and Software
Hardware and Software Requirements
Response Files
Response Files
Restricting Floating-point Arithmetic Precision
Restricting Floating-point Arithmetic Precision
Rules for Operators
Rules for Operators
Shift Operators
Shift Operators
SIMD Libraries
Details About the Libraries
Specifying Alternate Tools and Paths
Specifying Alternate Tools and Paths
Streaming SIMD Extensions
Support for Streaming SIMD Extensions
Streaming SIMD Extensions 2
Pentium 4 Processor Streaming SIMD Extensions 2
Streaming SIMD Extensions 2: Arithmetic Operations
Arithmetic Operations for Streaming SIMD Extensions
Streaming SIMD Extensions 2: Assignment Operator
Assignment Operator
Streaming SIMD Extensions 2: Cacheability Support
Cacheability Support for Streaming SIMD Extensions 2
Cacheability Support Using Streaming SIMD Extensions
Streaming SIMD Extensions 2: Comparison
Comparisons for Streaming SIMD Extensions
Streaming SIMD Extensions 2: Conversion Operations
Conversion Operations for Streaming SIMD Extensions
Conversion Operations for Streaming SIMD Extensions 2
Streaming SIMD Extensions 2: Extensions on Itanium(TM) Architecture
Using Streaming SIMD Extensions on Itanium(TM) Architecture
Streaming SIMD Extensions 2: Floating-point Intrinsics
Floating-point Intrinsics for Streaming SIMD Extensions
Streaming SIMD Extensions 2: Implementation
Streaming SIMD Extensions 2 Intrinsics Implementation
Streaming SIMD Extensions Intrinsics Implementation
Streaming SIMD Extensions 2: Integer Intrinsics
Integer Intrinsics Using Streaming SIMD Extensions
Streaming SIMD Extensions 2: Integer Logical Operations
Integer Logical Operations for Streaming SIMD Extensions 2
Streaming SIMD Extensions 2: Integer Memory and Initialization
Streaming SIMD Extensions 2 Integer Memory and Initialization
Streaming SIMD Extensions 2: Load Operations
Load Operations for Streaming SIMD Extensions
Load Operations for Streaming SIMD Extensions 2
Streaming SIMD Extensions 2: Logical Operations
Logical Operations for Streaming SIMD Extensions
Logical Operations for Streaming SIMD Extensions 2
Streaming SIMD Extensions 2: Macro Function for Shuffle
Macro Function for Shuffle Using Streaming SIMD Extensions
Streaming SIMD Extensions 2: Miscellaneous Intrinsics
Miscellaneous Intrinsics Using Streaming SIMD Extensions
Streaming SIMD Extensions 2: Miscellaneous Operations
Miscellaneous Operations for Streaming SIMD Extensions 2
Streaming SIMD Extensions 2: Set Operations
Set Operations for Streaming SIMD Extensions
Streaming SIMD Extensions 2: Set Operations for Streaming SIMD Extensions 2
Set Operations for Streaming SIMD Extensions 2
Streaming SIMD Extensions 2: Store Operations
Store Operations for Streaming SIMD Extensions
Store Operations for Streaming SIMD Extensions 2
String and Block Copy
String and Block Copy Related
Support
Product Web Site and Support
Symbolic Debugging
Support for Symbolic Debugging
System Requirements
System Requirements
Terms, Conventions, and Syntax
Terms, Conventions, and Syntax
Unpack Operators
Unpack Operators
Unpack Operators for Fvec Operators
Unpack Operators for Fvec Operators
Unsupported Pragmas
Unsupported Pragmas
Vectorization
Vectorization Overview
Vectorization: Data Dependence
Data Dependence
Vectorization: Examples
Vectorization Examples
Vectorization: Information
For Additional Information
Vectorization: Key Programming Guidelines
Vectorization Key Programming Guidelines
Vectorization: Loops
Loop Constructs
Vectorization: Loops: Exit Conditions
Loop Exit Conditions
Vectorization: Loops: Statements in the Loop Body
Statements in the Loop Body
Vectorization: Loops: Stripmining and Cleanup
Stripmining and Cleanup
Vectorization: Loops: Structure and Coding
Loop Structure Coding Background
Vectorization: Options
Vectorization Options
What's New
What's New in This Release
What's New: Options
New Options in Version 6.0