This is the mail archive of the mailing list for the glibc project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: Improve 64bit strcpy functions


This patch has new SSE2/SSSE3 implementations of 64bit strcpy functions.
Tested on Atom, Core 2 and Core i7.  It improves strcpy performance by
up to 4X.

BTW, this patch needs init-arch changes in the 32bit strcpy patch.

2011-06-22  H.J. Lu  <>

	* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
	strcpy-ssse3 strncpy-ssse3 stpcpy-ssse3 stpncpy-ssse3
	strcpy-sse2-unaligned strncpy-sse2-unaligned
	stpcpy-sse2-unaligned stpncpy-sse2-unaligned.

	* sysdeps/x86_64/multiarch/stpcpy-sse2-unaligned.S: New.
	* sysdeps/x86_64/multiarch/stpcpy-ssse3.S: Likewise.
	* sysdeps/x86_64/multiarch/stpncpy-sse2-unaligned.S: Likewise.
	* sysdeps/x86_64/multiarch/stpncpy-ssse3.S: Likewise.
	* sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S: Likewise.
	* sysdeps/x86_64/multiarch/strcpy-ssse3.S: Likewise.
	* sysdeps/x86_64/multiarch/strncpy-sse2-unaligned.S: Likewise.
	* sysdeps/x86_64/multiarch/strncpy-ssse3.S: Likewise.

	* sysdeps/x86_64/multiarch/strcpy.S: Remove strcpy with SSSE3.
	(STRCPY): Support SSE2 and SSSE3 versions.

Attachment: libc-strcpy-64bit-1.patch.bz2
Description: BZip2 compressed data

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]