[PATCH][AArch64] Fix issue with dst bias in memset
Richard Earnshaw (lists)
Richard.Earnshaw@arm.com
Mon Nov 12 18:03:00 GMT 2018
On 08/11/2018 15:50, Wilco Dijkstra wrote:
> 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, 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.
>
> --
>
> diff --git a/newlib/libc/machine/aarch64/memset.S b/newlib/libc/machine/aarch64/memset.S
> index 7c8fe583bf88722d73b90ec470c72b509e5be137..103e3f8bb0f20a5d02578f2379620687eae10a52 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
>
Pushed
More information about the Newlib
mailing list