[PATCH] Arm: Remove inline assembler from string-fza.h
Wilco Dijkstra <[email protected]>
| Newsgroups | gmane.comp.lib.glibc.alpha |
|---|---|
| Message-ID | <PAWPR08MB8982BF8DF620E62EE9FDB6F383A72@PAWPR08MB8982.eurprd08.prod.outlook.com> |
Use __uqsub8 since minimum GCC supports it now.
Passes string tests, OK for commit?
---
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. */