aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorBenjamin Kosnik <bkoz@redhat.com>2000-05-02 06:45:21 +0000
committerBenjamin Kosnik <bkoz@gcc.gnu.org>2000-05-02 06:45:21 +0000
commite704c6bf3717a657cc4d6ec2c287fd7eab13491a (patch)
treedf3e9aeb07d144a32b0fb4ec7b4ff53391ed4e27 /libstdc++-v3
parent15ac7707bc7b4f9b04e995c9f304518932e85649 (diff)
downloadgcc-e704c6bf3717a657cc4d6ec2c287fd7eab13491a.zip
gcc-e704c6bf3717a657cc4d6ec2c287fd7eab13491a.tar.gz
gcc-e704c6bf3717a657cc4d6ec2c287fd7eab13491a.tar.bz2
atomicity.h (__exchange_and_add): More fixes.
2000-05-01 Benjamin Kosnik <bkoz@redhat.com> * config/cpu/powerpc/bits/atomicity.h (__exchange_and_add): More fixes. From-SVN: r33606
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/config/cpu/powerpc/bits/atomicity.h26
2 files changed, 17 insertions, 14 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 22a8c93..603fdf2 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2000-05-01 Benjamin Kosnik <bkoz@redhat.com>
+
+ * config/cpu/powerpc/bits/atomicity.h (__exchange_and_add): More
+ fixes.
+
2000-05-01 Vadim Egorov <egorovv@@mailandnews.com>
* bits/char_traits.h: Fix parameter types.
diff --git a/libstdc++-v3/config/cpu/powerpc/bits/atomicity.h b/libstdc++-v3/config/cpu/powerpc/bits/atomicity.h
index 7e7c176..0d93815 100644
--- a/libstdc++-v3/config/cpu/powerpc/bits/atomicity.h
+++ b/libstdc++-v3/config/cpu/powerpc/bits/atomicity.h
@@ -32,14 +32,14 @@ static __ATOMICITY_INLINE _Atomic_word
__attribute__ ((unused))
__exchange_and_add (volatile _Atomic_word* __mem, int __val)
{
- _Atomic_word __tmp, __result;
+ _Atomic_word __tmp, __res;
__asm__ ("\
0: lwarx %0,0,%2
add%I3 %1,%0,%3
stwcx. %1,0,%2
bne- 0b
-" : "=&b"(__result), "=&r"(__tmp) : "r" (__mem), "Ir"(__val) : "cr0", "memory");
- return __result;
+" : "=&b"(__res), "=&r"(__tmp) : "r" (__mem), "Ir"(__val) : "cr0", "memory");
+ return __res;
}
static __ATOMICITY_INLINE void
@@ -59,7 +59,7 @@ static __ATOMICITY_INLINE int
__attribute__ ((unused))
__compare_and_swap (volatile long *__p, long int __oldval, long int __newval)
{
- int __result;
+ int __res;
__asm__ ("\
0: lwarx %0,0,%1
sub%I2c. %0,%0,%2
@@ -68,30 +68,28 @@ __compare_and_swap (volatile long *__p, long int __oldval, long int __newval)
stwcx. %3,0,%1
bne- 0b
1:
-" : "=&b"(__result)
- : "r"(__p), "Ir"(__oldval), "r"(__newval)
- : "cr0", "memory");
- return __result >> 5;
+" : "=&b"(__res) : "r"(__p), "Ir"(__oldval), "r"(__newval) : "cr0", "memory");
+ return __res >> 5;
}
static __ATOMICITY_INLINE long
__attribute__ ((unused))
__always_swap (volatile long *__p, long int __newval)
{
- long __result;
+ long __res;
__asm__ ("\
0: lwarx %0,0,%1
stwcx. %2,0,%1
bne- 0b
-" : "=&r"(__result) : "r"(__p), "r"(__newval) : "cr0", "memory");
- return __result;
+" : "=&r"(__res) : "r"(__p), "r"(__newval) : "cr0", "memory");
+ return __res;
}
static __ATOMICITY_INLINE int
__attribute__ ((unused))
__test_and_set (volatile long *__p, long int __newval)
{
- int __result;
+ int __res;
__asm__ ("\
0: lwarx %0,0,%1
cmpwi %0,0
@@ -99,8 +97,8 @@ __test_and_set (volatile long *__p, long int __newval)
stwcx. %2,0,%1
bne- 0b
1:
-" : "=&r"(__result) : "r"(__p), "r"(__newval) : "cr0", "memory");
- return __result;
+" : "=&r"(__res) : "r"(__p), "r"(__newval) : "cr0", "memory");
+ return __res;
}
#endif /* atomicity.h */