[llvm-commits] [llvm-gcc-4.2] r82640 - /llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
Dale Johannesen
dalej at apple.com
Wed Sep 23 11:50:32 PDT 2009
Author: johannes
Date: Wed Sep 23 13:50:32 2009
New Revision: 82640
URL: http://llvm.org/viewvc/llvm-project?rev=82640&view=rev
Log:
The result of sqrt(negative) is implementation-defined, but follows
IEEE754 in most current implementations. llvm.sqrt, which has undefined
behavior for such inputs, is an inappropriate substitute which can change
the result.
Modified:
llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
Modified: llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp?rev=82640&r1=82639&r2=82640&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp Wed Sep 23 13:50:32 2009
@@ -5027,12 +5027,9 @@
case BUILT_IN_SQRT:
case BUILT_IN_SQRTF:
case BUILT_IN_SQRTL:
- // If errno math has been disabled, expand these to llvm.sqrt calls.
- if (!flag_errno_math) {
- Result = EmitBuiltinSQRT(exp);
- Result = CastToFPType(Result, ConvertType(TREE_TYPE(exp)));
- return true;
- }
+ // The result of sqrt(negative) is implementation-defined, but follows
+ // IEEE754 in most current implementations. llvm.sqrt, which has undefined
+ // behavior for such inputs, is an inappropriate substitute.
break;
case BUILT_IN_POWI:
case BUILT_IN_POWIF:
More information about the llvm-commits
mailing list