Quantcast
Channel: Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 1616

Unexpected FTZ (/Qftz not set)

$
0
0

Hi

This standalone example illustrates my problem:

#include <iostream>

int main()
{
  double x = 1.2e-154;
  double y = 6.0e-156;

  x *= y;
  std::cout << x << std::endl;
}

Compiling with both MSVC11 and Intel 16.0 update 1, 64bit release with /fp:precise and (for Intel) /Qftz is NOT set.

Output:

$ ./ftz_msvc11.exe
7.2e-310

$ ./ftz_icpc16.exe
0

Same thing on linux, gcc returns the denormal, icpc returns zero.

So it seems that the Intel code is flushing the denormal even though I haven't actually asked it to. Is this expected behaviour? The full command line is

/GS /W3 /Gy /Zc:wchar_t /Zi /O2 /Fd"x64\Release\vc110.pdb" /fp:precise /D "__INTEL_COMPILER=1600" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /Qipo /Zc:forScope /Oi /MD /Fa"x64\Release\" /EHsc /nologo /Fo"x64\Release\" /Qprof-dir "x64\Release\" /Fp"x64\Release\ftz.pch"

Many thanks,

Andrew

 


Viewing all articles
Browse latest Browse all 1616

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>