x86-64: Use testl to check __x86_string_control
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 28 Aug 2021 13:10:38 +0000 (06:10 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 30 Aug 2021 17:39:53 +0000 (10:39 -0700)
Use testl, instead of andl, to check __x86_string_control to avoid
updating __x86_string_control.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S

index 9f02624..abde843 100644 (file)
@@ -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