Vectorization

The vectorizer speeds up your code by automatically generating Single-Instruction Multiple-Data (SIMD) code for qualifying loops. These SIMD instructions can be found on processors employing Intel® MMX™ technology, Streaming SIMD Extensions (SSE), and Streaming SIMD Extensions 2 (SSE2) of the Pentium® 4 processor.

The vectorizer can also use the Short Vector Math library.

For a detailed discussion of MMX technology, SSE and SSE2, see the following pages at the Intel Software College:

In order to take advantage of the vectorizer, a loop must meet the following criteria:

  • iteration independence
  • memory disambiguation—All memory references within the loop are unique.
  • high loop count

To enable the vectorizer, use the following options (shown previously):

For detailed information on the vectorizer, see the tutorial Optimizing Performance Using Intel's Vectorizing Compilers at the Intel Software College.