Go to file
Serban Constantinescu bf3ec9ad52 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: Serban Constantinescu <serban.constantinescu@arm.com>
2013-12-19 18:32:53 +00:00
benchmarks AArch64: Add fixes to bionic/tests 2013-12-16 17:40:30 -08:00
libc AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg() 2013-12-19 18:32:53 +00:00
libdl x86_64: Update Makefiles for x86_64 targets and add symlinks 2013-10-01 15:36:08 -07:00
libm Don't use weak aliases in libm. 2013-12-18 17:18:53 -08:00
libstdc++ Fix x86_64 build, clean up intermediate libraries. 2013-10-09 16:00:17 -07:00
libthread_db Clean up linker architecture macros. 2013-10-28 11:02:49 -07:00
linker AArch64: Linker64 support for AArch64 2013-12-17 15:02:43 -08:00
tests Fix compilation of crtbegin.c and pthread_debug.cpp. 2013-12-18 09:47:44 -08:00
.gitignore Merge memory checking functionality from sandbox 2010-02-16 11:43:18 -08:00
ABI-bugs.txt PTHREAD_KEYS_MAX cleanup. 2013-12-12 12:51:08 -08:00
Android.mk Remove the simulator target from all makefiles. 2011-07-11 22:11:41 -07:00
CleanSpec.mk Add an empty CleanSpec.mk 2010-03-08 18:04:02 -08:00