aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2009-06-05 11:39:45 -0700
committerUlrich Drepper <drepper@redhat.com>2009-06-05 11:39:45 -0700
commitf85a9e72e21c3fc79dbad53c170251a16d1760ab (patch)
treee4da47628fa94789cd4aa19ce272c218dc78edaa /sysdeps
parent3ab2d57a4d00046f1c472abd128517e93e20e485 (diff)
downloadglibc-f85a9e72e21c3fc79dbad53c170251a16d1760ab.tar
glibc-f85a9e72e21c3fc79dbad53c170251a16d1760ab.tar.gz
glibc-f85a9e72e21c3fc79dbad53c170251a16d1760ab.tar.bz2
glibc-f85a9e72e21c3fc79dbad53c170251a16d1760ab.zip
Add missing cleanups from SSE4.2 x86-64 strlen.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/x86_64/multiarch/strlen.S7
1 files changed, 4 insertions, 3 deletions
diff --git a/sysdeps/x86_64/multiarch/strlen.S b/sysdeps/x86_64/multiarch/strlen.S
index bf889c1ab6..3f03b6930c 100644
--- a/sysdeps/x86_64/multiarch/strlen.S
+++ b/sysdeps/x86_64/multiarch/strlen.S
@@ -40,6 +40,7 @@ ENTRY(strlen)
END(strlen)
+ .align 16
.type __strlen_sse42, @function
__strlen_sse42:
pxor %xmm2, %xmm2
@@ -63,9 +64,9 @@ __strlen_sse42:
subq %r8, %rax
ret
-1: bsfl %edx, %eax
- leaq (%rdi,%rax), %rax
- subq %r8, %rax
+1: subq %r8, %rdi
+ bsfl %edx, %eax
+ addq %rdi, %rax
ret
.size __strlen_sse42, .-__strlen_sse42