glibc/sysdeps/i386
H.J. Lu 5313581cb5 i386: Replace assembly versions of e_powf with generic e_powf.c
This patch replaces i386 assembly versions of e_powf with generic
e_powf.c.  For workload-spec2017.wrf, on Nehalem, it improves
performance by:

                           Before            After     Improvement
reciprocal-throughput      230.855          78.3358       194%
latency                    231.685          94.1259       146%

On Skylake, it improves performance by:

                           Before            After     Improvement
reciprocal-throughput      239.858          47.4713       405%
latency                    247.57           93.8798       163%

On IvyBridge with --disable-multi-arch, it improves performance by:

                           Before            After     Improvement
reciprocal-throughput      269.078          63.3758       324%
latency                    271.473          102.091       165%

	* sysdeps/i386/fpu/e_powf.S: Removed.
	* sysdeps/i386/fpu/e_powf_log2_data.c: Likewise.
	* sysdeps/i386/fpu/w_powf.c: Likewise.
	* sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_powf.c.
	* sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.
	* sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines):
	Add e_powf-sse2.
	(CFLAGS-e_powf-sse2.c): New.
	* sysdeps/i386/i686/fpu/multiarch/e_powf-sse2.c: New file.
	* sysdeps/i386/i686/fpu/multiarch/e_powf.c: Likewise.
2017-10-22 08:12:41 -07:00
..
fpu i386: Replace assembly versions of e_powf with generic e_powf.c 2017-10-22 08:12:41 -07:00
i586 x86: Remove __memset_zero_constant_len_parameter [BZ #21790] 2017-08-04 10:56:51 -07:00
i686 i386: Replace assembly versions of e_powf with generic e_powf.c 2017-10-22 08:12:41 -07:00
i786
nptl Remove CALL_THREAD_FCT macro 2017-04-04 18:03:35 -03:00
sys Fix mcontext_t sigcontext namespace (bug 21457). 2017-08-30 22:02:04 +00:00
____longjmp_chk.S
__longjmp.S
abort-instr.h
add_n.S
addmul_1.S
asm-syntax.h
atomic-machine.h Optimize generic spinlock code and use C11 like atomic macros. 2017-06-06 09:41:56 +02:00
backtrace.c
bcopy.S
bsd-_setjmp.S
bsd-setjmp.S
bzero.S
cacheinfo.c
configure Don't use hidden visibility in libc.a with PIE on i386 2017-10-04 17:18:42 -07:00
configure.ac Don't use hidden visibility in libc.a with PIE on i386 2017-10-04 17:18:42 -07:00
crti.S
crtn.S
dl-irel.h
dl-lookupcfg.h elf: Remove internal_function attribute 2017-08-31 16:59:37 +02:00
dl-machine.h Revert x86: Allow undefined _DYNAMIC in static executable 2017-10-03 17:49:09 -07:00
dl-procinfo.c x86: Set dl_platform and dl_hwcap from CPU features [BZ #21391] 2017-05-03 13:44:35 -07:00
dl-tls.h
dl-tlsdesc.h elf: Remove internal_function attribute 2017-08-31 16:59:37 +02:00
dl-tlsdesc.S
dl-trampoline.S
ffs.c
gccframe.h
gmp-mparam.h
htonl.S
htons.S
i386-mcount.S
Implies Add float128 support for x86_64, x86. 2017-06-26 22:02:24 +00:00
init-arch.h
jmpbuf-offsets.h
jmpbuf-unwind.h
ldbl2mpn.c
ldsodefs.h
link-defines.sym
lshift.S
machine-gmon.h Mark internal functions with attribute_hidden [BZ #18822] 2017-10-01 15:07:23 -07:00
Makefile Enable unwind info in libc-start.c and backtrace.c 2017-09-19 15:07:58 +01:00
malloc-alignment.h i386: Increase MALLOC_ALIGNMENT to 16 [BZ #21120] 2017-06-30 09:11:24 -07:00
memchr.S
memcmp.S
memcopy.h
memcpy_chk.S
memcpy.S
memmove_chk.S
memmove.S
mempcpy_chk.S
mempcpy.S
memset_chk.S
memset.S
memusage.h
mp_clz_tab.c
mul_1.S
preconfigure
pthread_spin_trylock.S
rawmemchr.S
rshift.S
setfpucw.c Check if SSE is available with HAS_CPU_FEATURE 2017-04-07 07:44:59 -07:00
setjmp.S
stackguard-macros.h
stackinfo.h
start.S i386: Use "movl main@GOT(%ebx), %eax" in start.S 2017-10-03 17:54:30 -07:00
stpcpy.S
stpncpy.S
strcat.S
strchr.S
strchrnul.S
strcspn.S
string-inlines.c Remove bits/string.h. 2017-06-20 08:21:24 -04:00
strlen.c
strlen.S
strpbrk.S
strrchr.S
strspn.S
sub_n.S
submul_1.S
symbol-hacks.h Build divdi3 only for architecture that required it 2017-04-06 15:14:34 -03:00
sysdep.h
tls-macros.h
tlsdesc.c elf: Remove internal_function attribute 2017-08-31 16:59:37 +02:00
tlsdesc.sym
tst-audit3.c
tst-audit3.h
tst-audit.h
tst-auditmod3a.c
tst-auditmod3b.c
tst-ld-sse-use.sh
tst-stack-align.h
Versions