mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-29 08:11:08 +00:00
aarch64/strncmp: Unbreak builds with old binutils
Binutils 2.26.* and older do not support moves with shifted registers, so use a separate shift instruction instead.
This commit is contained in:
parent
7108f1f944
commit
d46f84de74
@ -1,3 +1,8 @@
|
||||
2018-03-14 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
||||
|
||||
* sysdeps/aarch64/strncmp.S (strncmp): Use a separate shift
|
||||
instruction to unbreak builds with binutils 2.26 and older.
|
||||
|
||||
2018-03-13 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
||||
|
||||
* sysdeps/aarch64/strncmp.S (count): New macro.
|
||||
|
@ -208,13 +208,15 @@ L(done):
|
||||
/* Align the SRC1 to a dword by doing a bytewise compare and then do
|
||||
the dword loop. */
|
||||
L(try_misaligned_words):
|
||||
mov limit_wd, limit, lsr #3
|
||||
mov limit_wd, limit
|
||||
lsr limit_wd, limit_wd, #3
|
||||
cbz count, L(do_misaligned)
|
||||
|
||||
neg count, count
|
||||
and count, count, #7
|
||||
sub limit, limit, count
|
||||
mov limit_wd, limit, lsr #3
|
||||
mov limit_wd, limit
|
||||
lsr limit_wd, limit_wd, #3
|
||||
|
||||
L(page_end_loop):
|
||||
ldrb data1w, [src1], #1
|
||||
|
Loading…
Reference in New Issue
Block a user