From 49c91fe653d7f937c193b769f324d100196df591 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Wed, 15 May 2002 16:15:14 +0200
Subject: [PATCH] (aes_decrypt): Deleted first xchgl instruction into,
 permuting the AES_ROUND calls instead. (aes_decrypt): Likewise for the final
 round.

Rev: src/nettle/x86/aes-decrypt.asm:1.14
---
 x86/aes-decrypt.asm | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/x86/aes-decrypt.asm b/x86/aes-decrypt.asm
index 6faec7a6..09eba870 100644
--- a/x86/aes-decrypt.asm
+++ b/x86/aes-decrypt.asm
@@ -56,9 +56,6 @@ aes_decrypt:
 .Lround_loop:
 	pushl	%esi		C  save this first: we'll clobber it later
 
-	C Why???
-	C xchgl	%ebx,%edx
-
 	AES_ROUND(_aes_decrypt_table,a,d,c,b)
 	pushl	%edi		C  save first on stack
 
@@ -85,21 +82,18 @@ aes_decrypt:
 	decl	%ebp
 	jnz	.Lround_loop
 
-	C Foo?
-	xchgl	%ebx,%edx
-
 	C last round
 
-	AES_FINAL_ROUND(a,b,c,d)
+	AES_FINAL_ROUND(a,d,c,b)
 	pushl	%edi
 
-	AES_FINAL_ROUND(b,c,d,a)
+	AES_FINAL_ROUND(d,c,b,a)
 	pushl	%edi
 
-	AES_FINAL_ROUND(c,d,a,b)
+	AES_FINAL_ROUND(c,b,a,d)
 	pushl	%edi
 
-	AES_FINAL_ROUND(d,a,b,c)
+	AES_FINAL_ROUND(b,a,d,c)
 	
 	movl	%edi,%edx
 	popl	%ecx
-- 
GitLab