Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

Conflicting vectoriser output

dehvidc1
Beginner
258 Views
I'm getting contradictory messages from the vectoriser in a number of places. These lines were sequential in the vectoriser report:

genselUtil.h(680) (col. 2): remark: loop was not vectorized: unsupported loop structure.
genselUtil.h(680) (col. 2): remark: LOOP WAS VECTORIZED.
genselUtil.h(680) (col. 2): remark: loop was not vectorized: unsupported loop structure.

Which is confusing to the user. I guess the question is whether this indicates the vectoriser is missing out on some potential vectorisations, is vectorising but reporting incorrectly or is correctly not vectorising some unsuitable code

Regards

David


0 Kudos
3 Replies
Om_S_Intel
Employee
258 Views

It looks ambigous. It would be nice if you could help with suitable testcase to narrow down the issue.

0 Kudos
TimP
Honored Contributor III
258 Views
The latest compilers often create several versions of the loop, including, according to this report, both vectorized and non-vectorized ones. opt-report should report the multi-versioning. Several months ago, I filed problem reports on some cases where the newly added non optimized versions are the ones which are actually found at run time. I suppose this is most likely to happen with nested loops, at -O3.
0 Kudos
dehvidc1
Beginner
258 Views
I should have said in the original email that this is on Linux at O2 with ICC 12.0
0 Kudos
Reply