diff options
author | Danny Lin <danny@kdrag0n.dev> | 2021-03-21 01:51:00 -0700 |
---|---|---|
committer | alk3pInjection <webmaster@raspii.tech> | 2021-09-27 21:17:05 +0800 |
commit | 03559b84468a98cd72150a66092ec463035bb666 (patch) | |
tree | bb321caca05a1413985d29560130bde2550b5fc7 /libc/private/bionic_asm.h | |
parent | ba602b8990ff1b695ea580a537a07a07224da937 (diff) |
[ProtonAOSP] Switch to arm-optimized-routines for arm64lineage-18.1
This replaces the following string functions with implementations from
arm-optimized-routines [1]:
- memchr
- strchr
- strcmp
- strlen
- strncmp
- strnlen
- memcmp
- memcpy (NEON variant)
- memmove
- memrchr
- memset
- stpcpy
- strchrnul
- strcpy
- strrchr
- wmemmove
All string functions supported by arm-optimized-routines were added as
of upstream commit e823e3abf5f89ecba58a10fc0fd82c13d9984b6b. The NEON
variant of memcpy was used with the assumption that all of our arm64
targets support NEON.
[1] https://github.com/ARM-software/optimized-routines
Test: builds and boots
Change-Id: Id43fcf54c459b7edab306030c668d1c1ce3d95cd
Diffstat (limited to 'libc/private/bionic_asm.h')
-rw-r--r-- | libc/private/bionic_asm.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libc/private/bionic_asm.h b/libc/private/bionic_asm.h index 6409563f2..d18f0fc42 100644 --- a/libc/private/bionic_asm.h +++ b/libc/private/bionic_asm.h @@ -83,4 +83,15 @@ .globl alias; \ .equ alias, original +/* For arm-optimized-routines */ +#define L(l) .L ## l +#ifdef __ILP32__ + /* Sanitize padding bits of pointer arguments as per aapcs64 */ +#define PTR_ARG(n) mov w##n, w##n +#define SIZE_ARG(n) mov w##n, w##n +#else +#define PTR_ARG(n) +#define SIZE_ARG(n) +#endif + #endif |