summaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGIntrinsic.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen/CGIntrinsic.cpp')
-rw-r--r--lib/CodeGen/CGIntrinsic.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/CodeGen/CGIntrinsic.cpp b/lib/CodeGen/CGIntrinsic.cpp
index e0f833e25f..cbdb6c043a 100644
--- a/lib/CodeGen/CGIntrinsic.cpp
+++ b/lib/CodeGen/CGIntrinsic.cpp
@@ -136,10 +136,16 @@ llvm::Value *CodeGenFunction::EmitIntrinsicCallScalarTruncation(intrinsic::Funct
case intrinsic::NINT:
FuncDecl = GetIntrinsicFunction(llvm::Intrinsic::rint, ValueType);
break;
+ case intrinsic::CEILING:
+ FuncDecl = GetIntrinsicFunction(llvm::Intrinsic::ceil, ValueType);
+ break;
+ case intrinsic::FLOOR:
+ FuncDecl = GetIntrinsicFunction(llvm::Intrinsic::floor, ValueType);
+ break;
}
auto Result = Builder.CreateCall(FuncDecl, Value);
- if(Func == intrinsic::NINT)
+ if(ResultType->isIntegerType())
return EmitScalarToScalarConversion(Result, ResultType);
return Result;
}