<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)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@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;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.xmsonormal, li.xmsonormal, div.xmsonormal
        {mso-style-name:x_msonormal;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.xmsonormal0, li.xmsonormal0, div.xmsonormal0
        {mso-style-name:x_msonormal0;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.xmsochpdefault, li.xmsochpdefault, div.xmsochpdefault
        {mso-style-name:x_msochpdefault;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:10.0pt;
        font-family:"Calibri",sans-serif;}
span.xmsohyperlink
        {mso-style-name:x_msohyperlink;
        color:#0563C1;
        text-decoration:underline;}
span.xmsohyperlinkfollowed
        {mso-style-name:x_msohyperlinkfollowed;
        color:#954F72;
        text-decoration:underline;}
span.xemailstyle18
        {mso-style-name:x_emailstyle18;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle24
        {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="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hello Kiran,<br>
<br>
I misunderstood your second question. Yes I meant to say vector routines are present in the libpgmath library.<o:p></o:p></p>
<p class="MsoNormal">There are no vector pgmath routine calls in libflang/libflangrti.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Regards,<br>
Varun Jayathirtha<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> Kiran Chandramohan <Kiran.Chandramohan@arm.com>
<br>
<b>Sent:</b> Wednesday, September 18, 2019 1:31 PM<br>
<b>To:</b> Varun Jayathirtha <vjayathirtha@nvidia.com>; flang-dev@lists.flang-compiler.org; flang-dev@lists.llvm.org<br>
<b>Subject:</b> Re: Usage of vector pgmath symbols in Flang<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">Hello Varun,<br>
<br>
Thanks for confirming that flang generates only calls to scalar routines and these are later converted to vector calls by changes in LLVM.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">When you say vector routines are present in the Flang libraries, I am assuming that you meant to say the vector routines are present in the libpgmath library. My other question was whether there
 are calls to vector pgmath routines in libflang/libflangrti.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><br>
--Kiran<o:p></o:p></span></p>
</div>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="2" width="98%" align="center">
</div>
<div id="divRplyFwdMsg">
<p class="MsoNormal"><b><span style="color:black">From:</span></b><span style="color:black"> Varun Jayathirtha <</span><a href="mailto:vjayathirtha@nvidia.com">vjayathirtha@nvidia.com</a><span style="color:black">><br>
<b>Sent:</b> 17 September 2019 18:31<br>
<b>To:</b> Kiran Chandramohan <</span><a href="mailto:Kiran.Chandramohan@arm.com">Kiran.Chandramohan@arm.com</a><span style="color:black">>;
</span><a href="mailto:flang-dev@lists.flang-compiler.org">flang-dev@lists.flang-compiler.org</a><span style="color:black"> <</span><a href="mailto:flang-dev@lists.flang-compiler.org">flang-dev@lists.flang-compiler.org</a><span style="color:black">>;
</span><a href="mailto:flang-dev@lists.llvm.org">flang-dev@lists.llvm.org</a><span style="color:black"> <</span><a href="mailto:flang-dev@lists.llvm.org">flang-dev@lists.llvm.org</a><span style="color:black">><br>
<b>Subject:</b> RE: Usage of vector pgmath symbols in Flang</span> <o:p></o:p></p>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="xmsonormal">Hi Kiran,<br>
<br>
Vector pgmath routines are present in the Flang libraries, however the Flang front end only generates scalar pgmath calls.<br>
<br>
The LLVM vectorizer has been modified to recognize scalar pgmath calls and generate appropriate vector calls. Here’s the PR that introduced this change if you’re interested:<br>
<a href="https://github.com/flang-compiler/llvm/pull/43/files">https://github.com/flang-compiler/llvm/pull/43/files</a><br>
<br>
Regards,<br>
Varun Jayathirtha<o:p></o:p></p>
<p class="xmsonormal"> <o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="xmsonormal"><b>From:</b> flang-dev <<a href="mailto:flang-dev-bounces@lists.flang-compiler.org">flang-dev-bounces@lists.flang-compiler.org</a>>
<b>On Behalf Of </b>Kiran Chandramohan<br>
<b>Sent:</b> Friday, September 13, 2019 7:11 AM<br>
<b>To:</b> <a href="mailto:flang-dev@lists.flang-compiler.org">flang-dev@lists.flang-compiler.org</a>;
<a href="mailto:flang-dev@lists.llvm.org">flang-dev@lists.llvm.org</a><br>
<b>Subject:</b> [Flang-dev] Usage of vector pgmath symbols in Flang<o:p></o:p></p>
</div>
</div>
<p class="xmsonormal"> <o:p></o:p></p>
<div>
<p class="xmsonormal"><span style="font-size:12.0pt;color:black">Hi,<br>
<br>
Are vector pgmath symbols called directly in Flang? Are they directly used in the Flang libraries?</span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal"><span style="font-size:12.0pt;color:black"> </span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal"><span style="font-size:12.0pt;color:black">As far as I understand it is scalar pgmath symbols that are always generated by Flang and these are then converted to vector symbols by veclib in LLVM.</span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="margin-bottom:12.0pt"><span style="font-size:12.0pt;color:black"><br>
Thanks,<br>
Kiran</span><o:p></o:p></p>
</div>
<p class="xmsonormal">IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person,
 use it for any purpose, or store or copy the information in any medium. Thank you.
<o:p></o:p></p>
</div>
<div>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="2" width="100%" align="center">
</div>
</div>
<div>
<p class="MsoNormal">This email message is for the sole use of the intended recipient(s) and may contain confidential information.  Any unauthorized review, use, disclosure or distribution is prohibited.  If you are not the intended recipient, please contact
 the sender by reply email and destroy all copies of the original message. <o:p></o:p></p>
</div>
<div>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="2" width="100%" align="center">
</div>
</div>
</div>
<p class="MsoNormal">IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person,
 use it for any purpose, or store or copy the information in any medium. Thank you.
<o:p></o:p></p>
</div>
</body>
</html>