<div dir="ltr"><br><br><div class="gmail_quote">On Sun Feb 08 2015 at 9:57:05 AM Reid Kleckner <<a href="mailto:rnk@google.com">rnk@google.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">The question isn't about the Intel _mm_* intrinsics, it's about the C math builtins we provide under __builtin_pow, etc. I think most of them are mapped to their libc calls for convenience. Some have been added on an ad-hoc basis as needed.<div><br></div></div></blockquote><div><br></div><div>Right. Same general principle :)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div></div><div>I believe that GCC lowers most calls to __builtin_sqrt and such to instructions before library calls, so we can go ahead and map most of those down to LLVM intrinsics without worrying about things like errno. It's worth checking as you go, though, rather than blindly mapping everything to LLVM intrinsics.</div></div><div class="gmail_extra"><br></div></blockquote><div><br></div><div>Agreed.</div><div><br></div><div>-eric</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_extra"><div class="gmail_quote">On Sat, Feb 7, 2015 at 9:29 PM, Eric Christopher <span dir="ltr"><<a href="mailto:echristo@gmail.com" target="_blank">echristo@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">The idea is that the builtins are wrapped by portable intrinsics (e.g. _mm_* on x86) and therefore those should be used as an interface in programming. If there's no suitable intrinsic then we'll expose the builtin.<span><font color="#888888"><br><div><br></div><div>-eric</div></font></span></div><div><div><br><div class="gmail_quote">On Fri Feb 06 2015 at 6:34:35 PM reed kotler <<a href="mailto:rkotler@mips.com" target="_blank">rkotler@mips.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Why is that many of the gcc builtins are not mapped to the llvm ir<br>
builtins, in cases<br>
where there is a corresponding llvm ir builtin/intrinsic.<br>
<br>
For example, sin, cos, log, log2, exp, exp2.....??<br>
<br>
Of the normal math functions is seems that just pow and fabs are there.<br>
<br>
Reed<br>
______________________________<u></u>_________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/cfe-dev</a><br>
</blockquote></div>
</div></div><br>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div>
</blockquote></div></div>