This is the mail archive of the glibc-cvs@sourceware.org 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]

GNU C Library master sources branch hjl/ifunc/test updated. glibc-2.16-ports-merge-411-g89be07c


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, hjl/ifunc/test has been updated
       via  89be07cbef8846b07df7616b517cf56ddbbb57b5 (commit)
       via  7ef6ab5a855e8e383a55a40689da53953f81970a (commit)
       via  b0ae15e99218a9e0df7b118ca8031f4be270385c (commit)
       via  b88974edad0e3ac914d14a93952368f5c0d9708d (commit)
       via  44756719c4c5b7da514fa04d0f540784342135c5 (commit)
       via  27ee120ca5e213b7d72c7b7b13cb52f1a25c8d70 (commit)
       via  430a291c1b894305836ab5e656da0a0c1595e845 (commit)
       via  0363016a8dba7acf3439da1e3877ab5d71ca43db (commit)
       via  eb25892b61734379f99cc0495865718b3f32a3ec (commit)
      from  e92a2bce5f9373c6b98d403c8ca47cc9cc590e3e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=89be07cbef8846b07df7616b517cf56ddbbb57b5

commit 89be07cbef8846b07df7616b517cf56ddbbb57b5
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sat Sep 22 06:09:35 2012 -0700

    Add i686 wchar function ifunc tests

diff --git a/ChangeLog.test-ifunc b/ChangeLog.test-ifunc
index 4c37f93..802d41e 100644
--- a/ChangeLog.test-ifunc
+++ b/ChangeLog.test-ifunc
@@ -1,5 +1,36 @@
 2012-09-22  H.J. Lu  <hongjiu.lu@intel.com>
 
+	* sysdeps/i386/i686/multiarch/libc-test.c: Include <wchar.h>.
+	(find_wcschr): New.
+	(find_wcscmp): Likewise.
+	(find_wcscpy): Likewise.
+	(find_wcslen): Likewise.
+	(find_wcsrchr): Likewise.
+	(find_wmemcmp): Likewise.
+	(__wcschr_ia32): Likewise.
+	(__wcschr_sse2): Likewise.
+	(wcschr_list): Likewise.
+	(__wcscmp_ia32): Likewise.
+	(__wcscmp_sse2): Likewise.
+	(wcscmp_list): Likewise.
+	(__wcscpy_ia32): Likewise.
+	(__wcscpy_ssse3): Likewise.
+	(wcscpy_list): Likewise.
+	(__wcslen_ia32): Likewise.
+	(__wcslen_sse2): Likewise.
+	(wcslen_list): Likewise.
+	(__wcsrchr_ia32): Likewise.
+	(__wcsrchr_sse2): Likewise.
+	(wcsrchr_list): Likewise.
+	(__wmemcmp_ia32): Likewise.
+	(__wmemcmp_ssse3): Likewise.
+	(__wmemcmp_sse4_2): Likewise.
+	(wmemcmp_list): Likewise.
+	(__libc_func): Support wcschr, wcscmp, wcscpy, wcslen, wcsrchr
+	and wmemcmp.
+
+2012-09-22  H.J. Lu  <hongjiu.lu@intel.com>
+
 	* sysdeps/i386/i686/multiarch/libc-test.c (find_strnlen): New.
 	(__strnlen_ia32): Likewise.
 	(__strnlen_sse2): Likewise.
diff --git a/sysdeps/i386/i686/multiarch/libc-test.c b/sysdeps/i386/i686/multiarch/libc-test.c
index ad6d866..0bf64fb 100644
--- a/sysdeps/i386/i686/multiarch/libc-test.c
+++ b/sysdeps/i386/i686/multiarch/libc-test.c
@@ -18,6 +18,7 @@
 
 #include <stdlib.h>
 #include <string.h>
+#include <wchar.h>
 #include <libc-test.h>
 #include "init-arch.h"
 
@@ -53,6 +54,12 @@
 #define find_strpbrk()		NULL
 #define find_strspn()		NULL
 #define find_strstr()		NULL
+#define find_wcschr()		NULL
+#define find_wcscmp()		NULL
+#define find_wcscpy()		NULL
+#define find_wcslen()		NULL
+#define find_wcsrchr()		NULL
+#define find_wmemcmp()		NULL
 
 #ifndef NOT_IN_libc
 
@@ -503,7 +510,7 @@ static const struct libc_func_test strnlen_list[] =
   { NULL, NULL },
 };
 
-#  undef find_strnlen
+# undef find_strnlen
 
 static const struct libc_func_test *
 find_strnlen (void)
@@ -565,6 +572,116 @@ find_strstr (void)
   return strstr_list + (HAS_SSE4_2 ? 0 : 1);
 }
 
+extern __typeof (wcschr) __wcschr_ia32;
+extern __typeof (wcschr) __wcschr_sse2;
+
+static const struct libc_func_test wcschr_list[] =
+{
+  LIBC_FUNC_INIT (__wcschr_sse2),
+  LIBC_FUNC_INIT (__wcschr_ia32),
+  { NULL, NULL },
+};
+
+# undef find_wcschr
+
+static const struct libc_func_test *
+find_wcschr (void)
+{
+  return wcschr_list + (HAS_SSE2 ? 0 : 1);
+}
+
+extern __typeof (wcscmp) __wcscmp_ia32;
+extern __typeof (wcscmp) __wcscmp_sse2;
+
+static const struct libc_func_test wcscmp_list[] =
+{
+  LIBC_FUNC_INIT (__wcscmp_sse2),
+  LIBC_FUNC_INIT (__wcscmp_ia32),
+  { NULL, NULL },
+};
+
+# undef find_wcscmp
+
+static const struct libc_func_test *
+find_wcscmp (void)
+{
+  return wcscmp_list + (HAS_SSE2 ? 0 : 1);
+}
+
+extern __typeof (wcscpy) __wcscpy_ia32;
+extern __typeof (wcscpy) __wcscpy_ssse3;
+
+static const struct libc_func_test wcscpy_list[] =
+{
+  LIBC_FUNC_INIT (__wcscpy_ssse3),
+  LIBC_FUNC_INIT (__wcscpy_ia32),
+  { NULL, NULL },
+};
+
+# undef find_wcscpy
+
+static const struct libc_func_test *
+find_wcscpy (void)
+{
+  return wcscpy_list + (HAS_SSSE3 ? 0 : 1);
+}
+
+extern __typeof (wcslen) __wcslen_ia32;
+extern __typeof (wcslen) __wcslen_sse2;
+
+static const struct libc_func_test wcslen_list[] =
+{
+  LIBC_FUNC_INIT (__wcslen_sse2),
+  LIBC_FUNC_INIT (__wcslen_ia32),
+  { NULL, NULL },
+};
+
+# undef find_wcslen
+
+static const struct libc_func_test *
+find_wcslen (void)
+{
+  return wcslen_list + (HAS_SSE2 ? 0 : 1);
+}
+
+extern __typeof (wcsrchr) __wcsrchr_ia32;
+extern __typeof (wcsrchr) __wcsrchr_sse2;
+
+static const struct libc_func_test wcsrchr_list[] =
+{
+  LIBC_FUNC_INIT (__wcsrchr_sse2),
+  LIBC_FUNC_INIT (__wcsrchr_ia32),
+  { NULL, NULL },
+};
+
+# undef find_wcsrchr
+
+static const struct libc_func_test *
+find_wcsrchr (void)
+{
+  return wcsrchr_list + (HAS_SSE2 ? 0 : 1);
+}
+
+extern __typeof (wmemcmp) __wmemcmp_ia32;
+extern __typeof (wmemcmp) __wmemcmp_ssse3;
+extern __typeof (wmemcmp) __wmemcmp_sse4_2;
+
+static const struct libc_func_test wmemcmp_list[] =
+{
+  LIBC_FUNC_INIT (__wmemcmp_sse4_2),
+  LIBC_FUNC_INIT (__wmemcmp_ssse3),
+  LIBC_FUNC_INIT (__wmemcmp_ia32),
+  { NULL, NULL },
+};
+
+# undef find_wmemcmp
+
+static const struct libc_func_test *
+find_wmemcmp (void)
+{
+  return wmemcmp_list + (HAS_SSE4_2 ? 0 : (HAS_SSSE3 ? 1 : 2));
+}
+
 # ifdef SHARED
 extern __typeof (memcpy) __memcpy_ia32;
 extern __typeof (memcpy) __memcpy_ssse3;
@@ -789,5 +906,23 @@ __libc_func (const char *name)
   if (strcmp (name, "strstr") == 0)
     return find_strstr ();
 
+  if (strcmp (name, "wcschr") == 0)
+    return find_wcschr ();
+
+  if (strcmp (name, "wcscmp") == 0)
+    return find_wcscmp ();
+
+  if (strcmp (name, "wcscpy") == 0)
+    return find_wcscpy ();
+
+  if (strcmp (name, "wcslen") == 0)
+    return find_wcslen ();
+
+  if (strcmp (name, "wcsrchr") == 0)
+    return find_wcsrchr ();
+
+  if (strcmp (name, "wmemcmp") == 0)
+    return find_wmemcmp ();
+
   return NULL;
 }

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=7ef6ab5a855e8e383a55a40689da53953f81970a

commit 7ef6ab5a855e8e383a55a40689da53953f81970a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sat Sep 22 05:48:17 2012 -0700

    Add i686 strnlen ifunc test

diff --git a/ChangeLog.test-ifunc b/ChangeLog.test-ifunc
index ce8cfbe..4c37f93 100644
--- a/ChangeLog.test-ifunc
+++ b/ChangeLog.test-ifunc
@@ -1,5 +1,13 @@
 2012-09-22  H.J. Lu  <hongjiu.lu@intel.com>
 
+	* sysdeps/i386/i686/multiarch/libc-test.c (find_strnlen): New.
+	(__strnlen_ia32): Likewise.
+	(__strnlen_sse2): Likewise.
+	(strnlen_list): Likewise.
+	(__libc_func): Support strnlen.
+
+2012-09-22  H.J. Lu  <hongjiu.lu@intel.com>
+
 	* sysdeps/i386/i686/multiarch/libc-test.c (find_strncasecmp): New.
 	(find_strncasecmp_l): Likewise.
 	(__strncasecmp_ia32): Likewise.
diff --git a/sysdeps/i386/i686/multiarch/libc-test.c b/sysdeps/i386/i686/multiarch/libc-test.c
index 5c13ea7..ad6d866 100644
--- a/sysdeps/i386/i686/multiarch/libc-test.c
+++ b/sysdeps/i386/i686/multiarch/libc-test.c
@@ -49,6 +49,7 @@
 #define find_strncmp()		NULL
 #define find_strcspn()		NULL
 #define find_strlen()		NULL
+#define find_strnlen()		NULL
 #define find_strpbrk()		NULL
 #define find_strspn()		NULL
 #define find_strstr()		NULL
@@ -492,6 +493,24 @@ find_strcspn (void)
   return strcspn_list + (HAS_SSE4_2 ? 0 : 1);
 }
 
+extern __typeof (strnlen) __strnlen_ia32;
+extern __typeof (strnlen) __strnlen_sse2;
+
+static const struct libc_func_test strnlen_list[] =
+{
+  LIBC_FUNC_INIT (__strnlen_sse2),
+  LIBC_FUNC_INIT (__strnlen_ia32),
+  { NULL, NULL },
+};
+
+#  undef find_strnlen
+
+static const struct libc_func_test *
+find_strnlen (void)
+{
+  return strnlen_list + (HAS_SSE2 ? 0 : 1);
+}
+
 extern __typeof (strpbrk) __strpbrk_ia32;
 extern __typeof (strpbrk) __strpbrk_sse42;
 
@@ -758,6 +777,9 @@ __libc_func (const char *name)
   if (strcmp (name, "strlen") == 0)
     return find_strlen ();
 
+  if (strcmp (name, "strnlen") == 0)
+    return find_strnlen ();
+
   if (strcmp (name, "strpbrk") == 0)
     return find_strpbrk ();
 

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=b0ae15e99218a9e0df7b118ca8031f4be270385c

commit b0ae15e99218a9e0df7b118ca8031f4be270385c
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sat Sep 22 05:42:11 2012 -0700

    Add i686 strncasecmp/strncasecmp_l ifunc tests

diff --git a/ChangeLog.test-ifunc b/ChangeLog.test-ifunc
index 838752a..ce8cfbe 100644
--- a/ChangeLog.test-ifunc
+++ b/ChangeLog.test-ifunc
@@ -1,5 +1,19 @@
 2012-09-22  H.J. Lu  <hongjiu.lu@intel.com>
 
+	* sysdeps/i386/i686/multiarch/libc-test.c (find_strncasecmp): New.
+	(find_strncasecmp_l): Likewise.
+	(__strncasecmp_ia32): Likewise.
+	(__strncasecmp_ssse3): Likewise.
+	(__strncasecmp_ssse3): Likewise.
+	(strncasecmp_list): Likewise.
+	(__strncasecmp_l_ia32): Likewise.
+	(__strncasecmp_l_ssse3): Likewise.
+	(__strncasecmp_l_sse4_2): Likewise.
+	(strncasecmp_l_list): Likewise.
+	(__libc_func): Support strncasecmp and strncasecmp_l.
+
+2012-09-22  H.J. Lu  <hongjiu.lu@intel.com>
+
 	* sysdeps/i386/i686/multiarch/libc-test.c (find_strchr): New.
 	(find_strrchr): Likewise.
 	(__strchr_ia32): Likewise.
diff --git a/sysdeps/i386/i686/multiarch/libc-test.c b/sysdeps/i386/i686/multiarch/libc-test.c
index 20255e8..5c13ea7 100644
--- a/sysdeps/i386/i686/multiarch/libc-test.c
+++ b/sysdeps/i386/i686/multiarch/libc-test.c
@@ -38,6 +38,8 @@
 #define find_strncpy()		NULL
 #define find_strcasecmp()	NULL
 #define find_strcasecmp_l()	NULL
+#define find_strncasecmp()	NULL
+#define find_strncasecmp_l()	NULL
 #define find_strcasestr()	NULL
 #define find_strcat()		NULL
 #define find_strncat()		NULL
@@ -314,6 +316,46 @@ find_strcasecmp_l (void)
   return strcasecmp_l_list + (HAS_SSE4_2 ? 0 : (HAS_SSSE3 ? 1 : 2));
 }
 
+extern __typeof (strncasecmp) __strncasecmp_ia32;
+extern __typeof (strncasecmp) __strncasecmp_ssse3;
+extern __typeof (strncasecmp) __strncasecmp_sse4_2;
+
+static const struct libc_func_test strncasecmp_list[] =
+{
+  LIBC_FUNC_INIT (__strncasecmp_sse4_2),
+  LIBC_FUNC_INIT (__strncasecmp_ssse3),
+  LIBC_FUNC_INIT (__strncasecmp_ia32),
+  { NULL, NULL },
+};
+
+# undef find_strncasecmp
+
+static const struct libc_func_test *
+find_strncasecmp (void)
+{
+  return strncasecmp_list + (HAS_SSE4_2 ? 0 : (HAS_SSSE3 ? 1 : 2));
+}
+
+extern __typeof (strncasecmp_l) __strncasecmp_l_ia32;
+extern __typeof (strncasecmp_l) __strncasecmp_l_ssse3;
+extern __typeof (strncasecmp_l) __strncasecmp_l_sse4_2;
+
+static const struct libc_func_test strncasecmp_l_list[] =
+{
+  LIBC_FUNC_INIT (__strncasecmp_l_sse4_2),
+  LIBC_FUNC_INIT (__strncasecmp_l_ssse3),
+  LIBC_FUNC_INIT (__strncasecmp_l_ia32),
+  { NULL, NULL },
+};
+
+# undef find_strncasecmp_l
+
+static const struct libc_func_test *
+find_strncasecmp_l (void)
+{
+  return strncasecmp_l_list + (HAS_SSE4_2 ? 0 : (HAS_SSSE3 ? 1 : 2));
+}
+
 extern __typeof (strcasestr) __strcasestr_ia32;
 extern __typeof (strcasestr) __strcasestr_sse42;
 
@@ -683,6 +725,12 @@ __libc_func (const char *name)
   if (strcmp (name, "strcasecmp_l") == 0)
     return find_strcasecmp_l ();
 
+  if (strcmp (name, "strncasecmp") == 0)
+    return find_strncasecmp ();
+
+  if (strcmp (name, "strncasecmp_l") == 0)
+    return find_strncasecmp_l ();
+
   if (strcmp (name, "strcasestr") == 0)
     return find_strcasestr ();
 

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=b88974edad0e3ac914d14a93952368f5c0d9708d

commit b88974edad0e3ac914d14a93952368f5c0d9708d
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sat Sep 22 05:34:32 2012 -0700

    Group memchr/memrchr/rawmemchr ifunc tests

diff --git a/sysdeps/i386/i686/multiarch/libc-test.c b/sysdeps/i386/i686/multiarch/libc-test.c
index 2a082ec..20255e8 100644
--- a/sysdeps/i386/i686/multiarch/libc-test.c
+++ b/sysdeps/i386/i686/multiarch/libc-test.c
@@ -22,16 +22,16 @@
 #include "init-arch.h"
 
 #define find_memcmp()		NULL
-#define find_memcpy()		NULL
 #define find_memchr()		NULL
+#define find_memrchr()		NULL
+#define find_rawmemchr()	NULL
+#define find_memcpy()		NULL
 #define find_memmove()		NULL
 #define find_mempcpy()		NULL
 #define find___memcpy_chk()	NULL
 #define find___memmove_chk()	NULL
 #define find___mempcpy_chk()	NULL
-#define find_memrchr()		NULL
 #define find_memset()		NULL
-#define find_rawmemchr()	NULL
 #define find_stpcpy()		NULL
 #define find_stpncpy()		NULL
 #define find_strcpy()		NULL
@@ -134,6 +134,26 @@ find_memrchr (void)
   return memrchr_list + (HAS_SSE2 ? 0 : 2);
 }
 
+extern __typeof (rawmemchr) __rawmemchr_ia32;
+extern __typeof (rawmemchr) __rawmemchr_sse2;
+extern __typeof (rawmemchr) __rawmemchr_sse2_bsf;
+
+static const struct libc_func_test rawmemchr_list[] =
+{
+  LIBC_FUNC_INIT (__rawmemchr_sse2_bsf),
+  LIBC_FUNC_INIT (__rawmemchr_sse2),
+  LIBC_FUNC_INIT (__rawmemchr_ia32),
+  { NULL, NULL },
+};
+
+# undef find_rawmemchr
+
+static const struct libc_func_test *
+find_rawmemchr (void)
+{
+  return rawmemchr_list + (HAS_SSE2 ? 0 : 2);
+}
+
 extern __typeof (memcmp) __memcmp_ia32;
 extern __typeof (memcmp) __memcmp_ssse3;
 extern __typeof (memcmp) __memcmp_sse4_2;
@@ -174,26 +194,6 @@ find_memset (void)
   return memset_list + (HAS_SSE2 ? 0 : 2);
 }
 
-extern __typeof (rawmemchr) __rawmemchr_ia32;
-extern __typeof (rawmemchr) __rawmemchr_sse2;
-extern __typeof (rawmemchr) __rawmemchr_sse2_bsf;
-
-static const struct libc_func_test rawmemchr_list[] =
-{
-  LIBC_FUNC_INIT (__rawmemchr_sse2_bsf),
-  LIBC_FUNC_INIT (__rawmemchr_sse2),
-  LIBC_FUNC_INIT (__rawmemchr_ia32),
-  { NULL, NULL },
-};
-
-# undef find_rawmemchr
-
-static const struct libc_func_test *
-find_rawmemchr (void)
-{
-  return rawmemchr_list + (HAS_SSE2 ? 0 : 2);
-}
-
 extern __typeof (stpcpy) __stpcpy_ia32;
 extern __typeof (stpcpy) __stpcpy_sse2;
 extern __typeof (stpcpy) __stpcpy_ssse3;
@@ -638,6 +638,12 @@ __libc_func (const char *name)
   if (strcmp (name, "memchr") == 0)
     return find_memchr ();
 
+  if (strcmp (name, "memrchr") == 0)
+    return find_memrchr ();
+
+  if (strcmp (name, "rawmemchr") == 0)
+    return find_rawmemchr ();
+
   if (strcmp (name, "memcpy") == 0)
     return find_memcpy ();
 
@@ -656,15 +662,9 @@ __libc_func (const char *name)
   if (strcmp (name, "__mempcpy_chk") == 0)
     return find___mempcpy_chk ();
 
-  if (strcmp (name, "memrchr") == 0)
-    return find_memrchr ();
-
   if (strcmp (name, "memset") == 0)
     return find_memset ();
 
-  if (strcmp (name, "rawmemchr") == 0)
-    return find_rawmemchr ();
-
   if (strcmp (name, "stpcpy") == 0)
     return find_stpcpy ();
 

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=44756719c4c5b7da514fa04d0f540784342135c5

commit 44756719c4c5b7da514fa04d0f540784342135c5
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sat Sep 22 05:31:11 2012 -0700

    Add i686 strchr/strrchr ifunc tests

diff --git a/ChangeLog.test-ifunc b/ChangeLog.test-ifunc
index 4627b9f..838752a 100644
--- a/ChangeLog.test-ifunc
+++ b/ChangeLog.test-ifunc
@@ -1,5 +1,19 @@
 2012-09-22  H.J. Lu  <hongjiu.lu@intel.com>
 
+	* sysdeps/i386/i686/multiarch/libc-test.c (find_strchr): New.
+	(find_strrchr): Likewise.
+	(__strchr_ia32): Likewise.
+	(__strchr_sse2): Likewise.
+	(__strchr_sse2_bsf): Likewise.
+	(strchr_list): Likewise.
+	(__strrchr_ia32): Likewise.
+	(__strrchr_sse2): Likewise.
+	(__strrchr_sse2_bsf): Likewise.
+	(strrchr_list): Likewise.
+	(__libc_func): Support memchr and memrchr.
+
+2012-09-22  H.J. Lu  <hongjiu.lu@intel.com>
+
 	* sysdeps/i386/i686/multiarch/libc-test.c (find_memchr): New.
 	(find_memrchr): Likewise.
 	(__memchr_ia32): Likewise.
diff --git a/sysdeps/i386/i686/multiarch/libc-test.c b/sysdeps/i386/i686/multiarch/libc-test.c
index 289191e..2a082ec 100644
--- a/sysdeps/i386/i686/multiarch/libc-test.c
+++ b/sysdeps/i386/i686/multiarch/libc-test.c
@@ -41,6 +41,8 @@
 #define find_strcasestr()	NULL
 #define find_strcat()		NULL
 #define find_strncat()		NULL
+#define find_strchr()		NULL
+#define find_strrchr()		NULL
 #define find_strcmp()		NULL
 #define find_strncmp()		NULL
 #define find_strcspn()		NULL
@@ -390,6 +392,46 @@ find_strcmp (void)
   return strcmp_list + (HAS_SSE4_2 ? 0 : (HAS_SSSE3 ? 1 : 2));
 }
 
+extern __typeof (strchr) __strchr_ia32;
+extern __typeof (strchr) __strchr_sse2;
+extern __typeof (strchr) __strchr_sse2_bsf;
+
+static const struct libc_func_test strchr_list[] =
+{
+  LIBC_FUNC_INIT (__strchr_sse2_bsf),
+  LIBC_FUNC_INIT (__strchr_sse2),
+  LIBC_FUNC_INIT (__strchr_ia32),
+  { NULL, NULL },
+};
+
+# undef find_strchr
+
+static const struct libc_func_test *
+find_strchr (void)
+{
+  return strchr_list + (HAS_SSE2 ? 0 : 2);
+}
+
+extern __typeof (strrchr) __strrchr_ia32;
+extern __typeof (strrchr) __strrchr_sse2;
+extern __typeof (strrchr) __strrchr_sse2_bsf;
+
+static const struct libc_func_test strrchr_list[] =
+{
+  LIBC_FUNC_INIT (__strrchr_sse2_bsf),
+  LIBC_FUNC_INIT (__strrchr_sse2),
+  LIBC_FUNC_INIT (__strrchr_ia32),
+  { NULL, NULL },
+};
+
+# undef find_strrchr
+
+static const struct libc_func_test *
+find_strrchr (void)
+{
+  return strrchr_list + (HAS_SSE2 ? 0 : 2);
+}
+
 extern __typeof (strcspn) __strcspn_ia32;
 extern __typeof (strcspn) __strcspn_sse42;
 
@@ -656,6 +698,12 @@ __libc_func (const char *name)
   if (strcmp (name, "strncmp") == 0)
     return find_strncmp ();
 
+  if (strcmp (name, "strchr") == 0)
+    return find_strchr ();
+
+  if (strcmp (name, "strrchr") == 0)
+    return find_strrchr ();
+
   if (strcmp (name, "strcspn") == 0)
     return find_strcspn ();
 

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=27ee120ca5e213b7d72c7b7b13cb52f1a25c8d70

commit 27ee120ca5e213b7d72c7b7b13cb52f1a25c8d70
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sat Sep 22 05:18:48 2012 -0700

    Add i686 memchr/memrchr ifunc tests

diff --git a/ChangeLog.test-ifunc b/ChangeLog.test-ifunc
index 4012828..4627b9f 100644
--- a/ChangeLog.test-ifunc
+++ b/ChangeLog.test-ifunc
@@ -1,5 +1,19 @@
 2012-09-22  H.J. Lu  <hongjiu.lu@intel.com>
 
+	* sysdeps/i386/i686/multiarch/libc-test.c (find_memchr): New.
+	(find_memrchr): Likewise.
+	(__memchr_ia32): Likewise.
+	(__memchr_sse2): Likewise.
+	(__memchr_sse2_bsf): Likewise.
+	(memchr_list): Likewise.
+	(__memrchr_ia32): Likewise.
+	(__memrchr_sse2): Likewise.
+	(__memrchr_sse2_bsf): Likewise.
+	(memrchr_list): Likewise.
+	(__libc_func): Support memchr and memrchr.
+
+2012-09-22  H.J. Lu  <hongjiu.lu@intel.com>
+
 	* sysdeps/i386/i686/multiarch/libc-test.c (find_strcasecmp): New.
 	(find_strcasecmp_l): Likewise.
 	(__strcasecmp_ia32): Likewise.
diff --git a/sysdeps/i386/i686/multiarch/libc-test.c b/sysdeps/i386/i686/multiarch/libc-test.c
index 313c77c..289191e 100644
--- a/sysdeps/i386/i686/multiarch/libc-test.c
+++ b/sysdeps/i386/i686/multiarch/libc-test.c
@@ -23,11 +23,13 @@
 
 #define find_memcmp()		NULL
 #define find_memcpy()		NULL
+#define find_memchr()		NULL
 #define find_memmove()		NULL
 #define find_mempcpy()		NULL
 #define find___memcpy_chk()	NULL
 #define find___memmove_chk()	NULL
 #define find___mempcpy_chk()	NULL
+#define find_memrchr()		NULL
 #define find_memset()		NULL
 #define find_rawmemchr()	NULL
 #define find_stpcpy()		NULL
@@ -90,6 +92,46 @@ find___memmove_chk (void)
   return __memmove_chk_list + (HAS_SSSE3 ? 0 : 2);
 }
 
+extern __typeof (memchr) __memchr_ia32;
+extern __typeof (memchr) __memchr_sse2;
+extern __typeof (memchr) __memchr_sse2_bsf;
+
+static const struct libc_func_test memchr_list[] =
+{
+  LIBC_FUNC_INIT (__memchr_sse2_bsf),
+  LIBC_FUNC_INIT (__memchr_sse2),
+  LIBC_FUNC_INIT (__memchr_ia32),
+  { NULL, NULL },
+};
+
+# undef find_memchr
+
+static const struct libc_func_test *
+find_memchr (void)
+{
+  return memchr_list + (HAS_SSE2 ? 0 : 2);
+}
+
+extern __typeof (memrchr) __memrchr_ia32;
+extern __typeof (memrchr) __memrchr_sse2;
+extern __typeof (memrchr) __memrchr_sse2_bsf;
+
+static const struct libc_func_test memrchr_list[] =
+{
+  LIBC_FUNC_INIT (__memrchr_sse2_bsf),
+  LIBC_FUNC_INIT (__memrchr_sse2),
+  LIBC_FUNC_INIT (__memrchr_ia32),
+  { NULL, NULL },
+};
+
+# undef find_memrchr
+
+static const struct libc_func_test *
+find_memrchr (void)
+{
+  return memrchr_list + (HAS_SSE2 ? 0 : 2);
+}
+
 extern __typeof (memcmp) __memcmp_ia32;
 extern __typeof (memcmp) __memcmp_ssse3;
 extern __typeof (memcmp) __memcmp_sse4_2;
@@ -551,6 +593,9 @@ __libc_func (const char *name)
   if (strcmp (name, "memcmp") == 0)
     return find_memcmp ();
 
+  if (strcmp (name, "memchr") == 0)
+    return find_memchr ();
+
   if (strcmp (name, "memcpy") == 0)
     return find_memcpy ();
 
@@ -569,6 +614,9 @@ __libc_func (const char *name)
   if (strcmp (name, "__mempcpy_chk") == 0)
     return find___mempcpy_chk ();
 
+  if (strcmp (name, "memrchr") == 0)
+    return find_memrchr ();
+
   if (strcmp (name, "memset") == 0)
     return find_memset ();
 

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=430a291c1b894305836ab5e656da0a0c1595e845

commit 430a291c1b894305836ab5e656da0a0c1595e845
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sat Sep 22 05:08:12 2012 -0700

    Add i686 strcasecmp/strcasecmp_l ifunc test

diff --git a/ChangeLog.test-ifunc b/ChangeLog.test-ifunc
index 625e589..4012828 100644
--- a/ChangeLog.test-ifunc
+++ b/ChangeLog.test-ifunc
@@ -1,5 +1,19 @@
 2012-09-22  H.J. Lu  <hongjiu.lu@intel.com>
 
+	* sysdeps/i386/i686/multiarch/libc-test.c (find_strcasecmp): New.
+	(find_strcasecmp_l): Likewise.
+	(__strcasecmp_ia32): Likewise.
+	(__strcasecmp_ssse3): Likewise.
+	(__strcasecmp_ssse3): Likewise.
+	(strcasecmp_list): Likewise.
+	(__strcasecmp_l_ia32): Likewise.
+	(__strcasecmp_l_ssse3): Likewise.
+	(__strcasecmp_l_sse4_2): Likewise.
+	(strcasecmp_l_list): Likewise.
+	(__libc_func): Support strcasecmp and strcasecmp_l.
+
+2012-09-22  H.J. Lu  <hongjiu.lu@intel.com>
+
 	* sysdeps/i386/i686/multiarch/libc-test.c (find_rawmemchr): New.
 	(__rawmemchr_ia32): Likewise.
 	(__rawmemchr_sse2): Likewise.
diff --git a/sysdeps/i386/i686/multiarch/libc-test.c b/sysdeps/i386/i686/multiarch/libc-test.c
index 058fbed..313c77c 100644
--- a/sysdeps/i386/i686/multiarch/libc-test.c
+++ b/sysdeps/i386/i686/multiarch/libc-test.c
@@ -34,6 +34,8 @@
 #define find_stpncpy()		NULL
 #define find_strcpy()		NULL
 #define find_strncpy()		NULL
+#define find_strcasecmp()	NULL
+#define find_strcasecmp_l()	NULL
 #define find_strcasestr()	NULL
 #define find_strcat()		NULL
 #define find_strncat()		NULL
@@ -228,6 +230,46 @@ find_strncpy (void)
   return strncpy_list + (HAS_SSSE3 ? 0 : (HAS_SSE2 ? 1 : 2));
 }
 
+extern __typeof (strcasecmp) __strcasecmp_ia32;
+extern __typeof (strcasecmp) __strcasecmp_ssse3;
+extern __typeof (strcasecmp) __strcasecmp_sse4_2;
+
+static const struct libc_func_test strcasecmp_list[] =
+{
+  LIBC_FUNC_INIT (__strcasecmp_sse4_2),
+  LIBC_FUNC_INIT (__strcasecmp_ssse3),
+  LIBC_FUNC_INIT (__strcasecmp_ia32),
+  { NULL, NULL },
+};
+
+# undef find_strcasecmp
+
+static const struct libc_func_test *
+find_strcasecmp (void)
+{
+  return strcasecmp_list + (HAS_SSE4_2 ? 0 : (HAS_SSSE3 ? 1 : 2));
+}
+
+extern __typeof (strcasecmp_l) __strcasecmp_l_ia32;
+extern __typeof (strcasecmp_l) __strcasecmp_l_ssse3;
+extern __typeof (strcasecmp_l) __strcasecmp_l_sse4_2;
+
+static const struct libc_func_test strcasecmp_l_list[] =
+{
+  LIBC_FUNC_INIT (__strcasecmp_l_sse4_2),
+  LIBC_FUNC_INIT (__strcasecmp_l_ssse3),
+  LIBC_FUNC_INIT (__strcasecmp_l_ia32),
+  { NULL, NULL },
+};
+
+# undef find_strcasecmp_l
+
+static const struct libc_func_test *
+find_strcasecmp_l (void)
+{
+  return strcasecmp_l_list + (HAS_SSE4_2 ? 0 : (HAS_SSSE3 ? 1 : 2));
+}
+
 extern __typeof (strcasestr) __strcasestr_ia32;
 extern __typeof (strcasestr) __strcasestr_sse42;
 
@@ -545,6 +587,12 @@ __libc_func (const char *name)
   if (strcmp (name, "strncpy") == 0)
     return find_strncpy ();
 
+  if (strcmp (name, "strcasecmp") == 0)
+    return find_strcasecmp ();
+
+  if (strcmp (name, "strcasecmp_l") == 0)
+    return find_strcasecmp_l ();
+
   if (strcmp (name, "strcasestr") == 0)
     return find_strcasestr ();
 

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=0363016a8dba7acf3439da1e3877ab5d71ca43db

commit 0363016a8dba7acf3439da1e3877ab5d71ca43db
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sat Sep 22 04:57:26 2012 -0700

    Add i686 rawmemchr ifunc test

diff --git a/ChangeLog.test-ifunc b/ChangeLog.test-ifunc
index 254e66d..625e589 100644
--- a/ChangeLog.test-ifunc
+++ b/ChangeLog.test-ifunc
@@ -1,3 +1,12 @@
+2012-09-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* sysdeps/i386/i686/multiarch/libc-test.c (find_rawmemchr): New.
+	(__rawmemchr_ia32): Likewise.
+	(__rawmemchr_sse2): Likewise.
+	(__rawmemchr_sse2_bsf): Likewise.
+	(rawmemchr_list): Likewise.
+	(__libc_func): Support rawmemchr.
+
 2012-09-21  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* sysdeps/x86_64/multiarch/libc-test.c: Include <wchar.h>.
diff --git a/sysdeps/i386/i686/multiarch/libc-test.c b/sysdeps/i386/i686/multiarch/libc-test.c
index e046fed..058fbed 100644
--- a/sysdeps/i386/i686/multiarch/libc-test.c
+++ b/sysdeps/i386/i686/multiarch/libc-test.c
@@ -29,6 +29,7 @@
 #define find___memmove_chk()	NULL
 #define find___mempcpy_chk()	NULL
 #define find_memset()		NULL
+#define find_rawmemchr()	NULL
 #define find_stpcpy()		NULL
 #define find_stpncpy()		NULL
 #define find_strcpy()		NULL
@@ -127,6 +128,26 @@ find_memset (void)
   return memset_list + (HAS_SSE2 ? 0 : 2);
 }
 
+extern __typeof (rawmemchr) __rawmemchr_ia32;
+extern __typeof (rawmemchr) __rawmemchr_sse2;
+extern __typeof (rawmemchr) __rawmemchr_sse2_bsf;
+
+static const struct libc_func_test rawmemchr_list[] =
+{
+  LIBC_FUNC_INIT (__rawmemchr_sse2_bsf),
+  LIBC_FUNC_INIT (__rawmemchr_sse2),
+  LIBC_FUNC_INIT (__rawmemchr_ia32),
+  { NULL, NULL },
+};
+
+# undef find_rawmemchr
+
+static const struct libc_func_test *
+find_rawmemchr (void)
+{
+  return rawmemchr_list + (HAS_SSE2 ? 0 : 2);
+}
+
 extern __typeof (stpcpy) __stpcpy_ia32;
 extern __typeof (stpcpy) __stpcpy_sse2;
 extern __typeof (stpcpy) __stpcpy_ssse3;
@@ -509,6 +530,9 @@ __libc_func (const char *name)
   if (strcmp (name, "memset") == 0)
     return find_memset ();
 
+  if (strcmp (name, "rawmemchr") == 0)
+    return find_rawmemchr ();
+
   if (strcmp (name, "stpcpy") == 0)
     return find_stpcpy ();
 

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=eb25892b61734379f99cc0495865718b3f32a3ec

commit eb25892b61734379f99cc0495865718b3f32a3ec
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sat Sep 22 04:41:53 2012 -0700

    Revert "Add "-U __i686" to asm-CPPFLAGS."
    
    This reverts commit edc66a5f6e938797cf999f4a10c15bb812811e11.

diff --git a/ChangeLog.i686 b/ChangeLog.i686
deleted file mode 100644
index c6ceca6..0000000
--- a/ChangeLog.i686
+++ /dev/null
@@ -1,3 +0,0 @@
-2010-07-09  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* sysdeps/i386/Makefile (asm-CPPFLAGS): Add "-U __i686".
diff --git a/sysdeps/i386/Makefile b/sysdeps/i386/Makefile
index 17496ab..e1deece 100644
--- a/sysdeps/i386/Makefile
+++ b/sysdeps/i386/Makefile
@@ -1,7 +1,6 @@
 # The mpn functions need a #define for asm syntax flavor.
-# Every i386 port in use uses gas syntax (I think).  Don't replace
-# __i686 in __i686.get_pc_thunk.bx.
-asm-CPPFLAGS += -DGAS_SYNTAX -U __i686
+# Every i386 port in use uses gas syntax (I think).
+asm-CPPFLAGS += -DGAS_SYNTAX
 
 # The i386 `long double' is a distinct type we support.
 long-double-fcts = yes

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog.i686                          |    3 -
 ChangeLog.test-ifunc                    |  104 +++++++++
 sysdeps/i386/Makefile                   |    5 +-
 sysdeps/i386/i686/multiarch/libc-test.c |  373 +++++++++++++++++++++++++++++++
 4 files changed, 479 insertions(+), 6 deletions(-)
 delete mode 100644 ChangeLog.i686


hooks/post-receive
-- 
GNU C Library master sources


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