1
= Cortex-A String Routines =
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
10
These routines can be used either stand-alone or as a GLIBC add-on.
12
To use them stand-alone, first configure and then install
13
libcortexcpu.so. To make other applications use this library, either
14
add -lcortexcpu to the link command or use LD_PRELOAD to load the
15
library into existing applications.
17
To use them as a GLIBC add-on, first configure and run `make add-on`
18
to generate cortexcpu.tar. Extract this into the GLIBC source
19
directory, enable the add-on using `--enable-add-ons=cortexcpu` and
20
`--with-cpu=cortex-a8`, build GLIBC, and install.
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.
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
33
* src/neon for contains NEON based routines for all processors
34
* src/cortex-a8/neon for NEON-based routines especially optimised for the A8
39
The routines are currently under the modified BSD and simplified BSD.
41
== Notes and Limitations ==
42
This is an early release that contains Cortex-A8 with NEON focused
43
routines. Most of the implementations have been collected from other
44
projects and have a variety of licenses and copyright holders. Future
45
releases are intended to tidy this up.
47
The GLIBC add-on generates a cortex-a8 add-on only.