<div dir="ltr"><div class="gmail_extra">I don't insist on implementing LLVM intrinsic, clang header with inline asm should be enough and is much easier to implement.</div><div class="gmail_extra">I am just looking for the best way to introduce this functionality to LLVM.</div>
<div class="gmail_extra">I understand the problem with arbitrary results in some cases. Again, the main benefit here is compatibility with other compilers.</div><div class="gmail_extra"><br></div><div class="gmail_extra">
Alexey.<br><br><div class="gmail_quote">2013/12/18 David Chisnall <span dir="ltr"><<a href="mailto:David.Chisnall@cl.cam.ac.uk" target="_blank">David.Chisnall@cl.cam.ac.uk</a>></span><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im">On 18 Dec 2013, at 11:03, Alexey Volkov <<a href="mailto:avolkov.intel@gmail.com">avolkov.intel@gmail.com</a>> wrote:<br>
<br>
> These intrinsics are introduced for compatibility purposes.<br>
> Besides MSVC GCC also supports it in its main trunk; ICC supports it on Windows and is going to support in the next version on Linux.<br>
<br>
</div>There have been two questions, neither of which is really answered.  The questions are:<br>
<br>
- Why does this need to be an LLVM intrinsic, rather than an inline function in a clang header expanding to some inline asm?<br>
<br>
- Given that this instruction has such poorly defined semantics that it effectively returns an arbitrary number in any function that does arithmetic, what possible benefit is there in providing it as an LLVM intrinsic?<br>

<span class=""><font color="#888888"><br>
David<br>
<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Alexey Volkov<div>Intel Corporation</div></div>
</div></div>