TR1 Math Special Functions
Ed Smith-Rowland
3dw4rd@verizon.net
Fri Feb 9 04:47:00 GMT 2007
Gabriel Dos Reis wrote:
> On Thu, 8 Feb 2007, Ian Lance Taylor wrote:
>
> | Paolo Carlini <pcarlini@suse.de> writes:
> |
> | > > Or is there a __builtin_isnan to use?
> | > >
> | > Maybe that will just work! ;) I just tried and in mainline apparently
> | > we are able to fully expand it without library calls. I would ask Ed
> | > to try simply use the builtin and regtest on as many targets he
> | > can. It would be nice if a compiler guy could confirm that such
> | > library calls are never issued for __builtin_isnan irrespective of the
> | > target. I'm CC-ing Ian... Apparently the documentation is a little
> | > weak about such builtins..
> |
> | __builtin_isnan will always be fully expanded. It may generate a
> | library call to, e.g., __nedf2, but it will never generate a call to
> | isnan.
>
> Sweet!
>
> -- Gaby
>
>
So, would it be better for me to put these __builtin_isnan (actually
behind a function that wraps this)
Or we could find all the functions wrapped in the C99_MATH guards for
which we have such intrinsics and provide alternate implementations.
I think I'll start the former with a comment to replace it with just the
std::isnan if/when we do the second option.
More information about the Libstdc++
mailing list