MIPS: remove immediate constraint within CompareAndSwap.
authorpaul.lind <paul.lind@imgtec.com>
Fri, 9 Jan 2015 20:12:14 +0000 (12:12 -0800)
committerCommit bot <commit-bot@chromium.org>
Fri, 9 Jan 2015 20:12:28 +0000 (20:12 +0000)
Improper use of immediate constraint is slightly non-optimal
with gcc/gnu-as but causes breakage with clang.

BUG=

Review URL: https://codereview.chromium.org/841263002

Cr-Commit-Position: refs/heads/master@{#26016}

src/base/atomicops_internals_mips64_gcc.h
src/base/atomicops_internals_mips_gcc.h

index 1f629b6..ccb973c 100644 (file)
@@ -59,7 +59,7 @@ inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr,
                        "2:\n"
                        ".set pop\n"
                        : "=&r" (prev), "=m" (*ptr), "=&r" (tmp)
-                       : "Ir" (old_value), "r" (new_value), "m" (*ptr)
+                       : "r" (old_value), "r" (new_value), "m" (*ptr)
                        : "memory");
   return prev;
 }
@@ -196,7 +196,7 @@ inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr,
                        "2:\n"
                        ".set pop\n"
                        : "=&r" (prev), "=m" (*ptr), "=&r" (tmp)
-                       : "Ir" (old_value), "r" (new_value), "m" (*ptr)
+                       : "r" (old_value), "r" (new_value), "m" (*ptr)
                        : "memory");
   return prev;
 }
index d33b668..442fdd0 100644 (file)
@@ -36,7 +36,7 @@ inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr,
                        "2:\n"
                        ".set pop\n"
                        : "=&r" (prev), "=&r" (tmp)
-                       : "Ir" (old_value), "r" (new_value), "r" (ptr)
+                       : "r" (old_value), "r" (new_value), "r" (ptr)
                        : "memory");
   return prev;
 }