x86_64: Add expm1 with FMA
commit1b214630ce6f7e0099b8b6f87246246739b079cf
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 11 Aug 2023 15:04:08 +0000 (11 08:04 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 14 Aug 2023 15:14:19 +0000 (14 08:14 -0700)
treebed526aa9ce38f6c09e144cf27fc24128b0b12c0
parentdd2794d6680d322754464448a25916ee199ce678
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.
sysdeps/ieee754/dbl-64/s_expm1.c
sysdeps/x86_64/fpu/multiarch/Makefile
sysdeps/x86_64/fpu/multiarch/s_expm1-fma.c [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/s_expm1.c [new file with mode: 0644]