VEX encoding - 32bit and 64bit

VEX encoding - 32bit and 64bit

Аватар пользователя Christian M.

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.

3 posts / 0 новое
Последнее сообщение
Пожалуйста, обратитесь к странице Уведомление об оптимизации для более подробной информации относительно производительности и оптимизации в программных продуктах компании Intel.
Аватар пользователя Tim Prince

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.

Аватар пользователя Christian M.

Thank you this information is very valuable for me!

Зарегистрируйтесь, чтобы оставить комментарий.