我用 godbolt 中的 avr-gcc 编译器反汇编了一些 C++ 代码,经常发现对 libgcc 子例程的调用,如
__udivmodhi4
或 __mulhi3
。
我在哪里可以找到有关这些子例程的良好且富有洞察力的文档?
我试图找到有关这些子例程的任何好的文档,但找不到任何文档。 我发现的唯一(有点)有用的东西是 libgcc avr 配置文件中这些子例程的简单实现。
基本上,文档就是您已经找到的 libgcc 实现(和注释)。
命名法是根据后端的
avr.md
中各自的insn命名。 insn 名称可以在内部的17.10 Standard Pattern Names For Generation 部分找到。
avr-gcc wiki 还在 Exceptions to the Calling Convention 中提到了一些函数,但这还远未完成。