History log of /netbsd-src/common/lib/libc/arch/arm/atomic/atomic_dec_64.S (Results 1 – 9 of 9)
Revision Date Author Comments
# 8e8c0784 28-Jul-2021 skrll <skrll@NetBSD.org>

Remove memory barriers from the atomic_ops(3) atomic operations. They're
not needed for correctness.

Add the correct memory barriers to the gcc legacy __sync built-in
functions for atomic memory ac

Remove memory barriers from the atomic_ops(3) atomic operations. They're
not needed for correctness.

Add the correct memory barriers to the gcc legacy __sync built-in
functions for atomic memory access. From the gcc documentation:

In most cases, these built-in functions are considered a full barrier.
That is, no memory operand is moved across the operation, either forward
or backward. Further, instructions are issued as necessary to prevent the
processor from speculating loads across the operation and from queuing
stores after the operation.

type __sync_lock_test_and_set (type *ptr, type value, ...)

This built-in function is not a full barrier, but rather an acquire
barrier. This means that references after the operation cannot move to
(or be speculated to) before the operation, but previous memory stores
may not be globally visible yet, and previous memory loads may not yet
be satisfied.

void __sync_lock_release (type *ptr, ...)

This built-in function is not a full barrier, but rather a release
barrier. This means that all previous memory stores are globally
visible, and all previous memory loads have been satisfied, but
following memory reads are not prevented from being speculated to
before the barrier.

show more ...


# 5e911a38 10-Jul-2021 skrll <skrll@NetBSD.org>

s/ifdef _ARM_ARCH_6/if defined(_ARM_ARCH_6)/ for consistency. NFCI.


# 5ce8d6df 30-Nov-2013 joerg <joerg@NetBSD.org>

Use explicit form of register pair operations by specifying both.


# c1116705 11-Aug-2013 matt <matt@NetBSD.org>

Use foo{s} since it reduces the ifdefs for thumb


# d6502094 10-Aug-2013 matt <matt@NetBSD.org>

Make these under Thumb2


# d86c65aa 10-Aug-2013 matt <matt@NetBSD.org>

Use r2 instead of ip


# b8284f6d 10-Aug-2013 matt <matt@NetBSD.org>

Use subs/sbc
Use push/pop
Don't adjust return for atomic_dec_64 since it's void and returns nothing


# 6e8da97c 13-Sep-2012 matt <matt@NetBSD.org>

Correct copyright/fix comments.


# b9b9bd89 11-Sep-2012 matt <matt@NetBSD.org>

Add 64bit atomic ops for ARMv6+ (using ldrexd/strexd).