aboutsummaryrefslogtreecommitdiff
path: root/string/include
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2020-12-02 14:54:45 +0000
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2021-02-12 12:43:28 +0000
commitfcad5b82714f408d1c83bfdeb50578c6ca1ab20b (patch)
tree1d45716915b0554305d370365f792b27c7a92bb1 /string/include
parentf8d6aecefff23e1d5c4f8df128b545db43a49a00 (diff)
downloadarm-optimized-routines-fcad5b82714f408d1c83bfdeb50578c6ca1ab20b.tar.gz
string: add __mtag_tag_zero_region
Add optimized __mtag_tag_zero_region(dst, len) operation to AOR. It tags the memory according to the tag of the dst pointer then memsets it to 0 and returns dst. It requires MTE support. The memory remains untagged if tagging is not enabled for it. The dst must be 16 bytes aligned and len must be a multiple of 16. Similar to __mtag_tag_region, but uses the zeroing instructions.
Diffstat (limited to 'string/include')
-rw-r--r--string/include/stringlib.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/string/include/stringlib.h b/string/include/stringlib.h
index b3aa118..bc28c84 100644
--- a/string/include/stringlib.h
+++ b/string/include/stringlib.h
@@ -56,6 +56,7 @@ int __strncmp_aarch64_sve (const char *, const char *, size_t);
# endif
# if __ARM_FEATURE_MEMORY_TAGGING
void *__mtag_tag_region (void *, size_t);
+void *__mtag_tag_zero_region (void *, size_t);
# endif
#elif __arm__
void *__memcpy_arm (void *__restrict, const void *__restrict, size_t);