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 "-mno-fused-madd" from windows confs like CogMsWindowsConfig, then Corquet wouldn'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"><<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>></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 <<a href="mailto:andreas.raab@gmx.de">andreas.raab@gmx.de</a>>:<br>
<div class="im">><br>
> On 1/25/2011 11:38 AM, Igor Stasenko wrote:<br>
>>><br>
>>> Squeak uses highly unportable flag "-mno-fused-madd".<br>
>>> It isn't present in many systems, even those using GCC,<br>
>>> since many systems use older compilers.<br>
>>><br>
>>> Also, why do you build fdlibm? It is old stuff that works not so well,<br>
>>> we have better libm. Is there a way to use our libm?<br>
>>><br>
>> I asked same question few weeks ago.<br>
>> Check mailing list archive for discussion.<br>
>> In short: differrent libm implementations work differently and some<br>
>> have bad support of IEEE standard.<br>
><br>
> Actually, that's not quite the point. The issue is that Croquet requires<br>
> bit-identical computations including floating point. For FPU computations,<br>
> the use of -mno-fused-madd avoids the use of the fused multiply-add<br>
> operation by compilers which support it which would generate different<br>
> results from compilers not using fused madd.<br>
><br>
> The usage of fdlibm is similar. As Nicolas has pointed out elsewhere, fdlibm<br>
> is in some cases actually inferior of the platform libms (one might say<br>
> outright broken) but the requirement for the usage in Croquet isn't really<br>
> whether it's "correct" or "good". The requirement is bit-identical results<br>
> across all platforms. The results can be wrong as long as they are<br>
> consistently wrong. But they mustn't be different.<br>
><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>
> Having said that, for your regular Squeak VM (i.e., not requiring<br>
> bit-identical floating point results) there really isn't a requirement to<br>
> use either -mno-fused-madd or fdlibm.<br>
><br>
> Cheers,<br>
> - Andreas<br>
><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>