From 88d4e33809d8e2b2c0cb816ce3e5e47ba302eafd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se> Date: Thu, 16 May 2002 00:37:26 +0200 Subject: [PATCH] (AES_ROUND): Reordered instructions, so that we can save one register. Rev: src/nettle/sparc/aes.asm:1.104 --- sparc/aes.asm | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/sparc/aes.asm b/sparc/aes.asm index 709b6dab..f97765ae 100644 --- a/sparc/aes.asm +++ b/sparc/aes.asm @@ -74,30 +74,28 @@ C The code uses the register %o[j], aka tj, as the primary C register for that sub-expression. True for j==1,3. define(<AES_ROUND>, < ld [IDX1+$1], t1 ! 1 - + ldub [wtxt+$1+3], t0 ! 0 ldub [wtxt+t1], t1 ! 1 - ld [IDX3+$1], t3 ! 3 + sll t0, 2, t0 ! 0 + ld [T0+t0], t0 ! 0 sll t1, 2, t1 ! 1 - ldub [wtxt+$1+3], t0 ! 0 + ld [T1+t1], t1 ! 1 + ld [IDX3+$1], t3 ! 3 + + xor t0, t1, t0 ! 0, 1 ! IDX2(j) = j XOR 2 ldub [wtxt+eval($1 ^ 8)+1], t2 ! 2 - ldub [wtxt+t3], t3 ! 3 - sll t0, 2, t0 ! 0 - ld [T0+t0], t0 ! 0 - - ld [T1+t1], t1 ! 1 sll t2, 2, t2 ! 2 + ld [T2+t2], t2 ! 2 sll t3, 2, t3 ! 3 - ld [T3+t3], t3 ! 3 - xor t0, t1, t0 ! 0, 1 xor t0, t2, t0 ! 0, 1, 2 + ! Fetch roundkey ld [key + $1], t1 - xor t0, t3, t0 ! 0, 1, 2, 3 xor t0, t1, t0 st t0, [tmp + $1]>)dnl -- GitLab