<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
On 09/08/2013 05:54 PM, Renato Golin wrote:<br>
<blockquote
cite="mid:CAMSE1kcL-3xPBASRC=chNO69gUZhSWODb5CS_NFTepajOuTA7A@mail.gmail.com"
type="cite">
<div dir="ltr">On 6 September 2013 21:55, Chris Lattner <span
dir="ltr"><<a moz-do-not-send="true"
href="mailto:clattner@apple.com" target="_blank">clattner@apple.com</a>></span>
wrote:<br>
<div class="gmail_extra">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><span style="color:rgb(34,34,34)">IMO, if
glibc's implementation of exp2 is so bad, LibCall info
should get a bit to indicate this. This could disable
pow(2 -> exp2, and could enable transformations
from exp2(x) -> pow(2,x).</span></div>
</blockquote>
</div>
<br>
</div>
<div class="gmail_extra">Maybe a cost table / cost info in LC,
so that optimizers could work out if it's worth exchanging N
pows for M exps, or something like that, on a target specific
basis.</div>
</div>
</blockquote>
This may not be necessary. I found another clue here, in section
1.1: <a class="moz-txt-link-freetext" href="https://sourceware.org/newlib/libm.html">https://sourceware.org/newlib/libm.html</a><br>
<br>
When I tested the initial value of libm's <code>_LIB_VERSION, I
found that my G++ version starts up with _IEEE_, the fastest mode
(no exception handling, no warnings, ignoring errno. The Clang++
version starts up with _POSIX_, which sets errno correctly.<br>
<br>
I will test our code's behavior, when I set </code><code>_LIB_VERSION
to </code><code>_IEEE_ explicitly, and I'll let you know if this
explains the difference.<br>
</code>
</body>
</html>