8
by Michael Hope
Added a README. Re-factored the build into a top level Makefile. |
1 |
= Cortex-A String Routines = |
2 |
||
3 |
This package contains optimised string routines including memcpy(), |
|
4 |
memset(), strcpy(), strlen(), and strcmp() for the ARM Cortex-A series |
|
5 |
of processors. Variants are available for the Cortex-A8 and |
|
6 |
Cortex-A9, as well as variants that make use of the optional NEON |
|
7 |
unit. |
|
8 |
||
9 |
== Getting started == |
|
10 |
These routines can be used either stand-alone or as a GLIBC add-on. |
|
11 |
||
12 |
To use them stand-alone, first configure and then install |
|
14
by Michael Hope
Changed all occurances of cortexcpu to cortex-strings |
13 |
libcortex-strings.so. To make other applications use this library, either |
14 |
add -lcortex-strings to the link command or use LD_PRELOAD to load the |
|
8
by Michael Hope
Added a README. Re-factored the build into a top level Makefile. |
15 |
library into existing applications. |
16 |
||
17 |
To use them as a GLIBC add-on, first configure and run `make add-on` |
|
14
by Michael Hope
Changed all occurances of cortexcpu to cortex-strings |
18 |
to generate cortex-strings.tar. Extract this into the GLIBC source |
19 |
directory, enable the add-on using `--enable-add-ons=cortex-strings` and |
|
23
by Michael Hope
Bump the version number to show that its from bzr. Change the default CPU to the A9. Tune for the given CPU. |
20 |
`--with-cpu=cortex-a9`, build GLIBC, and install. |
8
by Michael Hope
Added a README. Re-factored the build into a top level Makefile. |
21 |
|
22 |
== Contents == |
|
23 |
* src/ contains the routines themselves |
|
24 |
* tests/ contains the unit tests |
|
25 |
* reference/ contains reference copies of other ARM-focused |
|
26 |
implementations gathered from around the Internet |
|
27 |
* benchmarks/ contains various benchmarks, tools, and scripts used to |
|
28 |
check and report on the different implementations. |
|
29 |
||
30 |
The src directory contains different variants organised by the |
|
31 |
implementation they run on and optional features used. For example: |
|
32 |
* src/thumb-2 contains generic non-NEON routines for all processors |
|
23
by Michael Hope
Bump the version number to show that its from bzr. Change the default CPU to the A9. Tune for the given CPU. |
33 |
* src/neon contains NEON based routines for all processors |
8
by Michael Hope
Added a README. Re-factored the build into a top level Makefile. |
34 |
|
35 |
== History == |
|
36 |
||
15
by Michael Hope
Minor readme update before 0.1.1 |
37 |
See: |
38 |
https://blueprints.launchpad.net/linaro/+spec/armv7-string-tuning |
|
39 |
for future work. |
|
40 |
||
8
by Michael Hope
Added a README. Re-factored the build into a top level Makefile. |
41 |
== Licensing == |
42 |
The routines are currently under the modified BSD and simplified BSD. |
|
43 |
||
44 |
== Notes and Limitations == |
|
45 |
This is an early release that contains Cortex-A8 with NEON focused |
|
46 |
routines. Most of the implementations have been collected from other |
|
47 |
projects and have a variety of licenses and copyright holders. Future |
|
11
by Michael Hope
Added GLIBC add-on support |
48 |
releases will tidy this up. |