Gcc builtin review: isinf, insnan ...
Joseph Myers
joseph@codesourcery.com
Fri May 29 14:26:00 GMT 2015
On Fri, 29 May 2015, Ondøej BĂlka wrote:
> On Thu, May 28, 2015 at 05:49:05PM +0000, Joseph Myers wrote:
> > On Wed, 27 May 2015, Wilco Dijkstra wrote:
> >
> > It's not obvious that integer arithmetic is optimal in all cases (if the
> > implementation is otherwise correct given the compiler options passed).
> > For example, if the argument is in a floating-point register and an
> > integer implementation would involve the (architecture-specific) costs of
> > moving it to an integer register - obviously something that can only be
> > decided quite late in code generation.
> >
> Naturally one should check which implementation is best. Could you send
> link to numeric application and how to measure it that was mentioned
> before?
I have no idea which is best - all I assert here is that it's not obvious
that "should not be used until they are fixed to use integer arithmetic"
is true (any patch to use the GCC built-in functions should come with
benchmark data as well as information on correctness). It may well be the
case that changing the GCC built-in functions to use integer arithmetic is
unconditionally beneficial; such a change obviously needs benchmark data
(in a way that changing for correctness with -fsignaling-nans only
wouldn't).
All other things being equal, use of type-generic built-in functions has
the advantage that the macro expansion text only contains the argument
text once - generally a good idea when macro calls may be nested inside
arguments to other macros.
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libc-alpha
mailing list