[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