glibc/sysdeps/i386
Andrew Senkevich 8b4416d83c i386: memcpy functions with SSE2 unaligned load/store
These new memcpy functions are the 32-bit version of x86_64 SSE2 unaligned
memcpy.  Memcpy average performace benefit is 18% on Silvermont, other
platforms also improved about 35%, benchmarked on Silvermont, Haswell, Ivy
Bridge, Sandy Bridge and Westmere, performance results attached in

https://sourceware.org/ml/libc-alpha/2014-07/msg00157.html

	* sysdeps/i386/i686/multiarch/bcopy-sse2-unaligned.S: New file.
	* sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S: Likewise.
	* sysdeps/i386/i686/multiarch/memmove-sse2-unaligned.S: Likewise.
	* sysdeps/i386/i686/multiarch/mempcpy-sse2-unaligned.S: Likewise.
	* sysdeps/i386/i686/multiarch/bcopy.S: Select the sse2_unaligned
	version if bit_Fast_Unaligned_Load is set.
	* sysdeps/i386/i686/multiarch/memcpy.S: Likewise.
	* sysdeps/i386/i686/multiarch/memcpy_chk.S: Likewise.
	* sysdeps/i386/i686/multiarch/memmove.S: Likewise.
	* sysdeps/i386/i686/multiarch/memmove_chk.S: Likewise.
	* sysdeps/i386/i686/multiarch/mempcpy.S: Likewise.
	* sysdeps/i386/i686/multiarch/mempcpy_chk.S: Likewise.
	* sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
	bcopy-sse2-unaligned, memcpy-sse2-unaligned,
	memmove-sse2-unaligned and mempcpy-sse2-unaligned.
	* sysdeps/i386/i686/multiarch/ifunc-impl-list.c (MAX_IFUNC): Set
	to 4.
	(__libc_ifunc_impl_list): Test __bcopy_sse2_unaligned,
	__memmove_chk_sse2_unaligned, __memmove_sse2_unaligned,
	__memcpy_chk_sse2_unaligned, __memcpy_sse2_unaligned,
	__mempcpy_chk_sse2_unaligned, and __mempcpy_sse2_unaligned.
2014-12-30 07:19:38 -08:00
..
fpu Update x86 ULPs 2014-08-27 13:36:02 +10:00
i486 Add arch-specific configuration for C11 atomics support. 2014-11-20 11:57:38 +01:00
i586 Remove NOT_IN_libc 2014-11-24 15:03:45 +05:30
i686 i386: memcpy functions with SSE2 unaligned load/store 2014-12-30 07:19:38 -08:00
i786 Also applying directories. 1999-01-24 10:39:22 +00:00
nptl NPTL: Clean up THREAD_SYSINFO macros. 2014-10-17 15:03:00 -07:00
sys Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
____longjmp_chk.S Add sigstack handling to Linux ____longjmp_chk on i386. 2009-07-30 21:50:14 -07:00
__longjmp.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
abort-instr.h update from main archive 961220 1996-12-21 04:13:58 +00:00
add_n.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
addmul_1.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
asm-syntax.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
backtrace.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
bsd-_setjmp.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
bsd-setjmp.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
bzero.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
configure Enable AVX2 optimized memset only if -mavx2 works 2014-07-14 07:58:27 -07:00
configure.ac Enable AVX2 optimized memset only if -mavx2 works 2014-07-14 07:58:27 -07:00
crti.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
crtn.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-irel.h Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
dl-lookupcfg.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-machine.h Remove @PLT from "call _dl_init@PLT" in _dl_start_user 2014-12-21 05:27:31 -08:00
dl-procinfo.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-procinfo.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-tls.h Add hidden __tls_get_addr/___tls_get_addr alias 2014-12-21 09:27:11 -08:00
dl-tlsdesc.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-tlsdesc.S Add hidden __tls_get_addr/___tls_get_addr alias 2014-12-21 09:27:11 -08:00
dl-trampoline.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
ffs.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
gccframe.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
gmp-mparam.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
htonl.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
htons.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
i386-mcount.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
Implies Use x86-64 bits/byteswap.h for both i386 and x86_64 2012-05-30 14:13:18 -07:00
jmpbuf-offsets.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
jmpbuf-unwind.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
ldbl2mpn.c Replace 1L with (mp_limb_t) 1 2014-12-19 05:32:39 -08:00
ldsodefs.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
lshift.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
machine-gmon.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
Makefile Support crti.S and crtn.S provided directly by architectures. 2012-02-08 01:45:26 +00:00
memchr.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
memcmp.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
memcopy.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
memset.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
memusage.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
mp_clz_tab.c Update. 2002-03-14 20:48:50 +00:00
mul_1.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
preconfigure Move base_machine and machine settings from configure.ac to sysdeps preconfigure fragments. 2014-06-25 17:52:56 +00:00
rawmemchr.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
rshift.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
setfpucw.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
setjmp.S Remove IS_IN_rtld 2014-11-24 11:41:48 +05:30
stackguard-macros.h BZ #15754: CVE-2013-4788 2013-09-23 00:52:09 -04:00
stackinfo.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
start.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
stpcpy.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
stpncpy.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strchr.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strchrnul.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcspn.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
string-inlines.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strlen.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strpbrk.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strrchr.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strspn.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strtok_r.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
strtok.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
sub_n.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
submul_1.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
sysdep.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tls-macros.h Split tls-macros.h into sysdeps directories. 2012-07-17 11:30:58 +00:00
tlsdesc.c Fix -Wundef warnings for SHARED 2014-07-09 09:26:07 +01:00
tlsdesc.sym Introduce TLS descriptors for i386 and x86_64. 2008-05-13 05:41:30 +00:00
tst-audit.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-stack-align.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
Versions Merge sysdeps/i386/elf/Versions into sysdeps/i386/Versions. 2012-03-19 21:02:40 +01:00