This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Gcc builtin review: isinf, insnan ...


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]