[ This is a repost of the following article: ]
[ From: "Serguei E. Leontiev" <
l...@sai.msu.ru> ]
[ Subject: Соглашения о вызовах AVX (Visual Studio 2010/2011) ]
[ Newsgroups: fido7.ru.asm.win32 ]
[ Message-ID: <
11874...@ddt.demos.su> ]
Приветствую всех,
Остались ли живые в люди в fido7.ru.asm.win32?
Собственно вопрос, есть ли у кого-нибудь предварительна документация
на VS2011?
Интересует соглашение о вызовах в старшей части регистров YMM6:YMM15.
Как известно, в VS2008SP1 и VS2010 требуют что бы функция
восстанавливала 128-бит регистры XMM6:XMM15. Hе распространится ли
это требование на старшие части регистров 256-бит регистров
YMM6:YMM15 (их младшая часть XMM6:XMM15)?
Или я могу пользоваться рекомендацией Intel по производительности,
т.е. перед выходом из функции выполнить инструкцию VZEROUPPER?
"Intel 64 and IA-32 Architectures Optimization Reference Manual":
Assembly/Compiler Coding Rule 74. (H impact, H generality)
Add VZEROUPPER instruction after 256-bit AVX instructions are
executed and before any function call that might execute
SSE code. Add VZEROUPPER at the end of any function that
uses 256-bit AVX instructions.
--
Успехов, Сергей Леонтьев. E-mail: l...@CryptoPro.ru <
http://www.cryptopro.ru>