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]