aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/config/cpu/i486/atomicity.h
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/config/cpu/i486/atomicity.h')
-rw-r--r--libstdc++-v3/config/cpu/i486/atomicity.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/libstdc++-v3/config/cpu/i486/atomicity.h b/libstdc++-v3/config/cpu/i486/atomicity.h
index 92f5011c3a1..7c65fab678e 100644
--- a/libstdc++-v3/config/cpu/i486/atomicity.h
+++ b/libstdc++-v3/config/cpu/i486/atomicity.h
@@ -37,9 +37,9 @@ __attribute__ ((__unused__))
__exchange_and_add (volatile _Atomic_word *__mem, int __val)
{
register _Atomic_word __result;
- __asm__ __volatile__ ("lock; xaddl %0,%2"
- : "=r" (__result)
- : "0" (__val), "m" (*__mem)
+ __asm__ __volatile__ ("lock; xadd{l} {%0,%1|%1,%0}"
+ : "=r" (__result), "+m" (*__mem)
+ : "0" (__val)
: "memory");
return __result;
}
@@ -48,8 +48,8 @@ static inline void
__attribute__ ((__unused__))
__atomic_add (volatile _Atomic_word* __mem, int __val)
{
- __asm__ __volatile__ ("lock; addl %0,%1"
- : : "ir" (__val), "m" (*__mem) : "memory");
+ __asm__ __volatile__ ("lock; add{l} {%1,%0|%0,%1}"
+ : "+m" (*__mem) : "ir" (__val) : "memory");
}
#endif /* atomicity.h */