Sorry for arriving late to the thread. I have a simiar problem now trying to compile Cog in a Windows box with MinGW. <br><br>The problem is described in another thread: <a href="http://forum.world.st/Cannot-generate-VM-in-Windows-with-CMake-and-Git-tp3434566p3434566.html">http://forum.world.st/Cannot-generate-VM-in-Windows-with-CMake-and-Git-tp3434566p3434566.html</a><br>
<br>So...if we remove &quot;-mno-fused-madd&quot;  from windows confs like CogMsWindowsConfig, then Corquet wouldn&#39;t behave correctly ?  but if we keep them, it is difficult to compile in some platforms. So...I wonder, I am the only one trying to compile this on Windows?  Who do the Croquet guys do to compile with this flag in Windows?<br>
<br>Thanks<br><br>Mariano<br><br><div class="gmail_quote">On Tue, Jan 25, 2011 at 9:05 PM, Nicolas Cellier <span dir="ltr">&lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@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;"><br>
2011/1/25 Andreas Raab &lt;<a href="mailto:andreas.raab@gmx.de">andreas.raab@gmx.de</a>&gt;:<br>
<div class="im">&gt;<br>
&gt; On 1/25/2011 11:38 AM, Igor Stasenko wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Squeak uses highly unportable flag &quot;-mno-fused-madd&quot;.<br>
&gt;&gt;&gt; It isn&#39;t present in many systems, even those using GCC,<br>
&gt;&gt;&gt; since many systems use older compilers.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Also, why do you build fdlibm? It is old stuff that works not so well,<br>
&gt;&gt;&gt; we have better libm. Is there a way to use our libm?<br>
&gt;&gt;&gt;<br>
&gt;&gt; I asked  same question few weeks ago.<br>
&gt;&gt; Check mailing list archive for discussion.<br>
&gt;&gt; In short: differrent libm implementations work differently and some<br>
&gt;&gt; have bad support of IEEE standard.<br>
&gt;<br>
&gt; Actually, that&#39;s not quite the point. The issue is that Croquet requires<br>
&gt; bit-identical computations including floating point. For FPU computations,<br>
&gt; the use of -mno-fused-madd avoids the use of the fused multiply-add<br>
&gt; operation by compilers which support it which would generate different<br>
&gt; results from compilers not using fused madd.<br>
&gt;<br>
&gt; The usage of fdlibm is similar. As Nicolas has pointed out elsewhere, fdlibm<br>
&gt; is in some cases actually inferior of the platform libms (one might say<br>
&gt; outright broken) but the requirement for the usage in Croquet isn&#39;t really<br>
&gt; whether it&#39;s &quot;correct&quot; or &quot;good&quot;. The requirement is bit-identical results<br>
&gt; across all platforms. The results can be wrong as long as they are<br>
&gt; consistently wrong. But they mustn&#39;t be different.<br>
&gt;<br>
<br>
</div>Yes, I was disappointed by exp(1), but fdlibm sin(pi+epsilon) is far<br>
far superior to i86 hardwired answer (i86 approximation of pi is well<br>
known to be poor).<br>
<font color="#888888"><br>
Nicolas<br>
</font><div><div></div><div class="h5"><br>
&gt; Having said that, for your regular Squeak VM (i.e., not requiring<br>
&gt; bit-identical floating point results) there really isn&#39;t a requirement to<br>
&gt; use either -mno-fused-madd or fdlibm.<br>
&gt;<br>
&gt; Cheers,<br>
&gt;  - Andreas<br>
&gt;<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Mariano<br><a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br><br>