summaryrefslogtreecommitdiff
path: root/x86_64/aes-decrypt-internal.asm
diff options
context:
space:
mode:
Diffstat (limited to 'x86_64/aes-decrypt-internal.asm')
-rw-r--r--x86_64/aes-decrypt-internal.asm12
1 files changed, 6 insertions, 6 deletions
diff --git a/x86_64/aes-decrypt-internal.asm b/x86_64/aes-decrypt-internal.asm
index 0d4f2f92..606b7c89 100644
--- a/x86_64/aes-decrypt-internal.asm
+++ b/x86_64/aes-decrypt-internal.asm
@@ -33,14 +33,14 @@ define(<TC>,<%r12d>)
define(<CTX>, <%rdi>)
define(<TABLE>, <%rsi>)
-define(<PARAM_LENGTH>,<%edx>) C Length is only 32 bits
+define(<PARAM_LENGTH>,<%rdx>)
define(<PARAM_DST>, <%rcx>)
define(<SRC>, <%r8>)
define(<DST>, <%r9>)
define(<KEY>,<%r14>)
define(<COUNT>, <%r15d>)
-define(<BLOCK_COUNT>, <%r13d>)
+define(<BLOCK_COUNT>, <%r13>)
C Must correspond to an old-style register, for movzb from %ah--%dh to
C work.
@@ -50,7 +50,7 @@ define(<TMP>,<%rbp>)
C _aes_decrypt(struct aes_context *ctx,
C const struct aes_table *T,
- C unsigned length, uint8_t *dst,
+ C size_t length, uint8_t *dst,
C uint8_t *src)
.text
ALIGN(16)
@@ -68,8 +68,8 @@ PROLOGUE(_nettle_aes_decrypt)
push %r15
mov PARAM_DST, DST
- movl PARAM_LENGTH, BLOCK_COUNT
- shrl $4, BLOCK_COUNT
+ mov PARAM_LENGTH, BLOCK_COUNT
+ shr $4, BLOCK_COUNT
.Lblock_loop:
mov CTX,KEY
@@ -119,7 +119,7 @@ PROLOGUE(_nettle_aes_decrypt)
AES_STORE(TA,TB,TC,SD, KEY, DST)
add $16, DST
- decl BLOCK_COUNT
+ dec BLOCK_COUNT
jnz .Lblock_loop