title: Detecting the reason for EXCEPTION_FLT_STACK_CHECK
body: <p>I have a compliacted C and C++ code with heavy mathematics calculations. I use intel C++ - the latest update to compile. I use optimizatons and the application does not give the expected answer. After a long time I managed to reduce the problem to getting EXCEPTION_FLT_STACK_CHECK
  0xc0000092. If I compile without optimization - The program work as expected.</p>
  
  <p>It's a single threaded code on Winxp64 (the application is 32-bit).</p>
  
  <p>MSVC 2010 gives the same results with Debug or Release builds. (I mean Good=Expected results)</p>
  
  <p>Can someone help me where to look? Currently I suspect a compiler bug - since I have no asmsembly code of my own, Only compiler-generated code. I looked at the assembler and it's SSE/x87 mixed code.</p>
  
  <p>I'm looking for directions to look for. Since I'm on trial version (of the intel compiler) I don't have much time for investigations.</p>
  
  <p>I will try to use /Qfp-stack-check tommorow to see if i can find something wrong with my code.</p>
  
  <p><strong>* Update  *</strong>
  I just found a bug in intel compiler. A function returns a value on st(0) but the calling function does not remove it. That way i get the stack exception. Workaround is to use the returned value even that i dont always need it. I will try to reproduce it with code that I can share.</p>
  
  <p>After this workaround intel was faster 35% then msvc2010 on the same code. - That's the main result.</p>
  
  <p>mordy</p>