aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2021-10-29 17:17:31 +0100
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2022-02-10 11:05:55 +0000
commitdfa594c3976183897080de6deac2e40fb1506b57 (patch)
tree61c6d290f64332c5de4f1661ab1549cf6855c827
parent998fec12c602b64261eca197f87d744183626907 (diff)
downloadarm-optimized-routines-dfa594c3976183897080de6deac2e40fb1506b57.tar.gz
Add pl subdirectory
This directory will contain optimized code that is maintained separately from existing routines with different requirements.
-rw-r--r--README1
-rw-r--r--pl/README.contributors23
2 files changed, 24 insertions, 0 deletions
diff --git a/README b/README
index 0afca55..e24746d 100644
--- a/README
+++ b/README
@@ -27,6 +27,7 @@ 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:
diff --git a/pl/README.contributors b/pl/README.contributors
new file mode 100644
index 0000000..3af9b1f
--- /dev/null
+++ b/pl/README.contributors
@@ -0,0 +1,23 @@
+Code in this sub-directory should follow the GNU Coding Standard, but it is
+not expected to be upstreamed into glibc without modification, so
+glibc-specific conventions need not be followed.
+
+The requirements for portable code apply to non-portable code with the
+following differences:
+
+
+1. Worst-case ULP error should be encoded in filenames (e.g. sin_u35.c). There
+ are no specific restrictions on acceptable ULP error, but if functions
+ provide significantly less accuracy than portable equivalents then a clear
+ justification for inclusion should be stated in comments at the top of the
+ source file. Error bounds of the approximation should be clearly documented
+ in comments.
+
+2. Functions are assumed to support round-to-nearest mode by default, unless
+ stated; other rounding modes are not required to be provided.
+
+3. Handling of special cases may be relaxed for vector functions. Checking
+ whether each vector lane contains special values such as NaN, Inf or
+ denormal numbers can prove too costly for vector functions. This is often
+ not required since vector functions are typically used along with aggressive
+ compiler optimization flags.