Commit bf3ec9ad authored by Serban Constantinescu's avatar Serban Constantinescu Committed by David Butcher
Browse files

AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg()



The bionic_atomic_cmpxchg() API states that the cmpxchg() will be done without
explicit memory barriers. LDAXR/STLXR semantics involve half barriers for
load/store.

This patch optimises cmpxchg() by using LDXR/STXR and avoiding unnecessary half
bariers. It also fixes the clobber list for all the bionic_atomic_*() functions.

Change-Id: Iae9468965785cfeeec791d52f1e8cbc524adb682
Signed-off-by: default avatarSerban Constantinescu <serban.constantinescu@arm.com>
parent 81ddd143
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment