Re: [PATCH] libatomic: Add support for LSE and LSE2

2022-11-14 Thread Richard Sandiford via Gcc-patches
Wilco Dijkstra via Gcc-patches writes: > Add support for AArch64 LSE and LSE2 to libatomic. Disable outline atomics, > and use LSE ifuncs for 1-8 byte atomics and LSE2 ifuncs for 16-byte atomics. > On Neoverse V1, 16-byte atomics are ~4x faster due to avoiding locks. > > Note this is safe since w

[PATCH] libatomic: Add support for LSE and LSE2

2022-11-11 Thread Wilco Dijkstra via Gcc-patches
Add support for AArch64 LSE and LSE2 to libatomic. Disable outline atomics, and use LSE ifuncs for 1-8 byte atomics and LSE2 ifuncs for 16-byte atomics. On Neoverse V1, 16-byte atomics are ~4x faster due to avoiding locks. Note this is safe since we swap all 16-byte atomics using the same ifunc,