--- a/sysdeps/x86_64/multiarch/strcmp-avx2.S +++ a/sysdeps/x86_64/multiarch/strcmp-avx2.S @@ -256,6 +256,12 @@ L(next_3_vectors): vpmovmskb %ymm0, %ecx testl %ecx, %ecx jne L(return_3_vec_size) + /* Check if VEC_SIZE * 4 already exceeded max compare count %r11 */ +# ifdef USE_AS_STRNCMP + movq $(VEC_SIZE * 4), %rdx + cmpq %r11, %rdx + jae L(zero) +# endif L(main_loop_header): leaq (VEC_SIZE * 4)(%rdi), %rdx movl $PAGE_SIZE, %ecx