Skip to content
Snippets Groups Projects
Commit 51a08ad7 authored by Niels Möller's avatar Niels Möller
Browse files

Don't allocate space for a stack copy of the input.

Rev: src/nettle/x86/md5-compress.asm:1.5
parent 9424472a
No related branches found
No related tags found
No related merge requests found
...@@ -24,7 +24,6 @@ define(<SC>,<%ecx>) ...@@ -24,7 +24,6 @@ define(<SC>,<%ecx>)
define(<SD>,<%edx>) define(<SD>,<%edx>)
define(<TMP>,<%ebp>) define(<TMP>,<%ebp>)
define(<INPUT>,<%esi>) define(<INPUT>,<%esi>)
C define(<DATA>,<%esp>)
C %edi is unused C %edi is unused
...@@ -73,23 +72,24 @@ define(<ROUND>,< ...@@ -73,23 +72,24 @@ define(<ROUND>,<
PROLOGUE(_nettle_md5_compress) PROLOGUE(_nettle_md5_compress)
C save all registers that need to be saved C save all registers that need to be saved
pushl %ebx C 76(%esp) C 24(%esp) input
pushl %ebp C 72(%esp) C 20(%esp) state
pushl %esi C 68(%esp) C 16(%esp) Return address
pushl %edi C 64(%esp) pushl %ebx C 12(%esp)
pushl %ebp C 8(%esp)
subl $64, %esp C %esp = W pushl %esi C 4(%esp)
pushl %edi C (%esp)
C load the state vector C load the state vector
movl 84(%esp),TMP movl 20(%esp),TMP
movl (TMP), SA movl (TMP), SA
movl 4(TMP), SB movl 4(TMP), SB
movl 8(TMP), SC movl 8(TMP), SC
movl 12(TMP), SD movl 12(TMP), SD
C Pointer to source data. We copy it to aligned storage C Pointer to source data.
C at %esp when we first use it. C Note that if analigned, we suffer unaligned accesses
movl 88(%esp), INPUT movl 24(%esp), INPUT
ROUND(<F1>, SA, SB, SC, SD, REF( 0), $0xd76aa478, 7) ROUND(<F1>, SA, SB, SC, SD, REF( 0), $0xd76aa478, 7)
ROUND(<F1>, SD, SA, SB, SC, REF( 1), $0xe8c7b756, 12) ROUND(<F1>, SD, SA, SB, SC, REF( 1), $0xe8c7b756, 12)
...@@ -160,13 +160,12 @@ PROLOGUE(_nettle_md5_compress) ...@@ -160,13 +160,12 @@ PROLOGUE(_nettle_md5_compress)
ROUND(<F4>, SB, SC, SD, SA, REF( 9), $0xeb86d391, 21) ROUND(<F4>, SB, SC, SD, SA, REF( 9), $0xeb86d391, 21)
C Update the state vector C Update the state vector
movl 84(%esp),TMP movl 20(%esp),TMP
addl SA, (TMP) addl SA, (TMP)
addl SB, 4(TMP) addl SB, 4(TMP)
addl SC, 8(TMP) addl SC, 8(TMP)
addl SD, 12(TMP) addl SD, 12(TMP)
addl $64, %esp
popl %edi popl %edi
popl %esi popl %esi
popl %ebp popl %ebp
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment