8
votes

I'd like to start and play with some AVX (advanced vector extension) instructions. I know Intel provides an emulator to test software containing these instructions (see this question), but since I don't want to manually write hex code, the question arises as to which assemblers currently know the AVX instruction set?

I would be most interested in assemblers that run under Windows and can be made to accept Intel syntax.

2
Is there any emulator for AVX? There's no hardware out that supports it yet.Nathan Fellman
@Nathan Fellman - yes, there's an emulator. Have a look at software.intel.com/en-us/avx under download -> Intel Software Development Emulator. So far, it seems to work fine for me.PhiS

2 Answers

7
votes

Besides masm, recent yasm and gas do support avx too, and so does the inline assembler of gcc.

5
votes

MASM 64Bits (ML64.EXE) seems to support AVX instruction set.

From MS vcblog, it is said:

Support for AVX in Intel and AMD processors: Intel AVX (Intel Advanced Vector Extensions) is a 256 bit instruction set extension to SSE and is designed for applications that are floating point intensive [...].

In VS2010 release, all AVX features and instructions are fully supported via intrinsic and /arch:AVX. Many optimizations have been added to improve the code quality of AVX code generation which will be described with more details in an upcoming blog post. In addition to AVX support in the compiler, the Microsoft Macro Assembler (MASM) in VS2010 also supports the Intel AVX instruction set for x86 and x64.

EDIT:

YASM and NASM seems to support Intel AVX too, according this page: http://software.intel.com/en-us/articles/intel-software-development-emulator/