You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.3 KiB
34 lines
1.3 KiB
commit f2413f2710d5d5cc884b413b83fcf8198e3717fa |
|
Author: H.J. Lu <hjl.tools@gmail.com> |
|
Date: Sat Aug 28 06:10:38 2021 -0700 |
|
|
|
x86-64: Use testl to check __x86_string_control |
|
|
|
Use testl, instead of andl, to check __x86_string_control to avoid |
|
updating __x86_string_control. |
|
|
|
Reviewed-by: Carlos O'Donell <carlos@redhat.com> |
|
(cherry picked from commit 3c8b9879cab6d41787bc5b14c1748f62fd6d0e5f) |
|
|
|
diff --git a/sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S b/sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S |
|
index 9f02624375c07b26..abde8438d41f2320 100644 |
|
--- a/sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S |
|
+++ b/sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S |
|
@@ -325,7 +325,7 @@ L(movsb): |
|
/* Avoid slow backward REP MOVSB. */ |
|
jb L(more_8x_vec_backward) |
|
# if AVOID_SHORT_DISTANCE_REP_MOVSB |
|
- andl $X86_STRING_CONTROL_AVOID_SHORT_DISTANCE_REP_MOVSB, __x86_string_control(%rip) |
|
+ testl $X86_STRING_CONTROL_AVOID_SHORT_DISTANCE_REP_MOVSB, __x86_string_control(%rip) |
|
jz 3f |
|
movq %rdi, %rcx |
|
subq %rsi, %rcx |
|
@@ -333,7 +333,7 @@ L(movsb): |
|
# endif |
|
1: |
|
# if AVOID_SHORT_DISTANCE_REP_MOVSB |
|
- andl $X86_STRING_CONTROL_AVOID_SHORT_DISTANCE_REP_MOVSB, __x86_string_control(%rip) |
|
+ testl $X86_STRING_CONTROL_AVOID_SHORT_DISTANCE_REP_MOVSB, __x86_string_control(%rip) |
|
jz 3f |
|
movq %rsi, %rcx |
|
subq %rdi, %rcx
|
|
|