| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
|
|
|
|
|
| |
Remove forward declaration for service routine.
Reorder code and keep hidden_def right after the respective function.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This optimization is based on prefetching and 64bit data transfer via FPU
(only for the little endianess)
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds the strcpy and strncpy assembly routines.
Benchmarks showed the following gains:
~7% for strcpy
~30% for strncpy
Note: uClibc string tests pass without any failures.
These functions have been only tested on SH4, for this reason
I've voluntarily added them within the sh4 sub-folder.
If somebody would like to test them on other SH CPUs, these can be moved
on sh common folder.
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
|
|
|
|
|
|
| |
Faster assembly implementation of strlen taken from Linux kernel.
Adapted to uClibc.
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
|
|
|
|
|
|
| |
Faster assembly implementation of memchr taken from Linux kernel.
Adapted to uClibc.
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds the memmove fuction for SH4.
By default, it used the generic implementation.
This new code uses the memcpy for BWD copies and implements FWD copy
when required (see comment within the code itself).
The idea behind is to get advantage of using the optimised memcpy for SH4
and use the FPU for FWD copies (for big sizes) as well.
LMBench bw_mem test showed a significant improvement on uClibc because bcopy
invokes memmove, directly.
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds the SH memset assembly implementation currenlty included
into the Kernel.
It also adds, only for little endian mode, the 64bit data transfer via FPU
(using single paired precision mode).
Tests shows that on SH4-300 we gain ~100% for size greater than 1KiB.
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
|
|
|
| |
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
|
|
|
| |
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
|
|
|
| |
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Austin Foxley <austinf@cetoncorp.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: Austin Foxley <austinf@cetoncorp.com>
|
|
|
|
|
| |
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
|
|
|
|
|
| |
Handle O=
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
|
|
|
| |
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
|
|
|
| |
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
Signed-off-by: Austin Foxley <austinf@cetoncorp.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>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
| |
|
| |
|
| |
|
|
|
|
|
| |
By Hai Zaar (haizaar AT codefidence.com)
|
|
|
|
|
|
|
| |
code styling, comments. No object-code changes.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
libc/string/*: small fixes sync from trunk
test/regex/tst-regex2.c: small fixes sync from trunk
libc/misc/time/time.c: optimization from trunk:
text data bss dec hex filename
- 854 24 0 878 36e libc/misc/time/_time_localtime_tzi.os
+ 818 16 0 834 342 libc/misc/time/_time_localtime_tzi.os
|
| |
|
| |
|
|
|
|
| |
Step 24: miscellaneous merge from trunk.
|
|
|
|
|
|
| |
TARGET_SUBARCH implementation too.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
|
|
|
| |
Step 17: libc_hidden_proto removal (almost all).
and other minor changes (inline keyword, extra character)
|
|
|
|
| |
Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
|
|
|
|
| |
Step 10: libc_hidden_removal
|
|
|
|
|
| |
Step 4
libc/string and asm implementation
|
|
|
|
|
|
|
| |
Basically trailing whitespaces removal, fix non standard keywords
asm -> __asm__ inline -> __inline__ and some minor changes on trunk.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
| |
|
|
|
|
| |
folder
|
|
|
|
| |
from memcopy.h to _memcpy_fwd.c to avoid unneeded inclusion in other .c files and silent gcc about unused static function
|
|
|
|
| |
frv/ia64/sparc/i386/powerpc/arm/avr32/x86_64/cris/bfin
|
|
|
|
|
|
|
| |
Step 8: add xtensa, cris and avr32 architecture dependent
files, as is.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(backward memcpy algorithm)
Modified libc/string/generic/Makefile.in to handle
subtarget implementations.
Fixed generic memmove code to handle backward memcpy
by using a selectable config option __ARCH_HAS_BWD_MEMCPY__
This option is on for SH4 arch
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
own 'sysdep.h' file in the various NPTL threads directories. Clean up other files having to do with the usage of it.
|
| |
|
| |
|