News:

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

SSE2 and SSE3 macros for ml 6.14

Started by hutch--, February 24, 2005, 09:52:59 AM

Previous topic - Next topic

hutch--

Vaguely I remember someone somewhere writing some macros to stretch ML 6.14 a little so it could produce SSE2/3 code. Has anyone done any work in this area as it would help to give a good accessible version a new lease of life.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

dsouza123

#1
Hutch you wrote at least one of them. :U   Or maybe it was really Mark Larson as a special guest ?

http://www.old.masmforum.com/viewtopic.php?t=3007
http://www.old.masmforum.com/viewtopic.php?t=2999

hutch--

It must have been Mark, thanks for finding them.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

AeroASM

You can also get them off the Intel website.

dsouza123


AeroASM

This one is for SSE3:

http://www.intel.com/cd/ids/developer/asmo-na/eng/167741.htm?page=9

I couldn't find the one for SSE2; you could possibly download MASM 6.15 from Microsoft?

hutch--

If ML 6.15 was available, we would not ned them and while I own ML up to version 7 and every version inbetween but the p5 processor pack is the only external source of ML 6.15 and it is only licenced for VC owners.

6.14 almost does it all and its a very reliable version so stretching i it to do SSE2 would give it life until the end of 32 bit Windows which will be longer than many think. When Mark gets back into business with his new job and the like, I will ask him if he has time to implement the SSE2 he suggested in a thread in the old forum. Any other reliable sources would be appreciated.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

Mark_Larson

  Writing the SSE3 macros wasn't that bad.  There are only 13 of them.  Having to do SSE2 macros is a bit more time consuming.  I made sure to make sure the macros I wrote would work with 6.14 of MASM since that is what comes with MASM32.  So somone could use the macros I wrote as a basis for writing the SSE2 macros.

  Hutch--, any luck on getting 6.15 from Microsoft?  Or maybe providing a few links in the install of where to get it?
BIOS programmers do it fastest, hehe.  ;)

My Optimization webpage
htttp://www.website.masmforum.com/mark/index.htm

hutch--

Mark,

I have the VC6 Processor Pack upgrade on the forum website but its only licenced to VC6 owners. They are VERY SLOW to deal with unfortunately but we may be lucky one day.  :P

If its not a big deal, a set of SSE2 macros that were reliable would be a blessing as it will extend the life of 6.14 until the end of win32. What I envisaged was a seperate include file named something like "sse2.inc" so just by including the file, sse2 is enabled through the macros.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

daydreamer

Quote from: hutch-- on February 25, 2005, 04:21:41 PM
Mark,

I have the VC6 Processor Pack upgrade on the forum website but its only licenced to VC6 owners. They are VERY SLOW to deal with unfortunately but we may be lucky one day.  :P

If its not a big deal, a set of SSE2 macros that were reliable would be a blessing as it will extend the life of 6.14 until the end of win32. What I envisaged was a seperate include file named something like "sse2.inc" so just by including the file, sse2 is enabled through the macros.
Well I thought I would make emu64.inc, emulating the xtra regs for those who are interested in coding 64bitcode, but still only have a 32bitter
but I want help to make casecode detecting if you should run 64bit code, or the emulated counterpart?
and I guess XMM8-XMM15, should be placed as local variables, for best speed

hutch--

daydreamer,

It sounds like an interesting project, what I wonder is if the object module format is the same from 32 bit COFF to whatever will be used in win64 on AMD64 hardware.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php


hutch--

Char,

Thanks for the link, you will find that 6.15 uses identical syntax to 6.14 but has added capacity with SSE2 instructions. 6.15 is just a warmed over 6.14 .
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

Xor Stance


Microsoft (R) Macro Assembler Version 6.15.8803
Copyright (C) Microsoft Corp 1981-2000.  All rights reserved.

        ML [ /options ] filelist [ /link linkoptions ]

/AT Enable tiny model (.COM file)         /omf generate OMF format object file
/Bl<linker> Use alternate linker          /Sa Maximize source listing
/c Assemble without linking               /Sc Generate timings in listing
/Cp Preserve case of user identifiers     /Sf Generate first pass listing
/Cu Map all identifiers to upper case     /Sl<width> Set line width
/Cx Preserve case in publics, externs     /Sn Suppress symbol-table listing
/coff generate COFF format object file    /Sp<length> Set page length
/D<name>[=text] Define text macro         /Ss<string> Set subtitle
/EP Output preprocessed listing to stdout /St<string> Set title
/F <hex> Set stack size (bytes)           /Sx List false conditionals
/Fe<file> Name executable                 /Ta<file> Assemble non-.ASM file
/Fl[file] Generate listing                /w Same as /W0 /WX
/Fm[file] Generate map                    /WX Treat warnings as errors
/Fo<file> Name object file                /W<number> Set warning level
/FPi Generate 80x87 emulator encoding     /X Ignore INCLUDE environment path
/Fr[file] Generate limited browser info   /Zd Add line number debug info
/FR[file] Generate full browser info      /Zf Make all symbols public
/G<c|d|z> Use Pascal, C, or Stdcall calls /Zi Add symbolic debug info
/H<number> Set max external name length   /Zm Enable MASM 5.10 compatibility
/I<name> Add include path                 /Zp[n] Set structure alignment
/link <linker options and libraries>      /Zs Perform syntax check only
/nologo Suppress copyright message


I also founded this on a website, but the website just contain that plain text; so I just copy and paste it and save it.

Xor Stance

#14
I search for SSE3 Source code, well at the page 4 from GOOGLE. However, I just noted that Fasm supports SSE3.

Edit

If HLA does translates from HLA to Fasm and HLA to Masm32. I think you can have the code from Fasm if it's legal and translating it with HLA so we can have the source from the SSE3