From 4ea762a15fbaa98a30cbc441922be12e600d8a78 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Thu, 25 Jan 2024 20:05:52 +0100
Subject: [PATCH] Update x86 (32-bit) aes decrypt.

---
 x86/aes-decrypt-internal.asm | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/x86/aes-decrypt-internal.asm b/x86/aes-decrypt-internal.asm
index 730ce2ed..36d6ca44 100644
--- a/x86/aes-decrypt-internal.asm
+++ b/x86/aes-decrypt-internal.asm
@@ -90,7 +90,10 @@ PROLOGUE(_nettle_aes_decrypt)
 	jz	.Lend
 
 	shrl	$4, PARAM_LENGTH
-	subl	$1, PARAM_ROUNDS
+	movl	PARAM_ROUNDS, TMP
+	decl	PARAM_ROUNDS
+	shll	$4, TMP
+	addl	TMP, PARAM_KEYS
 .Lblock_loop:
 	movl	PARAM_KEYS, KEY	C  address of subkeys
 	
@@ -103,7 +106,7 @@ PROLOGUE(_nettle_aes_decrypt)
 	C Loop counter on stack
 	movl	TMP, FRAME_COUNT
 
-	addl	$16,KEY		C  point to next key
+	subl	$16,KEY		C  point to next key
 	movl	KEY,FRAME_KEY
 	ALIGN(16)
 .Lround_loop:
@@ -128,7 +131,7 @@ PROLOGUE(_nettle_aes_decrypt)
 	xorl	4(KEY),SB
 	xorl	8(KEY),SC
 	xorl	12(KEY),SD
-	addl	$16,FRAME_KEY	C  point to next key
+	subl	$16,FRAME_KEY	C  point to next key
 	decl	FRAME_COUNT
 	jnz	.Lround_loop
 
-- 
GitLab