aboutsummaryrefslogtreecommitdiff
path: root/string/test
diff options
context:
space:
mode:
authorBranislav Rankov <branislav.rankov@arm.com>2020-02-06 18:34:01 +0000
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2020-02-18 16:46:59 +0000
commit02cfc9cc9a06eca291d4c4b15887381bf4e88c4b (patch)
tree8cb108f73c0864e365af77051b0a36bdbe7d4ed3 /string/test
parent1dfd7b85de70c8fa8c26316b2b67a6d6b3f638fd (diff)
downloadarm-optimized-routines-02cfc9cc9a06eca291d4c4b15887381bf4e88c4b.tar.gz
ARMv8.5 MTE: Add MTE compatible version of strlen.
Reading outside the range of the string is only allowed within 16 byte aligned granules when MTE is enabled. This implementation is based on string/aarch64/strlen.S Merged the page cross code into the main path and optimized it. Modified the zeroones mask to ignore the bytes that are loaded but are not part of the string. Made a special case for when there is 8 bytes or less to check before the alignment boundary.
Diffstat (limited to 'string/test')
-rw-r--r--string/test/strlen.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/string/test/strlen.c b/string/test/strlen.c
index ff8e328..96e6cd6 100644
--- a/string/test/strlen.c
+++ b/string/test/strlen.c
@@ -21,6 +21,7 @@ static const struct fun
F(strlen)
#if __aarch64__
F(__strlen_aarch64)
+F(__strlen_aarch64_mte)
# if __ARM_FEATURE_SVE
F(__strlen_aarch64_sve)
# endif