Okay, I can confirm the bug is fixed.<div><br></div><div>It&#39;s insane this bug did not cause any more problems. Every call into every C function that uses floating point could have been affected (OpenGL, BLAS, etc)</div>
<div><br></div><div><div><div class="gmail_quote">On Fri, Apr 3, 2009 at 10:47 PM, Peter Verswyvelen <span dir="ltr">&lt;<a href="mailto:bugfact@gmail.com">bugfact@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Ouch, what a waste of time on my side :-( <div><br></div><div>This bugfix is not mentioned in the &quot;notable bug fixes&quot; <a href="http://haskell.org/ghc/docs/6.10.2/html/users_guide/release-6-10-2.html" target="_blank">here</a> </div>

<div><br></div><div>Since this is such a severe bug, I would recommend listing it :)</div><div><div><br></div><div><div>Anyway, I have a very small repro test case now. Will certainly test this with GHC 6.10.2. </div><div>
<div></div><div class="h5"><div>
<br></div><div>On Fri, Apr 3, 2009 at 10:35 PM, Ian Lynagh <span dir="ltr">&lt;<a href="mailto:igloo@earth.li" target="_blank">igloo@earth.li</a>&gt;</span> wrote:<br></div><div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div>On Fri, Apr 03, 2009 at 10:10:17PM +0200, Peter Verswyvelen wrote:<br>
&gt; I tried both precise and fast, but that did not help. Compiling to SSE2<br>
&gt; fixed it, since that does not use a floating point stack I guess.<br>
<br>
</div>You didn&#39;t say what version of GHC you are using, but it sounds like<br>
this might already be fixed in 6.10.2 by:<br>
<br>
Tue Nov 11 12:56:19 GMT 2008  Simon Marlow &lt;<a href="mailto:marlowsd@gmail.com" target="_blank">marlowsd@gmail.com</a>&gt;<br>
  * Fix to i386_insert_ffrees (#2724, #1944)<br>
  The i386 native code generator has to arrange that the FPU stack is<br>
  clear on exit from any function that uses the FPU.  Unfortunately it<br>
  was getting this wrong (and has been ever since this code was written,<br>
  I think): it was looking for basic blocks that used the FPU and adding<br>
  the code to clear the FPU stack on any non-local exit from the block.<br>
  In fact it should be doing this on a whole-function basis, rather than<br>
  individual basic blocks.<br>
<br>
<br>
Thanks<br>
<font color="#888888">Ian<br>
<br>
</font></blockquote></div><br></div></div></div></div></div></div>
</blockquote></div><br></div></div>