Commit 159ca3a3 by Andrew Pinski Committed by Benjamin Kosnik

re PR libstdc++/9815 (atomicity.h - fails to compile with -O3 -masm=intel)


2003-06-02  Andrew Pinski  <pinskia@physics.uc.edu>

	PR libstdc++/9815
	* config/cpu/i386/atomicity.h (__exchange_and_add): add intel
	asm case to asm.
	* config/cpu/i486/atomicity.h (__exchange_and_add): Likewise.
	(__atomic_add): likewise.

From-SVN: r67343
parent 62929dd9
2003-06-02 Andrew Pinski <pinskia@physics.uc.edu>
PR libstdc++/9815
* config/cpu/i386/atomicity.h (__exchange_and_add): add intel
asm case to asm.
* config/cpu/i486/atomicity.h (__exchange_and_add): Likewise.
(__atomic_add): likewise.
2003-06-02 Paolo Carlini <pcarlini@unitus.it>
* include/bits/sstream.tcc (pbackfail): Minor clean up and
......@@ -86,7 +94,8 @@
2003-05-27 Jonathan Wakely <redi@gcc.gnu.org>
* include/std/std_istream.h, include/std/std_ostream.h: Typo in comment.
* include/std/std_istream.h, include/std/std_ostream.h: Typo in
comment.
2003-05-26 Benjamin Kosnik <bkoz@redhat.com>
......
......@@ -51,7 +51,7 @@ __exchange_and_add (volatile _Atomic_word *__mem, int __val)
/* obtain the atomic exchange/add spin lock */
do {
__asm__ __volatile__ ("xchgl %0,%1"
__asm__ __volatile__ ("xchg{l} {%0,%1|%1,%0}"
: "+m" (__Atomicity_lock<0>::_S_atomicity_lock),
"+r" (__tmp));
} while (__tmp);
......
......@@ -37,7 +37,7 @@ __attribute__ ((__unused__))
__exchange_and_add (volatile _Atomic_word *__mem, int __val)
{
register _Atomic_word __result;
__asm__ __volatile__ ("lock; xaddl %0,%1"
__asm__ __volatile__ ("lock; xadd{l} {%0,%1|%1,%0}"
: "=r" (__result), "+m" (*__mem)
: "0" (__val)
: "memory");
......@@ -48,7 +48,7 @@ static inline void
__attribute__ ((__unused__))
__atomic_add (volatile _Atomic_word* __mem, int __val)
{
__asm__ __volatile__ ("lock; addl %1,%0"
__asm__ __volatile__ ("lock; add{l} {%1,%0|%0,%1}"
: "+m" (*__mem) : "ir" (__val) : "memory");
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment