<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;}
.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">Using march=native as suggested by <a id="OWAAM42032DEAC56D4B86B4FECAB097197F75" href="mailto:florian_hahn@apple.com">
<span style="font-family:"Calibri",sans-serif;text-decoration:none">@Florian Hahn</span></a> I can see 20 failing tests, thanks!<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I looked at the source for SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trmm which is one of the failing tests and noticed that there is #pragma STDC FP_CONTRACT OFF in many places, but not in the function kernel_trmm<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Perhaps this function was overlooked for that pragma because the FMA is syntactically not obvious due to the += operation?  So I added the pragma and reran that test, and now that test is passing.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Would it be acceptable to modify trmm with this change?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Florian Hahn <florian_hahn@apple.com> <br>
<b>Sent:</b> Wednesday, May 19, 2021 12:25 PM<br>
<b>To:</b> Blower, Melanie I <melanie.blower@intel.com>; llvm-dev <llvm-dev@lists.llvm.org><br>
<b>Cc:</b> Johannes Doerfert <johannesdoerfert@gmail.com>; spatel+llvm@rotateright.com; hal.finkel.llvm@gmail.com<br>
<b>Subject:</b> Re: 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>
</div>
</body>
</html>