<div dir="ltr"><div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Tue, Nov 13, 2018 at 7:56 PM Zakharin, Vyacheslav P via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">





<div lang="RU">
<div class="gmail-m_664608609564733412WordSection1">
<p class="MsoNormal"><span lang="EN-US">Hello,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I believe llvm.rint description in LangRef is not quite complete.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Llvm seems to map math.h:rint() call to llvm.rint intrinsic, and the LangRef says that the result of llvm.rint matches the result of libm rint() call.  Next, LangRef states that llvm.rint “returns the operand rounded
 to the nearest integer.”<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Shouldn’t the specification also say that “the actual rounding mode is determined by the runtime floating-point environment”, just like it does for llvm.experimental.constrained.rint?  That would match the actual libm
 rint() behavior…<u></u><u></u></span></p>
<p class="MsoNormal"></p></div></div></blockquote><div><br></div><div>Hi Salva, </div><div><br></div><div>llvm.rint won't honor the FPEnv in all cases. It falls under the default FPEnv, as specified here:</div><div><br></div><div><a href="https://llvm.org/docs/LangRef.html#floating-point-environment">https://llvm.org/docs/LangRef.html#floating-point-environment</a><br></div><div><br></div><div>That said, I agree that the LangRef copy for RINT (and probably other intrinsics) is sloppy and needs to be cleaned up. Please bear with us. The constrained FP intrinsic project is a work in progress.</div><div><br></div><div>-Cameron</div></div></div></div>