From d70329baf0dff2602fb338467f345cd600f8ac29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se> Date: Mon, 11 Feb 2002 22:32:48 +0100 Subject: [PATCH] * sparc/aes.asm (key_addition32): First attempt at optimization. Made it slower ;-) Rev: src/nettle/sparc/aes.asm:1.4 --- sparc/aes.asm | 44 ++++++++++++++++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/sparc/aes.asm b/sparc/aes.asm index d54f8d96..8860acb0 100644 --- a/sparc/aes.asm +++ b/sparc/aes.asm @@ -65,23 +65,47 @@ key_addition_8to32: .type key_addition32,#function .proc 020 key_addition32: - mov %o0, %o4 + ! Use %g2 and %g3 as temporaries, %o3 as counter mov 0, %o3 .LL26: - sll %o3, 2, %g2 - ld [%o1+%g2], %g3 + ! Get *txt++ + ld [%o0], %g2 + add %o0, 4, %o0 + ! Get *keys++ + ld [%o1], %g3 + add %o1, 4, %o1 + xor %g2, %g3, %g3 + st %g3, [%o2] + ! Incrementing %o2 in the delay slot add %o3, 1, %o3 - ld [%o4+%g2], %o0 - cmp %o3, 3 - - xor %g3, %o0, %g3 + ! FIXME: Unroll or inline? + cmp %o3, 3 bleu .LL26 - st %g3, [%o2+%g2] - + add %o2, 4, %o2 + retl nop -.LLFE2: + +! ! And three more times +! +! mov %o0, %o4 +! mov 0, %o3 +! .LL26: +! sll %o3, 2, %g2 +! ld [%o1+%g2], %g3 +! add %o3, 1, %o3 +! ld [%o4+%g2], %o0 +! cmp %o3, 3 +! +! xor %g3, %o0, %g3 +! +! bleu .LL26 +! st %g3, [%o2+%g2] +! +! retl +! nop + .LLfe2: .size key_addition32,.LLfe2-key_addition32 .align 4 -- GitLab