[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