[PATCH] x86: Fix an unknown vector operation in memchr-evex.S

Alice Xu alice.d.xu@gmail.com
Sat May 8 01:23:04 GMT 2021


An unknown vector operation occurred in commit 2a76821c308. Fixed it
by using "ymm{k1}{z}" but not "ymm {k1} {z}".

---
 sysdeps/x86_64/multiarch/memchr-evex.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sysdeps/x86_64/multiarch/memchr-evex.S
b/sysdeps/x86_64/multiarch/memchr-evex.S
index 81d5cd6486..f3fdad4fda 100644
--- a/sysdeps/x86_64/multiarch/memchr-evex.S
+++ b/sysdeps/x86_64/multiarch/memchr-evex.S
@@ -271,7 +271,7 @@ L(loop_4x_vec):
        vpxorq  (VEC_SIZE * 6)(%rdi), %YMMMATCH, %YMM3
        VPCMP   $0, (VEC_SIZE * 7)(%rdi), %YMMMATCH, %k3
        /* Reduce VEC2 / VEC3 with min and VEC1 with zero mask.  */
-       VPMINU  %YMM2, %YMM3, %YMM3 {%k1} {z}
+       VPMINU  %YMM2, %YMM3, %YMM3{%k1}{z}
        VPCMP   $0, %YMM3, %YMMZERO, %k2
 # ifdef USE_AS_RAWMEMCHR
        subq    $-(VEC_SIZE * 4), %rdi
--
2.25.1


More information about the Libc-alpha mailing list