Commit Graph

19 Commits

Author SHA1 Message Date
Rich Felker
cccc1844be add arm-optimized memcpy implementation from bionic libc
the approach of this implementation was heavily investigated prior to
adopting it. attempts to obtain similar performance with pure C code
were capping out at about 75% of the performance of the asm, with
considerably larger code size, and were fragile in that the compiler
would sometimes compile part of memcpy into a call to itself.
therefore, just using the asm seems to be the best option.

this commit is the first to make use of the new subarch-specific asm
framework. the new armel directory is the location for arm asm that
should not be used for all arm subarchs, only the default one. armhf
is the name of the little-endian hardfloat-ABI subarch, which can use
the exact same asm. in both cases, the build system finds the asm by
following a memcpy.sub file.

the other two subarchs, armeb and armebhf, would need a big-endian
variant of this code. it would not be hard to adapt the code to big
endian, but I will hold off on doing so until there is demand for it.
2013-08-14 03:06:21 -04:00
Rich Felker
5d37b79793 mention bits headers in another part of copyright file 2013-04-20 14:03:12 -04:00
Rich Felker
a896e89326 update copyright year 2013-04-20 14:02:55 -04:00
Rich Felker
876464622f clarify that bits headers are included as public headers 2013-04-20 14:01:33 -04:00
Rich Felker
22781b4d8e update copyright file for recent contributions 2012-11-14 20:24:46 -05:00
Rich Felker
0d4d1a96e4 update copyright/credits for recent code additions 2012-08-15 00:19:42 -04:00
Rich Felker
3f0636970b relicense musl under MIT license 2012-05-05 00:16:21 -04:00
Rich Felker
8cfbc8be82 update license of njk contributed code (x86_64 asm)
these changes are based on the following communication via email:

"I hereby grant that all of the code I have contributed to musl on or
before April 23, 2012 may be licensed under the terms of the following
MIT license:

Copyright (c) 2011-2012 Nicholas J. Kain

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
2012-05-05 00:02:04 -04:00
Rich Felker
df82f8f2dc update COPYRIGHT status of TRE regex code 2012-03-24 17:46:42 -04:00
Rich Felker
93a50a26cd Merge remote branch 'nsz/master' 2012-03-16 21:01:34 -04:00
Rich Felker
a43c3a337f revert COPYRIGHT file changes in preparation to merge nsz's math branch 2012-03-16 20:52:00 -04:00
Rich Felker
6f21da618f update copyright status (math library and new year) 2012-03-16 19:18:00 -04:00
nsz
3a6c828652 fix copyright notice for the math lib 2012-03-13 16:06:43 +01:00
Rich Felker
febbd12d00 XSI search.h API implementation by Szabolcs Nagy 2011-06-25 18:18:57 -04:00
Rich Felker
c7ce1b20d2 initial commit of prng implementation by Szabolcs Nagy 2011-06-23 18:02:23 -04:00
Rich Felker
22263709ed replace heap sort with smoothsort implementation by Valentin Ochs
Smoothsort is an adaptive variant of heapsort. This version was
written by Valentin Ochs (apo) specifically for inclusion in musl. I
worked with him to get it working in O(1) memory usage even with giant
array element widths, and to optimize it heavily for size and speed.
It's still roughly 4 times as large as the old heap sort
implementation, but roughly 20 times faster given an almost-sorted
array of 1M elements (20 being the base-2 log of 1M), i.e. it really
does reduce O(n log n) to O(n) in the mostly-sorted case. It's still
somewhat slower than glibc's Introsort for random input, but now
considerably faster than glibc when the input is already sorted, or
mostly sorted.
2011-04-27 13:27:04 -04:00
Rich Felker
0b9a1ed00c some docs fixes for x86_64 2011-02-15 14:52:11 -05:00
Rich Felker
05ea04558f explicitly release crt/* to the public domain 2011-02-13 23:32:01 -05:00
Rich Felker
0b44a0315b initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00