From eb68d6fe13f13b0697dd2b4ff00df1d7c997669e Mon Sep 17 00:00:00 2001 From: "paul.lind" Date: Fri, 9 Jan 2015 12:12:14 -0800 Subject: [PATCH] MIPS: remove immediate constraint within CompareAndSwap. 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 | 4 ++-- src/base/atomicops_internals_mips_gcc.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/base/atomicops_internals_mips64_gcc.h b/src/base/atomicops_internals_mips64_gcc.h index 1f629b6..ccb973c 100644 --- a/src/base/atomicops_internals_mips64_gcc.h +++ b/src/base/atomicops_internals_mips64_gcc.h @@ -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; } diff --git a/src/base/atomicops_internals_mips_gcc.h b/src/base/atomicops_internals_mips_gcc.h index d33b668..442fdd0 100644 --- a/src/base/atomicops_internals_mips_gcc.h +++ b/src/base/atomicops_internals_mips_gcc.h @@ -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; } -- 2.7.4