gpt4 book ai didi

我们可以为 gcc 上的特定功能添加 `-fcall-used-REG` 吗?

转载 作者:太空宇宙 更新时间:2023-11-04 04:58:43 24 4
gpt4 key购买 nike

我们可以告诉 gcc 特定函数不需要通过函数属性存储/恢复一些被调用者保存寄存器吗?对于一个文件,我们可以通过-fcall-used-REGS来告诉它,但是文件中的所有函数都会受到影响。

我编写了一个汇编代码,其中存储了一些被调用者保存寄存器(例如 x86_64 上的 r12),并希望从汇编代码中调用一些 C 函数。被调用函数不需要存储/恢复被调用者保存寄存器,因为 asm 代码存储/恢复它们,所以保存被调用者保存寄存器只是开销(被调用函数足够小,所以 pro/epilogue 代码的开销很大)。

最佳答案

pragma/attribute optimize 可能是可行的,但实际上你应该将函数放在它们自己的文件中。这些函数必须完全独立,因为它们使用非默认 ABI。无论如何,将函数放在它们自己的文件中是一个好习惯。

关于我们可以为 gcc 上的特定功能添加 `-fcall-used-REG` 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57750796/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com