Я не мог найти документа, определяющего, как регистры YMM обрабатываются вызывающим абонентом и вызываемым пользователем.Как регистры AVX обрабатываются общими соглашениями?
Чтобы сосредоточиться на мой вопрос, вот что я хотел бы знать:
- Какие регистры YMM должны быть восстановлены вызываемым прежде чем вернуться к абоненту?
- Поскольку существуют различия для регистров XMM в Linux и Windows, я полагаю, что также регистры YMM не соответствуют тем же правилам. каковы правила для каждой из ОС?
EDIT: Благодаря ответу ниже я смог убрать ответ в упомянутом документе для Win64. Я совершенно уверен, что Linux следует аналогичные правила:
"...
The YMM registers do not have callee-save status, except for the lower half
of YMM6-YMM15 in 64-bit Windows, where XMM6-XMM15 have callee-save status.
Possible future extensions of the vector registers to 512 bits or more will not have calleesave
status.
..."
Спасибо, это было полезно. –