Browse Source

arm: use a_ll/a_sc atomics when building for ARMv6T2

ARMv6 cores with support for Thumb2 can take advantage of the "ldrex"
and "strex" based implementations of a_ll and a_sc.
master
Andre McCurdy 8 years ago
committed by Rich Felker
parent
commit
8c2943f057
  1. 2
      arch/arm/atomic_arch.h

2
arch/arm/atomic_arch.h

@ -8,7 +8,7 @@ extern uintptr_t __attribute__((__visibility__("hidden")))
__a_cas_ptr, __a_barrier_ptr; __a_cas_ptr, __a_barrier_ptr;
#if ((__ARM_ARCH_6__ || __ARM_ARCH_6K__ || __ARM_ARCH_6KZ__ || __ARM_ARCH_6ZK__) && !__thumb__) \ #if ((__ARM_ARCH_6__ || __ARM_ARCH_6K__ || __ARM_ARCH_6KZ__ || __ARM_ARCH_6ZK__) && !__thumb__) \
|| __ARM_ARCH_7A__ || __ARM_ARCH_7R__ || __ARM_ARCH >= 7 || __ARM_ARCH_6T2__ || __ARM_ARCH_7A__ || __ARM_ARCH_7R__ || __ARM_ARCH >= 7
#define a_ll a_ll #define a_ll a_ll
static inline int a_ll(volatile int *p) static inline int a_ll(volatile int *p)

Loading…
Cancel
Save