aboutsummaryrefslogtreecommitdiffstats
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
commit3b5303b49c6643f0556976ef9ce26d30d30c8991 (patch)
tree450f247711e5189b3f5243b42877b7814642e574 /lib/CodeGen/IntrinsicLowering.cpp
parent597b484387db527450edcce0f704132e635f4e29 (diff)
downloadexternal_llvm-3b5303b49c6643f0556976ef9ce26d30d30c8991.zip
external_llvm-3b5303b49c6643f0556976ef9ce26d30d30c8991.tar.gz
external_llvm-3b5303b49c6643f0556976ef9ce26d30d30c8991.tar.bz2
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 42b09c2..0a2f0d6 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() &&