Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/newlib
diff options
context:
space:
mode:
authorWilco Dijkstra <Wilco.Dijkstra@arm.com>2018-11-08 18:50:42 +0300
committerRichard Earnshaw <Richard.Earnshaw@arm.com>2018-11-08 19:45:19 +0300
commitdf7824d1a465473a1901f67e26fd1485756cb446 (patch)
tree3de7bdee059df006c2116bd3de63aebd48b160d6 /newlib
parentbba82041b26d21a817bdb6b25ee70c8b1212e17b (diff)
Fix issue with dst bias in memset
This patch fixes an issue in the previous memset loop change. If the zva size is >= 256 and there are more than 64 bytes left in the tail, we could enter the loop and thus need to rebias dst by 32 as well. Since no known CPUs use this size this can't be tested natively, so I've tested it on a simulator initialized with a large zva size. --
Diffstat (limited to 'newlib')
-rw-r--r--newlib/libc/machine/aarch64/memset.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/newlib/libc/machine/aarch64/memset.S b/newlib/libc/machine/aarch64/memset.S
index 7c8fe583b..103e3f8bb 100644
--- a/newlib/libc/machine/aarch64/memset.S
+++ b/newlib/libc/machine/aarch64/memset.S
@@ -233,6 +233,7 @@ L(zva_other):
subs count, count, zva_len
b.hs 3b
4: add count, count, zva_len
+ sub dst, dst, 32 /* Bias dst for tail loop. */
b L(tail64)
.size memset, . - memset