From 24d1e6f8dd31b7d258b601c414111a56dc897a45 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Sat, 18 Mar 2006 01:48:21 +0000 Subject: [PATCH] Added 'm'(*pw) inputs (thanks to Howard Hinnant) [SVN r33364] --- include/boost/detail/sp_counted_base_gcc_ia64.hpp | 6 +++--- include/boost/detail/sp_counted_base_gcc_ppc.hpp | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/boost/detail/sp_counted_base_gcc_ia64.hpp b/include/boost/detail/sp_counted_base_gcc_ia64.hpp index 8016c8d..efcfd11 100644 --- a/include/boost/detail/sp_counted_base_gcc_ia64.hpp +++ b/include/boost/detail/sp_counted_base_gcc_ia64.hpp @@ -35,7 +35,7 @@ inline void atomic_increment( long * pw ) // cheaper. __asm__ ("fetchadd8.rel %0=[%2],1" : "=r"(tmp), "=m"(*pw) : - "r"(pw)); + "r"(pw), "m"( *pw )); } inline long atomic_decrement( long * pw ) @@ -48,7 +48,7 @@ inline long atomic_decrement( long * pw ) " cmp.eq p7,p0=1,%0 ;; \n" "(p7) ld8.acq %0=[%2] " : "=&r"(rv), "=m"(*pw) : - "r"(pw) : + "r"(pw), "m"( *pw ) : "p7"); return rv; @@ -72,7 +72,7 @@ inline long atomic_conditional_increment( long * pw ) " mov %0=%1 ;; \n" "1:" : "=&r"(rv), "=&r"(tmp), "=&r"(tmp2), "=m"(*pw) : - "r"(pw) : + "r"(pw), "m"( *pw ) : "ar.ccv", "p7"); return rv; diff --git a/include/boost/detail/sp_counted_base_gcc_ppc.hpp b/include/boost/detail/sp_counted_base_gcc_ppc.hpp index fc2925e..ca5cf2b 100644 --- a/include/boost/detail/sp_counted_base_gcc_ppc.hpp +++ b/include/boost/detail/sp_counted_base_gcc_ppc.hpp @@ -47,7 +47,7 @@ inline void atomic_increment( int * pw ) "bne- 0b": "=m"( *pw ), "=&b"( tmp ): - "r"( pw ): + "r"( pw ), "m"( *pw ): "cc" ); } @@ -69,7 +69,7 @@ inline int atomic_decrement( int * pw ) "isync": "=m"( *pw ), "=&b"( rv ): - "r"( pw ): + "r"( pw ), "m"( *pw ): "memory", "cc" ); @@ -95,7 +95,7 @@ inline int atomic_conditional_increment( int * pw ) "bne- 0b": "=m"( *pw ), "=&b"( rv ): - "r"( pw ): + "r"( pw ), "m"( *pw ): "cc" );