aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/IntrinsicLowering.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-06-11 02:29:43 +0000
committerChris Lattner <sabre@nondot.org>2004-06-11 02:29:43 +0000
commit137cc4fc8c549c805e817095e2d82776a2af8095 (patch)
treec4657f95ecdf042081916165000f6bbaf63aea3f /lib/CodeGen/IntrinsicLowering.cpp
parent320062845b63b0b07634147c4751be0ee40fffd5 (diff)
I misled Alkis: LLVM should have isnan, not isunordered.
isunordered(X, Y) === isnan(X) | isnan(Y) Remove isunordered, add isnan. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14132 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/IntrinsicLowering.cpp')
-rw-r--r--lib/CodeGen/IntrinsicLowering.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/CodeGen/IntrinsicLowering.cpp b/lib/CodeGen/IntrinsicLowering.cpp
index 38ba73d01f..bc6f02e4d6 100644
--- a/lib/CodeGen/IntrinsicLowering.cpp
+++ b/lib/CodeGen/IntrinsicLowering.cpp
@@ -191,10 +191,12 @@ void DefaultIntrinsicLowering::LowerIntrinsicCall(CallInst *CI) {
(*(CI->op_begin()+1))->getType(), MemsetFCache);
break;
}
- case Intrinsic::isunordered: {
- static Function *IsunorderedFCache = 0;
- ReplaceCallWith("isunordered", CI, CI->op_begin()+1, CI->op_end(),
- (*(CI->op_begin()+1))->getType(), IsunorderedFCache);
+ case Intrinsic::isnan: {
+ // FIXME: This should force the argument to be a double. There may be
+ // multiple isnans for different FP arguments.
+ static Function *isnanFCache = 0;
+ ReplaceCallWith("isnan", CI, CI->op_begin()+1, CI->op_end(),
+ (*(CI->op_begin()+1))->getType(), isnanFCache);
break;
}
}