[LLVMdev] sqrt

Chris Lattner clattner at apple.com
Thu Jan 7 16:04:36 PST 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.
>> 
>> -Chris
> 
> 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.

-Chris





More information about the llvm-dev mailing list