Age | Commit message (Collapse) | Author |
|
This patch fixes the big-endian code and adds a new optimization
only for little endian mode.
This optimization is based on prefetching and 64bit data transfer via FPU.
Tests shows that
----------------------------------------
Memory bandwidth | Gain
| sh4-300 | sh4-200
----------------------------------------
512 bytes to 16KiB | ~20% | ~25%
from 32KiB to 16MiB | ~190% | ~5%
----------------------------------------
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
sed -i -e '/Experimentally off - /d' $(grep -rl "Experimentally off - " *)
sed -i -e '/^\/\*[[:space:]]*libc_hidden_proto(/d' $(grep -rl "libc_hidden_proto" *)
should be a nop
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Handle O=
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Signed-off-by: Hideo Saito <saito@densan.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
See Linux Kernel commit:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e08b954c9a140f2062649faec72514eb505f18c3
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
The comments on register usage in ARM memcpy had dest and src the
wrong way round; this patch (originally from Mark Shinwell) corrects
this and adds a note on the return value.
Signed-off-by: Joseph Myers <joseph@codesourcery.com>
|
|
When an IT block was changed from having two instructions to having
one, the IT instruction at the start of the block was not updated,
causing memcpy to fail to assemble for Thumb-2; this patch makes the
obvious fix.
Signed-off-by: Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
is always equivalent to __UCLIBC_CURLOCALE->x.
remove typedef __uclibc_locale_t, it used only in a few places,
it is lees confusing to use struct __uclibc_locale_struct
everywhere.
xlocale.h: hide __global_locale back under _LIBC,
bug 53 is wrong in claiming it should be exported.
Also hide under _LIBC:
extern __locale_t __curlocale_var;
extern __locale_t __curlocale(void);
extern __locale_t __curlocale_set(__locale_t newloc);
# define __UCLIBC_CURLOCALE
# define __XL_NPP(N)
# define __LOCALE_PARAM
# define __LOCALE_ARG
# define __LOCALE_PTR
|
|
- SUSv4_LEGACY part #1 (non-networking)
|
|
libc/string/i386/strlen.c: small optimization, same code size)
text data bss dec hex filename
- 240449 1759 11960 254168 3e0d8 lib/libuClibc-0.9.30-svn.so
+ 240339 1759 11960 254058 3e06a lib/libuClibc-0.9.30-svn.so
|
|
string/i386/strchrnul.c: new function, adapted from strchr.c
text data bss dec hex filename
- 240604 1759 11960 254323 3e173 lib/libuClibc-0.9.30-svn.so
+ 240449 1759 11960 254168 3e0d8 lib/libuClibc-0.9.30-svn.so
|
|
string/i386/*: formatiing and commentary tidying up
|
|
|
|
added check for src == dest. run tested.
text data bss dec hex filename
- 39 0 0 39 27 libc/string/i386/memmove.os
+ 37 0 0 37 25 libc/string/i386/memmove.os
|
|
memchr: add small embedded test
strnlen: make small embedded test easier to use
strncmp: reformat assembly to make it readable, no code changes
(verified with objdump)
text data bss dec hex filename
- 46 0 0 46 2e libc/string/i386/strncat.os
+ 39 0 0 39 27 libc/string/i386/strncat.os
|
|
text data bss dec hex filename
- 25 0 0 25 19 libc/string/i386/strnlen.os
+ 24 0 0 24 18 libc/string/i386/strnlen.os
|
|
|
|
implement inline versions of some of them.
Enable only those which result roughly in the same
code size as using out-or-line versions.
None of this affects users, installed headers won't have
any trace of it.
|
|
strrchr: smaller i386 version
text data bss dec hex filename
- 33 0 0 33 21 libc/string/i386/memchr.o
+ 28 0 0 28 1c libc/string/i386/memchr.o
- 31 0 0 31 1f libc/string/i386/strrchr.o
+ 26 0 0 26 1a libc/string/i386/strrchr.o
|
|
"Bounds Checking Projects... This project has been abandoned"
for four years at least.
|
|
for ancient compilers. none of other string/*.c files have them.
|
|
it is dead (not supported by gcc) for years.
(more of it remains in multiple copies of sigaction.c)
|
|
text data bss dec hex filename
- 39 0 0 39 27 libc/string/i386/memcpy.os
+ 35 0 0 35 23 libc/string/i386/memcpy.os
|
|
TARGET_SUBARCH implementation too.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
|
|
Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
|
|
Appears to build fine (several .configs tried)
|
|
|
|
|
|
|
|
|
|
Looks a bit like we wouldn't need to calculate the carry flag there?
|
|
Add a new strncmp testcase.
|
|
Closes issue #5194
|
|
UCLIBC_HAS_STRING_GENERIC_OPT=y
UCLIBC_HAS_STRING_ARCH_OPT is not set
by making WORD_COPY_FWD macros visible.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
found in newlib rather than the ones found in glibc. This should make them
smaller and (hopefully) make them compile with newer versions of gcc.
|
|
|
|
|
|
__UCLIBC_HAS_LOCALE__ macro but it does not include <features.h>, so that macro is never defined. This causes problems with strcoll when locale support is enabled.
|
|
@STMicroelectronics).
This implementation is based on 'backward copying'.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
libc/stdlib/_strtod.c -> tst_wcstod;
libc/stdlib/stdlib.c -> tst_mblen, tst_mbtowc, tst_wctomb;
libc/stdio/_scanf.c -> tst_swscanf;
libc/string/strncmp.c -> tst_wcsncmp;
libc/misc/wchar/wchar.c -> tst_mbrlen, tst_mbrtowc, tst_wcswidth.
Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
|