aboutsummaryrefslogtreecommitdiff
path: root/libjava/sysdep/x86-64
diff options
context:
space:
mode:
authorAndrew Haley <aph@redhat.com>2004-01-16 17:25:26 +0000
committerAndrew Haley <aph@gcc.gnu.org>2004-01-16 17:25:26 +0000
commita3fe7b56f3f0f153f9524f55bbcae9c65f127691 (patch)
tree056e9d83c8e63d5ac20edbb3ca15277774abfaf6 /libjava/sysdep/x86-64
parentb27317b552b57b4b7df4cfeaaa5c12f4718d58f9 (diff)
downloadgcc-a3fe7b56f3f0f153f9524f55bbcae9c65f127691.zip
gcc-a3fe7b56f3f0f153f9524f55bbcae9c65f127691.tar.gz
gcc-a3fe7b56f3f0f153f9524f55bbcae9c65f127691.tar.bz2
locks.h: Don't use in/out memory constraints.
2004-01-16 Andrew Haley <aph@redhat.com> * sysdep/x86-64/locks.h: Don't use in/out memory constraints. * sysdep/i386/locks.h: Likewise. From-SVN: r75982
Diffstat (limited to 'libjava/sysdep/x86-64')
-rw-r--r--libjava/sysdep/x86-64/locks.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/libjava/sysdep/x86-64/locks.h b/libjava/sysdep/x86-64/locks.h
index bad6de6..7fb9bbb 100644
--- a/libjava/sysdep/x86-64/locks.h
+++ b/libjava/sysdep/x86-64/locks.h
@@ -26,13 +26,13 @@ compare_and_swap(volatile obj_addr_t *addr, obj_addr_t old, obj_addr_t new_val)
char result;
#ifdef __x86_64__
__asm__ __volatile__("lock; cmpxchgq %2, %0; setz %1"
- : "+m"(*(addr)), "=q"(result)
- : "r" (new_val), "a"(old)
+ : "=m"(*(addr)), "=q"(result)
+ : "r" (new_val), "a"(old), "m"(*addr)
: "memory");
#else
__asm__ __volatile__("lock; cmpxchgl %2, %0; setz %1"
- : "+m"(*(addr)), "=q"(result)
- : "r" (new_val), "a"(old)
+ : "=m"(*(addr)), "=q"(result)
+ : "r" (new_val), "a"(old), "m"(*addr)
: "memory");
#endif
return (bool) result;