forked from rpms/glibc
35 lines
1.3 KiB
Diff
35 lines
1.3 KiB
Diff
|
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
|