diff options
author | Branislav Rankov <branislav.rankov@arm.com> | 2020-02-06 18:34:01 +0000 |
---|---|---|
committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2020-02-18 16:46:59 +0000 |
commit | 02cfc9cc9a06eca291d4c4b15887381bf4e88c4b (patch) | |
tree | 8cb108f73c0864e365af77051b0a36bdbe7d4ed3 /string/test | |
parent | 1dfd7b85de70c8fa8c26316b2b67a6d6b3f638fd (diff) | |
download | arm-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.c | 1 |
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 |