[newlib-cygwin] Cygwin: x86_64: add wmemset assembler entry point
Corinna Vinschen
corinna@sourceware.org
Mon Aug 8 16:17:00 GMT 2022
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=188d5f6c9ad5cbbd6f0fcb9aaf15bc9870597910
commit 188d5f6c9ad5cbbd6f0fcb9aaf15bc9870597910
Author: Corinna Vinschen <corinna@vinschen.de>
Date: Mon Aug 8 16:49:52 2022 +0200
Cygwin: x86_64: add wmemset assembler entry point
So far, wmemset used the C implemantation from newlib. Let's use
the optimized assembler code instead.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diff:
---
winsup/cygwin/Makefile.am | 6 +++---
winsup/cygwin/x86_64/memset.s | 8 ++++++++
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/winsup/cygwin/Makefile.am b/winsup/cygwin/Makefile.am
index 6838be99a..b8436226b 100644
--- a/winsup/cygwin/Makefile.am
+++ b/winsup/cygwin/Makefile.am
@@ -56,7 +56,8 @@ TEST_LIB_NAME=libcygwin0.a
if TARGET_X86_64
TARGET_FILES= \
x86_64/memcpy.s \
- x86_64/memset.s
+ x86_64/memset.s \
+ x86_64/mcountFunc.S
endif
LIB_FILES= \
@@ -357,8 +358,7 @@ MALLOC_FILES= \
GMON_FILES= \
gmon.c \
mcount.c \
- profil.c \
- mcountFunc.S
+ profil.c
GENERATED_FILES= \
sigfe.s
diff --git a/winsup/cygwin/x86_64/memset.s b/winsup/cygwin/x86_64/memset.s
index ac73b6ace..d3b95ecd2 100644
--- a/winsup/cygwin/x86_64/memset.s
+++ b/winsup/cygwin/x86_64/memset.s
@@ -67,3 +67,11 @@ L1: rep
movq 16(%rsp),%rdi
ret
.seh_endproc
+
+ .globl wmemset
+ .seh_proc wmemset
+wmemset:
+ .seh_endprologue
+ shlq $1,%r8 /* cnt * sizeof (wchar_t) */
+ jmp memset
+ .seh_endproc
More information about the Cygwin-cvs
mailing list