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/wcsrchr/sse2 updated. glibc-2.25-378-g8d90326


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/wcsrchr/sse2 has been updated
       via  8d9032687a8943f494dec5421ba746f4ffc321e9 (commit)
      from  0053a98eb7a7e25eaa230acbda01840b2762143b (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=8d9032687a8943f494dec5421ba746f4ffc321e9

commit 8d9032687a8943f494dec5421ba746f4ffc321e9
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri May 26 06:50:44 2017 -0700

    bad wcsrchr-old-2.S

diff --git a/sysdeps/x86_64/multiarch/wcsrchr-old-2.S b/sysdeps/x86_64/multiarch/wcsrchr-old-2.S
index 8f42d4f..33f7c56 100644
--- a/sysdeps/x86_64/multiarch/wcsrchr-old-2.S
+++ b/sysdeps/x86_64/multiarch/wcsrchr-old-2.S
@@ -138,8 +138,8 @@ L(return_value):
 	mov	%r8d, %eax
 	mov	%rsi, %rdi
 
-	andl	$0x11111111, %eax
-	bsrl	%eax, %eax
+	and	$0x11111111, %eax
+	bsr	%eax, %eax
 	lea	-16(%rdi, %rax), %rax
 	ret
 
@@ -164,8 +164,8 @@ L(find_zero):
 	and	$1 << 13 - 1, %eax
 	jz	L(return_value)
 
-	andl	$0x11111111, %eax
-	bsrl	%eax, %eax
+	and	$0x11111111, %eax
+	bsr	%eax, %eax
 	lea	-16(%rdi, %rax), %rax
 	ret
 
@@ -203,18 +203,12 @@ L(prolog_find_zero):
 	add	%rcx, %rdi
 	mov     %edx, %ecx
 L(prolog_find_zero_1):
-	test	$15, %cl
-	jnz	L(prolog_find_zero_in_first_wchar)
-	test	%cl, %cl
-	jnz	L(prolog_find_zero_in_second_wchar)
-	test	$15, %ch
-	jnz	L(prolog_find_zero_in_third_wchar)
-
-	and	$1 << 13 - 1, %eax
-	jz	L(return_null)
-
-	andl	$0x11111111, %eax
-	bsrl	%eax, %eax
+	and	$0x11111111, %ecx
+	and	$0x11111111, %eax
+	bsf	%ecx, %ecx
+	bsr	%eax, %eax
+	cmp	%eax, %ecx
+	jl	L(return_null)
 	lea	-16(%rdi, %rax), %rax
 	ret
 

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

Summary of changes:
 sysdeps/x86_64/multiarch/wcsrchr-old-2.S |   26 ++++++++++----------------
 1 files changed, 10 insertions(+), 16 deletions(-)


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]