summary refs log tree commit diff
path: root/string
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2009-07-20 21:06:50 -0700
committerUlrich Drepper <drepper@redhat.com>2009-07-20 21:06:50 -0700
commit2b7a8664fa86a182c053b6743f36a5ea8bf6bf6f (patch)
tree0f7562c05a52ebf1045f02ed2e3dadc94aea5d90 /string
parent63fbc91bec5623ab002c6e3ae1f3cd08a5f010fd (diff)
downloadglibc-2b7a8664fa86a182c053b6743f36a5ea8bf6bf6f.tar.gz
glibc-2b7a8664fa86a182c053b6743f36a5ea8bf6bf6f.tar.xz
glibc-2b7a8664fa86a182c053b6743f36a5ea8bf6bf6f.zip
SSE4.2 strstr/strcasestr for x86-64.
This patch implements SSE4.2 strstr/strcasestr, using Knuth-Morris-Pratt
string searching algorithm.
Diffstat (limited to 'string')
-rw-r--r--string/strcasestr.c10
-rw-r--r--string/strstr.c9
2 files changed, 15 insertions, 4 deletions
diff --git a/string/strcasestr.c b/string/strcasestr.c
index 92f2eac7c8..088b5d91c7 100644
--- a/string/strcasestr.c
+++ b/string/strcasestr.c
@@ -1,5 +1,6 @@
 /* Return the offset of one string within another.
-   Copyright (C) 1994, 1996-2000, 2004, 2008 Free Software Foundation, Inc.
+   Copyright (C) 1994, 1996-2000, 2004, 2008, 2009
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -52,11 +53,16 @@
 #undef strcasestr
 #undef __strcasestr
 
+#ifndef STRCASESTR
+#define STRCASESTR __strcasestr
+#endif
+
+
 /* Find the first occurrence of NEEDLE in HAYSTACK, using
    case-insensitive comparison.  This function gives unspecified
    results in multibyte locales.  */
 char *
-__strcasestr (const char *haystack_start, const char *needle_start)
+STRCASESTR (const char *haystack_start, const char *needle_start)
 {
   const char *haystack = haystack_start;
   const char *needle = needle_start;
diff --git a/string/strstr.c b/string/strstr.c
index a9dc312992..ef45f82758 100644
--- a/string/strstr.c
+++ b/string/strstr.c
@@ -1,5 +1,6 @@
 /* Return the offset of one string within another.
-   Copyright (C) 1994,1996,1997,2000,2001,2003,2008 Free Software Foundation, Inc.
+   Copyright (C) 1994,1996,1997,2000,2001,2003,2008,2009
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -40,11 +41,15 @@
 
 #undef strstr
 
+#ifndef STRSTR
+#define STRSTR strstr
+#endif
+
 /* Return the first occurrence of NEEDLE in HAYSTACK.  Return HAYSTACK
    if NEEDLE is empty, otherwise NULL if NEEDLE is not found in
    HAYSTACK.  */
 char *
-strstr (const char *haystack_start, const char *needle_start)
+STRSTR (const char *haystack_start, const char *needle_start)
 {
   const char *haystack = haystack_start;
   const char *needle = needle_start;