This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
RE: generic fabs implementation
- From: "Wilco Dijkstra" <wdijkstr at arm dot com>
- To: "Szabolcs Nagy" <Szabolcs dot Nagy at arm dot com>, <libc-alpha at sourceware dot org>
- Date: Mon, 18 May 2015 11:04:29 +0100
- Subject: RE: generic fabs implementation
- Authentication-results: sourceware.org; auth=none
- References: <000101d07776$0c9c4ac0$25d4e040$ at com> <5555D5F7 dot 2020203 at arm dot com>
> Szabolcs Nagy wrote:
>
> (looks good to me and same should be done for fabs)
Yes - and that is yet another example of unnecessary target code...
Given GLIBC can now rely on a modern GCC for its build, can we avoid
this and actually use the builtins rather than having each target
override the generic implementation with an inline assembler version?
double
__fabs (double x)
{
- u_int32_t high;
- GET_HIGH_WORD (high, x);
- SET_HIGH_WORD (x, high & 0x7fffffff);
- return x;
+ return __builtin_fabs (x);
}
GCC will always inline __builtin_fabs, with -O0, -Os and -fno-builtin.
Wilco