This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch hjl/wcsrchr/sse2 updated. glibc-2.25-376-g9acbcfd
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 26 May 2017 13:10:00 -0000
- Subject: GNU C Library master sources branch hjl/wcsrchr/sse2 updated. glibc-2.25-376-g9acbcfd
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 9acbcfd570a3e4b09d79de4c3cf95d6a0c392385 (commit)
from 2a96f1f4456d4efaa1757e664cef4effa716b131 (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=9acbcfd570a3e4b09d79de4c3cf95d6a0c392385
commit 9acbcfd570a3e4b09d79de4c3cf95d6a0c392385
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri May 26 06:09:41 2017 -0700
Remove REX bytes from wcsrchr-old.S
diff --git a/sysdeps/x86_64/multiarch/wcsrchr-old-2.S b/sysdeps/x86_64/multiarch/wcsrchr-old-2.S
index 52a2b6e..d60e769 100644
--- a/sysdeps/x86_64/multiarch/wcsrchr-old-2.S
+++ b/sysdeps/x86_64/multiarch/wcsrchr-old-2.S
@@ -22,26 +22,26 @@
.text
ENTRY (__wcsrchr_old_2)
- movd %rsi, %xmm1
- mov %rdi, %rcx
+ movd %esi, %xmm1
+ mov %edi, %ecx
punpckldq %xmm1, %xmm1
pxor %xmm2, %xmm2
punpckldq %xmm1, %xmm1
- and $63, %rcx
- cmp $48, %rcx
+ and $63, %ecx
+ cmp $48, %ecx
ja L(crosscache)
movdqu (%rdi), %xmm0
pcmpeqd %xmm0, %xmm2
pcmpeqd %xmm1, %xmm0
- pmovmskb %xmm2, %rcx
- pmovmskb %xmm0, %rax
+ pmovmskb %xmm2, %ecx
+ pmovmskb %xmm0, %eax
add $16, %rdi
- test %rax, %rax
+ test %eax, %eax
jnz L(unaligned_match1)
- test %rcx, %rcx
+ test %ecx, %ecx
jnz L(return_null)
and $-16, %rdi
@@ -50,7 +50,7 @@ ENTRY (__wcsrchr_old_2)
.p2align 4
L(unaligned_match1):
- test %rcx, %rcx
+ test %ecx, %ecx
jnz L(prolog_find_zero_1)
mov %rax, %r8
@@ -60,22 +60,22 @@ L(unaligned_match1):
.p2align 4
L(crosscache):
- and $15, %rcx
+ and $15, %ecx
and $-16, %rdi
pxor %xmm3, %xmm3
movdqa (%rdi), %xmm0
pcmpeqd %xmm0, %xmm3
pcmpeqd %xmm1, %xmm0
- pmovmskb %xmm3, %rdx
- pmovmskb %xmm0, %rax
- shr %cl, %rdx
- shr %cl, %rax
+ pmovmskb %xmm3, %edx
+ pmovmskb %xmm0, %eax
+ shr %cl, %edx
+ shr %cl, %eax
add $16, %rdi
- test %rax, %rax
+ test %eax, %eax
jnz L(unaligned_match)
- test %rdx, %rdx
+ test %edx, %edx
jnz L(return_null)
xor %r8, %r8
@@ -83,7 +83,7 @@ L(crosscache):
.p2align 4
L(unaligned_match):
- test %rdx, %rdx
+ test %edx, %edx
jnz L(prolog_find_zero)
mov %rax, %r8
@@ -96,41 +96,41 @@ L(loop):
pcmpeqd %xmm0, %xmm2
add $16, %rdi
pcmpeqd %xmm1, %xmm0
- pmovmskb %xmm2, %rcx
- pmovmskb %xmm0, %rax
- or %rax, %rcx
+ pmovmskb %xmm2, %ecx
+ pmovmskb %xmm0, %eax
+ or %eax, %ecx
jnz L(matches)
movdqa (%rdi), %xmm3
pcmpeqd %xmm3, %xmm2
add $16, %rdi
pcmpeqd %xmm1, %xmm3
- pmovmskb %xmm2, %rcx
- pmovmskb %xmm3, %rax
- or %rax, %rcx
+ pmovmskb %xmm2, %ecx
+ pmovmskb %xmm3, %eax
+ or %eax, %ecx
jnz L(matches)
movdqa (%rdi), %xmm4
pcmpeqd %xmm4, %xmm2
add $16, %rdi
pcmpeqd %xmm1, %xmm4
- pmovmskb %xmm2, %rcx
- pmovmskb %xmm4, %rax
- or %rax, %rcx
+ pmovmskb %xmm2, %ecx
+ pmovmskb %xmm4, %eax
+ or %eax, %ecx
jnz L(matches)
movdqa (%rdi), %xmm5
pcmpeqd %xmm5, %xmm2
add $16, %rdi
pcmpeqd %xmm1, %xmm5
- pmovmskb %xmm2, %rcx
- pmovmskb %xmm5, %rax
- or %rax, %rcx
+ pmovmskb %xmm2, %ecx
+ pmovmskb %xmm5, %eax
+ or %eax, %ecx
jz L(loop)
.p2align 4
L(matches):
- test %rax, %rax
+ test %eax, %eax
jnz L(match)
L(return_value):
test %r8, %r8
@@ -145,8 +145,8 @@ L(return_value):
.p2align 4
L(match):
- pmovmskb %xmm2, %rcx
- test %rcx, %rcx
+ pmovmskb %xmm2, %ecx
+ test %ecx, %ecx
jnz L(find_zero)
mov %rax, %r8
mov %rdi, %rsi
@@ -161,7 +161,7 @@ L(find_zero):
test $15, %ch
jnz L(find_zero_in_third_wchar)
- and $1 << 13 - 1, %rax
+ and $1 << 13 - 1, %eax
jz L(return_value)
andl $0x11111111, %eax
@@ -171,14 +171,14 @@ L(find_zero):
.p2align 4
L(find_zero_in_first_wchar):
- test $1, %rax
+ test $1, %eax
jz L(return_value)
lea -16(%rdi), %rax
ret
.p2align 4
L(find_zero_in_second_wchar):
- and $1 << 5 - 1, %rax
+ and $1 << 5 - 1, %eax
jz L(return_value)
test $15 << 4, %al
@@ -188,7 +188,7 @@ L(find_zero_in_second_wchar):
.p2align 4
L(find_zero_in_third_wchar):
- and $1 << 9 - 1, %rax
+ and $1 << 9 - 1, %eax
jz L(return_value)
test %ah, %ah
@@ -201,7 +201,7 @@ L(find_zero_in_third_wchar):
.p2align 4
L(prolog_find_zero):
add %rcx, %rdi
- mov %rdx, %rcx
+ mov %edx, %ecx
L(prolog_find_zero_1):
test $15, %cl
jnz L(prolog_find_zero_in_first_wchar)
@@ -210,7 +210,7 @@ L(prolog_find_zero_1):
test $15, %ch
jnz L(prolog_find_zero_in_third_wchar)
- and $1 << 13 - 1, %rax
+ and $1 << 13 - 1, %eax
jz L(return_null)
andl $0x11111111, %eax
@@ -220,14 +220,14 @@ L(prolog_find_zero_1):
.p2align 4
L(prolog_find_zero_in_first_wchar):
- test $1, %rax
+ test $1, %eax
jz L(return_null)
lea -16(%rdi), %rax
ret
.p2align 4
L(prolog_find_zero_in_second_wchar):
- and $1 << 5 - 1, %rax
+ and $1 << 5 - 1, %eax
jz L(return_null)
test $15 << 4, %al
@@ -237,7 +237,7 @@ L(prolog_find_zero_in_second_wchar):
.p2align 4
L(prolog_find_zero_in_third_wchar):
- and $1 << 9 - 1, %rax
+ and $1 << 9 - 1, %eax
jz L(return_null)
test %ah, %ah
@@ -259,7 +259,7 @@ L(match_third_wchar):
.p2align 4
L(return_null):
- xor %rax, %rax
+ xor %eax, %eax
ret
END (__wcsrchr_old_2)
diff --git a/sysdeps/x86_64/multiarch/wcsrchr-old.S b/sysdeps/x86_64/multiarch/wcsrchr-old.S
index e61fff1..896469b 100644
--- a/sysdeps/x86_64/multiarch/wcsrchr-old.S
+++ b/sysdeps/x86_64/multiarch/wcsrchr-old.S
@@ -22,26 +22,26 @@
.text
ENTRY (__wcsrchr_old)
- movd %rsi, %xmm1
- mov %rdi, %rcx
+ movd %esi, %xmm1
+ mov %edi, %ecx
punpckldq %xmm1, %xmm1
pxor %xmm2, %xmm2
punpckldq %xmm1, %xmm1
- and $63, %rcx
- cmp $48, %rcx
+ and $63, %ecx
+ cmp $48, %ecx
ja L(crosscache)
movdqu (%rdi), %xmm0
pcmpeqd %xmm0, %xmm2
pcmpeqd %xmm1, %xmm0
- pmovmskb %xmm2, %rcx
- pmovmskb %xmm0, %rax
+ pmovmskb %xmm2, %ecx
+ pmovmskb %xmm0, %eax
add $16, %rdi
- test %rax, %rax
+ test %eax, %eax
jnz L(unaligned_match1)
- test %rcx, %rcx
+ test %ecx, %ecx
jnz L(return_null)
and $-16, %rdi
@@ -50,7 +50,7 @@ ENTRY (__wcsrchr_old)
.p2align 4
L(unaligned_match1):
- test %rcx, %rcx
+ test %ecx, %ecx
jnz L(prolog_find_zero_1)
mov %rax, %r8
@@ -60,22 +60,22 @@ L(unaligned_match1):
.p2align 4
L(crosscache):
- and $15, %rcx
+ and $15, %ecx
and $-16, %rdi
pxor %xmm3, %xmm3
movdqa (%rdi), %xmm0
pcmpeqd %xmm0, %xmm3
pcmpeqd %xmm1, %xmm0
- pmovmskb %xmm3, %rdx
- pmovmskb %xmm0, %rax
- shr %cl, %rdx
- shr %cl, %rax
+ pmovmskb %xmm3, %edx
+ pmovmskb %xmm0, %eax
+ shr %cl, %edx
+ shr %cl, %eax
add $16, %rdi
- test %rax, %rax
+ test %eax, %eax
jnz L(unaligned_match)
- test %rdx, %rdx
+ test %edx, %edx
jnz L(return_null)
xor %r8, %r8
@@ -83,7 +83,7 @@ L(crosscache):
.p2align 4
L(unaligned_match):
- test %rdx, %rdx
+ test %edx, %edx
jnz L(prolog_find_zero)
mov %rax, %r8
@@ -96,41 +96,41 @@ L(loop):
pcmpeqd %xmm0, %xmm2
add $16, %rdi
pcmpeqd %xmm1, %xmm0
- pmovmskb %xmm2, %rcx
- pmovmskb %xmm0, %rax
- or %rax, %rcx
+ pmovmskb %xmm2, %ecx
+ pmovmskb %xmm0, %eax
+ or %eax, %ecx
jnz L(matches)
movdqa (%rdi), %xmm3
pcmpeqd %xmm3, %xmm2
add $16, %rdi
pcmpeqd %xmm1, %xmm3
- pmovmskb %xmm2, %rcx
- pmovmskb %xmm3, %rax
- or %rax, %rcx
+ pmovmskb %xmm2, %ecx
+ pmovmskb %xmm3, %eax
+ or %eax, %ecx
jnz L(matches)
movdqa (%rdi), %xmm4
pcmpeqd %xmm4, %xmm2
add $16, %rdi
pcmpeqd %xmm1, %xmm4
- pmovmskb %xmm2, %rcx
- pmovmskb %xmm4, %rax
- or %rax, %rcx
+ pmovmskb %xmm2, %ecx
+ pmovmskb %xmm4, %eax
+ or %eax, %ecx
jnz L(matches)
movdqa (%rdi), %xmm5
pcmpeqd %xmm5, %xmm2
add $16, %rdi
pcmpeqd %xmm1, %xmm5
- pmovmskb %xmm2, %rcx
- pmovmskb %xmm5, %rax
- or %rax, %rcx
+ pmovmskb %xmm2, %ecx
+ pmovmskb %xmm5, %eax
+ or %eax, %ecx
jz L(loop)
.p2align 4
L(matches):
- test %rax, %rax
+ test %eax, %eax
jnz L(match)
L(return_value):
test %r8, %r8
@@ -149,8 +149,8 @@ L(return_value):
.p2align 4
L(match):
- pmovmskb %xmm2, %rcx
- test %rcx, %rcx
+ pmovmskb %xmm2, %ecx
+ test %ecx, %ecx
jnz L(find_zero)
mov %rax, %r8
mov %rdi, %rsi
@@ -165,7 +165,7 @@ L(find_zero):
test $15, %ch
jnz L(find_zero_in_third_wchar)
- and $1 << 13 - 1, %rax
+ and $1 << 13 - 1, %eax
jz L(return_value)
test $15 << 4, %ah
@@ -179,14 +179,14 @@ L(find_zero):
.p2align 4
L(find_zero_in_first_wchar):
- test $1, %rax
+ test $1, %eax
jz L(return_value)
lea -16(%rdi), %rax
ret
.p2align 4
L(find_zero_in_second_wchar):
- and $1 << 5 - 1, %rax
+ and $1 << 5 - 1, %eax
jz L(return_value)
test $15 << 4, %al
@@ -196,7 +196,7 @@ L(find_zero_in_second_wchar):
.p2align 4
L(find_zero_in_third_wchar):
- and $1 << 9 - 1, %rax
+ and $1 << 9 - 1, %eax
jz L(return_value)
test %ah, %ah
@@ -209,7 +209,7 @@ L(find_zero_in_third_wchar):
.p2align 4
L(prolog_find_zero):
add %rcx, %rdi
- mov %rdx, %rcx
+ mov %edx, %ecx
L(prolog_find_zero_1):
test $15, %cl
jnz L(prolog_find_zero_in_first_wchar)
@@ -218,7 +218,7 @@ L(prolog_find_zero_1):
test $15, %ch
jnz L(prolog_find_zero_in_third_wchar)
- and $1 << 13 - 1, %rax
+ and $1 << 13 - 1, %eax
jz L(return_null)
test $15 << 4, %ah
@@ -232,14 +232,14 @@ L(prolog_find_zero_1):
.p2align 4
L(prolog_find_zero_in_first_wchar):
- test $1, %rax
+ test $1, %eax
jz L(return_null)
lea -16(%rdi), %rax
ret
.p2align 4
L(prolog_find_zero_in_second_wchar):
- and $1 << 5 - 1, %rax
+ and $1 << 5 - 1, %eax
jz L(return_null)
test $15 << 4, %al
@@ -249,7 +249,7 @@ L(prolog_find_zero_in_second_wchar):
.p2align 4
L(prolog_find_zero_in_third_wchar):
- and $1 << 9 - 1, %rax
+ and $1 << 9 - 1, %eax
jz L(return_null)
test %ah, %ah
@@ -276,7 +276,7 @@ L(match_fourth_wchar):
.p2align 4
L(return_null):
- xor %rax, %rax
+ xor %eax, %eax
ret
END (__wcsrchr_old)
-----------------------------------------------------------------------
Summary of changes:
sysdeps/x86_64/multiarch/wcsrchr-old-2.S | 84 +++++++++++++++---------------
sysdeps/x86_64/multiarch/wcsrchr-old.S | 84 +++++++++++++++---------------
2 files changed, 84 insertions(+), 84 deletions(-)
hooks/post-receive
--
GNU C Library master sources