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 <and...@freebsd.org> AuthorDate: 2022-09-06 16:20:29 +0000 Commit: Andrew Turner <and...@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