about summary refs log tree commit diff
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.gz
glibc-107b2fa56c15572ae56fb4ed18b50b58aff39b7f.tar.xz
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)