2012-01-13 34 views
6

我找不到任何文档定义YMM寄存器如何由调用者和被调用者处理。AVX寄存器如何由通用调用约定来处理?

要注重我的问题,这里是我想知道:

  1. 其中YMM寄存器必须由被调用方返回给调用之前恢复?
  2. 由于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. 
..." 

回答

相关问题