git: d49ad2062528 - main - Import the updated Arm Optimized Routines
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 06 Sep 2022 16:21:41 UTC
The branch main has been updated by andrew:
URL: https://cgit.FreeBSD.org/src/commit/?id=d49ad20625283a78649d9ea237bc50c390d80cf1
commit d49ad20625283a78649d9ea237bc50c390d80cf1
Merge: 85c8c0b77d16 01c4cb317efa
Author: Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2022-09-06 16:20:29 +0000
Commit: Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2022-09-06 16:20:29 +0000
Import the updated Arm Optimized Routines
The main changes this brings in are:
- Improves the performance of memcmp
- Adds SVE implementation of memcpy
- Uses the MTE version of some str* functions as they are faster
Sponsored by: The FreeBSD Foundation
contrib/arm-optimized-routines/README | 2 +-
contrib/arm-optimized-routines/math/cosf.c | 2 +-
contrib/arm-optimized-routines/math/sincosf.c | 2 +-
contrib/arm-optimized-routines/math/sincosf.h | 2 +-
contrib/arm-optimized-routines/math/sinf.c | 2 +-
.../arm-optimized-routines/string/aarch64/memcmp.S | 237 ++++++++-----
.../string/aarch64/memcpy-sve.S | 180 ++++++++++
.../string/aarch64/stpcpy-mte.S | 10 -
.../string/aarch64/strcmp-mte.S | 189 ----------
.../arm-optimized-routines/string/aarch64/strcmp.S | 234 ++++++------
.../string/aarch64/strcpy-mte.S | 161 ---------
.../arm-optimized-routines/string/aarch64/strcpy.S | 394 +++++++--------------
.../string/aarch64/strncmp-mte.S | 307 ----------------
.../string/aarch64/strncmp.S | 234 +++++++-----
.../arm-optimized-routines/string/bench/memcpy.c | 165 ++++++---
.../arm-optimized-routines/string/bench/memset.c | 243 +++++++++++++
.../arm-optimized-routines/string/bench/strlen.c | 14 +-
.../string/include/stringlib.h | 6 +-
.../arm-optimized-routines/string/test/memcpy.c | 3 +
.../arm-optimized-routines/string/test/memmove.c | 3 +
.../arm-optimized-routines/string/test/stpcpy.c | 3 +-
.../arm-optimized-routines/string/test/strcmp.c | 3 +-
.../arm-optimized-routines/string/test/strcpy.c | 3 +-
.../arm-optimized-routines/string/test/strncmp.c | 3 +-
24 files changed, 1102 insertions(+), 1300 deletions(-)
diff --cc contrib/arm-optimized-routines/string/aarch64/memcpy-sve.S
index 000000000000,f85e8009f3c5..f85e8009f3c5
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/string/aarch64/memcpy-sve.S
+++ b/contrib/arm-optimized-routines/string/aarch64/memcpy-sve.S
diff --cc contrib/arm-optimized-routines/string/bench/memset.c
index 000000000000,2d6196931307..2d6196931307
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/string/bench/memset.c
+++ b/contrib/arm-optimized-routines/string/bench/memset.c