Fix a few unused definitions.
authorUlrich Drepper <drepper@redhat.com>
Fri, 7 Mar 2003 18:34:43 +0000 (18:34 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 7 Mar 2003 18:34:43 +0000 (18:34 +0000)
nptl/sysdeps/i386/i486/bits/atomic.h

index 5d27326..80a4987 100644 (file)
@@ -121,26 +121,35 @@ typedef uintmax_t uatomic_max_t;
 
 #define atomic_exchange_and_add(mem, value) \
   ({ __typeof (*mem) result;                                                 \
+     __typeof (value) addval = (value);                                              \
      if (sizeof (*mem) == 1)                                                 \
-       __asm __volatile (LOCK "xaddb %b0, %1"                                \
-                        : "=r" (result), "=m" (*mem)                         \
-                        : "0" (value), "1" (*mem));                          \
+       {                                                                     \
+        __asm __volatile (LOCK "xaddb %b0, %1"                               \
+                          : "=r" (result), "=m" (*mem)                       \
+                          : "0" (addval), "1" (*mem));                       \
+        result += addval;                                                    \
+       }                                                                     \
      else if (sizeof (*mem) == 2)                                            \
-       __asm __volatile (LOCK "xaddw %w0, %1"                                \
-                        : "=r" (result), "=m" (*mem)                         \
-                        : "0" (value), "1" (*mem));                          \
+       {                                                                     \
+        __asm __volatile (LOCK "xaddw %w0, %1"                               \
+                          : "=r" (result), "=m" (*mem)                       \
+                          : "0" (addval), "1" (*mem));                       \
+        result += addval;                                                    \
+       }                                                                     \
      else if (sizeof (*mem) == 4)                                            \
-       __asm __volatile (LOCK "xaddl %0, %1"                                 \
-                        : "=r" (result), "=m" (*mem)                         \
-                        : "0" (value), "1" (*mem));                          \
+       {                                                                     \
+        __asm __volatile (LOCK "xaddl %0, %1"                                \
+                          : "=r" (result), "=m" (*mem)                       \
+                          : "0" (addval), "1" (*mem));                       \
+        result += addval;                                                    \
+       }                                                                     \
      else                                                                    \
        {                                                                     \
-        __typeof (value) addval = (value);                                   \
         __typeof (*mem) oldval;                                              \
         __typeof (mem) memp = (mem);                                         \
         do                                                                   \
           result = (oldval = *memp) + addval;                                \
-        while (! __arch_compare_and_exchange_64_acq (memp, result, oldval)); \
+        while (__arch_compare_and_exchange_64_acq (memp, result, oldval));   \
        }                                                                     \
      result; })
 
@@ -169,9 +178,9 @@ typedef uintmax_t uatomic_max_t;
                __typeof (mem) memp = (mem);                                  \
                do                                                            \
                  oldval = *memp;                                             \
-               while (! __arch_compare_and_exchange_64_acq (memp,            \
-                                                            oldval + addval, \
-                                                            oldval));        \
+               while (__arch_compare_and_exchange_64_acq (memp,              \
+                                                          oldval + addval,   \
+                                                          oldval));          \
              }                                                               \
            })
 
@@ -233,9 +242,8 @@ typedef uintmax_t uatomic_max_t;
                __typeof (mem) memp = (mem);                                  \
                do                                                            \
                  oldval = *memp;                                             \
-               while (! __arch_compare_and_exchange_64_acq (memp,            \
-                                                            oldval + 1,      \
-                                                            oldval));        \
+               while (__arch_compare_and_exchange_64_acq (memp, oldval + 1,  \
+                                                          oldval));          \
              }                                                               \
            })
 
@@ -278,9 +286,8 @@ typedef uintmax_t uatomic_max_t;
                __typeof (mem) memp = (mem);                                  \
                do                                                            \
                  oldval = *memp;                                             \
-               while (! __arch_compare_and_exchange_64_acq (memp,            \
-                                                            oldval - 1,      \
-                                                            oldval));        \
+               while (__arch_compare_and_exchange_64_acq (memp, oldval - 1,  \
+                                                          oldval));          \
              }                                                               \
            })