svn commit: r213326 - head/lib/libc/i386/string

Jilles Tjoelker jilles at FreeBSD.org
Fri Oct 1 13:10:11 UTC 2010


Author: jilles
Date: Fri Oct  1 13:10:11 2010
New Revision: 213326
URL: http://svn.freebsd.org/changeset/base/213326

Log:
  libc: Remove the i386 assembler version of strlen(3).
  
  On anything modern, the C version, which processes a word at a time, is much
  faster. The Intel optimization manual explicitly warns against using REP
  prefixes with SCAS or CMPS, which is exactly what the assembler version
  does.
  
  A simple test on a Phenom II showed the C version, compiled with -O2, to be
  about twice as fast determining the length of 100000 strings between 0 and
  255 bytes long.
  
  MFC after:	2 weeks

Deleted:
  head/lib/libc/i386/string/strlen.S
Modified:
  head/lib/libc/i386/string/Makefile.inc

Modified: head/lib/libc/i386/string/Makefile.inc
==============================================================================
--- head/lib/libc/i386/string/Makefile.inc	Fri Oct  1 11:48:14 2010	(r213325)
+++ head/lib/libc/i386/string/Makefile.inc	Fri Oct  1 13:10:11 2010	(r213326)
@@ -3,5 +3,5 @@
 
 MDSRCS+=bcmp.S bcopy.S bzero.S ffs.S index.S memchr.S memcmp.S memcpy.S \
 	memmove.S memset.S rindex.S strcat.S strchr.S strcmp.S strcpy.S \
-	strlen.S strncmp.S strrchr.S swab.S wcschr.S wcscmp.S wcslen.S \
+	strncmp.S strrchr.S swab.S wcschr.S wcscmp.S wcslen.S \
 	wmemchr.S


More information about the svn-src-head mailing list