llvm.sqrt(-0.0) is defined.
authorChris Lattner <sabre@nondot.org>
Tue, 29 Jan 2008 07:00:44 +0000 (07:00 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 29 Jan 2008 07:00:44 +0000 (07:00 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46500 91177308-0d34-0410-b5e6-96231b3b80d8

docs/LangRef.html

index a2ee339bc0bac83a8b56e332ee21581b867096ec..90ba0cc058f65c09046c83de0fb3f1bfbf527656 100644 (file)
@@ -4677,7 +4677,9 @@ types however.
 The '<tt>llvm.sqrt</tt>' intrinsics return the sqrt of the specified operand,
 returning the same value as the libm '<tt>sqrt</tt>' functions would.  Unlike
 <tt>sqrt</tt> in libm, however, <tt>llvm.sqrt</tt> has undefined behavior for
-negative numbers (which allows for better optimization).
+negative numbers other than -0.0 (which allows for better optimization, because
+there is no need to worry about errno being set).  <tt>llvm.sqrt(-0.0)</tt> is
+defined to return -0.0 like IEEE sqrt.
 </p>
 
 <h5>Arguments:</h5>