Re: [PATCH] Arm: Remove inline assembler from string-fza.h
Adhemerval Zanella Netto <[email protected]>
| Newsgroups | gmane.comp.lib.glibc.alpha |
|---|---|
| Organization | Linaro |
| Message-ID | <[email protected]> |
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 <[email protected]> > > --- > > 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. */ >