aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/x86_64/strlen.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2010-08-26 22:12:16 -0700
committerUlrich Drepper <drepper@redhat.com>2010-08-26 22:12:16 -0700
commit107b2fa56c15572ae56fb4ed18b50b58aff39b7f (patch)
tree27a775ef82b208361ef973e4aa8fa80799f75e8b /sysdeps/x86_64/strlen.S
parent623aac7f84dfddee9bcf9d51f23612479cf672ec (diff)
downloadglibc-107b2fa56c15572ae56fb4ed18b50b58aff39b7f.tar
glibc-107b2fa56c15572ae56fb4ed18b50b58aff39b7f.tar.gz
glibc-107b2fa56c15572ae56fb4ed18b50b58aff39b7f.tar.bz2
glibc-107b2fa56c15572ae56fb4ed18b50b58aff39b7f.zip
Shorten x86-64 strlen a bit.
Diffstat (limited to 'sysdeps/x86_64/strlen.S')
-rw-r--r--sysdeps/x86_64/strlen.S10
1 files changed, 3 insertions, 7 deletions
diff --git a/sysdeps/x86_64/strlen.S b/sysdeps/x86_64/strlen.S
index 7880c1d5e5..ee943775e6 100644
--- a/sysdeps/x86_64/strlen.S
+++ b/sysdeps/x86_64/strlen.S
@@ -1,7 +1,6 @@
/* strlen(str) -- determine the length of the string STR.
Copyright (C) 2009, 2010 Free Software Foundation, Inc.
Contributed by Ulrich Drepper <drepper@redhat.com>.
- Modified by Intel Corporation.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -85,22 +84,19 @@ L(exit_less16):
L(exit16):
sub %rdi, %rax
bsf %rdx, %rdx
- add %rdx, %rax
- add $16, %rax
+ lea 16(%rdx), %rax
ret
.p2align 4
L(exit32):
sub %rdi, %rax
bsf %rdx, %rdx
- add %rdx, %rax
- add $32, %rax
+ lea 32(%rdx), %rax
ret
.p2align 4
L(exit48):
sub %rdi, %rax
bsf %rdx, %rdx
- add %rdx, %rax
- add $48, %rax
+ lea 48(%rdx), %rax
ret
END(strlen)
libc_hidden_builtin_def (strlen)