summaryrefslogtreecommitdiff
path: root/lib/CodeGen/IntrinsicLowering.cpp
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2007-09-28 18:06:58 +0000
committerDale Johannesen <dalej@apple.com>2007-09-28 18:06:58 +0000
commit4292d1c02a6f10eca22aa6e27d57ea8bf15b3140 (patch)
tree450f247711e5189b3f5243b42877b7814642e574 /lib/CodeGen/IntrinsicLowering.cpp
parent9fda5be36bf5554c93f0dba8cfaed0b27369ae71 (diff)
downloadllvm-4292d1c02a6f10eca22aa6e27d57ea8bf15b3140.tar.gz
llvm-4292d1c02a6f10eca22aa6e27d57ea8bf15b3140.tar.bz2
llvm-4292d1c02a6f10eca22aa6e27d57ea8bf15b3140.tar.xz
minor long double related changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42439 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/IntrinsicLowering.cpp')
-rw-r--r--lib/CodeGen/IntrinsicLowering.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/CodeGen/IntrinsicLowering.cpp b/lib/CodeGen/IntrinsicLowering.cpp
index 42b09c2d3a..0a2f0d6a51 100644
--- a/lib/CodeGen/IntrinsicLowering.cpp
+++ b/lib/CodeGen/IntrinsicLowering.cpp
@@ -794,6 +794,24 @@ void IntrinsicLowering::LowerIntrinsicCall(CallInst *CI) {
Type::DoubleTy, sqrtFCache);
break;
}
+ case Intrinsic::sqrt_f80: {
+ static Constant *sqrtF80Cache = 0;
+ ReplaceCallWith("sqrtl", CI, CI->op_begin()+1, CI->op_end(),
+ Type::X86_FP80Ty, sqrtF80Cache);
+ break;
+ }
+ case Intrinsic::sqrt_f128: {
+ static Constant *sqrtF128Cache = 0;
+ ReplaceCallWith("sqrtl", CI, CI->op_begin()+1, CI->op_end(),
+ Type::FP128Ty, sqrtF128Cache);
+ break;
+ }
+ case Intrinsic::sqrt_ppcf128: {
+ static Constant *sqrtppcF128Cache = 0;
+ ReplaceCallWith("sqrtl", CI, CI->op_begin()+1, CI->op_end(),
+ Type::PPC_FP128Ty, sqrtppcF128Cache);
+ break;
+ }
}
assert(CI->use_empty() &&