<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">> IIUC the problem with the patch was not runtime performance, but unexpected results causing some tests/benchmarks to fail.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I believe we saw several problems. I may be merging issues with a couple of different variations of this change in my mind, but we definitely saw performance regressions on an LNT bot running on a Broadwell-based system at some point due
 to different loop unrolling behavior when the llvm.fmuladd intrinsic was used.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">There were, as you note, test failures reported because of the change Melanie is working with. I think those were caused by the tests being intolerant of variations in floating point results (such as would be expected when FMA is used)
 and not being very easy to update. Any suggestions on how to handle that would also be helpful.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Finally, there was a build failure with aarch64 when this change was made. That seems to have been caused by a problem in the aarch64 backend that was exposed by this change. The associated bug (<a href="https://bugs.llvm.org/show_bug.cgi?id=44892">https://bugs.llvm.org/show_bug.cgi?id=44892</a>)
 has since been marked as fixed.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">-Andy<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> llvm-dev <llvm-dev-bounces@lists.llvm.org> <b>On Behalf Of
</b>Florian Hahn via llvm-dev<br>
<b>Sent:</b> Wednesday, May 19, 2021 9:25 AM<br>
<b>To:</b> Blower, Melanie I <melanie.blower@intel.com>; llvm-dev <llvm-dev@lists.llvm.org><br>
<b>Cc:</b> spatel+llvm@rotateright.com<br>
<b>Subject:</b> Re: [llvm-dev] LLVM LNT floating point performance tests on X86 - using the llvm-test-suite benchmarks<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On May 19, 2021, at 17:08, Blower, Melanie I <<a href="mailto:melanie.blower@intel.com">melanie.blower@intel.com</a>> wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">What I'm trying to do is to determine whether the patch I'm submitting is going to cause benchmarking problems that force the patch to be reverted--since that happened the
 last time I committed the patch (several months ago).</span><o:p></o:p></p>
</div>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">IIUC the problem with the patch was not runtime performance, but unexpected results causing some tests/benchmarks to fail.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I think you might need to select a CPU on X86 to cause the mis-compares. Below the commands I used to reproduce the failure of MultiSource/Applications/oggenc/oggenc. Note `-march=native`. Without that, the test passes. There are a couple
 of other failures as well.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">> cmake -G Ninja \                <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    -DCMAKE_C_COMPILER=/path/to/bin/clang \<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    -DCMAKE_C_FLAGS="-O3 -march=native" -DCMAKE_CXX_FLAGS="-O3 -march=native" \<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    Path/to/llvm-test-suite<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">> ninja MultiSource/Applications/oggenc/oggenc<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">> llvm-lit MultiSource/Applications/oggenc/<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">-- Testing: 1 tests, 1 workers --<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">FAIL: test-suite :: MultiSource/Applications/oggenc/oggenc.test (1 of 1)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">********************<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Failed Tests (1):<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  test-suite :: MultiSource/Applications/oggenc/oggenc.test<o:p></o:p></p>
</div>
</div>
</div>
</body>
</html>