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