Question

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.

Was it helpful?

Solution

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/

OTHER TIPS

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top