]> git.ipfire.org Git - thirdparty/gcc.git/commit
Libatomic: Clean up AArch64 `atomic_16.S' implementation file
authorVictor Do Nascimento <victor.donascimento@arm.com>
Mon, 10 Jun 2024 10:02:43 +0000 (11:02 +0100)
committerVictor Do Nascimento <victor.donascimento@arm.com>
Wed, 12 Jun 2024 09:23:38 +0000 (10:23 +0100)
commit7663154c93a0193e88e1d8a1f24e4617dcaf9058
treeb9d094319f6ddd470c4a12df10fecd6433577bbf
parent1af4a8451d4149ecbddfe9963e7f7ea3d273cc2d
Libatomic: Clean up AArch64 `atomic_16.S' implementation file

At present, `atomic_16.S' groups different implementations of the
same functions together in the file.  Therefore, as an example,
the LSE2 implementation of `load_16' follows on immediately from its
core implementation, as does the `store_16' LSE2 implementation.

Such architectural extension-dependent implementations are dependent
on ifunc support, such that they are guarded by the relevant
preprocessor macro, i.e.  `#if HAVE_IFUNC'.

Having to apply these guards on a per-function basis adds unnecessary
clutter to the file and makes its maintenance more error-prone.

We therefore reorganize the layout of the file in such a way that all
core implementations needing no `#ifdef's are placed first, followed
by all ifunc-dependent implementations, which can all be guarded by a
single `#if HAVE_IFUNC', greatly reducing the overall number of
required `#ifdef' macros.

libatomic/ChangeLog:

* config/linux/aarch64/atomic_16.S: Reorganize functions in
file.
(HAVE_FEAT_LSE2): Delete.
libatomic/config/linux/aarch64/atomic_16.S