The introduction of the optional RCPC3 architectural extension for Armv8.2-A upwards provides additional support for the release consistency model, introducing both the Load-Acquire RCpc Pair Ordered, and Store-Release Pair Ordered operations in the form of LDIAPP and STILP.
In light of this, continuing on from previously-proposed Libatomic enablement work [1], this patch series therefore makes the following changes to Libatomic: 1. Extend the number of allowed ifunc alternatives to 4. 2. Add LDIAPP and STILP instructions to 16-byte atomic operations. [1] https://gcc.gnu.org/pipermail/gcc-patches/2024-January/643841.html Victor Do Nascimento (2): libatomic: Increase max IFUNC_NCOND(N) from 3 to 4. libatomic: Add rcpc3 128-bit atomic operations for AArch64 libatomic/Makefile.am | 6 +- libatomic/Makefile.in | 22 ++-- libatomic/acinclude.m4 | 19 ++++ libatomic/auto-config.h.in | 3 + libatomic/config/linux/aarch64/atomic_16.S | 102 ++++++++++++++++++- libatomic/config/linux/aarch64/host-config.h | 33 +++++- libatomic/configure | 59 ++++++++++- libatomic/configure.ac | 1 + libatomic/libatomic_i.h | 18 ++++ 9 files changed, 243 insertions(+), 20 deletions(-) -- 2.42.0