<br><br><br><br><div class="gmail_quote">On 6 September 2012 20:02, Anitha Boyapati <span dir="ltr"><<a href="mailto:anitha.boyapati@gmail.com" target="_blank">anitha.boyapati@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div> </div><div>Hi All,</div><div> </div><div>I am facing miscompare error when running povray (and few other C/C++ benchmarks) from spec cpu2006 suite enabling FMA4 (and disabling FMA3). I have used -ffp-contract=fast to turn on this option. (Compilation options and targets pasted below).</div>



<div> </div><div>>>>>>>>></div><div>clang version 3.2 (trunk 163295:163308) (llvm/trunk 163295)<br>Target: x86_64-unknown-linux-gnu<br>Thread model: posix</div><div> </div><div> </div><div>(Options to clang)</div>



<div> </div><div> -O3 -march=bdver2 -mavx -mno-fma -mfma4 -ffp-contract=fast -save-temps  </div><div> </div><div><<<<<<<</div><div> </div><div>Note that BDVER2 supports both FMA3 and FMA4. Also the benchmark was run *successfully* when FMA3 was enabled. Reducing the testcase might take more time but has anyone noticed this issue?</div>


</blockquote><div><br><br>What is more interesting is that DragonEgg compiled for the same llvm revision does well with FMA4. (Note that for Dragonegg case, DAGCombiner.cpp is tweaked to do FMA check for AllowFpFusion() == Standard instead of Fast. Only then FMA4 gets generated. This is just for experimental purposes)<br>



</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span><font color="#888888">
</font></span></blockquote></div><br><br clear="all"><br>-- <br><i style="font-family:times new roman,serif"><b> Anitha</b></i><br><br>