【发布时间】:2013-08-13 05:58:56
【问题描述】:
我正在处理带有一些数学函数的 C 文件,例如 log 和 exp。我
用 GCC 编译 C 文件以生成汇编代码。在汇编代码中,每当使用pow 函数时,我发现它只会调用C 函数。例如,
movsd xmm0, QWORD PTR 16[rbp]
call log
addsd xmm0, xmm0
call exp
movsd QWORD PTR -8[rbp], xmm0
我想知道是否可以告诉 GCC,它不仅会调用 C 函数,还会生成 log 和 exp 的汇编代码?换句话说,是否可以告诉 GCC 生成不需要任何外部函数调用的汇编代码?
谢谢,
【问题讨论】:
-
你只需要查看 libm 的源代码。
-
请问您为什么要这样做?即,您只是好奇,还是认为您能够手动优化已编译的程序集?
-
我们做的一个研究项目,模拟器只需要纯汇编代码,不允许函数调用。