merge -r 53370:58178
[mono.git] / libgc / include / private / gc_locks.h
index df8043b64bebedec3bccd43ea5f97ac6d120fbf0..34e3daa45193af2fceb933c839c775819c3b80ec 100644 (file)
 #      ifndef __INTEL_COMPILER
          __asm__ __volatile__("xchg4 %0=%1,%2"
                : "=r"(oldval), "=m"(*addr)
-               : "r"(n), "1"(*addr) : "memory");
+               : "r"(n) : "memory");
 #      else
          oldval = _InterlockedExchange(addr, n);
 #      endif
            * this code will likely need to be updated. */
           /* See linuxthreads/sysdeps/arm/pt-machine.h in glibc-2.1 */
           __asm__ __volatile__("swp %0, %1, [%2]"
-                            : "=r"(oldval)
+                            : "=&r"(oldval)
                             : "r"(1), "r"(addr)
                             : "memory");
           return oldval;