diff options
author | Pavel Kozlov <pavel.kozlov@synopsys.com> | 2023-11-09 15:01:53 +0400 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2023-11-10 16:14:19 +0100 |
commit | dfa72192f19f130d73e6587d0c3f7ef4e22c52c7 (patch) | |
tree | 1d828f1ce8e629f6560f0646fe06cc300380e870 /libc/sysdeps/linux/arc/bits/endian.h | |
parent | 4bf3912213ed8d0fa937fb4784a3e8e0c8fd8c3c (diff) |
arc: add acq/rel variants for atomic cmpxchg/xchg
Add acquire/release variants for atomic functions cmpxchg/xchg and
provide a memory barrier after/before exchange. For cmpxchg use compiler
builtins. For xchg functions add memory barrier explicitly.
These barriers are required to keep memory consistency of ARCv3 CPU
cores in SMP.
For ARC700 barriers are not required and the compiler doesn't provide
_atomic_compare_exchange*, use current asm insertion without
acquire/release variants for ARC700.
Signed-off-by: Pavel Kozlov <pavel.kozlov@synopsys.com>
Diffstat (limited to 'libc/sysdeps/linux/arc/bits/endian.h')
0 files changed, 0 insertions, 0 deletions