This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via 557f663a8cb7de8cbbfa9ce63b2c956bcaad194c (commit)
from e517397535b0777568fd9c13c4214b63c52d0798 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 557f663a8cb7de8cbbfa9ce63b2c956bcaad194c
Author: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
Date: Sun May 29 08:53:18 2016 +0200
mips: allow to disable prefetch support in memcpy/memset
There exist some problem with the new memcpy/memset functions
imported from GNU libc/newlib. If you have any problem
with the new MIPS optimized assembly try to disable
prefetching support.
Thanks to Rene Nielsen and Matthew Fortune analyzing the
problem so far.
-----------------------------------------------------------------------
Summary of changes:
extra/Configs/Config.mips | 7 +++++++
libc/string/mips/memcpy.S | 2 +-
libc/string/mips/memset.S | 2 +-
3 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/extra/Configs/Config.mips b/extra/Configs/Config.mips
index e0b62dd..919e80c 100644
--- a/extra/Configs/Config.mips
+++ b/extra/Configs/Config.mips
@@ -31,3 +31,10 @@ config CONFIG_MIPS_N64_ABI
bool "N64 ABI"
endchoice
+
+config UCLIBC_USE_MIPS_PREFETCH
+ bool "Use MIPS prefetch optimization for memcpy/memset"
+ default y
+ help
+ You get better performance when you use Prefetch.
+
https://gcc.gnu.org/projects/prefetch.html#mips
diff --git a/libc/string/mips/memcpy.S b/libc/string/mips/memcpy.S
index 59f9f0a..3825875 100644
--- a/libc/string/mips/memcpy.S
+++ b/libc/string/mips/memcpy.S
@@ -39,7 +39,7 @@
#if (_MIPS_ISA == _MIPS_ISA_MIPS4) || (_MIPS_ISA == _MIPS_ISA_MIPS5) || \
(_MIPS_ISA == _MIPS_ISA_MIPS32) || (_MIPS_ISA == _MIPS_ISA_MIPS64)
-# ifndef DISABLE_PREFETCH
+# ifdef __UCLIBC_USE_MIPS_PREFETCH__
# define USE_PREFETCH
# endif
#endif
diff --git a/libc/string/mips/memset.S b/libc/string/mips/memset.S
index 43034ce..1c9f14c 100644
--- a/libc/string/mips/memset.S
+++ b/libc/string/mips/memset.S
@@ -37,7 +37,7 @@
prefetching. */
#if (__mips == 4) || (__mips == 5) || (__mips == 32) || (__mips == 64)
-# ifndef DISABLE_PREFETCH
+# ifdef __UCLIBC_USE_MIPS_PREFETCH__
# define USE_PREFETCH
# endif
#endif
hooks/post-receive
--
uClibc-ng - small C library for embedded systems