[PATCH] Arm: Remove inline assembler from string-fza.h
Adhemerval Zanella Netto
adhemerval.zanella@linaro.org
Mon Aug 17 14:46:00 GMT 2026
On 17/08/26 11:24, Wilco Dijkstra wrote:
>
> Use __uqsub8 since minimum GCC supports it now.
>
> Passes string tests, OK for commit?
LGTM, thanks.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
>
> ---
>
> diff --git a/sysdeps/arm/armv6t2/string-fza.h b/sysdeps/arm/armv6t2/string-fza.h
> index bc37278414137427778828a25b241f403616aa63..d5221a99c7eb693166e7e4800bf0ecf288994520 100644
> --- a/sysdeps/arm/armv6t2/string-fza.h
> +++ b/sysdeps/arm/armv6t2/string-fza.h
> @@ -21,6 +21,7 @@
>
> #include <string-misc.h>
> #include <string-optype.h>
> +#include <arm_acle.h>
>
> /* The functions return a byte mask. */
> typedef op_t find_t;
> @@ -32,10 +33,7 @@ find_zero_all (op_t x)
> {
> /* Use unsigned saturated subtraction from 1 in each byte.
> That leaves 1 for every byte that was zero. */
> - op_t ones = repeat_bytes (0x01);
> - op_t ret;
> - asm ("uqsub8 %0,%1,%2" : "=r"(ret) : "r"(ones), "r"(x));
> - return ret;
> + return __uqsub8 (repeat_bytes (0x01), x);
> }
>
> /* Identify bytes that are equal between X1 and X2. */
>
More information about the Libc-alpha
mailing list