summary refs log tree commit diff
path: root/sysdeps/x86_64/fpu/dla.h
blob: fa2d52bbf0c0111cfe59cda667aa13bd6551d826 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <features.h>

#ifdef __FMA4__
# if __GNUC_PREREQ (4, 6)
#  define DLA_FMS(x,y,z) \
  __builtin_fma (x, y, -(z))
# else
#  define DLA_FMS(x,y,z) \
  ({ double __z;							      \
     asm ("vfmsubsd %3, %2, %1, %0"					      \
	  : "=x" (__z)							      \
	  : "x" ((double) (x)), "xm" ((double) (y)) , "x" ((double) (z)));    \
    __z; })
# endif
#endif

#include "sysdeps/ieee754/dbl-64/dla.h"