Skip to content

PixelOS-AOSP/external_arm-optimized-routines

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3a0b36b · Jul 3, 2024
May 23, 2024
Feb 10, 2022
May 16, 2024
Jan 11, 2024
May 16, 2018
Jul 3, 2024
Feb 10, 2022
Jun 14, 2022
Jun 21, 2024
Jan 11, 2019
Jan 24, 2023
Jan 17, 2019
May 23, 2024
Feb 10, 2022
Mar 18, 2022
May 14, 2024
Jan 3, 2020
Jun 26, 2024

Repository files navigation

Arm Optimized Routines
----------------------

This repository contains implementations of library functions
provided by Arm. The outbound license is available under a dual
license, at the user’s election, as reflected in the LICENSE file.
Contributions to this project are accepted, but Contributors have
to sign an Assignment Agreement, please follow the instructions in
contributor-agreement.pdf. This is needed so upstreaming code
to projects that require copyright assignment is possible. Further
contribution requirements are documented in README.contributors of
the appropriate subdirectory.

Regular quarterly releases are tagged as vYY.MM, the latest
release is v24.05.

Source code layout:

build/          - build directory (created by make).
math/           - math subproject sources.
math/include/   - math library public headers.
math/test/      - math test and benchmark related sources.
math/tools/     - tools used for designing the algorithms.
networking/     - networking subproject sources.
networking/include/ - networking library public headers.
networking/test/ - networking test and benchmark related sources.
string/         - string routines subproject sources.
string/include/ - string library public headers.
string/test/    - string test and benchmark related sources.
pl/...          - separately maintained performance library code.

The steps to build the target libraries and run the tests:

cp config.mk.dist config.mk
# edit config.mk if necessary ...
make
make check

Or building outside of the source directory:

ln -s path/to/src/Makefile Makefile
cp path/to/src/config.mk.dist config.mk
echo 'srcdir = path/to/src' >> config.mk
# further edits to config.mk
make
make check

Or building and testing the math subproject only:

make all-math
make check-math

The test system requires libmpfr and libmpc.
For example on debian linux they can be installed as:

sudo apt-get install libmpfr-dev libmpc-dev

For cross build, CROSS_COMPILE should be set in config.mk and EMULATOR
should be set for cross testing (e.g. using qemu-user or remote access
to a target machine), see the examples in config.mk.dist.