6
我找不到任何文档定义YMM寄存器如何由调用者和被调用者处理。AVX寄存器如何由通用调用约定来处理?
要注重我的问题,这里是我想知道:
- 其中YMM寄存器必须由被调用方返回给调用之前恢复?
- 由于Linux和Windows中XMM寄存器存在差异,我假设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.
..."
谢谢,这很有帮助。 – 2012-01-15 08:23:41