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 master updated. glibc-2.18-84-ge029e2e


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, master has been updated
       via  e029e2e5c5448e9b32cc2f26c89968b61e0baa6c (commit)
      from  bbf6e8e4f416ebb84b22b613752adb7cbc0d82df (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://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=e029e2e5c5448e9b32cc2f26c89968b61e0baa6c

commit e029e2e5c5448e9b32cc2f26c89968b61e0baa6c
Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
Date:   Thu Aug 29 15:38:51 2013 -0300

    benchtests: Add memrchr benchmark

diff --git a/ChangeLog b/ChangeLog
index d67993a..b107551 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2013-09-06  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
+
+	* benchtests/Makefile: Add memrchr benchmark.
+	* benchtests/bench-memchr.c (USE_AS_MEMRCHR): Add define to use
+	benchmark as memrchr.
+	* benchtests/bench-memrchr-ifunc.c: New file.
+	* benchtests/bench-memrchr.c: New file.
+
 2013-09-06   Will Newton  <will.newton@linaro.org>
 
 	* benchtests/Makefile (string-bench): Add memcpy.
diff --git a/benchtests/Makefile b/benchtests/Makefile
index 6037e5c..9cb4ff9 100644
--- a/benchtests/Makefile
+++ b/benchtests/Makefile
@@ -28,7 +28,7 @@ string-bench := bcopy bzero memccpy memchr memcmp memcpy memmem memmove \
 		mempcpy memset rawmemchr stpcpy stpncpy strcasecmp strcasestr \
 		strcat strchr strchrnul strcmp strcpy strcspn strlen \
 		strncasecmp strncat strncmp strncpy strnlen strpbrk strrchr \
-		strspn strstr strcpy_chk stpcpy_chk
+		strspn strstr strcpy_chk stpcpy_chk memrchr
 string-bench-ifunc := $(addsuffix -ifunc, $(string-bench))
 string-bench-all := $(string-bench) $(string-bench-ifunc)
 
diff --git a/benchtests/bench-memchr.c b/benchtests/bench-memchr.c
index db099ad..30c472c 100644
--- a/benchtests/bench-memchr.c
+++ b/benchtests/bench-memchr.c
@@ -16,9 +16,10 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define TEST_MAIN
-#define TEST_NAME "memchr"
-#include "bench-string.h"
+#ifndef USE_AS_MEMRCHR
+# define TEST_MAIN
+# define TEST_NAME "memchr"
+# include "bench-string.h"
 
 typedef char *(*proto_t) (const char *, int, size_t);
 char *simple_memchr (const char *, int, size_t);
@@ -34,6 +35,7 @@ simple_memchr (const char *s, int c, size_t n)
       return (char *) s - 1;
   return NULL;
 }
+#endif
 
 static void
 do_one_test (impl_t *impl, const char *s, int c, size_t n, char *exp_res)
diff --git a/benchtests/bench-memrchr-ifunc.c b/benchtests/bench-memrchr-ifunc.c
new file mode 100644
index 0000000..fff8f01
--- /dev/null
+++ b/benchtests/bench-memrchr-ifunc.c
@@ -0,0 +1,20 @@
+/* Measure IFUNC implementations of memrchr function.
+   Copyright (C) 2013 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define TEST_IFUNC 1
+#include "bench-memrchr.c"
diff --git a/benchtests/bench-memrchr.c b/benchtests/bench-memrchr.c
new file mode 100644
index 0000000..96a597f
--- /dev/null
+++ b/benchtests/bench-memrchr.c
@@ -0,0 +1,40 @@
+/* Measure memrchr functions.
+   Copyright (C) 2013 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define TEST_MAIN
+#define TEST_NAME "memrchr"
+#include "bench-string.h"
+
+typedef char *(*proto_t) (const char *, int, size_t);
+char *simple_memrchr (const char *, int, size_t);
+
+IMPL (simple_memrchr, 0)
+IMPL (memrchr, 1)
+
+char *
+simple_memrchr (const char *s, int c, size_t n)
+{
+  s = s + n;
+  while (n--)
+    if (*--s == (char) c)
+      return (char *) s;
+  return NULL;
+}
+
+#define USE_AS_MEMRCHR
+#include "bench-memchr.c"

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

Summary of changes:
 ChangeLog                                          |    8 +++++++
 benchtests/Makefile                                |    2 +-
 benchtests/bench-memchr.c                          |    8 ++++--
 ...bench-memccpy-ifunc.c => bench-memrchr-ifunc.c} |    4 +-
 benchtests/{bench-mempcpy.c => bench-memrchr.c}    |   23 +++++++++++--------
 5 files changed, 29 insertions(+), 16 deletions(-)
 copy benchtests/{bench-memccpy-ifunc.c => bench-memrchr-ifunc.c} (90%)
 copy benchtests/{bench-mempcpy.c => bench-memrchr.c} (69%)


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]