PR target/19065
authorhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 28 Feb 2005 02:33:39 +0000 (02:33 +0000)
committerhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 28 Feb 2005 02:33:39 +0000 (02:33 +0000)
* config/cpu/cris/atomicity.h (__exchange_and_add): In asm, use
'Q' constraint, not 'm'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95648 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/config/cpu/cris/atomicity.h

index 441bb58..56bc43c 100644 (file)
@@ -1,3 +1,9 @@
+2005-02-28  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/19065
+       * config/cpu/cris/atomicity.h (__exchange_and_add): In asm, use
+       'Q' constraint, not 'm'.
+
 2005-02-26  Earl Chew  <earl_chew@agilent.com>
            Christopher Jefferson  <chris@bubblescope.net>
 
index 3162f6a..38ae0de 100644 (file)
@@ -1,6 +1,6 @@
 // Low-level functions for atomic operations: CRIS version  -*- C++ -*-
 
-// Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003, 2004, 2005 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -47,8 +47,8 @@ namespace __gnu_cxx
                        " move.d %2,[%3]        \n"
                        " bwf 0b                \n"
                        " clearf                \n"
-                       :  "=&r" (__result), "=m" (*__mem), "=&r" (__tmp)
-                       : "r" (__mem), "g" (__val), "m" (*__mem)
+                       :  "=&r" (__result), "=Q" (*__mem), "=&r" (__tmp)
+                       : "r" (__mem), "g" (__val), "Q" (*__mem)
                        /* The memory clobber must stay, regardless of
                           current uses of this function.  */
                        : "memory");
@@ -60,8 +60,8 @@ namespace __gnu_cxx
                        " add.d %0,%2           \n"
                        " move.d %2,[%3]        \n"
                        " move $r9,$ccr         \n"
-                       :  "=&r" (__result), "=m" (*__mem), "=&r" (__tmp)
-                       : "r" (__mem), "g" (__val), "m" (*__mem)
+                       :  "=&r" (__result), "=Q" (*__mem), "=&r" (__tmp)
+                       : "r" (__mem), "g" (__val), "Q" (*__mem)
                        : "r9",
                          /* The memory clobber must stay, regardless of
                             current uses of this function.  */