diff --git a/opal/include/opal/sys/arm64/atomic.h b/opal/include/opal/sys/arm64/atomic.h index fd5a773a4f4..6b380ccc2a2 100644 --- a/opal/include/opal/sys/arm64/atomic.h +++ b/opal/include/opal/sys/arm64/atomic.h @@ -201,7 +201,7 @@ static inline bool opal_atomic_compare_exchange_strong_64 (volatile int64_t *add : "r" (addr), "r" (*oldval), "r" (newval) : "cc", "memory"); - ret = (prev == oldval); + ret = (prev == *oldval); *oldval = prev; return ret; } @@ -242,7 +242,7 @@ static inline bool opal_atomic_compare_exchange_strong_acq_64 (volatile int64_t : "r" (addr), "r" (*oldval), "r" (newval) : "cc", "memory"); - ret = (prev == oldval); + ret = (prev == *oldval); *oldval = prev; return ret; } @@ -264,7 +264,7 @@ static inline bool opal_atomic_compare_exchange_strong_rel_64 (volatile int64_t : "r" (addr), "r" (*oldval), "r" (newval) : "cc", "memory"); - ret = (prev == oldval); + ret = (prev == *oldval); *oldval = prev; return ret; }