Search code examples
c++intelvectorizationicc

Directory of Vectorization Report for Intel C++ Compiler in VS 10


In VS 10, I set "Vectorizer Diagnostic Level" to "n=2" and "Optimization Diagnostic Phase" to "hpo" as directed in "A Guide to Vectorization with Intel C++ Compilers". However, (this may be a silly question), where is that report? There is neither something to be shown in "output", nor project directory.


Solution

  • The vectorization diagnostics are usually emitted as part of the normal compiler diagnostic output, e.g.

    $ icc -Wall -msse3 foo.c -vec-report=2 -o foo
    
    ...
    
    foo.c(1337): (col. 5) remark: loop was not vectorized: existence of vector dependence.
    foo.c(1337): (col. 5) remark: loop was not vectorized: not inner loop.
    foo.c(1337): (col. 5) remark: loop was not vectorized: not inner loop.
    foo.c(1337): (col. 5) remark: loop was not vectorized: existence of vector dependence.
    foo.c(1337): (col. 5) remark: loop was not vectorized: existence of vector dependence.
    foo.c(1337): (col. 5) remark: loop was not vectorized: nonstandard loop is not a vectorization candidate.
    foo.c(1337): (col. 5) remark: loop was not vectorized: not inner loop.
    foo.c(1337): (col. 5) remark: LOOP WAS VECTORIZED.
    foo.c(1339): (col. 5) remark: loop was not vectorized: existence of vector dependence.
    foo.c(1339): (col. 5) remark: loop was not vectorized: existence of vector dependence.
    foo.c(1339): (col. 5) remark: loop was not vectorized: not inner loop.
    foo.c(1339): (col. 5) remark: loop was not vectorized: statement cannot be vectorized.
    foo.c(1339): (col. 5) remark: loop was not vectorized: not inner loop.
    
    ...
    
    $