about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-05-26 21:47:28 +0000
committerUlrich Drepper <drepper@redhat.com>2007-05-26 21:47:28 +0000
commita2dd3360dbbd183b289d356b0ebb3bafc921bb83 (patch)
treee9eb7127c3ed7a248852062c100446a827a14d8d
parent6df7ffad195864a5c28d9d24093866e919ef0494 (diff)
downloadglibc-a2dd3360dbbd183b289d356b0ebb3bafc921bb83.tar.gz
glibc-a2dd3360dbbd183b289d356b0ebb3bafc921bb83.tar.xz
glibc-a2dd3360dbbd183b289d356b0ebb3bafc921bb83.zip
* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S (sem_trywait): Tiny
	optimization.
-rw-r--r--nptl/ChangeLog3
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/sem_trywait.S4
2 files changed, 5 insertions, 2 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 0cd8193452..2ac2c44078 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,5 +1,8 @@
 2007-05-26  Ulrich Drepper  <drepper@redhat.com>
 
+	* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S (sem_trywait): Tiny
+	optimization.
+
 	* sysdeps/unix/sysv/linux/sem_wait.c: Add missing break.
 	* sysdeps/unix/sysv/linux/sem_timedwait.c: Removed left-over
 	duplication of __sem_wait_cleanup.
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/sem_trywait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/sem_trywait.S
index 6b77dfc0d8..643090f065 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/sem_trywait.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/sem_trywait.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -37,7 +37,7 @@ sem_trywait:
 2:	testl	%eax, %eax
 	jz	1f
 
-	leaq	-1(%rax), %rdx
+	leal	-1(%rax), %edx
 	LOCK
 	cmpxchgl %edx, (%rdi)
 	jne	2b