Here's a small patch to crypto/sha/asm/sha512-586.pl.

My assemblers (ml & nasm) correctly complains on lines like:
 ./tmp32/sha512-586.S:515: error: mismatch in operand sizes

which is:
movq mm4,DWORD PTR 24[esp]

In fact it must be:
movq mm4,QWORD PTR 24[esp]

Hence with this small patch, it works:

--- openssl-SNAP-20130709\crypto\sha\asm\sha512-586.pl  2013-06-10 21:00:03 
+0000
+++ crypto\sha\asm\sha512-586.pl        2013-07-09 07:17:44 +0000
@@ -533,7 +533,7 @@
        '&psllq($E,4)',
       '&pxor  ("mm3",$E)',                            # T1=Sigma1_512(e)

-        '&movq ($E,&DWP(8*($i+3)%64,"esp"))',          # e = load d, e in next 
round
+        '&movq ($E,&QWP(8*($i+3)%64,"esp"))',          # e = load d, e in next 
round
       '&paddq ("mm3","mm7")',                         # T1+=X[i]
        '&movq ("mm5",$A)',                            # %mm5 is sliding right
        '&psrlq("mm5",28)',

---------

(the MMX-registers are 64-bit. Hence the QWORD).

--gv
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to