1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-10-31 22:10:34 +03:00

Pretty printing x86-64 SSE4.3 strcmp.

This commit is contained in:
Ulrich Drepper
2010-07-30 12:54:37 -07:00
parent 42e08a5438
commit 66f6765a47
2 changed files with 31 additions and 29 deletions

View File

@@ -1,5 +1,7 @@
2010-07-30 Ulrich Drepper <drepper@redhat.com>
* sysdeps/x86_64/multiarch/strcmp.S: Pretty printing.
* string/Makefile (strop-tests): Add strcasecmp.
* sysdeps/x86_64/Makefile [subdir=string] (sysdep_routines): Add
strcasecmp_l-nonascii.

View File

@@ -1,5 +1,5 @@
/* strcmp with SSE4.2
Copyright (C) 2009 Free Software Foundation, Inc.
Copyright (C) 2009, 2010 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -24,7 +24,7 @@
#ifdef USE_AS_STRNCMP
/* Since the counter, %r11, is unsigned, we branch to strcmp_exitz
if the new counter > the old one or is 0. */
#define UPDATE_STRNCMP_COUNTER \
# define UPDATE_STRNCMP_COUNTER \
/* calculate left number to compare */ \
lea -16(%rcx, %r11), %r9; \
cmp %r9, %r11; \
@@ -33,23 +33,23 @@
je LABEL(strcmp_exitz_sse4_2); \
mov %r9, %r11
#define STRCMP_SSE42 __strncmp_sse42
#define STRCMP_SSSE3 __strncmp_ssse3
#define STRCMP_SSE2 __strncmp_sse2
#define __GI_STRCMP __GI_strncmp
# define STRCMP_SSE42 __strncmp_sse42
# define STRCMP_SSSE3 __strncmp_ssse3
# define STRCMP_SSE2 __strncmp_sse2
# define __GI_STRCMP __GI_strncmp
#else
#define UPDATE_STRNCMP_COUNTER
#ifndef STRCMP
#define STRCMP strcmp
#define STRCMP_SSE42 __strcmp_sse42
#define STRCMP_SSSE3 __strcmp_ssse3
#define STRCMP_SSE2 __strcmp_sse2
#define __GI_STRCMP __GI_strcmp
#endif
# define UPDATE_STRNCMP_COUNTER
# ifndef STRCMP
# define STRCMP strcmp
# define STRCMP_SSE42 __strcmp_sse42
# define STRCMP_SSSE3 __strcmp_ssse3
# define STRCMP_SSE2 __strcmp_sse2
# define __GI_STRCMP __GI_strcmp
# endif
#endif
#ifndef LABEL
#define LABEL(l) L(l)
# define LABEL(l) L(l)
#endif
/* Define multiple versions only for the definition in libc. Don't