diff options
author | Siddhesh Poyarekar <siddhesh@sourceware.org> | 2018-03-15 08:06:21 +0530 |
---|---|---|
committer | Wilco Dijkstra <wdijkstr@arm.com> | 2019-09-06 17:15:27 +0100 |
commit | e3c35100d32f83aa3c0ec57b83746fea9b98bc2f (patch) | |
tree | 92afbe57d74988e104d7862a779b43dae4de7b6c | |
parent | 00fd3acde1475e1bc488ee13ae124d0340da856e (diff) | |
download | glibc-e3c35100d32f83aa3c0ec57b83746fea9b98bc2f.tar.gz glibc-e3c35100d32f83aa3c0ec57b83746fea9b98bc2f.tar.xz glibc-e3c35100d32f83aa3c0ec57b83746fea9b98bc2f.zip |
aarch64/strncmp: Use lsr instead of mov+lsr
A lsr can do what the mov and lsr did. (cherry picked from commit b47c3e7637efb77818cbef55dcd0ed1f0ea0ddf1)
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/aarch64/strncmp.S | 6 |
2 files changed, 7 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog index 2c388920dc..e9557b8c85 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2019-09-06 Siddhesh Poyarekar <siddhesh@sourceware.org> + * sysdeps/aarch64/strncmp.S (strncmp): Use lsr instead of + mov + lsr. + +2019-09-06 Siddhesh Poyarekar <siddhesh@sourceware.org> + * sysdeps/aarch64/strncmp.S (strncmp): Use a separate shift instruction to unbreak builds with binutils 2.26 and older. diff --git a/sysdeps/aarch64/strncmp.S b/sysdeps/aarch64/strncmp.S index d1bfa27ca4..fc1f633348 100644 --- a/sysdeps/aarch64/strncmp.S +++ b/sysdeps/aarch64/strncmp.S @@ -208,15 +208,13 @@ 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 limit_wd, limit_wd, #3 + lsr limit_wd, limit, #3 cbz count, L(do_misaligned) neg count, count and count, count, #7 sub limit, limit, count - mov limit_wd, limit - lsr limit_wd, limit_wd, #3 + lsr limit_wd, limit, #3 L(page_end_loop): ldrb data1w, [src1], #1 |