A Guide to Auto-vectorization with Intel® C++ Compilers

Introduction


The goal of this Guide is to provide guidelines for enabling compiler auto-vectorization with the Intel® C++ Compilers.  This document  is aimed at C/C++ programmers working on systems based on Intel® processors or compatible, non-Intel processors that support SIMD instructions such as Intel® Streaming SIMD Extensions (Intel® SSE).  This includes Intel 64 and most IA-32 systems, but excludes systems based on Intel® Itanium® processors.  The examples presented refer to Intel SSE, but many of the principles apply also to other SIMD instruction sets.  While the examples used are specific to C++ programs, much of the concepts discussed are equally applicable to Fortran programs.

Click here to continue reading the article.

Click here to download the sample code.


 

For more complete information about compiler optimizations, see our Optimization Notice.