This is the mail archive of the
mailing list for the GCC project.
Re: 11706 vs ([lno] Canonical iv creation)
Paolo Carlini <firstname.lastname@example.org> writes:
| Paolo Carlini wrote:
| > Why not removing it, the version taking integer arguments (and
| > __pow_helper), and adding the above instead?
| ... well, however there is libstdc++/3181, and we don't want to
| regress on that, therefore, probably, we must keep 'pow(double __x,
| int __i)'
pow(double, int) is a standard mandated function. There are other
versions of pow() that are templates.
| and so on, but I don't see what's wrong with using
| __builtin_pow in the implementation!
You don't want to do that globally. You want to do that selectively.
And in the past, I've argued for having _builtin_powfi (or something
like that). I think Roger implemented them or agreed they should be
implemented. I have not checked recently.
| Notice that the very same thing (integer overload using __builtin_* in
| the implementation) is /already/ happening for sin, cos, tan, and so
Those overloads for integers are in some sense necessary.