cmll-x86_64.pl: fix bug in cbc tail processing and comply with Win64 ABI spec.
authorAndy Polyakov <appro@openssl.org>
Sat, 27 Dec 2008 13:39:38 +0000 (13:39 +0000)
committerAndy Polyakov <appro@openssl.org>
Sat, 27 Dec 2008 13:39:38 +0000 (13:39 +0000)
crypto/camellia/asm/cmll-x86_64.pl

index 4fe87e99f2a263c4b22307c5642e402b8a3a1870..c683646ca7c91854793f0765d2ba9cdd7319a591 100644 (file)
@@ -650,7 +650,7 @@ Camellia_cbc_encrypt:
        neg     %r10
        and     \$0x3C0,%r10
        sub     %r10,%rsp
-       add     \$8,%rsp                # 8 is reserved for callee's ra
+       #add    \$8,%rsp                # 8 is reserved for callee's ra
 
        mov     %rdi,$inp               # inp argument
        mov     %rsi,$out               # out argument
@@ -746,7 +746,7 @@ Camellia_cbc_encrypt:
        pushfq
        cld
        mov     $inp,%rsi
-       lea     $ivec,%rdi
+       lea     8+$ivec,%rdi
        .long   0x9066A4F3              # rep movsb
        popfq
 .Lcbc_enc_popf:
@@ -835,7 +835,7 @@ Camellia_cbc_encrypt:
 .Lcbc_dec_pushf:
        pushfq
        cld
-       lea     $ivec,%rsi
+       lea     8+$ivec,%rsi
        lea     ($out),%rdi
        .long   0x9066A4F3              # rep movsb
        popfq