VEX encoding - 32bit and 64bit

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.

publicaciones de 3 / 0 nuevos
Último envío
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.

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.

Thank you this information is very valuable for me!

Deje un comentario

Por favor inicie sesión para agregar un comentario. ¿No es socio? Únase ya