Define __arch_compare_and_exchange_bool_*_acq instead of
authordrepper <drepper>
Fri, 21 Mar 2003 07:43:14 +0000 (07:43 +0000)
committerdrepper <drepper>
Fri, 21 Mar 2003 07:43:14 +0000 (07:43 +0000)
__arch_compare_and_exchange_*_acq.

sysdeps/powerpc/bits/atomic.h
sysdeps/s390/bits/atomic.h

index 956272c..49f1c14 100644 (file)
@@ -46,10 +46,10 @@ typedef intmax_t atomic_max_t;
 typedef uintmax_t uatomic_max_t;
 
 
-#define __arch_compare_and_exchange_8_acq(mem, newval, oldval) \
+#define __arch_compare_and_exchange_bool_8_acq(mem, newval, oldval) \
   (abort (), 0)
 
-#define __arch_compare_and_exchange_16_acq(mem, newval, oldval) \
+#define __arch_compare_and_exchange_bool_16_acq(mem, newval, oldval) \
   (abort (), 0)
 
 #ifdef UP
@@ -69,41 +69,41 @@ typedef uintmax_t uatomic_max_t;
  * XXX this may not work properly on 64-bit if the register
  * containing oldval has the high half non-zero for some reason.
  */
-#define __arch_compare_and_exchange_32_acq(mem, newval, oldval)        \
-({                                                             \
-  unsigned int __tmp;                                          \
-  __asm __volatile (__ARCH_REL_INSTR "\n"                      \
-                   "1: lwarx   %0,0,%1\n"                      \
-                   "   subf.   %0,%2,%0\n"                     \
-                   "   bne     2f\n"                           \
-                   "   stwcx.  %3,0,%1\n"                      \
-                   "   bne-    1b\n"                           \
-                   "2: " __ARCH_ACQ_INSTR                      \
-                   : "=&r" (__tmp)                             \
-                   : "r" (mem), "r" (oldval), "r" (newval)     \
-                   : "cr0", "memory");                         \
-  __tmp != 0;                                                  \
+#define __arch_compare_and_exchange_bool_32_acq(mem, newval, oldval) \
+({                                                                           \
+  unsigned int __tmp;                                                        \
+  __asm __volatile (__ARCH_REL_INSTR "\n"                                    \
+                   "1: lwarx   %0,0,%1\n"                                    \
+                   "   subf.   %0,%2,%0\n"                                   \
+                   "   bne     2f\n"                                         \
+                   "   stwcx.  %3,0,%1\n"                                    \
+                   "   bne-    1b\n"                                         \
+                   "2: " __ARCH_ACQ_INSTR                                    \
+                   : "=&r" (__tmp)                                           \
+                   : "r" (mem), "r" (oldval), "r" (newval)                   \
+                   : "cr0", "memory");                                       \
+  __tmp != 0;                                                                \
 })
 
 #ifdef __powerpc64__
-# define __arch_compare_and_exchange_64_acq(mem, newval, oldval)\
-({                                                             \
-  unsigned long        __tmp;                                          \
-  __asm __volatile (__ARCH_REL_INSTR "\n"                      \
-                   "1: ldarx   %0,0,%1\n"                      \
-                   "   subf.   %0,%2,%0\n"                     \
-                   "   bne     2f\n"                           \
-                   "   stdcx.  %3,0,%1\n"                      \
-                   "   bne-    1b\n"                           \
-                   "2: " __ARCH_ACQ_INSTR                      \
-                   : "=&r" (__tmp)                             \
-                   : "r" (mem), "r" (oldval), "r" (newval)     \
-                   : "cr0", "memory");                         \
-  __tmp != 0;                                                  \
+# define __arch_compare_and_exchange_bool_64_acq(mem, newval, oldval) \
+({                                                                           \
+  unsigned long        __tmp;                                                        \
+  __asm __volatile (__ARCH_REL_INSTR "\n"                                    \
+                   "1: ldarx   %0,0,%1\n"                                    \
+                   "   subf.   %0,%2,%0\n"                                   \
+                   "   bne     2f\n"                                         \
+                   "   stdcx.  %3,0,%1\n"                                    \
+                   "   bne-    1b\n"                                         \
+                   "2: " __ARCH_ACQ_INSTR                                    \
+                   : "=&r" (__tmp)                                           \
+                   : "r" (mem), "r" (oldval), "r" (newval)                   \
+                   : "cr0", "memory");                                       \
+  __tmp != 0;                                                                \
 })
 
 #else /* powerpc32 */
-# define __arch_compare_and_exchange_64_acq(mem, newval, oldval) \
+# define __arch_compare_and_exchange_bool_64_acq(mem, newval, oldval) \
   (abort (), 0)
 #endif
 
index 375ae0d..74321b6 100644 (file)
@@ -45,13 +45,13 @@ typedef intmax_t atomic_max_t;
 typedef uintmax_t uatomic_max_t;
 
 
-#define __arch_compare_and_exchange_8_acq(mem, newval, oldval) \
+#define __arch_compare_and_exchange_bool_8_acq(mem, newval, oldval) \
   (abort (), 0)
 
-#define __arch_compare_and_exchange_16_acq(mem, newval, oldval) \
+#define __arch_compare_and_exchange_bool_16_acq(mem, newval, oldval) \
   (abort (), 0)
 
-#define __arch_compare_and_exchange_32_acq(mem, newval, oldval) \
+#define __arch_compare_and_exchange_bool_32_acq(mem, newval, oldval) \
   ({ unsigned int *__mem = (unsigned int *) (mem);                           \
      unsigned int __old = (unsigned int) (oldval);                           \
      unsigned int __cmp = __old;                                             \
@@ -61,7 +61,7 @@ typedef uintmax_t uatomic_max_t;
      __cmp != __old; })
 
 #ifdef __s390x__
-# define __arch_compare_and_exchange_64_acq(mem, newval, oldval) \
+# define __arch_compare_and_exchange_bool_64_acq(mem, newval, oldval) \
   ({ unsigned long int *__mem = (unsigned long int *) (mem);                 \
      unsigned long int __old = (unsigned long int) (oldval);                 \
      unsigned long int __cmp = __old;                                        \
@@ -73,6 +73,6 @@ typedef uintmax_t uatomic_max_t;
 /* For 31 bit we do not really need 64-bit compare-and-exchange. We can
    implement them by use of the csd instruction. The straightforward
    implementation causes warnings so we skip the definition for now.  */
-# define __arch_compare_and_exchange_64_acq(mem, newval, oldval) \
+# define __arch_compare_and_exchange_bool_64_acq(mem, newval, oldval) \
   (abort (), 0)
 #endif