159 lines
4.1 KiB
Diff
159 lines
4.1 KiB
Diff
commit d115e98ad627fae62679bc18e3bf062a898860cb
|
|
Author: Florian Weimer <fweimer@redhat.com>
|
|
Date: Wed Nov 20 19:21:45 2024 +0100
|
|
|
|
Revert "AArch64: Remove memset-reg.h"
|
|
|
|
This reverts commit 8ecb477ea16a387a44ace5bf59d39a7e270b238b.
|
|
|
|
diff --git a/sysdeps/aarch64/memset-reg.h b/sysdeps/aarch64/memset-reg.h
|
|
new file mode 100644
|
|
index 0000000000000000..6c7f60b37edf3b11
|
|
--- /dev/null
|
|
+++ b/sysdeps/aarch64/memset-reg.h
|
|
@@ -0,0 +1,30 @@
|
|
+/* Register aliases for memset to be used across implementations.
|
|
+ Copyright (C) 2017-2024 Free Software Foundation, Inc.
|
|
+ This file is part of the GNU C Library.
|
|
+
|
|
+ The GNU C Library is free software; you can redistribute it and/or
|
|
+ modify it under the terms of the GNU Lesser General Public
|
|
+ License as published by the Free Software Foundation; either
|
|
+ version 2.1 of the License, or (at your option) any later version.
|
|
+
|
|
+ The GNU C Library is distributed in the hope that it will be useful,
|
|
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
+ Lesser General Public License for more details.
|
|
+
|
|
+ You should have received a copy of the GNU Lesser General Public
|
|
+ License along with the GNU C Library; if not, see
|
|
+ <https://www.gnu.org/licenses/>. */
|
|
+
|
|
+#define dstin x0
|
|
+#define val x1
|
|
+#define valw w1
|
|
+#define count x2
|
|
+#define dst x3
|
|
+#define dstend x4
|
|
+#define tmp1 x5
|
|
+#define tmp1w w5
|
|
+#define tmp2 x6
|
|
+#define tmp2w w6
|
|
+#define zva_len x7
|
|
+#define zva_lenw w7
|
|
diff --git a/sysdeps/aarch64/memset.S b/sysdeps/aarch64/memset.S
|
|
index b76dde1557ed8fb1..caafb019e2b6217b 100644
|
|
--- a/sysdeps/aarch64/memset.S
|
|
+++ b/sysdeps/aarch64/memset.S
|
|
@@ -30,6 +30,7 @@
|
|
*/
|
|
|
|
#define dstin x0
|
|
+#define val x1
|
|
#define valw w1
|
|
#define count x2
|
|
#define dst x3
|
|
diff --git a/sysdeps/aarch64/multiarch/memset_a64fx.S b/sysdeps/aarch64/multiarch/memset_a64fx.S
|
|
index f665b5a891433c1c..2e6d882fc931a882 100644
|
|
--- a/sysdeps/aarch64/multiarch/memset_a64fx.S
|
|
+++ b/sysdeps/aarch64/multiarch/memset_a64fx.S
|
|
@@ -18,6 +18,7 @@
|
|
<https://www.gnu.org/licenses/>. */
|
|
|
|
#include <sysdep.h>
|
|
+#include <sysdeps/aarch64/memset-reg.h>
|
|
|
|
/* Assumptions:
|
|
*
|
|
@@ -35,14 +36,6 @@
|
|
|
|
.arch armv8.2-a+sve
|
|
|
|
-#define dstin x0
|
|
-#define valw w1
|
|
-#define count x2
|
|
-#define dst x3
|
|
-#define dstend x4
|
|
-#define tmp1 x5
|
|
-#define tmp2 x6
|
|
-
|
|
.macro st1b_unroll first=0, last=7
|
|
st1b z0.b, p0, [dst, \first, mul vl]
|
|
.if \last-\first
|
|
diff --git a/sysdeps/aarch64/multiarch/memset_emag.S b/sysdeps/aarch64/multiarch/memset_emag.S
|
|
index cf1b25f2edf64900..6d714ed0e1b396ef 100644
|
|
--- a/sysdeps/aarch64/multiarch/memset_emag.S
|
|
+++ b/sysdeps/aarch64/multiarch/memset_emag.S
|
|
@@ -18,6 +18,7 @@
|
|
<https://www.gnu.org/licenses/>. */
|
|
|
|
#include <sysdep.h>
|
|
+#include "memset-reg.h"
|
|
|
|
/* Assumptions:
|
|
*
|
|
@@ -25,13 +26,6 @@
|
|
*
|
|
*/
|
|
|
|
-#define dstin x0
|
|
-#define val x1
|
|
-#define valw w1
|
|
-#define count x2
|
|
-#define dst x3
|
|
-#define dstend x4
|
|
-
|
|
ENTRY (__memset_emag)
|
|
|
|
PTR_ARG (0)
|
|
diff --git a/sysdeps/aarch64/multiarch/memset_kunpeng.S b/sysdeps/aarch64/multiarch/memset_kunpeng.S
|
|
index f815c20b0383f057..7b215501376cbe03 100644
|
|
--- a/sysdeps/aarch64/multiarch/memset_kunpeng.S
|
|
+++ b/sysdeps/aarch64/multiarch/memset_kunpeng.S
|
|
@@ -18,6 +18,7 @@
|
|
<https://www.gnu.org/licenses/>. */
|
|
|
|
#include <sysdep.h>
|
|
+#include <sysdeps/aarch64/memset-reg.h>
|
|
|
|
/* Assumptions:
|
|
*
|
|
@@ -25,12 +26,6 @@
|
|
*
|
|
*/
|
|
|
|
-#define dstin x0
|
|
-#define valw w1
|
|
-#define count x2
|
|
-#define dst x3
|
|
-#define dstend x4
|
|
-
|
|
ENTRY (__memset_kunpeng)
|
|
|
|
PTR_ARG (0)
|
|
diff --git a/sysdeps/aarch64/multiarch/memset_oryon1.S b/sysdeps/aarch64/multiarch/memset_oryon1.S
|
|
index 6fa28a9bd030a705..b43a43b54e1b3439 100644
|
|
--- a/sysdeps/aarch64/multiarch/memset_oryon1.S
|
|
+++ b/sysdeps/aarch64/multiarch/memset_oryon1.S
|
|
@@ -19,18 +19,12 @@
|
|
<https://www.gnu.org/licenses/>. */
|
|
|
|
#include <sysdep.h>
|
|
+#include "memset-reg.h"
|
|
|
|
/* Assumptions:
|
|
ARMv8-a, AArch64, unaligned accesses
|
|
*/
|
|
|
|
-#define dstin x0
|
|
-#define val x1
|
|
-#define valw w1
|
|
-#define count x2
|
|
-#define dst x3
|
|
-#define dstend x4
|
|
-
|
|
ENTRY (__memset_oryon1)
|
|
|
|
PTR_ARG (0)
|