<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:times new roman,serif;font-size:small"><span style="font-family:Arial,Helvetica,sans-serif">On Thu, Jan 31, 2019 at 4:31 PM Saito, Hideki via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:</span><br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div bgcolor="white" lang="EN-US">
<div class="gmail-m_-5963162287021540844WordSection1">
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal">>when we have a mask loaded from an external source (memory, function call boundary, etc...) and a short sequence of vector ops<span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Mask value from function call parameter is common. OpenMP declare simd function does exactly that for the masked cases.</span></p></div></div></blockquote><div><br></div><div class="gmail_default" style="font-family:"times new roman",serif;font-size:small">Such a mask is at the application level, not at the vector strip-mining loop level.</div><div class="gmail_default" style="font-family:"times new roman",serif;font-size:small"><br></div><div class="gmail_default" style="font-family:"times new roman",serif;font-size:small">As well as possibly being many times longer than the masks the hardware works with, it's likely to not even in the the format the hardware uses: different library APIs might pack a mask into bits, or one mask element per byte, short, or int.</div></div></div>