From b60efb20fb823e7c4ce6ee550a3c4765674f3852 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Sat, 13 Sep 2008 21:04:16 +0200
Subject: [PATCH] * x86/aes-encrypt-internal.asm: Updated use of
 AES_SUBST_BYTE. USe decl for outer loop. * x86/aes-decrypt-internal.asm:
 Likewise.

Rev: nettle/x86/aes-decrypt-internal.asm:1.3
Rev: nettle/x86/aes-encrypt-internal.asm:1.3
---
 x86/aes-decrypt-internal.asm | 6 +++---
 x86/aes-encrypt-internal.asm | 5 ++---
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/x86/aes-decrypt-internal.asm b/x86/aes-decrypt-internal.asm
index ff94fa8f..dffad282 100644
--- a/x86/aes-decrypt-internal.asm
+++ b/x86/aes-decrypt-internal.asm
@@ -72,6 +72,8 @@ PROLOGUE(_nettle_aes_decrypt)
 	testl	%ebp,%ebp
 	jz	.Lend
 
+	shrl	$4, FRAME_LENGTH
+	
 .Lblock_loop:
 	movl	FRAME_CTX,KEY	C  address of context struct ctx
 	C  get number of rounds to do from ctx struct	
@@ -150,10 +152,8 @@ PROLOGUE(_nettle_aes_decrypt)
 	AES_STORE(SA,SB,SC,SD, KEY, TMP)
 	
 	addl	$16, FRAME_DST		C Increment destination pointer
-	subl	$16, FRAME_LENGTH	C Length
+	decl	FRAME_LENGTH
 
-	C NOTE: Will loop forever if input data is not an
-	C integer number of blocks.
 	jnz	.Lblock_loop
 
 .Lend:
diff --git a/x86/aes-encrypt-internal.asm b/x86/aes-encrypt-internal.asm
index dc573948..a6517851 100644
--- a/x86/aes-encrypt-internal.asm
+++ b/x86/aes-encrypt-internal.asm
@@ -72,6 +72,7 @@ PROLOGUE(_nettle_aes_encrypt)
 	testl	%ebp,%ebp
 	jz	.Lend
 
+	shrl	$4, FRAME_LENGTH
 .Lblock_loop:
 	movl	FRAME_CTX,KEY	C  address of context struct ctx
 	C  get number of rounds to do from ctx struct	
@@ -150,10 +151,8 @@ PROLOGUE(_nettle_aes_encrypt)
 	AES_STORE(SA,SB,SC,SD, KEY, TMP)
 	
 	addl	$16, FRAME_DST		C Increment destination pointer
-	subl	$16, FRAME_LENGTH	C Length
+	decl	FRAME_LENGTH		C Length
 
-	C NOTE: Will loop forever if input data is not an
-	C integer number of blocks.
 	jnz	.Lblock_loop
 
 .Lend:
-- 
GitLab