From e1afcdb2f3b3c3fa15fda5d6bd44758a82b97f10 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:59:25 +0200 Subject: [PATCH] (AES_FINAL_ROUND): Work to eliminate t3. Rev: src/nettle/sparc/aes.asm:1.109 --- sparc/aes.asm | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/sparc/aes.asm b/sparc/aes.asm index 03e2946f..d19ac1f1 100644 --- a/sparc/aes.asm +++ b/sparc/aes.asm @@ -111,35 +111,33 @@ define(<AES_FINAL_ROUND>, < ldub [wtxt+$1+3], t0 ! 0 ldub [wtxt+t1], t1 ! 1 ldub [T+t0], t0 ! 0 + ldub [T+t1], t1 ! 1 ld [IDX3 + $1], t3 ! 3 sll t1, 8, t1 ! 1 or t0, t1, t0 ! 0, 1 - ! IDX2(j) = j XOR 2 - ldub [wtxt+eval($1 ^ 8)+1], t2 ! 2 - - + ldub [wtxt+eval($1 ^ 8)+1], t1 ! 2 ldub [wtxt+t3], t3 ! 3 - ldub [T+t2], t2 ! 2 - ldub [T+t3], t3 ! 3 + ldub [T+t1], t1 ! 2 + ldub [T+t3], t2 ! 3 - sll t2, 16, t2 ! 2 - or t0, t2, t0 ! 0, 1, 2 - sll t3, 24, t3 ! 3 - ld [key + $1], t2 + sll t1, 16, t1 ! 2 + or t0, t1, t0 ! 0, 1, 2 + sll t2, 24, t2 ! 3 + ld [key + $1], t1 - or t0, t3, t0 ! 0, 1, 2, 3 - xor t0, t2, t0 + or t0, t2, t0 ! 0, 1, 2, 3 + xor t0, t1, t0 + srl t0, 24, t1 + stb t1, [dst+$1+3] - srl t0, 24, t3 - srl t0, 16, t2 + srl t0, 16, t1 + stb t1, [dst+$1+2] srl t0, 8, t1 stb t1, [dst+$1+1] - stb t3, [dst+$1+3] - stb t2, [dst+$1+2] stb t0, [dst+$1]>)dnl C The stack frame looks like -- GitLab