gcc/libatomic
Victor Do Nascimento 7107574958 libatomic: Add rcpc3 128-bit atomic operations for AArch64
The introduction of the optional RCPC3 architectural extension for
Armv8.2-A upwards provides additional support for the release
consistency model, introducing the Load-Acquire RCpc Pair Ordered, and
Store-Release Pair Ordered operations in the form of LDIAPP and STILP.

These operations are single-copy atomic on cores which also implement
LSE2 and, as such, support for these operations is added to Libatomic
and employed accordingly when the LSE2 and RCPC3 features are detected
in a given core at runtime.

libatomic/ChangeLog:

	* config/linux/aarch64/atomic_16.S (libat_load_16): Add LRCPC3
	variant.
	(libat_store_16): Likewise.
	* config/linux/aarch64/host-config.h (HWCAP2_LRCPC3): New.
	(LSE2_LRCPC3_ATOP): Previously LSE2_ATOP.  New ifuncs guarded
	under it.
	(has_rcpc3): New.
2024-06-25 11:48:38 +01:00
..
config libatomic: Add rcpc3 128-bit atomic operations for AArch64 2024-06-25 11:48:38 +01:00
testsuite testsuite: Adjust several dg-additional-files-options calls [PR115294] 2024-05-31 09:29:38 +02:00
.gitignore
acinclude.m4 Libatomic: AArch64: Convert all lse128 assembly to .insn directives 2024-06-12 10:23:38 +01:00
aclocal.m4 Add `--with-toolexeclibdir=' configuration option 2020-01-24 11:24:25 +00:00
auto-config.h.in Libatomic: AArch64: Convert all lse128 assembly to .insn directives 2024-06-12 10:23:38 +01:00
cas_n.c Libatomic: Define per-file identifier macros 2024-06-12 10:23:38 +01:00
ChangeLog Daily bump. 2024-06-13 00:17:29 +00:00
configure Libatomic: AArch64: Convert all lse128 assembly to .insn directives 2024-06-12 10:23:38 +01:00
configure.ac Libatomic: AArch64: Convert all lse128 assembly to .insn directives 2024-06-12 10:23:38 +01:00
configure.tgt aarch64: Add aarch64-w64-mingw32 target to libatomic 2024-05-07 16:02:35 +00:00
exch_n.c Libatomic: Define per-file identifier macros 2024-06-12 10:23:38 +01:00
fadd_n.c Libatomic: Define per-file identifier macros 2024-06-12 10:23:38 +01:00
fand_n.c Libatomic: Define per-file identifier macros 2024-06-12 10:23:38 +01:00
fence.c Libatomic: Define per-file identifier macros 2024-06-12 10:23:38 +01:00
fenv.c Libatomic: Define per-file identifier macros 2024-06-12 10:23:38 +01:00
fior_n.c Libatomic: Define per-file identifier macros 2024-06-12 10:23:38 +01:00
flag.c Libatomic: Define per-file identifier macros 2024-06-12 10:23:38 +01:00
fnand_n.c Libatomic: Define per-file identifier macros 2024-06-12 10:23:38 +01:00
fop_n.c Libatomic: Define per-file identifier macros 2024-06-12 10:23:38 +01:00
fsub_n.c Libatomic: Define per-file identifier macros 2024-06-12 10:23:38 +01:00
fxor_n.c Libatomic: Define per-file identifier macros 2024-06-12 10:23:38 +01:00
gcas.c Libatomic: Define per-file identifier macros 2024-06-12 10:23:38 +01:00
gexch.c Libatomic: Define per-file identifier macros 2024-06-12 10:23:38 +01:00
glfree.c Libatomic: Define per-file identifier macros 2024-06-12 10:23:38 +01:00
gload.c Libatomic: Define per-file identifier macros 2024-06-12 10:23:38 +01:00
gstore.c Libatomic: Define per-file identifier macros 2024-06-12 10:23:38 +01:00
host-config.h Update copyright years. 2024-01-03 12:19:35 +01:00
init.c
libatomic_i.h Update copyright years. 2024-01-03 12:19:35 +01:00
libatomic.map
load_n.c Libatomic: Define per-file identifier macros 2024-06-12 10:23:38 +01:00
Makefile.am build: Derive object names in make_sunver.pl 2024-05-07 13:14:05 +02:00
Makefile.in build: Derive object names in make_sunver.pl 2024-05-07 13:14:05 +02:00
store_n.c Libatomic: Define per-file identifier macros 2024-06-12 10:23:38 +01:00
tas_n.c Libatomic: Define per-file identifier macros 2024-06-12 10:23:38 +01:00