Building upon Wilco Dijkstra's work on AArch64 128-bit atomics for Libatomic, namely the patches from [1] and [2], this patch series extends the library's capabilities to dynamically select and emit Armv9.4-a LSE128 implementations of atomic operations via ifuncs at run-time whenever architectural support is present.
Regression tested on aarch64-linux-gnu target with LSE128-support. [1] https://gcc.gnu.org/pipermail/gcc-patches/2023-June/620529.html [2] https://gcc.gnu.org/pipermail/gcc-patches/2023-August/626358.html Victor Do Nascimento (2): libatomic: atomic_16.S: Improve ENTRY, END and ALIAS macro interface libatomic: Enable LSE128 128-bit atomics for armv9.4-a libatomic/Makefile.am | 3 + libatomic/Makefile.in | 1 + libatomic/acinclude.m4 | 19 ++ libatomic/auto-config.h.in | 3 + libatomic/config/linux/aarch64/atomic_16.S | 315 ++++++++++++++----- libatomic/config/linux/aarch64/host-config.h | 23 +- libatomic/configure | 59 +++- libatomic/configure.ac | 1 + 8 files changed, 349 insertions(+), 75 deletions(-) -- 2.41.0