<div dir="ltr">Hi David,<div>Thanks for your reply.</div><div>We enabled -ffast-math which in turn adds -fno-math-errno to clang -cc1 which resulted in SQRT function being replaced with VSQRT instruction and there was an improvement ~40% seen from before for some of the TC.</div>
<div>Still lag exists when compared to gcc though. We are investigating that currently. Any pointers in this direction would help.</div><div>Could <span style="font-family:arial,sans-serif;font-size:13px">you suggest some benchmarks specifically for floating point ?</span></div>
<div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px">Thanks !</span></div><div><span style="font-family:arial,sans-serif;font-size:13px">Jyoti Allur</span></div>
<div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Dec 11, 2013 at 11:28 PM, David Peixotto <span dir="ltr"><<a href="mailto:dpeixott@codeaurora.org" target="_blank">dpeixott@codeaurora.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div><div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div><div class="im"><div><p class="MsoNormal">2) For lag in execution time due to floating point operations, it was clearly observed that gcc used floating point instruction FSQRT, where as clang seemed to use emulated function (?) BL SQRT.<u></u><u></u></p>
</div><div><p class="MsoNormal">Note that we used the following flags for both clang as well as gcc compilation.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">-march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mtune=cortex-a8<u></u><u></u></p>
</div><div><p class="MsoNormal">Infact, i was surprised to see that even when " -march=armv7-a -mfloat-abi=<b>hard</b> -mfpu=vfpv3-d16 -mtune=cortex-a8" <u></u><u></u></p></div><div><p class="MsoNormal">was used, the code generated did not use hardware <b>vsqrt</b> instruction, instead there was a <b>bl sqrt</b> instruction.<u></u><u></u></p>
</div></div><div><div class="im"><p class="MsoNormal">Could someone point out why <b>vsqrt </b>was not emited in assembly even though softfp or 'hard' float-abi was specified ?<span style="color:#1f497d"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p></div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">The vsqrt instruction may not be generated when automatically for platforms where math functions may set errno. Try compiling with -fno-math-errno and see if that helps.<u></u><u></u></span></p>
</div></div></div></div></div></blockquote></div><br></div>