MASM 6.15+ includes support for the SSE2 instructions, like movdqa, movdqu, etc.
It is only the XMMWORD directive that forces the use of the Visual Studio 2005 
assembler.

If QWORD is substituted for XMMWORD, MASM 6 can assemble the .asm sources.
Testing OpenSSL built with MASM 6 and this 'QWORD' substitution shows correct 
operation and retains 
the speed improvements.

A disadvantage is that QWORD won't make the assembler check that the arguments 
are correctly 128-bit 
aligned, although they all are - so no problem.

Unfortunately, this substitution makes MASM 8 report:

        "error A2022: instruction operands must be the same size"

MASM 6 is still far more widely used than MASM 8.

Also, the license for the free (Express Edition) of MASM 8 precludes commercial 
use of the binaries 
it produces.  This is odd because the VS2005 Express Edition C++ compiler has 
no such restriction, 
nor does any version of MASM 6.

Maybe separate do_masm6.bat and do_masm8.bat files to trigger different 
behavior in 
crypto\perlasm\x86ms.pl?

Yes, NASM works.

-tom-

Stephen Henson via RT wrote:
>> [EMAIL PROTECTED] - Thu Oct 18 09:05:32 2007]:
>>
>> Starting with OpenSSL 0.9.8f, Windows builds using ms\do_masm.bat
>> generate .asm files with the MASM
>> directive XMMWORD.
>>
>> XMMWORD was added to MASM 8 (Visual Studio C++ 2005).
>> ref: http://msdn2.microsoft.com/en-us/library/cw0399sf(VS.80).aspx
>>
>> This prevents building OpenSSL via ms\do_masm.bat with MASM 6 (VC6) or
>> MASM 7 (VC2003).
>>
> 
> Some of the new assembly language modules which significantly improve
> performance require such support.
> 
> MASM support isn't included at all in the HEAD (which will be 0.9.9).
> 
> The free NASM can be used instead.
> 
> 
> 


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to