I detected a case when some Intel C++ compilerremarks are displayed without numbers. Please take a look on a generic form:
..\\
Ascreenshot will be provided.
Here is a real example:
------ Build started: Project: IccTestApp, Configuration: Release Win32 ------
Compiling with Intel C++ Compiler XE 12.1.3.300 [IA-32]... (Intel C++ Environment)
icl: command line warning #10121: overriding '/EHs' with '/EHs-'
Stdphf.cpp
C:\\WorkEnv\\AppsWorkDev.R&D\\AppsSca\\ScaLib\\DataSet.cpp(132): (col. 1) remark: ?RunAlgorithm@CDataSet@@UAEEXZ has been targeted for automatic cpu dispatch.
C:\\WorkEnv\\AppsWorkDev.R&D\\AppsSca\\ScaLib\\MatrixSet.cpp(514): (col. 2) remark: ?MulHelper@?$TStrassenHBISet@M$02@@QAEXPAPAM00I@Z has been targeted for automatic cpu dispatch.
C:\\WorkEnv\\AppsWorkDev.R&D\\AppsSca\\ScaLib\\MatrixSet.cpp(612): (col. 2) remark: ?Add@?$TStrassenHBISet@M$02@@QAEXPAPAM00I@Z has been targeted for automatic cpu dispatch.
...
Compiling with Intel C++ Compiler XE 12.1.3.300 [IA-32]... (Intel C++ Environment)
icl: command line warning #10121: overriding '/EHs' with '/EHs-'
IccTestApp.cpp
Linking... (Intel C++ Environment)
xilink: executing 'link'
Creating library ..\\Release\\IccTestApp.lib and object ..\\IccTestApp\\Release\\IccTestApp.exp
Embedding manifest... (Microsoft VC++ Environment)
IccTestApp - 0 error(s), 2 warning(s), 3 remark(s)
========== Build: 1 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
Compileroptions are as follows:
/c /O3 /Ob2 /Oi /Ot /I "..\\..\\Include" /D "WIN32" /D "_CONSOLE" /D "NDEBUG" /D "_WIN32_ICC"
/D "INTEL_SUITE_VERSION=PE121_300" /D "_AFXDLL" /D "_VC80_UPGRADE=0x0710" /D "_UNICODE"
/D "UNICODE" /GF /EHsc /MD /GS- /fp:precise /Yu"Stdphf.h"
/Fp"Release\\IccTestApp.pch" /Fo"Release/" /W5 /nologo /TP /Qdiag-disable:473
/U "_WIN32_MSC" /U "_WIN32CE_MSC" /U "WIN32_PLATFORM_PSPC" /U "WIN32_PLATFORM_WFSP"
/U "WIN32_PLATFORM_WM50" /U "_WIN32_MGW" /U "_WIN32_BCC" /U "_COS16_TCC"
/QaxAVX /Qdiag-disable:111,673 /Zc:wchar_t /Zc:forScope /GR /Zm1000 /EHs-c-
My Development Environment:
OS: Windows XP 32-bit
IDE: Visual Studio 2005 SP1
Compilers: Intel C++ / Microsoft C++ / Borland C++ / MinGW / Turbo C++
Intel C++ compiler version ( Composer XE 2011 Update 9 ):
Intel C++ Compiler XE 12.1.3.300 [IA-32]
Best regards,
Sergey
Link Copied
Thank you, Judy!
Best regards,
Sergey
[Updated]
Unfortunately No because it doesn't have a number. ( I used '12345' as an example! )
I've done additional investigation and acompiler option /QaxAVX is the source of the remark.
Best regards,
Sergey
Here is another set of Intel C++ compilerremarks without numbers:
...remark: PARTIAL LOOP WAS VECTORIZED.
...remark: loop was not vectorized: existence of vector dependence.
...remark: loop was not vectorized: notinner loop.
...remark: loop was not vectorized: nonstandard loop is not a vectorization candidate.
...remark: loop skipped: multiversioned.
Thanks, Igor. I see that there are three types of different diagnostic messages of Intel C++ compiler:
- warnings with numbers
- remarks with numbers
- remarks without numbers
So, remarks without numberslook like some inconsistency because:
- there are no warnings without numbers
- I can't disableremarks without numberswith a #pragma warning ( disable : nnnn )directive when
they aredisplayed
Also, maybe it makes sense to have a new #pragma remark ( disable : nnnn ) directive? Please consider it
as a feature request.
Best regards,
Sergey
I'll try to create a Test-Case for:
..\
remark.
Here is a Test-Case:
Sergey Kostrov wrote:Judith Consider #pragma remark(disable:"has been targeted for automatic cpu dispatch") Same with warning IOW permit either number or text (where text can be partial match using strstr). Jim Dempsey
Quoting Judith Ward (Intel) ...
Like would you expect that the names to be unmangled?I'd like to change my previous answer from No to Yes. That is, unmangled form will look better:
A generic form for a class:
..\.cpp(nnn):remark #nnnn: :: has been targeted for automatic cpu dispatch.
A real example for a class:
...\DataSet.cpp(132): remark #12345: CDataSet::RunAlgorithm has been targeted for automatic cpu dispatch.
For more complete information about compiler optimizations, see our Optimization Notice.