git: 0db6aef407f3 - main - amd64: add a note about simd to libc memset, memmove and memcmp
Mateusz Guzik
mjg at FreeBSD.org
Sun Jan 31 16:07:30 UTC 2021
The branch main has been updated by mjg:
URL: https://cgit.FreeBSD.org/src/commit/?id=0db6aef407f30c138982b8cde43189aad098b337
commit 0db6aef407f30c138982b8cde43189aad098b337
Author: Mateusz Guzik <mjg at FreeBSD.org>
AuthorDate: 2021-01-31 15:50:34 +0000
Commit: Mateusz Guzik <mjg at FreeBSD.org>
CommitDate: 2021-01-31 16:07:19 +0000
amd64: add a note about simd to libc memset, memmove and memcmp
---
lib/libc/amd64/string/memcmp.S | 6 ++++++
lib/libc/amd64/string/memmove.S | 6 ++++++
lib/libc/amd64/string/memset.S | 6 ++++++
3 files changed, 18 insertions(+)
diff --git a/lib/libc/amd64/string/memcmp.S b/lib/libc/amd64/string/memcmp.S
index 231ab2175804..67c7df280679 100644
--- a/lib/libc/amd64/string/memcmp.S
+++ b/lib/libc/amd64/string/memcmp.S
@@ -31,6 +31,12 @@
#include <machine/asm.h>
__FBSDID("$FreeBSD$");
+/*
+ * Note: this routine was written with kernel use in mind (read: no simd),
+ * it is only present in userspace as a temporary measure until something
+ * better gets imported.
+ */
+
#define ALIGN_TEXT .p2align 4,0x90 /* 16-byte alignment, nop filled */
ENTRY(memcmp)
diff --git a/lib/libc/amd64/string/memmove.S b/lib/libc/amd64/string/memmove.S
index 4797140a1c16..3d75ff45c798 100644
--- a/lib/libc/amd64/string/memmove.S
+++ b/lib/libc/amd64/string/memmove.S
@@ -29,6 +29,12 @@
#include <machine/asm.h>
__FBSDID("$FreeBSD$");
+/*
+ * Note: this routine was written with kernel use in mind (read: no simd),
+ * it is only present in userspace as a temporary measure until something
+ * better gets imported.
+ */
+
#define ALIGN_TEXT .p2align 4,0x90 /* 16-byte alignment, nop filled */
/*
diff --git a/lib/libc/amd64/string/memset.S b/lib/libc/amd64/string/memset.S
index 0639573a4a3e..050711302354 100644
--- a/lib/libc/amd64/string/memset.S
+++ b/lib/libc/amd64/string/memset.S
@@ -31,6 +31,12 @@
#include <machine/asm.h>
__FBSDID("$FreeBSD$");
+/*
+ * Note: this routine was written with kernel use in mind (read: no simd),
+ * it is only present in userspace as a temporary measure until something
+ * better gets imported.
+ */
+
#define ALIGN_TEXT .p2align 4,0x90 /* 16-byte alignment, nop filled */
.macro MEMSET erms
More information about the dev-commits-src-main
mailing list