windows – AVX寄存器如何通过公共调用约定处理?
发布时间:2020-12-14 02:27:47 所属栏目:Windows 来源:网络整理
导读:我找不到任何定义调用者和被调用者如何处理YMM寄存器的文档. 为了集中我的问题,这是我想知道的: 在返回呼叫者之前,被叫方必须恢复哪些YMM寄存器? 由于Linux和Windows中的XMM寄存器存在差异,我假设YMM寄存器也遵循相同的规则.每个操作系统的规则是什么? 编
我找不到任何定义调用者和被调用者如何处理YMM寄存器的文档.
为了集中我的问题,这是我想知道的: >在返回呼叫者之前,被叫方必须恢复哪些YMM寄存器? 编辑: "... 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. ..." 解决方法
你的两个问题的答案(假设你在谈论用C语言调用约定)是由Agner Fog在伟大的
optimization guide中:
Calling conventions for different C++ compilers and operating systems. 请参见第10页的第6节(寄存器用法).另请参见第22页的7.2(传递和返回SIMD类型). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- Windows – Apache(xampp)无法在Win 10上运行 –
- microsoft-ui-automation – IUIAutomation :: R
- Windows 和 Linux 下安装MySql
- 如何在Windows上创建补丁文件?
- powershell – 如何在Windows 10中从命令行打开/
- .net – Windows窗体的十六进制编辑器控件?
- windows – 文件默认编辑器改为`Eclipse`
- assembly – 为什么这个mov gs指令会导致运行Win
- 外语Windows安装和语言包之间有区别吗?
- windows-server-2008-r2 – 如何在重命名审核日志
热点阅读