Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Соглашения о вызовах AVX (Visual Studio 2010/2011)

4 views
Skip to first unread message

Serguei E. Leontiev

unread,
Mar 1, 2012, 8:56:35 PM3/1/12
to
[ 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>
0 new messages