News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

SSE2 doesn't work!!

Started by AeroASM, February 20, 2005, 08:30:33 AM

Previous topic - Next topic

AeroASM


.586
.model flat,stdcall
option casemap:none
.mmx
.xmm

include \masm32\include\windows.inc
include \masm32\macros\macros.asm
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib

.code

start:

movapd xmm0,xmm1
invoke ExitProcess,0

end start


When I assemble this, it doesn't work. I get the following error message from ml:

error A2008: syntax error : xmm

However, if I change movapd (SSE2) to movaps (SSE) then it works fine. I thought that perhaps the .xmm directive only enables support for SSE, not SSE2 and SSE3.

Could someone please help me?

pbrennick

AeroASM,
I thik that you should organise it this way:

.586
.mmx
.xmm

.model flat,stdcall
option casemap:none

Paul

MichaelW

I get that error if I try to assemble your code with MASM 6.14, but not with 6.15. Also, placing the .XMM or .MMX directives ahead of the option casemap:none directive, even though that seems to me to be the most logical place for it, will cause MASM to recognize the xmm or mmx register names only if they are in upper case (e.g. XMM0 instead of xmm0).




eschew obfuscation

AeroASM

I got MASM 6.15, and it worked fine. Thank you.

As for SSE3, I tried for ages, but then I realised it wouldn't work because I have a Pentium M, and SSE3 is only supported on Pentium 4 with HT.