Я не смог найти ни одного документа, определяющего, как регистры YMM обрабатываются вызывающей стороной и вызываемой стороной.
Чтобы сфокусировать мой вопрос, вот что я хотел бы знать:
- Какие регистры YMM должны быть восстановлены вызываемым абонентом, прежде чем вернуться к вызывающему?Каковы правила для каждой из ОС?
РЕДАКТИРОВАТЬ: Благодаря ответу ниже я смог найти ответ в упомянутом документе для 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.
..."