diff --git a/sparc/aes.asm b/sparc/aes.asm index 4948d7b35e4a515a8c0b9ef3169c29311a14c629..744d182de1fdd7d9d916e0b2c86dc1e8f77bb1fa 100644 --- a/sparc/aes.asm +++ b/sparc/aes.asm @@ -69,7 +69,9 @@ _aes_crypt: mov -4, i .Lsource_loop: add i, 4, i - add i, src, %o5 + ! add i, src, %o5 + mov src, %o5 + ldub [%o5+3], %g2 ldub [%o5+2], %g3 @@ -78,14 +80,15 @@ _aes_crypt: sll %g3, 16, %g3 or %g2, %g3, %g2 - ldub [src+i], %o5 + ldub [%o5], %o5 sll %o0, 8, %o0 ld [ctx+i], %g3 or %g2, %o0, %g2 or %g2, %o5, %g2 xor %g2, %g3, %g2 - cmp i, 12 + add src, 4, src + cmp i, 8 bleu .Lsource_loop st %g2, [wtxt+i] @@ -233,7 +236,7 @@ _aes_crypt: bleu .Lfinal_loop add %g4, 4, %g4 - add src, 16, src + ! add src, 16, src addcc length, -16, length bne .Lblock_loop add dst, 16, dst