The MASM Forum Archive 2004 to 2012

General Forums => The Campus => Topic started by: houyunqing on October 23, 2008, 07:36:11 AM

Title: does MASM32 v10 support SSE?
Post by: houyunqing on October 23, 2008, 07:36:11 AM
Does MASM32 v10 support SSE? I tried to use xmm0 and xmm1 registers but the assembler always reported error saying that they are undefined symbols

This is the header part of my asm file:
.486
.xmm
.model flat, stdcall

The errors come from here:
   movups   xmm0, [eax]
   movups   xmm1, [ebx]
the instruction movups is recognised by the assembler, but the register is not... is it because i used the wrong cpu mode?   :dazzled:
Title: Re: does MASM32 v10 support SSE?
Post by: hutch-- on October 23, 2008, 07:42:12 AM
If yu want SSE2 or later you must use a later version of ML than the one in the masm32 project. 6.15 if you own VC98 is on the forum web site, 70, 7.1, 8.0 and 9.0 are available from Microsoft although usually in a massive download if you want later versions of ML.EXE.

With a later version try this.


686p
.MMX
.XMM


This should build the later instructions.
Title: Re: does MASM32 v10 support SSE?
Post by: MichaelW on October 23, 2008, 08:40:18 AM
If your header is in this order:

.686
.MMX
.XMM
.model flat, stdcall
option casemap :none

With the .MMX and .XMM directive above the option casemap directive, and your MMX or XMM registers are in lower case (for example xmm0 instead of XMM0), then for each register reference you should get an error like this:

error A2006: undefined symbol : xmm0

If your MMX or XMM registers are in upper case, then there will be no error.

If your header is in this order:

.686
.model flat, stdcall
option casemap :none
.MMX
.XMM

With the .MMX or .XMM directive below the option casemap directive, then your MMX or XMM registers can be either case (but not mixed case).

This was tested on versions 6.14 and 6.15, but not on later versions.
Title: Re: does MASM32 v10 support SSE?
Post by: houyunqing on October 23, 2008, 09:05:22 AM
Yeah, i changed them to upper case and now it's working
thanks a lot!