clattner at apple.com
Thu Jan 7 18:04:36 CST 2010
On Jan 7, 2010, at 3:53 PM, Robert A. Zeh wrote:
> On Jan 7, 2010, at 11:48 AM, Chris Lattner <clattner at apple.com> wrote:
>> There is a fundamental difference between sqrt() and llvm.sqrt: the
>> former is defined on negative values and sets errno (on linux). The
>> later is undefined. Both work well for their stated purpose,
>> llvm.sqrt should not be slower than sqrt even on linux. Both
>> llvm.sqrt and sqrt could be much better on linux, but noone seems
>> compelled to do the work.
> What exactly is the work for llvm.sqrt on Linux?
Ah sorry, llvm.sqrt works fine on linux. The issue is that a raw call to sqrt() in a C program doesn't typically compile to llvm.sqrt on linux, because it sets errno. This can be controlled with -fmath-errno.
More information about the LLVMdev