在汇编程序中实现math.h函数

时间:2009-09-15 17:55:10

标签: assembly x86 fpu

我已经使用gdb逐步执行在标准C数学库中实现标准C sin()函数的汇编程序代码(-lm -march = pentium3 -mfpmath = 387)。那里有很多存根,我不知道为什么他们没有简单地内联fsin汇编程序指令。其他数学函数也是如此。为什么他们不只是调用相应的FPU指令?

2 个答案:

答案 0 :(得分:2)

因为“那里的存根很多”比x87 fsin指令更快更准确。与流行的看法相反,图书馆作家通常知道他们在做什么。

答案 1 :(得分:-1)

你应该enable intrinsics - sinf的内在实现几乎肯定会被内联(除非,例如,有人拿一个地址或其他一些不寻常的情况)。

在VS上相当于编译with /Oi.