Add missing cleanups from SSE4.2 x86-64 strlen.
authorUlrich Drepper <drepper@redhat.com>
Fri, 5 Jun 2009 18:39:45 +0000 (11:39 -0700)
committerUlrich Drepper <drepper@redhat.com>
Fri, 5 Jun 2009 18:39:45 +0000 (11:39 -0700)
sysdeps/x86_64/multiarch/strlen.S

index bf889c1..3f03b69 100644 (file)
@@ -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