Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which assemblers currently support the AVX instruction set?

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.

like image 297
PhiS Avatar asked Nov 15 '09 15:11

PhiS


People also ask

What is support for AVX CPU?

CPUs with AVX Generally, CPUs with the commercial denomination Core i3/i5/i7/i9 support them, whereas Pentium and Celeron CPUs before Tiger Lake do not.

What is AVX instruction set used for?

Intel AVX-512 can accelerate performance for workloads and use cases such as scientific simulations, financial analytics, artificial intelligence (AI)/deep learning, 3D modeling and analysis, image and audio/video processing, cryptography, and data compression.

What applications use AVX?

Intel AVX is designed for use by applications that are strongly floating point compute intensive and can be vectorized. Example applications include audio processing and audio codecs, image and video editing applications, financial services analysis and modeling software, and manufacturing and engineering software.


2 Answers

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

like image 180
Gunther Piez Avatar answered Nov 15 '22 21:11

Gunther Piez


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/

like image 32
Stringer Avatar answered Nov 15 '22 22:11

Stringer