gcc/libatomic
Wilco Dijkstra 3fa689f6ed libatomic: Enable lock-free 128-bit atomics on AArch64
Enable lock-free 128-bit atomics on AArch64.  This is backwards compatible with
existing binaries (as for these GCC always calls into libatomic, so all 128-bit
atomic uses in a process are switched), gives better performance than locking
atomics and is what most users expect.

128-bit atomic loads use a load/store exclusive loop if LSE2 is not supported.
This results in an implicit store which is invisible to software as long as the
given address is writeable (which will be true when using atomics in real code).

This doesn't yet change __atomic_is_lock_free eventhough all atomics are finally
lock-free on AArch64.

libatomic:
	* config/linux/aarch64/atomic_16.S: Implement lock-free ARMv8.0 atomics.
	(libat_exchange_16): Merge RELEASE and ACQ_REL/SEQ_CST cases.
	* config/linux/aarch64/host-config.h: Use atomic_16.S for baseline v8.0.
2023-12-15 13:19:41 +00:00
..
config libatomic: Enable lock-free 128-bit atomics on AArch64 2023-12-15 13:19:41 +00:00
testsuite libatomic: Consider '--with-build-sysroot=[...]' for target libraries' build-tree testing (instead of build-time 'CC' etc.) [PR109951] 2023-10-26 18:04:11 +02:00
.gitignore
acinclude.m4 Add mold detection for libs. 2022-01-31 09:46:44 +01:00
aclocal.m4 Add `--with-toolexeclibdir=' configuration option 2020-01-24 11:24:25 +00:00
auto-config.h.in
cas_n.c Update copyright years. 2023-01-16 11:52:17 +01:00
ChangeLog Daily bump. 2023-11-14 12:23:39 +00:00
configure libatomic: Consider '--with-build-sysroot=[...]' for target libraries' build-tree testing (instead of build-time 'CC' etc.) [PR109951] 2023-10-26 18:04:11 +02:00
configure.ac libatomic: Consider '--with-build-sysroot=[...]' for target libraries' build-tree testing (instead of build-time 'CC' etc.) [PR109951] 2023-10-26 18:04:11 +02:00
configure.tgt libatomic: x86_64: Always try ifunc 2023-06-10 21:43:56 +08:00
exch_n.c Update copyright years. 2023-01-16 11:52:17 +01:00
fadd_n.c Update copyright years. 2023-01-16 11:52:17 +01:00
fand_n.c
fence.c Update copyright years. 2023-01-16 11:52:17 +01:00
fenv.c Update copyright years. 2023-01-16 11:52:17 +01:00
fior_n.c
flag.c Update copyright years. 2023-01-16 11:52:17 +01:00
fnand_n.c
fop_n.c Update copyright years. 2023-01-16 11:52:17 +01:00
fsub_n.c
fxor_n.c
gcas.c Update copyright years. 2023-01-16 11:52:17 +01:00
gexch.c Update copyright years. 2023-01-16 11:52:17 +01:00
glfree.c Update copyright years. 2023-01-16 11:52:17 +01:00
gload.c Update copyright years. 2023-01-16 11:52:17 +01:00
gstore.c Update copyright years. 2023-01-16 11:52:17 +01:00
host-config.h Update copyright years. 2023-01-16 11:52:17 +01:00
init.c
libatomic.map
libatomic_i.h Update copyright years. 2023-01-16 11:52:17 +01:00
load_n.c Update copyright years. 2023-01-16 11:52:17 +01:00
Makefile.am libatomic: drop redundant all-multi command 2023-10-23 10:23:14 +02:00
Makefile.in libatomic: Consider '--with-build-sysroot=[...]' for target libraries' build-tree testing (instead of build-time 'CC' etc.) [PR109951] 2023-10-26 18:04:11 +02:00
store_n.c Update copyright years. 2023-01-16 11:52:17 +01:00
tas_n.c Update copyright years. 2023-01-16 11:52:17 +01:00