mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-23 03:10:05 +00:00
Use inline asm for DLA_FMS because of broken old compilers
This commit is contained in:
parent
af968f62f2
commit
a0cf1edd4c
@ -1,5 +1,8 @@
|
||||
2011-10-24 Ulrich Drepper <drepper@gmail.com>
|
||||
|
||||
* sysdeps/x86_64/dla.h (DLA_FMS): Some compilers fail to inline
|
||||
__builtin_fma in some situations. Have to use an asm.
|
||||
|
||||
* config.make.in: Add have-mfma4 entry.
|
||||
* configure.in: Substitute libc_cv_cc_fma4.
|
||||
* math/Makefile (dbl-only-routines): Add sincostab.
|
||||
|
@ -1,6 +1,10 @@
|
||||
#if defined __FMA4__ || defined __FMA__
|
||||
#ifdef __FMA4__
|
||||
# define DLA_FMS(x,y,z) \
|
||||
__builtin_fma (x, y, -z)
|
||||
({ double __z; \
|
||||
asm ("vfmsubsd %3, %2, %1, %0" \
|
||||
: "=x" (__z) \
|
||||
: "x" ((double) (x)), "xm" ((double) (y)) , "x" ((double) (z))); \
|
||||
__z; })
|
||||
#endif
|
||||
|
||||
#include "sysdeps/ieee754/dbl-64/dla.h"
|
||||
|
Loading…
Reference in New Issue
Block a user