aarch64: MTE compatible strncmp
commit03e1378f94173fc192a81e421457198f7b8a34a0
authorAlex Butler <Alex.Butler@arm.com>
Tue, 16 Jun 2020 12:44:24 +0000 (16 12:44 +0000)
committerSzabolcs Nagy <szabolcs.nagy@arm.com>
Tue, 23 Jun 2020 16:55:39 +0000 (23 17:55 +0100)
tree1281337c947bc23a3e778dd6bc8086857892d432
parentadac54ffc5ded48cba7deb18e46df984b213b0ac
aarch64: MTE compatible strncmp

Add support for MTE to strncmp. Regression tested with xcheck and benchmarked
with glibc's benchtests on the Cortex-A53, Cortex-A72, and Neoverse N1.

The existing implementation assumes that any access to the pages in which the
string resides is safe. This assumption is not true when MTE is enabled. This
patch updates the algorithm to ensure that accesses remain within the bounds
of an MTE tag (16-byte chunks) and improves overall performance.

Co-authored-by: Branislav Rankov <branislav.rankov@arm.com>
Co-authored-by: Wilco Dijkstra <wilco.dijkstra@arm.com>
sysdeps/aarch64/strncmp.S