glibc/sysdeps/x86_64/fpu/multiarch/s_expm1-fma.c
H.J. Lu 1b214630ce x86_64: Add expm1 with FMA
On Skylake, it improves expm1 bench performance by:

        Before       After     Improvement
max     70.204       68.054       3%
min     20.709       16.2         22%
mean    22.1221      16.7367      24%

NB: Add

extern long double __expm1l (long double);
extern long double __expm1f128 (long double);

for __typeof (__expm1l) and __typeof (__expm1f128) when __expm1 is
defined since __expm1 may be expanded in their declarations which
causes the build failure.
2023-08-14 08:14:19 -07:00

11 lines
302 B
C

#define __expm1 __expm1_fma
/* NB: __expm1 may be expanded to __expm1_fma in the following
prototypes. */
extern long double __expm1l (long double);
extern long double __expm1f128 (long double);
#define SECTION __attribute__ ((section (".text.fma")))
#include <sysdeps/ieee754/dbl-64/s_expm1.c>