]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Use LP_OP(cmp) and RCX_LP on dep_mutex pointer
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 15 May 2012 17:20:15 +0000 (10:20 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 15 May 2012 17:20:15 +0000 (10:20 -0700)
nptl/ChangeLog
nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S

index 68bae39e74365558288110f430f29159af8d2f67..a7f93b5953179b8157812a23c624bd2ea1140fb6 100644 (file)
@@ -1,3 +1,8 @@
+2012-05-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: Use
+       LP_OP(cmp) and R8_LP on dep_mutex pointer.
+
 2012-05-15  H.J. Lu  <hongjiu.lu@intel.com>
 
        * sysdeps/unix/sysv/linux/x86_64/cancellation.S: Use LP_OP(mov)
index 0db3af1cc84225336be5ae207a1587f372d41c79..7b0eec10e0107957d445a6186da1525a688fc2c8 100644 (file)
@@ -59,14 +59,14 @@ __pthread_cond_broadcast:
        incl    broadcast_seq-cond_futex(%rdi)
 
        /* Get the address of the mutex used.  */
-       movq    dep_mutex-cond_futex(%rdi), %r8
+       mov     dep_mutex-cond_futex(%rdi), %R8_LP
 
        /* Unlock.  */
        LOCK
        decl    cond_lock-cond_futex(%rdi)
        jne     7f
 
-8:     cmpq    $-1, %r8
+8:     cmp     $-1, %R8_LP
        je      9f
 
        /* Do not use requeue for pshared condvars.  */
@@ -128,7 +128,7 @@ __pthread_cond_broadcast:
 #if cond_lock != 0
        addq    $cond_lock, %rdi
 #endif
-       cmpq    $-1, dep_mutex-cond_lock(%rdi)
+       LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
        movl    $LLL_PRIVATE, %eax
        movl    $LLL_SHARED, %esi
        cmovne  %eax, %esi
@@ -140,7 +140,7 @@ __pthread_cond_broadcast:
 
        /* Unlock in loop requires wakeup.  */
 5:     addq    $cond_lock-cond_futex, %rdi
-       cmpq    $-1, dep_mutex-cond_lock(%rdi)
+       LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
        movl    $LLL_PRIVATE, %eax
        movl    $LLL_SHARED, %esi
        cmovne  %eax, %esi
@@ -149,7 +149,7 @@ __pthread_cond_broadcast:
 
        /* Unlock in loop requires wakeup.  */
 7:     addq    $cond_lock-cond_futex, %rdi
-       cmpq    $-1, %r8
+       cmp     $-1, %R8_LP
        movl    $LLL_PRIVATE, %eax
        movl    $LLL_SHARED, %esi
        cmovne  %eax, %esi
@@ -158,7 +158,7 @@ __pthread_cond_broadcast:
        jmp     8b
 
 9:     /* The futex requeue functionality is not available.  */
-       cmpq    $-1, %r8
+       cmp     $-1, %R8_LP
        movl    $0x7fffffff, %edx
 #ifdef __ASSUME_PRIVATE_FUTEX
        movl    $FUTEX_WAKE, %eax