/Qvec-reportN doesn't work with /Qipo

/Qvec-reportN doesn't work with /Qipo

Although
this article states that that issue is
solved I can reproduce it using ICC12 . I use ICC to build matlab .mex file. My mexopts file is listed below. Note

set OPTIMFLAGS=/O3 /DNDEBUG /Qopenmp /QxHost /Qprec-div- /Qopenmp-report:2 /Qvec-report5 /Qopt-report:0 /Qipo /Qinline-calloc

If i change
/Qipo to /Qpi i can see vec-report.

@echo off
rem INTELC12MSVS2008OPTS.BAT
rem autor:i3v
rem homebrew based on :
rem
rem Compile and link options used for building MEX-files using the
rem Intel C++ 12 compiler with the Microsoft Visual Studio 2008
rem SP1 Professional Edition linker
rem
rem StorageVersion: 1.0
rem C++keyFileName: INTELC12MSVS2008OPTS.BAT
rem C++keyName: Intel C++
rem C++keyManufacturer: Intel
rem C++keyVersion: 12
rem C++keyLanguage: C++
rem
rem $Revision: 1.1.6.1 $ $Date: 2009/08/14 03:21:40 $
rem
rem ********************************************************************
rem General parameters
rem ********************************************************************
set MATLAB=%MATLAB%
set ICPP_COMPILER12=%ICPP_COMPILER12%
set VSINSTALLDIR=%VS90COMNTOOLS%\\..\\..
set VCINSTALLDIR=%VSINSTALLDIR%\\VC

set LINKERDIR=ICPP_COMPILER12
rem In this case, LINKERDIR is being used to specify the location of the SDK
rem ...no more
set LINKERDIR_='.registry_lookup("SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows" , "CurrentInstallFolder").'
set PATH=%ICPP_COMPILER12%\\Bin\\Intel64;%VCINSTALLDIR%\\bin\\amd64;%LINKERDIR_%\\bin\\x64;%VCINSTALLDIR%\\BIN;%VSINSTALLDIR%\\Common7\\Tools;%VSINSTALLDIR%\\Common7\\Tools\\bin;%MATLAB_BIN%;%PATH%
set INCLUDE=%ICPP_COMPILER12%\\Include%ICPP_COMPILER12%\\compiler\\Include;%LINKERDIR_%\\include;%VCINSTALLDIR%\\ATLMFC\\INCLUDE;%VCINSTALLDIR%\\INCLUDE;%VCINSTALLDIR%\\VCPackages;%INCLUDE%;%BOOST%
set LIB=%ICPP_COMPILER12%\\Lib\\Intel64;%ICPP_COMPILER12%\\compiler\\Lib\\Intel64;%LINKERDIR_%\\LIB\\x64;%VCINSTALLDIR%\\LIB\\amd64;%VCINSTALLDIR%\\ATLMFC\\LIB\\amd64;%MATLAB%\\extern\\lib\\win64;%LIB%
set MW_TARGET_ARCH=win64

rem ********************************************************************
rem Compiler parameters
rem ********************************************************************
set COMPILER=icl
set COMPFLAGS=/c /Zp8 /GR /W3 /EHs /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /D_SECURE_SCL=0 /DMATLAB_MEX_FILE /nologo /MD
set OPTIMFLAGS=/O3 /DNDEBUG /Qopenmp /QxHost /Qprec-div- /Qopenmp-report:2 /Qvec-report5 /Qopt-report:0 /Qipo /Qinline-calloc
rem
rem /Qopenmp-report:1 /Qvec-report1 /Qopt-report1
rem /fast == /O3, /Qipo, /Qprec-div-, and /QxHost
rem /Qinline-forceinline
rem --------------------------------------------------------------------
rem /Qopenmp /Qopenmp-report:2
rem
rem /QxSSSE3 /Qvec-report
rem
rem /Qparallel /Qpar-report
rem
rem /QaxSSE4.1,SSSE3
rem
set DEBUGFLAGS=/Z7 /W3
set NAME_OBJECT=/Fo

rem ********************************************************************
rem Linker parameters
rem ********************************************************************
set LIBLOC=%MATLAB%\\extern\\lib\\win64\\microsoft
set LINKER=xilink
set LINKFLAGS=/dll /export:%ENTRYPOINT% /LIBPATH:"%LIBLOC%" libmx.lib libmex.lib libmat.lib /MACHINE:X64 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /incremental:NO /implib:"%LIB_NAME%.x" /MAP:"%OUTDIR%%MEX_NAME%%MEX_EXT%.map"
set LINKOPTIMFLAGS=
set LINKDEBUGFLAGS=/debug /PDB:"%OUTDIR%%MEX_NAME%%MEX_EXT%.pdb"
set LINK_FILE=
set LINK_LIB=
set NAME_OUTPUT=/out:"%OUTDIR%%MEX_NAME%%MEX_EXT%"
set RSP_FILE_INDICATOR=@

rem ********************************************************************
rem Resource compiler parameters
rem ********************************************************************
set RC_COMPILER=rc /fo "%OUTDIR%mexversion.res"
set RC_LINKER=

set POSTLINK_CMDS=del "%LIB_NAME%.x" "%LIB_NAME%.exp"
set POSTLINK_CMDS1=mt -outputresource:"%OUTDIR%%MEX_NAME%%MEX_EXT%";2 -manifest "%OUTDIR%%MEX_NAME%%MEX_EXT%.manifest"
set POSTLINK_CMDS2=del "%OUTDIR%%MEX_NAME%%MEX_EXT%.manifest"
set POSTLINK_CMDS3=del "%OUTDIR%%MEX_NAME%%MEX_EXT%.map"

2 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.

The article linked only references a problem with using IPO and the vec-report inside the Microsoft IDE. There's a differentprocess forwhen you have separate compile and linker command lines in a makefile or script. You need to add -qvec-report=N to your linker options. If you want to see the list of available options supported by xilink, use "xilink -qhelp" to see them. Hope that helps.

Brandon Hewitt Technical Consulting Engineer For 1:1 technical support: http://premier.intel.com Software Product Support info: http://www.intel.com/software/support

Kommentar hinterlassen

Bitte anmelden, um einen Kommentar hinzuzufügen. Sie sind noch nicht Mitglied? Jetzt teilnehmen