This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch hjl/ifunc/test updated. glibc-2.16-ports-merge-402-ge92a2bc
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 21 Sep 2012 23:57:11 -0000
- Subject: GNU C Library master sources branch hjl/ifunc/test updated. glibc-2.16-ports-merge-402-ge92a2bc
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 e92a2bce5f9373c6b98d403c8ca47cc9cc590e3e (commit)
from 06931c26e241d8b0b6d0950ea2d384b7da17e5ed (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=e92a2bce5f9373c6b98d403c8ca47cc9cc590e3e
commit e92a2bce5f9373c6b98d403c8ca47cc9cc590e3e
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Sep 21 16:55:59 2012 -0700
Add x86-64 wcscpy/wmemcmp ifunc tests
diff --git a/ChangeLog.test-ifunc b/ChangeLog.test-ifunc
index c75a857..254e66d 100644
--- a/ChangeLog.test-ifunc
+++ b/ChangeLog.test-ifunc
@@ -1,5 +1,19 @@
2012-09-21 H.J. Lu <hongjiu.lu@intel.com>
+ * sysdeps/x86_64/multiarch/libc-test.c: Include <wchar.h>.
+ (find_wcscpy): New.
+ (find_wmemcmp): Likewise.
+ (__wcscpy_sse2): Likewise.
+ (__wcscpy_ssse3): Likewise.
+ (wcscpy_list): Likewise.
+ (__wmemcmp_sse2): Likewise.
+ (__wmemcmp_ssse3): Likewise.
+ (__wmemcmp_sse4_1): Likewise.
+ (wmemcmp_list): Likewise.
+ (__libc_func): Support wcscpy and wmemcmp.
+
+2012-09-21 H.J. Lu <hongjiu.lu@intel.com>
+
* string/test-memcmp.c (TEST_NAME): Defined to "wmemcmp" if
WIDE is defined.
* string/test-rawmemchr.c (TEST_NAME): New macro.
diff --git a/sysdeps/x86_64/multiarch/libc-test.c b/sysdeps/x86_64/multiarch/libc-test.c
index 6267e23..809bf76 100644
--- a/sysdeps/x86_64/multiarch/libc-test.c
+++ b/sysdeps/x86_64/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"
@@ -50,6 +51,8 @@
#define find_strrchr() NULL
#define find_strspn() NULL
#define find_strstr() NULL
+#define find_wcscpy() NULL
+#define find_wmemcmp() NULL
#ifndef NOT_IN_libc
@@ -521,6 +524,44 @@ find_strstr (void)
return strstr_list + (HAS_SSE4_2 ? 0 : 1);
}
+extern __typeof (wcscpy) __wcscpy_sse2;
+extern __typeof (wcscpy) __wcscpy_ssse3;
+
+static const struct libc_func_test wcscpy_list[] =
+{
+ LIBC_FUNC_INIT (__wcscpy_ssse3),
+ LIBC_FUNC_INIT (__wcscpy_sse2),
+ { NULL, NULL },
+};
+
+# undef find_wcscpy
+
+static const struct libc_func_test *
+find_wcscpy (void)
+{
+ return wcscpy_list + (HAS_SSSE3 ? 0 : 1);
+}
+
+extern __typeof (wmemcmp) __wmemcmp_sse2;
+extern __typeof (wmemcmp) __wmemcmp_ssse3;
+extern __typeof (wmemcmp) __wmemcmp_sse4_1;
+
+static const struct libc_func_test wmemcmp_list[] =
+{
+ LIBC_FUNC_INIT (__wmemcmp_sse4_1),
+ LIBC_FUNC_INIT (__wmemcmp_ssse3),
+ LIBC_FUNC_INIT (__wmemcmp_sse2),
+ { NULL, NULL },
+};
+
+# undef find_wmemcmp
+
+static const struct libc_func_test *
+find_wmemcmp (void)
+{
+ return wmemcmp_list + (HAS_SSE4_1 ? 0 : (HAS_SSSE3 ? 1 : 2));
+}
+
# ifdef SHARED
extern __typeof (memcmp) __memcmp_sse2;
extern __typeof (memcmp) __memcmp_ssse3;
@@ -738,5 +779,11 @@ __libc_func (const char *name)
if (strcmp (name, "strstr") == 0)
return find_strstr ();
+ if (strcmp (name, "wcscpy") == 0)
+ return find_wcscpy ();
+
+ if (strcmp (name, "wmemcmp") == 0)
+ return find_wmemcmp ();
+
return NULL;
}
-----------------------------------------------------------------------
Summary of changes:
ChangeLog.test-ifunc | 14 ++++++++++
sysdeps/x86_64/multiarch/libc-test.c | 47 ++++++++++++++++++++++++++++++++++
2 files changed, 61 insertions(+), 0 deletions(-)
hooks/post-receive
--
GNU C Library master sources