diff --git a/wolfcrypt/src/chacha_asm.S b/wolfcrypt/src/chacha_asm.S index 86e6bea5d..0a1ee5d6e 100644 --- a/wolfcrypt/src/chacha_asm.S +++ b/wolfcrypt/src/chacha_asm.S @@ -975,24 +975,24 @@ L_chacha20_avx1_partial_crypt_start: vmovdqu %xmm3, 48(%r10) addl $0x01, 48(%rdi) movl %ecx, %r8d - xorq %rbx, %rbx + xorq %r11, %r11 andl $7, %r8d jz L_chacha20_avx1_partial_start64 L_chacha20_avx1_partial_start8: - movzbl (%r10,%rbx,1), %eax - xorb (%rsi,%rbx,1), %al - movb %al, (%rdx,%rbx,1) - incl %ebx - cmpl %r8d, %ebx + movzbl (%r10,%r11,1), %eax + xorb (%rsi,%r11,1), %al + movb %al, (%rdx,%r11,1) + incl %r11d + cmpl %r8d, %r11d jne L_chacha20_avx1_partial_start8 je L_chacha20_avx1_partial_end64 L_chacha20_avx1_partial_start64: - movq (%r10,%rbx,1), %rax - xorq (%rsi,%rbx,1), %rax - movq %rax, (%rdx,%rbx,1) - addl $8, %ebx + movq (%r10,%r11,1), %rax + xorq (%rsi,%r11,1), %rax + movq %rax, (%rdx,%r11,1) + addl $8, %r11d L_chacha20_avx1_partial_end64: - cmpl %ecx, %ebx + cmpl %ecx, %r11d jne L_chacha20_avx1_partial_start64 L_chacha20_avx1_partial_done: addq $0x190, %rsp