Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
21 Views

VEX encoding - 32bit and 64bit

AVX instructions came along with the new VEX instruction encoding.

Therefore one should compile with option /arch:AVX (or other depending on compiler). Are there any restrictions concerning 32bit or 64bit compilation?

My real question is: Do I get the same performance of AVX compiled for 32 and 64 bit? Or is the VEX encoding only possible for 64 bit, for example? This would lead to transition penalties (SSE to AVX or vice versa) more often.

I could not find a clear answer on this.

0 Kudos
2 Replies
Highlighted
Black Belt
21 Views

AVX transitions are handled the same by 32- and 64-bit compilers.  The most likely difference between 32- and 64-bit mode, if you don't specify alignments, is in the better (but still not optimum) default alignments of 64-bit OS.  Even if you mix SSE and AVX intrinsics, current Intel compiler should attempt to deal with SSE to AVX transitions automatically.  You would have to code in asm if you really want to provoke transition stalls.

0 Kudos
Highlighted
Beginner
21 Views

Thank you this information is very valuable for me!

0 Kudos