NOTE: You will need Python* version 2.6.5 or higher. For more information, and download instructions please click here.

The new -vec-report7 (for Linux*) (/Qvec-report7 for Windows*) compiler option available in Intel® C++ and Fortran compilers version 13.1 allows the compiler to emit vector code quality messages and the corresponding message ID, and data values for vectorized loops. The messages provide information such as the expected speedup, memory access patterns, and the number of vector idioms for vectorized loops. Below is a sample of the type of messges the compiler will emit at -vec-report7:

loop was vectorized (with peel / with remainder)

unmasked aligned unit stride loads: 4

unmasked aligned unit stride stores: 2

saturating add/subtract: 3

estimated potential speedup: 6.270000

The attached Python* script takes the message IDs produced by the compiler as input and produces a .txt file that includes the original source code annotated with -vec-report7 messages. The information gives more insight into the generated vector code quality without the need to analyze the assembly code. The naming convention for the output file is (filename_extension_vr.txt). For example the output file corresponding to satSub.c would be satSub_c_vr.txt. The compiler does not invoke the Python script automatically. The user needs to apply the Python script manually to the output file produced by the compiler as shown below. The below command assumes the vecanalysis Python script files are located in the "vecanalysis" directory: