diff options
author | Benjamin Kosnik <bkoz@redhat.com> | 2000-05-02 06:45:21 +0000 |
---|---|---|
committer | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2000-05-02 06:45:21 +0000 |
commit | e704c6bf3717a657cc4d6ec2c287fd7eab13491a (patch) | |
tree | df3e9aeb07d144a32b0fb4ec7b4ff53391ed4e27 /libstdc++-v3 | |
parent | 15ac7707bc7b4f9b04e995c9f304518932e85649 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | libstdc++-v3/config/cpu/powerpc/bits/atomicity.h | 26 |
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 */ |